sanity-plugin-mux-input 2.1.0 → 2.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/index.cjs +4037 -4
- package/lib/index.cjs.map +1 -1
- package/lib/index.d.ts +14 -1
- package/lib/index.js +4026 -2
- package/lib/index.js.map +1 -1
- package/package.json +27 -28
- package/src/actions/assets.ts +30 -2
- package/src/clients/upChunkObservable.ts +1 -1
- package/src/components/ConfigureApi.tsx +9 -1
- package/src/components/FormField.tsx +8 -10
- package/src/components/IconInfo.tsx +23 -0
- package/src/components/Input.styled.tsx +0 -8
- package/src/components/Input.tsx +4 -3
- package/src/components/InputBrowser.tsx +1 -8
- package/src/components/Player.styled.tsx +5 -144
- package/src/components/Player.tsx +23 -109
- package/src/components/PlayerActionsMenu.tsx +0 -4
- package/src/components/SelectAsset.tsx +18 -58
- package/src/components/SelectSortOptions.tsx +45 -0
- package/src/components/SpinnerBox.tsx +17 -0
- package/src/components/StudioTool.tsx +20 -0
- package/src/components/VideoDetails/DeleteDialog.tsx +156 -0
- package/src/components/VideoDetails/VideoDetails.tsx +298 -0
- package/src/components/VideoDetails/VideoReferences.tsx +70 -0
- package/src/components/VideoDetails/useVideoDetails.ts +85 -0
- package/src/components/VideoInBrowser.tsx +183 -0
- package/src/components/VideoMetadata.tsx +43 -0
- package/src/components/VideoPlayer.tsx +69 -0
- package/src/components/VideoThumbnail.tsx +106 -0
- package/src/components/VideosBrowser.tsx +83 -0
- package/src/components/__legacy__Uploader.tsx +2 -9
- package/src/components/documentPreview/DocumentPreview.tsx +107 -0
- package/src/components/documentPreview/DraftStatus.tsx +34 -0
- package/src/components/documentPreview/MissingSchemaType.tsx +33 -0
- package/src/components/documentPreview/PaneItemPreview.tsx +71 -0
- package/src/components/documentPreview/PublishedStatus.tsx +35 -0
- package/src/components/documentPreview/TimeAgo.tsx +13 -0
- package/src/components/documentPreview/paneItemTypes.ts +7 -0
- package/src/components/icons/Resolution.tsx +12 -0
- package/src/components/icons/StopWatch.tsx +20 -0
- package/src/components/icons/ToolIcon.tsx +21 -0
- package/src/hooks/useAssets.ts +61 -0
- package/src/hooks/useCancelUpload.ts +2 -2
- package/src/hooks/useClient.ts +3 -1
- package/src/hooks/useDocReferences.ts +21 -0
- package/src/hooks/useInView.ts +45 -0
- package/src/index.ts +2 -0
- package/src/plugin.tsx +1 -1
- package/src/util/constants.ts +7 -0
- package/src/util/createSearchFilter.ts +78 -0
- package/src/util/formatSeconds.ts +22 -0
- package/src/util/getAnimatedPosterSrc.ts +1 -1
- package/src/util/getPlaybackId.ts +1 -1
- package/src/util/getPlaybackPolicy.ts +1 -1
- package/src/util/getVideoMetadata.ts +18 -0
- package/src/util/types.ts +16 -1
- package/lib/_chunks/Player-d8f163ed.cjs +0 -474
- package/lib/_chunks/Player-d8f163ed.cjs.map +0 -1
- package/lib/_chunks/Player-fb9712c0.js +0 -465
- package/lib/_chunks/Player-fb9712c0.js.map +0 -1
- package/lib/_chunks/index-0656ede8.js +0 -3229
- package/lib/_chunks/index-0656ede8.js.map +0 -1
- package/lib/_chunks/index-9cd542f1.cjs +0 -3271
- package/lib/_chunks/index-9cd542f1.cjs.map +0 -1
- package/src/components/EditThumbnailDialog.tsx +0 -74
- package/src/components/VideoSource.styled.tsx +0 -235
- package/src/components/VideoSource.tsx +0 -318
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index-9cd542f1.cjs","sources":["../../src/hooks/useAssetDocumentValues.ts","../../src/hooks/useClient.ts","../../src/hooks/useDialogState.ts","../../src/hooks/useMuxPolling.ts","../../src/util/constants.ts","../../src/hooks/useSecretsDocumentValues.ts","../../src/clients/upChunkObservable.ts","../../src/actions/assets.ts","../../src/actions/secrets.ts","../../src/actions/upload.ts","../../src/util/extractFiles.ts","../../src/util/readSecrets.ts","../../src/util/generateJwt.ts","../../src/util/getPlaybackId.ts","../../src/util/getPlaybackPolicy.ts","../../src/util/getAnimatedPosterSrc.ts","../../src/util/getPosterSrc.ts","../../src/components/VideoSource.styled.tsx","../../src/components/VideoSource.tsx","../../src/components/SelectAsset.tsx","../../src/components/InputBrowser.tsx","../../node_modules/react-is/cjs/react-is.production.min.js","../../node_modules/react-is/cjs/react-is.development.js","../../node_modules/react-is/index.js","../../src/components/withFocusRing/helpers.ts","../../src/components/FileInputMenuItem.styled.tsx","../../src/components/FileInputMenuItem.tsx","../../src/components/PlayerActionsMenu.tsx","../../src/components/withFocusRing/withFocusRing.ts","../../src/components/Uploader.styled.tsx","../../src/components/FileInputButton.tsx","../../src/components/UploadPlaceholder.tsx","../../src/components/UploadProgress.tsx","../../src/components/__legacy__Uploader.tsx","../../src/hooks/useSaveSecrets.ts","../../src/hooks/useSecretsFormState.ts","../../src/components/MuxLogo.tsx","../../src/components/ConfigureApi.styled.tsx","../../src/components/FormField.tsx","../../src/components/ConfigureApi.tsx","../../src/components/ErrorBoundaryCard.tsx","../../src/components/Input.styled.tsx","../../src/components/Onboard.tsx","../../src/components/Input.tsx","../../src/plugin.tsx","../../src/schema.tsx","../../src/index.ts"],"sourcesContent":["import {isReference} from 'sanity'\nimport {useDocumentValues} from 'sanity'\n\nimport type {Reference, VideoAssetDocument} from '../util/types'\n\nconst path = ['assetId', 'data', 'playbackId', 'status', 'thumbTime', 'filename']\nexport const useAssetDocumentValues = (asset: Reference | null | undefined) =>\n useDocumentValues<VideoAssetDocument | null | undefined>(\n isReference(asset) ? asset._ref! : '',\n path\n )\n","// As it's required to specify the API Version this custom hook ensures it's all using the same version\nimport {useClient as useSanityClient} from 'sanity'\n\nexport function useClient() {\n return useSanityClient({apiVersion: '2022-09-14'})\n}\n","// Handy little state machine to simplify managing which root level dialog to open\n\nimport {useState} from 'react'\n\nexport type DialogState = 'secrets' | 'select-video' | 'edit-thumbnail' | false\n\nexport function useDialogState() {\n return useState<DialogState>(false)\n}\n\nexport type SetDialogState = ReturnType<typeof useDialogState>[1]\n","import {useMemo} from 'react'\nimport {useDataset, useProjectId} from 'sanity'\nimport useSWR from 'swr'\n\nimport {useClient} from '../hooks/useClient'\nimport type {MuxAsset, VideoAssetDocument} from '../util/types'\n\n// Poll MUX if it's preparing the main document or its own static renditions\nexport const useMuxPolling = (asset?: VideoAssetDocument) => {\n const client = useClient()\n const projectId = useProjectId()\n const dataset = useDataset()\n const shouldFetch = useMemo(\n () =>\n !!asset?.assetId &&\n (asset?.status === 'preparing' || asset?.data?.static_renditions?.status === 'preparing'),\n [asset?.assetId, asset?.data?.static_renditions?.status, asset?.status]\n )\n return useSWR(\n shouldFetch ? `/${projectId}/addons/mux/assets/${dataset}/data/${asset?.assetId}` : null,\n async () => {\n const {data} = await client.request<{data: MuxAsset}>({\n url: `/addons/mux/assets/${dataset}/data/${asset!.assetId}`,\n withCredentials: true,\n method: 'GET',\n })\n client.patch(asset!._id!).set({status: data.status, data}).commit({returnDocuments: false})\n },\n {refreshInterval: 2000, refreshWhenHidden: true, dedupingInterval: 1000}\n )\n}\n","export const name = 'mux-input' as const\n\n// Caching namespace, as suspend-react might be in use by other components on the page we must ensure we don't collide\nexport const cacheNs = 'sanity-plugin-mux-input' as const\n\nexport const muxSecretsDocumentId = 'secrets.mux' as const\n","import {useMemo} from 'react'\nimport {useDocumentValues} from 'sanity'\n\nimport {muxSecretsDocumentId} from '../util/constants'\nimport type {Secrets} from '../util/types'\n\nconst path = ['token', 'secretKey', 'enableSignedUrls', 'signingKeyId', 'signingKeyPrivate']\nexport const useSecretsDocumentValues = () => {\n const {error, isLoading, value} = useDocumentValues<Partial<Secrets> | null | undefined>(\n muxSecretsDocumentId,\n path\n )\n const cache = useMemo(() => {\n const exists = Boolean(value)\n const secrets: Secrets = {\n token: value?.token || null,\n secretKey: value?.secretKey || null,\n enableSignedUrls: value?.enableSignedUrls || false,\n signingKeyId: value?.signingKeyId || null,\n signingKeyPrivate: value?.signingKeyPrivate || null,\n }\n return {\n isInitialSetup: !exists,\n needsSetup: !secrets?.token || !secrets?.secretKey,\n secrets,\n }\n }, [value])\n\n return {error, isLoading, value: cache}\n}\n","import * as UpChunk from '@mux/upchunk'\nimport {Observable} from 'rxjs'\n\nexport function createUpChunkObservable(uuid: string, uploadUrl: string, source: File) {\n return new Observable((subscriber) => {\n const upchunk = UpChunk.createUpload({\n endpoint: uploadUrl,\n file: source,\n dynamicChunkSize: true, // changes the chunk size based on network speeds\n })\n\n const successHandler = () => {\n subscriber.next({\n type: 'success',\n id: uuid,\n })\n subscriber.complete()\n }\n\n const errorHandler = (data: CustomEvent) => subscriber.error(new Error(data.detail.message))\n\n const progressHandler = (data: CustomEvent) => {\n return subscriber.next({type: 'progress', percent: data.detail})\n }\n\n const offlineHandler = () => {\n upchunk.pause()\n subscriber.next({\n type: 'pause',\n id: uuid,\n })\n }\n\n const onlineHandler = () => {\n upchunk.resume()\n subscriber.next({\n type: 'resume',\n id: uuid,\n })\n }\n\n upchunk.on('success', successHandler)\n upchunk.on('error', errorHandler)\n upchunk.on('progress', progressHandler)\n upchunk.on('offline', offlineHandler)\n upchunk.on('online', onlineHandler)\n\n return () => upchunk.abort()\n })\n}\n","import type {SanityClient} from 'sanity'\n\nimport type {MuxAsset} from '../util/types'\n\nexport function deleteAsset(client: SanityClient, assetId: string) {\n const {dataset} = client.config()\n return client.request<void>({\n url: `/addons/mux/assets/${dataset}/${assetId}`,\n withCredentials: true,\n method: 'DELETE',\n })\n}\n\nexport function getAsset(client: SanityClient, assetId: string) {\n const {dataset} = client.config()\n return client.request<{data: MuxAsset}>({\n url: `/addons/mux/assets/${dataset}/data/${assetId}`,\n withCredentials: true,\n method: 'GET',\n })\n}\n","import {defer} from 'rxjs'\nimport type {SanityClient} from 'sanity'\n\ninterface SecretsDocument {\n _id: 'secrets.mux'\n _type: 'mux.apiKey'\n token: string\n secretKey: string\n enableSignedUrls: boolean\n signingKeyId: string\n signingKeyPrivate: string\n}\n// eslint-disable-next-line max-params\nexport function saveSecrets(\n client: SanityClient,\n token: string,\n secretKey: string,\n enableSignedUrls: boolean,\n signingKeyId: string,\n signingKeyPrivate: string\n): Promise<SecretsDocument> {\n const doc: SecretsDocument = {\n _id: 'secrets.mux',\n _type: 'mux.apiKey',\n token,\n secretKey,\n enableSignedUrls,\n signingKeyId,\n signingKeyPrivate,\n }\n\n return client.createOrReplace(doc)\n}\n\nexport function createSigningKeys(client: SanityClient) {\n const {dataset} = client.config()\n return client.request<{\n data: {private_key: string; id: string; created_at: string}\n }>({\n url: `/addons/mux/signing-keys/${dataset}`,\n withCredentials: true,\n method: 'POST',\n })\n}\n\nexport function testSecrets(client: SanityClient) {\n const {dataset} = client.config()\n return client.request<{status: boolean}>({\n url: `/addons/mux/secrets/${dataset}/test`,\n withCredentials: true,\n method: 'GET',\n })\n}\n\nexport async function haveValidSigningKeys(\n client: SanityClient,\n signingKeyId: string,\n signingKeyPrivate: string\n) {\n if (!(signingKeyId && signingKeyPrivate)) {\n return false\n }\n\n const {dataset} = client.config()\n try {\n const res = await client.request<{data: {id: string; created_at: string}}>({\n url: `/addons/mux/signing-keys/${dataset}/${signingKeyId}`,\n withCredentials: true,\n method: 'GET',\n })\n //\n // if this signing key is valid it will return { data: { id: 'xxxx' } }\n //\n return !!(res.data && res.data.id)\n } catch (e) {\n console.error('Error fetching signingKeyId', signingKeyId, 'assuming it is not valid')\n return false\n }\n}\n\nexport function testSecretsObservable(client: SanityClient) {\n const {dataset} = client.config()\n return defer(() =>\n client.observable.request<{status: boolean}>({\n url: `/addons/mux/secrets/${dataset}/test`,\n withCredentials: true,\n method: 'GET',\n })\n )\n}\n","/* eslint-disable camelcase */\nimport {uuid as generateUuid} from '@sanity/uuid'\nimport {concat, defer, from, type Observable, of, throwError} from 'rxjs'\nimport {catchError, mergeMap, mergeMapTo, switchMap} from 'rxjs/operators'\nimport type {SanityClient} from 'sanity'\n\nimport {createUpChunkObservable} from '../clients/upChunkObservable'\nimport type {Config, MuxAsset} from '../util/types'\nimport {getAsset} from './assets'\nimport {testSecretsObservable} from './secrets'\n\nexport function cancelUpload(client: SanityClient, uuid: string) {\n return client.observable.request({\n url: `/addons/mux/uploads/${client.config().dataset}/${uuid}`,\n withCredentials: true,\n method: 'DELETE',\n })\n}\n\nexport function uploadUrl(\n config: Config,\n client: SanityClient,\n url: string,\n options: {enableSignedUrls?: boolean} = {}\n) {\n return testUrl(url).pipe(\n switchMap((validUrl) => {\n return concat(\n of({type: 'url', url: validUrl}),\n testSecretsObservable(client).pipe(\n switchMap((json) => {\n if (!json || !json.status) {\n return throwError(new Error('Invalid credentials'))\n }\n const uuid = generateUuid()\n const {enableSignedUrls} = options\n const muxBody = {\n input: validUrl,\n playback_policy: [enableSignedUrls ? 'signed' : 'public'],\n mp4_support: config.mp4_support,\n }\n const query = {\n muxBody: JSON.stringify(muxBody),\n filename: validUrl.split('/').slice(-1)[0],\n }\n\n const dataset = client.config().dataset\n return defer(() =>\n client.observable.request({\n url: `/addons/mux/assets/${dataset}`,\n withCredentials: true,\n method: 'POST',\n headers: {\n 'MUX-Proxy-UUID': uuid,\n 'Content-Type': 'application/json',\n },\n query,\n })\n ).pipe(\n mergeMap((result) => {\n const asset =\n (result && result.results && result.results[0] && result.results[0].document) ||\n null\n\n if (!asset) {\n return throwError(new Error('No asset document returned'))\n }\n return of({type: 'success', id: uuid, asset})\n })\n )\n })\n )\n )\n })\n )\n}\n\nexport function uploadFile(\n config: Config,\n client: SanityClient,\n file: File,\n options: {enableSignedUrls?: boolean} = {}\n) {\n return testFile(file).pipe(\n switchMap((fileOptions) => {\n return concat(\n of({type: 'file', file: fileOptions}),\n testSecretsObservable(client).pipe(\n switchMap((json) => {\n if (!json || !json.status) {\n return throwError(new Error('Invalid credentials'))\n }\n const uuid = generateUuid()\n const {enableSignedUrls} = options\n const body = {\n mp4_support: config.mp4_support,\n playback_policy: [enableSignedUrls ? 'signed' : 'public'],\n }\n\n return concat(\n of({type: 'uuid', uuid}),\n defer(() =>\n client.observable.request<{\n sanityAssetId: string\n upload: {\n cors_origin: string\n id: string\n new_asset_settings: {\n mp4_support: 'standard' | 'none'\n passthrough: string\n playback_policies: ['public' | 'signed']\n }\n status: 'waiting'\n timeout: number\n url: string\n }\n }>({\n url: `/addons/mux/uploads/${client.config().dataset}`,\n withCredentials: true,\n method: 'POST',\n headers: {\n 'MUX-Proxy-UUID': uuid,\n 'Content-Type': 'application/json',\n },\n body,\n })\n ).pipe(\n mergeMap((result) => {\n return createUpChunkObservable(uuid, result.upload.url, file).pipe(\n // eslint-disable-next-line no-warning-comments\n // @TODO type the observable events\n // eslint-disable-next-line max-nested-callbacks\n mergeMap((event: any) => {\n if (event.type !== 'success') {\n return of(event)\n }\n return from(updateAssetDocumentFromUpload(client, uuid)).pipe(\n // eslint-disable-next-line max-nested-callbacks\n mergeMap((doc) => of({...event, asset: doc}))\n )\n }),\n // eslint-disable-next-line max-nested-callbacks\n catchError((err) => {\n // Delete asset document\n return cancelUpload(client, uuid).pipe(mergeMapTo(throwError(err)))\n })\n )\n })\n )\n )\n })\n )\n )\n })\n )\n}\n\ntype UploadResponse = {\n data: {\n asset_id: string\n cors_origin: string\n id: string\n new_asset_settings: {\n mp4_support: 'standard' | 'none'\n passthrough: string\n playback_policies: ['public' | 'signed']\n }\n status: string\n timeout: number\n }\n}\nexport function getUpload(client: SanityClient, assetId: string) {\n const {dataset} = client.config()\n return client.request<UploadResponse>({\n url: `/addons/mux/uploads/${dataset}/${assetId}`,\n withCredentials: true,\n method: 'GET',\n })\n}\n\nfunction pollUpload(client: SanityClient, uuid: string): Promise<UploadResponse> {\n const maxTries = 10\n let pollInterval: number\n let tries = 0\n let assetId: string\n let upload: UploadResponse\n return new Promise((resolve, reject) => {\n pollInterval = (setInterval as typeof window.setInterval)(async () => {\n try {\n upload = await getUpload(client, uuid)\n } catch (err) {\n reject(err)\n return\n }\n assetId = upload && upload.data && upload.data.asset_id\n if (assetId) {\n clearInterval(pollInterval)\n resolve(upload)\n }\n if (tries > maxTries) {\n clearInterval(pollInterval)\n reject(new Error('Upload did not finish'))\n }\n tries++\n }, 2000)\n })\n}\n\nasync function updateAssetDocumentFromUpload(client: SanityClient, uuid: string) {\n let upload: UploadResponse\n let asset: {data: MuxAsset}\n try {\n upload = await pollUpload(client, uuid)\n } catch (err) {\n return Promise.reject(err)\n }\n try {\n asset = await getAsset(client, upload.data.asset_id)\n } catch (err) {\n return Promise.reject(err)\n }\n\n const doc = {\n _id: uuid,\n _type: 'mux.videoAsset',\n status: asset.data.status,\n data: asset.data,\n assetId: asset.data.id,\n playbackId: asset.data.playback_ids[0].id,\n uploadId: upload.data.id,\n }\n return client.createOrReplace(doc).then(() => {\n return doc\n })\n}\n\nfunction testFile(file: File) {\n if (typeof window !== 'undefined' && file instanceof window.File) {\n const fileOptions = optionsFromFile({}, file)\n return of(fileOptions)\n }\n return throwError(new Error('Invalid file'))\n}\n\nfunction testUrl(url: string): Observable<string> {\n const error = new Error('Invalid URL')\n if (typeof url !== 'string') {\n return throwError(error)\n }\n let parsed\n try {\n parsed = new URL(url)\n } catch (err) {\n return throwError(error)\n }\n if (parsed && !parsed.protocol.match(/http:|https:/)) {\n return throwError(error)\n }\n return of(url)\n}\n\nfunction optionsFromFile(opts: {preserveFilename?: boolean}, file: File) {\n if (typeof window === 'undefined' || !(file instanceof window.File)) {\n return opts\n }\n return {\n name: opts.preserveFilename === false ? undefined : file.name,\n type: file.type,\n }\n}\n","/**\n * Utilities for extracting files from dataTransfer in a predictable cross-browser fashion.\n * Also recursively extracts files from a directory\n * Inspired by https://github.com/component/normalized-upload\n */\n\nexport function extractDroppedFiles(dataTransfer: DataTransfer) {\n const files = Array.from(dataTransfer.files || [])\n const items = Array.from(dataTransfer.items || [])\n if (files && files.length > 0) {\n return Promise.resolve(files)\n }\n return normalizeItems(items).then((arr) => arr.flat())\n}\n\nfunction normalizeItems(items: DataTransferItem[]) {\n return Promise.all(\n items.map((item) => {\n // directory\n if (item.kind === 'file' && item.webkitGetAsEntry) {\n let entry: FileSystemEntry | File[] | null\n // Edge throws\n try {\n entry = item.webkitGetAsEntry()\n } catch (err) {\n return [item.getAsFile()]\n }\n if (!entry) {\n return []\n }\n return entry.isDirectory ? walk(entry) : [item.getAsFile()]\n }\n\n // file\n if (item.kind === 'file') {\n const file = item.getAsFile()\n return Promise.resolve(file ? [file] : [])\n }\n\n // others\n return new Promise((resolve) => item.getAsString(resolve)).then((str?: any) =>\n str ? [new File([str], 'unknown.txt', {type: item.type})] : []\n )\n })\n )\n}\n\nfunction isFile(entry: FileSystemEntry): entry is FileSystemFileEntry {\n return entry.isFile\n}\nfunction isDirectory(entry: FileSystemEntry): entry is FileSystemDirectoryEntry {\n return entry.isDirectory\n}\n\nfunction walk(entry: FileSystemEntry): any {\n if (isFile(entry)) {\n return new Promise((resolve) => entry.file(resolve)).then((file) => [file])\n }\n\n if (isDirectory(entry)) {\n const dir = entry.createReader()\n return new Promise<any>((resolve) => dir.readEntries(resolve))\n .then((entries: FileSystemEntry[]) => entries.filter((entr) => !entr.name.startsWith('.')))\n .then((entries) => Promise.all(entries.map(walk)).then((arr) => arr.flat()))\n }\n return Promise.resolve([])\n}\n","// Utils with a readName prefix are suspendable and should only be called in the render body\n// Not inside event callbacks or a useEffect.\n// They may be called dynamically, unlike useEffect\n\n// @TODO rename to readSigningPair\n\nimport type {SanityClient} from 'sanity'\nimport {suspend} from 'suspend-react'\n\nimport {cacheNs} from '../util/constants'\nimport {type Secrets} from '../util/types'\n\nexport const _id = 'secrets.mux' as const\n\nexport function readSecrets(client: SanityClient): Secrets {\n const {projectId, dataset} = client.config()\n return suspend(async () => {\n const data = await client.fetch(\n /* groq */ `*[_id == $_id][0]{\n token,\n secretKey,\n enableSignedUrls,\n signingKeyId,\n signingKeyPrivate\n }`,\n {_id}\n )\n return {\n token: data?.token || null,\n secretKey: data?.secretKey || null,\n enableSignedUrls: Boolean(data?.enableSignedUrls) || false,\n signingKeyId: data?.signingKeyId || null,\n signingKeyPrivate: data?.signingKeyPrivate || null,\n }\n }, [cacheNs, _id, projectId, dataset])\n}\n","import type {SanityClient} from 'sanity'\nimport {suspend} from 'suspend-react'\n\nimport {readSecrets} from './readSecrets'\nimport type {AnimatedThumbnailOptions, ThumbnailOptions} from './types'\n\nexport type Audience = 'g' | 's' | 't' | 'v'\n\nexport type Payload<T extends Audience> = T extends 'g'\n ? AnimatedThumbnailOptions\n : T extends 's'\n ? never\n : T extends 't'\n ? ThumbnailOptions\n : T extends 'v'\n ? never\n : never\n\nexport function generateJwt<T extends Audience>(\n client: SanityClient,\n playbackId: string,\n aud: T,\n payload?: Payload<T>\n): string {\n const {signingKeyId, signingKeyPrivate} = readSecrets(client)\n if (!signingKeyId) {\n throw new TypeError('Missing signingKeyId')\n }\n if (!signingKeyPrivate) {\n throw new TypeError('Missing signingKeyPrivate')\n }\n\n const {default: sign} = suspend(() => import('jsonwebtoken-esm/sign'), ['jsonwebtoken-esm/sign'])\n\n return sign(\n payload ? JSON.parse(JSON.stringify(payload, (_, v) => v ?? undefined)) : {},\n atob(signingKeyPrivate),\n {\n algorithm: 'RS256',\n keyid: signingKeyId,\n audience: aud,\n subject: playbackId,\n noTimestamp: true,\n expiresIn: '12h',\n }\n )\n}\n","import type {VideoAssetDocument} from './types'\n\nexport function getPlaybackId(asset: VideoAssetDocument): string {\n if (!asset?.playbackId) {\n console.error('Asset is missing a playbackId', {asset})\n throw new TypeError(`Missing playbackId`)\n }\n return asset.playbackId\n}\n","import type {PlaybackPolicy, VideoAssetDocument} from './types'\n\nexport function getPlaybackPolicy(asset: VideoAssetDocument): PlaybackPolicy {\n return asset.data?.playback_ids?.[0]?.policy ?? 'public'\n}\n","import type {SanityClient} from 'sanity'\n\nimport {generateJwt} from './generateJwt'\nimport {getPlaybackId} from './getPlaybackId'\nimport {getPlaybackPolicy} from './getPlaybackPolicy'\nimport type {AnimatedThumbnailOptions, MuxAnimatedThumbnailUrl, VideoAssetDocument} from './types'\n\nexport interface AnimatedPosterSrcOptions extends AnimatedThumbnailOptions {\n asset: VideoAssetDocument\n client: SanityClient\n}\n\nexport function getAnimatedPosterSrc({\n asset,\n client,\n height,\n width,\n start = asset.thumbTime ? Math.max(0, asset.thumbTime - 2.5) : 0,\n end = start + 5,\n fps = 15,\n}: AnimatedPosterSrcOptions): MuxAnimatedThumbnailUrl {\n const params = {height, width, start, end, fps}\n const playbackId = getPlaybackId(asset)\n\n let searchParams = new URLSearchParams(\n JSON.parse(JSON.stringify(params, (_, v) => v ?? undefined))\n )\n if (getPlaybackPolicy(asset) === 'signed') {\n const token = generateJwt(client, playbackId, 'g', params)\n searchParams = new URLSearchParams({token})\n }\n\n return `https://image.mux.com/${playbackId}/animated.gif?${searchParams}`\n}\n","import type {SanityClient} from 'sanity'\n\nimport {generateJwt} from './generateJwt'\nimport {getPlaybackId} from './getPlaybackId'\nimport {getPlaybackPolicy} from './getPlaybackPolicy'\nimport type {MuxThumbnailUrl, ThumbnailOptions, VideoAssetDocument} from './types'\n\nexport interface PosterSrcOptions extends ThumbnailOptions {\n asset: VideoAssetDocument\n client: SanityClient\n}\n\nexport function getPosterSrc({\n asset,\n client,\n fit_mode,\n height,\n time = asset.thumbTime,\n width,\n}: PosterSrcOptions): MuxThumbnailUrl {\n const params = {fit_mode, height, time, width}\n const playbackId = getPlaybackId(asset)\n\n let searchParams = new URLSearchParams(\n JSON.parse(JSON.stringify(params, (_, v) => v ?? undefined))\n )\n if (getPlaybackPolicy(asset) === 'signed') {\n const token = generateJwt(client, playbackId, 't', params)\n searchParams = new URLSearchParams({token})\n }\n\n return `https://image.mux.com/${playbackId}/thumbnail.png?${searchParams}`\n}\n","import {LockIcon, UnknownIcon} from '@sanity/icons'\nimport {Box, Card, Grid, Inline, Spinner} from '@sanity/ui'\nimport React, {memo, Suspense, useMemo} from 'react'\nimport {MediaPreview} from 'sanity'\nimport styled from 'styled-components'\nimport {suspend} from 'suspend-react'\nimport {useErrorBoundary} from 'use-error-boundary'\n\nimport {useClient} from '../hooks/useClient'\nimport {getAnimatedPosterSrc} from '../util/getAnimatedPosterSrc'\nimport {getPlaybackPolicy} from '../util/getPlaybackPolicy'\nimport {getPosterSrc} from '../util/getPosterSrc'\nimport type {VideoAssetDocument} from '../util/types'\n\nconst mediaDimensions = {aspect: 16 / 9}\n\ninterface ImageLoaderProps {\n alt: string\n src: string\n height?: number\n width: number\n aspectRatio?: string\n}\nconst ImageLoader = memo(function ImageLoader({\n alt,\n src,\n height,\n width,\n aspectRatio,\n}: ImageLoaderProps) {\n suspend(async () => {\n const img = new Image(width, height)\n img.decoding = 'async'\n img.src = src\n await img.decode()\n }, ['sanity-plugin-mux-input', 'image', src])\n\n return <img alt={alt} src={src} height={height} width={width} style={{aspectRatio}} />\n})\n\n// @TODO fix typings errors due to props.renderDefault\nconst VideoMediaPreview = styled<any>(MediaPreview)`\n img {\n object-fit: cover;\n }\n`\n\ninterface VideoMediaPreviewSignedSubtitleProps {\n solo?: boolean\n}\nconst VideoMediaPreviewSignedSubtitle = ({solo}: VideoMediaPreviewSignedSubtitleProps) => {\n return (\n <Inline\n space={1}\n style={{\n marginTop: solo ? '-1.35em' : undefined,\n marginBottom: solo ? undefined : '0.35rem',\n }}\n >\n <LockIcon />\n Signed playback policy\n </Inline>\n )\n}\n\ninterface PosterImageProps extends Omit<ImageLoaderProps, 'src' | 'alt'> {\n asset: VideoAssetDocument\n showTip?: boolean\n}\nconst PosterImage = ({asset, height, width, showTip}: PosterImageProps) => {\n const client = useClient()\n const src = getPosterSrc({\n asset,\n client,\n height,\n width,\n fit_mode: 'smartcrop',\n })\n const subtitle = useMemo(\n () =>\n showTip && getPlaybackPolicy(asset) === 'signed' ? (\n <VideoMediaPreviewSignedSubtitle solo />\n ) : undefined,\n [asset, showTip]\n )\n\n // eslint-disable-next-line no-warning-comments\n // @TODO support setting the alt text in the schema, like how we deal with images\n return (\n <VideoMediaPreview\n mediaDimensions={mediaDimensions}\n subtitle={subtitle}\n title={<>{null}</>}\n media={<ImageLoader alt=\"\" src={src} height={height} width={width} />}\n />\n )\n}\n\nexport interface VideoThumbnailProps extends Omit<PosterImageProps, 'height'> {\n width: number\n}\nexport const VideoThumbnail = memo(function VideoThumbnail({\n asset,\n width,\n showTip,\n}: VideoThumbnailProps) {\n const {ErrorBoundary, didCatch, error} = useErrorBoundary()\n const height = Math.round((width * 9) / 16)\n const subtitle = useMemo(\n () =>\n showTip && getPlaybackPolicy(asset) === 'signed' ? (\n <VideoMediaPreviewSignedSubtitle />\n ) : undefined,\n [showTip, asset]\n )\n\n if (didCatch) {\n return (\n <VideoMediaPreview\n subtitle={error.message}\n mediaDimensions={mediaDimensions}\n title=\"Error when loading thumbnail\"\n media={\n <Card radius={2} height=\"fill\" style={{position: 'relative', width: '100%'}}>\n <Box\n style={{\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n }}\n >\n <UnknownIcon />\n </Box>\n </Card>\n }\n />\n )\n }\n\n return (\n <ErrorBoundary>\n <Suspense\n fallback={\n <VideoMediaPreview\n isPlaceholder\n title=\"Loading thumbnail...\"\n subtitle={subtitle}\n mediaDimensions={mediaDimensions}\n />\n }\n >\n <PosterImage showTip={showTip} asset={asset} height={height} width={width} />\n </Suspense>\n </ErrorBoundary>\n )\n})\n\n// @TODO fix typings errors due to props.renderDefault\nconst AnimatedVideoMediaPreview = styled<any>(MediaPreview)`\n img {\n object-fit: contain;\n }\n`\n\ninterface AnimatedPosterImageProps extends Omit<ImageLoaderProps, 'src' | 'alt' | 'height'> {\n asset: VideoAssetDocument\n}\nconst AnimatedPosterImage = ({asset, width}: AnimatedPosterImageProps) => {\n const client = useClient()\n const src = getAnimatedPosterSrc({asset, client, width})\n\n // eslint-disable-next-line no-warning-comments\n // @TODO support setting the alt text in the schema, like how we deal with images\n return (\n <AnimatedVideoMediaPreview\n withBorder={false}\n mediaDimensions={mediaDimensions}\n media={<ImageLoader alt=\"\" src={src} width={width} aspectRatio=\"16:9\" />}\n />\n )\n}\n\nexport interface AnimatedVideoThumbnailProps extends Omit<PosterImageProps, 'height'> {\n width: number\n}\nexport const AnimatedVideoThumbnail = memo(function AnimatedVideoThumbnail({\n asset,\n width,\n}: AnimatedVideoThumbnailProps) {\n const {ErrorBoundary, didCatch} = useErrorBoundary()\n\n if (didCatch) {\n return null\n }\n\n return (\n <ErrorBoundary>\n <Suspense\n fallback={\n <FancyBackdrop>\n <VideoMediaPreview\n mediaDimensions={mediaDimensions}\n withBorder={false}\n media={<Spinner muted />}\n />\n </FancyBackdrop>\n }\n >\n <Card height=\"fill\" tone=\"transparent\">\n <AnimatedPosterImage asset={asset} width={width} />\n </Card>\n </Suspense>\n </ErrorBoundary>\n )\n})\nconst FancyBackdrop = styled(Box)`\n backdrop-filter: blur(8px) brightness(0.5) saturate(2);\n mix-blend-mode: color-dodge;\n`\n\nexport const ThumbGrid = styled(Grid)`\n grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));\n`\n\nexport const CardLoadMore = styled(Card)`\n border-top: 1px solid var(--card-border-color);\n position: sticky;\n bottom: 0;\n z-index: 200;\n`\n","import {EllipsisVerticalIcon, TrashIcon} from '@sanity/icons'\nimport {DownloadIcon} from '@sanity/icons'\nimport {\n Box,\n Button,\n Card,\n Checkbox,\n Dialog,\n Flex,\n Grid,\n Menu,\n MenuButton,\n MenuItem,\n Spinner,\n Stack,\n Text,\n useClickOutside,\n useToast,\n} from '@sanity/ui'\nimport {animate} from 'motion'\nimport React, {memo, useCallback, useEffect, useId, useLayoutEffect, useRef, useState} from 'react'\nimport styled from 'styled-components'\nimport {getDevicePixelRatio} from 'use-device-pixel-ratio'\n\nimport {deleteAsset} from '../actions/assets'\nimport {useClient} from '../hooks/useClient'\nimport type {VideoAssetDocument} from '../util/types'\nimport {AnimatedVideoThumbnail, CardLoadMore, ThumbGrid, VideoThumbnail} from './VideoSource.styled'\n\nexport interface AssetActionsMenuProps {\n asset: VideoAssetDocument\n}\n\nfunction AssetActionsMenu(props: AssetActionsMenuProps) {\n const {asset} = props\n const id = useId()\n const [dialogState, setDialogState] = useState<false | 'show-uses' | 'confirm-delete'>()\n const [open, setOpen] = useState(false)\n const [menuElement, setMenuRef] = useState<HTMLDivElement | null>(null)\n\n const handleDelete = useCallback(() => setDialogState('confirm-delete'), [])\n const handleClick = useCallback(() => {\n setDialogState(false)\n setOpen(true)\n }, [setDialogState])\n const handleClose = useCallback(() => {\n setDialogState(false)\n setOpen(false)\n }, [setDialogState])\n\n useEffect(() => {\n if (open && dialogState) {\n setOpen(false)\n }\n }, [dialogState, open])\n\n useClickOutside(\n useCallback(() => setOpen(false), []),\n [menuElement]\n )\n\n return (\n <>\n <MenuButton\n id={`${id}-asset-menu`}\n button={\n <Button icon={EllipsisVerticalIcon} mode=\"ghost\" onClick={handleClick} padding={2} />\n }\n menu={\n <Menu ref={setMenuRef}>\n <MenuItem tone=\"critical\" icon={TrashIcon} text=\"Delete\" onClick={handleDelete} />\n </Menu>\n }\n portal\n placement=\"right\"\n />\n {dialogState === 'confirm-delete' && <DeleteDialog asset={asset} onClose={handleClose} />}\n </>\n )\n}\n\ninterface DeleteDialogProps {\n asset: VideoAssetDocument\n onClose: () => void\n}\nfunction DeleteDialog(props: DeleteDialogProps) {\n const {asset, onClose} = props\n const client = useClient()\n const {push: pushToast} = useToast()\n const [deleting, setDeleting] = useState(false)\n const [deleteOnMux, setDeleteOnMux] = useState(false)\n const id = useId()\n const noPaddingOnStack = true\n const width = 200 * getDevicePixelRatio({maxDpr: 2})\n\n const handleDelete = useCallback(async () => {\n setDeleting(true)\n try {\n if (asset?._id) {\n await client.delete(asset._id)\n }\n if (deleteOnMux && asset?.assetId) {\n await deleteAsset(client, asset.assetId)\n }\n document\n .querySelector(`[data-id=\"${asset._id}\"]`)\n ?.parentElement?.setAttribute?.('hidden', 'true')\n } catch (err: any) {\n console.error('Failed during delete', err)\n pushToast({\n closable: true,\n description: err?.message,\n duration: 5000,\n title: 'Uncaught error',\n status: 'error',\n })\n } finally {\n setDeleting(false)\n onClose()\n }\n }, [asset._id, asset.assetId, client, deleteOnMux, onClose, pushToast])\n\n return (\n <Dialog\n onClose={onClose}\n id={`${id}-confirm-delete`}\n header=\"Delete video\"\n footer={\n <Grid padding={2} gap={2} columns={2}>\n <Button mode=\"bleed\" text=\"Cancel\" onClick={onClose} />\n <Button\n text=\"Delete\"\n tone=\"critical\"\n icon={TrashIcon}\n onClick={handleDelete}\n loading={deleting}\n // disabled={!canDelete}\n />\n </Grid>\n }\n // __unstable_autoFocus\n width={1}\n >\n <Stack\n paddingX={noPaddingOnStack ? 0 : [2, 3, 4]}\n paddingY={noPaddingOnStack ? 0 : [3, 3, 3, 4]}\n space={1}\n >\n <Card paddingX={[2, 3, 4]} paddingY={[3, 3, 3, 4]}>\n <Grid columns={3} gap={3}>\n <Flex style={{gridColumn: 'span 2'}} align=\"center\">\n <Box padding={4}>\n <Stack space={4}>\n <Flex align=\"center\" as=\"label\">\n <Checkbox\n checked={deleteOnMux}\n onChange={() => setDeleteOnMux((prev) => !prev)}\n />\n <Text style={{margin: '0 10px'}}>Delete asset on Mux</Text>\n </Flex>\n <Flex align=\"center\" as=\"label\">\n <Checkbox disabled checked />\n <Text style={{margin: '0 10px'}}>Delete video from dataset</Text>\n </Flex>\n </Stack>\n </Box>\n </Flex>\n <VideoThumbnail asset={asset} width={width} showTip />\n </Grid>\n </Card>\n </Stack>\n </Dialog>\n )\n}\n\nexport interface Props {\n assets: VideoAssetDocument[]\n isLoading: boolean\n isLastPage: boolean\n onSelect: (assetId: string) => void\n onLoadMore: () => void\n}\n\nexport default function VideoSource({assets, isLoading, isLastPage, onSelect, onLoadMore}: Props) {\n const handleClick = useCallback<React.MouseEventHandler<HTMLDivElement>>(\n (event) => onSelect(event.currentTarget.dataset.id!),\n [onSelect]\n )\n const handleKeyPress = useCallback<React.KeyboardEventHandler<HTMLDivElement>>(\n (event) => {\n if (event.key === 'Enter') {\n onSelect(event.currentTarget.dataset.id!)\n }\n },\n [onSelect]\n )\n const width = 200 * getDevicePixelRatio({maxDpr: 2})\n\n return (\n <>\n <Box padding={4}>\n <ThumbGrid gap={2}>\n {assets.map((asset) => (\n <VideoSourceItem\n key={asset._id}\n asset={asset}\n onClick={handleClick}\n onKeyPress={handleKeyPress}\n width={width}\n />\n ))}\n </ThumbGrid>\n {isLoading && assets.length === 0 && (\n <Flex justify=\"center\">\n <Spinner muted />\n </Flex>\n )}\n\n {!isLoading && assets.length === 0 && (\n <Text align=\"center\" muted>\n No videos\n </Text>\n )}\n </Box>\n {assets.length > 0 && !isLastPage && (\n <CardLoadMore tone=\"default\" padding={4}>\n <Flex direction=\"column\">\n <Button\n type=\"button\"\n icon={DownloadIcon}\n loading={isLoading}\n onClick={onLoadMore}\n text=\"Load more\"\n tone=\"primary\"\n />\n </Flex>\n </CardLoadMore>\n )}\n </>\n )\n}\n\ninterface VideoSourceItemProps {\n asset: VideoAssetDocument\n onClick: React.MouseEventHandler<HTMLDivElement>\n onKeyPress: React.KeyboardEventHandler<HTMLDivElement>\n width: number\n}\nconst _VideoSourceItem = ({asset, onClick, onKeyPress, width}: VideoSourceItemProps) => {\n const [hover, setHover] = useState<boolean | null>(null)\n const ref = useRef<HTMLDivElement>(null)\n useLayoutEffect(() => {\n if (!ref.current || hover === null) {\n return\n }\n if (hover) {\n animate(ref.current, {opacity: 1})\n } else {\n animate(ref.current, {opacity: 0})\n }\n }, [hover])\n return (\n <Box height=\"fill\" style={{position: 'relative'}}>\n <Card\n as=\"button\"\n data-id={asset._id}\n onClick={onClick}\n onKeyPress={onKeyPress}\n tabIndex={0}\n radius={2}\n padding={1}\n style={{lineHeight: 0, position: 'relative'}}\n __unstable_focusRing\n onMouseEnter={() => setHover(true)}\n onMouseLeave={() => setHover(false)}\n >\n <VideoThumbnail asset={asset} width={width} showTip />\n {asset?.playbackId && (\n <AnimateWrapper tone=\"transparent\" ref={ref} margin={1} radius={1}>\n {hover !== null && <AnimatedVideoThumbnail asset={asset} width={width} />}\n </AnimateWrapper>\n )}\n </Card>\n <ActionsAssetsContainer>\n <AssetActionsMenu asset={asset} />\n </ActionsAssetsContainer>\n </Box>\n )\n}\nconst VideoSourceItem = memo(_VideoSourceItem)\nconst AnimateWrapper = styled(Card)`\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n will-change: opacity;\n background: transparent;\n background-color: hsl(0deg 0% 0% / 33%);\n opacity: 0;\n pointer-events: none;\n`\n\nconst ActionsAssetsContainer = styled.div`\n box-sizing: border-box;\n position: absolute;\n z-index: 300;\n opacity: 0;\n top: 7px;\n right: 7px;\n\n button:hover + &,\n button:focus-visible + &,\n &:hover,\n &:focus-visible {\n opacity: 1;\n }\n`\n","import React, {useCallback, useEffect, useRef, useState} from 'react'\nimport {PatchEvent, set, setIfMissing} from 'sanity'\n\nimport {useClient} from '../hooks/useClient'\nimport type {SetDialogState} from '../hooks/useDialogState'\nimport type {MuxInputProps, VideoAssetDocument} from '../util/types'\nimport VideoSource, {type Props as VideoSourceProps} from './VideoSource'\n\nconst PER_PAGE = 200\n\nfunction createQuery(start = 0, end = PER_PAGE) {\n return /* groq */ `*[_type == \"mux.videoAsset\"] | order(_updatedAt desc) [${start}...${end}]`\n}\n\nexport interface Props extends Pick<MuxInputProps, 'onChange'> {\n asset?: VideoAssetDocument | null | undefined\n setDialogState: SetDialogState\n}\n\nexport default function SelectAssets({asset, onChange, setDialogState}: Props) {\n const client = useClient()\n const pageNoRef = useRef(0)\n const [isLastPage, setLastPage] = useState(false)\n const [isLoading, setLoading] = useState(false)\n const [assets, setAssets] = useState<VideoAssetDocument[]>([])\n\n const fetchPage = useCallback(\n (pageNo: number) => {\n const start = pageNo * PER_PAGE\n const end = start + PER_PAGE\n setLoading(true)\n return client\n .fetch(createQuery(start, end))\n .then((result: VideoAssetDocument[]) => {\n setLastPage(result.length < PER_PAGE)\n setAssets((prev) => prev.concat(result))\n })\n .finally(() => setLoading(false))\n },\n [client]\n )\n const handleSelect = useCallback<VideoSourceProps['onSelect']>(\n (id) => {\n const selected = assets.find((doc) => doc._id === id)\n if (!selected) {\n throw new TypeError(`Failed to find video asset with id: ${id}`)\n }\n onChange(\n PatchEvent.from([\n setIfMissing({asset: {}}),\n set({_type: 'reference', _weak: true, _ref: selected._id}, ['asset']),\n ])\n )\n setDialogState(false)\n },\n [assets, onChange, setDialogState]\n )\n const handleLoadMore = useCallback<VideoSourceProps['onLoadMore']>(() => {\n fetchPage(++pageNoRef.current)\n }, [fetchPage])\n\n useEffect(() => void fetchPage(pageNoRef.current), [fetchPage])\n\n return (\n <VideoSource\n onSelect={handleSelect}\n assets={assets}\n isLastPage={isLastPage}\n isLoading={isLoading}\n onLoadMore={handleLoadMore}\n />\n )\n}\n","import {Dialog} from '@sanity/ui'\nimport React, {useCallback, useId} from 'react'\n\nimport type {SetDialogState} from '../hooks/useDialogState'\nimport SelectAsset, {type Props as SelectAssetProps} from './SelectAsset'\n\ninterface Props extends Pick<SelectAssetProps, 'onChange' | 'asset'> {\n setDialogState: SetDialogState\n}\nexport default function InputBrowser({setDialogState, asset, onChange}: Props) {\n const id = `InputBrowser${useId()}`\n const handleClose = useCallback(() => setDialogState(false), [setDialogState])\n return (\n <Dialog\n scheme=\"dark\"\n __unstable_autoFocus\n header=\"Select video\"\n id={id}\n onClose={handleClose}\n width={2}\n >\n <SelectAsset asset={asset} onChange={onChange} setDialogState={setDialogState} />\n </Dialog>\n )\n}\n","/**\n * @license React\n * react-is.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'use strict';var b=Symbol.for(\"react.element\"),c=Symbol.for(\"react.portal\"),d=Symbol.for(\"react.fragment\"),e=Symbol.for(\"react.strict_mode\"),f=Symbol.for(\"react.profiler\"),g=Symbol.for(\"react.provider\"),h=Symbol.for(\"react.context\"),k=Symbol.for(\"react.server_context\"),l=Symbol.for(\"react.forward_ref\"),m=Symbol.for(\"react.suspense\"),n=Symbol.for(\"react.suspense_list\"),p=Symbol.for(\"react.memo\"),q=Symbol.for(\"react.lazy\"),t=Symbol.for(\"react.offscreen\"),u;u=Symbol.for(\"react.module.reference\");\nfunction v(a){if(\"object\"===typeof a&&null!==a){var r=a.$$typeof;switch(r){case b:switch(a=a.type,a){case d:case f:case e:case m:case n:return a;default:switch(a=a&&a.$$typeof,a){case k:case h:case l:case q:case p:case g:return a;default:return r}}case c:return r}}}exports.ContextConsumer=h;exports.ContextProvider=g;exports.Element=b;exports.ForwardRef=l;exports.Fragment=d;exports.Lazy=q;exports.Memo=p;exports.Portal=c;exports.Profiler=f;exports.StrictMode=e;exports.Suspense=m;\nexports.SuspenseList=n;exports.isAsyncMode=function(){return!1};exports.isConcurrentMode=function(){return!1};exports.isContextConsumer=function(a){return v(a)===h};exports.isContextProvider=function(a){return v(a)===g};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===b};exports.isForwardRef=function(a){return v(a)===l};exports.isFragment=function(a){return v(a)===d};exports.isLazy=function(a){return v(a)===q};exports.isMemo=function(a){return v(a)===p};\nexports.isPortal=function(a){return v(a)===c};exports.isProfiler=function(a){return v(a)===f};exports.isStrictMode=function(a){return v(a)===e};exports.isSuspense=function(a){return v(a)===m};exports.isSuspenseList=function(a){return v(a)===n};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===d||a===f||a===e||a===m||a===n||a===t||\"object\"===typeof a&&null!==a&&(a.$$typeof===q||a.$$typeof===p||a.$$typeof===g||a.$$typeof===h||a.$$typeof===l||a.$$typeof===u||void 0!==a.getModuleId)?!0:!1};exports.typeOf=v;\n","/**\n * @license React\n * react-is.development.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';\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n'use strict';\n\n// ATTENTION\n// When adding new symbols to this file,\n// Please consider also adding to 'react-devtools-shared/src/backend/ReactSymbols'\n// The Symbol used to tag the ReactElement-like types.\nvar REACT_ELEMENT_TYPE = Symbol.for('react.element');\nvar REACT_PORTAL_TYPE = Symbol.for('react.portal');\nvar REACT_FRAGMENT_TYPE = Symbol.for('react.fragment');\nvar REACT_STRICT_MODE_TYPE = Symbol.for('react.strict_mode');\nvar REACT_PROFILER_TYPE = Symbol.for('react.profiler');\nvar REACT_PROVIDER_TYPE = Symbol.for('react.provider');\nvar REACT_CONTEXT_TYPE = Symbol.for('react.context');\nvar REACT_SERVER_CONTEXT_TYPE = Symbol.for('react.server_context');\nvar REACT_FORWARD_REF_TYPE = Symbol.for('react.forward_ref');\nvar REACT_SUSPENSE_TYPE = Symbol.for('react.suspense');\nvar REACT_SUSPENSE_LIST_TYPE = Symbol.for('react.suspense_list');\nvar REACT_MEMO_TYPE = Symbol.for('react.memo');\nvar REACT_LAZY_TYPE = Symbol.for('react.lazy');\nvar REACT_OFFSCREEN_TYPE = Symbol.for('react.offscreen');\n\n// -----------------------------------------------------------------------------\n\nvar enableScopeAPI = false; // Experimental Create Event Handle API.\nvar enableCacheElement = false;\nvar enableTransitionTracing = false; // No known bugs, but needs performance testing\n\nvar enableLegacyHidden = false; // Enables unstable_avoidThisFallback feature in Fiber\n// stuff. Intended to enable React core members to more easily debug scheduling\n// issues in DEV builds.\n\nvar enableDebugTracing = false; // Track which Fiber(s) schedule render work.\n\nvar REACT_MODULE_REFERENCE;\n\n{\n REACT_MODULE_REFERENCE = Symbol.for('react.module.reference');\n}\n\nfunction isValidElementType(type) {\n if (typeof type === 'string' || typeof type === 'function') {\n return true;\n } // Note: typeof might be other than 'symbol' or 'number' (e.g. if it's a polyfill).\n\n\n if (type === REACT_FRAGMENT_TYPE || type === REACT_PROFILER_TYPE || enableDebugTracing || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || enableLegacyHidden || type === REACT_OFFSCREEN_TYPE || enableScopeAPI || enableCacheElement || enableTransitionTracing ) {\n return true;\n }\n\n if (typeof type === 'object' && type !== null) {\n if (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || // This needs to include all possible module reference object\n // types supported by any Flight configuration anywhere since\n // we don't know which Flight build this will end up being used\n // with.\n type.$$typeof === REACT_MODULE_REFERENCE || type.getModuleId !== undefined) {\n return true;\n }\n }\n\n return false;\n}\n\nfunction typeOf(object) {\n if (typeof object === 'object' && object !== null) {\n var $$typeof = object.$$typeof;\n\n switch ($$typeof) {\n case REACT_ELEMENT_TYPE:\n var type = object.type;\n\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n case REACT_PROFILER_TYPE:\n case REACT_STRICT_MODE_TYPE:\n case REACT_SUSPENSE_TYPE:\n case REACT_SUSPENSE_LIST_TYPE:\n return type;\n\n default:\n var $$typeofType = type && type.$$typeof;\n\n switch ($$typeofType) {\n case REACT_SERVER_CONTEXT_TYPE:\n case REACT_CONTEXT_TYPE:\n case REACT_FORWARD_REF_TYPE:\n case REACT_LAZY_TYPE:\n case REACT_MEMO_TYPE:\n case REACT_PROVIDER_TYPE:\n return $$typeofType;\n\n default:\n return $$typeof;\n }\n\n }\n\n case REACT_PORTAL_TYPE:\n return $$typeof;\n }\n }\n\n return undefined;\n}\nvar ContextConsumer = REACT_CONTEXT_TYPE;\nvar ContextProvider = REACT_PROVIDER_TYPE;\nvar Element = REACT_ELEMENT_TYPE;\nvar ForwardRef = REACT_FORWARD_REF_TYPE;\nvar Fragment = REACT_FRAGMENT_TYPE;\nvar Lazy = REACT_LAZY_TYPE;\nvar Memo = REACT_MEMO_TYPE;\nvar Portal = REACT_PORTAL_TYPE;\nvar Profiler = REACT_PROFILER_TYPE;\nvar StrictMode = REACT_STRICT_MODE_TYPE;\nvar Suspense = REACT_SUSPENSE_TYPE;\nvar SuspenseList = REACT_SUSPENSE_LIST_TYPE;\nvar hasWarnedAboutDeprecatedIsAsyncMode = false;\nvar hasWarnedAboutDeprecatedIsConcurrentMode = false; // AsyncMode should be deprecated\n\nfunction isAsyncMode(object) {\n {\n if (!hasWarnedAboutDeprecatedIsAsyncMode) {\n hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint\n\n console['warn']('The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 18+.');\n }\n }\n\n return false;\n}\nfunction isConcurrentMode(object) {\n {\n if (!hasWarnedAboutDeprecatedIsConcurrentMode) {\n hasWarnedAboutDeprecatedIsConcurrentMode = true; // Using console['warn'] to evade Babel and ESLint\n\n console['warn']('The ReactIs.isConcurrentMode() alias has been deprecated, ' + 'and will be removed in React 18+.');\n }\n }\n\n return false;\n}\nfunction isContextConsumer(object) {\n return typeOf(object) === REACT_CONTEXT_TYPE;\n}\nfunction isContextProvider(object) {\n return typeOf(object) === REACT_PROVIDER_TYPE;\n}\nfunction isElement(object) {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n}\nfunction isForwardRef(object) {\n return typeOf(object) === REACT_FORWARD_REF_TYPE;\n}\nfunction isFragment(object) {\n return typeOf(object) === REACT_FRAGMENT_TYPE;\n}\nfunction isLazy(object) {\n return typeOf(object) === REACT_LAZY_TYPE;\n}\nfunction isMemo(object) {\n return typeOf(object) === REACT_MEMO_TYPE;\n}\nfunction isPortal(object) {\n return typeOf(object) === REACT_PORTAL_TYPE;\n}\nfunction isProfiler(object) {\n return typeOf(object) === REACT_PROFILER_TYPE;\n}\nfunction isStrictMode(object) {\n return typeOf(object) === REACT_STRICT_MODE_TYPE;\n}\nfunction isSuspense(object) {\n return typeOf(object) === REACT_SUSPENSE_TYPE;\n}\nfunction isSuspenseList(object) {\n return typeOf(object) === REACT_SUSPENSE_LIST_TYPE;\n}\n\nexports.ContextConsumer = ContextConsumer;\nexports.ContextProvider = ContextProvider;\nexports.Element = Element;\nexports.ForwardRef = ForwardRef;\nexports.Fragment = Fragment;\nexports.Lazy = Lazy;\nexports.Memo = Memo;\nexports.Portal = Portal;\nexports.Profiler = Profiler;\nexports.StrictMode = StrictMode;\nexports.Suspense = Suspense;\nexports.SuspenseList = SuspenseList;\nexports.isAsyncMode = isAsyncMode;\nexports.isConcurrentMode = isConcurrentMode;\nexports.isContextConsumer = isContextConsumer;\nexports.isContextProvider = isContextProvider;\nexports.isElement = isElement;\nexports.isForwardRef = isForwardRef;\nexports.isFragment = isFragment;\nexports.isLazy = isLazy;\nexports.isMemo = isMemo;\nexports.isPortal = isPortal;\nexports.isProfiler = isProfiler;\nexports.isStrictMode = isStrictMode;\nexports.isSuspense = isSuspense;\nexports.isSuspenseList = isSuspenseList;\nexports.isValidElementType = isValidElementType;\nexports.typeOf = typeOf;\n })();\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","// todo: get these utils from @sanity/ui instead\nexport function focusRingBorderStyle(border: {color: string; width: number}): string {\n return `inset 0 0 0 ${border.width}px ${border.color}`\n}\n\nexport function focusRingStyle(opts: {\n base?: {bg: string}\n border?: {color: string; width: number}\n focusRing: {offset: number; width: number}\n}): string {\n const {base, border, focusRing} = opts\n const focusRingOutsetWidth = focusRing.offset + focusRing.width\n const focusRingInsetWidth = 0 - focusRing.offset\n const bgColor = base ? base.bg : 'var(--card-bg-color)'\n\n return [\n focusRingInsetWidth > 0 && `inset 0 0 0 ${focusRingInsetWidth}px var(--card-focus-ring-color)`,\n border && focusRingBorderStyle(border),\n focusRingInsetWidth < 0 && `0 0 0 ${0 - focusRingInsetWidth}px ${bgColor}`,\n focusRingOutsetWidth > 0 && `0 0 0 ${focusRingOutsetWidth}px var(--card-focus-ring-color)`,\n ]\n .filter(Boolean)\n .join(',')\n}\n","import {MenuItem, Theme} from '@sanity/ui'\nimport styled, {css} from 'styled-components'\n\nimport {focusRingStyle} from './withFocusRing/helpers'\n\nexport const FileButton = styled(MenuItem)(({theme}: {theme: Theme}) => {\n const {focusRing} = theme.sanity\n const base = theme.sanity.color.base\n const border = {width: 1, color: 'var(--card-border-color)'}\n\n return css`\n position: relative;\n\n &:not([data-disabled='true']) {\n &:focus-within {\n box-shadow: ${focusRingStyle({base, border, focusRing})};\n }\n }\n\n & input {\n overflow: hidden;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n position: absolute;\n min-width: 0;\n display: block;\n appearance: none;\n padding: 0;\n margin: 0;\n border: 0;\n opacity: 0;\n }\n `\n})\n","import {Box, ButtonProps, Flex, Text} from '@sanity/ui'\nimport React, {createElement, isValidElement, useId} from 'react'\nimport {isValidElementType} from 'react-is'\n\nimport {FileButton} from './FileInputMenuItem.styled'\n\nexport interface FileInputMenuItemProps extends ButtonProps {\n accept?: string\n capture?: 'user' | 'environment'\n multiple?: boolean\n onSelect?: (files: File[]) => void\n disabled?: boolean\n}\n\nexport const FileInputMenuItem = React.forwardRef(function FileInputMenuItem(\n props: FileInputMenuItemProps &\n Omit<React.HTMLProps<HTMLButtonElement>, 'as' | 'ref' | 'type' | 'value' | 'onSelect'>,\n forwardedRef: React.ForwardedRef<HTMLInputElement>\n) {\n const {\n icon,\n id: idProp,\n accept,\n capture,\n fontSize,\n multiple,\n onSelect,\n padding = 3,\n space = 3,\n textAlign,\n text,\n disabled,\n ...rest\n } = props\n const idHook = useId()\n const id = idProp || idHook\n\n const handleChange = React.useCallback(\n (event: React.ChangeEvent<HTMLInputElement>) => {\n if (onSelect && event.target.files) {\n onSelect(Array.from(event.target.files))\n }\n },\n [onSelect]\n )\n\n const content = (\n <Flex align=\"center\" justify=\"flex-start\" padding={padding}>\n {/* Icon */}\n {icon && (\n <Box marginRight={text ? space : undefined}>\n <Text size={fontSize}>\n {isValidElement(icon) && icon}\n {isValidElementType(icon) && createElement(icon)}\n </Text>\n </Box>\n )}\n\n {/* Text */}\n {text && (\n <Text align={textAlign} size={fontSize} textOverflow=\"ellipsis\">\n {text}\n </Text>\n )}\n </Flex>\n )\n\n return (\n <FileButton\n {...rest}\n htmlFor={id}\n padding={0}\n fontSize={2}\n disabled={disabled}\n ref={forwardedRef}\n >\n {content}\n\n {/* Visibly hidden input */}\n <input\n data-testid=\"file-button-input\"\n accept={accept}\n capture={capture}\n id={id}\n multiple={multiple}\n onChange={handleChange}\n type=\"file\"\n value=\"\"\n disabled={disabled}\n />\n </FileButton>\n )\n})\n","import {\n EditIcon,\n EllipsisVerticalIcon,\n LockIcon,\n PlugIcon,\n ResetIcon,\n SearchIcon,\n UploadIcon,\n} from '@sanity/icons'\nimport {\n Box,\n Button,\n Card,\n Inline,\n Label,\n Menu,\n MenuDivider,\n MenuItem,\n Popover,\n Text,\n Tooltip,\n useClickOutside,\n} from '@sanity/ui'\nimport React, {memo, useCallback, useEffect, useMemo, useState} from 'react'\nimport {PatchEvent, unset} from 'sanity'\nimport styled from 'styled-components'\n\nimport {type DialogState, type SetDialogState} from '../hooks/useDialogState'\nimport {getPlaybackPolicy} from '../util/getPlaybackPolicy'\nimport type {MuxInputProps, VideoAssetDocument} from '../util/types'\nimport {FileInputMenuItem} from './FileInputMenuItem'\n\nconst LockCard = styled(Card)`\n position: absolute;\n top: 0;\n left: 0;\n opacity: 0.6;\n mix-blend-mode: screen;\n background: transparent;\n`\n\nconst LockButton = styled(Button)`\n background: transparent;\n color: white;\n`\n\nexport interface Props extends Pick<MuxInputProps, 'onChange' | 'readOnly'> {\n asset: VideoAssetDocument\n onUpload: (files: File[]) => void\n dialogState: DialogState\n setDialogState: SetDialogState\n}\nfunction PlayerActionsMenu(props: Props) {\n const {asset, readOnly, dialogState, setDialogState, onChange, onUpload} = props\n const [open, setOpen] = useState(false)\n const [menuElement, setMenuRef] = useState<HTMLDivElement | null>(null)\n const isSigned = useMemo(() => getPlaybackPolicy(asset) === 'signed', [asset])\n\n const onReset = useCallback(() => onChange(PatchEvent.from(unset([]))), [onChange])\n\n useEffect(() => {\n if (open && dialogState) {\n setOpen(false)\n }\n }, [dialogState, open])\n\n useClickOutside(\n useCallback(() => setOpen(false), []),\n [menuElement]\n )\n\n return (\n <Inline space={1} padding={2}>\n {isSigned && (\n <Tooltip\n content={\n <Box padding={2}>\n <Text muted size={1}>\n Signed playback policy\n </Text>\n </Box>\n }\n placement=\"right\"\n portal\n >\n <LockCard radius={2} margin={2} scheme=\"dark\" tone=\"positive\">\n <LockButton icon={LockIcon} mode=\"bleed\" tone=\"positive\" />\n </LockCard>\n </Tooltip>\n )}\n {!readOnly && (\n <Button icon={EditIcon} mode=\"ghost\" onClick={() => setDialogState('edit-thumbnail')} />\n )}\n <Popover\n content={\n <Menu ref={setMenuRef}>\n <Box padding={2}>\n <Label muted size={1}>\n Replace\n </Label>\n </Box>\n <FileInputMenuItem\n accept=\"video/*\"\n icon={UploadIcon}\n mode=\"bleed\"\n onSelect={onUpload}\n text=\"Upload\"\n disabled={readOnly}\n fontSize={2}\n />\n <MenuItem\n icon={SearchIcon}\n text=\"Browse\"\n onClick={() => setDialogState('select-video')}\n />\n <MenuDivider />\n <MenuItem\n icon={PlugIcon}\n text=\"Configure API\"\n onClick={() => setDialogState('secrets')}\n />\n <MenuDivider />\n <MenuItem\n tone=\"critical\"\n icon={ResetIcon}\n text=\"Clear field\"\n onClick={onReset}\n disabled={readOnly}\n />\n </Menu>\n }\n portal\n open={open}\n >\n <Button\n icon={EllipsisVerticalIcon}\n mode=\"ghost\"\n onClick={() => {\n setDialogState(false)\n setOpen(true)\n }}\n />\n </Popover>\n </Inline>\n )\n}\n\nexport default memo(PlayerActionsMenu)\n","import {rem, Theme} from '@sanity/ui'\nimport {type ComponentType} from 'react'\nimport styled, {css} from 'styled-components'\n\nimport {focusRingBorderStyle, focusRingStyle} from './helpers'\n\nexport function withFocusRing<Props>(component: ComponentType<Props>) {\n return styled(component as unknown as any)<Props & {$border?: boolean}>(\n (props: {theme: Theme; $border?: boolean}) => {\n const border = {\n width: props.$border ? 1 : 0,\n color: 'var(--card-border-color)',\n }\n\n return css`\n --card-focus-box-shadow: ${focusRingBorderStyle(border)};\n\n border-radius: ${rem(props.theme.sanity.radius[1])};\n outline: none;\n box-shadow: var(--card-focus-box-shadow);\n\n &:focus {\n --card-focus-box-shadow: ${focusRingStyle({\n base: props.theme.sanity.color.base,\n border,\n focusRing: props.theme.sanity.focusRing,\n })};\n }\n `\n }\n )\n}\n","/* eslint-disable no-nested-ternary */\nimport {Card, type CardTone} from '@sanity/ui'\nimport React, {forwardRef, useCallback, useRef} from 'react'\nimport styled from 'styled-components'\n\nimport {withFocusRing} from './withFocusRing'\n\nconst ctrlKey = 17\nconst cmdKey = 91\n\nconst UploadCardWithFocusRing = withFocusRing(Card)\n\ninterface UploadCardProps {\n tone?: CardTone\n children: React.ReactNode\n onPaste: React.ClipboardEventHandler<HTMLInputElement>\n onDrop: React.DragEventHandler<HTMLDivElement>\n onDragOver: React.DragEventHandler<HTMLDivElement>\n onDragLeave: React.DragEventHandler<HTMLDivElement>\n onDragEnter: React.DragEventHandler<HTMLDivElement>\n}\nexport const UploadCard = forwardRef<HTMLDivElement, UploadCardProps>(\n ({children, tone, onPaste, onDrop, onDragEnter, onDragLeave, onDragOver}, forwardedRef) => {\n const ctrlDown = useRef(false)\n const inputRef = useRef<HTMLInputElement>(null)\n const handleKeyDown = useCallback<React.KeyboardEventHandler<HTMLDivElement>>((event) => {\n if (event.keyCode == ctrlKey || event.keyCode == cmdKey) {\n ctrlDown.current = true\n }\n const vKey = 86\n if (ctrlDown.current && event.keyCode == vKey) {\n inputRef.current!.focus()\n }\n }, [])\n const handleKeyUp = useCallback<React.KeyboardEventHandler<HTMLDivElement>>((event) => {\n if (event.keyCode == ctrlKey || event.keyCode == cmdKey) {\n ctrlDown.current = false\n }\n }, [])\n\n return (\n <UploadCardWithFocusRing\n tone={tone}\n height=\"fill\"\n ref={forwardedRef}\n padding={0}\n radius={2}\n shadow={0}\n tabIndex={0}\n onKeyDown={handleKeyDown}\n onKeyUp={handleKeyUp}\n onPaste={onPaste}\n onDrop={onDrop}\n onDragEnter={onDragEnter}\n onDragLeave={onDragLeave}\n onDragOver={onDragOver}\n >\n <HiddenInput ref={inputRef} onPaste={onPaste} />\n {children}\n </UploadCardWithFocusRing>\n )\n }\n)\n\nconst HiddenInput = styled.input.attrs({type: 'text'})`\n position: absolute;\n border: 0;\n color: white;\n opacity: 0;\n\n &:focus {\n outline: none;\n }\n`\n","import {Button, type ButtonProps} from '@sanity/ui'\nimport React, {useCallback, useId, useRef} from 'react'\nimport styled from 'styled-components'\n\nconst HiddenInput = styled.input`\n overflow: hidden;\n width: 0.1px;\n height: 0.1px;\n opacity: 0;\n position: absolute;\n z-index: -1;\n`\n\nconst Label = styled.label`\n position: relative;\n`\n\nexport interface FileInputButtonProps extends ButtonProps {\n onSelect: (files: FileList) => void\n}\nexport const FileInputButton = ({onSelect, ...props}: FileInputButtonProps) => {\n const inputId = `FileSelect${useId()}`\n const inputRef = useRef<HTMLInputElement>(null)\n const handleSelect = useCallback<React.ChangeEventHandler<HTMLInputElement>>(\n (event) => {\n if (onSelect) {\n onSelect(event.target.files!)\n }\n },\n [onSelect]\n )\n const handleButtonClick = useCallback(() => inputRef.current?.click(), [])\n return (\n <Label htmlFor={inputId}>\n <HiddenInput\n accept=\"video/*\"\n ref={inputRef}\n tabIndex={0}\n type=\"file\"\n id={inputId}\n onChange={handleSelect}\n value=\"\"\n />\n <Button\n onClick={handleButtonClick}\n mode=\"default\"\n tone=\"primary\"\n style={{width: '100%'}}\n {...props}\n />\n </Label>\n )\n}\n","import {PlugIcon, SearchIcon, UploadIcon} from '@sanity/icons'\nimport {DocumentVideoIcon} from '@sanity/icons'\nimport {Box, Button, Card, Flex, Inline, Text} from '@sanity/ui'\nimport React, {useCallback} from 'react'\nimport styled from 'styled-components'\n\nimport type {SetDialogState} from '../hooks/useDialogState'\nimport {FileInputButton, type FileInputButtonProps} from './FileInputButton'\n\nconst UploadCard = styled(Card)`\n && {\n border-style: dashed;\n }\n`\n\nconst ConfigureApiBox = styled(Box)`\n position: absolute;\n top: 0;\n right: 0;\n`\n\ninterface UploadPlaceholderProps {\n setDialogState: SetDialogState\n readOnly: boolean\n hovering: boolean\n needsSetup: boolean\n onSelect: FileInputButtonProps['onSelect']\n}\nexport default function UploadPlaceholder(props: UploadPlaceholderProps) {\n const {setDialogState, readOnly, onSelect, hovering, needsSetup} = props\n const handleBrowse = useCallback(() => setDialogState('select-video'), [setDialogState])\n const handleConfigureApi = useCallback(() => setDialogState('secrets'), [setDialogState])\n\n return (\n <Box style={{padding: 1, position: 'relative'}} height=\"stretch\">\n <UploadCard\n sizing=\"border\"\n height=\"fill\"\n tone={readOnly ? 'transparent' : 'inherit'}\n border\n padding={3}\n style={hovering ? {borderColor: 'transparent'} : undefined}\n >\n <ConfigureApiBox padding={3}>\n <Button\n padding={3}\n radius={3}\n tone={needsSetup ? 'critical' : undefined}\n onClick={handleConfigureApi}\n icon={PlugIcon}\n mode=\"bleed\"\n />\n </ConfigureApiBox>\n <Flex\n align=\"center\"\n justify=\"space-between\"\n gap={4}\n direction={['column', 'column', 'row']}\n paddingY={[2, 2, 0]}\n sizing=\"border\"\n height=\"fill\"\n >\n <Flex align=\"center\" justify=\"center\" gap={2} flex={1}>\n <Flex justify=\"center\">\n <Text muted>\n <DocumentVideoIcon />\n </Text>\n </Flex>\n <Flex justify=\"center\">\n <Text size={1} muted>\n Drag video or paste URL here\n </Text>\n </Flex>\n </Flex>\n <Inline space={2}>\n <FileInputButton\n mode=\"ghost\"\n tone=\"default\"\n icon={UploadIcon}\n text=\"Upload\"\n onSelect={onSelect}\n />\n <Button mode=\"ghost\" icon={SearchIcon} text=\"Select\" onClick={handleBrowse} />\n </Inline>\n </Flex>\n </UploadCard>\n </Box>\n )\n}\n","// Lifted from sanity/form/inputs/files/common/UploadProgress\n\nimport {Button, Card, Code, Flex, Inline, Stack, Text} from '@sanity/ui'\nimport React from 'react'\nimport {LinearProgress} from 'sanity'\nimport styled from 'styled-components'\n\nexport const CardWrapper = styled(Card)`\n min-height: 82px;\n box-sizing: border-box;\n`\n\nexport const FlexWrapper = styled(Flex)`\n text-overflow: ellipsis;\n overflow: hidden;\n`\n\nexport const LeftSection = styled(Stack)`\n position: relative;\n width: 60%;\n`\n\nexport const CodeWrapper = styled(Code)`\n position: relative;\n width: 100%;\n\n code {\n overflow: hidden;\n text-overflow: ellipsis;\n position: relative;\n max-width: 200px;\n }\n`\n\nexport const UploadProgress = ({\n progress = 100,\n onCancel,\n filename,\n text = 'Uploading',\n}: {\n progress: number\n filename?: React.ReactNode\n onCancel?: React.MouseEventHandler<HTMLButtonElement>\n text?: React.ReactNode\n}) => {\n return (\n <CardWrapper tone=\"primary\" padding={4} border height=\"fill\">\n <FlexWrapper align=\"center\" justify=\"space-between\" height=\"fill\" direction=\"row\" gap={2}>\n <LeftSection>\n <Flex justify=\"center\" gap={[3, 3, 2, 2]} direction={['column', 'column', 'row']}>\n <Text size={1}>\n <Inline space={2}>\n {text}\n <CodeWrapper size={1}>{filename ? filename : '...'}</CodeWrapper>\n </Inline>\n </Text>\n </Flex>\n\n <Card marginTop={3} radius={5} shadow={1}>\n <LinearProgress value={progress} />\n </Card>\n </LeftSection>\n\n {onCancel ? (\n <Button\n fontSize={2}\n text=\"Cancel upload\"\n mode=\"ghost\"\n tone=\"critical\"\n onClick={onCancel}\n />\n ) : null}\n </FlexWrapper>\n </CardWrapper>\n )\n}\n","/* eslint-disable no-nested-ternary */\n// This component needs to be refactored into a functional component\n\nimport React, {lazy, Component} from 'react'\nimport {type Observable, Subject} from 'rxjs'\nimport {takeUntil, tap} from 'rxjs/operators'\nimport type {SanityClient} from 'sanity'\nimport {PatchEvent, set, setIfMissing} from 'sanity'\n\nimport {uploadFile, uploadUrl} from '../actions/upload'\nimport {type DialogState, type SetDialogState} from '../hooks/useDialogState'\nimport {extractDroppedFiles} from '../util/extractFiles'\nimport type {Config, MuxInputProps, Secrets, VideoAssetDocument} from '../util/types'\nimport InputBrowser from './InputBrowser'\nimport PlayerActionsMenu from './PlayerActionsMenu'\nimport {UploadCard} from './Uploader.styled'\nimport UploadPlaceholder from './UploadPlaceholder'\nimport {UploadProgress} from './UploadProgress'\n\n// TODO: Without this lazy load call a build error occurs in the Player component from the import\n// of media-chrome components. media-chrome ships separate ESM and CJS compatible modules in versions >=1.0.0.\n// Once the plugin is updated to media-chrome >= 1.0.0, remove this lazy load.\n// import Player from './Player'\nconst Player = lazy(() => import('./Player'))\n\ninterface Props extends Pick<MuxInputProps, 'onChange' | 'readOnly'> {\n config: Config\n client: SanityClient\n secrets: Secrets\n asset: VideoAssetDocument | null | undefined\n dialogState: DialogState\n setDialogState: SetDialogState\n needsSetup: boolean\n}\n\ninterface State {\n isDraggingOver: boolean\n invalidPaste: boolean\n invalidFile: boolean\n fileInfo: {name?: string; type?: string} | null\n uuid: null\n uploadProgress: number | null\n error: Error | null\n url: string | null\n}\n\nclass MuxVideoInputUploader extends Component<Props, State> {\n state: State = {\n isDraggingOver: false,\n invalidPaste: false,\n invalidFile: false,\n uploadProgress: null,\n fileInfo: null,\n uuid: null,\n error: null,\n url: null,\n }\n dragEnteredEls: EventTarget[] = []\n\n ctrlDown = false\n\n // eslint-disable-next-line no-warning-comments\n // @TODO add proper typings for the return values of uploadFile and uploadUrl\n upload: any | null = null\n\n container = React.createRef<HTMLDivElement>()\n\n onCancelUploadButtonClick$: Observable<unknown> | undefined\n handleCancelUploadButtonClick: React.MouseEventHandler<HTMLButtonElement> | undefined\n\n componentWillUnmount() {\n this.unSubscribeToUpload()\n }\n\n componentDidMount() {\n const events$ = new Subject()\n this.onCancelUploadButtonClick$ = events$.asObservable()\n this.handleCancelUploadButtonClick = (event) => events$.next(event)\n }\n\n unSubscribeToUpload() {\n if (this.upload && !this.upload.closed) {\n this.upload.unsubscribe()\n }\n }\n\n handleProgress = (evt: {percent: number}) => {\n this.setState({uploadProgress: evt.percent})\n }\n\n onUpload = (files: FileList | File[]) => {\n this.setState({uploadProgress: 0, fileInfo: null, uuid: null})\n this.upload = uploadFile(this.props.config, this.props.client, files[0], {\n enableSignedUrls: this.props.secrets.enableSignedUrls,\n })\n .pipe(\n takeUntil(\n this.onCancelUploadButtonClick$!.pipe(\n tap(() => {\n if (this.state.uuid) {\n this.props.client.delete(this.state.uuid)\n }\n })\n )\n )\n )\n .subscribe({\n complete: () => {\n this.setState({error: null, uploadProgress: null, uuid: null})\n },\n next: (event) => {\n this.handleUploadEvent(event)\n },\n error: (err) => {\n this.setState({error: err, uploadProgress: null, uuid: null})\n },\n })\n }\n\n // eslint-disable-next-line no-warning-comments\n // @TODO add proper typings for the Observable events\n handleUploadEvent = (event: any) => {\n switch (event.type) {\n case 'success':\n return this.handleUploadSuccess(event.asset)\n case 'progress':\n return this.handleProgress(event)\n case 'file':\n return this.setState({fileInfo: event.file})\n case 'uuid':\n // Means we created a mux.videoAsset document with an uuid\n return this.setState({uuid: event.uuid})\n case 'url':\n return this.setState({url: event.url, uploadProgress: 100})\n default:\n return null\n }\n }\n\n handleUploadSuccess = (asset: VideoAssetDocument) => {\n this.setState({uploadProgress: 100})\n this.props.onChange(\n PatchEvent.from([\n setIfMissing({asset: {}}),\n set({_type: 'reference', _weak: true, _ref: asset._id}, ['asset']),\n ])\n )\n }\n\n handlePaste: React.ClipboardEventHandler<HTMLInputElement> = (event) => {\n const clipboardData = event.clipboardData || (window as any).clipboardData\n const url = clipboardData.getData('text')\n const options = {enableSignedUrls: this.props.secrets.enableSignedUrls}\n\n this.upload = uploadUrl(this.props.config, this.props.client, url, options).subscribe({\n complete: () => {\n this.setState({error: null, uploadProgress: null, url: null})\n },\n next: (sEvent) => {\n this.handleUploadEvent(sEvent)\n },\n error: (err) => {\n let error\n // Don't output error dialog when just invalid url\n if (!err.message.toLowerCase().match('invalid url')) {\n error = err\n }\n this.setState({invalidPaste: true, error}, () => {\n setTimeout(() => {\n this.setState({invalidPaste: false, uploadProgress: null})\n }, 2000)\n })\n },\n })\n }\n\n handleDrop: React.DragEventHandler<HTMLDivElement> = (event) => {\n this.setState({isDraggingOver: false})\n event.preventDefault()\n event.stopPropagation()\n extractDroppedFiles(event.nativeEvent.dataTransfer!).then((files) => {\n if (files) {\n // eslint-disable-next-line no-warning-comments\n // @TODO fix the typing on files\n this.onUpload(files as any)\n }\n })\n }\n\n handleDragOver: React.DragEventHandler<HTMLDivElement> = (event) => {\n event.preventDefault()\n event.stopPropagation()\n }\n\n handleDragEnter: React.DragEventHandler<HTMLDivElement> = (event) => {\n event.stopPropagation()\n this.dragEnteredEls.push(event.target)\n this.setState({isDraggingOver: true})\n const type = event.dataTransfer.items?.[0]?.type\n this.setState({invalidFile: !type.startsWith('video/')})\n }\n\n handleDragLeave: React.DragEventHandler<HTMLDivElement> = (event) => {\n event.stopPropagation()\n const idx = this.dragEnteredEls.indexOf(event.target)\n if (idx > -1) {\n this.dragEnteredEls.splice(idx, 1)\n }\n if (this.dragEnteredEls.length === 0) {\n this.setState({isDraggingOver: false})\n }\n }\n\n render() {\n if (this.state.uploadProgress !== null) {\n return (\n <UploadProgress\n onCancel={this.handleCancelUploadButtonClick!}\n progress={this.state.uploadProgress}\n filename={this.state.fileInfo?.name || this.state.url}\n />\n )\n }\n\n if (this.state.error) {\n // @TODO better error handling\n throw this.state.error\n }\n\n return (\n <>\n <UploadCard\n tone={\n this.state.isDraggingOver && (this.state.invalidPaste || this.state.invalidFile)\n ? 'critical'\n : this.state.isDraggingOver\n ? 'positive'\n : undefined\n }\n onDrop={this.handleDrop}\n onDragOver={this.handleDragOver}\n onDragLeave={this.handleDragLeave}\n onDragEnter={this.handleDragEnter}\n onPaste={this.handlePaste}\n ref={this.container}\n >\n {this.props.asset ? (\n <Player\n readOnly={this.props.readOnly}\n asset={this.props.asset}\n onChange={this.props.onChange}\n dialogState={this.props.dialogState}\n setDialogState={this.props.setDialogState}\n buttons={\n <PlayerActionsMenu\n asset={this.props.asset}\n dialogState={this.props.dialogState}\n setDialogState={this.props.setDialogState}\n onChange={this.props.onChange}\n onUpload={this.onUpload}\n readOnly={this.props.readOnly}\n />\n }\n />\n ) : (\n <UploadPlaceholder\n hovering={this.state.isDraggingOver}\n onSelect={this.onUpload}\n readOnly={this.props.readOnly!}\n setDialogState={this.props.setDialogState}\n needsSetup={this.props.needsSetup}\n />\n )}\n </UploadCard>\n {this.props.dialogState === 'select-video' && (\n <InputBrowser\n asset={this.props.asset}\n onChange={this.props.onChange}\n setDialogState={this.props.setDialogState}\n />\n )}\n </>\n )\n }\n}\n\nexport default MuxVideoInputUploader\n","import {useCallback} from 'react'\nimport type {SanityClient} from 'sanity'\n\nimport {createSigningKeys, haveValidSigningKeys, saveSecrets, testSecrets} from '../actions/secrets'\nimport type {Secrets} from '../util/types'\n\nexport const useSaveSecrets = (client: SanityClient, secrets: Secrets) => {\n return useCallback(\n async ({\n token,\n secretKey,\n enableSignedUrls,\n }: Pick<Secrets, 'token' | 'secretKey' | 'enableSignedUrls'>): Promise<Secrets> => {\n let {signingKeyId, signingKeyPrivate} = secrets\n\n try {\n await saveSecrets(\n client,\n token!,\n secretKey!,\n enableSignedUrls,\n signingKeyId!,\n signingKeyPrivate!\n )\n const valid = await testSecrets(client)\n if (!valid?.status && token && secretKey) {\n throw new Error('Invalid secrets')\n }\n } catch (err) {\n console.error('Error while trying to save secrets:', err)\n throw err\n }\n\n if (enableSignedUrls) {\n const hasValidSigningKeys = await haveValidSigningKeys(\n client,\n signingKeyId!,\n signingKeyPrivate!\n )\n\n if (!hasValidSigningKeys) {\n try {\n const {data} = await createSigningKeys(client)\n signingKeyId = data.id\n signingKeyPrivate = data.private_key\n await saveSecrets(\n client,\n token!,\n secretKey!,\n enableSignedUrls,\n signingKeyId,\n signingKeyPrivate\n )\n } catch (err: any) {\n // eslint-disable-next-line no-console\n console.log('Error while creating and saving signing key:', err?.message)\n throw err\n }\n }\n }\n return {\n token,\n secretKey,\n enableSignedUrls,\n signingKeyId,\n signingKeyPrivate,\n }\n },\n [client, secrets]\n )\n}\n","import {useReducer} from 'react'\n\nimport type {Secrets} from '../util/types'\n\nexport interface State extends Pick<Secrets, 'token' | 'secretKey' | 'enableSignedUrls'> {\n submitting: boolean\n error: string | null\n}\nexport type Action =\n | {type: 'submit'}\n | {type: 'error'; payload: string}\n | {type: 'reset'; payload: Secrets}\n | {type: 'change'; payload: {name: 'token'; value: string}}\n | {type: 'change'; payload: {name: 'secretKey'; value: string}}\n | {type: 'change'; payload: {name: 'enableSignedUrls'; value: boolean}}\nfunction init({token, secretKey, enableSignedUrls}: Secrets): State {\n return {\n submitting: false,\n error: null,\n // Form inputs don't set the state back to null when clearing a field, but uses empty strings\n // This ensures the `dirty` check works correctly\n token: token ?? '',\n secretKey: secretKey ?? '',\n enableSignedUrls: enableSignedUrls ?? false,\n }\n}\nfunction reducer(state: State, action: Action) {\n switch (action?.type) {\n case 'submit':\n return {...state, submitting: true, error: null}\n case 'error':\n return {...state, submitting: false, error: action.payload}\n case 'reset':\n return init(action.payload)\n case 'change':\n return {...state, [action.payload.name]: action.payload.value}\n default:\n throw new Error(`Unknown action type: ${(action as any)?.type}`)\n }\n}\n\nexport const useSecretsFormState = (secrets: Secrets) => useReducer(reducer, secrets, init)\n","import React, {useId, useMemo} from 'react'\n\n// Mapping ids to ensure filter refs are unique, otherwise all Logo instances are hidden if the first SVG is hidden, due to how SVGs deal with relative links and ids\nconst ids = [\n 'title',\n 'a',\n 'b',\n 'c',\n 'd',\n 'e',\n 'f',\n 'g',\n 'h',\n 'i',\n 'j',\n 'k',\n 'l',\n 'm',\n 'n',\n 'o',\n 'p',\n 'q',\n 'r',\n] as const\nexport interface Props {\n height?: number\n}\nexport default function MuxLogo({height = 26}) {\n const id = useId()\n const [titleId, a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r] = useMemo<typeof ids>(\n () => ids.map((field) => `${id}-${field}`) as unknown as typeof ids,\n [id]\n )\n\n return (\n <svg\n aria-labelledby={titleId}\n role=\"img\"\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlSpace=\"preserve\"\n viewBox=\"92.08878326416016 102.66712188720703 692.76123046875 219.99948120117188\"\n style={{height: `${height}px`}}\n >\n <title id={titleId}>Mux Logo</title>\n <defs>\n <linearGradient\n id={c}\n spreadMethod=\"pad\"\n gradientTransform=\"matrix(528.38055 0 0 -528.38055 63.801 159.5)\"\n gradientUnits=\"userSpaceOnUse\"\n y2={0}\n x2={1}\n y1={0}\n x1={0}\n >\n <stop\n offset={0}\n style={{\n stopOpacity: 1,\n stopColor: '#ff4e00',\n }}\n />\n <stop\n offset={1}\n style={{\n stopOpacity: 1,\n stopColor: '#ff1791',\n }}\n />\n </linearGradient>\n <linearGradient\n id={d}\n spreadMethod=\"pad\"\n gradientTransform=\"matrix(523.66766 0 0 -523.66766 67.897 159.5)\"\n gradientUnits=\"userSpaceOnUse\"\n y2={0}\n x2={1}\n y1={0}\n x1={0}\n >\n <stop\n offset={0}\n style={{\n stopOpacity: 1,\n stopColor: '#ff4e00',\n }}\n />\n <stop\n offset={1}\n style={{\n stopOpacity: 1,\n stopColor: '#ff1791',\n }}\n />\n </linearGradient>\n <linearGradient\n id={g}\n spreadMethod=\"pad\"\n gradientTransform=\"rotate(180 296.075 79.75) scale(524.84045)\"\n gradientUnits=\"userSpaceOnUse\"\n y2={0}\n x2={1}\n y1={0}\n x1={0}\n >\n <stop\n offset={0}\n style={{\n stopOpacity: 1,\n stopColor: '#ff4e00',\n }}\n />\n <stop\n offset={1}\n style={{\n stopOpacity: 1,\n stopColor: '#ff1791',\n }}\n />\n </linearGradient>\n <linearGradient\n id={i}\n spreadMethod=\"pad\"\n gradientTransform=\"matrix(524.84045 0 0 -524.84045 63.801 159.5)\"\n gradientUnits=\"userSpaceOnUse\"\n y2={0}\n x2={1}\n y1={0}\n x1={0}\n >\n <stop\n offset={0}\n style={{\n stopOpacity: 1,\n stopColor: '#ff4e00',\n }}\n />\n <stop\n offset={1}\n style={{\n stopOpacity: 1,\n stopColor: '#ff1791',\n }}\n />\n </linearGradient>\n <linearGradient\n id={j}\n spreadMethod=\"pad\"\n gradientTransform=\"matrix(523.08514 0 0 -523.08514 67.897 224.446)\"\n gradientUnits=\"userSpaceOnUse\"\n y2={0}\n x2={1}\n y1={0}\n x1={0}\n >\n <stop\n offset={0}\n style={{\n stopOpacity: 1,\n stopColor: '#ff4e00',\n }}\n />\n <stop\n offset={1}\n style={{\n stopOpacity: 1,\n stopColor: '#ff1791',\n }}\n />\n </linearGradient>\n <linearGradient\n id={k}\n spreadMethod=\"pad\"\n gradientTransform=\"matrix(524.84045 0 0 -524.84045 63.801 94.553)\"\n gradientUnits=\"userSpaceOnUse\"\n y2={0}\n x2={1}\n y1={0}\n x1={0}\n >\n <stop\n offset={0}\n style={{\n stopOpacity: 1,\n stopColor: '#ff4e00',\n }}\n />\n <stop\n offset={1}\n style={{\n stopOpacity: 1,\n stopColor: '#ff1791',\n }}\n />\n </linearGradient>\n <linearGradient\n id={l}\n spreadMethod=\"pad\"\n gradientTransform=\"matrix(524.84045 0 0 -524.84045 63.801 159.5)\"\n gradientUnits=\"userSpaceOnUse\"\n y2={0}\n x2={1}\n y1={0}\n x1={0}\n >\n <stop\n offset={0}\n style={{\n stopOpacity: 1,\n stopColor: '#ff4e00',\n }}\n />\n <stop\n offset={1}\n style={{\n stopOpacity: 1,\n stopColor: '#ff1791',\n }}\n />\n </linearGradient>\n <linearGradient\n id={m}\n spreadMethod=\"pad\"\n gradientTransform=\"matrix(524.84045 0 0 -524.84045 63.801 94.554)\"\n gradientUnits=\"userSpaceOnUse\"\n y2={0}\n x2={1}\n y1={0}\n x1={0}\n >\n <stop\n offset={0}\n style={{\n stopOpacity: 1,\n stopColor: '#ff4e00',\n }}\n />\n <stop\n offset={1}\n style={{\n stopOpacity: 1,\n stopColor: '#ff1791',\n }}\n />\n </linearGradient>\n <linearGradient\n id={p}\n spreadMethod=\"pad\"\n gradientTransform=\"matrix(521.97632 0 0 -521.97632 69.067 191.973)\"\n gradientUnits=\"userSpaceOnUse\"\n y2={0}\n x2={1}\n y1={0}\n x1={0}\n >\n <stop\n offset={0}\n style={{\n stopOpacity: 1,\n stopColor: '#ff4e00',\n }}\n />\n <stop\n offset={1}\n style={{\n stopOpacity: 1,\n stopColor: '#ff1791',\n }}\n />\n </linearGradient>\n <linearGradient\n id={q}\n spreadMethod=\"pad\"\n gradientTransform=\"matrix(523.09039 0 0 -523.09039 67.312 191.973)\"\n gradientUnits=\"userSpaceOnUse\"\n y2={0}\n x2={1}\n y1={0}\n x1={0}\n >\n <stop\n offset={0}\n style={{\n stopOpacity: 1,\n stopColor: '#ff4e00',\n }}\n />\n <stop\n offset={1}\n style={{\n stopOpacity: 1,\n stopColor: '#ff1791',\n }}\n />\n </linearGradient>\n <linearGradient\n id={r}\n spreadMethod=\"pad\"\n gradientTransform=\"matrix(524.84045 0 0 -524.84045 63.801 159.5)\"\n gradientUnits=\"userSpaceOnUse\"\n y2={0}\n x2={1}\n y1={0}\n x1={0}\n >\n <stop\n offset={0}\n style={{\n stopOpacity: 1,\n stopColor: '#ff4e00',\n }}\n />\n <stop\n offset={1}\n style={{\n stopOpacity: 1,\n stopColor: '#ff1791',\n }}\n />\n </linearGradient>\n <clipPath id={a} clipPathUnits=\"userSpaceOnUse\">\n <path d=\"M0 319h657.706V0H0Z\" />\n </clipPath>\n <clipPath id={b} clipPathUnits=\"userSpaceOnUse\">\n <path d=\"M423.64 242h164.999V77H423.64Z\" />\n </clipPath>\n <clipPath id={e} clipPathUnits=\"userSpaceOnUse\">\n <path d=\"M0 319h657.706V0H0Z\" />\n </clipPath>\n <clipPath id={f} clipPathUnits=\"userSpaceOnUse\">\n <path d=\"M311.3 242h93.031V77H311.3Z\" />\n </clipPath>\n <clipPath id={h} clipPathUnits=\"userSpaceOnUse\">\n <path d=\"M198.96 242h35.106V77H198.96Z\" />\n </clipPath>\n <clipPath id={n} clipPathUnits=\"userSpaceOnUse\">\n <path d=\"M0 319h657.706V0H0Z\" />\n </clipPath>\n <clipPath id={o} clipPathUnits=\"userSpaceOnUse\">\n <path d=\"M69.067 242H169.12V141.947H69.067Z\" />\n </clipPath>\n </defs>\n <g clipPath={`url(#${a})`} transform=\"matrix(1.33333 0 0 -1.33333 0 425.333)\">\n <g\n style={{\n opacity: 0.69999701,\n }}\n clipPath={`url(#${b})`}\n >\n <path\n style={{\n fill: `url(#${c})`,\n stroke: 'none',\n }}\n d=\"M558.674 82.142c6.855-6.855 17.969-6.855 24.824 0 6.854 6.855 6.854 17.969 0 24.823L453.605 236.858c-6.855 6.855-17.969 6.855-24.824 0s-6.855-17.969 0-24.823z\"\n />\n </g>\n </g>\n <path\n style={{\n fill: `url(#${d})`,\n stroke: 'none',\n }}\n d=\"M558.674 236.858 428.781 106.966c-6.855-6.855-6.855-17.969 0-24.825 6.855-6.854 17.969-6.854 24.823 0l129.894 129.894c6.854 6.855 6.854 17.968 0 24.823A17.498 17.498 0 0 1 571.086 242a17.495 17.495 0 0 1-12.412-5.142\"\n transform=\"matrix(1.33333 0 0 -1.33333 0 425.333)\"\n />\n <g clipPath={`url(#${e})`} transform=\"matrix(1.33333 0 0 -1.33333 0 425.333)\">\n <g\n style={{\n opacity: 0.69999701,\n }}\n clipPath={`url(#${f})`}\n >\n <path\n style={{\n fill: `url(#${g})`,\n stroke: 'none',\n }}\n d=\"M328.853 112.107c22.297 0 40.372 18.075 40.372 40.372v71.315c0 10.054 7.505 18.206 17.554 18.206 10.048 0 17.552-8.152 17.552-18.206v-71.315c0-41.686-33.793-75.479-75.478-75.479-9.694 0-17.553 7.859-17.553 17.554 0 9.694 7.859 17.553 17.553 17.553\"\n />\n </g>\n <g\n style={{\n opacity: 0.69999701,\n }}\n clipPath={`url(#${h})`}\n >\n <path\n style={{\n fill: `url(#${i})`,\n stroke: 'none',\n }}\n d=\"M216.513 242c-10.049 0-17.553-8.152-17.553-18.206V95.206c0-10.054 7.504-18.206 17.553-18.206 10.048 0 17.553 8.152 17.553 18.206v128.588c0 10.054-7.505 18.206-17.553 18.206\"\n />\n </g>\n </g>\n <path\n style={{\n fill: `url(#${j})`,\n stroke: 'none',\n }}\n d=\"M369.225 224.447c0-9.694 7.859-17.553 17.553-17.553 9.695 0 17.553 7.859 17.553 17.553s-7.858 17.552-17.553 17.552c-9.694 0-17.553-7.858-17.553-17.552\"\n transform=\"matrix(1.33333 0 0 -1.33333 0 425.333)\"\n />\n <path\n style={{\n fill: `url(#${k})`,\n stroke: 'none',\n }}\n d=\"M553.532 94.554c0-9.695 7.859-17.554 17.553-17.554 9.695 0 17.554 7.859 17.554 17.554 0 9.694-7.859 17.552-17.554 17.552-9.694 0-17.553-7.858-17.553-17.552\"\n transform=\"matrix(1.33333 0 0 -1.33333 0 425.333)\"\n />\n <path\n style={{\n fill: `url(#${l})`,\n stroke: 'none',\n }}\n d=\"M69.067 223.794V95.206C69.067 85.152 76.571 77 86.62 77c10.048 0 17.553 8.152 17.553 18.206v128.588c0 10.055-7.505 18.205-17.553 18.205-10.049 0-17.553-8.15-17.553-18.205\"\n transform=\"matrix(1.33333 0 0 -1.33333 0 425.333)\"\n />\n <path\n style={{\n fill: `url(#${m})`,\n stroke: 'none',\n }}\n d=\"M198.96 94.554c0-9.695 7.859-17.554 17.553-17.554 9.695 0 17.554 7.859 17.554 17.554 0 9.694-7.859 17.553-17.554 17.553-9.694 0-17.553-7.859-17.553-17.553\"\n transform=\"matrix(1.33333 0 0 -1.33333 0 425.333)\"\n />\n <g clipPath={`url(#${n})`} transform=\"matrix(1.33333 0 0 -1.33333 0 425.333)\">\n <g\n style={{\n opacity: 0.69999701,\n }}\n clipPath={`url(#${o})`}\n >\n <path\n style={{\n fill: `url(#${p})`,\n stroke: 'none',\n }}\n d=\"M139.155 147.088c6.855-6.855 17.969-6.855 24.824 0s6.855 17.969 0 24.824l-64.947 64.946c-6.855 6.855-17.969 6.855-24.824 0s-6.855-17.969 0-24.823z\"\n />\n </g>\n </g>\n <path\n style={{\n fill: `url(#${q})`,\n stroke: 'none',\n }}\n d=\"m204.101 236.858-64.947-64.946c-6.854-6.855-6.854-17.969 0-24.824 6.856-6.855 17.97-6.855 24.824 0l64.947 64.947c6.855 6.855 6.855 17.968 0 24.823A17.495 17.495 0 0 1 216.513 242a17.498 17.498 0 0 1-12.412-5.142\"\n transform=\"matrix(1.33333 0 0 -1.33333 0 425.333)\"\n />\n <path\n style={{\n fill: `url(#${r})`,\n stroke: 'none',\n }}\n d=\"M253.374 223.794v-71.315c0-41.685 33.793-75.479 75.479-75.479 9.695 0 17.553 7.859 17.553 17.554 0 9.694-7.858 17.553-17.553 17.553-22.297 0-40.372 18.075-40.372 40.372v71.315c0 10.055-7.505 18.205-17.554 18.205s-17.553-8.15-17.553-18.205\"\n transform=\"matrix(1.33333 0 0 -1.33333 0 425.333)\"\n />\n </svg>\n )\n}\n","import React from 'react'\nimport styled from 'styled-components'\n\nimport MuxLogo from './MuxLogo'\n\nconst Logo = styled.span`\n display: inline-block;\n height: 0.8em;\n margin-right: 1em;\n transform: translate(0.3em, -0.2em);\n`\n\nexport const Header = () => (\n <>\n <Logo>\n <MuxLogo height={13} />\n </Logo>\n API Credentials\n </>\n)\n","import {Box, Flex, Stack, Text} from '@sanity/ui'\nimport React, {memo} from 'react'\n\n// @TODO: get rid of this once v3 core is stable\n\nexport interface Props {\n children: React.ReactNode\n title: React.ReactNode\n description?: React.ReactNode\n inputId: string\n}\n\nfunction FormField(props: Props) {\n const {children, title, description, inputId} = props\n\n return (\n <Stack space={1}>\n <Flex align=\"flex-end\">\n <Box flex={1} paddingY={2}>\n <Stack space={2}>\n <Flex>\n <Text as=\"label\" htmlFor={inputId} weight=\"semibold\" size={1}>\n {title || <em>Untitled</em>}\n </Text>\n\n {description && (\n <Text muted size={1}>\n {description}\n </Text>\n )}\n </Flex>\n </Stack>\n </Box>\n </Flex>\n <div>{children}</div>\n </Stack>\n )\n}\n\nexport default memo(FormField)\n","import {\n Box,\n Button,\n Card,\n Checkbox,\n Code,\n Dialog,\n Flex,\n Inline,\n Stack,\n Text,\n TextInput,\n} from '@sanity/ui'\nimport React, {memo, useCallback, useEffect, useId, useMemo, useRef} from 'react'\nimport {clear, preload} from 'suspend-react'\n\nimport {useClient} from '../hooks/useClient'\nimport type {SetDialogState} from '../hooks/useDialogState'\nimport {useSaveSecrets} from '../hooks/useSaveSecrets'\nimport {useSecretsFormState} from '../hooks/useSecretsFormState'\nimport {cacheNs} from '../util/constants'\nimport {_id as secretsId} from '../util/readSecrets'\nimport type {Secrets} from '../util/types'\nimport {Header} from './ConfigureApi.styled'\nimport FormField from './FormField'\n\nexport interface Props {\n setDialogState: SetDialogState\n secrets: Secrets\n}\nconst fieldNames = ['token', 'secretKey', 'enableSignedUrls'] as const\nfunction ConfigureApi({secrets, setDialogState}: Props) {\n const client = useClient()\n const [state, dispatch] = useSecretsFormState(secrets)\n const hasSecretsInitially = useMemo(() => secrets.token && secrets.secretKey, [secrets])\n const handleClose = useCallback(() => setDialogState(false), [setDialogState])\n const dirty = useMemo(\n () =>\n secrets.token !== state.token ||\n secrets.secretKey !== state.secretKey ||\n secrets.enableSignedUrls !== state.enableSignedUrls,\n [secrets, state]\n )\n const id = `ConfigureApi${useId()}`\n const [tokenId, secretKeyId, enableSignedUrlsId] = useMemo<typeof fieldNames>(\n () => fieldNames.map((field) => `${id}-${field}`) as unknown as typeof fieldNames,\n [id]\n )\n const firstField = useRef<HTMLInputElement>(null)\n const handleSaveSecrets = useSaveSecrets(client, secrets)\n const saving = useRef(false)\n\n const handleSubmit = useCallback(\n (event: React.FormEvent<HTMLFormElement>) => {\n event.preventDefault()\n\n if (!saving.current && event.currentTarget.reportValidity()) {\n saving.current = true\n dispatch({type: 'submit'})\n const {token, secretKey, enableSignedUrls} = state\n handleSaveSecrets({token, secretKey, enableSignedUrls})\n .then((savedSecrets) => {\n const {projectId, dataset} = client.config()\n clear([cacheNs, secretsId, projectId, dataset])\n preload(() => Promise.resolve(savedSecrets), [cacheNs, secretsId, projectId, dataset])\n setDialogState(false)\n })\n .catch((err) => dispatch({type: 'error', payload: err.message}))\n .finally(() => {\n saving.current = false\n })\n }\n },\n [client, dispatch, handleSaveSecrets, setDialogState, state]\n )\n const handleChangeToken = useCallback(\n (event: React.FormEvent<HTMLInputElement>) => {\n dispatch({\n type: 'change',\n payload: {name: 'token', value: event.currentTarget.value},\n })\n },\n [dispatch]\n )\n const handleChangeSecretKey = useCallback(\n (event: React.FormEvent<HTMLInputElement>) => {\n dispatch({\n type: 'change',\n payload: {name: 'secretKey', value: event.currentTarget.value},\n })\n },\n [dispatch]\n )\n const handleChangeEnableSignedUrls = useCallback(\n (event: React.FormEvent<HTMLInputElement>) => {\n dispatch({\n type: 'change',\n payload: {name: 'enableSignedUrls', value: event.currentTarget.checked},\n })\n },\n [dispatch]\n )\n\n useEffect(() => {\n if (firstField.current) {\n firstField.current.focus()\n }\n }, [firstField])\n\n return (\n <Dialog id={id} onClose={handleClose} header={<Header />} width={0}>\n <Box padding={4} style={{position: 'relative'}}>\n <form onSubmit={handleSubmit} noValidate>\n <Stack space={4}>\n {!hasSecretsInitially && (\n <Card padding={[3, 3, 3]} radius={2} shadow={1} tone=\"primary\">\n <Stack space={3}>\n <Text size={1}>\n To set up a new access token, go to your{' '}\n <a\n href=\"https://dashboard.mux.com/settings/access-tokens\"\n target=\"_blank\"\n rel=\"noreferrer noopener\"\n >\n account on mux.com\n </a>\n .\n </Text>\n <Text size={1}>\n The access token needs permissions: <strong>Mux Video </strong>\n (Full Access) and <strong>Mux Data</strong> (Read)\n <br />\n The credentials will be stored safely in a hidden document only available to\n editors.\n </Text>\n </Stack>\n </Card>\n )}\n <FormField title=\"Access Token\" inputId={tokenId}>\n <TextInput\n id={tokenId}\n ref={firstField}\n onChange={handleChangeToken}\n type=\"text\"\n value={state.token ?? ''}\n required={!!state.secretKey || state.enableSignedUrls}\n />\n </FormField>\n <FormField title=\"Secret Key\" inputId={secretKeyId}>\n <TextInput\n id={secretKeyId}\n onChange={handleChangeSecretKey}\n type=\"text\"\n value={state.secretKey ?? ''}\n required={!!state.token || state.enableSignedUrls}\n />\n </FormField>\n\n <Stack space={4}>\n <Flex align=\"center\">\n <Checkbox\n id={enableSignedUrlsId}\n onChange={handleChangeEnableSignedUrls}\n checked={state.enableSignedUrls}\n style={{display: 'block'}}\n />\n <Box flex={1} paddingLeft={3}>\n <Text>\n <label htmlFor={enableSignedUrlsId}>Enable Signed Urls</label>\n </Text>\n </Box>\n </Flex>\n {/* TODO: use a popover instead to avoid jumping around */}\n {secrets.signingKeyId && state.enableSignedUrls ? (\n <Card padding={[3, 3, 3]} radius={2} shadow={1} tone=\"caution\">\n <Stack space={3}>\n <Text size={1}>The signing key ID that Sanity will use is:</Text>\n <Code size={1}>{secrets.signingKeyId}</Code>\n <Text size={1}>\n This key is only used for previewing content in the Sanity UI.\n <br />\n You should generate a different key to use in your application server.\n </Text>\n </Stack>\n </Card>\n ) : null}\n </Stack>\n\n <Inline space={2}>\n <Button\n text=\"Save\"\n disabled={!dirty}\n loading={state.submitting}\n tone=\"primary\"\n mode=\"default\"\n type=\"submit\"\n />\n <Button\n disabled={state.submitting}\n text=\"Cancel\"\n mode=\"bleed\"\n onClick={handleClose}\n />\n </Inline>\n {state.error && (\n <Card padding={[3, 3, 3]} radius={2} shadow={1} tone=\"critical\">\n <Text>{state.error}</Text>\n </Card>\n )}\n </Stack>\n </form>\n </Box>\n </Dialog>\n )\n}\n\nexport default memo(ConfigureApi)\n","/* eslint-disable no-console */\nimport {Button, Card, Flex, Grid, Heading, Inline, Text, useToast} from '@sanity/ui'\nimport React, {memo, useCallback, useRef} from 'react'\nimport scrollIntoView from 'scroll-into-view-if-needed'\nimport {clear} from 'suspend-react'\nimport {useErrorBoundary} from 'use-error-boundary'\n\nimport {name} from '../util/constants'\nimport {type MuxInputProps} from '../util/types'\n\nexport interface Props extends Pick<MuxInputProps, 'schemaType'> {\n children: React.ReactNode\n}\nfunction ErrorBoundaryCard(props: Props) {\n const {children, schemaType} = props\n const {push: pushToast} = useToast()\n const errorRef = useRef(null)\n const {ErrorBoundary, didCatch, error, reset} = useErrorBoundary({\n onDidCatch: (err, errorInfo) => {\n console.group(err.toString())\n console.groupCollapsed('console.error')\n console.error(err)\n console.groupEnd()\n if (err.stack) {\n console.groupCollapsed('error.stack')\n console.log(err.stack)\n console.groupEnd()\n }\n if (errorInfo?.componentStack) {\n console.groupCollapsed('errorInfo.componentStack')\n console.log(errorInfo.componentStack)\n console.groupEnd()\n }\n console.groupEnd()\n pushToast({\n status: 'error',\n title: 'Plugin crashed',\n description: (\n <Flex align=\"center\">\n <Inline space={1}>\n An error happened while rendering\n <Button\n padding={1}\n fontSize={1}\n style={{transform: 'translateY(1px)'}}\n mode=\"ghost\"\n text={schemaType.title}\n onClick={() => {\n if (errorRef.current) {\n scrollIntoView(errorRef.current, {\n behavior: 'smooth',\n scrollMode: 'if-needed',\n block: 'center',\n })\n }\n }}\n />\n </Inline>\n </Flex>\n ),\n })\n },\n })\n const handleRetry = useCallback(() => {\n // Purge request cache before retrying, otherwise the cached errors will rethrow\n clear([name])\n\n reset()\n }, [reset])\n\n if (didCatch) {\n return (\n <Card ref={errorRef} paddingX={[2, 3, 4, 4]} height=\"fill\" shadow={1} overflow=\"auto\">\n <Flex justify=\"flex-start\" align=\"center\" height=\"fill\">\n <Grid columns={1} gap={[2, 3, 4, 4]}>\n <Heading as=\"h1\">\n The <code>{name}</code> plugin crashed\n </Heading>\n {error?.message && (\n <Card padding={3} tone=\"critical\" shadow={1} radius={2}>\n <Text>{error.message}</Text>\n </Card>\n )}\n <Inline>\n <Button onClick={handleRetry} text=\"Retry\" />\n </Inline>\n </Grid>\n </Flex>\n </Card>\n )\n }\n\n return <ErrorBoundary>{children}</ErrorBoundary>\n}\n\nexport default memo(ErrorBoundaryCard)\n","import {Box, Card, Flex, Spinner, Text} from '@sanity/ui'\nimport React from 'react'\nimport styled from 'styled-components'\n\n// This container base container ensures everything uses the same aspect ratio, avoids layout shifts and stuff jumping around\nexport const AspectRatioCard = styled(Card)`\n aspect-ratio: 16 / 9;\n position: relative;\n width: 100%;\n`\n\nexport const InputFallback = () => {\n return (\n <div style={{padding: 1}}>\n <Card\n shadow={1}\n sizing=\"border\"\n style={{aspectRatio: '16/9', width: '100%', borderRadius: '1px'}}\n >\n <Flex align=\"center\" direction=\"column\" height=\"fill\" justify=\"center\">\n <Spinner muted />\n <Box marginTop={3}>\n <Text align=\"center\" muted size={1}>\n Loading…\n </Text>\n </Box>\n </Flex>\n </Card>\n </div>\n )\n}\n","import {PlugIcon} from '@sanity/icons'\nimport {Button, Card, Flex, Grid, Heading, Inline} from '@sanity/ui'\nimport React, {useCallback} from 'react'\n\nimport type {SetDialogState} from '../hooks/useDialogState'\nimport MuxLogo from './MuxLogo'\n\ninterface OnboardProps {\n setDialogState: SetDialogState\n}\n\nexport default function Onboard(props: OnboardProps) {\n const {setDialogState} = props\n const handleOpen = useCallback(() => setDialogState('secrets'), [setDialogState])\n\n return (\n <>\n <div style={{padding: 2}}>\n <Card\n display=\"flex\"\n sizing=\"border\"\n style={{\n aspectRatio: '16/9',\n width: '100%',\n boxShadow: 'var(--card-bg-color) 0 0 0 2px',\n }}\n paddingX={[2, 3, 4, 4]}\n radius={1}\n tone=\"transparent\"\n >\n <Flex justify=\"flex-start\" align=\"center\">\n <Grid columns={1} gap={[2, 3, 4, 4]}>\n <Inline paddingY={1}>\n <div style={{height: '32px'}}>\n <MuxLogo />\n </div>\n </Inline>\n <Inline paddingY={1}>\n <Heading size={[0, 1, 2, 2]}>\n Upload and preview videos directly from your studio.\n </Heading>\n </Inline>\n <Inline paddingY={1}>\n <Button mode=\"ghost\" icon={PlugIcon} text=\"Configure API\" onClick={handleOpen} />\n </Inline>\n </Grid>\n </Flex>\n </Card>\n </div>\n </>\n )\n}\n","import React, {memo, Suspense} from 'react'\n\nimport {useAssetDocumentValues} from '../hooks/useAssetDocumentValues'\nimport {useClient} from '../hooks/useClient'\nimport {useDialogState} from '../hooks/useDialogState'\nimport {useMuxPolling} from '../hooks/useMuxPolling'\nimport {useSecretsDocumentValues} from '../hooks/useSecretsDocumentValues'\nimport type {Config, MuxInputProps} from '../util/types'\nimport Uploader from './__legacy__Uploader'\nimport ConfigureApi from './ConfigureApi'\nimport ErrorBoundaryCard from './ErrorBoundaryCard'\nimport {AspectRatioCard, InputFallback} from './Input.styled'\nimport Onboard from './Onboard'\n\nexport interface InputProps extends MuxInputProps {\n config: Config\n}\nconst Input = (props: InputProps) => {\n const client = useClient()\n const secretDocumentValues = useSecretsDocumentValues()\n const assetDocumentValues = useAssetDocumentValues(props.value?.asset)\n const poll = useMuxPolling(props.readOnly ? undefined : assetDocumentValues?.value || undefined)\n const [dialogState, setDialogState] = useDialogState()\n\n const error = secretDocumentValues.error || assetDocumentValues.error || poll.error /*||\n // @TODO move errored logic to Uploader, where handleRemoveVideo can be called\n (assetDocumentValues.value?.status === 'errored'\n ? new Error(assetDocumentValues.value.data?.errors?.messages?.join(' '))\n : undefined)\n // */\n if (error) {\n // @TODO deal with it more gracefully\n throw error\n }\n const isLoading = secretDocumentValues.isLoading || assetDocumentValues.isLoading\n\n return (\n <AspectRatioCard>\n <ErrorBoundaryCard schemaType={props.schemaType}>\n <Suspense fallback={<InputFallback />}>\n {isLoading ? (\n <InputFallback />\n ) : (\n <>\n {secretDocumentValues.value.needsSetup && !assetDocumentValues.value ? (\n <Onboard setDialogState={setDialogState} />\n ) : (\n <Uploader\n {...props}\n config={props.config}\n onChange={props.onChange}\n client={client}\n secrets={secretDocumentValues.value.secrets}\n asset={assetDocumentValues.value}\n dialogState={dialogState}\n setDialogState={setDialogState}\n needsSetup={secretDocumentValues.value.needsSetup}\n />\n )}\n\n {dialogState === 'secrets' && (\n <ConfigureApi\n setDialogState={setDialogState}\n secrets={secretDocumentValues.value.secrets}\n />\n )}\n </>\n )}\n </Suspense>\n </ErrorBoundaryCard>\n </AspectRatioCard>\n )\n}\n\nexport default memo(Input)\n","import React from 'react'\n\nimport Input from './components/Input'\nimport {VideoThumbnail} from './components/VideoSource.styled'\nimport type {Config, MuxInputProps, VideoAssetDocument} from './util/types'\n\nexport function muxVideoCustomRendering(config: Config) {\n return {\n components: {\n input: (props: MuxInputProps) => <Input config={config} {...props} />,\n },\n preview: {\n select: {\n filename: 'asset.filename',\n playbackId: 'asset.playbackId',\n status: 'asset.status',\n assetId: 'asset.assetId',\n thumbTime: 'asset.thumbTime',\n data: 'asset.data',\n },\n prepare: (asset: Partial<VideoAssetDocument>) => {\n const {filename, playbackId, status} = asset\n return {\n title: filename || playbackId || '',\n subtitle: status ? `status: ${status}` : null,\n media: asset.playbackId ? <VideoThumbnail asset={asset} width={64} /> : null,\n }\n },\n },\n }\n}\n","export const muxVideo = {\n name: 'mux.video',\n type: 'object',\n title: 'Video asset reference',\n fields: [\n {\n title: 'Video',\n name: 'asset',\n type: 'reference',\n weak: true,\n to: [{type: 'mux.videoAsset'}],\n },\n ],\n}\n\nexport const muxVideoAsset = {\n name: 'mux.videoAsset',\n type: 'object',\n title: 'Video asset',\n fields: [\n {\n type: 'string',\n name: 'status',\n },\n {\n type: 'string',\n name: 'assetId',\n },\n {\n type: 'string',\n name: 'playbackId',\n },\n {\n type: 'string',\n name: 'filename',\n },\n {\n type: 'number',\n name: 'thumbTime',\n },\n ],\n}\n","import {definePlugin} from 'sanity'\n\nimport {muxVideoCustomRendering} from './plugin'\nimport {muxVideo, muxVideoAsset} from './schema'\nimport type {Config} from './util/types'\n\nexport type {VideoAssetDocument} from './util/types'\n\nexport const defaultConfig: Config = {\n mp4_support: 'none',\n}\n\nexport const muxInput = definePlugin<Partial<Config> | void>((userConfig) => {\n const config: Config = {...defaultConfig, ...userConfig}\n return {\n name: 'mux-input',\n schema: {\n types: [\n muxVideoAsset,\n {\n ...muxVideo,\n ...muxVideoCustomRendering(config),\n },\n ],\n },\n }\n})\n"],"names":["path","useAssetDocumentValues","asset","useDocumentValues","isReference","_ref","useClient","useSanityClient","apiVersion","useDialogState","useState","useMuxPolling","_a","_b","client","projectId","useProjectId","dataset","useDataset","shouldFetch","useMemo","assetId","status","data","static_renditions","useSWR","default","concat","request","url","withCredentials","method","patch","_id","set","commit","returnDocuments","refreshInterval","refreshWhenHidden","dedupingInterval","name","cacheNs","muxSecretsDocumentId","useSecretsDocumentValues","error","isLoading","value","cache","exists","Boolean","secrets","token","secretKey","enableSignedUrls","signingKeyId","signingKeyPrivate","isInitialSetup","needsSetup","createUpChunkObservable","uuid","uploadUrl","source","Observable","subscriber","upchunk","UpChunk","createUpload","endpoint","file","dynamicChunkSize","successHandler","next","type","id","complete","errorHandler","Error","detail","message","progressHandler","percent","offlineHandler","pause","onlineHandler","resume","on","abort","deleteAsset","config","getAsset","saveSecrets","doc","_type","createOrReplace","createSigningKeys","testSecrets","haveValidSigningKeys","res","e","console","testSecretsObservable","defer","observable","cancelUpload","options","arguments","length","undefined","testUrl","pipe","switchMap","validUrl","of","json","throwError","generateUuid","muxBody","input","playback_policy","mp4_support","query","JSON","stringify","filename","split","slice","headers","mergeMap","result","results","document","uploadFile","testFile","fileOptions","body","upload","event","from","updateAssetDocumentFromUpload","catchError","err","mergeMapTo","getUpload","pollUpload","maxTries","pollInterval","tries","Promise","resolve","reject","setInterval","asset_id","clearInterval","playbackId","playback_ids","uploadId","then","window","File","optionsFromFile","parsed","URL","protocol","match","opts","preserveFilename","extractDroppedFiles","dataTransfer","files","Array","items","normalizeItems","arr","flat","all","map","item","kind","webkitGetAsEntry","entry","getAsFile","isDirectory","walk","getAsString","str","isFile","dir","createReader","readEntries","entries","filter","entr","startsWith","readSecrets","suspend","fetch","generateJwt","aud","payload","TypeError","sign","parse","_","v","atob","algorithm","keyid","audience","subject","noTimestamp","expiresIn","getPlaybackId","getPlaybackPolicy","_c","_d","policy","getAnimatedPosterSrc","height","width","start","thumbTime","Math","max","end","fps","params","searchParams","URLSearchParams","getPosterSrc","_ref2","fit_mode","time","mediaDimensions","aspect","ImageLoader","memo","ImageLoader2","_ref3","alt","src","aspectRatio","img","Image","decoding","decode","jsx","style","VideoMediaPreview","styled","MediaPreview","_templateObject","_taggedTemplateLiteral","VideoMediaPreviewSignedSubtitle","_ref4","solo","jsxs","Inline","space","marginTop","marginBottom","children","LockIcon","PosterImage","_ref5","showTip","subtitle","title","media","VideoThumbnail","VideoThumbnail2","_ref6","ErrorBoundary","didCatch","useErrorBoundary","round","Card","radius","position","Box","display","justifyContent","alignItems","top","left","right","bottom","UnknownIcon","Suspense","fallback","isPlaceholder","AnimatedVideoMediaPreview","_templateObject2","AnimatedPosterImage","_ref7","withBorder","AnimatedVideoThumbnail","AnimatedVideoThumbnail2","_ref8","FancyBackdrop","Spinner","muted","tone","_templateObject3","ThumbGrid","Grid","_templateObject4","CardLoadMore","_templateObject5","AssetActionsMenu","props","useId","dialogState","setDialogState","open","setOpen","menuElement","setMenuRef","handleDelete","useCallback","handleClick","handleClose","useEffect","useClickOutside","Fragment","MenuButton","button","Button","icon","EllipsisVerticalIcon","mode","onClick","padding","menu","Menu","ref","MenuItem","TrashIcon","text","portal","placement","DeleteDialog","onClose","push","pushToast","useToast","deleting","setDeleting","deleteOnMux","setDeleteOnMux","getDevicePixelRatio","maxDpr","delete","querySelector","parentElement","setAttribute","call","closable","description","duration","Dialog","header","footer","gap","columns","loading","Stack","paddingX","paddingY","Flex","gridColumn","align","as","Checkbox","checked","onChange","prev","Text","margin","disabled","VideoSource","assets","isLastPage","onSelect","onLoadMore","_ref9","currentTarget","handleKeyPress","key","VideoSourceItem","onKeyPress","justify","direction","DownloadIcon","_VideoSourceItem","_ref10","hover","setHover","useRef","useLayoutEffect","current","animate","opacity","tabIndex","lineHeight","__unstable_focusRing","onMouseEnter","onMouseLeave","AnimateWrapper","ActionsAssetsContainer","_templateObject6","div","_templateObject7","PER_PAGE","createQuery","SelectAssets","_ref11","pageNoRef","setLastPage","setLoading","setAssets","fetchPage","pageNo","finally","handleSelect","selected","find","PatchEvent","setIfMissing","_weak","handleLoadMore","InputBrowser","_ref12","scheme","__unstable_autoFocus","SelectAsset","b","Symbol","for","c","d","f","g","h","k","l","m","n","p","q","t","u","a","r","$$typeof","reactIs_production_min","ContextConsumer","Element","ForwardRef","Lazy","Memo","Portal","StrictMode","SuspenseList","isAsyncMode","isContextConsumer","isContextProvider","isElement","isForwardRef","isFragment","isLazy","isMemo","isPortal","isStrictMode","isSuspense","isSuspenseList","isValidElementType","getModuleId","typeOf","process","env","NODE_ENV","REACT_ELEMENT_TYPE","REACT_PORTAL_TYPE","REACT_FRAGMENT_TYPE","REACT_STRICT_MODE_TYPE","REACT_PROFILER_TYPE","REACT_PROVIDER_TYPE","REACT_CONTEXT_TYPE","REACT_SERVER_CONTEXT_TYPE","REACT_FORWARD_REF_TYPE","REACT_SUSPENSE_TYPE","REACT_SUSPENSE_LIST_TYPE","REACT_MEMO_TYPE","REACT_LAZY_TYPE","REACT_OFFSCREEN_TYPE","enableScopeAPI","enableCacheElement","enableTransitionTracing","enableLegacyHidden","enableDebugTracing","REACT_MODULE_REFERENCE","object","$$typeofType","ContextProvider","Profiler","hasWarnedAboutDeprecatedIsAsyncMode","hasWarnedAboutDeprecatedIsConcurrentMode","isConcurrentMode","isProfiler","reactIs_development","module","exports","require$$0","require$$1","focusRingBorderStyle","border","color","focusRingStyle","base","focusRing","focusRingOutsetWidth","offset","focusRingInsetWidth","bgColor","bg","join","FileButton","_ref13","theme","sanity","css","_templateObject8","FileInputMenuItem","React","forwardRef","forwardedRef","idProp","accept","capture","fontSize","multiple","textAlign","rest","idHook","handleChange","target","content","marginRight","size","isValidElement","createElement","textOverflow","htmlFor","LockCard","_templateObject9","LockButton","_templateObject10","PlayerActionsMenu","readOnly","onUpload","isSigned","onReset","unset","Tooltip","EditIcon","Popover","Label","UploadIcon","SearchIcon","MenuDivider","PlugIcon","ResetIcon","withFocusRing","component","$border","_templateObject11","rem","ctrlKey","cmdKey","UploadCardWithFocusRing","UploadCard","_ref14","onPaste","onDrop","onDragEnter","onDragLeave","onDragOver","ctrlDown","inputRef","handleKeyDown","keyCode","vKey","focus","handleKeyUp","shadow","onKeyDown","onKeyUp","HiddenInput","attrs","_templateObject12","_templateObject13","label","_templateObject14","FileInputButton","_ref15","inputId","handleButtonClick","click","_templateObject15","ConfigureApiBox","_templateObject16","UploadPlaceholder","hovering","handleBrowse","handleConfigureApi","sizing","borderColor","flex","DocumentVideoIcon","CardWrapper","_templateObject17","FlexWrapper","_templateObject18","LeftSection","_templateObject19","CodeWrapper","Code","_templateObject20","UploadProgress","_ref16","progress","onCancel","LinearProgress","Player","lazy","require","MuxVideoInputUploader","Component","constructor","state","isDraggingOver","invalidPaste","invalidFile","uploadProgress","fileInfo","dragEnteredEls","container","createRef","handleProgress","evt","setState","takeUntil","onCancelUploadButtonClick$","tap","subscribe","handleUploadEvent","handleUploadSuccess","handlePaste","clipboardData","getData","sEvent","toLowerCase","setTimeout","handleDrop","preventDefault","stopPropagation","nativeEvent","handleDragOver","handleDragEnter","handleDragLeave","idx","indexOf","splice","componentWillUnmount","unSubscribeToUpload","componentDidMount","events$","Subject","asObservable","handleCancelUploadButtonClick","closed","unsubscribe","render","buttons","useSaveSecrets","_ref17","valid","hasValidSigningKeys","private_key","log","init","_ref18","submitting","reducer","action","useSecretsFormState","useReducer","ids","MuxLogo","_ref19","titleId","i","j","o","field","role","xmlns","xmlSpace","viewBox","spreadMethod","gradientTransform","gradientUnits","y2","x2","y1","x1","stopOpacity","stopColor","clipPathUnits","clipPath","transform","fill","stroke","Logo","span","_templateObject21","Header","FormField","weight","fieldNames","ConfigureApi","_ref20","dispatch","hasSecretsInitially","dirty","tokenId","secretKeyId","enableSignedUrlsId","firstField","handleSaveSecrets","saving","handleSubmit","reportValidity","savedSecrets","clear","secretsId","preload","catch","handleChangeToken","handleChangeSecretKey","handleChangeEnableSignedUrls","onSubmit","noValidate","href","rel","TextInput","required","paddingLeft","ErrorBoundaryCard","schemaType","errorRef","reset","onDidCatch","errorInfo","group","toString","groupCollapsed","groupEnd","stack","componentStack","scrollIntoView","behavior","scrollMode","block","handleRetry","overflow","Heading","AspectRatioCard","_templateObject22","InputFallback","borderRadius","Onboard","handleOpen","boxShadow","Input","secretDocumentValues","assetDocumentValues","poll","Uploader","muxVideoCustomRendering","components","preview","select","prepare","muxVideo","fields","weak","to","muxVideoAsset","defaultConfig","muxInput","definePlugin","userConfig","schema","types"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,MAAMA,SAAO,CAAC,SAAA,EAAW,QAAQ,YAAc,EAAA,QAAA,EAAU,aAAa,UAAU,CAAA;AACnE,MAAAC,sBAAA,GAA0BC,KACrC,IAAAC,MAAA,CAAAA,iBAAA,CACEC,MAAAA,CAAAA,WAAY,CAAAF,KAAK,CAAI,GAAAA,KAAA,CAAMG,IAAQ,GAAA,EAAA,EACnCL,MAAA,CACF;ACPK,SAASM,SAAYA,CAAA,EAAA;EAC1B,OAAOC,gBAAgB,CAAA;IAACC,UAAY,EAAA;EAAa,CAAA,CAAA;AACnD;ACCO,SAASC,cAAiBA,CAAA,EAAA;EAC/B,OAAOC,KAAAA,CAAAA,SAAsB,KAAK,CAAA;AACpC;ACAa,MAAAC,aAAA,GAAiBT,KAA+B,IAAA;EAR7D,IAAAU,EAAA,EAAAC,EAAA;EASE,MAAMC,SAASR,SAAU,EAAA;EACzB,MAAMS,YAAYC,MAAAA,CAAAA,YAAa,EAAA;EAC/B,MAAMC,UAAUC,MAAAA,CAAAA,UAAW,EAAA;EAC3B,MAAMC,WAAc,GAAAC,KAAA,CAAAA,OAAA,CAClB,MAAG;IAbP,IAAAR,GAAAC,EAAAA,GAAAA;IAcM,OAAA,CAAC,EAACX,KAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAAA,KAAA,CAAOmB,OACR,CAAA,KAAA,CAAAnB,KAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAAA,KAAA,CAAOoB,YAAW,WAAeT,IAAAA,CAAAA,CAAAA,GAAAA,GAAAA,CAAAD,GAAA,GAAAV,KAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAAA,KAAA,CAAOqB,SAAP,IAAAX,GAAAA,KAAAA,CAAAA,GAAAA,GAAAA,CAAaY,iBAAb,KAAA,IAAA,GAAA,KAAA,CAAA,GAAAX,IAAgCS,MAAW,MAAA,WAAA,CAAA;EAAA,CAAA,EAC/E,CAACpB,KAAO,IAAA,IAAA,GAAA,KAAA,CAAA,GAAAA,KAAA,CAAAmB,OAAA,EAAA,CAASR,EAAO,GAAA,CAAAD,EAAA,GAAAV,KAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAAA,KAAA,CAAAqB,IAAA,KAAP,mBAAaC,iBAAb,KAAA,IAAA,GAAA,KAAA,CAAA,GAAAX,EAAA,CAAgCS,MAAQ,EAAApB,KAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAAA,KAAA,CAAOoB,MAAM,CAAA,CACxE;EACO,OAAAG,eAAA,CAAAC,OAAA,CACLP,WAAc,OAAAQ,MAAA,CAAIZ,SAA+B,yBAAAY,MAAA,CAAAV,OAAA,YAAAU,MAAA,CAAgBzB,+BAAOmB,OAAY,IAAA,IAAA,EACpF,YAAY;IACV,MAAM;MAACE;IAAA,CAAQ,GAAA,MAAMT,OAAOc,OAA0B,CAAA;MACpDC,GAAA,wBAAAF,MAAA,CAA2BV,OAAA,YAAAU,MAAA,CAAgBzB,KAAO,CAAAmB,OAAA,CAAA;MAClDS,eAAiB,EAAA,IAAA;MACjBC,MAAQ,EAAA;IAAA,CACT,CAAA;IACDjB,MAAA,CAAOkB,MAAM9B,KAAO,CAAA+B,GAAI,CAAE,CAAAC,GAAA,CAAI;MAACZ,MAAQ,EAAAC,IAAA,CAAKD,MAAQ;MAAAC;IAAK,CAAA,CAAE,CAAAY,MAAA,CAAO;MAACC,eAAA,EAAiB;KAAM,CAAA;EAC5F,CAAA,EACA;IAACC,eAAiB,EAAA,GAAA;IAAMC,iBAAmB,EAAA,IAAA;IAAMC,kBAAkB;EAAI,CAAA,CACzE;AACF,CAAA;AC9BO,MAAMC,IAAO,GAAA,WAAA;AAGb,MAAMC,OAAU,GAAA,yBAAA;AAEhB,MAAMC,oBAAuB,GAAA,aAAA;ACCpC,MAAM1C,OAAO,CAAC,OAAA,EAAS,WAAa,EAAA,kBAAA,EAAoB,gBAAgB,mBAAmB,CAAA;AACpF,MAAM2C,2BAA2BA,CAAA,KAAM;EAC5C,MAAM;IAACC,KAAA;IAAOC,SAAW;IAAAC;EAAS,CAAA,GAAA3C,MAAA,CAAAA,iBAAA,CAChCuC,oBAAA,EACA1C,IAAA,CACF;EACM,MAAA+C,KAAA,GAAQ3B,KAAAA,CAAAA,QAAQ,MAAM;IACpB,MAAA4B,MAAA,GAASC,QAAQH,KAAK,CAAA;IAC5B,MAAMI,OAAmB,GAAA;MACvBC,KAAA,EAAA,CAAOL,+BAAOK,KAAS,KAAA,IAAA;MACvBC,SAAA,EAAA,CAAWN,+BAAOM,SAAa,KAAA,IAAA;MAC/BC,gBAAA,EAAA,CAAkBP,+BAAOO,gBAAoB,KAAA,KAAA;MAC7CC,YAAA,EAAA,CAAcR,+BAAOQ,YAAgB,KAAA,IAAA;MACrCC,iBAAA,EAAA,CAAmBT,+BAAOS,iBAAqB,KAAA;IAAA,CACjD;IACO,OAAA;MACLC,gBAAgB,CAACR,MAAA;MACjBS,UAAY,EAAA,EAACP,OAAS,IAAA,IAAA,GAAA,KAAA,CAAA,GAAAA,OAAA,CAAAC,KAAA,CAAA,IAAS,EAACD,OAAS,IAAA,IAAA,GAAA,KAAA,CAAA,GAAAA,OAAA,CAAAE,SAAA,CAAA;MACzCF;IAAA,CACF;EAAA,CACF,EAAG,CAACJ,KAAK,CAAC,CAAA;EAEV,OAAO;IAACF,KAAA;IAAOC,SAAW;IAAAC,KAAA,EAAOC;EAAK,CAAA;AACxC,CAAA;AC1BgB,SAAAW,uBAAAA,CAAwBC,IAAc,EAAAC,SAAA,EAAmBC,MAAc,EAAA;EAC9E,OAAA,IAAIC,IAAAA,CAAAA,UAAW,CAACC,UAAe,IAAA;IAC9B,MAAAC,OAAA,GAAUC,mBAAQC,YAAa,CAAA;MACnCC,QAAU,EAAAP,SAAA;MACVQ,IAAM,EAAAP,MAAA;MACNQ,gBAAkB,EAAA;MAAA;IAAA,CACnB,CAAA;;IAED,MAAMC,iBAAiBA,CAAA,KAAM;MAC3BP,UAAA,CAAWQ,IAAK,CAAA;QACdC,IAAM,EAAA,SAAA;QACNC,EAAI,EAAAd;MAAA,CACL,CAAA;MACDI,UAAA,CAAWW,QAAS,EAAA;IAAA,CACtB;IAEM,MAAAC,YAAA,GAAgBpD,IAAA,IAAsBwC,UAAW,CAAAnB,KAAA,CAAM,IAAIgC,KAAM,CAAArD,IAAA,CAAKsD,MAAO,CAAAC,OAAO,CAAC,CAAA;IAErF,MAAAC,eAAA,GAAmBxD,IAAsB,IAAA;MACtC,OAAAwC,UAAA,CAAWQ,KAAK;QAACC,IAAA,EAAM;QAAYQ,OAAS,EAAAzD,IAAA,CAAKsD;OAAO,CAAA;IAAA,CACjE;IAEA,MAAMI,iBAAiBA,CAAA,KAAM;MAC3BjB,OAAA,CAAQkB,KAAM,EAAA;MACdnB,UAAA,CAAWQ,IAAK,CAAA;QACdC,IAAM,EAAA,OAAA;QACNC,EAAI,EAAAd;MAAA,CACL,CAAA;IAAA,CACH;IAEA,MAAMwB,gBAAgBA,CAAA,KAAM;MAC1BnB,OAAA,CAAQoB,MAAO,EAAA;MACfrB,UAAA,CAAWQ,IAAK,CAAA;QACdC,IAAM,EAAA,QAAA;QACNC,EAAI,EAAAd;MAAA,CACL,CAAA;IAAA,CACH;IAEQK,OAAA,CAAAqB,EAAA,CAAG,WAAWf,cAAc,CAAA;IAC5BN,OAAA,CAAAqB,EAAA,CAAG,SAASV,YAAY,CAAA;IACxBX,OAAA,CAAAqB,EAAA,CAAG,YAAYN,eAAe,CAAA;IAC9Bf,OAAA,CAAAqB,EAAA,CAAG,WAAWJ,cAAc,CAAA;IAC5BjB,OAAA,CAAAqB,EAAA,CAAG,UAAUF,aAAa,CAAA;IAE3B,OAAA,MAAMnB,QAAQsB,KAAM,EAAA;EAAA,CAC5B,CAAA;AACH;AC7CgB,SAAAC,WAAAA,CAAYzE,QAAsBO,OAAiB,EAAA;EACjE,MAAM;IAACJ;EAAA,CAAW,GAAAH,MAAA,CAAO0E,MAAO,EAAA;EAChC,OAAO1E,OAAOc,OAAc,CAAA;IAC1BC,GAAA,wBAAAF,MAAA,CAA2BV,OAAW,OAAAU,MAAA,CAAAN,OAAA,CAAA;IACtCS,eAAiB,EAAA,IAAA;IACjBC,MAAQ,EAAA;EAAA,CACT,CAAA;AACH;AAEgB,SAAA0D,QAAAA,CAAS3E,QAAsBO,OAAiB,EAAA;EAC9D,MAAM;IAACJ;EAAA,CAAW,GAAAH,MAAA,CAAO0E,MAAO,EAAA;EAChC,OAAO1E,OAAOc,OAA0B,CAAA;IACtCC,GAAA,wBAAAF,MAAA,CAA2BV,OAAgB,YAAAU,MAAA,CAAAN,OAAA,CAAA;IAC3CS,eAAiB,EAAA,IAAA;IACjBC,MAAQ,EAAA;EAAA,CACT,CAAA;AACH;ACPO,SAAS2D,YACd5E,MACA,EAAAqC,KAAA,EACAC,SACA,EAAAC,gBAAA,EACAC,cACAC,iBAC0B,EAAA;EAC1B,MAAMoC,GAAuB,GAAA;IAC3B1D,GAAK,EAAA,aAAA;IACL2D,KAAO,EAAA,YAAA;IACPzC,KAAA;IACAC,SAAA;IACAC,gBAAA;IACAC,YAAA;IACAC;EAAA,CACF;EAEO,OAAAzC,MAAA,CAAO+E,gBAAgBF,GAAG,CAAA;AACnC;AAEO,SAASG,kBAAkBhF,MAAsB,EAAA;EACtD,MAAM;IAACG;EAAA,CAAW,GAAAH,MAAA,CAAO0E,MAAO,EAAA;EAChC,OAAO1E,OAAOc,OAEX,CAAA;IACDC,wCAAiCZ,OAAA,CAAA;IACjCa,eAAiB,EAAA,IAAA;IACjBC,MAAQ,EAAA;EAAA,CACT,CAAA;AACH;AAEO,SAASgE,YAAYjF,MAAsB,EAAA;EAChD,MAAM;IAACG;EAAA,CAAW,GAAAH,MAAA,CAAO0E,MAAO,EAAA;EAChC,OAAO1E,OAAOc,OAA2B,CAAA;IACvCC,mCAA4BZ,OAAA,UAAA;IAC5Ba,eAAiB,EAAA,IAAA;IACjBC,MAAQ,EAAA;EAAA,CACT,CAAA;AACH;AAEsB,eAAAiE,oBAAAA,CACpBlF,MACA,EAAAwC,YAAA,EACAC,iBACA,EAAA;EACI,IAAA,EAAED,gBAAgBC,iBAAoB,CAAA,EAAA;IACjC,OAAA,KAAA;EACT;EAEA,MAAM;IAACtC;EAAA,CAAW,GAAAH,MAAA,CAAO0E,MAAO,EAAA;EAC5B,IAAA;IACI,MAAAS,GAAA,GAAM,MAAMnF,MAAA,CAAOc,OAAkD,CAAA;MACzEC,GAAA,8BAAAF,MAAA,CAAiCV,OAAW,OAAAU,MAAA,CAAA2B,YAAA,CAAA;MAC5CxB,eAAiB,EAAA,IAAA;MACjBC,MAAQ,EAAA;IAAA,CACT,CAAA;IAID,OAAO,CAAC,EAAEkE,GAAI,CAAA1E,IAAA,IAAQ0E,IAAI1E,IAAK,CAAAkD,EAAA,CAAA;WACxByB,CAAP,EAAA;IACQC,OAAA,CAAAvD,KAAA,CAAM,6BAA+B,EAAAU,YAAA,EAAc,0BAA0B,CAAA;IAC9E,OAAA,KAAA;EACT;AACF;AAEO,SAAS8C,sBAAsBtF,MAAsB,EAAA;EAC1D,MAAM;IAACG;EAAA,CAAW,GAAAH,MAAA,CAAO0E,MAAO,EAAA;EACzB,OAAAa,IAAA,CAAAA,KAAA,CAAM,MACXvF,MAAO,CAAAwF,UAAA,CAAW1E,OAA2B,CAAA;IAC3CC,mCAA4BZ,OAAA,UAAA;IAC5Ba,eAAiB,EAAA,IAAA;IACjBC,MAAQ,EAAA;EAAA,CACT,CAAA,CACH;AACF;AC9EgB,SAAAwE,YAAAA,CAAazF,QAAsB6C,IAAc,EAAA;EACxD,OAAA7C,MAAA,CAAOwF,WAAW1E,OAAQ,CAAA;IAC/BC,GAAK,yBAAAF,MAAA,CAAuBb,MAAO,CAAA0E,MAAA,GAASvE,OAAW,OAAAU,MAAA,CAAAgC,IAAA,CAAA;IACvD7B,eAAiB,EAAA,IAAA;IACjBC,MAAQ,EAAA;EAAA,CACT,CAAA;AACH;AAEO,SAAS6B,UACd4B,MACA,EAAA1E,MAAA,EACAe,GACA,EACA;EAAA,IADA2E,OAAA,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAwC,CAAA,CACxC;EACO,OAAAG,OAAA,CAAQ/E,GAAG,CAAE,CAAAgF,IAAA,CAClBC,SAAA,CAAAA,SAAA,CAAWC,QAAa,IAAA;IACf,OAAApF,IAAA,CAAAA,MAAA,CACLqF,IAAAA,CAAAA,GAAG;MAACxC,IAAA,EAAM,KAAO;MAAA3C,GAAA,EAAKkF;KAAS,CAAA,EAC/BX,qBAAA,CAAsBtF,MAAM,CAAE,CAAA+F,IAAA,CAC5BC,SAAA,CAAAA,SAAA,CAAWG,IAAS,IAAA;MAClB,IAAI,CAACA,IAAA,IAAQ,CAACA,IAAA,CAAK3F,MAAQ,EAAA;QACzB,OAAO4F,eAAW,CAAA,IAAItC,KAAM,CAAA,qBAAqB,CAAC,CAAA;MACpD;MACA,MAAMjB,SAAOwD,IAAAA,CAAAA,IAAa,EAAA;MACpB,MAAA;QAAC9D;MAAoB,CAAA,GAAAmD,OAAA;MAC3B,MAAMY,OAAU,GAAA;QACdC,KAAO,EAAAN,QAAA;QACPO,eAAiB,EAAA,CAACjE,gBAAmB,GAAA,QAAA,GAAW,QAAQ,CAAA;QACxDkE,aAAa/B,MAAO,CAAA+B;MAAA,CACtB;MACA,MAAMC,KAAQ,GAAA;QACZJ,OAAA,EAASK,IAAK,CAAAC,SAAA,CAAUN,OAAO,CAAA;QAC/BO,QAAA,EAAUZ,SAASa,KAAM,CAAA,GAAG,EAAEC,KAAM,CAAA,CAAA,CAAE,EAAE,CAAC;MAAA,CAC3C;MAEM,MAAA5G,OAAA,GAAUH,MAAO,CAAA0E,MAAA,EAAS,CAAAvE,OAAA;MACzB,OAAAoF,IAAA,CAAAA,KAAA,CAAM,MACXvF,MAAO,CAAAwF,UAAA,CAAW1E,OAAQ,CAAA;QACxBC,kCAA2BZ,OAAA,CAAA;QAC3Ba,eAAiB,EAAA,IAAA;QACjBC,MAAQ,EAAA,MAAA;QACR+F,OAAS,EAAA;UACP,gBAAkB,EAAAnE,MAAA;UAClB,cAAgB,EAAA;QAClB,CAAA;QACA6D;MAAA,CACD,CAAA,CACD,CAAAX,IAAA,CACAkB,SAAA,CAAAA,QAAA,CAAUC,MAAW,IAAA;QACnB,MAAM9H,KACH,GAAA8H,MAAA,IAAUA,MAAO,CAAAC,OAAA,IAAWD,MAAO,CAAAC,OAAA,CAAQ,CAAC,CAAA,IAAKD,MAAO,CAAAC,OAAA,CAAQ,CAAC,CAAA,CAAEC,QACpE,IAAA,IAAA;QAEF,IAAI,CAAChI,KAAO,EAAA;UACV,OAAOgH,eAAW,CAAA,IAAItC,KAAM,CAAA,4BAA4B,CAAC,CAAA;QAC3D;QACA,OAAOoC,IAAAA,CAAAA,GAAG;UAACxC,IAAA,EAAM;UAAWC,EAAI,EAAAd,MAAA;UAAMzD;SAAM,CAAA;MAAA,CAC7C,CAAA,CACH;IAAA,CACD,CAAA,CACH,CACF;EAAA,CACD,CAAA,CACH;AACF;AAEO,SAASiI,WACd3C,MACA,EAAA1E,MAAA,EACAsD,IACA,EACA;EAAA,IADAoC,OAAA,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAwC,CAAA,CACxC;EACO,OAAA2B,QAAA,CAAShE,IAAI,CAAE,CAAAyC,IAAA,CACpBC,SAAA,CAAAA,SAAA,CAAWuB,WAAgB,IAAA;IAClB,OAAA1G,IAAA,CAAAA,MAAA,CACLqF,IAAAA,CAAAA,GAAG;MAACxC,IAAA,EAAM,MAAQ;MAAAJ,IAAA,EAAMiE;KAAY,CAAA,EACpCjC,qBAAA,CAAsBtF,MAAM,CAAE,CAAA+F,IAAA,CAC5BC,SAAA,CAAAA,SAAA,CAAWG,IAAS,IAAA;MAClB,IAAI,CAACA,IAAA,IAAQ,CAACA,IAAA,CAAK3F,MAAQ,EAAA;QACzB,OAAO4F,eAAW,CAAA,IAAItC,KAAM,CAAA,qBAAqB,CAAC,CAAA;MACpD;MACA,MAAMjB,SAAOwD,IAAAA,CAAAA,IAAa,EAAA;MACpB,MAAA;QAAC9D;MAAoB,CAAA,GAAAmD,OAAA;MAC3B,MAAM8B,IAAO,GAAA;QACXf,aAAa/B,MAAO,CAAA+B,WAAA;QACpBD,eAAiB,EAAA,CAACjE,gBAAmB,GAAA,QAAA,GAAW,QAAQ;MAAA,CAC1D;MAEO,OAAA1B,IAAA,CAAAA,MAAA,CACLqF,IAAAA,CAAAA,EAAG,CAAA;QAACxC,IAAM,EAAA,MAAA;QAAAb,IAAA,EAAQA;OAAK,CAAA,EACvB0C,IAAA,CAAAA,KAAA,CAAM,MACJvF,MAAO,CAAAwF,UAAA,CAAW1E,OAcf,CAAA;QACDC,GAAK,yBAAAF,MAAA,CAAuBb,MAAO,CAAA0E,MAAA,EAAS,CAAAvE,OAAA,CAAA;QAC5Ca,eAAiB,EAAA,IAAA;QACjBC,MAAQ,EAAA,MAAA;QACR+F,OAAS,EAAA;UACP,gBAAkB,EAAAnE,MAAA;UAClB,cAAgB,EAAA;QAClB,CAAA;QACA2E;MAAA,CACD,CAAA,CACD,CAAAzB,IAAA,CACAkB,SAAA,CAAAA,QAAA,CAAUC,MAAW,IAAA;QACnB,OAAOtE,wBAAwBC,MAAM,EAAAqE,MAAA,CAAOO,MAAO,CAAA1G,GAAA,EAAKuC,IAAI,CAAE,CAAAyC,IAAA;QAAA;QAAA;QAAA;QAI5DkB,SAAA,CAAAA,QAAA,CAAUS,KAAe,IAAA;UACnB,IAAAA,KAAA,CAAMhE,SAAS,SAAW,EAAA;YAC5B,OAAOwC,IAAAA,CAAAA,GAAGwB,KAAK,CAAA;UACjB;UACA,OAAOC,IAAK,CAAAA,IAAA,CAAAC,6BAAA,CAA8B5H,MAAQ,EAAA6C,MAAI,CAAC,CAAE,CAAAkD,IAAA;UAAA;UAEvDkB,kBAAA,CAAUpC,GAAA,IAAQqB,OAAG,CAAA;YAAC,GAAGwB,KAAO;YAAAtI,KAAA,EAAOyF;UAAG,CAAC,CAAC,CAAA,CAC9C;QAAA,CACD,CAAA;QAAA;QAEDgD,SAAA,CAAAA,UAAA,CAAYC,GAAQ,IAAA;UAEX,OAAArC,YAAA,CAAazF,QAAQ6C,MAAI,CAAA,CAAEkD,KAAKgC,SAAAA,CAAAA,UAAW,CAAA3B,IAAA,CAAAA,UAAA,CAAW0B,GAAG,CAAC,CAAC,CAAA;QAAA,CACnE,CAAA,CACH;MAAA,CACD,CAAA,CACH,CACF;IAAA,CACD,CAAA,CACH,CACF;EAAA,CACD,CAAA,CACH;AACF;AAgBgB,SAAAE,SAAAA,CAAUhI,QAAsBO,OAAiB,EAAA;EAC/D,MAAM;IAACJ;EAAA,CAAW,GAAAH,MAAA,CAAO0E,MAAO,EAAA;EAChC,OAAO1E,OAAOc,OAAwB,CAAA;IACpCC,GAAA,yBAAAF,MAAA,CAA4BV,OAAW,OAAAU,MAAA,CAAAN,OAAA,CAAA;IACvCS,eAAiB,EAAA,IAAA;IACjBC,MAAQ,EAAA;EAAA,CACT,CAAA;AACH;AAEA,SAASgH,UAAAA,CAAWjI,QAAsB6C,IAAuC,EAAA;EAC/E,MAAMqF,QAAW,GAAA,EAAA;EACb,IAAAC,YAAA;EACJ,IAAIC,KAAQ,GAAA,CAAA;EACR,IAAA7H,OAAA;EACA,IAAAkH,MAAA;EACJ,OAAO,IAAIY,OAAA,CAAQ,CAACC,OAAA,EAASC,MAAW,KAAA;IACtCJ,YAAA,GAAgBK,YAA0C,YAAY;MAChE,IAAA;QACOf,MAAA,GAAA,MAAMO,SAAU,CAAAhI,MAAA,EAAQ6C,IAAI,CAAA;eAC9BiF,GAAP,EAAA;QACAS,MAAA,CAAOT,GAAG,CAAA;QACV;MACF;MACAvH,OAAA,GAAUkH,MAAU,IAAAA,MAAA,CAAOhH,IAAQ,IAAAgH,MAAA,CAAOhH,IAAK,CAAAgI,QAAA;MAC/C,IAAIlI,OAAS,EAAA;QACXmI,aAAA,CAAcP,YAAY,CAAA;QAC1BG,OAAA,CAAQb,MAAM,CAAA;MAChB;MACA,IAAIW,QAAQF,QAAU,EAAA;QACpBQ,aAAA,CAAcP,YAAY,CAAA;QACnBI,MAAA,CAAA,IAAIzE,KAAM,CAAA,uBAAuB,CAAC,CAAA;MAC3C;MACAsE,KAAA,EAAA;OACC,GAAI,CAAA;EAAA,CACR,CAAA;AACH;AAEA,eAAeR,6BAAAA,CAA8B5H,QAAsB6C,IAAc,EAAA;EAC3E,IAAA4E,MAAA;EACA,IAAArI,KAAA;EACA,IAAA;IACOqI,MAAA,GAAA,MAAMQ,UAAW,CAAAjI,MAAA,EAAQ6C,IAAI,CAAA;WAC/BiF,GAAP,EAAA;IACO,OAAAO,OAAA,CAAQE,OAAOT,GAAG,CAAA;EAC3B;EACI,IAAA;IACF1I,KAAA,GAAQ,MAAMuF,QAAA,CAAS3E,MAAQ,EAAAyH,MAAA,CAAOhH,KAAKgI,QAAQ,CAAA;WAC5CX,GAAP,EAAA;IACO,OAAAO,OAAA,CAAQE,OAAOT,GAAG,CAAA;EAC3B;EAEA,MAAMjD,GAAM,GAAA;IACV1D,GAAK,EAAA0B,IAAA;IACLiC,KAAO,EAAA,gBAAA;IACPtE,MAAA,EAAQpB,MAAMqB,IAAK,CAAAD,MAAA;IACnBC,MAAMrB,KAAM,CAAAqB,IAAA;IACZF,OAAA,EAASnB,MAAMqB,IAAK,CAAAkD,EAAA;IACpBgF,UAAY,EAAAvJ,KAAA,CAAMqB,IAAK,CAAAmI,YAAA,CAAa,CAAC,CAAE,CAAAjF,EAAA;IACvCkF,QAAA,EAAUpB,OAAOhH,IAAK,CAAAkD;EAAA,CACxB;EACA,OAAO3D,MAAO,CAAA+E,eAAA,CAAgBF,GAAG,CAAA,CAAEiE,KAAK,MAAM;IACrC,OAAAjE,GAAA;EAAA,CACR,CAAA;AACH;AAEA,SAASyC,SAAShE,IAAY,EAAA;EAC5B,IAAI,OAAOyF,MAAA,KAAW,WAAe,IAAAzF,IAAA,YAAgByF,OAAOC,IAAM,EAAA;IAChE,MAAMzB,WAAc,GAAA0B,eAAA,CAAgB,CAAC,CAAA,EAAG3F,IAAI,CAAA;IAC5C,OAAO4C,IAAAA,CAAAA,GAAGqB,WAAW,CAAA;EACvB;EACA,OAAOnB,eAAW,CAAA,IAAItC,KAAM,CAAA,cAAc,CAAC,CAAA;AAC7C;AAEA,SAASgC,QAAQ/E,GAAiC,EAAA;EAC1C,MAAAe,KAAA,GAAQ,IAAIgC,KAAA,CAAM,aAAa,CAAA;EACjC,IAAA,OAAO/C,QAAQ,QAAU,EAAA;IAC3B,OAAOqF,IAAAA,CAAAA,WAAWtE,KAAK,CAAA;EACzB;EACI,IAAAoH,MAAA;EACA,IAAA;IACOA,MAAA,GAAA,IAAIC,IAAIpI,GAAG,CAAA;WACb+G,GAAP,EAAA;IACA,OAAO1B,IAAAA,CAAAA,WAAWtE,KAAK,CAAA;EACzB;EACA,IAAIoH,UAAU,CAACA,MAAA,CAAOE,QAAS,CAAAC,KAAA,CAAM,cAAc,CAAG,EAAA;IACpD,OAAOjD,IAAAA,CAAAA,WAAWtE,KAAK,CAAA;EACzB;EACA,OAAOoE,IAAAA,CAAAA,GAAGnF,GAAG,CAAA;AACf;AAEA,SAASkI,eAAAA,CAAgBK,MAAoChG,IAAY,EAAA;EACvE,IAAI,OAAOyF,MAAW,KAAA,WAAA,IAAe,EAAEzF,IAAA,YAAgByF,OAAOC,IAAO,CAAA,EAAA;IAC5D,OAAAM,IAAA;EACT;EACO,OAAA;IACL5H,IAAM,EAAA4H,IAAA,CAAKC,gBAAqB,KAAA,KAAA,GAAQ,SAAYjG,IAAK,CAAA5B,IAAA;IACzDgC,MAAMJ,IAAK,CAAAI;EAAA,CACb;AACF;ACvQO,SAAS8F,oBAAoBC,YAA4B,EAAA;EAC9D,MAAMC,QAAQC,KAAM,CAAAhC,IAAA,CAAK8B,YAAa,CAAAC,KAAA,IAAS,EAAE,CAAA;EACjD,MAAME,QAAQD,KAAM,CAAAhC,IAAA,CAAK8B,YAAa,CAAAG,KAAA,IAAS,EAAE,CAAA;EAC7C,IAAAF,KAAA,IAASA,KAAM,CAAA9D,MAAA,GAAS,CAAG,EAAA;IACtB,OAAAyC,OAAA,CAAQC,QAAQoB,KAAK,CAAA;EAC9B;EACO,OAAAG,cAAA,CAAeD,KAAK,CAAE,CAAAd,IAAA,CAAMgB,GAAQ,IAAAA,GAAA,CAAIC,MAAM,CAAA;AACvD;AAEA,SAASF,eAAeD,KAA2B,EAAA;EACjD,OAAOvB,OAAQ,CAAA2B,GAAA,CACbJ,KAAA,CAAMK,GAAI,CAACC,IAAS,IAAA;IAElB,IAAIA,IAAK,CAAAC,IAAA,KAAS,MAAU,IAAAD,IAAA,CAAKE,gBAAkB,EAAA;MAC7C,IAAAC,KAAA;MAEA,IAAA;QACFA,KAAA,GAAQH,KAAKE,gBAAiB,EAAA;eACvBtC,GAAP,EAAA;QACO,OAAA,CAACoC,IAAK,CAAAI,SAAA,EAAW,CAAA;MAC1B;MACA,IAAI,CAACD,KAAO,EAAA;QACV,OAAO,EAAC;MACV;MACO,OAAAA,KAAA,CAAME,cAAcC,IAAK,CAAAH,KAAK,IAAI,CAACH,IAAA,CAAKI,WAAW,CAAA;IAC5D;IAGI,IAAAJ,IAAA,CAAKC,SAAS,MAAQ,EAAA;MAClB,MAAA7G,IAAA,GAAO4G,KAAKI,SAAU,EAAA;MAC5B,OAAOjC,QAAQC,OAAQ,CAAAhF,IAAA,GAAO,CAACA,IAAI,CAAA,GAAI,EAAE,CAAA;IAC3C;IAGO,OAAA,IAAI+E,QAASC,OAAA,IAAY4B,KAAKO,WAAY,CAAAnC,OAAO,CAAC,CAAE,CAAAQ,IAAA,CAAM4B,GAC/D,IAAAA,GAAA,GAAM,CAAC,IAAI1B,KAAK,CAAC0B,GAAG,CAAG,EAAA,aAAA,EAAe;MAAChH,IAAM,EAAAwG,IAAA,CAAKxG;IAAK,CAAA,CAAC,IAAI,EAAC,CAC/D;EAAA,CACD,CAAA,CACH;AACF;AAEA,SAASiH,OAAON,KAAsD,EAAA;EACpE,OAAOA,KAAM,CAAAM,MAAA;AACf;AACA,SAASJ,YAAYF,KAA2D,EAAA;EAC9E,OAAOA,KAAM,CAAAE,WAAA;AACf;AAEA,SAASC,KAAKH,KAA6B,EAAA;EACrC,IAAAM,MAAA,CAAON,KAAK,CAAG,EAAA;IACjB,OAAO,IAAIhC,OAAA,CAASC,OAAA,IAAY+B,MAAM/G,IAAK,CAAAgF,OAAO,CAAC,CAAA,CAAEQ,IAAK,CAACxF,IAAS,IAAA,CAACA,IAAI,CAAC,CAAA;EAC5E;EAEI,IAAAiH,WAAA,CAAYF,KAAK,CAAG,EAAA;IAChB,MAAAO,GAAA,GAAMP,MAAMQ,YAAa,EAAA;IAC/B,OAAO,IAAIxC,OAAa,CAACC,WAAYsC,GAAI,CAAAE,WAAA,CAAYxC,OAAO,CAAC,CAAA,CAC1DQ,IAAK,CAACiC,WAA+BA,OAAQ,CAAAC,MAAA,CAAQC,IAAS,IAAA,CAACA,KAAKvJ,IAAK,CAAAwJ,UAAA,CAAW,GAAG,CAAC,CAAC,CACzF,CAAApC,IAAA,CAAMiC,OAAY,IAAA1C,OAAA,CAAQ2B,IAAIe,OAAQ,CAAAd,GAAA,CAAIO,IAAI,CAAC,EAAE1B,IAAK,CAACgB,OAAQA,GAAI,CAAAC,IAAA,EAAM,CAAC,CAAA;EAC/E;EACO,OAAA1B,OAAA,CAAQC,OAAQ,CAAA,EAAE,CAAA;AAC3B;ACtDO,MAAMnH,GAAM,GAAA,aAAA;AAEZ,SAASgK,YAAYnL,MAA+B,EAAA;EACzD,MAAM;IAACC,SAAA;IAAWE;EAAO,CAAA,GAAIH,OAAO0E,MAAO,EAAA;EAC3C,OAAO0G,qBAAQ,YAAY;IACnB,MAAA3K,IAAA,GAAO,MAAMT,MAAO,CAAAqL,KAAA,EAAA,0JAQxB;MAAClK;IAAG,CAAA,CACN;IACO,OAAA;MACLkB,KAAA,EAAA,CAAO5B,6BAAM4B,KAAS,KAAA,IAAA;MACtBC,SAAA,EAAA,CAAW7B,6BAAM6B,SAAa,KAAA,IAAA;MAC9BC,gBAAkB,EAAAJ,OAAA,CAAQ1B,IAAM,IAAA,IAAA,GAAA,KAAA,CAAA,GAAAA,IAAA,CAAA8B,gBAAgB,CAAK,IAAA,KAAA;MACrDC,YAAA,EAAA,CAAc/B,6BAAM+B,YAAgB,KAAA,IAAA;MACpCC,iBAAA,EAAA,CAAmBhC,6BAAMgC,iBAAqB,KAAA;IAAA,CAChD;KACC,CAACd,OAAA,EAASR,GAAK,EAAAlB,SAAA,EAAWE,OAAO,CAAC,CAAA;AACvC;ACjBO,SAASmL,WACdA,CAAAtL,MAAA,EACA2I,UACA,EAAA4C,GAAA,EACAC,OACQ,EAAA;EACR,MAAM;IAAChJ,YAAA;IAAcC;EAAiB,CAAA,GAAI0I,YAAYnL,MAAM,CAAA;EAC5D,IAAI,CAACwC,YAAc,EAAA;IACX,MAAA,IAAIiJ,UAAU,sBAAsB,CAAA;EAC5C;EACA,IAAI,CAAChJ,iBAAmB,EAAA;IAChB,MAAA,IAAIgJ,UAAU,2BAA2B,CAAA;EACjD;EAEM,MAAA;IAAC7K,OAAS,EAAA8K;EAAA,CAAQ,GAAAN,YAAA,CAAAA,OAAA,CAAQ,MAAM,MAAA,CAAO,uBAAuB,CAAA,EAAG,CAAC,uBAAuB,CAAC,CAAA;EAEzF,OAAAM,IAAA,CACLF,OAAU,GAAA7E,IAAA,CAAKgF,KAAM,CAAAhF,IAAA,CAAKC,SAAU,CAAA4E,OAAA,EAAS,CAACI,CAAA,EAAGC,CAAM,KAAAA,CAAA,IAAA,IAAA,GAAAA,CAAA,GAAK,KAAS,CAAA,CAAC,IAAI,CAAC,CAAA,EAC3EC,KAAKrJ,iBAAiB,CAAA,EACtB;IACEsJ,SAAW,EAAA,OAAA;IACXC,KAAO,EAAAxJ,YAAA;IACPyJ,QAAU,EAAAV,GAAA;IACVW,OAAS,EAAAvD,UAAA;IACTwD,WAAa,EAAA,IAAA;IACbC,SAAW,EAAA;EACb,CAAA,CACF;AACF;AC5CO,SAASC,cAAcjN,KAAmC,EAAA;EAC3D,IAAA,EAACA,+BAAOuJ,UAAY,CAAA,EAAA;IACtBtD,OAAA,CAAQvD,KAAM,CAAA,+BAAA,EAAiC;MAAC1C;IAAM,CAAA,CAAA;IAChD,MAAA,IAAIqM,+BAA8B;EAC1C;EACA,OAAOrM,KAAM,CAAAuJ,UAAA;AACf;ACNO,SAAS2D,kBAAkBlN,KAA2C,EAAA;EAF7E,IAAAU,EAAA,EAAAC,EAAA,EAAAwM,EAAA,EAAAC,EAAA;EAGS,OAAA,CAAAA,EAAA,GAAA,CAAAD,EAAA,GAAA,CAAAxM,EAAA,GAAA,CAAAD,EAAA,GAAAV,KAAA,CAAMqB,SAAN,IAAY,GAAA,KAAA,CAAA,GAAAX,EAAA,CAAA8I,YAAA,KAAZ,mBAA2B,CAA3B,CAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA2D,EAAA,CAA+BE,WAA/B,IAAyC,GAAAD,EAAA,GAAA,QAAA;AAClD;ACQO,SAASE,oBAAqBA,CAAAnN,IAAA,EAQiB;EAAA,IARjB;IACnCH,KAAA;IACAY,MAAA;IACA2M,MAAA;IACAC,KAAA;IACAC,KAAA,GAAQzN,MAAM0N,SAAY,GAAAC,IAAA,CAAKC,IAAI,CAAG,EAAA5N,KAAA,CAAM0N,SAAY,GAAA,GAAG,CAAI,GAAA,CAAA;IAC/DG,MAAMJ,KAAQ,GAAA,CAAA;IACdK,GAAM,GAAA;EACR,CAAsD,GAAA3N,IAAA;EACpD,MAAM4N,SAAS;IAACR,MAAA;IAAQC,KAAO;IAAAC,KAAA;IAAOI;IAAKC;GAAG;EACxC,MAAAvE,UAAA,GAAa0D,cAAcjN,KAAK,CAAA;EAEtC,IAAIgO,eAAe,IAAIC,eAAA,CACrB1G,IAAA,CAAKgF,KAAM,CAAAhF,IAAA,CAAKC,SAAU,CAAAuG,MAAA,EAAQ,CAACvB,CAAG,EAAAC,CAAA,KAAMA,CAAK,IAAA,IAAA,GAAAA,CAAA,GAAA,KAAA,CAAS,CAAC,CAAA,CAC7D;EACI,IAAAS,iBAAA,CAAkBlN,KAAK,CAAA,KAAM,QAAU,EAAA;IACzC,MAAMiD,KAAQ,GAAAiJ,WAAA,CAAYtL,MAAQ,EAAA2I,UAAA,EAAY,KAAKwE,MAAM,CAAA;IACzDC,YAAA,GAAe,IAAIC,eAAA,CAAgB;MAAChL;IAAM,CAAA,CAAA;EAC5C;EAEA,gCAAAxB,MAAA,CAAgC8H,UAA2B,oBAAA9H,MAAA,CAAAuM,YAAA;AAC7D;ACrBO,SAASE,YAAaA,CAAAC,KAAA,EAOS;EAAA,IAPT;IAC3BnO,KAAA;IACAY,MAAA;IACAwN,QAAA;IACAb,MAAA;IACAc,OAAOrO,KAAM,CAAA0N,SAAA;IACbF;EACF,CAAsC,GAAAW,KAAA;EACpC,MAAMJ,MAAS,GAAA;IAACK,QAAU;IAAAb,MAAA;IAAQc;IAAMb;EAAK,CAAA;EACvC,MAAAjE,UAAA,GAAa0D,cAAcjN,KAAK,CAAA;EAEtC,IAAIgO,eAAe,IAAIC,eAAA,CACrB1G,IAAA,CAAKgF,KAAM,CAAAhF,IAAA,CAAKC,SAAU,CAAAuG,MAAA,EAAQ,CAACvB,CAAG,EAAAC,CAAA,KAAMA,CAAK,IAAA,IAAA,GAAAA,CAAA,GAAA,KAAA,CAAS,CAAC,CAAA,CAC7D;EACI,IAAAS,iBAAA,CAAkBlN,KAAK,CAAA,KAAM,QAAU,EAAA;IACzC,MAAMiD,KAAQ,GAAAiJ,WAAA,CAAYtL,MAAQ,EAAA2I,UAAA,EAAY,KAAKwE,MAAM,CAAA;IACzDC,YAAA,GAAe,IAAIC,eAAA,CAAgB;MAAChL;IAAM,CAAA,CAAA;EAC5C;EAEA,gCAAAxB,MAAA,CAAgC8H,UAA4B,qBAAA9H,MAAA,CAAAuM,YAAA;AAC9D;AClBA,MAAMM,eAAkB,GAAA;EAACC,MAAQ,EAAA,EAAA,GAAK;AAAC,CAAA;AASvC,MAAMC,WAAA,GAAcC,KAAAA,CAAAA,IAAK,CAAA,SAASD,YAAYE,CAAAC,KAAA,EAMzB;EAAA,IANyB;IAC5CC,GAAA;IACAC,GAAA;IACAtB,MAAA;IACAC,KAAA;IACAsB;EACF,CAAqB,GAAAH,KAAA;EACnB3C,YAAAA,CAAAA,OAAA,CAAQ,YAAY;IAClB,MAAM+C,GAAM,GAAA,IAAIC,KAAM,CAAAxB,KAAA,EAAOD,MAAM,CAAA;IACnCwB,GAAA,CAAIE,QAAW,GAAA,OAAA;IACfF,GAAA,CAAIF,GAAM,GAAAA,GAAA;IACV,MAAME,IAAIG,MAAO,EAAA;EAChB,CAAA,EAAA,CAAC,yBAA2B,EAAA,OAAA,EAASL,GAAG,CAAC,CAAA;EAErC,OAAA,eAAAM,cAAA,CAAC;IAAIP,GAAU;IAAAC,GAAA;IAAUtB;IAAgBC,KAAc;IAAA4B,KAAA,EAAO;MAACN;IAAA;EAAc,CAAA,CAAA;AACtF,CAAC,CAAA;AAGD,MAAMO,iBAAA,GAAoBC,eAAAA,CAAAA,QAAYC,MAAAA,CAAAA,YAAY,CAAA,CAAAC,eAAA,KAAAA,eAAA,GAAAC,sBAAA,gDAAA;AASlD,MAAMC,+BAAkC,GAAAC,KAAA,IAAkD;EAAA,IAAjD;IAACC;GAAgD,GAAAD,KAAA;EAEtF,sBAAAE,UAAA,CAAAA,IAAA,CAACC,EAAA,CAAAA,MAAA,EAAA;IACCC,KAAO,EAAA,CAAA;IACPX,KAAO,EAAA;MACLY,SAAA,EAAWJ,OAAO,SAAY,GAAA,KAAA,CAAA;MAC9BK,YAAA,EAAcL,OAAO,KAAY,CAAA,GAAA;IACnC,CAAA;IAEAM,QAAA,EAAA,CAAA,eAAAf,UAAA,CAAAA,GAAA,CAACgB,KAAS,CAAAA,QAAA,EAAA,EAAA,CAAA,EAAE,wBAAA;EAAA,CAAA,CAEd;AAEJ,CAAA;AAMA,MAAMC,cAAcC,KAAA,IAAuD;EAAA,IAAtD;IAACrQ;IAAOuN,MAAQ;IAAAC,KAAA;IAAO8C;GAA+B,GAAAD,KAAA;EACzE,MAAMzP,SAASR,SAAU,EAAA;EACzB,MAAMyO,MAAMX,YAAa,CAAA;IACvBlO,KAAA;IACAY,MAAA;IACA2M,MAAA;IACAC,KAAA;IACAY,QAAU,EAAA;EAAA,CACX,CAAA;EACD,MAAMmC,QAAW,GAAArP,KAAA,CAAAA,OAAA,CACf,MACEoP,OAAW,IAAApD,iBAAA,CAAkBlN,KAAK,CAAA,KAAM,WACrCmP,eAAAA,UAAAA,CAAAA,GAAA,CAAAO,+BAAA,EAAA;IAAgCE,IAAI,EAAA;EAAC,CAAA,CACpC,GAAA,KAAA,CAAA,EACN,CAAC5P,OAAOsQ,OAAO,CAAA,CACjB;EAKE,sBAAAnB,UAAA,CAAAA,GAAA,CAACE,iBAAA,EAAA;IACCf,eAAA;IACAiC,QAAA;IACAC,KAAA;MAAUN,QAAK,EAAA;IAAA,CAAA,CAAA;IACfO,OAAQtB,eAAAA,UAAAA,CAAAA,GAAA,CAAAX,WAAA,EAAA;MAAYI,KAAI,EAAG;MAAAC,GAAA;MAAUtB;MAAgBC;KAAc;EAAA,CAAA,CACrE;AAEJ,CAAA;AAKa,MAAAkD,cAAA,GAAiBjC,KAAAA,CAAAA,IAAK,CAAA,SAASiC,eAAeC,CAAAC,KAAA,EAInC;EAAA,IAJmC;IACzD5Q,KAAA;IACAwN,KAAA;IACA8C;EACF,CAAwB,GAAAM,KAAA;EACtB,MAAM;IAACC,aAAA;IAAeC,QAAU;IAAApO;MAASqO,gBAAiB,CAAAA,gBAAA,EAAA;EAC1D,MAAMxD,MAAS,GAAAI,IAAA,CAAKqD,KAAO,CAAAxD,KAAA,GAAQ,IAAK,EAAE,CAAA;EAC1C,MAAM+C,QAAW,GAAArP,KAAA,CAAAA,OAAA,CACf,MACEoP,WAAWpD,iBAAkB,CAAAlN,KAAK,MAAM,QACtC,GAAAmP,eAAAA,UAAAA,CAAAA,GAAA,CAACO,mCAAgC,CAC/B,GAAA,KAAA,CAAA,EACN,CAACY,SAAStQ,KAAK,CAAA,CACjB;EAEA,IAAI8Q,QAAU,EAAA;IAEV,sBAAA3B,UAAA,CAAAA,GAAA,CAACE,iBAAA,EAAA;MACCkB,UAAU7N,KAAM,CAAAkC,OAAA;MAChB0J,eAAA;MACAkC,KAAM,EAAA,8BAAA;MACNC,KACE,EAAA,eAAAtB,UAAA,CAAAA,GAAA,CAAC8B,EAAK,CAAAA,IAAA,EAAA;QAAAC,MAAA,EAAQ,CAAG;QAAA3D,MAAA,EAAO,MAAO;QAAA6B,KAAA,EAAO;UAAC+B,QAAA,EAAU,UAAY;UAAA3D,KAAA,EAAO;SAClE;QAAA0C,QAAA,iBAAAf,UAAA,CAAAA,GAAA,CAACiC,EAAA,CAAAA,GAAA,EAAA;UACChC,KAAO,EAAA;YACLiC,OAAS,EAAA,MAAA;YACTC,cAAgB,EAAA,QAAA;YAChBC,UAAY,EAAA,QAAA;YACZJ,QAAU,EAAA,UAAA;YACVK,GAAK,EAAA,CAAA;YACLC,IAAM,EAAA,CAAA;YACNC,KAAO,EAAA,CAAA;YACPC,MAAQ,EAAA;UACV,CAAA;UAEAzB,wCAAC0B,KAAY,CAAAA,WAAA,EAAA,EAAA;QAAA,CAAA;OAEjB;IAAA,CAAA,CAEJ;EAEJ;EAEA,OAAA,8BACGf,aACC,EAAA;IAAAX,QAAA,iBAAAf,UAAA,CAAAA,GAAA,CAAC0C,KAAA,CAAAA,QAAA,EAAA;MACCC,QACE,iBAAA3C,UAAA,CAAAA,GAAA,CAACE,iBAAA,EAAA;QACC0C,aAAa,EAAA,IAAA;QACbvB,KAAM,EAAA,sBAAA;QACND,QAAA;QACAjC;MAAA,CAAA,CACF;MAGF4B,QAAC,EAAA,eAAAf,UAAA,CAAAA,GAAA,CAAAiB,WAAA,EAAA;QAAYE,OAAkB;QAAAtQ,KAAA;QAAcuN;QAAgBC;OAAc;IAAA,CAAA;EAE/E,CAAA,CAAA;AAEJ,CAAC,CAAA;AAGD,MAAMwE,yBAAA,GAA4B1C,eAAAA,CAAAA,QAAYC,MAAAA,CAAAA,YAAY,CAAA,CAAA0C,gBAAA,KAAAA,gBAAA,GAAAxC,sBAAA,kDAAA;AAS1D,MAAMyC,mBAAsB,GAAAC,KAAA,IAA8C;EAAA,IAA7C;IAACnS,KAAA;IAAOwN;GAAqC,GAAA2E,KAAA;EACxE,MAAMvR,SAASR,SAAU,EAAA;EACzB,MAAMyO,MAAMvB,oBAAqB,CAAA;IAACtN,KAAO;IAAAY,MAAA;IAAQ4M;GAAM,CAAA;EAKrD,sBAAA2B,UAAA,CAAAA,GAAA,CAAC6C,yBAAA,EAAA;IACCI,UAAY,EAAA,KAAA;IACZ9D,eAAA;IACAmC,KAAA,gCAAQjC,WAAY,EAAA;MAAAI,GAAA,EAAI;MAAGC,GAAU;MAAArB,KAAA;MAAcsB,aAAY;KAAO;EAAA,CAAA,CACxE;AAEJ,CAAA;AAKa,MAAAuD,sBAAA,GAAyB5D,KAAAA,CAAAA,IAAK,CAAA,SAAS4D,uBAAuBC,CAAAC,KAAA,EAG3C;EAAA,IAH2C;IACzEvS,KAAA;IACAwN;EACF,CAAgC,GAAA+E,KAAA;EAC9B,MAAM;IAAC1B,aAAA;IAAeC;EAAQ,CAAA,GAAIC,gBAAiB,CAAAA,gBAAA,EAAA;EAEnD,IAAID,QAAU,EAAA;IACL,OAAA,IAAA;EACT;EAEA,OAAA,8BACGD,aACC,EAAA;IAAAX,QAAA,iBAAAf,UAAA,CAAAA,GAAA,CAAC0C,KAAA,CAAAA,QAAA,EAAA;MACCC,QAAA,gCACGU,aACC,EAAA;QAAAtC,QAAA,EAAA,eAAAf,UAAA,CAAAA,GAAA,CAACE,iBAAA,EAAA;UACCf,eAAA;UACA8D,UAAY,EAAA,KAAA;UACZ3B,KAAO,EAAAtB,eAAAA,UAAAA,CAAAA,GAAA,CAACsD,EAAAA,CAAAA,OAAQ,EAAA;YAAAC,KAAA,EAAK;UAAC,CAAA;QAAA,CAAA;OAE1B,CAAA;MAGFxC,QAAA,EAAA,eAAAf,UAAA,CAAAA,GAAA,CAAC8B,EAAK,CAAAA,IAAA,EAAA;QAAA1D,MAAA,EAAO,MAAO;QAAAoF,IAAA,EAAK;QACvBzC,QAAC,EAAAf,eAAAA,UAAAA,CAAAA,GAAA,CAAA+C,mBAAA,EAAA;UAAoBlS,KAAc;UAAAwN;QAAA,CAAc;MACnD,CAAA;IAAA,CAAA;EAEJ,CAAA,CAAA;AAEJ,CAAC,CAAA;AACD,MAAMgF,aAAA,GAAgBlD,eAAAA,CAAAA,QAAO8B,EAAAA,CAAAA,GAAG,CAAA,CAAAwB,gBAAA,KAAAA,gBAAA,GAAAnD,sBAAA,qGAAA;AAKnB,MAAAoD,SAAA,GAAYvD,eAAAA,CAAAA,QAAOwD,EAAAA,CAAAA,IAAI,CAAA,CAAAC,gBAAA,KAAAA,gBAAA,GAAAtD,sBAAA,2EAAA;AAIvB,MAAAuD,YAAA,GAAe1D,eAAAA,CAAAA,QAAO2B,EAAAA,CAAAA,IAAI,CAAA,CAAAgC,gBAAA,KAAAA,gBAAA,GAAAxD,sBAAA,iHAAA;ACpMvC,SAASyD,iBAAiBC,KAA8B,EAAA;EAChD,MAAA;IAACnT;EAAS,CAAA,GAAAmT,KAAA;EAChB,MAAM5O,KAAK6O,KAAAA,CAAAA,KAAM,EAAA;EACjB,MAAM,CAACC,WAAA,EAAaC,cAAc,CAAA,GAAI9S,KAAiD,CAAAA,QAAA,EAAA;EACvF,MAAM,CAAC+S,IAAA,EAAMC,OAAO,CAAA,GAAIhT,eAAS,KAAK,CAAA;EACtC,MAAM,CAACiT,WAAA,EAAaC,UAAU,CAAA,GAAIlT,eAAgC,IAAI,CAAA;EAEtE,MAAMmT,eAAeC,KAAAA,CAAAA,WAAY,CAAA,MAAMN,eAAe,gBAAgB,CAAA,EAAG,EAAE,CAAA;EACrE,MAAAO,WAAA,GAAcD,KAAAA,CAAAA,YAAY,MAAM;IACpCN,cAAA,CAAe,KAAK,CAAA;IACpBE,OAAA,CAAQ,IAAI,CAAA;EAAA,CACd,EAAG,CAACF,cAAc,CAAC,CAAA;EACb,MAAAQ,WAAA,GAAcF,KAAAA,CAAAA,YAAY,MAAM;IACpCN,cAAA,CAAe,KAAK,CAAA;IACpBE,OAAA,CAAQ,KAAK,CAAA;EAAA,CACf,EAAG,CAACF,cAAc,CAAC,CAAA;EAEnBS,KAAAA,CAAAA,SAAA,CAAU,MAAM;IACd,IAAIR,QAAQF,WAAa,EAAA;MACvBG,OAAA,CAAQ,KAAK,CAAA;IACf;EAAA,CACC,EAAA,CAACH,WAAa,EAAAE,IAAI,CAAC,CAAA;EAEtBS,EAAA,CAAAA,eAAA,CACEJ,KAAAA,CAAAA,YAAY,MAAMJ,OAAA,CAAQ,KAAK,CAAA,EAAG,EAAE,CAAA,EACpC,CAACC,WAAW,CAAA,CACd;EAEA,sBAEI5D,UAAA,CAAAA,IAAA,CAAAoE,mBAAA,EAAA;IAAA/D,QAAA,EAAA,CAAA,eAAAf,UAAA,CAAAA,GAAA,CAAC+E,EAAA,CAAAA,UAAA,EAAA;MACC3P,cAAOA,EAAA,gBAAA;MACP4P,MAAA,iBACGhF,UAAA,CAAAA,GAAA,CAAAiF,SAAA,EAAA;QAAOC,IAAM,EAAAC,KAAA,CAAAA,oBAAA;QAAsBC,MAAK,OAAQ;QAAAC,OAAA,EAASX,WAAa;QAAAY,OAAA,EAAS;MAAG,CAAA,CAAA;MAErFC,IACE,EAAAvF,eAAAA,UAAAA,CAAAA,GAAA,CAACwF,EAAAA,CAAAA,IAAK,EAAA;QAAAC,GAAA,EAAKlB;QACTxD,QAAC,EAAA,eAAAf,UAAA,CAAAA,GAAA,CAAA0F,WAAA,EAAA;UAASlC,IAAK,EAAA,UAAA;UAAW0B,MAAMS,KAAAA,CAAAA,SAAW;UAAAC,IAAA,EAAK,QAAS;UAAAP,OAAA,EAASb;QAAc,CAAA;OAClF,CAAA;MAEFqB,MAAM,EAAA,IAAA;MACNC,SAAU,EAAA;IAAA,CAAA,CACZ,EACC5B,gBAAgB,gBAAoB,IAAA,eAAAlE,cAAA,CAAC+F,YAAa,EAAA;MAAAlV,KAAA;MAAcmV,SAASrB;KAAa,CAAA;EACzF,CAAA,CAAA;AAEJ;AAMA,SAASoB,aAAa/B,KAA0B,EAAA;EACxC,MAAA;IAACnT,KAAO;IAAAmV;EAAW,CAAA,GAAAhC,KAAA;EACzB,MAAMvS,SAASR,SAAU,EAAA;EACzB,MAAM;IAACgV,IAAA,EAAMC;EAAS,CAAA,GAAIC,EAAS,CAAAA,QAAA,EAAA;EACnC,MAAM,CAACC,QAAA,EAAUC,WAAW,CAAA,GAAIhV,eAAS,KAAK,CAAA;EAC9C,MAAM,CAACiV,WAAA,EAAaC,cAAc,CAAA,GAAIlV,eAAS,KAAK,CAAA;EACpD,MAAM+D,KAAK6O,KAAAA,CAAAA,KAAM,EAAA;EAEjB,MAAM5F,QAAQ,GAAM,GAAAmI,mBAAAA,CAAAA,mBAAA,CAAoB;IAACC,MAAA,EAAQ;GAAE,CAAA;EAE7C,MAAAjC,YAAA,GAAeC,KAAAA,CAAAA,YAAY,YAAY;IA/F/C,IAAAlT,EAAA,EAAAC,EAAA,EAAAwM,EAAA;IAgGIqI,WAAA,CAAY,IAAI,CAAA;IACZ,IAAA;MACF,IAAIxV,+BAAO+B,GAAK,EAAA;QACR,MAAAnB,MAAA,CAAOiV,MAAO,CAAA7V,KAAA,CAAM+B,GAAG,CAAA;MAC/B;MACI,IAAA0T,WAAA,KAAezV,+BAAOmB,OAAS,CAAA,EAAA;QAC3B,MAAAkE,WAAA,CAAYzE,MAAQ,EAAAZ,KAAA,CAAMmB,OAAO,CAAA;MACzC;MAEG,CAAAgM,EAAA,GAAA,CAAAxM,EAAA,GAAA,CAAAD,EAAA,GAAAsH,QAAA,CAAA8N,aAAA,eAAArU,MAAA,CAA2BzB,KAAA,CAAM+B,GAAO,SAAA,KAD3C,mBAEIgU,aAFJ,KAAA,IAAA,GAAA,KAAA,CAAA,GAAApV,EAAA,CAEmBqV,YAFnB,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA7I,EAAA,CAAA8I,IAAA,CAAAtV,EAAA,EAEkC,QAAU,EAAA,MAAA,CAAA;aACrC+H,GAAP,EAAA;MACQzC,OAAA,CAAAvD,KAAA,CAAM,wBAAwBgG,GAAG,CAAA;MAC/B2M,SAAA,CAAA;QACRa,QAAU,EAAA,IAAA;QACVC,aAAazN,GAAK,IAAA,IAAA,GAAA,KAAA,CAAA,GAAAA,GAAA,CAAA9D,OAAA;QAClBwR,QAAU,EAAA,GAAA;QACV5F,KAAO,EAAA,gBAAA;QACPpP,MAAQ,EAAA;MAAA,CACT,CAAA;IAAA,CACD,SAAA;MACAoU,WAAA,CAAY,KAAK,CAAA;MACTL,OAAA,EAAA;IACV;EAAA,CACF,EAAG,CAACnV,KAAA,CAAM+B,GAAK,EAAA/B,KAAA,CAAMmB,SAASP,MAAQ,EAAA6U,WAAA,EAAaN,OAAS,EAAAE,SAAS,CAAC,CAAA;EAGpE,sBAAAlG,UAAA,CAAAA,GAAA,CAACkH,EAAA,CAAAA,MAAA,EAAA;IACClB,OAAA;IACA5Q,cAAOA,EAAA,oBAAA;IACP+R,MAAO,EAAA,cAAA;IACPC,MAAA,iCACGzD,OAAK,EAAA;MAAA2B,OAAA,EAAS;MAAG+B,GAAK,EAAA,CAAA;MAAGC,SAAS,CACjC;MAAAvG,QAAA,EAAA,CAAA,eAAAf,cAAA,CAACiF,EAAAA,CAAAA;QAAOG,IAAK,EAAA,OAAA;QAAQQ,IAAK,EAAA,QAAA;QAASP,SAASW;OAAS,CAAA,EAAA,eACrDhG,UAAA,CAAAA,GAAA,CAACiF,EAAA,CAAAA,MAAA,EAAA;QACCW,IAAK,EAAA,QAAA;QACLpC,IAAK,EAAA,UAAA;QACL0B,IAAM,EAAAS,KAAA,CAAAA,SAAA;QACNN,OAAS,EAAAb,YAAA;QACT+C,OAAS,EAAAnB;MAAA,CAAA,CAEX;KACF,CAAA;IAGF/H,KAAO,EAAA,CAAA;IAEP0C,QAAA,iBAAAf,UAAA,CAAAA,GAAA,CAACwH,EAAA,CAAAA,KAAA,EAAA;MACCC,UAA6B,CAAA;MAC7BC,UAA6B,CAAA;MAC7B9G,KAAO,EAAA,CAAA;MAEPG,QAAA,iBAAAf,UAAA,CAAAA,GAAA,CAAC8B;QAAK2F,QAAU,EAAA,CAAC,GAAG,CAAG,EAAA,CAAC;QAAGC,QAAU,EAAA,CAAC,GAAG,CAAG,EAAA,CAAA,EAAG,CAAC,CAC9C;QAAA3G,QAAA,EAAA,eAAAL,eAAA,CAACiD,EAAAA,CAAAA;UAAK2D,OAAS,EAAA,CAAA;UAAGD,KAAK,CACrB;UAAAtG,QAAA,EAAA,CAAA,eAAAf,cAAA,CAAC2H,EAAAA,CAAAA,IAAK,EAAA;YAAA1H,KAAA,EAAO;cAAC2H,UAAA,EAAY;aAAW;YAAAC,KAAA,EAAM,QACzC;YAAA9G,QAAA,EAAAf,eAAAA,UAAAA,CAAAA,GAAA,CAACiC,EAAAA,CAAAA;cAAIqD,OAAS,EAAA,CAAA;cACZvE,QAAC,EAAAL,eAAAA,UAAAA,CAAAA,IAAA,CAAA8G,EAAAA,CAAAA,KAAA,EAAA;gBAAM5G,OAAO,CACZ;gBAAAG,QAAA,EAAA,CAAA,eAAAL,UAAA,CAAAA,IAAA,CAACiH,EAAK,CAAAA,IAAA,EAAA;kBAAAE,KAAA,EAAM,QAAS;kBAAAC,EAAA,EAAG,OACtB;kBAAA/G,QAAA,EAAA,CAAA,eAAAf,UAAA,CAAAA,GAAA,CAAC+H,EAAA,CAAAA,QAAA,EAAA;oBACCC,OAAS,EAAA1B,WAAA;oBACT2B,UAAUA,CAAA,KAAM1B,cAAA,CAAgB2B,IAAA,IAAS,CAACA,IAAI;kBAAA,CAAA,CAChD,EAAA,8BACCC,EAAAA,CAAAA,IAAK,EAAA;oBAAAlI,KAAA,EAAO;sBAACmI,MAAQ,EAAA;;oBAAWrH,QAAmB,EAAA;mBAAA,CAAA;iBACtD,CAAA,EAAA,eACCL,UAAA,CAAAA,IAAA,CAAAiH,EAAA,CAAAA,IAAA,EAAA;kBAAKE,KAAM,EAAA,QAAA;kBAASC,IAAG,OACtB;kBAAA/G,QAAA,EAAA,CAAA,eAAAf,UAAA,CAAAA,GAAA,CAAC+H,EAAS,CAAAA,QAAA,EAAA;oBAAAM,QAAA,EAAQ,IAAC;oBAAAL,OAAA,EAAO;mBAAC,CAAA,EAAA,8BAC1BG,EAAAA,CAAAA,IAAK,EAAA;oBAAAlI,KAAA,EAAO;sBAACmI,MAAQ,EAAA;;oBAAWrH,QAAyB,EAAA;mBAAA,CAAA;iBAC5D,CAAA;cACF,CAAA;YACF,CAAA;WACF,CAAA,EAAA,eACCf,UAAA,CAAAA,GAAA,CAAAuB,cAAA,EAAA;YAAe1Q,KAAc;YAAAwN,KAAA;YAAc8C,SAAO;WAAC,CAAA;QAAA,CACtD;MACF,CAAA;IAAA,CAAA;EACF,CAAA,CACF;AAEJ;AAUA,SAAwBmH,mBAA0E;EAAA,IAA9D;IAACC,MAAA;IAAQ/U;IAAWgV,UAAY;IAAAC,QAAA;IAAUC;GAAoB,GAAAC,KAAA;EAChG,MAAMjE,WAAc,GAAAD,KAAA,CAAAA,WAAA,CACjBtL,KAAU,IAAAsP,QAAA,CAAStP,KAAM,CAAAyP,aAAA,CAAchX,QAAQwD,EAAG,CAAA,EACnD,CAACqT,QAAQ,CAAA,CACX;EACA,MAAMI,cAAiB,GAAApE,KAAA,CAAAA,WAAA,CACpBtL,KAAU,IAAA;IACL,IAAAA,KAAA,CAAM2P,QAAQ,OAAS,EAAA;MAChBL,QAAA,CAAAtP,KAAA,CAAMyP,aAAc,CAAAhX,OAAA,CAAQwD,EAAG,CAAA;IAC1C;EACF,CAAA,EACA,CAACqT,QAAQ,CAAA,CACX;EACA,MAAMpK,QAAQ,GAAM,GAAAmI,mBAAAA,CAAAA,mBAAA,CAAoB;IAACC,MAAA,EAAQ;GAAE,CAAA;EAEnD,sBAEI/F,UAAA,CAAAA,IAAA,CAAAoE,mBAAA,EAAA;IAAA/D,QAAA,EAAA,CAACL,eAAAA,UAAAA,CAAAA,IAAA,CAAAuB,EAAAA,CAAAA,GAAA,EAAA;MAAIqD,SAAS,CACZ;MAAAvE,QAAA,EAAA,CAAA,eAAAf,cAAA,CAAC0D;QAAU2D,GAAK,EAAA,CAAA;QACbtG,QAAO,EAAAwH,MAAA,CAAA7M,GAAA,CAAK7K,KACX,mBAAAmP,UAAA,CAAAA,GAAA,CAAC+I,eAAA,EAAA;UAEClY,KAAA;UACAwU,OAAS,EAAAX,WAAA;UACTsE,UAAY,EAAAH,cAAA;UACZxK;QAAA,CAAA,EAJKxN,KAAM,CAAA+B,GAAA,CAMd;OACH,CAAA,EACCY,SAAa,IAAA+U,MAAA,CAAOlR,MAAW,KAAA,CAAA,IAAA,eAC7B2I,UAAA,CAAAA,GAAA,CAAA2H,EAAA,CAAAA,IAAA,EAAA;QAAKsB,OAAQ,EAAA,QAAA;QACZlI,QAAC,EAAA,eAAAf,UAAA,CAAAA,GAAA,CAAAsD,EAAA,CAAAA,OAAA,EAAA;UAAQC,KAAK,EAAA;QAAC,CAAA;OACjB,CAAA,EAGD,CAAC/P,SAAa,IAAA+U,MAAA,CAAOlR,MAAW,KAAA,CAAA,IAAA,eAC9B2I,UAAA,CAAAA,GAAA,CAAAmI,EAAA,CAAAA,IAAA,EAAA;QAAKN,KAAM,EAAA,QAAA;QAAStE,KAAK,EAAA,IAAA;QAACxC,QAE3B,EAAA;MAAA,CAAA,CAAA;KAEJ,CAAA,EACCwH,MAAO,CAAAlR,MAAA,GAAS,CAAK,IAAA,CAACmR,6BACpBxI,cAAA,CAAA6D,YAAA,EAAA;MAAaL,IAAK,EAAA,SAAA;MAAU8B,OAAS,EAAA,CAAA;MACpCvE,QAAC,EAAA,eAAAf,cAAA,CAAA2H,EAAAA,CAAAA,IAAA,EAAA;QAAKuB,WAAU,QACd;QAAAnI,QAAA,iBAAAf,UAAA,CAAAA,GAAA,CAACiF,EAAA,CAAAA,MAAA,EAAA;UACC9P,IAAK,EAAA,QAAA;UACL+P,IAAM,EAAAiE,KAAA,CAAAA,YAAA;UACN5B,OAAS,EAAA/T,SAAA;UACT6R,OAAS,EAAAqD,UAAA;UACT9C,IAAK,EAAA,WAAA;UACLpC,IAAK,EAAA;QAAA,CAAA;OAET;IACF,CAAA,CAAA;EAEJ,CAAA,CAAA;AAEJ;AAQA,MAAM4F,mBAAmBC,MAAA,IAA+D;EAAA,IAA9D;IAACxY;IAAOwU,OAAS;IAAA2D,UAAA;IAAY3K;GAAiC,GAAAgL,MAAA;EACtF,MAAM,CAACC,KAAA,EAAOC,QAAQ,CAAA,GAAIlY,eAAyB,IAAI,CAAA;EACjD,MAAAoU,GAAA,GAAM+D,aAAuB,IAAI,CAAA;EACvCC,KAAAA,CAAAA,eAAA,CAAgB,MAAM;IACpB,IAAI,CAAChE,GAAA,CAAIiE,OAAW,IAAAJ,KAAA,KAAU,IAAM,EAAA;MAClC;IACF;IACA,IAAIA,KAAO,EAAA;MACTK,MAAA,CAAAA,OAAA,CAAQlE,GAAI,CAAAiE,OAAA,EAAS;QAACE,OAAA,EAAS;MAAE,CAAA,CAAA;IAAA,CAC5B,MAAA;MACLD,MAAA,CAAAA,OAAA,CAAQlE,GAAI,CAAAiE,OAAA,EAAS;QAACE,OAAA,EAAS;MAAE,CAAA,CAAA;IACnC;EAAA,CACF,EAAG,CAACN,KAAK,CAAC,CAAA;EAER,sBAAA5I,UAAA,CAAAA,IAAA,CAACuB;IAAI7D,MAAO,EAAA,MAAA;IAAO6B,OAAO;MAAC+B,QAAA,EAAU;IACnC,CAAA;IAAAjB,QAAA,EAAA,CAAA,eAAAL,UAAA,CAAAA,IAAA,CAACoB,EAAA,CAAAA,IAAA,EAAA;MACCgG,EAAG,EAAA,QAAA;MACH,WAASjX,KAAM,CAAA+B,GAAA;MACfyS,OAAA;MACA2D,UAAA;MACAa,QAAU,EAAA,CAAA;MACV9H,MAAQ,EAAA,CAAA;MACRuD,OAAS,EAAA,CAAA;MACTrF,KAAO,EAAA;QAAC6J,UAAY,EAAA,CAAA;QAAG9H,UAAU;MAAU,CAAA;MAC3C+H,oBAAoB,EAAA,IAAA;MACpBC,YAAA,EAAcA,CAAA,KAAMT,QAAA,CAAS,IAAI,CAAA;MACjCU,YAAA,EAAcA,CAAA,KAAMV,QAAA,CAAS,KAAK,CAAA;MAElCxI,QAAA,EAAA,CAAA,eAAAf,UAAA,CAAAA,GAAA,CAACuB,cAAe,EAAA;QAAA1Q,KAAA;QAAcwN,KAAc;QAAA8C,OAAA,EAAO;OAAC,CAAA,EAAA,CACnDtQ,+BAAOuJ,UACN,oBAAA4F,UAAA,CAAAA,GAAA,CAACkK,cAAe,EAAA;QAAA1G,IAAA,EAAK;QAAciC,GAAU;QAAA2C,MAAA,EAAQ,CAAG;QAAArG,MAAA,EAAQ;QAC7DhB,QAAU,EAAAuI,KAAA,KAAA,IAAA,IAAA,8BAASpG,sBAAuB,EAAA;UAAArS,KAAA;UAAcwN;SAAc;MACzE,CAAA,CAAA;IAAA,CAAA,CAEJ,EAAA,eACC2B,cAAA,CAAAmK,sBAAA,EAAA;MACCpJ,QAAC,EAAAf,eAAAA,UAAAA,CAAAA,GAAA,CAAA+D,gBAAA,EAAA;QAAiBlT;MAAc,CAAA;KAClC,CAAA;EACF,CAAA,CAAA;AAEJ,CAAA;AACA,MAAMkY,eAAA,GAAkBzJ,KAAAA,CAAAA,KAAK8J,gBAAgB,CAAA;AAC7C,MAAMc,cAAA,GAAiB/J,eAAAA,CAAAA,QAAO2B,EAAAA,CAAAA,IAAI,CAAA,CAAAsI,gBAAA,KAAAA,gBAAA,GAAA9J,sBAAA,4NAAA;AAalC,MAAM6J,yBAAyBhK,eAAO,CAAA9N,OAAA,CAAAgY,GAAA,CAAAC,gBAAA,KAAAA,gBAAA,GAAAhK,sBAAA,mOAAA;ACvStC,MAAMiK,QAAW,GAAA,GAAA;AAEjB,SAASC,WAAYA,CAAA,EAA2B;EAAA,IAA3BlM,KAAA,GAAAlH,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAQ,CAAG;EAAA,IAAAsH,GAAA,GAAAtH,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAMmT,QAAU;EAC9C,OAAA,uEAAAjY,MAAA,CAA4EgM,KAAW,SAAAhM,MAAA,CAAAoM,GAAA;EAAA;AACzF;AAOA,SAAwB+L,YAAaA,CAAAC,MAAA,EAA0C;EAAA,IAA1C;IAAC7Z,KAAO;IAAAoX,QAAA;IAAU9D;GAAwB,GAAAuG,MAAA;EAC7E,MAAMjZ,SAASR,SAAU,EAAA;EACnB,MAAA0Z,SAAA,GAAYnB,aAAO,CAAC,CAAA;EAC1B,MAAM,CAAChB,UAAA,EAAYoC,WAAW,CAAA,GAAIvZ,eAAS,KAAK,CAAA;EAChD,MAAM,CAACmC,SAAA,EAAWqX,UAAU,CAAA,GAAIxZ,eAAS,KAAK,CAAA;EAC9C,MAAM,CAACkX,MAAQ,EAAAuC,SAAS,CAAI,GAAAzZ,KAAA,CAAAA,QAAA,CAA+B,EAAE,CAAA;EAE7D,MAAM0Z,SAAY,GAAAtG,KAAA,CAAAA,WAAA,CACfuG,MAAmB,IAAA;IAClB,MAAM1M,QAAQ0M,MAAS,GAAAT,QAAA;IACvB,MAAM7L,MAAMJ,KAAQ,GAAAiM,QAAA;IACpBM,UAAA,CAAW,IAAI,CAAA;IACR,OAAApZ,MAAA,CACJqL,MAAM0N,WAAY,CAAAlM,KAAA,EAAOI,GAAG,CAAC,CAAA,CAC7BnE,IAAK,CAAC5B,MAAiC,IAAA;MAC1BiS,WAAA,CAAAjS,MAAA,CAAOtB,SAASkT,QAAQ,CAAA;MACpCO,SAAA,CAAW5C,IAAA,IAASA,IAAK,CAAA5V,MAAA,CAAOqG,MAAM,CAAC,CAAA;IACxC,CAAA,CACA,CAAAsS,OAAA,CAAQ,MAAMJ,UAAA,CAAW,KAAK,CAAC,CAAA;EACpC,CAAA,EACA,CAACpZ,MAAM,CAAA,CACT;EACA,MAAMyZ,YAAe,GAAAzG,KAAA,CAAAA,WAAA,CAClBrP,EAAO,IAAA;IACN,MAAM+V,WAAW5C,MAAO,CAAA6C,IAAA,CAAM9U,GAAQ,IAAAA,GAAA,CAAI1D,QAAQwC,EAAE,CAAA;IACpD,IAAI,CAAC+V,QAAU,EAAA;MACP,MAAA,IAAIjO,SAAU,wCAAA5K,MAAA,CAAuC8C,EAAI,EAAA;IACjE;IACA6S,QAAA,CACEoD,MAAAA,CAAAA,WAAWjS,IAAK,CAAA,CACdkS,mBAAa,CAAA;MAACza,KAAO,EAAA,CAAA;KAAG,CAAA,EACxBgC,MAAAA,CAAAA,GAAI,CAAA;MAAC0D,KAAO,EAAA,WAAA;MAAagV,KAAO,EAAA,IAAA;MAAMva,IAAM,EAAAma,QAAA,CAASvY;KAAG,EAAG,CAAC,OAAO,CAAC,CAAA,CACrE,CAAA,CACH;IACAuR,cAAA,CAAe,KAAK,CAAA;EACtB,CAAA,EACA,CAACoE,MAAQ,EAAAN,QAAA,EAAU9D,cAAc,CAAA,CACnC;EACM,MAAAqH,cAAA,GAAiB/G,KAAAA,CAAAA,YAA4C,MAAM;IAC7DsG,SAAA,CAAA,EAAEJ,UAAUjB,OAAO,CAAA;EAAA,CAC/B,EAAG,CAACqB,SAAS,CAAC,CAAA;EAEJnG,KAAA,CAAAA,SAAA,CAAA,MAAM,KAAKmG,SAAU,CAAAJ,SAAA,CAAUjB,OAAO,CAAG,EAAA,CAACqB,SAAS,CAAC,CAAA;EAG5D,sBAAA/K,UAAA,CAAAA,GAAA,CAACsI,WAAA,EAAA;IACCG,QAAU,EAAAyC,YAAA;IACV3C,MAAA;IACAC,UAAA;IACAhV,SAAA;IACAkV,UAAY,EAAA8C;EAAA,CAAA,CACd;AAEJ;AC/DA,SAAwBC,YAAaA,CAAAC,MAAA,EAA0C;EAAA,IAA1C;IAACvH,cAAgB;IAAAtT,KAAA;IAAOoX;GAAkB,GAAAyD,MAAA;EACvE,MAAAtW,EAAA,kBAAA9C,MAAA,CAAoB2R,KAAM,CAAAA,KAAA,EAAA,CAAA;EAC1B,MAAAU,WAAA,GAAcF,KAAAA,CAAAA,YAAY,MAAMN,cAAA,CAAe,KAAK,CAAG,EAAA,CAACA,cAAc,CAAC,CAAA;EAE3E,sBAAAnE,UAAA,CAAAA,GAAA,CAACkH,EAAA,CAAAA,MAAA,EAAA;IACCyE,MAAO,EAAA,MAAA;IACPC,oBAAoB,EAAA,IAAA;IACpBzE,MAAO,EAAA,cAAA;IACP/R,EAAA;IACA4Q,OAAS,EAAArB,WAAA;IACTtG,KAAO,EAAA,CAAA;IAEP0C,QAAC,EAAA,eAAAf,UAAA,CAAAA,GAAA,CAAA6L,YAAA,EAAA;MAAYhb,KAAc;MAAAoX,QAAA;MAAoB9D;KAAgC;EAAA,CAAA,CACjF;AAEJ;;;;;;;;;;;;;;;;;;;;;;;;;;ECfa,IAAI2H,CAAC,GAACC,MAAM,CAACC,GAAG,CAAC,eAAe,CAAC;IAACC,CAAC,GAACF,MAAM,CAACC,GAAG,CAAC,cAAc,CAAC;IAACE,CAAC,GAACH,MAAM,CAACC,GAAG,CAAC,gBAAgB,CAAC;IAACnV,CAAC,GAACkV,MAAM,CAACC,GAAG,CAAC,mBAAmB,CAAC;IAACG,CAAC,GAACJ,MAAM,CAACC,GAAG,CAAC,gBAAgB,CAAC;IAACI,CAAC,GAACL,MAAM,CAACC,GAAG,CAAC,gBAAgB,CAAC;IAACK,CAAC,GAACN,MAAM,CAACC,GAAG,CAAC,eAAe,CAAC;IAACM,CAAC,GAACP,MAAM,CAACC,GAAG,CAAC,sBAAsB,CAAC;IAACO,CAAC,GAACR,MAAM,CAACC,GAAG,CAAC,mBAAmB,CAAC;IAACQ,CAAC,GAACT,MAAM,CAACC,GAAG,CAAC,gBAAgB,CAAC;IAACS,CAAC,GAACV,MAAM,CAACC,GAAG,CAAC,qBAAqB,CAAC;IAACU,CAAC,GAACX,MAAM,CAACC,GAAG,CAAC,YAAY,CAAC;IAACW,CAAC,GAACZ,MAAM,CAACC,GAAG,CAAC,YAAY,CAAC;IAACY,CAAC,GAACb,MAAM,CAACC,GAAG,CAAC,iBAAiB,CAAC;IAACa,CAAC;EAACA,CAAC,GAACd,MAAM,CAACC,GAAG,CAAC,wBAAwB,CAAC;EACjf,SAAS1O,CAACA,CAACwP,CAAC,EAAC;IAAC,IAAG,QAAQ,KAAG,OAAOA,CAAC,IAAE,IAAI,KAAGA,CAAC,EAAC;MAAC,IAAIC,CAAC,GAACD,CAAC,CAACE,QAAQ;MAAC,QAAOD,CAAC;QAAE,KAAKjB,CAAC;UAAC,QAAOgB,CAAC,GAACA,CAAC,CAAC3X,IAAI,EAAC2X,CAAC;YAAE,KAAKZ,CAAC;YAAC,KAAKC,CAAC;YAAC,KAAKtV,CAAC;YAAC,KAAK2V,CAAC;YAAC,KAAKC,CAAC;cAAC,OAAOK,CAAC;YAAC;cAAQ,QAAOA,CAAC,GAACA,CAAC,IAAEA,CAAC,CAACE,QAAQ,EAACF,CAAC;gBAAE,KAAKR,CAAC;gBAAC,KAAKD,CAAC;gBAAC,KAAKE,CAAC;gBAAC,KAAKI,CAAC;gBAAC,KAAKD,CAAC;gBAAC,KAAKN,CAAC;kBAAC,OAAOU,CAAC;gBAAC;kBAAQ,OAAOC,CAAC;cAAA;UAAC;QAAC,KAAKd,CAAC;UAAC,OAAOc,CAAC;MAAA;IAAC;EAAC;EAACE,sBAAuB,CAAAC,eAAA,GAACb,CAAC;EAACY,sCAAuB,GAACb,CAAC;EAACa,sBAAA,CAAAE,OAAe,GAACrB,CAAC;EAACmB,sBAAA,CAAAG,UAAkB,GAACb,CAAC;EAACU,sBAAgB,CAAAnI,QAAA,GAACoH,CAAC;EAACe,sBAAA,CAAAI,IAAY,GAACV,CAAC;EAACM,sBAAY,CAAAK,IAAA,GAACZ,CAAC;EAACO,sBAAc,CAAAM,MAAA,GAACtB,CAAC;EAACgB,+BAAgB,GAACd,CAAC;EAACc,sBAAA,CAAAO,UAAkB,GAAC3W,CAAC;EAACoW,sBAAgB,CAAAvK,QAAA,GAAC8J,CAAC;EACjeS,sBAAA,CAAAQ,YAAoB,GAAChB,CAAC;EAACQ,sBAAA,CAAAS,WAAmB,GAAC,YAAU;IAAC,OAAM,CAAC,CAAC;EAAA,CAAC;EAACT,uCAAwB,GAAC,YAAU;IAAC,OAAM,CAAC,CAAC;EAAA,CAAC;EAACA,sBAAyB,CAAAU,iBAAA,GAAC,UAASb,CAAC,EAAC;IAAC,OAAOxP,CAAC,CAACwP,CAAC,CAAC,KAAGT,CAAC;EAAA,CAAC;EAACY,sBAAyB,CAAAW,iBAAA,GAAC,UAASd,CAAC,EAAC;IAAC,OAAOxP,CAAC,CAACwP,CAAC,CAAC,KAAGV,CAAC;EAAA,CAAC;EAACa,sBAAiB,CAAAY,SAAA,GAAC,UAASf,CAAC,EAAC;IAAC,OAAM,QAAQ,KAAG,OAAOA,CAAC,IAAE,IAAI,KAAGA,CAAC,IAAEA,CAAC,CAACE,QAAQ,KAAGlB,CAAC;EAAA,CAAC;EAACmB,sBAAoB,CAAAa,YAAA,GAAC,UAAShB,CAAC,EAAC;IAAC,OAAOxP,CAAC,CAACwP,CAAC,CAAC,KAAGP,CAAC;EAAA,CAAC;EAACU,sBAAkB,CAAAc,UAAA,GAAC,UAASjB,CAAC,EAAC;IAAC,OAAOxP,CAAC,CAACwP,CAAC,CAAC,KAAGZ,CAAC;EAAA,CAAC;EAACe,sBAAc,CAAAe,MAAA,GAAC,UAASlB,CAAC,EAAC;IAAC,OAAOxP,CAAC,CAACwP,CAAC,CAAC,KAAGH,CAAC;EAAA,CAAC;EAACM,sBAAc,CAAAgB,MAAA,GAAC,UAASnB,CAAC,EAAC;IAAC,OAAOxP,CAAC,CAACwP,CAAC,CAAC,KAAGJ,CAAC;EAAA,CAAC;EACxeO,sBAAA,CAAAiB,QAAgB,GAAC,UAASpB,CAAC,EAAC;IAAC,OAAOxP,CAAC,CAACwP,CAAC,CAAC,KAAGb,CAAC;EAAA,CAAC;EAACgB,iCAAkB,GAAC,UAASH,CAAC,EAAC;IAAC,OAAOxP,CAAC,CAACwP,CAAC,CAAC,KAAGX,CAAC;EAAA,CAAC;EAACc,sBAAoB,CAAAkB,YAAA,GAAC,UAASrB,CAAC,EAAC;IAAC,OAAOxP,CAAC,CAACwP,CAAC,CAAC,KAAGjW,CAAC;EAAA,CAAC;EAACoW,sBAAA,CAAAmB,UAAkB,GAAC,UAAStB,CAAC,EAAC;IAAC,OAAOxP,CAAC,CAACwP,CAAC,CAAC,KAAGN,CAAC;EAAA,CAAC;EAACS,sBAAA,CAAAoB,cAAsB,GAAC,UAASvB,CAAC,EAAC;IAAC,OAAOxP,CAAC,CAACwP,CAAC,CAAC,KAAGL,CAAC;EAAA,CAAC;EACzNQ,sBAAA,CAAAqB,kBAAA,GAAC,UAASxB,CAAC,EAAC;IAAC,OAAM,QAAQ,KAAG,OAAOA,CAAC,IAAE,UAAU,KAAG,OAAOA,CAAC,IAAEA,CAAC,KAAGZ,CAAC,IAAEY,CAAC,KAAGX,CAAC,IAAEW,CAAC,KAAGjW,CAAC,IAAEiW,CAAC,KAAGN,CAAC,IAAEM,CAAC,KAAGL,CAAC,IAAEK,CAAC,KAAGF,CAAC,IAAE,QAAQ,KAAG,OAAOE,CAAC,IAAE,IAAI,KAAGA,CAAC,KAAGA,CAAC,CAACE,QAAQ,KAAGL,CAAC,IAAEG,CAAC,CAACE,QAAQ,KAAGN,CAAC,IAAEI,CAAC,CAACE,QAAQ,KAAGZ,CAAC,IAAEU,CAAC,CAACE,QAAQ,KAAGX,CAAC,IAAES,CAAC,CAACE,QAAQ,KAAGT,CAAC,IAAEO,CAAC,CAACE,QAAQ,KAAGH,CAAC,IAAE,KAAK,CAAC,KAAGC,CAAC,CAACyB,WAAW,CAAC,GAAC,CAAC,CAAC,GAAC,CAAC,CAAC;EAAA,CAAC;EAACtB,sBAAc,CAAAuB,MAAA,GAAClR,CAAC;;;;;;;;;;;;;;;;;;;ECDlT,IAAImR,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,YAAY,EAAE;IACzC,CAAC,YAAW;MAGd;MACA;MACA;MACA;MACA,IAAIC,kBAAkB,GAAG7C,MAAM,CAACC,GAAG,CAAC,eAAe,CAAC;MACpD,IAAI6C,iBAAiB,GAAG9C,MAAM,CAACC,GAAG,CAAC,cAAc,CAAC;MAClD,IAAI8C,mBAAmB,GAAG/C,MAAM,CAACC,GAAG,CAAC,gBAAgB,CAAC;MACtD,IAAI+C,sBAAsB,GAAGhD,MAAM,CAACC,GAAG,CAAC,mBAAmB,CAAC;MAC5D,IAAIgD,mBAAmB,GAAGjD,MAAM,CAACC,GAAG,CAAC,gBAAgB,CAAC;MACtD,IAAIiD,mBAAmB,GAAGlD,MAAM,CAACC,GAAG,CAAC,gBAAgB,CAAC;MACtD,IAAIkD,kBAAkB,GAAGnD,MAAM,CAACC,GAAG,CAAC,eAAe,CAAC;MACpD,IAAImD,yBAAyB,GAAGpD,MAAM,CAACC,GAAG,CAAC,sBAAsB,CAAC;MAClE,IAAIoD,sBAAsB,GAAGrD,MAAM,CAACC,GAAG,CAAC,mBAAmB,CAAC;MAC5D,IAAIqD,mBAAmB,GAAGtD,MAAM,CAACC,GAAG,CAAC,gBAAgB,CAAC;MACtD,IAAIsD,wBAAwB,GAAGvD,MAAM,CAACC,GAAG,CAAC,qBAAqB,CAAC;MAChE,IAAIuD,eAAe,GAAGxD,MAAM,CAACC,GAAG,CAAC,YAAY,CAAC;MAC9C,IAAIwD,eAAe,GAAGzD,MAAM,CAACC,GAAG,CAAC,YAAY,CAAC;MAC9C,IAAIyD,oBAAoB,GAAG1D,MAAM,CAACC,GAAG,CAAC,iBAAiB,CAAC;;MAExD;;MAEA,IAAI0D,cAAc,GAAG,KAAK,CAAC,CAAA;MAC3B,IAAIC,kBAAkB,GAAG,KAAK;MAC9B,IAAIC,uBAAuB,GAAG,KAAK,CAAC,CAAA;;MAEpC,IAAIC,kBAAkB,GAAG,KAAK,CAAC,CAAA;MAC/B;MACA;;MAEA,IAAIC,kBAAkB,GAAG,KAAK,CAAC,CAAA;;MAE/B,IAAIC,sBAAsB;MAE1B;QACEA,sBAAsB,GAAGhE,MAAM,CAACC,GAAG,CAAC,wBAAwB,CAAC;MAC9D;MAED,SAASsC,kBAAkBA,CAACnZ,IAAI,EAAE;QAChC,IAAI,OAAOA,IAAI,KAAK,QAAQ,IAAI,OAAOA,IAAI,KAAK,UAAU,EAAE;UAC1D,OAAO,IAAI;QACZ,CAAA,CAAA;;QAGD,IAAIA,IAAI,KAAK2Z,mBAAmB,IAAI3Z,IAAI,KAAK6Z,mBAAmB,IAAIc,kBAAkB,IAAK3a,IAAI,KAAK4Z,sBAAsB,IAAI5Z,IAAI,KAAKka,mBAAmB,IAAIla,IAAI,KAAKma,wBAAwB,IAAIO,kBAAkB,IAAK1a,IAAI,KAAKsa,oBAAoB,IAAIC,cAAc,IAAKC,kBAAkB,IAAKC,uBAAuB,EAAG;UAC7T,OAAO,IAAI;QACZ;QAED,IAAI,OAAOza,IAAI,KAAK,QAAQ,IAAIA,IAAI,KAAK,IAAI,EAAE;UAC7C,IAAIA,IAAI,CAAC6X,QAAQ,KAAKwC,eAAe,IAAIra,IAAI,CAAC6X,QAAQ,KAAKuC,eAAe,IAAIpa,IAAI,CAAC6X,QAAQ,KAAKiC,mBAAmB,IAAI9Z,IAAI,CAAC6X,QAAQ,KAAKkC,kBAAkB,IAAI/Z,IAAI,CAAC6X,QAAQ,KAAKoC,sBAAsB;UAAA;UAC3M;UACA;UACA;UACIja,IAAI,CAAC6X,QAAQ,KAAK+C,sBAAsB,IAAI5a,IAAI,CAACoZ,WAAW,KAAKjX,SAAS,EAAE;YAC1E,OAAO,IAAI;UACZ;QACF;QAED,OAAO,KAAK;MACb;MAED,SAASkX,MAAMA,CAACwB,MAAM,EAAE;QACtB,IAAI,OAAOA,MAAM,KAAK,QAAQ,IAAIA,MAAM,KAAK,IAAI,EAAE;UACjD,IAAIhD,QAAQ,GAAGgD,MAAM,CAAChD,QAAQ;UAE9B,QAAQA,QAAQ;YACd,KAAK4B,kBAAkB;cACrB,IAAIzZ,IAAI,GAAG6a,MAAM,CAAC7a,IAAI;cAEtB,QAAQA,IAAI;gBACV,KAAK2Z,mBAAmB;gBACxB,KAAKE,mBAAmB;gBACxB,KAAKD,sBAAsB;gBAC3B,KAAKM,mBAAmB;gBACxB,KAAKC,wBAAwB;kBAC3B,OAAOna,IAAI;gBAEb;kBACE,IAAI8a,YAAY,GAAG9a,IAAI,IAAIA,IAAI,CAAC6X,QAAQ;kBAExC,QAAQiD,YAAY;oBAClB,KAAKd,yBAAyB;oBAC9B,KAAKD,kBAAkB;oBACvB,KAAKE,sBAAsB;oBAC3B,KAAKI,eAAe;oBACpB,KAAKD,eAAe;oBACpB,KAAKN,mBAAmB;sBACtB,OAAOgB,YAAY;oBAErB;sBACE,OAAOjD,QAAQ;kBAAC;cACnB;YAIP,KAAK6B,iBAAiB;cACpB,OAAO7B,QAAQ;UAAC;QAErB;QAED,OAAO1V,SAAS;MACjB;MACD,IAAI4V,eAAe,GAAGgC,kBAAkB;MACxC,IAAIgB,eAAe,GAAGjB,mBAAmB;MACzC,IAAI9B,OAAO,GAAGyB,kBAAkB;MAChC,IAAIxB,UAAU,GAAGgC,sBAAsB;MACvC,IAAItK,QAAQ,GAAGgK,mBAAmB;MAClC,IAAIzB,IAAI,GAAGmC,eAAe;MAC1B,IAAIlC,IAAI,GAAGiC,eAAe;MAC1B,IAAIhC,MAAM,GAAGsB,iBAAiB;MAC9B,IAAIsB,QAAQ,GAAGnB,mBAAmB;MAClC,IAAIxB,UAAU,GAAGuB,sBAAsB;MACvC,IAAIrM,QAAQ,GAAG2M,mBAAmB;MAClC,IAAI5B,YAAY,GAAG6B,wBAAwB;MAC3C,IAAIc,mCAAmC,GAAG,KAAK;MAC/C,IAAIC,wCAAwC,GAAG,KAAK,CAAC,CAAA;;MAErD,SAAS3C,WAAWA,CAACsC,MAAM,EAAE;QAC3B;UACE,IAAI,CAACI,mCAAmC,EAAE;YACxCA,mCAAmC,GAAG,IAAI,CAAC,CAAA;;YAE3CtZ,OAAO,CAAC,MAAM,CAAC,CAAC,uDAAuD,GAAG,mCAAmC,CAAC;UAC/G;QACF;QAED,OAAO,KAAK;MACb;MACD,SAASwZ,gBAAgBA,CAACN,MAAM,EAAE;QAChC;UACE,IAAI,CAACK,wCAAwC,EAAE;YAC7CA,wCAAwC,GAAG,IAAI,CAAC,CAAA;;YAEhDvZ,OAAO,CAAC,MAAM,CAAC,CAAC,4DAA4D,GAAG,mCAAmC,CAAC;UACpH;QACF;QAED,OAAO,KAAK;MACb;MACD,SAAS6W,iBAAiBA,CAACqC,MAAM,EAAE;QACjC,OAAOxB,MAAM,CAACwB,MAAM,CAAC,KAAKd,kBAAkB;MAC7C;MACD,SAAStB,iBAAiBA,CAACoC,MAAM,EAAE;QACjC,OAAOxB,MAAM,CAACwB,MAAM,CAAC,KAAKf,mBAAmB;MAC9C;MACD,SAASpB,SAASA,CAACmC,MAAM,EAAE;QACzB,OAAO,OAAOA,MAAM,KAAK,QAAQ,IAAIA,MAAM,KAAK,IAAI,IAAIA,MAAM,CAAChD,QAAQ,KAAK4B,kBAAkB;MAC/F;MACD,SAASd,YAAYA,CAACkC,MAAM,EAAE;QAC5B,OAAOxB,MAAM,CAACwB,MAAM,CAAC,KAAKZ,sBAAsB;MACjD;MACD,SAASrB,UAAUA,CAACiC,MAAM,EAAE;QAC1B,OAAOxB,MAAM,CAACwB,MAAM,CAAC,KAAKlB,mBAAmB;MAC9C;MACD,SAASd,MAAMA,CAACgC,MAAM,EAAE;QACtB,OAAOxB,MAAM,CAACwB,MAAM,CAAC,KAAKR,eAAe;MAC1C;MACD,SAASvB,MAAMA,CAAC+B,MAAM,EAAE;QACtB,OAAOxB,MAAM,CAACwB,MAAM,CAAC,KAAKT,eAAe;MAC1C;MACD,SAASrB,QAAQA,CAAC8B,MAAM,EAAE;QACxB,OAAOxB,MAAM,CAACwB,MAAM,CAAC,KAAKnB,iBAAiB;MAC5C;MACD,SAAS0B,UAAUA,CAACP,MAAM,EAAE;QAC1B,OAAOxB,MAAM,CAACwB,MAAM,CAAC,KAAKhB,mBAAmB;MAC9C;MACD,SAASb,YAAYA,CAAC6B,MAAM,EAAE;QAC5B,OAAOxB,MAAM,CAACwB,MAAM,CAAC,KAAKjB,sBAAsB;MACjD;MACD,SAASX,UAAUA,CAAC4B,MAAM,EAAE;QAC1B,OAAOxB,MAAM,CAACwB,MAAM,CAAC,KAAKX,mBAAmB;MAC9C;MACD,SAAShB,cAAcA,CAAC2B,MAAM,EAAE;QAC9B,OAAOxB,MAAM,CAACwB,MAAM,CAAC,KAAKV,wBAAwB;MACnD;MAEsBkB,mBAAA,CAAAtD,eAAA,GAAGA,eAAe;MAClBsD,mBAAA,CAAAN,eAAA,GAAGA,eAAe;MAC1BM,mBAAA,CAAArD,OAAA,GAAGA,OAAO;MACPqD,mBAAA,CAAApD,UAAA,GAAGA,UAAU;MACfoD,mBAAA,CAAA1L,QAAA,GAAGA,QAAQ;MACf0L,mBAAA,CAAAnD,IAAA,GAAGA,IAAI;MACPmD,mBAAA,CAAAlD,IAAA,GAAGA,IAAI;MACLkD,mBAAA,CAAAjD,MAAA,GAAGA,MAAM;MACPiD,mBAAA,CAAAL,QAAA,GAAGA,QAAQ;MACTK,mBAAA,CAAAhD,UAAA,GAAGA,UAAU;MACfgD,mBAAA,CAAA9N,QAAA,GAAGA,QAAQ;MACP8N,mBAAA,CAAA/C,YAAA,GAAGA,YAAY;MAChB+C,mBAAA,CAAA9C,WAAA,GAAGA,WAAW;MACT8C,mBAAA,CAAAF,gBAAA,GAAGA,gBAAgB;MAClBE,mBAAA,CAAA7C,iBAAA,GAAGA,iBAAiB;MACpB6C,mBAAA,CAAA5C,iBAAA,GAAGA,iBAAiB;MAC5B4C,mBAAA,CAAA3C,SAAA,GAAGA,SAAS;MACT2C,mBAAA,CAAA1C,YAAA,GAAGA,YAAY;MACjB0C,mBAAA,CAAAzC,UAAA,GAAGA,UAAU;MACjByC,mBAAA,CAAAxC,MAAA,GAAGA,MAAM;MACTwC,mBAAA,CAAAvC,MAAA,GAAGA,MAAM;MACPuC,mBAAA,CAAAtC,QAAA,GAAGA,QAAQ;MACTsC,mBAAA,CAAAD,UAAA,GAAGA,UAAU;MACXC,mBAAA,CAAArC,YAAA,GAAGA,YAAY;MACjBqC,mBAAA,CAAApC,UAAA,GAAGA,UAAU;MACToC,mBAAA,CAAAnC,cAAA,GAAGA,cAAc;MACbmC,mBAAA,CAAAlC,kBAAA,GAAGA,kBAAkB;MACjCkC,mBAAA,CAAAhC,MAAA,GAAGA,MAAM;IACvB,CAAG,GAAG;EACN;;;;EC1NA,IAAIC,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,YAAY,EAAE;IACzC8B,MAAA,CAAAC,OAAA,GAAiBC,+BAA2C;EAC9D,CAAC,MAAM;IACLF,MAAA,CAAAC,OAAA,GAAiBE,4BAAwC;EAC3D;;ACLO,SAASC,qBAAqBC,MAAgD,EAAA;EAC5E,sBAAAxe,MAAA,CAAewe,MAAO,CAAAzS,KAAA,SAAA/L,MAAA,CAAWwe,MAAO,CAAAC,KAAA;AACjD;AAEO,SAASC,eAAejW,IAIpB,EAAA;EACT,MAAM;IAACkW,IAAA;IAAMH,MAAQ;IAAAI;EAAA,CAAa,GAAAnW,IAAA;EAC5B,MAAAoW,oBAAA,GAAuBD,SAAU,CAAAE,MAAA,GAASF,SAAU,CAAA7S,KAAA;EACpD,MAAAgT,mBAAA,GAAsB,IAAIH,SAAU,CAAAE,MAAA;EACpC,MAAAE,OAAA,GAAUL,IAAO,GAAAA,IAAA,CAAKM,EAAK,GAAA,sBAAA;EAE1B,OAAA,CACLF,mBAAA,GAAsB,2BAAoBA,mBAAA,oCAAA,EAC1CP,MAAA,IAAUD,qBAAqBC,MAAM,CAAA,EACrCO,mBAAsB,GAAA,CAAA,aAAA/e,MAAA,CAAc,CAAA,GAAI+e,mBAAyB,SAAA/e,MAAA,CAAAgf,OAAA,CAAA,EACjEH,oBAAA,GAAuB,qBAAcA,oBAAA,oCAAA,CAEpC,CAAA1U,MAAA,CAAO7I,OAAO,CAAA,CACd4d,KAAK,GAAG,CAAA;AACb;AClBO,MAAMC,aAAatR,eAAAA,CAAAA,OAAO,CAAAuF,EAAAA,CAAAA,QAAQ,EAAEgM,MAAA,IAA6B;EAAA,IAA5B;IAACC;GAA2B,GAAAD,MAAA;EAChE,MAAA;IAACR;EAAS,CAAA,GAAIS,KAAM,CAAAC,MAAA;EACpB,MAAAX,IAAA,GAAOU,KAAM,CAAAC,MAAA,CAAOb,KAAM,CAAAE,IAAA;EAChC,MAAMH,MAAS,GAAA;IAACzS,KAAO,EAAA,CAAA;IAAG0S,OAAO;EAA0B,CAAA;EAEpD,OAAAc,UAAA,CAAAC,gBAAA,KAAAA,gBAAA,GAAAxR,sBAAA,mbAKa0Q,cAAe,CAAA;IAACC,IAAM;IAAAH,MAAA;IAAQI;EAAU,CAAA,CAAA;AAoB9D,CAAC,CAAA;ACrBM,MAAMa,oBAAoBC,cAAM,CAAA3f,OAAA,CAAA4f,UAAA,CAAW,SAASF,kBAAAA,CACzD/N,OAEAkO,YACA,EAAA;EACM,MAAA;IACJhN,IAAA;IACA9P,EAAI,EAAA+c,MAAA;IACJC,MAAA;IACAC,OAAA;IACAC,QAAA;IACAC,QAAA;IACA9J,QAAA;IACAnD,OAAU,GAAA,CAAA;IACV1E,KAAQ,GAAA,CAAA;IACR4R,SAAA;IACA5M,IAAA;IACAyC,QAAA;IACA,GAAGoK;EACD,CAAA,GAAAzO,KAAA;EACJ,MAAM0O,SAASzO,KAAAA,CAAAA,KAAM,EAAA;EACrB,MAAM7O,KAAK+c,MAAU,IAAAO,MAAA;EAErB,MAAMC,eAAeX,cAAAA,CAAAA,OAAM,CAAAvN,WAAA,CACxBtL,KAA+C,IAAA;IAC1C,IAAAsP,QAAA,IAAYtP,KAAM,CAAAyZ,MAAA,CAAOzX,KAAO,EAAA;MAClCsN,QAAA,CAASrN,KAAM,CAAAhC,IAAA,CAAKD,KAAM,CAAAyZ,MAAA,CAAOzX,KAAK,CAAC,CAAA;IACzC;EACF,CAAA,EACA,CAACsN,QAAQ,CAAA,CACX;EAEA,MAAMoK,yBACHnS,eAAA,CAAAiH,EAAAA,CAAAA,IAAA,EAAA;IAAKE,OAAM,QAAS;IAAAoB,OAAA,EAAQ;IAAa3D,OAEvC;IAAAvE,QAAA,EAAA,CACCmE,IAAA,IAAA,eAAAlF,UAAA,CAAAA,GAAA,CAACiC;MAAI6Q,WAAa,EAAAlN,IAAA,GAAOhF,QAAQ,KAC/B,CAAA;MAAAG,QAAA,EAAA,eAAAL,UAAA,CAAAA,IAAA,CAACyH,EAAK,CAAAA,IAAA,EAAA;QAAA4K,IAAA,EAAMT,QACT;QAAAvR,QAAA,EAAA,CAAAiS,KAAA,CAAAA,cAAA,CAAe9N,IAAI,CAAK,IAAAA,IAAA,EACxBoJ,cAAAA,CAAAA,kBAAmB,CAAApJ,IAAI,CAAK,IAAA+N,KAAA,CAAAA,aAAA,CAAc/N,IAAI,CAAA;MAAA,CACjD;IACF,CAAA,CAAA,EAIDU,IAAA,kCACEuC,OAAK,EAAA;MAAAN,KAAA,EAAO2K;MAAWO,IAAM,EAAAT,QAAA;MAAUY,YAAa,EAAA,UAAA;MAClDnS,QACH,EAAA6E;IAAA,CAAA,CAAA;EAEJ,CAAA,CAAA;EAIA,sBAAAlF,UAAA,CAAAA,IAAA,CAAC+Q,UAAA,EAAA;IACE,GAAGgB,IAAA;IACJU,OAAS,EAAA/d,EAAA;IACTkQ,OAAS,EAAA,CAAA;IACTgN,QAAU,EAAA,CAAA;IACVjK,QAAA;IACA5C,GAAK,EAAAyM,YAAA;IAEJnR,QAAA,EAAA,CAAA8R,OAAA,EAAA,eAGD7S,UAAA,CAAAA,GAAA,CAAC,OAAA,EAAA;MACC,aAAY,EAAA,mBAAA;MACZoS,MAAA;MACAC,OAAA;MACAjd,EAAA;MACAmd,QAAA;MACAtK,QAAU,EAAA0K,YAAA;MACVxd,IAAK,EAAA,MAAA;MACL1B,KAAM,EAAA,EAAA;MACN4U;IAAA,CAAA,CACF;EAAA,CAAA,CACF;AAEJ,CAAC,CAAA;AC5DD,MAAM+K,QAAA,GAAWjT,eAAAA,CAAAA,QAAO2B,EAAAA,CAAAA,IAAI,CAAA,CAAAuR,gBAAA,KAAAA,gBAAA,GAAA/S,sBAAA,gIAAA;AAS5B,MAAMgT,UAAA,GAAanT,eAAAA,CAAAA,QAAO8E,EAAAA,CAAAA,MAAM,CAAA,CAAAsO,iBAAA,KAAAA,iBAAA,GAAAjT,sBAAA,uDAAA;AAWhC,SAASkT,kBAAkBxP,KAAc,EAAA;EACvC,MAAM;IAACnT,KAAO;IAAA4iB,QAAA;IAAUvP;IAAaC,cAAgB;IAAA8D,QAAA;IAAUyL;EAAY,CAAA,GAAA1P,KAAA;EAC3E,MAAM,CAACI,IAAA,EAAMC,OAAO,CAAA,GAAIhT,eAAS,KAAK,CAAA;EACtC,MAAM,CAACiT,WAAA,EAAaC,UAAU,CAAA,GAAIlT,eAAgC,IAAI,CAAA;EAChE,MAAAsiB,QAAA,GAAW5hB,cAAQ,MAAMgM,iBAAA,CAAkBlN,KAAK,CAAM,KAAA,QAAA,EAAU,CAACA,KAAK,CAAC,CAAA;EAE7E,MAAM+iB,OAAU,GAAAnP,KAAAA,CAAAA,WAAA,CAAY,MAAMwD,QAAA,CAASoD,MAAAA,CAAAA,WAAWjS,IAAK,CAAAya,MAAA,CAAAA,KAAA,CAAM,EAAE,CAAC,CAAC,CAAG,EAAA,CAAC5L,QAAQ,CAAC,CAAA;EAElFrD,KAAAA,CAAAA,SAAA,CAAU,MAAM;IACd,IAAIR,QAAQF,WAAa,EAAA;MACvBG,OAAA,CAAQ,KAAK,CAAA;IACf;EAAA,CACC,EAAA,CAACH,WAAa,EAAAE,IAAI,CAAC,CAAA;EAEtBS,EAAA,CAAAA,eAAA,CACEJ,KAAAA,CAAAA,YAAY,MAAMJ,OAAA,CAAQ,KAAK,CAAA,EAAG,EAAE,CAAA,EACpC,CAACC,WAAW,CAAA,CACd;EAEA,OACG5D,eAAAA,UAAAA,CAAAA,IAAA,CAAAC,EAAAA,CAAAA,MAAA,EAAA;IAAOC,KAAO,EAAA,CAAA;IAAG0E,SAAS,CACxB;IAAAvE,QAAA,EAAA,CACC4S,QAAA,mBAAA3T,UAAA,CAAAA,GAAA,CAAC8T,EAAA,CAAAA,OAAA,EAAA;MACCjB,OACE,EAAA,eAAA7S,UAAA,CAAAA,GAAA,CAACiC,MAAI,EAAA;QAAAqD,OAAA,EAAS,CACZ;QAAAvE,QAAA,EAAA,eAAAf,cAAA,CAACmI,EAAAA,CAAAA,IAAK,EAAA;UAAA5E,KAAA,EAAK,IAAC;UAAAwP,IAAA,EAAM,CAAG;UAAAhS,QAAA,EAAA;QAErB,CAAA;OACF,CAAA;MAEF+E,SAAU,EAAA,OAAA;MACVD,MAAM,EAAA,IAAA;MAEN9E,wCAACqS,QAAS,EAAA;QAAArR,MAAA,EAAQ;QAAGqG,MAAQ,EAAA,CAAA;QAAGuD,QAAO,MAAO;QAAAnI,IAAA,EAAK,UACjD;QAAAzC,QAAA,EAAA,eAAAf,cAAA,CAACsT;UAAWpO,IAAM,EAAAlE,KAAA,CAAAA,QAAA;UAAUoE,MAAK,OAAQ;UAAA5B,IAAA,EAAK;QAAW,CAAA;OAC3D;IAAA,CAAA,CACF,EAED,CAACiQ,QAAA,IAAA,eACCzT,UAAA,CAAAA,GAAA,CAAAiF,SAAA,EAAA;MAAOC,IAAM,EAAA6O,KAAA,CAAAA,QAAA;MAAU3O,IAAK,EAAA,OAAA;MAAQC,OAAS,EAAAA,CAAA,KAAMlB,cAAe,CAAA,gBAAgB;IAAG,CAAA,CAAA,EAAA,eAExFnE,UAAA,CAAAA,GAAA,CAACgU,EAAA,CAAAA,OAAA,EAAA;MACCnB,OACE,EAAA,eAAAnS,UAAA,CAAAA,IAAA,CAAC8E,EAAK,CAAAA,IAAA,EAAA;QAAAC,GAAA,EAAKlB,UACT;QAAAxD,QAAA,EAAA,CAAA,eAACf,UAAA,CAAAA,GAAA,CAAAiC,EAAA,CAAAA,GAAA,EAAA;UAAIqD,OAAS,EAAA,CAAA;UACZvE,QAAC,EAAAf,eAAAA,UAAAA,CAAAA,GAAA,CAAAiU,EAAA,CAAAA,KAAA,EAAA;YAAM1Q,OAAK,IAAC;YAAAwP,IAAA,EAAM,CAAG;YAAAhS,QAAA,EAAA;UAEtB,CAAA;SACF,CAAA,EAAA,eACAf,UAAA,CAAAA,GAAA,CAAC+R,iBAAA,EAAA;UACCK,MAAO,EAAA,SAAA;UACPlN,IAAM,EAAAgP,KAAA,CAAAA,UAAA;UACN9O,IAAK,EAAA,OAAA;UACLqD,QAAU,EAAAiL,QAAA;UACV9N,IAAK,EAAA,QAAA;UACLyC,QAAU,EAAAoL,QAAA;UACVnB,QAAU,EAAA;QAAA,CAAA,CACZ,EAAA,eACAtS,UAAA,CAAAA,GAAA,CAAC0F,EAAA,CAAAA,QAAA,EAAA;UACCR,IAAM,EAAAiP,KAAA,CAAAA,UAAA;UACNvO,IAAK,EAAA,QAAA;UACLP,OAAA,EAASA,CAAA,KAAMlB,cAAA,CAAe,cAAc;QAAA,CAAA,CAC9C,EAAA,8BACCiQ,EAAY,CAAAA,WAAA,EAAA,EAAA,CAAA,EAAA,eACbpU,UAAA,CAAAA,GAAA,CAAC0F,EAAA,CAAAA,QAAA,EAAA;UACCR,IAAM,EAAAmP,KAAA,CAAAA,QAAA;UACNzO,IAAK,EAAA,eAAA;UACLP,OAAA,EAASA,CAAA,KAAMlB,cAAA,CAAe,SAAS;QAAA,CAAA,CACzC,EAAA,8BACCiQ,EAAY,CAAAA,WAAA,EAAA,EAAA,CAAA,EAAA,eACbpU,UAAA,CAAAA,GAAA,CAAC0F,EAAA,CAAAA,QAAA,EAAA;UACClC,IAAK,EAAA,UAAA;UACL0B,IAAM,EAAAoP,KAAA,CAAAA,SAAA;UACN1O,IAAK,EAAA,aAAA;UACLP,OAAS,EAAAuO,OAAA;UACTvL,QAAU,EAAAoL;QAAA,CAAA,CACZ;OACF,CAAA;MAEF5N,MAAM,EAAA,IAAA;MACNzB,IAAA;MAEArD,QAAA,iBAAAf,UAAA,CAAAA,GAAA,CAACiF,EAAA,CAAAA,MAAA,EAAA;QACCC,IAAM,EAAAC,KAAA,CAAAA,oBAAA;QACNC,IAAK,EAAA,OAAA;QACLC,SAASA,CAAA,KAAM;UACblB,cAAA,CAAe,KAAK,CAAA;UACpBE,OAAA,CAAQ,IAAI,CAAA;QACd;MAAA,CAAA;IACF,CAAA,CACF;EACF,CAAA,CAAA;AAEJ;AAEA,IAAe/E,mBAAAA,GAAAA,KAAAA,CAAAA,KAAKkU,iBAAiB,CAAA;AC7I9B,SAASe,cAAqBC,SAAiC,EAAA;EACpE,OAAOrU,eAAAA,CAAAA,QAAOqU,SAA2B,CAAA,CACtCxQ,KAA6C,IAAA;IAC5C,MAAM8M,MAAS,GAAA;MACbzS,KAAA,EAAO2F,KAAM,CAAAyQ,OAAA,GAAU,CAAI,GAAA,CAAA;MAC3B1D,KAAO,EAAA;IAAA,CACT;IAEO,OAAAc,UAAA,CAAA6C,iBAAA,KAAAA,iBAAA,GAAApU,sBAAA,8OACsBuQ,qBAAqBC,MAAM,CAAA,EAErC6D,EAAAA,CAAAA,IAAI3Q,KAAM,CAAA2N,KAAA,CAAMC,MAAO,CAAA7P,MAAA,CAAO,CAAC,CAAC,CAAA,EAKpBiP,cAAe,CAAA;MACxCC,IAAM,EAAAjN,KAAA,CAAM2N,KAAM,CAAAC,MAAA,CAAOb,KAAM,CAAAE,IAAA;MAC/BH,MAAA;MACAI,SAAA,EAAWlN,KAAM,CAAA2N,KAAA,CAAMC,MAAO,CAAAV;IAAA,CAC/B,CAAA;EAGP,CAAA,CACF;AACF;ACxBA,MAAM0D,OAAU,GAAA,EAAA;AAChB,MAAMC,MAAS,GAAA,EAAA;AAEf,MAAMC,uBAAA,GAA0BP,cAAczS,EAAAA,CAAAA,IAAI,CAAA;AAW3C,MAAMiT,YAAa,GAAA9C,KAAA,CAAAA,UAAA,CACxB,CAAA+C,MAAA,EAA0E9C,YAAiB,KAAA;EAAA,IAA1F;IAACnR,QAAA;IAAUyC,IAAM;IAAAyR,OAAA;IAASC;IAAQC,WAAa;IAAAC,WAAA;IAAaC;EAAU,CAAA,GAAAL,MAAA;EAC/D,MAAAM,QAAA,GAAW9L,aAAO,KAAK,CAAA;EACvB,MAAA+L,QAAA,GAAW/L,aAAyB,IAAI,CAAA;EACxC,MAAAgM,aAAA,GAAgB/Q,iBAAwD,CAACtL,KAAU,IAAA;IACvF,IAAIA,KAAM,CAAAsc,OAAA,IAAWb,OAAW,IAAAzb,KAAA,CAAMsc,WAAWZ,MAAQ,EAAA;MACvDS,QAAA,CAAS5L,OAAU,GAAA,IAAA;IACrB;IACA,MAAMgM,IAAO,GAAA,EAAA;IACb,IAAIJ,QAAS,CAAA5L,OAAA,IAAWvQ,KAAM,CAAAsc,OAAA,IAAWC,IAAM,EAAA;MAC7CH,QAAA,CAAS7L,QAASiM,KAAM,EAAA;IAC1B;EACF,CAAA,EAAG,EAAE,CAAA;EACC,MAAAC,WAAA,GAAcnR,iBAAwD,CAACtL,KAAU,IAAA;IACrF,IAAIA,KAAM,CAAAsc,OAAA,IAAWb,OAAW,IAAAzb,KAAA,CAAMsc,WAAWZ,MAAQ,EAAA;MACvDS,QAAA,CAAS5L,OAAU,GAAA,KAAA;IACrB;EACF,CAAA,EAAG,EAAE,CAAA;EAGH,sBAAAhJ,UAAA,CAAAA,IAAA,CAACoU,uBAAA,EAAA;IACCtR,IAAA;IACApF,MAAO,EAAA,MAAA;IACPqH,GAAK,EAAAyM,YAAA;IACL5M,OAAS,EAAA,CAAA;IACTvD,MAAQ,EAAA,CAAA;IACR8T,MAAQ,EAAA,CAAA;IACRhM,QAAU,EAAA,CAAA;IACViM,SAAW,EAAAN,aAAA;IACXO,OAAS,EAAAH,WAAA;IACTX,OAAA;IACAC,MAAA;IACAC,WAAA;IACAC,WAAA;IACAC,UAAA;IAEAtU,QAAA,EAAA,CAACf,eAAAA,UAAAA,CAAAA,GAAA,CAAAgW,aAAA,EAAA;MAAYvQ,GAAK,EAAA8P,QAAA;MAAUN;IAAkB,CAAA,CAAA,EAC7ClU,QAAA;EAAA,CAAA,CACH;AAEJ,CAAA,CACF;AAEA,MAAMiV,gBAAc7V,eAAO,CAAA9N,OAAA,CAAA2F,KAAA,CAAMie,MAAM;EAAC9gB,IAAA,EAAM;CAAO,CAAA,CAAA+gB,iBAAA,KAAAA,iBAAA,GAAA5V,sBAAA,uHAAA;AC5DrD,MAAM0V,cAAc7V,eAAO,CAAA9N,OAAA,CAAA2F,KAAA,CAAAme,iBAAA,KAAAA,iBAAA,GAAA7V,sBAAA,wHAAA;AAS3B,MAAM2T,QAAQ9T,eAAO,CAAA9N,OAAA,CAAA+jB,KAAA,CAAAC,iBAAA,KAAAA,iBAAA,GAAA/V,sBAAA,iCAAA;AAOd,MAAMgW,kBAAkBC,MAAA,IAAgD;EAAA,IAA/C;IAAC9N,QAAU;IAAA,GAAGzE;GAAiC,GAAAuS,MAAA;EACvE,MAAAC,OAAA,gBAAAlkB,MAAA,CAAuB2R,KAAM,CAAAA,KAAA,EAAA,CAAA;EAC7B,MAAAsR,QAAA,GAAW/L,aAAyB,IAAI,CAAA;EAC9C,MAAM0B,YAAe,GAAAzG,KAAA,CAAAA,WAAA,CAClBtL,KAAU,IAAA;IACT,IAAIsP,QAAU,EAAA;MACHA,QAAA,CAAAtP,KAAA,CAAMyZ,OAAOzX,KAAM,CAAA;IAC9B;EACF,CAAA,EACA,CAACsN,QAAQ,CAAA,CACX;EACM,MAAAgO,iBAAA,GAAoBhS,KAAAA,CAAAA,YAAY,MAAG;IA/B3C,IAAAlT,EAAA;IA+B8C,OAAA,CAAAA,EAAA,GAAAgkB,QAAA,CAAS7L,YAAT,IAAkB,GAAA,KAAA,CAAA,GAAAnY,EAAA,CAAAmlB,KAAA,EAAA;EAAA,CAAA,EAAS,EAAE,CAAA;EAEvE,OAAA,eAAAhW,UAAA,CAAAA,IAAA,CAACuT,KAAM,EAAA;IAAAd,OAAA,EAASqD,OACd;IAAAzV,QAAA,EAAA,CAAA,eAAAf,UAAA,CAAAA,GAAA,CAACgW,WAAA,EAAA;MACC5D,MAAO,EAAA,SAAA;MACP3M,GAAK,EAAA8P,QAAA;MACL1L,QAAU,EAAA,CAAA;MACV1U,IAAK,EAAA,MAAA;MACLC,EAAI,EAAAohB,OAAA;MACJvO,QAAU,EAAAiD,YAAA;MACVzX,KAAM,EAAA;IAAA,CAAA,CACR,EAAA,eACAuM,UAAA,CAAAA,GAAA,CAACiF,EAAA,CAAAA,MAAA,EAAA;MACCI,OAAS,EAAAoR,iBAAA;MACTrR,IAAK,EAAA,SAAA;MACL5B,IAAK,EAAA,SAAA;MACLvD,KAAA,EAAO;QAAC5B,KAAA,EAAO;MAAM,CAAA;MACpB,GAAG2F;IAAA,CAAA,CACN;EACF,CAAA,CAAA;AAEJ,CAAA;AC3CA,MAAM+Q,UAAA,GAAa5U,eAAAA,CAAAA,QAAO2B,EAAAA,CAAAA,IAAI,CAAA,CAAA6U,iBAAA,KAAAA,iBAAA,GAAArW,sBAAA,kDAAA;AAM9B,MAAMsW,eAAA,GAAkBzW,eAAAA,CAAAA,QAAO8B,EAAAA,CAAAA,GAAG,CAAA,CAAA4U,iBAAA,KAAAA,iBAAA,GAAAvW,sBAAA,yDAAA;AAalC,SAAwBwW,kBAAkB9S,KAA+B,EAAA;EACvE,MAAM;IAACG,cAAgB;IAAAsP,QAAA;IAAUhL,QAAU;IAAAsO,QAAA;IAAU3iB;EAAc,CAAA,GAAA4P,KAAA;EAC7D,MAAAgT,YAAA,GAAevS,KAAAA,CAAAA,YAAY,MAAMN,cAAA,CAAe,cAAc,CAAG,EAAA,CAACA,cAAc,CAAC,CAAA;EACjF,MAAA8S,kBAAA,GAAqBxS,KAAAA,CAAAA,YAAY,MAAMN,cAAA,CAAe,SAAS,CAAG,EAAA,CAACA,cAAc,CAAC,CAAA;EAGtF,OAAA,eAAAnE,UAAA,CAAAA,GAAA,CAACiC,EAAI,CAAAA,GAAA,EAAA;IAAAhC,KAAA,EAAO;MAACqF,OAAA,EAAS;MAAGtD,QAAU,EAAA;IAAA,CAAa;IAAA5D,MAAA,EAAO,SACrD;IAAA2C,QAAA,EAAA,eAAAL,UAAA,CAAAA,IAAA,CAACqU,UAAA,EAAA;MACCmC,MAAO,EAAA,QAAA;MACP9Y,MAAO,EAAA,MAAA;MACPoF,IAAA,EAAMiQ,WAAW,aAAgB,GAAA,SAAA;MACjC3C,MAAM,EAAA,IAAA;MACNxL,OAAS,EAAA,CAAA;MACTrF,KAAO,EAAA8W,QAAA,GAAW;QAACI,WAAA,EAAa;OAAiB,GAAA,KAAA,CAAA;MAEjDpW,QAAA,EAAA,CAACf,eAAAA,UAAAA,CAAAA,GAAA,CAAA4W,eAAA,EAAA;QAAgBtR,SAAS,CACxB;QAAAvE,QAAA,EAAA,eAAAf,UAAA,CAAAA,GAAA,CAACiF,EAAA,CAAAA,MAAA,EAAA;UACCK,OAAS,EAAA,CAAA;UACTvD,MAAQ,EAAA,CAAA;UACRyB,IAAA,EAAMpP,aAAa,UAAa,GAAA,KAAA,CAAA;UAChCiR,OAAS,EAAA4R,kBAAA;UACT/R,IAAM,EAAAmP,KAAA,CAAAA,QAAA;UACNjP,IAAK,EAAA;QAAA,CAAA;OAET,CAAA,EAAA,eACA1E,UAAA,CAAAA,IAAA,CAACiH,EAAA,CAAAA,IAAA,EAAA;QACCE,KAAM,EAAA,QAAA;QACNoB,OAAQ,EAAA,eAAA;QACR5B,GAAK,EAAA,CAAA;QACL6B,SAAW,EAAA,CAAC,QAAU,EAAA,QAAA,EAAU,KAAK,CAAA;QACrCxB,QAAU,EAAA,CAAC,CAAG,EAAA,CAAA,EAAG,CAAC,CAAA;QAClBwP,MAAO,EAAA,QAAA;QACP9Y,MAAO,EAAA,MAAA;QAEP2C,QAAA,EAAA,CAACL,eAAAA,UAAAA,CAAAA,IAAA,CAAAiH,EAAA,CAAAA,IAAA,EAAA;UAAKE,OAAM,QAAS;UAAAoB,OAAA,EAAQ;UAAS5B,GAAK,EAAA,CAAA;UAAG+P,MAAM,CAClD;UAAArW,QAAA,EAAA,CAAA,eAACf,UAAA,CAAAA,GAAA,CAAA2H,EAAA,CAAAA,IAAA,EAAA;YAAKsB,OAAQ,EAAA,QAAA;YACZlI,QAAC,EAAAf,eAAAA,UAAAA,CAAAA,GAAA,CAAAmI,EAAA,CAAAA,IAAA,EAAA;cAAK5E,OAAK,IACT;cAAAxC,QAAA,iBAAAf,UAAA,CAAAA,GAAA,CAACqX,KAAkB,CAAAA,iBAAA,EAAA,CAAA,CAAA;YACrB,CAAA;WACF,CAAA,EAAA,eACArX,UAAA,CAAAA,GAAA,CAAC2H,EAAK,CAAAA,IAAA,EAAA;YAAAsB,OAAA,EAAQ,QACZ;YAAAlI,QAAA,EAAAf,eAAAA,UAAAA,CAAAA,GAAA,CAACmI,EAAK,CAAAA,IAAA,EAAA;cAAA4K,IAAA,EAAM,CAAG;cAAAxP,KAAA,EAAK,IAAC;cAAAxC,QAAA,EAAA;YAErB,CAAA;WACF,CAAA;SACF,CAAA,EACAL,eAAAA,UAAAA,CAAAA,IAAA,CAACC,EAAAA,CAAAA,MAAO,EAAA;UAAAC,KAAA,EAAO,CACb;UAAAG,QAAA,EAAA,CAAA,eAAAf,UAAA,CAAAA,GAAA,CAACsW,eAAA,EAAA;YACClR,IAAK,EAAA,OAAA;YACL5B,IAAK,EAAA,SAAA;YACL0B,IAAM,EAAAgP,KAAA,CAAAA,UAAA;YACNtO,IAAK,EAAA,QAAA;YACL6C;UAAA,CAAA,CACF,EACAzI,eAAAA,UAAAA,CAAAA,GAAA,CAACiF;YAAOG,IAAK,EAAA,OAAA;YAAQF,MAAMiP,KAAY,CAAAA,UAAA;YAAAvO,IAAA,EAAK,QAAS;YAAAP,OAAA,EAAS2R;UAAc,CAAA,CAAA;SAC9E,CAAA;MAAA,CAAA,CACF;IAAA,CAAA;EAEJ,CAAA,CAAA;AAEJ;ACjFa,MAAAM,WAAA,GAAcnX,eAAAA,CAAAA,QAAO2B,EAAAA,CAAAA,IAAI,CAAA,CAAAyV,iBAAA,KAAAA,iBAAA,GAAAjX,sBAAA,0DAAA;AAKzB,MAAAkX,WAAA,GAAcrX,eAAAA,CAAAA,QAAOwH,EAAAA,CAAAA,IAAI,CAAA,CAAA8P,iBAAA,KAAAA,iBAAA,GAAAnX,sBAAA,2DAAA;AAKzB,MAAAoX,WAAA,GAAcvX,eAAAA,CAAAA,QAAOqH,EAAAA,CAAAA,KAAK,CAAA,CAAAmQ,iBAAA,KAAAA,iBAAA,GAAArX,sBAAA,gDAAA;AAK1B,MAAAsX,WAAA,GAAczX,eAAAA,CAAAA,QAAO0X,EAAAA,CAAAA,IAAI,CAAA,CAAAC,iBAAA,KAAAA,iBAAA,GAAAxX,sBAAA,uKAAA;AAY/B,MAAMyX,iBAAiBC,MAAA,IAUxB;EAAA,IAVyB;IAC7BC,QAAW,GAAA,GAAA;IACXC,QAAA;IACA5f,QAAA;IACAsN,IAAO,GAAA;EACT,CAKM,GAAAoS,MAAA;EAEF,OAAA,eAAAhY,cAAA,CAACsX;IAAY9T,IAAK,EAAA,SAAA;IAAU8B,SAAS,CAAG;IAAAwL,MAAA,EAAM;IAAC1S,MAAO,EAAA,MAAA;IACpD2C,yCAACyW,WAAY,EAAA;MAAA3P,KAAA,EAAM;MAASoB,OAAQ,EAAA,eAAA;MAAgB7K,QAAO,MAAO;MAAA8K,SAAA,EAAU,KAAM;MAAA7B,GAAA,EAAK,CACrF;MAAAtG,QAAA,EAAA,CAAA,eAAAL,eAAA,CAACgX,WACC,EAAA;QAAA3W,QAAA,EAAA,CAACf,eAAAA,UAAAA,CAAAA,GAAA,CAAA2H,EAAAA,CAAAA,IAAA,EAAA;UAAKsB,SAAQ,QAAS;UAAA5B,GAAA,EAAK,CAAC,CAAG,EAAA,CAAA,EAAG,CAAG,EAAA,CAAC,CAAG;UAAA6B,SAAA,EAAW,CAAC,QAAU,EAAA,QAAA,EAAU,KAAK,CAAA;UAC7EnI,QAAC,EAAAf,eAAAA,UAAAA,CAAAA,GAAA,CAAAmI,EAAA,CAAAA,IAAA,EAAA;YAAK4K,MAAM,CACV;YAAAhS,QAAA,EAAA,eAAAL,UAAA,CAAAA,IAAA,CAACC,EAAO,CAAAA,MAAA,EAAA;cAAAC,KAAA,EAAO,CACZ;cAAAG,QAAA,EAAA,CAAA6E,IAAA,EAAA,8BACAgS,WAAY,EAAA;gBAAA7E,IAAA,EAAM,CAAI;gBAAAhS,QAAA,EAAAzI,QAAA,GAAWA,WAAW;eAAM,CAAA;YACrD,CAAA;UACF,CAAA;SACF,CAAA,EAAA,eAEC0H,UAAA,CAAAA,GAAA,CAAA8B,EAAA,CAAAA,IAAA,EAAA;UAAKjB,SAAW,EAAA,CAAA;UAAGkB,MAAQ,EAAA,CAAA;UAAG8T,MAAQ,EAAA,CAAA;UACrC9U,QAAC,EAAA,eAAAf,UAAA,CAAAA,GAAA,CAAAmY,MAAA,CAAAA,cAAA,EAAA;YAAe1kB,KAAO,EAAAwkB;UAAU,CAAA;SACnC,CAAA;OACF,CAAA,EAECC,QACC,kBAAAlY,UAAA,CAAAA,GAAA,CAACiF,EAAA,CAAAA,MAAA,EAAA;QACCqN,QAAU,EAAA,CAAA;QACV1M,IAAK,EAAA,eAAA;QACLR,IAAK,EAAA,OAAA;QACL5B,IAAK,EAAA,UAAA;QACL6B,OAAS,EAAA6S;MAAA,CAAA,CAET,GAAA,IAAA;IACN,CAAA;EACF,CAAA,CAAA;AAEJ,CAAA;ACpDA,MAAME,MAAS,GAAAC,KAAA,CAAAA,IAAA,CAAK,MAAMve,OAAO,CAAAC,OAAA,EAAA,CAAAQ,IAAA,CAAA,YAAA;EAAA,OAAA+d,OAAA,CAAA,uBAAU,CAAC;AAAA,CAAA,CAAA,CAAA;AAuB5C,MAAMC,8BAA8BC,KAAAA,CAAAA,SAAwB,CAAA;EAA5DC,WAAAA,CAAA,EAAA;IAAA,KAAA,CAAA,GAAArhB,SAAA,CAAA;IACiB,IAAA,CAAAshB,KAAA,GAAA;MACbC,cAAgB,EAAA,KAAA;MAChBC,YAAc,EAAA,KAAA;MACdC,WAAa,EAAA,KAAA;MACbC,cAAgB,EAAA,IAAA;MAChBC,QAAU,EAAA,IAAA;MACVzkB,IAAM,EAAA,IAAA;MACNf,KAAO,EAAA,IAAA;MACPf,GAAK,EAAA;IAAA,CACP;IACA,IAAA,CAAAwmB,cAAA,GAAgC,EAAC;IAEtB,IAAA,CAAA1D,QAAA,GAAA,KAAA;IAIX;IAAA;IAAqB,IAAA,CAAApc,MAAA,GAAA,IAAA;IAErB,IAAA,CAAA+f,SAAA,GAAYjH,uBAAMkH,SAA0B,EAAA;IAqB5C,IAAA,CAAAC,cAAA,GAAkBC,GAA2B,IAAA;MAC3C,IAAA,CAAKC,QAAS,CAAA;QAACP,cAAgB,EAAAM,GAAA,CAAIzjB;MAAQ,CAAA,CAAA;IAAA,CAC7C;IAEA,IAAA,CAAA+d,QAAA,GAAYvY,KAA6B,IAAA;MAClC,IAAA,CAAAke,QAAA,CAAS;QAACP,cAAgB,EAAA,CAAA;QAAGC,UAAU,IAAM;QAAAzkB,IAAA,EAAM;OAAK,CAAA;MACxD,IAAA,CAAA4E,MAAA,GAASJ,UAAW,CAAA,IAAA,CAAKkL,KAAM,CAAA7N,MAAA,EAAQ,KAAK6N,KAAM,CAAAvS,MAAA,EAAQ0J,KAAM,CAAA,CAAC,CAAG,EAAA;QACvEnH,gBAAA,EAAkB,IAAK,CAAAgQ,KAAA,CAAMnQ,OAAQ,CAAAG;MACtC,CAAA,CACE,CAAAwD,IAAA,CACC8hB,SAAA,CAAAA,SAAA,CACE,KAAKC,0BAA4B,CAAA/hB,IAAA,CAC/BgiB,SAAAA,CAAAA,IAAI,MAAM;QACJ,IAAA,IAAA,CAAKd,MAAMpkB,IAAM,EAAA;UACnB,IAAA,CAAK0P,KAAM,CAAAvS,MAAA,CAAOiV,MAAO,CAAA,IAAA,CAAKgS,MAAMpkB,IAAI,CAAA;QAC1C;MAAA,CACD,CAAA,CACH,CACF,EAEDmlB,SAAU,CAAA;QACTpkB,UAAUA,CAAA,KAAM;UACT,IAAA,CAAAgkB,QAAA,CAAS;YAAC9lB,KAAO,EAAA,IAAA;YAAMulB,gBAAgB,IAAM;YAAAxkB,IAAA,EAAM;WAAK,CAAA;QAC/D,CAAA;QACAY,IAAA,EAAOiE,KAAU,IAAA;UACf,IAAA,CAAKugB,kBAAkBvgB,KAAK,CAAA;QAC9B,CAAA;QACA5F,KAAA,EAAQgG,GAAQ,IAAA;UACT,IAAA,CAAA8f,QAAA,CAAS;YAAC9lB,KAAO,EAAAgG,GAAA;YAAKuf,gBAAgB,IAAM;YAAAxkB,IAAA,EAAM;WAAK,CAAA;QAC9D;MAAA,CACD,CAAA;IAAA,CACL;IAIA;IAAA;IAAA,IAAA,CAAAolB,iBAAA,GAAqBvgB,KAAe,IAAA;MAClC,QAAQA,MAAMhE,IAAM;QAClB,KAAK,SAAA;UACI,OAAA,IAAA,CAAKwkB,mBAAoB,CAAAxgB,KAAA,CAAMtI,KAAK,CAAA;QAC7C,KAAK,UAAA;UACI,OAAA,IAAA,CAAKsoB,eAAehgB,KAAK,CAAA;QAClC,KAAK,MAAA;UACH,OAAO,KAAKkgB,QAAS,CAAA;YAACN,QAAU,EAAA5f,KAAA,CAAMpE;WAAK,CAAA;QAC7C,KAAK,MAAA;UAEH,OAAO,KAAKskB,QAAS,CAAA;YAAC/kB,IAAM,EAAA6E,KAAA,CAAM7E;WAAK,CAAA;QACzC,KAAK,KAAA;UACI,OAAA,IAAA,CAAK+kB,SAAS;YAAC7mB,GAAA,EAAK2G,MAAM3G,GAAK;YAAAsmB,cAAA,EAAgB;WAAI,CAAA;QAC5D;UACS,OAAA,IAAA;MAAA;IACX,CACF;IAEA,IAAA,CAAAa,mBAAA,GAAuB9oB,KAA8B,IAAA;MACnD,IAAA,CAAKwoB,QAAS,CAAA;QAACP,cAAgB,EAAA;MAAI,CAAA,CAAA;MACnC,IAAA,CAAK9U,KAAM,CAAAiE,QAAA,CACToD,MAAAA,CAAAA,WAAWjS,IAAK,CAAA,CACdkS,mBAAa,CAAA;QAACza,KAAO,EAAA,CAAA;OAAG,CAAA,EACxBgC,MAAAA,CAAAA,GAAI,CAAA;QAAC0D,KAAO,EAAA,WAAA;QAAagV,KAAO,EAAA,IAAA;QAAMva,IAAM,EAAAH,KAAA,CAAM+B;OAAG,EAAG,CAAC,OAAO,CAAC,CAAA,CAClE,CAAA,CACH;IAAA,CACF;IAEA,IAAA,CAAAgnB,WAAA,GAA8DzgB,KAAU,IAAA;MAChE,MAAA0gB,aAAA,GAAgB1gB,KAAM,CAAA0gB,aAAA,IAAkBrf,MAAe,CAAAqf,aAAA;MACvD,MAAArnB,GAAA,GAAMqnB,aAAc,CAAAC,OAAA,CAAQ,MAAM,CAAA;MACxC,MAAM3iB,UAAU;QAACnD,gBAAA,EAAkB,IAAK,CAAAgQ,KAAA,CAAMnQ,QAAQG;OAAgB;MAEjE,IAAA,CAAAkF,MAAA,GAAS3E,SAAU,CAAA,IAAA,CAAKyP,KAAM,CAAA7N,MAAA,EAAQ,IAAK,CAAA6N,KAAA,CAAMvS,MAAQ,EAAAe,GAAA,EAAK2E,OAAO,CAAA,CAAEsiB,SAAU,CAAA;QACpFpkB,UAAUA,CAAA,KAAM;UACT,IAAA,CAAAgkB,QAAA,CAAS;YAAC9lB,KAAO,EAAA,IAAA;YAAMulB,gBAAgB,IAAM;YAAAtmB,GAAA,EAAK;WAAK,CAAA;QAC9D,CAAA;QACA0C,IAAA,EAAO6kB,MAAW,IAAA;UAChB,IAAA,CAAKL,kBAAkBK,MAAM,CAAA;QAC/B,CAAA;QACAxmB,KAAA,EAAQgG,GAAQ,IAAA;UACV,IAAAhG,KAAA;UAEJ,IAAI,CAACgG,GAAI,CAAA9D,OAAA,CAAQukB,aAAc,CAAAlf,KAAA,CAAM,aAAa,CAAG,EAAA;YAC3CvH,KAAA,GAAAgG,GAAA;UACV;UACA,IAAA,CAAK8f,SAAS;YAACT,YAAA,EAAc,IAAM;YAAArlB;aAAQ,MAAM;YAC/C0mB,UAAA,CAAW,MAAM;cACf,IAAA,CAAKZ,SAAS;gBAACT,YAAA,EAAc,KAAO;gBAAAE,cAAA,EAAgB;eAAK,CAAA;eACxD,GAAI,CAAA;UAAA,CACR,CAAA;QACH;MAAA,CACD,CAAA;IAAA,CACH;IAEA,IAAA,CAAAoB,UAAA,GAAsD/gB,KAAU,IAAA;MAC9D,IAAA,CAAKkgB,QAAS,CAAA;QAACV,cAAgB,EAAA;MAAM,CAAA,CAAA;MACrCxf,KAAA,CAAMghB,cAAe,EAAA;MACrBhhB,KAAA,CAAMihB,eAAgB,EAAA;MACtBnf,mBAAA,CAAoB9B,MAAMkhB,WAAY,CAAAnf,YAAa,CAAE,CAAAX,IAAA,CAAMY,KAAU,IAAA;QACnE,IAAIA,KAAO,EAAA;UAGT,IAAA,CAAKuY,SAASvY,KAAY,CAAA;QAC5B;MAAA,CACD,CAAA;IAAA,CACH;IAEA,IAAA,CAAAmf,cAAA,GAA0DnhB,KAAU,IAAA;MAClEA,KAAA,CAAMghB,cAAe,EAAA;MACrBhhB,KAAA,CAAMihB,eAAgB,EAAA;IAAA,CACxB;IAEA,IAAA,CAAAG,eAAA,GAA2DphB,KAAU,IAAA;MAlMvE,IAAA5H,EAAA,EAAAC,EAAA;MAmMI2H,KAAA,CAAMihB,eAAgB,EAAA;MACjB,IAAA,CAAApB,cAAA,CAAe/S,IAAK,CAAA9M,KAAA,CAAMyZ,MAAM,CAAA;MACrC,IAAA,CAAKyG,QAAS,CAAA;QAACV,cAAgB,EAAA;MAAK,CAAA,CAAA;MACpC,MAAMxjB,QAAO3D,EAAM,GAAA,CAAAD,EAAA,GAAA4H,KAAA,CAAA+B,YAAA,CAAaG,KAAnB,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA9J,EAAA,CAA2B,OAA3B,IAA+B,GAAA,KAAA,CAAA,GAAAC,EAAA,CAAA2D,IAAA;MACvC,IAAA,CAAAkkB,QAAA,CAAS;QAACR,WAAa,EAAA,CAAC1jB,KAAKwH,UAAW,CAAA,QAAQ;OAAE,CAAA;IAAA,CACzD;IAEA,IAAA,CAAA6d,eAAA,GAA2DrhB,KAAU,IAAA;MACnEA,KAAA,CAAMihB,eAAgB,EAAA;MACtB,MAAMK,GAAM,GAAA,IAAA,CAAKzB,cAAe,CAAA0B,OAAA,CAAQvhB,MAAMyZ,MAAM,CAAA;MACpD,IAAI6H,MAAM,CAAI,CAAA,EAAA;QACP,IAAA,CAAAzB,cAAA,CAAe2B,MAAO,CAAAF,GAAA,EAAK,CAAC,CAAA;MACnC;MACI,IAAA,IAAA,CAAKzB,cAAe,CAAA3hB,MAAA,KAAW,CAAG,EAAA;QACpC,IAAA,CAAKgiB,QAAS,CAAA;UAACV,cAAgB,EAAA;QAAM,CAAA,CAAA;MACvC;IAAA,CACF;EAAA;EA7IAiC,oBAAuBA,CAAA,EAAA;IACrB,IAAA,CAAKC,mBAAoB,EAAA;EAC3B;EAEAC,iBAAoBA,CAAA,EAAA;IACZ,MAAAC,OAAA,GAAU,IAAIC,IAAAA,CAAAA,OAAQ,EAAA;IACvB,IAAA,CAAAzB,0BAAA,GAA6BwB,QAAQE,YAAa,EAAA;IACvD,IAAA,CAAKC,6BAAgC,GAAC/hB,KAAU,IAAA4hB,OAAA,CAAQ7lB,KAAKiE,KAAK,CAAA;EACpE;EAEA0hB,mBAAsBA,CAAA,EAAA;IACpB,IAAI,IAAK,CAAA3hB,MAAA,IAAU,CAAC,IAAA,CAAKA,OAAOiiB,MAAQ,EAAA;MACtC,IAAA,CAAKjiB,OAAOkiB,WAAY,EAAA;IAC1B;EACF;EAiIAC,MAASA,CAAA,EAAA;IArNX,IAAA9pB,EAAA;IAsNQ,IAAA,IAAA,CAAKmnB,KAAM,CAAAI,cAAA,KAAmB,IAAM,EAAA;MAEpC,sBAAA9Y,UAAA,CAAAA,GAAA,CAAC+X,cAAA,EAAA;QACCG,UAAU,IAAK,CAAAgD,6BAAA;QACfjD,QAAA,EAAU,KAAKS,KAAM,CAAAI,cAAA;QACrBxgB,YAAU/G,EAAK,GAAA,IAAA,CAAAmnB,KAAA,CAAMK,aAAX,IAAqB,GAAA,KAAA,CAAA,GAAAxnB,EAAA,CAAA4B,IAAA,KAAQ,KAAKulB,KAAM,CAAAlmB;MAAA,CAAA,CACpD;IAEJ;IAEI,IAAA,IAAA,CAAKkmB,MAAMnlB,KAAO,EAAA;MAEpB,MAAM,KAAKmlB,KAAM,CAAAnlB,KAAA;IACnB;IAEA,sBAEImN,UAAA,CAAAA,IAAA,CAAAoE,mBAAA,EAAA;MAAA/D,QAAA,EAAA,CAAA,eAAAf,UAAA,CAAAA,GAAA,CAAC+U,YAAA,EAAA;QACCvR,IACE,EAAA,IAAA,CAAKkV,KAAM,CAAAC,cAAA,KAAmB,KAAKD,KAAM,CAAAE,YAAA,IAAgB,IAAK,CAAAF,KAAA,CAAMG,WAChE,CAAA,GAAA,UAAA,GACA,IAAK,CAAAH,KAAA,CAAMC,iBACX,UACA,GAAA,KAAA,CAAA;QAENzD,QAAQ,IAAK,CAAAgF,UAAA;QACb7E,YAAY,IAAK,CAAAiF,cAAA;QACjBlF,aAAa,IAAK,CAAAoF,eAAA;QAClBrF,aAAa,IAAK,CAAAoF,eAAA;QAClBtF,SAAS,IAAK,CAAA2E,WAAA;QACdnU,KAAK,IAAK,CAAAwT,SAAA;QAETlY,QAAA,EAAA,IAAA,CAAKiD,MAAMnT,KACV,kBAAAmP,UAAA,CAAAA,GAAA,CAACoY,MAAA,EAAA;UACC3E,QAAA,EAAU,KAAKzP,KAAM,CAAAyP,QAAA;UACrB5iB,KAAA,EAAO,KAAKmT,KAAM,CAAAnT,KAAA;UAClBoX,QAAA,EAAU,KAAKjE,KAAM,CAAAiE,QAAA;UACrB/D,WAAA,EAAa,KAAKF,KAAM,CAAAE,WAAA;UACxBC,cAAA,EAAgB,KAAKH,KAAM,CAAAG,cAAA;UAC3BmX,OACE,iBAAAtb,UAAA,CAAAA,GAAA,CAACwT,mBAAA,EAAA;YACC3iB,KAAA,EAAO,KAAKmT,KAAM,CAAAnT,KAAA;YAClBqT,WAAA,EAAa,KAAKF,KAAM,CAAAE,WAAA;YACxBC,cAAA,EAAgB,KAAKH,KAAM,CAAAG,cAAA;YAC3B8D,QAAA,EAAU,KAAKjE,KAAM,CAAAiE,QAAA;YACrByL,UAAU,IAAK,CAAAA,QAAA;YACfD,QAAA,EAAU,KAAKzP,KAAM,CAAAyP;UAAA,CAAA;QACvB,CAAA,CAIJ,kBAAAzT,UAAA,CAAAA,GAAA,CAAC8W,iBAAA,EAAA;UACCC,QAAA,EAAU,KAAK2B,KAAM,CAAAC,cAAA;UACrBlQ,UAAU,IAAK,CAAAiL,QAAA;UACfD,QAAA,EAAU,KAAKzP,KAAM,CAAAyP,QAAA;UACrBtP,cAAA,EAAgB,KAAKH,KAAM,CAAAG,cAAA;UAC3B/P,UAAA,EAAY,KAAK4P,KAAM,CAAA5P;QAAA,CAAA;MACzB,CAAA,CAEJ,EACC,IAAA,CAAK4P,KAAM,CAAAE,WAAA,KAAgB,cAC1B,mBAAAlE,UAAA,CAAAA,GAAA,CAACyL,YAAA,EAAA;QACC5a,KAAA,EAAO,KAAKmT,KAAM,CAAAnT,KAAA;QAClBoX,QAAA,EAAU,KAAKjE,KAAM,CAAAiE,QAAA;QACrB9D,cAAA,EAAgB,KAAKH,KAAM,CAAAG;MAAA,CAAA,CAC7B;IAEJ,CAAA,CAAA;EAEJ;AACF;ACtRa,MAAAoX,cAAA,GAAiBA,CAAC9pB,MAAA,EAAsBoC,OAAqB,KAAA;EACjE,OAAA4Q,KAAA,CAAAA,WAAA,CACL,MAAA+W,MAAA,IAImF;IAAA,IAJ5E;MACL1nB,KAAA;MACAC,SAAA;MACAC;IAAA,CACiF,GAAAwnB,MAAA;IAC7E,IAAA;MAACvnB,YAAc;MAAAC;IAAqB,CAAA,GAAAL,OAAA;IAEpC,IAAA;MACI,MAAAwC,WAAA,CACJ5E,MAAA,EACAqC,KAAA,EACAC,SAAA,EACAC,gBAAA,EACAC,YAAA,EACAC,iBAAA,CACF;MACM,MAAAunB,KAAA,GAAQ,MAAM/kB,WAAA,CAAYjF,MAAM,CAAA;MACtC,IAAI,EAACgqB,KAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAAA,KAAA,CAAOxpB,MAAU,CAAA,IAAA6B,KAAA,IAASC,SAAW,EAAA;QAClC,MAAA,IAAIwB,MAAM,iBAAiB,CAAA;MACnC;aACOgE,GAAP,EAAA;MACQzC,OAAA,CAAAvD,KAAA,CAAM,uCAAuCgG,GAAG,CAAA;MAClD,MAAAA,GAAA;IACR;IAEA,IAAIvF,gBAAkB,EAAA;MACpB,MAAM0nB,sBAAsB,MAAM/kB,oBAAA,CAChClF,MAAA,EACAwC,YAAA,EACAC,iBAAA,CACF;MAEA,IAAI,CAACwnB,mBAAqB,EAAA;QACpB,IAAA;UACF,MAAM;YAACxpB;UAAQ,CAAA,GAAA,MAAMuE,kBAAkBhF,MAAM,CAAA;UAC7CwC,YAAA,GAAe/B,IAAK,CAAAkD,EAAA;UACpBlB,iBAAA,GAAoBhC,IAAK,CAAAypB,WAAA;UACnB,MAAAtlB,WAAA,CACJ5E,MAAA,EACAqC,KAAA,EACAC,SAAA,EACAC,gBAAA,EACAC,YAAA,EACAC,iBAAA,CACF;iBACOqF,GAAP,EAAA;UAEQzC,OAAA,CAAA8kB,GAAA,CAAI,8CAAgD,EAAAriB,GAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAAA,GAAA,CAAK9D,OAAO,CAAA;UAClE,MAAA8D,GAAA;QACR;MACF;IACF;IACO,OAAA;MACLzF,KAAA;MACAC,SAAA;MACAC,gBAAA;MACAC,YAAA;MACAC;IAAA,CACF;EACF,CAAA,EACA,CAACzC,QAAQoC,OAAO,CAAA,CAClB;AACF,CAAA;ACvDA,SAASgoB,IAAKA,CAAAC,MAAA,EAAsD;EAAA,IAAtD;IAAChoB,KAAO;IAAAC,SAAA;IAAWC;GAAmC,GAAA8nB,MAAA;EAC3D,OAAA;IACLC,UAAY,EAAA,KAAA;IACZxoB,KAAO,EAAA,IAAA;IAAA;IAAA;IAGPO,OAAOA,KAAS,IAAA,IAAA,GAAAA,KAAA,GAAA,EAAA;IAChBC,WAAWA,SAAa,IAAA,IAAA,GAAAA,SAAA,GAAA,EAAA;IACxBC,kBAAkBA,gBAAoB,IAAA,IAAA,GAAAA,gBAAA,GAAA;EAAA,CACxC;AACF;AACA,SAASgoB,OAAAA,CAAQtD,OAAcuD,MAAgB,EAAA;EAC7C,QAAQA,iCAAQ9mB,IAAM;IACpB,KAAK,QAAA;MACH,OAAO;QAAC,GAAGujB,KAAA;QAAOqD,UAAY,EAAA,IAAA;QAAMxoB,OAAO;OAAI;IACjD,KAAK,OAAA;MACH,OAAO;QAAC,GAAGmlB,KAAA;QAAOqD,YAAY,KAAO;QAAAxoB,KAAA,EAAO0oB,OAAOhf;OAAO;IAC5D,KAAK,OAAA;MACI,OAAA4e,IAAA,CAAKI,OAAOhf,OAAO,CAAA;IAC5B,KAAK,QAAA;MACI,OAAA;QAAC,GAAGyb,KAAA;QAAO,CAACuD,MAAA,CAAOhf,QAAQ9J,IAAI,GAAG8oB,MAAO,CAAAhf,OAAA,CAAQxJ;OAAK;IAC/D;MACE,MAAM,IAAI8B,KAAA,yBAAAjD,MAAA,CAA+B2pB,MAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAAA,MAAA,CAAgB9mB,IAAM,EAAA;EAAA;AAErE;AAEO,MAAM+mB,sBAAuBroB,OAAA,IAAqBsoB,KAAAA,CAAAA,UAAW,CAAAH,OAAA,EAASnoB,SAASgoB,IAAI,CAAA;ACtC1F,MAAMO,GAAM,GAAA,CACV,OAAA,EACA,GAAA,EACA,GAAA,EACA,GAAA,EACA,GAAA,EACA,GAAA,EACA,GAAA,EACA,GAAA,EACA,GAAA,EACA,GAAA,EACA,GAAA,EACA,GAAA,EACA,GAAA,EACA,GAAA,EACA,GAAA,EACA,GAAA,EACA,GAAA,EACA,GAAA,EACA,GAAA,CACF;AAIA,SAAwBC,OAAQA,CAAAC,MAAA,EAAe;EAAA,IAAf;IAACle,MAAS,GAAA;GAAK,GAAAke,MAAA;EAC7C,MAAMlnB,KAAK6O,KAAAA,CAAAA,KAAM,EAAA;EACX,MAAA,CAACsY,SAASzP,CAAG,EAAAhB,CAAA,EAAGG,GAAGC,CAAG,EAAArV,CAAA,EAAGsV,GAAGC,CAAG,EAAAC,CAAA,EAAGmQ,GAAGC,CAAG,EAAAnQ,CAAA,EAAGC,GAAGC,CAAG,EAAAC,CAAA,EAAGiQ,GAAGhQ,CAAG,EAAAC,CAAA,EAAGI,CAAC,CAAI,GAAAhb,KAAA,CAAAA,OAAA,CACtE,MAAMqqB,GAAI,CAAA1gB,GAAA,CAAKihB,KAAU,OAAArqB,MAAA,CAAG8C,gBAAMunB,KAAO,CAAA,CAAA,EACzC,CAACvnB,EAAE,CAAA,CACL;EAGE,sBAAAsL,UAAA,CAAAA,IAAA,CAAC,KAAA,EAAA;IACC,iBAAiB,EAAA6b,OAAA;IACjBK,IAAK,EAAA,KAAA;IACLC,KAAM,EAAA,4BAAA;IACNC,QAAS,EAAA,UAAA;IACTC,OAAQ,EAAA,yEAAA;IACR9c,KAAO,EAAA;MAAC7B,MAAQ,KAAA9L,MAAA,CAAG8L,MAAU;IAAA,CAAA;IAE7B2C,QAAA,EAAA,CAAA,eAACf,UAAA,CAAAA,GAAA,CAAA,OAAA,EAAA;MAAM5K,EAAI,EAAAmnB,OAAA;MAASxb,QAAQ,EAAA;KAAA,CAAA,EAAA,+BAC3B,MACC,EAAA;MAAAA,QAAA,EAAA,CAAA,eAAAL,UAAA,CAAAA,IAAA,CAAC,gBAAA,EAAA;QACCtL,EAAI,EAAA6W,CAAA;QACJ+Q,YAAa,EAAA,KAAA;QACbC,iBAAkB,EAAA,+CAAA;QAClBC,aAAc,EAAA,gBAAA;QACdC,EAAI,EAAA,CAAA;QACJC,EAAI,EAAA,CAAA;QACJC,EAAI,EAAA,CAAA;QACJC,EAAI,EAAA,CAAA;QAEJvc,QAAA,EAAA,CAAA,eAAAf,UAAA,CAAAA,GAAA,CAAC,MAAA,EAAA;UACCoR,MAAQ,EAAA,CAAA;UACRnR,KAAO,EAAA;YACLsd,WAAa,EAAA,CAAA;YACbC,SAAW,EAAA;UACb;QAAA,CAAA,CACF,EAAA,eACAxd,UAAA,CAAAA,GAAA,CAAC,MAAA,EAAA;UACCoR,MAAQ,EAAA,CAAA;UACRnR,KAAO,EAAA;YACLsd,WAAa,EAAA,CAAA;YACbC,SAAW,EAAA;UACb;QAAA,CAAA,CACF;MAAA,CAAA,CACF,EAAA,eACA9c,UAAA,CAAAA,IAAA,CAAC,gBAAA,EAAA;QACCtL,EAAI,EAAA8W,CAAA;QACJ8Q,YAAa,EAAA,KAAA;QACbC,iBAAkB,EAAA,+CAAA;QAClBC,aAAc,EAAA,gBAAA;QACdC,EAAI,EAAA,CAAA;QACJC,EAAI,EAAA,CAAA;QACJC,EAAI,EAAA,CAAA;QACJC,EAAI,EAAA,CAAA;QAEJvc,QAAA,EAAA,CAAA,eAAAf,UAAA,CAAAA,GAAA,CAAC,MAAA,EAAA;UACCoR,MAAQ,EAAA,CAAA;UACRnR,KAAO,EAAA;YACLsd,WAAa,EAAA,CAAA;YACbC,SAAW,EAAA;UACb;QAAA,CAAA,CACF,EAAA,eACAxd,UAAA,CAAAA,GAAA,CAAC,MAAA,EAAA;UACCoR,MAAQ,EAAA,CAAA;UACRnR,KAAO,EAAA;YACLsd,WAAa,EAAA,CAAA;YACbC,SAAW,EAAA;UACb;QAAA,CAAA,CACF;MAAA,CAAA,CACF,EAAA,eACA9c,UAAA,CAAAA,IAAA,CAAC,gBAAA,EAAA;QACCtL,EAAI,EAAAgX,CAAA;QACJ4Q,YAAa,EAAA,KAAA;QACbC,iBAAkB,EAAA,4CAAA;QAClBC,aAAc,EAAA,gBAAA;QACdC,EAAI,EAAA,CAAA;QACJC,EAAI,EAAA,CAAA;QACJC,EAAI,EAAA,CAAA;QACJC,EAAI,EAAA,CAAA;QAEJvc,QAAA,EAAA,CAAA,eAAAf,UAAA,CAAAA,GAAA,CAAC,MAAA,EAAA;UACCoR,MAAQ,EAAA,CAAA;UACRnR,KAAO,EAAA;YACLsd,WAAa,EAAA,CAAA;YACbC,SAAW,EAAA;UACb;QAAA,CAAA,CACF,EAAA,eACAxd,UAAA,CAAAA,GAAA,CAAC,MAAA,EAAA;UACCoR,MAAQ,EAAA,CAAA;UACRnR,KAAO,EAAA;YACLsd,WAAa,EAAA,CAAA;YACbC,SAAW,EAAA;UACb;QAAA,CAAA,CACF;MAAA,CAAA,CACF,EAAA,eACA9c,UAAA,CAAAA,IAAA,CAAC,gBAAA,EAAA;QACCtL,EAAI,EAAAonB,CAAA;QACJQ,YAAa,EAAA,KAAA;QACbC,iBAAkB,EAAA,+CAAA;QAClBC,aAAc,EAAA,gBAAA;QACdC,EAAI,EAAA,CAAA;QACJC,EAAI,EAAA,CAAA;QACJC,EAAI,EAAA,CAAA;QACJC,EAAI,EAAA,CAAA;QAEJvc,QAAA,EAAA,CAAA,eAAAf,UAAA,CAAAA,GAAA,CAAC,MAAA,EAAA;UACCoR,MAAQ,EAAA,CAAA;UACRnR,KAAO,EAAA;YACLsd,WAAa,EAAA,CAAA;YACbC,SAAW,EAAA;UACb;QAAA,CAAA,CACF,EAAA,eACAxd,UAAA,CAAAA,GAAA,CAAC,MAAA,EAAA;UACCoR,MAAQ,EAAA,CAAA;UACRnR,KAAO,EAAA;YACLsd,WAAa,EAAA,CAAA;YACbC,SAAW,EAAA;UACb;QAAA,CAAA,CACF;MAAA,CAAA,CACF,EAAA,eACA9c,UAAA,CAAAA,IAAA,CAAC,gBAAA,EAAA;QACCtL,EAAI,EAAAqnB,CAAA;QACJO,YAAa,EAAA,KAAA;QACbC,iBAAkB,EAAA,iDAAA;QAClBC,aAAc,EAAA,gBAAA;QACdC,EAAI,EAAA,CAAA;QACJC,EAAI,EAAA,CAAA;QACJC,EAAI,EAAA,CAAA;QACJC,EAAI,EAAA,CAAA;QAEJvc,QAAA,EAAA,CAAA,eAAAf,UAAA,CAAAA,GAAA,CAAC,MAAA,EAAA;UACCoR,MAAQ,EAAA,CAAA;UACRnR,KAAO,EAAA;YACLsd,WAAa,EAAA,CAAA;YACbC,SAAW,EAAA;UACb;QAAA,CAAA,CACF,EAAA,eACAxd,UAAA,CAAAA,GAAA,CAAC,MAAA,EAAA;UACCoR,MAAQ,EAAA,CAAA;UACRnR,KAAO,EAAA;YACLsd,WAAa,EAAA,CAAA;YACbC,SAAW,EAAA;UACb;QAAA,CAAA,CACF;MAAA,CAAA,CACF,EAAA,eACA9c,UAAA,CAAAA,IAAA,CAAC,gBAAA,EAAA;QACCtL,EAAI,EAAAkX,CAAA;QACJ0Q,YAAa,EAAA,KAAA;QACbC,iBAAkB,EAAA,gDAAA;QAClBC,aAAc,EAAA,gBAAA;QACdC,EAAI,EAAA,CAAA;QACJC,EAAI,EAAA,CAAA;QACJC,EAAI,EAAA,CAAA;QACJC,EAAI,EAAA,CAAA;QAEJvc,QAAA,EAAA,CAAA,eAAAf,UAAA,CAAAA,GAAA,CAAC,MAAA,EAAA;UACCoR,MAAQ,EAAA,CAAA;UACRnR,KAAO,EAAA;YACLsd,WAAa,EAAA,CAAA;YACbC,SAAW,EAAA;UACb;QAAA,CAAA,CACF,EAAA,eACAxd,UAAA,CAAAA,GAAA,CAAC,MAAA,EAAA;UACCoR,MAAQ,EAAA,CAAA;UACRnR,KAAO,EAAA;YACLsd,WAAa,EAAA,CAAA;YACbC,SAAW,EAAA;UACb;QAAA,CAAA,CACF;MAAA,CAAA,CACF,EAAA,eACA9c,UAAA,CAAAA,IAAA,CAAC,gBAAA,EAAA;QACCtL,EAAI,EAAAmX,CAAA;QACJyQ,YAAa,EAAA,KAAA;QACbC,iBAAkB,EAAA,+CAAA;QAClBC,aAAc,EAAA,gBAAA;QACdC,EAAI,EAAA,CAAA;QACJC,EAAI,EAAA,CAAA;QACJC,EAAI,EAAA,CAAA;QACJC,EAAI,EAAA,CAAA;QAEJvc,QAAA,EAAA,CAAA,eAAAf,UAAA,CAAAA,GAAA,CAAC,MAAA,EAAA;UACCoR,MAAQ,EAAA,CAAA;UACRnR,KAAO,EAAA;YACLsd,WAAa,EAAA,CAAA;YACbC,SAAW,EAAA;UACb;QAAA,CAAA,CACF,EAAA,eACAxd,UAAA,CAAAA,GAAA,CAAC,MAAA,EAAA;UACCoR,MAAQ,EAAA,CAAA;UACRnR,KAAO,EAAA;YACLsd,WAAa,EAAA,CAAA;YACbC,SAAW,EAAA;UACb;QAAA,CAAA,CACF;MAAA,CAAA,CACF,EAAA,eACA9c,UAAA,CAAAA,IAAA,CAAC,gBAAA,EAAA;QACCtL,EAAI,EAAAoX,CAAA;QACJwQ,YAAa,EAAA,KAAA;QACbC,iBAAkB,EAAA,gDAAA;QAClBC,aAAc,EAAA,gBAAA;QACdC,EAAI,EAAA,CAAA;QACJC,EAAI,EAAA,CAAA;QACJC,EAAI,EAAA,CAAA;QACJC,EAAI,EAAA,CAAA;QAEJvc,QAAA,EAAA,CAAA,eAAAf,UAAA,CAAAA,GAAA,CAAC,MAAA,EAAA;UACCoR,MAAQ,EAAA,CAAA;UACRnR,KAAO,EAAA;YACLsd,WAAa,EAAA,CAAA;YACbC,SAAW,EAAA;UACb;QAAA,CAAA,CACF,EAAA,eACAxd,UAAA,CAAAA,GAAA,CAAC,MAAA,EAAA;UACCoR,MAAQ,EAAA,CAAA;UACRnR,KAAO,EAAA;YACLsd,WAAa,EAAA,CAAA;YACbC,SAAW,EAAA;UACb;QAAA,CAAA,CACF;MAAA,CAAA,CACF,EAAA,eACA9c,UAAA,CAAAA,IAAA,CAAC,gBAAA,EAAA;QACCtL,EAAI,EAAAsX,CAAA;QACJsQ,YAAa,EAAA,KAAA;QACbC,iBAAkB,EAAA,iDAAA;QAClBC,aAAc,EAAA,gBAAA;QACdC,EAAI,EAAA,CAAA;QACJC,EAAI,EAAA,CAAA;QACJC,EAAI,EAAA,CAAA;QACJC,EAAI,EAAA,CAAA;QAEJvc,QAAA,EAAA,CAAA,eAAAf,UAAA,CAAAA,GAAA,CAAC,MAAA,EAAA;UACCoR,MAAQ,EAAA,CAAA;UACRnR,KAAO,EAAA;YACLsd,WAAa,EAAA,CAAA;YACbC,SAAW,EAAA;UACb;QAAA,CAAA,CACF,EAAA,eACAxd,UAAA,CAAAA,GAAA,CAAC,MAAA,EAAA;UACCoR,MAAQ,EAAA,CAAA;UACRnR,KAAO,EAAA;YACLsd,WAAa,EAAA,CAAA;YACbC,SAAW,EAAA;UACb;QAAA,CAAA,CACF;MAAA,CAAA,CACF,EAAA,eACA9c,UAAA,CAAAA,IAAA,CAAC,gBAAA,EAAA;QACCtL,EAAI,EAAAuX,CAAA;QACJqQ,YAAa,EAAA,KAAA;QACbC,iBAAkB,EAAA,iDAAA;QAClBC,aAAc,EAAA,gBAAA;QACdC,EAAI,EAAA,CAAA;QACJC,EAAI,EAAA,CAAA;QACJC,EAAI,EAAA,CAAA;QACJC,EAAI,EAAA,CAAA;QAEJvc,QAAA,EAAA,CAAA,eAAAf,UAAA,CAAAA,GAAA,CAAC,MAAA,EAAA;UACCoR,MAAQ,EAAA,CAAA;UACRnR,KAAO,EAAA;YACLsd,WAAa,EAAA,CAAA;YACbC,SAAW,EAAA;UACb;QAAA,CAAA,CACF,EAAA,eACAxd,UAAA,CAAAA,GAAA,CAAC,MAAA,EAAA;UACCoR,MAAQ,EAAA,CAAA;UACRnR,KAAO,EAAA;YACLsd,WAAa,EAAA,CAAA;YACbC,SAAW,EAAA;UACb;QAAA,CAAA,CACF;MAAA,CAAA,CACF,EAAA,eACA9c,UAAA,CAAAA,IAAA,CAAC,gBAAA,EAAA;QACCtL,EAAI,EAAA2X,CAAA;QACJiQ,YAAa,EAAA,KAAA;QACbC,iBAAkB,EAAA,+CAAA;QAClBC,aAAc,EAAA,gBAAA;QACdC,EAAI,EAAA,CAAA;QACJC,EAAI,EAAA,CAAA;QACJC,EAAI,EAAA,CAAA;QACJC,EAAI,EAAA,CAAA;QAEJvc,QAAA,EAAA,CAAA,eAAAf,UAAA,CAAAA,GAAA,CAAC,MAAA,EAAA;UACCoR,MAAQ,EAAA,CAAA;UACRnR,KAAO,EAAA;YACLsd,WAAa,EAAA,CAAA;YACbC,SAAW,EAAA;UACb;QAAA,CAAA,CACF,EAAA,eACAxd,UAAA,CAAAA,GAAA,CAAC,MAAA,EAAA;UACCoR,MAAQ,EAAA,CAAA;UACRnR,KAAO,EAAA;YACLsd,WAAa,EAAA,CAAA;YACbC,SAAW,EAAA;UACb;QAAA,CAAA,CACF;MAAA,CAAA,CACF,EACAxd,eAAAA,UAAAA,CAAAA,GAAA,CAAC,UAAS,EAAA;QAAA5K,EAAA,EAAI0X,CAAG;QAAA2Q,aAAA,EAAc;QAC7B1c,QAAC,EAAAf,eAAAA,UAAAA,CAAAA,GAAA,CAAA,MAAA,EAAA;UAAKkM,CAAE,EAAA;QAAA,CAAsB;MAChC,CAAA,CAAA,EACAlM,eAAAA,UAAAA,CAAAA,GAAA,CAAC,UAAS,EAAA;QAAA5K,EAAA,EAAI0W,CAAG;QAAA2R,aAAA,EAAc;QAC7B1c,QAAC,EAAAf,eAAAA,UAAAA,CAAAA,GAAA,CAAA,MAAA,EAAA;UAAKkM,CAAE,EAAA;QAAA,CAAiC;MAC3C,CAAA,CAAA,EACAlM,eAAAA,UAAAA,CAAAA,GAAA,CAAC,UAAS,EAAA;QAAA5K,EAAA,EAAIyB,CAAG;QAAA4mB,aAAA,EAAc;QAC7B1c,QAAC,EAAAf,eAAAA,UAAAA,CAAAA,GAAA,CAAA,MAAA,EAAA;UAAKkM,CAAE,EAAA;QAAA,CAAsB;MAChC,CAAA,CAAA,EACAlM,eAAAA,UAAAA,CAAAA,GAAA,CAAC,UAAS,EAAA;QAAA5K,EAAA,EAAI+W,CAAG;QAAAsR,aAAA,EAAc;QAC7B1c,QAAC,EAAAf,eAAAA,UAAAA,CAAAA,GAAA,CAAA,MAAA,EAAA;UAAKkM,CAAE,EAAA;QAAA,CAA8B;MACxC,CAAA,CAAA,EACAlM,eAAAA,UAAAA,CAAAA,GAAA,CAAC,UAAS,EAAA;QAAA5K,EAAA,EAAIiX,CAAG;QAAAoR,aAAA,EAAc;QAC7B1c,QAAC,EAAAf,eAAAA,UAAAA,CAAAA,GAAA,CAAA,MAAA,EAAA;UAAKkM,CAAE,EAAA;QAAA,CAAgC;MAC1C,CAAA,CAAA,EACAlM,eAAAA,UAAAA,CAAAA,GAAA,CAAC,UAAS,EAAA;QAAA5K,EAAA,EAAIqX,CAAG;QAAAgR,aAAA,EAAc;QAC7B1c,QAAC,EAAAf,eAAAA,UAAAA,CAAAA,GAAA,CAAA,MAAA,EAAA;UAAKkM,CAAE,EAAA;QAAA,CAAsB;MAChC,CAAA,CAAA,EACAlM,eAAAA,UAAAA,CAAAA,GAAA,CAAC,UAAS,EAAA;QAAA5K,EAAA,EAAIsnB,CAAG;QAAAe,aAAA,EAAc;QAC7B1c,QAAC,EAAAf,eAAAA,UAAAA,CAAAA,GAAA,CAAA,MAAA,EAAA;UAAKkM,CAAE,EAAA;QAAA,CAAqC;MAC/C,CAAA,CAAA;KACF,CAAA,gCACC,GAAE,EAAA;MAAAwR,QAAA,UAAAprB,MAAA,CAAkBwa,CAAA,MAAA;MAAM6Q,WAAU,wCACnC;MAAA5c,QAAA,EAAA,eAAAf,UAAA,CAAAA,GAAA,CAAC,GAAA,EAAA;QACCC,KAAO,EAAA;UACL2J,OAAS,EAAA;QACX,CAAA;QACA8T,yBAAkB5R,CAAA,MAAA;QAElB/K,QAAA,iBAAAf,UAAA,CAAAA,GAAA,CAAC,MAAA,EAAA;UACCC,KAAO,EAAA;YACL2d,qBAAc3R,CAAA,MAAA;YACd4R,MAAQ,EAAA;UACV,CAAA;UACA3R,CAAE,EAAA;QAAA,CAAA;MACJ,CAAA;KAEJ,CAAA,EAAA,eACAlM,UAAA,CAAAA,GAAA,CAAC,MAAA,EAAA;MACCC,KAAO,EAAA;QACL2d,qBAAc1R,CAAA,MAAA;QACd2R,MAAQ,EAAA;MACV,CAAA;MACA3R,CAAE,EAAA,0NAAA;MACFyR,SAAU,EAAA;IAAA,CAAA,CACZ,iCACC,GAAE,EAAA;MAAAD,QAAA,UAAAprB,MAAA,CAAkBuE,CAAA,MAAA;MAAM8mB,WAAU,wCACnC;MAAA5c,QAAA,EAAA,CAAA,eAAAf,UAAA,CAAAA,GAAA,CAAC,GAAA,EAAA;QACCC,KAAO,EAAA;UACL2J,OAAS,EAAA;QACX,CAAA;QACA8T,yBAAkBvR,CAAA,MAAA;QAElBpL,QAAA,iBAAAf,UAAA,CAAAA,GAAA,CAAC,MAAA,EAAA;UACCC,KAAO,EAAA;YACL2d,qBAAcxR,CAAA,MAAA;YACdyR,MAAQ,EAAA;UACV,CAAA;UACA3R,CAAE,EAAA;QAAA,CAAA;MACJ,CAAA,CACF,EAAA,eACAlM,UAAA,CAAAA,GAAA,CAAC,GAAA,EAAA;QACCC,KAAO,EAAA;UACL2J,OAAS,EAAA;QACX,CAAA;QACA8T,yBAAkBrR,CAAA,MAAA;QAElBtL,QAAA,iBAAAf,UAAA,CAAAA,GAAA,CAAC,MAAA,EAAA;UACCC,KAAO,EAAA;YACL2d,qBAAcpB,CAAA,MAAA;YACdqB,MAAQ,EAAA;UACV,CAAA;UACA3R,CAAE,EAAA;QAAA,CAAA;MACJ,CAAA,CACF;KACF,CAAA,EAAA,eACAlM,UAAA,CAAAA,GAAA,CAAC,MAAA,EAAA;MACCC,KAAO,EAAA;QACL2d,qBAAcnB,CAAA,MAAA;QACdoB,MAAQ,EAAA;MACV,CAAA;MACA3R,CAAE,EAAA,wJAAA;MACFyR,SAAU,EAAA;IAAA,CAAA,CACZ,EAAA,eACA3d,UAAA,CAAAA,GAAA,CAAC,MAAA,EAAA;MACCC,KAAO,EAAA;QACL2d,qBAActR,CAAA,MAAA;QACduR,MAAQ,EAAA;MACV,CAAA;MACA3R,CAAE,EAAA,6JAAA;MACFyR,SAAU,EAAA;IAAA,CAAA,CACZ,EAAA,eACA3d,UAAA,CAAAA,GAAA,CAAC,MAAA,EAAA;MACCC,KAAO,EAAA;QACL2d,qBAAcrR,CAAA,MAAA;QACdsR,MAAQ,EAAA;MACV,CAAA;MACA3R,CAAE,EAAA,4KAAA;MACFyR,SAAU,EAAA;IAAA,CAAA,CACZ,EAAA,eACA3d,UAAA,CAAAA,GAAA,CAAC,MAAA,EAAA;MACCC,KAAO,EAAA;QACL2d,qBAAcpR,CAAA,MAAA;QACdqR,MAAQ,EAAA;MACV,CAAA;MACA3R,CAAE,EAAA,4JAAA;MACFyR,SAAU,EAAA;IAAA,CAAA,CACZ,gCACC,GAAE,EAAA;MAAAD,QAAA,UAAAprB,MAAA,CAAkBma,CAAA,MAAA;MAAMkR,WAAU,wCACnC;MAAA5c,QAAA,EAAA,eAAAf,UAAA,CAAAA,GAAA,CAAC,GAAA,EAAA;QACCC,KAAO,EAAA;UACL2J,OAAS,EAAA;QACX,CAAA;QACA8T,yBAAkBhB,CAAA,MAAA;QAElB3b,QAAA,iBAAAf,UAAA,CAAAA,GAAA,CAAC,MAAA,EAAA;UACCC,KAAO,EAAA;YACL2d,qBAAclR,CAAA,MAAA;YACdmR,MAAQ,EAAA;UACV,CAAA;UACA3R,CAAE,EAAA;QAAA,CAAA;MACJ,CAAA;KAEJ,CAAA,EAAA,eACAlM,UAAA,CAAAA,GAAA,CAAC,MAAA,EAAA;MACCC,KAAO,EAAA;QACL2d,qBAAcjR,CAAA,MAAA;QACdkR,MAAQ,EAAA;MACV,CAAA;MACA3R,CAAE,EAAA,qNAAA;MACFyR,SAAU,EAAA;IAAA,CAAA,CACZ,EAAA,eACA3d,UAAA,CAAAA,GAAA,CAAC,MAAA,EAAA;MACCC,KAAO,EAAA;QACL2d,qBAAc7Q,CAAA,MAAA;QACd8Q,MAAQ,EAAA;MACV,CAAA;MACA3R,CAAE,EAAA,gPAAA;MACFyR,SAAU,EAAA;IAAA,CAAA,CACZ;EAAA,CAAA,CACF;AAEJ;ACzcA,MAAMG,OAAO3d,eAAO,CAAA9N,OAAA,CAAA0rB,IAAA,CAAAC,iBAAA,KAAAA,iBAAA,GAAA1d,sBAAA,oHAAA;AAOP,MAAA2d,MAAA,GAASA,CAAA,KAElBvd,eAAAA,UAAAA,CAAAA,IAAA,CAAAoE,UAAA,CAAAA,QAAA,EAAA;EAAA/D,QAAA,EAAA,CAAA,eAAAf,cAAA,CAAC8d,IACC,EAAA;IAAA/c,QAAA,iBAAAf,UAAA,CAAAA,GAAA,CAACqc,OAAQ,EAAA;MAAAje,MAAA,EAAQ;IAAI,CAAA;GACvB,CAAA,EAAO,iBAAA;CAET,CAAA;ACNF,SAAS8f,UAAUla,KAAc,EAAA;EAC/B,MAAM;IAACjD,QAAA;IAAUM,KAAO;IAAA2F,WAAA;IAAawP;GAAW,GAAAxS,KAAA;EAG9C,OAAA,eAAAtD,UAAA,CAAAA,IAAA,CAAC8G,EAAM,CAAAA,KAAA,EAAA;IAAA5G,KAAA,EAAO,CACZ;IAAAG,QAAA,EAAA,CAAA,eAAAf,cAAA,CAAC2H,EAAAA,CAAAA,IAAK,EAAA;MAAAE,KAAA,EAAM,UACV;MAAA9G,QAAA,EAAAf,eAAAA,UAAAA,CAAAA,GAAA,CAACiC;QAAImV,IAAM,EAAA,CAAA;QAAG1P,QAAU,EAAA,CAAA;QACtB3G,QAAC,EAAAf,eAAAA,UAAAA,CAAAA,GAAA,CAAAwH,EAAA,CAAAA,KAAA,EAAA;UAAM5G,KAAO,EAAA,CAAA;UACZG,yCAAC4G,OACC,EAAA;YAAA5G,QAAA,EAAA,CAAA,eAAAf,cAAA,CAACmI,EAAAA,CAAAA,IAAK,EAAA;cAAAL,EAAA,EAAG,OAAQ;cAAAqL,OAAA,EAASqD,OAAS;cAAA2H,MAAA,EAAO,UAAW;cAAApL,IAAA,EAAM,CACxD;cAAAhS,QAAA,EAAAM,KAAA,IAAA,eAAUrB,cAAA,CAAA,IAAA,EAAA;gBAAGe;cAAQ,CAAA;aACxB,CAAA,EAECiG,eACEhH,eAAAA,UAAAA,CAAAA,GAAA,CAAAmI,EAAA,CAAAA,IAAA,EAAA;cAAK5E,OAAK,IAAC;cAAAwP,IAAA,EAAM;cACfhS,QACH,EAAAiG;aAAA,CAAA;WAEJ;QAAA,CACF;MACF,CAAA;KACF,CAAA,EAAA,eACAhH,cAAA,CAAC;MAAKe;KAAS,CAAA;EACjB,CAAA,CAAA;AAEJ;AAEA,IAAezB,WAAAA,GAAAA,KAAAA,CAAAA,KAAK4e,SAAS,CAAA;ACT7B,MAAME,UAAa,GAAA,CAAC,OAAS,EAAA,WAAA,EAAa,kBAAkB,CAAA;AAC5D,SAASC,YAAaA,CAAAC,MAAA,EAAkC;EAAA,IAAlC;IAACzqB,OAAS;IAAAsQ;GAAwB,GAAAma,MAAA;EA/BxD,IAAA/sB,EAAA,EAAAC,EAAA;EAgCE,MAAMC,SAASR,SAAU,EAAA;EACzB,MAAM,CAACynB,KAAA,EAAO6F,QAAQ,CAAA,GAAIrC,oBAAoBroB,OAAO,CAAA;EAC/C,MAAA2qB,mBAAA,GAAsBzsB,cAAQ,MAAM8B,OAAA,CAAQC,SAASD,OAAQ,CAAAE,SAAA,EAAW,CAACF,OAAO,CAAC,CAAA;EACjF,MAAA8Q,WAAA,GAAcF,KAAAA,CAAAA,YAAY,MAAMN,cAAA,CAAe,KAAK,CAAG,EAAA,CAACA,cAAc,CAAC,CAAA;EAC7E,MAAMsa,KAAQ,GAAA1sB,KAAA,CAAAA,OAAA,CACZ,MACE8B,OAAQ,CAAAC,KAAA,KAAU4kB,KAAM,CAAA5kB,KAAA,IACxBD,OAAQ,CAAAE,SAAA,KAAc2kB,KAAM,CAAA3kB,SAAA,IAC5BF,OAAQ,CAAAG,gBAAA,KAAqB0kB,KAAM,CAAA1kB,gBAAA,EACrC,CAACH,SAAS6kB,KAAK,CAAA,CACjB;EACM,MAAAtjB,EAAA,kBAAA9C,MAAA,CAAoB2R,KAAM,CAAAA,KAAA,EAAA,CAAA;EAChC,MAAM,CAACya,OAAA,EAASC,WAAa,EAAAC,kBAAkB,CAAI,GAAA7sB,KAAA,CAAAA,OAAA,CACjD,MAAMqsB,UAAW,CAAA1iB,GAAA,CAAKihB,KAAU,OAAArqB,MAAA,CAAG8C,gBAAMunB,KAAO,CAAA,CAAA,EAChD,CAACvnB,EAAE,CAAA,CACL;EACM,MAAAypB,UAAA,GAAarV,aAAyB,IAAI,CAAA;EAC1C,MAAAsV,iBAAA,GAAoBvD,cAAe,CAAA9pB,MAAA,EAAQoC,OAAO,CAAA;EAClD,MAAAkrB,MAAA,GAASvV,aAAO,KAAK,CAAA;EAE3B,MAAMwV,YAAe,GAAAva,KAAA,CAAAA,WAAA,CAClBtL,KAA4C,IAAA;IAC3CA,KAAA,CAAMghB,cAAe,EAAA;IAErB,IAAI,CAAC4E,MAAO,CAAArV,OAAA,IAAWvQ,KAAM,CAAAyP,aAAA,CAAcqW,gBAAkB,EAAA;MAC3DF,MAAA,CAAOrV,OAAU,GAAA,IAAA;MACR6U,QAAA,CAAA;QAACppB,IAAM,EAAA;MAAA,CAAS,CAAA;MACzB,MAAM;QAACrB,KAAA;QAAOC,SAAW;QAAAC;MAAA,CAAoB,GAAA0kB,KAAA;MAC3BoG,iBAAA,CAAA;QAAChrB;QAAOC,SAAW;QAAAC;MAAA,CAAiB,CACnD,CAAAuG,IAAA,CAAM2kB,YAAiB,IAAA;QACtB,MAAM;UAACxtB,SAAA;UAAWE;QAAO,CAAA,GAAIH,OAAO0E,MAAO,EAAA;QAC3CgpB,YAAA,CAAAA,KAAA,CAAM,CAAC/rB,OAAA,EAASgsB,GAAW,EAAA1tB,SAAA,EAAWE,OAAO,CAAC,CAAA;QACtCytB,YAAAA,CAAAA,OAAA,CAAA,MAAMvlB,OAAQ,CAAAC,OAAA,CAAQmlB,YAAY,CAAA,EAAG,CAAC9rB,OAAS,EAAAgsB,GAAA,EAAW1tB,SAAW,EAAAE,OAAO,CAAC,CAAA;QACrFuS,cAAA,CAAe,KAAK,CAAA;MACrB,CAAA,CACA,CAAAmb,KAAA,CAAO/lB,GAAA,IAAQglB,SAAS;QAACppB,IAAA,EAAM,OAAS;QAAA8H,OAAA,EAAS1D,IAAI9D;MAAQ,CAAA,CAAC,CAAA,CAC9DwV,QAAQ,MAAM;QACb8T,MAAA,CAAOrV,OAAU,GAAA,KAAA;MAAA,CAClB,CAAA;IACL;EACF,CAAA,EACA,CAACjY,MAAA,EAAQ8sB,QAAU,EAAAO,iBAAA,EAAmB3a,gBAAgBuU,KAAK,CAAA,CAC7D;EACA,MAAM6G,iBAAoB,GAAA9a,KAAA,CAAAA,WAAA,CACvBtL,KAA6C,IAAA;IACnColB,QAAA,CAAA;MACPppB,IAAM,EAAA,QAAA;MACN8H,SAAS;QAAC9J,IAAA,EAAM;QAASM,KAAO,EAAA0F,KAAA,CAAMyP,cAAcnV;MAAK;IAAA,CAC1D,CAAA;EACH,CAAA,EACA,CAAC8qB,QAAQ,CAAA,CACX;EACA,MAAMiB,qBAAwB,GAAA/a,KAAA,CAAAA,WAAA,CAC3BtL,KAA6C,IAAA;IACnColB,QAAA,CAAA;MACPppB,IAAM,EAAA,QAAA;MACN8H,SAAS;QAAC9J,IAAA,EAAM;QAAaM,KAAO,EAAA0F,KAAA,CAAMyP,cAAcnV;MAAK;IAAA,CAC9D,CAAA;EACH,CAAA,EACA,CAAC8qB,QAAQ,CAAA,CACX;EACA,MAAMkB,4BAA+B,GAAAhb,KAAA,CAAAA,WAAA,CAClCtL,KAA6C,IAAA;IACnColB,QAAA,CAAA;MACPppB,IAAM,EAAA,QAAA;MACN8H,SAAS;QAAC9J,IAAA,EAAM;QAAoBM,KAAO,EAAA0F,KAAA,CAAMyP,cAAcZ;MAAO;IAAA,CACvE,CAAA;EACH,CAAA,EACA,CAACuW,QAAQ,CAAA,CACX;EAEA3Z,KAAAA,CAAAA,SAAA,CAAU,MAAM;IACd,IAAIia,WAAWnV,OAAS,EAAA;MACtBmV,UAAA,CAAWnV,QAAQiM,KAAM,EAAA;IAC3B;EAAA,CACF,EAAG,CAACkJ,UAAU,CAAC,CAAA;EAEf,OACG7e,eAAAA,UAAAA,CAAAA,GAAA,CAAAkH,EAAAA,CAAAA,MAAA,EAAA;IAAO9R,EAAQ;IAAA4Q,OAAA,EAASrB,WAAa;IAAAwC,MAAA,iBAASnH,UAAA,CAAAA,GAAA,CAAAie,MAAA,EAAA,CAAO,CAAA,CAAI;IAAA5f,KAAA,EAAO,CAC/D;IAAA0C,QAAA,EAAA,eAAAf,cAAA,CAACiC,EAAAA,CAAAA,GAAI,EAAA;MAAAqD,OAAA,EAAS,CAAG;MAAArF,KAAA,EAAO;QAAC+B,QAAA,EAAU;MAAU,CAAA;MAC3CjB,QAAC,EAAA,eAAAf,cAAA,CAAA,MAAA,EAAA;QAAK0f,QAAU,EAAAV,YAAA;QAAcW,UAAU,EAAA,IAAA;QACtC5e,QAAC,iBAAAL,UAAA,CAAAA,IAAA,CAAA8G,EAAA,CAAAA,KAAA,EAAA;UAAM5G,OAAO,CACX;UAAAG,QAAA,EAAA,CAAA,CAACyd,sCACCxe,cAAA,CAAA8B,EAAAA,CAAAA,IAAA,EAAA;YAAKwD,SAAS,CAAC,CAAA,EAAG,GAAG,CAAC,CAAA;YAAGvD,MAAQ,EAAA,CAAA;YAAG8T,QAAQ,CAAG;YAAArS,IAAA,EAAK;YACnDzC,QAAC,EAAA,eAAAL,eAAA,CAAA8G,EAAAA,CAAAA,KAAA,EAAA;cAAM5G,OAAO,CACZ;cAAAG,QAAA,EAAA,CAACL,eAAAA,UAAAA,CAAAA,IAAA,CAAAyH,EAAAA,CAAAA,IAAA,EAAA;gBAAK4K,MAAM,CAAG;gBAAAhS,QAAA,EAAA,CAAA,0CAAA,EAC4B,GAAA,EAAA,eACzCf,UAAA,CAAAA,GAAA,CAAC,GAAA,EAAA;kBACC4f,IAAK,EAAA,kDAAA;kBACLhN,MAAO,EAAA,QAAA;kBACPiN,GAAI,EAAA,qBAAA;kBACL9e,QAAA,EAAA;gBAAA,CAAA,CAED,EAAI,GAAA;eAEN,CAAA,EACAL,eAAAA,UAAAA,CAAAA,IAAA,CAACyH,EAAAA,CAAAA,IAAK,EAAA;gBAAA4K,IAAA,EAAM,CAAG;gBAAAhS,QAAA,EAAA,CAAA,sCAAA,EACuBf,eAAAA,UAAAA,CAAAA,GAAA,CAAC;kBAAOe,QAAU,EAAA;gBAAA,CAAA,CAAA,EAAS,oBAAA,EAC7Cf,eAAAA,UAAAA,CAAAA,GAAA,CAAC;kBAAOe,QAAQ,EAAA;gBAAA,CAAA,CAAA,EAAS,SAAA,EAAA,8BAC1C,IAAG,EAAA,EAAA,CAAA,EAAE,uFAAA;eAGR,CAAA;YAAA,CACF;UACF,CAAA,CAAA,EAAA,eAEDf,UAAA,CAAAA,GAAA,CAAAke,WAAA,EAAA;YAAU7c,KAAM,EAAA,cAAA;YAAemV,SAASkI,OACvC;YAAA3d,QAAA,iBAAAf,UAAA,CAAAA,GAAA,CAAC8f,EAAA,CAAAA,SAAA,EAAA;cACC1qB,EAAI,EAAAspB,OAAA;cACJjZ,GAAK,EAAAoZ,UAAA;cACL5W,QAAU,EAAAsX,iBAAA;cACVpqB,IAAK,EAAA,MAAA;cACL1B,KAAA,EAAA,CAAOlC,EAAM,GAAAmnB,KAAA,CAAA5kB,KAAA,KAAN,IAAe,GAAAvC,EAAA,GAAA,EAAA;cACtBwuB,QAAU,EAAA,CAAC,CAACrH,KAAA,CAAM3kB,aAAa2kB,KAAM,CAAA1kB;YAAA,CAAA;WAEzC,CAAA,EAAA,eACCgM,UAAA,CAAAA,GAAA,CAAAke,WAAA,EAAA;YAAU7c,KAAM,EAAA,YAAA;YAAamV,SAASmI,WACrC;YAAA5d,QAAA,iBAAAf,UAAA,CAAAA,GAAA,CAAC8f,EAAA,CAAAA,SAAA,EAAA;cACC1qB,EAAI,EAAAupB,WAAA;cACJ1W,QAAU,EAAAuX,qBAAA;cACVrqB,IAAK,EAAA,MAAA;cACL1B,KAAA,EAAA,CAAOjC,EAAM,GAAAknB,KAAA,CAAA3kB,SAAA,KAAN,IAAmB,GAAAvC,EAAA,GAAA,EAAA;cAC1BuuB,QAAU,EAAA,CAAC,CAACrH,KAAA,CAAM5kB,SAAS4kB,KAAM,CAAA1kB;YAAA,CAAA;WAErC,CAAA,EAEA0M,eAAAA,UAAAA,CAAAA,IAAA,CAAC8G,EAAAA,CAAAA,KAAM,EAAA;YAAA5G,KAAA,EAAO,CACZ;YAAAG,QAAA,EAAA,CAACL,eAAAA,UAAAA,CAAAA,IAAA,CAAAiH,EAAAA,CAAAA,IAAA,EAAA;cAAKE,OAAM,QACV;cAAA9G,QAAA,EAAA,CAAA,eAAAf,UAAA,CAAAA,GAAA,CAAC+H,EAAA,CAAAA,QAAA,EAAA;gBACC3S,EAAI,EAAAwpB,kBAAA;gBACJ3W,QAAU,EAAAwX,4BAAA;gBACVzX,SAAS0Q,KAAM,CAAA1kB,gBAAA;gBACfiM,KAAA,EAAO;kBAACiC,OAAA,EAAS;gBAAO;cAAA,CAAA,CAC1B,EAAA,eACClC,cAAA,CAAAiC,EAAAA,CAAAA,GAAA,EAAA;gBAAImV,IAAM,EAAA,CAAA;gBAAG4I,aAAa,CACzB;gBAAAjf,QAAA,EAAAf,eAAAA,UAAAA,CAAAA,GAAA,CAACmI,EACC,CAAAA,IAAA,EAAA;kBAAApH,QAAA,iBAAAf,UAAA,CAAAA,GAAA,CAAC,OAAM,EAAA;oBAAAmT,OAAA,EAASyL,kBAAoB;oBAAA7d,QAAA,EAAA;kBAAA,CAAkB;gBACxD,CAAA;eACF,CAAA;aACF,CAAA,EAEClN,OAAA,CAAQI,gBAAgBykB,KAAM,CAAA1kB,gBAAA,iCAC5B8N,OAAK,EAAA;cAAAwD,OAAA,EAAS,CAAC,CAAG,EAAA,CAAA,EAAG,CAAC,CAAG;cAAAvD,MAAA,EAAQ;cAAG8T,MAAQ,EAAA,CAAA;cAAGrS,MAAK,SACnD;cAAAzC,QAAA,iBAAAL,UAAA,CAAAA,IAAA,CAAC8G,QAAM,EAAA;gBAAA5G,KAAA,EAAO,CACZ;gBAAAG,QAAA,EAAA,CAAA,eAACf,UAAA,CAAAA,GAAA,CAAAmI,EAAA,CAAAA,IAAA,EAAA;kBAAK4K,IAAM,EAAA,CAAA;kBAAGhS,QAA2C,EAAA;iBAAA,CAAA,EAAA,eACzDf,UAAA,CAAAA,GAAA,CAAA6X,EAAA,CAAAA,IAAA,EAAA;kBAAK9E,IAAM,EAAA,CAAA;kBAAIhS,kBAAQ9M;iBAAa,CAAA,EACrCyM,eAAAA,UAAAA,CAAAA,IAAA,CAACyH,EAAAA,CAAAA,IAAK,EAAA;kBAAA4K,IAAA,EAAM,CAAG;kBAAAhS,QAAA,EAAA,CAAA,gEAAA,EAAA,8BAEZ,IAAG,EAAA,EAAA,CAAA,EAAE,wEAAA;iBAER,CAAA;cACF,CAAA;YACF,CAAA,CACE,GAAA,IAAA;WACN,CAAA,EAEAL,eAAAA,UAAAA,CAAAA,IAAA,CAACC,EAAAA,CAAAA,MAAO,EAAA;YAAAC,KAAA,EAAO,CACb;YAAAG,QAAA,EAAA,CAAA,eAAAf,UAAA,CAAAA,GAAA,CAACiF,EAAA,CAAAA,MAAA,EAAA;cACCW,IAAK,EAAA,MAAA;cACLyC,UAAU,CAACoW,KAAA;cACXlX,SAASmR,KAAM,CAAAqD,UAAA;cACfvY,IAAK,EAAA,SAAA;cACL4B,IAAK,EAAA,SAAA;cACLjQ,IAAK,EAAA;YAAA,CAAA,CACP,EAAA,eACA6K,UAAA,CAAAA,GAAA,CAACiF,EAAA,CAAAA,MAAA,EAAA;cACCoD,UAAUqQ,KAAM,CAAAqD,UAAA;cAChBnW,IAAK,EAAA,QAAA;cACLR,IAAK,EAAA,OAAA;cACLC,OAAS,EAAAV;YAAA,CAAA,CACX;WACF,CAAA,EACC+T,KAAA,CAAMnlB,wBACJyM,cAAA,CAAA8B,EAAAA,CAAAA,IAAA,EAAA;YAAKwD,SAAS,CAAC,CAAA,EAAG,GAAG,CAAC,CAAA;YAAGvD,QAAQ,CAAG;YAAA8T,MAAA,EAAQ;YAAGrS,IAAK,EAAA,UAAA;YACnDzC,wCAACoH,OAAM,EAAA;cAAApH,QAAA,EAAA2X,KAAA,CAAMnlB;aAAM;UACrB,CAAA,CAAA;QAEJ,CAAA;MACF,CAAA;KACF;EACF,CAAA,CAAA;AAEJ;AAEA,IAAe+L,cAAAA,GAAAA,KAAAA,CAAAA,KAAK+e,YAAY,CAAA;AC3MhC,SAAS4B,kBAAkBjc,KAAc,EAAA;EACjC,MAAA;IAACjD,QAAU;IAAAmf;EAAc,CAAA,GAAAlc,KAAA;EAC/B,MAAM;IAACiC,IAAA,EAAMC;EAAS,CAAA,GAAIC,EAAS,CAAAA,QAAA,EAAA;EAC7B,MAAAga,QAAA,GAAW3W,aAAO,IAAI,CAAA;EAC5B,MAAM;IAAC9H,aAAe;IAAAC,QAAA;IAAUpO,KAAO;IAAA6sB;EAAA,IAASxe,gBAAAA,CAAAA,gBAAiB,CAAA;IAC/Dye,UAAA,EAAYA,CAAC9mB,GAAA,EAAK+mB,SAAc,KAAA;MACtBxpB,OAAA,CAAAypB,KAAA,CAAMhnB,GAAI,CAAAinB,QAAA,EAAU,CAAA;MAC5B1pB,OAAA,CAAQ2pB,eAAe,eAAe,CAAA;MACtC3pB,OAAA,CAAQvD,MAAMgG,GAAG,CAAA;MACjBzC,OAAA,CAAQ4pB,QAAS,EAAA;MACjB,IAAInnB,IAAIonB,KAAO,EAAA;QACb7pB,OAAA,CAAQ2pB,eAAe,aAAa,CAAA;QAC5B3pB,OAAA,CAAA8kB,GAAA,CAAIriB,IAAIonB,KAAK,CAAA;QACrB7pB,OAAA,CAAQ4pB,QAAS,EAAA;MACnB;MACA,IAAIJ,uCAAWM,cAAgB,EAAA;QAC7B9pB,OAAA,CAAQ2pB,eAAe,0BAA0B,CAAA;QACzC3pB,OAAA,CAAA8kB,GAAA,CAAI0E,UAAUM,cAAc,CAAA;QACpC9pB,OAAA,CAAQ4pB,QAAS,EAAA;MACnB;MACA5pB,OAAA,CAAQ4pB,QAAS,EAAA;MACPxa,SAAA,CAAA;QACRjU,MAAQ,EAAA,OAAA;QACRoP,KAAO,EAAA,gBAAA;QACP2F,WAAA,gCACGW,OAAK,EAAA;UAAAE,KAAA,EAAM;UACV9G,QAAC,EAAAL,eAAAA,UAAAA,CAAAA,IAAA,CAAAC,EAAAA,CAAAA,MAAA,EAAA;YAAOC,OAAO,CAAG;YAAAG,QAAA,EAAA,CAAA,mCAAA,EAAA,eAEhBf,UAAA,CAAAA,GAAA,CAACiF,EAAA,CAAAA,MAAA,EAAA;cACCK,OAAS,EAAA,CAAA;cACTgN,QAAU,EAAA,CAAA;cACVrS,KAAA,EAAO;gBAAC0d,SAAA,EAAW;cAAiB,CAAA;cACpCvY,IAAK,EAAA,OAAA;cACLQ,MAAMsa,UAAW,CAAA7e,KAAA;cACjBgE,SAASA,CAAA,KAAM;gBACb,IAAI8a,SAASzW,OAAS,EAAA;kBACpBmX,uBAAA,CAAAxuB,OAAA,CAAe8tB,SAASzW,OAAS,EAAA;oBAC/BoX,QAAU,EAAA,QAAA;oBACVC,UAAY,EAAA,WAAA;oBACZC,KAAO,EAAA;kBAAA,CACR,CAAA;gBACH;cACF;YAAA,CAAA,CACF;UAAA,CACF;QACF,CAAA;MAAA,CAEH,CAAA;IACH;EAAA,CACD,CAAA;EACK,MAAAC,WAAA,GAAcxc,KAAAA,CAAAA,YAAY,MAAM;IAE9B0a,kBAAA,CAAA,CAAChsB,IAAI,CAAC,CAAA;IAENitB,KAAA,EAAA;EAAA,CACR,EAAG,CAACA,KAAK,CAAC,CAAA;EAEV,IAAIze,QAAU,EAAA;IACZ,sBACG3B,UAAA,CAAAA,GAAA,CAAA8B,EAAA,CAAAA,IAAA,EAAA;MAAK2D,GAAK,EAAA0a,QAAA;MAAU1Y,UAAU,CAAC,CAAA,EAAG,CAAG,EAAA,CAAA,EAAG,CAAC,CAAG;MAAArJ,MAAA,EAAO,MAAO;MAAAyX,MAAA,EAAQ;MAAGqL,QAAS,EAAA,MAAA;MAC7EngB,QAAC,iBAAAf,UAAA,CAAAA,GAAA,CAAA2H,EAAA,CAAAA,IAAA,EAAA;QAAKsB,SAAQ,YAAa;QAAApB,KAAA,EAAM,QAAS;QAAAzJ,MAAA,EAAO;QAC/C2C,QAAC,EAAA,eAAAL,eAAA,CAAAiD,EAAAA,CAAAA,IAAA,EAAA;UAAK2D,OAAS,EAAA,CAAA;UAAGD,KAAK,CAAC,CAAA,EAAG,CAAG,EAAA,CAAA,EAAG,CAAC,CAChC;UAAAtG,QAAA,EAAA,CAACL,eAAAA,UAAAA,CAAAA,IAAA,CAAAygB,EAAAA,CAAAA,OAAA,EAAA;YAAQrZ,IAAG,IAAK;YAAA/G,QAAA,EAAA,CAAA,MAAA,EACXf,eAAAA,UAAAA,CAAAA,GAAA,CAAC;cAAMe,QAAK,EAAA5N;YAAA,CAAA,CAAA,EAAO,iBAAA;WACzB,CAAA,EAAA,CACCI,+BAAOkC,OACN,oBAAAuK,UAAA,CAAAA,GAAA,CAAC8B,OAAK,EAAA;YAAAwD,OAAA,EAAS;YAAG9B,IAAK,EAAA,UAAA;YAAWqS,MAAQ,EAAA,CAAA;YAAG9T,QAAQ,CACnD;YAAAhB,QAAA,EAAA,eAAAf,UAAA,CAAAA,GAAA,CAACmI,OAAM,EAAA;cAAApH,QAAA,EAAAxN,KAAA,CAAMkC;aAAQ;UACvB,CAAA,CAAA,EAEFuK,eAAAA,UAAAA,CAAAA,GAAA,CAACW;YACCI,QAAC,EAAA,eAAAf,UAAA,CAAAA,GAAA,CAAAiF,EAAA,CAAAA,MAAA,EAAA;cAAOI,SAAS4b,WAAa;cAAArb,IAAA,EAAK;aAAQ;UAC7C,CAAA,CAAA;SACF;OACF;IACF,CAAA,CAAA;EAEJ;EAEO,OAAA,eAAA5F,cAAA,CAAC0B;IAAeX;EAAS,CAAA,CAAA;AAClC;AAEA,IAAezB,mBAAAA,GAAAA,KAAAA,CAAAA,KAAK2gB,iBAAiB,CAAA;AC1FxB,MAAAmB,eAAA,GAAkBjhB,eAAAA,CAAAA,QAAO2B,EAAAA,CAAAA,IAAI,CAAA,CAAAuf,iBAAA,KAAAA,iBAAA,GAAA/gB,sBAAA,0EAAA;AAMnC,MAAMghB,gBAAgBA,CAAA,KAAM;EACjC,qCACG,KAAI,EAAA;IAAArhB,KAAA,EAAO;MAACqF,OAAA,EAAS;KACpB;IAAAvE,QAAA,iBAAAf,UAAA,CAAAA,GAAA,CAAC8B,EAAA,CAAAA,IAAA,EAAA;MACC+T,MAAQ,EAAA,CAAA;MACRqB,MAAO,EAAA,QAAA;MACPjX,OAAO;QAACN,WAAA,EAAa;QAAQtB,KAAO,EAAA,MAAA;QAAQkjB,cAAc;MAAK,CAAA;MAE/DxgB,QAAA,EAAAL,eAAAA,UAAAA,CAAAA,IAAA,CAACiH,EAAAA,CAAAA;QAAKE,KAAM,EAAA,QAAA;QAASqB,WAAU,QAAS;QAAA9K,MAAA,EAAO,MAAO;QAAA6K,OAAA,EAAQ,QAC5D;QAAAlI,QAAA,EAAA,CAACf,eAAAA,UAAAA,CAAAA,GAAA,CAAAsD,EAAA,CAAAA,OAAA,EAAA;UAAQC,OAAK;QAAC,CAAA,CAAA,EAAA,eACdvD,UAAA,CAAAA,GAAA,CAAAiC,EAAA,CAAAA,GAAA,EAAA;UAAIpB,SAAW,EAAA,CAAA;UACdE,QAAC,EAAAf,eAAAA,UAAAA,CAAAA,GAAA,CAAAmI,EAAAA,CAAAA,IAAA,EAAA;YAAKN,KAAM,EAAA,QAAA;YAAStE,KAAK,EAAA,IAAA;YAACwP,IAAM,EAAA,CAAA;YAAGhS;UAEpC,CAAA;SACF,CAAA;OACF;IAAA,CAAA;EAEJ,CAAA,CAAA;AAEJ,CAAA;ACnBA,SAAwBygB,QAAQxd,KAAqB,EAAA;EAC7C,MAAA;IAACG;EAAkB,CAAA,GAAAH,KAAA;EACnB,MAAAyd,UAAA,GAAahd,KAAAA,CAAAA,YAAY,MAAMN,cAAA,CAAe,SAAS,CAAG,EAAA,CAACA,cAAc,CAAC,CAAA;EAEhF,OAAA;IAEIpD,QAAC,EAAAf,eAAAA,UAAAA,CAAAA,GAAA,CAAA,KAAA,EAAA;MAAIC,OAAO;QAACqF,OAAA,EAAS;MACpB,CAAA;MAAAvE,QAAA,EAAA,eAAAf,UAAA,CAAAA,GAAA,CAAC8B,EAAA,CAAAA,IAAA,EAAA;QACCI,OAAQ,EAAA,MAAA;QACRgV,MAAO,EAAA,QAAA;QACPjX,KAAO,EAAA;UACLN,WAAa,EAAA,MAAA;UACbtB,KAAO,EAAA,MAAA;UACPqjB,SAAW,EAAA;QACb,CAAA;QACAja,QAAU,EAAA,CAAC,CAAG,EAAA,CAAA,EAAG,GAAG,CAAC,CAAA;QACrB1F,MAAQ,EAAA,CAAA;QACRyB,IAAK,EAAA,aAAA;QAELzC,wCAAC4G,EAAAA,CAAAA,IAAK,EAAA;UAAAsB,OAAA,EAAQ,YAAa;UAAApB,KAAA,EAAM;UAC/B9G,QAAC,iBAAAL,UAAA,CAAAA,IAAA,CAAAiD,EAAA,CAAAA,IAAA,EAAA;YAAK2D,OAAS,EAAA,CAAA;YAAGD,KAAK,CAAC,CAAA,EAAG,CAAG,EAAA,CAAA,EAAG,CAAC,CAChC;YAAAtG,QAAA,EAAA,CAAA,eAAAf,UAAA,CAAAA,GAAA,CAACW,EAAO,CAAAA,MAAA,EAAA;cAAA+G,QAAA,EAAU,CAChB;cAAA3G,QAAA,EAAAf,eAAAA,UAAAA,CAAAA,GAAA,CAAC,KAAI,EAAA;gBAAAC,KAAA,EAAO;kBAAC7B,MAAA,EAAQ;gBAAM,CAAA;gBACzB2C,QAAC,EAAAf,eAAAA,UAAAA,CAAAA,GAAA,CAAAqc,OAAA,EAAA,CAAQ,CAAA;cACX,CAAA;aACF,CAAA,EAAA,eACCrc,UAAA,CAAAA,GAAA,CAAAW,EAAA,CAAAA,MAAA,EAAA;cAAO+G,QAAU,EAAA,CAAA;cAChB3G,wCAACogB,EAAAA,CAAAA,OAAQ,EAAA;gBAAApO,IAAA,EAAM,CAAC,CAAA,EAAG,CAAG,EAAA,CAAA,EAAG,CAAC,CAAA;gBAAGhS;cAE7B,CAAA;aACF,CAAA,EAAA,eACCf,UAAA,CAAAA,GAAA,CAAAW,EAAA,CAAAA,MAAA,EAAA;cAAO+G,QAAU,EAAA,CAAA;cAChB3G,wCAACkE,EAAAA,CAAAA,MAAO,EAAA;gBAAAG,IAAA,EAAK,OAAQ;gBAAAF,IAAA,EAAMmP,KAAAA,CAAAA,QAAU;gBAAAzO,IAAA,EAAK,eAAgB;gBAAAP,OAAA,EAASoc;cAAY,CAAA;aACjF,CAAA;UAAA,CACF;QACF,CAAA;MAAA,CAAA;IAEJ,CAAA;EACF,CAAA,CAAA;AAEJ;AClCA,MAAME,KAAA,GAAS3d,KAAsB,IAAA;EAjBrC,IAAAzS,EAAA;EAkBE,MAAME,SAASR,SAAU,EAAA;EACzB,MAAM2wB,uBAAuBtuB,wBAAyB,EAAA;EACtD,MAAMuuB,mBAAsB,GAAAjxB,sBAAA,CAAA,CAAuBW,EAAM,GAAAyS,KAAA,CAAAvQ,KAAA,KAAN,mBAAa5C,KAAK,CAAA;EACrE,MAAMixB,OAAOxwB,aAAc,CAAA0S,KAAA,CAAMyP,WAAW,KAAY,CAAA,GAAA,CAAAoO,mBAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAAA,mBAAA,CAAqBpuB,UAAS,KAAS,CAAA,CAAA;EAC/F,MAAM,CAACyQ,WAAA,EAAaC,cAAc,CAAA,GAAI/S,cAAe,EAAA;EAErD,MAAMmC,KAAQ,GAAAquB,oBAAA,CAAqBruB,KAAS,IAAAsuB,mBAAA,CAAoBtuB,SAASuuB,IAAK,CAAAvuB,KAAA;EAM9E,IAAIA,KAAO,EAAA;IAEH,MAAAA,KAAA;EACR;EACM,MAAAC,SAAA,GAAYouB,oBAAqB,CAAApuB,SAAA,IAAaquB,mBAAoB,CAAAruB,SAAA;EAExE,OAAA,8BACG4tB,eACC,EAAA;IAAArgB,QAAA,EAAA,eAAAf,UAAA,CAAAA,GAAA,CAACigB,mBAAkB,EAAA;MAAAC,UAAA,EAAYlc,MAAMkc,UACnC;MAAAnf,QAAA,EAAAf,eAAAA,UAAAA,CAAAA,GAAA,CAAC0C,KAAAA,CAAAA,QAAS,EAAA;QAAAC,QAAA,gCAAW2e,aAAc,EAAA,CAAA,CAAA,CAAA;QAChCvgB,sBACEf,eAAAA,UAAAA,CAAAA,GAAA,CAAAshB,aAAA,EAAA,CAAc,CAAA,IAGZ5gB,eAAAA,UAAAA,CAAAA,IAAA,CAAAoE,UAAA,CAAAA,QAAA,EAAA;UAAA/D,QAAA,EAAA,CAAqB6gB,oBAAA,CAAAnuB,KAAA,CAAMW,cAAc,CAACytB,mBAAA,CAAoBpuB,uBAC5DuM,UAAA,CAAAA,GAAA,CAAAwhB,OAAA,EAAA;YAAQrd;UAAgC,CAAA,CAEzC,kBAAAnE,UAAA,CAAAA,GAAA,CAAC+hB,qBAAA,EAAA;YACE,GAAG/d,KAAA;YACJ7N,QAAQ6N,KAAM,CAAA7N,MAAA;YACd8R,UAAUjE,KAAM,CAAAiE,QAAA;YAChBxW,MAAA;YACAoC,OAAA,EAAS+tB,qBAAqBnuB,KAAM,CAAAI,OAAA;YACpChD,OAAOgxB,mBAAoB,CAAApuB,KAAA;YAC3ByQ,WAAA;YACAC,cAAA;YACA/P,UAAA,EAAYwtB,qBAAqBnuB,KAAM,CAAAW;UAAA,CAAA,CACzC,EAGD8P,gBAAgB,SACf,IAAA,eAAAlE,UAAA,CAAAA,GAAA,CAACqe,cAAA,EAAA;YACCla,cAAA;YACAtQ,OAAA,EAAS+tB,qBAAqBnuB,KAAM,CAAAI;UAAA,CAAA,CACtC;QAEJ,CAAA;MAEJ,CAAA;KACF;EACF,CAAA,CAAA;AAEJ,CAAA;AAEA,IAAeyL,OAAAA,GAAAA,KAAAA,CAAAA,KAAKqiB,KAAK,CAAA;ACpElB,SAASK,wBAAwB7rB,MAAgB,EAAA;EAC/C,OAAA;IACL8rB,UAAY,EAAA;MACVjqB,OAAQgM,KAAA,kCAA0B2d,OAAM,EAAA;QAAAxrB,MAAA;QAAiB,GAAG6N;OAAO;IACrE,CAAA;IACAke,OAAS,EAAA;MACPC,MAAQ,EAAA;QACN7pB,QAAU,EAAA,gBAAA;QACV8B,UAAY,EAAA,kBAAA;QACZnI,MAAQ,EAAA,cAAA;QACRD,OAAS,EAAA,eAAA;QACTuM,SAAW,EAAA,iBAAA;QACXrM,IAAM,EAAA;MACR,CAAA;MACAkwB,OAAA,EAAUvxB,KAAuC,IAAA;QAC/C,MAAM;UAACyH,QAAA;UAAU8B,UAAY;UAAAnI;QAAA,CAAU,GAAApB,KAAA;QAChC,OAAA;UACLwQ,KAAA,EAAO/I,YAAY8B,UAAc,IAAA,EAAA;UACjCgH,QAAA,EAAUnP,MAAS,cAAAK,MAAA,CAAWL,MAAW,IAAA,IAAA;UACzCqP,KAAA,EAAOzQ,MAAMuJ,UAAa,GAAA,eAAA4F,cAAA,CAACuB;YAAe1Q,KAAc;YAAAwN,KAAA,EAAO;UAAI,CAAA,CAAK,GAAA;QAAA,CAC1E;MACF;IACF;EAAA,CACF;AACF;AC9BO,MAAMgkB,QAAW,GAAA;EACtBlvB,IAAM,EAAA,WAAA;EACNgC,IAAM,EAAA,QAAA;EACNkM,KAAO,EAAA,uBAAA;EACPihB,MAAQ,EAAA,CACN;IACEjhB,KAAO,EAAA,OAAA;IACPlO,IAAM,EAAA,OAAA;IACNgC,IAAM,EAAA,WAAA;IACNotB,IAAM,EAAA,IAAA;IACNC,EAAI,EAAA,CAAC;MAACrtB,IAAA,EAAM;KAAiB;EAC/B,CAAA;AAEJ,CAAA;AAEO,MAAMstB,aAAgB,GAAA;EAC3BtvB,IAAM,EAAA,gBAAA;EACNgC,IAAM,EAAA,QAAA;EACNkM,KAAO,EAAA,aAAA;EACPihB,MAAQ,EAAA,CACN;IACEntB,IAAM,EAAA,QAAA;IACNhC,IAAM,EAAA;EACR,CAAA,EACA;IACEgC,IAAM,EAAA,QAAA;IACNhC,IAAM,EAAA;EACR,CAAA,EACA;IACEgC,IAAM,EAAA,QAAA;IACNhC,IAAM,EAAA;EACR,CAAA,EACA;IACEgC,IAAM,EAAA,QAAA;IACNhC,IAAM,EAAA;EACR,CAAA,EACA;IACEgC,IAAM,EAAA,QAAA;IACNhC,IAAM,EAAA;EACR,CAAA;AAEJ,CAAA;ACjCO,MAAMuvB,aAAwB,GAAA;EACnCxqB,WAAa,EAAA;AACf,CAAA;AAEa,MAAAyqB,QAAA,GAAWC,MAAAA,CAAAA,YAAqC,CAACC,UAAe,IAAA;EAC3E,MAAM1sB,MAAiB,GAAA;IAAC,GAAGusB,aAAA;IAAe,GAAGG;EAAU,CAAA;EAChD,OAAA;IACL1vB,IAAM,EAAA,WAAA;IACN2vB,MAAQ,EAAA;MACNC,KAAO,EAAA,CACLN,aAAA,EACA;QACE,GAAGJ,QAAA;QACH,GAAGL,wBAAwB7rB,MAAM;MACnC,CAAA;IAEJ;EAAA,CACF;AACF,CAAC,CAAA;;;;;;;;;;","x_google_ignoreList":[21,22,23]}
|