{"version":"6.0.3","files":{"lib.d.ts":"/// <reference lib=\"es5\" />\n/// <reference lib=\"dom\" />\n/// <reference lib=\"webworker.importscripts\" />\n/// <reference lib=\"scripthost\" />\n/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABILITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n/// <reference lib=\"es5\" />\n/// <reference lib=\"dom\" />\n/// <reference lib=\"webworker.importscripts\" />\n/// <reference lib=\"scripthost\" />\n","lib.decorators.d.ts":"/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABILITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\ntype ClassMemberDecoratorContext = ClassMethodDecoratorContext | ClassGetterDecoratorContext | ClassSetterDecoratorContext | ClassFieldDecoratorContext | ClassAccessorDecoratorContext;\ntype DecoratorContext = ClassDecoratorContext | ClassMemberDecoratorContext;\ntype DecoratorMetadataObject = Record<PropertyKey, unknown> & object;\ntype DecoratorMetadata = typeof globalThis extends {\n    Symbol: {\n        readonly metadata: symbol;\n    };\n} ? DecoratorMetadataObject : DecoratorMetadataObject | undefined;\ninterface ClassDecoratorContext<Class extends abstract new (...args: any) => any = abstract new (...args: any) => any> {\n    readonly kind: \"class\";\n    readonly name: string | undefined;\n    addInitializer(initializer: (this: Class) => void): void;\n    readonly metadata: DecoratorMetadata;\n}\ninterface ClassMethodDecoratorContext<This = unknown, Value extends (this: This, ...args: any) => any = (this: This, ...args: any) => any> {\n    readonly kind: \"method\";\n    readonly name: string | symbol;\n    readonly static: boolean;\n    readonly private: boolean;\n    readonly access: {\n        has(object: This): boolean;\n        get(object: This): Value;\n    };\n    addInitializer(initializer: (this: This) => void): void;\n    readonly metadata: DecoratorMetadata;\n}\ninterface ClassGetterDecoratorContext<This = unknown, Value = unknown> {\n    readonly kind: \"getter\";\n    readonly name: string | symbol;\n    readonly static: boolean;\n    readonly private: boolean;\n    readonly access: {\n        has(object: This): boolean;\n        get(object: This): Value;\n    };\n    addInitializer(initializer: (this: This) => void): void;\n    readonly metadata: DecoratorMetadata;\n}\ninterface ClassSetterDecoratorContext<This = unknown, Value = unknown> {\n    readonly kind: \"setter\";\n    readonly name: string | symbol;\n    readonly static: boolean;\n    readonly private: boolean;\n    readonly access: {\n        has(object: This): boolean;\n        set(object: This, value: Value): void;\n    };\n    addInitializer(initializer: (this: This) => void): void;\n    readonly metadata: DecoratorMetadata;\n}\ninterface ClassAccessorDecoratorContext<This = unknown, Value = unknown> {\n    readonly kind: \"accessor\";\n    readonly name: string | symbol;\n    readonly static: boolean;\n    readonly private: boolean;\n    readonly access: {\n        has(object: This): boolean;\n        get(object: This): Value;\n        set(object: This, value: Value): void;\n    };\n    addInitializer(initializer: (this: This) => void): void;\n    readonly metadata: DecoratorMetadata;\n}\ninterface ClassAccessorDecoratorTarget<This, Value> {\n    get(this: This): Value;\n    set(this: This, value: Value): void;\n}\ninterface ClassAccessorDecoratorResult<This, Value> {\n    get?(this: This): Value;\n    set?(this: This, value: Value): void;\n    init?(this: This, value: Value): Value;\n}\ninterface ClassFieldDecoratorContext<This = unknown, Value = unknown> {\n    readonly kind: \"field\";\n    readonly name: string | symbol;\n    readonly static: boolean;\n    readonly private: boolean;\n    readonly access: {\n        has(object: This): boolean;\n        get(object: This): Value;\n        set(object: This, value: Value): void;\n    };\n    addInitializer(initializer: (this: This) => void): void;\n    readonly metadata: DecoratorMetadata;\n}\n","lib.decorators.legacy.d.ts":"/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABILITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\ndeclare type ClassDecorator = <TFunction extends Function>(target: TFunction) => TFunction | void;\ndeclare type PropertyDecorator = (target: Object, propertyKey: string | symbol) => void;\ndeclare type MethodDecorator = <T>(target: Object, propertyKey: string | symbol, descriptor: TypedPropertyDescriptor<T>) => TypedPropertyDescriptor<T> | void;\ndeclare type ParameterDecorator = (target: Object, propertyKey: string | symbol | undefined, parameterIndex: number) => void;\n","lib.dom.asynciterable.d.ts":"/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABILITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n","lib.dom.d.ts":"/// <reference lib=\"es2015\" />\n/// <reference lib=\"es2018.asynciterable\" />\n/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABILITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n/// <reference lib=\"es2015\" />\n/// <reference lib=\"es2018.asynciterable\" />\ninterface AacEncoderConfig {\n    format?: AacBitstreamFormat;\n}\ninterface AddEventListenerOptions extends EventListenerOptions {\n    once?: boolean;\n    passive?: boolean;\n    signal?: AbortSignal;\n}\ninterface AddressErrors {\n    addressLine?: string;\n    city?: string;\n    country?: string;\n    dependentLocality?: string;\n    organization?: string;\n    phone?: string;\n    postalCode?: string;\n    recipient?: string;\n    region?: string;\n    sortingCode?: string;\n}\ninterface AesCbcParams extends Algorithm {\n    iv: BufferSource;\n}\ninterface AesCtrParams extends Algorithm {\n    counter: BufferSource;\n    length: number;\n}\ninterface AesDerivedKeyParams extends Algorithm {\n    length: number;\n}\ninterface AesGcmParams extends Algorithm {\n    additionalData?: BufferSource;\n    iv: BufferSource;\n    tagLength?: number;\n}\ninterface AesKeyAlgorithm extends KeyAlgorithm {\n    length: number;\n}\ninterface AesKeyGenParams extends Algorithm {\n    length: number;\n}\ninterface Algorithm {\n    name: string;\n}\ninterface AllAcceptedCredentialsOptions {\n    allAcceptedCredentialIds: Base64URLString[];\n    rpId: string;\n    userId: Base64URLString;\n}\ninterface AnalyserOptions extends AudioNodeOptions {\n    fftSize?: number;\n    maxDecibels?: number;\n    minDecibels?: number;\n    smoothingTimeConstant?: number;\n}\ninterface AnimationEventInit extends EventInit {\n    animationName?: string;\n    elapsedTime?: number;\n    pseudoElement?: string;\n}\ninterface AnimationPlaybackEventInit extends EventInit {\n    currentTime?: CSSNumberish | null;\n    timelineTime?: CSSNumberish | null;\n}\ninterface AssignedNodesOptions {\n    flatten?: boolean;\n}\ninterface AudioBufferOptions {\n    length: number;\n    numberOfChannels?: number;\n    sampleRate: number;\n}\ninterface AudioBufferSourceOptions {\n    buffer?: AudioBuffer | null;\n    detune?: number;\n    loop?: boolean;\n    loopEnd?: number;\n    loopStart?: number;\n    playbackRate?: number;\n}\ninterface AudioConfiguration {\n    bitrate?: number;\n    channels?: string;\n    contentType: string;\n    samplerate?: number;\n    spatialRendering?: boolean;\n}\ninterface AudioContextOptions {\n    latencyHint?: AudioContextLatencyCategory | number;\n    sampleRate?: number;\n}\ninterface AudioDataCopyToOptions {\n    format?: AudioSampleFormat;\n    frameCount?: number;\n    frameOffset?: number;\n    planeIndex: number;\n}\ninterface AudioDataInit {\n    data: BufferSource;\n    format: AudioSampleFormat;\n    numberOfChannels: number;\n    numberOfFrames: number;\n    sampleRate: number;\n    timestamp: number;\n    transfer?: ArrayBuffer[];\n}\ninterface AudioDecoderConfig {\n    codec: string;\n    description?: AllowSharedBufferSource;\n    numberOfChannels: number;\n    sampleRate: number;\n}\ninterface AudioDecoderInit {\n    error: WebCodecsErrorCallback;\n    output: AudioDataOutputCallback;\n}\ninterface AudioDecoderSupport {\n    config?: AudioDecoderConfig;\n    supported?: boolean;\n}\ninterface AudioEncoderConfig {\n    aac?: AacEncoderConfig;\n    bitrate?: number;\n    bitrateMode?: BitrateMode;\n    codec: string;\n    numberOfChannels: number;\n    opus?: OpusEncoderConfig;\n    sampleRate: number;\n}\ninterface AudioEncoderInit {\n    error: WebCodecsErrorCallback;\n    output: EncodedAudioChunkOutputCallback;\n}\ninterface AudioEncoderSupport {\n    config?: AudioEncoderConfig;\n    supported?: boolean;\n}\ninterface AudioNodeOptions {\n    channelCount?: number;\n    channelCountMode?: ChannelCountMode;\n    channelInterpretation?: ChannelInterpretation;\n}\ninterface AudioProcessingEventInit extends EventInit {\n    inputBuffer: AudioBuffer;\n    outputBuffer: AudioBuffer;\n    playbackTime: number;\n}\ninterface AudioTimestamp {\n    contextTime?: number;\n    performanceTime?: DOMHighResTimeStamp;\n}\ninterface AudioWorkletNodeOptions extends AudioNodeOptions {\n    numberOfInputs?: number;\n    numberOfOutputs?: number;\n    outputChannelCount?: number[];\n    parameterData?: Record<string, number>;\n    processorOptions?: any;\n}\ninterface AuthenticationExtensionsClientInputs {\n    appid?: string;\n    credProps?: boolean;\n    credentialProtectionPolicy?: string;\n    enforceCredentialProtectionPolicy?: boolean;\n    hmacCreateSecret?: boolean;\n    largeBlob?: AuthenticationExtensionsLargeBlobInputs;\n    minPinLength?: boolean;\n    prf?: AuthenticationExtensionsPRFInputs;\n}\ninterface AuthenticationExtensionsClientInputsJSON {\n    appid?: string;\n    credProps?: boolean;\n    largeBlob?: AuthenticationExtensionsLargeBlobInputsJSON;\n    prf?: AuthenticationExtensionsPRFInputsJSON;\n}\ninterface AuthenticationExtensionsClientOutputs {\n    appid?: boolean;\n    credProps?: CredentialPropertiesOutput;\n    hmacCreateSecret?: boolean;\n    largeBlob?: AuthenticationExtensionsLargeBlobOutputs;\n    prf?: AuthenticationExtensionsPRFOutputs;\n}\ninterface AuthenticationExtensionsClientOutputsJSON {\n    appid?: boolean;\n    credProps?: CredentialPropertiesOutput;\n    largeBlob?: AuthenticationExtensionsLargeBlobOutputsJSON;\n    prf?: AuthenticationExtensionsPRFOutputsJSON;\n}\ninterface AuthenticationExtensionsLargeBlobInputs {\n    read?: boolean;\n    support?: string;\n    write?: BufferSource;\n}\ninterface AuthenticationExtensionsLargeBlobInputsJSON {\n    read?: boolean;\n    support?: string;\n    write?: Base64URLString;\n}\ninterface AuthenticationExtensionsLargeBlobOutputs {\n    blob?: ArrayBuffer;\n    supported?: boolean;\n    written?: boolean;\n}\ninterface AuthenticationExtensionsLargeBlobOutputsJSON {\n    blob?: Base64URLString;\n    supported?: boolean;\n    written?: boolean;\n}\ninterface AuthenticationExtensionsPRFInputs {\n    eval?: AuthenticationExtensionsPRFValues;\n    evalByCredential?: Record<string, AuthenticationExtensionsPRFValues>;\n}\ninterface AuthenticationExtensionsPRFInputsJSON {\n    eval?: AuthenticationExtensionsPRFValuesJSON;\n    evalByCredential?: Record<string, AuthenticationExtensionsPRFValuesJSON>;\n}\ninterface AuthenticationExtensionsPRFOutputs {\n    enabled?: boolean;\n    results?: AuthenticationExtensionsPRFValues;\n}\ninterface AuthenticationExtensionsPRFOutputsJSON {\n    enabled?: boolean;\n    results?: AuthenticationExtensionsPRFValuesJSON;\n}\ninterface AuthenticationExtensionsPRFValues {\n    first: BufferSource;\n    second?: BufferSource;\n}\ninterface AuthenticationExtensionsPRFValuesJSON {\n    first: Base64URLString;\n    second?: Base64URLString;\n}\ninterface AuthenticationResponseJSON {\n    authenticatorAttachment?: string;\n    clientExtensionResults: AuthenticationExtensionsClientOutputsJSON;\n    id: string;\n    rawId: Base64URLString;\n    response: AuthenticatorAssertionResponseJSON;\n    type: string;\n}\ninterface AuthenticatorAssertionResponseJSON {\n    authenticatorData: Base64URLString;\n    clientDataJSON: Base64URLString;\n    signature: Base64URLString;\n    userHandle?: Base64URLString;\n}\ninterface AuthenticatorAttestationResponseJSON {\n    attestationObject: Base64URLString;\n    authenticatorData: Base64URLString;\n    clientDataJSON: Base64URLString;\n    publicKey?: Base64URLString;\n    publicKeyAlgorithm: COSEAlgorithmIdentifier;\n    transports: string[];\n}\ninterface AuthenticatorSelectionCriteria {\n    authenticatorAttachment?: AuthenticatorAttachment;\n    requireResidentKey?: boolean;\n    residentKey?: ResidentKeyRequirement;\n    userVerification?: UserVerificationRequirement;\n}\ninterface AvcEncoderConfig {\n    format?: AvcBitstreamFormat;\n}\ninterface BiquadFilterOptions extends AudioNodeOptions {\n    Q?: number;\n    detune?: number;\n    frequency?: number;\n    gain?: number;\n    type?: BiquadFilterType;\n}\ninterface BlobEventInit extends EventInit {\n    data: Blob;\n    timecode?: DOMHighResTimeStamp;\n}\ninterface BlobPropertyBag {\n    endings?: EndingType;\n    type?: string;\n}\ninterface CSSMatrixComponentOptions {\n    is2D?: boolean;\n}\ninterface CSSNumericType {\n    angle?: number;\n    flex?: number;\n    frequency?: number;\n    length?: number;\n    percent?: number;\n    percentHint?: CSSNumericBaseType;\n    resolution?: number;\n    time?: number;\n}\ninterface CSSStyleSheetInit {\n    baseURL?: string;\n    disabled?: boolean;\n    media?: MediaList | string;\n}\ninterface CacheQueryOptions {\n    ignoreMethod?: boolean;\n    ignoreSearch?: boolean;\n    ignoreVary?: boolean;\n}\ninterface CanvasRenderingContext2DSettings {\n    alpha?: boolean;\n    colorSpace?: PredefinedColorSpace;\n    desynchronized?: boolean;\n    willReadFrequently?: boolean;\n}\ninterface CaretPositionFromPointOptions {\n    shadowRoots?: ShadowRoot[];\n}\ninterface ChannelMergerOptions extends AudioNodeOptions {\n    numberOfInputs?: number;\n}\ninterface ChannelSplitterOptions extends AudioNodeOptions {\n    numberOfOutputs?: number;\n}\ninterface CheckVisibilityOptions {\n    checkOpacity?: boolean;\n    checkVisibilityCSS?: boolean;\n    contentVisibilityAuto?: boolean;\n    opacityProperty?: boolean;\n    visibilityProperty?: boolean;\n}\ninterface ClientQueryOptions {\n    includeUncontrolled?: boolean;\n    type?: ClientTypes;\n}\ninterface ClipboardEventInit extends EventInit {\n    clipboardData?: DataTransfer | null;\n}\ninterface ClipboardItemOptions {\n    presentationStyle?: PresentationStyle;\n}\ninterface CloseEventInit extends EventInit {\n    code?: number;\n    reason?: string;\n    wasClean?: boolean;\n}\ninterface CommandEventInit extends EventInit {\n    command?: string;\n    source?: Element | null;\n}\ninterface CompositionEventInit extends UIEventInit {\n    data?: string;\n}\ninterface ComputedEffectTiming extends EffectTiming {\n    activeDuration?: CSSNumberish;\n    currentIteration?: number | null;\n    endTime?: CSSNumberish;\n    localTime?: CSSNumberish | null;\n    progress?: number | null;\n    startTime?: CSSNumberish;\n}\ninterface ComputedKeyframe {\n    composite: CompositeOperationOrAuto;\n    computedOffset: number;\n    easing: string;\n    offset: number | null;\n    [property: string]: string | number | null | undefined;\n}\ninterface ConstantSourceOptions {\n    offset?: number;\n}\ninterface ConstrainBooleanOrDOMStringParameters {\n    exact?: boolean | string;\n    ideal?: boolean | string;\n}\ninterface ConstrainBooleanParameters {\n    exact?: boolean;\n    ideal?: boolean;\n}\ninterface ConstrainDOMStringParameters {\n    exact?: string | string[];\n    ideal?: string | string[];\n}\ninterface ConstrainDoubleRange extends DoubleRange {\n    exact?: number;\n    ideal?: number;\n}\ninterface ConstrainULongRange extends ULongRange {\n    exact?: number;\n    ideal?: number;\n}\ninterface ContentVisibilityAutoStateChangeEventInit extends EventInit {\n    skipped?: boolean;\n}\ninterface ConvolverOptions extends AudioNodeOptions {\n    buffer?: AudioBuffer | null;\n    disableNormalization?: boolean;\n}\ninterface CookieChangeEventInit extends EventInit {\n    changed?: CookieList;\n    deleted?: CookieList;\n}\ninterface CookieInit {\n    domain?: string | null;\n    expires?: DOMHighResTimeStamp | null;\n    name: string;\n    partitioned?: boolean;\n    path?: string;\n    sameSite?: CookieSameSite;\n    value: string;\n}\ninterface CookieListItem {\n    name?: string;\n    value?: string;\n}\ninterface CookieStoreDeleteOptions {\n    domain?: string | null;\n    name: string;\n    partitioned?: boolean;\n    path?: string;\n}\ninterface CookieStoreGetOptions {\n    name?: string;\n    url?: string;\n}\ninterface CredentialCreationOptions {\n    publicKey?: PublicKeyCredentialCreationOptions;\n    signal?: AbortSignal;\n}\ninterface CredentialPropertiesOutput {\n    rk?: boolean;\n}\ninterface CredentialRequestOptions {\n    mediation?: CredentialMediationRequirement;\n    publicKey?: PublicKeyCredentialRequestOptions;\n    signal?: AbortSignal;\n}\ninterface CryptoKeyPair {\n    privateKey: CryptoKey;\n    publicKey: CryptoKey;\n}\ninterface CurrentUserDetailsOptions {\n    displayName: string;\n    name: string;\n    rpId: string;\n    userId: Base64URLString;\n}\ninterface CustomEventInit<T = any> extends EventInit {\n    detail?: T;\n}\ninterface DOMMatrix2DInit {\n    a?: number;\n    b?: number;\n    c?: number;\n    d?: number;\n    e?: number;\n    f?: number;\n    m11?: number;\n    m12?: number;\n    m21?: number;\n    m22?: number;\n    m41?: number;\n    m42?: number;\n}\ninterface DOMMatrixInit extends DOMMatrix2DInit {\n    is2D?: boolean;\n    m13?: number;\n    m14?: number;\n    m23?: number;\n    m24?: number;\n    m31?: number;\n    m32?: number;\n    m33?: number;\n    m34?: number;\n    m43?: number;\n    m44?: number;\n}\ninterface DOMPointInit {\n    w?: number;\n    x?: number;\n    y?: number;\n    z?: number;\n}\ninterface DOMQuadInit {\n    p1?: DOMPointInit;\n    p2?: DOMPointInit;\n    p3?: DOMPointInit;\n    p4?: DOMPointInit;\n}\ninterface DOMRectInit {\n    height?: number;\n    width?: number;\n    x?: number;\n    y?: number;\n}\ninterface DelayOptions extends AudioNodeOptions {\n    delayTime?: number;\n    maxDelayTime?: number;\n}\ninterface DeviceMotionEventAccelerationInit {\n    x?: number | null;\n    y?: number | null;\n    z?: number | null;\n}\ninterface DeviceMotionEventInit extends EventInit {\n    acceleration?: DeviceMotionEventAccelerationInit;\n    accelerationIncludingGravity?: DeviceMotionEventAccelerationInit;\n    interval?: number;\n    rotationRate?: DeviceMotionEventRotationRateInit;\n}\ninterface DeviceMotionEventRotationRateInit {\n    alpha?: number | null;\n    beta?: number | null;\n    gamma?: number | null;\n}\ninterface DeviceOrientationEventInit extends EventInit {\n    absolute?: boolean;\n    alpha?: number | null;\n    beta?: number | null;\n    gamma?: number | null;\n}\ninterface DisplayMediaStreamOptions {\n    audio?: boolean | MediaTrackConstraints;\n    video?: boolean | MediaTrackConstraints;\n}\ninterface DocumentTimelineOptions {\n    originTime?: DOMHighResTimeStamp;\n}\ninterface DoubleRange {\n    max?: number;\n    min?: number;\n}\ninterface DragEventInit extends MouseEventInit {\n    dataTransfer?: DataTransfer | null;\n}\ninterface DynamicsCompressorOptions extends AudioNodeOptions {\n    attack?: number;\n    knee?: number;\n    ratio?: number;\n    release?: number;\n    threshold?: number;\n}\ninterface EcKeyAlgorithm extends KeyAlgorithm {\n    namedCurve: NamedCurve;\n}\ninterface EcKeyGenParams extends Algorithm {\n    namedCurve: NamedCurve;\n}\ninterface EcKeyImportParams extends Algorithm {\n    namedCurve: NamedCurve;\n}\ninterface EcdhKeyDeriveParams extends Algorithm {\n    public: CryptoKey;\n}\ninterface EcdsaParams extends Algorithm {\n    hash: HashAlgorithmIdentifier;\n}\ninterface EffectTiming {\n    delay?: number;\n    direction?: PlaybackDirection;\n    duration?: number | CSSNumericValue | string;\n    easing?: string;\n    endDelay?: number;\n    fill?: FillMode;\n    iterationStart?: number;\n    iterations?: number;\n    playbackRate?: number;\n}\ninterface ElementCreationOptions {\n    customElementRegistry?: CustomElementRegistry | null;\n    is?: string;\n}\ninterface ElementDefinitionOptions {\n    extends?: string;\n}\ninterface EncodedAudioChunkInit {\n    data: AllowSharedBufferSource;\n    duration?: number;\n    timestamp: number;\n    transfer?: ArrayBuffer[];\n    type: EncodedAudioChunkType;\n}\ninterface EncodedAudioChunkMetadata {\n    decoderConfig?: AudioDecoderConfig;\n}\ninterface EncodedVideoChunkInit {\n    data: AllowSharedBufferSource;\n    duration?: number;\n    timestamp: number;\n    type: EncodedVideoChunkType;\n}\ninterface EncodedVideoChunkMetadata {\n    decoderConfig?: VideoDecoderConfig;\n    svc?: SvcOutputMetadata;\n}\ninterface ErrorEventInit extends EventInit {\n    colno?: number;\n    error?: any;\n    filename?: string;\n    lineno?: number;\n    message?: string;\n}\ninterface EventInit {\n    bubbles?: boolean;\n    cancelable?: boolean;\n    composed?: boolean;\n}\ninterface EventListenerOptions {\n    capture?: boolean;\n}\ninterface EventModifierInit extends UIEventInit {\n    altKey?: boolean;\n    ctrlKey?: boolean;\n    metaKey?: boolean;\n    modifierAltGraph?: boolean;\n    modifierCapsLock?: boolean;\n    modifierFn?: boolean;\n    modifierFnLock?: boolean;\n    modifierHyper?: boolean;\n    modifierNumLock?: boolean;\n    modifierScrollLock?: boolean;\n    modifierSuper?: boolean;\n    modifierSymbol?: boolean;\n    modifierSymbolLock?: boolean;\n    shiftKey?: boolean;\n}\ninterface EventSourceInit {\n    withCredentials?: boolean;\n}\ninterface FilePropertyBag extends BlobPropertyBag {\n    lastModified?: number;\n}\ninterface FileSystemCreateWritableOptions {\n    keepExistingData?: boolean;\n}\ninterface FileSystemFlags {\n    create?: boolean;\n    exclusive?: boolean;\n}\ninterface FileSystemGetDirectoryOptions {\n    create?: boolean;\n}\ninterface FileSystemGetFileOptions {\n    create?: boolean;\n}\ninterface FileSystemRemoveOptions {\n    recursive?: boolean;\n}\ninterface FocusEventInit extends UIEventInit {\n    relatedTarget?: EventTarget | null;\n}\ninterface FocusOptions {\n    focusVisible?: boolean;\n    preventScroll?: boolean;\n}\ninterface FontFaceDescriptors {\n    ascentOverride?: string;\n    descentOverride?: string;\n    display?: FontDisplay;\n    featureSettings?: string;\n    lineGapOverride?: string;\n    stretch?: string;\n    style?: string;\n    unicodeRange?: string;\n    variationSettings?: string;\n    weight?: string;\n}\ninterface FontFaceSetLoadEventInit extends EventInit {\n    fontfaces?: FontFace[];\n}\ninterface FormDataEventInit extends EventInit {\n    formData: FormData;\n}\ninterface FullscreenOptions {\n    navigationUI?: FullscreenNavigationUI;\n}\ninterface GPUBindGroupDescriptor extends GPUObjectDescriptorBase {\n    entries: GPUBindGroupEntry[];\n    layout: GPUBindGroupLayout;\n}\ninterface GPUBindGroupEntry {\n    binding: GPUIndex32;\n    resource: GPUBindingResource;\n}\ninterface GPUBindGroupLayoutDescriptor extends GPUObjectDescriptorBase {\n    entries: GPUBindGroupLayoutEntry[];\n}\ninterface GPUBindGroupLayoutEntry {\n    binding: GPUIndex32;\n    buffer?: GPUBufferBindingLayout;\n    externalTexture?: GPUExternalTextureBindingLayout;\n    sampler?: GPUSamplerBindingLayout;\n    storageTexture?: GPUStorageTextureBindingLayout;\n    texture?: GPUTextureBindingLayout;\n    visibility: GPUShaderStageFlags;\n}\ninterface GPUBlendComponent {\n    dstFactor?: GPUBlendFactor;\n    operation?: GPUBlendOperation;\n    srcFactor?: GPUBlendFactor;\n}\ninterface GPUBlendState {\n    alpha: GPUBlendComponent;\n    color: GPUBlendComponent;\n}\ninterface GPUBufferBinding {\n    buffer: GPUBuffer;\n    offset?: GPUSize64;\n    size?: GPUSize64;\n}\ninterface GPUBufferBindingLayout {\n    hasDynamicOffset?: boolean;\n    minBindingSize?: GPUSize64;\n    type?: GPUBufferBindingType;\n}\ninterface GPUBufferDescriptor extends GPUObjectDescriptorBase {\n    mappedAtCreation?: boolean;\n    size: GPUSize64;\n    usage: GPUBufferUsageFlags;\n}\ninterface GPUCanvasConfiguration {\n    alphaMode?: GPUCanvasAlphaMode;\n    colorSpace?: PredefinedColorSpace;\n    device: GPUDevice;\n    format: GPUTextureFormat;\n    toneMapping?: GPUCanvasToneMapping;\n    usage?: GPUTextureUsageFlags;\n    viewFormats?: GPUTextureFormat[];\n}\ninterface GPUCanvasToneMapping {\n    mode?: GPUCanvasToneMappingMode;\n}\ninterface GPUColorDict {\n    a: number;\n    b: number;\n    g: number;\n    r: number;\n}\ninterface GPUColorTargetState {\n    blend?: GPUBlendState;\n    format: GPUTextureFormat;\n    writeMask?: GPUColorWriteFlags;\n}\ninterface GPUCommandBufferDescriptor extends GPUObjectDescriptorBase {\n}\ninterface GPUCommandEncoderDescriptor extends GPUObjectDescriptorBase {\n}\ninterface GPUComputePassDescriptor extends GPUObjectDescriptorBase {\n    timestampWrites?: GPUComputePassTimestampWrites;\n}\ninterface GPUComputePassTimestampWrites {\n    beginningOfPassWriteIndex?: GPUSize32;\n    endOfPassWriteIndex?: GPUSize32;\n    querySet: GPUQuerySet;\n}\ninterface GPUComputePipelineDescriptor extends GPUPipelineDescriptorBase {\n    compute: GPUProgrammableStage;\n}\ninterface GPUCopyExternalImageDestInfo extends GPUTexelCopyTextureInfo {\n    colorSpace?: PredefinedColorSpace;\n    premultipliedAlpha?: boolean;\n}\ninterface GPUCopyExternalImageSourceInfo {\n    flipY?: boolean;\n    origin?: GPUOrigin2D;\n    source: GPUCopyExternalImageSource;\n}\ninterface GPUDepthStencilState {\n    depthBias?: GPUDepthBias;\n    depthBiasClamp?: number;\n    depthBiasSlopeScale?: number;\n    depthCompare?: GPUCompareFunction;\n    depthWriteEnabled?: boolean;\n    format: GPUTextureFormat;\n    stencilBack?: GPUStencilFaceState;\n    stencilFront?: GPUStencilFaceState;\n    stencilReadMask?: GPUStencilValue;\n    stencilWriteMask?: GPUStencilValue;\n}\ninterface GPUDeviceDescriptor extends GPUObjectDescriptorBase {\n    defaultQueue?: GPUQueueDescriptor;\n    requiredFeatures?: GPUFeatureName[];\n    requiredLimits?: Record<string, GPUSize64 | undefined>;\n}\ninterface GPUExtent3DDict {\n    depthOrArrayLayers?: GPUIntegerCoordinate;\n    height?: GPUIntegerCoordinate;\n    width: GPUIntegerCoordinate;\n}\ninterface GPUExternalTextureBindingLayout {\n}\ninterface GPUExternalTextureDescriptor extends GPUObjectDescriptorBase {\n    colorSpace?: PredefinedColorSpace;\n    source: HTMLVideoElement | VideoFrame;\n}\ninterface GPUFragmentState extends GPUProgrammableStage {\n    targets: (GPUColorTargetState | null)[];\n}\ninterface GPUMultisampleState {\n    alphaToCoverageEnabled?: boolean;\n    count?: GPUSize32;\n    mask?: GPUSampleMask;\n}\ninterface GPUObjectDescriptorBase {\n    label?: string;\n}\ninterface GPUOrigin2DDict {\n    x?: GPUIntegerCoordinate;\n    y?: GPUIntegerCoordinate;\n}\ninterface GPUOrigin3DDict {\n    x?: GPUIntegerCoordinate;\n    y?: GPUIntegerCoordinate;\n    z?: GPUIntegerCoordinate;\n}\ninterface GPUPipelineDescriptorBase extends GPUObjectDescriptorBase {\n    layout: GPUPipelineLayout | GPUAutoLayoutMode;\n}\ninterface GPUPipelineErrorInit {\n    reason: GPUPipelineErrorReason;\n}\ninterface GPUPipelineLayoutDescriptor extends GPUObjectDescriptorBase {\n    bindGroupLayouts: (GPUBindGroupLayout | null)[];\n}\ninterface GPUPrimitiveState {\n    cullMode?: GPUCullMode;\n    frontFace?: GPUFrontFace;\n    stripIndexFormat?: GPUIndexFormat;\n    topology?: GPUPrimitiveTopology;\n    unclippedDepth?: boolean;\n}\ninterface GPUProgrammableStage {\n    constants?: Record<string, GPUPipelineConstantValue>;\n    entryPoint?: string;\n    module: GPUShaderModule;\n}\ninterface GPUQuerySetDescriptor extends GPUObjectDescriptorBase {\n    count: GPUSize32;\n    type: GPUQueryType;\n}\ninterface GPUQueueDescriptor extends GPUObjectDescriptorBase {\n}\ninterface GPURenderBundleDescriptor extends GPUObjectDescriptorBase {\n}\ninterface GPURenderBundleEncoderDescriptor extends GPURenderPassLayout {\n    depthReadOnly?: boolean;\n    stencilReadOnly?: boolean;\n}\ninterface GPURenderPassColorAttachment {\n    clearValue?: GPUColor;\n    depthSlice?: GPUIntegerCoordinate;\n    loadOp: GPULoadOp;\n    resolveTarget?: GPUTexture | GPUTextureView;\n    storeOp: GPUStoreOp;\n    view: GPUTexture | GPUTextureView;\n}\ninterface GPURenderPassDepthStencilAttachment {\n    depthClearValue?: number;\n    depthLoadOp?: GPULoadOp;\n    depthReadOnly?: boolean;\n    depthStoreOp?: GPUStoreOp;\n    stencilClearValue?: GPUStencilValue;\n    stencilLoadOp?: GPULoadOp;\n    stencilReadOnly?: boolean;\n    stencilStoreOp?: GPUStoreOp;\n    view: GPUTexture | GPUTextureView;\n}\ninterface GPURenderPassDescriptor extends GPUObjectDescriptorBase {\n    colorAttachments: (GPURenderPassColorAttachment | null)[];\n    depthStencilAttachment?: GPURenderPassDepthStencilAttachment;\n    maxDrawCount?: GPUSize64;\n    occlusionQuerySet?: GPUQuerySet;\n    timestampWrites?: GPURenderPassTimestampWrites;\n}\ninterface GPURenderPassLayout extends GPUObjectDescriptorBase {\n    colorFormats: (GPUTextureFormat | null)[];\n    depthStencilFormat?: GPUTextureFormat;\n    sampleCount?: GPUSize32;\n}\ninterface GPURenderPassTimestampWrites {\n    beginningOfPassWriteIndex?: GPUSize32;\n    endOfPassWriteIndex?: GPUSize32;\n    querySet: GPUQuerySet;\n}\ninterface GPURenderPipelineDescriptor extends GPUPipelineDescriptorBase {\n    depthStencil?: GPUDepthStencilState;\n    fragment?: GPUFragmentState;\n    multisample?: GPUMultisampleState;\n    primitive?: GPUPrimitiveState;\n    vertex: GPUVertexState;\n}\ninterface GPURequestAdapterOptions {\n    forceFallbackAdapter?: boolean;\n    powerPreference?: GPUPowerPreference;\n}\ninterface GPUSamplerBindingLayout {\n    type?: GPUSamplerBindingType;\n}\ninterface GPUSamplerDescriptor extends GPUObjectDescriptorBase {\n    addressModeU?: GPUAddressMode;\n    addressModeV?: GPUAddressMode;\n    addressModeW?: GPUAddressMode;\n    compare?: GPUCompareFunction;\n    lodMaxClamp?: number;\n    lodMinClamp?: number;\n    magFilter?: GPUFilterMode;\n    maxAnisotropy?: number;\n    minFilter?: GPUFilterMode;\n    mipmapFilter?: GPUMipmapFilterMode;\n}\ninterface GPUShaderModuleDescriptor extends GPUObjectDescriptorBase {\n    code: string;\n}\ninterface GPUStencilFaceState {\n    compare?: GPUCompareFunction;\n    depthFailOp?: GPUStencilOperation;\n    failOp?: GPUStencilOperation;\n    passOp?: GPUStencilOperation;\n}\ninterface GPUStorageTextureBindingLayout {\n    access?: GPUStorageTextureAccess;\n    format: GPUTextureFormat;\n    viewDimension?: GPUTextureViewDimension;\n}\ninterface GPUTexelCopyBufferInfo extends GPUTexelCopyBufferLayout {\n    buffer: GPUBuffer;\n}\ninterface GPUTexelCopyBufferLayout {\n    bytesPerRow?: GPUSize32;\n    offset?: GPUSize64;\n    rowsPerImage?: GPUSize32;\n}\ninterface GPUTexelCopyTextureInfo {\n    aspect?: GPUTextureAspect;\n    mipLevel?: GPUIntegerCoordinate;\n    origin?: GPUOrigin3D;\n    texture: GPUTexture;\n}\ninterface GPUTextureBindingLayout {\n    multisampled?: boolean;\n    sampleType?: GPUTextureSampleType;\n    viewDimension?: GPUTextureViewDimension;\n}\ninterface GPUTextureDescriptor extends GPUObjectDescriptorBase {\n    dimension?: GPUTextureDimension;\n    format: GPUTextureFormat;\n    mipLevelCount?: GPUIntegerCoordinate;\n    sampleCount?: GPUSize32;\n    size: GPUExtent3D;\n    usage: GPUTextureUsageFlags;\n    viewFormats?: GPUTextureFormat[];\n}\ninterface GPUTextureViewDescriptor extends GPUObjectDescriptorBase {\n    arrayLayerCount?: GPUIntegerCoordinate;\n    aspect?: GPUTextureAspect;\n    baseArrayLayer?: GPUIntegerCoordinate;\n    baseMipLevel?: GPUIntegerCoordinate;\n    dimension?: GPUTextureViewDimension;\n    format?: GPUTextureFormat;\n    mipLevelCount?: GPUIntegerCoordinate;\n    usage?: GPUTextureUsageFlags;\n}\ninterface GPUUncapturedErrorEventInit extends EventInit {\n    error: GPUError;\n}\ninterface GPUVertexAttribute {\n    format: GPUVertexFormat;\n    offset: GPUSize64;\n    shaderLocation: GPUIndex32;\n}\ninterface GPUVertexBufferLayout {\n    arrayStride: GPUSize64;\n    attributes: GPUVertexAttribute[];\n    stepMode?: GPUVertexStepMode;\n}\ninterface GPUVertexState extends GPUProgrammableStage {\n    buffers?: (GPUVertexBufferLayout | null)[];\n}\ninterface GainOptions extends AudioNodeOptions {\n    gain?: number;\n}\ninterface GamepadEffectParameters {\n    duration?: number;\n    leftTrigger?: number;\n    rightTrigger?: number;\n    startDelay?: number;\n    strongMagnitude?: number;\n    weakMagnitude?: number;\n}\ninterface GamepadEventInit extends EventInit {\n    gamepad?: Gamepad | null;\n}\ninterface GetAnimationsOptions {\n    subtree?: boolean;\n}\ninterface GetComposedRangesOptions {\n    shadowRoots?: ShadowRoot[];\n}\ninterface GetHTMLOptions {\n    serializableShadowRoots?: boolean;\n    shadowRoots?: ShadowRoot[];\n}\ninterface GetNotificationOptions {\n    tag?: string;\n}\ninterface GetRootNodeOptions {\n    composed?: boolean;\n}\ninterface HashChangeEventInit extends EventInit {\n    newURL?: string;\n    oldURL?: string;\n}\ninterface HkdfParams extends Algorithm {\n    hash: HashAlgorithmIdentifier;\n    info: BufferSource;\n    salt: BufferSource;\n}\ninterface HmacImportParams extends Algorithm {\n    hash: HashAlgorithmIdentifier;\n    length?: number;\n}\ninterface HmacKeyAlgorithm extends KeyAlgorithm {\n    hash: KeyAlgorithm;\n    length: number;\n}\ninterface HmacKeyGenParams extends Algorithm {\n    hash: HashAlgorithmIdentifier;\n    length?: number;\n}\ninterface IDBDatabaseInfo {\n    name?: string;\n    version?: number;\n}\ninterface IDBIndexParameters {\n    multiEntry?: boolean;\n    unique?: boolean;\n}\ninterface IDBObjectStoreParameters {\n    autoIncrement?: boolean;\n    keyPath?: string | string[] | null;\n}\ninterface IDBTransactionOptions {\n    durability?: IDBTransactionDurability;\n}\ninterface IDBVersionChangeEventInit extends EventInit {\n    newVersion?: number | null;\n    oldVersion?: number;\n}\ninterface IIRFilterOptions extends AudioNodeOptions {\n    feedback: number[];\n    feedforward: number[];\n}\ninterface IdleRequestOptions {\n    timeout?: number;\n}\ninterface ImageBitmapOptions {\n    colorSpaceConversion?: ColorSpaceConversion;\n    imageOrientation?: ImageOrientation;\n    premultiplyAlpha?: PremultiplyAlpha;\n    resizeHeight?: number;\n    resizeQuality?: ResizeQuality;\n    resizeWidth?: number;\n}\ninterface ImageBitmapRenderingContextSettings {\n    alpha?: boolean;\n}\ninterface ImageDataSettings {\n    colorSpace?: PredefinedColorSpace;\n    pixelFormat?: ImageDataPixelFormat;\n}\ninterface ImageDecodeOptions {\n    completeFramesOnly?: boolean;\n    frameIndex?: number;\n}\ninterface ImageDecodeResult {\n    complete: boolean;\n    image: VideoFrame;\n}\ninterface ImageDecoderInit {\n    colorSpaceConversion?: ColorSpaceConversion;\n    data: ImageBufferSource;\n    desiredHeight?: number;\n    desiredWidth?: number;\n    preferAnimation?: boolean;\n    transfer?: ArrayBuffer[];\n    type: string;\n}\ninterface ImageEncodeOptions {\n    quality?: number;\n    type?: string;\n}\ninterface ImportNodeOptions {\n    customElementRegistry?: CustomElementRegistry;\n    selfOnly?: boolean;\n}\ninterface InputEventInit extends UIEventInit {\n    data?: string | null;\n    dataTransfer?: DataTransfer | null;\n    inputType?: string;\n    isComposing?: boolean;\n    targetRanges?: StaticRange[];\n}\ninterface IntersectionObserverInit {\n    root?: Element | Document | null;\n    rootMargin?: string;\n    scrollMargin?: string;\n    threshold?: number | number[];\n}\ninterface JsonWebKey {\n    alg?: string;\n    crv?: string;\n    d?: string;\n    dp?: string;\n    dq?: string;\n    e?: string;\n    ext?: boolean;\n    k?: string;\n    key_ops?: string[];\n    kty?: string;\n    n?: string;\n    oth?: RsaOtherPrimesInfo[];\n    p?: string;\n    q?: string;\n    qi?: string;\n    use?: string;\n    x?: string;\n    y?: string;\n}\ninterface KeyAlgorithm {\n    name: string;\n}\ninterface KeySystemTrackConfiguration {\n    robustness?: string;\n}\ninterface KeyboardEventInit extends EventModifierInit {\n    charCode?: number;\n    code?: string;\n    isComposing?: boolean;\n    key?: string;\n    keyCode?: number;\n    location?: number;\n    repeat?: boolean;\n}\ninterface Keyframe {\n    composite?: CompositeOperationOrAuto;\n    easing?: string;\n    offset?: number | null;\n    [property: string]: string | number | null | undefined;\n}\ninterface KeyframeAnimationOptions extends KeyframeEffectOptions {\n    id?: string;\n    rangeEnd?: TimelineRangeOffset | CSSNumericValue | CSSKeywordValue | string;\n    rangeStart?: TimelineRangeOffset | CSSNumericValue | CSSKeywordValue | string;\n    timeline?: AnimationTimeline | null;\n}\ninterface KeyframeEffectOptions extends EffectTiming {\n    composite?: CompositeOperation;\n    iterationComposite?: IterationCompositeOperation;\n    pseudoElement?: string | null;\n}\ninterface LockInfo {\n    clientId?: string;\n    mode?: LockMode;\n    name?: string;\n}\ninterface LockManagerSnapshot {\n    held?: LockInfo[];\n    pending?: LockInfo[];\n}\ninterface LockOptions {\n    ifAvailable?: boolean;\n    mode?: LockMode;\n    signal?: AbortSignal;\n    steal?: boolean;\n}\ninterface MIDIConnectionEventInit extends EventInit {\n    port?: MIDIPort;\n}\ninterface MIDIMessageEventInit extends EventInit {\n    data?: Uint8Array<ArrayBuffer>;\n}\ninterface MIDIOptions {\n    software?: boolean;\n    sysex?: boolean;\n}\ninterface MediaCapabilitiesDecodingInfo extends MediaCapabilitiesInfo {\n    keySystemAccess: MediaKeySystemAccess | null;\n}\ninterface MediaCapabilitiesEncodingInfo extends MediaCapabilitiesInfo {\n}\ninterface MediaCapabilitiesInfo {\n    powerEfficient: boolean;\n    smooth: boolean;\n    supported: boolean;\n}\ninterface MediaCapabilitiesKeySystemConfiguration {\n    audio?: KeySystemTrackConfiguration;\n    distinctiveIdentifier?: MediaKeysRequirement;\n    initDataType?: string;\n    keySystem: string;\n    persistentState?: MediaKeysRequirement;\n    sessionTypes?: string[];\n    video?: KeySystemTrackConfiguration;\n}\ninterface MediaConfiguration {\n    audio?: AudioConfiguration;\n    video?: VideoConfiguration;\n}\ninterface MediaDecodingConfiguration extends MediaConfiguration {\n    keySystemConfiguration?: MediaCapabilitiesKeySystemConfiguration;\n    type: MediaDecodingType;\n}\ninterface MediaElementAudioSourceOptions {\n    mediaElement: HTMLMediaElement;\n}\ninterface MediaEncodingConfiguration extends MediaConfiguration {\n    type: MediaEncodingType;\n}\ninterface MediaEncryptedEventInit extends EventInit {\n    initData?: ArrayBuffer | null;\n    initDataType?: string;\n}\ninterface MediaImage {\n    sizes?: string;\n    src: string;\n    type?: string;\n}\ninterface MediaKeyMessageEventInit extends EventInit {\n    message: ArrayBuffer;\n    messageType: MediaKeyMessageType;\n}\ninterface MediaKeySystemConfiguration {\n    audioCapabilities?: MediaKeySystemMediaCapability[];\n    distinctiveIdentifier?: MediaKeysRequirement;\n    initDataTypes?: string[];\n    label?: string;\n    persistentState?: MediaKeysRequirement;\n    sessionTypes?: string[];\n    videoCapabilities?: MediaKeySystemMediaCapability[];\n}\ninterface MediaKeySystemMediaCapability {\n    contentType?: string;\n    encryptionScheme?: string | null;\n    robustness?: string;\n}\ninterface MediaKeysPolicy {\n    minHdcpVersion?: string;\n}\ninterface MediaMetadataInit {\n    album?: string;\n    artist?: string;\n    artwork?: MediaImage[];\n    title?: string;\n}\ninterface MediaPositionState {\n    duration?: number;\n    playbackRate?: number;\n    position?: number;\n}\ninterface MediaQueryListEventInit extends EventInit {\n    matches?: boolean;\n    media?: string;\n}\ninterface MediaRecorderOptions {\n    audioBitsPerSecond?: number;\n    bitsPerSecond?: number;\n    mimeType?: string;\n    videoBitsPerSecond?: number;\n}\ninterface MediaSessionActionDetails {\n    action: MediaSessionAction;\n    fastSeek?: boolean;\n    seekOffset?: number;\n    seekTime?: number;\n}\ninterface MediaSettingsRange {\n    max?: number;\n    min?: number;\n    step?: number;\n}\ninterface MediaStreamAudioSourceOptions {\n    mediaStream: MediaStream;\n}\ninterface MediaStreamConstraints {\n    audio?: boolean | MediaTrackConstraints;\n    peerIdentity?: string;\n    preferCurrentTab?: boolean;\n    video?: boolean | MediaTrackConstraints;\n}\ninterface MediaStreamTrackEventInit extends EventInit {\n    track: MediaStreamTrack;\n}\ninterface MediaTrackCapabilities {\n    aspectRatio?: DoubleRange;\n    autoGainControl?: boolean[];\n    backgroundBlur?: boolean[];\n    channelCount?: ULongRange;\n    deviceId?: string;\n    displaySurface?: string;\n    echoCancellation?: (boolean | string)[];\n    facingMode?: string[];\n    frameRate?: DoubleRange;\n    groupId?: string;\n    height?: ULongRange;\n    noiseSuppression?: boolean[];\n    sampleRate?: ULongRange;\n    sampleSize?: ULongRange;\n    width?: ULongRange;\n}\ninterface MediaTrackConstraintSet {\n    aspectRatio?: ConstrainDouble;\n    autoGainControl?: ConstrainBoolean;\n    backgroundBlur?: ConstrainBoolean;\n    channelCount?: ConstrainULong;\n    deviceId?: ConstrainDOMString;\n    displaySurface?: ConstrainDOMString;\n    echoCancellation?: ConstrainBooleanOrDOMString;\n    facingMode?: ConstrainDOMString;\n    frameRate?: ConstrainDouble;\n    groupId?: ConstrainDOMString;\n    height?: ConstrainULong;\n    noiseSuppression?: ConstrainBoolean;\n    sampleRate?: ConstrainULong;\n    sampleSize?: ConstrainULong;\n    width?: ConstrainULong;\n}\ninterface MediaTrackConstraints extends MediaTrackConstraintSet {\n    advanced?: MediaTrackConstraintSet[];\n}\ninterface MediaTrackSettings {\n    aspectRatio?: number;\n    autoGainControl?: boolean;\n    backgroundBlur?: boolean;\n    channelCount?: number;\n    deviceId?: string;\n    displaySurface?: string;\n    echoCancellation?: boolean | string;\n    facingMode?: string;\n    frameRate?: number;\n    groupId?: string;\n    height?: number;\n    noiseSuppression?: boolean;\n    sampleRate?: number;\n    sampleSize?: number;\n    torch?: boolean;\n    whiteBalanceMode?: string;\n    width?: number;\n    zoom?: number;\n}\ninterface MediaTrackSupportedConstraints {\n    aspectRatio?: boolean;\n    autoGainControl?: boolean;\n    backgroundBlur?: boolean;\n    channelCount?: boolean;\n    deviceId?: boolean;\n    displaySurface?: boolean;\n    echoCancellation?: boolean;\n    facingMode?: boolean;\n    frameRate?: boolean;\n    groupId?: boolean;\n    height?: boolean;\n    noiseSuppression?: boolean;\n    sampleRate?: boolean;\n    sampleSize?: boolean;\n    width?: boolean;\n}\ninterface MessageEventInit<T = any> extends EventInit {\n    data?: T;\n    lastEventId?: string;\n    origin?: string;\n    ports?: MessagePort[];\n    source?: MessageEventSource | null;\n}\ninterface MouseEventInit extends EventModifierInit {\n    button?: number;\n    buttons?: number;\n    clientX?: number;\n    clientY?: number;\n    movementX?: number;\n    movementY?: number;\n    relatedTarget?: EventTarget | null;\n    screenX?: number;\n    screenY?: number;\n}\ninterface MultiCacheQueryOptions extends CacheQueryOptions {\n    cacheName?: string;\n}\ninterface MutationObserverInit {\n    attributeFilter?: string[];\n    attributeOldValue?: boolean;\n    attributes?: boolean;\n    characterData?: boolean;\n    characterDataOldValue?: boolean;\n    childList?: boolean;\n    subtree?: boolean;\n}\ninterface NavigateEventInit extends EventInit {\n    canIntercept?: boolean;\n    destination: NavigationDestination;\n    downloadRequest?: string | null;\n    formData?: FormData | null;\n    hasUAVisualTransition?: boolean;\n    hashChange?: boolean;\n    info?: any;\n    navigationType?: NavigationType;\n    signal: AbortSignal;\n    sourceElement?: Element | null;\n    userInitiated?: boolean;\n}\ninterface NavigationCurrentEntryChangeEventInit extends EventInit {\n    from: NavigationHistoryEntry;\n    navigationType?: NavigationType | null;\n}\ninterface NavigationInterceptOptions {\n    focusReset?: NavigationFocusReset;\n    handler?: NavigationInterceptHandler;\n    precommitHandler?: NavigationPrecommitHandler;\n    scroll?: NavigationScrollBehavior;\n}\ninterface NavigationNavigateOptions extends NavigationOptions {\n    history?: NavigationHistoryBehavior;\n    state?: any;\n}\ninterface NavigationOptions {\n    info?: any;\n}\ninterface NavigationPreloadState {\n    enabled?: boolean;\n    headerValue?: string;\n}\ninterface NavigationReloadOptions extends NavigationOptions {\n    state?: any;\n}\ninterface NavigationResult {\n    committed?: Promise<NavigationHistoryEntry>;\n    finished?: Promise<NavigationHistoryEntry>;\n}\ninterface NavigationUpdateCurrentEntryOptions {\n    state: any;\n}\ninterface NotificationOptions {\n    badge?: string;\n    body?: string;\n    data?: any;\n    dir?: NotificationDirection;\n    icon?: string;\n    lang?: string;\n    requireInteraction?: boolean;\n    silent?: boolean | null;\n    tag?: string;\n}\ninterface OfflineAudioCompletionEventInit extends EventInit {\n    renderedBuffer: AudioBuffer;\n}\ninterface OfflineAudioContextOptions {\n    length: number;\n    numberOfChannels?: number;\n    sampleRate: number;\n}\ninterface OptionalEffectTiming {\n    delay?: number;\n    direction?: PlaybackDirection;\n    duration?: number | string;\n    easing?: string;\n    endDelay?: number;\n    fill?: FillMode;\n    iterationStart?: number;\n    iterations?: number;\n    playbackRate?: number;\n}\ninterface OpusEncoderConfig {\n    complexity?: number;\n    format?: OpusBitstreamFormat;\n    frameDuration?: number;\n    packetlossperc?: number;\n    usedtx?: boolean;\n    useinbandfec?: boolean;\n}\ninterface OscillatorOptions extends AudioNodeOptions {\n    detune?: number;\n    frequency?: number;\n    periodicWave?: PeriodicWave;\n    type?: OscillatorType;\n}\ninterface PageRevealEventInit extends EventInit {\n    viewTransition?: ViewTransition | null;\n}\ninterface PageSwapEventInit extends EventInit {\n    activation?: NavigationActivation | null;\n    viewTransition?: ViewTransition | null;\n}\ninterface PageTransitionEventInit extends EventInit {\n    persisted?: boolean;\n}\ninterface PannerOptions extends AudioNodeOptions {\n    coneInnerAngle?: number;\n    coneOuterAngle?: number;\n    coneOuterGain?: number;\n    distanceModel?: DistanceModelType;\n    maxDistance?: number;\n    orientationX?: number;\n    orientationY?: number;\n    orientationZ?: number;\n    panningModel?: PanningModelType;\n    positionX?: number;\n    positionY?: number;\n    positionZ?: number;\n    refDistance?: number;\n    rolloffFactor?: number;\n}\ninterface PayerErrors {\n    email?: string;\n    name?: string;\n    phone?: string;\n}\ninterface PaymentCurrencyAmount {\n    currency: string;\n    value: string;\n}\ninterface PaymentDetailsBase {\n    displayItems?: PaymentItem[];\n    modifiers?: PaymentDetailsModifier[];\n    shippingOptions?: PaymentShippingOption[];\n}\ninterface PaymentDetailsInit extends PaymentDetailsBase {\n    id?: string;\n    total: PaymentItem;\n}\ninterface PaymentDetailsModifier {\n    additionalDisplayItems?: PaymentItem[];\n    data?: any;\n    supportedMethods: string;\n    total?: PaymentItem;\n}\ninterface PaymentDetailsUpdate extends PaymentDetailsBase {\n    error?: string;\n    paymentMethodErrors?: any;\n    shippingAddressErrors?: AddressErrors;\n    total?: PaymentItem;\n}\ninterface PaymentItem {\n    amount: PaymentCurrencyAmount;\n    label: string;\n    pending?: boolean;\n}\ninterface PaymentMethodChangeEventInit extends PaymentRequestUpdateEventInit {\n    methodDetails?: any;\n    methodName?: string;\n}\ninterface PaymentMethodData {\n    data?: any;\n    supportedMethods: string;\n}\ninterface PaymentOptions {\n    requestPayerEmail?: boolean;\n    requestPayerName?: boolean;\n    requestPayerPhone?: boolean;\n    requestShipping?: boolean;\n    shippingType?: PaymentShippingType;\n}\ninterface PaymentRequestUpdateEventInit extends EventInit {\n}\ninterface PaymentShippingOption {\n    amount: PaymentCurrencyAmount;\n    id: string;\n    label: string;\n    selected?: boolean;\n}\ninterface PaymentValidationErrors {\n    error?: string;\n    payer?: PayerErrors;\n    shippingAddress?: AddressErrors;\n}\ninterface Pbkdf2Params extends Algorithm {\n    hash: HashAlgorithmIdentifier;\n    iterations: number;\n    salt: BufferSource;\n}\ninterface PerformanceMarkOptions {\n    detail?: any;\n    startTime?: DOMHighResTimeStamp;\n}\ninterface PerformanceMeasureOptions {\n    detail?: any;\n    duration?: DOMHighResTimeStamp;\n    end?: string | DOMHighResTimeStamp;\n    start?: string | DOMHighResTimeStamp;\n}\ninterface PerformanceObserverInit {\n    buffered?: boolean;\n    entryTypes?: string[];\n    type?: string;\n}\ninterface PeriodicWaveConstraints {\n    disableNormalization?: boolean;\n}\ninterface PeriodicWaveOptions extends PeriodicWaveConstraints {\n    imag?: number[] | Float32Array;\n    real?: number[] | Float32Array;\n}\ninterface PermissionDescriptor {\n    name: PermissionName;\n}\ninterface PhotoCapabilities {\n    fillLightMode?: FillLightMode[];\n    imageHeight?: MediaSettingsRange;\n    imageWidth?: MediaSettingsRange;\n    redEyeReduction?: RedEyeReduction;\n}\ninterface PhotoSettings {\n    fillLightMode?: FillLightMode;\n    imageHeight?: number;\n    imageWidth?: number;\n    redEyeReduction?: boolean;\n}\ninterface PictureInPictureEventInit extends EventInit {\n    pictureInPictureWindow: PictureInPictureWindow;\n}\ninterface PlaneLayout {\n    offset: number;\n    stride: number;\n}\ninterface PointerEventInit extends MouseEventInit {\n    altitudeAngle?: number;\n    azimuthAngle?: number;\n    coalescedEvents?: PointerEvent[];\n    height?: number;\n    isPrimary?: boolean;\n    pointerId?: number;\n    pointerType?: string;\n    predictedEvents?: PointerEvent[];\n    pressure?: number;\n    tangentialPressure?: number;\n    tiltX?: number;\n    tiltY?: number;\n    twist?: number;\n    width?: number;\n}\ninterface PointerLockOptions {\n    unadjustedMovement?: boolean;\n}\ninterface PopStateEventInit extends EventInit {\n    hasUAVisualTransition?: boolean;\n    state?: any;\n}\ninterface PositionOptions {\n    enableHighAccuracy?: boolean;\n    maximumAge?: number;\n    timeout?: number;\n}\ninterface ProgressEventInit extends EventInit {\n    lengthComputable?: boolean;\n    loaded?: number;\n    total?: number;\n}\ninterface PromiseRejectionEventInit extends EventInit {\n    promise: Promise<any>;\n    reason?: any;\n}\ninterface PropertyDefinition {\n    inherits: boolean;\n    initialValue?: string;\n    name: string;\n    syntax?: string;\n}\ninterface PropertyIndexedKeyframes {\n    composite?: CompositeOperationOrAuto | CompositeOperationOrAuto[];\n    easing?: string | string[];\n    offset?: number | (number | null)[];\n    [property: string]: string | string[] | number | null | (number | null)[] | undefined;\n}\ninterface PublicKeyCredentialCreationOptions {\n    attestation?: AttestationConveyancePreference;\n    authenticatorSelection?: AuthenticatorSelectionCriteria;\n    challenge: BufferSource;\n    excludeCredentials?: PublicKeyCredentialDescriptor[];\n    extensions?: AuthenticationExtensionsClientInputs;\n    pubKeyCredParams: PublicKeyCredentialParameters[];\n    rp: PublicKeyCredentialRpEntity;\n    timeout?: number;\n    user: PublicKeyCredentialUserEntity;\n}\ninterface PublicKeyCredentialCreationOptionsJSON {\n    attestation?: string;\n    authenticatorSelection?: AuthenticatorSelectionCriteria;\n    challenge: Base64URLString;\n    excludeCredentials?: PublicKeyCredentialDescriptorJSON[];\n    extensions?: AuthenticationExtensionsClientInputsJSON;\n    hints?: string[];\n    pubKeyCredParams: PublicKeyCredentialParameters[];\n    rp: PublicKeyCredentialRpEntity;\n    timeout?: number;\n    user: PublicKeyCredentialUserEntityJSON;\n}\ninterface PublicKeyCredentialDescriptor {\n    id: BufferSource;\n    transports?: AuthenticatorTransport[];\n    type: PublicKeyCredentialType;\n}\ninterface PublicKeyCredentialDescriptorJSON {\n    id: Base64URLString;\n    transports?: string[];\n    type: string;\n}\ninterface PublicKeyCredentialEntity {\n    name: string;\n}\ninterface PublicKeyCredentialParameters {\n    alg: COSEAlgorithmIdentifier;\n    type: PublicKeyCredentialType;\n}\ninterface PublicKeyCredentialRequestOptions {\n    allowCredentials?: PublicKeyCredentialDescriptor[];\n    challenge: BufferSource;\n    extensions?: AuthenticationExtensionsClientInputs;\n    rpId?: string;\n    timeout?: number;\n    userVerification?: UserVerificationRequirement;\n}\ninterface PublicKeyCredentialRequestOptionsJSON {\n    allowCredentials?: PublicKeyCredentialDescriptorJSON[];\n    challenge: Base64URLString;\n    extensions?: AuthenticationExtensionsClientInputsJSON;\n    hints?: string[];\n    rpId?: string;\n    timeout?: number;\n    userVerification?: string;\n}\ninterface PublicKeyCredentialRpEntity extends PublicKeyCredentialEntity {\n    id?: string;\n}\ninterface PublicKeyCredentialUserEntity extends PublicKeyCredentialEntity {\n    displayName: string;\n    id: BufferSource;\n}\ninterface PublicKeyCredentialUserEntityJSON {\n    displayName: string;\n    id: Base64URLString;\n    name: string;\n}\ninterface PushSubscriptionJSON {\n    endpoint?: string;\n    expirationTime?: EpochTimeStamp | null;\n    keys?: Record<string, string>;\n}\ninterface PushSubscriptionOptionsInit {\n    applicationServerKey?: BufferSource | string | null;\n    userVisibleOnly?: boolean;\n}\ninterface QueuingStrategy<T = any> {\n    highWaterMark?: number;\n    size?: QueuingStrategySize<T>;\n}\ninterface QueuingStrategyInit {\n    highWaterMark: number;\n}\ninterface RTCAnswerOptions extends RTCOfferAnswerOptions {\n}\ninterface RTCCertificateExpiration {\n    expires?: number;\n}\ninterface RTCConfiguration {\n    bundlePolicy?: RTCBundlePolicy;\n    certificates?: RTCCertificate[];\n    iceCandidatePoolSize?: number;\n    iceServers?: RTCIceServer[];\n    iceTransportPolicy?: RTCIceTransportPolicy;\n    rtcpMuxPolicy?: RTCRtcpMuxPolicy;\n}\ninterface RTCDTMFToneChangeEventInit extends EventInit {\n    tone?: string;\n}\ninterface RTCDataChannelEventInit extends EventInit {\n    channel: RTCDataChannel;\n}\ninterface RTCDataChannelInit {\n    id?: number;\n    maxPacketLifeTime?: number;\n    maxRetransmits?: number;\n    negotiated?: boolean;\n    ordered?: boolean;\n    protocol?: string;\n}\ninterface RTCDtlsFingerprint {\n    algorithm?: string;\n    value?: string;\n}\ninterface RTCEncodedAudioFrameMetadata extends RTCEncodedFrameMetadata {\n    sequenceNumber?: number;\n}\ninterface RTCEncodedFrameMetadata {\n    contributingSources?: number[];\n    mimeType?: string;\n    payloadType?: number;\n    rtpTimestamp?: number;\n    synchronizationSource?: number;\n}\ninterface RTCEncodedVideoFrameMetadata extends RTCEncodedFrameMetadata {\n    dependencies?: number[];\n    frameId?: number;\n    height?: number;\n    spatialIndex?: number;\n    temporalIndex?: number;\n    timestamp?: number;\n    width?: number;\n}\ninterface RTCErrorEventInit extends EventInit {\n    error: RTCError;\n}\ninterface RTCErrorInit {\n    errorDetail: RTCErrorDetailType;\n    httpRequestStatusCode?: number;\n    receivedAlert?: number;\n    sctpCauseCode?: number;\n    sdpLineNumber?: number;\n    sentAlert?: number;\n}\ninterface RTCIceCandidateInit {\n    candidate?: string;\n    sdpMLineIndex?: number | null;\n    sdpMid?: string | null;\n    usernameFragment?: string | null;\n}\ninterface RTCIceCandidatePairStats extends RTCStats {\n    availableIncomingBitrate?: number;\n    availableOutgoingBitrate?: number;\n    bytesDiscardedOnSend?: number;\n    bytesReceived?: number;\n    bytesSent?: number;\n    consentRequestsSent?: number;\n    currentRoundTripTime?: number;\n    lastPacketReceivedTimestamp?: DOMHighResTimeStamp;\n    lastPacketSentTimestamp?: DOMHighResTimeStamp;\n    localCandidateId: string;\n    nominated?: boolean;\n    packetsDiscardedOnSend?: number;\n    packetsReceived?: number;\n    packetsSent?: number;\n    remoteCandidateId: string;\n    requestsReceived?: number;\n    requestsSent?: number;\n    responsesReceived?: number;\n    responsesSent?: number;\n    state: RTCStatsIceCandidatePairState;\n    totalRoundTripTime?: number;\n    transportId: string;\n}\ninterface RTCIceServer {\n    credential?: string;\n    urls: string | string[];\n    username?: string;\n}\ninterface RTCInboundRtpStreamStats extends RTCReceivedRtpStreamStats {\n    audioLevel?: number;\n    bytesReceived?: number;\n    concealedSamples?: number;\n    concealmentEvents?: number;\n    decoderImplementation?: string;\n    estimatedPlayoutTimestamp?: DOMHighResTimeStamp;\n    fecBytesReceived?: number;\n    fecPacketsDiscarded?: number;\n    fecPacketsReceived?: number;\n    fecSsrc?: number;\n    firCount?: number;\n    frameHeight?: number;\n    frameWidth?: number;\n    framesAssembledFromMultiplePackets?: number;\n    framesDecoded?: number;\n    framesDropped?: number;\n    framesPerSecond?: number;\n    framesReceived?: number;\n    framesRendered?: number;\n    freezeCount?: number;\n    headerBytesReceived?: number;\n    insertedSamplesForDeceleration?: number;\n    jitterBufferDelay?: number;\n    jitterBufferEmittedCount?: number;\n    jitterBufferMinimumDelay?: number;\n    jitterBufferTargetDelay?: number;\n    keyFramesDecoded?: number;\n    lastPacketReceivedTimestamp?: DOMHighResTimeStamp;\n    mid?: string;\n    nackCount?: number;\n    packetsDiscarded?: number;\n    pauseCount?: number;\n    playoutId?: string;\n    pliCount?: number;\n    qpSum?: number;\n    remoteId?: string;\n    removedSamplesForAcceleration?: number;\n    retransmittedBytesReceived?: number;\n    retransmittedPacketsReceived?: number;\n    rtxSsrc?: number;\n    silentConcealedSamples?: number;\n    totalAssemblyTime?: number;\n    totalAudioEnergy?: number;\n    totalDecodeTime?: number;\n    totalFreezesDuration?: number;\n    totalInterFrameDelay?: number;\n    totalPausesDuration?: number;\n    totalProcessingDelay?: number;\n    totalSamplesDuration?: number;\n    totalSamplesReceived?: number;\n    totalSquaredInterFrameDelay?: number;\n    trackIdentifier: string;\n}\ninterface RTCLocalIceCandidateInit extends RTCIceCandidateInit {\n}\ninterface RTCLocalSessionDescriptionInit {\n    sdp?: string;\n    type?: RTCSdpType;\n}\ninterface RTCOfferAnswerOptions {\n}\ninterface RTCOfferOptions extends RTCOfferAnswerOptions {\n    iceRestart?: boolean;\n    offerToReceiveAudio?: boolean;\n    offerToReceiveVideo?: boolean;\n}\ninterface RTCOutboundRtpStreamStats extends RTCSentRtpStreamStats {\n    active?: boolean;\n    firCount?: number;\n    frameHeight?: number;\n    frameWidth?: number;\n    framesEncoded?: number;\n    framesPerSecond?: number;\n    framesSent?: number;\n    headerBytesSent?: number;\n    hugeFramesSent?: number;\n    keyFramesEncoded?: number;\n    mediaSourceId?: string;\n    mid?: string;\n    nackCount?: number;\n    pliCount?: number;\n    qpSum?: number;\n    qualityLimitationDurations?: Record<string, number>;\n    qualityLimitationReason?: RTCQualityLimitationReason;\n    qualityLimitationResolutionChanges?: number;\n    remoteId?: string;\n    retransmittedBytesSent?: number;\n    retransmittedPacketsSent?: number;\n    rid?: string;\n    rtxSsrc?: number;\n    scalabilityMode?: string;\n    targetBitrate?: number;\n    totalEncodeTime?: number;\n    totalEncodedBytesTarget?: number;\n    totalPacketSendDelay?: number;\n}\ninterface RTCPeerConnectionIceErrorEventInit extends EventInit {\n    address?: string | null;\n    errorCode: number;\n    errorText?: string;\n    port?: number | null;\n    url?: string;\n}\ninterface RTCPeerConnectionIceEventInit extends EventInit {\n    candidate?: RTCIceCandidate | null;\n}\ninterface RTCReceivedRtpStreamStats extends RTCRtpStreamStats {\n    jitter?: number;\n    packetsLost?: number;\n    packetsReceived?: number;\n}\ninterface RTCRtcpParameters {\n    cname?: string;\n    reducedSize?: boolean;\n}\ninterface RTCRtpCapabilities {\n    codecs: RTCRtpCodec[];\n    headerExtensions: RTCRtpHeaderExtensionCapability[];\n}\ninterface RTCRtpCodec {\n    channels?: number;\n    clockRate: number;\n    mimeType: string;\n    sdpFmtpLine?: string;\n}\ninterface RTCRtpCodecParameters extends RTCRtpCodec {\n    payloadType: number;\n}\ninterface RTCRtpCodingParameters {\n    rid?: string;\n}\ninterface RTCRtpContributingSource {\n    audioLevel?: number;\n    rtpTimestamp: number;\n    source: number;\n    timestamp: DOMHighResTimeStamp;\n}\ninterface RTCRtpEncodingParameters extends RTCRtpCodingParameters {\n    active?: boolean;\n    maxBitrate?: number;\n    maxFramerate?: number;\n    networkPriority?: RTCPriorityType;\n    priority?: RTCPriorityType;\n    scaleResolutionDownBy?: number;\n}\ninterface RTCRtpHeaderExtensionCapability {\n    uri: string;\n}\ninterface RTCRtpHeaderExtensionParameters {\n    encrypted?: boolean;\n    id: number;\n    uri: string;\n}\ninterface RTCRtpParameters {\n    codecs: RTCRtpCodecParameters[];\n    headerExtensions: RTCRtpHeaderExtensionParameters[];\n    rtcp: RTCRtcpParameters;\n}\ninterface RTCRtpReceiveParameters extends RTCRtpParameters {\n}\ninterface RTCRtpSendParameters extends RTCRtpParameters {\n    degradationPreference?: RTCDegradationPreference;\n    encodings: RTCRtpEncodingParameters[];\n    transactionId: string;\n}\ninterface RTCRtpStreamStats extends RTCStats {\n    codecId?: string;\n    kind: string;\n    ssrc: number;\n    transportId?: string;\n}\ninterface RTCRtpSynchronizationSource extends RTCRtpContributingSource {\n}\ninterface RTCRtpTransceiverInit {\n    direction?: RTCRtpTransceiverDirection;\n    sendEncodings?: RTCRtpEncodingParameters[];\n    streams?: MediaStream[];\n}\ninterface RTCSentRtpStreamStats extends RTCRtpStreamStats {\n    bytesSent?: number;\n    packetsSent?: number;\n}\ninterface RTCSessionDescriptionInit {\n    sdp?: string;\n    type: RTCSdpType;\n}\ninterface RTCSetParameterOptions {\n}\ninterface RTCStats {\n    id: string;\n    timestamp: DOMHighResTimeStamp;\n    type: RTCStatsType;\n}\ninterface RTCTrackEventInit extends EventInit {\n    receiver: RTCRtpReceiver;\n    streams?: MediaStream[];\n    track: MediaStreamTrack;\n    transceiver: RTCRtpTransceiver;\n}\ninterface RTCTransportStats extends RTCStats {\n    bytesReceived?: number;\n    bytesSent?: number;\n    dtlsCipher?: string;\n    dtlsRole?: RTCDtlsRole;\n    dtlsState: RTCDtlsTransportState;\n    iceLocalUsernameFragment?: string;\n    iceRole?: RTCIceRole;\n    iceState?: RTCIceTransportState;\n    localCertificateId?: string;\n    packetsReceived?: number;\n    packetsSent?: number;\n    remoteCertificateId?: string;\n    selectedCandidatePairChanges?: number;\n    selectedCandidatePairId?: string;\n    srtpCipher?: string;\n    tlsVersion?: string;\n}\ninterface ReadableStreamBYOBReaderReadOptions {\n    min?: number;\n}\ninterface ReadableStreamGetReaderOptions {\n    mode?: ReadableStreamReaderMode;\n}\ninterface ReadableStreamIteratorOptions {\n    preventCancel?: boolean;\n}\ninterface ReadableStreamReadDoneResult<T> {\n    done: true;\n    value: T | undefined;\n}\ninterface ReadableStreamReadValueResult<T> {\n    done: false;\n    value: T;\n}\ninterface ReadableWritablePair<R = any, W = any> {\n    readable: ReadableStream<R>;\n    writable: WritableStream<W>;\n}\ninterface RegistrationOptions {\n    scope?: string;\n    type?: WorkerType;\n    updateViaCache?: ServiceWorkerUpdateViaCache;\n}\ninterface RegistrationResponseJSON {\n    authenticatorAttachment?: string;\n    clientExtensionResults: AuthenticationExtensionsClientOutputsJSON;\n    id: string;\n    rawId: Base64URLString;\n    response: AuthenticatorAttestationResponseJSON;\n    type: string;\n}\ninterface Report {\n    body?: ReportBody | null;\n    type?: string;\n    url?: string;\n}\ninterface ReportBody {\n}\ninterface ReportingObserverOptions {\n    buffered?: boolean;\n    types?: string[];\n}\ninterface RequestInit {\n    body?: BodyInit | null;\n    cache?: RequestCache;\n    credentials?: RequestCredentials;\n    headers?: HeadersInit;\n    integrity?: string;\n    keepalive?: boolean;\n    method?: string;\n    mode?: RequestMode;\n    priority?: RequestPriority;\n    redirect?: RequestRedirect;\n    referrer?: string;\n    referrerPolicy?: ReferrerPolicy;\n    signal?: AbortSignal | null;\n    window?: null;\n}\ninterface ResizeObserverOptions {\n    box?: ResizeObserverBoxOptions;\n}\ninterface ResponseInit {\n    headers?: HeadersInit;\n    status?: number;\n    statusText?: string;\n}\ninterface RsaHashedImportParams extends Algorithm {\n    hash: HashAlgorithmIdentifier;\n}\ninterface RsaHashedKeyAlgorithm extends RsaKeyAlgorithm {\n    hash: KeyAlgorithm;\n}\ninterface RsaHashedKeyGenParams extends RsaKeyGenParams {\n    hash: HashAlgorithmIdentifier;\n}\ninterface RsaKeyAlgorithm extends KeyAlgorithm {\n    modulusLength: number;\n    publicExponent: BigInteger;\n}\ninterface RsaKeyGenParams extends Algorithm {\n    modulusLength: number;\n    publicExponent: BigInteger;\n}\ninterface RsaOaepParams extends Algorithm {\n    label?: BufferSource;\n}\ninterface RsaOtherPrimesInfo {\n    d?: string;\n    r?: string;\n    t?: string;\n}\ninterface RsaPssParams extends Algorithm {\n    saltLength: number;\n}\ninterface SVGBoundingBoxOptions {\n    clipped?: boolean;\n    fill?: boolean;\n    markers?: boolean;\n    stroke?: boolean;\n}\ninterface SanitizerAttributeNamespace {\n    name: string;\n    namespace?: string | null;\n}\ninterface SanitizerConfig {\n    attributes?: SanitizerAttribute[];\n    comments?: boolean;\n    dataAttributes?: boolean;\n    elements?: SanitizerElementWithAttributes[];\n    removeAttributes?: SanitizerAttribute[];\n    removeElements?: SanitizerElement[];\n    replaceWithChildrenElements?: SanitizerElement[];\n}\ninterface SanitizerElementNamespace {\n    name: string;\n    namespace?: string | null;\n}\ninterface SanitizerElementNamespaceWithAttributes extends SanitizerElementNamespace {\n    attributes?: SanitizerAttribute[];\n    removeAttributes?: SanitizerAttribute[];\n}\ninterface SchedulerPostTaskOptions {\n    delay?: number;\n    priority?: TaskPriority;\n    signal?: AbortSignal;\n}\ninterface ScrollIntoViewOptions extends ScrollOptions {\n    block?: ScrollLogicalPosition;\n    inline?: ScrollLogicalPosition;\n}\ninterface ScrollOptions {\n    behavior?: ScrollBehavior;\n}\ninterface ScrollTimelineOptions {\n    axis?: ScrollAxis;\n    source?: Element | null;\n}\ninterface ScrollToOptions extends ScrollOptions {\n    left?: number;\n    top?: number;\n}\ninterface SecurityPolicyViolationEventInit extends EventInit {\n    blockedURI?: string;\n    columnNumber?: number;\n    disposition?: SecurityPolicyViolationEventDisposition;\n    documentURI?: string;\n    effectiveDirective?: string;\n    lineNumber?: number;\n    originalPolicy?: string;\n    referrer?: string;\n    sample?: string;\n    sourceFile?: string;\n    statusCode?: number;\n    violatedDirective?: string;\n}\ninterface ShadowRootInit {\n    clonable?: boolean;\n    customElementRegistry?: CustomElementRegistry | null;\n    delegatesFocus?: boolean;\n    mode: ShadowRootMode;\n    serializable?: boolean;\n    slotAssignment?: SlotAssignmentMode;\n}\ninterface ShareData {\n    files?: File[];\n    text?: string;\n    title?: string;\n    url?: string;\n}\ninterface ShowPopoverOptions {\n    source?: HTMLElement;\n}\ninterface SpeechRecognitionErrorEventInit extends EventInit {\n    error: SpeechRecognitionErrorCode;\n    message?: string;\n}\ninterface SpeechRecognitionEventInit extends EventInit {\n    resultIndex?: number;\n    results: SpeechRecognitionResultList;\n}\ninterface SpeechSynthesisErrorEventInit extends SpeechSynthesisEventInit {\n    error: SpeechSynthesisErrorCode;\n}\ninterface SpeechSynthesisEventInit extends EventInit {\n    charIndex?: number;\n    charLength?: number;\n    elapsedTime?: number;\n    name?: string;\n    utterance: SpeechSynthesisUtterance;\n}\ninterface StartViewTransitionOptions {\n    types?: string[] | null;\n    update?: ViewTransitionUpdateCallback | null;\n}\ninterface StaticRangeInit {\n    endContainer: Node;\n    endOffset: number;\n    startContainer: Node;\n    startOffset: number;\n}\ninterface StereoPannerOptions extends AudioNodeOptions {\n    pan?: number;\n}\ninterface StorageEstimate {\n    quota?: number;\n    usage?: number;\n}\ninterface StorageEventInit extends EventInit {\n    key?: string | null;\n    newValue?: string | null;\n    oldValue?: string | null;\n    storageArea?: Storage | null;\n    url?: string;\n}\ninterface StreamPipeOptions {\n    preventAbort?: boolean;\n    preventCancel?: boolean;\n    preventClose?: boolean;\n    signal?: AbortSignal;\n}\ninterface StructuredSerializeOptions {\n    transfer?: Transferable[];\n}\ninterface SubmitEventInit extends EventInit {\n    submitter?: HTMLElement | null;\n}\ninterface SvcOutputMetadata {\n    temporalLayerId?: number;\n}\ninterface TaskControllerInit {\n    priority?: TaskPriority;\n}\ninterface TaskPriorityChangeEventInit extends EventInit {\n    previousPriority: TaskPriority;\n}\ninterface TaskSignalAnyInit {\n    priority?: TaskPriority | TaskSignal;\n}\ninterface TextDecodeOptions {\n    stream?: boolean;\n}\ninterface TextDecoderOptions {\n    fatal?: boolean;\n    ignoreBOM?: boolean;\n}\ninterface TextEncoderEncodeIntoResult {\n    read: number;\n    written: number;\n}\ninterface TimelineRangeOffset {\n    offset?: CSSNumericValue;\n    rangeName?: string | null;\n}\ninterface ToggleEventInit extends EventInit {\n    newState?: string;\n    oldState?: string;\n    source?: Element | null;\n}\ninterface TogglePopoverOptions extends ShowPopoverOptions {\n    force?: boolean;\n}\ninterface TouchEventInit extends EventModifierInit {\n    changedTouches?: Touch[];\n    targetTouches?: Touch[];\n    touches?: Touch[];\n}\ninterface TouchInit {\n    altitudeAngle?: number;\n    azimuthAngle?: number;\n    clientX?: number;\n    clientY?: number;\n    force?: number;\n    identifier: number;\n    pageX?: number;\n    pageY?: number;\n    radiusX?: number;\n    radiusY?: number;\n    rotationAngle?: number;\n    screenX?: number;\n    screenY?: number;\n    target: EventTarget;\n    touchType?: TouchType;\n}\ninterface TrackEventInit extends EventInit {\n    track?: TextTrack | null;\n}\ninterface Transformer<I = any, O = any> {\n    flush?: TransformerFlushCallback<O>;\n    readableType?: undefined;\n    start?: TransformerStartCallback<O>;\n    transform?: TransformerTransformCallback<I, O>;\n    writableType?: undefined;\n}\ninterface TransitionEventInit extends EventInit {\n    elapsedTime?: number;\n    propertyName?: string;\n    pseudoElement?: string;\n}\ninterface UIEventInit extends EventInit {\n    detail?: number;\n    view?: Window | null;\n    which?: number;\n}\ninterface ULongRange {\n    max?: number;\n    min?: number;\n}\ninterface URLPatternComponentResult {\n    groups: Record<string, string | undefined>;\n    input: string;\n}\ninterface URLPatternInit {\n    baseURL?: string;\n    hash?: string;\n    hostname?: string;\n    password?: string;\n    pathname?: string;\n    port?: string;\n    protocol?: string;\n    search?: string;\n    username?: string;\n}\ninterface URLPatternOptions {\n    ignoreCase?: boolean;\n}\ninterface URLPatternResult {\n    hash: URLPatternComponentResult;\n    hostname: URLPatternComponentResult;\n    inputs: URLPatternInput[];\n    password: URLPatternComponentResult;\n    pathname: URLPatternComponentResult;\n    port: URLPatternComponentResult;\n    protocol: URLPatternComponentResult;\n    search: URLPatternComponentResult;\n    username: URLPatternComponentResult;\n}\ninterface UnderlyingByteSource {\n    autoAllocateChunkSize?: number;\n    cancel?: UnderlyingSourceCancelCallback;\n    pull?: (controller: ReadableByteStreamController) => void | PromiseLike<void>;\n    start?: (controller: ReadableByteStreamController) => any;\n    type: \"bytes\";\n}\ninterface UnderlyingDefaultSource<R = any> {\n    cancel?: UnderlyingSourceCancelCallback;\n    pull?: (controller: ReadableStreamDefaultController<R>) => void | PromiseLike<void>;\n    start?: (controller: ReadableStreamDefaultController<R>) => any;\n    type?: undefined;\n}\ninterface UnderlyingSink<W = any> {\n    abort?: UnderlyingSinkAbortCallback;\n    close?: UnderlyingSinkCloseCallback;\n    start?: UnderlyingSinkStartCallback;\n    type?: undefined;\n    write?: UnderlyingSinkWriteCallback<W>;\n}\ninterface UnderlyingSource<R = any> {\n    autoAllocateChunkSize?: number;\n    cancel?: UnderlyingSourceCancelCallback;\n    pull?: UnderlyingSourcePullCallback<R>;\n    start?: UnderlyingSourceStartCallback<R>;\n    type?: ReadableStreamType;\n}\ninterface UnknownCredentialOptions {\n    credentialId: Base64URLString;\n    rpId: string;\n}\ninterface ValidityStateFlags {\n    badInput?: boolean;\n    customError?: boolean;\n    patternMismatch?: boolean;\n    rangeOverflow?: boolean;\n    rangeUnderflow?: boolean;\n    stepMismatch?: boolean;\n    tooLong?: boolean;\n    tooShort?: boolean;\n    typeMismatch?: boolean;\n    valueMissing?: boolean;\n}\ninterface VideoColorSpaceInit {\n    fullRange?: boolean | null;\n    matrix?: VideoMatrixCoefficients | null;\n    primaries?: VideoColorPrimaries | null;\n    transfer?: VideoTransferCharacteristics | null;\n}\ninterface VideoConfiguration {\n    bitrate: number;\n    colorGamut?: ColorGamut;\n    contentType: string;\n    framerate: number;\n    hasAlphaChannel?: boolean;\n    hdrMetadataType?: HdrMetadataType;\n    height: number;\n    scalabilityMode?: string;\n    transferFunction?: TransferFunction;\n    width: number;\n}\ninterface VideoDecoderConfig {\n    codec: string;\n    codedHeight?: number;\n    codedWidth?: number;\n    colorSpace?: VideoColorSpaceInit;\n    description?: AllowSharedBufferSource;\n    displayAspectHeight?: number;\n    displayAspectWidth?: number;\n    hardwareAcceleration?: HardwareAcceleration;\n    optimizeForLatency?: boolean;\n}\ninterface VideoDecoderInit {\n    error: WebCodecsErrorCallback;\n    output: VideoFrameOutputCallback;\n}\ninterface VideoDecoderSupport {\n    config?: VideoDecoderConfig;\n    supported?: boolean;\n}\ninterface VideoEncoderConfig {\n    alpha?: AlphaOption;\n    avc?: AvcEncoderConfig;\n    bitrate?: number;\n    bitrateMode?: VideoEncoderBitrateMode;\n    codec: string;\n    contentHint?: string;\n    displayHeight?: number;\n    displayWidth?: number;\n    framerate?: number;\n    hardwareAcceleration?: HardwareAcceleration;\n    height: number;\n    latencyMode?: LatencyMode;\n    scalabilityMode?: string;\n    width: number;\n}\ninterface VideoEncoderEncodeOptions {\n    avc?: VideoEncoderEncodeOptionsForAvc;\n    keyFrame?: boolean;\n}\ninterface VideoEncoderEncodeOptionsForAvc {\n    quantizer?: number | null;\n}\ninterface VideoEncoderInit {\n    error: WebCodecsErrorCallback;\n    output: EncodedVideoChunkOutputCallback;\n}\ninterface VideoEncoderSupport {\n    config?: VideoEncoderConfig;\n    supported?: boolean;\n}\ninterface VideoFrameBufferInit {\n    codedHeight: number;\n    codedWidth: number;\n    colorSpace?: VideoColorSpaceInit;\n    displayHeight?: number;\n    displayWidth?: number;\n    duration?: number;\n    format: VideoPixelFormat;\n    layout?: PlaneLayout[];\n    timestamp: number;\n    visibleRect?: DOMRectInit;\n}\ninterface VideoFrameCallbackMetadata {\n    captureTime?: DOMHighResTimeStamp;\n    expectedDisplayTime: DOMHighResTimeStamp;\n    height: number;\n    mediaTime: number;\n    presentationTime: DOMHighResTimeStamp;\n    presentedFrames: number;\n    processingDuration?: number;\n    receiveTime?: DOMHighResTimeStamp;\n    rtpTimestamp?: number;\n    width: number;\n}\ninterface VideoFrameCopyToOptions {\n    colorSpace?: PredefinedColorSpace;\n    format?: VideoPixelFormat;\n    layout?: PlaneLayout[];\n    rect?: DOMRectInit;\n}\ninterface VideoFrameInit {\n    alpha?: AlphaOption;\n    displayHeight?: number;\n    displayWidth?: number;\n    duration?: number;\n    timestamp?: number;\n    visibleRect?: DOMRectInit;\n}\ninterface ViewTimelineOptions {\n    axis?: ScrollAxis;\n    inset?: string | (CSSNumericValue | CSSKeywordValue)[];\n    subject?: Element;\n}\ninterface WaveShaperOptions extends AudioNodeOptions {\n    curve?: number[] | Float32Array;\n    oversample?: OverSampleType;\n}\ninterface WebGLContextAttributes {\n    alpha?: boolean;\n    antialias?: boolean;\n    depth?: boolean;\n    desynchronized?: boolean;\n    failIfMajorPerformanceCaveat?: boolean;\n    powerPreference?: WebGLPowerPreference;\n    premultipliedAlpha?: boolean;\n    preserveDrawingBuffer?: boolean;\n    stencil?: boolean;\n    xrCompatible?: boolean;\n}\ninterface WebGLContextEventInit extends EventInit {\n    statusMessage?: string;\n}\ninterface WebTransportCloseInfo {\n    closeCode?: number;\n    reason?: string;\n}\ninterface WebTransportErrorOptions {\n    source?: WebTransportErrorSource;\n    streamErrorCode?: number | null;\n}\ninterface WebTransportHash {\n    algorithm: string;\n    value: BufferSource;\n}\ninterface WebTransportOptions {\n    allowPooling?: boolean;\n    congestionControl?: WebTransportCongestionControl;\n    protocols?: string[];\n    requireUnreliable?: boolean;\n    serverCertificateHashes?: WebTransportHash[];\n}\ninterface WebTransportSendOptions {\n    sendOrder?: number;\n}\ninterface WebTransportSendStreamOptions extends WebTransportSendOptions {\n}\ninterface WheelEventInit extends MouseEventInit {\n    deltaMode?: number;\n    deltaX?: number;\n    deltaY?: number;\n    deltaZ?: number;\n}\ninterface WindowPostMessageOptions extends StructuredSerializeOptions {\n    targetOrigin?: string;\n}\ninterface WorkerOptions {\n    credentials?: RequestCredentials;\n    name?: string;\n    type?: WorkerType;\n}\ninterface WorkletOptions {\n    credentials?: RequestCredentials;\n}\ninterface WriteParams {\n    data?: BufferSource | Blob | string | null;\n    position?: number | null;\n    size?: number | null;\n    type: WriteCommandType;\n}\ntype NodeFilter = ((node: Node) => number) | {\n    acceptNode(node: Node): number;\n};\ndeclare var NodeFilter: {\n    readonly FILTER_ACCEPT: 1;\n    readonly FILTER_REJECT: 2;\n    readonly FILTER_SKIP: 3;\n    readonly SHOW_ALL: 4294967295;\n    readonly SHOW_ELEMENT: 1;\n    readonly SHOW_ATTRIBUTE: 2;\n    readonly SHOW_TEXT: 4;\n    readonly SHOW_CDATA_SECTION: 8;\n    readonly SHOW_ENTITY_REFERENCE: 16;\n    readonly SHOW_ENTITY: 32;\n    readonly SHOW_PROCESSING_INSTRUCTION: 64;\n    readonly SHOW_COMMENT: 128;\n    readonly SHOW_DOCUMENT: 256;\n    readonly SHOW_DOCUMENT_TYPE: 512;\n    readonly SHOW_DOCUMENT_FRAGMENT: 1024;\n    readonly SHOW_NOTATION: 2048;\n};\ntype XPathNSResolver = ((prefix: string | null) => string | null) | {\n    lookupNamespaceURI(prefix: string | null): string | null;\n};\ninterface ANGLE_instanced_arrays {\n    drawArraysInstancedANGLE(mode: GLenum, first: GLint, count: GLsizei, primcount: GLsizei): void;\n    drawElementsInstancedANGLE(mode: GLenum, count: GLsizei, type: GLenum, offset: GLintptr, primcount: GLsizei): void;\n    vertexAttribDivisorANGLE(index: GLuint, divisor: GLuint): void;\n    readonly VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE: 35070;\n}\ninterface ARIAMixin {\n    ariaActiveDescendantElement: Element | null;\n    ariaAtomic: string | null;\n    ariaAutoComplete: string | null;\n    ariaBrailleLabel: string | null;\n    ariaBrailleRoleDescription: string | null;\n    ariaBusy: string | null;\n    ariaChecked: string | null;\n    ariaColCount: string | null;\n    ariaColIndex: string | null;\n    ariaColIndexText: string | null;\n    ariaColSpan: string | null;\n    ariaControlsElements: ReadonlyArray<Element> | null;\n    ariaCurrent: string | null;\n    ariaDescribedByElements: ReadonlyArray<Element> | null;\n    ariaDescription: string | null;\n    ariaDetailsElements: ReadonlyArray<Element> | null;\n    ariaDisabled: string | null;\n    ariaErrorMessageElements: ReadonlyArray<Element> | null;\n    ariaExpanded: string | null;\n    ariaFlowToElements: ReadonlyArray<Element> | null;\n    ariaHasPopup: string | null;\n    ariaHidden: string | null;\n    ariaInvalid: string | null;\n    ariaKeyShortcuts: string | null;\n    ariaLabel: string | null;\n    ariaLabelledByElements: ReadonlyArray<Element> | null;\n    ariaLevel: string | null;\n    ariaLive: string | null;\n    ariaModal: string | null;\n    ariaMultiLine: string | null;\n    ariaMultiSelectable: string | null;\n    ariaOrientation: string | null;\n    ariaOwnsElements: ReadonlyArray<Element> | null;\n    ariaPlaceholder: string | null;\n    ariaPosInSet: string | null;\n    ariaPressed: string | null;\n    ariaReadOnly: string | null;\n    ariaRelevant: string | null;\n    ariaRequired: string | null;\n    ariaRoleDescription: string | null;\n    ariaRowCount: string | null;\n    ariaRowIndex: string | null;\n    ariaRowIndexText: string | null;\n    ariaRowSpan: string | null;\n    ariaSelected: string | null;\n    ariaSetSize: string | null;\n    ariaSort: string | null;\n    ariaValueMax: string | null;\n    ariaValueMin: string | null;\n    ariaValueNow: string | null;\n    ariaValueText: string | null;\n    role: string | null;\n}\ninterface AbortController {\n    readonly signal: AbortSignal;\n    abort(reason?: any): void;\n}\ndeclare var AbortController: {\n    prototype: AbortController;\n    new (): AbortController;\n};\ninterface AbortSignalEventMap {\n    \"abort\": Event;\n}\ninterface AbortSignal extends EventTarget {\n    readonly aborted: boolean;\n    onabort: ((this: AbortSignal, ev: Event) => any) | null;\n    readonly reason: any;\n    throwIfAborted(): void;\n    addEventListener<K extends keyof AbortSignalEventMap>(type: K, listener: (this: AbortSignal, ev: AbortSignalEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof AbortSignalEventMap>(type: K, listener: (this: AbortSignal, ev: AbortSignalEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var AbortSignal: {\n    prototype: AbortSignal;\n    new (): AbortSignal;\n    abort(reason?: any): AbortSignal;\n    any(signals: AbortSignal[]): AbortSignal;\n    timeout(milliseconds: number): AbortSignal;\n};\ninterface AbstractRange {\n    readonly collapsed: boolean;\n    readonly endContainer: Node;\n    readonly endOffset: number;\n    readonly startContainer: Node;\n    readonly startOffset: number;\n}\ndeclare var AbstractRange: {\n    prototype: AbstractRange;\n    new (): AbstractRange;\n};\ninterface AbstractWorkerEventMap {\n    \"error\": ErrorEvent;\n}\ninterface AbstractWorker {\n    onerror: ((this: AbstractWorker, ev: ErrorEvent) => any) | null;\n    addEventListener<K extends keyof AbstractWorkerEventMap>(type: K, listener: (this: AbstractWorker, ev: AbstractWorkerEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof AbstractWorkerEventMap>(type: K, listener: (this: AbstractWorker, ev: AbstractWorkerEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ninterface AnalyserNode extends AudioNode {\n    fftSize: number;\n    readonly frequencyBinCount: number;\n    maxDecibels: number;\n    minDecibels: number;\n    smoothingTimeConstant: number;\n    getByteFrequencyData(array: Uint8Array<ArrayBuffer>): void;\n    getByteTimeDomainData(array: Uint8Array<ArrayBuffer>): void;\n    getFloatFrequencyData(array: Float32Array<ArrayBuffer>): void;\n    getFloatTimeDomainData(array: Float32Array<ArrayBuffer>): void;\n}\ndeclare var AnalyserNode: {\n    prototype: AnalyserNode;\n    new (context: BaseAudioContext, options?: AnalyserOptions): AnalyserNode;\n};\ninterface Animatable {\n    animate(keyframes: Keyframe[] | PropertyIndexedKeyframes | null, options?: number | KeyframeAnimationOptions): Animation;\n    getAnimations(options?: GetAnimationsOptions): Animation[];\n}\ninterface AnimationEventMap {\n    \"cancel\": AnimationPlaybackEvent;\n    \"finish\": AnimationPlaybackEvent;\n    \"remove\": AnimationPlaybackEvent;\n}\ninterface Animation extends EventTarget {\n    currentTime: CSSNumberish | null;\n    effect: AnimationEffect | null;\n    readonly finished: Promise<Animation>;\n    id: string;\n    oncancel: ((this: Animation, ev: AnimationPlaybackEvent) => any) | null;\n    onfinish: ((this: Animation, ev: AnimationPlaybackEvent) => any) | null;\n    onremove: ((this: Animation, ev: AnimationPlaybackEvent) => any) | null;\n    readonly overallProgress: number | null;\n    readonly pending: boolean;\n    readonly playState: AnimationPlayState;\n    playbackRate: number;\n    readonly ready: Promise<Animation>;\n    readonly replaceState: AnimationReplaceState;\n    startTime: CSSNumberish | null;\n    timeline: AnimationTimeline | null;\n    cancel(): void;\n    commitStyles(): void;\n    finish(): void;\n    pause(): void;\n    persist(): void;\n    play(): void;\n    reverse(): void;\n    updatePlaybackRate(playbackRate: number): void;\n    addEventListener<K extends keyof AnimationEventMap>(type: K, listener: (this: Animation, ev: AnimationEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof AnimationEventMap>(type: K, listener: (this: Animation, ev: AnimationEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var Animation: {\n    prototype: Animation;\n    new (effect?: AnimationEffect | null, timeline?: AnimationTimeline | null): Animation;\n};\ninterface AnimationEffect {\n    getComputedTiming(): ComputedEffectTiming;\n    getTiming(): EffectTiming;\n    updateTiming(timing?: OptionalEffectTiming): void;\n}\ndeclare var AnimationEffect: {\n    prototype: AnimationEffect;\n    new (): AnimationEffect;\n};\ninterface AnimationEvent extends Event {\n    readonly animationName: string;\n    readonly elapsedTime: number;\n    readonly pseudoElement: string;\n}\ndeclare var AnimationEvent: {\n    prototype: AnimationEvent;\n    new (type: string, animationEventInitDict?: AnimationEventInit): AnimationEvent;\n};\ninterface AnimationFrameProvider {\n    cancelAnimationFrame(handle: number): void;\n    requestAnimationFrame(callback: FrameRequestCallback): number;\n}\ninterface AnimationPlaybackEvent extends Event {\n    readonly currentTime: CSSNumberish | null;\n    readonly timelineTime: CSSNumberish | null;\n}\ndeclare var AnimationPlaybackEvent: {\n    prototype: AnimationPlaybackEvent;\n    new (type: string, eventInitDict?: AnimationPlaybackEventInit): AnimationPlaybackEvent;\n};\ninterface AnimationTimeline {\n    readonly currentTime: CSSNumberish | null;\n    readonly duration: CSSNumberish | null;\n}\ndeclare var AnimationTimeline: {\n    prototype: AnimationTimeline;\n    new (): AnimationTimeline;\n};\ninterface Attr extends Node {\n    readonly localName: string;\n    readonly name: string;\n    readonly namespaceURI: string | null;\n    readonly ownerDocument: Document;\n    readonly ownerElement: Element | null;\n    readonly prefix: string | null;\n    readonly specified: boolean;\n    value: string;\n    get textContent(): string;\n    set textContent(value: string | null);\n}\ndeclare var Attr: {\n    prototype: Attr;\n    new (): Attr;\n};\ninterface AudioBuffer {\n    readonly duration: number;\n    readonly length: number;\n    readonly numberOfChannels: number;\n    readonly sampleRate: number;\n    copyFromChannel(destination: Float32Array<ArrayBuffer>, channelNumber: number, bufferOffset?: number): void;\n    copyToChannel(source: Float32Array<ArrayBuffer>, channelNumber: number, bufferOffset?: number): void;\n    getChannelData(channel: number): Float32Array<ArrayBuffer>;\n}\ndeclare var AudioBuffer: {\n    prototype: AudioBuffer;\n    new (options: AudioBufferOptions): AudioBuffer;\n};\ninterface AudioBufferSourceNode extends AudioScheduledSourceNode {\n    buffer: AudioBuffer | null;\n    readonly detune: AudioParam;\n    loop: boolean;\n    loopEnd: number;\n    loopStart: number;\n    readonly playbackRate: AudioParam;\n    start(when?: number, offset?: number, duration?: number): void;\n    addEventListener<K extends keyof AudioScheduledSourceNodeEventMap>(type: K, listener: (this: AudioBufferSourceNode, ev: AudioScheduledSourceNodeEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof AudioScheduledSourceNodeEventMap>(type: K, listener: (this: AudioBufferSourceNode, ev: AudioScheduledSourceNodeEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var AudioBufferSourceNode: {\n    prototype: AudioBufferSourceNode;\n    new (context: BaseAudioContext, options?: AudioBufferSourceOptions): AudioBufferSourceNode;\n};\ninterface AudioContext extends BaseAudioContext {\n    readonly baseLatency: number;\n    readonly outputLatency: number;\n    close(): Promise<void>;\n    createMediaElementSource(mediaElement: HTMLMediaElement): MediaElementAudioSourceNode;\n    createMediaStreamDestination(): MediaStreamAudioDestinationNode;\n    createMediaStreamSource(mediaStream: MediaStream): MediaStreamAudioSourceNode;\n    getOutputTimestamp(): AudioTimestamp;\n    resume(): Promise<void>;\n    suspend(): Promise<void>;\n    addEventListener<K extends keyof BaseAudioContextEventMap>(type: K, listener: (this: AudioContext, ev: BaseAudioContextEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof BaseAudioContextEventMap>(type: K, listener: (this: AudioContext, ev: BaseAudioContextEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var AudioContext: {\n    prototype: AudioContext;\n    new (contextOptions?: AudioContextOptions): AudioContext;\n};\ninterface AudioData {\n    readonly duration: number;\n    readonly format: AudioSampleFormat | null;\n    readonly numberOfChannels: number;\n    readonly numberOfFrames: number;\n    readonly sampleRate: number;\n    readonly timestamp: number;\n    allocationSize(options: AudioDataCopyToOptions): number;\n    clone(): AudioData;\n    close(): void;\n    copyTo(destination: AllowSharedBufferSource, options: AudioDataCopyToOptions): void;\n}\ndeclare var AudioData: {\n    prototype: AudioData;\n    new (init: AudioDataInit): AudioData;\n};\ninterface AudioDecoderEventMap {\n    \"dequeue\": Event;\n}\ninterface AudioDecoder extends EventTarget {\n    readonly decodeQueueSize: number;\n    ondequeue: ((this: AudioDecoder, ev: Event) => any) | null;\n    readonly state: CodecState;\n    close(): void;\n    configure(config: AudioDecoderConfig): void;\n    decode(chunk: EncodedAudioChunk): void;\n    flush(): Promise<void>;\n    reset(): void;\n    addEventListener<K extends keyof AudioDecoderEventMap>(type: K, listener: (this: AudioDecoder, ev: AudioDecoderEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof AudioDecoderEventMap>(type: K, listener: (this: AudioDecoder, ev: AudioDecoderEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var AudioDecoder: {\n    prototype: AudioDecoder;\n    new (init: AudioDecoderInit): AudioDecoder;\n    isConfigSupported(config: AudioDecoderConfig): Promise<AudioDecoderSupport>;\n};\ninterface AudioDestinationNode extends AudioNode {\n    readonly maxChannelCount: number;\n}\ndeclare var AudioDestinationNode: {\n    prototype: AudioDestinationNode;\n    new (): AudioDestinationNode;\n};\ninterface AudioEncoderEventMap {\n    \"dequeue\": Event;\n}\ninterface AudioEncoder extends EventTarget {\n    readonly encodeQueueSize: number;\n    ondequeue: ((this: AudioEncoder, ev: Event) => any) | null;\n    readonly state: CodecState;\n    close(): void;\n    configure(config: AudioEncoderConfig): void;\n    encode(data: AudioData): void;\n    flush(): Promise<void>;\n    reset(): void;\n    addEventListener<K extends keyof AudioEncoderEventMap>(type: K, listener: (this: AudioEncoder, ev: AudioEncoderEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof AudioEncoderEventMap>(type: K, listener: (this: AudioEncoder, ev: AudioEncoderEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var AudioEncoder: {\n    prototype: AudioEncoder;\n    new (init: AudioEncoderInit): AudioEncoder;\n    isConfigSupported(config: AudioEncoderConfig): Promise<AudioEncoderSupport>;\n};\ninterface AudioListener {\n    readonly forwardX: AudioParam;\n    readonly forwardY: AudioParam;\n    readonly forwardZ: AudioParam;\n    readonly positionX: AudioParam;\n    readonly positionY: AudioParam;\n    readonly positionZ: AudioParam;\n    readonly upX: AudioParam;\n    readonly upY: AudioParam;\n    readonly upZ: AudioParam;\n    setOrientation(x: number, y: number, z: number, xUp: number, yUp: number, zUp: number): void;\n    setPosition(x: number, y: number, z: number): void;\n}\ndeclare var AudioListener: {\n    prototype: AudioListener;\n    new (): AudioListener;\n};\ninterface AudioNode extends EventTarget {\n    channelCount: number;\n    channelCountMode: ChannelCountMode;\n    channelInterpretation: ChannelInterpretation;\n    readonly context: BaseAudioContext;\n    readonly numberOfInputs: number;\n    readonly numberOfOutputs: number;\n    connect(destinationNode: AudioNode, output?: number, input?: number): AudioNode;\n    connect(destinationParam: AudioParam, output?: number): void;\n    disconnect(): void;\n    disconnect(output: number): void;\n    disconnect(destinationNode: AudioNode): void;\n    disconnect(destinationNode: AudioNode, output: number): void;\n    disconnect(destinationNode: AudioNode, output: number, input: number): void;\n    disconnect(destinationParam: AudioParam): void;\n    disconnect(destinationParam: AudioParam, output: number): void;\n}\ndeclare var AudioNode: {\n    prototype: AudioNode;\n    new (): AudioNode;\n};\ninterface AudioParam {\n    automationRate: AutomationRate;\n    readonly defaultValue: number;\n    readonly maxValue: number;\n    readonly minValue: number;\n    value: number;\n    cancelAndHoldAtTime(cancelTime: number): AudioParam;\n    cancelScheduledValues(cancelTime: number): AudioParam;\n    exponentialRampToValueAtTime(value: number, endTime: number): AudioParam;\n    linearRampToValueAtTime(value: number, endTime: number): AudioParam;\n    setTargetAtTime(target: number, startTime: number, timeConstant: number): AudioParam;\n    setValueAtTime(value: number, startTime: number): AudioParam;\n    setValueCurveAtTime(values: number[] | Float32Array, startTime: number, duration: number): AudioParam;\n}\ndeclare var AudioParam: {\n    prototype: AudioParam;\n    new (): AudioParam;\n};\ninterface AudioParamMap {\n    forEach(callbackfn: (value: AudioParam, key: string, parent: AudioParamMap) => void, thisArg?: any): void;\n}\ndeclare var AudioParamMap: {\n    prototype: AudioParamMap;\n    new (): AudioParamMap;\n};\ninterface AudioProcessingEvent extends Event {\n    readonly inputBuffer: AudioBuffer;\n    readonly outputBuffer: AudioBuffer;\n    readonly playbackTime: number;\n}\ndeclare var AudioProcessingEvent: {\n    prototype: AudioProcessingEvent;\n    new (type: string, eventInitDict: AudioProcessingEventInit): AudioProcessingEvent;\n};\ninterface AudioScheduledSourceNodeEventMap {\n    \"ended\": Event;\n}\ninterface AudioScheduledSourceNode extends AudioNode {\n    onended: ((this: AudioScheduledSourceNode, ev: Event) => any) | null;\n    start(when?: number): void;\n    stop(when?: number): void;\n    addEventListener<K extends keyof AudioScheduledSourceNodeEventMap>(type: K, listener: (this: AudioScheduledSourceNode, ev: AudioScheduledSourceNodeEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof AudioScheduledSourceNodeEventMap>(type: K, listener: (this: AudioScheduledSourceNode, ev: AudioScheduledSourceNodeEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var AudioScheduledSourceNode: {\n    prototype: AudioScheduledSourceNode;\n    new (): AudioScheduledSourceNode;\n};\ninterface AudioWorklet extends Worklet {\n}\ndeclare var AudioWorklet: {\n    prototype: AudioWorklet;\n    new (): AudioWorklet;\n};\ninterface AudioWorkletNodeEventMap {\n    \"processorerror\": ErrorEvent;\n}\ninterface AudioWorkletNode extends AudioNode {\n    onprocessorerror: ((this: AudioWorkletNode, ev: ErrorEvent) => any) | null;\n    readonly parameters: AudioParamMap;\n    readonly port: MessagePort;\n    addEventListener<K extends keyof AudioWorkletNodeEventMap>(type: K, listener: (this: AudioWorkletNode, ev: AudioWorkletNodeEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof AudioWorkletNodeEventMap>(type: K, listener: (this: AudioWorkletNode, ev: AudioWorkletNodeEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var AudioWorkletNode: {\n    prototype: AudioWorkletNode;\n    new (context: BaseAudioContext, name: string, options?: AudioWorkletNodeOptions): AudioWorkletNode;\n};\ninterface AuthenticatorAssertionResponse extends AuthenticatorResponse {\n    readonly authenticatorData: ArrayBuffer;\n    readonly signature: ArrayBuffer;\n    readonly userHandle: ArrayBuffer | null;\n}\ndeclare var AuthenticatorAssertionResponse: {\n    prototype: AuthenticatorAssertionResponse;\n    new (): AuthenticatorAssertionResponse;\n};\ninterface AuthenticatorAttestationResponse extends AuthenticatorResponse {\n    readonly attestationObject: ArrayBuffer;\n    getAuthenticatorData(): ArrayBuffer;\n    getPublicKey(): ArrayBuffer | null;\n    getPublicKeyAlgorithm(): COSEAlgorithmIdentifier;\n    getTransports(): string[];\n}\ndeclare var AuthenticatorAttestationResponse: {\n    prototype: AuthenticatorAttestationResponse;\n    new (): AuthenticatorAttestationResponse;\n};\ninterface AuthenticatorResponse {\n    readonly clientDataJSON: ArrayBuffer;\n}\ndeclare var AuthenticatorResponse: {\n    prototype: AuthenticatorResponse;\n    new (): AuthenticatorResponse;\n};\ninterface BarProp {\n    readonly visible: boolean;\n}\ndeclare var BarProp: {\n    prototype: BarProp;\n    new (): BarProp;\n};\ninterface BaseAudioContextEventMap {\n    \"statechange\": Event;\n}\ninterface BaseAudioContext extends EventTarget {\n    readonly audioWorklet: AudioWorklet;\n    readonly currentTime: number;\n    readonly destination: AudioDestinationNode;\n    readonly listener: AudioListener;\n    onstatechange: ((this: BaseAudioContext, ev: Event) => any) | null;\n    readonly sampleRate: number;\n    readonly state: AudioContextState;\n    createAnalyser(): AnalyserNode;\n    createBiquadFilter(): BiquadFilterNode;\n    createBuffer(numberOfChannels: number, length: number, sampleRate: number): AudioBuffer;\n    createBufferSource(): AudioBufferSourceNode;\n    createChannelMerger(numberOfInputs?: number): ChannelMergerNode;\n    createChannelSplitter(numberOfOutputs?: number): ChannelSplitterNode;\n    createConstantSource(): ConstantSourceNode;\n    createConvolver(): ConvolverNode;\n    createDelay(maxDelayTime?: number): DelayNode;\n    createDynamicsCompressor(): DynamicsCompressorNode;\n    createGain(): GainNode;\n    createIIRFilter(feedforward: number[], feedback: number[]): IIRFilterNode;\n    createOscillator(): OscillatorNode;\n    createPanner(): PannerNode;\n    createPeriodicWave(real: number[] | Float32Array, imag: number[] | Float32Array, constraints?: PeriodicWaveConstraints): PeriodicWave;\n    createScriptProcessor(bufferSize?: number, numberOfInputChannels?: number, numberOfOutputChannels?: number): ScriptProcessorNode;\n    createStereoPanner(): StereoPannerNode;\n    createWaveShaper(): WaveShaperNode;\n    decodeAudioData(audioData: ArrayBuffer, successCallback?: DecodeSuccessCallback | null, errorCallback?: DecodeErrorCallback | null): Promise<AudioBuffer>;\n    addEventListener<K extends keyof BaseAudioContextEventMap>(type: K, listener: (this: BaseAudioContext, ev: BaseAudioContextEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof BaseAudioContextEventMap>(type: K, listener: (this: BaseAudioContext, ev: BaseAudioContextEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var BaseAudioContext: {\n    prototype: BaseAudioContext;\n    new (): BaseAudioContext;\n};\ninterface BeforeUnloadEvent extends Event {\n    returnValue: any;\n}\ndeclare var BeforeUnloadEvent: {\n    prototype: BeforeUnloadEvent;\n    new (): BeforeUnloadEvent;\n};\ninterface BiquadFilterNode extends AudioNode {\n    readonly Q: AudioParam;\n    readonly detune: AudioParam;\n    readonly frequency: AudioParam;\n    readonly gain: AudioParam;\n    type: BiquadFilterType;\n    getFrequencyResponse(frequencyHz: Float32Array<ArrayBuffer>, magResponse: Float32Array<ArrayBuffer>, phaseResponse: Float32Array<ArrayBuffer>): void;\n}\ndeclare var BiquadFilterNode: {\n    prototype: BiquadFilterNode;\n    new (context: BaseAudioContext, options?: BiquadFilterOptions): BiquadFilterNode;\n};\ninterface Blob {\n    readonly size: number;\n    readonly type: string;\n    arrayBuffer(): Promise<ArrayBuffer>;\n    bytes(): Promise<Uint8Array<ArrayBuffer>>;\n    slice(start?: number, end?: number, contentType?: string): Blob;\n    stream(): ReadableStream<Uint8Array<ArrayBuffer>>;\n    text(): Promise<string>;\n}\ndeclare var Blob: {\n    prototype: Blob;\n    new (blobParts?: BlobPart[], options?: BlobPropertyBag): Blob;\n};\ninterface BlobEvent extends Event {\n    readonly data: Blob;\n    readonly timecode: DOMHighResTimeStamp;\n}\ndeclare var BlobEvent: {\n    prototype: BlobEvent;\n    new (type: string, eventInitDict: BlobEventInit): BlobEvent;\n};\ninterface Body {\n    readonly body: ReadableStream<Uint8Array<ArrayBuffer>> | null;\n    readonly bodyUsed: boolean;\n    arrayBuffer(): Promise<ArrayBuffer>;\n    blob(): Promise<Blob>;\n    bytes(): Promise<Uint8Array<ArrayBuffer>>;\n    formData(): Promise<FormData>;\n    json(): Promise<any>;\n    text(): Promise<string>;\n}\ninterface BroadcastChannelEventMap {\n    \"message\": MessageEvent;\n    \"messageerror\": MessageEvent;\n}\ninterface BroadcastChannel extends EventTarget {\n    readonly name: string;\n    onmessage: ((this: BroadcastChannel, ev: MessageEvent) => any) | null;\n    onmessageerror: ((this: BroadcastChannel, ev: MessageEvent) => any) | null;\n    close(): void;\n    postMessage(message: any): void;\n    addEventListener<K extends keyof BroadcastChannelEventMap>(type: K, listener: (this: BroadcastChannel, ev: BroadcastChannelEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof BroadcastChannelEventMap>(type: K, listener: (this: BroadcastChannel, ev: BroadcastChannelEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var BroadcastChannel: {\n    prototype: BroadcastChannel;\n    new (name: string): BroadcastChannel;\n};\ninterface ByteLengthQueuingStrategy extends QueuingStrategy<ArrayBufferView> {\n    readonly highWaterMark: number;\n    readonly size: QueuingStrategySize<ArrayBufferView>;\n}\ndeclare var ByteLengthQueuingStrategy: {\n    prototype: ByteLengthQueuingStrategy;\n    new (init: QueuingStrategyInit): ByteLengthQueuingStrategy;\n};\ninterface CDATASection extends Text {\n}\ndeclare var CDATASection: {\n    prototype: CDATASection;\n    new (): CDATASection;\n};\ninterface CSSAnimation extends Animation {\n    readonly animationName: string;\n    addEventListener<K extends keyof AnimationEventMap>(type: K, listener: (this: CSSAnimation, ev: AnimationEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof AnimationEventMap>(type: K, listener: (this: CSSAnimation, ev: AnimationEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var CSSAnimation: {\n    prototype: CSSAnimation;\n    new (): CSSAnimation;\n};\ninterface CSSConditionRule extends CSSGroupingRule {\n    readonly conditionText: string;\n}\ndeclare var CSSConditionRule: {\n    prototype: CSSConditionRule;\n    new (): CSSConditionRule;\n};\ninterface CSSContainerRule extends CSSConditionRule {\n    readonly containerName: string;\n    readonly containerQuery: string;\n}\ndeclare var CSSContainerRule: {\n    prototype: CSSContainerRule;\n    new (): CSSContainerRule;\n};\ninterface CSSCounterStyleRule extends CSSRule {\n    additiveSymbols: string;\n    fallback: string;\n    name: string;\n    negative: string;\n    pad: string;\n    prefix: string;\n    range: string;\n    speakAs: string;\n    suffix: string;\n    symbols: string;\n    system: string;\n}\ndeclare var CSSCounterStyleRule: {\n    prototype: CSSCounterStyleRule;\n    new (): CSSCounterStyleRule;\n};\ninterface CSSFontFaceRule extends CSSRule {\n    get style(): CSSStyleDeclaration;\n    set style(cssText: string);\n}\ndeclare var CSSFontFaceRule: {\n    prototype: CSSFontFaceRule;\n    new (): CSSFontFaceRule;\n};\ninterface CSSFontFeatureValuesRule extends CSSRule {\n    fontFamily: string;\n}\ndeclare var CSSFontFeatureValuesRule: {\n    prototype: CSSFontFeatureValuesRule;\n    new (): CSSFontFeatureValuesRule;\n};\ninterface CSSFontPaletteValuesRule extends CSSRule {\n    readonly basePalette: string;\n    readonly fontFamily: string;\n    readonly name: string;\n    readonly overrideColors: string;\n}\ndeclare var CSSFontPaletteValuesRule: {\n    prototype: CSSFontPaletteValuesRule;\n    new (): CSSFontPaletteValuesRule;\n};\ninterface CSSGroupingRule extends CSSRule {\n    readonly cssRules: CSSRuleList;\n    deleteRule(index: number): void;\n    insertRule(rule: string, index?: number): number;\n}\ndeclare var CSSGroupingRule: {\n    prototype: CSSGroupingRule;\n    new (): CSSGroupingRule;\n};\ninterface CSSImageValue extends CSSStyleValue {\n}\ndeclare var CSSImageValue: {\n    prototype: CSSImageValue;\n    new (): CSSImageValue;\n};\ninterface CSSImportRule extends CSSRule {\n    readonly href: string;\n    readonly layerName: string | null;\n    get media(): MediaList;\n    set media(mediaText: string);\n    readonly styleSheet: CSSStyleSheet | null;\n    readonly supportsText: string | null;\n}\ndeclare var CSSImportRule: {\n    prototype: CSSImportRule;\n    new (): CSSImportRule;\n};\ninterface CSSKeyframeRule extends CSSRule {\n    keyText: string;\n    get style(): CSSStyleDeclaration;\n    set style(cssText: string);\n}\ndeclare var CSSKeyframeRule: {\n    prototype: CSSKeyframeRule;\n    new (): CSSKeyframeRule;\n};\ninterface CSSKeyframesRule extends CSSRule {\n    readonly cssRules: CSSRuleList;\n    readonly length: number;\n    name: string;\n    appendRule(rule: string): void;\n    deleteRule(select: string): void;\n    findRule(select: string): CSSKeyframeRule | null;\n    [index: number]: CSSKeyframeRule;\n}\ndeclare var CSSKeyframesRule: {\n    prototype: CSSKeyframesRule;\n    new (): CSSKeyframesRule;\n};\ninterface CSSKeywordValue extends CSSStyleValue {\n    value: string;\n}\ndeclare var CSSKeywordValue: {\n    prototype: CSSKeywordValue;\n    new (value: string): CSSKeywordValue;\n};\ninterface CSSLayerBlockRule extends CSSGroupingRule {\n    readonly name: string;\n}\ndeclare var CSSLayerBlockRule: {\n    prototype: CSSLayerBlockRule;\n    new (): CSSLayerBlockRule;\n};\ninterface CSSLayerStatementRule extends CSSRule {\n    readonly nameList: ReadonlyArray<string>;\n}\ndeclare var CSSLayerStatementRule: {\n    prototype: CSSLayerStatementRule;\n    new (): CSSLayerStatementRule;\n};\ninterface CSSMathClamp extends CSSMathValue {\n    readonly lower: CSSNumericValue;\n    readonly upper: CSSNumericValue;\n    readonly value: CSSNumericValue;\n}\ndeclare var CSSMathClamp: {\n    prototype: CSSMathClamp;\n    new (lower: CSSNumberish, value: CSSNumberish, upper: CSSNumberish): CSSMathClamp;\n};\ninterface CSSMathInvert extends CSSMathValue {\n    readonly value: CSSNumericValue;\n}\ndeclare var CSSMathInvert: {\n    prototype: CSSMathInvert;\n    new (arg: CSSNumberish): CSSMathInvert;\n};\ninterface CSSMathMax extends CSSMathValue {\n    readonly values: CSSNumericArray;\n}\ndeclare var CSSMathMax: {\n    prototype: CSSMathMax;\n    new (...args: CSSNumberish[]): CSSMathMax;\n};\ninterface CSSMathMin extends CSSMathValue {\n    readonly values: CSSNumericArray;\n}\ndeclare var CSSMathMin: {\n    prototype: CSSMathMin;\n    new (...args: CSSNumberish[]): CSSMathMin;\n};\ninterface CSSMathNegate extends CSSMathValue {\n    readonly value: CSSNumericValue;\n}\ndeclare var CSSMathNegate: {\n    prototype: CSSMathNegate;\n    new (arg: CSSNumberish): CSSMathNegate;\n};\ninterface CSSMathProduct extends CSSMathValue {\n    readonly values: CSSNumericArray;\n}\ndeclare var CSSMathProduct: {\n    prototype: CSSMathProduct;\n    new (...args: CSSNumberish[]): CSSMathProduct;\n};\ninterface CSSMathSum extends CSSMathValue {\n    readonly values: CSSNumericArray;\n}\ndeclare var CSSMathSum: {\n    prototype: CSSMathSum;\n    new (...args: CSSNumberish[]): CSSMathSum;\n};\ninterface CSSMathValue extends CSSNumericValue {\n    readonly operator: CSSMathOperator;\n}\ndeclare var CSSMathValue: {\n    prototype: CSSMathValue;\n    new (): CSSMathValue;\n};\ninterface CSSMatrixComponent extends CSSTransformComponent {\n    matrix: DOMMatrix;\n}\ndeclare var CSSMatrixComponent: {\n    prototype: CSSMatrixComponent;\n    new (matrix: DOMMatrixReadOnly, options?: CSSMatrixComponentOptions): CSSMatrixComponent;\n};\ninterface CSSMediaRule extends CSSConditionRule {\n    get media(): MediaList;\n    set media(mediaText: string);\n}\ndeclare var CSSMediaRule: {\n    prototype: CSSMediaRule;\n    new (): CSSMediaRule;\n};\ninterface CSSNamespaceRule extends CSSRule {\n    readonly namespaceURI: string;\n    readonly prefix: string;\n}\ndeclare var CSSNamespaceRule: {\n    prototype: CSSNamespaceRule;\n    new (): CSSNamespaceRule;\n};\ninterface CSSNestedDeclarations extends CSSRule {\n    get style(): CSSStyleDeclaration;\n    set style(cssText: string);\n}\ndeclare var CSSNestedDeclarations: {\n    prototype: CSSNestedDeclarations;\n    new (): CSSNestedDeclarations;\n};\ninterface CSSNumericArray {\n    readonly length: number;\n    forEach(callbackfn: (value: CSSNumericValue, key: number, parent: CSSNumericArray) => void, thisArg?: any): void;\n    [index: number]: CSSNumericValue;\n}\ndeclare var CSSNumericArray: {\n    prototype: CSSNumericArray;\n    new (): CSSNumericArray;\n};\ninterface CSSNumericValue extends CSSStyleValue {\n    add(...values: CSSNumberish[]): CSSNumericValue;\n    div(...values: CSSNumberish[]): CSSNumericValue;\n    equals(...value: CSSNumberish[]): boolean;\n    max(...values: CSSNumberish[]): CSSNumericValue;\n    min(...values: CSSNumberish[]): CSSNumericValue;\n    mul(...values: CSSNumberish[]): CSSNumericValue;\n    sub(...values: CSSNumberish[]): CSSNumericValue;\n    to(unit: string): CSSUnitValue;\n    toSum(...units: string[]): CSSMathSum;\n    type(): CSSNumericType;\n}\ndeclare var CSSNumericValue: {\n    prototype: CSSNumericValue;\n    new (): CSSNumericValue;\n    parse(cssText: string): CSSNumericValue;\n};\ninterface CSSPageDescriptors extends CSSStyleDeclarationBase {\n    margin: string;\n    \"margin-bottom\": string;\n    \"margin-left\": string;\n    \"margin-right\": string;\n    \"margin-top\": string;\n    marginBottom: string;\n    marginLeft: string;\n    marginRight: string;\n    marginTop: string;\n    size: string;\n}\ndeclare var CSSPageDescriptors: {\n    prototype: CSSPageDescriptors;\n    new (): CSSPageDescriptors;\n};\ninterface CSSPageRule extends CSSGroupingRule {\n    selectorText: string;\n    get style(): CSSPageDescriptors;\n    set style(cssText: string);\n}\ndeclare var CSSPageRule: {\n    prototype: CSSPageRule;\n    new (): CSSPageRule;\n};\ninterface CSSPerspective extends CSSTransformComponent {\n    length: CSSPerspectiveValue;\n}\ndeclare var CSSPerspective: {\n    prototype: CSSPerspective;\n    new (length: CSSPerspectiveValue): CSSPerspective;\n};\ninterface CSSPositionTryDescriptors extends CSSStyleDeclarationBase {\n    \"align-self\": string;\n    alignSelf: string;\n    \"block-size\": string;\n    blockSize: string;\n    bottom: string;\n    height: string;\n    \"inline-size\": string;\n    inlineSize: string;\n    inset: string;\n    \"inset-block\": string;\n    \"inset-block-end\": string;\n    \"inset-block-start\": string;\n    \"inset-inline\": string;\n    \"inset-inline-end\": string;\n    \"inset-inline-start\": string;\n    insetBlock: string;\n    insetBlockEnd: string;\n    insetBlockStart: string;\n    insetInline: string;\n    insetInlineEnd: string;\n    insetInlineStart: string;\n    \"justify-self\": string;\n    justifySelf: string;\n    left: string;\n    margin: string;\n    \"margin-block\": string;\n    \"margin-block-end\": string;\n    \"margin-block-start\": string;\n    \"margin-bottom\": string;\n    \"margin-inline\": string;\n    \"margin-inline-end\": string;\n    \"margin-inline-start\": string;\n    \"margin-left\": string;\n    \"margin-right\": string;\n    \"margin-top\": string;\n    marginBlock: string;\n    marginBlockEnd: string;\n    marginBlockStart: string;\n    marginBottom: string;\n    marginInline: string;\n    marginInlineEnd: string;\n    marginInlineStart: string;\n    marginLeft: string;\n    marginRight: string;\n    marginTop: string;\n    \"max-block-size\": string;\n    \"max-height\": string;\n    \"max-inline-size\": string;\n    \"max-width\": string;\n    maxBlockSize: string;\n    maxHeight: string;\n    maxInlineSize: string;\n    maxWidth: string;\n    \"min-block-size\": string;\n    \"min-height\": string;\n    \"min-inline-size\": string;\n    \"min-width\": string;\n    minBlockSize: string;\n    minHeight: string;\n    minInlineSize: string;\n    minWidth: string;\n    \"place-self\": string;\n    placeSelf: string;\n    \"position-anchor\": string;\n    \"position-area\": string;\n    positionAnchor: string;\n    positionArea: string;\n    right: string;\n    top: string;\n    width: string;\n}\ndeclare var CSSPositionTryDescriptors: {\n    prototype: CSSPositionTryDescriptors;\n    new (): CSSPositionTryDescriptors;\n};\ninterface CSSPositionTryRule extends CSSRule {\n    readonly name: string;\n    get style(): CSSPositionTryDescriptors;\n    set style(cssText: string);\n}\ndeclare var CSSPositionTryRule: {\n    prototype: CSSPositionTryRule;\n    new (): CSSPositionTryRule;\n};\ninterface CSSPropertyRule extends CSSRule {\n    readonly inherits: boolean;\n    readonly initialValue: string | null;\n    readonly name: string;\n    readonly syntax: string;\n}\ndeclare var CSSPropertyRule: {\n    prototype: CSSPropertyRule;\n    new (): CSSPropertyRule;\n};\ninterface CSSRotate extends CSSTransformComponent {\n    angle: CSSNumericValue;\n    x: CSSNumberish;\n    y: CSSNumberish;\n    z: CSSNumberish;\n}\ndeclare var CSSRotate: {\n    prototype: CSSRotate;\n    new (angle: CSSNumericValue): CSSRotate;\n    new (x: CSSNumberish, y: CSSNumberish, z: CSSNumberish, angle: CSSNumericValue): CSSRotate;\n};\ninterface CSSRule {\n    cssText: string;\n    readonly parentRule: CSSRule | null;\n    readonly parentStyleSheet: CSSStyleSheet | null;\n    readonly type: number;\n    readonly STYLE_RULE: 1;\n    readonly CHARSET_RULE: 2;\n    readonly IMPORT_RULE: 3;\n    readonly MEDIA_RULE: 4;\n    readonly FONT_FACE_RULE: 5;\n    readonly PAGE_RULE: 6;\n    readonly MARGIN_RULE: 9;\n    readonly NAMESPACE_RULE: 10;\n    readonly KEYFRAMES_RULE: 7;\n    readonly KEYFRAME_RULE: 8;\n    readonly SUPPORTS_RULE: 12;\n    readonly COUNTER_STYLE_RULE: 11;\n    readonly FONT_FEATURE_VALUES_RULE: 14;\n}\ndeclare var CSSRule: {\n    prototype: CSSRule;\n    new (): CSSRule;\n    readonly STYLE_RULE: 1;\n    readonly CHARSET_RULE: 2;\n    readonly IMPORT_RULE: 3;\n    readonly MEDIA_RULE: 4;\n    readonly FONT_FACE_RULE: 5;\n    readonly PAGE_RULE: 6;\n    readonly MARGIN_RULE: 9;\n    readonly NAMESPACE_RULE: 10;\n    readonly KEYFRAMES_RULE: 7;\n    readonly KEYFRAME_RULE: 8;\n    readonly SUPPORTS_RULE: 12;\n    readonly COUNTER_STYLE_RULE: 11;\n    readonly FONT_FEATURE_VALUES_RULE: 14;\n};\ninterface CSSRuleList {\n    readonly length: number;\n    item(index: number): CSSRule | null;\n    [index: number]: CSSRule;\n}\ndeclare var CSSRuleList: {\n    prototype: CSSRuleList;\n    new (): CSSRuleList;\n};\ninterface CSSScale extends CSSTransformComponent {\n    x: CSSNumberish;\n    y: CSSNumberish;\n    z: CSSNumberish;\n}\ndeclare var CSSScale: {\n    prototype: CSSScale;\n    new (x: CSSNumberish, y: CSSNumberish, z?: CSSNumberish): CSSScale;\n};\ninterface CSSScopeRule extends CSSGroupingRule {\n    readonly end: string | null;\n    readonly start: string | null;\n}\ndeclare var CSSScopeRule: {\n    prototype: CSSScopeRule;\n    new (): CSSScopeRule;\n};\ninterface CSSSkew extends CSSTransformComponent {\n    ax: CSSNumericValue;\n    ay: CSSNumericValue;\n}\ndeclare var CSSSkew: {\n    prototype: CSSSkew;\n    new (ax: CSSNumericValue, ay: CSSNumericValue): CSSSkew;\n};\ninterface CSSSkewX extends CSSTransformComponent {\n    ax: CSSNumericValue;\n}\ndeclare var CSSSkewX: {\n    prototype: CSSSkewX;\n    new (ax: CSSNumericValue): CSSSkewX;\n};\ninterface CSSSkewY extends CSSTransformComponent {\n    ay: CSSNumericValue;\n}\ndeclare var CSSSkewY: {\n    prototype: CSSSkewY;\n    new (ay: CSSNumericValue): CSSSkewY;\n};\ninterface CSSStartingStyleRule extends CSSGroupingRule {\n}\ndeclare var CSSStartingStyleRule: {\n    prototype: CSSStartingStyleRule;\n    new (): CSSStartingStyleRule;\n};\ninterface CSSStyleDeclarationBase {\n    cssText: string;\n    readonly length: number;\n    readonly parentRule: CSSRule | null;\n    getPropertyPriority(property: string): string;\n    getPropertyValue(property: string): string;\n    item(index: number): string;\n    removeProperty(property: string): string;\n    setProperty(property: string, value: string | null, priority?: string): void;\n    [index: number]: string;\n}\ninterface CSSStyleDeclaration extends CSSStyleProperties {\n}\ndeclare var CSSStyleDeclaration: {\n    prototype: CSSStyleDeclaration;\n    new (): CSSStyleDeclaration;\n};\ninterface CSSStyleProperties extends CSSStyleDeclarationBase {\n    accentColor: string;\n    alignContent: string;\n    alignItems: string;\n    alignSelf: string;\n    alignmentBaseline: string;\n    all: string;\n    anchorName: string;\n    anchorScope: string;\n    animation: string;\n    animationComposition: string;\n    animationDelay: string;\n    animationDirection: string;\n    animationDuration: string;\n    animationFillMode: string;\n    animationIterationCount: string;\n    animationName: string;\n    animationPlayState: string;\n    animationRange: string;\n    animationRangeEnd: string;\n    animationRangeStart: string;\n    animationTimeline: string;\n    animationTimingFunction: string;\n    appearance: string;\n    aspectRatio: string;\n    backdropFilter: string;\n    backfaceVisibility: string;\n    background: string;\n    backgroundAttachment: string;\n    backgroundBlendMode: string;\n    backgroundClip: string;\n    backgroundColor: string;\n    backgroundImage: string;\n    backgroundOrigin: string;\n    backgroundPosition: string;\n    backgroundPositionX: string;\n    backgroundPositionY: string;\n    backgroundRepeat: string;\n    backgroundSize: string;\n    baselineShift: string;\n    baselineSource: string;\n    blockSize: string;\n    border: string;\n    borderBlock: string;\n    borderBlockColor: string;\n    borderBlockEnd: string;\n    borderBlockEndColor: string;\n    borderBlockEndStyle: string;\n    borderBlockEndWidth: string;\n    borderBlockStart: string;\n    borderBlockStartColor: string;\n    borderBlockStartStyle: string;\n    borderBlockStartWidth: string;\n    borderBlockStyle: string;\n    borderBlockWidth: string;\n    borderBottom: string;\n    borderBottomColor: string;\n    borderBottomLeftRadius: string;\n    borderBottomRightRadius: string;\n    borderBottomStyle: string;\n    borderBottomWidth: string;\n    borderCollapse: string;\n    borderColor: string;\n    borderEndEndRadius: string;\n    borderEndStartRadius: string;\n    borderImage: string;\n    borderImageOutset: string;\n    borderImageRepeat: string;\n    borderImageSlice: string;\n    borderImageSource: string;\n    borderImageWidth: string;\n    borderInline: string;\n    borderInlineColor: string;\n    borderInlineEnd: string;\n    borderInlineEndColor: string;\n    borderInlineEndStyle: string;\n    borderInlineEndWidth: string;\n    borderInlineStart: string;\n    borderInlineStartColor: string;\n    borderInlineStartStyle: string;\n    borderInlineStartWidth: string;\n    borderInlineStyle: string;\n    borderInlineWidth: string;\n    borderLeft: string;\n    borderLeftColor: string;\n    borderLeftStyle: string;\n    borderLeftWidth: string;\n    borderRadius: string;\n    borderRight: string;\n    borderRightColor: string;\n    borderRightStyle: string;\n    borderRightWidth: string;\n    borderSpacing: string;\n    borderStartEndRadius: string;\n    borderStartStartRadius: string;\n    borderStyle: string;\n    borderTop: string;\n    borderTopColor: string;\n    borderTopLeftRadius: string;\n    borderTopRightRadius: string;\n    borderTopStyle: string;\n    borderTopWidth: string;\n    borderWidth: string;\n    bottom: string;\n    boxDecorationBreak: string;\n    boxShadow: string;\n    boxSizing: string;\n    breakAfter: string;\n    breakBefore: string;\n    breakInside: string;\n    captionSide: string;\n    caretColor: string;\n    clear: string;\n    clip: string;\n    clipPath: string;\n    clipRule: string;\n    color: string;\n    colorInterpolation: string;\n    colorInterpolationFilters: string;\n    colorScheme: string;\n    columnCount: string;\n    columnFill: string;\n    columnGap: string;\n    columnRule: string;\n    columnRuleColor: string;\n    columnRuleStyle: string;\n    columnRuleWidth: string;\n    columnSpan: string;\n    columnWidth: string;\n    columns: string;\n    contain: string;\n    containIntrinsicBlockSize: string;\n    containIntrinsicHeight: string;\n    containIntrinsicInlineSize: string;\n    containIntrinsicSize: string;\n    containIntrinsicWidth: string;\n    container: string;\n    containerName: string;\n    containerType: string;\n    content: string;\n    contentVisibility: string;\n    counterIncrement: string;\n    counterReset: string;\n    counterSet: string;\n    cssFloat: string;\n    cursor: string;\n    cx: string;\n    cy: string;\n    d: string;\n    direction: string;\n    display: string;\n    dominantBaseline: string;\n    dynamicRangeLimit: string;\n    emptyCells: string;\n    fieldSizing: string;\n    fill: string;\n    fillOpacity: string;\n    fillRule: string;\n    filter: string;\n    flex: string;\n    flexBasis: string;\n    flexDirection: string;\n    flexFlow: string;\n    flexGrow: string;\n    flexShrink: string;\n    flexWrap: string;\n    float: string;\n    floodColor: string;\n    floodOpacity: string;\n    font: string;\n    fontFamily: string;\n    fontFeatureSettings: string;\n    fontKerning: string;\n    fontLanguageOverride: string;\n    fontOpticalSizing: string;\n    fontPalette: string;\n    fontSize: string;\n    fontSizeAdjust: string;\n    fontStretch: string;\n    fontStyle: string;\n    fontSynthesis: string;\n    fontSynthesisSmallCaps: string;\n    fontSynthesisStyle: string;\n    fontSynthesisWeight: string;\n    fontVariant: string;\n    fontVariantAlternates: string;\n    fontVariantCaps: string;\n    fontVariantEastAsian: string;\n    fontVariantEmoji: string;\n    fontVariantLigatures: string;\n    fontVariantNumeric: string;\n    fontVariantPosition: string;\n    fontVariationSettings: string;\n    fontWeight: string;\n    forcedColorAdjust: string;\n    gap: string;\n    grid: string;\n    gridArea: string;\n    gridAutoColumns: string;\n    gridAutoFlow: string;\n    gridAutoRows: string;\n    gridColumn: string;\n    gridColumnEnd: string;\n    gridColumnGap: string;\n    gridColumnStart: string;\n    gridGap: string;\n    gridRow: string;\n    gridRowEnd: string;\n    gridRowGap: string;\n    gridRowStart: string;\n    gridTemplate: string;\n    gridTemplateAreas: string;\n    gridTemplateColumns: string;\n    gridTemplateRows: string;\n    height: string;\n    hyphenateCharacter: string;\n    hyphenateLimitChars: string;\n    hyphens: string;\n    imageOrientation: string;\n    imageRendering: string;\n    inlineSize: string;\n    inset: string;\n    insetBlock: string;\n    insetBlockEnd: string;\n    insetBlockStart: string;\n    insetInline: string;\n    insetInlineEnd: string;\n    insetInlineStart: string;\n    isolation: string;\n    justifyContent: string;\n    justifyItems: string;\n    justifySelf: string;\n    left: string;\n    letterSpacing: string;\n    lightingColor: string;\n    lineBreak: string;\n    lineHeight: string;\n    listStyle: string;\n    listStyleImage: string;\n    listStylePosition: string;\n    listStyleType: string;\n    margin: string;\n    marginBlock: string;\n    marginBlockEnd: string;\n    marginBlockStart: string;\n    marginBottom: string;\n    marginInline: string;\n    marginInlineEnd: string;\n    marginInlineStart: string;\n    marginLeft: string;\n    marginRight: string;\n    marginTop: string;\n    marker: string;\n    markerEnd: string;\n    markerMid: string;\n    markerStart: string;\n    mask: string;\n    maskClip: string;\n    maskComposite: string;\n    maskImage: string;\n    maskMode: string;\n    maskOrigin: string;\n    maskPosition: string;\n    maskRepeat: string;\n    maskSize: string;\n    maskType: string;\n    mathDepth: string;\n    mathShift: string;\n    mathStyle: string;\n    maxBlockSize: string;\n    maxHeight: string;\n    maxInlineSize: string;\n    maxWidth: string;\n    minBlockSize: string;\n    minHeight: string;\n    minInlineSize: string;\n    minWidth: string;\n    mixBlendMode: string;\n    objectFit: string;\n    objectPosition: string;\n    offset: string;\n    offsetAnchor: string;\n    offsetDistance: string;\n    offsetPath: string;\n    offsetPosition: string;\n    offsetRotate: string;\n    opacity: string;\n    order: string;\n    orphans: string;\n    outline: string;\n    outlineColor: string;\n    outlineOffset: string;\n    outlineStyle: string;\n    outlineWidth: string;\n    overflow: string;\n    overflowAnchor: string;\n    overflowBlock: string;\n    overflowClipMargin: string;\n    overflowInline: string;\n    overflowWrap: string;\n    overflowX: string;\n    overflowY: string;\n    overscrollBehavior: string;\n    overscrollBehaviorBlock: string;\n    overscrollBehaviorInline: string;\n    overscrollBehaviorX: string;\n    overscrollBehaviorY: string;\n    padding: string;\n    paddingBlock: string;\n    paddingBlockEnd: string;\n    paddingBlockStart: string;\n    paddingBottom: string;\n    paddingInline: string;\n    paddingInlineEnd: string;\n    paddingInlineStart: string;\n    paddingLeft: string;\n    paddingRight: string;\n    paddingTop: string;\n    page: string;\n    pageBreakAfter: string;\n    pageBreakBefore: string;\n    pageBreakInside: string;\n    paintOrder: string;\n    perspective: string;\n    perspectiveOrigin: string;\n    placeContent: string;\n    placeItems: string;\n    placeSelf: string;\n    pointerEvents: string;\n    position: string;\n    positionAnchor: string;\n    positionArea: string;\n    positionTry: string;\n    positionTryFallbacks: string;\n    positionTryOrder: string;\n    positionVisibility: string;\n    printColorAdjust: string;\n    quotes: string;\n    r: string;\n    resize: string;\n    right: string;\n    rotate: string;\n    rowGap: string;\n    rubyAlign: string;\n    rubyPosition: string;\n    rx: string;\n    ry: string;\n    scale: string;\n    scrollBehavior: string;\n    scrollMargin: string;\n    scrollMarginBlock: string;\n    scrollMarginBlockEnd: string;\n    scrollMarginBlockStart: string;\n    scrollMarginBottom: string;\n    scrollMarginInline: string;\n    scrollMarginInlineEnd: string;\n    scrollMarginInlineStart: string;\n    scrollMarginLeft: string;\n    scrollMarginRight: string;\n    scrollMarginTop: string;\n    scrollPadding: string;\n    scrollPaddingBlock: string;\n    scrollPaddingBlockEnd: string;\n    scrollPaddingBlockStart: string;\n    scrollPaddingBottom: string;\n    scrollPaddingInline: string;\n    scrollPaddingInlineEnd: string;\n    scrollPaddingInlineStart: string;\n    scrollPaddingLeft: string;\n    scrollPaddingRight: string;\n    scrollPaddingTop: string;\n    scrollSnapAlign: string;\n    scrollSnapStop: string;\n    scrollSnapType: string;\n    scrollTimeline: string;\n    scrollTimelineAxis: string;\n    scrollTimelineName: string;\n    scrollbarColor: string;\n    scrollbarGutter: string;\n    scrollbarWidth: string;\n    shapeImageThreshold: string;\n    shapeMargin: string;\n    shapeOutside: string;\n    shapeRendering: string;\n    stopColor: string;\n    stopOpacity: string;\n    stroke: string;\n    strokeDasharray: string;\n    strokeDashoffset: string;\n    strokeLinecap: string;\n    strokeLinejoin: string;\n    strokeMiterlimit: string;\n    strokeOpacity: string;\n    strokeWidth: string;\n    tabSize: string;\n    tableLayout: string;\n    textAlign: string;\n    textAlignLast: string;\n    textAnchor: string;\n    textAutospace: string;\n    textBox: string;\n    textBoxEdge: string;\n    textBoxTrim: string;\n    textCombineUpright: string;\n    textDecoration: string;\n    textDecorationColor: string;\n    textDecorationLine: string;\n    textDecorationSkipInk: string;\n    textDecorationStyle: string;\n    textDecorationThickness: string;\n    textEmphasis: string;\n    textEmphasisColor: string;\n    textEmphasisPosition: string;\n    textEmphasisStyle: string;\n    textIndent: string;\n    textJustify: string;\n    textOrientation: string;\n    textOverflow: string;\n    textRendering: string;\n    textShadow: string;\n    textTransform: string;\n    textUnderlineOffset: string;\n    textUnderlinePosition: string;\n    textWrap: string;\n    textWrapMode: string;\n    textWrapStyle: string;\n    timelineScope: string;\n    top: string;\n    touchAction: string;\n    transform: string;\n    transformBox: string;\n    transformOrigin: string;\n    transformStyle: string;\n    transition: string;\n    transitionBehavior: string;\n    transitionDelay: string;\n    transitionDuration: string;\n    transitionProperty: string;\n    transitionTimingFunction: string;\n    translate: string;\n    unicodeBidi: string;\n    userSelect: string;\n    vectorEffect: string;\n    verticalAlign: string;\n    viewTimeline: string;\n    viewTimelineAxis: string;\n    viewTimelineInset: string;\n    viewTimelineName: string;\n    viewTransitionClass: string;\n    viewTransitionName: string;\n    visibility: string;\n    webkitAlignContent: string;\n    webkitAlignItems: string;\n    webkitAlignSelf: string;\n    webkitAnimation: string;\n    webkitAnimationDelay: string;\n    webkitAnimationDirection: string;\n    webkitAnimationDuration: string;\n    webkitAnimationFillMode: string;\n    webkitAnimationIterationCount: string;\n    webkitAnimationName: string;\n    webkitAnimationPlayState: string;\n    webkitAnimationTimingFunction: string;\n    webkitAppearance: string;\n    webkitBackfaceVisibility: string;\n    webkitBackgroundClip: string;\n    webkitBackgroundOrigin: string;\n    webkitBackgroundSize: string;\n    webkitBorderBottomLeftRadius: string;\n    webkitBorderBottomRightRadius: string;\n    webkitBorderRadius: string;\n    webkitBorderTopLeftRadius: string;\n    webkitBorderTopRightRadius: string;\n    webkitBoxAlign: string;\n    webkitBoxFlex: string;\n    webkitBoxOrdinalGroup: string;\n    webkitBoxOrient: string;\n    webkitBoxPack: string;\n    webkitBoxShadow: string;\n    webkitBoxSizing: string;\n    webkitFilter: string;\n    webkitFlex: string;\n    webkitFlexBasis: string;\n    webkitFlexDirection: string;\n    webkitFlexFlow: string;\n    webkitFlexGrow: string;\n    webkitFlexShrink: string;\n    webkitFlexWrap: string;\n    webkitJustifyContent: string;\n    webkitLineClamp: string;\n    webkitMask: string;\n    webkitMaskBoxImage: string;\n    webkitMaskBoxImageOutset: string;\n    webkitMaskBoxImageRepeat: string;\n    webkitMaskBoxImageSlice: string;\n    webkitMaskBoxImageSource: string;\n    webkitMaskBoxImageWidth: string;\n    webkitMaskClip: string;\n    webkitMaskComposite: string;\n    webkitMaskImage: string;\n    webkitMaskOrigin: string;\n    webkitMaskPosition: string;\n    webkitMaskRepeat: string;\n    webkitMaskSize: string;\n    webkitOrder: string;\n    webkitPerspective: string;\n    webkitPerspectiveOrigin: string;\n    webkitTextFillColor: string;\n    webkitTextSizeAdjust: string;\n    webkitTextStroke: string;\n    webkitTextStrokeColor: string;\n    webkitTextStrokeWidth: string;\n    webkitTransform: string;\n    webkitTransformOrigin: string;\n    webkitTransformStyle: string;\n    webkitTransition: string;\n    webkitTransitionDelay: string;\n    webkitTransitionDuration: string;\n    webkitTransitionProperty: string;\n    webkitTransitionTimingFunction: string;\n    webkitUserSelect: string;\n    whiteSpace: string;\n    whiteSpaceCollapse: string;\n    widows: string;\n    width: string;\n    willChange: string;\n    wordBreak: string;\n    wordSpacing: string;\n    wordWrap: string;\n    writingMode: string;\n    x: string;\n    y: string;\n    zIndex: string;\n    zoom: string;\n}\ndeclare var CSSStyleProperties: {\n    prototype: CSSStyleProperties;\n    new (): CSSStyleProperties;\n};\ninterface CSSStyleRule extends CSSGroupingRule {\n    selectorText: string;\n    get style(): CSSStyleDeclaration;\n    set style(cssText: string);\n    readonly styleMap: StylePropertyMap;\n}\ndeclare var CSSStyleRule: {\n    prototype: CSSStyleRule;\n    new (): CSSStyleRule;\n};\ninterface CSSStyleSheet extends StyleSheet {\n    readonly cssRules: CSSRuleList;\n    readonly ownerRule: CSSRule | null;\n    readonly rules: CSSRuleList;\n    addRule(selector?: string, style?: string, index?: number): number;\n    deleteRule(index: number): void;\n    insertRule(rule: string, index?: number): number;\n    removeRule(index?: number): void;\n    replace(text: string): Promise<CSSStyleSheet>;\n    replaceSync(text: string): void;\n}\ndeclare var CSSStyleSheet: {\n    prototype: CSSStyleSheet;\n    new (options?: CSSStyleSheetInit): CSSStyleSheet;\n};\ninterface CSSStyleValue {\n    toString(): string;\n}\ndeclare var CSSStyleValue: {\n    prototype: CSSStyleValue;\n    new (): CSSStyleValue;\n    parse(property: string, cssText: string): CSSStyleValue;\n    parseAll(property: string, cssText: string): CSSStyleValue[];\n};\ninterface CSSSupportsRule extends CSSConditionRule {\n}\ndeclare var CSSSupportsRule: {\n    prototype: CSSSupportsRule;\n    new (): CSSSupportsRule;\n};\ninterface CSSTransformComponent {\n    is2D: boolean;\n    toMatrix(): DOMMatrix;\n    toString(): string;\n}\ndeclare var CSSTransformComponent: {\n    prototype: CSSTransformComponent;\n    new (): CSSTransformComponent;\n};\ninterface CSSTransformValue extends CSSStyleValue {\n    readonly is2D: boolean;\n    readonly length: number;\n    toMatrix(): DOMMatrix;\n    forEach(callbackfn: (value: CSSTransformComponent, key: number, parent: CSSTransformValue) => void, thisArg?: any): void;\n    [index: number]: CSSTransformComponent;\n}\ndeclare var CSSTransformValue: {\n    prototype: CSSTransformValue;\n    new (transforms: CSSTransformComponent[]): CSSTransformValue;\n};\ninterface CSSTransition extends Animation {\n    readonly transitionProperty: string;\n    addEventListener<K extends keyof AnimationEventMap>(type: K, listener: (this: CSSTransition, ev: AnimationEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof AnimationEventMap>(type: K, listener: (this: CSSTransition, ev: AnimationEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var CSSTransition: {\n    prototype: CSSTransition;\n    new (): CSSTransition;\n};\ninterface CSSTranslate extends CSSTransformComponent {\n    x: CSSNumericValue;\n    y: CSSNumericValue;\n    z: CSSNumericValue;\n}\ndeclare var CSSTranslate: {\n    prototype: CSSTranslate;\n    new (x: CSSNumericValue, y: CSSNumericValue, z?: CSSNumericValue): CSSTranslate;\n};\ninterface CSSUnitValue extends CSSNumericValue {\n    readonly unit: string;\n    value: number;\n}\ndeclare var CSSUnitValue: {\n    prototype: CSSUnitValue;\n    new (value: number, unit: string): CSSUnitValue;\n};\ninterface CSSUnparsedValue extends CSSStyleValue {\n    readonly length: number;\n    forEach(callbackfn: (value: CSSUnparsedSegment, key: number, parent: CSSUnparsedValue) => void, thisArg?: any): void;\n    [index: number]: CSSUnparsedSegment;\n}\ndeclare var CSSUnparsedValue: {\n    prototype: CSSUnparsedValue;\n    new (members: CSSUnparsedSegment[]): CSSUnparsedValue;\n};\ninterface CSSVariableReferenceValue {\n    readonly fallback: CSSUnparsedValue | null;\n    variable: string;\n}\ndeclare var CSSVariableReferenceValue: {\n    prototype: CSSVariableReferenceValue;\n    new (variable: string, fallback?: CSSUnparsedValue | null): CSSVariableReferenceValue;\n};\ninterface CSSViewTransitionRule extends CSSRule {\n    readonly navigation: string;\n    readonly types: ReadonlyArray<string>;\n}\ndeclare var CSSViewTransitionRule: {\n    prototype: CSSViewTransitionRule;\n    new (): CSSViewTransitionRule;\n};\ninterface Cache {\n    add(request: RequestInfo | URL): Promise<void>;\n    addAll(requests: RequestInfo[]): Promise<void>;\n    delete(request: RequestInfo | URL, options?: CacheQueryOptions): Promise<boolean>;\n    keys(request?: RequestInfo | URL, options?: CacheQueryOptions): Promise<ReadonlyArray<Request>>;\n    match(request: RequestInfo | URL, options?: CacheQueryOptions): Promise<Response | undefined>;\n    matchAll(request?: RequestInfo | URL, options?: CacheQueryOptions): Promise<ReadonlyArray<Response>>;\n    put(request: RequestInfo | URL, response: Response): Promise<void>;\n}\ndeclare var Cache: {\n    prototype: Cache;\n    new (): Cache;\n};\ninterface CacheStorage {\n    delete(cacheName: string): Promise<boolean>;\n    has(cacheName: string): Promise<boolean>;\n    keys(): Promise<string[]>;\n    match(request: RequestInfo | URL, options?: MultiCacheQueryOptions): Promise<Response | undefined>;\n    open(cacheName: string): Promise<Cache>;\n}\ndeclare var CacheStorage: {\n    prototype: CacheStorage;\n    new (): CacheStorage;\n};\ninterface CanvasCaptureMediaStreamTrack extends MediaStreamTrack {\n    readonly canvas: HTMLCanvasElement;\n    requestFrame(): void;\n    addEventListener<K extends keyof MediaStreamTrackEventMap>(type: K, listener: (this: CanvasCaptureMediaStreamTrack, ev: MediaStreamTrackEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof MediaStreamTrackEventMap>(type: K, listener: (this: CanvasCaptureMediaStreamTrack, ev: MediaStreamTrackEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var CanvasCaptureMediaStreamTrack: {\n    prototype: CanvasCaptureMediaStreamTrack;\n    new (): CanvasCaptureMediaStreamTrack;\n};\ninterface CanvasCompositing {\n    globalAlpha: number;\n    globalCompositeOperation: GlobalCompositeOperation;\n}\ninterface CanvasDrawImage {\n    drawImage(image: CanvasImageSource, dx: number, dy: number): void;\n    drawImage(image: CanvasImageSource, dx: number, dy: number, dw: number, dh: number): void;\n    drawImage(image: CanvasImageSource, sx: number, sy: number, sw: number, sh: number, dx: number, dy: number, dw: number, dh: number): void;\n}\ninterface CanvasDrawPath {\n    beginPath(): void;\n    clip(fillRule?: CanvasFillRule): void;\n    clip(path: Path2D, fillRule?: CanvasFillRule): void;\n    fill(fillRule?: CanvasFillRule): void;\n    fill(path: Path2D, fillRule?: CanvasFillRule): void;\n    isPointInPath(x: number, y: number, fillRule?: CanvasFillRule): boolean;\n    isPointInPath(path: Path2D, x: number, y: number, fillRule?: CanvasFillRule): boolean;\n    isPointInStroke(x: number, y: number): boolean;\n    isPointInStroke(path: Path2D, x: number, y: number): boolean;\n    stroke(): void;\n    stroke(path: Path2D): void;\n}\ninterface CanvasFillStrokeStyles {\n    fillStyle: string | CanvasGradient | CanvasPattern;\n    strokeStyle: string | CanvasGradient | CanvasPattern;\n    createConicGradient(startAngle: number, x: number, y: number): CanvasGradient;\n    createLinearGradient(x0: number, y0: number, x1: number, y1: number): CanvasGradient;\n    createPattern(image: CanvasImageSource, repetition: string | null): CanvasPattern | null;\n    createRadialGradient(x0: number, y0: number, r0: number, x1: number, y1: number, r1: number): CanvasGradient;\n}\ninterface CanvasFilters {\n    filter: string;\n}\ninterface CanvasGradient {\n    addColorStop(offset: number, color: string): void;\n}\ndeclare var CanvasGradient: {\n    prototype: CanvasGradient;\n    new (): CanvasGradient;\n};\ninterface CanvasImageData {\n    createImageData(sw: number, sh: number, settings?: ImageDataSettings): ImageData;\n    createImageData(imageData: ImageData): ImageData;\n    getImageData(sx: number, sy: number, sw: number, sh: number, settings?: ImageDataSettings): ImageData;\n    putImageData(imageData: ImageData, dx: number, dy: number): void;\n    putImageData(imageData: ImageData, dx: number, dy: number, dirtyX: number, dirtyY: number, dirtyWidth: number, dirtyHeight: number): void;\n}\ninterface CanvasImageSmoothing {\n    imageSmoothingEnabled: boolean;\n    imageSmoothingQuality: ImageSmoothingQuality;\n}\ninterface CanvasPath {\n    arc(x: number, y: number, radius: number, startAngle: number, endAngle: number, counterclockwise?: boolean): void;\n    arcTo(x1: number, y1: number, x2: number, y2: number, radius: number): void;\n    bezierCurveTo(cp1x: number, cp1y: number, cp2x: number, cp2y: number, x: number, y: number): void;\n    closePath(): void;\n    ellipse(x: number, y: number, radiusX: number, radiusY: number, rotation: number, startAngle: number, endAngle: number, counterclockwise?: boolean): void;\n    lineTo(x: number, y: number): void;\n    moveTo(x: number, y: number): void;\n    quadraticCurveTo(cpx: number, cpy: number, x: number, y: number): void;\n    rect(x: number, y: number, w: number, h: number): void;\n    roundRect(x: number, y: number, w: number, h: number, radii?: number | DOMPointInit | (number | DOMPointInit)[]): void;\n}\ninterface CanvasPathDrawingStyles {\n    lineCap: CanvasLineCap;\n    lineDashOffset: number;\n    lineJoin: CanvasLineJoin;\n    lineWidth: number;\n    miterLimit: number;\n    getLineDash(): number[];\n    setLineDash(segments: number[]): void;\n}\ninterface CanvasPattern {\n    setTransform(transform?: DOMMatrix2DInit): void;\n}\ndeclare var CanvasPattern: {\n    prototype: CanvasPattern;\n    new (): CanvasPattern;\n};\ninterface CanvasRect {\n    clearRect(x: number, y: number, w: number, h: number): void;\n    fillRect(x: number, y: number, w: number, h: number): void;\n    strokeRect(x: number, y: number, w: number, h: number): void;\n}\ninterface CanvasRenderingContext2D extends CanvasCompositing, CanvasDrawImage, CanvasDrawPath, CanvasFillStrokeStyles, CanvasFilters, CanvasImageData, CanvasImageSmoothing, CanvasPath, CanvasPathDrawingStyles, CanvasRect, CanvasSettings, CanvasShadowStyles, CanvasState, CanvasText, CanvasTextDrawingStyles, CanvasTransform, CanvasUserInterface {\n    readonly canvas: HTMLCanvasElement;\n}\ndeclare var CanvasRenderingContext2D: {\n    prototype: CanvasRenderingContext2D;\n    new (): CanvasRenderingContext2D;\n};\ninterface CanvasSettings {\n    getContextAttributes(): CanvasRenderingContext2DSettings;\n}\ninterface CanvasShadowStyles {\n    shadowBlur: number;\n    shadowColor: string;\n    shadowOffsetX: number;\n    shadowOffsetY: number;\n}\ninterface CanvasState {\n    isContextLost(): boolean;\n    reset(): void;\n    restore(): void;\n    save(): void;\n}\ninterface CanvasText {\n    fillText(text: string, x: number, y: number, maxWidth?: number): void;\n    measureText(text: string): TextMetrics;\n    strokeText(text: string, x: number, y: number, maxWidth?: number): void;\n}\ninterface CanvasTextDrawingStyles {\n    direction: CanvasDirection;\n    font: string;\n    fontKerning: CanvasFontKerning;\n    fontStretch: CanvasFontStretch;\n    fontVariantCaps: CanvasFontVariantCaps;\n    letterSpacing: string;\n    textAlign: CanvasTextAlign;\n    textBaseline: CanvasTextBaseline;\n    textRendering: CanvasTextRendering;\n    wordSpacing: string;\n}\ninterface CanvasTransform {\n    getTransform(): DOMMatrix;\n    resetTransform(): void;\n    rotate(angle: number): void;\n    scale(x: number, y: number): void;\n    setTransform(a: number, b: number, c: number, d: number, e: number, f: number): void;\n    setTransform(transform?: DOMMatrix2DInit): void;\n    transform(a: number, b: number, c: number, d: number, e: number, f: number): void;\n    translate(x: number, y: number): void;\n}\ninterface CanvasUserInterface {\n    drawFocusIfNeeded(element: Element): void;\n    drawFocusIfNeeded(path: Path2D, element: Element): void;\n}\ninterface CaretPosition {\n    readonly offset: number;\n    readonly offsetNode: Node;\n    getClientRect(): DOMRect | null;\n}\ndeclare var CaretPosition: {\n    prototype: CaretPosition;\n    new (): CaretPosition;\n};\ninterface ChannelMergerNode extends AudioNode {\n}\ndeclare var ChannelMergerNode: {\n    prototype: ChannelMergerNode;\n    new (context: BaseAudioContext, options?: ChannelMergerOptions): ChannelMergerNode;\n};\ninterface ChannelSplitterNode extends AudioNode {\n}\ndeclare var ChannelSplitterNode: {\n    prototype: ChannelSplitterNode;\n    new (context: BaseAudioContext, options?: ChannelSplitterOptions): ChannelSplitterNode;\n};\ninterface CharacterData extends Node, ChildNode, NonDocumentTypeChildNode {\n    data: string;\n    readonly length: number;\n    readonly ownerDocument: Document;\n    appendData(data: string): void;\n    deleteData(offset: number, count: number): void;\n    insertData(offset: number, data: string): void;\n    replaceData(offset: number, count: number, data: string): void;\n    substringData(offset: number, count: number): string;\n    get textContent(): string;\n    set textContent(value: string | null);\n}\ndeclare var CharacterData: {\n    prototype: CharacterData;\n    new (): CharacterData;\n};\ninterface ChildNode extends Node {\n    after(...nodes: (Node | string)[]): void;\n    before(...nodes: (Node | string)[]): void;\n    remove(): void;\n    replaceWith(...nodes: (Node | string)[]): void;\n}\ninterface ClientRect extends DOMRect {\n}\ninterface Clipboard extends EventTarget {\n    read(): Promise<ClipboardItems>;\n    readText(): Promise<string>;\n    write(data: ClipboardItems): Promise<void>;\n    writeText(data: string): Promise<void>;\n}\ndeclare var Clipboard: {\n    prototype: Clipboard;\n    new (): Clipboard;\n};\ninterface ClipboardEvent extends Event {\n    readonly clipboardData: DataTransfer | null;\n}\ndeclare var ClipboardEvent: {\n    prototype: ClipboardEvent;\n    new (type: string, eventInitDict?: ClipboardEventInit): ClipboardEvent;\n};\ninterface ClipboardItem {\n    readonly presentationStyle: PresentationStyle;\n    readonly types: ReadonlyArray<string>;\n    getType(type: string): Promise<Blob>;\n}\ndeclare var ClipboardItem: {\n    prototype: ClipboardItem;\n    new (items: Record<string, string | Blob | PromiseLike<string | Blob>>, options?: ClipboardItemOptions): ClipboardItem;\n    supports(type: string): boolean;\n};\ninterface CloseEvent extends Event {\n    readonly code: number;\n    readonly reason: string;\n    readonly wasClean: boolean;\n}\ndeclare var CloseEvent: {\n    prototype: CloseEvent;\n    new (type: string, eventInitDict?: CloseEventInit): CloseEvent;\n};\ninterface CommandEvent extends Event {\n    readonly command: string;\n    readonly source: Element | null;\n}\ndeclare var CommandEvent: {\n    prototype: CommandEvent;\n    new (type: string, eventInitDict?: CommandEventInit): CommandEvent;\n};\ninterface Comment extends CharacterData {\n}\ndeclare var Comment: {\n    prototype: Comment;\n    new (data?: string): Comment;\n};\ninterface CompositionEvent extends UIEvent {\n    readonly data: string;\n    initCompositionEvent(typeArg: string, bubblesArg?: boolean, cancelableArg?: boolean, viewArg?: WindowProxy | null, dataArg?: string): void;\n}\ndeclare var CompositionEvent: {\n    prototype: CompositionEvent;\n    new (type: string, eventInitDict?: CompositionEventInit): CompositionEvent;\n};\ninterface CompressionStream extends GenericTransformStream {\n    readonly readable: ReadableStream<Uint8Array<ArrayBuffer>>;\n    readonly writable: WritableStream<BufferSource>;\n}\ndeclare var CompressionStream: {\n    prototype: CompressionStream;\n    new (format: CompressionFormat): CompressionStream;\n};\ninterface ConstantSourceNode extends AudioScheduledSourceNode {\n    readonly offset: AudioParam;\n    addEventListener<K extends keyof AudioScheduledSourceNodeEventMap>(type: K, listener: (this: ConstantSourceNode, ev: AudioScheduledSourceNodeEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof AudioScheduledSourceNodeEventMap>(type: K, listener: (this: ConstantSourceNode, ev: AudioScheduledSourceNodeEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var ConstantSourceNode: {\n    prototype: ConstantSourceNode;\n    new (context: BaseAudioContext, options?: ConstantSourceOptions): ConstantSourceNode;\n};\ninterface ContentVisibilityAutoStateChangeEvent extends Event {\n    readonly skipped: boolean;\n}\ndeclare var ContentVisibilityAutoStateChangeEvent: {\n    prototype: ContentVisibilityAutoStateChangeEvent;\n    new (type: string, eventInitDict?: ContentVisibilityAutoStateChangeEventInit): ContentVisibilityAutoStateChangeEvent;\n};\ninterface ConvolverNode extends AudioNode {\n    buffer: AudioBuffer | null;\n    normalize: boolean;\n}\ndeclare var ConvolverNode: {\n    prototype: ConvolverNode;\n    new (context: BaseAudioContext, options?: ConvolverOptions): ConvolverNode;\n};\ninterface CookieChangeEvent extends Event {\n    readonly changed: ReadonlyArray<CookieListItem>;\n    readonly deleted: ReadonlyArray<CookieListItem>;\n}\ndeclare var CookieChangeEvent: {\n    prototype: CookieChangeEvent;\n    new (type: string, eventInitDict?: CookieChangeEventInit): CookieChangeEvent;\n};\ninterface CookieStoreEventMap {\n    \"change\": CookieChangeEvent;\n}\ninterface CookieStore extends EventTarget {\n    onchange: ((this: CookieStore, ev: CookieChangeEvent) => any) | null;\n    delete(name: string): Promise<void>;\n    delete(options: CookieStoreDeleteOptions): Promise<void>;\n    get(name: string): Promise<CookieListItem | null>;\n    get(options?: CookieStoreGetOptions): Promise<CookieListItem | null>;\n    getAll(name: string): Promise<CookieList>;\n    getAll(options?: CookieStoreGetOptions): Promise<CookieList>;\n    set(name: string, value: string): Promise<void>;\n    set(options: CookieInit): Promise<void>;\n    addEventListener<K extends keyof CookieStoreEventMap>(type: K, listener: (this: CookieStore, ev: CookieStoreEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof CookieStoreEventMap>(type: K, listener: (this: CookieStore, ev: CookieStoreEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var CookieStore: {\n    prototype: CookieStore;\n    new (): CookieStore;\n};\ninterface CookieStoreManager {\n    getSubscriptions(): Promise<CookieStoreGetOptions[]>;\n    subscribe(subscriptions: CookieStoreGetOptions[]): Promise<void>;\n    unsubscribe(subscriptions: CookieStoreGetOptions[]): Promise<void>;\n}\ndeclare var CookieStoreManager: {\n    prototype: CookieStoreManager;\n    new (): CookieStoreManager;\n};\ninterface CountQueuingStrategy extends QueuingStrategy {\n    readonly highWaterMark: number;\n    readonly size: QueuingStrategySize;\n}\ndeclare var CountQueuingStrategy: {\n    prototype: CountQueuingStrategy;\n    new (init: QueuingStrategyInit): CountQueuingStrategy;\n};\ninterface Credential {\n    readonly id: string;\n    readonly type: string;\n}\ndeclare var Credential: {\n    prototype: Credential;\n    new (): Credential;\n};\ninterface CredentialsContainer {\n    create(options?: CredentialCreationOptions): Promise<Credential | null>;\n    get(options?: CredentialRequestOptions): Promise<Credential | null>;\n    preventSilentAccess(): Promise<void>;\n    store(credential: Credential): Promise<void>;\n}\ndeclare var CredentialsContainer: {\n    prototype: CredentialsContainer;\n    new (): CredentialsContainer;\n};\ninterface Crypto {\n    readonly subtle: SubtleCrypto;\n    getRandomValues<T extends Exclude<BufferSource, ArrayBuffer>>(array: T): T;\n    randomUUID(): `${string}-${string}-${string}-${string}-${string}`;\n}\ndeclare var Crypto: {\n    prototype: Crypto;\n    new (): Crypto;\n};\ninterface CryptoKey {\n    readonly algorithm: KeyAlgorithm;\n    readonly extractable: boolean;\n    readonly type: KeyType;\n    readonly usages: KeyUsage[];\n}\ndeclare var CryptoKey: {\n    prototype: CryptoKey;\n    new (): CryptoKey;\n};\ninterface CustomElementRegistry {\n    define(name: string, constructor: CustomElementConstructor, options?: ElementDefinitionOptions): void;\n    get(name: string): CustomElementConstructor | undefined;\n    getName(constructor: CustomElementConstructor): string | null;\n    initialize(root: Node): void;\n    upgrade(root: Node): void;\n    whenDefined(name: string): Promise<CustomElementConstructor>;\n}\ndeclare var CustomElementRegistry: {\n    prototype: CustomElementRegistry;\n    new (): CustomElementRegistry;\n};\ninterface CustomEvent<T = any> extends Event {\n    readonly detail: T;\n    initCustomEvent(type: string, bubbles?: boolean, cancelable?: boolean, detail?: T): void;\n}\ndeclare var CustomEvent: {\n    prototype: CustomEvent;\n    new <T>(type: string, eventInitDict?: CustomEventInit<T>): CustomEvent<T>;\n};\ninterface CustomStateSet {\n    forEach(callbackfn: (value: string, key: string, parent: CustomStateSet) => void, thisArg?: any): void;\n}\ndeclare var CustomStateSet: {\n    prototype: CustomStateSet;\n    new (): CustomStateSet;\n};\ninterface DOMException extends Error {\n    readonly code: number;\n    readonly message: string;\n    readonly name: string;\n    readonly INDEX_SIZE_ERR: 1;\n    readonly DOMSTRING_SIZE_ERR: 2;\n    readonly HIERARCHY_REQUEST_ERR: 3;\n    readonly WRONG_DOCUMENT_ERR: 4;\n    readonly INVALID_CHARACTER_ERR: 5;\n    readonly NO_DATA_ALLOWED_ERR: 6;\n    readonly NO_MODIFICATION_ALLOWED_ERR: 7;\n    readonly NOT_FOUND_ERR: 8;\n    readonly NOT_SUPPORTED_ERR: 9;\n    readonly INUSE_ATTRIBUTE_ERR: 10;\n    readonly INVALID_STATE_ERR: 11;\n    readonly SYNTAX_ERR: 12;\n    readonly INVALID_MODIFICATION_ERR: 13;\n    readonly NAMESPACE_ERR: 14;\n    readonly INVALID_ACCESS_ERR: 15;\n    readonly VALIDATION_ERR: 16;\n    readonly TYPE_MISMATCH_ERR: 17;\n    readonly SECURITY_ERR: 18;\n    readonly NETWORK_ERR: 19;\n    readonly ABORT_ERR: 20;\n    readonly URL_MISMATCH_ERR: 21;\n    readonly QUOTA_EXCEEDED_ERR: 22;\n    readonly TIMEOUT_ERR: 23;\n    readonly INVALID_NODE_TYPE_ERR: 24;\n    readonly DATA_CLONE_ERR: 25;\n}\ndeclare var DOMException: {\n    prototype: DOMException;\n    new (message?: string, name?: string): DOMException;\n    readonly INDEX_SIZE_ERR: 1;\n    readonly DOMSTRING_SIZE_ERR: 2;\n    readonly HIERARCHY_REQUEST_ERR: 3;\n    readonly WRONG_DOCUMENT_ERR: 4;\n    readonly INVALID_CHARACTER_ERR: 5;\n    readonly NO_DATA_ALLOWED_ERR: 6;\n    readonly NO_MODIFICATION_ALLOWED_ERR: 7;\n    readonly NOT_FOUND_ERR: 8;\n    readonly NOT_SUPPORTED_ERR: 9;\n    readonly INUSE_ATTRIBUTE_ERR: 10;\n    readonly INVALID_STATE_ERR: 11;\n    readonly SYNTAX_ERR: 12;\n    readonly INVALID_MODIFICATION_ERR: 13;\n    readonly NAMESPACE_ERR: 14;\n    readonly INVALID_ACCESS_ERR: 15;\n    readonly VALIDATION_ERR: 16;\n    readonly TYPE_MISMATCH_ERR: 17;\n    readonly SECURITY_ERR: 18;\n    readonly NETWORK_ERR: 19;\n    readonly ABORT_ERR: 20;\n    readonly URL_MISMATCH_ERR: 21;\n    readonly QUOTA_EXCEEDED_ERR: 22;\n    readonly TIMEOUT_ERR: 23;\n    readonly INVALID_NODE_TYPE_ERR: 24;\n    readonly DATA_CLONE_ERR: 25;\n};\ninterface DOMImplementation {\n    createDocument(namespace: string | null, qualifiedName: string | null, doctype?: DocumentType | null): XMLDocument;\n    createDocumentType(name: string, publicId: string, systemId: string): DocumentType;\n    createHTMLDocument(title?: string): Document;\n    hasFeature(...args: any[]): true;\n}\ndeclare var DOMImplementation: {\n    prototype: DOMImplementation;\n    new (): DOMImplementation;\n};\ninterface DOMMatrix extends DOMMatrixReadOnly {\n    a: number;\n    b: number;\n    c: number;\n    d: number;\n    e: number;\n    f: number;\n    m11: number;\n    m12: number;\n    m13: number;\n    m14: number;\n    m21: number;\n    m22: number;\n    m23: number;\n    m24: number;\n    m31: number;\n    m32: number;\n    m33: number;\n    m34: number;\n    m41: number;\n    m42: number;\n    m43: number;\n    m44: number;\n    invertSelf(): DOMMatrix;\n    multiplySelf(other?: DOMMatrixInit): DOMMatrix;\n    preMultiplySelf(other?: DOMMatrixInit): DOMMatrix;\n    rotateAxisAngleSelf(x?: number, y?: number, z?: number, angle?: number): DOMMatrix;\n    rotateFromVectorSelf(x?: number, y?: number): DOMMatrix;\n    rotateSelf(rotX?: number, rotY?: number, rotZ?: number): DOMMatrix;\n    scale3dSelf(scale?: number, originX?: number, originY?: number, originZ?: number): DOMMatrix;\n    scaleSelf(scaleX?: number, scaleY?: number, scaleZ?: number, originX?: number, originY?: number, originZ?: number): DOMMatrix;\n    setMatrixValue(transformList: string): DOMMatrix;\n    skewXSelf(sx?: number): DOMMatrix;\n    skewYSelf(sy?: number): DOMMatrix;\n    translateSelf(tx?: number, ty?: number, tz?: number): DOMMatrix;\n}\ndeclare var DOMMatrix: {\n    prototype: DOMMatrix;\n    new (init?: string | number[]): DOMMatrix;\n    fromFloat32Array(array32: Float32Array<ArrayBuffer>): DOMMatrix;\n    fromFloat64Array(array64: Float64Array<ArrayBuffer>): DOMMatrix;\n    fromMatrix(other?: DOMMatrixInit): DOMMatrix;\n};\ntype SVGMatrix = DOMMatrix;\ndeclare var SVGMatrix: typeof DOMMatrix;\ntype WebKitCSSMatrix = DOMMatrix;\ndeclare var WebKitCSSMatrix: typeof DOMMatrix;\ninterface DOMMatrixReadOnly {\n    readonly a: number;\n    readonly b: number;\n    readonly c: number;\n    readonly d: number;\n    readonly e: number;\n    readonly f: number;\n    readonly is2D: boolean;\n    readonly isIdentity: boolean;\n    readonly m11: number;\n    readonly m12: number;\n    readonly m13: number;\n    readonly m14: number;\n    readonly m21: number;\n    readonly m22: number;\n    readonly m23: number;\n    readonly m24: number;\n    readonly m31: number;\n    readonly m32: number;\n    readonly m33: number;\n    readonly m34: number;\n    readonly m41: number;\n    readonly m42: number;\n    readonly m43: number;\n    readonly m44: number;\n    flipX(): DOMMatrix;\n    flipY(): DOMMatrix;\n    inverse(): DOMMatrix;\n    multiply(other?: DOMMatrixInit): DOMMatrix;\n    rotate(rotX?: number, rotY?: number, rotZ?: number): DOMMatrix;\n    rotateAxisAngle(x?: number, y?: number, z?: number, angle?: number): DOMMatrix;\n    rotateFromVector(x?: number, y?: number): DOMMatrix;\n    scale(scaleX?: number, scaleY?: number, scaleZ?: number, originX?: number, originY?: number, originZ?: number): DOMMatrix;\n    scale3d(scale?: number, originX?: number, originY?: number, originZ?: number): DOMMatrix;\n    scaleNonUniform(scaleX?: number, scaleY?: number): DOMMatrix;\n    skewX(sx?: number): DOMMatrix;\n    skewY(sy?: number): DOMMatrix;\n    toFloat32Array(): Float32Array<ArrayBuffer>;\n    toFloat64Array(): Float64Array<ArrayBuffer>;\n    toJSON(): any;\n    transformPoint(point?: DOMPointInit): DOMPoint;\n    translate(tx?: number, ty?: number, tz?: number): DOMMatrix;\n    toString(): string;\n}\ndeclare var DOMMatrixReadOnly: {\n    prototype: DOMMatrixReadOnly;\n    new (init?: string | number[]): DOMMatrixReadOnly;\n    fromFloat32Array(array32: Float32Array<ArrayBuffer>): DOMMatrixReadOnly;\n    fromFloat64Array(array64: Float64Array<ArrayBuffer>): DOMMatrixReadOnly;\n    fromMatrix(other?: DOMMatrixInit): DOMMatrixReadOnly;\n};\ninterface DOMParser {\n    parseFromString(string: string, type: DOMParserSupportedType): Document;\n}\ndeclare var DOMParser: {\n    prototype: DOMParser;\n    new (): DOMParser;\n};\ninterface DOMPoint extends DOMPointReadOnly {\n    w: number;\n    x: number;\n    y: number;\n    z: number;\n}\ndeclare var DOMPoint: {\n    prototype: DOMPoint;\n    new (x?: number, y?: number, z?: number, w?: number): DOMPoint;\n    fromPoint(other?: DOMPointInit): DOMPoint;\n};\ntype SVGPoint = DOMPoint;\ndeclare var SVGPoint: typeof DOMPoint;\ninterface DOMPointReadOnly {\n    readonly w: number;\n    readonly x: number;\n    readonly y: number;\n    readonly z: number;\n    matrixTransform(matrix?: DOMMatrixInit): DOMPoint;\n    toJSON(): any;\n}\ndeclare var DOMPointReadOnly: {\n    prototype: DOMPointReadOnly;\n    new (x?: number, y?: number, z?: number, w?: number): DOMPointReadOnly;\n    fromPoint(other?: DOMPointInit): DOMPointReadOnly;\n};\ninterface DOMQuad {\n    readonly p1: DOMPoint;\n    readonly p2: DOMPoint;\n    readonly p3: DOMPoint;\n    readonly p4: DOMPoint;\n    getBounds(): DOMRect;\n    toJSON(): any;\n}\ndeclare var DOMQuad: {\n    prototype: DOMQuad;\n    new (p1?: DOMPointInit, p2?: DOMPointInit, p3?: DOMPointInit, p4?: DOMPointInit): DOMQuad;\n    fromQuad(other?: DOMQuadInit): DOMQuad;\n    fromRect(other?: DOMRectInit): DOMQuad;\n};\ninterface DOMRect extends DOMRectReadOnly {\n    height: number;\n    width: number;\n    x: number;\n    y: number;\n}\ndeclare var DOMRect: {\n    prototype: DOMRect;\n    new (x?: number, y?: number, width?: number, height?: number): DOMRect;\n    fromRect(other?: DOMRectInit): DOMRect;\n};\ntype SVGRect = DOMRect;\ndeclare var SVGRect: typeof DOMRect;\ninterface DOMRectList {\n    readonly length: number;\n    item(index: number): DOMRect | null;\n    [index: number]: DOMRect;\n}\ndeclare var DOMRectList: {\n    prototype: DOMRectList;\n    new (): DOMRectList;\n};\ninterface DOMRectReadOnly {\n    readonly bottom: number;\n    readonly height: number;\n    readonly left: number;\n    readonly right: number;\n    readonly top: number;\n    readonly width: number;\n    readonly x: number;\n    readonly y: number;\n    toJSON(): any;\n}\ndeclare var DOMRectReadOnly: {\n    prototype: DOMRectReadOnly;\n    new (x?: number, y?: number, width?: number, height?: number): DOMRectReadOnly;\n    fromRect(other?: DOMRectInit): DOMRectReadOnly;\n};\ninterface DOMStringList {\n    readonly length: number;\n    contains(string: string): boolean;\n    item(index: number): string | null;\n    [index: number]: string;\n}\ndeclare var DOMStringList: {\n    prototype: DOMStringList;\n    new (): DOMStringList;\n};\ninterface DOMStringMap {\n    [name: string]: string | undefined;\n}\ndeclare var DOMStringMap: {\n    prototype: DOMStringMap;\n    new (): DOMStringMap;\n};\ninterface DOMTokenList {\n    readonly length: number;\n    value: string;\n    toString(): string;\n    add(...tokens: string[]): void;\n    contains(token: string): boolean;\n    item(index: number): string | null;\n    remove(...tokens: string[]): void;\n    replace(token: string, newToken: string): boolean;\n    supports(token: string): boolean;\n    toggle(token: string, force?: boolean): boolean;\n    forEach(callbackfn: (value: string, key: number, parent: DOMTokenList) => void, thisArg?: any): void;\n    [index: number]: string;\n}\ndeclare var DOMTokenList: {\n    prototype: DOMTokenList;\n    new (): DOMTokenList;\n};\ninterface DataTransfer {\n    dropEffect: \"none\" | \"copy\" | \"link\" | \"move\";\n    effectAllowed: \"none\" | \"copy\" | \"copyLink\" | \"copyMove\" | \"link\" | \"linkMove\" | \"move\" | \"all\" | \"uninitialized\";\n    readonly files: FileList;\n    readonly items: DataTransferItemList;\n    readonly types: ReadonlyArray<string>;\n    clearData(format?: string): void;\n    getData(format: string): string;\n    setData(format: string, data: string): void;\n    setDragImage(image: Element, x: number, y: number): void;\n}\ndeclare var DataTransfer: {\n    prototype: DataTransfer;\n    new (): DataTransfer;\n};\ninterface DataTransferItem {\n    readonly kind: string;\n    readonly type: string;\n    getAsFile(): File | null;\n    getAsString(callback: FunctionStringCallback | null): void;\n    webkitGetAsEntry(): FileSystemEntry | null;\n}\ndeclare var DataTransferItem: {\n    prototype: DataTransferItem;\n    new (): DataTransferItem;\n};\ninterface DataTransferItemList {\n    readonly length: number;\n    add(data: string, type: string): DataTransferItem | null;\n    add(data: File): DataTransferItem | null;\n    clear(): void;\n    remove(index: number): void;\n    [index: number]: DataTransferItem;\n}\ndeclare var DataTransferItemList: {\n    prototype: DataTransferItemList;\n    new (): DataTransferItemList;\n};\ninterface DecompressionStream extends GenericTransformStream {\n    readonly readable: ReadableStream<Uint8Array<ArrayBuffer>>;\n    readonly writable: WritableStream<BufferSource>;\n}\ndeclare var DecompressionStream: {\n    prototype: DecompressionStream;\n    new (format: CompressionFormat): DecompressionStream;\n};\ninterface DelayNode extends AudioNode {\n    readonly delayTime: AudioParam;\n}\ndeclare var DelayNode: {\n    prototype: DelayNode;\n    new (context: BaseAudioContext, options?: DelayOptions): DelayNode;\n};\ninterface DeviceMotionEvent extends Event {\n    readonly acceleration: DeviceMotionEventAcceleration | null;\n    readonly accelerationIncludingGravity: DeviceMotionEventAcceleration | null;\n    readonly interval: number;\n    readonly rotationRate: DeviceMotionEventRotationRate | null;\n}\ndeclare var DeviceMotionEvent: {\n    prototype: DeviceMotionEvent;\n    new (type: string, eventInitDict?: DeviceMotionEventInit): DeviceMotionEvent;\n};\ninterface DeviceMotionEventAcceleration {\n    readonly x: number | null;\n    readonly y: number | null;\n    readonly z: number | null;\n}\ninterface DeviceMotionEventRotationRate {\n    readonly alpha: number | null;\n    readonly beta: number | null;\n    readonly gamma: number | null;\n}\ninterface DeviceOrientationEvent extends Event {\n    readonly absolute: boolean;\n    readonly alpha: number | null;\n    readonly beta: number | null;\n    readonly gamma: number | null;\n}\ndeclare var DeviceOrientationEvent: {\n    prototype: DeviceOrientationEvent;\n    new (type: string, eventInitDict?: DeviceOrientationEventInit): DeviceOrientationEvent;\n};\ninterface DigitalCredential extends Credential {\n    readonly data: any;\n    readonly protocol: string;\n    toJSON(): any;\n}\ndeclare var DigitalCredential: {\n    prototype: DigitalCredential;\n    new (): DigitalCredential;\n    userAgentAllowsProtocol(protocol: string): boolean;\n};\ninterface DocumentEventMap extends GlobalEventHandlersEventMap {\n    \"DOMContentLoaded\": Event;\n    \"fullscreenchange\": Event;\n    \"fullscreenerror\": Event;\n    \"pointerlockchange\": Event;\n    \"pointerlockerror\": Event;\n    \"readystatechange\": Event;\n    \"visibilitychange\": Event;\n}\ninterface Document extends Node, DocumentOrShadowRoot, FontFaceSource, GlobalEventHandlers, NonElementParentNode, ParentNode, XPathEvaluatorBase {\n    readonly URL: string;\n    readonly activeViewTransition: ViewTransition | null;\n    alinkColor: string;\n    readonly all: HTMLAllCollection;\n    readonly anchors: HTMLCollectionOf<HTMLAnchorElement>;\n    readonly applets: HTMLCollection;\n    bgColor: string;\n    body: HTMLElement;\n    readonly characterSet: string;\n    readonly charset: string;\n    readonly compatMode: string;\n    readonly contentType: string;\n    cookie: string;\n    readonly currentScript: HTMLOrSVGScriptElement | null;\n    readonly defaultView: (WindowProxy & typeof globalThis) | null;\n    designMode: string;\n    dir: string;\n    readonly doctype: DocumentType | null;\n    readonly documentElement: HTMLElement;\n    readonly documentURI: string;\n    domain: string;\n    readonly embeds: HTMLCollectionOf<HTMLEmbedElement>;\n    fgColor: string;\n    readonly forms: HTMLCollectionOf<HTMLFormElement>;\n    readonly fragmentDirective: FragmentDirective;\n    readonly fullscreen: boolean;\n    readonly fullscreenEnabled: boolean;\n    readonly head: HTMLHeadElement;\n    readonly hidden: boolean;\n    readonly images: HTMLCollectionOf<HTMLImageElement>;\n    readonly implementation: DOMImplementation;\n    readonly inputEncoding: string;\n    readonly lastModified: string;\n    linkColor: string;\n    readonly links: HTMLCollectionOf<HTMLAnchorElement | HTMLAreaElement>;\n    get location(): Location;\n    set location(href: string);\n    onfullscreenchange: ((this: Document, ev: Event) => any) | null;\n    onfullscreenerror: ((this: Document, ev: Event) => any) | null;\n    onpointerlockchange: ((this: Document, ev: Event) => any) | null;\n    onpointerlockerror: ((this: Document, ev: Event) => any) | null;\n    onreadystatechange: ((this: Document, ev: Event) => any) | null;\n    onvisibilitychange: ((this: Document, ev: Event) => any) | null;\n    readonly ownerDocument: null;\n    readonly pictureInPictureEnabled: boolean;\n    readonly plugins: HTMLCollectionOf<HTMLEmbedElement>;\n    readonly readyState: DocumentReadyState;\n    readonly referrer: string;\n    readonly rootElement: SVGSVGElement | null;\n    readonly scripts: HTMLCollectionOf<HTMLScriptElement>;\n    readonly scrollingElement: Element | null;\n    readonly timeline: DocumentTimeline;\n    title: string;\n    readonly visibilityState: DocumentVisibilityState;\n    vlinkColor: string;\n    adoptNode<T extends Node>(node: T): T;\n    captureEvents(): void;\n    caretPositionFromPoint(x: number, y: number, options?: CaretPositionFromPointOptions): CaretPosition | null;\n    caretRangeFromPoint(x: number, y: number): Range | null;\n    clear(): void;\n    close(): void;\n    createAttribute(localName: string): Attr;\n    createAttributeNS(namespace: string | null, qualifiedName: string): Attr;\n    createCDATASection(data: string): CDATASection;\n    createComment(data: string): Comment;\n    createDocumentFragment(): DocumentFragment;\n    createElement<K extends keyof HTMLElementTagNameMap>(tagName: K, options?: ElementCreationOptions): HTMLElementTagNameMap[K];\n    createElement<K extends keyof HTMLElementDeprecatedTagNameMap>(tagName: K, options?: ElementCreationOptions): HTMLElementDeprecatedTagNameMap[K];\n    createElement(tagName: string, options?: ElementCreationOptions): HTMLElement;\n    createElementNS(namespaceURI: \"http://www.w3.org/1999/xhtml\", qualifiedName: string): HTMLElement;\n    createElementNS<K extends keyof SVGElementTagNameMap>(namespaceURI: \"http://www.w3.org/2000/svg\", qualifiedName: K): SVGElementTagNameMap[K];\n    createElementNS(namespaceURI: \"http://www.w3.org/2000/svg\", qualifiedName: string): SVGElement;\n    createElementNS<K extends keyof MathMLElementTagNameMap>(namespaceURI: \"http://www.w3.org/1998/Math/MathML\", qualifiedName: K): MathMLElementTagNameMap[K];\n    createElementNS(namespaceURI: \"http://www.w3.org/1998/Math/MathML\", qualifiedName: string): MathMLElement;\n    createElementNS(namespaceURI: string | null, qualifiedName: string, options?: ElementCreationOptions): Element;\n    createElementNS(namespace: string | null, qualifiedName: string, options?: string | ElementCreationOptions): Element;\n    createEvent(eventInterface: \"AnimationEvent\"): AnimationEvent;\n    createEvent(eventInterface: \"AnimationPlaybackEvent\"): AnimationPlaybackEvent;\n    createEvent(eventInterface: \"AudioProcessingEvent\"): AudioProcessingEvent;\n    createEvent(eventInterface: \"BeforeUnloadEvent\"): BeforeUnloadEvent;\n    createEvent(eventInterface: \"BlobEvent\"): BlobEvent;\n    createEvent(eventInterface: \"ClipboardEvent\"): ClipboardEvent;\n    createEvent(eventInterface: \"CloseEvent\"): CloseEvent;\n    createEvent(eventInterface: \"CommandEvent\"): CommandEvent;\n    createEvent(eventInterface: \"CompositionEvent\"): CompositionEvent;\n    createEvent(eventInterface: \"ContentVisibilityAutoStateChangeEvent\"): ContentVisibilityAutoStateChangeEvent;\n    createEvent(eventInterface: \"CookieChangeEvent\"): CookieChangeEvent;\n    createEvent(eventInterface: \"CustomEvent\"): CustomEvent;\n    createEvent(eventInterface: \"DeviceMotionEvent\"): DeviceMotionEvent;\n    createEvent(eventInterface: \"DeviceOrientationEvent\"): DeviceOrientationEvent;\n    createEvent(eventInterface: \"DragEvent\"): DragEvent;\n    createEvent(eventInterface: \"ErrorEvent\"): ErrorEvent;\n    createEvent(eventInterface: \"Event\"): Event;\n    createEvent(eventInterface: \"Events\"): Event;\n    createEvent(eventInterface: \"FocusEvent\"): FocusEvent;\n    createEvent(eventInterface: \"FontFaceSetLoadEvent\"): FontFaceSetLoadEvent;\n    createEvent(eventInterface: \"FormDataEvent\"): FormDataEvent;\n    createEvent(eventInterface: \"GPUUncapturedErrorEvent\"): GPUUncapturedErrorEvent;\n    createEvent(eventInterface: \"GamepadEvent\"): GamepadEvent;\n    createEvent(eventInterface: \"HashChangeEvent\"): HashChangeEvent;\n    createEvent(eventInterface: \"IDBVersionChangeEvent\"): IDBVersionChangeEvent;\n    createEvent(eventInterface: \"InputEvent\"): InputEvent;\n    createEvent(eventInterface: \"KeyboardEvent\"): KeyboardEvent;\n    createEvent(eventInterface: \"MIDIConnectionEvent\"): MIDIConnectionEvent;\n    createEvent(eventInterface: \"MIDIMessageEvent\"): MIDIMessageEvent;\n    createEvent(eventInterface: \"MediaEncryptedEvent\"): MediaEncryptedEvent;\n    createEvent(eventInterface: \"MediaKeyMessageEvent\"): MediaKeyMessageEvent;\n    createEvent(eventInterface: \"MediaQueryListEvent\"): MediaQueryListEvent;\n    createEvent(eventInterface: \"MediaStreamTrackEvent\"): MediaStreamTrackEvent;\n    createEvent(eventInterface: \"MessageEvent\"): MessageEvent;\n    createEvent(eventInterface: \"MouseEvent\"): MouseEvent;\n    createEvent(eventInterface: \"MouseEvents\"): MouseEvent;\n    createEvent(eventInterface: \"NavigateEvent\"): NavigateEvent;\n    createEvent(eventInterface: \"NavigationCurrentEntryChangeEvent\"): NavigationCurrentEntryChangeEvent;\n    createEvent(eventInterface: \"OfflineAudioCompletionEvent\"): OfflineAudioCompletionEvent;\n    createEvent(eventInterface: \"PageRevealEvent\"): PageRevealEvent;\n    createEvent(eventInterface: \"PageSwapEvent\"): PageSwapEvent;\n    createEvent(eventInterface: \"PageTransitionEvent\"): PageTransitionEvent;\n    createEvent(eventInterface: \"PaymentMethodChangeEvent\"): PaymentMethodChangeEvent;\n    createEvent(eventInterface: \"PaymentRequestUpdateEvent\"): PaymentRequestUpdateEvent;\n    createEvent(eventInterface: \"PictureInPictureEvent\"): PictureInPictureEvent;\n    createEvent(eventInterface: \"PointerEvent\"): PointerEvent;\n    createEvent(eventInterface: \"PopStateEvent\"): PopStateEvent;\n    createEvent(eventInterface: \"ProgressEvent\"): ProgressEvent;\n    createEvent(eventInterface: \"PromiseRejectionEvent\"): PromiseRejectionEvent;\n    createEvent(eventInterface: \"RTCDTMFToneChangeEvent\"): RTCDTMFToneChangeEvent;\n    createEvent(eventInterface: \"RTCDataChannelEvent\"): RTCDataChannelEvent;\n    createEvent(eventInterface: \"RTCErrorEvent\"): RTCErrorEvent;\n    createEvent(eventInterface: \"RTCPeerConnectionIceErrorEvent\"): RTCPeerConnectionIceErrorEvent;\n    createEvent(eventInterface: \"RTCPeerConnectionIceEvent\"): RTCPeerConnectionIceEvent;\n    createEvent(eventInterface: \"RTCTrackEvent\"): RTCTrackEvent;\n    createEvent(eventInterface: \"SecurityPolicyViolationEvent\"): SecurityPolicyViolationEvent;\n    createEvent(eventInterface: \"SpeechRecognitionErrorEvent\"): SpeechRecognitionErrorEvent;\n    createEvent(eventInterface: \"SpeechRecognitionEvent\"): SpeechRecognitionEvent;\n    createEvent(eventInterface: \"SpeechSynthesisErrorEvent\"): SpeechSynthesisErrorEvent;\n    createEvent(eventInterface: \"SpeechSynthesisEvent\"): SpeechSynthesisEvent;\n    createEvent(eventInterface: \"StorageEvent\"): StorageEvent;\n    createEvent(eventInterface: \"SubmitEvent\"): SubmitEvent;\n    createEvent(eventInterface: \"TaskPriorityChangeEvent\"): TaskPriorityChangeEvent;\n    createEvent(eventInterface: \"TextEvent\"): TextEvent;\n    createEvent(eventInterface: \"ToggleEvent\"): ToggleEvent;\n    createEvent(eventInterface: \"TouchEvent\"): TouchEvent;\n    createEvent(eventInterface: \"TrackEvent\"): TrackEvent;\n    createEvent(eventInterface: \"TransitionEvent\"): TransitionEvent;\n    createEvent(eventInterface: \"UIEvent\"): UIEvent;\n    createEvent(eventInterface: \"UIEvents\"): UIEvent;\n    createEvent(eventInterface: \"WebGLContextEvent\"): WebGLContextEvent;\n    createEvent(eventInterface: \"WheelEvent\"): WheelEvent;\n    createEvent(eventInterface: string): Event;\n    createNodeIterator(root: Node, whatToShow?: number, filter?: NodeFilter | null): NodeIterator;\n    createProcessingInstruction(target: string, data: string): ProcessingInstruction;\n    createRange(): Range;\n    createTextNode(data: string): Text;\n    createTreeWalker(root: Node, whatToShow?: number, filter?: NodeFilter | null): TreeWalker;\n    execCommand(commandId: string, showUI?: boolean, value?: string): boolean;\n    exitFullscreen(): Promise<void>;\n    exitPictureInPicture(): Promise<void>;\n    exitPointerLock(): void;\n    getElementById(elementId: string): HTMLElement | null;\n    getElementsByClassName(classNames: string): HTMLCollectionOf<Element>;\n    getElementsByName(elementName: string): NodeListOf<HTMLElement>;\n    getElementsByTagName<K extends keyof HTMLElementTagNameMap>(qualifiedName: K): HTMLCollectionOf<HTMLElementTagNameMap[K]>;\n    getElementsByTagName<K extends keyof SVGElementTagNameMap>(qualifiedName: K): HTMLCollectionOf<SVGElementTagNameMap[K]>;\n    getElementsByTagName<K extends keyof MathMLElementTagNameMap>(qualifiedName: K): HTMLCollectionOf<MathMLElementTagNameMap[K]>;\n    getElementsByTagName<K extends keyof HTMLElementDeprecatedTagNameMap>(qualifiedName: K): HTMLCollectionOf<HTMLElementDeprecatedTagNameMap[K]>;\n    getElementsByTagName(qualifiedName: string): HTMLCollectionOf<Element>;\n    getElementsByTagNameNS(namespaceURI: \"http://www.w3.org/1999/xhtml\", localName: string): HTMLCollectionOf<HTMLElement>;\n    getElementsByTagNameNS(namespaceURI: \"http://www.w3.org/2000/svg\", localName: string): HTMLCollectionOf<SVGElement>;\n    getElementsByTagNameNS(namespaceURI: \"http://www.w3.org/1998/Math/MathML\", localName: string): HTMLCollectionOf<MathMLElement>;\n    getElementsByTagNameNS(namespace: string | null, localName: string): HTMLCollectionOf<Element>;\n    getSelection(): Selection | null;\n    hasFocus(): boolean;\n    hasStorageAccess(): Promise<boolean>;\n    importNode<T extends Node>(node: T, options?: boolean | ImportNodeOptions): T;\n    open(unused1?: string, unused2?: string): Document;\n    open(url: string | URL, name: string, features: string): WindowProxy | null;\n    queryCommandEnabled(commandId: string): boolean;\n    queryCommandIndeterm(commandId: string): boolean;\n    queryCommandState(commandId: string): boolean;\n    queryCommandSupported(commandId: string): boolean;\n    queryCommandValue(commandId: string): string;\n    releaseEvents(): void;\n    requestStorageAccess(): Promise<void>;\n    startViewTransition(callbackOptions?: ViewTransitionUpdateCallback | StartViewTransitionOptions): ViewTransition;\n    write(...text: string[]): void;\n    writeln(...text: string[]): void;\n    get textContent(): null;\n    addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var Document: {\n    prototype: Document;\n    new (): Document;\n    parseHTMLUnsafe(html: string): Document;\n};\ninterface DocumentFragment extends Node, NonElementParentNode, ParentNode {\n    readonly ownerDocument: Document;\n    getElementById(elementId: string): HTMLElement | null;\n    get textContent(): string;\n    set textContent(value: string | null);\n}\ndeclare var DocumentFragment: {\n    prototype: DocumentFragment;\n    new (): DocumentFragment;\n};\ninterface DocumentOrShadowRoot {\n    readonly activeElement: Element | null;\n    adoptedStyleSheets: CSSStyleSheet[];\n    readonly customElementRegistry: CustomElementRegistry | null;\n    readonly fullscreenElement: Element | null;\n    readonly pictureInPictureElement: Element | null;\n    readonly pointerLockElement: Element | null;\n    readonly styleSheets: StyleSheetList;\n    elementFromPoint(x: number, y: number): Element | null;\n    elementsFromPoint(x: number, y: number): Element[];\n    getAnimations(): Animation[];\n}\ninterface DocumentTimeline extends AnimationTimeline {\n}\ndeclare var DocumentTimeline: {\n    prototype: DocumentTimeline;\n    new (options?: DocumentTimelineOptions): DocumentTimeline;\n};\ninterface DocumentType extends Node, ChildNode {\n    readonly name: string;\n    readonly ownerDocument: Document;\n    readonly publicId: string;\n    readonly systemId: string;\n    get textContent(): null;\n}\ndeclare var DocumentType: {\n    prototype: DocumentType;\n    new (): DocumentType;\n};\ninterface DragEvent extends MouseEvent {\n    readonly dataTransfer: DataTransfer | null;\n}\ndeclare var DragEvent: {\n    prototype: DragEvent;\n    new (type: string, eventInitDict?: DragEventInit): DragEvent;\n};\ninterface DynamicsCompressorNode extends AudioNode {\n    readonly attack: AudioParam;\n    readonly knee: AudioParam;\n    readonly ratio: AudioParam;\n    readonly reduction: number;\n    readonly release: AudioParam;\n    readonly threshold: AudioParam;\n}\ndeclare var DynamicsCompressorNode: {\n    prototype: DynamicsCompressorNode;\n    new (context: BaseAudioContext, options?: DynamicsCompressorOptions): DynamicsCompressorNode;\n};\ninterface EXT_blend_minmax {\n    readonly MIN_EXT: 32775;\n    readonly MAX_EXT: 32776;\n}\ninterface EXT_color_buffer_float {\n}\ninterface EXT_color_buffer_half_float {\n    readonly RGBA16F_EXT: 34842;\n    readonly RGB16F_EXT: 34843;\n    readonly FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT: 33297;\n    readonly UNSIGNED_NORMALIZED_EXT: 35863;\n}\ninterface EXT_float_blend {\n}\ninterface EXT_frag_depth {\n}\ninterface EXT_sRGB {\n    readonly SRGB_EXT: 35904;\n    readonly SRGB_ALPHA_EXT: 35906;\n    readonly SRGB8_ALPHA8_EXT: 35907;\n    readonly FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT: 33296;\n}\ninterface EXT_shader_texture_lod {\n}\ninterface EXT_texture_compression_bptc {\n    readonly COMPRESSED_RGBA_BPTC_UNORM_EXT: 36492;\n    readonly COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT: 36493;\n    readonly COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT: 36494;\n    readonly COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT: 36495;\n}\ninterface EXT_texture_compression_rgtc {\n    readonly COMPRESSED_RED_RGTC1_EXT: 36283;\n    readonly COMPRESSED_SIGNED_RED_RGTC1_EXT: 36284;\n    readonly COMPRESSED_RED_GREEN_RGTC2_EXT: 36285;\n    readonly COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT: 36286;\n}\ninterface EXT_texture_filter_anisotropic {\n    readonly TEXTURE_MAX_ANISOTROPY_EXT: 34046;\n    readonly MAX_TEXTURE_MAX_ANISOTROPY_EXT: 34047;\n}\ninterface EXT_texture_norm16 {\n    readonly R16_EXT: 33322;\n    readonly RG16_EXT: 33324;\n    readonly RGB16_EXT: 32852;\n    readonly RGBA16_EXT: 32859;\n    readonly R16_SNORM_EXT: 36760;\n    readonly RG16_SNORM_EXT: 36761;\n    readonly RGB16_SNORM_EXT: 36762;\n    readonly RGBA16_SNORM_EXT: 36763;\n}\ninterface ElementEventMap {\n    \"fullscreenchange\": Event;\n    \"fullscreenerror\": Event;\n}\ninterface Element extends Node, ARIAMixin, Animatable, ChildNode, NonDocumentTypeChildNode, ParentNode, Slottable {\n    readonly attributes: NamedNodeMap;\n    get classList(): DOMTokenList;\n    set classList(value: string);\n    className: string;\n    readonly clientHeight: number;\n    readonly clientLeft: number;\n    readonly clientTop: number;\n    readonly clientWidth: number;\n    readonly currentCSSZoom: number;\n    readonly customElementRegistry: CustomElementRegistry | null;\n    id: string;\n    innerHTML: string;\n    readonly localName: string;\n    readonly namespaceURI: string | null;\n    onfullscreenchange: ((this: Element, ev: Event) => any) | null;\n    onfullscreenerror: ((this: Element, ev: Event) => any) | null;\n    outerHTML: string;\n    readonly ownerDocument: Document;\n    get part(): DOMTokenList;\n    set part(value: string);\n    readonly prefix: string | null;\n    readonly scrollHeight: number;\n    scrollLeft: number;\n    scrollTop: number;\n    readonly scrollWidth: number;\n    readonly shadowRoot: ShadowRoot | null;\n    slot: string;\n    readonly tagName: string;\n    attachShadow(init: ShadowRootInit): ShadowRoot;\n    checkVisibility(options?: CheckVisibilityOptions): boolean;\n    closest<K extends keyof HTMLElementTagNameMap>(selector: K): HTMLElementTagNameMap[K] | null;\n    closest<K extends keyof SVGElementTagNameMap>(selector: K): SVGElementTagNameMap[K] | null;\n    closest<K extends keyof MathMLElementTagNameMap>(selector: K): MathMLElementTagNameMap[K] | null;\n    closest<E extends Element = Element>(selectors: string): E | null;\n    computedStyleMap(): StylePropertyMapReadOnly;\n    getAttribute(qualifiedName: string): string | null;\n    getAttributeNS(namespace: string | null, localName: string): string | null;\n    getAttributeNames(): string[];\n    getAttributeNode(qualifiedName: string): Attr | null;\n    getAttributeNodeNS(namespace: string | null, localName: string): Attr | null;\n    getBoundingClientRect(): DOMRect;\n    getClientRects(): DOMRectList;\n    getElementsByClassName(classNames: string): HTMLCollectionOf<Element>;\n    getElementsByTagName<K extends keyof HTMLElementTagNameMap>(qualifiedName: K): HTMLCollectionOf<HTMLElementTagNameMap[K]>;\n    getElementsByTagName<K extends keyof SVGElementTagNameMap>(qualifiedName: K): HTMLCollectionOf<SVGElementTagNameMap[K]>;\n    getElementsByTagName<K extends keyof MathMLElementTagNameMap>(qualifiedName: K): HTMLCollectionOf<MathMLElementTagNameMap[K]>;\n    getElementsByTagName<K extends keyof HTMLElementDeprecatedTagNameMap>(qualifiedName: K): HTMLCollectionOf<HTMLElementDeprecatedTagNameMap[K]>;\n    getElementsByTagName(qualifiedName: string): HTMLCollectionOf<Element>;\n    getElementsByTagNameNS(namespaceURI: \"http://www.w3.org/1999/xhtml\", localName: string): HTMLCollectionOf<HTMLElement>;\n    getElementsByTagNameNS(namespaceURI: \"http://www.w3.org/2000/svg\", localName: string): HTMLCollectionOf<SVGElement>;\n    getElementsByTagNameNS(namespaceURI: \"http://www.w3.org/1998/Math/MathML\", localName: string): HTMLCollectionOf<MathMLElement>;\n    getElementsByTagNameNS(namespace: string | null, localName: string): HTMLCollectionOf<Element>;\n    getHTML(options?: GetHTMLOptions): string;\n    hasAttribute(qualifiedName: string): boolean;\n    hasAttributeNS(namespace: string | null, localName: string): boolean;\n    hasAttributes(): boolean;\n    hasPointerCapture(pointerId: number): boolean;\n    insertAdjacentElement(where: InsertPosition, element: Element): Element | null;\n    insertAdjacentHTML(position: InsertPosition, string: string): void;\n    insertAdjacentText(where: InsertPosition, data: string): void;\n    matches<K extends keyof HTMLElementTagNameMap>(selectors: K): this is HTMLElementTagNameMap[K];\n    matches<K extends keyof SVGElementTagNameMap>(selectors: K): this is SVGElementTagNameMap[K];\n    matches<K extends keyof MathMLElementTagNameMap>(selectors: K): this is MathMLElementTagNameMap[K];\n    matches(selectors: string): boolean;\n    releasePointerCapture(pointerId: number): void;\n    removeAttribute(qualifiedName: string): void;\n    removeAttributeNS(namespace: string | null, localName: string): void;\n    removeAttributeNode(attr: Attr): Attr;\n    requestFullscreen(options?: FullscreenOptions): Promise<void>;\n    requestPointerLock(options?: PointerLockOptions): Promise<void>;\n    scroll(options?: ScrollToOptions): void;\n    scroll(x: number, y: number): void;\n    scrollBy(options?: ScrollToOptions): void;\n    scrollBy(x: number, y: number): void;\n    scrollIntoView(arg?: boolean | ScrollIntoViewOptions): void;\n    scrollTo(options?: ScrollToOptions): void;\n    scrollTo(x: number, y: number): void;\n    setAttribute(qualifiedName: string, value: string): void;\n    setAttributeNS(namespace: string | null, qualifiedName: string, value: string): void;\n    setAttributeNode(attr: Attr): Attr | null;\n    setAttributeNodeNS(attr: Attr): Attr | null;\n    setHTMLUnsafe(html: string): void;\n    setPointerCapture(pointerId: number): void;\n    toggleAttribute(qualifiedName: string, force?: boolean): boolean;\n    webkitMatchesSelector(selectors: string): boolean;\n    get textContent(): string;\n    set textContent(value: string | null);\n    addEventListener<K extends keyof ElementEventMap>(type: K, listener: (this: Element, ev: ElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof ElementEventMap>(type: K, listener: (this: Element, ev: ElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var Element: {\n    prototype: Element;\n    new (): Element;\n};\ninterface ElementCSSInlineStyle {\n    readonly attributeStyleMap: StylePropertyMap;\n    get style(): CSSStyleDeclaration;\n    set style(cssText: string);\n}\ninterface ElementContentEditable {\n    contentEditable: string;\n    enterKeyHint: string;\n    inputMode: string;\n    readonly isContentEditable: boolean;\n}\ninterface ElementInternals extends ARIAMixin {\n    readonly form: HTMLFormElement | null;\n    readonly labels: NodeList;\n    readonly shadowRoot: ShadowRoot | null;\n    readonly states: CustomStateSet;\n    readonly validationMessage: string;\n    readonly validity: ValidityState;\n    readonly willValidate: boolean;\n    checkValidity(): boolean;\n    reportValidity(): boolean;\n    setFormValue(value: File | string | FormData | null, state?: File | string | FormData | null): void;\n    setValidity(flags?: ValidityStateFlags, message?: string, anchor?: HTMLElement): void;\n}\ndeclare var ElementInternals: {\n    prototype: ElementInternals;\n    new (): ElementInternals;\n};\ninterface EncodedAudioChunk {\n    readonly byteLength: number;\n    readonly duration: number | null;\n    readonly timestamp: number;\n    readonly type: EncodedAudioChunkType;\n    copyTo(destination: AllowSharedBufferSource): void;\n}\ndeclare var EncodedAudioChunk: {\n    prototype: EncodedAudioChunk;\n    new (init: EncodedAudioChunkInit): EncodedAudioChunk;\n};\ninterface EncodedVideoChunk {\n    readonly byteLength: number;\n    readonly duration: number | null;\n    readonly timestamp: number;\n    readonly type: EncodedVideoChunkType;\n    copyTo(destination: AllowSharedBufferSource): void;\n}\ndeclare var EncodedVideoChunk: {\n    prototype: EncodedVideoChunk;\n    new (init: EncodedVideoChunkInit): EncodedVideoChunk;\n};\ninterface ErrorEvent extends Event {\n    readonly colno: number;\n    readonly error: any;\n    readonly filename: string;\n    readonly lineno: number;\n    readonly message: string;\n}\ndeclare var ErrorEvent: {\n    prototype: ErrorEvent;\n    new (type: string, eventInitDict?: ErrorEventInit): ErrorEvent;\n};\ninterface Event {\n    readonly bubbles: boolean;\n    cancelBubble: boolean;\n    readonly cancelable: boolean;\n    readonly composed: boolean;\n    readonly currentTarget: EventTarget | null;\n    readonly defaultPrevented: boolean;\n    readonly eventPhase: number;\n    readonly isTrusted: boolean;\n    returnValue: boolean;\n    readonly srcElement: EventTarget | null;\n    readonly target: EventTarget | null;\n    readonly timeStamp: DOMHighResTimeStamp;\n    readonly type: string;\n    composedPath(): EventTarget[];\n    initEvent(type: string, bubbles?: boolean, cancelable?: boolean): void;\n    preventDefault(): void;\n    stopImmediatePropagation(): void;\n    stopPropagation(): void;\n    readonly NONE: 0;\n    readonly CAPTURING_PHASE: 1;\n    readonly AT_TARGET: 2;\n    readonly BUBBLING_PHASE: 3;\n}\ndeclare var Event: {\n    prototype: Event;\n    new (type: string, eventInitDict?: EventInit): Event;\n    readonly NONE: 0;\n    readonly CAPTURING_PHASE: 1;\n    readonly AT_TARGET: 2;\n    readonly BUBBLING_PHASE: 3;\n};\ninterface EventCounts {\n    forEach(callbackfn: (value: number, key: string, parent: EventCounts) => void, thisArg?: any): void;\n}\ndeclare var EventCounts: {\n    prototype: EventCounts;\n    new (): EventCounts;\n};\ninterface EventListener {\n    (evt: Event): void;\n}\ninterface EventListenerObject {\n    handleEvent(object: Event): void;\n}\ninterface EventSourceEventMap {\n    \"error\": Event;\n    \"message\": MessageEvent;\n    \"open\": Event;\n}\ninterface EventSource extends EventTarget {\n    onerror: ((this: EventSource, ev: Event) => any) | null;\n    onmessage: ((this: EventSource, ev: MessageEvent) => any) | null;\n    onopen: ((this: EventSource, ev: Event) => any) | null;\n    readonly readyState: number;\n    readonly url: string;\n    readonly withCredentials: boolean;\n    close(): void;\n    readonly CONNECTING: 0;\n    readonly OPEN: 1;\n    readonly CLOSED: 2;\n    addEventListener<K extends keyof EventSourceEventMap>(type: K, listener: (this: EventSource, ev: EventSourceEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: (this: EventSource, event: MessageEvent) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof EventSourceEventMap>(type: K, listener: (this: EventSource, ev: EventSourceEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: (this: EventSource, event: MessageEvent) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var EventSource: {\n    prototype: EventSource;\n    new (url: string | URL, eventSourceInitDict?: EventSourceInit): EventSource;\n    readonly CONNECTING: 0;\n    readonly OPEN: 1;\n    readonly CLOSED: 2;\n};\ninterface EventTarget {\n    addEventListener(type: string, callback: EventListenerOrEventListenerObject | null, options?: AddEventListenerOptions | boolean): void;\n    dispatchEvent(event: Event): boolean;\n    removeEventListener(type: string, callback: EventListenerOrEventListenerObject | null, options?: EventListenerOptions | boolean): void;\n}\ndeclare var EventTarget: {\n    prototype: EventTarget;\n    new (): EventTarget;\n};\ninterface External {\n    AddSearchProvider(): void;\n    IsSearchProviderInstalled(): void;\n}\ndeclare var External: {\n    prototype: External;\n    new (): External;\n};\ninterface File extends Blob {\n    readonly lastModified: number;\n    readonly name: string;\n    readonly webkitRelativePath: string;\n}\ndeclare var File: {\n    prototype: File;\n    new (fileBits: BlobPart[], fileName: string, options?: FilePropertyBag): File;\n};\ninterface FileList {\n    readonly length: number;\n    item(index: number): File | null;\n    [index: number]: File;\n}\ndeclare var FileList: {\n    prototype: FileList;\n    new (): FileList;\n};\ninterface FileReaderEventMap {\n    \"abort\": ProgressEvent<FileReader>;\n    \"error\": ProgressEvent<FileReader>;\n    \"load\": ProgressEvent<FileReader>;\n    \"loadend\": ProgressEvent<FileReader>;\n    \"loadstart\": ProgressEvent<FileReader>;\n    \"progress\": ProgressEvent<FileReader>;\n}\ninterface FileReader extends EventTarget {\n    readonly error: DOMException | null;\n    onabort: ((this: FileReader, ev: ProgressEvent<FileReader>) => any) | null;\n    onerror: ((this: FileReader, ev: ProgressEvent<FileReader>) => any) | null;\n    onload: ((this: FileReader, ev: ProgressEvent<FileReader>) => any) | null;\n    onloadend: ((this: FileReader, ev: ProgressEvent<FileReader>) => any) | null;\n    onloadstart: ((this: FileReader, ev: ProgressEvent<FileReader>) => any) | null;\n    onprogress: ((this: FileReader, ev: ProgressEvent<FileReader>) => any) | null;\n    readonly readyState: 0 | 1 | 2;\n    readonly result: string | ArrayBuffer | null;\n    abort(): void;\n    readAsArrayBuffer(blob: Blob): void;\n    readAsBinaryString(blob: Blob): void;\n    readAsDataURL(blob: Blob): void;\n    readAsText(blob: Blob, encoding?: string): void;\n    readonly EMPTY: 0;\n    readonly LOADING: 1;\n    readonly DONE: 2;\n    addEventListener<K extends keyof FileReaderEventMap>(type: K, listener: (this: FileReader, ev: FileReaderEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof FileReaderEventMap>(type: K, listener: (this: FileReader, ev: FileReaderEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var FileReader: {\n    prototype: FileReader;\n    new (): FileReader;\n    readonly EMPTY: 0;\n    readonly LOADING: 1;\n    readonly DONE: 2;\n};\ninterface FileSystem {\n    readonly name: string;\n    readonly root: FileSystemDirectoryEntry;\n}\ndeclare var FileSystem: {\n    prototype: FileSystem;\n    new (): FileSystem;\n};\ninterface FileSystemDirectoryEntry extends FileSystemEntry {\n    createReader(): FileSystemDirectoryReader;\n    getDirectory(path?: string | null, options?: FileSystemFlags, successCallback?: FileSystemEntryCallback, errorCallback?: ErrorCallback): void;\n    getFile(path?: string | null, options?: FileSystemFlags, successCallback?: FileSystemEntryCallback, errorCallback?: ErrorCallback): void;\n}\ndeclare var FileSystemDirectoryEntry: {\n    prototype: FileSystemDirectoryEntry;\n    new (): FileSystemDirectoryEntry;\n};\ninterface FileSystemDirectoryHandle extends FileSystemHandle {\n    readonly kind: \"directory\";\n    getDirectoryHandle(name: string, options?: FileSystemGetDirectoryOptions): Promise<FileSystemDirectoryHandle>;\n    getFileHandle(name: string, options?: FileSystemGetFileOptions): Promise<FileSystemFileHandle>;\n    removeEntry(name: string, options?: FileSystemRemoveOptions): Promise<void>;\n    resolve(possibleDescendant: FileSystemHandle): Promise<string[] | null>;\n}\ndeclare var FileSystemDirectoryHandle: {\n    prototype: FileSystemDirectoryHandle;\n    new (): FileSystemDirectoryHandle;\n};\ninterface FileSystemDirectoryReader {\n    readEntries(successCallback: FileSystemEntriesCallback, errorCallback?: ErrorCallback): void;\n}\ndeclare var FileSystemDirectoryReader: {\n    prototype: FileSystemDirectoryReader;\n    new (): FileSystemDirectoryReader;\n};\ninterface FileSystemEntry {\n    readonly filesystem: FileSystem;\n    readonly fullPath: string;\n    readonly isDirectory: boolean;\n    readonly isFile: boolean;\n    readonly name: string;\n    getParent(successCallback?: FileSystemEntryCallback, errorCallback?: ErrorCallback): void;\n}\ndeclare var FileSystemEntry: {\n    prototype: FileSystemEntry;\n    new (): FileSystemEntry;\n};\ninterface FileSystemFileEntry extends FileSystemEntry {\n    file(successCallback: FileCallback, errorCallback?: ErrorCallback): void;\n}\ndeclare var FileSystemFileEntry: {\n    prototype: FileSystemFileEntry;\n    new (): FileSystemFileEntry;\n};\ninterface FileSystemFileHandle extends FileSystemHandle {\n    readonly kind: \"file\";\n    createWritable(options?: FileSystemCreateWritableOptions): Promise<FileSystemWritableFileStream>;\n    getFile(): Promise<File>;\n}\ndeclare var FileSystemFileHandle: {\n    prototype: FileSystemFileHandle;\n    new (): FileSystemFileHandle;\n};\ninterface FileSystemHandle {\n    readonly kind: FileSystemHandleKind;\n    readonly name: string;\n    isSameEntry(other: FileSystemHandle): Promise<boolean>;\n}\ndeclare var FileSystemHandle: {\n    prototype: FileSystemHandle;\n    new (): FileSystemHandle;\n};\ninterface FileSystemWritableFileStream extends WritableStream {\n    seek(position: number): Promise<void>;\n    truncate(size: number): Promise<void>;\n    write(data: FileSystemWriteChunkType): Promise<void>;\n}\ndeclare var FileSystemWritableFileStream: {\n    prototype: FileSystemWritableFileStream;\n    new (): FileSystemWritableFileStream;\n};\ninterface FocusEvent extends UIEvent {\n    readonly relatedTarget: EventTarget | null;\n}\ndeclare var FocusEvent: {\n    prototype: FocusEvent;\n    new (type: string, eventInitDict?: FocusEventInit): FocusEvent;\n};\ninterface FontFace {\n    ascentOverride: string;\n    descentOverride: string;\n    display: FontDisplay;\n    family: string;\n    featureSettings: string;\n    lineGapOverride: string;\n    readonly loaded: Promise<FontFace>;\n    readonly status: FontFaceLoadStatus;\n    stretch: string;\n    style: string;\n    unicodeRange: string;\n    variationSettings: string;\n    weight: string;\n    load(): Promise<FontFace>;\n}\ndeclare var FontFace: {\n    prototype: FontFace;\n    new (family: string, source: string | BufferSource, descriptors?: FontFaceDescriptors): FontFace;\n};\ninterface FontFaceSetEventMap {\n    \"loading\": FontFaceSetLoadEvent;\n    \"loadingdone\": FontFaceSetLoadEvent;\n    \"loadingerror\": FontFaceSetLoadEvent;\n}\ninterface FontFaceSet extends EventTarget {\n    onloading: ((this: FontFaceSet, ev: FontFaceSetLoadEvent) => any) | null;\n    onloadingdone: ((this: FontFaceSet, ev: FontFaceSetLoadEvent) => any) | null;\n    onloadingerror: ((this: FontFaceSet, ev: FontFaceSetLoadEvent) => any) | null;\n    readonly ready: Promise<FontFaceSet>;\n    readonly status: FontFaceSetLoadStatus;\n    check(font: string, text?: string): boolean;\n    load(font: string, text?: string): Promise<FontFace[]>;\n    forEach(callbackfn: (value: FontFace, key: FontFace, parent: FontFaceSet) => void, thisArg?: any): void;\n    addEventListener<K extends keyof FontFaceSetEventMap>(type: K, listener: (this: FontFaceSet, ev: FontFaceSetEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof FontFaceSetEventMap>(type: K, listener: (this: FontFaceSet, ev: FontFaceSetEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var FontFaceSet: {\n    prototype: FontFaceSet;\n    new (): FontFaceSet;\n};\ninterface FontFaceSetLoadEvent extends Event {\n    readonly fontfaces: ReadonlyArray<FontFace>;\n}\ndeclare var FontFaceSetLoadEvent: {\n    prototype: FontFaceSetLoadEvent;\n    new (type: string, eventInitDict?: FontFaceSetLoadEventInit): FontFaceSetLoadEvent;\n};\ninterface FontFaceSource {\n    readonly fonts: FontFaceSet;\n}\ninterface FormData {\n    append(name: string, value: string | Blob): void;\n    append(name: string, value: string): void;\n    append(name: string, blobValue: Blob, filename?: string): void;\n    delete(name: string): void;\n    get(name: string): FormDataEntryValue | null;\n    getAll(name: string): FormDataEntryValue[];\n    has(name: string): boolean;\n    set(name: string, value: string | Blob): void;\n    set(name: string, value: string): void;\n    set(name: string, blobValue: Blob, filename?: string): void;\n    forEach(callbackfn: (value: FormDataEntryValue, key: string, parent: FormData) => void, thisArg?: any): void;\n}\ndeclare var FormData: {\n    prototype: FormData;\n    new (form?: HTMLFormElement, submitter?: HTMLElement | null): FormData;\n};\ninterface FormDataEvent extends Event {\n    readonly formData: FormData;\n}\ndeclare var FormDataEvent: {\n    prototype: FormDataEvent;\n    new (type: string, eventInitDict: FormDataEventInit): FormDataEvent;\n};\ninterface FragmentDirective {\n}\ndeclare var FragmentDirective: {\n    prototype: FragmentDirective;\n    new (): FragmentDirective;\n};\ninterface GPU {\n    readonly wgslLanguageFeatures: WGSLLanguageFeatures;\n    getPreferredCanvasFormat(): GPUTextureFormat;\n    requestAdapter(options?: GPURequestAdapterOptions): Promise<GPUAdapter | null>;\n}\ndeclare var GPU: {\n    prototype: GPU;\n    new (): GPU;\n};\ninterface GPUAdapter {\n    readonly features: GPUSupportedFeatures;\n    readonly info: GPUAdapterInfo;\n    readonly limits: GPUSupportedLimits;\n    requestDevice(descriptor?: GPUDeviceDescriptor): Promise<GPUDevice>;\n}\ndeclare var GPUAdapter: {\n    prototype: GPUAdapter;\n    new (): GPUAdapter;\n};\ninterface GPUAdapterInfo {\n    readonly architecture: string;\n    readonly description: string;\n    readonly device: string;\n    readonly isFallbackAdapter: boolean;\n    readonly subgroupMaxSize: number;\n    readonly subgroupMinSize: number;\n    readonly vendor: string;\n}\ndeclare var GPUAdapterInfo: {\n    prototype: GPUAdapterInfo;\n    new (): GPUAdapterInfo;\n};\ninterface GPUBindGroup extends GPUObjectBase {\n}\ndeclare var GPUBindGroup: {\n    prototype: GPUBindGroup;\n    new (): GPUBindGroup;\n};\ninterface GPUBindGroupLayout extends GPUObjectBase {\n}\ndeclare var GPUBindGroupLayout: {\n    prototype: GPUBindGroupLayout;\n    new (): GPUBindGroupLayout;\n};\ninterface GPUBindingCommandsMixin {\n    setBindGroup(index: GPUIndex32, bindGroup: GPUBindGroup | null, dynamicOffsets?: GPUBufferDynamicOffset[]): void;\n    setBindGroup(index: GPUIndex32, bindGroup: GPUBindGroup | null, dynamicOffsetsData: Uint32Array<ArrayBufferLike>, dynamicOffsetsDataStart: GPUSize64, dynamicOffsetsDataLength: GPUSize32): void;\n}\ninterface GPUBuffer extends GPUObjectBase {\n    readonly mapState: GPUBufferMapState;\n    readonly size: GPUSize64Out;\n    readonly usage: GPUFlagsConstant;\n    destroy(): void;\n    getMappedRange(offset?: GPUSize64, size?: GPUSize64): ArrayBuffer;\n    mapAsync(mode: GPUMapModeFlags, offset?: GPUSize64, size?: GPUSize64): Promise<void>;\n    unmap(): void;\n}\ndeclare var GPUBuffer: {\n    prototype: GPUBuffer;\n    new (): GPUBuffer;\n};\ninterface GPUCanvasContext {\n    readonly canvas: HTMLCanvasElement | OffscreenCanvas;\n    configure(configuration: GPUCanvasConfiguration): void;\n    getConfiguration(): GPUCanvasConfiguration | null;\n    getCurrentTexture(): GPUTexture;\n    unconfigure(): void;\n}\ndeclare var GPUCanvasContext: {\n    prototype: GPUCanvasContext;\n    new (): GPUCanvasContext;\n};\ninterface GPUCommandBuffer extends GPUObjectBase {\n}\ndeclare var GPUCommandBuffer: {\n    prototype: GPUCommandBuffer;\n    new (): GPUCommandBuffer;\n};\ninterface GPUCommandEncoder extends GPUDebugCommandsMixin, GPUObjectBase {\n    beginComputePass(descriptor?: GPUComputePassDescriptor): GPUComputePassEncoder;\n    beginRenderPass(descriptor: GPURenderPassDescriptor): GPURenderPassEncoder;\n    clearBuffer(buffer: GPUBuffer, offset?: GPUSize64, size?: GPUSize64): void;\n    copyBufferToBuffer(source: GPUBuffer, destination: GPUBuffer, size?: GPUSize64): void;\n    copyBufferToBuffer(source: GPUBuffer, sourceOffset: GPUSize64, destination: GPUBuffer, destinationOffset: GPUSize64, size?: GPUSize64): void;\n    copyBufferToTexture(source: GPUTexelCopyBufferInfo, destination: GPUTexelCopyTextureInfo, copySize: GPUExtent3D): void;\n    copyTextureToBuffer(source: GPUTexelCopyTextureInfo, destination: GPUTexelCopyBufferInfo, copySize: GPUExtent3D): void;\n    copyTextureToTexture(source: GPUTexelCopyTextureInfo, destination: GPUTexelCopyTextureInfo, copySize: GPUExtent3D): void;\n    finish(descriptor?: GPUCommandBufferDescriptor): GPUCommandBuffer;\n    resolveQuerySet(querySet: GPUQuerySet, firstQuery: GPUSize32, queryCount: GPUSize32, destination: GPUBuffer, destinationOffset: GPUSize64): void;\n}\ndeclare var GPUCommandEncoder: {\n    prototype: GPUCommandEncoder;\n    new (): GPUCommandEncoder;\n};\ninterface GPUCompilationInfo {\n    readonly messages: ReadonlyArray<GPUCompilationMessage>;\n}\ndeclare var GPUCompilationInfo: {\n    prototype: GPUCompilationInfo;\n    new (): GPUCompilationInfo;\n};\ninterface GPUCompilationMessage {\n    readonly length: number;\n    readonly lineNum: number;\n    readonly linePos: number;\n    readonly message: string;\n    readonly offset: number;\n    readonly type: GPUCompilationMessageType;\n}\ndeclare var GPUCompilationMessage: {\n    prototype: GPUCompilationMessage;\n    new (): GPUCompilationMessage;\n};\ninterface GPUComputePassEncoder extends GPUBindingCommandsMixin, GPUDebugCommandsMixin, GPUObjectBase {\n    dispatchWorkgroups(workgroupCountX: GPUSize32, workgroupCountY?: GPUSize32, workgroupCountZ?: GPUSize32): void;\n    dispatchWorkgroupsIndirect(indirectBuffer: GPUBuffer, indirectOffset: GPUSize64): void;\n    end(): void;\n    setPipeline(pipeline: GPUComputePipeline): void;\n}\ndeclare var GPUComputePassEncoder: {\n    prototype: GPUComputePassEncoder;\n    new (): GPUComputePassEncoder;\n};\ninterface GPUComputePipeline extends GPUObjectBase, GPUPipelineBase {\n}\ndeclare var GPUComputePipeline: {\n    prototype: GPUComputePipeline;\n    new (): GPUComputePipeline;\n};\ninterface GPUDebugCommandsMixin {\n    insertDebugMarker(markerLabel: string): void;\n    popDebugGroup(): void;\n    pushDebugGroup(groupLabel: string): void;\n}\ninterface GPUDeviceEventMap {\n    \"uncapturederror\": GPUUncapturedErrorEvent;\n}\ninterface GPUDevice extends EventTarget, GPUObjectBase {\n    readonly adapterInfo: GPUAdapterInfo;\n    readonly features: GPUSupportedFeatures;\n    readonly limits: GPUSupportedLimits;\n    readonly lost: Promise<GPUDeviceLostInfo>;\n    onuncapturederror: ((this: GPUDevice, ev: GPUUncapturedErrorEvent) => any) | null;\n    readonly queue: GPUQueue;\n    createBindGroup(descriptor: GPUBindGroupDescriptor): GPUBindGroup;\n    createBindGroupLayout(descriptor: GPUBindGroupLayoutDescriptor): GPUBindGroupLayout;\n    createBuffer(descriptor: GPUBufferDescriptor): GPUBuffer;\n    createCommandEncoder(descriptor?: GPUCommandEncoderDescriptor): GPUCommandEncoder;\n    createComputePipeline(descriptor: GPUComputePipelineDescriptor): GPUComputePipeline;\n    createComputePipelineAsync(descriptor: GPUComputePipelineDescriptor): Promise<GPUComputePipeline>;\n    createPipelineLayout(descriptor: GPUPipelineLayoutDescriptor): GPUPipelineLayout;\n    createQuerySet(descriptor: GPUQuerySetDescriptor): GPUQuerySet;\n    createRenderBundleEncoder(descriptor: GPURenderBundleEncoderDescriptor): GPURenderBundleEncoder;\n    createRenderPipeline(descriptor: GPURenderPipelineDescriptor): GPURenderPipeline;\n    createRenderPipelineAsync(descriptor: GPURenderPipelineDescriptor): Promise<GPURenderPipeline>;\n    createSampler(descriptor?: GPUSamplerDescriptor): GPUSampler;\n    createShaderModule(descriptor: GPUShaderModuleDescriptor): GPUShaderModule;\n    createTexture(descriptor: GPUTextureDescriptor): GPUTexture;\n    destroy(): void;\n    importExternalTexture(descriptor: GPUExternalTextureDescriptor): GPUExternalTexture;\n    popErrorScope(): Promise<GPUError | null>;\n    pushErrorScope(filter: GPUErrorFilter): void;\n    addEventListener<K extends keyof GPUDeviceEventMap>(type: K, listener: (this: GPUDevice, ev: GPUDeviceEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof GPUDeviceEventMap>(type: K, listener: (this: GPUDevice, ev: GPUDeviceEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var GPUDevice: {\n    prototype: GPUDevice;\n    new (): GPUDevice;\n};\ninterface GPUDeviceLostInfo {\n    readonly message: string;\n    readonly reason: GPUDeviceLostReason;\n}\ndeclare var GPUDeviceLostInfo: {\n    prototype: GPUDeviceLostInfo;\n    new (): GPUDeviceLostInfo;\n};\ninterface GPUError {\n    readonly message: string;\n}\ndeclare var GPUError: {\n    prototype: GPUError;\n    new (): GPUError;\n};\ninterface GPUExternalTexture extends GPUObjectBase {\n}\ndeclare var GPUExternalTexture: {\n    prototype: GPUExternalTexture;\n    new (): GPUExternalTexture;\n};\ninterface GPUInternalError extends GPUError {\n}\ndeclare var GPUInternalError: {\n    prototype: GPUInternalError;\n    new (message: string): GPUInternalError;\n};\ninterface GPUObjectBase {\n    label: string;\n}\ninterface GPUOutOfMemoryError extends GPUError {\n}\ndeclare var GPUOutOfMemoryError: {\n    prototype: GPUOutOfMemoryError;\n    new (message: string): GPUOutOfMemoryError;\n};\ninterface GPUPipelineBase {\n    getBindGroupLayout(index: number): GPUBindGroupLayout;\n}\ninterface GPUPipelineError extends DOMException {\n    readonly reason: GPUPipelineErrorReason;\n}\ndeclare var GPUPipelineError: {\n    prototype: GPUPipelineError;\n    new (message: string, options: GPUPipelineErrorInit): GPUPipelineError;\n};\ninterface GPUPipelineLayout extends GPUObjectBase {\n}\ndeclare var GPUPipelineLayout: {\n    prototype: GPUPipelineLayout;\n    new (): GPUPipelineLayout;\n};\ninterface GPUQuerySet extends GPUObjectBase {\n    readonly count: GPUSize32Out;\n    readonly type: GPUQueryType;\n    destroy(): void;\n}\ndeclare var GPUQuerySet: {\n    prototype: GPUQuerySet;\n    new (): GPUQuerySet;\n};\ninterface GPUQueue extends GPUObjectBase {\n    copyExternalImageToTexture(source: GPUCopyExternalImageSourceInfo, destination: GPUCopyExternalImageDestInfo, copySize: GPUExtent3D): void;\n    onSubmittedWorkDone(): Promise<void>;\n    submit(commandBuffers: GPUCommandBuffer[]): void;\n    writeBuffer(buffer: GPUBuffer, bufferOffset: GPUSize64, data: AllowSharedBufferSource, dataOffset?: GPUSize64, size?: GPUSize64): void;\n    writeTexture(destination: GPUTexelCopyTextureInfo, data: AllowSharedBufferSource, dataLayout: GPUTexelCopyBufferLayout, size: GPUExtent3D): void;\n}\ndeclare var GPUQueue: {\n    prototype: GPUQueue;\n    new (): GPUQueue;\n};\ninterface GPURenderBundle extends GPUObjectBase {\n}\ndeclare var GPURenderBundle: {\n    prototype: GPURenderBundle;\n    new (): GPURenderBundle;\n};\ninterface GPURenderBundleEncoder extends GPUBindingCommandsMixin, GPUDebugCommandsMixin, GPUObjectBase, GPURenderCommandsMixin {\n    finish(descriptor?: GPURenderBundleDescriptor): GPURenderBundle;\n}\ndeclare var GPURenderBundleEncoder: {\n    prototype: GPURenderBundleEncoder;\n    new (): GPURenderBundleEncoder;\n};\ninterface GPURenderCommandsMixin {\n    draw(vertexCount: GPUSize32, instanceCount?: GPUSize32, firstVertex?: GPUSize32, firstInstance?: GPUSize32): void;\n    drawIndexed(indexCount: GPUSize32, instanceCount?: GPUSize32, firstIndex?: GPUSize32, baseVertex?: GPUSignedOffset32, firstInstance?: GPUSize32): void;\n    drawIndexedIndirect(indirectBuffer: GPUBuffer, indirectOffset: GPUSize64): void;\n    drawIndirect(indirectBuffer: GPUBuffer, indirectOffset: GPUSize64): void;\n    setIndexBuffer(buffer: GPUBuffer, indexFormat: GPUIndexFormat, offset?: GPUSize64, size?: GPUSize64): void;\n    setPipeline(pipeline: GPURenderPipeline): void;\n    setVertexBuffer(slot: GPUIndex32, buffer: GPUBuffer | null, offset?: GPUSize64, size?: GPUSize64): void;\n}\ninterface GPURenderPassEncoder extends GPUBindingCommandsMixin, GPUDebugCommandsMixin, GPUObjectBase, GPURenderCommandsMixin {\n    beginOcclusionQuery(queryIndex: GPUSize32): void;\n    end(): void;\n    endOcclusionQuery(): void;\n    executeBundles(bundles: GPURenderBundle[]): void;\n    setBlendConstant(color: GPUColor): void;\n    setScissorRect(x: GPUIntegerCoordinate, y: GPUIntegerCoordinate, width: GPUIntegerCoordinate, height: GPUIntegerCoordinate): void;\n    setStencilReference(reference: GPUStencilValue): void;\n    setViewport(x: number, y: number, width: number, height: number, minDepth: number, maxDepth: number): void;\n}\ndeclare var GPURenderPassEncoder: {\n    prototype: GPURenderPassEncoder;\n    new (): GPURenderPassEncoder;\n};\ninterface GPURenderPipeline extends GPUObjectBase, GPUPipelineBase {\n}\ndeclare var GPURenderPipeline: {\n    prototype: GPURenderPipeline;\n    new (): GPURenderPipeline;\n};\ninterface GPUSampler extends GPUObjectBase {\n}\ndeclare var GPUSampler: {\n    prototype: GPUSampler;\n    new (): GPUSampler;\n};\ninterface GPUShaderModule extends GPUObjectBase {\n    getCompilationInfo(): Promise<GPUCompilationInfo>;\n}\ndeclare var GPUShaderModule: {\n    prototype: GPUShaderModule;\n    new (): GPUShaderModule;\n};\ninterface GPUSupportedFeatures {\n    forEach(callbackfn: (value: string, key: string, parent: GPUSupportedFeatures) => void, thisArg?: any): void;\n}\ndeclare var GPUSupportedFeatures: {\n    prototype: GPUSupportedFeatures;\n    new (): GPUSupportedFeatures;\n};\ninterface GPUSupportedLimits {\n    readonly maxBindGroups: number;\n    readonly maxBindGroupsPlusVertexBuffers: number;\n    readonly maxBindingsPerBindGroup: number;\n    readonly maxBufferSize: number;\n    readonly maxColorAttachmentBytesPerSample: number;\n    readonly maxColorAttachments: number;\n    readonly maxComputeInvocationsPerWorkgroup: number;\n    readonly maxComputeWorkgroupSizeX: number;\n    readonly maxComputeWorkgroupSizeY: number;\n    readonly maxComputeWorkgroupSizeZ: number;\n    readonly maxComputeWorkgroupStorageSize: number;\n    readonly maxComputeWorkgroupsPerDimension: number;\n    readonly maxDynamicStorageBuffersPerPipelineLayout: number;\n    readonly maxDynamicUniformBuffersPerPipelineLayout: number;\n    readonly maxInterStageShaderVariables: number;\n    readonly maxSampledTexturesPerShaderStage: number;\n    readonly maxSamplersPerShaderStage: number;\n    readonly maxStorageBufferBindingSize: number;\n    readonly maxStorageBuffersPerShaderStage: number;\n    readonly maxStorageTexturesPerShaderStage: number;\n    readonly maxTextureArrayLayers: number;\n    readonly maxTextureDimension1D: number;\n    readonly maxTextureDimension2D: number;\n    readonly maxTextureDimension3D: number;\n    readonly maxUniformBufferBindingSize: number;\n    readonly maxUniformBuffersPerShaderStage: number;\n    readonly maxVertexAttributes: number;\n    readonly maxVertexBufferArrayStride: number;\n    readonly maxVertexBuffers: number;\n    readonly minStorageBufferOffsetAlignment: number;\n    readonly minUniformBufferOffsetAlignment: number;\n}\ndeclare var GPUSupportedLimits: {\n    prototype: GPUSupportedLimits;\n    new (): GPUSupportedLimits;\n};\ninterface GPUTexture extends GPUObjectBase {\n    readonly depthOrArrayLayers: GPUIntegerCoordinateOut;\n    readonly dimension: GPUTextureDimension;\n    readonly format: GPUTextureFormat;\n    readonly height: GPUIntegerCoordinateOut;\n    readonly mipLevelCount: GPUIntegerCoordinateOut;\n    readonly sampleCount: GPUSize32Out;\n    readonly usage: GPUFlagsConstant;\n    readonly width: GPUIntegerCoordinateOut;\n    createView(descriptor?: GPUTextureViewDescriptor): GPUTextureView;\n    destroy(): void;\n}\ndeclare var GPUTexture: {\n    prototype: GPUTexture;\n    new (): GPUTexture;\n};\ninterface GPUTextureView extends GPUObjectBase {\n}\ndeclare var GPUTextureView: {\n    prototype: GPUTextureView;\n    new (): GPUTextureView;\n};\ninterface GPUUncapturedErrorEvent extends Event {\n    readonly error: GPUError;\n}\ndeclare var GPUUncapturedErrorEvent: {\n    prototype: GPUUncapturedErrorEvent;\n    new (type: string, gpuUncapturedErrorEventInitDict: GPUUncapturedErrorEventInit): GPUUncapturedErrorEvent;\n};\ninterface GPUValidationError extends GPUError {\n}\ndeclare var GPUValidationError: {\n    prototype: GPUValidationError;\n    new (message: string): GPUValidationError;\n};\ninterface GainNode extends AudioNode {\n    readonly gain: AudioParam;\n}\ndeclare var GainNode: {\n    prototype: GainNode;\n    new (context: BaseAudioContext, options?: GainOptions): GainNode;\n};\ninterface Gamepad {\n    readonly axes: ReadonlyArray<number>;\n    readonly buttons: ReadonlyArray<GamepadButton>;\n    readonly connected: boolean;\n    readonly id: string;\n    readonly index: number;\n    readonly mapping: GamepadMappingType;\n    readonly timestamp: DOMHighResTimeStamp;\n    readonly vibrationActuator: GamepadHapticActuator;\n}\ndeclare var Gamepad: {\n    prototype: Gamepad;\n    new (): Gamepad;\n};\ninterface GamepadButton {\n    readonly pressed: boolean;\n    readonly touched: boolean;\n    readonly value: number;\n}\ndeclare var GamepadButton: {\n    prototype: GamepadButton;\n    new (): GamepadButton;\n};\ninterface GamepadEvent extends Event {\n    readonly gamepad: Gamepad;\n}\ndeclare var GamepadEvent: {\n    prototype: GamepadEvent;\n    new (type: string, eventInitDict?: GamepadEventInit): GamepadEvent;\n};\ninterface GamepadHapticActuator {\n    playEffect(type: GamepadHapticEffectType, params?: GamepadEffectParameters): Promise<GamepadHapticsResult>;\n    reset(): Promise<GamepadHapticsResult>;\n}\ndeclare var GamepadHapticActuator: {\n    prototype: GamepadHapticActuator;\n    new (): GamepadHapticActuator;\n};\ninterface GenericTransformStream {\n    readonly readable: ReadableStream;\n    readonly writable: WritableStream;\n}\ninterface Geolocation {\n    clearWatch(watchId: number): void;\n    getCurrentPosition(successCallback: PositionCallback, errorCallback?: PositionErrorCallback | null, options?: PositionOptions): void;\n    watchPosition(successCallback: PositionCallback, errorCallback?: PositionErrorCallback | null, options?: PositionOptions): number;\n}\ndeclare var Geolocation: {\n    prototype: Geolocation;\n    new (): Geolocation;\n};\ninterface GeolocationCoordinates {\n    readonly accuracy: number;\n    readonly altitude: number | null;\n    readonly altitudeAccuracy: number | null;\n    readonly heading: number | null;\n    readonly latitude: number;\n    readonly longitude: number;\n    readonly speed: number | null;\n    toJSON(): any;\n}\ndeclare var GeolocationCoordinates: {\n    prototype: GeolocationCoordinates;\n    new (): GeolocationCoordinates;\n};\ninterface GeolocationPosition {\n    readonly coords: GeolocationCoordinates;\n    readonly timestamp: EpochTimeStamp;\n    toJSON(): any;\n}\ndeclare var GeolocationPosition: {\n    prototype: GeolocationPosition;\n    new (): GeolocationPosition;\n};\ninterface GeolocationPositionError {\n    readonly code: number;\n    readonly message: string;\n    readonly PERMISSION_DENIED: 1;\n    readonly POSITION_UNAVAILABLE: 2;\n    readonly TIMEOUT: 3;\n}\ndeclare var GeolocationPositionError: {\n    prototype: GeolocationPositionError;\n    new (): GeolocationPositionError;\n    readonly PERMISSION_DENIED: 1;\n    readonly POSITION_UNAVAILABLE: 2;\n    readonly TIMEOUT: 3;\n};\ninterface GlobalEventHandlersEventMap {\n    \"abort\": UIEvent;\n    \"animationcancel\": AnimationEvent;\n    \"animationend\": AnimationEvent;\n    \"animationiteration\": AnimationEvent;\n    \"animationstart\": AnimationEvent;\n    \"auxclick\": PointerEvent;\n    \"beforeinput\": InputEvent;\n    \"beforematch\": Event;\n    \"beforetoggle\": ToggleEvent;\n    \"blur\": FocusEvent;\n    \"cancel\": Event;\n    \"canplay\": Event;\n    \"canplaythrough\": Event;\n    \"change\": Event;\n    \"click\": PointerEvent;\n    \"close\": Event;\n    \"command\": Event;\n    \"compositionend\": CompositionEvent;\n    \"compositionstart\": CompositionEvent;\n    \"compositionupdate\": CompositionEvent;\n    \"contextlost\": Event;\n    \"contextmenu\": PointerEvent;\n    \"contextrestored\": Event;\n    \"copy\": ClipboardEvent;\n    \"cuechange\": Event;\n    \"cut\": ClipboardEvent;\n    \"dblclick\": MouseEvent;\n    \"drag\": DragEvent;\n    \"dragend\": DragEvent;\n    \"dragenter\": DragEvent;\n    \"dragleave\": DragEvent;\n    \"dragover\": DragEvent;\n    \"dragstart\": DragEvent;\n    \"drop\": DragEvent;\n    \"durationchange\": Event;\n    \"emptied\": Event;\n    \"ended\": Event;\n    \"error\": ErrorEvent;\n    \"focus\": FocusEvent;\n    \"focusin\": FocusEvent;\n    \"focusout\": FocusEvent;\n    \"formdata\": FormDataEvent;\n    \"gotpointercapture\": PointerEvent;\n    \"input\": InputEvent;\n    \"invalid\": Event;\n    \"keydown\": KeyboardEvent;\n    \"keypress\": KeyboardEvent;\n    \"keyup\": KeyboardEvent;\n    \"load\": Event;\n    \"loadeddata\": Event;\n    \"loadedmetadata\": Event;\n    \"loadstart\": Event;\n    \"lostpointercapture\": PointerEvent;\n    \"mousedown\": MouseEvent;\n    \"mouseenter\": MouseEvent;\n    \"mouseleave\": MouseEvent;\n    \"mousemove\": MouseEvent;\n    \"mouseout\": MouseEvent;\n    \"mouseover\": MouseEvent;\n    \"mouseup\": MouseEvent;\n    \"paste\": ClipboardEvent;\n    \"pause\": Event;\n    \"play\": Event;\n    \"playing\": Event;\n    \"pointercancel\": PointerEvent;\n    \"pointerdown\": PointerEvent;\n    \"pointerenter\": PointerEvent;\n    \"pointerleave\": PointerEvent;\n    \"pointermove\": PointerEvent;\n    \"pointerout\": PointerEvent;\n    \"pointerover\": PointerEvent;\n    \"pointerrawupdate\": Event;\n    \"pointerup\": PointerEvent;\n    \"progress\": ProgressEvent;\n    \"ratechange\": Event;\n    \"reset\": Event;\n    \"resize\": UIEvent;\n    \"scroll\": Event;\n    \"scrollend\": Event;\n    \"securitypolicyviolation\": SecurityPolicyViolationEvent;\n    \"seeked\": Event;\n    \"seeking\": Event;\n    \"select\": Event;\n    \"selectionchange\": Event;\n    \"selectstart\": Event;\n    \"slotchange\": Event;\n    \"stalled\": Event;\n    \"submit\": SubmitEvent;\n    \"suspend\": Event;\n    \"timeupdate\": Event;\n    \"toggle\": ToggleEvent;\n    \"touchcancel\": TouchEvent;\n    \"touchend\": TouchEvent;\n    \"touchmove\": TouchEvent;\n    \"touchstart\": TouchEvent;\n    \"transitioncancel\": TransitionEvent;\n    \"transitionend\": TransitionEvent;\n    \"transitionrun\": TransitionEvent;\n    \"transitionstart\": TransitionEvent;\n    \"volumechange\": Event;\n    \"waiting\": Event;\n    \"webkitanimationend\": Event;\n    \"webkitanimationiteration\": Event;\n    \"webkitanimationstart\": Event;\n    \"webkittransitionend\": Event;\n    \"wheel\": WheelEvent;\n}\ninterface GlobalEventHandlers {\n    onabort: ((this: GlobalEventHandlers, ev: UIEvent) => any) | null;\n    onanimationcancel: ((this: GlobalEventHandlers, ev: AnimationEvent) => any) | null;\n    onanimationend: ((this: GlobalEventHandlers, ev: AnimationEvent) => any) | null;\n    onanimationiteration: ((this: GlobalEventHandlers, ev: AnimationEvent) => any) | null;\n    onanimationstart: ((this: GlobalEventHandlers, ev: AnimationEvent) => any) | null;\n    onauxclick: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;\n    onbeforeinput: ((this: GlobalEventHandlers, ev: InputEvent) => any) | null;\n    onbeforematch: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    onbeforetoggle: ((this: GlobalEventHandlers, ev: ToggleEvent) => any) | null;\n    onblur: ((this: GlobalEventHandlers, ev: FocusEvent) => any) | null;\n    oncancel: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    oncanplay: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    oncanplaythrough: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    onchange: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    onclick: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;\n    onclose: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    oncommand: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    oncontextlost: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    oncontextmenu: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;\n    oncontextrestored: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    oncopy: ((this: GlobalEventHandlers, ev: ClipboardEvent) => any) | null;\n    oncuechange: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    oncut: ((this: GlobalEventHandlers, ev: ClipboardEvent) => any) | null;\n    ondblclick: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null;\n    ondrag: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null;\n    ondragend: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null;\n    ondragenter: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null;\n    ondragleave: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null;\n    ondragover: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null;\n    ondragstart: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null;\n    ondrop: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null;\n    ondurationchange: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    onemptied: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    onended: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    onerror: OnErrorEventHandler;\n    onfocus: ((this: GlobalEventHandlers, ev: FocusEvent) => any) | null;\n    onformdata: ((this: GlobalEventHandlers, ev: FormDataEvent) => any) | null;\n    ongotpointercapture: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;\n    oninput: ((this: GlobalEventHandlers, ev: InputEvent) => any) | null;\n    oninvalid: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    onkeydown: ((this: GlobalEventHandlers, ev: KeyboardEvent) => any) | null;\n    onkeypress: ((this: GlobalEventHandlers, ev: KeyboardEvent) => any) | null;\n    onkeyup: ((this: GlobalEventHandlers, ev: KeyboardEvent) => any) | null;\n    onload: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    onloadeddata: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    onloadedmetadata: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    onloadstart: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    onlostpointercapture: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;\n    onmousedown: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null;\n    onmouseenter: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null;\n    onmouseleave: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null;\n    onmousemove: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null;\n    onmouseout: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null;\n    onmouseover: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null;\n    onmouseup: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null;\n    onpaste: ((this: GlobalEventHandlers, ev: ClipboardEvent) => any) | null;\n    onpause: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    onplay: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    onplaying: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    onpointercancel: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;\n    onpointerdown: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;\n    onpointerenter: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;\n    onpointerleave: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;\n    onpointermove: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;\n    onpointerout: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;\n    onpointerover: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;\n    onpointerrawupdate: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    onpointerup: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;\n    onprogress: ((this: GlobalEventHandlers, ev: ProgressEvent) => any) | null;\n    onratechange: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    onreset: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    onresize: ((this: GlobalEventHandlers, ev: UIEvent) => any) | null;\n    onscroll: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    onscrollend: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    onsecuritypolicyviolation: ((this: GlobalEventHandlers, ev: SecurityPolicyViolationEvent) => any) | null;\n    onseeked: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    onseeking: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    onselect: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    onselectionchange: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    onselectstart: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    onslotchange: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    onstalled: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    onsubmit: ((this: GlobalEventHandlers, ev: SubmitEvent) => any) | null;\n    onsuspend: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    ontimeupdate: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    ontoggle: ((this: GlobalEventHandlers, ev: ToggleEvent) => any) | null;\n    ontouchcancel?: ((this: GlobalEventHandlers, ev: TouchEvent) => any) | null | undefined;\n    ontouchend?: ((this: GlobalEventHandlers, ev: TouchEvent) => any) | null | undefined;\n    ontouchmove?: ((this: GlobalEventHandlers, ev: TouchEvent) => any) | null | undefined;\n    ontouchstart?: ((this: GlobalEventHandlers, ev: TouchEvent) => any) | null | undefined;\n    ontransitioncancel: ((this: GlobalEventHandlers, ev: TransitionEvent) => any) | null;\n    ontransitionend: ((this: GlobalEventHandlers, ev: TransitionEvent) => any) | null;\n    ontransitionrun: ((this: GlobalEventHandlers, ev: TransitionEvent) => any) | null;\n    ontransitionstart: ((this: GlobalEventHandlers, ev: TransitionEvent) => any) | null;\n    onvolumechange: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    onwaiting: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    onwebkitanimationend: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    onwebkitanimationiteration: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    onwebkitanimationstart: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    onwebkittransitionend: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    onwheel: ((this: GlobalEventHandlers, ev: WheelEvent) => any) | null;\n    addEventListener<K extends keyof GlobalEventHandlersEventMap>(type: K, listener: (this: GlobalEventHandlers, ev: GlobalEventHandlersEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof GlobalEventHandlersEventMap>(type: K, listener: (this: GlobalEventHandlers, ev: GlobalEventHandlersEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ninterface HTMLAllCollection {\n    readonly length: number;\n    item(nameOrIndex?: string): HTMLCollection | Element | null;\n    namedItem(name: string): HTMLCollection | Element | null;\n    [index: number]: Element;\n}\ndeclare var HTMLAllCollection: {\n    prototype: HTMLAllCollection;\n    new (): HTMLAllCollection;\n};\ninterface HTMLAnchorElement extends HTMLElement, HTMLHyperlinkElementUtils {\n    charset: string;\n    coords: string;\n    download: string;\n    hreflang: string;\n    name: string;\n    ping: string;\n    referrerPolicy: string;\n    rel: string;\n    get relList(): DOMTokenList;\n    set relList(value: string);\n    rev: string;\n    shape: string;\n    target: string;\n    text: string;\n    type: string;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLAnchorElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLAnchorElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var HTMLAnchorElement: {\n    prototype: HTMLAnchorElement;\n    new (): HTMLAnchorElement;\n};\ninterface HTMLAreaElement extends HTMLElement, HTMLHyperlinkElementUtils {\n    alt: string;\n    coords: string;\n    download: string;\n    noHref: boolean;\n    ping: string;\n    referrerPolicy: string;\n    rel: string;\n    get relList(): DOMTokenList;\n    set relList(value: string);\n    shape: string;\n    target: string;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLAreaElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLAreaElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var HTMLAreaElement: {\n    prototype: HTMLAreaElement;\n    new (): HTMLAreaElement;\n};\ninterface HTMLAudioElement extends HTMLMediaElement {\n    addEventListener<K extends keyof HTMLMediaElementEventMap>(type: K, listener: (this: HTMLAudioElement, ev: HTMLMediaElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLMediaElementEventMap>(type: K, listener: (this: HTMLAudioElement, ev: HTMLMediaElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var HTMLAudioElement: {\n    prototype: HTMLAudioElement;\n    new (): HTMLAudioElement;\n};\ninterface HTMLBRElement extends HTMLElement {\n    clear: string;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLBRElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLBRElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var HTMLBRElement: {\n    prototype: HTMLBRElement;\n    new (): HTMLBRElement;\n};\ninterface HTMLBaseElement extends HTMLElement {\n    href: string;\n    target: string;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLBaseElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLBaseElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var HTMLBaseElement: {\n    prototype: HTMLBaseElement;\n    new (): HTMLBaseElement;\n};\ninterface HTMLBodyElementEventMap extends HTMLElementEventMap, WindowEventHandlersEventMap {\n}\ninterface HTMLBodyElement extends HTMLElement, WindowEventHandlers {\n    aLink: string;\n    background: string;\n    bgColor: string;\n    link: string;\n    text: string;\n    vLink: string;\n    addEventListener<K extends keyof HTMLBodyElementEventMap>(type: K, listener: (this: HTMLBodyElement, ev: HTMLBodyElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLBodyElementEventMap>(type: K, listener: (this: HTMLBodyElement, ev: HTMLBodyElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var HTMLBodyElement: {\n    prototype: HTMLBodyElement;\n    new (): HTMLBodyElement;\n};\ninterface HTMLButtonElement extends HTMLElement, PopoverTargetAttributes {\n    command: string;\n    commandForElement: Element | null;\n    disabled: boolean;\n    readonly form: HTMLFormElement | null;\n    formAction: string;\n    formEnctype: string;\n    formMethod: string;\n    formNoValidate: boolean;\n    formTarget: string;\n    readonly labels: NodeListOf<HTMLLabelElement>;\n    name: string;\n    type: \"submit\" | \"reset\" | \"button\";\n    readonly validationMessage: string;\n    readonly validity: ValidityState;\n    value: string;\n    readonly willValidate: boolean;\n    checkValidity(): boolean;\n    reportValidity(): boolean;\n    setCustomValidity(error: string): void;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLButtonElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLButtonElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var HTMLButtonElement: {\n    prototype: HTMLButtonElement;\n    new (): HTMLButtonElement;\n};\ninterface HTMLCanvasElement extends HTMLElement {\n    height: number;\n    width: number;\n    captureStream(frameRequestRate?: number): MediaStream;\n    getContext(contextId: \"2d\", options?: CanvasRenderingContext2DSettings): CanvasRenderingContext2D | null;\n    getContext(contextId: \"bitmaprenderer\", options?: ImageBitmapRenderingContextSettings): ImageBitmapRenderingContext | null;\n    getContext(contextId: \"webgl\", options?: WebGLContextAttributes): WebGLRenderingContext | null;\n    getContext(contextId: \"webgl2\", options?: WebGLContextAttributes): WebGL2RenderingContext | null;\n    getContext(contextId: string, options?: any): RenderingContext | null;\n    toBlob(callback: BlobCallback, type?: string, quality?: number): void;\n    toDataURL(type?: string, quality?: number): string;\n    transferControlToOffscreen(): OffscreenCanvas;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLCanvasElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLCanvasElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var HTMLCanvasElement: {\n    prototype: HTMLCanvasElement;\n    new (): HTMLCanvasElement;\n};\ninterface HTMLCollectionBase {\n    readonly length: number;\n    item(index: number): Element | null;\n    [index: number]: Element;\n}\ninterface HTMLCollection extends HTMLCollectionBase {\n    namedItem(name: string): Element | null;\n}\ndeclare var HTMLCollection: {\n    prototype: HTMLCollection;\n    new (): HTMLCollection;\n};\ninterface HTMLCollectionOf<T extends Element> extends HTMLCollectionBase {\n    item(index: number): T | null;\n    namedItem(name: string): T | null;\n    [index: number]: T;\n}\ninterface HTMLDListElement extends HTMLElement {\n    compact: boolean;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLDListElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLDListElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var HTMLDListElement: {\n    prototype: HTMLDListElement;\n    new (): HTMLDListElement;\n};\ninterface HTMLDataElement extends HTMLElement {\n    value: string;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLDataElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLDataElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var HTMLDataElement: {\n    prototype: HTMLDataElement;\n    new (): HTMLDataElement;\n};\ninterface HTMLDataListElement extends HTMLElement {\n    readonly options: HTMLCollectionOf<HTMLOptionElement>;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLDataListElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLDataListElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var HTMLDataListElement: {\n    prototype: HTMLDataListElement;\n    new (): HTMLDataListElement;\n};\ninterface HTMLDetailsElement extends HTMLElement {\n    name: string;\n    open: boolean;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLDetailsElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLDetailsElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var HTMLDetailsElement: {\n    prototype: HTMLDetailsElement;\n    new (): HTMLDetailsElement;\n};\ninterface HTMLDialogElement extends HTMLElement {\n    closedBy: string;\n    open: boolean;\n    returnValue: string;\n    close(returnValue?: string): void;\n    requestClose(returnValue?: string): void;\n    show(): void;\n    showModal(): void;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLDialogElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLDialogElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var HTMLDialogElement: {\n    prototype: HTMLDialogElement;\n    new (): HTMLDialogElement;\n};\ninterface HTMLDirectoryElement extends HTMLElement {\n    compact: boolean;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLDirectoryElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLDirectoryElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var HTMLDirectoryElement: {\n    prototype: HTMLDirectoryElement;\n    new (): HTMLDirectoryElement;\n};\ninterface HTMLDivElement extends HTMLElement {\n    align: string;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLDivElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLDivElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var HTMLDivElement: {\n    prototype: HTMLDivElement;\n    new (): HTMLDivElement;\n};\ninterface HTMLDocument extends Document {\n    addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: HTMLDocument, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: HTMLDocument, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var HTMLDocument: {\n    prototype: HTMLDocument;\n    new (): HTMLDocument;\n};\ninterface HTMLElementEventMap extends ElementEventMap, GlobalEventHandlersEventMap {\n}\ninterface HTMLElement extends Element, ElementCSSInlineStyle, ElementContentEditable, GlobalEventHandlers, HTMLOrSVGElement {\n    accessKey: string;\n    readonly accessKeyLabel: string;\n    autocapitalize: string;\n    autocorrect: boolean;\n    dir: string;\n    draggable: boolean;\n    hidden: boolean | \"until-found\";\n    inert: boolean;\n    innerText: string;\n    lang: string;\n    readonly offsetHeight: number;\n    readonly offsetLeft: number;\n    readonly offsetParent: Element | null;\n    readonly offsetTop: number;\n    readonly offsetWidth: number;\n    outerText: string;\n    popover: string | null;\n    spellcheck: boolean;\n    title: string;\n    translate: boolean;\n    writingSuggestions: string;\n    attachInternals(): ElementInternals;\n    click(): void;\n    hidePopover(): void;\n    showPopover(options?: ShowPopoverOptions): void;\n    togglePopover(options?: TogglePopoverOptions | boolean): boolean;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var HTMLElement: {\n    prototype: HTMLElement;\n    new (): HTMLElement;\n};\ninterface HTMLEmbedElement extends HTMLElement {\n    align: string;\n    height: string;\n    name: string;\n    src: string;\n    type: string;\n    width: string;\n    getSVGDocument(): Document | null;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLEmbedElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLEmbedElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var HTMLEmbedElement: {\n    prototype: HTMLEmbedElement;\n    new (): HTMLEmbedElement;\n};\ninterface HTMLFieldSetElement extends HTMLElement {\n    disabled: boolean;\n    readonly elements: HTMLCollection;\n    readonly form: HTMLFormElement | null;\n    name: string;\n    readonly type: string;\n    readonly validationMessage: string;\n    readonly validity: ValidityState;\n    readonly willValidate: boolean;\n    checkValidity(): boolean;\n    reportValidity(): boolean;\n    setCustomValidity(error: string): void;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLFieldSetElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLFieldSetElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var HTMLFieldSetElement: {\n    prototype: HTMLFieldSetElement;\n    new (): HTMLFieldSetElement;\n};\ninterface HTMLFontElement extends HTMLElement {\n    color: string;\n    face: string;\n    size: string;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLFontElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLFontElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var HTMLFontElement: {\n    prototype: HTMLFontElement;\n    new (): HTMLFontElement;\n};\ninterface HTMLFormControlsCollection extends HTMLCollectionBase {\n    namedItem(name: string): RadioNodeList | Element | null;\n}\ndeclare var HTMLFormControlsCollection: {\n    prototype: HTMLFormControlsCollection;\n    new (): HTMLFormControlsCollection;\n};\ninterface HTMLFormElement extends HTMLElement {\n    acceptCharset: string;\n    action: string;\n    autocomplete: AutoFillBase;\n    readonly elements: HTMLFormControlsCollection;\n    encoding: string;\n    enctype: string;\n    readonly length: number;\n    method: string;\n    name: string;\n    noValidate: boolean;\n    rel: string;\n    get relList(): DOMTokenList;\n    set relList(value: string);\n    target: string;\n    checkValidity(): boolean;\n    reportValidity(): boolean;\n    requestSubmit(submitter?: HTMLElement | null): void;\n    reset(): void;\n    submit(): void;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLFormElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLFormElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n    [index: number]: Element;\n    [name: string]: any;\n}\ndeclare var HTMLFormElement: {\n    prototype: HTMLFormElement;\n    new (): HTMLFormElement;\n};\ninterface HTMLFrameElement extends HTMLElement {\n    readonly contentDocument: Document | null;\n    readonly contentWindow: WindowProxy | null;\n    frameBorder: string;\n    longDesc: string;\n    marginHeight: string;\n    marginWidth: string;\n    name: string;\n    noResize: boolean;\n    scrolling: string;\n    src: string;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLFrameElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLFrameElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var HTMLFrameElement: {\n    prototype: HTMLFrameElement;\n    new (): HTMLFrameElement;\n};\ninterface HTMLFrameSetElementEventMap extends HTMLElementEventMap, WindowEventHandlersEventMap {\n}\ninterface HTMLFrameSetElement extends HTMLElement, WindowEventHandlers {\n    cols: string;\n    rows: string;\n    addEventListener<K extends keyof HTMLFrameSetElementEventMap>(type: K, listener: (this: HTMLFrameSetElement, ev: HTMLFrameSetElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLFrameSetElementEventMap>(type: K, listener: (this: HTMLFrameSetElement, ev: HTMLFrameSetElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var HTMLFrameSetElement: {\n    prototype: HTMLFrameSetElement;\n    new (): HTMLFrameSetElement;\n};\ninterface HTMLHRElement extends HTMLElement {\n    align: string;\n    color: string;\n    noShade: boolean;\n    size: string;\n    width: string;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLHRElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLHRElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var HTMLHRElement: {\n    prototype: HTMLHRElement;\n    new (): HTMLHRElement;\n};\ninterface HTMLHeadElement extends HTMLElement {\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLHeadElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLHeadElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var HTMLHeadElement: {\n    prototype: HTMLHeadElement;\n    new (): HTMLHeadElement;\n};\ninterface HTMLHeadingElement extends HTMLElement {\n    align: string;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLHeadingElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLHeadingElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var HTMLHeadingElement: {\n    prototype: HTMLHeadingElement;\n    new (): HTMLHeadingElement;\n};\ninterface HTMLHtmlElement extends HTMLElement {\n    version: string;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLHtmlElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLHtmlElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var HTMLHtmlElement: {\n    prototype: HTMLHtmlElement;\n    new (): HTMLHtmlElement;\n};\ninterface HTMLHyperlinkElementUtils {\n    hash: string;\n    host: string;\n    hostname: string;\n    href: string;\n    toString(): string;\n    readonly origin: string;\n    password: string;\n    pathname: string;\n    port: string;\n    protocol: string;\n    search: string;\n    username: string;\n}\ninterface HTMLIFrameElement extends HTMLElement {\n    align: string;\n    allow: string;\n    allowFullscreen: boolean;\n    readonly contentDocument: Document | null;\n    readonly contentWindow: WindowProxy | null;\n    frameBorder: string;\n    height: string;\n    loading: \"eager\" | \"lazy\";\n    longDesc: string;\n    marginHeight: string;\n    marginWidth: string;\n    name: string;\n    referrerPolicy: ReferrerPolicy;\n    get sandbox(): DOMTokenList;\n    set sandbox(value: string);\n    scrolling: string;\n    src: string;\n    srcdoc: string;\n    width: string;\n    getSVGDocument(): Document | null;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLIFrameElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLIFrameElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var HTMLIFrameElement: {\n    prototype: HTMLIFrameElement;\n    new (): HTMLIFrameElement;\n};\ninterface HTMLImageElement extends HTMLElement {\n    align: string;\n    alt: string;\n    border: string;\n    readonly complete: boolean;\n    crossOrigin: string | null;\n    readonly currentSrc: string;\n    decoding: \"async\" | \"sync\" | \"auto\";\n    fetchPriority: \"high\" | \"low\" | \"auto\";\n    height: number;\n    hspace: number;\n    isMap: boolean;\n    loading: \"eager\" | \"lazy\";\n    longDesc: string;\n    lowsrc: string;\n    name: string;\n    readonly naturalHeight: number;\n    readonly naturalWidth: number;\n    referrerPolicy: string;\n    sizes: string;\n    src: string;\n    srcset: string;\n    useMap: string;\n    vspace: number;\n    width: number;\n    readonly x: number;\n    readonly y: number;\n    decode(): Promise<void>;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLImageElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLImageElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var HTMLImageElement: {\n    prototype: HTMLImageElement;\n    new (): HTMLImageElement;\n};\ninterface HTMLInputElement extends HTMLElement, PopoverTargetAttributes {\n    accept: string;\n    align: string;\n    alt: string;\n    autocomplete: AutoFill;\n    capture: string;\n    checked: boolean;\n    defaultChecked: boolean;\n    defaultValue: string;\n    dirName: string;\n    disabled: boolean;\n    files: FileList | null;\n    readonly form: HTMLFormElement | null;\n    formAction: string;\n    formEnctype: string;\n    formMethod: string;\n    formNoValidate: boolean;\n    formTarget: string;\n    height: number;\n    indeterminate: boolean;\n    readonly labels: NodeListOf<HTMLLabelElement> | null;\n    readonly list: HTMLDataListElement | null;\n    max: string;\n    maxLength: number;\n    min: string;\n    minLength: number;\n    multiple: boolean;\n    name: string;\n    pattern: string;\n    placeholder: string;\n    readOnly: boolean;\n    required: boolean;\n    selectionDirection: SelectionDirection | null;\n    selectionEnd: number | null;\n    selectionStart: number | null;\n    size: number;\n    src: string;\n    step: string;\n    type: string;\n    useMap: string;\n    readonly validationMessage: string;\n    readonly validity: ValidityState;\n    value: string;\n    valueAsDate: Date | null;\n    valueAsNumber: number;\n    readonly webkitEntries: ReadonlyArray<FileSystemEntry>;\n    webkitdirectory: boolean;\n    width: number;\n    readonly willValidate: boolean;\n    checkValidity(): boolean;\n    reportValidity(): boolean;\n    select(): void;\n    setCustomValidity(error: string): void;\n    setRangeText(replacement: string): void;\n    setRangeText(replacement: string, start: number, end: number, selectionMode?: SelectionMode): void;\n    setSelectionRange(start: number | null, end: number | null, direction?: SelectionDirection): void;\n    showPicker(): void;\n    stepDown(n?: number): void;\n    stepUp(n?: number): void;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLInputElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLInputElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var HTMLInputElement: {\n    prototype: HTMLInputElement;\n    new (): HTMLInputElement;\n};\ninterface HTMLLIElement extends HTMLElement {\n    type: string;\n    value: number;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLLIElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLLIElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var HTMLLIElement: {\n    prototype: HTMLLIElement;\n    new (): HTMLLIElement;\n};\ninterface HTMLLabelElement extends HTMLElement {\n    readonly control: HTMLElement | null;\n    readonly form: HTMLFormElement | null;\n    htmlFor: string;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLLabelElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLLabelElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var HTMLLabelElement: {\n    prototype: HTMLLabelElement;\n    new (): HTMLLabelElement;\n};\ninterface HTMLLegendElement extends HTMLElement {\n    align: string;\n    readonly form: HTMLFormElement | null;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLLegendElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLLegendElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var HTMLLegendElement: {\n    prototype: HTMLLegendElement;\n    new (): HTMLLegendElement;\n};\ninterface HTMLLinkElement extends HTMLElement, LinkStyle {\n    as: string;\n    get blocking(): DOMTokenList;\n    set blocking(value: string);\n    charset: string;\n    crossOrigin: string | null;\n    disabled: boolean;\n    fetchPriority: \"high\" | \"low\" | \"auto\";\n    href: string;\n    hreflang: string;\n    imageSizes: string;\n    imageSrcset: string;\n    integrity: string;\n    media: string;\n    referrerPolicy: string;\n    rel: string;\n    get relList(): DOMTokenList;\n    set relList(value: string);\n    rev: string;\n    get sizes(): DOMTokenList;\n    set sizes(value: string);\n    target: string;\n    type: string;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLLinkElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLLinkElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var HTMLLinkElement: {\n    prototype: HTMLLinkElement;\n    new (): HTMLLinkElement;\n};\ninterface HTMLMapElement extends HTMLElement {\n    readonly areas: HTMLCollection;\n    name: string;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLMapElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLMapElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var HTMLMapElement: {\n    prototype: HTMLMapElement;\n    new (): HTMLMapElement;\n};\ninterface HTMLMarqueeElement extends HTMLElement {\n    behavior: string;\n    bgColor: string;\n    direction: string;\n    height: string;\n    hspace: number;\n    loop: number;\n    scrollAmount: number;\n    scrollDelay: number;\n    trueSpeed: boolean;\n    vspace: number;\n    width: string;\n    start(): void;\n    stop(): void;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLMarqueeElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLMarqueeElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var HTMLMarqueeElement: {\n    prototype: HTMLMarqueeElement;\n    new (): HTMLMarqueeElement;\n};\ninterface HTMLMediaElementEventMap extends HTMLElementEventMap {\n    \"encrypted\": MediaEncryptedEvent;\n    \"waitingforkey\": Event;\n}\ninterface HTMLMediaElement extends HTMLElement {\n    autoplay: boolean;\n    readonly buffered: TimeRanges;\n    controls: boolean;\n    crossOrigin: string | null;\n    readonly currentSrc: string;\n    currentTime: number;\n    defaultMuted: boolean;\n    defaultPlaybackRate: number;\n    disableRemotePlayback: boolean;\n    readonly duration: number;\n    readonly ended: boolean;\n    readonly error: MediaError | null;\n    loop: boolean;\n    readonly mediaKeys: MediaKeys | null;\n    muted: boolean;\n    readonly networkState: number;\n    onencrypted: ((this: HTMLMediaElement, ev: MediaEncryptedEvent) => any) | null;\n    onwaitingforkey: ((this: HTMLMediaElement, ev: Event) => any) | null;\n    readonly paused: boolean;\n    playbackRate: number;\n    readonly played: TimeRanges;\n    preload: \"none\" | \"metadata\" | \"auto\" | \"\";\n    preservesPitch: boolean;\n    readonly readyState: number;\n    readonly remote: RemotePlayback;\n    readonly seekable: TimeRanges;\n    readonly seeking: boolean;\n    readonly sinkId: string;\n    src: string;\n    srcObject: MediaProvider | null;\n    readonly textTracks: TextTrackList;\n    volume: number;\n    addTextTrack(kind: TextTrackKind, label?: string, language?: string): TextTrack;\n    canPlayType(type: string): CanPlayTypeResult;\n    fastSeek(time: number): void;\n    load(): void;\n    pause(): void;\n    play(): Promise<void>;\n    setMediaKeys(mediaKeys: MediaKeys | null): Promise<void>;\n    setSinkId(sinkId: string): Promise<void>;\n    readonly NETWORK_EMPTY: 0;\n    readonly NETWORK_IDLE: 1;\n    readonly NETWORK_LOADING: 2;\n    readonly NETWORK_NO_SOURCE: 3;\n    readonly HAVE_NOTHING: 0;\n    readonly HAVE_METADATA: 1;\n    readonly HAVE_CURRENT_DATA: 2;\n    readonly HAVE_FUTURE_DATA: 3;\n    readonly HAVE_ENOUGH_DATA: 4;\n    addEventListener<K extends keyof HTMLMediaElementEventMap>(type: K, listener: (this: HTMLMediaElement, ev: HTMLMediaElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLMediaElementEventMap>(type: K, listener: (this: HTMLMediaElement, ev: HTMLMediaElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var HTMLMediaElement: {\n    prototype: HTMLMediaElement;\n    new (): HTMLMediaElement;\n    readonly NETWORK_EMPTY: 0;\n    readonly NETWORK_IDLE: 1;\n    readonly NETWORK_LOADING: 2;\n    readonly NETWORK_NO_SOURCE: 3;\n    readonly HAVE_NOTHING: 0;\n    readonly HAVE_METADATA: 1;\n    readonly HAVE_CURRENT_DATA: 2;\n    readonly HAVE_FUTURE_DATA: 3;\n    readonly HAVE_ENOUGH_DATA: 4;\n};\ninterface HTMLMenuElement extends HTMLElement {\n    compact: boolean;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLMenuElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLMenuElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var HTMLMenuElement: {\n    prototype: HTMLMenuElement;\n    new (): HTMLMenuElement;\n};\ninterface HTMLMetaElement extends HTMLElement {\n    content: string;\n    httpEquiv: string;\n    media: string;\n    name: string;\n    scheme: string;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLMetaElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLMetaElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var HTMLMetaElement: {\n    prototype: HTMLMetaElement;\n    new (): HTMLMetaElement;\n};\ninterface HTMLMeterElement extends HTMLElement {\n    high: number;\n    readonly labels: NodeListOf<HTMLLabelElement>;\n    low: number;\n    max: number;\n    min: number;\n    optimum: number;\n    value: number;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLMeterElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLMeterElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var HTMLMeterElement: {\n    prototype: HTMLMeterElement;\n    new (): HTMLMeterElement;\n};\ninterface HTMLModElement extends HTMLElement {\n    cite: string;\n    dateTime: string;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLModElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLModElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var HTMLModElement: {\n    prototype: HTMLModElement;\n    new (): HTMLModElement;\n};\ninterface HTMLOListElement extends HTMLElement {\n    compact: boolean;\n    reversed: boolean;\n    start: number;\n    type: string;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLOListElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLOListElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var HTMLOListElement: {\n    prototype: HTMLOListElement;\n    new (): HTMLOListElement;\n};\ninterface HTMLObjectElement extends HTMLElement {\n    align: string;\n    archive: string;\n    border: string;\n    code: string;\n    codeBase: string;\n    codeType: string;\n    readonly contentDocument: Document | null;\n    readonly contentWindow: WindowProxy | null;\n    data: string;\n    declare: boolean;\n    readonly form: HTMLFormElement | null;\n    height: string;\n    hspace: number;\n    name: string;\n    standby: string;\n    type: string;\n    useMap: string;\n    readonly validationMessage: string;\n    readonly validity: ValidityState;\n    vspace: number;\n    width: string;\n    readonly willValidate: boolean;\n    checkValidity(): boolean;\n    getSVGDocument(): Document | null;\n    reportValidity(): boolean;\n    setCustomValidity(error: string): void;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLObjectElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLObjectElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var HTMLObjectElement: {\n    prototype: HTMLObjectElement;\n    new (): HTMLObjectElement;\n};\ninterface HTMLOptGroupElement extends HTMLElement {\n    disabled: boolean;\n    label: string;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLOptGroupElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLOptGroupElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var HTMLOptGroupElement: {\n    prototype: HTMLOptGroupElement;\n    new (): HTMLOptGroupElement;\n};\ninterface HTMLOptionElement extends HTMLElement {\n    defaultSelected: boolean;\n    disabled: boolean;\n    readonly form: HTMLFormElement | null;\n    readonly index: number;\n    label: string;\n    selected: boolean;\n    text: string;\n    value: string;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLOptionElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLOptionElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var HTMLOptionElement: {\n    prototype: HTMLOptionElement;\n    new (): HTMLOptionElement;\n};\ninterface HTMLOptionsCollection extends HTMLCollectionOf<HTMLOptionElement> {\n    length: number;\n    selectedIndex: number;\n    add(element: HTMLOptionElement | HTMLOptGroupElement, before?: HTMLElement | number | null): void;\n    remove(index: number): void;\n}\ndeclare var HTMLOptionsCollection: {\n    prototype: HTMLOptionsCollection;\n    new (): HTMLOptionsCollection;\n};\ninterface HTMLOrSVGElement {\n    autofocus: boolean;\n    readonly dataset: DOMStringMap;\n    nonce: string;\n    tabIndex: number;\n    blur(): void;\n    focus(options?: FocusOptions): void;\n}\ninterface HTMLOutputElement extends HTMLElement {\n    defaultValue: string;\n    readonly form: HTMLFormElement | null;\n    get htmlFor(): DOMTokenList;\n    set htmlFor(value: string);\n    readonly labels: NodeListOf<HTMLLabelElement>;\n    name: string;\n    readonly type: string;\n    readonly validationMessage: string;\n    readonly validity: ValidityState;\n    value: string;\n    readonly willValidate: boolean;\n    checkValidity(): boolean;\n    reportValidity(): boolean;\n    setCustomValidity(error: string): void;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLOutputElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLOutputElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var HTMLOutputElement: {\n    prototype: HTMLOutputElement;\n    new (): HTMLOutputElement;\n};\ninterface HTMLParagraphElement extends HTMLElement {\n    align: string;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLParagraphElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLParagraphElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var HTMLParagraphElement: {\n    prototype: HTMLParagraphElement;\n    new (): HTMLParagraphElement;\n};\ninterface HTMLParamElement extends HTMLElement {\n    name: string;\n    type: string;\n    value: string;\n    valueType: string;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLParamElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLParamElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var HTMLParamElement: {\n    prototype: HTMLParamElement;\n    new (): HTMLParamElement;\n};\ninterface HTMLPictureElement extends HTMLElement {\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLPictureElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLPictureElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var HTMLPictureElement: {\n    prototype: HTMLPictureElement;\n    new (): HTMLPictureElement;\n};\ninterface HTMLPreElement extends HTMLElement {\n    width: number;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLPreElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLPreElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var HTMLPreElement: {\n    prototype: HTMLPreElement;\n    new (): HTMLPreElement;\n};\ninterface HTMLProgressElement extends HTMLElement {\n    readonly labels: NodeListOf<HTMLLabelElement>;\n    max: number;\n    readonly position: number;\n    value: number;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLProgressElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLProgressElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var HTMLProgressElement: {\n    prototype: HTMLProgressElement;\n    new (): HTMLProgressElement;\n};\ninterface HTMLQuoteElement extends HTMLElement {\n    cite: string;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLQuoteElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLQuoteElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var HTMLQuoteElement: {\n    prototype: HTMLQuoteElement;\n    new (): HTMLQuoteElement;\n};\ninterface HTMLScriptElement extends HTMLElement {\n    async: boolean;\n    get blocking(): DOMTokenList;\n    set blocking(value: string);\n    charset: string;\n    crossOrigin: string | null;\n    defer: boolean;\n    event: string;\n    fetchPriority: \"high\" | \"low\" | \"auto\";\n    htmlFor: string;\n    integrity: string;\n    noModule: boolean;\n    referrerPolicy: string;\n    src: string;\n    text: string;\n    type: string;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLScriptElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLScriptElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var HTMLScriptElement: {\n    prototype: HTMLScriptElement;\n    new (): HTMLScriptElement;\n    supports(type: string): boolean;\n};\ninterface HTMLSelectElement extends HTMLElement {\n    autocomplete: AutoFill;\n    disabled: boolean;\n    readonly form: HTMLFormElement | null;\n    readonly labels: NodeListOf<HTMLLabelElement>;\n    length: number;\n    multiple: boolean;\n    name: string;\n    readonly options: HTMLOptionsCollection;\n    required: boolean;\n    selectedIndex: number;\n    readonly selectedOptions: HTMLCollectionOf<HTMLOptionElement>;\n    size: number;\n    readonly type: \"select-one\" | \"select-multiple\";\n    readonly validationMessage: string;\n    readonly validity: ValidityState;\n    value: string;\n    readonly willValidate: boolean;\n    add(element: HTMLOptionElement | HTMLOptGroupElement, before?: HTMLElement | number | null): void;\n    checkValidity(): boolean;\n    item(index: number): HTMLOptionElement | null;\n    namedItem(name: string): HTMLOptionElement | null;\n    remove(): void;\n    remove(index: number): void;\n    reportValidity(): boolean;\n    setCustomValidity(error: string): void;\n    showPicker(): void;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLSelectElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLSelectElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n    [name: number]: HTMLOptionElement | HTMLOptGroupElement;\n}\ndeclare var HTMLSelectElement: {\n    prototype: HTMLSelectElement;\n    new (): HTMLSelectElement;\n};\ninterface HTMLSlotElement extends HTMLElement {\n    name: string;\n    assign(...nodes: (Element | Text)[]): void;\n    assignedElements(options?: AssignedNodesOptions): Element[];\n    assignedNodes(options?: AssignedNodesOptions): Node[];\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLSlotElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLSlotElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var HTMLSlotElement: {\n    prototype: HTMLSlotElement;\n    new (): HTMLSlotElement;\n};\ninterface HTMLSourceElement extends HTMLElement {\n    height: number;\n    media: string;\n    sizes: string;\n    src: string;\n    srcset: string;\n    type: string;\n    width: number;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLSourceElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLSourceElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var HTMLSourceElement: {\n    prototype: HTMLSourceElement;\n    new (): HTMLSourceElement;\n};\ninterface HTMLSpanElement extends HTMLElement {\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLSpanElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLSpanElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var HTMLSpanElement: {\n    prototype: HTMLSpanElement;\n    new (): HTMLSpanElement;\n};\ninterface HTMLStyleElement extends HTMLElement, LinkStyle {\n    get blocking(): DOMTokenList;\n    set blocking(value: string);\n    disabled: boolean;\n    media: string;\n    type: string;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLStyleElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLStyleElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var HTMLStyleElement: {\n    prototype: HTMLStyleElement;\n    new (): HTMLStyleElement;\n};\ninterface HTMLTableCaptionElement extends HTMLElement {\n    align: string;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLTableCaptionElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLTableCaptionElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var HTMLTableCaptionElement: {\n    prototype: HTMLTableCaptionElement;\n    new (): HTMLTableCaptionElement;\n};\ninterface HTMLTableCellElement extends HTMLElement {\n    abbr: string;\n    align: string;\n    axis: string;\n    bgColor: string;\n    readonly cellIndex: number;\n    ch: string;\n    chOff: string;\n    colSpan: number;\n    headers: string;\n    height: string;\n    noWrap: boolean;\n    rowSpan: number;\n    scope: string;\n    vAlign: string;\n    width: string;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLTableCellElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLTableCellElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var HTMLTableCellElement: {\n    prototype: HTMLTableCellElement;\n    new (): HTMLTableCellElement;\n};\ninterface HTMLTableColElement extends HTMLElement {\n    align: string;\n    ch: string;\n    chOff: string;\n    span: number;\n    vAlign: string;\n    width: string;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLTableColElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLTableColElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var HTMLTableColElement: {\n    prototype: HTMLTableColElement;\n    new (): HTMLTableColElement;\n};\ninterface HTMLTableDataCellElement extends HTMLTableCellElement {\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLTableDataCellElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLTableDataCellElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ninterface HTMLTableElement extends HTMLElement {\n    align: string;\n    bgColor: string;\n    border: string;\n    caption: HTMLTableCaptionElement | null;\n    cellPadding: string;\n    cellSpacing: string;\n    frame: string;\n    readonly rows: HTMLCollectionOf<HTMLTableRowElement>;\n    rules: string;\n    summary: string;\n    readonly tBodies: HTMLCollectionOf<HTMLTableSectionElement>;\n    tFoot: HTMLTableSectionElement | null;\n    tHead: HTMLTableSectionElement | null;\n    width: string;\n    createCaption(): HTMLTableCaptionElement;\n    createTBody(): HTMLTableSectionElement;\n    createTFoot(): HTMLTableSectionElement;\n    createTHead(): HTMLTableSectionElement;\n    deleteCaption(): void;\n    deleteRow(index: number): void;\n    deleteTFoot(): void;\n    deleteTHead(): void;\n    insertRow(index?: number): HTMLTableRowElement;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLTableElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLTableElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var HTMLTableElement: {\n    prototype: HTMLTableElement;\n    new (): HTMLTableElement;\n};\ninterface HTMLTableHeaderCellElement extends HTMLTableCellElement {\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLTableHeaderCellElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLTableHeaderCellElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ninterface HTMLTableRowElement extends HTMLElement {\n    align: string;\n    bgColor: string;\n    readonly cells: HTMLCollectionOf<HTMLTableCellElement>;\n    ch: string;\n    chOff: string;\n    readonly rowIndex: number;\n    readonly sectionRowIndex: number;\n    vAlign: string;\n    deleteCell(index: number): void;\n    insertCell(index?: number): HTMLTableCellElement;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLTableRowElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLTableRowElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var HTMLTableRowElement: {\n    prototype: HTMLTableRowElement;\n    new (): HTMLTableRowElement;\n};\ninterface HTMLTableSectionElement extends HTMLElement {\n    align: string;\n    ch: string;\n    chOff: string;\n    readonly rows: HTMLCollectionOf<HTMLTableRowElement>;\n    vAlign: string;\n    deleteRow(index: number): void;\n    insertRow(index?: number): HTMLTableRowElement;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLTableSectionElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLTableSectionElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var HTMLTableSectionElement: {\n    prototype: HTMLTableSectionElement;\n    new (): HTMLTableSectionElement;\n};\ninterface HTMLTemplateElement extends HTMLElement {\n    readonly content: DocumentFragment;\n    shadowRootClonable: boolean;\n    shadowRootCustomElementRegistry: string;\n    shadowRootDelegatesFocus: boolean;\n    shadowRootMode: string;\n    shadowRootSerializable: boolean;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLTemplateElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLTemplateElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var HTMLTemplateElement: {\n    prototype: HTMLTemplateElement;\n    new (): HTMLTemplateElement;\n};\ninterface HTMLTextAreaElement extends HTMLElement {\n    autocomplete: AutoFill;\n    cols: number;\n    defaultValue: string;\n    dirName: string;\n    disabled: boolean;\n    readonly form: HTMLFormElement | null;\n    readonly labels: NodeListOf<HTMLLabelElement>;\n    maxLength: number;\n    minLength: number;\n    name: string;\n    placeholder: string;\n    readOnly: boolean;\n    required: boolean;\n    rows: number;\n    selectionDirection: SelectionDirection;\n    selectionEnd: number;\n    selectionStart: number;\n    readonly textLength: number;\n    readonly type: string;\n    readonly validationMessage: string;\n    readonly validity: ValidityState;\n    value: string;\n    readonly willValidate: boolean;\n    wrap: string;\n    checkValidity(): boolean;\n    reportValidity(): boolean;\n    select(): void;\n    setCustomValidity(error: string): void;\n    setRangeText(replacement: string): void;\n    setRangeText(replacement: string, start: number, end: number, selectionMode?: SelectionMode): void;\n    setSelectionRange(start: number | null, end: number | null, direction?: SelectionDirection): void;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLTextAreaElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLTextAreaElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var HTMLTextAreaElement: {\n    prototype: HTMLTextAreaElement;\n    new (): HTMLTextAreaElement;\n};\ninterface HTMLTimeElement extends HTMLElement {\n    dateTime: string;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLTimeElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLTimeElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var HTMLTimeElement: {\n    prototype: HTMLTimeElement;\n    new (): HTMLTimeElement;\n};\ninterface HTMLTitleElement extends HTMLElement {\n    text: string;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLTitleElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLTitleElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var HTMLTitleElement: {\n    prototype: HTMLTitleElement;\n    new (): HTMLTitleElement;\n};\ninterface HTMLTrackElement extends HTMLElement {\n    default: boolean;\n    kind: string;\n    label: string;\n    readonly readyState: number;\n    src: string;\n    srclang: string;\n    readonly track: TextTrack;\n    readonly NONE: 0;\n    readonly LOADING: 1;\n    readonly LOADED: 2;\n    readonly ERROR: 3;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLTrackElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLTrackElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var HTMLTrackElement: {\n    prototype: HTMLTrackElement;\n    new (): HTMLTrackElement;\n    readonly NONE: 0;\n    readonly LOADING: 1;\n    readonly LOADED: 2;\n    readonly ERROR: 3;\n};\ninterface HTMLUListElement extends HTMLElement {\n    compact: boolean;\n    type: string;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLUListElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLUListElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var HTMLUListElement: {\n    prototype: HTMLUListElement;\n    new (): HTMLUListElement;\n};\ninterface HTMLUnknownElement extends HTMLElement {\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLUnknownElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLUnknownElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var HTMLUnknownElement: {\n    prototype: HTMLUnknownElement;\n    new (): HTMLUnknownElement;\n};\ninterface HTMLVideoElementEventMap extends HTMLMediaElementEventMap {\n    \"enterpictureinpicture\": PictureInPictureEvent;\n    \"leavepictureinpicture\": PictureInPictureEvent;\n}\ninterface HTMLVideoElement extends HTMLMediaElement {\n    disablePictureInPicture: boolean;\n    height: number;\n    onenterpictureinpicture: ((this: HTMLVideoElement, ev: PictureInPictureEvent) => any) | null;\n    onleavepictureinpicture: ((this: HTMLVideoElement, ev: PictureInPictureEvent) => any) | null;\n    playsInline: boolean;\n    poster: string;\n    readonly videoHeight: number;\n    readonly videoWidth: number;\n    width: number;\n    cancelVideoFrameCallback(handle: number): void;\n    getVideoPlaybackQuality(): VideoPlaybackQuality;\n    requestPictureInPicture(): Promise<PictureInPictureWindow>;\n    requestVideoFrameCallback(callback: VideoFrameRequestCallback): number;\n    addEventListener<K extends keyof HTMLVideoElementEventMap>(type: K, listener: (this: HTMLVideoElement, ev: HTMLVideoElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLVideoElementEventMap>(type: K, listener: (this: HTMLVideoElement, ev: HTMLVideoElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var HTMLVideoElement: {\n    prototype: HTMLVideoElement;\n    new (): HTMLVideoElement;\n};\ninterface HashChangeEvent extends Event {\n    readonly newURL: string;\n    readonly oldURL: string;\n}\ndeclare var HashChangeEvent: {\n    prototype: HashChangeEvent;\n    new (type: string, eventInitDict?: HashChangeEventInit): HashChangeEvent;\n};\ninterface Headers {\n    append(name: string, value: string): void;\n    delete(name: string): void;\n    get(name: string): string | null;\n    getSetCookie(): string[];\n    has(name: string): boolean;\n    set(name: string, value: string): void;\n    forEach(callbackfn: (value: string, key: string, parent: Headers) => void, thisArg?: any): void;\n}\ndeclare var Headers: {\n    prototype: Headers;\n    new (init?: HeadersInit): Headers;\n};\ninterface Highlight {\n    priority: number;\n    type: HighlightType;\n    forEach(callbackfn: (value: AbstractRange, key: AbstractRange, parent: Highlight) => void, thisArg?: any): void;\n}\ndeclare var Highlight: {\n    prototype: Highlight;\n    new (...initialRanges: AbstractRange[]): Highlight;\n};\ninterface HighlightRegistry {\n    forEach(callbackfn: (value: Highlight, key: string, parent: HighlightRegistry) => void, thisArg?: any): void;\n}\ndeclare var HighlightRegistry: {\n    prototype: HighlightRegistry;\n    new (): HighlightRegistry;\n};\ninterface History {\n    readonly length: number;\n    scrollRestoration: ScrollRestoration;\n    readonly state: any;\n    back(): void;\n    forward(): void;\n    go(delta?: number): void;\n    pushState(data: any, unused: string, url?: string | URL | null): void;\n    replaceState(data: any, unused: string, url?: string | URL | null): void;\n}\ndeclare var History: {\n    prototype: History;\n    new (): History;\n};\ninterface IDBCursor {\n    readonly direction: IDBCursorDirection;\n    readonly key: IDBValidKey;\n    readonly primaryKey: IDBValidKey;\n    readonly request: IDBRequest;\n    readonly source: IDBObjectStore | IDBIndex;\n    advance(count: number): void;\n    continue(key?: IDBValidKey): void;\n    continuePrimaryKey(key: IDBValidKey, primaryKey: IDBValidKey): void;\n    delete(): IDBRequest<undefined>;\n    update(value: any): IDBRequest<IDBValidKey>;\n}\ndeclare var IDBCursor: {\n    prototype: IDBCursor;\n    new (): IDBCursor;\n};\ninterface IDBCursorWithValue extends IDBCursor {\n    readonly value: any;\n}\ndeclare var IDBCursorWithValue: {\n    prototype: IDBCursorWithValue;\n    new (): IDBCursorWithValue;\n};\ninterface IDBDatabaseEventMap {\n    \"abort\": Event;\n    \"close\": Event;\n    \"error\": Event;\n    \"versionchange\": IDBVersionChangeEvent;\n}\ninterface IDBDatabase extends EventTarget {\n    readonly name: string;\n    readonly objectStoreNames: DOMStringList;\n    onabort: ((this: IDBDatabase, ev: Event) => any) | null;\n    onclose: ((this: IDBDatabase, ev: Event) => any) | null;\n    onerror: ((this: IDBDatabase, ev: Event) => any) | null;\n    onversionchange: ((this: IDBDatabase, ev: IDBVersionChangeEvent) => any) | null;\n    readonly version: number;\n    close(): void;\n    createObjectStore(name: string, options?: IDBObjectStoreParameters): IDBObjectStore;\n    deleteObjectStore(name: string): void;\n    transaction(storeNames: string | string[], mode?: IDBTransactionMode, options?: IDBTransactionOptions): IDBTransaction;\n    addEventListener<K extends keyof IDBDatabaseEventMap>(type: K, listener: (this: IDBDatabase, ev: IDBDatabaseEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof IDBDatabaseEventMap>(type: K, listener: (this: IDBDatabase, ev: IDBDatabaseEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var IDBDatabase: {\n    prototype: IDBDatabase;\n    new (): IDBDatabase;\n};\ninterface IDBFactory {\n    cmp(first: any, second: any): number;\n    databases(): Promise<IDBDatabaseInfo[]>;\n    deleteDatabase(name: string): IDBOpenDBRequest;\n    open(name: string, version?: number): IDBOpenDBRequest;\n}\ndeclare var IDBFactory: {\n    prototype: IDBFactory;\n    new (): IDBFactory;\n};\ninterface IDBIndex {\n    readonly keyPath: string | string[];\n    readonly multiEntry: boolean;\n    name: string;\n    readonly objectStore: IDBObjectStore;\n    readonly unique: boolean;\n    count(query?: IDBValidKey | IDBKeyRange): IDBRequest<number>;\n    get(query: IDBValidKey | IDBKeyRange): IDBRequest<any>;\n    getAll(queryOrOptions?: IDBValidKey | IDBKeyRange | null, count?: number): IDBRequest<any[]>;\n    getAllKeys(queryOrOptions?: IDBValidKey | IDBKeyRange | null, count?: number): IDBRequest<IDBValidKey[]>;\n    getKey(query: IDBValidKey | IDBKeyRange): IDBRequest<IDBValidKey | undefined>;\n    openCursor(query?: IDBValidKey | IDBKeyRange | null, direction?: IDBCursorDirection): IDBRequest<IDBCursorWithValue | null>;\n    openKeyCursor(query?: IDBValidKey | IDBKeyRange | null, direction?: IDBCursorDirection): IDBRequest<IDBCursor | null>;\n}\ndeclare var IDBIndex: {\n    prototype: IDBIndex;\n    new (): IDBIndex;\n};\ninterface IDBKeyRange {\n    readonly lower: any;\n    readonly lowerOpen: boolean;\n    readonly upper: any;\n    readonly upperOpen: boolean;\n    includes(key: any): boolean;\n}\ndeclare var IDBKeyRange: {\n    prototype: IDBKeyRange;\n    new (): IDBKeyRange;\n    bound(lower: any, upper: any, lowerOpen?: boolean, upperOpen?: boolean): IDBKeyRange;\n    lowerBound(lower: any, open?: boolean): IDBKeyRange;\n    only(value: any): IDBKeyRange;\n    upperBound(upper: any, open?: boolean): IDBKeyRange;\n};\ninterface IDBObjectStore {\n    readonly autoIncrement: boolean;\n    readonly indexNames: DOMStringList;\n    readonly keyPath: string | string[] | null;\n    name: string;\n    readonly transaction: IDBTransaction;\n    add(value: any, key?: IDBValidKey): IDBRequest<IDBValidKey>;\n    clear(): IDBRequest<undefined>;\n    count(query?: IDBValidKey | IDBKeyRange): IDBRequest<number>;\n    createIndex(name: string, keyPath: string | string[], options?: IDBIndexParameters): IDBIndex;\n    delete(query: IDBValidKey | IDBKeyRange): IDBRequest<undefined>;\n    deleteIndex(name: string): void;\n    get(query: IDBValidKey | IDBKeyRange): IDBRequest<any>;\n    getAll(queryOrOptions?: IDBValidKey | IDBKeyRange | null, count?: number): IDBRequest<any[]>;\n    getAllKeys(queryOrOptions?: IDBValidKey | IDBKeyRange | null, count?: number): IDBRequest<IDBValidKey[]>;\n    getKey(query: IDBValidKey | IDBKeyRange): IDBRequest<IDBValidKey | undefined>;\n    index(name: string): IDBIndex;\n    openCursor(query?: IDBValidKey | IDBKeyRange | null, direction?: IDBCursorDirection): IDBRequest<IDBCursorWithValue | null>;\n    openKeyCursor(query?: IDBValidKey | IDBKeyRange | null, direction?: IDBCursorDirection): IDBRequest<IDBCursor | null>;\n    put(value: any, key?: IDBValidKey): IDBRequest<IDBValidKey>;\n}\ndeclare var IDBObjectStore: {\n    prototype: IDBObjectStore;\n    new (): IDBObjectStore;\n};\ninterface IDBOpenDBRequestEventMap extends IDBRequestEventMap {\n    \"blocked\": IDBVersionChangeEvent;\n    \"upgradeneeded\": IDBVersionChangeEvent;\n}\ninterface IDBOpenDBRequest extends IDBRequest<IDBDatabase> {\n    onblocked: ((this: IDBOpenDBRequest, ev: IDBVersionChangeEvent) => any) | null;\n    onupgradeneeded: ((this: IDBOpenDBRequest, ev: IDBVersionChangeEvent) => any) | null;\n    addEventListener<K extends keyof IDBOpenDBRequestEventMap>(type: K, listener: (this: IDBOpenDBRequest, ev: IDBOpenDBRequestEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof IDBOpenDBRequestEventMap>(type: K, listener: (this: IDBOpenDBRequest, ev: IDBOpenDBRequestEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var IDBOpenDBRequest: {\n    prototype: IDBOpenDBRequest;\n    new (): IDBOpenDBRequest;\n};\ninterface IDBRequestEventMap {\n    \"error\": Event;\n    \"success\": Event;\n}\ninterface IDBRequest<T = any> extends EventTarget {\n    readonly error: DOMException | null;\n    onerror: ((this: IDBRequest<T>, ev: Event) => any) | null;\n    onsuccess: ((this: IDBRequest<T>, ev: Event) => any) | null;\n    readonly readyState: IDBRequestReadyState;\n    readonly result: T;\n    readonly source: IDBObjectStore | IDBIndex | IDBCursor;\n    readonly transaction: IDBTransaction | null;\n    addEventListener<K extends keyof IDBRequestEventMap>(type: K, listener: (this: IDBRequest<T>, ev: IDBRequestEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof IDBRequestEventMap>(type: K, listener: (this: IDBRequest<T>, ev: IDBRequestEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var IDBRequest: {\n    prototype: IDBRequest;\n    new (): IDBRequest;\n};\ninterface IDBTransactionEventMap {\n    \"abort\": Event;\n    \"complete\": Event;\n    \"error\": Event;\n}\ninterface IDBTransaction extends EventTarget {\n    readonly db: IDBDatabase;\n    readonly durability: IDBTransactionDurability;\n    readonly error: DOMException | null;\n    readonly mode: IDBTransactionMode;\n    readonly objectStoreNames: DOMStringList;\n    onabort: ((this: IDBTransaction, ev: Event) => any) | null;\n    oncomplete: ((this: IDBTransaction, ev: Event) => any) | null;\n    onerror: ((this: IDBTransaction, ev: Event) => any) | null;\n    abort(): void;\n    commit(): void;\n    objectStore(name: string): IDBObjectStore;\n    addEventListener<K extends keyof IDBTransactionEventMap>(type: K, listener: (this: IDBTransaction, ev: IDBTransactionEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof IDBTransactionEventMap>(type: K, listener: (this: IDBTransaction, ev: IDBTransactionEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var IDBTransaction: {\n    prototype: IDBTransaction;\n    new (): IDBTransaction;\n};\ninterface IDBVersionChangeEvent extends Event {\n    readonly newVersion: number | null;\n    readonly oldVersion: number;\n}\ndeclare var IDBVersionChangeEvent: {\n    prototype: IDBVersionChangeEvent;\n    new (type: string, eventInitDict?: IDBVersionChangeEventInit): IDBVersionChangeEvent;\n};\ninterface IIRFilterNode extends AudioNode {\n    getFrequencyResponse(frequencyHz: Float32Array<ArrayBuffer>, magResponse: Float32Array<ArrayBuffer>, phaseResponse: Float32Array<ArrayBuffer>): void;\n}\ndeclare var IIRFilterNode: {\n    prototype: IIRFilterNode;\n    new (context: BaseAudioContext, options: IIRFilterOptions): IIRFilterNode;\n};\ninterface IdleDeadline {\n    readonly didTimeout: boolean;\n    timeRemaining(): DOMHighResTimeStamp;\n}\ndeclare var IdleDeadline: {\n    prototype: IdleDeadline;\n    new (): IdleDeadline;\n};\ninterface ImageBitmap {\n    readonly height: number;\n    readonly width: number;\n    close(): void;\n}\ndeclare var ImageBitmap: {\n    prototype: ImageBitmap;\n    new (): ImageBitmap;\n};\ninterface ImageBitmapRenderingContext {\n    readonly canvas: HTMLCanvasElement | OffscreenCanvas;\n    transferFromImageBitmap(bitmap: ImageBitmap | null): void;\n}\ndeclare var ImageBitmapRenderingContext: {\n    prototype: ImageBitmapRenderingContext;\n    new (): ImageBitmapRenderingContext;\n};\ninterface ImageCapture {\n    readonly track: MediaStreamTrack;\n    getPhotoCapabilities(): Promise<PhotoCapabilities>;\n    getPhotoSettings(): Promise<PhotoSettings>;\n    grabFrame(): Promise<ImageBitmap>;\n    takePhoto(photoSettings?: PhotoSettings): Promise<Blob>;\n}\ndeclare var ImageCapture: {\n    prototype: ImageCapture;\n    new (videoTrack: MediaStreamTrack): ImageCapture;\n};\ninterface ImageData {\n    readonly colorSpace: PredefinedColorSpace;\n    readonly data: ImageDataArray;\n    readonly height: number;\n    readonly width: number;\n}\ndeclare var ImageData: {\n    prototype: ImageData;\n    new (sw: number, sh: number, settings?: ImageDataSettings): ImageData;\n    new (data: ImageDataArray, sw: number, sh?: number, settings?: ImageDataSettings): ImageData;\n};\ninterface ImageDecoder {\n    readonly complete: boolean;\n    readonly completed: Promise<void>;\n    readonly tracks: ImageTrackList;\n    readonly type: string;\n    close(): void;\n    decode(options?: ImageDecodeOptions): Promise<ImageDecodeResult>;\n    reset(): void;\n}\ndeclare var ImageDecoder: {\n    prototype: ImageDecoder;\n    new (init: ImageDecoderInit): ImageDecoder;\n    isTypeSupported(type: string): Promise<boolean>;\n};\ninterface ImageTrack {\n    readonly animated: boolean;\n    readonly frameCount: number;\n    readonly repetitionCount: number;\n    selected: boolean;\n}\ndeclare var ImageTrack: {\n    prototype: ImageTrack;\n    new (): ImageTrack;\n};\ninterface ImageTrackList {\n    readonly length: number;\n    readonly ready: Promise<void>;\n    readonly selectedIndex: number;\n    readonly selectedTrack: ImageTrack | null;\n    [index: number]: ImageTrack;\n}\ndeclare var ImageTrackList: {\n    prototype: ImageTrackList;\n    new (): ImageTrackList;\n};\ninterface ImportMeta {\n    url: string;\n    resolve(specifier: string): string;\n}\ninterface InputDeviceInfo extends MediaDeviceInfo {\n    getCapabilities(): MediaTrackCapabilities;\n}\ndeclare var InputDeviceInfo: {\n    prototype: InputDeviceInfo;\n    new (): InputDeviceInfo;\n};\ninterface InputEvent extends UIEvent {\n    readonly data: string | null;\n    readonly dataTransfer: DataTransfer | null;\n    readonly inputType: string;\n    readonly isComposing: boolean;\n    getTargetRanges(): StaticRange[];\n}\ndeclare var InputEvent: {\n    prototype: InputEvent;\n    new (type: string, eventInitDict?: InputEventInit): InputEvent;\n};\ninterface IntersectionObserver {\n    readonly root: Element | Document | null;\n    readonly rootMargin: string;\n    readonly scrollMargin: string;\n    readonly thresholds: ReadonlyArray<number>;\n    disconnect(): void;\n    observe(target: Element): void;\n    takeRecords(): IntersectionObserverEntry[];\n    unobserve(target: Element): void;\n}\ndeclare var IntersectionObserver: {\n    prototype: IntersectionObserver;\n    new (callback: IntersectionObserverCallback, options?: IntersectionObserverInit): IntersectionObserver;\n};\ninterface IntersectionObserverEntry {\n    readonly boundingClientRect: DOMRectReadOnly;\n    readonly intersectionRatio: number;\n    readonly intersectionRect: DOMRectReadOnly;\n    readonly isIntersecting: boolean;\n    readonly rootBounds: DOMRectReadOnly | null;\n    readonly target: Element;\n    readonly time: DOMHighResTimeStamp;\n}\ndeclare var IntersectionObserverEntry: {\n    prototype: IntersectionObserverEntry;\n    new (): IntersectionObserverEntry;\n};\ninterface KHR_parallel_shader_compile {\n    readonly COMPLETION_STATUS_KHR: 37297;\n}\ninterface KeyboardEvent extends UIEvent {\n    readonly altKey: boolean;\n    readonly charCode: number;\n    readonly code: string;\n    readonly ctrlKey: boolean;\n    readonly isComposing: boolean;\n    readonly key: string;\n    readonly keyCode: number;\n    readonly location: number;\n    readonly metaKey: boolean;\n    readonly repeat: boolean;\n    readonly shiftKey: boolean;\n    getModifierState(keyArg: string): boolean;\n    initKeyboardEvent(typeArg: string, bubblesArg?: boolean, cancelableArg?: boolean, viewArg?: Window | null, keyArg?: string, locationArg?: number, ctrlKey?: boolean, altKey?: boolean, shiftKey?: boolean, metaKey?: boolean): void;\n    readonly DOM_KEY_LOCATION_STANDARD: 0;\n    readonly DOM_KEY_LOCATION_LEFT: 1;\n    readonly DOM_KEY_LOCATION_RIGHT: 2;\n    readonly DOM_KEY_LOCATION_NUMPAD: 3;\n}\ndeclare var KeyboardEvent: {\n    prototype: KeyboardEvent;\n    new (type: string, eventInitDict?: KeyboardEventInit): KeyboardEvent;\n    readonly DOM_KEY_LOCATION_STANDARD: 0;\n    readonly DOM_KEY_LOCATION_LEFT: 1;\n    readonly DOM_KEY_LOCATION_RIGHT: 2;\n    readonly DOM_KEY_LOCATION_NUMPAD: 3;\n};\ninterface KeyframeEffect extends AnimationEffect {\n    composite: CompositeOperation;\n    iterationComposite: IterationCompositeOperation;\n    pseudoElement: string | null;\n    target: Element | null;\n    getKeyframes(): ComputedKeyframe[];\n    setKeyframes(keyframes: Keyframe[] | PropertyIndexedKeyframes | null): void;\n}\ndeclare var KeyframeEffect: {\n    prototype: KeyframeEffect;\n    new (target: Element | null, keyframes: Keyframe[] | PropertyIndexedKeyframes | null, options?: number | KeyframeEffectOptions): KeyframeEffect;\n    new (source: KeyframeEffect): KeyframeEffect;\n};\ninterface LargestContentfulPaint extends PerformanceEntry, PaintTimingMixin {\n    readonly element: Element | null;\n    readonly id: string;\n    readonly loadTime: DOMHighResTimeStamp;\n    readonly renderTime: DOMHighResTimeStamp;\n    readonly size: number;\n    readonly url: string;\n    toJSON(): any;\n}\ndeclare var LargestContentfulPaint: {\n    prototype: LargestContentfulPaint;\n    new (): LargestContentfulPaint;\n};\ninterface LinkStyle {\n    readonly sheet: CSSStyleSheet | null;\n}\ninterface Location {\n    readonly ancestorOrigins: DOMStringList;\n    hash: string;\n    host: string;\n    hostname: string;\n    href: string;\n    toString(): string;\n    readonly origin: string;\n    pathname: string;\n    port: string;\n    protocol: string;\n    search: string;\n    assign(url: string | URL): void;\n    reload(): void;\n    replace(url: string | URL): void;\n}\ndeclare var Location: {\n    prototype: Location;\n    new (): Location;\n};\ninterface Lock {\n    readonly mode: LockMode;\n    readonly name: string;\n}\ndeclare var Lock: {\n    prototype: Lock;\n    new (): Lock;\n};\ninterface LockManager {\n    query(): Promise<LockManagerSnapshot>;\n    request<T>(name: string, callback: LockGrantedCallback<T>): Promise<Awaited<T>>;\n    request<T>(name: string, options: LockOptions, callback: LockGrantedCallback<T>): Promise<Awaited<T>>;\n}\ndeclare var LockManager: {\n    prototype: LockManager;\n    new (): LockManager;\n};\ninterface MIDIAccessEventMap {\n    \"statechange\": MIDIConnectionEvent;\n}\ninterface MIDIAccess extends EventTarget {\n    readonly inputs: MIDIInputMap;\n    onstatechange: ((this: MIDIAccess, ev: MIDIConnectionEvent) => any) | null;\n    readonly outputs: MIDIOutputMap;\n    readonly sysexEnabled: boolean;\n    addEventListener<K extends keyof MIDIAccessEventMap>(type: K, listener: (this: MIDIAccess, ev: MIDIAccessEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof MIDIAccessEventMap>(type: K, listener: (this: MIDIAccess, ev: MIDIAccessEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var MIDIAccess: {\n    prototype: MIDIAccess;\n    new (): MIDIAccess;\n};\ninterface MIDIConnectionEvent extends Event {\n    readonly port: MIDIPort | null;\n}\ndeclare var MIDIConnectionEvent: {\n    prototype: MIDIConnectionEvent;\n    new (type: string, eventInitDict?: MIDIConnectionEventInit): MIDIConnectionEvent;\n};\ninterface MIDIInputEventMap extends MIDIPortEventMap {\n    \"midimessage\": MIDIMessageEvent;\n}\ninterface MIDIInput extends MIDIPort {\n    onmidimessage: ((this: MIDIInput, ev: MIDIMessageEvent) => any) | null;\n    addEventListener<K extends keyof MIDIInputEventMap>(type: K, listener: (this: MIDIInput, ev: MIDIInputEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof MIDIInputEventMap>(type: K, listener: (this: MIDIInput, ev: MIDIInputEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var MIDIInput: {\n    prototype: MIDIInput;\n    new (): MIDIInput;\n};\ninterface MIDIInputMap {\n    forEach(callbackfn: (value: MIDIInput, key: string, parent: MIDIInputMap) => void, thisArg?: any): void;\n}\ndeclare var MIDIInputMap: {\n    prototype: MIDIInputMap;\n    new (): MIDIInputMap;\n};\ninterface MIDIMessageEvent extends Event {\n    readonly data: Uint8Array<ArrayBuffer> | null;\n}\ndeclare var MIDIMessageEvent: {\n    prototype: MIDIMessageEvent;\n    new (type: string, eventInitDict?: MIDIMessageEventInit): MIDIMessageEvent;\n};\ninterface MIDIOutput extends MIDIPort {\n    send(data: number[], timestamp?: DOMHighResTimeStamp): void;\n    addEventListener<K extends keyof MIDIPortEventMap>(type: K, listener: (this: MIDIOutput, ev: MIDIPortEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof MIDIPortEventMap>(type: K, listener: (this: MIDIOutput, ev: MIDIPortEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var MIDIOutput: {\n    prototype: MIDIOutput;\n    new (): MIDIOutput;\n};\ninterface MIDIOutputMap {\n    forEach(callbackfn: (value: MIDIOutput, key: string, parent: MIDIOutputMap) => void, thisArg?: any): void;\n}\ndeclare var MIDIOutputMap: {\n    prototype: MIDIOutputMap;\n    new (): MIDIOutputMap;\n};\ninterface MIDIPortEventMap {\n    \"statechange\": MIDIConnectionEvent;\n}\ninterface MIDIPort extends EventTarget {\n    readonly connection: MIDIPortConnectionState;\n    readonly id: string;\n    readonly manufacturer: string | null;\n    readonly name: string | null;\n    onstatechange: ((this: MIDIPort, ev: MIDIConnectionEvent) => any) | null;\n    readonly state: MIDIPortDeviceState;\n    readonly type: MIDIPortType;\n    readonly version: string | null;\n    close(): Promise<MIDIPort>;\n    open(): Promise<MIDIPort>;\n    addEventListener<K extends keyof MIDIPortEventMap>(type: K, listener: (this: MIDIPort, ev: MIDIPortEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof MIDIPortEventMap>(type: K, listener: (this: MIDIPort, ev: MIDIPortEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var MIDIPort: {\n    prototype: MIDIPort;\n    new (): MIDIPort;\n};\ninterface MathMLElementEventMap extends ElementEventMap, GlobalEventHandlersEventMap {\n}\ninterface MathMLElement extends Element, ElementCSSInlineStyle, GlobalEventHandlers, HTMLOrSVGElement {\n    addEventListener<K extends keyof MathMLElementEventMap>(type: K, listener: (this: MathMLElement, ev: MathMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof MathMLElementEventMap>(type: K, listener: (this: MathMLElement, ev: MathMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var MathMLElement: {\n    prototype: MathMLElement;\n    new (): MathMLElement;\n};\ninterface MediaCapabilities {\n    decodingInfo(configuration: MediaDecodingConfiguration): Promise<MediaCapabilitiesDecodingInfo>;\n    encodingInfo(configuration: MediaEncodingConfiguration): Promise<MediaCapabilitiesEncodingInfo>;\n}\ndeclare var MediaCapabilities: {\n    prototype: MediaCapabilities;\n    new (): MediaCapabilities;\n};\ninterface MediaDeviceInfo {\n    readonly deviceId: string;\n    readonly groupId: string;\n    readonly kind: MediaDeviceKind;\n    readonly label: string;\n    toJSON(): any;\n}\ndeclare var MediaDeviceInfo: {\n    prototype: MediaDeviceInfo;\n    new (): MediaDeviceInfo;\n};\ninterface MediaDevicesEventMap {\n    \"devicechange\": Event;\n}\ninterface MediaDevices extends EventTarget {\n    ondevicechange: ((this: MediaDevices, ev: Event) => any) | null;\n    enumerateDevices(): Promise<MediaDeviceInfo[]>;\n    getDisplayMedia(options?: DisplayMediaStreamOptions): Promise<MediaStream>;\n    getSupportedConstraints(): MediaTrackSupportedConstraints;\n    getUserMedia(constraints?: MediaStreamConstraints): Promise<MediaStream>;\n    addEventListener<K extends keyof MediaDevicesEventMap>(type: K, listener: (this: MediaDevices, ev: MediaDevicesEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof MediaDevicesEventMap>(type: K, listener: (this: MediaDevices, ev: MediaDevicesEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var MediaDevices: {\n    prototype: MediaDevices;\n    new (): MediaDevices;\n};\ninterface MediaElementAudioSourceNode extends AudioNode {\n    readonly mediaElement: HTMLMediaElement;\n}\ndeclare var MediaElementAudioSourceNode: {\n    prototype: MediaElementAudioSourceNode;\n    new (context: AudioContext, options: MediaElementAudioSourceOptions): MediaElementAudioSourceNode;\n};\ninterface MediaEncryptedEvent extends Event {\n    readonly initData: ArrayBuffer | null;\n    readonly initDataType: string;\n}\ndeclare var MediaEncryptedEvent: {\n    prototype: MediaEncryptedEvent;\n    new (type: string, eventInitDict?: MediaEncryptedEventInit): MediaEncryptedEvent;\n};\ninterface MediaError {\n    readonly code: number;\n    readonly message: string;\n    readonly MEDIA_ERR_ABORTED: 1;\n    readonly MEDIA_ERR_NETWORK: 2;\n    readonly MEDIA_ERR_DECODE: 3;\n    readonly MEDIA_ERR_SRC_NOT_SUPPORTED: 4;\n}\ndeclare var MediaError: {\n    prototype: MediaError;\n    new (): MediaError;\n    readonly MEDIA_ERR_ABORTED: 1;\n    readonly MEDIA_ERR_NETWORK: 2;\n    readonly MEDIA_ERR_DECODE: 3;\n    readonly MEDIA_ERR_SRC_NOT_SUPPORTED: 4;\n};\ninterface MediaKeyMessageEvent extends Event {\n    readonly message: ArrayBuffer;\n    readonly messageType: MediaKeyMessageType;\n}\ndeclare var MediaKeyMessageEvent: {\n    prototype: MediaKeyMessageEvent;\n    new (type: string, eventInitDict: MediaKeyMessageEventInit): MediaKeyMessageEvent;\n};\ninterface MediaKeySessionEventMap {\n    \"keystatuseschange\": Event;\n    \"message\": MediaKeyMessageEvent;\n}\ninterface MediaKeySession extends EventTarget {\n    readonly closed: Promise<MediaKeySessionClosedReason>;\n    readonly expiration: number;\n    readonly keyStatuses: MediaKeyStatusMap;\n    onkeystatuseschange: ((this: MediaKeySession, ev: Event) => any) | null;\n    onmessage: ((this: MediaKeySession, ev: MediaKeyMessageEvent) => any) | null;\n    readonly sessionId: string;\n    close(): Promise<void>;\n    generateRequest(initDataType: string, initData: BufferSource): Promise<void>;\n    load(sessionId: string): Promise<boolean>;\n    remove(): Promise<void>;\n    update(response: BufferSource): Promise<void>;\n    addEventListener<K extends keyof MediaKeySessionEventMap>(type: K, listener: (this: MediaKeySession, ev: MediaKeySessionEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof MediaKeySessionEventMap>(type: K, listener: (this: MediaKeySession, ev: MediaKeySessionEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var MediaKeySession: {\n    prototype: MediaKeySession;\n    new (): MediaKeySession;\n};\ninterface MediaKeyStatusMap {\n    readonly size: number;\n    get(keyId: BufferSource): MediaKeyStatus | undefined;\n    has(keyId: BufferSource): boolean;\n    forEach(callbackfn: (value: MediaKeyStatus, key: BufferSource, parent: MediaKeyStatusMap) => void, thisArg?: any): void;\n}\ndeclare var MediaKeyStatusMap: {\n    prototype: MediaKeyStatusMap;\n    new (): MediaKeyStatusMap;\n};\ninterface MediaKeySystemAccess {\n    readonly keySystem: string;\n    createMediaKeys(): Promise<MediaKeys>;\n    getConfiguration(): MediaKeySystemConfiguration;\n}\ndeclare var MediaKeySystemAccess: {\n    prototype: MediaKeySystemAccess;\n    new (): MediaKeySystemAccess;\n};\ninterface MediaKeys {\n    createSession(sessionType?: MediaKeySessionType): MediaKeySession;\n    getStatusForPolicy(policy?: MediaKeysPolicy): Promise<MediaKeyStatus>;\n    setServerCertificate(serverCertificate: BufferSource): Promise<boolean>;\n}\ndeclare var MediaKeys: {\n    prototype: MediaKeys;\n    new (): MediaKeys;\n};\ninterface MediaList {\n    readonly length: number;\n    mediaText: string;\n    toString(): string;\n    appendMedium(medium: string): void;\n    deleteMedium(medium: string): void;\n    item(index: number): string | null;\n    [index: number]: string;\n}\ndeclare var MediaList: {\n    prototype: MediaList;\n    new (): MediaList;\n};\ninterface MediaMetadata {\n    album: string;\n    artist: string;\n    artwork: ReadonlyArray<MediaImage>;\n    title: string;\n}\ndeclare var MediaMetadata: {\n    prototype: MediaMetadata;\n    new (init?: MediaMetadataInit): MediaMetadata;\n};\ninterface MediaQueryListEventMap {\n    \"change\": MediaQueryListEvent;\n}\ninterface MediaQueryList extends EventTarget {\n    readonly matches: boolean;\n    readonly media: string;\n    onchange: ((this: MediaQueryList, ev: MediaQueryListEvent) => any) | null;\n    addListener(callback: ((this: MediaQueryList, ev: MediaQueryListEvent) => any) | null): void;\n    removeListener(callback: ((this: MediaQueryList, ev: MediaQueryListEvent) => any) | null): void;\n    addEventListener<K extends keyof MediaQueryListEventMap>(type: K, listener: (this: MediaQueryList, ev: MediaQueryListEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof MediaQueryListEventMap>(type: K, listener: (this: MediaQueryList, ev: MediaQueryListEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var MediaQueryList: {\n    prototype: MediaQueryList;\n    new (): MediaQueryList;\n};\ninterface MediaQueryListEvent extends Event {\n    readonly matches: boolean;\n    readonly media: string;\n}\ndeclare var MediaQueryListEvent: {\n    prototype: MediaQueryListEvent;\n    new (type: string, eventInitDict?: MediaQueryListEventInit): MediaQueryListEvent;\n};\ninterface MediaRecorderEventMap {\n    \"dataavailable\": BlobEvent;\n    \"error\": ErrorEvent;\n    \"pause\": Event;\n    \"resume\": Event;\n    \"start\": Event;\n    \"stop\": Event;\n}\ninterface MediaRecorder extends EventTarget {\n    readonly audioBitsPerSecond: number;\n    readonly mimeType: string;\n    ondataavailable: ((this: MediaRecorder, ev: BlobEvent) => any) | null;\n    onerror: ((this: MediaRecorder, ev: ErrorEvent) => any) | null;\n    onpause: ((this: MediaRecorder, ev: Event) => any) | null;\n    onresume: ((this: MediaRecorder, ev: Event) => any) | null;\n    onstart: ((this: MediaRecorder, ev: Event) => any) | null;\n    onstop: ((this: MediaRecorder, ev: Event) => any) | null;\n    readonly state: RecordingState;\n    readonly stream: MediaStream;\n    readonly videoBitsPerSecond: number;\n    pause(): void;\n    requestData(): void;\n    resume(): void;\n    start(timeslice?: number): void;\n    stop(): void;\n    addEventListener<K extends keyof MediaRecorderEventMap>(type: K, listener: (this: MediaRecorder, ev: MediaRecorderEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof MediaRecorderEventMap>(type: K, listener: (this: MediaRecorder, ev: MediaRecorderEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var MediaRecorder: {\n    prototype: MediaRecorder;\n    new (stream: MediaStream, options?: MediaRecorderOptions): MediaRecorder;\n    isTypeSupported(type: string): boolean;\n};\ninterface MediaSession {\n    metadata: MediaMetadata | null;\n    playbackState: MediaSessionPlaybackState;\n    setActionHandler(action: MediaSessionAction, handler: MediaSessionActionHandler | null): void;\n    setCameraActive(active: boolean): Promise<void>;\n    setMicrophoneActive(active: boolean): Promise<void>;\n    setPositionState(state?: MediaPositionState): void;\n}\ndeclare var MediaSession: {\n    prototype: MediaSession;\n    new (): MediaSession;\n};\ninterface MediaSourceEventMap {\n    \"sourceclose\": Event;\n    \"sourceended\": Event;\n    \"sourceopen\": Event;\n}\ninterface MediaSource extends EventTarget {\n    readonly activeSourceBuffers: SourceBufferList;\n    duration: number;\n    onsourceclose: ((this: MediaSource, ev: Event) => any) | null;\n    onsourceended: ((this: MediaSource, ev: Event) => any) | null;\n    onsourceopen: ((this: MediaSource, ev: Event) => any) | null;\n    readonly readyState: ReadyState;\n    readonly sourceBuffers: SourceBufferList;\n    addSourceBuffer(type: string): SourceBuffer;\n    clearLiveSeekableRange(): void;\n    endOfStream(error?: EndOfStreamError): void;\n    removeSourceBuffer(sourceBuffer: SourceBuffer): void;\n    setLiveSeekableRange(start: number, end: number): void;\n    addEventListener<K extends keyof MediaSourceEventMap>(type: K, listener: (this: MediaSource, ev: MediaSourceEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof MediaSourceEventMap>(type: K, listener: (this: MediaSource, ev: MediaSourceEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var MediaSource: {\n    prototype: MediaSource;\n    new (): MediaSource;\n    readonly canConstructInDedicatedWorker: boolean;\n    isTypeSupported(type: string): boolean;\n};\ninterface MediaSourceHandle {\n}\ndeclare var MediaSourceHandle: {\n    prototype: MediaSourceHandle;\n    new (): MediaSourceHandle;\n};\ninterface MediaStreamEventMap {\n    \"addtrack\": MediaStreamTrackEvent;\n    \"removetrack\": MediaStreamTrackEvent;\n}\ninterface MediaStream extends EventTarget {\n    readonly active: boolean;\n    readonly id: string;\n    onaddtrack: ((this: MediaStream, ev: MediaStreamTrackEvent) => any) | null;\n    onremovetrack: ((this: MediaStream, ev: MediaStreamTrackEvent) => any) | null;\n    addTrack(track: MediaStreamTrack): void;\n    clone(): MediaStream;\n    getAudioTracks(): MediaStreamTrack[];\n    getTrackById(trackId: string): MediaStreamTrack | null;\n    getTracks(): MediaStreamTrack[];\n    getVideoTracks(): MediaStreamTrack[];\n    removeTrack(track: MediaStreamTrack): void;\n    addEventListener<K extends keyof MediaStreamEventMap>(type: K, listener: (this: MediaStream, ev: MediaStreamEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof MediaStreamEventMap>(type: K, listener: (this: MediaStream, ev: MediaStreamEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var MediaStream: {\n    prototype: MediaStream;\n    new (): MediaStream;\n    new (stream: MediaStream): MediaStream;\n    new (tracks: MediaStreamTrack[]): MediaStream;\n};\ninterface MediaStreamAudioDestinationNode extends AudioNode {\n    readonly stream: MediaStream;\n}\ndeclare var MediaStreamAudioDestinationNode: {\n    prototype: MediaStreamAudioDestinationNode;\n    new (context: AudioContext, options?: AudioNodeOptions): MediaStreamAudioDestinationNode;\n};\ninterface MediaStreamAudioSourceNode extends AudioNode {\n    readonly mediaStream: MediaStream;\n}\ndeclare var MediaStreamAudioSourceNode: {\n    prototype: MediaStreamAudioSourceNode;\n    new (context: AudioContext, options: MediaStreamAudioSourceOptions): MediaStreamAudioSourceNode;\n};\ninterface MediaStreamTrackEventMap {\n    \"ended\": Event;\n    \"mute\": Event;\n    \"unmute\": Event;\n}\ninterface MediaStreamTrack extends EventTarget {\n    contentHint: string;\n    enabled: boolean;\n    readonly id: string;\n    readonly kind: string;\n    readonly label: string;\n    readonly muted: boolean;\n    onended: ((this: MediaStreamTrack, ev: Event) => any) | null;\n    onmute: ((this: MediaStreamTrack, ev: Event) => any) | null;\n    onunmute: ((this: MediaStreamTrack, ev: Event) => any) | null;\n    readonly readyState: MediaStreamTrackState;\n    applyConstraints(constraints?: MediaTrackConstraints): Promise<void>;\n    clone(): MediaStreamTrack;\n    getCapabilities(): MediaTrackCapabilities;\n    getConstraints(): MediaTrackConstraints;\n    getSettings(): MediaTrackSettings;\n    stop(): void;\n    addEventListener<K extends keyof MediaStreamTrackEventMap>(type: K, listener: (this: MediaStreamTrack, ev: MediaStreamTrackEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof MediaStreamTrackEventMap>(type: K, listener: (this: MediaStreamTrack, ev: MediaStreamTrackEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var MediaStreamTrack: {\n    prototype: MediaStreamTrack;\n    new (): MediaStreamTrack;\n};\ninterface MediaStreamTrackEvent extends Event {\n    readonly track: MediaStreamTrack;\n}\ndeclare var MediaStreamTrackEvent: {\n    prototype: MediaStreamTrackEvent;\n    new (type: string, eventInitDict: MediaStreamTrackEventInit): MediaStreamTrackEvent;\n};\ninterface MessageChannel {\n    readonly port1: MessagePort;\n    readonly port2: MessagePort;\n}\ndeclare var MessageChannel: {\n    prototype: MessageChannel;\n    new (): MessageChannel;\n};\ninterface MessageEvent<T = any> extends Event {\n    readonly data: T;\n    readonly lastEventId: string;\n    readonly origin: string;\n    readonly ports: ReadonlyArray<MessagePort>;\n    readonly source: MessageEventSource | null;\n    initMessageEvent(type: string, bubbles?: boolean, cancelable?: boolean, data?: any, origin?: string, lastEventId?: string, source?: MessageEventSource | null, ports?: MessagePort[]): void;\n}\ndeclare var MessageEvent: {\n    prototype: MessageEvent;\n    new <T>(type: string, eventInitDict?: MessageEventInit<T>): MessageEvent<T>;\n};\ninterface MessageEventTargetEventMap {\n    \"message\": MessageEvent;\n    \"messageerror\": MessageEvent;\n}\ninterface MessageEventTarget<T> {\n    onmessage: ((this: T, ev: MessageEvent) => any) | null;\n    onmessageerror: ((this: T, ev: MessageEvent) => any) | null;\n    addEventListener<K extends keyof MessageEventTargetEventMap>(type: K, listener: (this: T, ev: MessageEventTargetEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof MessageEventTargetEventMap>(type: K, listener: (this: T, ev: MessageEventTargetEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ninterface MessagePortEventMap extends MessageEventTargetEventMap {\n    \"message\": MessageEvent;\n    \"messageerror\": MessageEvent;\n}\ninterface MessagePort extends EventTarget, MessageEventTarget<MessagePort> {\n    close(): void;\n    postMessage(message: any, transfer: Transferable[]): void;\n    postMessage(message: any, options?: StructuredSerializeOptions): void;\n    start(): void;\n    addEventListener<K extends keyof MessagePortEventMap>(type: K, listener: (this: MessagePort, ev: MessagePortEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof MessagePortEventMap>(type: K, listener: (this: MessagePort, ev: MessagePortEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var MessagePort: {\n    prototype: MessagePort;\n    new (): MessagePort;\n};\ninterface MimeType {\n    readonly description: string;\n    readonly enabledPlugin: Plugin;\n    readonly suffixes: string;\n    readonly type: string;\n}\ndeclare var MimeType: {\n    prototype: MimeType;\n    new (): MimeType;\n};\ninterface MimeTypeArray {\n    readonly length: number;\n    item(index: number): MimeType | null;\n    namedItem(name: string): MimeType | null;\n    [index: number]: MimeType;\n}\ndeclare var MimeTypeArray: {\n    prototype: MimeTypeArray;\n    new (): MimeTypeArray;\n};\ninterface MouseEvent extends UIEvent {\n    readonly altKey: boolean;\n    readonly button: number;\n    readonly buttons: number;\n    readonly clientX: number;\n    readonly clientY: number;\n    readonly ctrlKey: boolean;\n    readonly layerX: number;\n    readonly layerY: number;\n    readonly metaKey: boolean;\n    readonly movementX: number;\n    readonly movementY: number;\n    readonly offsetX: number;\n    readonly offsetY: number;\n    readonly pageX: number;\n    readonly pageY: number;\n    readonly relatedTarget: EventTarget | null;\n    readonly screenX: number;\n    readonly screenY: number;\n    readonly shiftKey: boolean;\n    readonly x: number;\n    readonly y: number;\n    getModifierState(keyArg: string): boolean;\n    initMouseEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, viewArg: Window, detailArg: number, screenXArg: number, screenYArg: number, clientXArg: number, clientYArg: number, ctrlKeyArg: boolean, altKeyArg: boolean, shiftKeyArg: boolean, metaKeyArg: boolean, buttonArg: number, relatedTargetArg: EventTarget | null): void;\n}\ndeclare var MouseEvent: {\n    prototype: MouseEvent;\n    new (type: string, eventInitDict?: MouseEventInit): MouseEvent;\n};\ninterface MutationObserver {\n    disconnect(): void;\n    observe(target: Node, options?: MutationObserverInit): void;\n    takeRecords(): MutationRecord[];\n}\ndeclare var MutationObserver: {\n    prototype: MutationObserver;\n    new (callback: MutationCallback): MutationObserver;\n};\ninterface MutationRecord {\n    readonly addedNodes: NodeList;\n    readonly attributeName: string | null;\n    readonly attributeNamespace: string | null;\n    readonly nextSibling: Node | null;\n    readonly oldValue: string | null;\n    readonly previousSibling: Node | null;\n    readonly removedNodes: NodeList;\n    readonly target: Node;\n    readonly type: MutationRecordType;\n}\ndeclare var MutationRecord: {\n    prototype: MutationRecord;\n    new (): MutationRecord;\n};\ninterface NamedNodeMap {\n    readonly length: number;\n    getNamedItem(qualifiedName: string): Attr | null;\n    getNamedItemNS(namespace: string | null, localName: string): Attr | null;\n    item(index: number): Attr | null;\n    removeNamedItem(qualifiedName: string): Attr;\n    removeNamedItemNS(namespace: string | null, localName: string): Attr;\n    setNamedItem(attr: Attr): Attr | null;\n    setNamedItemNS(attr: Attr): Attr | null;\n    [index: number]: Attr;\n}\ndeclare var NamedNodeMap: {\n    prototype: NamedNodeMap;\n    new (): NamedNodeMap;\n};\ninterface NavigateEvent extends Event {\n    readonly canIntercept: boolean;\n    readonly destination: NavigationDestination;\n    readonly downloadRequest: string | null;\n    readonly formData: FormData | null;\n    readonly hasUAVisualTransition: boolean;\n    readonly hashChange: boolean;\n    readonly info: any;\n    readonly navigationType: NavigationType;\n    readonly signal: AbortSignal;\n    readonly sourceElement: Element | null;\n    readonly userInitiated: boolean;\n    intercept(options?: NavigationInterceptOptions): void;\n    scroll(): void;\n}\ndeclare var NavigateEvent: {\n    prototype: NavigateEvent;\n    new (type: string, eventInitDict: NavigateEventInit): NavigateEvent;\n};\ninterface NavigationEventMap {\n    \"currententrychange\": NavigationCurrentEntryChangeEvent;\n    \"navigate\": NavigateEvent;\n    \"navigateerror\": ErrorEvent;\n    \"navigatesuccess\": Event;\n}\ninterface Navigation extends EventTarget {\n    readonly activation: NavigationActivation | null;\n    readonly canGoBack: boolean;\n    readonly canGoForward: boolean;\n    readonly currentEntry: NavigationHistoryEntry | null;\n    oncurrententrychange: ((this: Navigation, ev: NavigationCurrentEntryChangeEvent) => any) | null;\n    onnavigate: ((this: Navigation, ev: NavigateEvent) => any) | null;\n    onnavigateerror: ((this: Navigation, ev: ErrorEvent) => any) | null;\n    onnavigatesuccess: ((this: Navigation, ev: Event) => any) | null;\n    readonly transition: NavigationTransition | null;\n    back(options?: NavigationOptions): NavigationResult;\n    entries(): NavigationHistoryEntry[];\n    forward(options?: NavigationOptions): NavigationResult;\n    navigate(url: string | URL, options?: NavigationNavigateOptions): NavigationResult;\n    reload(options?: NavigationReloadOptions): NavigationResult;\n    traverseTo(key: string, options?: NavigationOptions): NavigationResult;\n    updateCurrentEntry(options: NavigationUpdateCurrentEntryOptions): void;\n    addEventListener<K extends keyof NavigationEventMap>(type: K, listener: (this: Navigation, ev: NavigationEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof NavigationEventMap>(type: K, listener: (this: Navigation, ev: NavigationEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var Navigation: {\n    prototype: Navigation;\n    new (): Navigation;\n};\ninterface NavigationActivation {\n    readonly entry: NavigationHistoryEntry;\n    readonly from: NavigationHistoryEntry | null;\n    readonly navigationType: NavigationType;\n}\ndeclare var NavigationActivation: {\n    prototype: NavigationActivation;\n    new (): NavigationActivation;\n};\ninterface NavigationCurrentEntryChangeEvent extends Event {\n    readonly from: NavigationHistoryEntry;\n    readonly navigationType: NavigationType | null;\n}\ndeclare var NavigationCurrentEntryChangeEvent: {\n    prototype: NavigationCurrentEntryChangeEvent;\n    new (type: string, eventInitDict: NavigationCurrentEntryChangeEventInit): NavigationCurrentEntryChangeEvent;\n};\ninterface NavigationDestination {\n    readonly id: string;\n    readonly index: number;\n    readonly key: string;\n    readonly sameDocument: boolean;\n    readonly url: string;\n    getState(): any;\n}\ndeclare var NavigationDestination: {\n    prototype: NavigationDestination;\n    new (): NavigationDestination;\n};\ninterface NavigationHistoryEntryEventMap {\n    \"dispose\": Event;\n}\ninterface NavigationHistoryEntry extends EventTarget {\n    readonly id: string;\n    readonly index: number;\n    readonly key: string;\n    ondispose: ((this: NavigationHistoryEntry, ev: Event) => any) | null;\n    readonly sameDocument: boolean;\n    readonly url: string | null;\n    getState(): any;\n    addEventListener<K extends keyof NavigationHistoryEntryEventMap>(type: K, listener: (this: NavigationHistoryEntry, ev: NavigationHistoryEntryEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof NavigationHistoryEntryEventMap>(type: K, listener: (this: NavigationHistoryEntry, ev: NavigationHistoryEntryEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var NavigationHistoryEntry: {\n    prototype: NavigationHistoryEntry;\n    new (): NavigationHistoryEntry;\n};\ninterface NavigationPrecommitController {\n    addHandler(handler: NavigationInterceptHandler): void;\n    redirect(url: string | URL, options?: NavigationNavigateOptions): void;\n}\ndeclare var NavigationPrecommitController: {\n    prototype: NavigationPrecommitController;\n    new (): NavigationPrecommitController;\n};\ninterface NavigationPreloadManager {\n    disable(): Promise<void>;\n    enable(): Promise<void>;\n    getState(): Promise<NavigationPreloadState>;\n    setHeaderValue(value: string): Promise<void>;\n}\ndeclare var NavigationPreloadManager: {\n    prototype: NavigationPreloadManager;\n    new (): NavigationPreloadManager;\n};\ninterface NavigationTransition {\n    readonly committed: Promise<void>;\n    readonly finished: Promise<void>;\n    readonly from: NavigationHistoryEntry;\n    readonly navigationType: NavigationType;\n}\ndeclare var NavigationTransition: {\n    prototype: NavigationTransition;\n    new (): NavigationTransition;\n};\ninterface Navigator extends NavigatorAutomationInformation, NavigatorBadge, NavigatorConcurrentHardware, NavigatorContentUtils, NavigatorCookies, NavigatorGPU, NavigatorID, NavigatorLanguage, NavigatorLocks, NavigatorOnLine, NavigatorPlugins, NavigatorStorage {\n    readonly clipboard: Clipboard;\n    readonly credentials: CredentialsContainer;\n    readonly doNotTrack: string | null;\n    readonly geolocation: Geolocation;\n    readonly login: NavigatorLogin;\n    readonly maxTouchPoints: number;\n    readonly mediaCapabilities: MediaCapabilities;\n    readonly mediaDevices: MediaDevices;\n    readonly mediaSession: MediaSession;\n    readonly permissions: Permissions;\n    readonly serviceWorker: ServiceWorkerContainer;\n    readonly userActivation: UserActivation;\n    readonly wakeLock: WakeLock;\n    canShare(data?: ShareData): boolean;\n    getGamepads(): (Gamepad | null)[];\n    requestMIDIAccess(options?: MIDIOptions): Promise<MIDIAccess>;\n    requestMediaKeySystemAccess(keySystem: string, supportedConfigurations: MediaKeySystemConfiguration[]): Promise<MediaKeySystemAccess>;\n    sendBeacon(url: string | URL, data?: BodyInit | null): boolean;\n    share(data?: ShareData): Promise<void>;\n    vibrate(pattern: VibratePattern): boolean;\n}\ndeclare var Navigator: {\n    prototype: Navigator;\n    new (): Navigator;\n};\ninterface NavigatorAutomationInformation {\n    readonly webdriver: boolean;\n}\ninterface NavigatorBadge {\n    clearAppBadge(): Promise<void>;\n    setAppBadge(contents?: number): Promise<void>;\n}\ninterface NavigatorConcurrentHardware {\n    readonly hardwareConcurrency: number;\n}\ninterface NavigatorContentUtils {\n    registerProtocolHandler(scheme: string, url: string | URL): void;\n}\ninterface NavigatorCookies {\n    readonly cookieEnabled: boolean;\n}\ninterface NavigatorGPU {\n    readonly gpu: GPU;\n}\ninterface NavigatorID {\n    readonly appCodeName: string;\n    readonly appName: string;\n    readonly appVersion: string;\n    readonly platform: string;\n    readonly product: string;\n    readonly productSub: string;\n    readonly userAgent: string;\n    readonly vendor: string;\n    readonly vendorSub: string;\n}\ninterface NavigatorLanguage {\n    readonly language: string;\n    readonly languages: ReadonlyArray<string>;\n}\ninterface NavigatorLocks {\n    readonly locks: LockManager;\n}\ninterface NavigatorLogin {\n    setStatus(status: LoginStatus): Promise<void>;\n}\ndeclare var NavigatorLogin: {\n    prototype: NavigatorLogin;\n    new (): NavigatorLogin;\n};\ninterface NavigatorOnLine {\n    readonly onLine: boolean;\n}\ninterface NavigatorPlugins {\n    readonly mimeTypes: MimeTypeArray;\n    readonly pdfViewerEnabled: boolean;\n    readonly plugins: PluginArray;\n    javaEnabled(): boolean;\n}\ninterface NavigatorStorage {\n    readonly storage: StorageManager;\n}\ninterface Node extends EventTarget {\n    readonly baseURI: string;\n    readonly childNodes: NodeListOf<ChildNode>;\n    readonly firstChild: ChildNode | null;\n    readonly isConnected: boolean;\n    readonly lastChild: ChildNode | null;\n    readonly nextSibling: ChildNode | null;\n    readonly nodeName: string;\n    readonly nodeType: number;\n    nodeValue: string | null;\n    readonly ownerDocument: Document | null;\n    readonly parentElement: HTMLElement | null;\n    readonly parentNode: ParentNode | null;\n    readonly previousSibling: ChildNode | null;\n    textContent: string | null;\n    appendChild<T extends Node>(node: T): T;\n    cloneNode(subtree?: boolean): Node;\n    compareDocumentPosition(other: Node): number;\n    contains(other: Node | null): boolean;\n    getRootNode(options?: GetRootNodeOptions): Node;\n    hasChildNodes(): boolean;\n    insertBefore<T extends Node>(node: T, child: Node | null): T;\n    isDefaultNamespace(namespace: string | null): boolean;\n    isEqualNode(otherNode: Node | null): boolean;\n    isSameNode(otherNode: Node | null): boolean;\n    lookupNamespaceURI(prefix: string | null): string | null;\n    lookupPrefix(namespace: string | null): string | null;\n    normalize(): void;\n    removeChild<T extends Node>(child: T): T;\n    replaceChild<T extends Node>(node: Node, child: T): T;\n    readonly ELEMENT_NODE: 1;\n    readonly ATTRIBUTE_NODE: 2;\n    readonly TEXT_NODE: 3;\n    readonly CDATA_SECTION_NODE: 4;\n    readonly ENTITY_REFERENCE_NODE: 5;\n    readonly ENTITY_NODE: 6;\n    readonly PROCESSING_INSTRUCTION_NODE: 7;\n    readonly COMMENT_NODE: 8;\n    readonly DOCUMENT_NODE: 9;\n    readonly DOCUMENT_TYPE_NODE: 10;\n    readonly DOCUMENT_FRAGMENT_NODE: 11;\n    readonly NOTATION_NODE: 12;\n    readonly DOCUMENT_POSITION_DISCONNECTED: 1;\n    readonly DOCUMENT_POSITION_PRECEDING: 2;\n    readonly DOCUMENT_POSITION_FOLLOWING: 4;\n    readonly DOCUMENT_POSITION_CONTAINS: 8;\n    readonly DOCUMENT_POSITION_CONTAINED_BY: 16;\n    readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: 32;\n}\ndeclare var Node: {\n    prototype: Node;\n    new (): Node;\n    readonly ELEMENT_NODE: 1;\n    readonly ATTRIBUTE_NODE: 2;\n    readonly TEXT_NODE: 3;\n    readonly CDATA_SECTION_NODE: 4;\n    readonly ENTITY_REFERENCE_NODE: 5;\n    readonly ENTITY_NODE: 6;\n    readonly PROCESSING_INSTRUCTION_NODE: 7;\n    readonly COMMENT_NODE: 8;\n    readonly DOCUMENT_NODE: 9;\n    readonly DOCUMENT_TYPE_NODE: 10;\n    readonly DOCUMENT_FRAGMENT_NODE: 11;\n    readonly NOTATION_NODE: 12;\n    readonly DOCUMENT_POSITION_DISCONNECTED: 1;\n    readonly DOCUMENT_POSITION_PRECEDING: 2;\n    readonly DOCUMENT_POSITION_FOLLOWING: 4;\n    readonly DOCUMENT_POSITION_CONTAINS: 8;\n    readonly DOCUMENT_POSITION_CONTAINED_BY: 16;\n    readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: 32;\n};\ninterface NodeIterator {\n    readonly filter: NodeFilter | null;\n    readonly pointerBeforeReferenceNode: boolean;\n    readonly referenceNode: Node;\n    readonly root: Node;\n    readonly whatToShow: number;\n    detach(): void;\n    nextNode(): Node | null;\n    previousNode(): Node | null;\n}\ndeclare var NodeIterator: {\n    prototype: NodeIterator;\n    new (): NodeIterator;\n};\ninterface NodeList {\n    readonly length: number;\n    item(index: number): Node | null;\n    forEach(callbackfn: (value: Node, key: number, parent: NodeList) => void, thisArg?: any): void;\n    [index: number]: Node;\n}\ndeclare var NodeList: {\n    prototype: NodeList;\n    new (): NodeList;\n};\ninterface NodeListOf<TNode extends Node> extends NodeList {\n    item(index: number): TNode;\n    forEach(callbackfn: (value: TNode, key: number, parent: NodeListOf<TNode>) => void, thisArg?: any): void;\n    [index: number]: TNode;\n}\ninterface NonDocumentTypeChildNode {\n    readonly nextElementSibling: Element | null;\n    readonly previousElementSibling: Element | null;\n}\ninterface NonElementParentNode {\n    getElementById(elementId: string): Element | null;\n}\ninterface NotificationEventMap {\n    \"click\": Event;\n    \"close\": Event;\n    \"error\": Event;\n    \"show\": Event;\n}\ninterface Notification extends EventTarget {\n    readonly body: string;\n    readonly data: any;\n    readonly dir: NotificationDirection;\n    readonly icon: string;\n    readonly lang: string;\n    onclick: ((this: Notification, ev: Event) => any) | null;\n    onclose: ((this: Notification, ev: Event) => any) | null;\n    onerror: ((this: Notification, ev: Event) => any) | null;\n    onshow: ((this: Notification, ev: Event) => any) | null;\n    readonly requireInteraction: boolean;\n    readonly silent: boolean | null;\n    readonly tag: string;\n    readonly title: string;\n    close(): void;\n    addEventListener<K extends keyof NotificationEventMap>(type: K, listener: (this: Notification, ev: NotificationEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof NotificationEventMap>(type: K, listener: (this: Notification, ev: NotificationEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var Notification: {\n    prototype: Notification;\n    new (title: string, options?: NotificationOptions): Notification;\n    readonly permission: NotificationPermission;\n    requestPermission(deprecatedCallback?: NotificationPermissionCallback): Promise<NotificationPermission>;\n};\ninterface OES_draw_buffers_indexed {\n    blendEquationSeparateiOES(buf: GLuint, modeRGB: GLenum, modeAlpha: GLenum): void;\n    blendEquationiOES(buf: GLuint, mode: GLenum): void;\n    blendFuncSeparateiOES(buf: GLuint, srcRGB: GLenum, dstRGB: GLenum, srcAlpha: GLenum, dstAlpha: GLenum): void;\n    blendFunciOES(buf: GLuint, src: GLenum, dst: GLenum): void;\n    colorMaskiOES(buf: GLuint, r: GLboolean, g: GLboolean, b: GLboolean, a: GLboolean): void;\n    disableiOES(target: GLenum, index: GLuint): void;\n    enableiOES(target: GLenum, index: GLuint): void;\n}\ninterface OES_element_index_uint {\n}\ninterface OES_fbo_render_mipmap {\n}\ninterface OES_standard_derivatives {\n    readonly FRAGMENT_SHADER_DERIVATIVE_HINT_OES: 35723;\n}\ninterface OES_texture_float {\n}\ninterface OES_texture_float_linear {\n}\ninterface OES_texture_half_float {\n    readonly HALF_FLOAT_OES: 36193;\n}\ninterface OES_texture_half_float_linear {\n}\ninterface OES_vertex_array_object {\n    bindVertexArrayOES(arrayObject: WebGLVertexArrayObjectOES | null): void;\n    createVertexArrayOES(): WebGLVertexArrayObjectOES;\n    deleteVertexArrayOES(arrayObject: WebGLVertexArrayObjectOES | null): void;\n    isVertexArrayOES(arrayObject: WebGLVertexArrayObjectOES | null): GLboolean;\n    readonly VERTEX_ARRAY_BINDING_OES: 34229;\n}\ninterface OVR_multiview2 {\n    framebufferTextureMultiviewOVR(target: GLenum, attachment: GLenum, texture: WebGLTexture | null, level: GLint, baseViewIndex: GLint, numViews: GLsizei): void;\n    readonly FRAMEBUFFER_ATTACHMENT_TEXTURE_NUM_VIEWS_OVR: 38448;\n    readonly FRAMEBUFFER_ATTACHMENT_TEXTURE_BASE_VIEW_INDEX_OVR: 38450;\n    readonly MAX_VIEWS_OVR: 38449;\n    readonly FRAMEBUFFER_INCOMPLETE_VIEW_TARGETS_OVR: 38451;\n}\ninterface OfflineAudioCompletionEvent extends Event {\n    readonly renderedBuffer: AudioBuffer;\n}\ndeclare var OfflineAudioCompletionEvent: {\n    prototype: OfflineAudioCompletionEvent;\n    new (type: string, eventInitDict: OfflineAudioCompletionEventInit): OfflineAudioCompletionEvent;\n};\ninterface OfflineAudioContextEventMap extends BaseAudioContextEventMap {\n    \"complete\": OfflineAudioCompletionEvent;\n}\ninterface OfflineAudioContext extends BaseAudioContext {\n    readonly length: number;\n    oncomplete: ((this: OfflineAudioContext, ev: OfflineAudioCompletionEvent) => any) | null;\n    resume(): Promise<void>;\n    startRendering(): Promise<AudioBuffer>;\n    suspend(suspendTime: number): Promise<void>;\n    addEventListener<K extends keyof OfflineAudioContextEventMap>(type: K, listener: (this: OfflineAudioContext, ev: OfflineAudioContextEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof OfflineAudioContextEventMap>(type: K, listener: (this: OfflineAudioContext, ev: OfflineAudioContextEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var OfflineAudioContext: {\n    prototype: OfflineAudioContext;\n    new (contextOptions: OfflineAudioContextOptions): OfflineAudioContext;\n    new (numberOfChannels: number, length: number, sampleRate: number): OfflineAudioContext;\n};\ninterface OffscreenCanvasEventMap {\n    \"contextlost\": Event;\n    \"contextrestored\": Event;\n}\ninterface OffscreenCanvas extends EventTarget {\n    height: number;\n    oncontextlost: ((this: OffscreenCanvas, ev: Event) => any) | null;\n    oncontextrestored: ((this: OffscreenCanvas, ev: Event) => any) | null;\n    width: number;\n    convertToBlob(options?: ImageEncodeOptions): Promise<Blob>;\n    getContext(contextId: \"2d\", options?: any): OffscreenCanvasRenderingContext2D | null;\n    getContext(contextId: \"bitmaprenderer\", options?: any): ImageBitmapRenderingContext | null;\n    getContext(contextId: \"webgl\", options?: any): WebGLRenderingContext | null;\n    getContext(contextId: \"webgl2\", options?: any): WebGL2RenderingContext | null;\n    getContext(contextId: OffscreenRenderingContextId, options?: any): OffscreenRenderingContext | null;\n    transferToImageBitmap(): ImageBitmap;\n    addEventListener<K extends keyof OffscreenCanvasEventMap>(type: K, listener: (this: OffscreenCanvas, ev: OffscreenCanvasEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof OffscreenCanvasEventMap>(type: K, listener: (this: OffscreenCanvas, ev: OffscreenCanvasEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var OffscreenCanvas: {\n    prototype: OffscreenCanvas;\n    new (width: number, height: number): OffscreenCanvas;\n};\ninterface OffscreenCanvasRenderingContext2D extends CanvasCompositing, CanvasDrawImage, CanvasDrawPath, CanvasFillStrokeStyles, CanvasFilters, CanvasImageData, CanvasImageSmoothing, CanvasPath, CanvasPathDrawingStyles, CanvasRect, CanvasShadowStyles, CanvasState, CanvasText, CanvasTextDrawingStyles, CanvasTransform {\n    readonly canvas: OffscreenCanvas;\n}\ndeclare var OffscreenCanvasRenderingContext2D: {\n    prototype: OffscreenCanvasRenderingContext2D;\n    new (): OffscreenCanvasRenderingContext2D;\n};\ninterface OscillatorNode extends AudioScheduledSourceNode {\n    readonly detune: AudioParam;\n    readonly frequency: AudioParam;\n    type: OscillatorType;\n    setPeriodicWave(periodicWave: PeriodicWave): void;\n    addEventListener<K extends keyof AudioScheduledSourceNodeEventMap>(type: K, listener: (this: OscillatorNode, ev: AudioScheduledSourceNodeEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof AudioScheduledSourceNodeEventMap>(type: K, listener: (this: OscillatorNode, ev: AudioScheduledSourceNodeEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var OscillatorNode: {\n    prototype: OscillatorNode;\n    new (context: BaseAudioContext, options?: OscillatorOptions): OscillatorNode;\n};\ninterface OverconstrainedError extends DOMException {\n    readonly constraint: string;\n}\ndeclare var OverconstrainedError: {\n    prototype: OverconstrainedError;\n    new (constraint: string, message?: string): OverconstrainedError;\n};\ninterface PageRevealEvent extends Event {\n    readonly viewTransition: ViewTransition | null;\n}\ndeclare var PageRevealEvent: {\n    prototype: PageRevealEvent;\n    new (type: string, eventInitDict?: PageRevealEventInit): PageRevealEvent;\n};\ninterface PageSwapEvent extends Event {\n    readonly activation: NavigationActivation | null;\n    readonly viewTransition: ViewTransition | null;\n}\ndeclare var PageSwapEvent: {\n    prototype: PageSwapEvent;\n    new (type: string, eventInitDict?: PageSwapEventInit): PageSwapEvent;\n};\ninterface PageTransitionEvent extends Event {\n    readonly persisted: boolean;\n}\ndeclare var PageTransitionEvent: {\n    prototype: PageTransitionEvent;\n    new (type: string, eventInitDict?: PageTransitionEventInit): PageTransitionEvent;\n};\ninterface PaintTimingMixin {\n    readonly paintTime: DOMHighResTimeStamp;\n    readonly presentationTime: DOMHighResTimeStamp | null;\n}\ninterface PannerNode extends AudioNode {\n    coneInnerAngle: number;\n    coneOuterAngle: number;\n    coneOuterGain: number;\n    distanceModel: DistanceModelType;\n    maxDistance: number;\n    readonly orientationX: AudioParam;\n    readonly orientationY: AudioParam;\n    readonly orientationZ: AudioParam;\n    panningModel: PanningModelType;\n    readonly positionX: AudioParam;\n    readonly positionY: AudioParam;\n    readonly positionZ: AudioParam;\n    refDistance: number;\n    rolloffFactor: number;\n    setOrientation(x: number, y: number, z: number): void;\n    setPosition(x: number, y: number, z: number): void;\n}\ndeclare var PannerNode: {\n    prototype: PannerNode;\n    new (context: BaseAudioContext, options?: PannerOptions): PannerNode;\n};\ninterface ParentNode extends Node {\n    readonly childElementCount: number;\n    readonly children: HTMLCollection;\n    readonly firstElementChild: Element | null;\n    readonly lastElementChild: Element | null;\n    append(...nodes: (Node | string)[]): void;\n    moveBefore(node: Node, child: Node | null): void;\n    prepend(...nodes: (Node | string)[]): void;\n    querySelector<K extends keyof HTMLElementTagNameMap>(selectors: K): HTMLElementTagNameMap[K] | null;\n    querySelector<K extends keyof SVGElementTagNameMap>(selectors: K): SVGElementTagNameMap[K] | null;\n    querySelector<K extends keyof MathMLElementTagNameMap>(selectors: K): MathMLElementTagNameMap[K] | null;\n    querySelector<K extends keyof HTMLElementDeprecatedTagNameMap>(selectors: K): HTMLElementDeprecatedTagNameMap[K] | null;\n    querySelector<E extends Element = Element>(selectors: string): E | null;\n    querySelectorAll<K extends keyof HTMLElementTagNameMap>(selectors: K): NodeListOf<HTMLElementTagNameMap[K]>;\n    querySelectorAll<K extends keyof SVGElementTagNameMap>(selectors: K): NodeListOf<SVGElementTagNameMap[K]>;\n    querySelectorAll<K extends keyof MathMLElementTagNameMap>(selectors: K): NodeListOf<MathMLElementTagNameMap[K]>;\n    querySelectorAll<K extends keyof HTMLElementDeprecatedTagNameMap>(selectors: K): NodeListOf<HTMLElementDeprecatedTagNameMap[K]>;\n    querySelectorAll<E extends Element = Element>(selectors: string): NodeListOf<E>;\n    replaceChildren(...nodes: (Node | string)[]): void;\n}\ninterface Path2D extends CanvasPath {\n    addPath(path: Path2D, transform?: DOMMatrix2DInit): void;\n}\ndeclare var Path2D: {\n    prototype: Path2D;\n    new (path?: Path2D | string): Path2D;\n};\ninterface PaymentAddress {\n    readonly addressLine: ReadonlyArray<string>;\n    readonly city: string;\n    readonly country: string;\n    readonly dependentLocality: string;\n    readonly organization: string;\n    readonly phone: string;\n    readonly postalCode: string;\n    readonly recipient: string;\n    readonly region: string;\n    readonly sortingCode: string;\n    toJSON(): any;\n}\ndeclare var PaymentAddress: {\n    prototype: PaymentAddress;\n    new (): PaymentAddress;\n};\ninterface PaymentMethodChangeEvent extends PaymentRequestUpdateEvent {\n    readonly methodDetails: any;\n    readonly methodName: string;\n}\ndeclare var PaymentMethodChangeEvent: {\n    prototype: PaymentMethodChangeEvent;\n    new (type: string, eventInitDict?: PaymentMethodChangeEventInit): PaymentMethodChangeEvent;\n};\ninterface PaymentRequestEventMap {\n    \"paymentmethodchange\": PaymentMethodChangeEvent;\n    \"shippingaddresschange\": PaymentRequestUpdateEvent;\n    \"shippingoptionchange\": PaymentRequestUpdateEvent;\n}\ninterface PaymentRequest extends EventTarget {\n    readonly id: string;\n    onpaymentmethodchange: ((this: PaymentRequest, ev: PaymentMethodChangeEvent) => any) | null;\n    onshippingaddresschange: ((this: PaymentRequest, ev: PaymentRequestUpdateEvent) => any) | null;\n    onshippingoptionchange: ((this: PaymentRequest, ev: PaymentRequestUpdateEvent) => any) | null;\n    readonly shippingAddress: PaymentAddress | null;\n    readonly shippingOption: string | null;\n    readonly shippingType: PaymentShippingType | null;\n    abort(): Promise<void>;\n    canMakePayment(): Promise<boolean>;\n    show(detailsPromise?: PaymentDetailsUpdate | PromiseLike<PaymentDetailsUpdate>): Promise<PaymentResponse>;\n    addEventListener<K extends keyof PaymentRequestEventMap>(type: K, listener: (this: PaymentRequest, ev: PaymentRequestEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof PaymentRequestEventMap>(type: K, listener: (this: PaymentRequest, ev: PaymentRequestEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var PaymentRequest: {\n    prototype: PaymentRequest;\n    new (methodData: PaymentMethodData[], details: PaymentDetailsInit, options?: PaymentOptions): PaymentRequest;\n};\ninterface PaymentRequestUpdateEvent extends Event {\n    updateWith(detailsPromise: PaymentDetailsUpdate | PromiseLike<PaymentDetailsUpdate>): void;\n}\ndeclare var PaymentRequestUpdateEvent: {\n    prototype: PaymentRequestUpdateEvent;\n    new (type: string, eventInitDict?: PaymentRequestUpdateEventInit): PaymentRequestUpdateEvent;\n};\ninterface PaymentResponseEventMap {\n    \"payerdetailchange\": PaymentRequestUpdateEvent;\n}\ninterface PaymentResponse extends EventTarget {\n    readonly details: any;\n    readonly methodName: string;\n    onpayerdetailchange: ((this: PaymentResponse, ev: PaymentRequestUpdateEvent) => any) | null;\n    readonly payerEmail: string | null;\n    readonly payerName: string | null;\n    readonly payerPhone: string | null;\n    readonly requestId: string;\n    readonly shippingAddress: PaymentAddress | null;\n    readonly shippingOption: string | null;\n    complete(result?: PaymentComplete): Promise<void>;\n    retry(errorFields?: PaymentValidationErrors): Promise<void>;\n    toJSON(): any;\n    addEventListener<K extends keyof PaymentResponseEventMap>(type: K, listener: (this: PaymentResponse, ev: PaymentResponseEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof PaymentResponseEventMap>(type: K, listener: (this: PaymentResponse, ev: PaymentResponseEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var PaymentResponse: {\n    prototype: PaymentResponse;\n    new (): PaymentResponse;\n};\ninterface PerformanceEventMap {\n    \"resourcetimingbufferfull\": Event;\n}\ninterface Performance extends EventTarget {\n    readonly eventCounts: EventCounts;\n    readonly interactionCount: number;\n    readonly navigation: PerformanceNavigation;\n    onresourcetimingbufferfull: ((this: Performance, ev: Event) => any) | null;\n    readonly timeOrigin: DOMHighResTimeStamp;\n    readonly timing: PerformanceTiming;\n    clearMarks(markName?: string): void;\n    clearMeasures(measureName?: string): void;\n    clearResourceTimings(): void;\n    getEntries(): PerformanceEntryList;\n    getEntriesByName(name: string, type?: string): PerformanceEntryList;\n    getEntriesByType(type: string): PerformanceEntryList;\n    mark(markName: string, markOptions?: PerformanceMarkOptions): PerformanceMark;\n    measure(measureName: string, startOrMeasureOptions?: string | PerformanceMeasureOptions, endMark?: string): PerformanceMeasure;\n    now(): DOMHighResTimeStamp;\n    setResourceTimingBufferSize(maxSize: number): void;\n    toJSON(): any;\n    addEventListener<K extends keyof PerformanceEventMap>(type: K, listener: (this: Performance, ev: PerformanceEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof PerformanceEventMap>(type: K, listener: (this: Performance, ev: PerformanceEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var Performance: {\n    prototype: Performance;\n    new (): Performance;\n};\ninterface PerformanceEntry {\n    readonly duration: DOMHighResTimeStamp;\n    readonly entryType: string;\n    readonly name: string;\n    readonly startTime: DOMHighResTimeStamp;\n    toJSON(): any;\n}\ndeclare var PerformanceEntry: {\n    prototype: PerformanceEntry;\n    new (): PerformanceEntry;\n};\ninterface PerformanceEventTiming extends PerformanceEntry {\n    readonly cancelable: boolean;\n    readonly interactionId: number;\n    readonly processingEnd: DOMHighResTimeStamp;\n    readonly processingStart: DOMHighResTimeStamp;\n    readonly target: Node | null;\n    toJSON(): any;\n}\ndeclare var PerformanceEventTiming: {\n    prototype: PerformanceEventTiming;\n    new (): PerformanceEventTiming;\n};\ninterface PerformanceMark extends PerformanceEntry {\n    readonly detail: any;\n}\ndeclare var PerformanceMark: {\n    prototype: PerformanceMark;\n    new (markName: string, markOptions?: PerformanceMarkOptions): PerformanceMark;\n};\ninterface PerformanceMeasure extends PerformanceEntry {\n    readonly detail: any;\n}\ndeclare var PerformanceMeasure: {\n    prototype: PerformanceMeasure;\n    new (): PerformanceMeasure;\n};\ninterface PerformanceNavigation {\n    readonly redirectCount: number;\n    readonly type: number;\n    toJSON(): any;\n    readonly TYPE_NAVIGATE: 0;\n    readonly TYPE_RELOAD: 1;\n    readonly TYPE_BACK_FORWARD: 2;\n    readonly TYPE_RESERVED: 255;\n}\ndeclare var PerformanceNavigation: {\n    prototype: PerformanceNavigation;\n    new (): PerformanceNavigation;\n    readonly TYPE_NAVIGATE: 0;\n    readonly TYPE_RELOAD: 1;\n    readonly TYPE_BACK_FORWARD: 2;\n    readonly TYPE_RESERVED: 255;\n};\ninterface PerformanceNavigationTiming extends PerformanceResourceTiming {\n    readonly domComplete: DOMHighResTimeStamp;\n    readonly domContentLoadedEventEnd: DOMHighResTimeStamp;\n    readonly domContentLoadedEventStart: DOMHighResTimeStamp;\n    readonly domInteractive: DOMHighResTimeStamp;\n    readonly loadEventEnd: DOMHighResTimeStamp;\n    readonly loadEventStart: DOMHighResTimeStamp;\n    readonly redirectCount: number;\n    readonly type: NavigationTimingType;\n    readonly unloadEventEnd: DOMHighResTimeStamp;\n    readonly unloadEventStart: DOMHighResTimeStamp;\n    toJSON(): any;\n}\ndeclare var PerformanceNavigationTiming: {\n    prototype: PerformanceNavigationTiming;\n    new (): PerformanceNavigationTiming;\n};\ninterface PerformanceObserver {\n    disconnect(): void;\n    observe(options?: PerformanceObserverInit): void;\n    takeRecords(): PerformanceEntryList;\n}\ndeclare var PerformanceObserver: {\n    prototype: PerformanceObserver;\n    new (callback: PerformanceObserverCallback): PerformanceObserver;\n    readonly supportedEntryTypes: ReadonlyArray<string>;\n};\ninterface PerformanceObserverEntryList {\n    getEntries(): PerformanceEntryList;\n    getEntriesByName(name: string, type?: string): PerformanceEntryList;\n    getEntriesByType(type: string): PerformanceEntryList;\n}\ndeclare var PerformanceObserverEntryList: {\n    prototype: PerformanceObserverEntryList;\n    new (): PerformanceObserverEntryList;\n};\ninterface PerformancePaintTiming extends PerformanceEntry, PaintTimingMixin {\n    toJSON(): any;\n}\ndeclare var PerformancePaintTiming: {\n    prototype: PerformancePaintTiming;\n    new (): PerformancePaintTiming;\n};\ninterface PerformanceResourceTiming extends PerformanceEntry {\n    readonly connectEnd: DOMHighResTimeStamp;\n    readonly connectStart: DOMHighResTimeStamp;\n    readonly decodedBodySize: number;\n    readonly domainLookupEnd: DOMHighResTimeStamp;\n    readonly domainLookupStart: DOMHighResTimeStamp;\n    readonly encodedBodySize: number;\n    readonly fetchStart: DOMHighResTimeStamp;\n    readonly initiatorType: string;\n    readonly nextHopProtocol: string;\n    readonly redirectEnd: DOMHighResTimeStamp;\n    readonly redirectStart: DOMHighResTimeStamp;\n    readonly requestStart: DOMHighResTimeStamp;\n    readonly responseEnd: DOMHighResTimeStamp;\n    readonly responseStart: DOMHighResTimeStamp;\n    readonly responseStatus: number;\n    readonly secureConnectionStart: DOMHighResTimeStamp;\n    readonly serverTiming: ReadonlyArray<PerformanceServerTiming>;\n    readonly transferSize: number;\n    readonly workerStart: DOMHighResTimeStamp;\n    toJSON(): any;\n}\ndeclare var PerformanceResourceTiming: {\n    prototype: PerformanceResourceTiming;\n    new (): PerformanceResourceTiming;\n};\ninterface PerformanceServerTiming {\n    readonly description: string;\n    readonly duration: DOMHighResTimeStamp;\n    readonly name: string;\n    toJSON(): any;\n}\ndeclare var PerformanceServerTiming: {\n    prototype: PerformanceServerTiming;\n    new (): PerformanceServerTiming;\n};\ninterface PerformanceTiming {\n    readonly connectEnd: number;\n    readonly connectStart: number;\n    readonly domComplete: number;\n    readonly domContentLoadedEventEnd: number;\n    readonly domContentLoadedEventStart: number;\n    readonly domInteractive: number;\n    readonly domLoading: number;\n    readonly domainLookupEnd: number;\n    readonly domainLookupStart: number;\n    readonly fetchStart: number;\n    readonly loadEventEnd: number;\n    readonly loadEventStart: number;\n    readonly navigationStart: number;\n    readonly redirectEnd: number;\n    readonly redirectStart: number;\n    readonly requestStart: number;\n    readonly responseEnd: number;\n    readonly responseStart: number;\n    readonly secureConnectionStart: number;\n    readonly unloadEventEnd: number;\n    readonly unloadEventStart: number;\n    toJSON(): any;\n}\ndeclare var PerformanceTiming: {\n    prototype: PerformanceTiming;\n    new (): PerformanceTiming;\n};\ninterface PeriodicWave {\n}\ndeclare var PeriodicWave: {\n    prototype: PeriodicWave;\n    new (context: BaseAudioContext, options?: PeriodicWaveOptions): PeriodicWave;\n};\ninterface PermissionStatusEventMap {\n    \"change\": Event;\n}\ninterface PermissionStatus extends EventTarget {\n    readonly name: string;\n    onchange: ((this: PermissionStatus, ev: Event) => any) | null;\n    readonly state: PermissionState;\n    addEventListener<K extends keyof PermissionStatusEventMap>(type: K, listener: (this: PermissionStatus, ev: PermissionStatusEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof PermissionStatusEventMap>(type: K, listener: (this: PermissionStatus, ev: PermissionStatusEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var PermissionStatus: {\n    prototype: PermissionStatus;\n    new (): PermissionStatus;\n};\ninterface Permissions {\n    query(permissionDesc: PermissionDescriptor): Promise<PermissionStatus>;\n}\ndeclare var Permissions: {\n    prototype: Permissions;\n    new (): Permissions;\n};\ninterface PictureInPictureEvent extends Event {\n    readonly pictureInPictureWindow: PictureInPictureWindow;\n}\ndeclare var PictureInPictureEvent: {\n    prototype: PictureInPictureEvent;\n    new (type: string, eventInitDict: PictureInPictureEventInit): PictureInPictureEvent;\n};\ninterface PictureInPictureWindowEventMap {\n    \"resize\": Event;\n}\ninterface PictureInPictureWindow extends EventTarget {\n    readonly height: number;\n    onresize: ((this: PictureInPictureWindow, ev: Event) => any) | null;\n    readonly width: number;\n    addEventListener<K extends keyof PictureInPictureWindowEventMap>(type: K, listener: (this: PictureInPictureWindow, ev: PictureInPictureWindowEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof PictureInPictureWindowEventMap>(type: K, listener: (this: PictureInPictureWindow, ev: PictureInPictureWindowEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var PictureInPictureWindow: {\n    prototype: PictureInPictureWindow;\n    new (): PictureInPictureWindow;\n};\ninterface Plugin {\n    readonly description: string;\n    readonly filename: string;\n    readonly length: number;\n    readonly name: string;\n    item(index: number): MimeType | null;\n    namedItem(name: string): MimeType | null;\n    [index: number]: MimeType;\n}\ndeclare var Plugin: {\n    prototype: Plugin;\n    new (): Plugin;\n};\ninterface PluginArray {\n    readonly length: number;\n    item(index: number): Plugin | null;\n    namedItem(name: string): Plugin | null;\n    refresh(): void;\n    [index: number]: Plugin;\n}\ndeclare var PluginArray: {\n    prototype: PluginArray;\n    new (): PluginArray;\n};\ninterface PointerEvent extends MouseEvent {\n    readonly altitudeAngle: number;\n    readonly azimuthAngle: number;\n    readonly height: number;\n    readonly isPrimary: boolean;\n    readonly persistentDeviceId: number;\n    readonly pointerId: number;\n    readonly pointerType: string;\n    readonly pressure: number;\n    readonly tangentialPressure: number;\n    readonly tiltX: number;\n    readonly tiltY: number;\n    readonly twist: number;\n    readonly width: number;\n    getCoalescedEvents(): PointerEvent[];\n    getPredictedEvents(): PointerEvent[];\n}\ndeclare var PointerEvent: {\n    prototype: PointerEvent;\n    new (type: string, eventInitDict?: PointerEventInit): PointerEvent;\n};\ninterface PopStateEvent extends Event {\n    readonly hasUAVisualTransition: boolean;\n    readonly state: any;\n}\ndeclare var PopStateEvent: {\n    prototype: PopStateEvent;\n    new (type: string, eventInitDict?: PopStateEventInit): PopStateEvent;\n};\ninterface PopoverTargetAttributes {\n    popoverTargetAction: string;\n    popoverTargetElement: Element | null;\n}\ninterface ProcessingInstruction extends CharacterData, LinkStyle {\n    readonly target: string;\n}\ndeclare var ProcessingInstruction: {\n    prototype: ProcessingInstruction;\n    new (): ProcessingInstruction;\n};\ninterface ProgressEvent<T extends EventTarget = EventTarget> extends Event {\n    readonly lengthComputable: boolean;\n    readonly loaded: number;\n    readonly target: T | null;\n    readonly total: number;\n}\ndeclare var ProgressEvent: {\n    prototype: ProgressEvent;\n    new (type: string, eventInitDict?: ProgressEventInit): ProgressEvent;\n};\ninterface PromiseRejectionEvent extends Event {\n    readonly promise: Promise<any>;\n    readonly reason: any;\n}\ndeclare var PromiseRejectionEvent: {\n    prototype: PromiseRejectionEvent;\n    new (type: string, eventInitDict: PromiseRejectionEventInit): PromiseRejectionEvent;\n};\ninterface PublicKeyCredential extends Credential {\n    readonly authenticatorAttachment: string | null;\n    readonly rawId: ArrayBuffer;\n    readonly response: AuthenticatorResponse;\n    getClientExtensionResults(): AuthenticationExtensionsClientOutputs;\n    toJSON(): RegistrationResponseJSON | AuthenticationResponseJSON;\n}\ndeclare var PublicKeyCredential: {\n    prototype: PublicKeyCredential;\n    new (): PublicKeyCredential;\n    getClientCapabilities(): Promise<PublicKeyCredentialClientCapabilities>;\n    isConditionalMediationAvailable(): Promise<boolean>;\n    isUserVerifyingPlatformAuthenticatorAvailable(): Promise<boolean>;\n    parseCreationOptionsFromJSON(options: PublicKeyCredentialCreationOptionsJSON): PublicKeyCredentialCreationOptions;\n    parseRequestOptionsFromJSON(options: PublicKeyCredentialRequestOptionsJSON): PublicKeyCredentialRequestOptions;\n    signalAllAcceptedCredentials(options: AllAcceptedCredentialsOptions): Promise<void>;\n    signalCurrentUserDetails(options: CurrentUserDetailsOptions): Promise<void>;\n    signalUnknownCredential(options: UnknownCredentialOptions): Promise<void>;\n};\ninterface PushManager {\n    getSubscription(): Promise<PushSubscription | null>;\n    permissionState(options?: PushSubscriptionOptionsInit): Promise<PermissionState>;\n    subscribe(options?: PushSubscriptionOptionsInit): Promise<PushSubscription>;\n}\ndeclare var PushManager: {\n    prototype: PushManager;\n    new (): PushManager;\n    readonly supportedContentEncodings: ReadonlyArray<string>;\n};\ninterface PushManagerAttribute {\n    readonly pushManager: PushManager;\n}\ninterface PushSubscription {\n    readonly endpoint: string;\n    readonly expirationTime: EpochTimeStamp | null;\n    readonly options: PushSubscriptionOptions;\n    getKey(name: PushEncryptionKeyName): ArrayBuffer | null;\n    toJSON(): PushSubscriptionJSON;\n    unsubscribe(): Promise<boolean>;\n}\ndeclare var PushSubscription: {\n    prototype: PushSubscription;\n    new (): PushSubscription;\n};\ninterface PushSubscriptionOptions {\n    readonly applicationServerKey: ArrayBuffer | null;\n    readonly userVisibleOnly: boolean;\n}\ndeclare var PushSubscriptionOptions: {\n    prototype: PushSubscriptionOptions;\n    new (): PushSubscriptionOptions;\n};\ninterface RTCCertificate {\n    readonly expires: EpochTimeStamp;\n    getFingerprints(): RTCDtlsFingerprint[];\n}\ndeclare var RTCCertificate: {\n    prototype: RTCCertificate;\n    new (): RTCCertificate;\n};\ninterface RTCDTMFSenderEventMap {\n    \"tonechange\": RTCDTMFToneChangeEvent;\n}\ninterface RTCDTMFSender extends EventTarget {\n    readonly canInsertDTMF: boolean;\n    ontonechange: ((this: RTCDTMFSender, ev: RTCDTMFToneChangeEvent) => any) | null;\n    readonly toneBuffer: string;\n    insertDTMF(tones: string, duration?: number, interToneGap?: number): void;\n    addEventListener<K extends keyof RTCDTMFSenderEventMap>(type: K, listener: (this: RTCDTMFSender, ev: RTCDTMFSenderEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof RTCDTMFSenderEventMap>(type: K, listener: (this: RTCDTMFSender, ev: RTCDTMFSenderEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var RTCDTMFSender: {\n    prototype: RTCDTMFSender;\n    new (): RTCDTMFSender;\n};\ninterface RTCDTMFToneChangeEvent extends Event {\n    readonly tone: string;\n}\ndeclare var RTCDTMFToneChangeEvent: {\n    prototype: RTCDTMFToneChangeEvent;\n    new (type: string, eventInitDict?: RTCDTMFToneChangeEventInit): RTCDTMFToneChangeEvent;\n};\ninterface RTCDataChannelEventMap {\n    \"bufferedamountlow\": Event;\n    \"close\": Event;\n    \"closing\": Event;\n    \"error\": RTCErrorEvent;\n    \"message\": MessageEvent;\n    \"open\": Event;\n}\ninterface RTCDataChannel extends EventTarget {\n    binaryType: BinaryType;\n    readonly bufferedAmount: number;\n    bufferedAmountLowThreshold: number;\n    readonly id: number | null;\n    readonly label: string;\n    readonly maxPacketLifeTime: number | null;\n    readonly maxRetransmits: number | null;\n    readonly negotiated: boolean;\n    onbufferedamountlow: ((this: RTCDataChannel, ev: Event) => any) | null;\n    onclose: ((this: RTCDataChannel, ev: Event) => any) | null;\n    onclosing: ((this: RTCDataChannel, ev: Event) => any) | null;\n    onerror: ((this: RTCDataChannel, ev: RTCErrorEvent) => any) | null;\n    onmessage: ((this: RTCDataChannel, ev: MessageEvent) => any) | null;\n    onopen: ((this: RTCDataChannel, ev: Event) => any) | null;\n    readonly ordered: boolean;\n    readonly protocol: string;\n    readonly readyState: RTCDataChannelState;\n    close(): void;\n    send(data: string): void;\n    send(data: Blob): void;\n    send(data: ArrayBuffer): void;\n    send(data: ArrayBufferView<ArrayBuffer>): void;\n    addEventListener<K extends keyof RTCDataChannelEventMap>(type: K, listener: (this: RTCDataChannel, ev: RTCDataChannelEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof RTCDataChannelEventMap>(type: K, listener: (this: RTCDataChannel, ev: RTCDataChannelEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var RTCDataChannel: {\n    prototype: RTCDataChannel;\n    new (): RTCDataChannel;\n};\ninterface RTCDataChannelEvent extends Event {\n    readonly channel: RTCDataChannel;\n}\ndeclare var RTCDataChannelEvent: {\n    prototype: RTCDataChannelEvent;\n    new (type: string, eventInitDict: RTCDataChannelEventInit): RTCDataChannelEvent;\n};\ninterface RTCDtlsTransportEventMap {\n    \"error\": RTCErrorEvent;\n    \"statechange\": Event;\n}\ninterface RTCDtlsTransport extends EventTarget {\n    readonly iceTransport: RTCIceTransport;\n    onerror: ((this: RTCDtlsTransport, ev: RTCErrorEvent) => any) | null;\n    onstatechange: ((this: RTCDtlsTransport, ev: Event) => any) | null;\n    readonly state: RTCDtlsTransportState;\n    getRemoteCertificates(): ArrayBuffer[];\n    addEventListener<K extends keyof RTCDtlsTransportEventMap>(type: K, listener: (this: RTCDtlsTransport, ev: RTCDtlsTransportEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof RTCDtlsTransportEventMap>(type: K, listener: (this: RTCDtlsTransport, ev: RTCDtlsTransportEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var RTCDtlsTransport: {\n    prototype: RTCDtlsTransport;\n    new (): RTCDtlsTransport;\n};\ninterface RTCEncodedAudioFrame {\n    data: ArrayBuffer;\n    readonly timestamp: number;\n    getMetadata(): RTCEncodedAudioFrameMetadata;\n}\ndeclare var RTCEncodedAudioFrame: {\n    prototype: RTCEncodedAudioFrame;\n    new (): RTCEncodedAudioFrame;\n};\ninterface RTCEncodedVideoFrame {\n    data: ArrayBuffer;\n    readonly timestamp: number;\n    readonly type: EncodedVideoChunkType;\n    getMetadata(): RTCEncodedVideoFrameMetadata;\n}\ndeclare var RTCEncodedVideoFrame: {\n    prototype: RTCEncodedVideoFrame;\n    new (): RTCEncodedVideoFrame;\n};\ninterface RTCError extends DOMException {\n    readonly errorDetail: RTCErrorDetailType;\n    readonly receivedAlert: number | null;\n    readonly sctpCauseCode: number | null;\n    readonly sdpLineNumber: number | null;\n    readonly sentAlert: number | null;\n}\ndeclare var RTCError: {\n    prototype: RTCError;\n    new (init: RTCErrorInit, message?: string): RTCError;\n};\ninterface RTCErrorEvent extends Event {\n    readonly error: RTCError;\n}\ndeclare var RTCErrorEvent: {\n    prototype: RTCErrorEvent;\n    new (type: string, eventInitDict: RTCErrorEventInit): RTCErrorEvent;\n};\ninterface RTCIceCandidate {\n    readonly address: string | null;\n    readonly candidate: string;\n    readonly component: RTCIceComponent | null;\n    readonly foundation: string | null;\n    readonly port: number | null;\n    readonly priority: number | null;\n    readonly protocol: RTCIceProtocol | null;\n    readonly relatedAddress: string | null;\n    readonly relatedPort: number | null;\n    readonly sdpMLineIndex: number | null;\n    readonly sdpMid: string | null;\n    readonly tcpType: RTCIceTcpCandidateType | null;\n    readonly type: RTCIceCandidateType | null;\n    readonly usernameFragment: string | null;\n    toJSON(): RTCIceCandidateInit;\n}\ndeclare var RTCIceCandidate: {\n    prototype: RTCIceCandidate;\n    new (candidateInitDict?: RTCLocalIceCandidateInit): RTCIceCandidate;\n};\ninterface RTCIceCandidatePair {\n    local: RTCIceCandidate;\n    remote: RTCIceCandidate;\n}\ninterface RTCIceTransportEventMap {\n    \"gatheringstatechange\": Event;\n    \"selectedcandidatepairchange\": Event;\n    \"statechange\": Event;\n}\ninterface RTCIceTransport extends EventTarget {\n    readonly gatheringState: RTCIceGathererState;\n    ongatheringstatechange: ((this: RTCIceTransport, ev: Event) => any) | null;\n    onselectedcandidatepairchange: ((this: RTCIceTransport, ev: Event) => any) | null;\n    onstatechange: ((this: RTCIceTransport, ev: Event) => any) | null;\n    readonly state: RTCIceTransportState;\n    getSelectedCandidatePair(): RTCIceCandidatePair | null;\n    addEventListener<K extends keyof RTCIceTransportEventMap>(type: K, listener: (this: RTCIceTransport, ev: RTCIceTransportEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof RTCIceTransportEventMap>(type: K, listener: (this: RTCIceTransport, ev: RTCIceTransportEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var RTCIceTransport: {\n    prototype: RTCIceTransport;\n    new (): RTCIceTransport;\n};\ninterface RTCPeerConnectionEventMap {\n    \"connectionstatechange\": Event;\n    \"datachannel\": RTCDataChannelEvent;\n    \"icecandidate\": RTCPeerConnectionIceEvent;\n    \"icecandidateerror\": RTCPeerConnectionIceErrorEvent;\n    \"iceconnectionstatechange\": Event;\n    \"icegatheringstatechange\": Event;\n    \"negotiationneeded\": Event;\n    \"signalingstatechange\": Event;\n    \"track\": RTCTrackEvent;\n}\ninterface RTCPeerConnection extends EventTarget {\n    readonly canTrickleIceCandidates: boolean | null;\n    readonly connectionState: RTCPeerConnectionState;\n    readonly currentLocalDescription: RTCSessionDescription | null;\n    readonly currentRemoteDescription: RTCSessionDescription | null;\n    readonly iceConnectionState: RTCIceConnectionState;\n    readonly iceGatheringState: RTCIceGatheringState;\n    readonly localDescription: RTCSessionDescription | null;\n    onconnectionstatechange: ((this: RTCPeerConnection, ev: Event) => any) | null;\n    ondatachannel: ((this: RTCPeerConnection, ev: RTCDataChannelEvent) => any) | null;\n    onicecandidate: ((this: RTCPeerConnection, ev: RTCPeerConnectionIceEvent) => any) | null;\n    onicecandidateerror: ((this: RTCPeerConnection, ev: RTCPeerConnectionIceErrorEvent) => any) | null;\n    oniceconnectionstatechange: ((this: RTCPeerConnection, ev: Event) => any) | null;\n    onicegatheringstatechange: ((this: RTCPeerConnection, ev: Event) => any) | null;\n    onnegotiationneeded: ((this: RTCPeerConnection, ev: Event) => any) | null;\n    onsignalingstatechange: ((this: RTCPeerConnection, ev: Event) => any) | null;\n    ontrack: ((this: RTCPeerConnection, ev: RTCTrackEvent) => any) | null;\n    readonly pendingLocalDescription: RTCSessionDescription | null;\n    readonly pendingRemoteDescription: RTCSessionDescription | null;\n    readonly remoteDescription: RTCSessionDescription | null;\n    readonly sctp: RTCSctpTransport | null;\n    readonly signalingState: RTCSignalingState;\n    addIceCandidate(candidate?: RTCIceCandidateInit | null): Promise<void>;\n    addIceCandidate(candidate: RTCIceCandidateInit | null, successCallback: VoidFunction, failureCallback: RTCPeerConnectionErrorCallback): Promise<void>;\n    addTrack(track: MediaStreamTrack, ...streams: MediaStream[]): RTCRtpSender;\n    addTransceiver(trackOrKind: MediaStreamTrack | string, init?: RTCRtpTransceiverInit): RTCRtpTransceiver;\n    close(): void;\n    createAnswer(options?: RTCAnswerOptions): Promise<RTCSessionDescriptionInit>;\n    createAnswer(successCallback: RTCSessionDescriptionCallback, failureCallback: RTCPeerConnectionErrorCallback): Promise<void>;\n    createDataChannel(label: string, dataChannelDict?: RTCDataChannelInit): RTCDataChannel;\n    createOffer(options?: RTCOfferOptions): Promise<RTCSessionDescriptionInit>;\n    createOffer(successCallback: RTCSessionDescriptionCallback, failureCallback: RTCPeerConnectionErrorCallback, options?: RTCOfferOptions): Promise<void>;\n    getConfiguration(): RTCConfiguration;\n    getReceivers(): RTCRtpReceiver[];\n    getSenders(): RTCRtpSender[];\n    getStats(selector?: MediaStreamTrack | null): Promise<RTCStatsReport>;\n    getTransceivers(): RTCRtpTransceiver[];\n    removeTrack(sender: RTCRtpSender): void;\n    restartIce(): void;\n    setConfiguration(configuration?: RTCConfiguration): void;\n    setLocalDescription(description?: RTCLocalSessionDescriptionInit): Promise<void>;\n    setLocalDescription(description: RTCLocalSessionDescriptionInit, successCallback: VoidFunction, failureCallback: RTCPeerConnectionErrorCallback): Promise<void>;\n    setRemoteDescription(description: RTCSessionDescriptionInit): Promise<void>;\n    setRemoteDescription(description: RTCSessionDescriptionInit, successCallback: VoidFunction, failureCallback: RTCPeerConnectionErrorCallback): Promise<void>;\n    addEventListener<K extends keyof RTCPeerConnectionEventMap>(type: K, listener: (this: RTCPeerConnection, ev: RTCPeerConnectionEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof RTCPeerConnectionEventMap>(type: K, listener: (this: RTCPeerConnection, ev: RTCPeerConnectionEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var RTCPeerConnection: {\n    prototype: RTCPeerConnection;\n    new (configuration?: RTCConfiguration): RTCPeerConnection;\n    generateCertificate(keygenAlgorithm: AlgorithmIdentifier): Promise<RTCCertificate>;\n};\ninterface RTCPeerConnectionIceErrorEvent extends Event {\n    readonly address: string | null;\n    readonly errorCode: number;\n    readonly errorText: string;\n    readonly port: number | null;\n    readonly url: string;\n}\ndeclare var RTCPeerConnectionIceErrorEvent: {\n    prototype: RTCPeerConnectionIceErrorEvent;\n    new (type: string, eventInitDict: RTCPeerConnectionIceErrorEventInit): RTCPeerConnectionIceErrorEvent;\n};\ninterface RTCPeerConnectionIceEvent extends Event {\n    readonly candidate: RTCIceCandidate | null;\n}\ndeclare var RTCPeerConnectionIceEvent: {\n    prototype: RTCPeerConnectionIceEvent;\n    new (type: string, eventInitDict?: RTCPeerConnectionIceEventInit): RTCPeerConnectionIceEvent;\n};\ninterface RTCRtpReceiver {\n    jitterBufferTarget: DOMHighResTimeStamp | null;\n    readonly track: MediaStreamTrack;\n    transform: RTCRtpReceiverTransform | null;\n    readonly transport: RTCDtlsTransport | null;\n    getContributingSources(): RTCRtpContributingSource[];\n    getParameters(): RTCRtpReceiveParameters;\n    getStats(): Promise<RTCStatsReport>;\n    getSynchronizationSources(): RTCRtpSynchronizationSource[];\n}\ndeclare var RTCRtpReceiver: {\n    prototype: RTCRtpReceiver;\n    new (): RTCRtpReceiver;\n    getCapabilities(kind: string): RTCRtpCapabilities | null;\n};\ninterface RTCRtpScriptTransform {\n}\ndeclare var RTCRtpScriptTransform: {\n    prototype: RTCRtpScriptTransform;\n    new (worker: Worker, options?: any, transfer?: any[]): RTCRtpScriptTransform;\n};\ninterface RTCRtpSender {\n    readonly dtmf: RTCDTMFSender | null;\n    readonly track: MediaStreamTrack | null;\n    transform: RTCRtpSenderTransform | null;\n    readonly transport: RTCDtlsTransport | null;\n    getParameters(): RTCRtpSendParameters;\n    getStats(): Promise<RTCStatsReport>;\n    replaceTrack(withTrack: MediaStreamTrack | null): Promise<void>;\n    setParameters(parameters: RTCRtpSendParameters, setParameterOptions?: RTCSetParameterOptions): Promise<void>;\n    setStreams(...streams: MediaStream[]): void;\n}\ndeclare var RTCRtpSender: {\n    prototype: RTCRtpSender;\n    new (): RTCRtpSender;\n    getCapabilities(kind: string): RTCRtpCapabilities | null;\n};\ninterface RTCRtpTransceiver {\n    readonly currentDirection: RTCRtpTransceiverDirection | null;\n    direction: RTCRtpTransceiverDirection;\n    readonly mid: string | null;\n    readonly receiver: RTCRtpReceiver;\n    readonly sender: RTCRtpSender;\n    setCodecPreferences(codecs: RTCRtpCodec[]): void;\n    stop(): void;\n}\ndeclare var RTCRtpTransceiver: {\n    prototype: RTCRtpTransceiver;\n    new (): RTCRtpTransceiver;\n};\ninterface RTCSctpTransportEventMap {\n    \"statechange\": Event;\n}\ninterface RTCSctpTransport extends EventTarget {\n    readonly maxChannels: number | null;\n    readonly maxMessageSize: number;\n    onstatechange: ((this: RTCSctpTransport, ev: Event) => any) | null;\n    readonly state: RTCSctpTransportState;\n    readonly transport: RTCDtlsTransport;\n    addEventListener<K extends keyof RTCSctpTransportEventMap>(type: K, listener: (this: RTCSctpTransport, ev: RTCSctpTransportEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof RTCSctpTransportEventMap>(type: K, listener: (this: RTCSctpTransport, ev: RTCSctpTransportEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var RTCSctpTransport: {\n    prototype: RTCSctpTransport;\n    new (): RTCSctpTransport;\n};\ninterface RTCSessionDescription {\n    readonly sdp: string;\n    readonly type: RTCSdpType;\n    toJSON(): RTCSessionDescriptionInit;\n}\ndeclare var RTCSessionDescription: {\n    prototype: RTCSessionDescription;\n    new (descriptionInitDict: RTCSessionDescriptionInit): RTCSessionDescription;\n};\ninterface RTCStatsReport {\n    forEach(callbackfn: (value: any, key: string, parent: RTCStatsReport) => void, thisArg?: any): void;\n}\ndeclare var RTCStatsReport: {\n    prototype: RTCStatsReport;\n    new (): RTCStatsReport;\n};\ninterface RTCTrackEvent extends Event {\n    readonly receiver: RTCRtpReceiver;\n    readonly streams: ReadonlyArray<MediaStream>;\n    readonly track: MediaStreamTrack;\n    readonly transceiver: RTCRtpTransceiver;\n}\ndeclare var RTCTrackEvent: {\n    prototype: RTCTrackEvent;\n    new (type: string, eventInitDict: RTCTrackEventInit): RTCTrackEvent;\n};\ninterface RadioNodeList extends NodeListOf<HTMLInputElement> {\n    value: string;\n}\ndeclare var RadioNodeList: {\n    prototype: RadioNodeList;\n    new (): RadioNodeList;\n};\ninterface Range extends AbstractRange {\n    readonly commonAncestorContainer: Node;\n    cloneContents(): DocumentFragment;\n    cloneRange(): Range;\n    collapse(toStart?: boolean): void;\n    compareBoundaryPoints(how: number, sourceRange: Range): number;\n    comparePoint(node: Node, offset: number): number;\n    createContextualFragment(string: string): DocumentFragment;\n    deleteContents(): void;\n    detach(): void;\n    extractContents(): DocumentFragment;\n    getBoundingClientRect(): DOMRect;\n    getClientRects(): DOMRectList;\n    insertNode(node: Node): void;\n    intersectsNode(node: Node): boolean;\n    isPointInRange(node: Node, offset: number): boolean;\n    selectNode(node: Node): void;\n    selectNodeContents(node: Node): void;\n    setEnd(node: Node, offset: number): void;\n    setEndAfter(node: Node): void;\n    setEndBefore(node: Node): void;\n    setStart(node: Node, offset: number): void;\n    setStartAfter(node: Node): void;\n    setStartBefore(node: Node): void;\n    surroundContents(newParent: Node): void;\n    toString(): string;\n    readonly START_TO_START: 0;\n    readonly START_TO_END: 1;\n    readonly END_TO_END: 2;\n    readonly END_TO_START: 3;\n}\ndeclare var Range: {\n    prototype: Range;\n    new (): Range;\n    readonly START_TO_START: 0;\n    readonly START_TO_END: 1;\n    readonly END_TO_END: 2;\n    readonly END_TO_START: 3;\n};\ninterface ReadableByteStreamController {\n    readonly byobRequest: ReadableStreamBYOBRequest | null;\n    readonly desiredSize: number | null;\n    close(): void;\n    enqueue(chunk: ArrayBufferView<ArrayBuffer>): void;\n    error(e?: any): void;\n}\ndeclare var ReadableByteStreamController: {\n    prototype: ReadableByteStreamController;\n    new (): ReadableByteStreamController;\n};\ninterface ReadableStream<R = any> {\n    readonly locked: boolean;\n    cancel(reason?: any): Promise<void>;\n    getReader(options: {\n        mode: \"byob\";\n    }): ReadableStreamBYOBReader;\n    getReader(): ReadableStreamDefaultReader<R>;\n    getReader(options?: ReadableStreamGetReaderOptions): ReadableStreamReader<R>;\n    pipeThrough<T>(transform: ReadableWritablePair<T, R>, options?: StreamPipeOptions): ReadableStream<T>;\n    pipeTo(destination: WritableStream<R>, options?: StreamPipeOptions): Promise<void>;\n    tee(): [\n        ReadableStream<R>,\n        ReadableStream<R>\n    ];\n}\ndeclare var ReadableStream: {\n    prototype: ReadableStream;\n    new (underlyingSource: UnderlyingByteSource, strategy?: {\n        highWaterMark?: number;\n    }): ReadableStream<Uint8Array<ArrayBuffer>>;\n    new <R = any>(underlyingSource: UnderlyingDefaultSource<R>, strategy?: QueuingStrategy<R>): ReadableStream<R>;\n    new <R = any>(underlyingSource?: UnderlyingSource<R>, strategy?: QueuingStrategy<R>): ReadableStream<R>;\n};\ninterface ReadableStreamBYOBReader extends ReadableStreamGenericReader {\n    read<T extends Exclude<BufferSource, ArrayBuffer>>(view: T, options?: ReadableStreamBYOBReaderReadOptions): Promise<ReadableStreamReadResult<T>>;\n    releaseLock(): void;\n}\ndeclare var ReadableStreamBYOBReader: {\n    prototype: ReadableStreamBYOBReader;\n    new (stream: ReadableStream<Uint8Array<ArrayBuffer>>): ReadableStreamBYOBReader;\n};\ninterface ReadableStreamBYOBRequest {\n    readonly view: ArrayBufferView<ArrayBuffer> | null;\n    respond(bytesWritten: number): void;\n    respondWithNewView(view: ArrayBufferView<ArrayBuffer>): void;\n}\ndeclare var ReadableStreamBYOBRequest: {\n    prototype: ReadableStreamBYOBRequest;\n    new (): ReadableStreamBYOBRequest;\n};\ninterface ReadableStreamDefaultController<R = any> {\n    readonly desiredSize: number | null;\n    close(): void;\n    enqueue(chunk: R): void;\n    error(e?: any): void;\n}\ndeclare var ReadableStreamDefaultController: {\n    prototype: ReadableStreamDefaultController;\n    new (): ReadableStreamDefaultController;\n};\ninterface ReadableStreamDefaultReader<R = any> extends ReadableStreamGenericReader {\n    read(): Promise<ReadableStreamReadResult<R>>;\n    releaseLock(): void;\n}\ndeclare var ReadableStreamDefaultReader: {\n    prototype: ReadableStreamDefaultReader;\n    new <R = any>(stream: ReadableStream<R>): ReadableStreamDefaultReader<R>;\n};\ninterface ReadableStreamGenericReader {\n    readonly closed: Promise<void>;\n    cancel(reason?: any): Promise<void>;\n}\ninterface RemotePlaybackEventMap {\n    \"connect\": Event;\n    \"connecting\": Event;\n    \"disconnect\": Event;\n}\ninterface RemotePlayback extends EventTarget {\n    onconnect: ((this: RemotePlayback, ev: Event) => any) | null;\n    onconnecting: ((this: RemotePlayback, ev: Event) => any) | null;\n    ondisconnect: ((this: RemotePlayback, ev: Event) => any) | null;\n    readonly state: RemotePlaybackState;\n    cancelWatchAvailability(id?: number): Promise<void>;\n    prompt(): Promise<void>;\n    watchAvailability(callback: RemotePlaybackAvailabilityCallback): Promise<number>;\n    addEventListener<K extends keyof RemotePlaybackEventMap>(type: K, listener: (this: RemotePlayback, ev: RemotePlaybackEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof RemotePlaybackEventMap>(type: K, listener: (this: RemotePlayback, ev: RemotePlaybackEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var RemotePlayback: {\n    prototype: RemotePlayback;\n    new (): RemotePlayback;\n};\ninterface ReportingObserver {\n    disconnect(): void;\n    observe(): void;\n    takeRecords(): ReportList;\n}\ndeclare var ReportingObserver: {\n    prototype: ReportingObserver;\n    new (callback: ReportingObserverCallback, options?: ReportingObserverOptions): ReportingObserver;\n};\ninterface Request extends Body {\n    readonly cache: RequestCache;\n    readonly credentials: RequestCredentials;\n    readonly destination: RequestDestination;\n    readonly headers: Headers;\n    readonly integrity: string;\n    readonly keepalive: boolean;\n    readonly method: string;\n    readonly mode: RequestMode;\n    readonly redirect: RequestRedirect;\n    readonly referrer: string;\n    readonly referrerPolicy: ReferrerPolicy;\n    readonly signal: AbortSignal;\n    readonly url: string;\n    clone(): Request;\n}\ndeclare var Request: {\n    prototype: Request;\n    new (input: RequestInfo | URL, init?: RequestInit): Request;\n};\ninterface ResizeObserver {\n    disconnect(): void;\n    observe(target: Element, options?: ResizeObserverOptions): void;\n    unobserve(target: Element): void;\n}\ndeclare var ResizeObserver: {\n    prototype: ResizeObserver;\n    new (callback: ResizeObserverCallback): ResizeObserver;\n};\ninterface ResizeObserverEntry {\n    readonly borderBoxSize: ReadonlyArray<ResizeObserverSize>;\n    readonly contentBoxSize: ReadonlyArray<ResizeObserverSize>;\n    readonly contentRect: DOMRectReadOnly;\n    readonly devicePixelContentBoxSize: ReadonlyArray<ResizeObserverSize>;\n    readonly target: Element;\n}\ndeclare var ResizeObserverEntry: {\n    prototype: ResizeObserverEntry;\n    new (): ResizeObserverEntry;\n};\ninterface ResizeObserverSize {\n    readonly blockSize: number;\n    readonly inlineSize: number;\n}\ndeclare var ResizeObserverSize: {\n    prototype: ResizeObserverSize;\n    new (): ResizeObserverSize;\n};\ninterface Response extends Body {\n    readonly headers: Headers;\n    readonly ok: boolean;\n    readonly redirected: boolean;\n    readonly status: number;\n    readonly statusText: string;\n    readonly type: ResponseType;\n    readonly url: string;\n    clone(): Response;\n}\ndeclare var Response: {\n    prototype: Response;\n    new (body?: BodyInit | null, init?: ResponseInit): Response;\n    error(): Response;\n    json(data: any, init?: ResponseInit): Response;\n    redirect(url: string | URL, status?: number): Response;\n};\ninterface SVGAElement extends SVGGraphicsElement, SVGURIReference {\n    download: string;\n    hreflang: string;\n    ping: string;\n    referrerPolicy: string;\n    rel: string;\n    get relList(): DOMTokenList;\n    set relList(value: string);\n    readonly target: SVGAnimatedString;\n    type: string;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGAElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGAElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var SVGAElement: {\n    prototype: SVGAElement;\n    new (): SVGAElement;\n};\ninterface SVGAngle {\n    readonly unitType: number;\n    value: number;\n    valueAsString: string;\n    valueInSpecifiedUnits: number;\n    convertToSpecifiedUnits(unitType: number): void;\n    newValueSpecifiedUnits(unitType: number, valueInSpecifiedUnits: number): void;\n    readonly SVG_ANGLETYPE_UNKNOWN: 0;\n    readonly SVG_ANGLETYPE_UNSPECIFIED: 1;\n    readonly SVG_ANGLETYPE_DEG: 2;\n    readonly SVG_ANGLETYPE_RAD: 3;\n    readonly SVG_ANGLETYPE_GRAD: 4;\n}\ndeclare var SVGAngle: {\n    prototype: SVGAngle;\n    new (): SVGAngle;\n    readonly SVG_ANGLETYPE_UNKNOWN: 0;\n    readonly SVG_ANGLETYPE_UNSPECIFIED: 1;\n    readonly SVG_ANGLETYPE_DEG: 2;\n    readonly SVG_ANGLETYPE_RAD: 3;\n    readonly SVG_ANGLETYPE_GRAD: 4;\n};\ninterface SVGAnimateElement extends SVGAnimationElement {\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGAnimateElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGAnimateElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var SVGAnimateElement: {\n    prototype: SVGAnimateElement;\n    new (): SVGAnimateElement;\n};\ninterface SVGAnimateMotionElement extends SVGAnimationElement {\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGAnimateMotionElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGAnimateMotionElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var SVGAnimateMotionElement: {\n    prototype: SVGAnimateMotionElement;\n    new (): SVGAnimateMotionElement;\n};\ninterface SVGAnimateTransformElement extends SVGAnimationElement {\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGAnimateTransformElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGAnimateTransformElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var SVGAnimateTransformElement: {\n    prototype: SVGAnimateTransformElement;\n    new (): SVGAnimateTransformElement;\n};\ninterface SVGAnimatedAngle {\n    readonly animVal: SVGAngle;\n    readonly baseVal: SVGAngle;\n}\ndeclare var SVGAnimatedAngle: {\n    prototype: SVGAnimatedAngle;\n    new (): SVGAnimatedAngle;\n};\ninterface SVGAnimatedBoolean {\n    readonly animVal: boolean;\n    baseVal: boolean;\n}\ndeclare var SVGAnimatedBoolean: {\n    prototype: SVGAnimatedBoolean;\n    new (): SVGAnimatedBoolean;\n};\ninterface SVGAnimatedEnumeration {\n    readonly animVal: number;\n    baseVal: number;\n}\ndeclare var SVGAnimatedEnumeration: {\n    prototype: SVGAnimatedEnumeration;\n    new (): SVGAnimatedEnumeration;\n};\ninterface SVGAnimatedInteger {\n    readonly animVal: number;\n    baseVal: number;\n}\ndeclare var SVGAnimatedInteger: {\n    prototype: SVGAnimatedInteger;\n    new (): SVGAnimatedInteger;\n};\ninterface SVGAnimatedLength {\n    readonly animVal: SVGLength;\n    readonly baseVal: SVGLength;\n}\ndeclare var SVGAnimatedLength: {\n    prototype: SVGAnimatedLength;\n    new (): SVGAnimatedLength;\n};\ninterface SVGAnimatedLengthList {\n    readonly animVal: SVGLengthList;\n    readonly baseVal: SVGLengthList;\n}\ndeclare var SVGAnimatedLengthList: {\n    prototype: SVGAnimatedLengthList;\n    new (): SVGAnimatedLengthList;\n};\ninterface SVGAnimatedNumber {\n    readonly animVal: number;\n    baseVal: number;\n}\ndeclare var SVGAnimatedNumber: {\n    prototype: SVGAnimatedNumber;\n    new (): SVGAnimatedNumber;\n};\ninterface SVGAnimatedNumberList {\n    readonly animVal: SVGNumberList;\n    readonly baseVal: SVGNumberList;\n}\ndeclare var SVGAnimatedNumberList: {\n    prototype: SVGAnimatedNumberList;\n    new (): SVGAnimatedNumberList;\n};\ninterface SVGAnimatedPoints {\n    readonly animatedPoints: SVGPointList;\n    readonly points: SVGPointList;\n}\ninterface SVGAnimatedPreserveAspectRatio {\n    readonly animVal: SVGPreserveAspectRatio;\n    readonly baseVal: SVGPreserveAspectRatio;\n}\ndeclare var SVGAnimatedPreserveAspectRatio: {\n    prototype: SVGAnimatedPreserveAspectRatio;\n    new (): SVGAnimatedPreserveAspectRatio;\n};\ninterface SVGAnimatedRect {\n    readonly animVal: DOMRectReadOnly;\n    readonly baseVal: DOMRect;\n}\ndeclare var SVGAnimatedRect: {\n    prototype: SVGAnimatedRect;\n    new (): SVGAnimatedRect;\n};\ninterface SVGAnimatedString {\n    readonly animVal: string;\n    baseVal: string;\n}\ndeclare var SVGAnimatedString: {\n    prototype: SVGAnimatedString;\n    new (): SVGAnimatedString;\n};\ninterface SVGAnimatedTransformList {\n    readonly animVal: SVGTransformList;\n    readonly baseVal: SVGTransformList;\n}\ndeclare var SVGAnimatedTransformList: {\n    prototype: SVGAnimatedTransformList;\n    new (): SVGAnimatedTransformList;\n};\ninterface SVGAnimationElement extends SVGElement, SVGTests {\n    readonly targetElement: SVGElement | null;\n    beginElement(): void;\n    beginElementAt(offset: number): void;\n    endElement(): void;\n    endElementAt(offset: number): void;\n    getCurrentTime(): number;\n    getSimpleDuration(): number;\n    getStartTime(): number;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGAnimationElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGAnimationElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var SVGAnimationElement: {\n    prototype: SVGAnimationElement;\n    new (): SVGAnimationElement;\n};\ninterface SVGCircleElement extends SVGGeometryElement {\n    readonly cx: SVGAnimatedLength;\n    readonly cy: SVGAnimatedLength;\n    readonly r: SVGAnimatedLength;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGCircleElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGCircleElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var SVGCircleElement: {\n    prototype: SVGCircleElement;\n    new (): SVGCircleElement;\n};\ninterface SVGClipPathElement extends SVGElement {\n    readonly clipPathUnits: SVGAnimatedEnumeration;\n    readonly transform: SVGAnimatedTransformList;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGClipPathElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGClipPathElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var SVGClipPathElement: {\n    prototype: SVGClipPathElement;\n    new (): SVGClipPathElement;\n};\ninterface SVGComponentTransferFunctionElement extends SVGElement {\n    readonly amplitude: SVGAnimatedNumber;\n    readonly exponent: SVGAnimatedNumber;\n    readonly intercept: SVGAnimatedNumber;\n    readonly offset: SVGAnimatedNumber;\n    readonly slope: SVGAnimatedNumber;\n    readonly tableValues: SVGAnimatedNumberList;\n    readonly type: SVGAnimatedEnumeration;\n    readonly SVG_FECOMPONENTTRANSFER_TYPE_UNKNOWN: 0;\n    readonly SVG_FECOMPONENTTRANSFER_TYPE_IDENTITY: 1;\n    readonly SVG_FECOMPONENTTRANSFER_TYPE_TABLE: 2;\n    readonly SVG_FECOMPONENTTRANSFER_TYPE_DISCRETE: 3;\n    readonly SVG_FECOMPONENTTRANSFER_TYPE_LINEAR: 4;\n    readonly SVG_FECOMPONENTTRANSFER_TYPE_GAMMA: 5;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGComponentTransferFunctionElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGComponentTransferFunctionElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var SVGComponentTransferFunctionElement: {\n    prototype: SVGComponentTransferFunctionElement;\n    new (): SVGComponentTransferFunctionElement;\n    readonly SVG_FECOMPONENTTRANSFER_TYPE_UNKNOWN: 0;\n    readonly SVG_FECOMPONENTTRANSFER_TYPE_IDENTITY: 1;\n    readonly SVG_FECOMPONENTTRANSFER_TYPE_TABLE: 2;\n    readonly SVG_FECOMPONENTTRANSFER_TYPE_DISCRETE: 3;\n    readonly SVG_FECOMPONENTTRANSFER_TYPE_LINEAR: 4;\n    readonly SVG_FECOMPONENTTRANSFER_TYPE_GAMMA: 5;\n};\ninterface SVGDefsElement extends SVGGraphicsElement {\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGDefsElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGDefsElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var SVGDefsElement: {\n    prototype: SVGDefsElement;\n    new (): SVGDefsElement;\n};\ninterface SVGDescElement extends SVGElement {\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGDescElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGDescElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var SVGDescElement: {\n    prototype: SVGDescElement;\n    new (): SVGDescElement;\n};\ninterface SVGElementEventMap extends ElementEventMap, GlobalEventHandlersEventMap {\n}\ninterface SVGElement extends Element, ElementCSSInlineStyle, GlobalEventHandlers, HTMLOrSVGElement {\n    readonly className: any;\n    readonly ownerSVGElement: SVGSVGElement | null;\n    readonly viewportElement: SVGElement | null;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var SVGElement: {\n    prototype: SVGElement;\n    new (): SVGElement;\n};\ninterface SVGEllipseElement extends SVGGeometryElement {\n    readonly cx: SVGAnimatedLength;\n    readonly cy: SVGAnimatedLength;\n    readonly rx: SVGAnimatedLength;\n    readonly ry: SVGAnimatedLength;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGEllipseElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGEllipseElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var SVGEllipseElement: {\n    prototype: SVGEllipseElement;\n    new (): SVGEllipseElement;\n};\ninterface SVGFEBlendElement extends SVGElement, SVGFilterPrimitiveStandardAttributes {\n    readonly in1: SVGAnimatedString;\n    readonly in2: SVGAnimatedString;\n    readonly mode: SVGAnimatedEnumeration;\n    readonly SVG_FEBLEND_MODE_UNKNOWN: 0;\n    readonly SVG_FEBLEND_MODE_NORMAL: 1;\n    readonly SVG_FEBLEND_MODE_MULTIPLY: 2;\n    readonly SVG_FEBLEND_MODE_SCREEN: 3;\n    readonly SVG_FEBLEND_MODE_DARKEN: 4;\n    readonly SVG_FEBLEND_MODE_LIGHTEN: 5;\n    readonly SVG_FEBLEND_MODE_OVERLAY: 6;\n    readonly SVG_FEBLEND_MODE_COLOR_DODGE: 7;\n    readonly SVG_FEBLEND_MODE_COLOR_BURN: 8;\n    readonly SVG_FEBLEND_MODE_HARD_LIGHT: 9;\n    readonly SVG_FEBLEND_MODE_SOFT_LIGHT: 10;\n    readonly SVG_FEBLEND_MODE_DIFFERENCE: 11;\n    readonly SVG_FEBLEND_MODE_EXCLUSION: 12;\n    readonly SVG_FEBLEND_MODE_HUE: 13;\n    readonly SVG_FEBLEND_MODE_SATURATION: 14;\n    readonly SVG_FEBLEND_MODE_COLOR: 15;\n    readonly SVG_FEBLEND_MODE_LUMINOSITY: 16;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEBlendElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEBlendElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var SVGFEBlendElement: {\n    prototype: SVGFEBlendElement;\n    new (): SVGFEBlendElement;\n    readonly SVG_FEBLEND_MODE_UNKNOWN: 0;\n    readonly SVG_FEBLEND_MODE_NORMAL: 1;\n    readonly SVG_FEBLEND_MODE_MULTIPLY: 2;\n    readonly SVG_FEBLEND_MODE_SCREEN: 3;\n    readonly SVG_FEBLEND_MODE_DARKEN: 4;\n    readonly SVG_FEBLEND_MODE_LIGHTEN: 5;\n    readonly SVG_FEBLEND_MODE_OVERLAY: 6;\n    readonly SVG_FEBLEND_MODE_COLOR_DODGE: 7;\n    readonly SVG_FEBLEND_MODE_COLOR_BURN: 8;\n    readonly SVG_FEBLEND_MODE_HARD_LIGHT: 9;\n    readonly SVG_FEBLEND_MODE_SOFT_LIGHT: 10;\n    readonly SVG_FEBLEND_MODE_DIFFERENCE: 11;\n    readonly SVG_FEBLEND_MODE_EXCLUSION: 12;\n    readonly SVG_FEBLEND_MODE_HUE: 13;\n    readonly SVG_FEBLEND_MODE_SATURATION: 14;\n    readonly SVG_FEBLEND_MODE_COLOR: 15;\n    readonly SVG_FEBLEND_MODE_LUMINOSITY: 16;\n};\ninterface SVGFEColorMatrixElement extends SVGElement, SVGFilterPrimitiveStandardAttributes {\n    readonly in1: SVGAnimatedString;\n    readonly type: SVGAnimatedEnumeration;\n    readonly values: SVGAnimatedNumberList;\n    readonly SVG_FECOLORMATRIX_TYPE_UNKNOWN: 0;\n    readonly SVG_FECOLORMATRIX_TYPE_MATRIX: 1;\n    readonly SVG_FECOLORMATRIX_TYPE_SATURATE: 2;\n    readonly SVG_FECOLORMATRIX_TYPE_HUEROTATE: 3;\n    readonly SVG_FECOLORMATRIX_TYPE_LUMINANCETOALPHA: 4;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEColorMatrixElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEColorMatrixElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var SVGFEColorMatrixElement: {\n    prototype: SVGFEColorMatrixElement;\n    new (): SVGFEColorMatrixElement;\n    readonly SVG_FECOLORMATRIX_TYPE_UNKNOWN: 0;\n    readonly SVG_FECOLORMATRIX_TYPE_MATRIX: 1;\n    readonly SVG_FECOLORMATRIX_TYPE_SATURATE: 2;\n    readonly SVG_FECOLORMATRIX_TYPE_HUEROTATE: 3;\n    readonly SVG_FECOLORMATRIX_TYPE_LUMINANCETOALPHA: 4;\n};\ninterface SVGFEComponentTransferElement extends SVGElement, SVGFilterPrimitiveStandardAttributes {\n    readonly in1: SVGAnimatedString;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEComponentTransferElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEComponentTransferElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var SVGFEComponentTransferElement: {\n    prototype: SVGFEComponentTransferElement;\n    new (): SVGFEComponentTransferElement;\n};\ninterface SVGFECompositeElement extends SVGElement, SVGFilterPrimitiveStandardAttributes {\n    readonly in1: SVGAnimatedString;\n    readonly in2: SVGAnimatedString;\n    readonly k1: SVGAnimatedNumber;\n    readonly k2: SVGAnimatedNumber;\n    readonly k3: SVGAnimatedNumber;\n    readonly k4: SVGAnimatedNumber;\n    readonly operator: SVGAnimatedEnumeration;\n    readonly SVG_FECOMPOSITE_OPERATOR_UNKNOWN: 0;\n    readonly SVG_FECOMPOSITE_OPERATOR_OVER: 1;\n    readonly SVG_FECOMPOSITE_OPERATOR_IN: 2;\n    readonly SVG_FECOMPOSITE_OPERATOR_OUT: 3;\n    readonly SVG_FECOMPOSITE_OPERATOR_ATOP: 4;\n    readonly SVG_FECOMPOSITE_OPERATOR_XOR: 5;\n    readonly SVG_FECOMPOSITE_OPERATOR_ARITHMETIC: 6;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFECompositeElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFECompositeElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var SVGFECompositeElement: {\n    prototype: SVGFECompositeElement;\n    new (): SVGFECompositeElement;\n    readonly SVG_FECOMPOSITE_OPERATOR_UNKNOWN: 0;\n    readonly SVG_FECOMPOSITE_OPERATOR_OVER: 1;\n    readonly SVG_FECOMPOSITE_OPERATOR_IN: 2;\n    readonly SVG_FECOMPOSITE_OPERATOR_OUT: 3;\n    readonly SVG_FECOMPOSITE_OPERATOR_ATOP: 4;\n    readonly SVG_FECOMPOSITE_OPERATOR_XOR: 5;\n    readonly SVG_FECOMPOSITE_OPERATOR_ARITHMETIC: 6;\n};\ninterface SVGFEConvolveMatrixElement extends SVGElement, SVGFilterPrimitiveStandardAttributes {\n    readonly bias: SVGAnimatedNumber;\n    readonly divisor: SVGAnimatedNumber;\n    readonly edgeMode: SVGAnimatedEnumeration;\n    readonly in1: SVGAnimatedString;\n    readonly kernelMatrix: SVGAnimatedNumberList;\n    readonly kernelUnitLengthX: SVGAnimatedNumber;\n    readonly kernelUnitLengthY: SVGAnimatedNumber;\n    readonly orderX: SVGAnimatedInteger;\n    readonly orderY: SVGAnimatedInteger;\n    readonly preserveAlpha: SVGAnimatedBoolean;\n    readonly targetX: SVGAnimatedInteger;\n    readonly targetY: SVGAnimatedInteger;\n    readonly SVG_EDGEMODE_UNKNOWN: 0;\n    readonly SVG_EDGEMODE_DUPLICATE: 1;\n    readonly SVG_EDGEMODE_WRAP: 2;\n    readonly SVG_EDGEMODE_NONE: 3;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEConvolveMatrixElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEConvolveMatrixElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var SVGFEConvolveMatrixElement: {\n    prototype: SVGFEConvolveMatrixElement;\n    new (): SVGFEConvolveMatrixElement;\n    readonly SVG_EDGEMODE_UNKNOWN: 0;\n    readonly SVG_EDGEMODE_DUPLICATE: 1;\n    readonly SVG_EDGEMODE_WRAP: 2;\n    readonly SVG_EDGEMODE_NONE: 3;\n};\ninterface SVGFEDiffuseLightingElement extends SVGElement, SVGFilterPrimitiveStandardAttributes {\n    readonly diffuseConstant: SVGAnimatedNumber;\n    readonly in1: SVGAnimatedString;\n    readonly kernelUnitLengthX: SVGAnimatedNumber;\n    readonly kernelUnitLengthY: SVGAnimatedNumber;\n    readonly surfaceScale: SVGAnimatedNumber;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEDiffuseLightingElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEDiffuseLightingElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var SVGFEDiffuseLightingElement: {\n    prototype: SVGFEDiffuseLightingElement;\n    new (): SVGFEDiffuseLightingElement;\n};\ninterface SVGFEDisplacementMapElement extends SVGElement, SVGFilterPrimitiveStandardAttributes {\n    readonly in1: SVGAnimatedString;\n    readonly in2: SVGAnimatedString;\n    readonly scale: SVGAnimatedNumber;\n    readonly xChannelSelector: SVGAnimatedEnumeration;\n    readonly yChannelSelector: SVGAnimatedEnumeration;\n    readonly SVG_CHANNEL_UNKNOWN: 0;\n    readonly SVG_CHANNEL_R: 1;\n    readonly SVG_CHANNEL_G: 2;\n    readonly SVG_CHANNEL_B: 3;\n    readonly SVG_CHANNEL_A: 4;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEDisplacementMapElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEDisplacementMapElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var SVGFEDisplacementMapElement: {\n    prototype: SVGFEDisplacementMapElement;\n    new (): SVGFEDisplacementMapElement;\n    readonly SVG_CHANNEL_UNKNOWN: 0;\n    readonly SVG_CHANNEL_R: 1;\n    readonly SVG_CHANNEL_G: 2;\n    readonly SVG_CHANNEL_B: 3;\n    readonly SVG_CHANNEL_A: 4;\n};\ninterface SVGFEDistantLightElement extends SVGElement {\n    readonly azimuth: SVGAnimatedNumber;\n    readonly elevation: SVGAnimatedNumber;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEDistantLightElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEDistantLightElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var SVGFEDistantLightElement: {\n    prototype: SVGFEDistantLightElement;\n    new (): SVGFEDistantLightElement;\n};\ninterface SVGFEDropShadowElement extends SVGElement, SVGFilterPrimitiveStandardAttributes {\n    readonly dx: SVGAnimatedNumber;\n    readonly dy: SVGAnimatedNumber;\n    readonly in1: SVGAnimatedString;\n    readonly stdDeviationX: SVGAnimatedNumber;\n    readonly stdDeviationY: SVGAnimatedNumber;\n    setStdDeviation(stdDeviationX: number, stdDeviationY: number): void;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEDropShadowElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEDropShadowElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var SVGFEDropShadowElement: {\n    prototype: SVGFEDropShadowElement;\n    new (): SVGFEDropShadowElement;\n};\ninterface SVGFEFloodElement extends SVGElement, SVGFilterPrimitiveStandardAttributes {\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEFloodElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEFloodElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var SVGFEFloodElement: {\n    prototype: SVGFEFloodElement;\n    new (): SVGFEFloodElement;\n};\ninterface SVGFEFuncAElement extends SVGComponentTransferFunctionElement {\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEFuncAElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEFuncAElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var SVGFEFuncAElement: {\n    prototype: SVGFEFuncAElement;\n    new (): SVGFEFuncAElement;\n};\ninterface SVGFEFuncBElement extends SVGComponentTransferFunctionElement {\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEFuncBElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEFuncBElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var SVGFEFuncBElement: {\n    prototype: SVGFEFuncBElement;\n    new (): SVGFEFuncBElement;\n};\ninterface SVGFEFuncGElement extends SVGComponentTransferFunctionElement {\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEFuncGElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEFuncGElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var SVGFEFuncGElement: {\n    prototype: SVGFEFuncGElement;\n    new (): SVGFEFuncGElement;\n};\ninterface SVGFEFuncRElement extends SVGComponentTransferFunctionElement {\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEFuncRElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEFuncRElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var SVGFEFuncRElement: {\n    prototype: SVGFEFuncRElement;\n    new (): SVGFEFuncRElement;\n};\ninterface SVGFEGaussianBlurElement extends SVGElement, SVGFilterPrimitiveStandardAttributes {\n    readonly in1: SVGAnimatedString;\n    readonly stdDeviationX: SVGAnimatedNumber;\n    readonly stdDeviationY: SVGAnimatedNumber;\n    setStdDeviation(stdDeviationX: number, stdDeviationY: number): void;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEGaussianBlurElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEGaussianBlurElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var SVGFEGaussianBlurElement: {\n    prototype: SVGFEGaussianBlurElement;\n    new (): SVGFEGaussianBlurElement;\n};\ninterface SVGFEImageElement extends SVGElement, SVGFilterPrimitiveStandardAttributes, SVGURIReference {\n    readonly preserveAspectRatio: SVGAnimatedPreserveAspectRatio;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEImageElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEImageElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var SVGFEImageElement: {\n    prototype: SVGFEImageElement;\n    new (): SVGFEImageElement;\n};\ninterface SVGFEMergeElement extends SVGElement, SVGFilterPrimitiveStandardAttributes {\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEMergeElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEMergeElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var SVGFEMergeElement: {\n    prototype: SVGFEMergeElement;\n    new (): SVGFEMergeElement;\n};\ninterface SVGFEMergeNodeElement extends SVGElement {\n    readonly in1: SVGAnimatedString;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEMergeNodeElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEMergeNodeElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var SVGFEMergeNodeElement: {\n    prototype: SVGFEMergeNodeElement;\n    new (): SVGFEMergeNodeElement;\n};\ninterface SVGFEMorphologyElement extends SVGElement, SVGFilterPrimitiveStandardAttributes {\n    readonly in1: SVGAnimatedString;\n    readonly operator: SVGAnimatedEnumeration;\n    readonly radiusX: SVGAnimatedNumber;\n    readonly radiusY: SVGAnimatedNumber;\n    readonly SVG_MORPHOLOGY_OPERATOR_UNKNOWN: 0;\n    readonly SVG_MORPHOLOGY_OPERATOR_ERODE: 1;\n    readonly SVG_MORPHOLOGY_OPERATOR_DILATE: 2;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEMorphologyElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEMorphologyElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var SVGFEMorphologyElement: {\n    prototype: SVGFEMorphologyElement;\n    new (): SVGFEMorphologyElement;\n    readonly SVG_MORPHOLOGY_OPERATOR_UNKNOWN: 0;\n    readonly SVG_MORPHOLOGY_OPERATOR_ERODE: 1;\n    readonly SVG_MORPHOLOGY_OPERATOR_DILATE: 2;\n};\ninterface SVGFEOffsetElement extends SVGElement, SVGFilterPrimitiveStandardAttributes {\n    readonly dx: SVGAnimatedNumber;\n    readonly dy: SVGAnimatedNumber;\n    readonly in1: SVGAnimatedString;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEOffsetElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEOffsetElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var SVGFEOffsetElement: {\n    prototype: SVGFEOffsetElement;\n    new (): SVGFEOffsetElement;\n};\ninterface SVGFEPointLightElement extends SVGElement {\n    readonly x: SVGAnimatedNumber;\n    readonly y: SVGAnimatedNumber;\n    readonly z: SVGAnimatedNumber;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEPointLightElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEPointLightElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var SVGFEPointLightElement: {\n    prototype: SVGFEPointLightElement;\n    new (): SVGFEPointLightElement;\n};\ninterface SVGFESpecularLightingElement extends SVGElement, SVGFilterPrimitiveStandardAttributes {\n    readonly in1: SVGAnimatedString;\n    readonly kernelUnitLengthX: SVGAnimatedNumber;\n    readonly kernelUnitLengthY: SVGAnimatedNumber;\n    readonly specularConstant: SVGAnimatedNumber;\n    readonly specularExponent: SVGAnimatedNumber;\n    readonly surfaceScale: SVGAnimatedNumber;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFESpecularLightingElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFESpecularLightingElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var SVGFESpecularLightingElement: {\n    prototype: SVGFESpecularLightingElement;\n    new (): SVGFESpecularLightingElement;\n};\ninterface SVGFESpotLightElement extends SVGElement {\n    readonly limitingConeAngle: SVGAnimatedNumber;\n    readonly pointsAtX: SVGAnimatedNumber;\n    readonly pointsAtY: SVGAnimatedNumber;\n    readonly pointsAtZ: SVGAnimatedNumber;\n    readonly specularExponent: SVGAnimatedNumber;\n    readonly x: SVGAnimatedNumber;\n    readonly y: SVGAnimatedNumber;\n    readonly z: SVGAnimatedNumber;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFESpotLightElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFESpotLightElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var SVGFESpotLightElement: {\n    prototype: SVGFESpotLightElement;\n    new (): SVGFESpotLightElement;\n};\ninterface SVGFETileElement extends SVGElement, SVGFilterPrimitiveStandardAttributes {\n    readonly in1: SVGAnimatedString;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFETileElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFETileElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var SVGFETileElement: {\n    prototype: SVGFETileElement;\n    new (): SVGFETileElement;\n};\ninterface SVGFETurbulenceElement extends SVGElement, SVGFilterPrimitiveStandardAttributes {\n    readonly baseFrequencyX: SVGAnimatedNumber;\n    readonly baseFrequencyY: SVGAnimatedNumber;\n    readonly numOctaves: SVGAnimatedInteger;\n    readonly seed: SVGAnimatedNumber;\n    readonly stitchTiles: SVGAnimatedEnumeration;\n    readonly type: SVGAnimatedEnumeration;\n    readonly SVG_TURBULENCE_TYPE_UNKNOWN: 0;\n    readonly SVG_TURBULENCE_TYPE_FRACTALNOISE: 1;\n    readonly SVG_TURBULENCE_TYPE_TURBULENCE: 2;\n    readonly SVG_STITCHTYPE_UNKNOWN: 0;\n    readonly SVG_STITCHTYPE_STITCH: 1;\n    readonly SVG_STITCHTYPE_NOSTITCH: 2;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFETurbulenceElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFETurbulenceElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var SVGFETurbulenceElement: {\n    prototype: SVGFETurbulenceElement;\n    new (): SVGFETurbulenceElement;\n    readonly SVG_TURBULENCE_TYPE_UNKNOWN: 0;\n    readonly SVG_TURBULENCE_TYPE_FRACTALNOISE: 1;\n    readonly SVG_TURBULENCE_TYPE_TURBULENCE: 2;\n    readonly SVG_STITCHTYPE_UNKNOWN: 0;\n    readonly SVG_STITCHTYPE_STITCH: 1;\n    readonly SVG_STITCHTYPE_NOSTITCH: 2;\n};\ninterface SVGFilterElement extends SVGElement, SVGURIReference {\n    readonly filterUnits: SVGAnimatedEnumeration;\n    readonly height: SVGAnimatedLength;\n    readonly primitiveUnits: SVGAnimatedEnumeration;\n    readonly width: SVGAnimatedLength;\n    readonly x: SVGAnimatedLength;\n    readonly y: SVGAnimatedLength;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFilterElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFilterElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var SVGFilterElement: {\n    prototype: SVGFilterElement;\n    new (): SVGFilterElement;\n};\ninterface SVGFilterPrimitiveStandardAttributes {\n    readonly height: SVGAnimatedLength;\n    readonly result: SVGAnimatedString;\n    readonly width: SVGAnimatedLength;\n    readonly x: SVGAnimatedLength;\n    readonly y: SVGAnimatedLength;\n}\ninterface SVGFitToViewBox {\n    readonly preserveAspectRatio: SVGAnimatedPreserveAspectRatio;\n    readonly viewBox: SVGAnimatedRect;\n}\ninterface SVGForeignObjectElement extends SVGGraphicsElement {\n    readonly height: SVGAnimatedLength;\n    readonly width: SVGAnimatedLength;\n    readonly x: SVGAnimatedLength;\n    readonly y: SVGAnimatedLength;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGForeignObjectElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGForeignObjectElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var SVGForeignObjectElement: {\n    prototype: SVGForeignObjectElement;\n    new (): SVGForeignObjectElement;\n};\ninterface SVGGElement extends SVGGraphicsElement {\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGGElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGGElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var SVGGElement: {\n    prototype: SVGGElement;\n    new (): SVGGElement;\n};\ninterface SVGGeometryElement extends SVGGraphicsElement {\n    readonly pathLength: SVGAnimatedNumber;\n    getPointAtLength(distance: number): DOMPoint;\n    getTotalLength(): number;\n    isPointInFill(point?: DOMPointInit): boolean;\n    isPointInStroke(point?: DOMPointInit): boolean;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGGeometryElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGGeometryElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var SVGGeometryElement: {\n    prototype: SVGGeometryElement;\n    new (): SVGGeometryElement;\n};\ninterface SVGGradientElement extends SVGElement, SVGURIReference {\n    readonly gradientTransform: SVGAnimatedTransformList;\n    readonly gradientUnits: SVGAnimatedEnumeration;\n    readonly spreadMethod: SVGAnimatedEnumeration;\n    readonly SVG_SPREADMETHOD_UNKNOWN: 0;\n    readonly SVG_SPREADMETHOD_PAD: 1;\n    readonly SVG_SPREADMETHOD_REFLECT: 2;\n    readonly SVG_SPREADMETHOD_REPEAT: 3;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGGradientElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGGradientElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var SVGGradientElement: {\n    prototype: SVGGradientElement;\n    new (): SVGGradientElement;\n    readonly SVG_SPREADMETHOD_UNKNOWN: 0;\n    readonly SVG_SPREADMETHOD_PAD: 1;\n    readonly SVG_SPREADMETHOD_REFLECT: 2;\n    readonly SVG_SPREADMETHOD_REPEAT: 3;\n};\ninterface SVGGraphicsElement extends SVGElement, SVGTests {\n    readonly transform: SVGAnimatedTransformList;\n    getBBox(options?: SVGBoundingBoxOptions): DOMRect;\n    getCTM(): DOMMatrix | null;\n    getScreenCTM(): DOMMatrix | null;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGGraphicsElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGGraphicsElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var SVGGraphicsElement: {\n    prototype: SVGGraphicsElement;\n    new (): SVGGraphicsElement;\n};\ninterface SVGImageElement extends SVGGraphicsElement, SVGURIReference {\n    crossOrigin: string | null;\n    readonly height: SVGAnimatedLength;\n    readonly preserveAspectRatio: SVGAnimatedPreserveAspectRatio;\n    readonly width: SVGAnimatedLength;\n    readonly x: SVGAnimatedLength;\n    readonly y: SVGAnimatedLength;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGImageElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGImageElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var SVGImageElement: {\n    prototype: SVGImageElement;\n    new (): SVGImageElement;\n};\ninterface SVGLength {\n    readonly unitType: number;\n    value: number;\n    valueAsString: string;\n    valueInSpecifiedUnits: number;\n    convertToSpecifiedUnits(unitType: number): void;\n    newValueSpecifiedUnits(unitType: number, valueInSpecifiedUnits: number): void;\n    readonly SVG_LENGTHTYPE_UNKNOWN: 0;\n    readonly SVG_LENGTHTYPE_NUMBER: 1;\n    readonly SVG_LENGTHTYPE_PERCENTAGE: 2;\n    readonly SVG_LENGTHTYPE_EMS: 3;\n    readonly SVG_LENGTHTYPE_EXS: 4;\n    readonly SVG_LENGTHTYPE_PX: 5;\n    readonly SVG_LENGTHTYPE_CM: 6;\n    readonly SVG_LENGTHTYPE_MM: 7;\n    readonly SVG_LENGTHTYPE_IN: 8;\n    readonly SVG_LENGTHTYPE_PT: 9;\n    readonly SVG_LENGTHTYPE_PC: 10;\n}\ndeclare var SVGLength: {\n    prototype: SVGLength;\n    new (): SVGLength;\n    readonly SVG_LENGTHTYPE_UNKNOWN: 0;\n    readonly SVG_LENGTHTYPE_NUMBER: 1;\n    readonly SVG_LENGTHTYPE_PERCENTAGE: 2;\n    readonly SVG_LENGTHTYPE_EMS: 3;\n    readonly SVG_LENGTHTYPE_EXS: 4;\n    readonly SVG_LENGTHTYPE_PX: 5;\n    readonly SVG_LENGTHTYPE_CM: 6;\n    readonly SVG_LENGTHTYPE_MM: 7;\n    readonly SVG_LENGTHTYPE_IN: 8;\n    readonly SVG_LENGTHTYPE_PT: 9;\n    readonly SVG_LENGTHTYPE_PC: 10;\n};\ninterface SVGLengthList {\n    readonly length: number;\n    readonly numberOfItems: number;\n    appendItem(newItem: SVGLength): SVGLength;\n    clear(): void;\n    getItem(index: number): SVGLength;\n    initialize(newItem: SVGLength): SVGLength;\n    insertItemBefore(newItem: SVGLength, index: number): SVGLength;\n    removeItem(index: number): SVGLength;\n    replaceItem(newItem: SVGLength, index: number): SVGLength;\n    [index: number]: SVGLength;\n}\ndeclare var SVGLengthList: {\n    prototype: SVGLengthList;\n    new (): SVGLengthList;\n};\ninterface SVGLineElement extends SVGGeometryElement {\n    readonly x1: SVGAnimatedLength;\n    readonly x2: SVGAnimatedLength;\n    readonly y1: SVGAnimatedLength;\n    readonly y2: SVGAnimatedLength;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGLineElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGLineElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var SVGLineElement: {\n    prototype: SVGLineElement;\n    new (): SVGLineElement;\n};\ninterface SVGLinearGradientElement extends SVGGradientElement {\n    readonly x1: SVGAnimatedLength;\n    readonly x2: SVGAnimatedLength;\n    readonly y1: SVGAnimatedLength;\n    readonly y2: SVGAnimatedLength;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGLinearGradientElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGLinearGradientElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var SVGLinearGradientElement: {\n    prototype: SVGLinearGradientElement;\n    new (): SVGLinearGradientElement;\n};\ninterface SVGMPathElement extends SVGElement, SVGURIReference {\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGMPathElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGMPathElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var SVGMPathElement: {\n    prototype: SVGMPathElement;\n    new (): SVGMPathElement;\n};\ninterface SVGMarkerElement extends SVGElement, SVGFitToViewBox {\n    readonly markerHeight: SVGAnimatedLength;\n    readonly markerUnits: SVGAnimatedEnumeration;\n    readonly markerWidth: SVGAnimatedLength;\n    readonly orientAngle: SVGAnimatedAngle;\n    readonly orientType: SVGAnimatedEnumeration;\n    readonly refX: SVGAnimatedLength;\n    readonly refY: SVGAnimatedLength;\n    setOrientToAngle(angle: SVGAngle): void;\n    setOrientToAuto(): void;\n    readonly SVG_MARKERUNITS_UNKNOWN: 0;\n    readonly SVG_MARKERUNITS_USERSPACEONUSE: 1;\n    readonly SVG_MARKERUNITS_STROKEWIDTH: 2;\n    readonly SVG_MARKER_ORIENT_UNKNOWN: 0;\n    readonly SVG_MARKER_ORIENT_AUTO: 1;\n    readonly SVG_MARKER_ORIENT_ANGLE: 2;\n    readonly SVG_MARKER_ORIENT_AUTO_START_REVERSE: 3;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGMarkerElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGMarkerElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var SVGMarkerElement: {\n    prototype: SVGMarkerElement;\n    new (): SVGMarkerElement;\n    readonly SVG_MARKERUNITS_UNKNOWN: 0;\n    readonly SVG_MARKERUNITS_USERSPACEONUSE: 1;\n    readonly SVG_MARKERUNITS_STROKEWIDTH: 2;\n    readonly SVG_MARKER_ORIENT_UNKNOWN: 0;\n    readonly SVG_MARKER_ORIENT_AUTO: 1;\n    readonly SVG_MARKER_ORIENT_ANGLE: 2;\n    readonly SVG_MARKER_ORIENT_AUTO_START_REVERSE: 3;\n};\ninterface SVGMaskElement extends SVGElement {\n    readonly height: SVGAnimatedLength;\n    readonly maskContentUnits: SVGAnimatedEnumeration;\n    readonly maskUnits: SVGAnimatedEnumeration;\n    readonly width: SVGAnimatedLength;\n    readonly x: SVGAnimatedLength;\n    readonly y: SVGAnimatedLength;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGMaskElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGMaskElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var SVGMaskElement: {\n    prototype: SVGMaskElement;\n    new (): SVGMaskElement;\n};\ninterface SVGMetadataElement extends SVGElement {\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGMetadataElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGMetadataElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var SVGMetadataElement: {\n    prototype: SVGMetadataElement;\n    new (): SVGMetadataElement;\n};\ninterface SVGNumber {\n    value: number;\n}\ndeclare var SVGNumber: {\n    prototype: SVGNumber;\n    new (): SVGNumber;\n};\ninterface SVGNumberList {\n    readonly length: number;\n    readonly numberOfItems: number;\n    appendItem(newItem: SVGNumber): SVGNumber;\n    clear(): void;\n    getItem(index: number): SVGNumber;\n    initialize(newItem: SVGNumber): SVGNumber;\n    insertItemBefore(newItem: SVGNumber, index: number): SVGNumber;\n    removeItem(index: number): SVGNumber;\n    replaceItem(newItem: SVGNumber, index: number): SVGNumber;\n    [index: number]: SVGNumber;\n}\ndeclare var SVGNumberList: {\n    prototype: SVGNumberList;\n    new (): SVGNumberList;\n};\ninterface SVGPathElement extends SVGGeometryElement {\n    readonly pathLength: SVGAnimatedNumber;\n    getPointAtLength(distance: number): DOMPoint;\n    getTotalLength(): number;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGPathElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGPathElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var SVGPathElement: {\n    prototype: SVGPathElement;\n    new (): SVGPathElement;\n};\ninterface SVGPatternElement extends SVGElement, SVGFitToViewBox, SVGURIReference {\n    readonly height: SVGAnimatedLength;\n    readonly patternContentUnits: SVGAnimatedEnumeration;\n    readonly patternTransform: SVGAnimatedTransformList;\n    readonly patternUnits: SVGAnimatedEnumeration;\n    readonly width: SVGAnimatedLength;\n    readonly x: SVGAnimatedLength;\n    readonly y: SVGAnimatedLength;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGPatternElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGPatternElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var SVGPatternElement: {\n    prototype: SVGPatternElement;\n    new (): SVGPatternElement;\n};\ninterface SVGPointList {\n    readonly length: number;\n    readonly numberOfItems: number;\n    appendItem(newItem: DOMPoint): DOMPoint;\n    clear(): void;\n    getItem(index: number): DOMPoint;\n    initialize(newItem: DOMPoint): DOMPoint;\n    insertItemBefore(newItem: DOMPoint, index: number): DOMPoint;\n    removeItem(index: number): DOMPoint;\n    replaceItem(newItem: DOMPoint, index: number): DOMPoint;\n    [index: number]: DOMPoint;\n}\ndeclare var SVGPointList: {\n    prototype: SVGPointList;\n    new (): SVGPointList;\n};\ninterface SVGPolygonElement extends SVGGeometryElement, SVGAnimatedPoints {\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGPolygonElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGPolygonElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var SVGPolygonElement: {\n    prototype: SVGPolygonElement;\n    new (): SVGPolygonElement;\n};\ninterface SVGPolylineElement extends SVGGeometryElement, SVGAnimatedPoints {\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGPolylineElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGPolylineElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var SVGPolylineElement: {\n    prototype: SVGPolylineElement;\n    new (): SVGPolylineElement;\n};\ninterface SVGPreserveAspectRatio {\n    align: number;\n    meetOrSlice: number;\n    readonly SVG_PRESERVEASPECTRATIO_UNKNOWN: 0;\n    readonly SVG_PRESERVEASPECTRATIO_NONE: 1;\n    readonly SVG_PRESERVEASPECTRATIO_XMINYMIN: 2;\n    readonly SVG_PRESERVEASPECTRATIO_XMIDYMIN: 3;\n    readonly SVG_PRESERVEASPECTRATIO_XMAXYMIN: 4;\n    readonly SVG_PRESERVEASPECTRATIO_XMINYMID: 5;\n    readonly SVG_PRESERVEASPECTRATIO_XMIDYMID: 6;\n    readonly SVG_PRESERVEASPECTRATIO_XMAXYMID: 7;\n    readonly SVG_PRESERVEASPECTRATIO_XMINYMAX: 8;\n    readonly SVG_PRESERVEASPECTRATIO_XMIDYMAX: 9;\n    readonly SVG_PRESERVEASPECTRATIO_XMAXYMAX: 10;\n    readonly SVG_MEETORSLICE_UNKNOWN: 0;\n    readonly SVG_MEETORSLICE_MEET: 1;\n    readonly SVG_MEETORSLICE_SLICE: 2;\n}\ndeclare var SVGPreserveAspectRatio: {\n    prototype: SVGPreserveAspectRatio;\n    new (): SVGPreserveAspectRatio;\n    readonly SVG_PRESERVEASPECTRATIO_UNKNOWN: 0;\n    readonly SVG_PRESERVEASPECTRATIO_NONE: 1;\n    readonly SVG_PRESERVEASPECTRATIO_XMINYMIN: 2;\n    readonly SVG_PRESERVEASPECTRATIO_XMIDYMIN: 3;\n    readonly SVG_PRESERVEASPECTRATIO_XMAXYMIN: 4;\n    readonly SVG_PRESERVEASPECTRATIO_XMINYMID: 5;\n    readonly SVG_PRESERVEASPECTRATIO_XMIDYMID: 6;\n    readonly SVG_PRESERVEASPECTRATIO_XMAXYMID: 7;\n    readonly SVG_PRESERVEASPECTRATIO_XMINYMAX: 8;\n    readonly SVG_PRESERVEASPECTRATIO_XMIDYMAX: 9;\n    readonly SVG_PRESERVEASPECTRATIO_XMAXYMAX: 10;\n    readonly SVG_MEETORSLICE_UNKNOWN: 0;\n    readonly SVG_MEETORSLICE_MEET: 1;\n    readonly SVG_MEETORSLICE_SLICE: 2;\n};\ninterface SVGRadialGradientElement extends SVGGradientElement {\n    readonly cx: SVGAnimatedLength;\n    readonly cy: SVGAnimatedLength;\n    readonly fr: SVGAnimatedLength;\n    readonly fx: SVGAnimatedLength;\n    readonly fy: SVGAnimatedLength;\n    readonly r: SVGAnimatedLength;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGRadialGradientElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGRadialGradientElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var SVGRadialGradientElement: {\n    prototype: SVGRadialGradientElement;\n    new (): SVGRadialGradientElement;\n};\ninterface SVGRectElement extends SVGGeometryElement {\n    readonly height: SVGAnimatedLength;\n    readonly rx: SVGAnimatedLength;\n    readonly ry: SVGAnimatedLength;\n    readonly width: SVGAnimatedLength;\n    readonly x: SVGAnimatedLength;\n    readonly y: SVGAnimatedLength;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGRectElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGRectElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var SVGRectElement: {\n    prototype: SVGRectElement;\n    new (): SVGRectElement;\n};\ninterface SVGSVGElementEventMap extends SVGElementEventMap, WindowEventHandlersEventMap {\n}\ninterface SVGSVGElement extends SVGGraphicsElement, SVGFitToViewBox, WindowEventHandlers {\n    currentScale: number;\n    readonly currentTranslate: DOMPointReadOnly;\n    readonly height: SVGAnimatedLength;\n    readonly width: SVGAnimatedLength;\n    readonly x: SVGAnimatedLength;\n    readonly y: SVGAnimatedLength;\n    animationsPaused(): boolean;\n    checkEnclosure(element: SVGElement, rect: DOMRectReadOnly): boolean;\n    checkIntersection(element: SVGElement, rect: DOMRectReadOnly): boolean;\n    createSVGAngle(): SVGAngle;\n    createSVGLength(): SVGLength;\n    createSVGMatrix(): DOMMatrix;\n    createSVGNumber(): SVGNumber;\n    createSVGPoint(): DOMPoint;\n    createSVGRect(): DOMRect;\n    createSVGTransform(): SVGTransform;\n    createSVGTransformFromMatrix(matrix?: DOMMatrix2DInit): SVGTransform;\n    deselectAll(): void;\n    forceRedraw(): void;\n    getCurrentTime(): number;\n    getElementById(elementId: string): Element | null;\n    getEnclosureList(rect: DOMRectReadOnly, referenceElement: SVGElement | null): NodeListOf<SVGCircleElement | SVGEllipseElement | SVGImageElement | SVGLineElement | SVGPathElement | SVGPolygonElement | SVGPolylineElement | SVGRectElement | SVGTextElement | SVGUseElement>;\n    getIntersectionList(rect: DOMRectReadOnly, referenceElement: SVGElement | null): NodeListOf<SVGCircleElement | SVGEllipseElement | SVGImageElement | SVGLineElement | SVGPathElement | SVGPolygonElement | SVGPolylineElement | SVGRectElement | SVGTextElement | SVGUseElement>;\n    pauseAnimations(): void;\n    setCurrentTime(seconds: number): void;\n    suspendRedraw(maxWaitMilliseconds: number): number;\n    unpauseAnimations(): void;\n    unsuspendRedraw(suspendHandleID: number): void;\n    unsuspendRedrawAll(): void;\n    addEventListener<K extends keyof SVGSVGElementEventMap>(type: K, listener: (this: SVGSVGElement, ev: SVGSVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGSVGElementEventMap>(type: K, listener: (this: SVGSVGElement, ev: SVGSVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var SVGSVGElement: {\n    prototype: SVGSVGElement;\n    new (): SVGSVGElement;\n};\ninterface SVGScriptElement extends SVGElement, SVGURIReference {\n    type: string;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGScriptElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGScriptElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var SVGScriptElement: {\n    prototype: SVGScriptElement;\n    new (): SVGScriptElement;\n};\ninterface SVGSetElement extends SVGAnimationElement {\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGSetElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGSetElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var SVGSetElement: {\n    prototype: SVGSetElement;\n    new (): SVGSetElement;\n};\ninterface SVGStopElement extends SVGElement {\n    readonly offset: SVGAnimatedNumber;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGStopElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGStopElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var SVGStopElement: {\n    prototype: SVGStopElement;\n    new (): SVGStopElement;\n};\ninterface SVGStringList {\n    readonly length: number;\n    readonly numberOfItems: number;\n    appendItem(newItem: string): string;\n    clear(): void;\n    getItem(index: number): string;\n    initialize(newItem: string): string;\n    insertItemBefore(newItem: string, index: number): string;\n    removeItem(index: number): string;\n    replaceItem(newItem: string, index: number): string;\n    [index: number]: string;\n}\ndeclare var SVGStringList: {\n    prototype: SVGStringList;\n    new (): SVGStringList;\n};\ninterface SVGStyleElement extends SVGElement, LinkStyle {\n    disabled: boolean;\n    media: string;\n    title: string;\n    type: string;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGStyleElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGStyleElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var SVGStyleElement: {\n    prototype: SVGStyleElement;\n    new (): SVGStyleElement;\n};\ninterface SVGSwitchElement extends SVGGraphicsElement {\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGSwitchElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGSwitchElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var SVGSwitchElement: {\n    prototype: SVGSwitchElement;\n    new (): SVGSwitchElement;\n};\ninterface SVGSymbolElement extends SVGElement, SVGFitToViewBox {\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGSymbolElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGSymbolElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var SVGSymbolElement: {\n    prototype: SVGSymbolElement;\n    new (): SVGSymbolElement;\n};\ninterface SVGTSpanElement extends SVGTextPositioningElement {\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGTSpanElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGTSpanElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var SVGTSpanElement: {\n    prototype: SVGTSpanElement;\n    new (): SVGTSpanElement;\n};\ninterface SVGTests {\n    readonly requiredExtensions: SVGStringList;\n    readonly systemLanguage: SVGStringList;\n}\ninterface SVGTextContentElement extends SVGGraphicsElement {\n    readonly lengthAdjust: SVGAnimatedEnumeration;\n    readonly textLength: SVGAnimatedLength;\n    getCharNumAtPosition(point?: DOMPointInit): number;\n    getComputedTextLength(): number;\n    getEndPositionOfChar(charnum: number): DOMPoint;\n    getExtentOfChar(charnum: number): DOMRect;\n    getNumberOfChars(): number;\n    getRotationOfChar(charnum: number): number;\n    getStartPositionOfChar(charnum: number): DOMPoint;\n    getSubStringLength(charnum: number, nchars: number): number;\n    selectSubString(charnum: number, nchars: number): void;\n    readonly LENGTHADJUST_UNKNOWN: 0;\n    readonly LENGTHADJUST_SPACING: 1;\n    readonly LENGTHADJUST_SPACINGANDGLYPHS: 2;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGTextContentElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGTextContentElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var SVGTextContentElement: {\n    prototype: SVGTextContentElement;\n    new (): SVGTextContentElement;\n    readonly LENGTHADJUST_UNKNOWN: 0;\n    readonly LENGTHADJUST_SPACING: 1;\n    readonly LENGTHADJUST_SPACINGANDGLYPHS: 2;\n};\ninterface SVGTextElement extends SVGTextPositioningElement {\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGTextElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGTextElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var SVGTextElement: {\n    prototype: SVGTextElement;\n    new (): SVGTextElement;\n};\ninterface SVGTextPathElement extends SVGTextContentElement, SVGURIReference {\n    readonly method: SVGAnimatedEnumeration;\n    readonly spacing: SVGAnimatedEnumeration;\n    readonly startOffset: SVGAnimatedLength;\n    readonly TEXTPATH_METHODTYPE_UNKNOWN: 0;\n    readonly TEXTPATH_METHODTYPE_ALIGN: 1;\n    readonly TEXTPATH_METHODTYPE_STRETCH: 2;\n    readonly TEXTPATH_SPACINGTYPE_UNKNOWN: 0;\n    readonly TEXTPATH_SPACINGTYPE_AUTO: 1;\n    readonly TEXTPATH_SPACINGTYPE_EXACT: 2;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGTextPathElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGTextPathElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var SVGTextPathElement: {\n    prototype: SVGTextPathElement;\n    new (): SVGTextPathElement;\n    readonly TEXTPATH_METHODTYPE_UNKNOWN: 0;\n    readonly TEXTPATH_METHODTYPE_ALIGN: 1;\n    readonly TEXTPATH_METHODTYPE_STRETCH: 2;\n    readonly TEXTPATH_SPACINGTYPE_UNKNOWN: 0;\n    readonly TEXTPATH_SPACINGTYPE_AUTO: 1;\n    readonly TEXTPATH_SPACINGTYPE_EXACT: 2;\n};\ninterface SVGTextPositioningElement extends SVGTextContentElement {\n    readonly dx: SVGAnimatedLengthList;\n    readonly dy: SVGAnimatedLengthList;\n    readonly rotate: SVGAnimatedNumberList;\n    readonly x: SVGAnimatedLengthList;\n    readonly y: SVGAnimatedLengthList;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGTextPositioningElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGTextPositioningElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var SVGTextPositioningElement: {\n    prototype: SVGTextPositioningElement;\n    new (): SVGTextPositioningElement;\n};\ninterface SVGTitleElement extends SVGElement {\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGTitleElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGTitleElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var SVGTitleElement: {\n    prototype: SVGTitleElement;\n    new (): SVGTitleElement;\n};\ninterface SVGTransform {\n    readonly angle: number;\n    readonly matrix: DOMMatrix;\n    readonly type: number;\n    setMatrix(matrix?: DOMMatrix2DInit): void;\n    setRotate(angle: number, cx: number, cy: number): void;\n    setScale(sx: number, sy: number): void;\n    setSkewX(angle: number): void;\n    setSkewY(angle: number): void;\n    setTranslate(tx: number, ty: number): void;\n    readonly SVG_TRANSFORM_UNKNOWN: 0;\n    readonly SVG_TRANSFORM_MATRIX: 1;\n    readonly SVG_TRANSFORM_TRANSLATE: 2;\n    readonly SVG_TRANSFORM_SCALE: 3;\n    readonly SVG_TRANSFORM_ROTATE: 4;\n    readonly SVG_TRANSFORM_SKEWX: 5;\n    readonly SVG_TRANSFORM_SKEWY: 6;\n}\ndeclare var SVGTransform: {\n    prototype: SVGTransform;\n    new (): SVGTransform;\n    readonly SVG_TRANSFORM_UNKNOWN: 0;\n    readonly SVG_TRANSFORM_MATRIX: 1;\n    readonly SVG_TRANSFORM_TRANSLATE: 2;\n    readonly SVG_TRANSFORM_SCALE: 3;\n    readonly SVG_TRANSFORM_ROTATE: 4;\n    readonly SVG_TRANSFORM_SKEWX: 5;\n    readonly SVG_TRANSFORM_SKEWY: 6;\n};\ninterface SVGTransformList {\n    readonly length: number;\n    readonly numberOfItems: number;\n    appendItem(newItem: SVGTransform): SVGTransform;\n    clear(): void;\n    consolidate(): SVGTransform | null;\n    createSVGTransformFromMatrix(matrix?: DOMMatrix2DInit): SVGTransform;\n    getItem(index: number): SVGTransform;\n    initialize(newItem: SVGTransform): SVGTransform;\n    insertItemBefore(newItem: SVGTransform, index: number): SVGTransform;\n    removeItem(index: number): SVGTransform;\n    replaceItem(newItem: SVGTransform, index: number): SVGTransform;\n    [index: number]: SVGTransform;\n}\ndeclare var SVGTransformList: {\n    prototype: SVGTransformList;\n    new (): SVGTransformList;\n};\ninterface SVGURIReference {\n    readonly href: SVGAnimatedString;\n}\ninterface SVGUnitTypes {\n    readonly SVG_UNIT_TYPE_UNKNOWN: 0;\n    readonly SVG_UNIT_TYPE_USERSPACEONUSE: 1;\n    readonly SVG_UNIT_TYPE_OBJECTBOUNDINGBOX: 2;\n}\ndeclare var SVGUnitTypes: {\n    prototype: SVGUnitTypes;\n    new (): SVGUnitTypes;\n    readonly SVG_UNIT_TYPE_UNKNOWN: 0;\n    readonly SVG_UNIT_TYPE_USERSPACEONUSE: 1;\n    readonly SVG_UNIT_TYPE_OBJECTBOUNDINGBOX: 2;\n};\ninterface SVGUseElement extends SVGGraphicsElement, SVGURIReference {\n    readonly height: SVGAnimatedLength;\n    readonly width: SVGAnimatedLength;\n    readonly x: SVGAnimatedLength;\n    readonly y: SVGAnimatedLength;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGUseElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGUseElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var SVGUseElement: {\n    prototype: SVGUseElement;\n    new (): SVGUseElement;\n};\ninterface SVGViewElement extends SVGElement, SVGFitToViewBox {\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGViewElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGViewElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var SVGViewElement: {\n    prototype: SVGViewElement;\n    new (): SVGViewElement;\n};\ninterface Sanitizer {\n    allowAttribute(attribute: SanitizerAttribute): boolean;\n    allowElement(element: SanitizerElementWithAttributes): boolean;\n    get(): SanitizerConfig;\n    removeAttribute(attribute: SanitizerAttribute): boolean;\n    removeElement(element: SanitizerElement): boolean;\n    removeUnsafe(): boolean;\n    replaceElementWithChildren(element: SanitizerElement): boolean;\n    setComments(allow: boolean): boolean;\n    setDataAttributes(allow: boolean): boolean;\n}\ndeclare var Sanitizer: {\n    prototype: Sanitizer;\n    new (configuration?: SanitizerConfig | SanitizerPresets): Sanitizer;\n};\ninterface Scheduler {\n    postTask(callback: SchedulerPostTaskCallback, options?: SchedulerPostTaskOptions): Promise<any>;\n    yield(): Promise<void>;\n}\ndeclare var Scheduler: {\n    prototype: Scheduler;\n    new (): Scheduler;\n};\ninterface Screen {\n    readonly availHeight: number;\n    readonly availWidth: number;\n    readonly colorDepth: number;\n    readonly height: number;\n    readonly orientation: ScreenOrientation;\n    readonly pixelDepth: number;\n    readonly width: number;\n}\ndeclare var Screen: {\n    prototype: Screen;\n    new (): Screen;\n};\ninterface ScreenOrientationEventMap {\n    \"change\": Event;\n}\ninterface ScreenOrientation extends EventTarget {\n    readonly angle: number;\n    onchange: ((this: ScreenOrientation, ev: Event) => any) | null;\n    readonly type: OrientationType;\n    lock(orientation: OrientationLockType): Promise<void>;\n    unlock(): void;\n    addEventListener<K extends keyof ScreenOrientationEventMap>(type: K, listener: (this: ScreenOrientation, ev: ScreenOrientationEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof ScreenOrientationEventMap>(type: K, listener: (this: ScreenOrientation, ev: ScreenOrientationEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var ScreenOrientation: {\n    prototype: ScreenOrientation;\n    new (): ScreenOrientation;\n};\ninterface ScriptProcessorNodeEventMap {\n    \"audioprocess\": AudioProcessingEvent;\n}\ninterface ScriptProcessorNode extends AudioNode {\n    readonly bufferSize: number;\n    onaudioprocess: ((this: ScriptProcessorNode, ev: AudioProcessingEvent) => any) | null;\n    addEventListener<K extends keyof ScriptProcessorNodeEventMap>(type: K, listener: (this: ScriptProcessorNode, ev: ScriptProcessorNodeEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof ScriptProcessorNodeEventMap>(type: K, listener: (this: ScriptProcessorNode, ev: ScriptProcessorNodeEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var ScriptProcessorNode: {\n    prototype: ScriptProcessorNode;\n    new (): ScriptProcessorNode;\n};\ninterface ScrollTimeline extends AnimationTimeline {\n    readonly axis: ScrollAxis;\n    readonly source: Element | null;\n}\ndeclare var ScrollTimeline: {\n    prototype: ScrollTimeline;\n    new (options?: ScrollTimelineOptions): ScrollTimeline;\n};\ninterface SecurityPolicyViolationEvent extends Event {\n    readonly blockedURI: string;\n    readonly columnNumber: number;\n    readonly disposition: SecurityPolicyViolationEventDisposition;\n    readonly documentURI: string;\n    readonly effectiveDirective: string;\n    readonly lineNumber: number;\n    readonly originalPolicy: string;\n    readonly referrer: string;\n    readonly sample: string;\n    readonly sourceFile: string;\n    readonly statusCode: number;\n    readonly violatedDirective: string;\n}\ndeclare var SecurityPolicyViolationEvent: {\n    prototype: SecurityPolicyViolationEvent;\n    new (type: string, eventInitDict?: SecurityPolicyViolationEventInit): SecurityPolicyViolationEvent;\n};\ninterface Selection {\n    readonly anchorNode: Node | null;\n    readonly anchorOffset: number;\n    readonly direction: string;\n    readonly focusNode: Node | null;\n    readonly focusOffset: number;\n    readonly isCollapsed: boolean;\n    readonly rangeCount: number;\n    readonly type: string;\n    addRange(range: Range): void;\n    collapse(node: Node | null, offset?: number): void;\n    collapseToEnd(): void;\n    collapseToStart(): void;\n    containsNode(node: Node, allowPartialContainment?: boolean): boolean;\n    deleteFromDocument(): void;\n    empty(): void;\n    extend(node: Node, offset?: number): void;\n    getComposedRanges(options?: GetComposedRangesOptions): StaticRange[];\n    getRangeAt(index: number): Range;\n    modify(alter?: string, direction?: string, granularity?: string): void;\n    removeAllRanges(): void;\n    removeRange(range: Range): void;\n    selectAllChildren(node: Node): void;\n    setBaseAndExtent(anchorNode: Node, anchorOffset: number, focusNode: Node, focusOffset: number): void;\n    setPosition(node: Node | null, offset?: number): void;\n    toString(): string;\n}\ndeclare var Selection: {\n    prototype: Selection;\n    new (): Selection;\n};\ninterface ServiceWorkerEventMap extends AbstractWorkerEventMap {\n    \"statechange\": Event;\n}\ninterface ServiceWorker extends EventTarget, AbstractWorker {\n    onstatechange: ((this: ServiceWorker, ev: Event) => any) | null;\n    readonly scriptURL: string;\n    readonly state: ServiceWorkerState;\n    postMessage(message: any, transfer: Transferable[]): void;\n    postMessage(message: any, options?: StructuredSerializeOptions): void;\n    addEventListener<K extends keyof ServiceWorkerEventMap>(type: K, listener: (this: ServiceWorker, ev: ServiceWorkerEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof ServiceWorkerEventMap>(type: K, listener: (this: ServiceWorker, ev: ServiceWorkerEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var ServiceWorker: {\n    prototype: ServiceWorker;\n    new (): ServiceWorker;\n};\ninterface ServiceWorkerContainerEventMap {\n    \"controllerchange\": Event;\n    \"message\": MessageEvent;\n    \"messageerror\": MessageEvent;\n}\ninterface ServiceWorkerContainer extends EventTarget {\n    readonly controller: ServiceWorker | null;\n    oncontrollerchange: ((this: ServiceWorkerContainer, ev: Event) => any) | null;\n    onmessage: ((this: ServiceWorkerContainer, ev: MessageEvent) => any) | null;\n    onmessageerror: ((this: ServiceWorkerContainer, ev: MessageEvent) => any) | null;\n    readonly ready: Promise<ServiceWorkerRegistration>;\n    getRegistration(clientURL?: string | URL): Promise<ServiceWorkerRegistration | undefined>;\n    getRegistrations(): Promise<ReadonlyArray<ServiceWorkerRegistration>>;\n    register(scriptURL: string | URL, options?: RegistrationOptions): Promise<ServiceWorkerRegistration>;\n    startMessages(): void;\n    addEventListener<K extends keyof ServiceWorkerContainerEventMap>(type: K, listener: (this: ServiceWorkerContainer, ev: ServiceWorkerContainerEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof ServiceWorkerContainerEventMap>(type: K, listener: (this: ServiceWorkerContainer, ev: ServiceWorkerContainerEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var ServiceWorkerContainer: {\n    prototype: ServiceWorkerContainer;\n    new (): ServiceWorkerContainer;\n};\ninterface ServiceWorkerRegistrationEventMap {\n    \"updatefound\": Event;\n}\ninterface ServiceWorkerRegistration extends EventTarget, PushManagerAttribute {\n    readonly active: ServiceWorker | null;\n    readonly cookies: CookieStoreManager;\n    readonly installing: ServiceWorker | null;\n    readonly navigationPreload: NavigationPreloadManager;\n    onupdatefound: ((this: ServiceWorkerRegistration, ev: Event) => any) | null;\n    readonly scope: string;\n    readonly updateViaCache: ServiceWorkerUpdateViaCache;\n    readonly waiting: ServiceWorker | null;\n    getNotifications(filter?: GetNotificationOptions): Promise<Notification[]>;\n    showNotification(title: string, options?: NotificationOptions): Promise<void>;\n    unregister(): Promise<boolean>;\n    update(): Promise<ServiceWorkerRegistration>;\n    addEventListener<K extends keyof ServiceWorkerRegistrationEventMap>(type: K, listener: (this: ServiceWorkerRegistration, ev: ServiceWorkerRegistrationEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof ServiceWorkerRegistrationEventMap>(type: K, listener: (this: ServiceWorkerRegistration, ev: ServiceWorkerRegistrationEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var ServiceWorkerRegistration: {\n    prototype: ServiceWorkerRegistration;\n    new (): ServiceWorkerRegistration;\n};\ninterface ShadowRootEventMap {\n    \"slotchange\": Event;\n}\ninterface ShadowRoot extends DocumentFragment, DocumentOrShadowRoot {\n    readonly clonable: boolean;\n    readonly delegatesFocus: boolean;\n    readonly host: Element;\n    innerHTML: string;\n    readonly mode: ShadowRootMode;\n    onslotchange: ((this: ShadowRoot, ev: Event) => any) | null;\n    readonly serializable: boolean;\n    readonly slotAssignment: SlotAssignmentMode;\n    getHTML(options?: GetHTMLOptions): string;\n    setHTMLUnsafe(html: string): void;\n    addEventListener<K extends keyof ShadowRootEventMap>(type: K, listener: (this: ShadowRoot, ev: ShadowRootEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof ShadowRootEventMap>(type: K, listener: (this: ShadowRoot, ev: ShadowRootEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var ShadowRoot: {\n    prototype: ShadowRoot;\n    new (): ShadowRoot;\n};\ninterface SharedWorker extends EventTarget, AbstractWorker {\n    readonly port: MessagePort;\n    addEventListener<K extends keyof AbstractWorkerEventMap>(type: K, listener: (this: SharedWorker, ev: AbstractWorkerEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof AbstractWorkerEventMap>(type: K, listener: (this: SharedWorker, ev: AbstractWorkerEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var SharedWorker: {\n    prototype: SharedWorker;\n    new (scriptURL: string | URL, options?: string | WorkerOptions): SharedWorker;\n};\ninterface Slottable {\n    readonly assignedSlot: HTMLSlotElement | null;\n}\ninterface SourceBufferEventMap {\n    \"abort\": Event;\n    \"error\": Event;\n    \"update\": Event;\n    \"updateend\": Event;\n    \"updatestart\": Event;\n}\ninterface SourceBuffer extends EventTarget {\n    appendWindowEnd: number;\n    appendWindowStart: number;\n    readonly buffered: TimeRanges;\n    mode: AppendMode;\n    onabort: ((this: SourceBuffer, ev: Event) => any) | null;\n    onerror: ((this: SourceBuffer, ev: Event) => any) | null;\n    onupdate: ((this: SourceBuffer, ev: Event) => any) | null;\n    onupdateend: ((this: SourceBuffer, ev: Event) => any) | null;\n    onupdatestart: ((this: SourceBuffer, ev: Event) => any) | null;\n    timestampOffset: number;\n    readonly updating: boolean;\n    abort(): void;\n    appendBuffer(data: BufferSource): void;\n    changeType(type: string): void;\n    remove(start: number, end: number): void;\n    addEventListener<K extends keyof SourceBufferEventMap>(type: K, listener: (this: SourceBuffer, ev: SourceBufferEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SourceBufferEventMap>(type: K, listener: (this: SourceBuffer, ev: SourceBufferEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var SourceBuffer: {\n    prototype: SourceBuffer;\n    new (): SourceBuffer;\n};\ninterface SourceBufferListEventMap {\n    \"addsourcebuffer\": Event;\n    \"removesourcebuffer\": Event;\n}\ninterface SourceBufferList extends EventTarget {\n    readonly length: number;\n    onaddsourcebuffer: ((this: SourceBufferList, ev: Event) => any) | null;\n    onremovesourcebuffer: ((this: SourceBufferList, ev: Event) => any) | null;\n    addEventListener<K extends keyof SourceBufferListEventMap>(type: K, listener: (this: SourceBufferList, ev: SourceBufferListEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SourceBufferListEventMap>(type: K, listener: (this: SourceBufferList, ev: SourceBufferListEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n    [index: number]: SourceBuffer;\n}\ndeclare var SourceBufferList: {\n    prototype: SourceBufferList;\n    new (): SourceBufferList;\n};\ninterface SpeechRecognitionAlternative {\n    readonly confidence: number;\n    readonly transcript: string;\n}\ndeclare var SpeechRecognitionAlternative: {\n    prototype: SpeechRecognitionAlternative;\n    new (): SpeechRecognitionAlternative;\n};\ninterface SpeechRecognitionErrorEvent extends Event {\n    readonly error: SpeechRecognitionErrorCode;\n    readonly message: string;\n}\ndeclare var SpeechRecognitionErrorEvent: {\n    prototype: SpeechRecognitionErrorEvent;\n    new (type: string, eventInitDict: SpeechRecognitionErrorEventInit): SpeechRecognitionErrorEvent;\n};\ninterface SpeechRecognitionEvent extends Event {\n    readonly resultIndex: number;\n    readonly results: SpeechRecognitionResultList;\n}\ndeclare var SpeechRecognitionEvent: {\n    prototype: SpeechRecognitionEvent;\n    new (type: string, eventInitDict: SpeechRecognitionEventInit): SpeechRecognitionEvent;\n};\ninterface SpeechRecognitionResult {\n    readonly isFinal: boolean;\n    readonly length: number;\n    item(index: number): SpeechRecognitionAlternative;\n    [index: number]: SpeechRecognitionAlternative;\n}\ndeclare var SpeechRecognitionResult: {\n    prototype: SpeechRecognitionResult;\n    new (): SpeechRecognitionResult;\n};\ninterface SpeechRecognitionResultList {\n    readonly length: number;\n    item(index: number): SpeechRecognitionResult;\n    [index: number]: SpeechRecognitionResult;\n}\ndeclare var SpeechRecognitionResultList: {\n    prototype: SpeechRecognitionResultList;\n    new (): SpeechRecognitionResultList;\n};\ninterface SpeechSynthesisEventMap {\n    \"voiceschanged\": Event;\n}\ninterface SpeechSynthesis extends EventTarget {\n    onvoiceschanged: ((this: SpeechSynthesis, ev: Event) => any) | null;\n    readonly paused: boolean;\n    readonly pending: boolean;\n    readonly speaking: boolean;\n    cancel(): void;\n    getVoices(): SpeechSynthesisVoice[];\n    pause(): void;\n    resume(): void;\n    speak(utterance: SpeechSynthesisUtterance): void;\n    addEventListener<K extends keyof SpeechSynthesisEventMap>(type: K, listener: (this: SpeechSynthesis, ev: SpeechSynthesisEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SpeechSynthesisEventMap>(type: K, listener: (this: SpeechSynthesis, ev: SpeechSynthesisEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var SpeechSynthesis: {\n    prototype: SpeechSynthesis;\n    new (): SpeechSynthesis;\n};\ninterface SpeechSynthesisErrorEvent extends SpeechSynthesisEvent {\n    readonly error: SpeechSynthesisErrorCode;\n}\ndeclare var SpeechSynthesisErrorEvent: {\n    prototype: SpeechSynthesisErrorEvent;\n    new (type: string, eventInitDict: SpeechSynthesisErrorEventInit): SpeechSynthesisErrorEvent;\n};\ninterface SpeechSynthesisEvent extends Event {\n    readonly charIndex: number;\n    readonly charLength: number;\n    readonly elapsedTime: number;\n    readonly name: string;\n    readonly utterance: SpeechSynthesisUtterance;\n}\ndeclare var SpeechSynthesisEvent: {\n    prototype: SpeechSynthesisEvent;\n    new (type: string, eventInitDict: SpeechSynthesisEventInit): SpeechSynthesisEvent;\n};\ninterface SpeechSynthesisUtteranceEventMap {\n    \"boundary\": SpeechSynthesisEvent;\n    \"end\": SpeechSynthesisEvent;\n    \"error\": SpeechSynthesisErrorEvent;\n    \"mark\": SpeechSynthesisEvent;\n    \"pause\": SpeechSynthesisEvent;\n    \"resume\": SpeechSynthesisEvent;\n    \"start\": SpeechSynthesisEvent;\n}\ninterface SpeechSynthesisUtterance extends EventTarget {\n    lang: string;\n    onboundary: ((this: SpeechSynthesisUtterance, ev: SpeechSynthesisEvent) => any) | null;\n    onend: ((this: SpeechSynthesisUtterance, ev: SpeechSynthesisEvent) => any) | null;\n    onerror: ((this: SpeechSynthesisUtterance, ev: SpeechSynthesisErrorEvent) => any) | null;\n    onmark: ((this: SpeechSynthesisUtterance, ev: SpeechSynthesisEvent) => any) | null;\n    onpause: ((this: SpeechSynthesisUtterance, ev: SpeechSynthesisEvent) => any) | null;\n    onresume: ((this: SpeechSynthesisUtterance, ev: SpeechSynthesisEvent) => any) | null;\n    onstart: ((this: SpeechSynthesisUtterance, ev: SpeechSynthesisEvent) => any) | null;\n    pitch: number;\n    rate: number;\n    text: string;\n    voice: SpeechSynthesisVoice | null;\n    volume: number;\n    addEventListener<K extends keyof SpeechSynthesisUtteranceEventMap>(type: K, listener: (this: SpeechSynthesisUtterance, ev: SpeechSynthesisUtteranceEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SpeechSynthesisUtteranceEventMap>(type: K, listener: (this: SpeechSynthesisUtterance, ev: SpeechSynthesisUtteranceEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var SpeechSynthesisUtterance: {\n    prototype: SpeechSynthesisUtterance;\n    new (text?: string): SpeechSynthesisUtterance;\n};\ninterface SpeechSynthesisVoice {\n    readonly default: boolean;\n    readonly lang: string;\n    readonly localService: boolean;\n    readonly name: string;\n    readonly voiceURI: string;\n}\ndeclare var SpeechSynthesisVoice: {\n    prototype: SpeechSynthesisVoice;\n    new (): SpeechSynthesisVoice;\n};\ninterface StaticRange extends AbstractRange {\n}\ndeclare var StaticRange: {\n    prototype: StaticRange;\n    new (init: StaticRangeInit): StaticRange;\n};\ninterface StereoPannerNode extends AudioNode {\n    readonly pan: AudioParam;\n}\ndeclare var StereoPannerNode: {\n    prototype: StereoPannerNode;\n    new (context: BaseAudioContext, options?: StereoPannerOptions): StereoPannerNode;\n};\ninterface Storage {\n    readonly length: number;\n    clear(): void;\n    getItem(key: string): string | null;\n    key(index: number): string | null;\n    removeItem(key: string): void;\n    setItem(key: string, value: string): void;\n    [name: string]: any;\n}\ndeclare var Storage: {\n    prototype: Storage;\n    new (): Storage;\n};\ninterface StorageEvent extends Event {\n    readonly key: string | null;\n    readonly newValue: string | null;\n    readonly oldValue: string | null;\n    readonly storageArea: Storage | null;\n    readonly url: string;\n    initStorageEvent(type: string, bubbles?: boolean, cancelable?: boolean, key?: string | null, oldValue?: string | null, newValue?: string | null, url?: string | URL, storageArea?: Storage | null): void;\n}\ndeclare var StorageEvent: {\n    prototype: StorageEvent;\n    new (type: string, eventInitDict?: StorageEventInit): StorageEvent;\n};\ninterface StorageManager {\n    estimate(): Promise<StorageEstimate>;\n    getDirectory(): Promise<FileSystemDirectoryHandle>;\n    persist(): Promise<boolean>;\n    persisted(): Promise<boolean>;\n}\ndeclare var StorageManager: {\n    prototype: StorageManager;\n    new (): StorageManager;\n};\ninterface StylePropertyMap extends StylePropertyMapReadOnly {\n    append(property: string, ...values: (CSSStyleValue | string)[]): void;\n    clear(): void;\n    delete(property: string): void;\n    set(property: string, ...values: (CSSStyleValue | string)[]): void;\n}\ndeclare var StylePropertyMap: {\n    prototype: StylePropertyMap;\n    new (): StylePropertyMap;\n};\ninterface StylePropertyMapReadOnly {\n    readonly size: number;\n    get(property: string): undefined | CSSStyleValue;\n    getAll(property: string): CSSStyleValue[];\n    has(property: string): boolean;\n    forEach(callbackfn: (value: CSSStyleValue[], key: string, parent: StylePropertyMapReadOnly) => void, thisArg?: any): void;\n}\ndeclare var StylePropertyMapReadOnly: {\n    prototype: StylePropertyMapReadOnly;\n    new (): StylePropertyMapReadOnly;\n};\ninterface StyleSheet {\n    disabled: boolean;\n    readonly href: string | null;\n    get media(): MediaList;\n    set media(mediaText: string);\n    readonly ownerNode: Element | ProcessingInstruction | null;\n    readonly parentStyleSheet: CSSStyleSheet | null;\n    readonly title: string | null;\n    readonly type: string;\n}\ndeclare var StyleSheet: {\n    prototype: StyleSheet;\n    new (): StyleSheet;\n};\ninterface StyleSheetList {\n    readonly length: number;\n    item(index: number): CSSStyleSheet | null;\n    [index: number]: CSSStyleSheet;\n}\ndeclare var StyleSheetList: {\n    prototype: StyleSheetList;\n    new (): StyleSheetList;\n};\ninterface SubmitEvent extends Event {\n    readonly submitter: HTMLElement | null;\n}\ndeclare var SubmitEvent: {\n    prototype: SubmitEvent;\n    new (type: string, eventInitDict?: SubmitEventInit): SubmitEvent;\n};\ninterface SubtleCrypto {\n    decrypt(algorithm: AlgorithmIdentifier | RsaOaepParams | AesCtrParams | AesCbcParams | AesGcmParams, key: CryptoKey, data: BufferSource): Promise<ArrayBuffer>;\n    deriveBits(algorithm: AlgorithmIdentifier | EcdhKeyDeriveParams | HkdfParams | Pbkdf2Params, baseKey: CryptoKey, length?: number | null): Promise<ArrayBuffer>;\n    deriveKey(algorithm: AlgorithmIdentifier | EcdhKeyDeriveParams | HkdfParams | Pbkdf2Params, baseKey: CryptoKey, derivedKeyType: AlgorithmIdentifier | AesDerivedKeyParams | HmacImportParams | HkdfParams | Pbkdf2Params, extractable: boolean, keyUsages: KeyUsage[]): Promise<CryptoKey>;\n    digest(algorithm: AlgorithmIdentifier, data: BufferSource): Promise<ArrayBuffer>;\n    encrypt(algorithm: AlgorithmIdentifier | RsaOaepParams | AesCtrParams | AesCbcParams | AesGcmParams, key: CryptoKey, data: BufferSource): Promise<ArrayBuffer>;\n    exportKey(format: \"jwk\", key: CryptoKey): Promise<JsonWebKey>;\n    exportKey(format: Exclude<KeyFormat, \"jwk\">, key: CryptoKey): Promise<ArrayBuffer>;\n    exportKey(format: KeyFormat, key: CryptoKey): Promise<ArrayBuffer | JsonWebKey>;\n    generateKey(algorithm: \"Ed25519\" | {\n        name: \"Ed25519\";\n    }, extractable: boolean, keyUsages: ReadonlyArray<\"sign\" | \"verify\">): Promise<CryptoKeyPair>;\n    generateKey(algorithm: \"X25519\" | {\n        name: \"X25519\";\n    }, extractable: boolean, keyUsages: ReadonlyArray<\"deriveBits\" | \"deriveKey\">): Promise<CryptoKeyPair>;\n    generateKey(algorithm: RsaHashedKeyGenParams | EcKeyGenParams, extractable: boolean, keyUsages: ReadonlyArray<KeyUsage>): Promise<CryptoKeyPair>;\n    generateKey(algorithm: AesKeyGenParams | HmacKeyGenParams | Pbkdf2Params, extractable: boolean, keyUsages: ReadonlyArray<KeyUsage>): Promise<CryptoKey>;\n    generateKey(algorithm: AlgorithmIdentifier, extractable: boolean, keyUsages: KeyUsage[]): Promise<CryptoKeyPair | CryptoKey>;\n    importKey(format: \"jwk\", keyData: JsonWebKey, algorithm: AlgorithmIdentifier | RsaHashedImportParams | EcKeyImportParams | HmacImportParams | AesKeyAlgorithm, extractable: boolean, keyUsages: ReadonlyArray<KeyUsage>): Promise<CryptoKey>;\n    importKey(format: Exclude<KeyFormat, \"jwk\">, keyData: BufferSource, algorithm: AlgorithmIdentifier | RsaHashedImportParams | EcKeyImportParams | HmacImportParams | AesKeyAlgorithm, extractable: boolean, keyUsages: KeyUsage[]): Promise<CryptoKey>;\n    sign(algorithm: AlgorithmIdentifier | RsaPssParams | EcdsaParams, key: CryptoKey, data: BufferSource): Promise<ArrayBuffer>;\n    unwrapKey(format: KeyFormat, wrappedKey: BufferSource, unwrappingKey: CryptoKey, unwrapAlgorithm: AlgorithmIdentifier | RsaOaepParams | AesCtrParams | AesCbcParams | AesGcmParams, unwrappedKeyAlgorithm: AlgorithmIdentifier | RsaHashedImportParams | EcKeyImportParams | HmacImportParams | AesKeyAlgorithm, extractable: boolean, keyUsages: KeyUsage[]): Promise<CryptoKey>;\n    verify(algorithm: AlgorithmIdentifier | RsaPssParams | EcdsaParams, key: CryptoKey, signature: BufferSource, data: BufferSource): Promise<boolean>;\n    wrapKey(format: KeyFormat, key: CryptoKey, wrappingKey: CryptoKey, wrapAlgorithm: AlgorithmIdentifier | RsaOaepParams | AesCtrParams | AesCbcParams | AesGcmParams): Promise<ArrayBuffer>;\n}\ndeclare var SubtleCrypto: {\n    prototype: SubtleCrypto;\n    new (): SubtleCrypto;\n};\ninterface TaskController extends AbortController {\n    setPriority(priority: TaskPriority): void;\n}\ndeclare var TaskController: {\n    prototype: TaskController;\n    new (init?: TaskControllerInit): TaskController;\n};\ninterface TaskPriorityChangeEvent extends Event {\n    readonly previousPriority: TaskPriority;\n}\ndeclare var TaskPriorityChangeEvent: {\n    prototype: TaskPriorityChangeEvent;\n    new (type: string, priorityChangeEventInitDict: TaskPriorityChangeEventInit): TaskPriorityChangeEvent;\n};\ninterface TaskSignalEventMap extends AbortSignalEventMap {\n    \"prioritychange\": TaskPriorityChangeEvent;\n}\ninterface TaskSignal extends AbortSignal {\n    onprioritychange: ((this: TaskSignal, ev: TaskPriorityChangeEvent) => any) | null;\n    readonly priority: TaskPriority;\n    addEventListener<K extends keyof TaskSignalEventMap>(type: K, listener: (this: TaskSignal, ev: TaskSignalEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof TaskSignalEventMap>(type: K, listener: (this: TaskSignal, ev: TaskSignalEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var TaskSignal: {\n    prototype: TaskSignal;\n    new (): TaskSignal;\n    any(signals: AbortSignal[], init?: TaskSignalAnyInit): TaskSignal;\n};\ninterface Text extends CharacterData, Slottable {\n    readonly wholeText: string;\n    splitText(offset: number): Text;\n}\ndeclare var Text: {\n    prototype: Text;\n    new (data?: string): Text;\n};\ninterface TextDecoder extends TextDecoderCommon {\n    decode(input?: AllowSharedBufferSource, options?: TextDecodeOptions): string;\n}\ndeclare var TextDecoder: {\n    prototype: TextDecoder;\n    new (label?: string, options?: TextDecoderOptions): TextDecoder;\n};\ninterface TextDecoderCommon {\n    readonly encoding: string;\n    readonly fatal: boolean;\n    readonly ignoreBOM: boolean;\n}\ninterface TextDecoderStream extends GenericTransformStream, TextDecoderCommon {\n    readonly readable: ReadableStream<string>;\n    readonly writable: WritableStream<BufferSource>;\n}\ndeclare var TextDecoderStream: {\n    prototype: TextDecoderStream;\n    new (label?: string, options?: TextDecoderOptions): TextDecoderStream;\n};\ninterface TextEncoder extends TextEncoderCommon {\n    encode(input?: string): Uint8Array<ArrayBuffer>;\n    encodeInto(source: string, destination: Uint8Array<ArrayBufferLike>): TextEncoderEncodeIntoResult;\n}\ndeclare var TextEncoder: {\n    prototype: TextEncoder;\n    new (): TextEncoder;\n};\ninterface TextEncoderCommon {\n    readonly encoding: string;\n}\ninterface TextEncoderStream extends GenericTransformStream, TextEncoderCommon {\n    readonly readable: ReadableStream<Uint8Array<ArrayBuffer>>;\n    readonly writable: WritableStream<string>;\n}\ndeclare var TextEncoderStream: {\n    prototype: TextEncoderStream;\n    new (): TextEncoderStream;\n};\ninterface TextEvent extends UIEvent {\n    readonly data: string;\n    initTextEvent(type: string, bubbles?: boolean, cancelable?: boolean, view?: Window | null, data?: string): void;\n}\ndeclare var TextEvent: {\n    prototype: TextEvent;\n    new (): TextEvent;\n};\ninterface TextMetrics {\n    readonly actualBoundingBoxAscent: number;\n    readonly actualBoundingBoxDescent: number;\n    readonly actualBoundingBoxLeft: number;\n    readonly actualBoundingBoxRight: number;\n    readonly alphabeticBaseline: number;\n    readonly emHeightAscent: number;\n    readonly emHeightDescent: number;\n    readonly fontBoundingBoxAscent: number;\n    readonly fontBoundingBoxDescent: number;\n    readonly hangingBaseline: number;\n    readonly ideographicBaseline: number;\n    readonly width: number;\n}\ndeclare var TextMetrics: {\n    prototype: TextMetrics;\n    new (): TextMetrics;\n};\ninterface TextTrackEventMap {\n    \"cuechange\": Event;\n}\ninterface TextTrack extends EventTarget {\n    readonly activeCues: TextTrackCueList | null;\n    readonly cues: TextTrackCueList | null;\n    readonly id: string;\n    readonly inBandMetadataTrackDispatchType: string;\n    readonly kind: TextTrackKind;\n    readonly label: string;\n    readonly language: string;\n    mode: TextTrackMode;\n    oncuechange: ((this: TextTrack, ev: Event) => any) | null;\n    addCue(cue: TextTrackCue): void;\n    removeCue(cue: TextTrackCue): void;\n    addEventListener<K extends keyof TextTrackEventMap>(type: K, listener: (this: TextTrack, ev: TextTrackEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof TextTrackEventMap>(type: K, listener: (this: TextTrack, ev: TextTrackEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var TextTrack: {\n    prototype: TextTrack;\n    new (): TextTrack;\n};\ninterface TextTrackCueEventMap {\n    \"enter\": Event;\n    \"exit\": Event;\n}\ninterface TextTrackCue extends EventTarget {\n    endTime: number;\n    id: string;\n    onenter: ((this: TextTrackCue, ev: Event) => any) | null;\n    onexit: ((this: TextTrackCue, ev: Event) => any) | null;\n    pauseOnExit: boolean;\n    startTime: number;\n    readonly track: TextTrack | null;\n    addEventListener<K extends keyof TextTrackCueEventMap>(type: K, listener: (this: TextTrackCue, ev: TextTrackCueEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof TextTrackCueEventMap>(type: K, listener: (this: TextTrackCue, ev: TextTrackCueEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var TextTrackCue: {\n    prototype: TextTrackCue;\n    new (): TextTrackCue;\n};\ninterface TextTrackCueList {\n    readonly length: number;\n    getCueById(id: string): TextTrackCue | null;\n    [index: number]: TextTrackCue;\n}\ndeclare var TextTrackCueList: {\n    prototype: TextTrackCueList;\n    new (): TextTrackCueList;\n};\ninterface TextTrackListEventMap {\n    \"addtrack\": TrackEvent;\n    \"change\": Event;\n    \"removetrack\": TrackEvent;\n}\ninterface TextTrackList extends EventTarget {\n    readonly length: number;\n    onaddtrack: ((this: TextTrackList, ev: TrackEvent) => any) | null;\n    onchange: ((this: TextTrackList, ev: Event) => any) | null;\n    onremovetrack: ((this: TextTrackList, ev: TrackEvent) => any) | null;\n    getTrackById(id: string): TextTrack | null;\n    addEventListener<K extends keyof TextTrackListEventMap>(type: K, listener: (this: TextTrackList, ev: TextTrackListEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof TextTrackListEventMap>(type: K, listener: (this: TextTrackList, ev: TextTrackListEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n    [index: number]: TextTrack;\n}\ndeclare var TextTrackList: {\n    prototype: TextTrackList;\n    new (): TextTrackList;\n};\ninterface TimeRanges {\n    readonly length: number;\n    end(index: number): number;\n    start(index: number): number;\n}\ndeclare var TimeRanges: {\n    prototype: TimeRanges;\n    new (): TimeRanges;\n};\ninterface ToggleEvent extends Event {\n    readonly newState: string;\n    readonly oldState: string;\n    readonly source: Element | null;\n}\ndeclare var ToggleEvent: {\n    prototype: ToggleEvent;\n    new (type: string, eventInitDict?: ToggleEventInit): ToggleEvent;\n};\ninterface Touch {\n    readonly clientX: number;\n    readonly clientY: number;\n    readonly force: number;\n    readonly identifier: number;\n    readonly pageX: number;\n    readonly pageY: number;\n    readonly radiusX: number;\n    readonly radiusY: number;\n    readonly rotationAngle: number;\n    readonly screenX: number;\n    readonly screenY: number;\n    readonly target: EventTarget;\n}\ndeclare var Touch: {\n    prototype: Touch;\n    new (touchInitDict: TouchInit): Touch;\n};\ninterface TouchEvent extends UIEvent {\n    readonly altKey: boolean;\n    readonly changedTouches: TouchList;\n    readonly ctrlKey: boolean;\n    readonly metaKey: boolean;\n    readonly shiftKey: boolean;\n    readonly targetTouches: TouchList;\n    readonly touches: TouchList;\n}\ndeclare var TouchEvent: {\n    prototype: TouchEvent;\n    new (type: string, eventInitDict?: TouchEventInit): TouchEvent;\n};\ninterface TouchList {\n    readonly length: number;\n    item(index: number): Touch | null;\n    [index: number]: Touch;\n}\ndeclare var TouchList: {\n    prototype: TouchList;\n    new (): TouchList;\n};\ninterface TrackEvent extends Event {\n    readonly track: TextTrack | null;\n}\ndeclare var TrackEvent: {\n    prototype: TrackEvent;\n    new (type: string, eventInitDict?: TrackEventInit): TrackEvent;\n};\ninterface TransformStream<I = any, O = any> {\n    readonly readable: ReadableStream<O>;\n    readonly writable: WritableStream<I>;\n}\ndeclare var TransformStream: {\n    prototype: TransformStream;\n    new <I = any, O = any>(transformer?: Transformer<I, O>, writableStrategy?: QueuingStrategy<I>, readableStrategy?: QueuingStrategy<O>): TransformStream<I, O>;\n};\ninterface TransformStreamDefaultController<O = any> {\n    readonly desiredSize: number | null;\n    enqueue(chunk?: O): void;\n    error(reason?: any): void;\n    terminate(): void;\n}\ndeclare var TransformStreamDefaultController: {\n    prototype: TransformStreamDefaultController;\n    new (): TransformStreamDefaultController;\n};\ninterface TransitionEvent extends Event {\n    readonly elapsedTime: number;\n    readonly propertyName: string;\n    readonly pseudoElement: string;\n}\ndeclare var TransitionEvent: {\n    prototype: TransitionEvent;\n    new (type: string, transitionEventInitDict?: TransitionEventInit): TransitionEvent;\n};\ninterface TreeWalker {\n    currentNode: Node;\n    readonly filter: NodeFilter | null;\n    readonly root: Node;\n    readonly whatToShow: number;\n    firstChild(): Node | null;\n    lastChild(): Node | null;\n    nextNode(): Node | null;\n    nextSibling(): Node | null;\n    parentNode(): Node | null;\n    previousNode(): Node | null;\n    previousSibling(): Node | null;\n}\ndeclare var TreeWalker: {\n    prototype: TreeWalker;\n    new (): TreeWalker;\n};\ninterface UIEvent extends Event {\n    readonly detail: number;\n    readonly view: Window | null;\n    readonly which: number;\n    initUIEvent(typeArg: string, bubblesArg?: boolean, cancelableArg?: boolean, viewArg?: Window | null, detailArg?: number): void;\n}\ndeclare var UIEvent: {\n    prototype: UIEvent;\n    new (type: string, eventInitDict?: UIEventInit): UIEvent;\n};\ninterface URL {\n    hash: string;\n    host: string;\n    hostname: string;\n    href: string;\n    toString(): string;\n    readonly origin: string;\n    password: string;\n    pathname: string;\n    port: string;\n    protocol: string;\n    search: string;\n    readonly searchParams: URLSearchParams;\n    username: string;\n    toJSON(): string;\n}\ndeclare var URL: {\n    prototype: URL;\n    new (url: string | URL, base?: string | URL): URL;\n    canParse(url: string | URL, base?: string | URL): boolean;\n    createObjectURL(obj: Blob | MediaSource): string;\n    parse(url: string | URL, base?: string | URL): URL | null;\n    revokeObjectURL(url: string): void;\n};\ntype webkitURL = URL;\ndeclare var webkitURL: typeof URL;\ninterface URLPattern {\n    readonly hasRegExpGroups: boolean;\n    readonly hash: string;\n    readonly hostname: string;\n    readonly password: string;\n    readonly pathname: string;\n    readonly port: string;\n    readonly protocol: string;\n    readonly search: string;\n    readonly username: string;\n    exec(input?: URLPatternInput, baseURL?: string | URL): URLPatternResult | null;\n    test(input?: URLPatternInput, baseURL?: string | URL): boolean;\n}\ndeclare var URLPattern: {\n    prototype: URLPattern;\n    new (input: URLPatternInput, baseURL: string | URL, options?: URLPatternOptions): URLPattern;\n    new (input?: URLPatternInput, options?: URLPatternOptions): URLPattern;\n};\ninterface URLSearchParams {\n    readonly size: number;\n    append(name: string, value: string): void;\n    delete(name: string, value?: string): void;\n    get(name: string): string | null;\n    getAll(name: string): string[];\n    has(name: string, value?: string): boolean;\n    set(name: string, value: string): void;\n    sort(): void;\n    toString(): string;\n    forEach(callbackfn: (value: string, key: string, parent: URLSearchParams) => void, thisArg?: any): void;\n}\ndeclare var URLSearchParams: {\n    prototype: URLSearchParams;\n    new (init?: string[][] | Record<string, string> | string | URLSearchParams): URLSearchParams;\n};\ninterface UserActivation {\n    readonly hasBeenActive: boolean;\n    readonly isActive: boolean;\n}\ndeclare var UserActivation: {\n    prototype: UserActivation;\n    new (): UserActivation;\n};\ninterface VTTCue extends TextTrackCue {\n    align: AlignSetting;\n    line: LineAndPositionSetting;\n    lineAlign: LineAlignSetting;\n    position: LineAndPositionSetting;\n    positionAlign: PositionAlignSetting;\n    region: VTTRegion | null;\n    size: number;\n    snapToLines: boolean;\n    text: string;\n    vertical: DirectionSetting;\n    getCueAsHTML(): DocumentFragment;\n    addEventListener<K extends keyof TextTrackCueEventMap>(type: K, listener: (this: VTTCue, ev: TextTrackCueEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof TextTrackCueEventMap>(type: K, listener: (this: VTTCue, ev: TextTrackCueEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var VTTCue: {\n    prototype: VTTCue;\n    new (startTime: number, endTime: number, text: string): VTTCue;\n};\ninterface VTTRegion {\n    id: string;\n    lines: number;\n    regionAnchorX: number;\n    regionAnchorY: number;\n    scroll: ScrollSetting;\n    viewportAnchorX: number;\n    viewportAnchorY: number;\n    width: number;\n}\ndeclare var VTTRegion: {\n    prototype: VTTRegion;\n    new (): VTTRegion;\n};\ninterface ValidityState {\n    readonly badInput: boolean;\n    readonly customError: boolean;\n    readonly patternMismatch: boolean;\n    readonly rangeOverflow: boolean;\n    readonly rangeUnderflow: boolean;\n    readonly stepMismatch: boolean;\n    readonly tooLong: boolean;\n    readonly tooShort: boolean;\n    readonly typeMismatch: boolean;\n    readonly valid: boolean;\n    readonly valueMissing: boolean;\n}\ndeclare var ValidityState: {\n    prototype: ValidityState;\n    new (): ValidityState;\n};\ninterface VideoColorSpace {\n    readonly fullRange: boolean | null;\n    readonly matrix: VideoMatrixCoefficients | null;\n    readonly primaries: VideoColorPrimaries | null;\n    readonly transfer: VideoTransferCharacteristics | null;\n    toJSON(): VideoColorSpaceInit;\n}\ndeclare var VideoColorSpace: {\n    prototype: VideoColorSpace;\n    new (init?: VideoColorSpaceInit): VideoColorSpace;\n};\ninterface VideoDecoderEventMap {\n    \"dequeue\": Event;\n}\ninterface VideoDecoder extends EventTarget {\n    readonly decodeQueueSize: number;\n    ondequeue: ((this: VideoDecoder, ev: Event) => any) | null;\n    readonly state: CodecState;\n    close(): void;\n    configure(config: VideoDecoderConfig): void;\n    decode(chunk: EncodedVideoChunk): void;\n    flush(): Promise<void>;\n    reset(): void;\n    addEventListener<K extends keyof VideoDecoderEventMap>(type: K, listener: (this: VideoDecoder, ev: VideoDecoderEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof VideoDecoderEventMap>(type: K, listener: (this: VideoDecoder, ev: VideoDecoderEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var VideoDecoder: {\n    prototype: VideoDecoder;\n    new (init: VideoDecoderInit): VideoDecoder;\n    isConfigSupported(config: VideoDecoderConfig): Promise<VideoDecoderSupport>;\n};\ninterface VideoEncoderEventMap {\n    \"dequeue\": Event;\n}\ninterface VideoEncoder extends EventTarget {\n    readonly encodeQueueSize: number;\n    ondequeue: ((this: VideoEncoder, ev: Event) => any) | null;\n    readonly state: CodecState;\n    close(): void;\n    configure(config: VideoEncoderConfig): void;\n    encode(frame: VideoFrame, options?: VideoEncoderEncodeOptions): void;\n    flush(): Promise<void>;\n    reset(): void;\n    addEventListener<K extends keyof VideoEncoderEventMap>(type: K, listener: (this: VideoEncoder, ev: VideoEncoderEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof VideoEncoderEventMap>(type: K, listener: (this: VideoEncoder, ev: VideoEncoderEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var VideoEncoder: {\n    prototype: VideoEncoder;\n    new (init: VideoEncoderInit): VideoEncoder;\n    isConfigSupported(config: VideoEncoderConfig): Promise<VideoEncoderSupport>;\n};\ninterface VideoFrame {\n    readonly codedHeight: number;\n    readonly codedRect: DOMRectReadOnly | null;\n    readonly codedWidth: number;\n    readonly colorSpace: VideoColorSpace;\n    readonly displayHeight: number;\n    readonly displayWidth: number;\n    readonly duration: number | null;\n    readonly format: VideoPixelFormat | null;\n    readonly timestamp: number;\n    readonly visibleRect: DOMRectReadOnly | null;\n    allocationSize(options?: VideoFrameCopyToOptions): number;\n    clone(): VideoFrame;\n    close(): void;\n    copyTo(destination: AllowSharedBufferSource, options?: VideoFrameCopyToOptions): Promise<PlaneLayout[]>;\n}\ndeclare var VideoFrame: {\n    prototype: VideoFrame;\n    new (image: CanvasImageSource, init?: VideoFrameInit): VideoFrame;\n    new (data: AllowSharedBufferSource, init: VideoFrameBufferInit): VideoFrame;\n};\ninterface VideoPlaybackQuality {\n    readonly corruptedVideoFrames: number;\n    readonly creationTime: DOMHighResTimeStamp;\n    readonly droppedVideoFrames: number;\n    readonly totalVideoFrames: number;\n}\ndeclare var VideoPlaybackQuality: {\n    prototype: VideoPlaybackQuality;\n    new (): VideoPlaybackQuality;\n};\ninterface ViewTimeline extends ScrollTimeline {\n    readonly endOffset: CSSNumericValue;\n    readonly startOffset: CSSNumericValue;\n    readonly subject: Element;\n}\ndeclare var ViewTimeline: {\n    prototype: ViewTimeline;\n    new (options?: ViewTimelineOptions): ViewTimeline;\n};\ninterface ViewTransition {\n    readonly finished: Promise<void>;\n    readonly ready: Promise<void>;\n    readonly types: ViewTransitionTypeSet;\n    readonly updateCallbackDone: Promise<void>;\n    skipTransition(): void;\n}\ndeclare var ViewTransition: {\n    prototype: ViewTransition;\n    new (): ViewTransition;\n};\ninterface ViewTransitionTypeSet {\n    forEach(callbackfn: (value: string, key: string, parent: ViewTransitionTypeSet) => void, thisArg?: any): void;\n}\ndeclare var ViewTransitionTypeSet: {\n    prototype: ViewTransitionTypeSet;\n    new (): ViewTransitionTypeSet;\n};\ninterface VisualViewportEventMap {\n    \"resize\": Event;\n    \"scroll\": Event;\n}\ninterface VisualViewport extends EventTarget {\n    readonly height: number;\n    readonly offsetLeft: number;\n    readonly offsetTop: number;\n    onresize: ((this: VisualViewport, ev: Event) => any) | null;\n    onscroll: ((this: VisualViewport, ev: Event) => any) | null;\n    readonly pageLeft: number;\n    readonly pageTop: number;\n    readonly scale: number;\n    readonly width: number;\n    addEventListener<K extends keyof VisualViewportEventMap>(type: K, listener: (this: VisualViewport, ev: VisualViewportEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof VisualViewportEventMap>(type: K, listener: (this: VisualViewport, ev: VisualViewportEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var VisualViewport: {\n    prototype: VisualViewport;\n    new (): VisualViewport;\n};\ninterface WEBGL_color_buffer_float {\n    readonly RGBA32F_EXT: 34836;\n    readonly FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT: 33297;\n    readonly UNSIGNED_NORMALIZED_EXT: 35863;\n}\ninterface WEBGL_compressed_texture_astc {\n    getSupportedProfiles(): string[];\n    readonly COMPRESSED_RGBA_ASTC_4x4_KHR: 37808;\n    readonly COMPRESSED_RGBA_ASTC_5x4_KHR: 37809;\n    readonly COMPRESSED_RGBA_ASTC_5x5_KHR: 37810;\n    readonly COMPRESSED_RGBA_ASTC_6x5_KHR: 37811;\n    readonly COMPRESSED_RGBA_ASTC_6x6_KHR: 37812;\n    readonly COMPRESSED_RGBA_ASTC_8x5_KHR: 37813;\n    readonly COMPRESSED_RGBA_ASTC_8x6_KHR: 37814;\n    readonly COMPRESSED_RGBA_ASTC_8x8_KHR: 37815;\n    readonly COMPRESSED_RGBA_ASTC_10x5_KHR: 37816;\n    readonly COMPRESSED_RGBA_ASTC_10x6_KHR: 37817;\n    readonly COMPRESSED_RGBA_ASTC_10x8_KHR: 37818;\n    readonly COMPRESSED_RGBA_ASTC_10x10_KHR: 37819;\n    readonly COMPRESSED_RGBA_ASTC_12x10_KHR: 37820;\n    readonly COMPRESSED_RGBA_ASTC_12x12_KHR: 37821;\n    readonly COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR: 37840;\n    readonly COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR: 37841;\n    readonly COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR: 37842;\n    readonly COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR: 37843;\n    readonly COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR: 37844;\n    readonly COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR: 37845;\n    readonly COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR: 37846;\n    readonly COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR: 37847;\n    readonly COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR: 37848;\n    readonly COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR: 37849;\n    readonly COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR: 37850;\n    readonly COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR: 37851;\n    readonly COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR: 37852;\n    readonly COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR: 37853;\n}\ninterface WEBGL_compressed_texture_etc {\n    readonly COMPRESSED_R11_EAC: 37488;\n    readonly COMPRESSED_SIGNED_R11_EAC: 37489;\n    readonly COMPRESSED_RG11_EAC: 37490;\n    readonly COMPRESSED_SIGNED_RG11_EAC: 37491;\n    readonly COMPRESSED_RGB8_ETC2: 37492;\n    readonly COMPRESSED_SRGB8_ETC2: 37493;\n    readonly COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2: 37494;\n    readonly COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2: 37495;\n    readonly COMPRESSED_RGBA8_ETC2_EAC: 37496;\n    readonly COMPRESSED_SRGB8_ALPHA8_ETC2_EAC: 37497;\n}\ninterface WEBGL_compressed_texture_etc1 {\n    readonly COMPRESSED_RGB_ETC1_WEBGL: 36196;\n}\ninterface WEBGL_compressed_texture_pvrtc {\n    readonly COMPRESSED_RGB_PVRTC_4BPPV1_IMG: 35840;\n    readonly COMPRESSED_RGB_PVRTC_2BPPV1_IMG: 35841;\n    readonly COMPRESSED_RGBA_PVRTC_4BPPV1_IMG: 35842;\n    readonly COMPRESSED_RGBA_PVRTC_2BPPV1_IMG: 35843;\n}\ninterface WEBGL_compressed_texture_s3tc {\n    readonly COMPRESSED_RGB_S3TC_DXT1_EXT: 33776;\n    readonly COMPRESSED_RGBA_S3TC_DXT1_EXT: 33777;\n    readonly COMPRESSED_RGBA_S3TC_DXT3_EXT: 33778;\n    readonly COMPRESSED_RGBA_S3TC_DXT5_EXT: 33779;\n}\ninterface WEBGL_compressed_texture_s3tc_srgb {\n    readonly COMPRESSED_SRGB_S3TC_DXT1_EXT: 35916;\n    readonly COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT: 35917;\n    readonly COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT: 35918;\n    readonly COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT: 35919;\n}\ninterface WEBGL_debug_renderer_info {\n    readonly UNMASKED_VENDOR_WEBGL: 37445;\n    readonly UNMASKED_RENDERER_WEBGL: 37446;\n}\ninterface WEBGL_debug_shaders {\n    getTranslatedShaderSource(shader: WebGLShader): string;\n}\ninterface WEBGL_depth_texture {\n    readonly UNSIGNED_INT_24_8_WEBGL: 34042;\n}\ninterface WEBGL_draw_buffers {\n    drawBuffersWEBGL(buffers: GLenum[]): void;\n    readonly COLOR_ATTACHMENT0_WEBGL: 36064;\n    readonly COLOR_ATTACHMENT1_WEBGL: 36065;\n    readonly COLOR_ATTACHMENT2_WEBGL: 36066;\n    readonly COLOR_ATTACHMENT3_WEBGL: 36067;\n    readonly COLOR_ATTACHMENT4_WEBGL: 36068;\n    readonly COLOR_ATTACHMENT5_WEBGL: 36069;\n    readonly COLOR_ATTACHMENT6_WEBGL: 36070;\n    readonly COLOR_ATTACHMENT7_WEBGL: 36071;\n    readonly COLOR_ATTACHMENT8_WEBGL: 36072;\n    readonly COLOR_ATTACHMENT9_WEBGL: 36073;\n    readonly COLOR_ATTACHMENT10_WEBGL: 36074;\n    readonly COLOR_ATTACHMENT11_WEBGL: 36075;\n    readonly COLOR_ATTACHMENT12_WEBGL: 36076;\n    readonly COLOR_ATTACHMENT13_WEBGL: 36077;\n    readonly COLOR_ATTACHMENT14_WEBGL: 36078;\n    readonly COLOR_ATTACHMENT15_WEBGL: 36079;\n    readonly DRAW_BUFFER0_WEBGL: 34853;\n    readonly DRAW_BUFFER1_WEBGL: 34854;\n    readonly DRAW_BUFFER2_WEBGL: 34855;\n    readonly DRAW_BUFFER3_WEBGL: 34856;\n    readonly DRAW_BUFFER4_WEBGL: 34857;\n    readonly DRAW_BUFFER5_WEBGL: 34858;\n    readonly DRAW_BUFFER6_WEBGL: 34859;\n    readonly DRAW_BUFFER7_WEBGL: 34860;\n    readonly DRAW_BUFFER8_WEBGL: 34861;\n    readonly DRAW_BUFFER9_WEBGL: 34862;\n    readonly DRAW_BUFFER10_WEBGL: 34863;\n    readonly DRAW_BUFFER11_WEBGL: 34864;\n    readonly DRAW_BUFFER12_WEBGL: 34865;\n    readonly DRAW_BUFFER13_WEBGL: 34866;\n    readonly DRAW_BUFFER14_WEBGL: 34867;\n    readonly DRAW_BUFFER15_WEBGL: 34868;\n    readonly MAX_COLOR_ATTACHMENTS_WEBGL: 36063;\n    readonly MAX_DRAW_BUFFERS_WEBGL: 34852;\n}\ninterface WEBGL_lose_context {\n    loseContext(): void;\n    restoreContext(): void;\n}\ninterface WEBGL_multi_draw {\n    multiDrawArraysInstancedWEBGL(mode: GLenum, firstsList: Int32Array<ArrayBufferLike> | GLint[], firstsOffset: number, countsList: Int32Array<ArrayBufferLike> | GLsizei[], countsOffset: number, instanceCountsList: Int32Array<ArrayBufferLike> | GLsizei[], instanceCountsOffset: number, drawcount: GLsizei): void;\n    multiDrawArraysWEBGL(mode: GLenum, firstsList: Int32Array<ArrayBufferLike> | GLint[], firstsOffset: number, countsList: Int32Array<ArrayBufferLike> | GLsizei[], countsOffset: number, drawcount: GLsizei): void;\n    multiDrawElementsInstancedWEBGL(mode: GLenum, countsList: Int32Array<ArrayBufferLike> | GLsizei[], countsOffset: number, type: GLenum, offsetsList: Int32Array<ArrayBufferLike> | GLsizei[], offsetsOffset: number, instanceCountsList: Int32Array<ArrayBufferLike> | GLsizei[], instanceCountsOffset: number, drawcount: GLsizei): void;\n    multiDrawElementsWEBGL(mode: GLenum, countsList: Int32Array<ArrayBufferLike> | GLsizei[], countsOffset: number, type: GLenum, offsetsList: Int32Array<ArrayBufferLike> | GLsizei[], offsetsOffset: number, drawcount: GLsizei): void;\n}\ninterface WGSLLanguageFeatures {\n    forEach(callbackfn: (value: string, key: string, parent: WGSLLanguageFeatures) => void, thisArg?: any): void;\n}\ndeclare var WGSLLanguageFeatures: {\n    prototype: WGSLLanguageFeatures;\n    new (): WGSLLanguageFeatures;\n};\ninterface WakeLock {\n    request(type?: WakeLockType): Promise<WakeLockSentinel>;\n}\ndeclare var WakeLock: {\n    prototype: WakeLock;\n    new (): WakeLock;\n};\ninterface WakeLockSentinelEventMap {\n    \"release\": Event;\n}\ninterface WakeLockSentinel extends EventTarget {\n    onrelease: ((this: WakeLockSentinel, ev: Event) => any) | null;\n    readonly released: boolean;\n    readonly type: WakeLockType;\n    release(): Promise<void>;\n    addEventListener<K extends keyof WakeLockSentinelEventMap>(type: K, listener: (this: WakeLockSentinel, ev: WakeLockSentinelEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof WakeLockSentinelEventMap>(type: K, listener: (this: WakeLockSentinel, ev: WakeLockSentinelEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var WakeLockSentinel: {\n    prototype: WakeLockSentinel;\n    new (): WakeLockSentinel;\n};\ninterface WaveShaperNode extends AudioNode {\n    curve: Float32Array<ArrayBuffer> | null;\n    oversample: OverSampleType;\n}\ndeclare var WaveShaperNode: {\n    prototype: WaveShaperNode;\n    new (context: BaseAudioContext, options?: WaveShaperOptions): WaveShaperNode;\n};\ninterface WebGL2RenderingContext extends WebGL2RenderingContextBase, WebGL2RenderingContextOverloads, WebGLRenderingContextBase {\n}\ndeclare var WebGL2RenderingContext: {\n    prototype: WebGL2RenderingContext;\n    new (): WebGL2RenderingContext;\n    readonly READ_BUFFER: 3074;\n    readonly UNPACK_ROW_LENGTH: 3314;\n    readonly UNPACK_SKIP_ROWS: 3315;\n    readonly UNPACK_SKIP_PIXELS: 3316;\n    readonly PACK_ROW_LENGTH: 3330;\n    readonly PACK_SKIP_ROWS: 3331;\n    readonly PACK_SKIP_PIXELS: 3332;\n    readonly COLOR: 6144;\n    readonly DEPTH: 6145;\n    readonly STENCIL: 6146;\n    readonly RED: 6403;\n    readonly RGB8: 32849;\n    readonly RGB10_A2: 32857;\n    readonly TEXTURE_BINDING_3D: 32874;\n    readonly UNPACK_SKIP_IMAGES: 32877;\n    readonly UNPACK_IMAGE_HEIGHT: 32878;\n    readonly TEXTURE_3D: 32879;\n    readonly TEXTURE_WRAP_R: 32882;\n    readonly MAX_3D_TEXTURE_SIZE: 32883;\n    readonly UNSIGNED_INT_2_10_10_10_REV: 33640;\n    readonly MAX_ELEMENTS_VERTICES: 33000;\n    readonly MAX_ELEMENTS_INDICES: 33001;\n    readonly TEXTURE_MIN_LOD: 33082;\n    readonly TEXTURE_MAX_LOD: 33083;\n    readonly TEXTURE_BASE_LEVEL: 33084;\n    readonly TEXTURE_MAX_LEVEL: 33085;\n    readonly MIN: 32775;\n    readonly MAX: 32776;\n    readonly DEPTH_COMPONENT24: 33190;\n    readonly MAX_TEXTURE_LOD_BIAS: 34045;\n    readonly TEXTURE_COMPARE_MODE: 34892;\n    readonly TEXTURE_COMPARE_FUNC: 34893;\n    readonly CURRENT_QUERY: 34917;\n    readonly QUERY_RESULT: 34918;\n    readonly QUERY_RESULT_AVAILABLE: 34919;\n    readonly STREAM_READ: 35041;\n    readonly STREAM_COPY: 35042;\n    readonly STATIC_READ: 35045;\n    readonly STATIC_COPY: 35046;\n    readonly DYNAMIC_READ: 35049;\n    readonly DYNAMIC_COPY: 35050;\n    readonly MAX_DRAW_BUFFERS: 34852;\n    readonly DRAW_BUFFER0: 34853;\n    readonly DRAW_BUFFER1: 34854;\n    readonly DRAW_BUFFER2: 34855;\n    readonly DRAW_BUFFER3: 34856;\n    readonly DRAW_BUFFER4: 34857;\n    readonly DRAW_BUFFER5: 34858;\n    readonly DRAW_BUFFER6: 34859;\n    readonly DRAW_BUFFER7: 34860;\n    readonly DRAW_BUFFER8: 34861;\n    readonly DRAW_BUFFER9: 34862;\n    readonly DRAW_BUFFER10: 34863;\n    readonly DRAW_BUFFER11: 34864;\n    readonly DRAW_BUFFER12: 34865;\n    readonly DRAW_BUFFER13: 34866;\n    readonly DRAW_BUFFER14: 34867;\n    readonly DRAW_BUFFER15: 34868;\n    readonly MAX_FRAGMENT_UNIFORM_COMPONENTS: 35657;\n    readonly MAX_VERTEX_UNIFORM_COMPONENTS: 35658;\n    readonly SAMPLER_3D: 35679;\n    readonly SAMPLER_2D_SHADOW: 35682;\n    readonly FRAGMENT_SHADER_DERIVATIVE_HINT: 35723;\n    readonly PIXEL_PACK_BUFFER: 35051;\n    readonly PIXEL_UNPACK_BUFFER: 35052;\n    readonly PIXEL_PACK_BUFFER_BINDING: 35053;\n    readonly PIXEL_UNPACK_BUFFER_BINDING: 35055;\n    readonly FLOAT_MAT2x3: 35685;\n    readonly FLOAT_MAT2x4: 35686;\n    readonly FLOAT_MAT3x2: 35687;\n    readonly FLOAT_MAT3x4: 35688;\n    readonly FLOAT_MAT4x2: 35689;\n    readonly FLOAT_MAT4x3: 35690;\n    readonly SRGB: 35904;\n    readonly SRGB8: 35905;\n    readonly SRGB8_ALPHA8: 35907;\n    readonly COMPARE_REF_TO_TEXTURE: 34894;\n    readonly RGBA32F: 34836;\n    readonly RGB32F: 34837;\n    readonly RGBA16F: 34842;\n    readonly RGB16F: 34843;\n    readonly VERTEX_ATTRIB_ARRAY_INTEGER: 35069;\n    readonly MAX_ARRAY_TEXTURE_LAYERS: 35071;\n    readonly MIN_PROGRAM_TEXEL_OFFSET: 35076;\n    readonly MAX_PROGRAM_TEXEL_OFFSET: 35077;\n    readonly MAX_VARYING_COMPONENTS: 35659;\n    readonly TEXTURE_2D_ARRAY: 35866;\n    readonly TEXTURE_BINDING_2D_ARRAY: 35869;\n    readonly R11F_G11F_B10F: 35898;\n    readonly UNSIGNED_INT_10F_11F_11F_REV: 35899;\n    readonly RGB9_E5: 35901;\n    readonly UNSIGNED_INT_5_9_9_9_REV: 35902;\n    readonly TRANSFORM_FEEDBACK_BUFFER_MODE: 35967;\n    readonly MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS: 35968;\n    readonly TRANSFORM_FEEDBACK_VARYINGS: 35971;\n    readonly TRANSFORM_FEEDBACK_BUFFER_START: 35972;\n    readonly TRANSFORM_FEEDBACK_BUFFER_SIZE: 35973;\n    readonly TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN: 35976;\n    readonly RASTERIZER_DISCARD: 35977;\n    readonly MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS: 35978;\n    readonly MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS: 35979;\n    readonly INTERLEAVED_ATTRIBS: 35980;\n    readonly SEPARATE_ATTRIBS: 35981;\n    readonly TRANSFORM_FEEDBACK_BUFFER: 35982;\n    readonly TRANSFORM_FEEDBACK_BUFFER_BINDING: 35983;\n    readonly RGBA32UI: 36208;\n    readonly RGB32UI: 36209;\n    readonly RGBA16UI: 36214;\n    readonly RGB16UI: 36215;\n    readonly RGBA8UI: 36220;\n    readonly RGB8UI: 36221;\n    readonly RGBA32I: 36226;\n    readonly RGB32I: 36227;\n    readonly RGBA16I: 36232;\n    readonly RGB16I: 36233;\n    readonly RGBA8I: 36238;\n    readonly RGB8I: 36239;\n    readonly RED_INTEGER: 36244;\n    readonly RGB_INTEGER: 36248;\n    readonly RGBA_INTEGER: 36249;\n    readonly SAMPLER_2D_ARRAY: 36289;\n    readonly SAMPLER_2D_ARRAY_SHADOW: 36292;\n    readonly SAMPLER_CUBE_SHADOW: 36293;\n    readonly UNSIGNED_INT_VEC2: 36294;\n    readonly UNSIGNED_INT_VEC3: 36295;\n    readonly UNSIGNED_INT_VEC4: 36296;\n    readonly INT_SAMPLER_2D: 36298;\n    readonly INT_SAMPLER_3D: 36299;\n    readonly INT_SAMPLER_CUBE: 36300;\n    readonly INT_SAMPLER_2D_ARRAY: 36303;\n    readonly UNSIGNED_INT_SAMPLER_2D: 36306;\n    readonly UNSIGNED_INT_SAMPLER_3D: 36307;\n    readonly UNSIGNED_INT_SAMPLER_CUBE: 36308;\n    readonly UNSIGNED_INT_SAMPLER_2D_ARRAY: 36311;\n    readonly DEPTH_COMPONENT32F: 36012;\n    readonly DEPTH32F_STENCIL8: 36013;\n    readonly FLOAT_32_UNSIGNED_INT_24_8_REV: 36269;\n    readonly FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING: 33296;\n    readonly FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE: 33297;\n    readonly FRAMEBUFFER_ATTACHMENT_RED_SIZE: 33298;\n    readonly FRAMEBUFFER_ATTACHMENT_GREEN_SIZE: 33299;\n    readonly FRAMEBUFFER_ATTACHMENT_BLUE_SIZE: 33300;\n    readonly FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE: 33301;\n    readonly FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE: 33302;\n    readonly FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE: 33303;\n    readonly FRAMEBUFFER_DEFAULT: 33304;\n    readonly UNSIGNED_INT_24_8: 34042;\n    readonly DEPTH24_STENCIL8: 35056;\n    readonly UNSIGNED_NORMALIZED: 35863;\n    readonly DRAW_FRAMEBUFFER_BINDING: 36006;\n    readonly READ_FRAMEBUFFER: 36008;\n    readonly DRAW_FRAMEBUFFER: 36009;\n    readonly READ_FRAMEBUFFER_BINDING: 36010;\n    readonly RENDERBUFFER_SAMPLES: 36011;\n    readonly FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER: 36052;\n    readonly MAX_COLOR_ATTACHMENTS: 36063;\n    readonly COLOR_ATTACHMENT1: 36065;\n    readonly COLOR_ATTACHMENT2: 36066;\n    readonly COLOR_ATTACHMENT3: 36067;\n    readonly COLOR_ATTACHMENT4: 36068;\n    readonly COLOR_ATTACHMENT5: 36069;\n    readonly COLOR_ATTACHMENT6: 36070;\n    readonly COLOR_ATTACHMENT7: 36071;\n    readonly COLOR_ATTACHMENT8: 36072;\n    readonly COLOR_ATTACHMENT9: 36073;\n    readonly COLOR_ATTACHMENT10: 36074;\n    readonly COLOR_ATTACHMENT11: 36075;\n    readonly COLOR_ATTACHMENT12: 36076;\n    readonly COLOR_ATTACHMENT13: 36077;\n    readonly COLOR_ATTACHMENT14: 36078;\n    readonly COLOR_ATTACHMENT15: 36079;\n    readonly FRAMEBUFFER_INCOMPLETE_MULTISAMPLE: 36182;\n    readonly MAX_SAMPLES: 36183;\n    readonly HALF_FLOAT: 5131;\n    readonly RG: 33319;\n    readonly RG_INTEGER: 33320;\n    readonly R8: 33321;\n    readonly RG8: 33323;\n    readonly R16F: 33325;\n    readonly R32F: 33326;\n    readonly RG16F: 33327;\n    readonly RG32F: 33328;\n    readonly R8I: 33329;\n    readonly R8UI: 33330;\n    readonly R16I: 33331;\n    readonly R16UI: 33332;\n    readonly R32I: 33333;\n    readonly R32UI: 33334;\n    readonly RG8I: 33335;\n    readonly RG8UI: 33336;\n    readonly RG16I: 33337;\n    readonly RG16UI: 33338;\n    readonly RG32I: 33339;\n    readonly RG32UI: 33340;\n    readonly VERTEX_ARRAY_BINDING: 34229;\n    readonly R8_SNORM: 36756;\n    readonly RG8_SNORM: 36757;\n    readonly RGB8_SNORM: 36758;\n    readonly RGBA8_SNORM: 36759;\n    readonly SIGNED_NORMALIZED: 36764;\n    readonly COPY_READ_BUFFER: 36662;\n    readonly COPY_WRITE_BUFFER: 36663;\n    readonly COPY_READ_BUFFER_BINDING: 36662;\n    readonly COPY_WRITE_BUFFER_BINDING: 36663;\n    readonly UNIFORM_BUFFER: 35345;\n    readonly UNIFORM_BUFFER_BINDING: 35368;\n    readonly UNIFORM_BUFFER_START: 35369;\n    readonly UNIFORM_BUFFER_SIZE: 35370;\n    readonly MAX_VERTEX_UNIFORM_BLOCKS: 35371;\n    readonly MAX_FRAGMENT_UNIFORM_BLOCKS: 35373;\n    readonly MAX_COMBINED_UNIFORM_BLOCKS: 35374;\n    readonly MAX_UNIFORM_BUFFER_BINDINGS: 35375;\n    readonly MAX_UNIFORM_BLOCK_SIZE: 35376;\n    readonly MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS: 35377;\n    readonly MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS: 35379;\n    readonly UNIFORM_BUFFER_OFFSET_ALIGNMENT: 35380;\n    readonly ACTIVE_UNIFORM_BLOCKS: 35382;\n    readonly UNIFORM_TYPE: 35383;\n    readonly UNIFORM_SIZE: 35384;\n    readonly UNIFORM_BLOCK_INDEX: 35386;\n    readonly UNIFORM_OFFSET: 35387;\n    readonly UNIFORM_ARRAY_STRIDE: 35388;\n    readonly UNIFORM_MATRIX_STRIDE: 35389;\n    readonly UNIFORM_IS_ROW_MAJOR: 35390;\n    readonly UNIFORM_BLOCK_BINDING: 35391;\n    readonly UNIFORM_BLOCK_DATA_SIZE: 35392;\n    readonly UNIFORM_BLOCK_ACTIVE_UNIFORMS: 35394;\n    readonly UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES: 35395;\n    readonly UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER: 35396;\n    readonly UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER: 35398;\n    readonly INVALID_INDEX: 4294967295;\n    readonly MAX_VERTEX_OUTPUT_COMPONENTS: 37154;\n    readonly MAX_FRAGMENT_INPUT_COMPONENTS: 37157;\n    readonly MAX_SERVER_WAIT_TIMEOUT: 37137;\n    readonly OBJECT_TYPE: 37138;\n    readonly SYNC_CONDITION: 37139;\n    readonly SYNC_STATUS: 37140;\n    readonly SYNC_FLAGS: 37141;\n    readonly SYNC_FENCE: 37142;\n    readonly SYNC_GPU_COMMANDS_COMPLETE: 37143;\n    readonly UNSIGNALED: 37144;\n    readonly SIGNALED: 37145;\n    readonly ALREADY_SIGNALED: 37146;\n    readonly TIMEOUT_EXPIRED: 37147;\n    readonly CONDITION_SATISFIED: 37148;\n    readonly WAIT_FAILED: 37149;\n    readonly SYNC_FLUSH_COMMANDS_BIT: 1;\n    readonly VERTEX_ATTRIB_ARRAY_DIVISOR: 35070;\n    readonly ANY_SAMPLES_PASSED: 35887;\n    readonly ANY_SAMPLES_PASSED_CONSERVATIVE: 36202;\n    readonly SAMPLER_BINDING: 35097;\n    readonly RGB10_A2UI: 36975;\n    readonly INT_2_10_10_10_REV: 36255;\n    readonly TRANSFORM_FEEDBACK: 36386;\n    readonly TRANSFORM_FEEDBACK_PAUSED: 36387;\n    readonly TRANSFORM_FEEDBACK_ACTIVE: 36388;\n    readonly TRANSFORM_FEEDBACK_BINDING: 36389;\n    readonly TEXTURE_IMMUTABLE_FORMAT: 37167;\n    readonly MAX_ELEMENT_INDEX: 36203;\n    readonly TEXTURE_IMMUTABLE_LEVELS: 33503;\n    readonly TIMEOUT_IGNORED: -1;\n    readonly MAX_CLIENT_WAIT_TIMEOUT_WEBGL: 37447;\n    readonly DEPTH_BUFFER_BIT: 256;\n    readonly STENCIL_BUFFER_BIT: 1024;\n    readonly COLOR_BUFFER_BIT: 16384;\n    readonly POINTS: 0;\n    readonly LINES: 1;\n    readonly LINE_LOOP: 2;\n    readonly LINE_STRIP: 3;\n    readonly TRIANGLES: 4;\n    readonly TRIANGLE_STRIP: 5;\n    readonly TRIANGLE_FAN: 6;\n    readonly ZERO: 0;\n    readonly ONE: 1;\n    readonly SRC_COLOR: 768;\n    readonly ONE_MINUS_SRC_COLOR: 769;\n    readonly SRC_ALPHA: 770;\n    readonly ONE_MINUS_SRC_ALPHA: 771;\n    readonly DST_ALPHA: 772;\n    readonly ONE_MINUS_DST_ALPHA: 773;\n    readonly DST_COLOR: 774;\n    readonly ONE_MINUS_DST_COLOR: 775;\n    readonly SRC_ALPHA_SATURATE: 776;\n    readonly FUNC_ADD: 32774;\n    readonly BLEND_EQUATION: 32777;\n    readonly BLEND_EQUATION_RGB: 32777;\n    readonly BLEND_EQUATION_ALPHA: 34877;\n    readonly FUNC_SUBTRACT: 32778;\n    readonly FUNC_REVERSE_SUBTRACT: 32779;\n    readonly BLEND_DST_RGB: 32968;\n    readonly BLEND_SRC_RGB: 32969;\n    readonly BLEND_DST_ALPHA: 32970;\n    readonly BLEND_SRC_ALPHA: 32971;\n    readonly CONSTANT_COLOR: 32769;\n    readonly ONE_MINUS_CONSTANT_COLOR: 32770;\n    readonly CONSTANT_ALPHA: 32771;\n    readonly ONE_MINUS_CONSTANT_ALPHA: 32772;\n    readonly BLEND_COLOR: 32773;\n    readonly ARRAY_BUFFER: 34962;\n    readonly ELEMENT_ARRAY_BUFFER: 34963;\n    readonly ARRAY_BUFFER_BINDING: 34964;\n    readonly ELEMENT_ARRAY_BUFFER_BINDING: 34965;\n    readonly STREAM_DRAW: 35040;\n    readonly STATIC_DRAW: 35044;\n    readonly DYNAMIC_DRAW: 35048;\n    readonly BUFFER_SIZE: 34660;\n    readonly BUFFER_USAGE: 34661;\n    readonly CURRENT_VERTEX_ATTRIB: 34342;\n    readonly FRONT: 1028;\n    readonly BACK: 1029;\n    readonly FRONT_AND_BACK: 1032;\n    readonly CULL_FACE: 2884;\n    readonly BLEND: 3042;\n    readonly DITHER: 3024;\n    readonly STENCIL_TEST: 2960;\n    readonly DEPTH_TEST: 2929;\n    readonly SCISSOR_TEST: 3089;\n    readonly POLYGON_OFFSET_FILL: 32823;\n    readonly SAMPLE_ALPHA_TO_COVERAGE: 32926;\n    readonly SAMPLE_COVERAGE: 32928;\n    readonly NO_ERROR: 0;\n    readonly INVALID_ENUM: 1280;\n    readonly INVALID_VALUE: 1281;\n    readonly INVALID_OPERATION: 1282;\n    readonly OUT_OF_MEMORY: 1285;\n    readonly CW: 2304;\n    readonly CCW: 2305;\n    readonly LINE_WIDTH: 2849;\n    readonly ALIASED_POINT_SIZE_RANGE: 33901;\n    readonly ALIASED_LINE_WIDTH_RANGE: 33902;\n    readonly CULL_FACE_MODE: 2885;\n    readonly FRONT_FACE: 2886;\n    readonly DEPTH_RANGE: 2928;\n    readonly DEPTH_WRITEMASK: 2930;\n    readonly DEPTH_CLEAR_VALUE: 2931;\n    readonly DEPTH_FUNC: 2932;\n    readonly STENCIL_CLEAR_VALUE: 2961;\n    readonly STENCIL_FUNC: 2962;\n    readonly STENCIL_FAIL: 2964;\n    readonly STENCIL_PASS_DEPTH_FAIL: 2965;\n    readonly STENCIL_PASS_DEPTH_PASS: 2966;\n    readonly STENCIL_REF: 2967;\n    readonly STENCIL_VALUE_MASK: 2963;\n    readonly STENCIL_WRITEMASK: 2968;\n    readonly STENCIL_BACK_FUNC: 34816;\n    readonly STENCIL_BACK_FAIL: 34817;\n    readonly STENCIL_BACK_PASS_DEPTH_FAIL: 34818;\n    readonly STENCIL_BACK_PASS_DEPTH_PASS: 34819;\n    readonly STENCIL_BACK_REF: 36003;\n    readonly STENCIL_BACK_VALUE_MASK: 36004;\n    readonly STENCIL_BACK_WRITEMASK: 36005;\n    readonly VIEWPORT: 2978;\n    readonly SCISSOR_BOX: 3088;\n    readonly COLOR_CLEAR_VALUE: 3106;\n    readonly COLOR_WRITEMASK: 3107;\n    readonly UNPACK_ALIGNMENT: 3317;\n    readonly PACK_ALIGNMENT: 3333;\n    readonly MAX_TEXTURE_SIZE: 3379;\n    readonly MAX_VIEWPORT_DIMS: 3386;\n    readonly SUBPIXEL_BITS: 3408;\n    readonly RED_BITS: 3410;\n    readonly GREEN_BITS: 3411;\n    readonly BLUE_BITS: 3412;\n    readonly ALPHA_BITS: 3413;\n    readonly DEPTH_BITS: 3414;\n    readonly STENCIL_BITS: 3415;\n    readonly POLYGON_OFFSET_UNITS: 10752;\n    readonly POLYGON_OFFSET_FACTOR: 32824;\n    readonly TEXTURE_BINDING_2D: 32873;\n    readonly SAMPLE_BUFFERS: 32936;\n    readonly SAMPLES: 32937;\n    readonly SAMPLE_COVERAGE_VALUE: 32938;\n    readonly SAMPLE_COVERAGE_INVERT: 32939;\n    readonly COMPRESSED_TEXTURE_FORMATS: 34467;\n    readonly DONT_CARE: 4352;\n    readonly FASTEST: 4353;\n    readonly NICEST: 4354;\n    readonly GENERATE_MIPMAP_HINT: 33170;\n    readonly BYTE: 5120;\n    readonly UNSIGNED_BYTE: 5121;\n    readonly SHORT: 5122;\n    readonly UNSIGNED_SHORT: 5123;\n    readonly INT: 5124;\n    readonly UNSIGNED_INT: 5125;\n    readonly FLOAT: 5126;\n    readonly DEPTH_COMPONENT: 6402;\n    readonly ALPHA: 6406;\n    readonly RGB: 6407;\n    readonly RGBA: 6408;\n    readonly LUMINANCE: 6409;\n    readonly LUMINANCE_ALPHA: 6410;\n    readonly UNSIGNED_SHORT_4_4_4_4: 32819;\n    readonly UNSIGNED_SHORT_5_5_5_1: 32820;\n    readonly UNSIGNED_SHORT_5_6_5: 33635;\n    readonly FRAGMENT_SHADER: 35632;\n    readonly VERTEX_SHADER: 35633;\n    readonly MAX_VERTEX_ATTRIBS: 34921;\n    readonly MAX_VERTEX_UNIFORM_VECTORS: 36347;\n    readonly MAX_VARYING_VECTORS: 36348;\n    readonly MAX_COMBINED_TEXTURE_IMAGE_UNITS: 35661;\n    readonly MAX_VERTEX_TEXTURE_IMAGE_UNITS: 35660;\n    readonly MAX_TEXTURE_IMAGE_UNITS: 34930;\n    readonly MAX_FRAGMENT_UNIFORM_VECTORS: 36349;\n    readonly SHADER_TYPE: 35663;\n    readonly DELETE_STATUS: 35712;\n    readonly LINK_STATUS: 35714;\n    readonly VALIDATE_STATUS: 35715;\n    readonly ATTACHED_SHADERS: 35717;\n    readonly ACTIVE_UNIFORMS: 35718;\n    readonly ACTIVE_ATTRIBUTES: 35721;\n    readonly SHADING_LANGUAGE_VERSION: 35724;\n    readonly CURRENT_PROGRAM: 35725;\n    readonly NEVER: 512;\n    readonly LESS: 513;\n    readonly EQUAL: 514;\n    readonly LEQUAL: 515;\n    readonly GREATER: 516;\n    readonly NOTEQUAL: 517;\n    readonly GEQUAL: 518;\n    readonly ALWAYS: 519;\n    readonly KEEP: 7680;\n    readonly REPLACE: 7681;\n    readonly INCR: 7682;\n    readonly DECR: 7683;\n    readonly INVERT: 5386;\n    readonly INCR_WRAP: 34055;\n    readonly DECR_WRAP: 34056;\n    readonly VENDOR: 7936;\n    readonly RENDERER: 7937;\n    readonly VERSION: 7938;\n    readonly NEAREST: 9728;\n    readonly LINEAR: 9729;\n    readonly NEAREST_MIPMAP_NEAREST: 9984;\n    readonly LINEAR_MIPMAP_NEAREST: 9985;\n    readonly NEAREST_MIPMAP_LINEAR: 9986;\n    readonly LINEAR_MIPMAP_LINEAR: 9987;\n    readonly TEXTURE_MAG_FILTER: 10240;\n    readonly TEXTURE_MIN_FILTER: 10241;\n    readonly TEXTURE_WRAP_S: 10242;\n    readonly TEXTURE_WRAP_T: 10243;\n    readonly TEXTURE_2D: 3553;\n    readonly TEXTURE: 5890;\n    readonly TEXTURE_CUBE_MAP: 34067;\n    readonly TEXTURE_BINDING_CUBE_MAP: 34068;\n    readonly TEXTURE_CUBE_MAP_POSITIVE_X: 34069;\n    readonly TEXTURE_CUBE_MAP_NEGATIVE_X: 34070;\n    readonly TEXTURE_CUBE_MAP_POSITIVE_Y: 34071;\n    readonly TEXTURE_CUBE_MAP_NEGATIVE_Y: 34072;\n    readonly TEXTURE_CUBE_MAP_POSITIVE_Z: 34073;\n    readonly TEXTURE_CUBE_MAP_NEGATIVE_Z: 34074;\n    readonly MAX_CUBE_MAP_TEXTURE_SIZE: 34076;\n    readonly TEXTURE0: 33984;\n    readonly TEXTURE1: 33985;\n    readonly TEXTURE2: 33986;\n    readonly TEXTURE3: 33987;\n    readonly TEXTURE4: 33988;\n    readonly TEXTURE5: 33989;\n    readonly TEXTURE6: 33990;\n    readonly TEXTURE7: 33991;\n    readonly TEXTURE8: 33992;\n    readonly TEXTURE9: 33993;\n    readonly TEXTURE10: 33994;\n    readonly TEXTURE11: 33995;\n    readonly TEXTURE12: 33996;\n    readonly TEXTURE13: 33997;\n    readonly TEXTURE14: 33998;\n    readonly TEXTURE15: 33999;\n    readonly TEXTURE16: 34000;\n    readonly TEXTURE17: 34001;\n    readonly TEXTURE18: 34002;\n    readonly TEXTURE19: 34003;\n    readonly TEXTURE20: 34004;\n    readonly TEXTURE21: 34005;\n    readonly TEXTURE22: 34006;\n    readonly TEXTURE23: 34007;\n    readonly TEXTURE24: 34008;\n    readonly TEXTURE25: 34009;\n    readonly TEXTURE26: 34010;\n    readonly TEXTURE27: 34011;\n    readonly TEXTURE28: 34012;\n    readonly TEXTURE29: 34013;\n    readonly TEXTURE30: 34014;\n    readonly TEXTURE31: 34015;\n    readonly ACTIVE_TEXTURE: 34016;\n    readonly REPEAT: 10497;\n    readonly CLAMP_TO_EDGE: 33071;\n    readonly MIRRORED_REPEAT: 33648;\n    readonly FLOAT_VEC2: 35664;\n    readonly FLOAT_VEC3: 35665;\n    readonly FLOAT_VEC4: 35666;\n    readonly INT_VEC2: 35667;\n    readonly INT_VEC3: 35668;\n    readonly INT_VEC4: 35669;\n    readonly BOOL: 35670;\n    readonly BOOL_VEC2: 35671;\n    readonly BOOL_VEC3: 35672;\n    readonly BOOL_VEC4: 35673;\n    readonly FLOAT_MAT2: 35674;\n    readonly FLOAT_MAT3: 35675;\n    readonly FLOAT_MAT4: 35676;\n    readonly SAMPLER_2D: 35678;\n    readonly SAMPLER_CUBE: 35680;\n    readonly VERTEX_ATTRIB_ARRAY_ENABLED: 34338;\n    readonly VERTEX_ATTRIB_ARRAY_SIZE: 34339;\n    readonly VERTEX_ATTRIB_ARRAY_STRIDE: 34340;\n    readonly VERTEX_ATTRIB_ARRAY_TYPE: 34341;\n    readonly VERTEX_ATTRIB_ARRAY_NORMALIZED: 34922;\n    readonly VERTEX_ATTRIB_ARRAY_POINTER: 34373;\n    readonly VERTEX_ATTRIB_ARRAY_BUFFER_BINDING: 34975;\n    readonly IMPLEMENTATION_COLOR_READ_TYPE: 35738;\n    readonly IMPLEMENTATION_COLOR_READ_FORMAT: 35739;\n    readonly COMPILE_STATUS: 35713;\n    readonly LOW_FLOAT: 36336;\n    readonly MEDIUM_FLOAT: 36337;\n    readonly HIGH_FLOAT: 36338;\n    readonly LOW_INT: 36339;\n    readonly MEDIUM_INT: 36340;\n    readonly HIGH_INT: 36341;\n    readonly FRAMEBUFFER: 36160;\n    readonly RENDERBUFFER: 36161;\n    readonly RGBA4: 32854;\n    readonly RGB5_A1: 32855;\n    readonly RGBA8: 32856;\n    readonly RGB565: 36194;\n    readonly DEPTH_COMPONENT16: 33189;\n    readonly STENCIL_INDEX8: 36168;\n    readonly DEPTH_STENCIL: 34041;\n    readonly RENDERBUFFER_WIDTH: 36162;\n    readonly RENDERBUFFER_HEIGHT: 36163;\n    readonly RENDERBUFFER_INTERNAL_FORMAT: 36164;\n    readonly RENDERBUFFER_RED_SIZE: 36176;\n    readonly RENDERBUFFER_GREEN_SIZE: 36177;\n    readonly RENDERBUFFER_BLUE_SIZE: 36178;\n    readonly RENDERBUFFER_ALPHA_SIZE: 36179;\n    readonly RENDERBUFFER_DEPTH_SIZE: 36180;\n    readonly RENDERBUFFER_STENCIL_SIZE: 36181;\n    readonly FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE: 36048;\n    readonly FRAMEBUFFER_ATTACHMENT_OBJECT_NAME: 36049;\n    readonly FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL: 36050;\n    readonly FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE: 36051;\n    readonly COLOR_ATTACHMENT0: 36064;\n    readonly DEPTH_ATTACHMENT: 36096;\n    readonly STENCIL_ATTACHMENT: 36128;\n    readonly DEPTH_STENCIL_ATTACHMENT: 33306;\n    readonly NONE: 0;\n    readonly FRAMEBUFFER_COMPLETE: 36053;\n    readonly FRAMEBUFFER_INCOMPLETE_ATTACHMENT: 36054;\n    readonly FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT: 36055;\n    readonly FRAMEBUFFER_INCOMPLETE_DIMENSIONS: 36057;\n    readonly FRAMEBUFFER_UNSUPPORTED: 36061;\n    readonly FRAMEBUFFER_BINDING: 36006;\n    readonly RENDERBUFFER_BINDING: 36007;\n    readonly MAX_RENDERBUFFER_SIZE: 34024;\n    readonly INVALID_FRAMEBUFFER_OPERATION: 1286;\n    readonly UNPACK_FLIP_Y_WEBGL: 37440;\n    readonly UNPACK_PREMULTIPLY_ALPHA_WEBGL: 37441;\n    readonly CONTEXT_LOST_WEBGL: 37442;\n    readonly UNPACK_COLORSPACE_CONVERSION_WEBGL: 37443;\n    readonly BROWSER_DEFAULT_WEBGL: 37444;\n};\ninterface WebGL2RenderingContextBase {\n    beginQuery(target: GLenum, query: WebGLQuery): void;\n    beginTransformFeedback(primitiveMode: GLenum): void;\n    bindBufferBase(target: GLenum, index: GLuint, buffer: WebGLBuffer | null): void;\n    bindBufferRange(target: GLenum, index: GLuint, buffer: WebGLBuffer | null, offset: GLintptr, size: GLsizeiptr): void;\n    bindSampler(unit: GLuint, sampler: WebGLSampler | null): void;\n    bindTransformFeedback(target: GLenum, tf: WebGLTransformFeedback | null): void;\n    bindVertexArray(array: WebGLVertexArrayObject | null): void;\n    blitFramebuffer(srcX0: GLint, srcY0: GLint, srcX1: GLint, srcY1: GLint, dstX0: GLint, dstY0: GLint, dstX1: GLint, dstY1: GLint, mask: GLbitfield, filter: GLenum): void;\n    clearBufferfi(buffer: GLenum, drawbuffer: GLint, depth: GLfloat, stencil: GLint): void;\n    clearBufferfv(buffer: GLenum, drawbuffer: GLint, values: Float32List, srcOffset?: number): void;\n    clearBufferiv(buffer: GLenum, drawbuffer: GLint, values: Int32List, srcOffset?: number): void;\n    clearBufferuiv(buffer: GLenum, drawbuffer: GLint, values: Uint32List, srcOffset?: number): void;\n    clientWaitSync(sync: WebGLSync, flags: GLbitfield, timeout: GLuint64): GLenum;\n    compressedTexImage3D(target: GLenum, level: GLint, internalformat: GLenum, width: GLsizei, height: GLsizei, depth: GLsizei, border: GLint, imageSize: GLsizei, offset: GLintptr): void;\n    compressedTexImage3D(target: GLenum, level: GLint, internalformat: GLenum, width: GLsizei, height: GLsizei, depth: GLsizei, border: GLint, srcData: ArrayBufferView<ArrayBufferLike>, srcOffset?: number, srcLengthOverride?: GLuint): void;\n    compressedTexSubImage3D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GLenum, imageSize: GLsizei, offset: GLintptr): void;\n    compressedTexSubImage3D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GLenum, srcData: ArrayBufferView<ArrayBufferLike>, srcOffset?: number, srcLengthOverride?: GLuint): void;\n    copyBufferSubData(readTarget: GLenum, writeTarget: GLenum, readOffset: GLintptr, writeOffset: GLintptr, size: GLsizeiptr): void;\n    copyTexSubImage3D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, x: GLint, y: GLint, width: GLsizei, height: GLsizei): void;\n    createQuery(): WebGLQuery;\n    createSampler(): WebGLSampler;\n    createTransformFeedback(): WebGLTransformFeedback;\n    createVertexArray(): WebGLVertexArrayObject;\n    deleteQuery(query: WebGLQuery | null): void;\n    deleteSampler(sampler: WebGLSampler | null): void;\n    deleteSync(sync: WebGLSync | null): void;\n    deleteTransformFeedback(tf: WebGLTransformFeedback | null): void;\n    deleteVertexArray(vertexArray: WebGLVertexArrayObject | null): void;\n    drawArraysInstanced(mode: GLenum, first: GLint, count: GLsizei, instanceCount: GLsizei): void;\n    drawBuffers(buffers: GLenum[]): void;\n    drawElementsInstanced(mode: GLenum, count: GLsizei, type: GLenum, offset: GLintptr, instanceCount: GLsizei): void;\n    drawRangeElements(mode: GLenum, start: GLuint, end: GLuint, count: GLsizei, type: GLenum, offset: GLintptr): void;\n    endQuery(target: GLenum): void;\n    endTransformFeedback(): void;\n    fenceSync(condition: GLenum, flags: GLbitfield): WebGLSync | null;\n    framebufferTextureLayer(target: GLenum, attachment: GLenum, texture: WebGLTexture | null, level: GLint, layer: GLint): void;\n    getActiveUniformBlockName(program: WebGLProgram, uniformBlockIndex: GLuint): string | null;\n    getActiveUniformBlockParameter(program: WebGLProgram, uniformBlockIndex: GLuint, pname: GLenum): any;\n    getActiveUniforms(program: WebGLProgram, uniformIndices: GLuint[], pname: GLenum): any;\n    getBufferSubData(target: GLenum, srcByteOffset: GLintptr, dstBuffer: ArrayBufferView<ArrayBufferLike>, dstOffset?: number, length?: GLuint): void;\n    getFragDataLocation(program: WebGLProgram, name: string): GLint;\n    getIndexedParameter(target: GLenum, index: GLuint): any;\n    getInternalformatParameter(target: GLenum, internalformat: GLenum, pname: GLenum): any;\n    getQuery(target: GLenum, pname: GLenum): WebGLQuery | null;\n    getQueryParameter(query: WebGLQuery, pname: GLenum): any;\n    getSamplerParameter(sampler: WebGLSampler, pname: GLenum): any;\n    getSyncParameter(sync: WebGLSync, pname: GLenum): any;\n    getTransformFeedbackVarying(program: WebGLProgram, index: GLuint): WebGLActiveInfo | null;\n    getUniformBlockIndex(program: WebGLProgram, uniformBlockName: string): GLuint;\n    getUniformIndices(program: WebGLProgram, uniformNames: string[]): GLuint[] | null;\n    invalidateFramebuffer(target: GLenum, attachments: GLenum[]): void;\n    invalidateSubFramebuffer(target: GLenum, attachments: GLenum[], x: GLint, y: GLint, width: GLsizei, height: GLsizei): void;\n    isQuery(query: WebGLQuery | null): GLboolean;\n    isSampler(sampler: WebGLSampler | null): GLboolean;\n    isSync(sync: WebGLSync | null): GLboolean;\n    isTransformFeedback(tf: WebGLTransformFeedback | null): GLboolean;\n    isVertexArray(vertexArray: WebGLVertexArrayObject | null): GLboolean;\n    pauseTransformFeedback(): void;\n    readBuffer(src: GLenum): void;\n    renderbufferStorageMultisample(target: GLenum, samples: GLsizei, internalformat: GLenum, width: GLsizei, height: GLsizei): void;\n    resumeTransformFeedback(): void;\n    samplerParameterf(sampler: WebGLSampler, pname: GLenum, param: GLfloat): void;\n    samplerParameteri(sampler: WebGLSampler, pname: GLenum, param: GLint): void;\n    texImage3D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, border: GLint, format: GLenum, type: GLenum, pboOffset: GLintptr): void;\n    texImage3D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, border: GLint, format: GLenum, type: GLenum, source: TexImageSource): void;\n    texImage3D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, border: GLint, format: GLenum, type: GLenum, srcData: ArrayBufferView<ArrayBufferLike> | null): void;\n    texImage3D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, border: GLint, format: GLenum, type: GLenum, srcData: ArrayBufferView<ArrayBufferLike>, srcOffset: number): void;\n    texStorage2D(target: GLenum, levels: GLsizei, internalformat: GLenum, width: GLsizei, height: GLsizei): void;\n    texStorage3D(target: GLenum, levels: GLsizei, internalformat: GLenum, width: GLsizei, height: GLsizei, depth: GLsizei): void;\n    texSubImage3D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GLenum, type: GLenum, pboOffset: GLintptr): void;\n    texSubImage3D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GLenum, type: GLenum, source: TexImageSource): void;\n    texSubImage3D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GLenum, type: GLenum, srcData: ArrayBufferView<ArrayBufferLike> | null, srcOffset?: number): void;\n    transformFeedbackVaryings(program: WebGLProgram, varyings: string[], bufferMode: GLenum): void;\n    uniform1ui(location: WebGLUniformLocation | null, v0: GLuint): void;\n    uniform1uiv(location: WebGLUniformLocation | null, data: Uint32List, srcOffset?: number, srcLength?: GLuint): void;\n    uniform2ui(location: WebGLUniformLocation | null, v0: GLuint, v1: GLuint): void;\n    uniform2uiv(location: WebGLUniformLocation | null, data: Uint32List, srcOffset?: number, srcLength?: GLuint): void;\n    uniform3ui(location: WebGLUniformLocation | null, v0: GLuint, v1: GLuint, v2: GLuint): void;\n    uniform3uiv(location: WebGLUniformLocation | null, data: Uint32List, srcOffset?: number, srcLength?: GLuint): void;\n    uniform4ui(location: WebGLUniformLocation | null, v0: GLuint, v1: GLuint, v2: GLuint, v3: GLuint): void;\n    uniform4uiv(location: WebGLUniformLocation | null, data: Uint32List, srcOffset?: number, srcLength?: GLuint): void;\n    uniformBlockBinding(program: WebGLProgram, uniformBlockIndex: GLuint, uniformBlockBinding: GLuint): void;\n    uniformMatrix2x3fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Float32List, srcOffset?: number, srcLength?: GLuint): void;\n    uniformMatrix2x4fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Float32List, srcOffset?: number, srcLength?: GLuint): void;\n    uniformMatrix3x2fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Float32List, srcOffset?: number, srcLength?: GLuint): void;\n    uniformMatrix3x4fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Float32List, srcOffset?: number, srcLength?: GLuint): void;\n    uniformMatrix4x2fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Float32List, srcOffset?: number, srcLength?: GLuint): void;\n    uniformMatrix4x3fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Float32List, srcOffset?: number, srcLength?: GLuint): void;\n    vertexAttribDivisor(index: GLuint, divisor: GLuint): void;\n    vertexAttribI4i(index: GLuint, x: GLint, y: GLint, z: GLint, w: GLint): void;\n    vertexAttribI4iv(index: GLuint, values: Int32List): void;\n    vertexAttribI4ui(index: GLuint, x: GLuint, y: GLuint, z: GLuint, w: GLuint): void;\n    vertexAttribI4uiv(index: GLuint, values: Uint32List): void;\n    vertexAttribIPointer(index: GLuint, size: GLint, type: GLenum, stride: GLsizei, offset: GLintptr): void;\n    waitSync(sync: WebGLSync, flags: GLbitfield, timeout: GLint64): void;\n    readonly READ_BUFFER: 3074;\n    readonly UNPACK_ROW_LENGTH: 3314;\n    readonly UNPACK_SKIP_ROWS: 3315;\n    readonly UNPACK_SKIP_PIXELS: 3316;\n    readonly PACK_ROW_LENGTH: 3330;\n    readonly PACK_SKIP_ROWS: 3331;\n    readonly PACK_SKIP_PIXELS: 3332;\n    readonly COLOR: 6144;\n    readonly DEPTH: 6145;\n    readonly STENCIL: 6146;\n    readonly RED: 6403;\n    readonly RGB8: 32849;\n    readonly RGB10_A2: 32857;\n    readonly TEXTURE_BINDING_3D: 32874;\n    readonly UNPACK_SKIP_IMAGES: 32877;\n    readonly UNPACK_IMAGE_HEIGHT: 32878;\n    readonly TEXTURE_3D: 32879;\n    readonly TEXTURE_WRAP_R: 32882;\n    readonly MAX_3D_TEXTURE_SIZE: 32883;\n    readonly UNSIGNED_INT_2_10_10_10_REV: 33640;\n    readonly MAX_ELEMENTS_VERTICES: 33000;\n    readonly MAX_ELEMENTS_INDICES: 33001;\n    readonly TEXTURE_MIN_LOD: 33082;\n    readonly TEXTURE_MAX_LOD: 33083;\n    readonly TEXTURE_BASE_LEVEL: 33084;\n    readonly TEXTURE_MAX_LEVEL: 33085;\n    readonly MIN: 32775;\n    readonly MAX: 32776;\n    readonly DEPTH_COMPONENT24: 33190;\n    readonly MAX_TEXTURE_LOD_BIAS: 34045;\n    readonly TEXTURE_COMPARE_MODE: 34892;\n    readonly TEXTURE_COMPARE_FUNC: 34893;\n    readonly CURRENT_QUERY: 34917;\n    readonly QUERY_RESULT: 34918;\n    readonly QUERY_RESULT_AVAILABLE: 34919;\n    readonly STREAM_READ: 35041;\n    readonly STREAM_COPY: 35042;\n    readonly STATIC_READ: 35045;\n    readonly STATIC_COPY: 35046;\n    readonly DYNAMIC_READ: 35049;\n    readonly DYNAMIC_COPY: 35050;\n    readonly MAX_DRAW_BUFFERS: 34852;\n    readonly DRAW_BUFFER0: 34853;\n    readonly DRAW_BUFFER1: 34854;\n    readonly DRAW_BUFFER2: 34855;\n    readonly DRAW_BUFFER3: 34856;\n    readonly DRAW_BUFFER4: 34857;\n    readonly DRAW_BUFFER5: 34858;\n    readonly DRAW_BUFFER6: 34859;\n    readonly DRAW_BUFFER7: 34860;\n    readonly DRAW_BUFFER8: 34861;\n    readonly DRAW_BUFFER9: 34862;\n    readonly DRAW_BUFFER10: 34863;\n    readonly DRAW_BUFFER11: 34864;\n    readonly DRAW_BUFFER12: 34865;\n    readonly DRAW_BUFFER13: 34866;\n    readonly DRAW_BUFFER14: 34867;\n    readonly DRAW_BUFFER15: 34868;\n    readonly MAX_FRAGMENT_UNIFORM_COMPONENTS: 35657;\n    readonly MAX_VERTEX_UNIFORM_COMPONENTS: 35658;\n    readonly SAMPLER_3D: 35679;\n    readonly SAMPLER_2D_SHADOW: 35682;\n    readonly FRAGMENT_SHADER_DERIVATIVE_HINT: 35723;\n    readonly PIXEL_PACK_BUFFER: 35051;\n    readonly PIXEL_UNPACK_BUFFER: 35052;\n    readonly PIXEL_PACK_BUFFER_BINDING: 35053;\n    readonly PIXEL_UNPACK_BUFFER_BINDING: 35055;\n    readonly FLOAT_MAT2x3: 35685;\n    readonly FLOAT_MAT2x4: 35686;\n    readonly FLOAT_MAT3x2: 35687;\n    readonly FLOAT_MAT3x4: 35688;\n    readonly FLOAT_MAT4x2: 35689;\n    readonly FLOAT_MAT4x3: 35690;\n    readonly SRGB: 35904;\n    readonly SRGB8: 35905;\n    readonly SRGB8_ALPHA8: 35907;\n    readonly COMPARE_REF_TO_TEXTURE: 34894;\n    readonly RGBA32F: 34836;\n    readonly RGB32F: 34837;\n    readonly RGBA16F: 34842;\n    readonly RGB16F: 34843;\n    readonly VERTEX_ATTRIB_ARRAY_INTEGER: 35069;\n    readonly MAX_ARRAY_TEXTURE_LAYERS: 35071;\n    readonly MIN_PROGRAM_TEXEL_OFFSET: 35076;\n    readonly MAX_PROGRAM_TEXEL_OFFSET: 35077;\n    readonly MAX_VARYING_COMPONENTS: 35659;\n    readonly TEXTURE_2D_ARRAY: 35866;\n    readonly TEXTURE_BINDING_2D_ARRAY: 35869;\n    readonly R11F_G11F_B10F: 35898;\n    readonly UNSIGNED_INT_10F_11F_11F_REV: 35899;\n    readonly RGB9_E5: 35901;\n    readonly UNSIGNED_INT_5_9_9_9_REV: 35902;\n    readonly TRANSFORM_FEEDBACK_BUFFER_MODE: 35967;\n    readonly MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS: 35968;\n    readonly TRANSFORM_FEEDBACK_VARYINGS: 35971;\n    readonly TRANSFORM_FEEDBACK_BUFFER_START: 35972;\n    readonly TRANSFORM_FEEDBACK_BUFFER_SIZE: 35973;\n    readonly TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN: 35976;\n    readonly RASTERIZER_DISCARD: 35977;\n    readonly MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS: 35978;\n    readonly MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS: 35979;\n    readonly INTERLEAVED_ATTRIBS: 35980;\n    readonly SEPARATE_ATTRIBS: 35981;\n    readonly TRANSFORM_FEEDBACK_BUFFER: 35982;\n    readonly TRANSFORM_FEEDBACK_BUFFER_BINDING: 35983;\n    readonly RGBA32UI: 36208;\n    readonly RGB32UI: 36209;\n    readonly RGBA16UI: 36214;\n    readonly RGB16UI: 36215;\n    readonly RGBA8UI: 36220;\n    readonly RGB8UI: 36221;\n    readonly RGBA32I: 36226;\n    readonly RGB32I: 36227;\n    readonly RGBA16I: 36232;\n    readonly RGB16I: 36233;\n    readonly RGBA8I: 36238;\n    readonly RGB8I: 36239;\n    readonly RED_INTEGER: 36244;\n    readonly RGB_INTEGER: 36248;\n    readonly RGBA_INTEGER: 36249;\n    readonly SAMPLER_2D_ARRAY: 36289;\n    readonly SAMPLER_2D_ARRAY_SHADOW: 36292;\n    readonly SAMPLER_CUBE_SHADOW: 36293;\n    readonly UNSIGNED_INT_VEC2: 36294;\n    readonly UNSIGNED_INT_VEC3: 36295;\n    readonly UNSIGNED_INT_VEC4: 36296;\n    readonly INT_SAMPLER_2D: 36298;\n    readonly INT_SAMPLER_3D: 36299;\n    readonly INT_SAMPLER_CUBE: 36300;\n    readonly INT_SAMPLER_2D_ARRAY: 36303;\n    readonly UNSIGNED_INT_SAMPLER_2D: 36306;\n    readonly UNSIGNED_INT_SAMPLER_3D: 36307;\n    readonly UNSIGNED_INT_SAMPLER_CUBE: 36308;\n    readonly UNSIGNED_INT_SAMPLER_2D_ARRAY: 36311;\n    readonly DEPTH_COMPONENT32F: 36012;\n    readonly DEPTH32F_STENCIL8: 36013;\n    readonly FLOAT_32_UNSIGNED_INT_24_8_REV: 36269;\n    readonly FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING: 33296;\n    readonly FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE: 33297;\n    readonly FRAMEBUFFER_ATTACHMENT_RED_SIZE: 33298;\n    readonly FRAMEBUFFER_ATTACHMENT_GREEN_SIZE: 33299;\n    readonly FRAMEBUFFER_ATTACHMENT_BLUE_SIZE: 33300;\n    readonly FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE: 33301;\n    readonly FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE: 33302;\n    readonly FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE: 33303;\n    readonly FRAMEBUFFER_DEFAULT: 33304;\n    readonly UNSIGNED_INT_24_8: 34042;\n    readonly DEPTH24_STENCIL8: 35056;\n    readonly UNSIGNED_NORMALIZED: 35863;\n    readonly DRAW_FRAMEBUFFER_BINDING: 36006;\n    readonly READ_FRAMEBUFFER: 36008;\n    readonly DRAW_FRAMEBUFFER: 36009;\n    readonly READ_FRAMEBUFFER_BINDING: 36010;\n    readonly RENDERBUFFER_SAMPLES: 36011;\n    readonly FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER: 36052;\n    readonly MAX_COLOR_ATTACHMENTS: 36063;\n    readonly COLOR_ATTACHMENT1: 36065;\n    readonly COLOR_ATTACHMENT2: 36066;\n    readonly COLOR_ATTACHMENT3: 36067;\n    readonly COLOR_ATTACHMENT4: 36068;\n    readonly COLOR_ATTACHMENT5: 36069;\n    readonly COLOR_ATTACHMENT6: 36070;\n    readonly COLOR_ATTACHMENT7: 36071;\n    readonly COLOR_ATTACHMENT8: 36072;\n    readonly COLOR_ATTACHMENT9: 36073;\n    readonly COLOR_ATTACHMENT10: 36074;\n    readonly COLOR_ATTACHMENT11: 36075;\n    readonly COLOR_ATTACHMENT12: 36076;\n    readonly COLOR_ATTACHMENT13: 36077;\n    readonly COLOR_ATTACHMENT14: 36078;\n    readonly COLOR_ATTACHMENT15: 36079;\n    readonly FRAMEBUFFER_INCOMPLETE_MULTISAMPLE: 36182;\n    readonly MAX_SAMPLES: 36183;\n    readonly HALF_FLOAT: 5131;\n    readonly RG: 33319;\n    readonly RG_INTEGER: 33320;\n    readonly R8: 33321;\n    readonly RG8: 33323;\n    readonly R16F: 33325;\n    readonly R32F: 33326;\n    readonly RG16F: 33327;\n    readonly RG32F: 33328;\n    readonly R8I: 33329;\n    readonly R8UI: 33330;\n    readonly R16I: 33331;\n    readonly R16UI: 33332;\n    readonly R32I: 33333;\n    readonly R32UI: 33334;\n    readonly RG8I: 33335;\n    readonly RG8UI: 33336;\n    readonly RG16I: 33337;\n    readonly RG16UI: 33338;\n    readonly RG32I: 33339;\n    readonly RG32UI: 33340;\n    readonly VERTEX_ARRAY_BINDING: 34229;\n    readonly R8_SNORM: 36756;\n    readonly RG8_SNORM: 36757;\n    readonly RGB8_SNORM: 36758;\n    readonly RGBA8_SNORM: 36759;\n    readonly SIGNED_NORMALIZED: 36764;\n    readonly COPY_READ_BUFFER: 36662;\n    readonly COPY_WRITE_BUFFER: 36663;\n    readonly COPY_READ_BUFFER_BINDING: 36662;\n    readonly COPY_WRITE_BUFFER_BINDING: 36663;\n    readonly UNIFORM_BUFFER: 35345;\n    readonly UNIFORM_BUFFER_BINDING: 35368;\n    readonly UNIFORM_BUFFER_START: 35369;\n    readonly UNIFORM_BUFFER_SIZE: 35370;\n    readonly MAX_VERTEX_UNIFORM_BLOCKS: 35371;\n    readonly MAX_FRAGMENT_UNIFORM_BLOCKS: 35373;\n    readonly MAX_COMBINED_UNIFORM_BLOCKS: 35374;\n    readonly MAX_UNIFORM_BUFFER_BINDINGS: 35375;\n    readonly MAX_UNIFORM_BLOCK_SIZE: 35376;\n    readonly MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS: 35377;\n    readonly MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS: 35379;\n    readonly UNIFORM_BUFFER_OFFSET_ALIGNMENT: 35380;\n    readonly ACTIVE_UNIFORM_BLOCKS: 35382;\n    readonly UNIFORM_TYPE: 35383;\n    readonly UNIFORM_SIZE: 35384;\n    readonly UNIFORM_BLOCK_INDEX: 35386;\n    readonly UNIFORM_OFFSET: 35387;\n    readonly UNIFORM_ARRAY_STRIDE: 35388;\n    readonly UNIFORM_MATRIX_STRIDE: 35389;\n    readonly UNIFORM_IS_ROW_MAJOR: 35390;\n    readonly UNIFORM_BLOCK_BINDING: 35391;\n    readonly UNIFORM_BLOCK_DATA_SIZE: 35392;\n    readonly UNIFORM_BLOCK_ACTIVE_UNIFORMS: 35394;\n    readonly UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES: 35395;\n    readonly UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER: 35396;\n    readonly UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER: 35398;\n    readonly INVALID_INDEX: 4294967295;\n    readonly MAX_VERTEX_OUTPUT_COMPONENTS: 37154;\n    readonly MAX_FRAGMENT_INPUT_COMPONENTS: 37157;\n    readonly MAX_SERVER_WAIT_TIMEOUT: 37137;\n    readonly OBJECT_TYPE: 37138;\n    readonly SYNC_CONDITION: 37139;\n    readonly SYNC_STATUS: 37140;\n    readonly SYNC_FLAGS: 37141;\n    readonly SYNC_FENCE: 37142;\n    readonly SYNC_GPU_COMMANDS_COMPLETE: 37143;\n    readonly UNSIGNALED: 37144;\n    readonly SIGNALED: 37145;\n    readonly ALREADY_SIGNALED: 37146;\n    readonly TIMEOUT_EXPIRED: 37147;\n    readonly CONDITION_SATISFIED: 37148;\n    readonly WAIT_FAILED: 37149;\n    readonly SYNC_FLUSH_COMMANDS_BIT: 1;\n    readonly VERTEX_ATTRIB_ARRAY_DIVISOR: 35070;\n    readonly ANY_SAMPLES_PASSED: 35887;\n    readonly ANY_SAMPLES_PASSED_CONSERVATIVE: 36202;\n    readonly SAMPLER_BINDING: 35097;\n    readonly RGB10_A2UI: 36975;\n    readonly INT_2_10_10_10_REV: 36255;\n    readonly TRANSFORM_FEEDBACK: 36386;\n    readonly TRANSFORM_FEEDBACK_PAUSED: 36387;\n    readonly TRANSFORM_FEEDBACK_ACTIVE: 36388;\n    readonly TRANSFORM_FEEDBACK_BINDING: 36389;\n    readonly TEXTURE_IMMUTABLE_FORMAT: 37167;\n    readonly MAX_ELEMENT_INDEX: 36203;\n    readonly TEXTURE_IMMUTABLE_LEVELS: 33503;\n    readonly TIMEOUT_IGNORED: -1;\n    readonly MAX_CLIENT_WAIT_TIMEOUT_WEBGL: 37447;\n}\ninterface WebGL2RenderingContextOverloads {\n    bufferData(target: GLenum, size: GLsizeiptr, usage: GLenum): void;\n    bufferData(target: GLenum, srcData: AllowSharedBufferSource | null, usage: GLenum): void;\n    bufferData(target: GLenum, srcData: ArrayBufferView<ArrayBufferLike>, usage: GLenum, srcOffset: number, length?: GLuint): void;\n    bufferSubData(target: GLenum, dstByteOffset: GLintptr, srcData: AllowSharedBufferSource): void;\n    bufferSubData(target: GLenum, dstByteOffset: GLintptr, srcData: ArrayBufferView<ArrayBufferLike>, srcOffset: number, length?: GLuint): void;\n    compressedTexImage2D(target: GLenum, level: GLint, internalformat: GLenum, width: GLsizei, height: GLsizei, border: GLint, imageSize: GLsizei, offset: GLintptr): void;\n    compressedTexImage2D(target: GLenum, level: GLint, internalformat: GLenum, width: GLsizei, height: GLsizei, border: GLint, srcData: ArrayBufferView<ArrayBufferLike>, srcOffset?: number, srcLengthOverride?: GLuint): void;\n    compressedTexSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, imageSize: GLsizei, offset: GLintptr): void;\n    compressedTexSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, srcData: ArrayBufferView<ArrayBufferLike>, srcOffset?: number, srcLengthOverride?: GLuint): void;\n    readPixels(x: GLint, y: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, dstData: ArrayBufferView<ArrayBufferLike> | null): void;\n    readPixels(x: GLint, y: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, offset: GLintptr): void;\n    readPixels(x: GLint, y: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, dstData: ArrayBufferView<ArrayBufferLike>, dstOffset: number): void;\n    texImage2D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, border: GLint, format: GLenum, type: GLenum, pixels: ArrayBufferView<ArrayBufferLike> | null): void;\n    texImage2D(target: GLenum, level: GLint, internalformat: GLint, format: GLenum, type: GLenum, source: TexImageSource): void;\n    texImage2D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, border: GLint, format: GLenum, type: GLenum, pboOffset: GLintptr): void;\n    texImage2D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, border: GLint, format: GLenum, type: GLenum, source: TexImageSource): void;\n    texImage2D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, border: GLint, format: GLenum, type: GLenum, srcData: ArrayBufferView<ArrayBufferLike>, srcOffset: number): void;\n    texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, pixels: ArrayBufferView<ArrayBufferLike> | null): void;\n    texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, format: GLenum, type: GLenum, source: TexImageSource): void;\n    texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, pboOffset: GLintptr): void;\n    texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, source: TexImageSource): void;\n    texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, srcData: ArrayBufferView<ArrayBufferLike>, srcOffset: number): void;\n    uniform1fv(location: WebGLUniformLocation | null, data: Float32List, srcOffset?: number, srcLength?: GLuint): void;\n    uniform1iv(location: WebGLUniformLocation | null, data: Int32List, srcOffset?: number, srcLength?: GLuint): void;\n    uniform2fv(location: WebGLUniformLocation | null, data: Float32List, srcOffset?: number, srcLength?: GLuint): void;\n    uniform2iv(location: WebGLUniformLocation | null, data: Int32List, srcOffset?: number, srcLength?: GLuint): void;\n    uniform3fv(location: WebGLUniformLocation | null, data: Float32List, srcOffset?: number, srcLength?: GLuint): void;\n    uniform3iv(location: WebGLUniformLocation | null, data: Int32List, srcOffset?: number, srcLength?: GLuint): void;\n    uniform4fv(location: WebGLUniformLocation | null, data: Float32List, srcOffset?: number, srcLength?: GLuint): void;\n    uniform4iv(location: WebGLUniformLocation | null, data: Int32List, srcOffset?: number, srcLength?: GLuint): void;\n    uniformMatrix2fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Float32List, srcOffset?: number, srcLength?: GLuint): void;\n    uniformMatrix3fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Float32List, srcOffset?: number, srcLength?: GLuint): void;\n    uniformMatrix4fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Float32List, srcOffset?: number, srcLength?: GLuint): void;\n}\ninterface WebGLActiveInfo {\n    readonly name: string;\n    readonly size: GLint;\n    readonly type: GLenum;\n}\ndeclare var WebGLActiveInfo: {\n    prototype: WebGLActiveInfo;\n    new (): WebGLActiveInfo;\n};\ninterface WebGLBuffer {\n}\ndeclare var WebGLBuffer: {\n    prototype: WebGLBuffer;\n    new (): WebGLBuffer;\n};\ninterface WebGLContextEvent extends Event {\n    readonly statusMessage: string;\n}\ndeclare var WebGLContextEvent: {\n    prototype: WebGLContextEvent;\n    new (type: string, eventInit?: WebGLContextEventInit): WebGLContextEvent;\n};\ninterface WebGLFramebuffer {\n}\ndeclare var WebGLFramebuffer: {\n    prototype: WebGLFramebuffer;\n    new (): WebGLFramebuffer;\n};\ninterface WebGLProgram {\n}\ndeclare var WebGLProgram: {\n    prototype: WebGLProgram;\n    new (): WebGLProgram;\n};\ninterface WebGLQuery {\n}\ndeclare var WebGLQuery: {\n    prototype: WebGLQuery;\n    new (): WebGLQuery;\n};\ninterface WebGLRenderbuffer {\n}\ndeclare var WebGLRenderbuffer: {\n    prototype: WebGLRenderbuffer;\n    new (): WebGLRenderbuffer;\n};\ninterface WebGLRenderingContext extends WebGLRenderingContextBase, WebGLRenderingContextOverloads {\n}\ndeclare var WebGLRenderingContext: {\n    prototype: WebGLRenderingContext;\n    new (): WebGLRenderingContext;\n    readonly DEPTH_BUFFER_BIT: 256;\n    readonly STENCIL_BUFFER_BIT: 1024;\n    readonly COLOR_BUFFER_BIT: 16384;\n    readonly POINTS: 0;\n    readonly LINES: 1;\n    readonly LINE_LOOP: 2;\n    readonly LINE_STRIP: 3;\n    readonly TRIANGLES: 4;\n    readonly TRIANGLE_STRIP: 5;\n    readonly TRIANGLE_FAN: 6;\n    readonly ZERO: 0;\n    readonly ONE: 1;\n    readonly SRC_COLOR: 768;\n    readonly ONE_MINUS_SRC_COLOR: 769;\n    readonly SRC_ALPHA: 770;\n    readonly ONE_MINUS_SRC_ALPHA: 771;\n    readonly DST_ALPHA: 772;\n    readonly ONE_MINUS_DST_ALPHA: 773;\n    readonly DST_COLOR: 774;\n    readonly ONE_MINUS_DST_COLOR: 775;\n    readonly SRC_ALPHA_SATURATE: 776;\n    readonly FUNC_ADD: 32774;\n    readonly BLEND_EQUATION: 32777;\n    readonly BLEND_EQUATION_RGB: 32777;\n    readonly BLEND_EQUATION_ALPHA: 34877;\n    readonly FUNC_SUBTRACT: 32778;\n    readonly FUNC_REVERSE_SUBTRACT: 32779;\n    readonly BLEND_DST_RGB: 32968;\n    readonly BLEND_SRC_RGB: 32969;\n    readonly BLEND_DST_ALPHA: 32970;\n    readonly BLEND_SRC_ALPHA: 32971;\n    readonly CONSTANT_COLOR: 32769;\n    readonly ONE_MINUS_CONSTANT_COLOR: 32770;\n    readonly CONSTANT_ALPHA: 32771;\n    readonly ONE_MINUS_CONSTANT_ALPHA: 32772;\n    readonly BLEND_COLOR: 32773;\n    readonly ARRAY_BUFFER: 34962;\n    readonly ELEMENT_ARRAY_BUFFER: 34963;\n    readonly ARRAY_BUFFER_BINDING: 34964;\n    readonly ELEMENT_ARRAY_BUFFER_BINDING: 34965;\n    readonly STREAM_DRAW: 35040;\n    readonly STATIC_DRAW: 35044;\n    readonly DYNAMIC_DRAW: 35048;\n    readonly BUFFER_SIZE: 34660;\n    readonly BUFFER_USAGE: 34661;\n    readonly CURRENT_VERTEX_ATTRIB: 34342;\n    readonly FRONT: 1028;\n    readonly BACK: 1029;\n    readonly FRONT_AND_BACK: 1032;\n    readonly CULL_FACE: 2884;\n    readonly BLEND: 3042;\n    readonly DITHER: 3024;\n    readonly STENCIL_TEST: 2960;\n    readonly DEPTH_TEST: 2929;\n    readonly SCISSOR_TEST: 3089;\n    readonly POLYGON_OFFSET_FILL: 32823;\n    readonly SAMPLE_ALPHA_TO_COVERAGE: 32926;\n    readonly SAMPLE_COVERAGE: 32928;\n    readonly NO_ERROR: 0;\n    readonly INVALID_ENUM: 1280;\n    readonly INVALID_VALUE: 1281;\n    readonly INVALID_OPERATION: 1282;\n    readonly OUT_OF_MEMORY: 1285;\n    readonly CW: 2304;\n    readonly CCW: 2305;\n    readonly LINE_WIDTH: 2849;\n    readonly ALIASED_POINT_SIZE_RANGE: 33901;\n    readonly ALIASED_LINE_WIDTH_RANGE: 33902;\n    readonly CULL_FACE_MODE: 2885;\n    readonly FRONT_FACE: 2886;\n    readonly DEPTH_RANGE: 2928;\n    readonly DEPTH_WRITEMASK: 2930;\n    readonly DEPTH_CLEAR_VALUE: 2931;\n    readonly DEPTH_FUNC: 2932;\n    readonly STENCIL_CLEAR_VALUE: 2961;\n    readonly STENCIL_FUNC: 2962;\n    readonly STENCIL_FAIL: 2964;\n    readonly STENCIL_PASS_DEPTH_FAIL: 2965;\n    readonly STENCIL_PASS_DEPTH_PASS: 2966;\n    readonly STENCIL_REF: 2967;\n    readonly STENCIL_VALUE_MASK: 2963;\n    readonly STENCIL_WRITEMASK: 2968;\n    readonly STENCIL_BACK_FUNC: 34816;\n    readonly STENCIL_BACK_FAIL: 34817;\n    readonly STENCIL_BACK_PASS_DEPTH_FAIL: 34818;\n    readonly STENCIL_BACK_PASS_DEPTH_PASS: 34819;\n    readonly STENCIL_BACK_REF: 36003;\n    readonly STENCIL_BACK_VALUE_MASK: 36004;\n    readonly STENCIL_BACK_WRITEMASK: 36005;\n    readonly VIEWPORT: 2978;\n    readonly SCISSOR_BOX: 3088;\n    readonly COLOR_CLEAR_VALUE: 3106;\n    readonly COLOR_WRITEMASK: 3107;\n    readonly UNPACK_ALIGNMENT: 3317;\n    readonly PACK_ALIGNMENT: 3333;\n    readonly MAX_TEXTURE_SIZE: 3379;\n    readonly MAX_VIEWPORT_DIMS: 3386;\n    readonly SUBPIXEL_BITS: 3408;\n    readonly RED_BITS: 3410;\n    readonly GREEN_BITS: 3411;\n    readonly BLUE_BITS: 3412;\n    readonly ALPHA_BITS: 3413;\n    readonly DEPTH_BITS: 3414;\n    readonly STENCIL_BITS: 3415;\n    readonly POLYGON_OFFSET_UNITS: 10752;\n    readonly POLYGON_OFFSET_FACTOR: 32824;\n    readonly TEXTURE_BINDING_2D: 32873;\n    readonly SAMPLE_BUFFERS: 32936;\n    readonly SAMPLES: 32937;\n    readonly SAMPLE_COVERAGE_VALUE: 32938;\n    readonly SAMPLE_COVERAGE_INVERT: 32939;\n    readonly COMPRESSED_TEXTURE_FORMATS: 34467;\n    readonly DONT_CARE: 4352;\n    readonly FASTEST: 4353;\n    readonly NICEST: 4354;\n    readonly GENERATE_MIPMAP_HINT: 33170;\n    readonly BYTE: 5120;\n    readonly UNSIGNED_BYTE: 5121;\n    readonly SHORT: 5122;\n    readonly UNSIGNED_SHORT: 5123;\n    readonly INT: 5124;\n    readonly UNSIGNED_INT: 5125;\n    readonly FLOAT: 5126;\n    readonly DEPTH_COMPONENT: 6402;\n    readonly ALPHA: 6406;\n    readonly RGB: 6407;\n    readonly RGBA: 6408;\n    readonly LUMINANCE: 6409;\n    readonly LUMINANCE_ALPHA: 6410;\n    readonly UNSIGNED_SHORT_4_4_4_4: 32819;\n    readonly UNSIGNED_SHORT_5_5_5_1: 32820;\n    readonly UNSIGNED_SHORT_5_6_5: 33635;\n    readonly FRAGMENT_SHADER: 35632;\n    readonly VERTEX_SHADER: 35633;\n    readonly MAX_VERTEX_ATTRIBS: 34921;\n    readonly MAX_VERTEX_UNIFORM_VECTORS: 36347;\n    readonly MAX_VARYING_VECTORS: 36348;\n    readonly MAX_COMBINED_TEXTURE_IMAGE_UNITS: 35661;\n    readonly MAX_VERTEX_TEXTURE_IMAGE_UNITS: 35660;\n    readonly MAX_TEXTURE_IMAGE_UNITS: 34930;\n    readonly MAX_FRAGMENT_UNIFORM_VECTORS: 36349;\n    readonly SHADER_TYPE: 35663;\n    readonly DELETE_STATUS: 35712;\n    readonly LINK_STATUS: 35714;\n    readonly VALIDATE_STATUS: 35715;\n    readonly ATTACHED_SHADERS: 35717;\n    readonly ACTIVE_UNIFORMS: 35718;\n    readonly ACTIVE_ATTRIBUTES: 35721;\n    readonly SHADING_LANGUAGE_VERSION: 35724;\n    readonly CURRENT_PROGRAM: 35725;\n    readonly NEVER: 512;\n    readonly LESS: 513;\n    readonly EQUAL: 514;\n    readonly LEQUAL: 515;\n    readonly GREATER: 516;\n    readonly NOTEQUAL: 517;\n    readonly GEQUAL: 518;\n    readonly ALWAYS: 519;\n    readonly KEEP: 7680;\n    readonly REPLACE: 7681;\n    readonly INCR: 7682;\n    readonly DECR: 7683;\n    readonly INVERT: 5386;\n    readonly INCR_WRAP: 34055;\n    readonly DECR_WRAP: 34056;\n    readonly VENDOR: 7936;\n    readonly RENDERER: 7937;\n    readonly VERSION: 7938;\n    readonly NEAREST: 9728;\n    readonly LINEAR: 9729;\n    readonly NEAREST_MIPMAP_NEAREST: 9984;\n    readonly LINEAR_MIPMAP_NEAREST: 9985;\n    readonly NEAREST_MIPMAP_LINEAR: 9986;\n    readonly LINEAR_MIPMAP_LINEAR: 9987;\n    readonly TEXTURE_MAG_FILTER: 10240;\n    readonly TEXTURE_MIN_FILTER: 10241;\n    readonly TEXTURE_WRAP_S: 10242;\n    readonly TEXTURE_WRAP_T: 10243;\n    readonly TEXTURE_2D: 3553;\n    readonly TEXTURE: 5890;\n    readonly TEXTURE_CUBE_MAP: 34067;\n    readonly TEXTURE_BINDING_CUBE_MAP: 34068;\n    readonly TEXTURE_CUBE_MAP_POSITIVE_X: 34069;\n    readonly TEXTURE_CUBE_MAP_NEGATIVE_X: 34070;\n    readonly TEXTURE_CUBE_MAP_POSITIVE_Y: 34071;\n    readonly TEXTURE_CUBE_MAP_NEGATIVE_Y: 34072;\n    readonly TEXTURE_CUBE_MAP_POSITIVE_Z: 34073;\n    readonly TEXTURE_CUBE_MAP_NEGATIVE_Z: 34074;\n    readonly MAX_CUBE_MAP_TEXTURE_SIZE: 34076;\n    readonly TEXTURE0: 33984;\n    readonly TEXTURE1: 33985;\n    readonly TEXTURE2: 33986;\n    readonly TEXTURE3: 33987;\n    readonly TEXTURE4: 33988;\n    readonly TEXTURE5: 33989;\n    readonly TEXTURE6: 33990;\n    readonly TEXTURE7: 33991;\n    readonly TEXTURE8: 33992;\n    readonly TEXTURE9: 33993;\n    readonly TEXTURE10: 33994;\n    readonly TEXTURE11: 33995;\n    readonly TEXTURE12: 33996;\n    readonly TEXTURE13: 33997;\n    readonly TEXTURE14: 33998;\n    readonly TEXTURE15: 33999;\n    readonly TEXTURE16: 34000;\n    readonly TEXTURE17: 34001;\n    readonly TEXTURE18: 34002;\n    readonly TEXTURE19: 34003;\n    readonly TEXTURE20: 34004;\n    readonly TEXTURE21: 34005;\n    readonly TEXTURE22: 34006;\n    readonly TEXTURE23: 34007;\n    readonly TEXTURE24: 34008;\n    readonly TEXTURE25: 34009;\n    readonly TEXTURE26: 34010;\n    readonly TEXTURE27: 34011;\n    readonly TEXTURE28: 34012;\n    readonly TEXTURE29: 34013;\n    readonly TEXTURE30: 34014;\n    readonly TEXTURE31: 34015;\n    readonly ACTIVE_TEXTURE: 34016;\n    readonly REPEAT: 10497;\n    readonly CLAMP_TO_EDGE: 33071;\n    readonly MIRRORED_REPEAT: 33648;\n    readonly FLOAT_VEC2: 35664;\n    readonly FLOAT_VEC3: 35665;\n    readonly FLOAT_VEC4: 35666;\n    readonly INT_VEC2: 35667;\n    readonly INT_VEC3: 35668;\n    readonly INT_VEC4: 35669;\n    readonly BOOL: 35670;\n    readonly BOOL_VEC2: 35671;\n    readonly BOOL_VEC3: 35672;\n    readonly BOOL_VEC4: 35673;\n    readonly FLOAT_MAT2: 35674;\n    readonly FLOAT_MAT3: 35675;\n    readonly FLOAT_MAT4: 35676;\n    readonly SAMPLER_2D: 35678;\n    readonly SAMPLER_CUBE: 35680;\n    readonly VERTEX_ATTRIB_ARRAY_ENABLED: 34338;\n    readonly VERTEX_ATTRIB_ARRAY_SIZE: 34339;\n    readonly VERTEX_ATTRIB_ARRAY_STRIDE: 34340;\n    readonly VERTEX_ATTRIB_ARRAY_TYPE: 34341;\n    readonly VERTEX_ATTRIB_ARRAY_NORMALIZED: 34922;\n    readonly VERTEX_ATTRIB_ARRAY_POINTER: 34373;\n    readonly VERTEX_ATTRIB_ARRAY_BUFFER_BINDING: 34975;\n    readonly IMPLEMENTATION_COLOR_READ_TYPE: 35738;\n    readonly IMPLEMENTATION_COLOR_READ_FORMAT: 35739;\n    readonly COMPILE_STATUS: 35713;\n    readonly LOW_FLOAT: 36336;\n    readonly MEDIUM_FLOAT: 36337;\n    readonly HIGH_FLOAT: 36338;\n    readonly LOW_INT: 36339;\n    readonly MEDIUM_INT: 36340;\n    readonly HIGH_INT: 36341;\n    readonly FRAMEBUFFER: 36160;\n    readonly RENDERBUFFER: 36161;\n    readonly RGBA4: 32854;\n    readonly RGB5_A1: 32855;\n    readonly RGBA8: 32856;\n    readonly RGB565: 36194;\n    readonly DEPTH_COMPONENT16: 33189;\n    readonly STENCIL_INDEX8: 36168;\n    readonly DEPTH_STENCIL: 34041;\n    readonly RENDERBUFFER_WIDTH: 36162;\n    readonly RENDERBUFFER_HEIGHT: 36163;\n    readonly RENDERBUFFER_INTERNAL_FORMAT: 36164;\n    readonly RENDERBUFFER_RED_SIZE: 36176;\n    readonly RENDERBUFFER_GREEN_SIZE: 36177;\n    readonly RENDERBUFFER_BLUE_SIZE: 36178;\n    readonly RENDERBUFFER_ALPHA_SIZE: 36179;\n    readonly RENDERBUFFER_DEPTH_SIZE: 36180;\n    readonly RENDERBUFFER_STENCIL_SIZE: 36181;\n    readonly FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE: 36048;\n    readonly FRAMEBUFFER_ATTACHMENT_OBJECT_NAME: 36049;\n    readonly FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL: 36050;\n    readonly FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE: 36051;\n    readonly COLOR_ATTACHMENT0: 36064;\n    readonly DEPTH_ATTACHMENT: 36096;\n    readonly STENCIL_ATTACHMENT: 36128;\n    readonly DEPTH_STENCIL_ATTACHMENT: 33306;\n    readonly NONE: 0;\n    readonly FRAMEBUFFER_COMPLETE: 36053;\n    readonly FRAMEBUFFER_INCOMPLETE_ATTACHMENT: 36054;\n    readonly FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT: 36055;\n    readonly FRAMEBUFFER_INCOMPLETE_DIMENSIONS: 36057;\n    readonly FRAMEBUFFER_UNSUPPORTED: 36061;\n    readonly FRAMEBUFFER_BINDING: 36006;\n    readonly RENDERBUFFER_BINDING: 36007;\n    readonly MAX_RENDERBUFFER_SIZE: 34024;\n    readonly INVALID_FRAMEBUFFER_OPERATION: 1286;\n    readonly UNPACK_FLIP_Y_WEBGL: 37440;\n    readonly UNPACK_PREMULTIPLY_ALPHA_WEBGL: 37441;\n    readonly CONTEXT_LOST_WEBGL: 37442;\n    readonly UNPACK_COLORSPACE_CONVERSION_WEBGL: 37443;\n    readonly BROWSER_DEFAULT_WEBGL: 37444;\n};\ninterface WebGLRenderingContextBase {\n    readonly canvas: HTMLCanvasElement | OffscreenCanvas;\n    drawingBufferColorSpace: PredefinedColorSpace;\n    readonly drawingBufferHeight: GLsizei;\n    readonly drawingBufferWidth: GLsizei;\n    unpackColorSpace: PredefinedColorSpace;\n    activeTexture(texture: GLenum): void;\n    attachShader(program: WebGLProgram, shader: WebGLShader): void;\n    bindAttribLocation(program: WebGLProgram, index: GLuint, name: string): void;\n    bindBuffer(target: GLenum, buffer: WebGLBuffer | null): void;\n    bindFramebuffer(target: GLenum, framebuffer: WebGLFramebuffer | null): void;\n    bindRenderbuffer(target: GLenum, renderbuffer: WebGLRenderbuffer | null): void;\n    bindTexture(target: GLenum, texture: WebGLTexture | null): void;\n    blendColor(red: GLclampf, green: GLclampf, blue: GLclampf, alpha: GLclampf): void;\n    blendEquation(mode: GLenum): void;\n    blendEquationSeparate(modeRGB: GLenum, modeAlpha: GLenum): void;\n    blendFunc(sfactor: GLenum, dfactor: GLenum): void;\n    blendFuncSeparate(srcRGB: GLenum, dstRGB: GLenum, srcAlpha: GLenum, dstAlpha: GLenum): void;\n    checkFramebufferStatus(target: GLenum): GLenum;\n    clear(mask: GLbitfield): void;\n    clearColor(red: GLclampf, green: GLclampf, blue: GLclampf, alpha: GLclampf): void;\n    clearDepth(depth: GLclampf): void;\n    clearStencil(s: GLint): void;\n    colorMask(red: GLboolean, green: GLboolean, blue: GLboolean, alpha: GLboolean): void;\n    compileShader(shader: WebGLShader): void;\n    copyTexImage2D(target: GLenum, level: GLint, internalformat: GLenum, x: GLint, y: GLint, width: GLsizei, height: GLsizei, border: GLint): void;\n    copyTexSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, x: GLint, y: GLint, width: GLsizei, height: GLsizei): void;\n    createBuffer(): WebGLBuffer;\n    createFramebuffer(): WebGLFramebuffer;\n    createProgram(): WebGLProgram;\n    createRenderbuffer(): WebGLRenderbuffer;\n    createShader(type: GLenum): WebGLShader | null;\n    createTexture(): WebGLTexture;\n    cullFace(mode: GLenum): void;\n    deleteBuffer(buffer: WebGLBuffer | null): void;\n    deleteFramebuffer(framebuffer: WebGLFramebuffer | null): void;\n    deleteProgram(program: WebGLProgram | null): void;\n    deleteRenderbuffer(renderbuffer: WebGLRenderbuffer | null): void;\n    deleteShader(shader: WebGLShader | null): void;\n    deleteTexture(texture: WebGLTexture | null): void;\n    depthFunc(func: GLenum): void;\n    depthMask(flag: GLboolean): void;\n    depthRange(zNear: GLclampf, zFar: GLclampf): void;\n    detachShader(program: WebGLProgram, shader: WebGLShader): void;\n    disable(cap: GLenum): void;\n    disableVertexAttribArray(index: GLuint): void;\n    drawArrays(mode: GLenum, first: GLint, count: GLsizei): void;\n    drawElements(mode: GLenum, count: GLsizei, type: GLenum, offset: GLintptr): void;\n    enable(cap: GLenum): void;\n    enableVertexAttribArray(index: GLuint): void;\n    finish(): void;\n    flush(): void;\n    framebufferRenderbuffer(target: GLenum, attachment: GLenum, renderbuffertarget: GLenum, renderbuffer: WebGLRenderbuffer | null): void;\n    framebufferTexture2D(target: GLenum, attachment: GLenum, textarget: GLenum, texture: WebGLTexture | null, level: GLint): void;\n    frontFace(mode: GLenum): void;\n    generateMipmap(target: GLenum): void;\n    getActiveAttrib(program: WebGLProgram, index: GLuint): WebGLActiveInfo | null;\n    getActiveUniform(program: WebGLProgram, index: GLuint): WebGLActiveInfo | null;\n    getAttachedShaders(program: WebGLProgram): WebGLShader[] | null;\n    getAttribLocation(program: WebGLProgram, name: string): GLint;\n    getBufferParameter(target: GLenum, pname: GLenum): any;\n    getContextAttributes(): WebGLContextAttributes | null;\n    getError(): GLenum;\n    getExtension(name: string): any;\n    getExtension(extensionName: \"ANGLE_instanced_arrays\"): ANGLE_instanced_arrays | null;\n    getExtension(extensionName: \"EXT_blend_minmax\"): EXT_blend_minmax | null;\n    getExtension(extensionName: \"EXT_color_buffer_float\"): EXT_color_buffer_float | null;\n    getExtension(extensionName: \"EXT_color_buffer_half_float\"): EXT_color_buffer_half_float | null;\n    getExtension(extensionName: \"EXT_float_blend\"): EXT_float_blend | null;\n    getExtension(extensionName: \"EXT_frag_depth\"): EXT_frag_depth | null;\n    getExtension(extensionName: \"EXT_sRGB\"): EXT_sRGB | null;\n    getExtension(extensionName: \"EXT_shader_texture_lod\"): EXT_shader_texture_lod | null;\n    getExtension(extensionName: \"EXT_texture_compression_bptc\"): EXT_texture_compression_bptc | null;\n    getExtension(extensionName: \"EXT_texture_compression_rgtc\"): EXT_texture_compression_rgtc | null;\n    getExtension(extensionName: \"EXT_texture_filter_anisotropic\"): EXT_texture_filter_anisotropic | null;\n    getExtension(extensionName: \"KHR_parallel_shader_compile\"): KHR_parallel_shader_compile | null;\n    getExtension(extensionName: \"OES_element_index_uint\"): OES_element_index_uint | null;\n    getExtension(extensionName: \"OES_fbo_render_mipmap\"): OES_fbo_render_mipmap | null;\n    getExtension(extensionName: \"OES_standard_derivatives\"): OES_standard_derivatives | null;\n    getExtension(extensionName: \"OES_texture_float\"): OES_texture_float | null;\n    getExtension(extensionName: \"OES_texture_float_linear\"): OES_texture_float_linear | null;\n    getExtension(extensionName: \"OES_texture_half_float\"): OES_texture_half_float | null;\n    getExtension(extensionName: \"OES_texture_half_float_linear\"): OES_texture_half_float_linear | null;\n    getExtension(extensionName: \"OES_vertex_array_object\"): OES_vertex_array_object | null;\n    getExtension(extensionName: \"OVR_multiview2\"): OVR_multiview2 | null;\n    getExtension(extensionName: \"WEBGL_color_buffer_float\"): WEBGL_color_buffer_float | null;\n    getExtension(extensionName: \"WEBGL_compressed_texture_astc\"): WEBGL_compressed_texture_astc | null;\n    getExtension(extensionName: \"WEBGL_compressed_texture_etc\"): WEBGL_compressed_texture_etc | null;\n    getExtension(extensionName: \"WEBGL_compressed_texture_etc1\"): WEBGL_compressed_texture_etc1 | null;\n    getExtension(extensionName: \"WEBGL_compressed_texture_pvrtc\"): WEBGL_compressed_texture_pvrtc | null;\n    getExtension(extensionName: \"WEBGL_compressed_texture_s3tc\"): WEBGL_compressed_texture_s3tc | null;\n    getExtension(extensionName: \"WEBGL_compressed_texture_s3tc_srgb\"): WEBGL_compressed_texture_s3tc_srgb | null;\n    getExtension(extensionName: \"WEBGL_debug_renderer_info\"): WEBGL_debug_renderer_info | null;\n    getExtension(extensionName: \"WEBGL_debug_shaders\"): WEBGL_debug_shaders | null;\n    getExtension(extensionName: \"WEBGL_depth_texture\"): WEBGL_depth_texture | null;\n    getExtension(extensionName: \"WEBGL_draw_buffers\"): WEBGL_draw_buffers | null;\n    getExtension(extensionName: \"WEBGL_lose_context\"): WEBGL_lose_context | null;\n    getExtension(extensionName: \"WEBGL_multi_draw\"): WEBGL_multi_draw | null;\n    getFramebufferAttachmentParameter(target: GLenum, attachment: GLenum, pname: GLenum): any;\n    getParameter(pname: GLenum): any;\n    getProgramInfoLog(program: WebGLProgram): string | null;\n    getProgramParameter(program: WebGLProgram, pname: GLenum): any;\n    getRenderbufferParameter(target: GLenum, pname: GLenum): any;\n    getShaderInfoLog(shader: WebGLShader): string | null;\n    getShaderParameter(shader: WebGLShader, pname: GLenum): any;\n    getShaderPrecisionFormat(shadertype: GLenum, precisiontype: GLenum): WebGLShaderPrecisionFormat | null;\n    getShaderSource(shader: WebGLShader): string | null;\n    getSupportedExtensions(): string[] | null;\n    getTexParameter(target: GLenum, pname: GLenum): any;\n    getUniform(program: WebGLProgram, location: WebGLUniformLocation): any;\n    getUniformLocation(program: WebGLProgram, name: string): WebGLUniformLocation | null;\n    getVertexAttrib(index: GLuint, pname: GLenum): any;\n    getVertexAttribOffset(index: GLuint, pname: GLenum): GLintptr;\n    hint(target: GLenum, mode: GLenum): void;\n    isBuffer(buffer: WebGLBuffer | null): GLboolean;\n    isContextLost(): boolean;\n    isEnabled(cap: GLenum): GLboolean;\n    isFramebuffer(framebuffer: WebGLFramebuffer | null): GLboolean;\n    isProgram(program: WebGLProgram | null): GLboolean;\n    isRenderbuffer(renderbuffer: WebGLRenderbuffer | null): GLboolean;\n    isShader(shader: WebGLShader | null): GLboolean;\n    isTexture(texture: WebGLTexture | null): GLboolean;\n    lineWidth(width: GLfloat): void;\n    linkProgram(program: WebGLProgram): void;\n    pixelStorei(pname: GLenum, param: GLint | GLboolean): void;\n    polygonOffset(factor: GLfloat, units: GLfloat): void;\n    renderbufferStorage(target: GLenum, internalformat: GLenum, width: GLsizei, height: GLsizei): void;\n    sampleCoverage(value: GLclampf, invert: GLboolean): void;\n    scissor(x: GLint, y: GLint, width: GLsizei, height: GLsizei): void;\n    shaderSource(shader: WebGLShader, source: string): void;\n    stencilFunc(func: GLenum, ref: GLint, mask: GLuint): void;\n    stencilFuncSeparate(face: GLenum, func: GLenum, ref: GLint, mask: GLuint): void;\n    stencilMask(mask: GLuint): void;\n    stencilMaskSeparate(face: GLenum, mask: GLuint): void;\n    stencilOp(fail: GLenum, zfail: GLenum, zpass: GLenum): void;\n    stencilOpSeparate(face: GLenum, fail: GLenum, zfail: GLenum, zpass: GLenum): void;\n    texParameterf(target: GLenum, pname: GLenum, param: GLfloat): void;\n    texParameteri(target: GLenum, pname: GLenum, param: GLint): void;\n    uniform1f(location: WebGLUniformLocation | null, x: GLfloat): void;\n    uniform1i(location: WebGLUniformLocation | null, x: GLint): void;\n    uniform2f(location: WebGLUniformLocation | null, x: GLfloat, y: GLfloat): void;\n    uniform2i(location: WebGLUniformLocation | null, x: GLint, y: GLint): void;\n    uniform3f(location: WebGLUniformLocation | null, x: GLfloat, y: GLfloat, z: GLfloat): void;\n    uniform3i(location: WebGLUniformLocation | null, x: GLint, y: GLint, z: GLint): void;\n    uniform4f(location: WebGLUniformLocation | null, x: GLfloat, y: GLfloat, z: GLfloat, w: GLfloat): void;\n    uniform4i(location: WebGLUniformLocation | null, x: GLint, y: GLint, z: GLint, w: GLint): void;\n    useProgram(program: WebGLProgram | null): void;\n    validateProgram(program: WebGLProgram): void;\n    vertexAttrib1f(index: GLuint, x: GLfloat): void;\n    vertexAttrib1fv(index: GLuint, values: Float32List): void;\n    vertexAttrib2f(index: GLuint, x: GLfloat, y: GLfloat): void;\n    vertexAttrib2fv(index: GLuint, values: Float32List): void;\n    vertexAttrib3f(index: GLuint, x: GLfloat, y: GLfloat, z: GLfloat): void;\n    vertexAttrib3fv(index: GLuint, values: Float32List): void;\n    vertexAttrib4f(index: GLuint, x: GLfloat, y: GLfloat, z: GLfloat, w: GLfloat): void;\n    vertexAttrib4fv(index: GLuint, values: Float32List): void;\n    vertexAttribPointer(index: GLuint, size: GLint, type: GLenum, normalized: GLboolean, stride: GLsizei, offset: GLintptr): void;\n    viewport(x: GLint, y: GLint, width: GLsizei, height: GLsizei): void;\n    readonly DEPTH_BUFFER_BIT: 256;\n    readonly STENCIL_BUFFER_BIT: 1024;\n    readonly COLOR_BUFFER_BIT: 16384;\n    readonly POINTS: 0;\n    readonly LINES: 1;\n    readonly LINE_LOOP: 2;\n    readonly LINE_STRIP: 3;\n    readonly TRIANGLES: 4;\n    readonly TRIANGLE_STRIP: 5;\n    readonly TRIANGLE_FAN: 6;\n    readonly ZERO: 0;\n    readonly ONE: 1;\n    readonly SRC_COLOR: 768;\n    readonly ONE_MINUS_SRC_COLOR: 769;\n    readonly SRC_ALPHA: 770;\n    readonly ONE_MINUS_SRC_ALPHA: 771;\n    readonly DST_ALPHA: 772;\n    readonly ONE_MINUS_DST_ALPHA: 773;\n    readonly DST_COLOR: 774;\n    readonly ONE_MINUS_DST_COLOR: 775;\n    readonly SRC_ALPHA_SATURATE: 776;\n    readonly FUNC_ADD: 32774;\n    readonly BLEND_EQUATION: 32777;\n    readonly BLEND_EQUATION_RGB: 32777;\n    readonly BLEND_EQUATION_ALPHA: 34877;\n    readonly FUNC_SUBTRACT: 32778;\n    readonly FUNC_REVERSE_SUBTRACT: 32779;\n    readonly BLEND_DST_RGB: 32968;\n    readonly BLEND_SRC_RGB: 32969;\n    readonly BLEND_DST_ALPHA: 32970;\n    readonly BLEND_SRC_ALPHA: 32971;\n    readonly CONSTANT_COLOR: 32769;\n    readonly ONE_MINUS_CONSTANT_COLOR: 32770;\n    readonly CONSTANT_ALPHA: 32771;\n    readonly ONE_MINUS_CONSTANT_ALPHA: 32772;\n    readonly BLEND_COLOR: 32773;\n    readonly ARRAY_BUFFER: 34962;\n    readonly ELEMENT_ARRAY_BUFFER: 34963;\n    readonly ARRAY_BUFFER_BINDING: 34964;\n    readonly ELEMENT_ARRAY_BUFFER_BINDING: 34965;\n    readonly STREAM_DRAW: 35040;\n    readonly STATIC_DRAW: 35044;\n    readonly DYNAMIC_DRAW: 35048;\n    readonly BUFFER_SIZE: 34660;\n    readonly BUFFER_USAGE: 34661;\n    readonly CURRENT_VERTEX_ATTRIB: 34342;\n    readonly FRONT: 1028;\n    readonly BACK: 1029;\n    readonly FRONT_AND_BACK: 1032;\n    readonly CULL_FACE: 2884;\n    readonly BLEND: 3042;\n    readonly DITHER: 3024;\n    readonly STENCIL_TEST: 2960;\n    readonly DEPTH_TEST: 2929;\n    readonly SCISSOR_TEST: 3089;\n    readonly POLYGON_OFFSET_FILL: 32823;\n    readonly SAMPLE_ALPHA_TO_COVERAGE: 32926;\n    readonly SAMPLE_COVERAGE: 32928;\n    readonly NO_ERROR: 0;\n    readonly INVALID_ENUM: 1280;\n    readonly INVALID_VALUE: 1281;\n    readonly INVALID_OPERATION: 1282;\n    readonly OUT_OF_MEMORY: 1285;\n    readonly CW: 2304;\n    readonly CCW: 2305;\n    readonly LINE_WIDTH: 2849;\n    readonly ALIASED_POINT_SIZE_RANGE: 33901;\n    readonly ALIASED_LINE_WIDTH_RANGE: 33902;\n    readonly CULL_FACE_MODE: 2885;\n    readonly FRONT_FACE: 2886;\n    readonly DEPTH_RANGE: 2928;\n    readonly DEPTH_WRITEMASK: 2930;\n    readonly DEPTH_CLEAR_VALUE: 2931;\n    readonly DEPTH_FUNC: 2932;\n    readonly STENCIL_CLEAR_VALUE: 2961;\n    readonly STENCIL_FUNC: 2962;\n    readonly STENCIL_FAIL: 2964;\n    readonly STENCIL_PASS_DEPTH_FAIL: 2965;\n    readonly STENCIL_PASS_DEPTH_PASS: 2966;\n    readonly STENCIL_REF: 2967;\n    readonly STENCIL_VALUE_MASK: 2963;\n    readonly STENCIL_WRITEMASK: 2968;\n    readonly STENCIL_BACK_FUNC: 34816;\n    readonly STENCIL_BACK_FAIL: 34817;\n    readonly STENCIL_BACK_PASS_DEPTH_FAIL: 34818;\n    readonly STENCIL_BACK_PASS_DEPTH_PASS: 34819;\n    readonly STENCIL_BACK_REF: 36003;\n    readonly STENCIL_BACK_VALUE_MASK: 36004;\n    readonly STENCIL_BACK_WRITEMASK: 36005;\n    readonly VIEWPORT: 2978;\n    readonly SCISSOR_BOX: 3088;\n    readonly COLOR_CLEAR_VALUE: 3106;\n    readonly COLOR_WRITEMASK: 3107;\n    readonly UNPACK_ALIGNMENT: 3317;\n    readonly PACK_ALIGNMENT: 3333;\n    readonly MAX_TEXTURE_SIZE: 3379;\n    readonly MAX_VIEWPORT_DIMS: 3386;\n    readonly SUBPIXEL_BITS: 3408;\n    readonly RED_BITS: 3410;\n    readonly GREEN_BITS: 3411;\n    readonly BLUE_BITS: 3412;\n    readonly ALPHA_BITS: 3413;\n    readonly DEPTH_BITS: 3414;\n    readonly STENCIL_BITS: 3415;\n    readonly POLYGON_OFFSET_UNITS: 10752;\n    readonly POLYGON_OFFSET_FACTOR: 32824;\n    readonly TEXTURE_BINDING_2D: 32873;\n    readonly SAMPLE_BUFFERS: 32936;\n    readonly SAMPLES: 32937;\n    readonly SAMPLE_COVERAGE_VALUE: 32938;\n    readonly SAMPLE_COVERAGE_INVERT: 32939;\n    readonly COMPRESSED_TEXTURE_FORMATS: 34467;\n    readonly DONT_CARE: 4352;\n    readonly FASTEST: 4353;\n    readonly NICEST: 4354;\n    readonly GENERATE_MIPMAP_HINT: 33170;\n    readonly BYTE: 5120;\n    readonly UNSIGNED_BYTE: 5121;\n    readonly SHORT: 5122;\n    readonly UNSIGNED_SHORT: 5123;\n    readonly INT: 5124;\n    readonly UNSIGNED_INT: 5125;\n    readonly FLOAT: 5126;\n    readonly DEPTH_COMPONENT: 6402;\n    readonly ALPHA: 6406;\n    readonly RGB: 6407;\n    readonly RGBA: 6408;\n    readonly LUMINANCE: 6409;\n    readonly LUMINANCE_ALPHA: 6410;\n    readonly UNSIGNED_SHORT_4_4_4_4: 32819;\n    readonly UNSIGNED_SHORT_5_5_5_1: 32820;\n    readonly UNSIGNED_SHORT_5_6_5: 33635;\n    readonly FRAGMENT_SHADER: 35632;\n    readonly VERTEX_SHADER: 35633;\n    readonly MAX_VERTEX_ATTRIBS: 34921;\n    readonly MAX_VERTEX_UNIFORM_VECTORS: 36347;\n    readonly MAX_VARYING_VECTORS: 36348;\n    readonly MAX_COMBINED_TEXTURE_IMAGE_UNITS: 35661;\n    readonly MAX_VERTEX_TEXTURE_IMAGE_UNITS: 35660;\n    readonly MAX_TEXTURE_IMAGE_UNITS: 34930;\n    readonly MAX_FRAGMENT_UNIFORM_VECTORS: 36349;\n    readonly SHADER_TYPE: 35663;\n    readonly DELETE_STATUS: 35712;\n    readonly LINK_STATUS: 35714;\n    readonly VALIDATE_STATUS: 35715;\n    readonly ATTACHED_SHADERS: 35717;\n    readonly ACTIVE_UNIFORMS: 35718;\n    readonly ACTIVE_ATTRIBUTES: 35721;\n    readonly SHADING_LANGUAGE_VERSION: 35724;\n    readonly CURRENT_PROGRAM: 35725;\n    readonly NEVER: 512;\n    readonly LESS: 513;\n    readonly EQUAL: 514;\n    readonly LEQUAL: 515;\n    readonly GREATER: 516;\n    readonly NOTEQUAL: 517;\n    readonly GEQUAL: 518;\n    readonly ALWAYS: 519;\n    readonly KEEP: 7680;\n    readonly REPLACE: 7681;\n    readonly INCR: 7682;\n    readonly DECR: 7683;\n    readonly INVERT: 5386;\n    readonly INCR_WRAP: 34055;\n    readonly DECR_WRAP: 34056;\n    readonly VENDOR: 7936;\n    readonly RENDERER: 7937;\n    readonly VERSION: 7938;\n    readonly NEAREST: 9728;\n    readonly LINEAR: 9729;\n    readonly NEAREST_MIPMAP_NEAREST: 9984;\n    readonly LINEAR_MIPMAP_NEAREST: 9985;\n    readonly NEAREST_MIPMAP_LINEAR: 9986;\n    readonly LINEAR_MIPMAP_LINEAR: 9987;\n    readonly TEXTURE_MAG_FILTER: 10240;\n    readonly TEXTURE_MIN_FILTER: 10241;\n    readonly TEXTURE_WRAP_S: 10242;\n    readonly TEXTURE_WRAP_T: 10243;\n    readonly TEXTURE_2D: 3553;\n    readonly TEXTURE: 5890;\n    readonly TEXTURE_CUBE_MAP: 34067;\n    readonly TEXTURE_BINDING_CUBE_MAP: 34068;\n    readonly TEXTURE_CUBE_MAP_POSITIVE_X: 34069;\n    readonly TEXTURE_CUBE_MAP_NEGATIVE_X: 34070;\n    readonly TEXTURE_CUBE_MAP_POSITIVE_Y: 34071;\n    readonly TEXTURE_CUBE_MAP_NEGATIVE_Y: 34072;\n    readonly TEXTURE_CUBE_MAP_POSITIVE_Z: 34073;\n    readonly TEXTURE_CUBE_MAP_NEGATIVE_Z: 34074;\n    readonly MAX_CUBE_MAP_TEXTURE_SIZE: 34076;\n    readonly TEXTURE0: 33984;\n    readonly TEXTURE1: 33985;\n    readonly TEXTURE2: 33986;\n    readonly TEXTURE3: 33987;\n    readonly TEXTURE4: 33988;\n    readonly TEXTURE5: 33989;\n    readonly TEXTURE6: 33990;\n    readonly TEXTURE7: 33991;\n    readonly TEXTURE8: 33992;\n    readonly TEXTURE9: 33993;\n    readonly TEXTURE10: 33994;\n    readonly TEXTURE11: 33995;\n    readonly TEXTURE12: 33996;\n    readonly TEXTURE13: 33997;\n    readonly TEXTURE14: 33998;\n    readonly TEXTURE15: 33999;\n    readonly TEXTURE16: 34000;\n    readonly TEXTURE17: 34001;\n    readonly TEXTURE18: 34002;\n    readonly TEXTURE19: 34003;\n    readonly TEXTURE20: 34004;\n    readonly TEXTURE21: 34005;\n    readonly TEXTURE22: 34006;\n    readonly TEXTURE23: 34007;\n    readonly TEXTURE24: 34008;\n    readonly TEXTURE25: 34009;\n    readonly TEXTURE26: 34010;\n    readonly TEXTURE27: 34011;\n    readonly TEXTURE28: 34012;\n    readonly TEXTURE29: 34013;\n    readonly TEXTURE30: 34014;\n    readonly TEXTURE31: 34015;\n    readonly ACTIVE_TEXTURE: 34016;\n    readonly REPEAT: 10497;\n    readonly CLAMP_TO_EDGE: 33071;\n    readonly MIRRORED_REPEAT: 33648;\n    readonly FLOAT_VEC2: 35664;\n    readonly FLOAT_VEC3: 35665;\n    readonly FLOAT_VEC4: 35666;\n    readonly INT_VEC2: 35667;\n    readonly INT_VEC3: 35668;\n    readonly INT_VEC4: 35669;\n    readonly BOOL: 35670;\n    readonly BOOL_VEC2: 35671;\n    readonly BOOL_VEC3: 35672;\n    readonly BOOL_VEC4: 35673;\n    readonly FLOAT_MAT2: 35674;\n    readonly FLOAT_MAT3: 35675;\n    readonly FLOAT_MAT4: 35676;\n    readonly SAMPLER_2D: 35678;\n    readonly SAMPLER_CUBE: 35680;\n    readonly VERTEX_ATTRIB_ARRAY_ENABLED: 34338;\n    readonly VERTEX_ATTRIB_ARRAY_SIZE: 34339;\n    readonly VERTEX_ATTRIB_ARRAY_STRIDE: 34340;\n    readonly VERTEX_ATTRIB_ARRAY_TYPE: 34341;\n    readonly VERTEX_ATTRIB_ARRAY_NORMALIZED: 34922;\n    readonly VERTEX_ATTRIB_ARRAY_POINTER: 34373;\n    readonly VERTEX_ATTRIB_ARRAY_BUFFER_BINDING: 34975;\n    readonly IMPLEMENTATION_COLOR_READ_TYPE: 35738;\n    readonly IMPLEMENTATION_COLOR_READ_FORMAT: 35739;\n    readonly COMPILE_STATUS: 35713;\n    readonly LOW_FLOAT: 36336;\n    readonly MEDIUM_FLOAT: 36337;\n    readonly HIGH_FLOAT: 36338;\n    readonly LOW_INT: 36339;\n    readonly MEDIUM_INT: 36340;\n    readonly HIGH_INT: 36341;\n    readonly FRAMEBUFFER: 36160;\n    readonly RENDERBUFFER: 36161;\n    readonly RGBA4: 32854;\n    readonly RGB5_A1: 32855;\n    readonly RGBA8: 32856;\n    readonly RGB565: 36194;\n    readonly DEPTH_COMPONENT16: 33189;\n    readonly STENCIL_INDEX8: 36168;\n    readonly DEPTH_STENCIL: 34041;\n    readonly RENDERBUFFER_WIDTH: 36162;\n    readonly RENDERBUFFER_HEIGHT: 36163;\n    readonly RENDERBUFFER_INTERNAL_FORMAT: 36164;\n    readonly RENDERBUFFER_RED_SIZE: 36176;\n    readonly RENDERBUFFER_GREEN_SIZE: 36177;\n    readonly RENDERBUFFER_BLUE_SIZE: 36178;\n    readonly RENDERBUFFER_ALPHA_SIZE: 36179;\n    readonly RENDERBUFFER_DEPTH_SIZE: 36180;\n    readonly RENDERBUFFER_STENCIL_SIZE: 36181;\n    readonly FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE: 36048;\n    readonly FRAMEBUFFER_ATTACHMENT_OBJECT_NAME: 36049;\n    readonly FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL: 36050;\n    readonly FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE: 36051;\n    readonly COLOR_ATTACHMENT0: 36064;\n    readonly DEPTH_ATTACHMENT: 36096;\n    readonly STENCIL_ATTACHMENT: 36128;\n    readonly DEPTH_STENCIL_ATTACHMENT: 33306;\n    readonly NONE: 0;\n    readonly FRAMEBUFFER_COMPLETE: 36053;\n    readonly FRAMEBUFFER_INCOMPLETE_ATTACHMENT: 36054;\n    readonly FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT: 36055;\n    readonly FRAMEBUFFER_INCOMPLETE_DIMENSIONS: 36057;\n    readonly FRAMEBUFFER_UNSUPPORTED: 36061;\n    readonly FRAMEBUFFER_BINDING: 36006;\n    readonly RENDERBUFFER_BINDING: 36007;\n    readonly MAX_RENDERBUFFER_SIZE: 34024;\n    readonly INVALID_FRAMEBUFFER_OPERATION: 1286;\n    readonly UNPACK_FLIP_Y_WEBGL: 37440;\n    readonly UNPACK_PREMULTIPLY_ALPHA_WEBGL: 37441;\n    readonly CONTEXT_LOST_WEBGL: 37442;\n    readonly UNPACK_COLORSPACE_CONVERSION_WEBGL: 37443;\n    readonly BROWSER_DEFAULT_WEBGL: 37444;\n}\ninterface WebGLRenderingContextOverloads {\n    bufferData(target: GLenum, size: GLsizeiptr, usage: GLenum): void;\n    bufferData(target: GLenum, data: AllowSharedBufferSource | null, usage: GLenum): void;\n    bufferSubData(target: GLenum, offset: GLintptr, data: AllowSharedBufferSource): void;\n    compressedTexImage2D(target: GLenum, level: GLint, internalformat: GLenum, width: GLsizei, height: GLsizei, border: GLint, data: ArrayBufferView<ArrayBufferLike>): void;\n    compressedTexSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, data: ArrayBufferView<ArrayBufferLike>): void;\n    readPixels(x: GLint, y: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, pixels: ArrayBufferView<ArrayBufferLike> | null): void;\n    texImage2D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, border: GLint, format: GLenum, type: GLenum, pixels: ArrayBufferView<ArrayBufferLike> | null): void;\n    texImage2D(target: GLenum, level: GLint, internalformat: GLint, format: GLenum, type: GLenum, source: TexImageSource): void;\n    texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, pixels: ArrayBufferView<ArrayBufferLike> | null): void;\n    texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, format: GLenum, type: GLenum, source: TexImageSource): void;\n    uniform1fv(location: WebGLUniformLocation | null, v: Float32List): void;\n    uniform1iv(location: WebGLUniformLocation | null, v: Int32List): void;\n    uniform2fv(location: WebGLUniformLocation | null, v: Float32List): void;\n    uniform2iv(location: WebGLUniformLocation | null, v: Int32List): void;\n    uniform3fv(location: WebGLUniformLocation | null, v: Float32List): void;\n    uniform3iv(location: WebGLUniformLocation | null, v: Int32List): void;\n    uniform4fv(location: WebGLUniformLocation | null, v: Float32List): void;\n    uniform4iv(location: WebGLUniformLocation | null, v: Int32List): void;\n    uniformMatrix2fv(location: WebGLUniformLocation | null, transpose: GLboolean, value: Float32List): void;\n    uniformMatrix3fv(location: WebGLUniformLocation | null, transpose: GLboolean, value: Float32List): void;\n    uniformMatrix4fv(location: WebGLUniformLocation | null, transpose: GLboolean, value: Float32List): void;\n}\ninterface WebGLSampler {\n}\ndeclare var WebGLSampler: {\n    prototype: WebGLSampler;\n    new (): WebGLSampler;\n};\ninterface WebGLShader {\n}\ndeclare var WebGLShader: {\n    prototype: WebGLShader;\n    new (): WebGLShader;\n};\ninterface WebGLShaderPrecisionFormat {\n    readonly precision: GLint;\n    readonly rangeMax: GLint;\n    readonly rangeMin: GLint;\n}\ndeclare var WebGLShaderPrecisionFormat: {\n    prototype: WebGLShaderPrecisionFormat;\n    new (): WebGLShaderPrecisionFormat;\n};\ninterface WebGLSync {\n}\ndeclare var WebGLSync: {\n    prototype: WebGLSync;\n    new (): WebGLSync;\n};\ninterface WebGLTexture {\n}\ndeclare var WebGLTexture: {\n    prototype: WebGLTexture;\n    new (): WebGLTexture;\n};\ninterface WebGLTransformFeedback {\n}\ndeclare var WebGLTransformFeedback: {\n    prototype: WebGLTransformFeedback;\n    new (): WebGLTransformFeedback;\n};\ninterface WebGLUniformLocation {\n}\ndeclare var WebGLUniformLocation: {\n    prototype: WebGLUniformLocation;\n    new (): WebGLUniformLocation;\n};\ninterface WebGLVertexArrayObject {\n}\ndeclare var WebGLVertexArrayObject: {\n    prototype: WebGLVertexArrayObject;\n    new (): WebGLVertexArrayObject;\n};\ninterface WebGLVertexArrayObjectOES {\n}\ninterface WebSocketEventMap {\n    \"close\": CloseEvent;\n    \"error\": Event;\n    \"message\": MessageEvent;\n    \"open\": Event;\n}\ninterface WebSocket extends EventTarget {\n    binaryType: BinaryType;\n    readonly bufferedAmount: number;\n    readonly extensions: string;\n    onclose: ((this: WebSocket, ev: CloseEvent) => any) | null;\n    onerror: ((this: WebSocket, ev: Event) => any) | null;\n    onmessage: ((this: WebSocket, ev: MessageEvent) => any) | null;\n    onopen: ((this: WebSocket, ev: Event) => any) | null;\n    readonly protocol: string;\n    readonly readyState: 0 | 1 | 2 | 3;\n    readonly url: string;\n    close(code?: number, reason?: string): void;\n    send(data: BufferSource | Blob | string): void;\n    readonly CONNECTING: 0;\n    readonly OPEN: 1;\n    readonly CLOSING: 2;\n    readonly CLOSED: 3;\n    addEventListener<K extends keyof WebSocketEventMap>(type: K, listener: (this: WebSocket, ev: WebSocketEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof WebSocketEventMap>(type: K, listener: (this: WebSocket, ev: WebSocketEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var WebSocket: {\n    prototype: WebSocket;\n    new (url: string | URL, protocols?: string | string[]): WebSocket;\n    readonly CONNECTING: 0;\n    readonly OPEN: 1;\n    readonly CLOSING: 2;\n    readonly CLOSED: 3;\n};\ninterface WebTransport {\n    readonly closed: Promise<WebTransportCloseInfo>;\n    readonly datagrams: WebTransportDatagramDuplexStream;\n    readonly incomingBidirectionalStreams: ReadableStream;\n    readonly incomingUnidirectionalStreams: ReadableStream;\n    readonly ready: Promise<void>;\n    close(closeInfo?: WebTransportCloseInfo): void;\n    createBidirectionalStream(options?: WebTransportSendStreamOptions): Promise<WebTransportBidirectionalStream>;\n    createUnidirectionalStream(options?: WebTransportSendStreamOptions): Promise<WritableStream>;\n}\ndeclare var WebTransport: {\n    prototype: WebTransport;\n    new (url: string | URL, options?: WebTransportOptions): WebTransport;\n};\ninterface WebTransportBidirectionalStream {\n    readonly readable: ReadableStream;\n    readonly writable: WritableStream;\n}\ndeclare var WebTransportBidirectionalStream: {\n    prototype: WebTransportBidirectionalStream;\n    new (): WebTransportBidirectionalStream;\n};\ninterface WebTransportDatagramDuplexStream {\n    incomingHighWaterMark: number;\n    incomingMaxAge: number | null;\n    readonly maxDatagramSize: number;\n    outgoingHighWaterMark: number;\n    outgoingMaxAge: number | null;\n    readonly readable: ReadableStream;\n    readonly writable: WritableStream;\n}\ndeclare var WebTransportDatagramDuplexStream: {\n    prototype: WebTransportDatagramDuplexStream;\n    new (): WebTransportDatagramDuplexStream;\n};\ninterface WebTransportError extends DOMException {\n    readonly source: WebTransportErrorSource;\n    readonly streamErrorCode: number | null;\n}\ndeclare var WebTransportError: {\n    prototype: WebTransportError;\n    new (message?: string, options?: WebTransportErrorOptions): WebTransportError;\n};\ninterface WheelEvent extends MouseEvent {\n    readonly deltaMode: number;\n    readonly deltaX: number;\n    readonly deltaY: number;\n    readonly deltaZ: number;\n    readonly DOM_DELTA_PIXEL: 0;\n    readonly DOM_DELTA_LINE: 1;\n    readonly DOM_DELTA_PAGE: 2;\n}\ndeclare var WheelEvent: {\n    prototype: WheelEvent;\n    new (type: string, eventInitDict?: WheelEventInit): WheelEvent;\n    readonly DOM_DELTA_PIXEL: 0;\n    readonly DOM_DELTA_LINE: 1;\n    readonly DOM_DELTA_PAGE: 2;\n};\ninterface WindowEventMap extends GlobalEventHandlersEventMap, WindowEventHandlersEventMap {\n    \"DOMContentLoaded\": Event;\n    \"devicemotion\": DeviceMotionEvent;\n    \"deviceorientation\": DeviceOrientationEvent;\n    \"deviceorientationabsolute\": DeviceOrientationEvent;\n    \"gamepadconnected\": GamepadEvent;\n    \"gamepaddisconnected\": GamepadEvent;\n    \"orientationchange\": Event;\n}\ninterface Window extends EventTarget, AnimationFrameProvider, GlobalEventHandlers, WindowEventHandlers, WindowLocalStorage, WindowOrWorkerGlobalScope, WindowSessionStorage {\n    readonly clientInformation: Navigator;\n    readonly closed: boolean;\n    readonly cookieStore: CookieStore;\n    readonly customElements: CustomElementRegistry;\n    readonly devicePixelRatio: number;\n    readonly document: Document;\n    readonly event: Event | undefined;\n    readonly external: External;\n    readonly frameElement: Element | null;\n    readonly frames: WindowProxy;\n    readonly history: History;\n    readonly innerHeight: number;\n    readonly innerWidth: number;\n    readonly length: number;\n    get location(): Location;\n    set location(href: string);\n    readonly locationbar: BarProp;\n    readonly menubar: BarProp;\n    name: string;\n    readonly navigation: Navigation;\n    readonly navigator: Navigator;\n    ondevicemotion: ((this: Window, ev: DeviceMotionEvent) => any) | null;\n    ondeviceorientation: ((this: Window, ev: DeviceOrientationEvent) => any) | null;\n    ondeviceorientationabsolute: ((this: Window, ev: DeviceOrientationEvent) => any) | null;\n    onorientationchange: ((this: Window, ev: Event) => any) | null;\n    opener: any;\n    readonly orientation: number;\n    readonly originAgentCluster: boolean;\n    readonly outerHeight: number;\n    readonly outerWidth: number;\n    readonly pageXOffset: number;\n    readonly pageYOffset: number;\n    readonly parent: WindowProxy;\n    readonly personalbar: BarProp;\n    readonly screen: Screen;\n    readonly screenLeft: number;\n    readonly screenTop: number;\n    readonly screenX: number;\n    readonly screenY: number;\n    readonly scrollX: number;\n    readonly scrollY: number;\n    readonly scrollbars: BarProp;\n    readonly self: Window & typeof globalThis;\n    readonly speechSynthesis: SpeechSynthesis;\n    status: string;\n    readonly statusbar: BarProp;\n    readonly toolbar: BarProp;\n    readonly top: WindowProxy | null;\n    readonly visualViewport: VisualViewport | null;\n    readonly window: Window & typeof globalThis;\n    alert(message?: any): void;\n    blur(): void;\n    cancelIdleCallback(handle: number): void;\n    captureEvents(): void;\n    close(): void;\n    confirm(message?: string): boolean;\n    focus(): void;\n    getComputedStyle(elt: Element, pseudoElt?: string | null): CSSStyleDeclaration;\n    getSelection(): Selection | null;\n    matchMedia(query: string): MediaQueryList;\n    moveBy(x: number, y: number): void;\n    moveTo(x: number, y: number): void;\n    open(url?: string | URL, target?: string, features?: string): WindowProxy | null;\n    postMessage(message: any, targetOrigin: string, transfer?: Transferable[]): void;\n    postMessage(message: any, options?: WindowPostMessageOptions): void;\n    print(): void;\n    prompt(message?: string, _default?: string): string | null;\n    releaseEvents(): void;\n    requestIdleCallback(callback: IdleRequestCallback, options?: IdleRequestOptions): number;\n    resizeBy(x: number, y: number): void;\n    resizeTo(width: number, height: number): void;\n    scroll(options?: ScrollToOptions): void;\n    scroll(x: number, y: number): void;\n    scrollBy(options?: ScrollToOptions): void;\n    scrollBy(x: number, y: number): void;\n    scrollTo(options?: ScrollToOptions): void;\n    scrollTo(x: number, y: number): void;\n    stop(): void;\n    addEventListener<K extends keyof WindowEventMap>(type: K, listener: (this: Window, ev: WindowEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof WindowEventMap>(type: K, listener: (this: Window, ev: WindowEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n    [index: number]: Window;\n}\ndeclare var Window: {\n    prototype: Window;\n    new (): Window;\n};\ninterface WindowEventHandlersEventMap {\n    \"afterprint\": Event;\n    \"beforeprint\": Event;\n    \"beforeunload\": BeforeUnloadEvent;\n    \"gamepadconnected\": GamepadEvent;\n    \"gamepaddisconnected\": GamepadEvent;\n    \"hashchange\": HashChangeEvent;\n    \"languagechange\": Event;\n    \"message\": MessageEvent;\n    \"messageerror\": MessageEvent;\n    \"offline\": Event;\n    \"online\": Event;\n    \"pagehide\": PageTransitionEvent;\n    \"pagereveal\": PageRevealEvent;\n    \"pageshow\": PageTransitionEvent;\n    \"pageswap\": PageSwapEvent;\n    \"popstate\": PopStateEvent;\n    \"rejectionhandled\": PromiseRejectionEvent;\n    \"storage\": StorageEvent;\n    \"unhandledrejection\": PromiseRejectionEvent;\n    \"unload\": Event;\n}\ninterface WindowEventHandlers {\n    onafterprint: ((this: WindowEventHandlers, ev: Event) => any) | null;\n    onbeforeprint: ((this: WindowEventHandlers, ev: Event) => any) | null;\n    onbeforeunload: ((this: WindowEventHandlers, ev: BeforeUnloadEvent) => any) | null;\n    ongamepadconnected: ((this: WindowEventHandlers, ev: GamepadEvent) => any) | null;\n    ongamepaddisconnected: ((this: WindowEventHandlers, ev: GamepadEvent) => any) | null;\n    onhashchange: ((this: WindowEventHandlers, ev: HashChangeEvent) => any) | null;\n    onlanguagechange: ((this: WindowEventHandlers, ev: Event) => any) | null;\n    onmessage: ((this: WindowEventHandlers, ev: MessageEvent) => any) | null;\n    onmessageerror: ((this: WindowEventHandlers, ev: MessageEvent) => any) | null;\n    onoffline: ((this: WindowEventHandlers, ev: Event) => any) | null;\n    ononline: ((this: WindowEventHandlers, ev: Event) => any) | null;\n    onpagehide: ((this: WindowEventHandlers, ev: PageTransitionEvent) => any) | null;\n    onpagereveal: ((this: WindowEventHandlers, ev: PageRevealEvent) => any) | null;\n    onpageshow: ((this: WindowEventHandlers, ev: PageTransitionEvent) => any) | null;\n    onpageswap: ((this: WindowEventHandlers, ev: PageSwapEvent) => any) | null;\n    onpopstate: ((this: WindowEventHandlers, ev: PopStateEvent) => any) | null;\n    onrejectionhandled: ((this: WindowEventHandlers, ev: PromiseRejectionEvent) => any) | null;\n    onstorage: ((this: WindowEventHandlers, ev: StorageEvent) => any) | null;\n    onunhandledrejection: ((this: WindowEventHandlers, ev: PromiseRejectionEvent) => any) | null;\n    onunload: ((this: WindowEventHandlers, ev: Event) => any) | null;\n    addEventListener<K extends keyof WindowEventHandlersEventMap>(type: K, listener: (this: WindowEventHandlers, ev: WindowEventHandlersEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof WindowEventHandlersEventMap>(type: K, listener: (this: WindowEventHandlers, ev: WindowEventHandlersEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ninterface WindowLocalStorage {\n    readonly localStorage: Storage;\n}\ninterface WindowOrWorkerGlobalScope {\n    readonly caches: CacheStorage;\n    readonly crossOriginIsolated: boolean;\n    readonly crypto: Crypto;\n    readonly indexedDB: IDBFactory;\n    readonly isSecureContext: boolean;\n    readonly origin: string;\n    readonly performance: Performance;\n    readonly scheduler: Scheduler;\n    atob(data: string): string;\n    btoa(data: string): string;\n    clearInterval(id: number | undefined): void;\n    clearTimeout(id: number | undefined): void;\n    createImageBitmap(image: ImageBitmapSource, options?: ImageBitmapOptions): Promise<ImageBitmap>;\n    createImageBitmap(image: ImageBitmapSource, sx: number, sy: number, sw: number, sh: number, options?: ImageBitmapOptions): Promise<ImageBitmap>;\n    fetch(input: RequestInfo | URL, init?: RequestInit): Promise<Response>;\n    queueMicrotask(callback: VoidFunction): void;\n    reportError(e: any): void;\n    setInterval(handler: TimerHandler, timeout?: number, ...arguments: any[]): number;\n    setTimeout(handler: TimerHandler, timeout?: number, ...arguments: any[]): number;\n    structuredClone<T = any>(value: T, options?: StructuredSerializeOptions): T;\n}\ninterface WindowSessionStorage {\n    readonly sessionStorage: Storage;\n}\ninterface WorkerEventMap extends AbstractWorkerEventMap, MessageEventTargetEventMap {\n}\ninterface Worker extends EventTarget, AbstractWorker, MessageEventTarget<Worker> {\n    postMessage(message: any, transfer: Transferable[]): void;\n    postMessage(message: any, options?: StructuredSerializeOptions): void;\n    terminate(): void;\n    addEventListener<K extends keyof WorkerEventMap>(type: K, listener: (this: Worker, ev: WorkerEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof WorkerEventMap>(type: K, listener: (this: Worker, ev: WorkerEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var Worker: {\n    prototype: Worker;\n    new (scriptURL: string | URL, options?: WorkerOptions): Worker;\n};\ninterface Worklet {\n    addModule(moduleURL: string | URL, options?: WorkletOptions): Promise<void>;\n}\ndeclare var Worklet: {\n    prototype: Worklet;\n    new (): Worklet;\n};\ninterface WritableStream<W = any> {\n    readonly locked: boolean;\n    abort(reason?: any): Promise<void>;\n    close(): Promise<void>;\n    getWriter(): WritableStreamDefaultWriter<W>;\n}\ndeclare var WritableStream: {\n    prototype: WritableStream;\n    new <W = any>(underlyingSink?: UnderlyingSink<W>, strategy?: QueuingStrategy<W>): WritableStream<W>;\n};\ninterface WritableStreamDefaultController {\n    readonly signal: AbortSignal;\n    error(e?: any): void;\n}\ndeclare var WritableStreamDefaultController: {\n    prototype: WritableStreamDefaultController;\n    new (): WritableStreamDefaultController;\n};\ninterface WritableStreamDefaultWriter<W = any> {\n    readonly closed: Promise<void>;\n    readonly desiredSize: number | null;\n    readonly ready: Promise<void>;\n    abort(reason?: any): Promise<void>;\n    close(): Promise<void>;\n    releaseLock(): void;\n    write(chunk?: W): Promise<void>;\n}\ndeclare var WritableStreamDefaultWriter: {\n    prototype: WritableStreamDefaultWriter;\n    new <W = any>(stream: WritableStream<W>): WritableStreamDefaultWriter<W>;\n};\ninterface XMLDocument extends Document {\n    addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: XMLDocument, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: XMLDocument, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var XMLDocument: {\n    prototype: XMLDocument;\n    new (): XMLDocument;\n};\ninterface XMLHttpRequestEventMap extends XMLHttpRequestEventTargetEventMap {\n    \"readystatechange\": Event;\n}\ninterface XMLHttpRequest extends XMLHttpRequestEventTarget {\n    onreadystatechange: ((this: XMLHttpRequest, ev: Event) => any) | null;\n    readonly readyState: number;\n    readonly response: any;\n    readonly responseText: string;\n    responseType: XMLHttpRequestResponseType;\n    readonly responseURL: string;\n    readonly responseXML: Document | null;\n    readonly status: number;\n    readonly statusText: string;\n    timeout: number;\n    readonly upload: XMLHttpRequestUpload;\n    withCredentials: boolean;\n    abort(): void;\n    getAllResponseHeaders(): string;\n    getResponseHeader(name: string): string | null;\n    open(method: string, url: string | URL): void;\n    open(method: string, url: string | URL, async: boolean, username?: string | null, password?: string | null): void;\n    overrideMimeType(mime: string): void;\n    send(body?: Document | XMLHttpRequestBodyInit | null): void;\n    setRequestHeader(name: string, value: string): void;\n    readonly UNSENT: 0;\n    readonly OPENED: 1;\n    readonly HEADERS_RECEIVED: 2;\n    readonly LOADING: 3;\n    readonly DONE: 4;\n    addEventListener<K extends keyof XMLHttpRequestEventMap>(type: K, listener: (this: XMLHttpRequest, ev: XMLHttpRequestEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof XMLHttpRequestEventMap>(type: K, listener: (this: XMLHttpRequest, ev: XMLHttpRequestEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var XMLHttpRequest: {\n    prototype: XMLHttpRequest;\n    new (): XMLHttpRequest;\n    readonly UNSENT: 0;\n    readonly OPENED: 1;\n    readonly HEADERS_RECEIVED: 2;\n    readonly LOADING: 3;\n    readonly DONE: 4;\n};\ninterface XMLHttpRequestEventTargetEventMap {\n    \"abort\": ProgressEvent<XMLHttpRequestEventTarget>;\n    \"error\": ProgressEvent<XMLHttpRequestEventTarget>;\n    \"load\": ProgressEvent<XMLHttpRequestEventTarget>;\n    \"loadend\": ProgressEvent<XMLHttpRequestEventTarget>;\n    \"loadstart\": ProgressEvent<XMLHttpRequestEventTarget>;\n    \"progress\": ProgressEvent<XMLHttpRequestEventTarget>;\n    \"timeout\": ProgressEvent<XMLHttpRequestEventTarget>;\n}\ninterface XMLHttpRequestEventTarget extends EventTarget {\n    onabort: ((this: XMLHttpRequest, ev: ProgressEvent) => any) | null;\n    onerror: ((this: XMLHttpRequest, ev: ProgressEvent) => any) | null;\n    onload: ((this: XMLHttpRequest, ev: ProgressEvent) => any) | null;\n    onloadend: ((this: XMLHttpRequest, ev: ProgressEvent) => any) | null;\n    onloadstart: ((this: XMLHttpRequest, ev: ProgressEvent) => any) | null;\n    onprogress: ((this: XMLHttpRequest, ev: ProgressEvent) => any) | null;\n    ontimeout: ((this: XMLHttpRequest, ev: ProgressEvent) => any) | null;\n    addEventListener<K extends keyof XMLHttpRequestEventTargetEventMap>(type: K, listener: (this: XMLHttpRequestEventTarget, ev: XMLHttpRequestEventTargetEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof XMLHttpRequestEventTargetEventMap>(type: K, listener: (this: XMLHttpRequestEventTarget, ev: XMLHttpRequestEventTargetEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var XMLHttpRequestEventTarget: {\n    prototype: XMLHttpRequestEventTarget;\n    new (): XMLHttpRequestEventTarget;\n};\ninterface XMLHttpRequestUpload extends XMLHttpRequestEventTarget {\n    addEventListener<K extends keyof XMLHttpRequestEventTargetEventMap>(type: K, listener: (this: XMLHttpRequestUpload, ev: XMLHttpRequestEventTargetEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof XMLHttpRequestEventTargetEventMap>(type: K, listener: (this: XMLHttpRequestUpload, ev: XMLHttpRequestEventTargetEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var XMLHttpRequestUpload: {\n    prototype: XMLHttpRequestUpload;\n    new (): XMLHttpRequestUpload;\n};\ninterface XMLSerializer {\n    serializeToString(root: Node): string;\n}\ndeclare var XMLSerializer: {\n    prototype: XMLSerializer;\n    new (): XMLSerializer;\n};\ninterface XPathEvaluator extends XPathEvaluatorBase {\n}\ndeclare var XPathEvaluator: {\n    prototype: XPathEvaluator;\n    new (): XPathEvaluator;\n};\ninterface XPathEvaluatorBase {\n    createExpression(expression: string, resolver?: XPathNSResolver | null): XPathExpression;\n    createNSResolver(nodeResolver: Node): Node;\n    evaluate(expression: string, contextNode: Node, resolver?: XPathNSResolver | null, type?: number, result?: XPathResult | null): XPathResult;\n}\ninterface XPathExpression {\n    evaluate(contextNode: Node, type?: number, result?: XPathResult | null): XPathResult;\n}\ndeclare var XPathExpression: {\n    prototype: XPathExpression;\n    new (): XPathExpression;\n};\ninterface XPathResult {\n    readonly booleanValue: boolean;\n    readonly invalidIteratorState: boolean;\n    readonly numberValue: number;\n    readonly resultType: number;\n    readonly singleNodeValue: Node | null;\n    readonly snapshotLength: number;\n    readonly stringValue: string;\n    iterateNext(): Node | null;\n    snapshotItem(index: number): Node | null;\n    readonly ANY_TYPE: 0;\n    readonly NUMBER_TYPE: 1;\n    readonly STRING_TYPE: 2;\n    readonly BOOLEAN_TYPE: 3;\n    readonly UNORDERED_NODE_ITERATOR_TYPE: 4;\n    readonly ORDERED_NODE_ITERATOR_TYPE: 5;\n    readonly UNORDERED_NODE_SNAPSHOT_TYPE: 6;\n    readonly ORDERED_NODE_SNAPSHOT_TYPE: 7;\n    readonly ANY_UNORDERED_NODE_TYPE: 8;\n    readonly FIRST_ORDERED_NODE_TYPE: 9;\n}\ndeclare var XPathResult: {\n    prototype: XPathResult;\n    new (): XPathResult;\n    readonly ANY_TYPE: 0;\n    readonly NUMBER_TYPE: 1;\n    readonly STRING_TYPE: 2;\n    readonly BOOLEAN_TYPE: 3;\n    readonly UNORDERED_NODE_ITERATOR_TYPE: 4;\n    readonly ORDERED_NODE_ITERATOR_TYPE: 5;\n    readonly UNORDERED_NODE_SNAPSHOT_TYPE: 6;\n    readonly ORDERED_NODE_SNAPSHOT_TYPE: 7;\n    readonly ANY_UNORDERED_NODE_TYPE: 8;\n    readonly FIRST_ORDERED_NODE_TYPE: 9;\n};\ninterface XSLTProcessor {\n    clearParameters(): void;\n    getParameter(namespaceURI: string | null, localName: string): any;\n    importStylesheet(style: Node): void;\n    removeParameter(namespaceURI: string | null, localName: string): void;\n    reset(): void;\n    setParameter(namespaceURI: string | null, localName: string, value: any): void;\n    transformToDocument(source: Node): Document;\n    transformToFragment(source: Node, output: Document): DocumentFragment;\n}\ndeclare var XSLTProcessor: {\n    prototype: XSLTProcessor;\n    new (): XSLTProcessor;\n};\ndeclare namespace CSS {\n    var highlights: HighlightRegistry;\n    function Hz(value: number): CSSUnitValue;\n    function Q(value: number): CSSUnitValue;\n    function cap(value: number): CSSUnitValue;\n    function ch(value: number): CSSUnitValue;\n    function cm(value: number): CSSUnitValue;\n    function cqb(value: number): CSSUnitValue;\n    function cqh(value: number): CSSUnitValue;\n    function cqi(value: number): CSSUnitValue;\n    function cqmax(value: number): CSSUnitValue;\n    function cqmin(value: number): CSSUnitValue;\n    function cqw(value: number): CSSUnitValue;\n    function deg(value: number): CSSUnitValue;\n    function dpcm(value: number): CSSUnitValue;\n    function dpi(value: number): CSSUnitValue;\n    function dppx(value: number): CSSUnitValue;\n    function dvb(value: number): CSSUnitValue;\n    function dvh(value: number): CSSUnitValue;\n    function dvi(value: number): CSSUnitValue;\n    function dvmax(value: number): CSSUnitValue;\n    function dvmin(value: number): CSSUnitValue;\n    function dvw(value: number): CSSUnitValue;\n    function em(value: number): CSSUnitValue;\n    function escape(ident: string): string;\n    function ex(value: number): CSSUnitValue;\n    function fr(value: number): CSSUnitValue;\n    function grad(value: number): CSSUnitValue;\n    function ic(value: number): CSSUnitValue;\n    function kHz(value: number): CSSUnitValue;\n    function lh(value: number): CSSUnitValue;\n    function lvb(value: number): CSSUnitValue;\n    function lvh(value: number): CSSUnitValue;\n    function lvi(value: number): CSSUnitValue;\n    function lvmax(value: number): CSSUnitValue;\n    function lvmin(value: number): CSSUnitValue;\n    function lvw(value: number): CSSUnitValue;\n    function mm(value: number): CSSUnitValue;\n    function ms(value: number): CSSUnitValue;\n    function number(value: number): CSSUnitValue;\n    function pc(value: number): CSSUnitValue;\n    function percent(value: number): CSSUnitValue;\n    function pt(value: number): CSSUnitValue;\n    function px(value: number): CSSUnitValue;\n    function rad(value: number): CSSUnitValue;\n    function rcap(value: number): CSSUnitValue;\n    function rch(value: number): CSSUnitValue;\n    function registerProperty(definition: PropertyDefinition): void;\n    function rem(value: number): CSSUnitValue;\n    function rex(value: number): CSSUnitValue;\n    function ric(value: number): CSSUnitValue;\n    function rlh(value: number): CSSUnitValue;\n    function s(value: number): CSSUnitValue;\n    function supports(property: string, value: string): boolean;\n    function supports(conditionText: string): boolean;\n    function svb(value: number): CSSUnitValue;\n    function svh(value: number): CSSUnitValue;\n    function svi(value: number): CSSUnitValue;\n    function svmax(value: number): CSSUnitValue;\n    function svmin(value: number): CSSUnitValue;\n    function svw(value: number): CSSUnitValue;\n    function turn(value: number): CSSUnitValue;\n    function vb(value: number): CSSUnitValue;\n    function vh(value: number): CSSUnitValue;\n    function vi(value: number): CSSUnitValue;\n    function vmax(value: number): CSSUnitValue;\n    function vmin(value: number): CSSUnitValue;\n    function vw(value: number): CSSUnitValue;\n}\ndeclare namespace WebAssembly {\n    interface CompileError extends Error {\n    }\n    var CompileError: {\n        prototype: CompileError;\n        new (message?: string): CompileError;\n        (message?: string): CompileError;\n    };\n    interface Exception {\n        readonly stack: string | undefined;\n        getArg(exceptionTag: Tag, index: number): any;\n        is(exceptionTag: Tag): boolean;\n    }\n    var Exception: {\n        prototype: Exception;\n        new (exceptionTag: Tag, payload: any[], options?: ExceptionOptions): Exception;\n    };\n    interface Global<T extends ValueType = ValueType> {\n        value: ValueTypeMap[T];\n        valueOf(): ValueTypeMap[T];\n    }\n    var Global: {\n        prototype: Global;\n        new <T extends ValueType = ValueType>(descriptor: GlobalDescriptor<T>, v?: ValueTypeMap[T]): Global<T>;\n    };\n    interface Instance {\n        readonly exports: Exports;\n    }\n    var Instance: {\n        prototype: Instance;\n        new (module: Module, importObject?: Imports): Instance;\n    };\n    interface LinkError extends Error {\n    }\n    var LinkError: {\n        prototype: LinkError;\n        new (message?: string): LinkError;\n        (message?: string): LinkError;\n    };\n    interface Memory {\n        readonly buffer: ArrayBuffer;\n        grow(delta: AddressValue): AddressValue;\n        toFixedLengthBuffer(): ArrayBuffer;\n        toResizableBuffer(): ArrayBuffer;\n    }\n    var Memory: {\n        prototype: Memory;\n        new (descriptor: MemoryDescriptor): Memory;\n    };\n    interface Module {\n    }\n    var Module: {\n        prototype: Module;\n        new (bytes: BufferSource, options?: WebAssemblyCompileOptions): Module;\n        customSections(moduleObject: Module, sectionName: string): ArrayBuffer[];\n        exports(moduleObject: Module): ModuleExportDescriptor[];\n        imports(moduleObject: Module): ModuleImportDescriptor[];\n    };\n    interface RuntimeError extends Error {\n    }\n    var RuntimeError: {\n        prototype: RuntimeError;\n        new (message?: string): RuntimeError;\n        (message?: string): RuntimeError;\n    };\n    interface Table {\n        readonly length: AddressValue;\n        get(index: AddressValue): any;\n        grow(delta: AddressValue, value?: any): AddressValue;\n        set(index: AddressValue, value?: any): void;\n    }\n    var Table: {\n        prototype: Table;\n        new (descriptor: TableDescriptor, value?: any): Table;\n    };\n    interface Tag {\n    }\n    var Tag: {\n        prototype: Tag;\n        new (type: TagType): Tag;\n    };\n    interface ExceptionOptions {\n        traceStack?: boolean;\n    }\n    interface GlobalDescriptor<T extends ValueType = ValueType> {\n        mutable?: boolean;\n        value: T;\n    }\n    interface MemoryDescriptor {\n        address?: AddressType;\n        initial: AddressValue;\n        maximum?: AddressValue;\n        shared?: boolean;\n    }\n    interface ModuleExportDescriptor {\n        kind: ImportExportKind;\n        name: string;\n    }\n    interface ModuleImportDescriptor {\n        kind: ImportExportKind;\n        module: string;\n        name: string;\n    }\n    interface TableDescriptor {\n        address?: AddressType;\n        element: TableKind;\n        initial: AddressValue;\n        maximum?: AddressValue;\n    }\n    interface TagType {\n        parameters: ValueType[];\n    }\n    interface ValueTypeMap {\n        anyfunc: Function;\n        externref: any;\n        f32: number;\n        f64: number;\n        i32: number;\n        i64: bigint;\n        v128: never;\n    }\n    interface WebAssemblyCompileOptions {\n        builtins?: string[];\n        importedStringConstants?: string | null;\n    }\n    interface WebAssemblyInstantiatedSource {\n        instance: Instance;\n        module: Module;\n    }\n    type AddressType = \"i32\" | \"i64\";\n    type ImportExportKind = \"function\" | \"global\" | \"memory\" | \"table\" | \"tag\";\n    type TableKind = \"anyfunc\" | \"externref\";\n    type AddressValue = number;\n    type ExportValue = Function | Global | Memory | Table;\n    type Exports = Record<string, ExportValue>;\n    type ImportValue = ExportValue | number;\n    type Imports = Record<string, ModuleImports>;\n    type ModuleImports = Record<string, ImportValue>;\n    type ValueType = keyof ValueTypeMap;\n    var JSTag: Tag;\n    function compile(bytes: BufferSource, options?: WebAssemblyCompileOptions): Promise<Module>;\n    function compileStreaming(source: Response | PromiseLike<Response>, options?: WebAssemblyCompileOptions): Promise<Module>;\n    function instantiate(bytes: BufferSource, importObject?: Imports, options?: WebAssemblyCompileOptions): Promise<WebAssemblyInstantiatedSource>;\n    function instantiate(moduleObject: Module, importObject?: Imports): Promise<Instance>;\n    function instantiateStreaming(source: Response | PromiseLike<Response>, importObject?: Imports, options?: WebAssemblyCompileOptions): Promise<WebAssemblyInstantiatedSource>;\n    function validate(bytes: BufferSource, options?: WebAssemblyCompileOptions): boolean;\n}\ninterface Console {\n    assert(condition?: boolean, ...data: any[]): void;\n    clear(): void;\n    count(label?: string): void;\n    countReset(label?: string): void;\n    debug(...data: any[]): void;\n    dir(item?: any, options?: any): void;\n    dirxml(...data: any[]): void;\n    error(...data: any[]): void;\n    group(...data: any[]): void;\n    groupCollapsed(...data: any[]): void;\n    groupEnd(): void;\n    info(...data: any[]): void;\n    log(...data: any[]): void;\n    table(tabularData?: any, properties?: string[]): void;\n    time(label?: string): void;\n    timeEnd(label?: string): void;\n    timeLog(label?: string, ...data: any[]): void;\n    timeStamp(label?: string): void;\n    trace(...data: any[]): void;\n    warn(...data: any[]): void;\n}\ndeclare var console: Console;\ninterface AudioDataOutputCallback {\n    (output: AudioData): void;\n}\ninterface BlobCallback {\n    (blob: Blob | null): void;\n}\ninterface CustomElementConstructor {\n    new (...params: any[]): HTMLElement;\n}\ninterface DecodeErrorCallback {\n    (error: DOMException): void;\n}\ninterface DecodeSuccessCallback {\n    (decodedData: AudioBuffer): void;\n}\ninterface EncodedAudioChunkOutputCallback {\n    (output: EncodedAudioChunk, metadata?: EncodedAudioChunkMetadata): void;\n}\ninterface EncodedVideoChunkOutputCallback {\n    (chunk: EncodedVideoChunk, metadata?: EncodedVideoChunkMetadata): void;\n}\ninterface ErrorCallback {\n    (err: DOMException): void;\n}\ninterface FileCallback {\n    (file: File): void;\n}\ninterface FileSystemEntriesCallback {\n    (entries: FileSystemEntry[]): void;\n}\ninterface FileSystemEntryCallback {\n    (entry: FileSystemEntry): void;\n}\ninterface FrameRequestCallback {\n    (time: DOMHighResTimeStamp): void;\n}\ninterface FunctionStringCallback {\n    (data: string): void;\n}\ninterface IdleRequestCallback {\n    (deadline: IdleDeadline): void;\n}\ninterface IntersectionObserverCallback {\n    (entries: IntersectionObserverEntry[], observer: IntersectionObserver): void;\n}\ninterface LockGrantedCallback<T> {\n    (lock: Lock | null): T;\n}\ninterface MediaSessionActionHandler {\n    (details: MediaSessionActionDetails): void;\n}\ninterface MutationCallback {\n    (mutations: MutationRecord[], observer: MutationObserver): void;\n}\ninterface NavigationInterceptHandler {\n    (): void | PromiseLike<void>;\n}\ninterface NavigationPrecommitHandler {\n    (controller: NavigationPrecommitController): void | PromiseLike<void>;\n}\ninterface NotificationPermissionCallback {\n    (permission: NotificationPermission): void;\n}\ninterface OnBeforeUnloadEventHandlerNonNull {\n    (event: Event): string | null;\n}\ninterface OnErrorEventHandlerNonNull {\n    (event: Event | string, source?: string, lineno?: number, colno?: number, error?: Error): any;\n}\ninterface PerformanceObserverCallback {\n    (entries: PerformanceObserverEntryList, observer: PerformanceObserver): void;\n}\ninterface PositionCallback {\n    (position: GeolocationPosition): void;\n}\ninterface PositionErrorCallback {\n    (positionError: GeolocationPositionError): void;\n}\ninterface QueuingStrategySize<T = any> {\n    (chunk: T): number;\n}\ninterface RTCPeerConnectionErrorCallback {\n    (error: DOMException): void;\n}\ninterface RTCSessionDescriptionCallback {\n    (description: RTCSessionDescriptionInit): void;\n}\ninterface RemotePlaybackAvailabilityCallback {\n    (available: boolean): void;\n}\ninterface ReportingObserverCallback {\n    (reports: Report[], observer: ReportingObserver): void;\n}\ninterface ResizeObserverCallback {\n    (entries: ResizeObserverEntry[], observer: ResizeObserver): void;\n}\ninterface SchedulerPostTaskCallback {\n    (): any;\n}\ninterface TransformerFlushCallback<O> {\n    (controller: TransformStreamDefaultController<O>): void | PromiseLike<void>;\n}\ninterface TransformerStartCallback<O> {\n    (controller: TransformStreamDefaultController<O>): any;\n}\ninterface TransformerTransformCallback<I, O> {\n    (chunk: I, controller: TransformStreamDefaultController<O>): void | PromiseLike<void>;\n}\ninterface UnderlyingSinkAbortCallback {\n    (reason?: any): void | PromiseLike<void>;\n}\ninterface UnderlyingSinkCloseCallback {\n    (): void | PromiseLike<void>;\n}\ninterface UnderlyingSinkStartCallback {\n    (controller: WritableStreamDefaultController): any;\n}\ninterface UnderlyingSinkWriteCallback<W> {\n    (chunk: W, controller: WritableStreamDefaultController): void | PromiseLike<void>;\n}\ninterface UnderlyingSourceCancelCallback {\n    (reason?: any): void | PromiseLike<void>;\n}\ninterface UnderlyingSourcePullCallback<R> {\n    (controller: ReadableStreamController<R>): void | PromiseLike<void>;\n}\ninterface UnderlyingSourceStartCallback<R> {\n    (controller: ReadableStreamController<R>): any;\n}\ninterface VideoFrameOutputCallback {\n    (output: VideoFrame): void;\n}\ninterface VideoFrameRequestCallback {\n    (now: DOMHighResTimeStamp, metadata: VideoFrameCallbackMetadata): void;\n}\ninterface ViewTransitionUpdateCallback {\n    (): any;\n}\ninterface VoidFunction {\n    (): void;\n}\ninterface WebCodecsErrorCallback {\n    (error: DOMException): void;\n}\ninterface HTMLElementTagNameMap {\n    \"a\": HTMLAnchorElement;\n    \"abbr\": HTMLElement;\n    \"address\": HTMLElement;\n    \"area\": HTMLAreaElement;\n    \"article\": HTMLElement;\n    \"aside\": HTMLElement;\n    \"audio\": HTMLAudioElement;\n    \"b\": HTMLElement;\n    \"base\": HTMLBaseElement;\n    \"bdi\": HTMLElement;\n    \"bdo\": HTMLElement;\n    \"blockquote\": HTMLQuoteElement;\n    \"body\": HTMLBodyElement;\n    \"br\": HTMLBRElement;\n    \"button\": HTMLButtonElement;\n    \"canvas\": HTMLCanvasElement;\n    \"caption\": HTMLTableCaptionElement;\n    \"cite\": HTMLElement;\n    \"code\": HTMLElement;\n    \"col\": HTMLTableColElement;\n    \"colgroup\": HTMLTableColElement;\n    \"data\": HTMLDataElement;\n    \"datalist\": HTMLDataListElement;\n    \"dd\": HTMLElement;\n    \"del\": HTMLModElement;\n    \"details\": HTMLDetailsElement;\n    \"dfn\": HTMLElement;\n    \"dialog\": HTMLDialogElement;\n    \"div\": HTMLDivElement;\n    \"dl\": HTMLDListElement;\n    \"dt\": HTMLElement;\n    \"em\": HTMLElement;\n    \"embed\": HTMLEmbedElement;\n    \"fieldset\": HTMLFieldSetElement;\n    \"figcaption\": HTMLElement;\n    \"figure\": HTMLElement;\n    \"footer\": HTMLElement;\n    \"form\": HTMLFormElement;\n    \"h1\": HTMLHeadingElement;\n    \"h2\": HTMLHeadingElement;\n    \"h3\": HTMLHeadingElement;\n    \"h4\": HTMLHeadingElement;\n    \"h5\": HTMLHeadingElement;\n    \"h6\": HTMLHeadingElement;\n    \"head\": HTMLHeadElement;\n    \"header\": HTMLElement;\n    \"hgroup\": HTMLElement;\n    \"hr\": HTMLHRElement;\n    \"html\": HTMLHtmlElement;\n    \"i\": HTMLElement;\n    \"iframe\": HTMLIFrameElement;\n    \"img\": HTMLImageElement;\n    \"input\": HTMLInputElement;\n    \"ins\": HTMLModElement;\n    \"kbd\": HTMLElement;\n    \"label\": HTMLLabelElement;\n    \"legend\": HTMLLegendElement;\n    \"li\": HTMLLIElement;\n    \"link\": HTMLLinkElement;\n    \"main\": HTMLElement;\n    \"map\": HTMLMapElement;\n    \"mark\": HTMLElement;\n    \"menu\": HTMLMenuElement;\n    \"meta\": HTMLMetaElement;\n    \"meter\": HTMLMeterElement;\n    \"nav\": HTMLElement;\n    \"noscript\": HTMLElement;\n    \"object\": HTMLObjectElement;\n    \"ol\": HTMLOListElement;\n    \"optgroup\": HTMLOptGroupElement;\n    \"option\": HTMLOptionElement;\n    \"output\": HTMLOutputElement;\n    \"p\": HTMLParagraphElement;\n    \"picture\": HTMLPictureElement;\n    \"pre\": HTMLPreElement;\n    \"progress\": HTMLProgressElement;\n    \"q\": HTMLQuoteElement;\n    \"rp\": HTMLElement;\n    \"rt\": HTMLElement;\n    \"ruby\": HTMLElement;\n    \"s\": HTMLElement;\n    \"samp\": HTMLElement;\n    \"script\": HTMLScriptElement;\n    \"search\": HTMLElement;\n    \"section\": HTMLElement;\n    \"select\": HTMLSelectElement;\n    \"slot\": HTMLSlotElement;\n    \"small\": HTMLElement;\n    \"source\": HTMLSourceElement;\n    \"span\": HTMLSpanElement;\n    \"strong\": HTMLElement;\n    \"style\": HTMLStyleElement;\n    \"sub\": HTMLElement;\n    \"summary\": HTMLElement;\n    \"sup\": HTMLElement;\n    \"table\": HTMLTableElement;\n    \"tbody\": HTMLTableSectionElement;\n    \"td\": HTMLTableCellElement;\n    \"template\": HTMLTemplateElement;\n    \"textarea\": HTMLTextAreaElement;\n    \"tfoot\": HTMLTableSectionElement;\n    \"th\": HTMLTableCellElement;\n    \"thead\": HTMLTableSectionElement;\n    \"time\": HTMLTimeElement;\n    \"title\": HTMLTitleElement;\n    \"tr\": HTMLTableRowElement;\n    \"track\": HTMLTrackElement;\n    \"u\": HTMLElement;\n    \"ul\": HTMLUListElement;\n    \"var\": HTMLElement;\n    \"video\": HTMLVideoElement;\n    \"wbr\": HTMLElement;\n}\ninterface HTMLElementDeprecatedTagNameMap {\n    \"acronym\": HTMLElement;\n    \"applet\": HTMLUnknownElement;\n    \"basefont\": HTMLElement;\n    \"bgsound\": HTMLUnknownElement;\n    \"big\": HTMLElement;\n    \"blink\": HTMLUnknownElement;\n    \"center\": HTMLElement;\n    \"dir\": HTMLDirectoryElement;\n    \"font\": HTMLFontElement;\n    \"frame\": HTMLFrameElement;\n    \"frameset\": HTMLFrameSetElement;\n    \"isindex\": HTMLUnknownElement;\n    \"keygen\": HTMLUnknownElement;\n    \"listing\": HTMLPreElement;\n    \"marquee\": HTMLMarqueeElement;\n    \"menuitem\": HTMLElement;\n    \"multicol\": HTMLUnknownElement;\n    \"nextid\": HTMLUnknownElement;\n    \"nobr\": HTMLElement;\n    \"noembed\": HTMLElement;\n    \"noframes\": HTMLElement;\n    \"param\": HTMLParamElement;\n    \"plaintext\": HTMLElement;\n    \"rb\": HTMLElement;\n    \"rtc\": HTMLElement;\n    \"spacer\": HTMLUnknownElement;\n    \"strike\": HTMLElement;\n    \"tt\": HTMLElement;\n    \"xmp\": HTMLPreElement;\n}\ninterface SVGElementTagNameMap {\n    \"a\": SVGAElement;\n    \"animate\": SVGAnimateElement;\n    \"animateMotion\": SVGAnimateMotionElement;\n    \"animateTransform\": SVGAnimateTransformElement;\n    \"circle\": SVGCircleElement;\n    \"clipPath\": SVGClipPathElement;\n    \"defs\": SVGDefsElement;\n    \"desc\": SVGDescElement;\n    \"ellipse\": SVGEllipseElement;\n    \"feBlend\": SVGFEBlendElement;\n    \"feColorMatrix\": SVGFEColorMatrixElement;\n    \"feComponentTransfer\": SVGFEComponentTransferElement;\n    \"feComposite\": SVGFECompositeElement;\n    \"feConvolveMatrix\": SVGFEConvolveMatrixElement;\n    \"feDiffuseLighting\": SVGFEDiffuseLightingElement;\n    \"feDisplacementMap\": SVGFEDisplacementMapElement;\n    \"feDistantLight\": SVGFEDistantLightElement;\n    \"feDropShadow\": SVGFEDropShadowElement;\n    \"feFlood\": SVGFEFloodElement;\n    \"feFuncA\": SVGFEFuncAElement;\n    \"feFuncB\": SVGFEFuncBElement;\n    \"feFuncG\": SVGFEFuncGElement;\n    \"feFuncR\": SVGFEFuncRElement;\n    \"feGaussianBlur\": SVGFEGaussianBlurElement;\n    \"feImage\": SVGFEImageElement;\n    \"feMerge\": SVGFEMergeElement;\n    \"feMergeNode\": SVGFEMergeNodeElement;\n    \"feMorphology\": SVGFEMorphologyElement;\n    \"feOffset\": SVGFEOffsetElement;\n    \"fePointLight\": SVGFEPointLightElement;\n    \"feSpecularLighting\": SVGFESpecularLightingElement;\n    \"feSpotLight\": SVGFESpotLightElement;\n    \"feTile\": SVGFETileElement;\n    \"feTurbulence\": SVGFETurbulenceElement;\n    \"filter\": SVGFilterElement;\n    \"foreignObject\": SVGForeignObjectElement;\n    \"g\": SVGGElement;\n    \"image\": SVGImageElement;\n    \"line\": SVGLineElement;\n    \"linearGradient\": SVGLinearGradientElement;\n    \"marker\": SVGMarkerElement;\n    \"mask\": SVGMaskElement;\n    \"metadata\": SVGMetadataElement;\n    \"mpath\": SVGMPathElement;\n    \"path\": SVGPathElement;\n    \"pattern\": SVGPatternElement;\n    \"polygon\": SVGPolygonElement;\n    \"polyline\": SVGPolylineElement;\n    \"radialGradient\": SVGRadialGradientElement;\n    \"rect\": SVGRectElement;\n    \"script\": SVGScriptElement;\n    \"set\": SVGSetElement;\n    \"stop\": SVGStopElement;\n    \"style\": SVGStyleElement;\n    \"svg\": SVGSVGElement;\n    \"switch\": SVGSwitchElement;\n    \"symbol\": SVGSymbolElement;\n    \"text\": SVGTextElement;\n    \"textPath\": SVGTextPathElement;\n    \"title\": SVGTitleElement;\n    \"tspan\": SVGTSpanElement;\n    \"use\": SVGUseElement;\n    \"view\": SVGViewElement;\n}\ninterface MathMLElementTagNameMap {\n    \"a\": MathMLElement;\n    \"annotation\": MathMLElement;\n    \"annotation-xml\": MathMLElement;\n    \"maction\": MathMLElement;\n    \"math\": MathMLElement;\n    \"merror\": MathMLElement;\n    \"mfrac\": MathMLElement;\n    \"mi\": MathMLElement;\n    \"mmultiscripts\": MathMLElement;\n    \"mn\": MathMLElement;\n    \"mo\": MathMLElement;\n    \"mover\": MathMLElement;\n    \"mpadded\": MathMLElement;\n    \"mphantom\": MathMLElement;\n    \"mprescripts\": MathMLElement;\n    \"mroot\": MathMLElement;\n    \"mrow\": MathMLElement;\n    \"ms\": MathMLElement;\n    \"mspace\": MathMLElement;\n    \"msqrt\": MathMLElement;\n    \"mstyle\": MathMLElement;\n    \"msub\": MathMLElement;\n    \"msubsup\": MathMLElement;\n    \"msup\": MathMLElement;\n    \"mtable\": MathMLElement;\n    \"mtd\": MathMLElement;\n    \"mtext\": MathMLElement;\n    \"mtr\": MathMLElement;\n    \"munder\": MathMLElement;\n    \"munderover\": MathMLElement;\n    \"semantics\": MathMLElement;\n}\ntype ElementTagNameMap = HTMLElementTagNameMap & Pick<SVGElementTagNameMap, Exclude<keyof SVGElementTagNameMap, keyof HTMLElementTagNameMap>>;\ndeclare var Audio: {\n    new (src?: string): HTMLAudioElement;\n};\ndeclare var Image: {\n    new (width?: number, height?: number): HTMLImageElement;\n};\ndeclare var Option: {\n    new (text?: string, value?: string, defaultSelected?: boolean, selected?: boolean): HTMLOptionElement;\n};\ndeclare var clientInformation: Navigator;\ndeclare var closed: boolean;\ndeclare var cookieStore: CookieStore;\ndeclare var customElements: CustomElementRegistry;\ndeclare var devicePixelRatio: number;\ndeclare var document: Document;\ndeclare var event: Event | undefined;\ndeclare var external: External;\ndeclare var frameElement: Element | null;\ndeclare var frames: WindowProxy;\ndeclare var history: History;\ndeclare var innerHeight: number;\ndeclare var innerWidth: number;\ndeclare var length: number;\ndeclare var location: Location;\ndeclare var locationbar: BarProp;\ndeclare var menubar: BarProp;\ndeclare const name: void;\ndeclare var navigation: Navigation;\ndeclare var navigator: Navigator;\ndeclare var ondevicemotion: ((this: Window, ev: DeviceMotionEvent) => any) | null;\ndeclare var ondeviceorientation: ((this: Window, ev: DeviceOrientationEvent) => any) | null;\ndeclare var ondeviceorientationabsolute: ((this: Window, ev: DeviceOrientationEvent) => any) | null;\ndeclare var onorientationchange: ((this: Window, ev: Event) => any) | null;\ndeclare var opener: any;\ndeclare var orientation: number;\ndeclare var originAgentCluster: boolean;\ndeclare var outerHeight: number;\ndeclare var outerWidth: number;\ndeclare var pageXOffset: number;\ndeclare var pageYOffset: number;\ndeclare var parent: WindowProxy;\ndeclare var personalbar: BarProp;\ndeclare var screen: Screen;\ndeclare var screenLeft: number;\ndeclare var screenTop: number;\ndeclare var screenX: number;\ndeclare var screenY: number;\ndeclare var scrollX: number;\ndeclare var scrollY: number;\ndeclare var scrollbars: BarProp;\ndeclare var self: Window & typeof globalThis;\ndeclare var speechSynthesis: SpeechSynthesis;\ndeclare var status: string;\ndeclare var statusbar: BarProp;\ndeclare var toolbar: BarProp;\ndeclare var top: WindowProxy | null;\ndeclare var visualViewport: VisualViewport | null;\ndeclare var window: Window & typeof globalThis;\ndeclare function alert(message?: any): void;\ndeclare function blur(): void;\ndeclare function cancelIdleCallback(handle: number): void;\ndeclare function captureEvents(): void;\ndeclare function close(): void;\ndeclare function confirm(message?: string): boolean;\ndeclare function focus(): void;\ndeclare function getComputedStyle(elt: Element, pseudoElt?: string | null): CSSStyleDeclaration;\ndeclare function getSelection(): Selection | null;\ndeclare function matchMedia(query: string): MediaQueryList;\ndeclare function moveBy(x: number, y: number): void;\ndeclare function moveTo(x: number, y: number): void;\ndeclare function open(url?: string | URL, target?: string, features?: string): WindowProxy | null;\ndeclare function postMessage(message: any, targetOrigin: string, transfer?: Transferable[]): void;\ndeclare function postMessage(message: any, options?: WindowPostMessageOptions): void;\ndeclare function print(): void;\ndeclare function prompt(message?: string, _default?: string): string | null;\ndeclare function releaseEvents(): void;\ndeclare function requestIdleCallback(callback: IdleRequestCallback, options?: IdleRequestOptions): number;\ndeclare function resizeBy(x: number, y: number): void;\ndeclare function resizeTo(width: number, height: number): void;\ndeclare function scroll(options?: ScrollToOptions): void;\ndeclare function scroll(x: number, y: number): void;\ndeclare function scrollBy(options?: ScrollToOptions): void;\ndeclare function scrollBy(x: number, y: number): void;\ndeclare function scrollTo(options?: ScrollToOptions): void;\ndeclare function scrollTo(x: number, y: number): void;\ndeclare function stop(): void;\ndeclare function toString(): string;\ndeclare function dispatchEvent(event: Event): boolean;\ndeclare function cancelAnimationFrame(handle: number): void;\ndeclare function requestAnimationFrame(callback: FrameRequestCallback): number;\ndeclare var onabort: ((this: Window, ev: UIEvent) => any) | null;\ndeclare var onanimationcancel: ((this: Window, ev: AnimationEvent) => any) | null;\ndeclare var onanimationend: ((this: Window, ev: AnimationEvent) => any) | null;\ndeclare var onanimationiteration: ((this: Window, ev: AnimationEvent) => any) | null;\ndeclare var onanimationstart: ((this: Window, ev: AnimationEvent) => any) | null;\ndeclare var onauxclick: ((this: Window, ev: PointerEvent) => any) | null;\ndeclare var onbeforeinput: ((this: Window, ev: InputEvent) => any) | null;\ndeclare var onbeforematch: ((this: Window, ev: Event) => any) | null;\ndeclare var onbeforetoggle: ((this: Window, ev: ToggleEvent) => any) | null;\ndeclare var onblur: ((this: Window, ev: FocusEvent) => any) | null;\ndeclare var oncancel: ((this: Window, ev: Event) => any) | null;\ndeclare var oncanplay: ((this: Window, ev: Event) => any) | null;\ndeclare var oncanplaythrough: ((this: Window, ev: Event) => any) | null;\ndeclare var onchange: ((this: Window, ev: Event) => any) | null;\ndeclare var onclick: ((this: Window, ev: PointerEvent) => any) | null;\ndeclare var onclose: ((this: Window, ev: Event) => any) | null;\ndeclare var oncommand: ((this: Window, ev: Event) => any) | null;\ndeclare var oncontextlost: ((this: Window, ev: Event) => any) | null;\ndeclare var oncontextmenu: ((this: Window, ev: PointerEvent) => any) | null;\ndeclare var oncontextrestored: ((this: Window, ev: Event) => any) | null;\ndeclare var oncopy: ((this: Window, ev: ClipboardEvent) => any) | null;\ndeclare var oncuechange: ((this: Window, ev: Event) => any) | null;\ndeclare var oncut: ((this: Window, ev: ClipboardEvent) => any) | null;\ndeclare var ondblclick: ((this: Window, ev: MouseEvent) => any) | null;\ndeclare var ondrag: ((this: Window, ev: DragEvent) => any) | null;\ndeclare var ondragend: ((this: Window, ev: DragEvent) => any) | null;\ndeclare var ondragenter: ((this: Window, ev: DragEvent) => any) | null;\ndeclare var ondragleave: ((this: Window, ev: DragEvent) => any) | null;\ndeclare var ondragover: ((this: Window, ev: DragEvent) => any) | null;\ndeclare var ondragstart: ((this: Window, ev: DragEvent) => any) | null;\ndeclare var ondrop: ((this: Window, ev: DragEvent) => any) | null;\ndeclare var ondurationchange: ((this: Window, ev: Event) => any) | null;\ndeclare var onemptied: ((this: Window, ev: Event) => any) | null;\ndeclare var onended: ((this: Window, ev: Event) => any) | null;\ndeclare var onerror: OnErrorEventHandler;\ndeclare var onfocus: ((this: Window, ev: FocusEvent) => any) | null;\ndeclare var onformdata: ((this: Window, ev: FormDataEvent) => any) | null;\ndeclare var ongotpointercapture: ((this: Window, ev: PointerEvent) => any) | null;\ndeclare var oninput: ((this: Window, ev: InputEvent) => any) | null;\ndeclare var oninvalid: ((this: Window, ev: Event) => any) | null;\ndeclare var onkeydown: ((this: Window, ev: KeyboardEvent) => any) | null;\ndeclare var onkeypress: ((this: Window, ev: KeyboardEvent) => any) | null;\ndeclare var onkeyup: ((this: Window, ev: KeyboardEvent) => any) | null;\ndeclare var onload: ((this: Window, ev: Event) => any) | null;\ndeclare var onloadeddata: ((this: Window, ev: Event) => any) | null;\ndeclare var onloadedmetadata: ((this: Window, ev: Event) => any) | null;\ndeclare var onloadstart: ((this: Window, ev: Event) => any) | null;\ndeclare var onlostpointercapture: ((this: Window, ev: PointerEvent) => any) | null;\ndeclare var onmousedown: ((this: Window, ev: MouseEvent) => any) | null;\ndeclare var onmouseenter: ((this: Window, ev: MouseEvent) => any) | null;\ndeclare var onmouseleave: ((this: Window, ev: MouseEvent) => any) | null;\ndeclare var onmousemove: ((this: Window, ev: MouseEvent) => any) | null;\ndeclare var onmouseout: ((this: Window, ev: MouseEvent) => any) | null;\ndeclare var onmouseover: ((this: Window, ev: MouseEvent) => any) | null;\ndeclare var onmouseup: ((this: Window, ev: MouseEvent) => any) | null;\ndeclare var onpaste: ((this: Window, ev: ClipboardEvent) => any) | null;\ndeclare var onpause: ((this: Window, ev: Event) => any) | null;\ndeclare var onplay: ((this: Window, ev: Event) => any) | null;\ndeclare var onplaying: ((this: Window, ev: Event) => any) | null;\ndeclare var onpointercancel: ((this: Window, ev: PointerEvent) => any) | null;\ndeclare var onpointerdown: ((this: Window, ev: PointerEvent) => any) | null;\ndeclare var onpointerenter: ((this: Window, ev: PointerEvent) => any) | null;\ndeclare var onpointerleave: ((this: Window, ev: PointerEvent) => any) | null;\ndeclare var onpointermove: ((this: Window, ev: PointerEvent) => any) | null;\ndeclare var onpointerout: ((this: Window, ev: PointerEvent) => any) | null;\ndeclare var onpointerover: ((this: Window, ev: PointerEvent) => any) | null;\ndeclare var onpointerrawupdate: ((this: Window, ev: Event) => any) | null;\ndeclare var onpointerup: ((this: Window, ev: PointerEvent) => any) | null;\ndeclare var onprogress: ((this: Window, ev: ProgressEvent) => any) | null;\ndeclare var onratechange: ((this: Window, ev: Event) => any) | null;\ndeclare var onreset: ((this: Window, ev: Event) => any) | null;\ndeclare var onresize: ((this: Window, ev: UIEvent) => any) | null;\ndeclare var onscroll: ((this: Window, ev: Event) => any) | null;\ndeclare var onscrollend: ((this: Window, ev: Event) => any) | null;\ndeclare var onsecuritypolicyviolation: ((this: Window, ev: SecurityPolicyViolationEvent) => any) | null;\ndeclare var onseeked: ((this: Window, ev: Event) => any) | null;\ndeclare var onseeking: ((this: Window, ev: Event) => any) | null;\ndeclare var onselect: ((this: Window, ev: Event) => any) | null;\ndeclare var onselectionchange: ((this: Window, ev: Event) => any) | null;\ndeclare var onselectstart: ((this: Window, ev: Event) => any) | null;\ndeclare var onslotchange: ((this: Window, ev: Event) => any) | null;\ndeclare var onstalled: ((this: Window, ev: Event) => any) | null;\ndeclare var onsubmit: ((this: Window, ev: SubmitEvent) => any) | null;\ndeclare var onsuspend: ((this: Window, ev: Event) => any) | null;\ndeclare var ontimeupdate: ((this: Window, ev: Event) => any) | null;\ndeclare var ontoggle: ((this: Window, ev: ToggleEvent) => any) | null;\ndeclare var ontouchcancel: ((this: Window, ev: TouchEvent) => any) | null | undefined;\ndeclare var ontouchend: ((this: Window, ev: TouchEvent) => any) | null | undefined;\ndeclare var ontouchmove: ((this: Window, ev: TouchEvent) => any) | null | undefined;\ndeclare var ontouchstart: ((this: Window, ev: TouchEvent) => any) | null | undefined;\ndeclare var ontransitioncancel: ((this: Window, ev: TransitionEvent) => any) | null;\ndeclare var ontransitionend: ((this: Window, ev: TransitionEvent) => any) | null;\ndeclare var ontransitionrun: ((this: Window, ev: TransitionEvent) => any) | null;\ndeclare var ontransitionstart: ((this: Window, ev: TransitionEvent) => any) | null;\ndeclare var onvolumechange: ((this: Window, ev: Event) => any) | null;\ndeclare var onwaiting: ((this: Window, ev: Event) => any) | null;\ndeclare var onwebkitanimationend: ((this: Window, ev: Event) => any) | null;\ndeclare var onwebkitanimationiteration: ((this: Window, ev: Event) => any) | null;\ndeclare var onwebkitanimationstart: ((this: Window, ev: Event) => any) | null;\ndeclare var onwebkittransitionend: ((this: Window, ev: Event) => any) | null;\ndeclare var onwheel: ((this: Window, ev: WheelEvent) => any) | null;\ndeclare var onafterprint: ((this: Window, ev: Event) => any) | null;\ndeclare var onbeforeprint: ((this: Window, ev: Event) => any) | null;\ndeclare var onbeforeunload: ((this: Window, ev: BeforeUnloadEvent) => any) | null;\ndeclare var ongamepadconnected: ((this: Window, ev: GamepadEvent) => any) | null;\ndeclare var ongamepaddisconnected: ((this: Window, ev: GamepadEvent) => any) | null;\ndeclare var onhashchange: ((this: Window, ev: HashChangeEvent) => any) | null;\ndeclare var onlanguagechange: ((this: Window, ev: Event) => any) | null;\ndeclare var onmessage: ((this: Window, ev: MessageEvent) => any) | null;\ndeclare var onmessageerror: ((this: Window, ev: MessageEvent) => any) | null;\ndeclare var onoffline: ((this: Window, ev: Event) => any) | null;\ndeclare var ononline: ((this: Window, ev: Event) => any) | null;\ndeclare var onpagehide: ((this: Window, ev: PageTransitionEvent) => any) | null;\ndeclare var onpagereveal: ((this: Window, ev: PageRevealEvent) => any) | null;\ndeclare var onpageshow: ((this: Window, ev: PageTransitionEvent) => any) | null;\ndeclare var onpageswap: ((this: Window, ev: PageSwapEvent) => any) | null;\ndeclare var onpopstate: ((this: Window, ev: PopStateEvent) => any) | null;\ndeclare var onrejectionhandled: ((this: Window, ev: PromiseRejectionEvent) => any) | null;\ndeclare var onstorage: ((this: Window, ev: StorageEvent) => any) | null;\ndeclare var onunhandledrejection: ((this: Window, ev: PromiseRejectionEvent) => any) | null;\ndeclare var onunload: ((this: Window, ev: Event) => any) | null;\ndeclare var localStorage: Storage;\ndeclare var caches: CacheStorage;\ndeclare var crossOriginIsolated: boolean;\ndeclare var crypto: Crypto;\ndeclare var indexedDB: IDBFactory;\ndeclare var isSecureContext: boolean;\ndeclare var origin: string;\ndeclare var performance: Performance;\ndeclare var scheduler: Scheduler;\ndeclare function atob(data: string): string;\ndeclare function btoa(data: string): string;\ndeclare function clearInterval(id: number | undefined): void;\ndeclare function clearTimeout(id: number | undefined): void;\ndeclare function createImageBitmap(image: ImageBitmapSource, options?: ImageBitmapOptions): Promise<ImageBitmap>;\ndeclare function createImageBitmap(image: ImageBitmapSource, sx: number, sy: number, sw: number, sh: number, options?: ImageBitmapOptions): Promise<ImageBitmap>;\ndeclare function fetch(input: RequestInfo | URL, init?: RequestInit): Promise<Response>;\ndeclare function queueMicrotask(callback: VoidFunction): void;\ndeclare function reportError(e: any): void;\ndeclare function setInterval(handler: TimerHandler, timeout?: number, ...arguments: any[]): number;\ndeclare function setTimeout(handler: TimerHandler, timeout?: number, ...arguments: any[]): number;\ndeclare function structuredClone<T = any>(value: T, options?: StructuredSerializeOptions): T;\ndeclare var sessionStorage: Storage;\ndeclare function addEventListener<K extends keyof WindowEventMap>(type: K, listener: (this: Window, ev: WindowEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\ndeclare function addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\ndeclare function removeEventListener<K extends keyof WindowEventMap>(type: K, listener: (this: Window, ev: WindowEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\ndeclare function removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\ntype AlgorithmIdentifier = Algorithm | string;\ntype AllowSharedBufferSource = ArrayBufferLike | ArrayBufferView<ArrayBufferLike>;\ntype AutoFill = AutoFillBase | `${OptionalPrefixToken<AutoFillSection>}${OptionalPrefixToken<AutoFillAddressKind>}${AutoFillField}${OptionalPostfixToken<AutoFillCredentialField>}`;\ntype AutoFillField = AutoFillNormalField | `${OptionalPrefixToken<AutoFillContactKind>}${AutoFillContactField}`;\ntype AutoFillSection = `section-${string}`;\ntype Base64URLString = string;\ntype BigInteger = Uint8Array<ArrayBuffer>;\ntype BlobPart = BufferSource | Blob | string;\ntype BodyInit = ReadableStream | XMLHttpRequestBodyInit;\ntype BufferSource = ArrayBufferView<ArrayBuffer> | ArrayBuffer;\ntype COSEAlgorithmIdentifier = number;\ntype CSSKeywordish = string | CSSKeywordValue;\ntype CSSNumberish = number | CSSNumericValue;\ntype CSSPerspectiveValue = CSSNumericValue | CSSKeywordish;\ntype CSSUnparsedSegment = string | CSSVariableReferenceValue;\ntype CanvasImageSource = HTMLOrSVGImageElement | HTMLVideoElement | HTMLCanvasElement | ImageBitmap | OffscreenCanvas | VideoFrame;\ntype ClipboardItemData = Promise<string | Blob>;\ntype ClipboardItems = ClipboardItem[];\ntype ConstrainBoolean = boolean | ConstrainBooleanParameters;\ntype ConstrainBooleanOrDOMString = boolean | string | ConstrainBooleanOrDOMStringParameters;\ntype ConstrainDOMString = string | string[] | ConstrainDOMStringParameters;\ntype ConstrainDouble = number | ConstrainDoubleRange;\ntype ConstrainULong = number | ConstrainULongRange;\ntype CookieList = CookieListItem[];\ntype DOMHighResTimeStamp = number;\ntype EpochTimeStamp = number;\ntype EventListenerOrEventListenerObject = EventListener | EventListenerObject;\ntype FileSystemWriteChunkType = BufferSource | Blob | string | WriteParams;\ntype Float32List = Float32Array<ArrayBufferLike> | GLfloat[];\ntype FormDataEntryValue = File | string;\ntype GLbitfield = number;\ntype GLboolean = boolean;\ntype GLclampf = number;\ntype GLenum = number;\ntype GLfloat = number;\ntype GLint = number;\ntype GLint64 = number;\ntype GLintptr = number;\ntype GLsizei = number;\ntype GLsizeiptr = number;\ntype GLuint = number;\ntype GLuint64 = number;\ntype GPUBindingResource = GPUSampler | GPUTexture | GPUTextureView | GPUBuffer | GPUBufferBinding | GPUExternalTexture;\ntype GPUBufferDynamicOffset = number;\ntype GPUBufferUsageFlags = number;\ntype GPUColor = number[] | GPUColorDict;\ntype GPUColorWriteFlags = number;\ntype GPUCopyExternalImageSource = ImageBitmap | ImageData | HTMLImageElement | HTMLVideoElement | VideoFrame | HTMLCanvasElement | OffscreenCanvas;\ntype GPUDepthBias = number;\ntype GPUExtent3D = GPUIntegerCoordinate[] | GPUExtent3DDict;\ntype GPUFlagsConstant = number;\ntype GPUIndex32 = number;\ntype GPUIntegerCoordinate = number;\ntype GPUIntegerCoordinateOut = number;\ntype GPUMapModeFlags = number;\ntype GPUOrigin2D = GPUIntegerCoordinate[] | GPUOrigin2DDict;\ntype GPUOrigin3D = GPUIntegerCoordinate[] | GPUOrigin3DDict;\ntype GPUPipelineConstantValue = number;\ntype GPUSampleMask = number;\ntype GPUShaderStageFlags = number;\ntype GPUSignedOffset32 = number;\ntype GPUSize32 = number;\ntype GPUSize32Out = number;\ntype GPUSize64 = number;\ntype GPUSize64Out = number;\ntype GPUStencilValue = number;\ntype GPUTextureUsageFlags = number;\ntype HTMLOrSVGImageElement = HTMLImageElement | SVGImageElement;\ntype HTMLOrSVGScriptElement = HTMLScriptElement | SVGScriptElement;\ntype HashAlgorithmIdentifier = AlgorithmIdentifier;\ntype HeadersInit = [\n    string,\n    string\n][] | Record<string, string> | Headers;\ntype IDBValidKey = number | string | Date | BufferSource | IDBValidKey[];\ntype ImageBitmapSource = CanvasImageSource | Blob | ImageData;\ntype ImageBufferSource = AllowSharedBufferSource | ReadableStream;\ntype ImageDataArray = Uint8ClampedArray<ArrayBuffer>;\ntype Int32List = Int32Array<ArrayBufferLike> | GLint[];\ntype LineAndPositionSetting = number | AutoKeyword;\ntype MediaProvider = MediaStream | MediaSource | Blob;\ntype MessageEventSource = WindowProxy | MessagePort | ServiceWorker;\ntype MutationRecordType = \"attributes\" | \"characterData\" | \"childList\";\ntype NamedCurve = string;\ntype OffscreenRenderingContext = OffscreenCanvasRenderingContext2D | ImageBitmapRenderingContext | WebGLRenderingContext | WebGL2RenderingContext | GPUCanvasContext;\ntype OnBeforeUnloadEventHandler = OnBeforeUnloadEventHandlerNonNull | null;\ntype OnErrorEventHandler = OnErrorEventHandlerNonNull | null;\ntype OptionalPostfixToken<T extends string> = ` ${T}` | \"\";\ntype OptionalPrefixToken<T extends string> = `${T} ` | \"\";\ntype PerformanceEntryList = PerformanceEntry[];\ntype PublicKeyCredentialClientCapabilities = Record<string, boolean>;\ntype RTCRtpReceiverTransform = RTCRtpScriptTransform;\ntype RTCRtpSenderTransform = RTCRtpScriptTransform;\ntype ReadableStreamController<T> = ReadableStreamDefaultController<T> | ReadableByteStreamController;\ntype ReadableStreamReadResult<T> = ReadableStreamReadValueResult<T> | ReadableStreamReadDoneResult<T>;\ntype ReadableStreamReader<T> = ReadableStreamDefaultReader<T> | ReadableStreamBYOBReader;\ntype RenderingContext = CanvasRenderingContext2D | ImageBitmapRenderingContext | WebGLRenderingContext | WebGL2RenderingContext | GPUCanvasContext;\ntype ReportList = Report[];\ntype RequestInfo = Request | string;\ntype SanitizerAttribute = string | SanitizerAttributeNamespace;\ntype SanitizerElement = string | SanitizerElementNamespace;\ntype SanitizerElementWithAttributes = string | SanitizerElementNamespaceWithAttributes;\ntype SelectionDirection = \"forward\" | \"backward\" | \"none\";\ntype TexImageSource = ImageBitmap | ImageData | HTMLImageElement | HTMLCanvasElement | HTMLVideoElement | OffscreenCanvas | VideoFrame;\ntype TimerHandler = string | Function;\ntype Transferable = OffscreenCanvas | ImageBitmap | MessagePort | MediaSourceHandle | ReadableStream | WritableStream | TransformStream | AudioData | VideoFrame | RTCDataChannel | ArrayBuffer;\ntype URLPatternInput = string | URLPatternInit;\ntype Uint32List = Uint32Array<ArrayBufferLike> | GLuint[];\ntype VibratePattern = number | number[];\ntype WindowProxy = Window;\ntype XMLHttpRequestBodyInit = Blob | BufferSource | FormData | URLSearchParams | string;\ntype AacBitstreamFormat = \"aac\" | \"adts\";\ntype AlignSetting = \"center\" | \"end\" | \"left\" | \"right\" | \"start\";\ntype AlphaOption = \"discard\" | \"keep\";\ntype AnimationPlayState = \"finished\" | \"idle\" | \"paused\" | \"running\";\ntype AnimationReplaceState = \"active\" | \"persisted\" | \"removed\";\ntype AppendMode = \"segments\" | \"sequence\";\ntype AttestationConveyancePreference = \"direct\" | \"enterprise\" | \"indirect\" | \"none\";\ntype AudioContextLatencyCategory = \"balanced\" | \"interactive\" | \"playback\";\ntype AudioContextState = \"closed\" | \"interrupted\" | \"running\" | \"suspended\";\ntype AudioSampleFormat = \"f32\" | \"f32-planar\" | \"s16\" | \"s16-planar\" | \"s32\" | \"s32-planar\" | \"u8\" | \"u8-planar\";\ntype AuthenticatorAttachment = \"cross-platform\" | \"platform\";\ntype AuthenticatorTransport = \"ble\" | \"hybrid\" | \"internal\" | \"nfc\" | \"usb\";\ntype AutoFillAddressKind = \"billing\" | \"shipping\";\ntype AutoFillBase = \"\" | \"off\" | \"on\";\ntype AutoFillContactField = \"email\" | \"tel\" | \"tel-area-code\" | \"tel-country-code\" | \"tel-extension\" | \"tel-local\" | \"tel-local-prefix\" | \"tel-local-suffix\" | \"tel-national\";\ntype AutoFillContactKind = \"home\" | \"mobile\" | \"work\";\ntype AutoFillCredentialField = \"webauthn\";\ntype AutoFillNormalField = \"additional-name\" | \"address-level1\" | \"address-level2\" | \"address-level3\" | \"address-level4\" | \"address-line1\" | \"address-line2\" | \"address-line3\" | \"bday-day\" | \"bday-month\" | \"bday-year\" | \"cc-csc\" | \"cc-exp\" | \"cc-exp-month\" | \"cc-exp-year\" | \"cc-family-name\" | \"cc-given-name\" | \"cc-name\" | \"cc-number\" | \"cc-type\" | \"country\" | \"country-name\" | \"current-password\" | \"family-name\" | \"given-name\" | \"honorific-prefix\" | \"honorific-suffix\" | \"name\" | \"new-password\" | \"one-time-code\" | \"organization\" | \"postal-code\" | \"street-address\" | \"transaction-amount\" | \"transaction-currency\" | \"username\";\ntype AutoKeyword = \"auto\";\ntype AutomationRate = \"a-rate\" | \"k-rate\";\ntype AvcBitstreamFormat = \"annexb\" | \"avc\";\ntype BinaryType = \"arraybuffer\" | \"blob\";\ntype BiquadFilterType = \"allpass\" | \"bandpass\" | \"highpass\" | \"highshelf\" | \"lowpass\" | \"lowshelf\" | \"notch\" | \"peaking\";\ntype BitrateMode = \"constant\" | \"variable\";\ntype CSSMathOperator = \"clamp\" | \"invert\" | \"max\" | \"min\" | \"negate\" | \"product\" | \"sum\";\ntype CSSNumericBaseType = \"angle\" | \"flex\" | \"frequency\" | \"length\" | \"percent\" | \"resolution\" | \"time\";\ntype CanPlayTypeResult = \"\" | \"maybe\" | \"probably\";\ntype CanvasDirection = \"inherit\" | \"ltr\" | \"rtl\";\ntype CanvasFillRule = \"evenodd\" | \"nonzero\";\ntype CanvasFontKerning = \"auto\" | \"none\" | \"normal\";\ntype CanvasFontStretch = \"condensed\" | \"expanded\" | \"extra-condensed\" | \"extra-expanded\" | \"normal\" | \"semi-condensed\" | \"semi-expanded\" | \"ultra-condensed\" | \"ultra-expanded\";\ntype CanvasFontVariantCaps = \"all-petite-caps\" | \"all-small-caps\" | \"normal\" | \"petite-caps\" | \"small-caps\" | \"titling-caps\" | \"unicase\";\ntype CanvasLineCap = \"butt\" | \"round\" | \"square\";\ntype CanvasLineJoin = \"bevel\" | \"miter\" | \"round\";\ntype CanvasTextAlign = \"center\" | \"end\" | \"left\" | \"right\" | \"start\";\ntype CanvasTextBaseline = \"alphabetic\" | \"bottom\" | \"hanging\" | \"ideographic\" | \"middle\" | \"top\";\ntype CanvasTextRendering = \"auto\" | \"geometricPrecision\" | \"optimizeLegibility\" | \"optimizeSpeed\";\ntype ChannelCountMode = \"clamped-max\" | \"explicit\" | \"max\";\ntype ChannelInterpretation = \"discrete\" | \"speakers\";\ntype ClientTypes = \"all\" | \"sharedworker\" | \"window\" | \"worker\";\ntype CodecState = \"closed\" | \"configured\" | \"unconfigured\";\ntype ColorGamut = \"p3\" | \"rec2020\" | \"srgb\";\ntype ColorSpaceConversion = \"default\" | \"none\";\ntype CompositeOperation = \"accumulate\" | \"add\" | \"replace\";\ntype CompositeOperationOrAuto = \"accumulate\" | \"add\" | \"auto\" | \"replace\";\ntype CompressionFormat = \"deflate\" | \"deflate-raw\" | \"gzip\";\ntype CookieSameSite = \"lax\" | \"none\" | \"strict\";\ntype CredentialMediationRequirement = \"conditional\" | \"optional\" | \"required\" | \"silent\";\ntype DOMParserSupportedType = \"application/xhtml+xml\" | \"application/xml\" | \"image/svg+xml\" | \"text/html\" | \"text/xml\";\ntype DirectionSetting = \"\" | \"lr\" | \"rl\";\ntype DisplayCaptureSurfaceType = \"browser\" | \"monitor\" | \"window\";\ntype DistanceModelType = \"exponential\" | \"inverse\" | \"linear\";\ntype DocumentReadyState = \"complete\" | \"interactive\" | \"loading\";\ntype DocumentVisibilityState = \"hidden\" | \"visible\";\ntype EncodedAudioChunkType = \"delta\" | \"key\";\ntype EncodedVideoChunkType = \"delta\" | \"key\";\ntype EndOfStreamError = \"decode\" | \"network\";\ntype EndingType = \"native\" | \"transparent\";\ntype FileSystemHandleKind = \"directory\" | \"file\";\ntype FillLightMode = \"auto\" | \"flash\" | \"off\";\ntype FillMode = \"auto\" | \"backwards\" | \"both\" | \"forwards\" | \"none\";\ntype FontDisplay = \"auto\" | \"block\" | \"fallback\" | \"optional\" | \"swap\";\ntype FontFaceLoadStatus = \"error\" | \"loaded\" | \"loading\" | \"unloaded\";\ntype FontFaceSetLoadStatus = \"loaded\" | \"loading\";\ntype FullscreenNavigationUI = \"auto\" | \"hide\" | \"show\";\ntype GPUAddressMode = \"clamp-to-edge\" | \"mirror-repeat\" | \"repeat\";\ntype GPUAutoLayoutMode = \"auto\";\ntype GPUBlendFactor = \"constant\" | \"dst\" | \"dst-alpha\" | \"one\" | \"one-minus-constant\" | \"one-minus-dst\" | \"one-minus-dst-alpha\" | \"one-minus-src\" | \"one-minus-src-alpha\" | \"src\" | \"src-alpha\" | \"src-alpha-saturated\" | \"zero\";\ntype GPUBlendOperation = \"add\" | \"max\" | \"min\" | \"reverse-subtract\" | \"subtract\";\ntype GPUBufferBindingType = \"read-only-storage\" | \"storage\" | \"uniform\";\ntype GPUBufferMapState = \"mapped\" | \"pending\" | \"unmapped\";\ntype GPUCanvasAlphaMode = \"opaque\" | \"premultiplied\";\ntype GPUCanvasToneMappingMode = \"extended\" | \"standard\";\ntype GPUCompareFunction = \"always\" | \"equal\" | \"greater\" | \"greater-equal\" | \"less\" | \"less-equal\" | \"never\" | \"not-equal\";\ntype GPUCompilationMessageType = \"error\" | \"info\" | \"warning\";\ntype GPUCullMode = \"back\" | \"front\" | \"none\";\ntype GPUDeviceLostReason = \"destroyed\" | \"unknown\";\ntype GPUErrorFilter = \"internal\" | \"out-of-memory\" | \"validation\";\ntype GPUFeatureName = \"bgra8unorm-storage\" | \"clip-distances\" | \"core-features-and-limits\" | \"depth-clip-control\" | \"depth32float-stencil8\" | \"dual-source-blending\" | \"float32-blendable\" | \"float32-filterable\" | \"indirect-first-instance\" | \"primitive-index\" | \"rg11b10ufloat-renderable\" | \"shader-f16\" | \"subgroups\" | \"texture-compression-astc\" | \"texture-compression-astc-sliced-3d\" | \"texture-compression-bc\" | \"texture-compression-bc-sliced-3d\" | \"texture-compression-etc2\" | \"texture-formats-tier1\" | \"timestamp-query\";\ntype GPUFilterMode = \"linear\" | \"nearest\";\ntype GPUFrontFace = \"ccw\" | \"cw\";\ntype GPUIndexFormat = \"uint16\" | \"uint32\";\ntype GPULoadOp = \"clear\" | \"load\";\ntype GPUMipmapFilterMode = \"linear\" | \"nearest\";\ntype GPUPipelineErrorReason = \"internal\" | \"validation\";\ntype GPUPowerPreference = \"high-performance\" | \"low-power\";\ntype GPUPrimitiveTopology = \"line-list\" | \"line-strip\" | \"point-list\" | \"triangle-list\" | \"triangle-strip\";\ntype GPUQueryType = \"occlusion\" | \"timestamp\";\ntype GPUSamplerBindingType = \"comparison\" | \"filtering\" | \"non-filtering\";\ntype GPUStencilOperation = \"decrement-clamp\" | \"decrement-wrap\" | \"increment-clamp\" | \"increment-wrap\" | \"invert\" | \"keep\" | \"replace\" | \"zero\";\ntype GPUStorageTextureAccess = \"read-only\" | \"read-write\" | \"write-only\";\ntype GPUStoreOp = \"discard\" | \"store\";\ntype GPUTextureAspect = \"all\" | \"depth-only\" | \"stencil-only\";\ntype GPUTextureDimension = \"1d\" | \"2d\" | \"3d\";\ntype GPUTextureFormat = \"astc-10x10-unorm\" | \"astc-10x10-unorm-srgb\" | \"astc-10x5-unorm\" | \"astc-10x5-unorm-srgb\" | \"astc-10x6-unorm\" | \"astc-10x6-unorm-srgb\" | \"astc-10x8-unorm\" | \"astc-10x8-unorm-srgb\" | \"astc-12x10-unorm\" | \"astc-12x10-unorm-srgb\" | \"astc-12x12-unorm\" | \"astc-12x12-unorm-srgb\" | \"astc-4x4-unorm\" | \"astc-4x4-unorm-srgb\" | \"astc-5x4-unorm\" | \"astc-5x4-unorm-srgb\" | \"astc-5x5-unorm\" | \"astc-5x5-unorm-srgb\" | \"astc-6x5-unorm\" | \"astc-6x5-unorm-srgb\" | \"astc-6x6-unorm\" | \"astc-6x6-unorm-srgb\" | \"astc-8x5-unorm\" | \"astc-8x5-unorm-srgb\" | \"astc-8x6-unorm\" | \"astc-8x6-unorm-srgb\" | \"astc-8x8-unorm\" | \"astc-8x8-unorm-srgb\" | \"bc1-rgba-unorm\" | \"bc1-rgba-unorm-srgb\" | \"bc2-rgba-unorm\" | \"bc2-rgba-unorm-srgb\" | \"bc3-rgba-unorm\" | \"bc3-rgba-unorm-srgb\" | \"bc4-r-snorm\" | \"bc4-r-unorm\" | \"bc5-rg-snorm\" | \"bc5-rg-unorm\" | \"bc6h-rgb-float\" | \"bc6h-rgb-ufloat\" | \"bc7-rgba-unorm\" | \"bc7-rgba-unorm-srgb\" | \"bgra8unorm\" | \"bgra8unorm-srgb\" | \"depth16unorm\" | \"depth24plus\" | \"depth24plus-stencil8\" | \"depth32float\" | \"depth32float-stencil8\" | \"eac-r11snorm\" | \"eac-r11unorm\" | \"eac-rg11snorm\" | \"eac-rg11unorm\" | \"etc2-rgb8a1unorm\" | \"etc2-rgb8a1unorm-srgb\" | \"etc2-rgb8unorm\" | \"etc2-rgb8unorm-srgb\" | \"etc2-rgba8unorm\" | \"etc2-rgba8unorm-srgb\" | \"r16float\" | \"r16sint\" | \"r16snorm\" | \"r16uint\" | \"r16unorm\" | \"r32float\" | \"r32sint\" | \"r32uint\" | \"r8sint\" | \"r8snorm\" | \"r8uint\" | \"r8unorm\" | \"rg11b10ufloat\" | \"rg16float\" | \"rg16sint\" | \"rg16snorm\" | \"rg16uint\" | \"rg16unorm\" | \"rg32float\" | \"rg32sint\" | \"rg32uint\" | \"rg8sint\" | \"rg8snorm\" | \"rg8uint\" | \"rg8unorm\" | \"rgb10a2uint\" | \"rgb10a2unorm\" | \"rgb9e5ufloat\" | \"rgba16float\" | \"rgba16sint\" | \"rgba16snorm\" | \"rgba16uint\" | \"rgba16unorm\" | \"rgba32float\" | \"rgba32sint\" | \"rgba32uint\" | \"rgba8sint\" | \"rgba8snorm\" | \"rgba8uint\" | \"rgba8unorm\" | \"rgba8unorm-srgb\" | \"stencil8\";\ntype GPUTextureSampleType = \"depth\" | \"float\" | \"sint\" | \"uint\" | \"unfilterable-float\";\ntype GPUTextureViewDimension = \"1d\" | \"2d\" | \"2d-array\" | \"3d\" | \"cube\" | \"cube-array\";\ntype GPUVertexFormat = \"float16\" | \"float16x2\" | \"float16x4\" | \"float32\" | \"float32x2\" | \"float32x3\" | \"float32x4\" | \"sint16\" | \"sint16x2\" | \"sint16x4\" | \"sint32\" | \"sint32x2\" | \"sint32x3\" | \"sint32x4\" | \"sint8\" | \"sint8x2\" | \"sint8x4\" | \"snorm16\" | \"snorm16x2\" | \"snorm16x4\" | \"snorm8\" | \"snorm8x2\" | \"snorm8x4\" | \"uint16\" | \"uint16x2\" | \"uint16x4\" | \"uint32\" | \"uint32x2\" | \"uint32x3\" | \"uint32x4\" | \"uint8\" | \"uint8x2\" | \"uint8x4\" | \"unorm10-10-10-2\" | \"unorm16\" | \"unorm16x2\" | \"unorm16x4\" | \"unorm8\" | \"unorm8x2\" | \"unorm8x4\" | \"unorm8x4-bgra\";\ntype GPUVertexStepMode = \"instance\" | \"vertex\";\ntype GamepadHapticEffectType = \"dual-rumble\" | \"trigger-rumble\";\ntype GamepadHapticsResult = \"complete\" | \"preempted\";\ntype GamepadMappingType = \"\" | \"standard\" | \"xr-standard\";\ntype GlobalCompositeOperation = \"color\" | \"color-burn\" | \"color-dodge\" | \"copy\" | \"darken\" | \"destination-atop\" | \"destination-in\" | \"destination-out\" | \"destination-over\" | \"difference\" | \"exclusion\" | \"hard-light\" | \"hue\" | \"lighten\" | \"lighter\" | \"luminosity\" | \"multiply\" | \"overlay\" | \"saturation\" | \"screen\" | \"soft-light\" | \"source-atop\" | \"source-in\" | \"source-out\" | \"source-over\" | \"xor\";\ntype HardwareAcceleration = \"no-preference\" | \"prefer-hardware\" | \"prefer-software\";\ntype HdrMetadataType = \"smpteSt2086\" | \"smpteSt2094-10\" | \"smpteSt2094-40\";\ntype HighlightType = \"grammar-error\" | \"highlight\" | \"spelling-error\";\ntype IDBCursorDirection = \"next\" | \"nextunique\" | \"prev\" | \"prevunique\";\ntype IDBRequestReadyState = \"done\" | \"pending\";\ntype IDBTransactionDurability = \"default\" | \"relaxed\" | \"strict\";\ntype IDBTransactionMode = \"readonly\" | \"readwrite\" | \"versionchange\";\ntype ImageDataPixelFormat = \"rgba-float16\" | \"rgba-unorm8\";\ntype ImageOrientation = \"flipY\" | \"from-image\" | \"none\";\ntype ImageSmoothingQuality = \"high\" | \"low\" | \"medium\";\ntype InsertPosition = \"afterbegin\" | \"afterend\" | \"beforebegin\" | \"beforeend\";\ntype IterationCompositeOperation = \"accumulate\" | \"replace\";\ntype KeyFormat = \"jwk\" | \"pkcs8\" | \"raw\" | \"spki\";\ntype KeyType = \"private\" | \"public\" | \"secret\";\ntype KeyUsage = \"decrypt\" | \"deriveBits\" | \"deriveKey\" | \"encrypt\" | \"sign\" | \"unwrapKey\" | \"verify\" | \"wrapKey\";\ntype LatencyMode = \"quality\" | \"realtime\";\ntype LineAlignSetting = \"center\" | \"end\" | \"start\";\ntype LockMode = \"exclusive\" | \"shared\";\ntype LoginStatus = \"logged-in\" | \"logged-out\";\ntype MIDIPortConnectionState = \"closed\" | \"open\" | \"pending\";\ntype MIDIPortDeviceState = \"connected\" | \"disconnected\";\ntype MIDIPortType = \"input\" | \"output\";\ntype MediaDecodingType = \"file\" | \"media-source\" | \"webrtc\";\ntype MediaDeviceKind = \"audioinput\" | \"audiooutput\" | \"videoinput\";\ntype MediaEncodingType = \"record\" | \"webrtc\";\ntype MediaKeyMessageType = \"individualization-request\" | \"license-release\" | \"license-renewal\" | \"license-request\";\ntype MediaKeySessionClosedReason = \"closed-by-application\" | \"hardware-context-reset\" | \"internal-error\" | \"release-acknowledged\" | \"resource-evicted\";\ntype MediaKeySessionType = \"persistent-license\" | \"temporary\";\ntype MediaKeyStatus = \"expired\" | \"internal-error\" | \"output-downscaled\" | \"output-restricted\" | \"released\" | \"status-pending\" | \"usable\" | \"usable-in-future\";\ntype MediaKeysRequirement = \"not-allowed\" | \"optional\" | \"required\";\ntype MediaSessionAction = \"nexttrack\" | \"pause\" | \"play\" | \"previoustrack\" | \"seekbackward\" | \"seekforward\" | \"seekto\" | \"skipad\" | \"stop\";\ntype MediaSessionPlaybackState = \"none\" | \"paused\" | \"playing\";\ntype MediaStreamTrackState = \"ended\" | \"live\";\ntype NavigationFocusReset = \"after-transition\" | \"manual\";\ntype NavigationHistoryBehavior = \"auto\" | \"push\" | \"replace\";\ntype NavigationScrollBehavior = \"after-transition\" | \"manual\";\ntype NavigationTimingType = \"back_forward\" | \"navigate\" | \"reload\";\ntype NavigationType = \"push\" | \"reload\" | \"replace\" | \"traverse\";\ntype NotificationDirection = \"auto\" | \"ltr\" | \"rtl\";\ntype NotificationPermission = \"default\" | \"denied\" | \"granted\";\ntype OffscreenRenderingContextId = \"2d\" | \"bitmaprenderer\" | \"webgl\" | \"webgl2\" | \"webgpu\";\ntype OpusBitstreamFormat = \"ogg\" | \"opus\";\ntype OrientationLockType = \"any\" | \"landscape\" | \"landscape-primary\" | \"landscape-secondary\" | \"natural\" | \"portrait\" | \"portrait-primary\" | \"portrait-secondary\";\ntype OrientationType = \"landscape-primary\" | \"landscape-secondary\" | \"portrait-primary\" | \"portrait-secondary\";\ntype OscillatorType = \"custom\" | \"sawtooth\" | \"sine\" | \"square\" | \"triangle\";\ntype OverSampleType = \"2x\" | \"4x\" | \"none\";\ntype PanningModelType = \"HRTF\" | \"equalpower\";\ntype PaymentComplete = \"fail\" | \"success\" | \"unknown\";\ntype PaymentShippingType = \"delivery\" | \"pickup\" | \"shipping\";\ntype PermissionName = \"camera\" | \"geolocation\" | \"microphone\" | \"midi\" | \"notifications\" | \"persistent-storage\" | \"push\" | \"screen-wake-lock\" | \"storage-access\";\ntype PermissionState = \"denied\" | \"granted\" | \"prompt\";\ntype PlaybackDirection = \"alternate\" | \"alternate-reverse\" | \"normal\" | \"reverse\";\ntype PositionAlignSetting = \"auto\" | \"center\" | \"line-left\" | \"line-right\";\ntype PredefinedColorSpace = \"display-p3\" | \"srgb\";\ntype PremultiplyAlpha = \"default\" | \"none\" | \"premultiply\";\ntype PresentationStyle = \"attachment\" | \"inline\" | \"unspecified\";\ntype PublicKeyCredentialType = \"public-key\";\ntype PushEncryptionKeyName = \"auth\" | \"p256dh\";\ntype RTCBundlePolicy = \"balanced\" | \"max-bundle\" | \"max-compat\";\ntype RTCDataChannelState = \"closed\" | \"closing\" | \"connecting\" | \"open\";\ntype RTCDegradationPreference = \"balanced\" | \"maintain-framerate\" | \"maintain-resolution\";\ntype RTCDtlsRole = \"client\" | \"server\" | \"unknown\";\ntype RTCDtlsTransportState = \"closed\" | \"connected\" | \"connecting\" | \"failed\" | \"new\";\ntype RTCErrorDetailType = \"data-channel-failure\" | \"dtls-failure\" | \"fingerprint-failure\" | \"hardware-encoder-error\" | \"hardware-encoder-not-available\" | \"sctp-failure\" | \"sdp-syntax-error\";\ntype RTCIceCandidateType = \"host\" | \"prflx\" | \"relay\" | \"srflx\";\ntype RTCIceComponent = \"rtcp\" | \"rtp\";\ntype RTCIceConnectionState = \"checking\" | \"closed\" | \"completed\" | \"connected\" | \"disconnected\" | \"failed\" | \"new\";\ntype RTCIceGathererState = \"complete\" | \"gathering\" | \"new\";\ntype RTCIceGatheringState = \"complete\" | \"gathering\" | \"new\";\ntype RTCIceProtocol = \"tcp\" | \"udp\";\ntype RTCIceRole = \"controlled\" | \"controlling\" | \"unknown\";\ntype RTCIceTcpCandidateType = \"active\" | \"passive\" | \"so\";\ntype RTCIceTransportPolicy = \"all\" | \"relay\";\ntype RTCIceTransportState = \"checking\" | \"closed\" | \"completed\" | \"connected\" | \"disconnected\" | \"failed\" | \"new\";\ntype RTCPeerConnectionState = \"closed\" | \"connected\" | \"connecting\" | \"disconnected\" | \"failed\" | \"new\";\ntype RTCPriorityType = \"high\" | \"low\" | \"medium\" | \"very-low\";\ntype RTCQualityLimitationReason = \"bandwidth\" | \"cpu\" | \"none\" | \"other\";\ntype RTCRtcpMuxPolicy = \"require\";\ntype RTCRtpTransceiverDirection = \"inactive\" | \"recvonly\" | \"sendonly\" | \"sendrecv\" | \"stopped\";\ntype RTCSctpTransportState = \"closed\" | \"connected\" | \"connecting\";\ntype RTCSdpType = \"answer\" | \"offer\" | \"pranswer\" | \"rollback\";\ntype RTCSignalingState = \"closed\" | \"have-local-offer\" | \"have-local-pranswer\" | \"have-remote-offer\" | \"have-remote-pranswer\" | \"stable\";\ntype RTCStatsIceCandidatePairState = \"failed\" | \"frozen\" | \"in-progress\" | \"succeeded\" | \"waiting\";\ntype RTCStatsType = \"candidate-pair\" | \"certificate\" | \"codec\" | \"data-channel\" | \"inbound-rtp\" | \"local-candidate\" | \"media-playout\" | \"media-source\" | \"outbound-rtp\" | \"peer-connection\" | \"remote-candidate\" | \"remote-inbound-rtp\" | \"remote-outbound-rtp\" | \"transport\";\ntype ReadableStreamReaderMode = \"byob\";\ntype ReadableStreamType = \"bytes\";\ntype ReadyState = \"closed\" | \"ended\" | \"open\";\ntype RecordingState = \"inactive\" | \"paused\" | \"recording\";\ntype RedEyeReduction = \"always\" | \"controllable\" | \"never\";\ntype ReferrerPolicy = \"\" | \"no-referrer\" | \"no-referrer-when-downgrade\" | \"origin\" | \"origin-when-cross-origin\" | \"same-origin\" | \"strict-origin\" | \"strict-origin-when-cross-origin\" | \"unsafe-url\";\ntype RemotePlaybackState = \"connected\" | \"connecting\" | \"disconnected\";\ntype RequestCache = \"default\" | \"force-cache\" | \"no-cache\" | \"no-store\" | \"only-if-cached\" | \"reload\";\ntype RequestCredentials = \"include\" | \"omit\" | \"same-origin\";\ntype RequestDestination = \"\" | \"audio\" | \"audioworklet\" | \"document\" | \"embed\" | \"font\" | \"frame\" | \"iframe\" | \"image\" | \"manifest\" | \"object\" | \"paintworklet\" | \"report\" | \"script\" | \"sharedworker\" | \"style\" | \"track\" | \"video\" | \"worker\" | \"xslt\";\ntype RequestMode = \"cors\" | \"navigate\" | \"no-cors\" | \"same-origin\";\ntype RequestPriority = \"auto\" | \"high\" | \"low\";\ntype RequestRedirect = \"error\" | \"follow\" | \"manual\";\ntype ResidentKeyRequirement = \"discouraged\" | \"preferred\" | \"required\";\ntype ResizeObserverBoxOptions = \"border-box\" | \"content-box\" | \"device-pixel-content-box\";\ntype ResizeQuality = \"high\" | \"low\" | \"medium\" | \"pixelated\";\ntype ResponseType = \"basic\" | \"cors\" | \"default\" | \"error\" | \"opaque\" | \"opaqueredirect\";\ntype SanitizerPresets = \"default\";\ntype ScrollAxis = \"block\" | \"inline\" | \"x\" | \"y\";\ntype ScrollBehavior = \"auto\" | \"instant\" | \"smooth\";\ntype ScrollLogicalPosition = \"center\" | \"end\" | \"nearest\" | \"start\";\ntype ScrollRestoration = \"auto\" | \"manual\";\ntype ScrollSetting = \"\" | \"up\";\ntype SecurityPolicyViolationEventDisposition = \"enforce\" | \"report\";\ntype SelectionMode = \"end\" | \"preserve\" | \"select\" | \"start\";\ntype ServiceWorkerState = \"activated\" | \"activating\" | \"installed\" | \"installing\" | \"parsed\" | \"redundant\";\ntype ServiceWorkerUpdateViaCache = \"all\" | \"imports\" | \"none\";\ntype ShadowRootMode = \"closed\" | \"open\";\ntype SlotAssignmentMode = \"manual\" | \"named\";\ntype SpeechRecognitionErrorCode = \"aborted\" | \"audio-capture\" | \"language-not-supported\" | \"network\" | \"no-speech\" | \"not-allowed\" | \"phrases-not-supported\" | \"service-not-allowed\";\ntype SpeechSynthesisErrorCode = \"audio-busy\" | \"audio-hardware\" | \"canceled\" | \"interrupted\" | \"invalid-argument\" | \"language-unavailable\" | \"network\" | \"not-allowed\" | \"synthesis-failed\" | \"synthesis-unavailable\" | \"text-too-long\" | \"voice-unavailable\";\ntype TaskPriority = \"background\" | \"user-blocking\" | \"user-visible\";\ntype TextTrackKind = \"captions\" | \"chapters\" | \"descriptions\" | \"metadata\" | \"subtitles\";\ntype TextTrackMode = \"disabled\" | \"hidden\" | \"showing\";\ntype TouchType = \"direct\" | \"stylus\";\ntype TransferFunction = \"hlg\" | \"pq\" | \"srgb\";\ntype UserVerificationRequirement = \"discouraged\" | \"preferred\" | \"required\";\ntype VideoColorPrimaries = \"bt470bg\" | \"bt709\" | \"smpte170m\";\ntype VideoEncoderBitrateMode = \"constant\" | \"quantizer\" | \"variable\";\ntype VideoFacingModeEnum = \"environment\" | \"left\" | \"right\" | \"user\";\ntype VideoMatrixCoefficients = \"bt470bg\" | \"bt709\" | \"rgb\" | \"smpte170m\";\ntype VideoPixelFormat = \"BGRA\" | \"BGRX\" | \"I420\" | \"I420A\" | \"I422\" | \"I444\" | \"NV12\" | \"RGBA\" | \"RGBX\";\ntype VideoTransferCharacteristics = \"bt709\" | \"iec61966-2-1\" | \"smpte170m\";\ntype WakeLockType = \"screen\";\ntype WebGLPowerPreference = \"default\" | \"high-performance\" | \"low-power\";\ntype WebTransportCongestionControl = \"default\" | \"low-latency\" | \"throughput\";\ntype WebTransportErrorSource = \"session\" | \"stream\";\ntype WorkerType = \"classic\" | \"module\";\ntype WriteCommandType = \"seek\" | \"truncate\" | \"write\";\ntype XMLHttpRequestResponseType = \"\" | \"arraybuffer\" | \"blob\" | \"document\" | \"json\" | \"text\";\ninterface AudioParam {\n    setValueCurveAtTime(values: Iterable<number>, startTime: number, duration: number): AudioParam;\n}\ninterface AudioParamMap extends ReadonlyMap<string, AudioParam> {\n}\ninterface BaseAudioContext {\n    createIIRFilter(feedforward: Iterable<number>, feedback: Iterable<number>): IIRFilterNode;\n    createPeriodicWave(real: Iterable<number>, imag: Iterable<number>, constraints?: PeriodicWaveConstraints): PeriodicWave;\n}\ninterface CSSKeyframesRule {\n    [Symbol.iterator](): ArrayIterator<CSSKeyframeRule>;\n}\ninterface CSSNumericArray {\n    [Symbol.iterator](): ArrayIterator<CSSNumericValue>;\n    entries(): ArrayIterator<[\n        number,\n        CSSNumericValue\n    ]>;\n    keys(): ArrayIterator<number>;\n    values(): ArrayIterator<CSSNumericValue>;\n}\ninterface CSSRuleList {\n    [Symbol.iterator](): ArrayIterator<CSSRule>;\n}\ninterface CSSStyleDeclaration {\n    [Symbol.iterator](): ArrayIterator<string>;\n}\ninterface CSSTransformValue {\n    [Symbol.iterator](): ArrayIterator<CSSTransformComponent>;\n    entries(): ArrayIterator<[\n        number,\n        CSSTransformComponent\n    ]>;\n    keys(): ArrayIterator<number>;\n    values(): ArrayIterator<CSSTransformComponent>;\n}\ninterface CSSUnparsedValue {\n    [Symbol.iterator](): ArrayIterator<CSSUnparsedSegment>;\n    entries(): ArrayIterator<[\n        number,\n        CSSUnparsedSegment\n    ]>;\n    keys(): ArrayIterator<number>;\n    values(): ArrayIterator<CSSUnparsedSegment>;\n}\ninterface Cache {\n    addAll(requests: Iterable<RequestInfo>): Promise<void>;\n}\ninterface CanvasPath {\n    roundRect(x: number, y: number, w: number, h: number, radii?: number | DOMPointInit | Iterable<number | DOMPointInit>): void;\n}\ninterface CanvasPathDrawingStyles {\n    setLineDash(segments: Iterable<number>): void;\n}\ninterface CookieStoreManager {\n    subscribe(subscriptions: Iterable<CookieStoreGetOptions>): Promise<void>;\n    unsubscribe(subscriptions: Iterable<CookieStoreGetOptions>): Promise<void>;\n}\ninterface CustomStateSet extends Set<string> {\n}\ninterface DOMRectList {\n    [Symbol.iterator](): ArrayIterator<DOMRect>;\n}\ninterface DOMStringList {\n    [Symbol.iterator](): ArrayIterator<string>;\n}\ninterface DOMTokenList {\n    [Symbol.iterator](): ArrayIterator<string>;\n    entries(): ArrayIterator<[\n        number,\n        string\n    ]>;\n    keys(): ArrayIterator<number>;\n    values(): ArrayIterator<string>;\n}\ninterface DataTransferItemList {\n    [Symbol.iterator](): ArrayIterator<DataTransferItem>;\n}\ninterface EventCounts extends ReadonlyMap<string, number> {\n}\ninterface FileList {\n    [Symbol.iterator](): ArrayIterator<File>;\n}\ninterface FontFaceSet extends Set<FontFace> {\n}\ninterface FormDataIterator<T> extends IteratorObject<T, BuiltinIteratorReturn, unknown> {\n    [Symbol.iterator](): FormDataIterator<T>;\n}\ninterface FormData {\n    [Symbol.iterator](): FormDataIterator<[\n        string,\n        FormDataEntryValue\n    ]>;\n    entries(): FormDataIterator<[\n        string,\n        FormDataEntryValue\n    ]>;\n    keys(): FormDataIterator<string>;\n    values(): FormDataIterator<FormDataEntryValue>;\n}\ninterface GPUBindingCommandsMixin {\n    setBindGroup(index: GPUIndex32, bindGroup: GPUBindGroup | null, dynamicOffsets?: Iterable<GPUBufferDynamicOffset>): void;\n}\ninterface GPUCommandEncoder {\n    copyBufferToTexture(source: GPUTexelCopyBufferInfo, destination: GPUTexelCopyTextureInfo, copySize: Iterable<GPUIntegerCoordinate>): void;\n    copyTextureToBuffer(source: GPUTexelCopyTextureInfo, destination: GPUTexelCopyBufferInfo, copySize: Iterable<GPUIntegerCoordinate>): void;\n    copyTextureToTexture(source: GPUTexelCopyTextureInfo, destination: GPUTexelCopyTextureInfo, copySize: Iterable<GPUIntegerCoordinate>): void;\n}\ninterface GPUQueue {\n    copyExternalImageToTexture(source: GPUCopyExternalImageSourceInfo, destination: GPUCopyExternalImageDestInfo, copySize: Iterable<GPUIntegerCoordinate>): void;\n    submit(commandBuffers: Iterable<GPUCommandBuffer>): void;\n    writeTexture(destination: GPUTexelCopyTextureInfo, data: AllowSharedBufferSource, dataLayout: GPUTexelCopyBufferLayout, size: Iterable<GPUIntegerCoordinate>): void;\n}\ninterface GPURenderPassEncoder {\n    executeBundles(bundles: Iterable<GPURenderBundle>): void;\n    setBlendConstant(color: Iterable<number>): void;\n}\ninterface GPUSupportedFeatures extends ReadonlySet<string> {\n}\ninterface HTMLAllCollection {\n    [Symbol.iterator](): ArrayIterator<Element>;\n}\ninterface HTMLCollectionBase {\n    [Symbol.iterator](): ArrayIterator<Element>;\n}\ninterface HTMLCollectionOf<T extends Element> {\n    [Symbol.iterator](): ArrayIterator<T>;\n}\ninterface HTMLFormElement {\n    [Symbol.iterator](): ArrayIterator<Element>;\n}\ninterface HTMLSelectElement {\n    [Symbol.iterator](): ArrayIterator<HTMLOptionElement>;\n}\ninterface HeadersIterator<T> extends IteratorObject<T, BuiltinIteratorReturn, unknown> {\n    [Symbol.iterator](): HeadersIterator<T>;\n}\ninterface Headers {\n    [Symbol.iterator](): HeadersIterator<[\n        string,\n        string\n    ]>;\n    entries(): HeadersIterator<[\n        string,\n        string\n    ]>;\n    keys(): HeadersIterator<string>;\n    values(): HeadersIterator<string>;\n}\ninterface Highlight extends Set<AbstractRange> {\n}\ninterface HighlightRegistry extends Map<string, Highlight> {\n}\ninterface IDBDatabase {\n    transaction(storeNames: string | Iterable<string>, mode?: IDBTransactionMode, options?: IDBTransactionOptions): IDBTransaction;\n}\ninterface IDBObjectStore {\n    createIndex(name: string, keyPath: string | Iterable<string>, options?: IDBIndexParameters): IDBIndex;\n}\ninterface ImageTrackList {\n    [Symbol.iterator](): ArrayIterator<ImageTrack>;\n}\ninterface MIDIInputMap extends ReadonlyMap<string, MIDIInput> {\n}\ninterface MIDIOutput {\n    send(data: Iterable<number>, timestamp?: DOMHighResTimeStamp): void;\n}\ninterface MIDIOutputMap extends ReadonlyMap<string, MIDIOutput> {\n}\ninterface MediaKeyStatusMapIterator<T> extends IteratorObject<T, BuiltinIteratorReturn, unknown> {\n    [Symbol.iterator](): MediaKeyStatusMapIterator<T>;\n}\ninterface MediaKeyStatusMap {\n    [Symbol.iterator](): MediaKeyStatusMapIterator<[\n        BufferSource,\n        MediaKeyStatus\n    ]>;\n    entries(): MediaKeyStatusMapIterator<[\n        BufferSource,\n        MediaKeyStatus\n    ]>;\n    keys(): MediaKeyStatusMapIterator<BufferSource>;\n    values(): MediaKeyStatusMapIterator<MediaKeyStatus>;\n}\ninterface MediaList {\n    [Symbol.iterator](): ArrayIterator<string>;\n}\ninterface MessageEvent<T = any> {\n    initMessageEvent(type: string, bubbles?: boolean, cancelable?: boolean, data?: any, origin?: string, lastEventId?: string, source?: MessageEventSource | null, ports?: Iterable<MessagePort>): void;\n}\ninterface MimeTypeArray {\n    [Symbol.iterator](): ArrayIterator<MimeType>;\n}\ninterface NamedNodeMap {\n    [Symbol.iterator](): ArrayIterator<Attr>;\n}\ninterface Navigator {\n    requestMediaKeySystemAccess(keySystem: string, supportedConfigurations: Iterable<MediaKeySystemConfiguration>): Promise<MediaKeySystemAccess>;\n    vibrate(pattern: Iterable<number>): boolean;\n}\ninterface NodeList {\n    [Symbol.iterator](): ArrayIterator<Node>;\n    entries(): ArrayIterator<[\n        number,\n        Node\n    ]>;\n    keys(): ArrayIterator<number>;\n    values(): ArrayIterator<Node>;\n}\ninterface NodeListOf<TNode extends Node> {\n    [Symbol.iterator](): ArrayIterator<TNode>;\n    entries(): ArrayIterator<[\n        number,\n        TNode\n    ]>;\n    keys(): ArrayIterator<number>;\n    values(): ArrayIterator<TNode>;\n}\ninterface Plugin {\n    [Symbol.iterator](): ArrayIterator<MimeType>;\n}\ninterface PluginArray {\n    [Symbol.iterator](): ArrayIterator<Plugin>;\n}\ninterface RTCRtpTransceiver {\n    setCodecPreferences(codecs: Iterable<RTCRtpCodec>): void;\n}\ninterface RTCStatsReport extends ReadonlyMap<string, any> {\n}\ninterface SVGLengthList {\n    [Symbol.iterator](): ArrayIterator<SVGLength>;\n}\ninterface SVGNumberList {\n    [Symbol.iterator](): ArrayIterator<SVGNumber>;\n}\ninterface SVGPointList {\n    [Symbol.iterator](): ArrayIterator<DOMPoint>;\n}\ninterface SVGStringList {\n    [Symbol.iterator](): ArrayIterator<string>;\n}\ninterface SVGTransformList {\n    [Symbol.iterator](): ArrayIterator<SVGTransform>;\n}\ninterface SourceBufferList {\n    [Symbol.iterator](): ArrayIterator<SourceBuffer>;\n}\ninterface SpeechRecognitionResult {\n    [Symbol.iterator](): ArrayIterator<SpeechRecognitionAlternative>;\n}\ninterface SpeechRecognitionResultList {\n    [Symbol.iterator](): ArrayIterator<SpeechRecognitionResult>;\n}\ninterface StylePropertyMapReadOnlyIterator<T> extends IteratorObject<T, BuiltinIteratorReturn, unknown> {\n    [Symbol.iterator](): StylePropertyMapReadOnlyIterator<T>;\n}\ninterface StylePropertyMapReadOnly {\n    [Symbol.iterator](): StylePropertyMapReadOnlyIterator<[\n        string,\n        Iterable<CSSStyleValue>\n    ]>;\n    entries(): StylePropertyMapReadOnlyIterator<[\n        string,\n        Iterable<CSSStyleValue>\n    ]>;\n    keys(): StylePropertyMapReadOnlyIterator<string>;\n    values(): StylePropertyMapReadOnlyIterator<Iterable<CSSStyleValue>>;\n}\ninterface StyleSheetList {\n    [Symbol.iterator](): ArrayIterator<CSSStyleSheet>;\n}\ninterface SubtleCrypto {\n    deriveKey(algorithm: AlgorithmIdentifier | EcdhKeyDeriveParams | HkdfParams | Pbkdf2Params, baseKey: CryptoKey, derivedKeyType: AlgorithmIdentifier | AesDerivedKeyParams | HmacImportParams | HkdfParams | Pbkdf2Params, extractable: boolean, keyUsages: Iterable<KeyUsage>): Promise<CryptoKey>;\n    generateKey(algorithm: \"Ed25519\" | {\n        name: \"Ed25519\";\n    }, extractable: boolean, keyUsages: ReadonlyArray<\"sign\" | \"verify\">): Promise<CryptoKeyPair>;\n    generateKey(algorithm: \"X25519\" | {\n        name: \"X25519\";\n    }, extractable: boolean, keyUsages: ReadonlyArray<\"deriveBits\" | \"deriveKey\">): Promise<CryptoKeyPair>;\n    generateKey(algorithm: RsaHashedKeyGenParams | EcKeyGenParams, extractable: boolean, keyUsages: ReadonlyArray<KeyUsage>): Promise<CryptoKeyPair>;\n    generateKey(algorithm: AesKeyGenParams | HmacKeyGenParams | Pbkdf2Params, extractable: boolean, keyUsages: ReadonlyArray<KeyUsage>): Promise<CryptoKey>;\n    generateKey(algorithm: AlgorithmIdentifier, extractable: boolean, keyUsages: Iterable<KeyUsage>): Promise<CryptoKeyPair | CryptoKey>;\n    importKey(format: \"jwk\", keyData: JsonWebKey, algorithm: AlgorithmIdentifier | RsaHashedImportParams | EcKeyImportParams | HmacImportParams | AesKeyAlgorithm, extractable: boolean, keyUsages: ReadonlyArray<KeyUsage>): Promise<CryptoKey>;\n    importKey(format: Exclude<KeyFormat, \"jwk\">, keyData: BufferSource, algorithm: AlgorithmIdentifier | RsaHashedImportParams | EcKeyImportParams | HmacImportParams | AesKeyAlgorithm, extractable: boolean, keyUsages: Iterable<KeyUsage>): Promise<CryptoKey>;\n    unwrapKey(format: KeyFormat, wrappedKey: BufferSource, unwrappingKey: CryptoKey, unwrapAlgorithm: AlgorithmIdentifier | RsaOaepParams | AesCtrParams | AesCbcParams | AesGcmParams, unwrappedKeyAlgorithm: AlgorithmIdentifier | RsaHashedImportParams | EcKeyImportParams | HmacImportParams | AesKeyAlgorithm, extractable: boolean, keyUsages: Iterable<KeyUsage>): Promise<CryptoKey>;\n}\ninterface TextTrackCueList {\n    [Symbol.iterator](): ArrayIterator<TextTrackCue>;\n}\ninterface TextTrackList {\n    [Symbol.iterator](): ArrayIterator<TextTrack>;\n}\ninterface TouchList {\n    [Symbol.iterator](): ArrayIterator<Touch>;\n}\ninterface URLSearchParamsIterator<T> extends IteratorObject<T, BuiltinIteratorReturn, unknown> {\n    [Symbol.iterator](): URLSearchParamsIterator<T>;\n}\ninterface URLSearchParams {\n    [Symbol.iterator](): URLSearchParamsIterator<[\n        string,\n        string\n    ]>;\n    entries(): URLSearchParamsIterator<[\n        string,\n        string\n    ]>;\n    keys(): URLSearchParamsIterator<string>;\n    values(): URLSearchParamsIterator<string>;\n}\ninterface ViewTransitionTypeSet extends Set<string> {\n}\ninterface WEBGL_draw_buffers {\n    drawBuffersWEBGL(buffers: Iterable<GLenum>): void;\n}\ninterface WEBGL_multi_draw {\n    multiDrawArraysInstancedWEBGL(mode: GLenum, firstsList: Int32Array<ArrayBufferLike> | Iterable<GLint>, firstsOffset: number, countsList: Int32Array<ArrayBufferLike> | Iterable<GLsizei>, countsOffset: number, instanceCountsList: Int32Array<ArrayBufferLike> | Iterable<GLsizei>, instanceCountsOffset: number, drawcount: GLsizei): void;\n    multiDrawArraysWEBGL(mode: GLenum, firstsList: Int32Array<ArrayBufferLike> | Iterable<GLint>, firstsOffset: number, countsList: Int32Array<ArrayBufferLike> | Iterable<GLsizei>, countsOffset: number, drawcount: GLsizei): void;\n    multiDrawElementsInstancedWEBGL(mode: GLenum, countsList: Int32Array<ArrayBufferLike> | Iterable<GLsizei>, countsOffset: number, type: GLenum, offsetsList: Int32Array<ArrayBufferLike> | Iterable<GLsizei>, offsetsOffset: number, instanceCountsList: Int32Array<ArrayBufferLike> | Iterable<GLsizei>, instanceCountsOffset: number, drawcount: GLsizei): void;\n    multiDrawElementsWEBGL(mode: GLenum, countsList: Int32Array<ArrayBufferLike> | Iterable<GLsizei>, countsOffset: number, type: GLenum, offsetsList: Int32Array<ArrayBufferLike> | Iterable<GLsizei>, offsetsOffset: number, drawcount: GLsizei): void;\n}\ninterface WGSLLanguageFeatures extends ReadonlySet<string> {\n}\ninterface WebGL2RenderingContextBase {\n    clearBufferfv(buffer: GLenum, drawbuffer: GLint, values: Iterable<GLfloat>, srcOffset?: number): void;\n    clearBufferiv(buffer: GLenum, drawbuffer: GLint, values: Iterable<GLint>, srcOffset?: number): void;\n    clearBufferuiv(buffer: GLenum, drawbuffer: GLint, values: Iterable<GLuint>, srcOffset?: number): void;\n    drawBuffers(buffers: Iterable<GLenum>): void;\n    getActiveUniforms(program: WebGLProgram, uniformIndices: Iterable<GLuint>, pname: GLenum): any;\n    getUniformIndices(program: WebGLProgram, uniformNames: Iterable<string>): GLuint[] | null;\n    invalidateFramebuffer(target: GLenum, attachments: Iterable<GLenum>): void;\n    invalidateSubFramebuffer(target: GLenum, attachments: Iterable<GLenum>, x: GLint, y: GLint, width: GLsizei, height: GLsizei): void;\n    transformFeedbackVaryings(program: WebGLProgram, varyings: Iterable<string>, bufferMode: GLenum): void;\n    uniform1uiv(location: WebGLUniformLocation | null, data: Iterable<GLuint>, srcOffset?: number, srcLength?: GLuint): void;\n    uniform2uiv(location: WebGLUniformLocation | null, data: Iterable<GLuint>, srcOffset?: number, srcLength?: GLuint): void;\n    uniform3uiv(location: WebGLUniformLocation | null, data: Iterable<GLuint>, srcOffset?: number, srcLength?: GLuint): void;\n    uniform4uiv(location: WebGLUniformLocation | null, data: Iterable<GLuint>, srcOffset?: number, srcLength?: GLuint): void;\n    uniformMatrix2x3fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Iterable<GLfloat>, srcOffset?: number, srcLength?: GLuint): void;\n    uniformMatrix2x4fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Iterable<GLfloat>, srcOffset?: number, srcLength?: GLuint): void;\n    uniformMatrix3x2fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Iterable<GLfloat>, srcOffset?: number, srcLength?: GLuint): void;\n    uniformMatrix3x4fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Iterable<GLfloat>, srcOffset?: number, srcLength?: GLuint): void;\n    uniformMatrix4x2fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Iterable<GLfloat>, srcOffset?: number, srcLength?: GLuint): void;\n    uniformMatrix4x3fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Iterable<GLfloat>, srcOffset?: number, srcLength?: GLuint): void;\n    vertexAttribI4iv(index: GLuint, values: Iterable<GLint>): void;\n    vertexAttribI4uiv(index: GLuint, values: Iterable<GLuint>): void;\n}\ninterface WebGL2RenderingContextOverloads {\n    uniform1fv(location: WebGLUniformLocation | null, data: Iterable<GLfloat>, srcOffset?: number, srcLength?: GLuint): void;\n    uniform1iv(location: WebGLUniformLocation | null, data: Iterable<GLint>, srcOffset?: number, srcLength?: GLuint): void;\n    uniform2fv(location: WebGLUniformLocation | null, data: Iterable<GLfloat>, srcOffset?: number, srcLength?: GLuint): void;\n    uniform2iv(location: WebGLUniformLocation | null, data: Iterable<GLint>, srcOffset?: number, srcLength?: GLuint): void;\n    uniform3fv(location: WebGLUniformLocation | null, data: Iterable<GLfloat>, srcOffset?: number, srcLength?: GLuint): void;\n    uniform3iv(location: WebGLUniformLocation | null, data: Iterable<GLint>, srcOffset?: number, srcLength?: GLuint): void;\n    uniform4fv(location: WebGLUniformLocation | null, data: Iterable<GLfloat>, srcOffset?: number, srcLength?: GLuint): void;\n    uniform4iv(location: WebGLUniformLocation | null, data: Iterable<GLint>, srcOffset?: number, srcLength?: GLuint): void;\n    uniformMatrix2fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Iterable<GLfloat>, srcOffset?: number, srcLength?: GLuint): void;\n    uniformMatrix3fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Iterable<GLfloat>, srcOffset?: number, srcLength?: GLuint): void;\n    uniformMatrix4fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Iterable<GLfloat>, srcOffset?: number, srcLength?: GLuint): void;\n}\ninterface WebGLRenderingContextBase {\n    vertexAttrib1fv(index: GLuint, values: Iterable<GLfloat>): void;\n    vertexAttrib2fv(index: GLuint, values: Iterable<GLfloat>): void;\n    vertexAttrib3fv(index: GLuint, values: Iterable<GLfloat>): void;\n    vertexAttrib4fv(index: GLuint, values: Iterable<GLfloat>): void;\n}\ninterface WebGLRenderingContextOverloads {\n    uniform1fv(location: WebGLUniformLocation | null, v: Iterable<GLfloat>): void;\n    uniform1iv(location: WebGLUniformLocation | null, v: Iterable<GLint>): void;\n    uniform2fv(location: WebGLUniformLocation | null, v: Iterable<GLfloat>): void;\n    uniform2iv(location: WebGLUniformLocation | null, v: Iterable<GLint>): void;\n    uniform3fv(location: WebGLUniformLocation | null, v: Iterable<GLfloat>): void;\n    uniform3iv(location: WebGLUniformLocation | null, v: Iterable<GLint>): void;\n    uniform4fv(location: WebGLUniformLocation | null, v: Iterable<GLfloat>): void;\n    uniform4iv(location: WebGLUniformLocation | null, v: Iterable<GLint>): void;\n    uniformMatrix2fv(location: WebGLUniformLocation | null, transpose: GLboolean, value: Iterable<GLfloat>): void;\n    uniformMatrix3fv(location: WebGLUniformLocation | null, transpose: GLboolean, value: Iterable<GLfloat>): void;\n    uniformMatrix4fv(location: WebGLUniformLocation | null, transpose: GLboolean, value: Iterable<GLfloat>): void;\n}\ninterface FileSystemDirectoryHandleAsyncIterator<T> extends AsyncIteratorObject<T, BuiltinIteratorReturn, unknown> {\n    [Symbol.asyncIterator](): FileSystemDirectoryHandleAsyncIterator<T>;\n}\ninterface FileSystemDirectoryHandle {\n    [Symbol.asyncIterator](): FileSystemDirectoryHandleAsyncIterator<[\n        string,\n        FileSystemDirectoryHandle | FileSystemFileHandle\n    ]>;\n    entries(): FileSystemDirectoryHandleAsyncIterator<[\n        string,\n        FileSystemDirectoryHandle | FileSystemFileHandle\n    ]>;\n    keys(): FileSystemDirectoryHandleAsyncIterator<string>;\n    values(): FileSystemDirectoryHandleAsyncIterator<FileSystemDirectoryHandle | FileSystemFileHandle>;\n}\ninterface ReadableStreamAsyncIterator<T> extends AsyncIteratorObject<T, BuiltinIteratorReturn, unknown> {\n    [Symbol.asyncIterator](): ReadableStreamAsyncIterator<T>;\n}\ninterface ReadableStream<R = any> {\n    [Symbol.asyncIterator](options?: ReadableStreamIteratorOptions): ReadableStreamAsyncIterator<R>;\n    values(options?: ReadableStreamIteratorOptions): ReadableStreamAsyncIterator<R>;\n}\n","lib.dom.iterable.d.ts":"/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABILITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n","lib.es2015.collection.d.ts":"/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABILITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\ninterface Map<K, V> {\n    clear(): void;\n    delete(key: K): boolean;\n    forEach(callbackfn: (value: V, key: K, map: Map<K, V>) => void, thisArg?: any): void;\n    get(key: K): V | undefined;\n    has(key: K): boolean;\n    set(key: K, value: V): this;\n    readonly size: number;\n}\ninterface MapConstructor {\n    new (): Map<any, any>;\n    new <K, V>(entries?: readonly (readonly [\n        K,\n        V\n    ])[] | null): Map<K, V>;\n    readonly prototype: Map<any, any>;\n}\ndeclare var Map: MapConstructor;\ninterface ReadonlyMap<K, V> {\n    forEach(callbackfn: (value: V, key: K, map: ReadonlyMap<K, V>) => void, thisArg?: any): void;\n    get(key: K): V | undefined;\n    has(key: K): boolean;\n    readonly size: number;\n}\ninterface WeakMap<K extends WeakKey, V> {\n    delete(key: K): boolean;\n    get(key: K): V | undefined;\n    has(key: K): boolean;\n    set(key: K, value: V): this;\n}\ninterface WeakMapConstructor {\n    new <K extends WeakKey = WeakKey, V = any>(entries?: readonly (readonly [\n        K,\n        V\n    ])[] | null): WeakMap<K, V>;\n    readonly prototype: WeakMap<WeakKey, any>;\n}\ndeclare var WeakMap: WeakMapConstructor;\ninterface Set<T> {\n    add(value: T): this;\n    clear(): void;\n    delete(value: T): boolean;\n    forEach(callbackfn: (value: T, value2: T, set: Set<T>) => void, thisArg?: any): void;\n    has(value: T): boolean;\n    readonly size: number;\n}\ninterface SetConstructor {\n    new <T = any>(values?: readonly T[] | null): Set<T>;\n    readonly prototype: Set<any>;\n}\ndeclare var Set: SetConstructor;\ninterface ReadonlySet<T> {\n    forEach(callbackfn: (value: T, value2: T, set: ReadonlySet<T>) => void, thisArg?: any): void;\n    has(value: T): boolean;\n    readonly size: number;\n}\ninterface WeakSet<T extends WeakKey> {\n    add(value: T): this;\n    delete(value: T): boolean;\n    has(value: T): boolean;\n}\ninterface WeakSetConstructor {\n    new <T extends WeakKey = WeakKey>(values?: readonly T[] | null): WeakSet<T>;\n    readonly prototype: WeakSet<WeakKey>;\n}\ndeclare var WeakSet: WeakSetConstructor;\n","lib.es2015.core.d.ts":"/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABILITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\ninterface Array<T> {\n    find<S extends T>(predicate: (value: T, index: number, obj: T[]) => value is S, thisArg?: any): S | undefined;\n    find(predicate: (value: T, index: number, obj: T[]) => unknown, thisArg?: any): T | undefined;\n    findIndex(predicate: (value: T, index: number, obj: T[]) => unknown, thisArg?: any): number;\n    fill(value: T, start?: number, end?: number): this;\n    copyWithin(target: number, start: number, end?: number): this;\n    toLocaleString(locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string;\n}\ninterface ArrayConstructor {\n    from<T>(arrayLike: ArrayLike<T>): T[];\n    from<T, U>(arrayLike: ArrayLike<T>, mapfn: (v: T, k: number) => U, thisArg?: any): U[];\n    of<T>(...items: T[]): T[];\n}\ninterface DateConstructor {\n    new (value: number | string | Date): Date;\n}\ninterface Function {\n    readonly name: string;\n}\ninterface Math {\n    clz32(x: number): number;\n    imul(x: number, y: number): number;\n    sign(x: number): number;\n    log10(x: number): number;\n    log2(x: number): number;\n    log1p(x: number): number;\n    expm1(x: number): number;\n    cosh(x: number): number;\n    sinh(x: number): number;\n    tanh(x: number): number;\n    acosh(x: number): number;\n    asinh(x: number): number;\n    atanh(x: number): number;\n    hypot(...values: number[]): number;\n    trunc(x: number): number;\n    fround(x: number): number;\n    cbrt(x: number): number;\n}\ninterface NumberConstructor {\n    readonly EPSILON: number;\n    isFinite(number: unknown): boolean;\n    isInteger(number: unknown): boolean;\n    isNaN(number: unknown): boolean;\n    isSafeInteger(number: unknown): boolean;\n    readonly MAX_SAFE_INTEGER: number;\n    readonly MIN_SAFE_INTEGER: number;\n    parseFloat(string: string): number;\n    parseInt(string: string, radix?: number): number;\n}\ninterface ObjectConstructor {\n    assign<T extends {}, U>(target: T, source: U): T & U;\n    assign<T extends {}, U, V>(target: T, source1: U, source2: V): T & U & V;\n    assign<T extends {}, U, V, W>(target: T, source1: U, source2: V, source3: W): T & U & V & W;\n    assign(target: object, ...sources: any[]): any;\n    getOwnPropertySymbols(o: any): symbol[];\n    keys(o: {}): string[];\n    is(value1: any, value2: any): boolean;\n    setPrototypeOf(o: any, proto: object | null): any;\n}\ninterface ReadonlyArray<T> {\n    find<S extends T>(predicate: (value: T, index: number, obj: readonly T[]) => value is S, thisArg?: any): S | undefined;\n    find(predicate: (value: T, index: number, obj: readonly T[]) => unknown, thisArg?: any): T | undefined;\n    findIndex(predicate: (value: T, index: number, obj: readonly T[]) => unknown, thisArg?: any): number;\n    toLocaleString(locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string;\n}\ninterface RegExp {\n    readonly flags: string;\n    readonly sticky: boolean;\n    readonly unicode: boolean;\n}\ninterface RegExpConstructor {\n    new (pattern: RegExp | string, flags?: string): RegExp;\n    (pattern: RegExp | string, flags?: string): RegExp;\n}\ninterface String {\n    codePointAt(pos: number): number | undefined;\n    includes(searchString: string, position?: number): boolean;\n    endsWith(searchString: string, endPosition?: number): boolean;\n    normalize(form: \"NFC\" | \"NFD\" | \"NFKC\" | \"NFKD\"): string;\n    normalize(form?: string): string;\n    repeat(count: number): string;\n    startsWith(searchString: string, position?: number): boolean;\n    anchor(name: string): string;\n    big(): string;\n    blink(): string;\n    bold(): string;\n    fixed(): string;\n    fontcolor(color: string): string;\n    fontsize(size: number): string;\n    fontsize(size: string): string;\n    italics(): string;\n    link(url: string): string;\n    small(): string;\n    strike(): string;\n    sub(): string;\n    sup(): string;\n}\ninterface StringConstructor {\n    fromCodePoint(...codePoints: number[]): string;\n    raw(template: {\n        raw: readonly string[] | ArrayLike<string>;\n    }, ...substitutions: any[]): string;\n}\ninterface Int8Array<TArrayBuffer extends ArrayBufferLike> {\n    toLocaleString(locales: string | string[], options?: Intl.NumberFormatOptions): string;\n}\ninterface Uint8Array<TArrayBuffer extends ArrayBufferLike> {\n    toLocaleString(locales: string | string[], options?: Intl.NumberFormatOptions): string;\n}\ninterface Uint8ClampedArray<TArrayBuffer extends ArrayBufferLike> {\n    toLocaleString(locales: string | string[], options?: Intl.NumberFormatOptions): string;\n}\ninterface Int16Array<TArrayBuffer extends ArrayBufferLike> {\n    toLocaleString(locales: string | string[], options?: Intl.NumberFormatOptions): string;\n}\ninterface Uint16Array<TArrayBuffer extends ArrayBufferLike> {\n    toLocaleString(locales: string | string[], options?: Intl.NumberFormatOptions): string;\n}\ninterface Int32Array<TArrayBuffer extends ArrayBufferLike> {\n    toLocaleString(locales: string | string[], options?: Intl.NumberFormatOptions): string;\n}\ninterface Uint32Array<TArrayBuffer extends ArrayBufferLike> {\n    toLocaleString(locales: string | string[], options?: Intl.NumberFormatOptions): string;\n}\ninterface Float32Array<TArrayBuffer extends ArrayBufferLike> {\n    toLocaleString(locales: string | string[], options?: Intl.NumberFormatOptions): string;\n}\ninterface Float64Array<TArrayBuffer extends ArrayBufferLike> {\n    toLocaleString(locales: string | string[], options?: Intl.NumberFormatOptions): string;\n}\n","lib.es2015.d.ts":"/// <reference lib=\"es5\" />\n/// <reference lib=\"es2015.core\" />\n/// <reference lib=\"es2015.collection\" />\n/// <reference lib=\"es2015.iterable\" />\n/// <reference lib=\"es2015.generator\" />\n/// <reference lib=\"es2015.promise\" />\n/// <reference lib=\"es2015.proxy\" />\n/// <reference lib=\"es2015.reflect\" />\n/// <reference lib=\"es2015.symbol\" />\n/// <reference lib=\"es2015.symbol.wellknown\" />\n/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABILITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n/// <reference lib=\"es5\" />\n/// <reference lib=\"es2015.core\" />\n/// <reference lib=\"es2015.collection\" />\n/// <reference lib=\"es2015.iterable\" />\n/// <reference lib=\"es2015.generator\" />\n/// <reference lib=\"es2015.promise\" />\n/// <reference lib=\"es2015.proxy\" />\n/// <reference lib=\"es2015.reflect\" />\n/// <reference lib=\"es2015.symbol\" />\n/// <reference lib=\"es2015.symbol.wellknown\" />\n","lib.es2015.generator.d.ts":"/// <reference lib=\"es2015.iterable\" />\n/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABILITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n/// <reference lib=\"es2015.iterable\" />\ninterface Generator<T = unknown, TReturn = any, TNext = any> extends IteratorObject<T, TReturn, TNext> {\n    next(...[value]: [\n    ] | [\n        TNext\n    ]): IteratorResult<T, TReturn>;\n    return(value: TReturn): IteratorResult<T, TReturn>;\n    throw(e: any): IteratorResult<T, TReturn>;\n    [Symbol.iterator](): Generator<T, TReturn, TNext>;\n}\ninterface GeneratorFunction {\n    new (...args: any[]): Generator;\n    (...args: any[]): Generator;\n    readonly length: number;\n    readonly name: string;\n    readonly prototype: Generator;\n}\ninterface GeneratorFunctionConstructor {\n    new (...args: string[]): GeneratorFunction;\n    (...args: string[]): GeneratorFunction;\n    readonly length: number;\n    readonly name: string;\n    readonly prototype: GeneratorFunction;\n}\n","lib.es2015.iterable.d.ts":"/// <reference lib=\"es2015.symbol\" />\n/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABILITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n/// <reference lib=\"es2015.symbol\" />\ninterface SymbolConstructor {\n    readonly iterator: unique symbol;\n}\ninterface IteratorYieldResult<TYield> {\n    done?: false;\n    value: TYield;\n}\ninterface IteratorReturnResult<TReturn> {\n    done: true;\n    value: TReturn;\n}\ntype IteratorResult<T, TReturn = any> = IteratorYieldResult<T> | IteratorReturnResult<TReturn>;\ninterface Iterator<T, TReturn = any, TNext = any> {\n    next(...[value]: [\n    ] | [\n        TNext\n    ]): IteratorResult<T, TReturn>;\n    return?(value?: TReturn): IteratorResult<T, TReturn>;\n    throw?(e?: any): IteratorResult<T, TReturn>;\n}\ninterface Iterable<T, TReturn = any, TNext = any> {\n    [Symbol.iterator](): Iterator<T, TReturn, TNext>;\n}\ninterface IterableIterator<T, TReturn = any, TNext = any> extends Iterator<T, TReturn, TNext> {\n    [Symbol.iterator](): IterableIterator<T, TReturn, TNext>;\n}\ninterface IteratorObject<T, TReturn = unknown, TNext = unknown> extends Iterator<T, TReturn, TNext> {\n    [Symbol.iterator](): IteratorObject<T, TReturn, TNext>;\n}\ntype BuiltinIteratorReturn = intrinsic;\ninterface ArrayIterator<T> extends IteratorObject<T, BuiltinIteratorReturn, unknown> {\n    [Symbol.iterator](): ArrayIterator<T>;\n}\ninterface Array<T> {\n    [Symbol.iterator](): ArrayIterator<T>;\n    entries(): ArrayIterator<[\n        number,\n        T\n    ]>;\n    keys(): ArrayIterator<number>;\n    values(): ArrayIterator<T>;\n}\ninterface ArrayConstructor {\n    from<T>(iterable: Iterable<T> | ArrayLike<T>): T[];\n    from<T, U>(iterable: Iterable<T> | ArrayLike<T>, mapfn: (v: T, k: number) => U, thisArg?: any): U[];\n}\ninterface ReadonlyArray<T> {\n    [Symbol.iterator](): ArrayIterator<T>;\n    entries(): ArrayIterator<[\n        number,\n        T\n    ]>;\n    keys(): ArrayIterator<number>;\n    values(): ArrayIterator<T>;\n}\ninterface IArguments {\n    [Symbol.iterator](): ArrayIterator<any>;\n}\ninterface MapIterator<T> extends IteratorObject<T, BuiltinIteratorReturn, unknown> {\n    [Symbol.iterator](): MapIterator<T>;\n}\ninterface Map<K, V> {\n    [Symbol.iterator](): MapIterator<[\n        K,\n        V\n    ]>;\n    entries(): MapIterator<[\n        K,\n        V\n    ]>;\n    keys(): MapIterator<K>;\n    values(): MapIterator<V>;\n}\ninterface ReadonlyMap<K, V> {\n    [Symbol.iterator](): MapIterator<[\n        K,\n        V\n    ]>;\n    entries(): MapIterator<[\n        K,\n        V\n    ]>;\n    keys(): MapIterator<K>;\n    values(): MapIterator<V>;\n}\ninterface MapConstructor {\n    new (): Map<any, any>;\n    new <K, V>(iterable?: Iterable<readonly [\n        K,\n        V\n    ]> | null): Map<K, V>;\n}\ninterface WeakMap<K extends WeakKey, V> {\n}\ninterface WeakMapConstructor {\n    new <K extends WeakKey = WeakKey, V = any>(iterable?: Iterable<readonly [\n        K,\n        V\n    ]> | null): WeakMap<K, V>;\n}\ninterface SetIterator<T> extends IteratorObject<T, BuiltinIteratorReturn, unknown> {\n    [Symbol.iterator](): SetIterator<T>;\n}\ninterface Set<T> {\n    [Symbol.iterator](): SetIterator<T>;\n    entries(): SetIterator<[\n        T,\n        T\n    ]>;\n    keys(): SetIterator<T>;\n    values(): SetIterator<T>;\n}\ninterface ReadonlySet<T> {\n    [Symbol.iterator](): SetIterator<T>;\n    entries(): SetIterator<[\n        T,\n        T\n    ]>;\n    keys(): SetIterator<T>;\n    values(): SetIterator<T>;\n}\ninterface SetConstructor {\n    new <T>(iterable?: Iterable<T> | null): Set<T>;\n}\ninterface WeakSet<T extends WeakKey> {\n}\ninterface WeakSetConstructor {\n    new <T extends WeakKey = WeakKey>(iterable: Iterable<T>): WeakSet<T>;\n}\ninterface Promise<T> {\n}\ninterface PromiseConstructor {\n    all<T>(values: Iterable<T | PromiseLike<T>>): Promise<Awaited<T>[]>;\n    race<T>(values: Iterable<T | PromiseLike<T>>): Promise<Awaited<T>>;\n}\ninterface StringIterator<T> extends IteratorObject<T, BuiltinIteratorReturn, unknown> {\n    [Symbol.iterator](): StringIterator<T>;\n}\ninterface String {\n    [Symbol.iterator](): StringIterator<string>;\n}\ninterface Int8Array<TArrayBuffer extends ArrayBufferLike> {\n    [Symbol.iterator](): ArrayIterator<number>;\n    entries(): ArrayIterator<[\n        number,\n        number\n    ]>;\n    keys(): ArrayIterator<number>;\n    values(): ArrayIterator<number>;\n}\ninterface Int8ArrayConstructor {\n    new (elements: Iterable<number>): Int8Array<ArrayBuffer>;\n    from(elements: Iterable<number>): Int8Array<ArrayBuffer>;\n    from<T>(elements: Iterable<T>, mapfn?: (v: T, k: number) => number, thisArg?: any): Int8Array<ArrayBuffer>;\n}\ninterface Uint8Array<TArrayBuffer extends ArrayBufferLike> {\n    [Symbol.iterator](): ArrayIterator<number>;\n    entries(): ArrayIterator<[\n        number,\n        number\n    ]>;\n    keys(): ArrayIterator<number>;\n    values(): ArrayIterator<number>;\n}\ninterface Uint8ArrayConstructor {\n    new (elements: Iterable<number>): Uint8Array<ArrayBuffer>;\n    from(elements: Iterable<number>): Uint8Array<ArrayBuffer>;\n    from<T>(elements: Iterable<T>, mapfn?: (v: T, k: number) => number, thisArg?: any): Uint8Array<ArrayBuffer>;\n}\ninterface Uint8ClampedArray<TArrayBuffer extends ArrayBufferLike> {\n    [Symbol.iterator](): ArrayIterator<number>;\n    entries(): ArrayIterator<[\n        number,\n        number\n    ]>;\n    keys(): ArrayIterator<number>;\n    values(): ArrayIterator<number>;\n}\ninterface Uint8ClampedArrayConstructor {\n    new (elements: Iterable<number>): Uint8ClampedArray<ArrayBuffer>;\n    from(elements: Iterable<number>): Uint8ClampedArray<ArrayBuffer>;\n    from<T>(elements: Iterable<T>, mapfn?: (v: T, k: number) => number, thisArg?: any): Uint8ClampedArray<ArrayBuffer>;\n}\ninterface Int16Array<TArrayBuffer extends ArrayBufferLike> {\n    [Symbol.iterator](): ArrayIterator<number>;\n    entries(): ArrayIterator<[\n        number,\n        number\n    ]>;\n    keys(): ArrayIterator<number>;\n    values(): ArrayIterator<number>;\n}\ninterface Int16ArrayConstructor {\n    new (elements: Iterable<number>): Int16Array<ArrayBuffer>;\n    from(elements: Iterable<number>): Int16Array<ArrayBuffer>;\n    from<T>(elements: Iterable<T>, mapfn?: (v: T, k: number) => number, thisArg?: any): Int16Array<ArrayBuffer>;\n}\ninterface Uint16Array<TArrayBuffer extends ArrayBufferLike> {\n    [Symbol.iterator](): ArrayIterator<number>;\n    entries(): ArrayIterator<[\n        number,\n        number\n    ]>;\n    keys(): ArrayIterator<number>;\n    values(): ArrayIterator<number>;\n}\ninterface Uint16ArrayConstructor {\n    new (elements: Iterable<number>): Uint16Array<ArrayBuffer>;\n    from(elements: Iterable<number>): Uint16Array<ArrayBuffer>;\n    from<T>(elements: Iterable<T>, mapfn?: (v: T, k: number) => number, thisArg?: any): Uint16Array<ArrayBuffer>;\n}\ninterface Int32Array<TArrayBuffer extends ArrayBufferLike> {\n    [Symbol.iterator](): ArrayIterator<number>;\n    entries(): ArrayIterator<[\n        number,\n        number\n    ]>;\n    keys(): ArrayIterator<number>;\n    values(): ArrayIterator<number>;\n}\ninterface Int32ArrayConstructor {\n    new (elements: Iterable<number>): Int32Array<ArrayBuffer>;\n    from(elements: Iterable<number>): Int32Array<ArrayBuffer>;\n    from<T>(elements: Iterable<T>, mapfn?: (v: T, k: number) => number, thisArg?: any): Int32Array<ArrayBuffer>;\n}\ninterface Uint32Array<TArrayBuffer extends ArrayBufferLike> {\n    [Symbol.iterator](): ArrayIterator<number>;\n    entries(): ArrayIterator<[\n        number,\n        number\n    ]>;\n    keys(): ArrayIterator<number>;\n    values(): ArrayIterator<number>;\n}\ninterface Uint32ArrayConstructor {\n    new (elements: Iterable<number>): Uint32Array<ArrayBuffer>;\n    from(elements: Iterable<number>): Uint32Array<ArrayBuffer>;\n    from<T>(elements: Iterable<T>, mapfn?: (v: T, k: number) => number, thisArg?: any): Uint32Array<ArrayBuffer>;\n}\ninterface Float32Array<TArrayBuffer extends ArrayBufferLike> {\n    [Symbol.iterator](): ArrayIterator<number>;\n    entries(): ArrayIterator<[\n        number,\n        number\n    ]>;\n    keys(): ArrayIterator<number>;\n    values(): ArrayIterator<number>;\n}\ninterface Float32ArrayConstructor {\n    new (elements: Iterable<number>): Float32Array<ArrayBuffer>;\n    from(elements: Iterable<number>): Float32Array<ArrayBuffer>;\n    from<T>(elements: Iterable<T>, mapfn?: (v: T, k: number) => number, thisArg?: any): Float32Array<ArrayBuffer>;\n}\ninterface Float64Array<TArrayBuffer extends ArrayBufferLike> {\n    [Symbol.iterator](): ArrayIterator<number>;\n    entries(): ArrayIterator<[\n        number,\n        number\n    ]>;\n    keys(): ArrayIterator<number>;\n    values(): ArrayIterator<number>;\n}\ninterface Float64ArrayConstructor {\n    new (elements: Iterable<number>): Float64Array<ArrayBuffer>;\n    from(elements: Iterable<number>): Float64Array<ArrayBuffer>;\n    from<T>(elements: Iterable<T>, mapfn?: (v: T, k: number) => number, thisArg?: any): Float64Array<ArrayBuffer>;\n}\n","lib.es2015.promise.d.ts":"/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABILITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\ninterface PromiseConstructor {\n    readonly prototype: Promise<any>;\n    new <T>(executor: (resolve: (value: T | PromiseLike<T>) => void, reject: (reason?: any) => void) => void): Promise<T>;\n    all<T extends readonly unknown[] | [\n    ]>(values: T): Promise<{\n        -readonly [P in keyof T]: Awaited<T[P]>;\n    }>;\n    race<T extends readonly unknown[] | [\n    ]>(values: T): Promise<Awaited<T[number]>>;\n    reject<T = never>(reason?: any): Promise<T>;\n    resolve(): Promise<void>;\n    resolve<T>(value: T): Promise<Awaited<T>>;\n    resolve<T>(value: T | PromiseLike<T>): Promise<Awaited<T>>;\n}\ndeclare var Promise: PromiseConstructor;\n","lib.es2015.proxy.d.ts":"/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABILITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\ninterface ProxyHandler<T extends object> {\n    apply?(target: T, thisArg: any, argArray: any[]): any;\n    construct?(target: T, argArray: any[], newTarget: Function): object;\n    defineProperty?(target: T, property: string | symbol, attributes: PropertyDescriptor): boolean;\n    deleteProperty?(target: T, p: string | symbol): boolean;\n    get?(target: T, p: string | symbol, receiver: any): any;\n    getOwnPropertyDescriptor?(target: T, p: string | symbol): PropertyDescriptor | undefined;\n    getPrototypeOf?(target: T): object | null;\n    has?(target: T, p: string | symbol): boolean;\n    isExtensible?(target: T): boolean;\n    ownKeys?(target: T): ArrayLike<string | symbol>;\n    preventExtensions?(target: T): boolean;\n    set?(target: T, p: string | symbol, newValue: any, receiver: any): boolean;\n    setPrototypeOf?(target: T, v: object | null): boolean;\n}\ninterface ProxyConstructor {\n    revocable<T extends object>(target: T, handler: ProxyHandler<T>): {\n        proxy: T;\n        revoke: () => void;\n    };\n    new <T extends object>(target: T, handler: ProxyHandler<T>): T;\n}\ndeclare var Proxy: ProxyConstructor;\n","lib.es2015.reflect.d.ts":"/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABILITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\ndeclare namespace Reflect {\n    function apply<T, A extends readonly any[], R>(target: (this: T, ...args: A) => R, thisArgument: T, argumentsList: Readonly<A>): R;\n    function apply(target: Function, thisArgument: any, argumentsList: ArrayLike<any>): any;\n    function construct<A extends readonly any[], R>(target: new (...args: A) => R, argumentsList: Readonly<A>, newTarget?: new (...args: any) => any): R;\n    function construct(target: Function, argumentsList: ArrayLike<any>, newTarget?: Function): any;\n    function defineProperty(target: object, propertyKey: PropertyKey, attributes: PropertyDescriptor & ThisType<any>): boolean;\n    function deleteProperty(target: object, propertyKey: PropertyKey): boolean;\n    function get<T extends object, P extends PropertyKey>(target: T, propertyKey: P, receiver?: unknown): P extends keyof T ? T[P] : any;\n    function getOwnPropertyDescriptor<T extends object, P extends PropertyKey>(target: T, propertyKey: P): TypedPropertyDescriptor<P extends keyof T ? T[P] : any> | undefined;\n    function getPrototypeOf(target: object): object | null;\n    function has(target: object, propertyKey: PropertyKey): boolean;\n    function isExtensible(target: object): boolean;\n    function ownKeys(target: object): (string | symbol)[];\n    function preventExtensions(target: object): boolean;\n    function set<T extends object, P extends PropertyKey>(target: T, propertyKey: P, value: P extends keyof T ? T[P] : any, receiver?: any): boolean;\n    function set(target: object, propertyKey: PropertyKey, value: any, receiver?: any): boolean;\n    function setPrototypeOf(target: object, proto: object | null): boolean;\n}\n","lib.es2015.symbol.d.ts":"/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABILITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\ninterface SymbolConstructor {\n    readonly prototype: Symbol;\n    (description?: string | number): symbol;\n    for(key: string): symbol;\n    keyFor(sym: symbol): string | undefined;\n}\ndeclare var Symbol: SymbolConstructor;\n","lib.es2015.symbol.wellknown.d.ts":"/// <reference lib=\"es2015.symbol\" />\n/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABILITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n/// <reference lib=\"es2015.symbol\" />\ninterface SymbolConstructor {\n    readonly hasInstance: unique symbol;\n    readonly isConcatSpreadable: unique symbol;\n    readonly match: unique symbol;\n    readonly replace: unique symbol;\n    readonly search: unique symbol;\n    readonly species: unique symbol;\n    readonly split: unique symbol;\n    readonly toPrimitive: unique symbol;\n    readonly toStringTag: unique symbol;\n    readonly unscopables: unique symbol;\n}\ninterface Symbol {\n    [Symbol.toPrimitive](hint: string): symbol;\n    readonly [Symbol.toStringTag]: string;\n}\ninterface Array<T> {\n    readonly [Symbol.unscopables]: {\n        [K in keyof any[]]?: boolean;\n    };\n}\ninterface ReadonlyArray<T> {\n    readonly [Symbol.unscopables]: {\n        [K in keyof readonly any[]]?: boolean;\n    };\n}\ninterface Date {\n    [Symbol.toPrimitive](hint: \"default\"): string;\n    [Symbol.toPrimitive](hint: \"string\"): string;\n    [Symbol.toPrimitive](hint: \"number\"): number;\n    [Symbol.toPrimitive](hint: string): string | number;\n}\ninterface Map<K, V> {\n    readonly [Symbol.toStringTag]: string;\n}\ninterface WeakMap<K extends WeakKey, V> {\n    readonly [Symbol.toStringTag]: string;\n}\ninterface Set<T> {\n    readonly [Symbol.toStringTag]: string;\n}\ninterface WeakSet<T extends WeakKey> {\n    readonly [Symbol.toStringTag]: string;\n}\ninterface JSON {\n    readonly [Symbol.toStringTag]: string;\n}\ninterface Function {\n    [Symbol.hasInstance](value: any): boolean;\n}\ninterface GeneratorFunction {\n    readonly [Symbol.toStringTag]: string;\n}\ninterface Math {\n    readonly [Symbol.toStringTag]: string;\n}\ninterface Promise<T> {\n    readonly [Symbol.toStringTag]: string;\n}\ninterface PromiseConstructor {\n    readonly [Symbol.species]: PromiseConstructor;\n}\ninterface RegExp {\n    [Symbol.match](string: string): RegExpMatchArray | null;\n    [Symbol.replace](string: string, replaceValue: string): string;\n    [Symbol.replace](string: string, replacer: (substring: string, ...args: any[]) => string): string;\n    [Symbol.search](string: string): number;\n    [Symbol.split](string: string, limit?: number): string[];\n}\ninterface RegExpConstructor {\n    readonly [Symbol.species]: RegExpConstructor;\n}\ninterface String {\n    match(matcher: {\n        [Symbol.match](string: string): RegExpMatchArray | null;\n    }): RegExpMatchArray | null;\n    replace(searchValue: {\n        [Symbol.replace](string: string, replaceValue: string): string;\n    }, replaceValue: string): string;\n    replace(searchValue: {\n        [Symbol.replace](string: string, replacer: (substring: string, ...args: any[]) => string): string;\n    }, replacer: (substring: string, ...args: any[]) => string): string;\n    search(searcher: {\n        [Symbol.search](string: string): number;\n    }): number;\n    split(splitter: {\n        [Symbol.split](string: string, limit?: number): string[];\n    }, limit?: number): string[];\n}\ninterface ArrayBuffer {\n    readonly [Symbol.toStringTag]: \"ArrayBuffer\";\n}\ninterface DataView<TArrayBuffer extends ArrayBufferLike> {\n    readonly [Symbol.toStringTag]: string;\n}\ninterface Int8Array<TArrayBuffer extends ArrayBufferLike> {\n    readonly [Symbol.toStringTag]: \"Int8Array\";\n}\ninterface Uint8Array<TArrayBuffer extends ArrayBufferLike> {\n    readonly [Symbol.toStringTag]: \"Uint8Array\";\n}\ninterface Uint8ClampedArray<TArrayBuffer extends ArrayBufferLike> {\n    readonly [Symbol.toStringTag]: \"Uint8ClampedArray\";\n}\ninterface Int16Array<TArrayBuffer extends ArrayBufferLike> {\n    readonly [Symbol.toStringTag]: \"Int16Array\";\n}\ninterface Uint16Array<TArrayBuffer extends ArrayBufferLike> {\n    readonly [Symbol.toStringTag]: \"Uint16Array\";\n}\ninterface Int32Array<TArrayBuffer extends ArrayBufferLike> {\n    readonly [Symbol.toStringTag]: \"Int32Array\";\n}\ninterface Uint32Array<TArrayBuffer extends ArrayBufferLike> {\n    readonly [Symbol.toStringTag]: \"Uint32Array\";\n}\ninterface Float32Array<TArrayBuffer extends ArrayBufferLike> {\n    readonly [Symbol.toStringTag]: \"Float32Array\";\n}\ninterface Float64Array<TArrayBuffer extends ArrayBufferLike> {\n    readonly [Symbol.toStringTag]: \"Float64Array\";\n}\ninterface ArrayConstructor {\n    readonly [Symbol.species]: ArrayConstructor;\n}\ninterface MapConstructor {\n    readonly [Symbol.species]: MapConstructor;\n}\ninterface SetConstructor {\n    readonly [Symbol.species]: SetConstructor;\n}\ninterface ArrayBufferConstructor {\n    readonly [Symbol.species]: ArrayBufferConstructor;\n}\n","lib.es2016.array.include.d.ts":"/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABILITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\ninterface Array<T> {\n    includes(searchElement: T, fromIndex?: number): boolean;\n}\ninterface ReadonlyArray<T> {\n    includes(searchElement: T, fromIndex?: number): boolean;\n}\ninterface Int8Array<TArrayBuffer extends ArrayBufferLike> {\n    includes(searchElement: number, fromIndex?: number): boolean;\n}\ninterface Uint8Array<TArrayBuffer extends ArrayBufferLike> {\n    includes(searchElement: number, fromIndex?: number): boolean;\n}\ninterface Uint8ClampedArray<TArrayBuffer extends ArrayBufferLike> {\n    includes(searchElement: number, fromIndex?: number): boolean;\n}\ninterface Int16Array<TArrayBuffer extends ArrayBufferLike> {\n    includes(searchElement: number, fromIndex?: number): boolean;\n}\ninterface Uint16Array<TArrayBuffer extends ArrayBufferLike> {\n    includes(searchElement: number, fromIndex?: number): boolean;\n}\ninterface Int32Array<TArrayBuffer extends ArrayBufferLike> {\n    includes(searchElement: number, fromIndex?: number): boolean;\n}\ninterface Uint32Array<TArrayBuffer extends ArrayBufferLike> {\n    includes(searchElement: number, fromIndex?: number): boolean;\n}\ninterface Float32Array<TArrayBuffer extends ArrayBufferLike> {\n    includes(searchElement: number, fromIndex?: number): boolean;\n}\ninterface Float64Array<TArrayBuffer extends ArrayBufferLike> {\n    includes(searchElement: number, fromIndex?: number): boolean;\n}\n","lib.es2016.d.ts":"/// <reference lib=\"es2015\" />\n/// <reference lib=\"es2016.array.include\" />\n/// <reference lib=\"es2016.intl\" />\n/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABILITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n/// <reference lib=\"es2015\" />\n/// <reference lib=\"es2016.array.include\" />\n/// <reference lib=\"es2016.intl\" />\n","lib.es2016.full.d.ts":"/// <reference lib=\"es2016\" />\n/// <reference lib=\"dom\" />\n/// <reference lib=\"webworker.importscripts\" />\n/// <reference lib=\"scripthost\" />\n/// <reference lib=\"dom.iterable\" />\n/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABILITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n/// <reference lib=\"es2016\" />\n/// <reference lib=\"dom\" />\n/// <reference lib=\"webworker.importscripts\" />\n/// <reference lib=\"scripthost\" />\n/// <reference lib=\"dom.iterable\" />\n","lib.es2016.intl.d.ts":"/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABILITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\ndeclare namespace Intl {\n    function getCanonicalLocales(locale?: string | readonly string[]): string[];\n}\n","lib.es2017.arraybuffer.d.ts":"/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABILITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\ninterface ArrayBufferConstructor {\n    new (): ArrayBuffer;\n}\n","lib.es2017.d.ts":"/// <reference lib=\"es2016\" />\n/// <reference lib=\"es2017.arraybuffer\" />\n/// <reference lib=\"es2017.date\" />\n/// <reference lib=\"es2017.intl\" />\n/// <reference lib=\"es2017.object\" />\n/// <reference lib=\"es2017.sharedmemory\" />\n/// <reference lib=\"es2017.string\" />\n/// <reference lib=\"es2017.typedarrays\" />\n/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABILITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n/// <reference lib=\"es2016\" />\n/// <reference lib=\"es2017.arraybuffer\" />\n/// <reference lib=\"es2017.date\" />\n/// <reference lib=\"es2017.intl\" />\n/// <reference lib=\"es2017.object\" />\n/// <reference lib=\"es2017.sharedmemory\" />\n/// <reference lib=\"es2017.string\" />\n/// <reference lib=\"es2017.typedarrays\" />\n","lib.es2017.date.d.ts":"/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABILITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\ninterface DateConstructor {\n    UTC(year: number, monthIndex?: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number;\n}\n","lib.es2017.full.d.ts":"/// <reference lib=\"es2017\" />\n/// <reference lib=\"dom\" />\n/// <reference lib=\"webworker.importscripts\" />\n/// <reference lib=\"scripthost\" />\n/// <reference lib=\"dom.iterable\" />\n/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABILITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n/// <reference lib=\"es2017\" />\n/// <reference lib=\"dom\" />\n/// <reference lib=\"webworker.importscripts\" />\n/// <reference lib=\"scripthost\" />\n/// <reference lib=\"dom.iterable\" />\n","lib.es2017.intl.d.ts":"/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABILITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\ndeclare namespace Intl {\n    interface DateTimeFormatPartTypesRegistry {\n        day: any;\n        dayPeriod: any;\n        era: any;\n        hour: any;\n        literal: any;\n        minute: any;\n        month: any;\n        second: any;\n        timeZoneName: any;\n        weekday: any;\n        year: any;\n    }\n    type DateTimeFormatPartTypes = keyof DateTimeFormatPartTypesRegistry;\n    interface DateTimeFormatPart {\n        type: DateTimeFormatPartTypes;\n        value: string;\n    }\n    interface DateTimeFormat {\n        formatToParts(date?: Date | number): DateTimeFormatPart[];\n    }\n}\n","lib.es2017.object.d.ts":"/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABILITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\ninterface ObjectConstructor {\n    values<T>(o: {\n        [s: string]: T;\n    } | ArrayLike<T>): T[];\n    values(o: {}): any[];\n    entries<T>(o: {\n        [s: string]: T;\n    } | ArrayLike<T>): [\n        string,\n        T\n    ][];\n    entries(o: {}): [\n        string,\n        any\n    ][];\n    getOwnPropertyDescriptors<T>(o: T): {\n        [P in keyof T]: TypedPropertyDescriptor<T[P]>;\n    } & {\n        [x: string]: PropertyDescriptor;\n    };\n}\n","lib.es2017.sharedmemory.d.ts":"/// <reference lib=\"es2015.symbol\" />\n/// <reference lib=\"es2015.symbol.wellknown\" />\n/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABILITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n/// <reference lib=\"es2015.symbol\" />\n/// <reference lib=\"es2015.symbol.wellknown\" />\ninterface SharedArrayBuffer {\n    readonly byteLength: number;\n    slice(begin?: number, end?: number): SharedArrayBuffer;\n    readonly [Symbol.toStringTag]: \"SharedArrayBuffer\";\n}\ninterface SharedArrayBufferConstructor {\n    readonly prototype: SharedArrayBuffer;\n    new (byteLength?: number): SharedArrayBuffer;\n    readonly [Symbol.species]: SharedArrayBufferConstructor;\n}\ndeclare var SharedArrayBuffer: SharedArrayBufferConstructor;\ninterface ArrayBufferTypes {\n    SharedArrayBuffer: SharedArrayBuffer;\n}\ninterface Atomics {\n    add(typedArray: Int8Array<ArrayBufferLike> | Uint8Array<ArrayBufferLike> | Int16Array<ArrayBufferLike> | Uint16Array<ArrayBufferLike> | Int32Array<ArrayBufferLike> | Uint32Array<ArrayBufferLike>, index: number, value: number): number;\n    and(typedArray: Int8Array<ArrayBufferLike> | Uint8Array<ArrayBufferLike> | Int16Array<ArrayBufferLike> | Uint16Array<ArrayBufferLike> | Int32Array<ArrayBufferLike> | Uint32Array<ArrayBufferLike>, index: number, value: number): number;\n    compareExchange(typedArray: Int8Array<ArrayBufferLike> | Uint8Array<ArrayBufferLike> | Int16Array<ArrayBufferLike> | Uint16Array<ArrayBufferLike> | Int32Array<ArrayBufferLike> | Uint32Array<ArrayBufferLike>, index: number, expectedValue: number, replacementValue: number): number;\n    exchange(typedArray: Int8Array<ArrayBufferLike> | Uint8Array<ArrayBufferLike> | Int16Array<ArrayBufferLike> | Uint16Array<ArrayBufferLike> | Int32Array<ArrayBufferLike> | Uint32Array<ArrayBufferLike>, index: number, value: number): number;\n    isLockFree(size: number): boolean;\n    load(typedArray: Int8Array<ArrayBufferLike> | Uint8Array<ArrayBufferLike> | Int16Array<ArrayBufferLike> | Uint16Array<ArrayBufferLike> | Int32Array<ArrayBufferLike> | Uint32Array<ArrayBufferLike>, index: number): number;\n    or(typedArray: Int8Array<ArrayBufferLike> | Uint8Array<ArrayBufferLike> | Int16Array<ArrayBufferLike> | Uint16Array<ArrayBufferLike> | Int32Array<ArrayBufferLike> | Uint32Array<ArrayBufferLike>, index: number, value: number): number;\n    store(typedArray: Int8Array<ArrayBufferLike> | Uint8Array<ArrayBufferLike> | Int16Array<ArrayBufferLike> | Uint16Array<ArrayBufferLike> | Int32Array<ArrayBufferLike> | Uint32Array<ArrayBufferLike>, index: number, value: number): number;\n    sub(typedArray: Int8Array<ArrayBufferLike> | Uint8Array<ArrayBufferLike> | Int16Array<ArrayBufferLike> | Uint16Array<ArrayBufferLike> | Int32Array<ArrayBufferLike> | Uint32Array<ArrayBufferLike>, index: number, value: number): number;\n    wait(typedArray: Int32Array<ArrayBufferLike>, index: number, value: number, timeout?: number): \"ok\" | \"not-equal\" | \"timed-out\";\n    notify(typedArray: Int32Array<ArrayBufferLike>, index: number, count?: number): number;\n    xor(typedArray: Int8Array<ArrayBufferLike> | Uint8Array<ArrayBufferLike> | Int16Array<ArrayBufferLike> | Uint16Array<ArrayBufferLike> | Int32Array<ArrayBufferLike> | Uint32Array<ArrayBufferLike>, index: number, value: number): number;\n    readonly [Symbol.toStringTag]: \"Atomics\";\n}\ndeclare var Atomics: Atomics;\n","lib.es2017.string.d.ts":"/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABILITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\ninterface String {\n    padStart(maxLength: number, fillString?: string): string;\n    padEnd(maxLength: number, fillString?: string): string;\n}\n","lib.es2017.typedarrays.d.ts":"/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABILITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\ninterface Int8ArrayConstructor {\n    new (): Int8Array<ArrayBuffer>;\n}\ninterface Uint8ArrayConstructor {\n    new (): Uint8Array<ArrayBuffer>;\n}\ninterface Uint8ClampedArrayConstructor {\n    new (): Uint8ClampedArray<ArrayBuffer>;\n}\ninterface Int16ArrayConstructor {\n    new (): Int16Array<ArrayBuffer>;\n}\ninterface Uint16ArrayConstructor {\n    new (): Uint16Array<ArrayBuffer>;\n}\ninterface Int32ArrayConstructor {\n    new (): Int32Array<ArrayBuffer>;\n}\ninterface Uint32ArrayConstructor {\n    new (): Uint32Array<ArrayBuffer>;\n}\ninterface Float32ArrayConstructor {\n    new (): Float32Array<ArrayBuffer>;\n}\ninterface Float64ArrayConstructor {\n    new (): Float64Array<ArrayBuffer>;\n}\n","lib.es2018.asyncgenerator.d.ts":"/// <reference lib=\"es2018.asynciterable\" />\n/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABILITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n/// <reference lib=\"es2018.asynciterable\" />\ninterface AsyncGenerator<T = unknown, TReturn = any, TNext = any> extends AsyncIteratorObject<T, TReturn, TNext> {\n    next(...[value]: [\n    ] | [\n        TNext\n    ]): Promise<IteratorResult<T, TReturn>>;\n    return(value: TReturn | PromiseLike<TReturn>): Promise<IteratorResult<T, TReturn>>;\n    throw(e: any): Promise<IteratorResult<T, TReturn>>;\n    [Symbol.asyncIterator](): AsyncGenerator<T, TReturn, TNext>;\n}\ninterface AsyncGeneratorFunction {\n    new (...args: any[]): AsyncGenerator;\n    (...args: any[]): AsyncGenerator;\n    readonly length: number;\n    readonly name: string;\n    readonly prototype: AsyncGenerator;\n}\ninterface AsyncGeneratorFunctionConstructor {\n    new (...args: string[]): AsyncGeneratorFunction;\n    (...args: string[]): AsyncGeneratorFunction;\n    readonly length: number;\n    readonly name: string;\n    readonly prototype: AsyncGeneratorFunction;\n}\n","lib.es2018.asynciterable.d.ts":"/// <reference lib=\"es2015.symbol\" />\n/// <reference lib=\"es2015.iterable\" />\n/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABILITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n/// <reference lib=\"es2015.symbol\" />\n/// <reference lib=\"es2015.iterable\" />\ninterface SymbolConstructor {\n    readonly asyncIterator: unique symbol;\n}\ninterface AsyncIterator<T, TReturn = any, TNext = any> {\n    next(...[value]: [\n    ] | [\n        TNext\n    ]): Promise<IteratorResult<T, TReturn>>;\n    return?(value?: TReturn | PromiseLike<TReturn>): Promise<IteratorResult<T, TReturn>>;\n    throw?(e?: any): Promise<IteratorResult<T, TReturn>>;\n}\ninterface AsyncIterable<T, TReturn = any, TNext = any> {\n    [Symbol.asyncIterator](): AsyncIterator<T, TReturn, TNext>;\n}\ninterface AsyncIterableIterator<T, TReturn = any, TNext = any> extends AsyncIterator<T, TReturn, TNext> {\n    [Symbol.asyncIterator](): AsyncIterableIterator<T, TReturn, TNext>;\n}\ninterface AsyncIteratorObject<T, TReturn = unknown, TNext = unknown> extends AsyncIterator<T, TReturn, TNext> {\n    [Symbol.asyncIterator](): AsyncIteratorObject<T, TReturn, TNext>;\n}\n","lib.es2018.d.ts":"/// <reference lib=\"es2017\" />\n/// <reference lib=\"es2018.asynciterable\" />\n/// <reference lib=\"es2018.asyncgenerator\" />\n/// <reference lib=\"es2018.promise\" />\n/// <reference lib=\"es2018.regexp\" />\n/// <reference lib=\"es2018.intl\" />\n/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABILITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n/// <reference lib=\"es2017\" />\n/// <reference lib=\"es2018.asynciterable\" />\n/// <reference lib=\"es2018.asyncgenerator\" />\n/// <reference lib=\"es2018.promise\" />\n/// <reference lib=\"es2018.regexp\" />\n/// <reference lib=\"es2018.intl\" />\n","lib.es2018.full.d.ts":"/// <reference lib=\"es2018\" />\n/// <reference lib=\"dom\" />\n/// <reference lib=\"webworker.importscripts\" />\n/// <reference lib=\"scripthost\" />\n/// <reference lib=\"dom.iterable\" />\n/// <reference lib=\"dom.asynciterable\" />\n/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABILITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n/// <reference lib=\"es2018\" />\n/// <reference lib=\"dom\" />\n/// <reference lib=\"webworker.importscripts\" />\n/// <reference lib=\"scripthost\" />\n/// <reference lib=\"dom.iterable\" />\n/// <reference lib=\"dom.asynciterable\" />\n","lib.es2018.intl.d.ts":"/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABILITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\ndeclare namespace Intl {\n    type LDMLPluralRule = \"zero\" | \"one\" | \"two\" | \"few\" | \"many\" | \"other\";\n    type PluralRuleType = \"cardinal\" | \"ordinal\";\n    interface PluralRulesOptions {\n        localeMatcher?: \"lookup\" | \"best fit\" | undefined;\n        type?: PluralRuleType | undefined;\n        minimumIntegerDigits?: number | undefined;\n        minimumFractionDigits?: number | undefined;\n        maximumFractionDigits?: number | undefined;\n        minimumSignificantDigits?: number | undefined;\n        maximumSignificantDigits?: number | undefined;\n    }\n    interface ResolvedPluralRulesOptions {\n        locale: string;\n        pluralCategories: LDMLPluralRule[];\n        type: PluralRuleType;\n        minimumIntegerDigits: number;\n        minimumFractionDigits: number;\n        maximumFractionDigits: number;\n        minimumSignificantDigits?: number;\n        maximumSignificantDigits?: number;\n    }\n    interface PluralRules {\n        resolvedOptions(): ResolvedPluralRulesOptions;\n        select(n: number): LDMLPluralRule;\n    }\n    interface PluralRulesConstructor {\n        new (locales?: string | readonly string[], options?: PluralRulesOptions): PluralRules;\n        (locales?: string | readonly string[], options?: PluralRulesOptions): PluralRules;\n        supportedLocalesOf(locales: string | readonly string[], options?: {\n            localeMatcher?: \"lookup\" | \"best fit\";\n        }): string[];\n    }\n    const PluralRules: PluralRulesConstructor;\n    interface NumberFormatPartTypeRegistry {\n        literal: never;\n        nan: never;\n        infinity: never;\n        percent: never;\n        integer: never;\n        group: never;\n        decimal: never;\n        fraction: never;\n        plusSign: never;\n        minusSign: never;\n        percentSign: never;\n        currency: never;\n    }\n    type NumberFormatPartTypes = keyof NumberFormatPartTypeRegistry;\n    interface NumberFormatPart {\n        type: NumberFormatPartTypes;\n        value: string;\n    }\n    interface NumberFormat {\n        formatToParts(number?: number | bigint): NumberFormatPart[];\n    }\n}\n","lib.es2018.promise.d.ts":"/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABILITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\ninterface Promise<T> {\n    finally(onfinally?: (() => void) | undefined | null): Promise<T>;\n}\n","lib.es2018.regexp.d.ts":"/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABILITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\ninterface RegExpMatchArray {\n    groups?: {\n        [key: string]: string;\n    };\n}\ninterface RegExpExecArray {\n    groups?: {\n        [key: string]: string;\n    };\n}\ninterface RegExp {\n    readonly dotAll: boolean;\n}\n","lib.es2019.array.d.ts":"/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABILITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\ntype FlatArray<Arr, Depth extends number> = {\n    done: Arr;\n    recur: Arr extends ReadonlyArray<infer InnerArr> ? FlatArray<InnerArr, [\n        -1,\n        0,\n        1,\n        2,\n        3,\n        4,\n        5,\n        6,\n        7,\n        8,\n        9,\n        10,\n        11,\n        12,\n        13,\n        14,\n        15,\n        16,\n        17,\n        18,\n        19,\n        20\n    ][Depth]> : Arr;\n}[Depth extends -1 ? \"done\" : \"recur\"];\ninterface ReadonlyArray<T> {\n    flatMap<U, This = undefined>(callback: (this: This, value: T, index: number, array: T[]) => U | ReadonlyArray<U>, thisArg?: This): U[];\n    flat<A, D extends number = 1>(this: A, depth?: D): FlatArray<A, D>[];\n}\ninterface Array<T> {\n    flatMap<U, This = undefined>(callback: (this: This, value: T, index: number, array: T[]) => U | ReadonlyArray<U>, thisArg?: This): U[];\n    flat<A, D extends number = 1>(this: A, depth?: D): FlatArray<A, D>[];\n}\n","lib.es2019.d.ts":"/// <reference lib=\"es2018\" />\n/// <reference lib=\"es2019.array\" />\n/// <reference lib=\"es2019.object\" />\n/// <reference lib=\"es2019.string\" />\n/// <reference lib=\"es2019.symbol\" />\n/// <reference lib=\"es2019.intl\" />\n/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABILITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n/// <reference lib=\"es2018\" />\n/// <reference lib=\"es2019.array\" />\n/// <reference lib=\"es2019.object\" />\n/// <reference lib=\"es2019.string\" />\n/// <reference lib=\"es2019.symbol\" />\n/// <reference lib=\"es2019.intl\" />\n","lib.es2019.full.d.ts":"/// <reference lib=\"es2019\" />\n/// <reference lib=\"dom\" />\n/// <reference lib=\"webworker.importscripts\" />\n/// <reference lib=\"scripthost\" />\n/// <reference lib=\"dom.iterable\" />\n/// <reference lib=\"dom.asynciterable\" />\n/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABILITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n/// <reference lib=\"es2019\" />\n/// <reference lib=\"dom\" />\n/// <reference lib=\"webworker.importscripts\" />\n/// <reference lib=\"scripthost\" />\n/// <reference lib=\"dom.iterable\" />\n/// <reference lib=\"dom.asynciterable\" />\n","lib.es2019.intl.d.ts":"/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABILITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\ndeclare namespace Intl {\n    interface DateTimeFormatPartTypesRegistry {\n        unknown: never;\n    }\n}\n","lib.es2019.object.d.ts":"/// <reference lib=\"es2015.iterable\" />\n/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABILITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n/// <reference lib=\"es2015.iterable\" />\ninterface ObjectConstructor {\n    fromEntries<T = any>(entries: Iterable<readonly [\n        PropertyKey,\n        T\n    ]>): {\n        [k: string]: T;\n    };\n    fromEntries(entries: Iterable<readonly any[]>): any;\n}\n","lib.es2019.string.d.ts":"/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABILITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\ninterface String {\n    trimEnd(): string;\n    trimStart(): string;\n    trimLeft(): string;\n    trimRight(): string;\n}\n","lib.es2019.symbol.d.ts":"/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABILITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\ninterface Symbol {\n    readonly description: string | undefined;\n}\n","lib.es2020.bigint.d.ts":"/// <reference lib=\"es2020.intl\" />\n/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABILITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n/// <reference lib=\"es2020.intl\" />\ninterface BigIntToLocaleStringOptions {\n    localeMatcher?: string;\n    style?: string;\n    numberingSystem?: string;\n    unit?: string;\n    unitDisplay?: string;\n    currency?: string;\n    currencyDisplay?: string;\n    useGrouping?: boolean;\n    minimumIntegerDigits?: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21;\n    minimumFractionDigits?: 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20;\n    maximumFractionDigits?: 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20;\n    minimumSignificantDigits?: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21;\n    maximumSignificantDigits?: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21;\n    notation?: string;\n    compactDisplay?: string;\n}\ninterface BigInt {\n    toString(radix?: number): string;\n    toLocaleString(locales?: Intl.LocalesArgument, options?: BigIntToLocaleStringOptions): string;\n    valueOf(): bigint;\n    readonly [Symbol.toStringTag]: \"BigInt\";\n}\ninterface BigIntConstructor {\n    (value: bigint | boolean | number | string): bigint;\n    readonly prototype: BigInt;\n    asIntN(bits: number, int: bigint): bigint;\n    asUintN(bits: number, int: bigint): bigint;\n}\ndeclare var BigInt: BigIntConstructor;\ninterface BigInt64Array<TArrayBuffer extends ArrayBufferLike = ArrayBufferLike> {\n    readonly BYTES_PER_ELEMENT: number;\n    readonly buffer: TArrayBuffer;\n    readonly byteLength: number;\n    readonly byteOffset: number;\n    copyWithin(target: number, start: number, end?: number): this;\n    entries(): ArrayIterator<[\n        number,\n        bigint\n    ]>;\n    every(predicate: (value: bigint, index: number, array: BigInt64Array<TArrayBuffer>) => boolean, thisArg?: any): boolean;\n    fill(value: bigint, start?: number, end?: number): this;\n    filter(predicate: (value: bigint, index: number, array: BigInt64Array<TArrayBuffer>) => any, thisArg?: any): BigInt64Array<ArrayBuffer>;\n    find(predicate: (value: bigint, index: number, array: BigInt64Array<TArrayBuffer>) => boolean, thisArg?: any): bigint | undefined;\n    findIndex(predicate: (value: bigint, index: number, array: BigInt64Array<TArrayBuffer>) => boolean, thisArg?: any): number;\n    forEach(callbackfn: (value: bigint, index: number, array: BigInt64Array<TArrayBuffer>) => void, thisArg?: any): void;\n    includes(searchElement: bigint, fromIndex?: number): boolean;\n    indexOf(searchElement: bigint, fromIndex?: number): number;\n    join(separator?: string): string;\n    keys(): ArrayIterator<number>;\n    lastIndexOf(searchElement: bigint, fromIndex?: number): number;\n    readonly length: number;\n    map(callbackfn: (value: bigint, index: number, array: BigInt64Array<TArrayBuffer>) => bigint, thisArg?: any): BigInt64Array<ArrayBuffer>;\n    reduce(callbackfn: (previousValue: bigint, currentValue: bigint, currentIndex: number, array: BigInt64Array<TArrayBuffer>) => bigint): bigint;\n    reduce<U>(callbackfn: (previousValue: U, currentValue: bigint, currentIndex: number, array: BigInt64Array<TArrayBuffer>) => U, initialValue: U): U;\n    reduceRight(callbackfn: (previousValue: bigint, currentValue: bigint, currentIndex: number, array: BigInt64Array<TArrayBuffer>) => bigint): bigint;\n    reduceRight<U>(callbackfn: (previousValue: U, currentValue: bigint, currentIndex: number, array: BigInt64Array<TArrayBuffer>) => U, initialValue: U): U;\n    reverse(): this;\n    set(array: ArrayLike<bigint>, offset?: number): void;\n    slice(start?: number, end?: number): BigInt64Array<ArrayBuffer>;\n    some(predicate: (value: bigint, index: number, array: BigInt64Array<TArrayBuffer>) => boolean, thisArg?: any): boolean;\n    sort(compareFn?: (a: bigint, b: bigint) => number | bigint): this;\n    subarray(begin?: number, end?: number): BigInt64Array<TArrayBuffer>;\n    toLocaleString(locales?: string | string[], options?: Intl.NumberFormatOptions): string;\n    toString(): string;\n    valueOf(): BigInt64Array<TArrayBuffer>;\n    values(): ArrayIterator<bigint>;\n    [Symbol.iterator](): ArrayIterator<bigint>;\n    readonly [Symbol.toStringTag]: \"BigInt64Array\";\n    [index: number]: bigint;\n}\ninterface BigInt64ArrayConstructor {\n    readonly prototype: BigInt64Array<ArrayBufferLike>;\n    new (length?: number): BigInt64Array<ArrayBuffer>;\n    new (array: ArrayLike<bigint> | Iterable<bigint>): BigInt64Array<ArrayBuffer>;\n    new <TArrayBuffer extends ArrayBufferLike = ArrayBuffer>(buffer: TArrayBuffer, byteOffset?: number, length?: number): BigInt64Array<TArrayBuffer>;\n    new (buffer: ArrayBuffer, byteOffset?: number, length?: number): BigInt64Array<ArrayBuffer>;\n    new (array: ArrayLike<bigint> | ArrayBuffer): BigInt64Array<ArrayBuffer>;\n    readonly BYTES_PER_ELEMENT: number;\n    of(...items: bigint[]): BigInt64Array<ArrayBuffer>;\n    from(arrayLike: ArrayLike<bigint>): BigInt64Array<ArrayBuffer>;\n    from<U>(arrayLike: ArrayLike<U>, mapfn: (v: U, k: number) => bigint, thisArg?: any): BigInt64Array<ArrayBuffer>;\n    from(elements: Iterable<bigint>): BigInt64Array<ArrayBuffer>;\n    from<T>(elements: Iterable<T>, mapfn?: (v: T, k: number) => bigint, thisArg?: any): BigInt64Array<ArrayBuffer>;\n}\ndeclare var BigInt64Array: BigInt64ArrayConstructor;\ninterface BigUint64Array<TArrayBuffer extends ArrayBufferLike = ArrayBufferLike> {\n    readonly BYTES_PER_ELEMENT: number;\n    readonly buffer: TArrayBuffer;\n    readonly byteLength: number;\n    readonly byteOffset: number;\n    copyWithin(target: number, start: number, end?: number): this;\n    entries(): ArrayIterator<[\n        number,\n        bigint\n    ]>;\n    every(predicate: (value: bigint, index: number, array: BigUint64Array<TArrayBuffer>) => boolean, thisArg?: any): boolean;\n    fill(value: bigint, start?: number, end?: number): this;\n    filter(predicate: (value: bigint, index: number, array: BigUint64Array<TArrayBuffer>) => any, thisArg?: any): BigUint64Array<ArrayBuffer>;\n    find(predicate: (value: bigint, index: number, array: BigUint64Array<TArrayBuffer>) => boolean, thisArg?: any): bigint | undefined;\n    findIndex(predicate: (value: bigint, index: number, array: BigUint64Array<TArrayBuffer>) => boolean, thisArg?: any): number;\n    forEach(callbackfn: (value: bigint, index: number, array: BigUint64Array<TArrayBuffer>) => void, thisArg?: any): void;\n    includes(searchElement: bigint, fromIndex?: number): boolean;\n    indexOf(searchElement: bigint, fromIndex?: number): number;\n    join(separator?: string): string;\n    keys(): ArrayIterator<number>;\n    lastIndexOf(searchElement: bigint, fromIndex?: number): number;\n    readonly length: number;\n    map(callbackfn: (value: bigint, index: number, array: BigUint64Array<TArrayBuffer>) => bigint, thisArg?: any): BigUint64Array<ArrayBuffer>;\n    reduce(callbackfn: (previousValue: bigint, currentValue: bigint, currentIndex: number, array: BigUint64Array<TArrayBuffer>) => bigint): bigint;\n    reduce<U>(callbackfn: (previousValue: U, currentValue: bigint, currentIndex: number, array: BigUint64Array<TArrayBuffer>) => U, initialValue: U): U;\n    reduceRight(callbackfn: (previousValue: bigint, currentValue: bigint, currentIndex: number, array: BigUint64Array<TArrayBuffer>) => bigint): bigint;\n    reduceRight<U>(callbackfn: (previousValue: U, currentValue: bigint, currentIndex: number, array: BigUint64Array<TArrayBuffer>) => U, initialValue: U): U;\n    reverse(): this;\n    set(array: ArrayLike<bigint>, offset?: number): void;\n    slice(start?: number, end?: number): BigUint64Array<ArrayBuffer>;\n    some(predicate: (value: bigint, index: number, array: BigUint64Array<TArrayBuffer>) => boolean, thisArg?: any): boolean;\n    sort(compareFn?: (a: bigint, b: bigint) => number | bigint): this;\n    subarray(begin?: number, end?: number): BigUint64Array<TArrayBuffer>;\n    toLocaleString(locales?: string | string[], options?: Intl.NumberFormatOptions): string;\n    toString(): string;\n    valueOf(): BigUint64Array<TArrayBuffer>;\n    values(): ArrayIterator<bigint>;\n    [Symbol.iterator](): ArrayIterator<bigint>;\n    readonly [Symbol.toStringTag]: \"BigUint64Array\";\n    [index: number]: bigint;\n}\ninterface BigUint64ArrayConstructor {\n    readonly prototype: BigUint64Array<ArrayBufferLike>;\n    new (length?: number): BigUint64Array<ArrayBuffer>;\n    new (array: ArrayLike<bigint> | Iterable<bigint>): BigUint64Array<ArrayBuffer>;\n    new <TArrayBuffer extends ArrayBufferLike = ArrayBuffer>(buffer: TArrayBuffer, byteOffset?: number, length?: number): BigUint64Array<TArrayBuffer>;\n    new (buffer: ArrayBuffer, byteOffset?: number, length?: number): BigUint64Array<ArrayBuffer>;\n    new (array: ArrayLike<bigint> | ArrayBuffer): BigUint64Array<ArrayBuffer>;\n    readonly BYTES_PER_ELEMENT: number;\n    of(...items: bigint[]): BigUint64Array<ArrayBuffer>;\n    from(arrayLike: ArrayLike<bigint>): BigUint64Array<ArrayBuffer>;\n    from<U>(arrayLike: ArrayLike<U>, mapfn: (v: U, k: number) => bigint, thisArg?: any): BigUint64Array<ArrayBuffer>;\n    from(elements: Iterable<bigint>): BigUint64Array<ArrayBuffer>;\n    from<T>(elements: Iterable<T>, mapfn?: (v: T, k: number) => bigint, thisArg?: any): BigUint64Array<ArrayBuffer>;\n}\ndeclare var BigUint64Array: BigUint64ArrayConstructor;\ninterface DataView<TArrayBuffer extends ArrayBufferLike> {\n    getBigInt64(byteOffset: number, littleEndian?: boolean): bigint;\n    getBigUint64(byteOffset: number, littleEndian?: boolean): bigint;\n    setBigInt64(byteOffset: number, value: bigint, littleEndian?: boolean): void;\n    setBigUint64(byteOffset: number, value: bigint, littleEndian?: boolean): void;\n}\ndeclare namespace Intl {\n    interface NumberFormat {\n        format(value: number | bigint): string;\n    }\n}\n","lib.es2020.d.ts":"/// <reference lib=\"es2019\" />\n/// <reference lib=\"es2020.bigint\" />\n/// <reference lib=\"es2020.date\" />\n/// <reference lib=\"es2020.number\" />\n/// <reference lib=\"es2020.promise\" />\n/// <reference lib=\"es2020.sharedmemory\" />\n/// <reference lib=\"es2020.string\" />\n/// <reference lib=\"es2020.symbol.wellknown\" />\n/// <reference lib=\"es2020.intl\" />\n/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABILITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n/// <reference lib=\"es2019\" />\n/// <reference lib=\"es2020.bigint\" />\n/// <reference lib=\"es2020.date\" />\n/// <reference lib=\"es2020.number\" />\n/// <reference lib=\"es2020.promise\" />\n/// <reference lib=\"es2020.sharedmemory\" />\n/// <reference lib=\"es2020.string\" />\n/// <reference lib=\"es2020.symbol.wellknown\" />\n/// <reference lib=\"es2020.intl\" />\n","lib.es2020.date.d.ts":"/// <reference lib=\"es2020.intl\" />\n/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABILITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n/// <reference lib=\"es2020.intl\" />\ninterface Date {\n    toLocaleString(locales?: Intl.LocalesArgument, options?: Intl.DateTimeFormatOptions): string;\n    toLocaleDateString(locales?: Intl.LocalesArgument, options?: Intl.DateTimeFormatOptions): string;\n    toLocaleTimeString(locales?: Intl.LocalesArgument, options?: Intl.DateTimeFormatOptions): string;\n}\n","lib.es2020.full.d.ts":"/// <reference lib=\"es2020\" />\n/// <reference lib=\"dom\" />\n/// <reference lib=\"webworker.importscripts\" />\n/// <reference lib=\"scripthost\" />\n/// <reference lib=\"dom.iterable\" />\n/// <reference lib=\"dom.asynciterable\" />\n/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABILITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n/// <reference lib=\"es2020\" />\n/// <reference lib=\"dom\" />\n/// <reference lib=\"webworker.importscripts\" />\n/// <reference lib=\"scripthost\" />\n/// <reference lib=\"dom.iterable\" />\n/// <reference lib=\"dom.asynciterable\" />\n","lib.es2020.intl.d.ts":"/// <reference lib=\"es2018.intl\" />\n/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABILITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n/// <reference lib=\"es2018.intl\" />\ndeclare namespace Intl {\n    type UnicodeBCP47LocaleIdentifier = string;\n    type RelativeTimeFormatUnit = \"year\" | \"years\" | \"quarter\" | \"quarters\" | \"month\" | \"months\" | \"week\" | \"weeks\" | \"day\" | \"days\" | \"hour\" | \"hours\" | \"minute\" | \"minutes\" | \"second\" | \"seconds\";\n    type RelativeTimeFormatUnitSingular = \"year\" | \"quarter\" | \"month\" | \"week\" | \"day\" | \"hour\" | \"minute\" | \"second\";\n    type RelativeTimeFormatLocaleMatcher = \"lookup\" | \"best fit\";\n    type RelativeTimeFormatNumeric = \"always\" | \"auto\";\n    type RelativeTimeFormatStyle = \"long\" | \"short\" | \"narrow\";\n    type LocalesArgument = UnicodeBCP47LocaleIdentifier | Locale | readonly (UnicodeBCP47LocaleIdentifier | Locale)[] | undefined;\n    interface RelativeTimeFormatOptions {\n        localeMatcher?: RelativeTimeFormatLocaleMatcher;\n        numeric?: RelativeTimeFormatNumeric;\n        style?: RelativeTimeFormatStyle;\n    }\n    interface ResolvedRelativeTimeFormatOptions {\n        locale: UnicodeBCP47LocaleIdentifier;\n        style: RelativeTimeFormatStyle;\n        numeric: RelativeTimeFormatNumeric;\n        numberingSystem: string;\n    }\n    type RelativeTimeFormatPart = {\n        type: \"literal\";\n        value: string;\n    } | {\n        type: Exclude<NumberFormatPartTypes, \"literal\">;\n        value: string;\n        unit: RelativeTimeFormatUnitSingular;\n    };\n    interface RelativeTimeFormat {\n        format(value: number, unit: RelativeTimeFormatUnit): string;\n        formatToParts(value: number, unit: RelativeTimeFormatUnit): RelativeTimeFormatPart[];\n        resolvedOptions(): ResolvedRelativeTimeFormatOptions;\n    }\n    const RelativeTimeFormat: {\n        new (locales?: LocalesArgument, options?: RelativeTimeFormatOptions): RelativeTimeFormat;\n        supportedLocalesOf(locales?: LocalesArgument, options?: RelativeTimeFormatOptions): UnicodeBCP47LocaleIdentifier[];\n    };\n    interface NumberFormatOptionsStyleRegistry {\n        unit: never;\n    }\n    interface NumberFormatOptionsCurrencyDisplayRegistry {\n        narrowSymbol: never;\n    }\n    interface NumberFormatOptionsSignDisplayRegistry {\n        auto: never;\n        never: never;\n        always: never;\n        exceptZero: never;\n    }\n    type NumberFormatOptionsSignDisplay = keyof NumberFormatOptionsSignDisplayRegistry;\n    interface NumberFormatOptions {\n        numberingSystem?: string | undefined;\n        compactDisplay?: \"short\" | \"long\" | undefined;\n        notation?: \"standard\" | \"scientific\" | \"engineering\" | \"compact\" | undefined;\n        signDisplay?: NumberFormatOptionsSignDisplay | undefined;\n        unit?: string | undefined;\n        unitDisplay?: \"short\" | \"long\" | \"narrow\" | undefined;\n        currencySign?: \"standard\" | \"accounting\" | undefined;\n    }\n    interface ResolvedNumberFormatOptions {\n        compactDisplay?: \"short\" | \"long\";\n        notation: \"standard\" | \"scientific\" | \"engineering\" | \"compact\";\n        signDisplay: NumberFormatOptionsSignDisplay;\n        unit?: string;\n        unitDisplay?: \"short\" | \"long\" | \"narrow\";\n        currencySign?: \"standard\" | \"accounting\";\n    }\n    interface NumberFormatPartTypeRegistry {\n        compact: never;\n        exponentInteger: never;\n        exponentMinusSign: never;\n        exponentSeparator: never;\n        unit: never;\n        unknown: never;\n    }\n    interface DateTimeFormatOptions {\n        calendar?: string | undefined;\n        dayPeriod?: \"narrow\" | \"short\" | \"long\" | undefined;\n        numberingSystem?: string | undefined;\n        dateStyle?: \"full\" | \"long\" | \"medium\" | \"short\" | undefined;\n        timeStyle?: \"full\" | \"long\" | \"medium\" | \"short\" | undefined;\n        hourCycle?: \"h11\" | \"h12\" | \"h23\" | \"h24\" | undefined;\n    }\n    type LocaleHourCycleKey = \"h12\" | \"h23\" | \"h11\" | \"h24\";\n    type LocaleCollationCaseFirst = \"upper\" | \"lower\" | \"false\";\n    interface LocaleOptions {\n        baseName?: string;\n        calendar?: string;\n        caseFirst?: LocaleCollationCaseFirst;\n        collation?: string;\n        hourCycle?: LocaleHourCycleKey;\n        language?: string;\n        numberingSystem?: string;\n        numeric?: boolean;\n        region?: string;\n        script?: string;\n    }\n    interface Locale extends LocaleOptions {\n        baseName: string;\n        language: string;\n        maximize(): Locale;\n        minimize(): Locale;\n        toString(): UnicodeBCP47LocaleIdentifier;\n    }\n    const Locale: {\n        new (tag: UnicodeBCP47LocaleIdentifier | Locale, options?: LocaleOptions): Locale;\n    };\n    type DisplayNamesFallback = \"code\" | \"none\";\n    type DisplayNamesType = \"language\" | \"region\" | \"script\" | \"calendar\" | \"dateTimeField\" | \"currency\";\n    type DisplayNamesLanguageDisplay = \"dialect\" | \"standard\";\n    interface DisplayNamesOptions {\n        localeMatcher?: RelativeTimeFormatLocaleMatcher;\n        style?: RelativeTimeFormatStyle;\n        type: DisplayNamesType;\n        languageDisplay?: DisplayNamesLanguageDisplay;\n        fallback?: DisplayNamesFallback;\n    }\n    interface ResolvedDisplayNamesOptions {\n        locale: UnicodeBCP47LocaleIdentifier;\n        style: RelativeTimeFormatStyle;\n        type: DisplayNamesType;\n        fallback: DisplayNamesFallback;\n        languageDisplay?: DisplayNamesLanguageDisplay;\n    }\n    interface DisplayNames {\n        of(code: string): string | undefined;\n        resolvedOptions(): ResolvedDisplayNamesOptions;\n    }\n    const DisplayNames: {\n        prototype: DisplayNames;\n        new (locales: LocalesArgument, options: DisplayNamesOptions): DisplayNames;\n        supportedLocalesOf(locales?: LocalesArgument, options?: {\n            localeMatcher?: RelativeTimeFormatLocaleMatcher;\n        }): UnicodeBCP47LocaleIdentifier[];\n    };\n    interface CollatorConstructor {\n        new (locales?: LocalesArgument, options?: CollatorOptions): Collator;\n        (locales?: LocalesArgument, options?: CollatorOptions): Collator;\n        supportedLocalesOf(locales: LocalesArgument, options?: CollatorOptions): string[];\n    }\n    interface DateTimeFormatConstructor {\n        new (locales?: LocalesArgument, options?: DateTimeFormatOptions): DateTimeFormat;\n        (locales?: LocalesArgument, options?: DateTimeFormatOptions): DateTimeFormat;\n        supportedLocalesOf(locales: LocalesArgument, options?: DateTimeFormatOptions): string[];\n    }\n    interface NumberFormatConstructor {\n        new (locales?: LocalesArgument, options?: NumberFormatOptions): NumberFormat;\n        (locales?: LocalesArgument, options?: NumberFormatOptions): NumberFormat;\n        supportedLocalesOf(locales: LocalesArgument, options?: NumberFormatOptions): string[];\n    }\n    interface PluralRulesConstructor {\n        new (locales?: LocalesArgument, options?: PluralRulesOptions): PluralRules;\n        (locales?: LocalesArgument, options?: PluralRulesOptions): PluralRules;\n        supportedLocalesOf(locales: LocalesArgument, options?: {\n            localeMatcher?: \"lookup\" | \"best fit\";\n        }): string[];\n    }\n}\n","lib.es2020.number.d.ts":"/// <reference lib=\"es2020.intl\" />\n/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABILITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n/// <reference lib=\"es2020.intl\" />\ninterface Number {\n    toLocaleString(locales?: Intl.LocalesArgument, options?: Intl.NumberFormatOptions): string;\n}\n","lib.es2020.promise.d.ts":"/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABILITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\ninterface PromiseFulfilledResult<T> {\n    status: \"fulfilled\";\n    value: T;\n}\ninterface PromiseRejectedResult {\n    status: \"rejected\";\n    reason: any;\n}\ntype PromiseSettledResult<T> = PromiseFulfilledResult<T> | PromiseRejectedResult;\ninterface PromiseConstructor {\n    allSettled<T extends readonly unknown[] | [\n    ]>(values: T): Promise<{\n        -readonly [P in keyof T]: PromiseSettledResult<Awaited<T[P]>>;\n    }>;\n    allSettled<T>(values: Iterable<T | PromiseLike<T>>): Promise<PromiseSettledResult<Awaited<T>>[]>;\n}\n","lib.es2020.sharedmemory.d.ts":"/// <reference lib=\"es2020.bigint\" />\n/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABILITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n/// <reference lib=\"es2020.bigint\" />\ninterface Atomics {\n    add(typedArray: BigInt64Array<ArrayBufferLike> | BigUint64Array<ArrayBufferLike>, index: number, value: bigint): bigint;\n    and(typedArray: BigInt64Array<ArrayBufferLike> | BigUint64Array<ArrayBufferLike>, index: number, value: bigint): bigint;\n    compareExchange(typedArray: BigInt64Array<ArrayBufferLike> | BigUint64Array<ArrayBufferLike>, index: number, expectedValue: bigint, replacementValue: bigint): bigint;\n    exchange(typedArray: BigInt64Array<ArrayBufferLike> | BigUint64Array<ArrayBufferLike>, index: number, value: bigint): bigint;\n    load(typedArray: BigInt64Array<ArrayBufferLike> | BigUint64Array<ArrayBufferLike>, index: number): bigint;\n    or(typedArray: BigInt64Array<ArrayBufferLike> | BigUint64Array<ArrayBufferLike>, index: number, value: bigint): bigint;\n    store(typedArray: BigInt64Array<ArrayBufferLike> | BigUint64Array<ArrayBufferLike>, index: number, value: bigint): bigint;\n    sub(typedArray: BigInt64Array<ArrayBufferLike> | BigUint64Array<ArrayBufferLike>, index: number, value: bigint): bigint;\n    wait(typedArray: BigInt64Array<ArrayBufferLike>, index: number, value: bigint, timeout?: number): \"ok\" | \"not-equal\" | \"timed-out\";\n    notify(typedArray: BigInt64Array<ArrayBufferLike>, index: number, count?: number): number;\n    xor(typedArray: BigInt64Array<ArrayBufferLike> | BigUint64Array<ArrayBufferLike>, index: number, value: bigint): bigint;\n}\n","lib.es2020.string.d.ts":"/// <reference lib=\"es2015.iterable\" />\n/// <reference lib=\"es2020.intl\" />\n/// <reference lib=\"es2020.symbol.wellknown\" />\n/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABILITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n/// <reference lib=\"es2015.iterable\" />\n/// <reference lib=\"es2020.intl\" />\n/// <reference lib=\"es2020.symbol.wellknown\" />\ninterface String {\n    matchAll(regexp: RegExp): RegExpStringIterator<RegExpExecArray>;\n    toLocaleLowerCase(locales?: Intl.LocalesArgument): string;\n    toLocaleUpperCase(locales?: Intl.LocalesArgument): string;\n    localeCompare(that: string, locales?: Intl.LocalesArgument, options?: Intl.CollatorOptions): number;\n}\n","lib.es2020.symbol.wellknown.d.ts":"/// <reference lib=\"es2015.iterable\" />\n/// <reference lib=\"es2015.symbol\" />\n/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABILITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n/// <reference lib=\"es2015.iterable\" />\n/// <reference lib=\"es2015.symbol\" />\ninterface SymbolConstructor {\n    readonly matchAll: unique symbol;\n}\ninterface RegExpStringIterator<T> extends IteratorObject<T, BuiltinIteratorReturn, unknown> {\n    [Symbol.iterator](): RegExpStringIterator<T>;\n}\ninterface RegExp {\n    [Symbol.matchAll](str: string): RegExpStringIterator<RegExpExecArray>;\n}\n","lib.es2021.d.ts":"/// <reference lib=\"es2020\" />\n/// <reference lib=\"es2021.promise\" />\n/// <reference lib=\"es2021.string\" />\n/// <reference lib=\"es2021.weakref\" />\n/// <reference lib=\"es2021.intl\" />\n/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABILITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n/// <reference lib=\"es2020\" />\n/// <reference lib=\"es2021.promise\" />\n/// <reference lib=\"es2021.string\" />\n/// <reference lib=\"es2021.weakref\" />\n/// <reference lib=\"es2021.intl\" />\n","lib.es2021.full.d.ts":"/// <reference lib=\"es2021\" />\n/// <reference lib=\"dom\" />\n/// <reference lib=\"webworker.importscripts\" />\n/// <reference lib=\"scripthost\" />\n/// <reference lib=\"dom.iterable\" />\n/// <reference lib=\"dom.asynciterable\" />\n/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABILITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n/// <reference lib=\"es2021\" />\n/// <reference lib=\"dom\" />\n/// <reference lib=\"webworker.importscripts\" />\n/// <reference lib=\"scripthost\" />\n/// <reference lib=\"dom.iterable\" />\n/// <reference lib=\"dom.asynciterable\" />\n","lib.es2021.intl.d.ts":"/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABILITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\ndeclare namespace Intl {\n    interface DateTimeFormatPartTypesRegistry {\n        fractionalSecond: any;\n    }\n    interface DateTimeFormatOptions {\n        formatMatcher?: \"basic\" | \"best fit\" | \"best fit\" | undefined;\n        dateStyle?: \"full\" | \"long\" | \"medium\" | \"short\" | undefined;\n        timeStyle?: \"full\" | \"long\" | \"medium\" | \"short\" | undefined;\n        dayPeriod?: \"narrow\" | \"short\" | \"long\" | undefined;\n        fractionalSecondDigits?: 1 | 2 | 3 | undefined;\n    }\n    interface DateTimeRangeFormatPart extends DateTimeFormatPart {\n        source: \"startRange\" | \"endRange\" | \"shared\";\n    }\n    interface DateTimeFormat {\n        formatRange(startDate: Date | number | bigint, endDate: Date | number | bigint): string;\n        formatRangeToParts(startDate: Date | number | bigint, endDate: Date | number | bigint): DateTimeRangeFormatPart[];\n    }\n    interface ResolvedDateTimeFormatOptions {\n        formatMatcher?: \"basic\" | \"best fit\" | \"best fit\";\n        dateStyle?: \"full\" | \"long\" | \"medium\" | \"short\";\n        timeStyle?: \"full\" | \"long\" | \"medium\" | \"short\";\n        hourCycle?: \"h11\" | \"h12\" | \"h23\" | \"h24\";\n        dayPeriod?: \"narrow\" | \"short\" | \"long\";\n        fractionalSecondDigits?: 1 | 2 | 3;\n    }\n    type ListFormatLocaleMatcher = \"lookup\" | \"best fit\";\n    type ListFormatType = \"conjunction\" | \"disjunction\" | \"unit\";\n    type ListFormatStyle = \"long\" | \"short\" | \"narrow\";\n    interface ListFormatOptions {\n        localeMatcher?: ListFormatLocaleMatcher | undefined;\n        type?: ListFormatType | undefined;\n        style?: ListFormatStyle | undefined;\n    }\n    interface ResolvedListFormatOptions {\n        locale: string;\n        style: ListFormatStyle;\n        type: ListFormatType;\n    }\n    interface ListFormat {\n        format(list: Iterable<string>): string;\n        formatToParts(list: Iterable<string>): {\n            type: \"element\" | \"literal\";\n            value: string;\n        }[];\n        resolvedOptions(): ResolvedListFormatOptions;\n    }\n    const ListFormat: {\n        prototype: ListFormat;\n        new (locales?: LocalesArgument, options?: ListFormatOptions): ListFormat;\n        supportedLocalesOf(locales: LocalesArgument, options?: Pick<ListFormatOptions, \"localeMatcher\">): UnicodeBCP47LocaleIdentifier[];\n    };\n}\n","lib.es2021.promise.d.ts":"/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABILITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\ninterface AggregateError extends Error {\n    errors: any[];\n}\ninterface AggregateErrorConstructor {\n    new (errors: Iterable<any>, message?: string): AggregateError;\n    (errors: Iterable<any>, message?: string): AggregateError;\n    readonly prototype: AggregateError;\n}\ndeclare var AggregateError: AggregateErrorConstructor;\ninterface PromiseConstructor {\n    any<T extends readonly unknown[] | [\n    ]>(values: T): Promise<Awaited<T[number]>>;\n    any<T>(values: Iterable<T | PromiseLike<T>>): Promise<Awaited<T>>;\n}\n","lib.es2021.string.d.ts":"/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABILITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\ninterface String {\n    replaceAll(searchValue: string | RegExp, replaceValue: string): string;\n    replaceAll(searchValue: string | RegExp, replacer: (substring: string, ...args: any[]) => string): string;\n}\n","lib.es2021.weakref.d.ts":"/// <reference lib=\"es2015.symbol.wellknown\" />\n/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABILITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n/// <reference lib=\"es2015.symbol.wellknown\" />\ninterface WeakRef<T extends WeakKey> {\n    readonly [Symbol.toStringTag]: \"WeakRef\";\n    deref(): T | undefined;\n}\ninterface WeakRefConstructor {\n    readonly prototype: WeakRef<any>;\n    new <T extends WeakKey>(target: T): WeakRef<T>;\n}\ndeclare var WeakRef: WeakRefConstructor;\ninterface FinalizationRegistry<T> {\n    readonly [Symbol.toStringTag]: \"FinalizationRegistry\";\n    register(target: WeakKey, heldValue: T, unregisterToken?: WeakKey): void;\n    unregister(unregisterToken: WeakKey): boolean;\n}\ninterface FinalizationRegistryConstructor {\n    readonly prototype: FinalizationRegistry<any>;\n    new <T>(cleanupCallback: (heldValue: T) => void): FinalizationRegistry<T>;\n}\ndeclare var FinalizationRegistry: FinalizationRegistryConstructor;\n","lib.es2022.array.d.ts":"/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABILITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\ninterface Array<T> {\n    at(index: number): T | undefined;\n}\ninterface ReadonlyArray<T> {\n    at(index: number): T | undefined;\n}\ninterface Int8Array<TArrayBuffer extends ArrayBufferLike> {\n    at(index: number): number | undefined;\n}\ninterface Uint8Array<TArrayBuffer extends ArrayBufferLike> {\n    at(index: number): number | undefined;\n}\ninterface Uint8ClampedArray<TArrayBuffer extends ArrayBufferLike> {\n    at(index: number): number | undefined;\n}\ninterface Int16Array<TArrayBuffer extends ArrayBufferLike> {\n    at(index: number): number | undefined;\n}\ninterface Uint16Array<TArrayBuffer extends ArrayBufferLike> {\n    at(index: number): number | undefined;\n}\ninterface Int32Array<TArrayBuffer extends ArrayBufferLike> {\n    at(index: number): number | undefined;\n}\ninterface Uint32Array<TArrayBuffer extends ArrayBufferLike> {\n    at(index: number): number | undefined;\n}\ninterface Float32Array<TArrayBuffer extends ArrayBufferLike> {\n    at(index: number): number | undefined;\n}\ninterface Float64Array<TArrayBuffer extends ArrayBufferLike> {\n    at(index: number): number | undefined;\n}\ninterface BigInt64Array<TArrayBuffer extends ArrayBufferLike> {\n    at(index: number): bigint | undefined;\n}\ninterface BigUint64Array<TArrayBuffer extends ArrayBufferLike> {\n    at(index: number): bigint | undefined;\n}\n","lib.es2022.d.ts":"/// <reference lib=\"es2021\" />\n/// <reference lib=\"es2022.array\" />\n/// <reference lib=\"es2022.error\" />\n/// <reference lib=\"es2022.intl\" />\n/// <reference lib=\"es2022.object\" />\n/// <reference lib=\"es2022.regexp\" />\n/// <reference lib=\"es2022.string\" />\n/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABILITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n/// <reference lib=\"es2021\" />\n/// <reference lib=\"es2022.array\" />\n/// <reference lib=\"es2022.error\" />\n/// <reference lib=\"es2022.intl\" />\n/// <reference lib=\"es2022.object\" />\n/// <reference lib=\"es2022.regexp\" />\n/// <reference lib=\"es2022.string\" />\n","lib.es2022.error.d.ts":"/// <reference lib=\"es2021.promise\" />\n/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABILITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n/// <reference lib=\"es2021.promise\" />\ninterface ErrorOptions {\n    cause?: unknown;\n}\ninterface Error {\n    cause?: unknown;\n}\ninterface ErrorConstructor {\n    new (message?: string, options?: ErrorOptions): Error;\n    (message?: string, options?: ErrorOptions): Error;\n}\ninterface EvalErrorConstructor {\n    new (message?: string, options?: ErrorOptions): EvalError;\n    (message?: string, options?: ErrorOptions): EvalError;\n}\ninterface RangeErrorConstructor {\n    new (message?: string, options?: ErrorOptions): RangeError;\n    (message?: string, options?: ErrorOptions): RangeError;\n}\ninterface ReferenceErrorConstructor {\n    new (message?: string, options?: ErrorOptions): ReferenceError;\n    (message?: string, options?: ErrorOptions): ReferenceError;\n}\ninterface SyntaxErrorConstructor {\n    new (message?: string, options?: ErrorOptions): SyntaxError;\n    (message?: string, options?: ErrorOptions): SyntaxError;\n}\ninterface TypeErrorConstructor {\n    new (message?: string, options?: ErrorOptions): TypeError;\n    (message?: string, options?: ErrorOptions): TypeError;\n}\ninterface URIErrorConstructor {\n    new (message?: string, options?: ErrorOptions): URIError;\n    (message?: string, options?: ErrorOptions): URIError;\n}\ninterface AggregateErrorConstructor {\n    new (errors: Iterable<any>, message?: string, options?: ErrorOptions): AggregateError;\n    (errors: Iterable<any>, message?: string, options?: ErrorOptions): AggregateError;\n}\n","lib.es2022.full.d.ts":"/// <reference lib=\"es2022\" />\n/// <reference lib=\"dom\" />\n/// <reference lib=\"webworker.importscripts\" />\n/// <reference lib=\"scripthost\" />\n/// <reference lib=\"dom.iterable\" />\n/// <reference lib=\"dom.asynciterable\" />\n/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABILITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n/// <reference lib=\"es2022\" />\n/// <reference lib=\"dom\" />\n/// <reference lib=\"webworker.importscripts\" />\n/// <reference lib=\"scripthost\" />\n/// <reference lib=\"dom.iterable\" />\n/// <reference lib=\"dom.asynciterable\" />\n","lib.es2022.intl.d.ts":"/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABILITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\ndeclare namespace Intl {\n    interface SegmenterOptions {\n        localeMatcher?: \"best fit\" | \"lookup\" | undefined;\n        granularity?: \"grapheme\" | \"word\" | \"sentence\" | undefined;\n    }\n    interface Segmenter {\n        segment(input: string): Segments;\n        resolvedOptions(): ResolvedSegmenterOptions;\n    }\n    interface ResolvedSegmenterOptions {\n        locale: string;\n        granularity: \"grapheme\" | \"word\" | \"sentence\";\n    }\n    interface SegmentIterator<T> extends IteratorObject<T, BuiltinIteratorReturn, unknown> {\n        [Symbol.iterator](): SegmentIterator<T>;\n    }\n    interface Segments {\n        containing(codeUnitIndex?: number): SegmentData | undefined;\n        [Symbol.iterator](): SegmentIterator<SegmentData>;\n    }\n    interface SegmentData {\n        segment: string;\n        index: number;\n        input: string;\n        isWordLike?: boolean;\n    }\n    const Segmenter: {\n        prototype: Segmenter;\n        new (locales?: LocalesArgument, options?: SegmenterOptions): Segmenter;\n        supportedLocalesOf(locales: LocalesArgument, options?: Pick<SegmenterOptions, \"localeMatcher\">): UnicodeBCP47LocaleIdentifier[];\n    };\n    function supportedValuesOf(key: \"calendar\" | \"collation\" | \"currency\" | \"numberingSystem\" | \"timeZone\" | \"unit\"): string[];\n}\n","lib.es2022.object.d.ts":"/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABILITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\ninterface ObjectConstructor {\n    hasOwn(o: object, v: PropertyKey): boolean;\n}\n","lib.es2022.regexp.d.ts":"/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABILITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\ninterface RegExpMatchArray {\n    indices?: RegExpIndicesArray;\n}\ninterface RegExpExecArray {\n    indices?: RegExpIndicesArray;\n}\ninterface RegExpIndicesArray extends Array<[\n    number,\n    number\n] | undefined> {\n    groups?: {\n        [key: string]: [\n            number,\n            number\n        ];\n    };\n}\ninterface RegExp {\n    readonly hasIndices: boolean;\n}\n","lib.es2022.string.d.ts":"/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABILITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\ninterface String {\n    at(index: number): string | undefined;\n}\n","lib.es2023.array.d.ts":"/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABILITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\ninterface Array<T> {\n    findLast<S extends T>(predicate: (value: T, index: number, array: T[]) => value is S, thisArg?: any): S | undefined;\n    findLast(predicate: (value: T, index: number, array: T[]) => unknown, thisArg?: any): T | undefined;\n    findLastIndex(predicate: (value: T, index: number, array: T[]) => unknown, thisArg?: any): number;\n    toReversed(): T[];\n    toSorted(compareFn?: (a: T, b: T) => number): T[];\n    toSpliced(start: number, deleteCount: number, ...items: T[]): T[];\n    toSpliced(start: number, deleteCount?: number): T[];\n    with(index: number, value: T): T[];\n}\ninterface ReadonlyArray<T> {\n    findLast<S extends T>(predicate: (value: T, index: number, array: readonly T[]) => value is S, thisArg?: any): S | undefined;\n    findLast(predicate: (value: T, index: number, array: readonly T[]) => unknown, thisArg?: any): T | undefined;\n    findLastIndex(predicate: (value: T, index: number, array: readonly T[]) => unknown, thisArg?: any): number;\n    toReversed(): T[];\n    toSorted(compareFn?: (a: T, b: T) => number): T[];\n    toSpliced(start: number, deleteCount: number, ...items: T[]): T[];\n    toSpliced(start: number, deleteCount?: number): T[];\n    with(index: number, value: T): T[];\n}\ninterface Int8Array<TArrayBuffer extends ArrayBufferLike> {\n    findLast<S extends number>(predicate: (value: number, index: number, array: this) => value is S, thisArg?: any): S | undefined;\n    findLast(predicate: (value: number, index: number, array: this) => unknown, thisArg?: any): number | undefined;\n    findLastIndex(predicate: (value: number, index: number, array: this) => unknown, thisArg?: any): number;\n    toReversed(): Int8Array<ArrayBuffer>;\n    toSorted(compareFn?: (a: number, b: number) => number): Int8Array<ArrayBuffer>;\n    with(index: number, value: number): Int8Array<ArrayBuffer>;\n}\ninterface Uint8Array<TArrayBuffer extends ArrayBufferLike> {\n    findLast<S extends number>(predicate: (value: number, index: number, array: this) => value is S, thisArg?: any): S | undefined;\n    findLast(predicate: (value: number, index: number, array: this) => unknown, thisArg?: any): number | undefined;\n    findLastIndex(predicate: (value: number, index: number, array: this) => unknown, thisArg?: any): number;\n    toReversed(): Uint8Array<ArrayBuffer>;\n    toSorted(compareFn?: (a: number, b: number) => number): Uint8Array<ArrayBuffer>;\n    with(index: number, value: number): Uint8Array<ArrayBuffer>;\n}\ninterface Uint8ClampedArray<TArrayBuffer extends ArrayBufferLike> {\n    findLast<S extends number>(predicate: (value: number, index: number, array: this) => value is S, thisArg?: any): S | undefined;\n    findLast(predicate: (value: number, index: number, array: this) => unknown, thisArg?: any): number | undefined;\n    findLastIndex(predicate: (value: number, index: number, array: this) => unknown, thisArg?: any): number;\n    toReversed(): Uint8ClampedArray<ArrayBuffer>;\n    toSorted(compareFn?: (a: number, b: number) => number): Uint8ClampedArray<ArrayBuffer>;\n    with(index: number, value: number): Uint8ClampedArray<ArrayBuffer>;\n}\ninterface Int16Array<TArrayBuffer extends ArrayBufferLike> {\n    findLast<S extends number>(predicate: (value: number, index: number, array: this) => value is S, thisArg?: any): S | undefined;\n    findLast(predicate: (value: number, index: number, array: this) => unknown, thisArg?: any): number | undefined;\n    findLastIndex(predicate: (value: number, index: number, array: this) => unknown, thisArg?: any): number;\n    toReversed(): Int16Array<ArrayBuffer>;\n    toSorted(compareFn?: (a: number, b: number) => number): Int16Array<ArrayBuffer>;\n    with(index: number, value: number): Int16Array<ArrayBuffer>;\n}\ninterface Uint16Array<TArrayBuffer extends ArrayBufferLike> {\n    findLast<S extends number>(predicate: (value: number, index: number, array: this) => value is S, thisArg?: any): S | undefined;\n    findLast(predicate: (value: number, index: number, array: this) => unknown, thisArg?: any): number | undefined;\n    findLastIndex(predicate: (value: number, index: number, array: this) => unknown, thisArg?: any): number;\n    toReversed(): Uint16Array<ArrayBuffer>;\n    toSorted(compareFn?: (a: number, b: number) => number): Uint16Array<ArrayBuffer>;\n    with(index: number, value: number): Uint16Array<ArrayBuffer>;\n}\ninterface Int32Array<TArrayBuffer extends ArrayBufferLike> {\n    findLast<S extends number>(predicate: (value: number, index: number, array: this) => value is S, thisArg?: any): S | undefined;\n    findLast(predicate: (value: number, index: number, array: this) => unknown, thisArg?: any): number | undefined;\n    findLastIndex(predicate: (value: number, index: number, array: this) => unknown, thisArg?: any): number;\n    toReversed(): Int32Array<ArrayBuffer>;\n    toSorted(compareFn?: (a: number, b: number) => number): Int32Array<ArrayBuffer>;\n    with(index: number, value: number): Int32Array<ArrayBuffer>;\n}\ninterface Uint32Array<TArrayBuffer extends ArrayBufferLike> {\n    findLast<S extends number>(predicate: (value: number, index: number, array: this) => value is S, thisArg?: any): S | undefined;\n    findLast(predicate: (value: number, index: number, array: this) => unknown, thisArg?: any): number | undefined;\n    findLastIndex(predicate: (value: number, index: number, array: this) => unknown, thisArg?: any): number;\n    toReversed(): Uint32Array<ArrayBuffer>;\n    toSorted(compareFn?: (a: number, b: number) => number): Uint32Array<ArrayBuffer>;\n    with(index: number, value: number): Uint32Array<ArrayBuffer>;\n}\ninterface Float32Array<TArrayBuffer extends ArrayBufferLike> {\n    findLast<S extends number>(predicate: (value: number, index: number, array: this) => value is S, thisArg?: any): S | undefined;\n    findLast(predicate: (value: number, index: number, array: this) => unknown, thisArg?: any): number | undefined;\n    findLastIndex(predicate: (value: number, index: number, array: this) => unknown, thisArg?: any): number;\n    toReversed(): Float32Array<ArrayBuffer>;\n    toSorted(compareFn?: (a: number, b: number) => number): Float32Array<ArrayBuffer>;\n    with(index: number, value: number): Float32Array<ArrayBuffer>;\n}\ninterface Float64Array<TArrayBuffer extends ArrayBufferLike> {\n    findLast<S extends number>(predicate: (value: number, index: number, array: this) => value is S, thisArg?: any): S | undefined;\n    findLast(predicate: (value: number, index: number, array: this) => unknown, thisArg?: any): number | undefined;\n    findLastIndex(predicate: (value: number, index: number, array: this) => unknown, thisArg?: any): number;\n    toReversed(): Float64Array<ArrayBuffer>;\n    toSorted(compareFn?: (a: number, b: number) => number): Float64Array<ArrayBuffer>;\n    with(index: number, value: number): Float64Array<ArrayBuffer>;\n}\ninterface BigInt64Array<TArrayBuffer extends ArrayBufferLike> {\n    findLast<S extends bigint>(predicate: (value: bigint, index: number, array: this) => value is S, thisArg?: any): S | undefined;\n    findLast(predicate: (value: bigint, index: number, array: this) => unknown, thisArg?: any): bigint | undefined;\n    findLastIndex(predicate: (value: bigint, index: number, array: this) => unknown, thisArg?: any): number;\n    toReversed(): BigInt64Array<ArrayBuffer>;\n    toSorted(compareFn?: (a: bigint, b: bigint) => number): BigInt64Array<ArrayBuffer>;\n    with(index: number, value: bigint): BigInt64Array<ArrayBuffer>;\n}\ninterface BigUint64Array<TArrayBuffer extends ArrayBufferLike> {\n    findLast<S extends bigint>(predicate: (value: bigint, index: number, array: this) => value is S, thisArg?: any): S | undefined;\n    findLast(predicate: (value: bigint, index: number, array: this) => unknown, thisArg?: any): bigint | undefined;\n    findLastIndex(predicate: (value: bigint, index: number, array: this) => unknown, thisArg?: any): number;\n    toReversed(): BigUint64Array<ArrayBuffer>;\n    toSorted(compareFn?: (a: bigint, b: bigint) => number): BigUint64Array<ArrayBuffer>;\n    with(index: number, value: bigint): BigUint64Array<ArrayBuffer>;\n}\n","lib.es2023.collection.d.ts":"/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABILITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\ninterface WeakKeyTypes {\n    symbol: symbol;\n}\n","lib.es2023.d.ts":"/// <reference lib=\"es2022\" />\n/// <reference lib=\"es2023.array\" />\n/// <reference lib=\"es2023.collection\" />\n/// <reference lib=\"es2023.intl\" />\n/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABILITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n/// <reference lib=\"es2022\" />\n/// <reference lib=\"es2023.array\" />\n/// <reference lib=\"es2023.collection\" />\n/// <reference lib=\"es2023.intl\" />\n","lib.es2023.full.d.ts":"/// <reference lib=\"es2023\" />\n/// <reference lib=\"dom\" />\n/// <reference lib=\"webworker.importscripts\" />\n/// <reference lib=\"scripthost\" />\n/// <reference lib=\"dom.iterable\" />\n/// <reference lib=\"dom.asynciterable\" />\n/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABILITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n/// <reference lib=\"es2023\" />\n/// <reference lib=\"dom\" />\n/// <reference lib=\"webworker.importscripts\" />\n/// <reference lib=\"scripthost\" />\n/// <reference lib=\"dom.iterable\" />\n/// <reference lib=\"dom.asynciterable\" />\n","lib.es2023.intl.d.ts":"/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABILITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\ndeclare namespace Intl {\n    interface NumberFormatOptionsUseGroupingRegistry {\n        min2: never;\n        auto: never;\n        always: never;\n    }\n    interface NumberFormatOptionsSignDisplayRegistry {\n        negative: never;\n    }\n    interface NumberFormatRangePartTypeRegistry extends NumberFormatPartTypeRegistry {\n        approximatelySign: never;\n    }\n    type NumberFormatRangePartTypes = keyof NumberFormatRangePartTypeRegistry;\n    interface NumberFormatOptions {\n        roundingPriority?: \"auto\" | \"morePrecision\" | \"lessPrecision\" | undefined;\n        roundingIncrement?: 1 | 2 | 5 | 10 | 20 | 25 | 50 | 100 | 200 | 250 | 500 | 1000 | 2000 | 2500 | 5000 | undefined;\n        roundingMode?: \"ceil\" | \"floor\" | \"expand\" | \"trunc\" | \"halfCeil\" | \"halfFloor\" | \"halfExpand\" | \"halfTrunc\" | \"halfEven\" | undefined;\n        trailingZeroDisplay?: \"auto\" | \"stripIfInteger\" | undefined;\n    }\n    interface ResolvedNumberFormatOptions {\n        roundingPriority: \"auto\" | \"morePrecision\" | \"lessPrecision\";\n        roundingMode: \"ceil\" | \"floor\" | \"expand\" | \"trunc\" | \"halfCeil\" | \"halfFloor\" | \"halfExpand\" | \"halfTrunc\" | \"halfEven\";\n        roundingIncrement: 1 | 2 | 5 | 10 | 20 | 25 | 50 | 100 | 200 | 250 | 500 | 1000 | 2000 | 2500 | 5000;\n        trailingZeroDisplay: \"auto\" | \"stripIfInteger\";\n    }\n    interface NumberRangeFormatPart {\n        type: NumberFormatRangePartTypes;\n        value: string;\n        source: \"startRange\" | \"endRange\" | \"shared\";\n    }\n    type StringNumericLiteral = `${number}` | \"Infinity\" | \"-Infinity\" | \"+Infinity\";\n    interface NumberFormat {\n        format(value: number | bigint | StringNumericLiteral): string;\n        formatToParts(value: number | bigint | StringNumericLiteral): NumberFormatPart[];\n        formatRange(start: number | bigint | StringNumericLiteral, end: number | bigint | StringNumericLiteral): string;\n        formatRangeToParts(start: number | bigint | StringNumericLiteral, end: number | bigint | StringNumericLiteral): NumberRangeFormatPart[];\n    }\n}\n","lib.es2024.arraybuffer.d.ts":"/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABILITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\ninterface ArrayBuffer {\n    get maxByteLength(): number;\n    get resizable(): boolean;\n    resize(newByteLength?: number): void;\n    get detached(): boolean;\n    transfer(newByteLength?: number): ArrayBuffer;\n    transferToFixedLength(newByteLength?: number): ArrayBuffer;\n}\ninterface ArrayBufferConstructor {\n    new (byteLength: number, options?: {\n        maxByteLength?: number;\n    }): ArrayBuffer;\n}\n","lib.es2024.collection.d.ts":"/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABILITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\ninterface MapConstructor {\n    groupBy<K, T>(items: Iterable<T>, keySelector: (item: T, index: number) => K): Map<K, T[]>;\n}\n","lib.es2024.d.ts":"/// <reference lib=\"es2023\" />\n/// <reference lib=\"es2024.arraybuffer\" />\n/// <reference lib=\"es2024.collection\" />\n/// <reference lib=\"es2024.object\" />\n/// <reference lib=\"es2024.promise\" />\n/// <reference lib=\"es2024.regexp\" />\n/// <reference lib=\"es2024.sharedmemory\" />\n/// <reference lib=\"es2024.string\" />\n/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABILITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n/// <reference lib=\"es2023\" />\n/// <reference lib=\"es2024.arraybuffer\" />\n/// <reference lib=\"es2024.collection\" />\n/// <reference lib=\"es2024.object\" />\n/// <reference lib=\"es2024.promise\" />\n/// <reference lib=\"es2024.regexp\" />\n/// <reference lib=\"es2024.sharedmemory\" />\n/// <reference lib=\"es2024.string\" />\n","lib.es2024.full.d.ts":"/// <reference lib=\"es2024\" />\n/// <reference lib=\"dom\" />\n/// <reference lib=\"webworker.importscripts\" />\n/// <reference lib=\"scripthost\" />\n/// <reference lib=\"dom.iterable\" />\n/// <reference lib=\"dom.asynciterable\" />\n/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABILITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n/// <reference lib=\"es2024\" />\n/// <reference lib=\"dom\" />\n/// <reference lib=\"webworker.importscripts\" />\n/// <reference lib=\"scripthost\" />\n/// <reference lib=\"dom.iterable\" />\n/// <reference lib=\"dom.asynciterable\" />\n","lib.es2024.object.d.ts":"/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABILITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\ninterface ObjectConstructor {\n    groupBy<K extends PropertyKey, T>(items: Iterable<T>, keySelector: (item: T, index: number) => K): Partial<Record<K, T[]>>;\n}\n","lib.es2024.promise.d.ts":"/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABILITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\ninterface PromiseWithResolvers<T> {\n    promise: Promise<T>;\n    resolve: (value: T | PromiseLike<T>) => void;\n    reject: (reason?: any) => void;\n}\ninterface PromiseConstructor {\n    withResolvers<T>(): PromiseWithResolvers<T>;\n}\n","lib.es2024.regexp.d.ts":"/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABILITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\ninterface RegExp {\n    readonly unicodeSets: boolean;\n}\n","lib.es2024.sharedmemory.d.ts":"/// <reference lib=\"es2020.bigint\" />\n/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABILITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n/// <reference lib=\"es2020.bigint\" />\ninterface Atomics {\n    waitAsync(typedArray: Int32Array, index: number, value: number, timeout?: number): {\n        async: false;\n        value: \"not-equal\" | \"timed-out\";\n    } | {\n        async: true;\n        value: Promise<\"ok\" | \"timed-out\">;\n    };\n    waitAsync(typedArray: BigInt64Array, index: number, value: bigint, timeout?: number): {\n        async: false;\n        value: \"not-equal\" | \"timed-out\";\n    } | {\n        async: true;\n        value: Promise<\"ok\" | \"timed-out\">;\n    };\n}\ninterface SharedArrayBuffer {\n    get growable(): boolean;\n    get maxByteLength(): number;\n    grow(newByteLength?: number): void;\n}\ninterface SharedArrayBufferConstructor {\n    new (byteLength: number, options?: {\n        maxByteLength?: number;\n    }): SharedArrayBuffer;\n}\n","lib.es2024.string.d.ts":"/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABILITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\ninterface String {\n    isWellFormed(): boolean;\n    toWellFormed(): string;\n}\n","lib.es2025.collection.d.ts":"/// <reference lib=\"es2024.collection\" />\n/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABILITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n/// <reference lib=\"es2024.collection\" />\ninterface ReadonlySetLike<T> {\n    keys(): Iterator<T>;\n    has(value: T): boolean;\n    readonly size: number;\n}\ninterface Set<T> {\n    union<U>(other: ReadonlySetLike<U>): Set<T | U>;\n    intersection<U>(other: ReadonlySetLike<U>): Set<T & U>;\n    difference<U>(other: ReadonlySetLike<U>): Set<T>;\n    symmetricDifference<U>(other: ReadonlySetLike<U>): Set<T | U>;\n    isSubsetOf(other: ReadonlySetLike<unknown>): boolean;\n    isSupersetOf(other: ReadonlySetLike<unknown>): boolean;\n    isDisjointFrom(other: ReadonlySetLike<unknown>): boolean;\n}\ninterface ReadonlySet<T> {\n    union<U>(other: ReadonlySetLike<U>): Set<T | U>;\n    intersection<U>(other: ReadonlySetLike<U>): Set<T & U>;\n    difference<U>(other: ReadonlySetLike<U>): Set<T>;\n    symmetricDifference<U>(other: ReadonlySetLike<U>): Set<T | U>;\n    isSubsetOf(other: ReadonlySetLike<unknown>): boolean;\n    isSupersetOf(other: ReadonlySetLike<unknown>): boolean;\n    isDisjointFrom(other: ReadonlySetLike<unknown>): boolean;\n}\n","lib.es2025.d.ts":"/// <reference lib=\"es2024\" />\n/// <reference lib=\"es2025.collection\" />\n/// <reference lib=\"es2025.float16\" />\n/// <reference lib=\"es2025.intl\" />\n/// <reference lib=\"es2025.iterator\" />\n/// <reference lib=\"es2025.promise\" />\n/// <reference lib=\"es2025.regexp\" />\n/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABILITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n/// <reference lib=\"es2024\" />\n/// <reference lib=\"es2025.collection\" />\n/// <reference lib=\"es2025.float16\" />\n/// <reference lib=\"es2025.intl\" />\n/// <reference lib=\"es2025.iterator\" />\n/// <reference lib=\"es2025.promise\" />\n/// <reference lib=\"es2025.regexp\" />\n","lib.es2025.float16.d.ts":"/// <reference lib=\"es2015.symbol\" />\n/// <reference lib=\"es2015.iterable\" />\n/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABILITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n/// <reference lib=\"es2015.symbol\" />\n/// <reference lib=\"es2015.iterable\" />\ninterface Float16Array<TArrayBuffer extends ArrayBufferLike = ArrayBufferLike> {\n    readonly BYTES_PER_ELEMENT: number;\n    readonly buffer: TArrayBuffer;\n    readonly byteLength: number;\n    readonly byteOffset: number;\n    at(index: number): number | undefined;\n    copyWithin(target: number, start: number, end?: number): this;\n    every(predicate: (value: number, index: number, array: this) => unknown, thisArg?: any): boolean;\n    fill(value: number, start?: number, end?: number): this;\n    filter(predicate: (value: number, index: number, array: this) => any, thisArg?: any): Float16Array<ArrayBuffer>;\n    find(predicate: (value: number, index: number, obj: this) => boolean, thisArg?: any): number | undefined;\n    findIndex(predicate: (value: number, index: number, obj: this) => boolean, thisArg?: any): number;\n    findLast<S extends number>(predicate: (value: number, index: number, array: this) => value is S, thisArg?: any): S | undefined;\n    findLast(predicate: (value: number, index: number, array: this) => unknown, thisArg?: any): number | undefined;\n    findLastIndex(predicate: (value: number, index: number, array: this) => unknown, thisArg?: any): number;\n    forEach(callbackfn: (value: number, index: number, array: this) => void, thisArg?: any): void;\n    includes(searchElement: number, fromIndex?: number): boolean;\n    indexOf(searchElement: number, fromIndex?: number): number;\n    join(separator?: string): string;\n    lastIndexOf(searchElement: number, fromIndex?: number): number;\n    readonly length: number;\n    map(callbackfn: (value: number, index: number, array: this) => number, thisArg?: any): Float16Array<ArrayBuffer>;\n    reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: this) => number): number;\n    reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: this) => number, initialValue: number): number;\n    reduce<U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: this) => U, initialValue: U): U;\n    reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: this) => number): number;\n    reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: this) => number, initialValue: number): number;\n    reduceRight<U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: this) => U, initialValue: U): U;\n    reverse(): this;\n    set(array: ArrayLike<number>, offset?: number): void;\n    slice(start?: number, end?: number): Float16Array<ArrayBuffer>;\n    some(predicate: (value: number, index: number, array: this) => unknown, thisArg?: any): boolean;\n    sort(compareFn?: (a: number, b: number) => number): this;\n    subarray(begin?: number, end?: number): Float16Array<TArrayBuffer>;\n    toLocaleString(locales?: string | string[], options?: Intl.NumberFormatOptions): string;\n    toReversed(): Float16Array<ArrayBuffer>;\n    toSorted(compareFn?: (a: number, b: number) => number): Float16Array<ArrayBuffer>;\n    toString(): string;\n    valueOf(): this;\n    with(index: number, value: number): Float16Array<ArrayBuffer>;\n    [index: number]: number;\n    [Symbol.iterator](): ArrayIterator<number>;\n    entries(): ArrayIterator<[\n        number,\n        number\n    ]>;\n    keys(): ArrayIterator<number>;\n    values(): ArrayIterator<number>;\n    readonly [Symbol.toStringTag]: \"Float16Array\";\n}\ninterface Float16ArrayConstructor {\n    readonly prototype: Float16Array<ArrayBufferLike>;\n    new (length?: number): Float16Array<ArrayBuffer>;\n    new (array: ArrayLike<number> | Iterable<number>): Float16Array<ArrayBuffer>;\n    new <TArrayBuffer extends ArrayBufferLike = ArrayBuffer>(buffer: TArrayBuffer, byteOffset?: number, length?: number): Float16Array<TArrayBuffer>;\n    new (buffer: ArrayBuffer, byteOffset?: number, length?: number): Float16Array<ArrayBuffer>;\n    new (array: ArrayLike<number> | ArrayBuffer): Float16Array<ArrayBuffer>;\n    readonly BYTES_PER_ELEMENT: number;\n    of(...items: number[]): Float16Array<ArrayBuffer>;\n    from(arrayLike: ArrayLike<number>): Float16Array<ArrayBuffer>;\n    from<T>(arrayLike: ArrayLike<T>, mapfn: (v: T, k: number) => number, thisArg?: any): Float16Array<ArrayBuffer>;\n    from(elements: Iterable<number>): Float16Array<ArrayBuffer>;\n    from<T>(elements: Iterable<T>, mapfn?: (v: T, k: number) => number, thisArg?: any): Float16Array<ArrayBuffer>;\n}\ndeclare var Float16Array: Float16ArrayConstructor;\ninterface Math {\n    f16round(x: number): number;\n}\ninterface DataView<TArrayBuffer extends ArrayBufferLike> {\n    getFloat16(byteOffset: number, littleEndian?: boolean): number;\n    setFloat16(byteOffset: number, value: number, littleEndian?: boolean): void;\n}\n","lib.es2025.full.d.ts":"/// <reference lib=\"es2025\" />\n/// <reference lib=\"dom\" />\n/// <reference lib=\"webworker.importscripts\" />\n/// <reference lib=\"scripthost\" />\n/// <reference lib=\"dom.iterable\" />\n/// <reference lib=\"dom.asynciterable\" />\n/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABILITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n/// <reference lib=\"es2025\" />\n/// <reference lib=\"dom\" />\n/// <reference lib=\"webworker.importscripts\" />\n/// <reference lib=\"scripthost\" />\n/// <reference lib=\"dom.iterable\" />\n/// <reference lib=\"dom.asynciterable\" />\n","lib.es2025.intl.d.ts":"/// <reference lib=\"es2018.intl\" />\n/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABILITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n/// <reference lib=\"es2018.intl\" />\ndeclare namespace Intl {\n    type DurationFormatLocaleMatcher = \"lookup\" | \"best fit\";\n    type DurationFormatStyle = \"long\" | \"short\" | \"narrow\" | \"digital\";\n    type DurationFormatDisplayOption = \"always\" | \"auto\";\n    type DurationFormatUnit = \"years\" | \"months\" | \"weeks\" | \"days\" | \"hours\" | \"minutes\" | \"seconds\" | \"milliseconds\" | \"microseconds\" | \"nanoseconds\";\n    type DurationFormatUnitSingular = \"year\" | \"month\" | \"week\" | \"day\" | \"hour\" | \"minute\" | \"second\" | \"millisecond\" | \"microsecond\" | \"nanosecond\";\n    type DurationFormatPart = {\n        type: \"literal\";\n        value: string;\n        unit?: DurationFormatUnitSingular;\n    } | {\n        type: Exclude<NumberFormatPartTypes, \"literal\">;\n        value: string;\n        unit: DurationFormatUnitSingular;\n    };\n    interface DurationFormatOptions {\n        localeMatcher?: DurationFormatLocaleMatcher | undefined;\n        numberingSystem?: string | undefined;\n        style?: DurationFormatStyle | undefined;\n        years?: \"long\" | \"short\" | \"narrow\" | undefined;\n        yearsDisplay?: DurationFormatDisplayOption | undefined;\n        months?: \"long\" | \"short\" | \"narrow\" | undefined;\n        monthsDisplay?: DurationFormatDisplayOption | undefined;\n        weeks?: \"long\" | \"short\" | \"narrow\" | undefined;\n        weeksDisplay?: DurationFormatDisplayOption | undefined;\n        days?: \"long\" | \"short\" | \"narrow\" | undefined;\n        daysDisplay?: DurationFormatDisplayOption | undefined;\n        hours?: \"long\" | \"short\" | \"narrow\" | \"numeric\" | \"2-digit\" | undefined;\n        hoursDisplay?: DurationFormatDisplayOption | undefined;\n        minutes?: \"long\" | \"short\" | \"narrow\" | \"numeric\" | \"2-digit\" | undefined;\n        minutesDisplay?: DurationFormatDisplayOption | undefined;\n        seconds?: \"long\" | \"short\" | \"narrow\" | \"numeric\" | \"2-digit\" | undefined;\n        secondsDisplay?: DurationFormatDisplayOption | undefined;\n        milliseconds?: \"long\" | \"short\" | \"narrow\" | \"numeric\" | undefined;\n        millisecondsDisplay?: DurationFormatDisplayOption | undefined;\n        microseconds?: \"long\" | \"short\" | \"narrow\" | \"numeric\" | undefined;\n        microsecondsDisplay?: DurationFormatDisplayOption | undefined;\n        nanoseconds?: \"long\" | \"short\" | \"narrow\" | \"numeric\" | undefined;\n        nanosecondsDisplay?: DurationFormatDisplayOption | undefined;\n        fractionalDigits?: 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | undefined;\n    }\n    interface DurationFormat {\n        format(duration: Partial<Record<DurationFormatUnit, number>>): string;\n        formatToParts(duration: Partial<Record<DurationFormatUnit, number>>): DurationFormatPart[];\n        resolvedOptions(): ResolvedDurationFormatOptions;\n    }\n    interface ResolvedDurationFormatOptions {\n        locale: UnicodeBCP47LocaleIdentifier;\n        numberingSystem: string;\n        style: DurationFormatStyle;\n        years: \"long\" | \"short\" | \"narrow\";\n        yearsDisplay: DurationFormatDisplayOption;\n        months: \"long\" | \"short\" | \"narrow\";\n        monthsDisplay: DurationFormatDisplayOption;\n        weeks: \"long\" | \"short\" | \"narrow\";\n        weeksDisplay: DurationFormatDisplayOption;\n        days: \"long\" | \"short\" | \"narrow\";\n        daysDisplay: DurationFormatDisplayOption;\n        hours: \"long\" | \"short\" | \"narrow\" | \"numeric\" | \"2-digit\";\n        hoursDisplay: DurationFormatDisplayOption;\n        minutes: \"long\" | \"short\" | \"narrow\" | \"numeric\" | \"2-digit\";\n        minutesDisplay: DurationFormatDisplayOption;\n        seconds: \"long\" | \"short\" | \"narrow\" | \"numeric\" | \"2-digit\";\n        secondsDisplay: DurationFormatDisplayOption;\n        milliseconds: \"long\" | \"short\" | \"narrow\" | \"numeric\";\n        millisecondsDisplay: DurationFormatDisplayOption;\n        microseconds: \"long\" | \"short\" | \"narrow\" | \"numeric\";\n        microsecondsDisplay: DurationFormatDisplayOption;\n        nanoseconds: \"long\" | \"short\" | \"narrow\" | \"numeric\";\n        nanosecondsDisplay: DurationFormatDisplayOption;\n        fractionalDigits?: 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9;\n    }\n    const DurationFormat: {\n        prototype: DurationFormat;\n        new (locales?: LocalesArgument, options?: DurationFormatOptions): DurationFormat;\n        supportedLocalesOf(locales?: LocalesArgument, options?: {\n            localeMatcher?: DurationFormatLocaleMatcher;\n        }): UnicodeBCP47LocaleIdentifier[];\n    };\n}\n","lib.es2025.iterator.d.ts":"/// <reference lib=\"es2015.iterable\" />\n/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABILITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n/// <reference lib=\"es2015.iterable\" />\nexport {};\ndeclare abstract class Iterator<T, TResult = undefined, TNext = unknown> {\n    abstract next(value?: TNext): IteratorResult<T, TResult>;\n}\ninterface Iterator<T, TResult, TNext> extends globalThis.IteratorObject<T, TResult, TNext> {\n}\ntype IteratorObjectConstructor = typeof Iterator;\ndeclare global {\n    interface IteratorObject<T, TReturn, TNext> {\n        [Symbol.iterator](): IteratorObject<T, TReturn, TNext>;\n        map<U>(callbackfn: (value: T, index: number) => U): IteratorObject<U, undefined, unknown>;\n        filter<S extends T>(predicate: (value: T, index: number) => value is S): IteratorObject<S, undefined, unknown>;\n        filter(predicate: (value: T, index: number) => unknown): IteratorObject<T, undefined, unknown>;\n        take(limit: number): IteratorObject<T, undefined, unknown>;\n        drop(count: number): IteratorObject<T, undefined, unknown>;\n        flatMap<U>(callback: (value: T, index: number) => Iterator<U, unknown, undefined> | Iterable<U, unknown, undefined>): IteratorObject<U, undefined, unknown>;\n        reduce(callbackfn: (previousValue: T, currentValue: T, currentIndex: number) => T): T;\n        reduce(callbackfn: (previousValue: T, currentValue: T, currentIndex: number) => T, initialValue: T): T;\n        reduce<U>(callbackfn: (previousValue: U, currentValue: T, currentIndex: number) => U, initialValue: U): U;\n        toArray(): T[];\n        forEach(callbackfn: (value: T, index: number) => void): void;\n        some(predicate: (value: T, index: number) => unknown): boolean;\n        every(predicate: (value: T, index: number) => unknown): boolean;\n        find<S extends T>(predicate: (value: T, index: number) => value is S): S | undefined;\n        find(predicate: (value: T, index: number) => unknown): T | undefined;\n        readonly [Symbol.toStringTag]: string;\n    }\n    interface IteratorConstructor extends IteratorObjectConstructor {\n        from<T>(value: Iterator<T, unknown, undefined> | Iterable<T, unknown, undefined>): IteratorObject<T, undefined, unknown>;\n    }\n    var Iterator: IteratorConstructor;\n}\n","lib.es2025.promise.d.ts":"/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABILITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\ninterface PromiseConstructor {\n    try<T, U extends unknown[]>(callbackFn: (...args: U) => T | PromiseLike<T>, ...args: U): Promise<Awaited<T>>;\n}\n","lib.es2025.regexp.d.ts":"/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABILITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\ninterface RegExpConstructor {\n    escape(string: string): string;\n}\n","lib.es5.d.ts":"/// <reference lib=\"decorators\" />\n/// <reference lib=\"decorators.legacy\" />\n/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABILITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n/// <reference lib=\"decorators\" />\n/// <reference lib=\"decorators.legacy\" />\ndeclare var NaN: number;\ndeclare var Infinity: number;\ndeclare function eval(x: string): any;\ndeclare function parseInt(string: string, radix?: number): number;\ndeclare function parseFloat(string: string): number;\ndeclare function isNaN(number: number): boolean;\ndeclare function isFinite(number: number): boolean;\ndeclare function decodeURI(encodedURI: string): string;\ndeclare function decodeURIComponent(encodedURIComponent: string): string;\ndeclare function encodeURI(uri: string): string;\ndeclare function encodeURIComponent(uriComponent: string | number | boolean): string;\ndeclare function escape(string: string): string;\ndeclare function unescape(string: string): string;\ninterface Symbol {\n    toString(): string;\n    valueOf(): symbol;\n}\ndeclare type PropertyKey = string | number | symbol;\ninterface PropertyDescriptor {\n    configurable?: boolean;\n    enumerable?: boolean;\n    value?: any;\n    writable?: boolean;\n    get?(): any;\n    set?(v: any): void;\n}\ninterface PropertyDescriptorMap {\n    [key: PropertyKey]: PropertyDescriptor;\n}\ninterface Object {\n    constructor: Function;\n    toString(): string;\n    toLocaleString(): string;\n    valueOf(): Object;\n    hasOwnProperty(v: PropertyKey): boolean;\n    isPrototypeOf(v: Object): boolean;\n    propertyIsEnumerable(v: PropertyKey): boolean;\n}\ninterface ObjectConstructor {\n    new (value?: any): Object;\n    (): any;\n    (value: any): any;\n    readonly prototype: Object;\n    getPrototypeOf(o: any): any;\n    getOwnPropertyDescriptor(o: any, p: PropertyKey): PropertyDescriptor | undefined;\n    getOwnPropertyNames(o: any): string[];\n    create(o: object | null): any;\n    create(o: object | null, properties: PropertyDescriptorMap & ThisType<any>): any;\n    defineProperty<T>(o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType<any>): T;\n    defineProperties<T>(o: T, properties: PropertyDescriptorMap & ThisType<any>): T;\n    seal<T>(o: T): T;\n    freeze<T extends Function>(f: T): T;\n    freeze<T extends {\n        [idx: string]: U | null | undefined | object;\n    }, U extends string | bigint | number | boolean | symbol>(o: T): Readonly<T>;\n    freeze<T>(o: T): Readonly<T>;\n    preventExtensions<T>(o: T): T;\n    isSealed(o: any): boolean;\n    isFrozen(o: any): boolean;\n    isExtensible(o: any): boolean;\n    keys(o: object): string[];\n}\ndeclare var Object: ObjectConstructor;\ninterface Function {\n    apply(this: Function, thisArg: any, argArray?: any): any;\n    call(this: Function, thisArg: any, ...argArray: any[]): any;\n    bind(this: Function, thisArg: any, ...argArray: any[]): any;\n    toString(): string;\n    prototype: any;\n    readonly length: number;\n    arguments: any;\n    caller: Function;\n}\ninterface FunctionConstructor {\n    new (...args: string[]): Function;\n    (...args: string[]): Function;\n    readonly prototype: Function;\n}\ndeclare var Function: FunctionConstructor;\ntype ThisParameterType<T> = T extends (this: infer U, ...args: never) => any ? U : unknown;\ntype OmitThisParameter<T> = unknown extends ThisParameterType<T> ? T : T extends (...args: infer A) => infer R ? (...args: A) => R : T;\ninterface CallableFunction extends Function {\n    apply<T, R>(this: (this: T) => R, thisArg: T): R;\n    apply<T, A extends any[], R>(this: (this: T, ...args: A) => R, thisArg: T, args: A): R;\n    call<T, A extends any[], R>(this: (this: T, ...args: A) => R, thisArg: T, ...args: A): R;\n    bind<T>(this: T, thisArg: ThisParameterType<T>): OmitThisParameter<T>;\n    bind<T, A extends any[], B extends any[], R>(this: (this: T, ...args: [\n        ...A,\n        ...B\n    ]) => R, thisArg: T, ...args: A): (...args: B) => R;\n}\ninterface NewableFunction extends Function {\n    apply<T>(this: new () => T, thisArg: T): void;\n    apply<T, A extends any[]>(this: new (...args: A) => T, thisArg: T, args: A): void;\n    call<T, A extends any[]>(this: new (...args: A) => T, thisArg: T, ...args: A): void;\n    bind<T>(this: T, thisArg: any): T;\n    bind<A extends any[], B extends any[], R>(this: new (...args: [\n        ...A,\n        ...B\n    ]) => R, thisArg: any, ...args: A): new (...args: B) => R;\n}\ninterface IArguments {\n    [index: number]: any;\n    length: number;\n    callee: Function;\n}\ninterface String {\n    toString(): string;\n    charAt(pos: number): string;\n    charCodeAt(index: number): number;\n    concat(...strings: string[]): string;\n    indexOf(searchString: string, position?: number): number;\n    lastIndexOf(searchString: string, position?: number): number;\n    localeCompare(that: string): number;\n    match(regexp: string | RegExp): RegExpMatchArray | null;\n    replace(searchValue: string | RegExp, replaceValue: string): string;\n    replace(searchValue: string | RegExp, replacer: (substring: string, ...args: any[]) => string): string;\n    search(regexp: string | RegExp): number;\n    slice(start?: number, end?: number): string;\n    split(separator: string | RegExp, limit?: number): string[];\n    substring(start: number, end?: number): string;\n    toLowerCase(): string;\n    toLocaleLowerCase(locales?: string | string[]): string;\n    toUpperCase(): string;\n    toLocaleUpperCase(locales?: string | string[]): string;\n    trim(): string;\n    readonly length: number;\n    substr(from: number, length?: number): string;\n    valueOf(): string;\n    readonly [index: number]: string;\n}\ninterface StringConstructor {\n    new (value?: any): String;\n    (value?: any): string;\n    readonly prototype: String;\n    fromCharCode(...codes: number[]): string;\n}\ndeclare var String: StringConstructor;\ninterface Boolean {\n    valueOf(): boolean;\n}\ninterface BooleanConstructor {\n    new (value?: any): Boolean;\n    <T>(value?: T): boolean;\n    readonly prototype: Boolean;\n}\ndeclare var Boolean: BooleanConstructor;\ninterface Number {\n    toString(radix?: number): string;\n    toFixed(fractionDigits?: number): string;\n    toExponential(fractionDigits?: number): string;\n    toPrecision(precision?: number): string;\n    valueOf(): number;\n}\ninterface NumberConstructor {\n    new (value?: any): Number;\n    (value?: any): number;\n    readonly prototype: Number;\n    readonly MAX_VALUE: number;\n    readonly MIN_VALUE: number;\n    readonly NaN: number;\n    readonly NEGATIVE_INFINITY: number;\n    readonly POSITIVE_INFINITY: number;\n}\ndeclare var Number: NumberConstructor;\ninterface TemplateStringsArray extends ReadonlyArray<string> {\n    readonly raw: readonly string[];\n}\ninterface ImportMeta {\n}\ninterface ImportCallOptions {\n    assert?: ImportAssertions;\n    with?: ImportAttributes;\n}\ninterface ImportAssertions {\n    [key: string]: string;\n}\ninterface ImportAttributes {\n    [key: string]: string;\n}\ninterface Math {\n    readonly E: number;\n    readonly LN10: number;\n    readonly LN2: number;\n    readonly LOG2E: number;\n    readonly LOG10E: number;\n    readonly PI: number;\n    readonly SQRT1_2: number;\n    readonly SQRT2: number;\n    abs(x: number): number;\n    acos(x: number): number;\n    asin(x: number): number;\n    atan(x: number): number;\n    atan2(y: number, x: number): number;\n    ceil(x: number): number;\n    cos(x: number): number;\n    exp(x: number): number;\n    floor(x: number): number;\n    log(x: number): number;\n    max(...values: number[]): number;\n    min(...values: number[]): number;\n    pow(x: number, y: number): number;\n    random(): number;\n    round(x: number): number;\n    sin(x: number): number;\n    sqrt(x: number): number;\n    tan(x: number): number;\n}\ndeclare var Math: Math;\ninterface Date {\n    toString(): string;\n    toDateString(): string;\n    toTimeString(): string;\n    toLocaleString(): string;\n    toLocaleDateString(): string;\n    toLocaleTimeString(): string;\n    valueOf(): number;\n    getTime(): number;\n    getFullYear(): number;\n    getUTCFullYear(): number;\n    getMonth(): number;\n    getUTCMonth(): number;\n    getDate(): number;\n    getUTCDate(): number;\n    getDay(): number;\n    getUTCDay(): number;\n    getHours(): number;\n    getUTCHours(): number;\n    getMinutes(): number;\n    getUTCMinutes(): number;\n    getSeconds(): number;\n    getUTCSeconds(): number;\n    getMilliseconds(): number;\n    getUTCMilliseconds(): number;\n    getTimezoneOffset(): number;\n    setTime(time: number): number;\n    setMilliseconds(ms: number): number;\n    setUTCMilliseconds(ms: number): number;\n    setSeconds(sec: number, ms?: number): number;\n    setUTCSeconds(sec: number, ms?: number): number;\n    setMinutes(min: number, sec?: number, ms?: number): number;\n    setUTCMinutes(min: number, sec?: number, ms?: number): number;\n    setHours(hours: number, min?: number, sec?: number, ms?: number): number;\n    setUTCHours(hours: number, min?: number, sec?: number, ms?: number): number;\n    setDate(date: number): number;\n    setUTCDate(date: number): number;\n    setMonth(month: number, date?: number): number;\n    setUTCMonth(month: number, date?: number): number;\n    setFullYear(year: number, month?: number, date?: number): number;\n    setUTCFullYear(year: number, month?: number, date?: number): number;\n    toUTCString(): string;\n    toISOString(): string;\n    toJSON(key?: any): string;\n}\ninterface DateConstructor {\n    new (): Date;\n    new (value: number | string): Date;\n    new (year: number, monthIndex: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date;\n    (): string;\n    readonly prototype: Date;\n    parse(s: string): number;\n    UTC(year: number, monthIndex: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number;\n    now(): number;\n}\ndeclare var Date: DateConstructor;\ninterface RegExpMatchArray extends Array<string> {\n    index?: number;\n    input?: string;\n    0: string;\n}\ninterface RegExpExecArray extends Array<string> {\n    index: number;\n    input: string;\n    0: string;\n}\ninterface RegExp {\n    exec(string: string): RegExpExecArray | null;\n    test(string: string): boolean;\n    readonly source: string;\n    readonly global: boolean;\n    readonly ignoreCase: boolean;\n    readonly multiline: boolean;\n    lastIndex: number;\n    compile(pattern: string, flags?: string): this;\n}\ninterface RegExpConstructor {\n    new (pattern: RegExp | string): RegExp;\n    new (pattern: string, flags?: string): RegExp;\n    (pattern: RegExp | string): RegExp;\n    (pattern: string, flags?: string): RegExp;\n    readonly \"prototype\": RegExp;\n    \"$1\": string;\n    \"$2\": string;\n    \"$3\": string;\n    \"$4\": string;\n    \"$5\": string;\n    \"$6\": string;\n    \"$7\": string;\n    \"$8\": string;\n    \"$9\": string;\n    \"input\": string;\n    \"$_\": string;\n    \"lastMatch\": string;\n    \"$&\": string;\n    \"lastParen\": string;\n    \"$+\": string;\n    \"leftContext\": string;\n    \"$`\": string;\n    \"rightContext\": string;\n    \"$'\": string;\n}\ndeclare var RegExp: RegExpConstructor;\ninterface Error {\n    name: string;\n    message: string;\n    stack?: string;\n}\ninterface ErrorConstructor {\n    new (message?: string): Error;\n    (message?: string): Error;\n    readonly prototype: Error;\n}\ndeclare var Error: ErrorConstructor;\ninterface EvalError extends Error {\n}\ninterface EvalErrorConstructor extends ErrorConstructor {\n    new (message?: string): EvalError;\n    (message?: string): EvalError;\n    readonly prototype: EvalError;\n}\ndeclare var EvalError: EvalErrorConstructor;\ninterface RangeError extends Error {\n}\ninterface RangeErrorConstructor extends ErrorConstructor {\n    new (message?: string): RangeError;\n    (message?: string): RangeError;\n    readonly prototype: RangeError;\n}\ndeclare var RangeError: RangeErrorConstructor;\ninterface ReferenceError extends Error {\n}\ninterface ReferenceErrorConstructor extends ErrorConstructor {\n    new (message?: string): ReferenceError;\n    (message?: string): ReferenceError;\n    readonly prototype: ReferenceError;\n}\ndeclare var ReferenceError: ReferenceErrorConstructor;\ninterface SyntaxError extends Error {\n}\ninterface SyntaxErrorConstructor extends ErrorConstructor {\n    new (message?: string): SyntaxError;\n    (message?: string): SyntaxError;\n    readonly prototype: SyntaxError;\n}\ndeclare var SyntaxError: SyntaxErrorConstructor;\ninterface TypeError extends Error {\n}\ninterface TypeErrorConstructor extends ErrorConstructor {\n    new (message?: string): TypeError;\n    (message?: string): TypeError;\n    readonly prototype: TypeError;\n}\ndeclare var TypeError: TypeErrorConstructor;\ninterface URIError extends Error {\n}\ninterface URIErrorConstructor extends ErrorConstructor {\n    new (message?: string): URIError;\n    (message?: string): URIError;\n    readonly prototype: URIError;\n}\ndeclare var URIError: URIErrorConstructor;\ninterface JSON {\n    parse(text: string, reviver?: (this: any, key: string, value: any) => any): any;\n    stringify(value: any, replacer?: (this: any, key: string, value: any) => any, space?: string | number): string;\n    stringify(value: any, replacer?: (number | string)[] | null, space?: string | number): string;\n}\ndeclare var JSON: JSON;\ninterface ReadonlyArray<T> {\n    readonly length: number;\n    toString(): string;\n    toLocaleString(): string;\n    concat(...items: ConcatArray<T>[]): T[];\n    concat(...items: (T | ConcatArray<T>)[]): T[];\n    join(separator?: string): string;\n    slice(start?: number, end?: number): T[];\n    indexOf(searchElement: T, fromIndex?: number): number;\n    lastIndexOf(searchElement: T, fromIndex?: number): number;\n    every<S extends T>(predicate: (value: T, index: number, array: readonly T[]) => value is S, thisArg?: any): this is readonly S[];\n    every(predicate: (value: T, index: number, array: readonly T[]) => unknown, thisArg?: any): boolean;\n    some(predicate: (value: T, index: number, array: readonly T[]) => unknown, thisArg?: any): boolean;\n    forEach(callbackfn: (value: T, index: number, array: readonly T[]) => void, thisArg?: any): void;\n    map<U>(callbackfn: (value: T, index: number, array: readonly T[]) => U, thisArg?: any): U[];\n    filter<S extends T>(predicate: (value: T, index: number, array: readonly T[]) => value is S, thisArg?: any): S[];\n    filter(predicate: (value: T, index: number, array: readonly T[]) => unknown, thisArg?: any): T[];\n    reduce(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: readonly T[]) => T): T;\n    reduce(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: readonly T[]) => T, initialValue: T): T;\n    reduce<U>(callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: readonly T[]) => U, initialValue: U): U;\n    reduceRight(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: readonly T[]) => T): T;\n    reduceRight(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: readonly T[]) => T, initialValue: T): T;\n    reduceRight<U>(callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: readonly T[]) => U, initialValue: U): U;\n    readonly [n: number]: T;\n}\ninterface ConcatArray<T> {\n    readonly length: number;\n    readonly [n: number]: T;\n    join(separator?: string): string;\n    slice(start?: number, end?: number): T[];\n}\ninterface Array<T> {\n    length: number;\n    toString(): string;\n    toLocaleString(): string;\n    pop(): T | undefined;\n    push(...items: T[]): number;\n    concat(...items: ConcatArray<T>[]): T[];\n    concat(...items: (T | ConcatArray<T>)[]): T[];\n    join(separator?: string): string;\n    reverse(): T[];\n    shift(): T | undefined;\n    slice(start?: number, end?: number): T[];\n    sort(compareFn?: (a: T, b: T) => number): this;\n    splice(start: number, deleteCount?: number): T[];\n    splice(start: number, deleteCount: number, ...items: T[]): T[];\n    unshift(...items: T[]): number;\n    indexOf(searchElement: T, fromIndex?: number): number;\n    lastIndexOf(searchElement: T, fromIndex?: number): number;\n    every<S extends T>(predicate: (value: T, index: number, array: T[]) => value is S, thisArg?: any): this is S[];\n    every(predicate: (value: T, index: number, array: T[]) => unknown, thisArg?: any): boolean;\n    some(predicate: (value: T, index: number, array: T[]) => unknown, thisArg?: any): boolean;\n    forEach(callbackfn: (value: T, index: number, array: T[]) => void, thisArg?: any): void;\n    map<U>(callbackfn: (value: T, index: number, array: T[]) => U, thisArg?: any): U[];\n    filter<S extends T>(predicate: (value: T, index: number, array: T[]) => value is S, thisArg?: any): S[];\n    filter(predicate: (value: T, index: number, array: T[]) => unknown, thisArg?: any): T[];\n    reduce(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T): T;\n    reduce(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue: T): T;\n    reduce<U>(callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, initialValue: U): U;\n    reduceRight(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T): T;\n    reduceRight(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue: T): T;\n    reduceRight<U>(callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, initialValue: U): U;\n    [n: number]: T;\n}\ninterface ArrayConstructor {\n    new (arrayLength?: number): any[];\n    new <T>(arrayLength: number): T[];\n    new <T>(...items: T[]): T[];\n    (arrayLength?: number): any[];\n    <T>(arrayLength: number): T[];\n    <T>(...items: T[]): T[];\n    isArray(arg: any): arg is any[];\n    readonly prototype: any[];\n}\ndeclare var Array: ArrayConstructor;\ninterface TypedPropertyDescriptor<T> {\n    enumerable?: boolean;\n    configurable?: boolean;\n    writable?: boolean;\n    value?: T;\n    get?: () => T;\n    set?: (value: T) => void;\n}\ndeclare type PromiseConstructorLike = new <T>(executor: (resolve: (value: T | PromiseLike<T>) => void, reject: (reason?: any) => void) => void) => PromiseLike<T>;\ninterface PromiseLike<T> {\n    then<TResult1 = T, TResult2 = never>(onfulfilled?: ((value: T) => TResult1 | PromiseLike<TResult1>) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | undefined | null): PromiseLike<TResult1 | TResult2>;\n}\ninterface Promise<T> {\n    then<TResult1 = T, TResult2 = never>(onfulfilled?: ((value: T) => TResult1 | PromiseLike<TResult1>) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | undefined | null): Promise<TResult1 | TResult2>;\n    catch<TResult = never>(onrejected?: ((reason: any) => TResult | PromiseLike<TResult>) | undefined | null): Promise<T | TResult>;\n}\ntype Awaited<T> = T extends null | undefined ? T : T extends object & {\n    then(onfulfilled: infer F, ...args: infer _): any;\n} ? F extends ((value: infer V, ...args: infer _) => any) ? Awaited<V> : never : T;\ninterface ArrayLike<T> {\n    readonly length: number;\n    readonly [n: number]: T;\n}\ntype Partial<T> = {\n    [P in keyof T]?: T[P];\n};\ntype Required<T> = {\n    [P in keyof T]-?: T[P];\n};\ntype Readonly<T> = {\n    readonly [P in keyof T]: T[P];\n};\ntype Pick<T, K extends keyof T> = {\n    [P in K]: T[P];\n};\ntype Record<K extends keyof any, T> = {\n    [P in K]: T;\n};\ntype Exclude<T, U> = T extends U ? never : T;\ntype Extract<T, U> = T extends U ? T : never;\ntype Omit<T, K extends keyof any> = Pick<T, Exclude<keyof T, K>>;\ntype NonNullable<T> = T & {};\ntype Parameters<T extends (...args: any) => any> = T extends (...args: infer P) => any ? P : never;\ntype ConstructorParameters<T extends abstract new (...args: any) => any> = T extends abstract new (...args: infer P) => any ? P : never;\ntype ReturnType<T extends (...args: any) => any> = T extends (...args: any) => infer R ? R : any;\ntype InstanceType<T extends abstract new (...args: any) => any> = T extends abstract new (...args: any) => infer R ? R : any;\ntype Uppercase<S extends string> = intrinsic;\ntype Lowercase<S extends string> = intrinsic;\ntype Capitalize<S extends string> = intrinsic;\ntype Uncapitalize<S extends string> = intrinsic;\ntype NoInfer<T> = intrinsic;\ninterface ThisType<T> {\n}\ninterface WeakKeyTypes {\n    object: object;\n}\ntype WeakKey = WeakKeyTypes[keyof WeakKeyTypes];\ninterface ArrayBuffer {\n    readonly byteLength: number;\n    slice(begin?: number, end?: number): ArrayBuffer;\n}\ninterface ArrayBufferTypes {\n    ArrayBuffer: ArrayBuffer;\n}\ntype ArrayBufferLike = ArrayBufferTypes[keyof ArrayBufferTypes];\ninterface ArrayBufferConstructor {\n    readonly prototype: ArrayBuffer;\n    new (byteLength: number): ArrayBuffer;\n    isView(arg: any): arg is ArrayBufferView;\n}\ndeclare var ArrayBuffer: ArrayBufferConstructor;\ninterface ArrayBufferView<TArrayBuffer extends ArrayBufferLike = ArrayBufferLike> {\n    readonly buffer: TArrayBuffer;\n    readonly byteLength: number;\n    readonly byteOffset: number;\n}\ninterface DataView<TArrayBuffer extends ArrayBufferLike = ArrayBufferLike> {\n    readonly buffer: TArrayBuffer;\n    readonly byteLength: number;\n    readonly byteOffset: number;\n    getFloat32(byteOffset: number, littleEndian?: boolean): number;\n    getFloat64(byteOffset: number, littleEndian?: boolean): number;\n    getInt8(byteOffset: number): number;\n    getInt16(byteOffset: number, littleEndian?: boolean): number;\n    getInt32(byteOffset: number, littleEndian?: boolean): number;\n    getUint8(byteOffset: number): number;\n    getUint16(byteOffset: number, littleEndian?: boolean): number;\n    getUint32(byteOffset: number, littleEndian?: boolean): number;\n    setFloat32(byteOffset: number, value: number, littleEndian?: boolean): void;\n    setFloat64(byteOffset: number, value: number, littleEndian?: boolean): void;\n    setInt8(byteOffset: number, value: number): void;\n    setInt16(byteOffset: number, value: number, littleEndian?: boolean): void;\n    setInt32(byteOffset: number, value: number, littleEndian?: boolean): void;\n    setUint8(byteOffset: number, value: number): void;\n    setUint16(byteOffset: number, value: number, littleEndian?: boolean): void;\n    setUint32(byteOffset: number, value: number, littleEndian?: boolean): void;\n}\ninterface DataViewConstructor {\n    readonly prototype: DataView<ArrayBufferLike>;\n    new <TArrayBuffer extends ArrayBufferLike & {\n        BYTES_PER_ELEMENT?: never;\n    }>(buffer: TArrayBuffer, byteOffset?: number, byteLength?: number): DataView<TArrayBuffer>;\n}\ndeclare var DataView: DataViewConstructor;\ninterface Int8Array<TArrayBuffer extends ArrayBufferLike = ArrayBufferLike> {\n    readonly BYTES_PER_ELEMENT: number;\n    readonly buffer: TArrayBuffer;\n    readonly byteLength: number;\n    readonly byteOffset: number;\n    copyWithin(target: number, start: number, end?: number): this;\n    every(predicate: (value: number, index: number, array: this) => unknown, thisArg?: any): boolean;\n    fill(value: number, start?: number, end?: number): this;\n    filter(predicate: (value: number, index: number, array: this) => any, thisArg?: any): Int8Array<ArrayBuffer>;\n    find(predicate: (value: number, index: number, obj: this) => boolean, thisArg?: any): number | undefined;\n    findIndex(predicate: (value: number, index: number, obj: this) => boolean, thisArg?: any): number;\n    forEach(callbackfn: (value: number, index: number, array: this) => void, thisArg?: any): void;\n    indexOf(searchElement: number, fromIndex?: number): number;\n    join(separator?: string): string;\n    lastIndexOf(searchElement: number, fromIndex?: number): number;\n    readonly length: number;\n    map(callbackfn: (value: number, index: number, array: this) => number, thisArg?: any): Int8Array<ArrayBuffer>;\n    reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: this) => number): number;\n    reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: this) => number, initialValue: number): number;\n    reduce<U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: this) => U, initialValue: U): U;\n    reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: this) => number): number;\n    reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: this) => number, initialValue: number): number;\n    reduceRight<U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: this) => U, initialValue: U): U;\n    reverse(): this;\n    set(array: ArrayLike<number>, offset?: number): void;\n    slice(start?: number, end?: number): Int8Array<ArrayBuffer>;\n    some(predicate: (value: number, index: number, array: this) => unknown, thisArg?: any): boolean;\n    sort(compareFn?: (a: number, b: number) => number): this;\n    subarray(begin?: number, end?: number): Int8Array<TArrayBuffer>;\n    toLocaleString(): string;\n    toString(): string;\n    valueOf(): this;\n    [index: number]: number;\n}\ninterface Int8ArrayConstructor {\n    readonly prototype: Int8Array<ArrayBufferLike>;\n    new (length: number): Int8Array<ArrayBuffer>;\n    new (array: ArrayLike<number>): Int8Array<ArrayBuffer>;\n    new <TArrayBuffer extends ArrayBufferLike = ArrayBuffer>(buffer: TArrayBuffer, byteOffset?: number, length?: number): Int8Array<TArrayBuffer>;\n    new (buffer: ArrayBuffer, byteOffset?: number, length?: number): Int8Array<ArrayBuffer>;\n    new (array: ArrayLike<number> | ArrayBuffer): Int8Array<ArrayBuffer>;\n    readonly BYTES_PER_ELEMENT: number;\n    of(...items: number[]): Int8Array<ArrayBuffer>;\n    from(arrayLike: ArrayLike<number>): Int8Array<ArrayBuffer>;\n    from<T>(arrayLike: ArrayLike<T>, mapfn: (v: T, k: number) => number, thisArg?: any): Int8Array<ArrayBuffer>;\n}\ndeclare var Int8Array: Int8ArrayConstructor;\ninterface Uint8Array<TArrayBuffer extends ArrayBufferLike = ArrayBufferLike> {\n    readonly BYTES_PER_ELEMENT: number;\n    readonly buffer: TArrayBuffer;\n    readonly byteLength: number;\n    readonly byteOffset: number;\n    copyWithin(target: number, start: number, end?: number): this;\n    every(predicate: (value: number, index: number, array: this) => unknown, thisArg?: any): boolean;\n    fill(value: number, start?: number, end?: number): this;\n    filter(predicate: (value: number, index: number, array: this) => any, thisArg?: any): Uint8Array<ArrayBuffer>;\n    find(predicate: (value: number, index: number, obj: this) => boolean, thisArg?: any): number | undefined;\n    findIndex(predicate: (value: number, index: number, obj: this) => boolean, thisArg?: any): number;\n    forEach(callbackfn: (value: number, index: number, array: this) => void, thisArg?: any): void;\n    indexOf(searchElement: number, fromIndex?: number): number;\n    join(separator?: string): string;\n    lastIndexOf(searchElement: number, fromIndex?: number): number;\n    readonly length: number;\n    map(callbackfn: (value: number, index: number, array: this) => number, thisArg?: any): Uint8Array<ArrayBuffer>;\n    reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: this) => number): number;\n    reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: this) => number, initialValue: number): number;\n    reduce<U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: this) => U, initialValue: U): U;\n    reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: this) => number): number;\n    reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: this) => number, initialValue: number): number;\n    reduceRight<U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: this) => U, initialValue: U): U;\n    reverse(): this;\n    set(array: ArrayLike<number>, offset?: number): void;\n    slice(start?: number, end?: number): Uint8Array<ArrayBuffer>;\n    some(predicate: (value: number, index: number, array: this) => unknown, thisArg?: any): boolean;\n    sort(compareFn?: (a: number, b: number) => number): this;\n    subarray(begin?: number, end?: number): Uint8Array<TArrayBuffer>;\n    toLocaleString(): string;\n    toString(): string;\n    valueOf(): this;\n    [index: number]: number;\n}\ninterface Uint8ArrayConstructor {\n    readonly prototype: Uint8Array<ArrayBufferLike>;\n    new (length: number): Uint8Array<ArrayBuffer>;\n    new (array: ArrayLike<number>): Uint8Array<ArrayBuffer>;\n    new <TArrayBuffer extends ArrayBufferLike = ArrayBuffer>(buffer: TArrayBuffer, byteOffset?: number, length?: number): Uint8Array<TArrayBuffer>;\n    new (buffer: ArrayBuffer, byteOffset?: number, length?: number): Uint8Array<ArrayBuffer>;\n    new (array: ArrayLike<number> | ArrayBuffer): Uint8Array<ArrayBuffer>;\n    readonly BYTES_PER_ELEMENT: number;\n    of(...items: number[]): Uint8Array<ArrayBuffer>;\n    from(arrayLike: ArrayLike<number>): Uint8Array<ArrayBuffer>;\n    from<T>(arrayLike: ArrayLike<T>, mapfn: (v: T, k: number) => number, thisArg?: any): Uint8Array<ArrayBuffer>;\n}\ndeclare var Uint8Array: Uint8ArrayConstructor;\ninterface Uint8ClampedArray<TArrayBuffer extends ArrayBufferLike = ArrayBufferLike> {\n    readonly BYTES_PER_ELEMENT: number;\n    readonly buffer: TArrayBuffer;\n    readonly byteLength: number;\n    readonly byteOffset: number;\n    copyWithin(target: number, start: number, end?: number): this;\n    every(predicate: (value: number, index: number, array: this) => unknown, thisArg?: any): boolean;\n    fill(value: number, start?: number, end?: number): this;\n    filter(predicate: (value: number, index: number, array: this) => any, thisArg?: any): Uint8ClampedArray<ArrayBuffer>;\n    find(predicate: (value: number, index: number, obj: this) => boolean, thisArg?: any): number | undefined;\n    findIndex(predicate: (value: number, index: number, obj: this) => boolean, thisArg?: any): number;\n    forEach(callbackfn: (value: number, index: number, array: this) => void, thisArg?: any): void;\n    indexOf(searchElement: number, fromIndex?: number): number;\n    join(separator?: string): string;\n    lastIndexOf(searchElement: number, fromIndex?: number): number;\n    readonly length: number;\n    map(callbackfn: (value: number, index: number, array: this) => number, thisArg?: any): Uint8ClampedArray<ArrayBuffer>;\n    reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: this) => number): number;\n    reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: this) => number, initialValue: number): number;\n    reduce<U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: this) => U, initialValue: U): U;\n    reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: this) => number): number;\n    reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: this) => number, initialValue: number): number;\n    reduceRight<U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: this) => U, initialValue: U): U;\n    reverse(): this;\n    set(array: ArrayLike<number>, offset?: number): void;\n    slice(start?: number, end?: number): Uint8ClampedArray<ArrayBuffer>;\n    some(predicate: (value: number, index: number, array: this) => unknown, thisArg?: any): boolean;\n    sort(compareFn?: (a: number, b: number) => number): this;\n    subarray(begin?: number, end?: number): Uint8ClampedArray<TArrayBuffer>;\n    toLocaleString(): string;\n    toString(): string;\n    valueOf(): this;\n    [index: number]: number;\n}\ninterface Uint8ClampedArrayConstructor {\n    readonly prototype: Uint8ClampedArray<ArrayBufferLike>;\n    new (length: number): Uint8ClampedArray<ArrayBuffer>;\n    new (array: ArrayLike<number>): Uint8ClampedArray<ArrayBuffer>;\n    new <TArrayBuffer extends ArrayBufferLike = ArrayBuffer>(buffer: TArrayBuffer, byteOffset?: number, length?: number): Uint8ClampedArray<TArrayBuffer>;\n    new (buffer: ArrayBuffer, byteOffset?: number, length?: number): Uint8ClampedArray<ArrayBuffer>;\n    new (array: ArrayLike<number> | ArrayBuffer): Uint8ClampedArray<ArrayBuffer>;\n    readonly BYTES_PER_ELEMENT: number;\n    of(...items: number[]): Uint8ClampedArray<ArrayBuffer>;\n    from(arrayLike: ArrayLike<number>): Uint8ClampedArray<ArrayBuffer>;\n    from<T>(arrayLike: ArrayLike<T>, mapfn: (v: T, k: number) => number, thisArg?: any): Uint8ClampedArray<ArrayBuffer>;\n}\ndeclare var Uint8ClampedArray: Uint8ClampedArrayConstructor;\ninterface Int16Array<TArrayBuffer extends ArrayBufferLike = ArrayBufferLike> {\n    readonly BYTES_PER_ELEMENT: number;\n    readonly buffer: TArrayBuffer;\n    readonly byteLength: number;\n    readonly byteOffset: number;\n    copyWithin(target: number, start: number, end?: number): this;\n    every(predicate: (value: number, index: number, array: this) => unknown, thisArg?: any): boolean;\n    fill(value: number, start?: number, end?: number): this;\n    filter(predicate: (value: number, index: number, array: this) => any, thisArg?: any): Int16Array<ArrayBuffer>;\n    find(predicate: (value: number, index: number, obj: this) => boolean, thisArg?: any): number | undefined;\n    findIndex(predicate: (value: number, index: number, obj: this) => boolean, thisArg?: any): number;\n    forEach(callbackfn: (value: number, index: number, array: this) => void, thisArg?: any): void;\n    indexOf(searchElement: number, fromIndex?: number): number;\n    join(separator?: string): string;\n    lastIndexOf(searchElement: number, fromIndex?: number): number;\n    readonly length: number;\n    map(callbackfn: (value: number, index: number, array: this) => number, thisArg?: any): Int16Array<ArrayBuffer>;\n    reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: this) => number): number;\n    reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: this) => number, initialValue: number): number;\n    reduce<U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: this) => U, initialValue: U): U;\n    reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: this) => number): number;\n    reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: this) => number, initialValue: number): number;\n    reduceRight<U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: this) => U, initialValue: U): U;\n    reverse(): this;\n    set(array: ArrayLike<number>, offset?: number): void;\n    slice(start?: number, end?: number): Int16Array<ArrayBuffer>;\n    some(predicate: (value: number, index: number, array: this) => unknown, thisArg?: any): boolean;\n    sort(compareFn?: (a: number, b: number) => number): this;\n    subarray(begin?: number, end?: number): Int16Array<TArrayBuffer>;\n    toLocaleString(): string;\n    toString(): string;\n    valueOf(): this;\n    [index: number]: number;\n}\ninterface Int16ArrayConstructor {\n    readonly prototype: Int16Array<ArrayBufferLike>;\n    new (length: number): Int16Array<ArrayBuffer>;\n    new (array: ArrayLike<number>): Int16Array<ArrayBuffer>;\n    new <TArrayBuffer extends ArrayBufferLike = ArrayBuffer>(buffer: TArrayBuffer, byteOffset?: number, length?: number): Int16Array<TArrayBuffer>;\n    new (buffer: ArrayBuffer, byteOffset?: number, length?: number): Int16Array<ArrayBuffer>;\n    new (array: ArrayLike<number> | ArrayBuffer): Int16Array<ArrayBuffer>;\n    readonly BYTES_PER_ELEMENT: number;\n    of(...items: number[]): Int16Array<ArrayBuffer>;\n    from(arrayLike: ArrayLike<number>): Int16Array<ArrayBuffer>;\n    from<T>(arrayLike: ArrayLike<T>, mapfn: (v: T, k: number) => number, thisArg?: any): Int16Array<ArrayBuffer>;\n}\ndeclare var Int16Array: Int16ArrayConstructor;\ninterface Uint16Array<TArrayBuffer extends ArrayBufferLike = ArrayBufferLike> {\n    readonly BYTES_PER_ELEMENT: number;\n    readonly buffer: TArrayBuffer;\n    readonly byteLength: number;\n    readonly byteOffset: number;\n    copyWithin(target: number, start: number, end?: number): this;\n    every(predicate: (value: number, index: number, array: this) => unknown, thisArg?: any): boolean;\n    fill(value: number, start?: number, end?: number): this;\n    filter(predicate: (value: number, index: number, array: this) => any, thisArg?: any): Uint16Array<ArrayBuffer>;\n    find(predicate: (value: number, index: number, obj: this) => boolean, thisArg?: any): number | undefined;\n    findIndex(predicate: (value: number, index: number, obj: this) => boolean, thisArg?: any): number;\n    forEach(callbackfn: (value: number, index: number, array: this) => void, thisArg?: any): void;\n    indexOf(searchElement: number, fromIndex?: number): number;\n    join(separator?: string): string;\n    lastIndexOf(searchElement: number, fromIndex?: number): number;\n    readonly length: number;\n    map(callbackfn: (value: number, index: number, array: this) => number, thisArg?: any): Uint16Array<ArrayBuffer>;\n    reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: this) => number): number;\n    reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: this) => number, initialValue: number): number;\n    reduce<U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: this) => U, initialValue: U): U;\n    reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: this) => number): number;\n    reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: this) => number, initialValue: number): number;\n    reduceRight<U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: this) => U, initialValue: U): U;\n    reverse(): this;\n    set(array: ArrayLike<number>, offset?: number): void;\n    slice(start?: number, end?: number): Uint16Array<ArrayBuffer>;\n    some(predicate: (value: number, index: number, array: this) => unknown, thisArg?: any): boolean;\n    sort(compareFn?: (a: number, b: number) => number): this;\n    subarray(begin?: number, end?: number): Uint16Array<TArrayBuffer>;\n    toLocaleString(): string;\n    toString(): string;\n    valueOf(): this;\n    [index: number]: number;\n}\ninterface Uint16ArrayConstructor {\n    readonly prototype: Uint16Array<ArrayBufferLike>;\n    new (length: number): Uint16Array<ArrayBuffer>;\n    new (array: ArrayLike<number>): Uint16Array<ArrayBuffer>;\n    new <TArrayBuffer extends ArrayBufferLike = ArrayBuffer>(buffer: TArrayBuffer, byteOffset?: number, length?: number): Uint16Array<TArrayBuffer>;\n    new (buffer: ArrayBuffer, byteOffset?: number, length?: number): Uint16Array<ArrayBuffer>;\n    new (array: ArrayLike<number> | ArrayBuffer): Uint16Array<ArrayBuffer>;\n    readonly BYTES_PER_ELEMENT: number;\n    of(...items: number[]): Uint16Array<ArrayBuffer>;\n    from(arrayLike: ArrayLike<number>): Uint16Array<ArrayBuffer>;\n    from<T>(arrayLike: ArrayLike<T>, mapfn: (v: T, k: number) => number, thisArg?: any): Uint16Array<ArrayBuffer>;\n}\ndeclare var Uint16Array: Uint16ArrayConstructor;\ninterface Int32Array<TArrayBuffer extends ArrayBufferLike = ArrayBufferLike> {\n    readonly BYTES_PER_ELEMENT: number;\n    readonly buffer: TArrayBuffer;\n    readonly byteLength: number;\n    readonly byteOffset: number;\n    copyWithin(target: number, start: number, end?: number): this;\n    every(predicate: (value: number, index: number, array: this) => unknown, thisArg?: any): boolean;\n    fill(value: number, start?: number, end?: number): this;\n    filter(predicate: (value: number, index: number, array: this) => any, thisArg?: any): Int32Array<ArrayBuffer>;\n    find(predicate: (value: number, index: number, obj: this) => boolean, thisArg?: any): number | undefined;\n    findIndex(predicate: (value: number, index: number, obj: this) => boolean, thisArg?: any): number;\n    forEach(callbackfn: (value: number, index: number, array: this) => void, thisArg?: any): void;\n    indexOf(searchElement: number, fromIndex?: number): number;\n    join(separator?: string): string;\n    lastIndexOf(searchElement: number, fromIndex?: number): number;\n    readonly length: number;\n    map(callbackfn: (value: number, index: number, array: this) => number, thisArg?: any): Int32Array<ArrayBuffer>;\n    reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: this) => number): number;\n    reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: this) => number, initialValue: number): number;\n    reduce<U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: this) => U, initialValue: U): U;\n    reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: this) => number): number;\n    reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: this) => number, initialValue: number): number;\n    reduceRight<U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: this) => U, initialValue: U): U;\n    reverse(): this;\n    set(array: ArrayLike<number>, offset?: number): void;\n    slice(start?: number, end?: number): Int32Array<ArrayBuffer>;\n    some(predicate: (value: number, index: number, array: this) => unknown, thisArg?: any): boolean;\n    sort(compareFn?: (a: number, b: number) => number): this;\n    subarray(begin?: number, end?: number): Int32Array<TArrayBuffer>;\n    toLocaleString(): string;\n    toString(): string;\n    valueOf(): this;\n    [index: number]: number;\n}\ninterface Int32ArrayConstructor {\n    readonly prototype: Int32Array<ArrayBufferLike>;\n    new (length: number): Int32Array<ArrayBuffer>;\n    new (array: ArrayLike<number>): Int32Array<ArrayBuffer>;\n    new <TArrayBuffer extends ArrayBufferLike = ArrayBuffer>(buffer: TArrayBuffer, byteOffset?: number, length?: number): Int32Array<TArrayBuffer>;\n    new (buffer: ArrayBuffer, byteOffset?: number, length?: number): Int32Array<ArrayBuffer>;\n    new (array: ArrayLike<number> | ArrayBuffer): Int32Array<ArrayBuffer>;\n    readonly BYTES_PER_ELEMENT: number;\n    of(...items: number[]): Int32Array<ArrayBuffer>;\n    from(arrayLike: ArrayLike<number>): Int32Array<ArrayBuffer>;\n    from<T>(arrayLike: ArrayLike<T>, mapfn: (v: T, k: number) => number, thisArg?: any): Int32Array<ArrayBuffer>;\n}\ndeclare var Int32Array: Int32ArrayConstructor;\ninterface Uint32Array<TArrayBuffer extends ArrayBufferLike = ArrayBufferLike> {\n    readonly BYTES_PER_ELEMENT: number;\n    readonly buffer: TArrayBuffer;\n    readonly byteLength: number;\n    readonly byteOffset: number;\n    copyWithin(target: number, start: number, end?: number): this;\n    every(predicate: (value: number, index: number, array: this) => unknown, thisArg?: any): boolean;\n    fill(value: number, start?: number, end?: number): this;\n    filter(predicate: (value: number, index: number, array: this) => any, thisArg?: any): Uint32Array<ArrayBuffer>;\n    find(predicate: (value: number, index: number, obj: this) => boolean, thisArg?: any): number | undefined;\n    findIndex(predicate: (value: number, index: number, obj: this) => boolean, thisArg?: any): number;\n    forEach(callbackfn: (value: number, index: number, array: this) => void, thisArg?: any): void;\n    indexOf(searchElement: number, fromIndex?: number): number;\n    join(separator?: string): string;\n    lastIndexOf(searchElement: number, fromIndex?: number): number;\n    readonly length: number;\n    map(callbackfn: (value: number, index: number, array: this) => number, thisArg?: any): Uint32Array<ArrayBuffer>;\n    reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: this) => number): number;\n    reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: this) => number, initialValue: number): number;\n    reduce<U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: this) => U, initialValue: U): U;\n    reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: this) => number): number;\n    reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: this) => number, initialValue: number): number;\n    reduceRight<U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: this) => U, initialValue: U): U;\n    reverse(): this;\n    set(array: ArrayLike<number>, offset?: number): void;\n    slice(start?: number, end?: number): Uint32Array<ArrayBuffer>;\n    some(predicate: (value: number, index: number, array: this) => unknown, thisArg?: any): boolean;\n    sort(compareFn?: (a: number, b: number) => number): this;\n    subarray(begin?: number, end?: number): Uint32Array<TArrayBuffer>;\n    toLocaleString(): string;\n    toString(): string;\n    valueOf(): this;\n    [index: number]: number;\n}\ninterface Uint32ArrayConstructor {\n    readonly prototype: Uint32Array<ArrayBufferLike>;\n    new (length: number): Uint32Array<ArrayBuffer>;\n    new (array: ArrayLike<number>): Uint32Array<ArrayBuffer>;\n    new <TArrayBuffer extends ArrayBufferLike = ArrayBuffer>(buffer: TArrayBuffer, byteOffset?: number, length?: number): Uint32Array<TArrayBuffer>;\n    new (buffer: ArrayBuffer, byteOffset?: number, length?: number): Uint32Array<ArrayBuffer>;\n    new (array: ArrayLike<number> | ArrayBuffer): Uint32Array<ArrayBuffer>;\n    readonly BYTES_PER_ELEMENT: number;\n    of(...items: number[]): Uint32Array<ArrayBuffer>;\n    from(arrayLike: ArrayLike<number>): Uint32Array<ArrayBuffer>;\n    from<T>(arrayLike: ArrayLike<T>, mapfn: (v: T, k: number) => number, thisArg?: any): Uint32Array<ArrayBuffer>;\n}\ndeclare var Uint32Array: Uint32ArrayConstructor;\ninterface Float32Array<TArrayBuffer extends ArrayBufferLike = ArrayBufferLike> {\n    readonly BYTES_PER_ELEMENT: number;\n    readonly buffer: TArrayBuffer;\n    readonly byteLength: number;\n    readonly byteOffset: number;\n    copyWithin(target: number, start: number, end?: number): this;\n    every(predicate: (value: number, index: number, array: this) => unknown, thisArg?: any): boolean;\n    fill(value: number, start?: number, end?: number): this;\n    filter(predicate: (value: number, index: number, array: this) => any, thisArg?: any): Float32Array<ArrayBuffer>;\n    find(predicate: (value: number, index: number, obj: this) => boolean, thisArg?: any): number | undefined;\n    findIndex(predicate: (value: number, index: number, obj: this) => boolean, thisArg?: any): number;\n    forEach(callbackfn: (value: number, index: number, array: this) => void, thisArg?: any): void;\n    indexOf(searchElement: number, fromIndex?: number): number;\n    join(separator?: string): string;\n    lastIndexOf(searchElement: number, fromIndex?: number): number;\n    readonly length: number;\n    map(callbackfn: (value: number, index: number, array: this) => number, thisArg?: any): Float32Array<ArrayBuffer>;\n    reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: this) => number): number;\n    reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: this) => number, initialValue: number): number;\n    reduce<U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: this) => U, initialValue: U): U;\n    reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: this) => number): number;\n    reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: this) => number, initialValue: number): number;\n    reduceRight<U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: this) => U, initialValue: U): U;\n    reverse(): this;\n    set(array: ArrayLike<number>, offset?: number): void;\n    slice(start?: number, end?: number): Float32Array<ArrayBuffer>;\n    some(predicate: (value: number, index: number, array: this) => unknown, thisArg?: any): boolean;\n    sort(compareFn?: (a: number, b: number) => number): this;\n    subarray(begin?: number, end?: number): Float32Array<TArrayBuffer>;\n    toLocaleString(): string;\n    toString(): string;\n    valueOf(): this;\n    [index: number]: number;\n}\ninterface Float32ArrayConstructor {\n    readonly prototype: Float32Array<ArrayBufferLike>;\n    new (length: number): Float32Array<ArrayBuffer>;\n    new (array: ArrayLike<number>): Float32Array<ArrayBuffer>;\n    new <TArrayBuffer extends ArrayBufferLike = ArrayBuffer>(buffer: TArrayBuffer, byteOffset?: number, length?: number): Float32Array<TArrayBuffer>;\n    new (buffer: ArrayBuffer, byteOffset?: number, length?: number): Float32Array<ArrayBuffer>;\n    new (array: ArrayLike<number> | ArrayBuffer): Float32Array<ArrayBuffer>;\n    readonly BYTES_PER_ELEMENT: number;\n    of(...items: number[]): Float32Array<ArrayBuffer>;\n    from(arrayLike: ArrayLike<number>): Float32Array<ArrayBuffer>;\n    from<T>(arrayLike: ArrayLike<T>, mapfn: (v: T, k: number) => number, thisArg?: any): Float32Array<ArrayBuffer>;\n}\ndeclare var Float32Array: Float32ArrayConstructor;\ninterface Float64Array<TArrayBuffer extends ArrayBufferLike = ArrayBufferLike> {\n    readonly BYTES_PER_ELEMENT: number;\n    readonly buffer: TArrayBuffer;\n    readonly byteLength: number;\n    readonly byteOffset: number;\n    copyWithin(target: number, start: number, end?: number): this;\n    every(predicate: (value: number, index: number, array: this) => unknown, thisArg?: any): boolean;\n    fill(value: number, start?: number, end?: number): this;\n    filter(predicate: (value: number, index: number, array: this) => any, thisArg?: any): Float64Array<ArrayBuffer>;\n    find(predicate: (value: number, index: number, obj: this) => boolean, thisArg?: any): number | undefined;\n    findIndex(predicate: (value: number, index: number, obj: this) => boolean, thisArg?: any): number;\n    forEach(callbackfn: (value: number, index: number, array: this) => void, thisArg?: any): void;\n    indexOf(searchElement: number, fromIndex?: number): number;\n    join(separator?: string): string;\n    lastIndexOf(searchElement: number, fromIndex?: number): number;\n    readonly length: number;\n    map(callbackfn: (value: number, index: number, array: this) => number, thisArg?: any): Float64Array<ArrayBuffer>;\n    reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: this) => number): number;\n    reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: this) => number, initialValue: number): number;\n    reduce<U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: this) => U, initialValue: U): U;\n    reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: this) => number): number;\n    reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: this) => number, initialValue: number): number;\n    reduceRight<U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: this) => U, initialValue: U): U;\n    reverse(): this;\n    set(array: ArrayLike<number>, offset?: number): void;\n    slice(start?: number, end?: number): Float64Array<ArrayBuffer>;\n    some(predicate: (value: number, index: number, array: this) => unknown, thisArg?: any): boolean;\n    sort(compareFn?: (a: number, b: number) => number): this;\n    subarray(begin?: number, end?: number): Float64Array<TArrayBuffer>;\n    toLocaleString(): string;\n    toString(): string;\n    valueOf(): this;\n    [index: number]: number;\n}\ninterface Float64ArrayConstructor {\n    readonly prototype: Float64Array<ArrayBufferLike>;\n    new (length: number): Float64Array<ArrayBuffer>;\n    new (array: ArrayLike<number>): Float64Array<ArrayBuffer>;\n    new <TArrayBuffer extends ArrayBufferLike = ArrayBuffer>(buffer: TArrayBuffer, byteOffset?: number, length?: number): Float64Array<TArrayBuffer>;\n    new (buffer: ArrayBuffer, byteOffset?: number, length?: number): Float64Array<ArrayBuffer>;\n    new (array: ArrayLike<number> | ArrayBuffer): Float64Array<ArrayBuffer>;\n    readonly BYTES_PER_ELEMENT: number;\n    of(...items: number[]): Float64Array<ArrayBuffer>;\n    from(arrayLike: ArrayLike<number>): Float64Array<ArrayBuffer>;\n    from<T>(arrayLike: ArrayLike<T>, mapfn: (v: T, k: number) => number, thisArg?: any): Float64Array<ArrayBuffer>;\n}\ndeclare var Float64Array: Float64ArrayConstructor;\ndeclare namespace Intl {\n    interface CollatorOptions {\n        usage?: \"sort\" | \"search\" | undefined;\n        localeMatcher?: \"lookup\" | \"best fit\" | undefined;\n        numeric?: boolean | undefined;\n        caseFirst?: \"upper\" | \"lower\" | \"false\" | undefined;\n        sensitivity?: \"base\" | \"accent\" | \"case\" | \"variant\" | undefined;\n        collation?: \"big5han\" | \"compat\" | \"default\" | \"dict\" | \"direct\" | \"ducet\" | \"emoji\" | \"eor\" | \"gb2312\" | \"phonebk\" | \"phonetic\" | \"pinyin\" | \"reformed\" | \"searchjl\" | \"stroke\" | \"trad\" | \"unihan\" | \"zhuyin\" | undefined;\n        ignorePunctuation?: boolean | undefined;\n    }\n    interface ResolvedCollatorOptions {\n        locale: string;\n        usage: string;\n        sensitivity: string;\n        ignorePunctuation: boolean;\n        collation: string;\n        caseFirst: string;\n        numeric: boolean;\n    }\n    interface Collator {\n        compare(x: string, y: string): number;\n        resolvedOptions(): ResolvedCollatorOptions;\n    }\n    interface CollatorConstructor {\n        new (locales?: string | string[], options?: CollatorOptions): Collator;\n        (locales?: string | string[], options?: CollatorOptions): Collator;\n        supportedLocalesOf(locales: string | string[], options?: CollatorOptions): string[];\n    }\n    var Collator: CollatorConstructor;\n    interface NumberFormatOptionsStyleRegistry {\n        decimal: never;\n        percent: never;\n        currency: never;\n    }\n    type NumberFormatOptionsStyle = keyof NumberFormatOptionsStyleRegistry;\n    interface NumberFormatOptionsCurrencyDisplayRegistry {\n        code: never;\n        symbol: never;\n        name: never;\n    }\n    type NumberFormatOptionsCurrencyDisplay = keyof NumberFormatOptionsCurrencyDisplayRegistry;\n    interface NumberFormatOptionsUseGroupingRegistry {\n    }\n    type NumberFormatOptionsUseGrouping = {} extends NumberFormatOptionsUseGroupingRegistry ? boolean : keyof NumberFormatOptionsUseGroupingRegistry | \"true\" | \"false\" | boolean;\n    type ResolvedNumberFormatOptionsUseGrouping = {} extends NumberFormatOptionsUseGroupingRegistry ? boolean : keyof NumberFormatOptionsUseGroupingRegistry | false;\n    interface NumberFormatOptions {\n        localeMatcher?: \"lookup\" | \"best fit\" | undefined;\n        style?: NumberFormatOptionsStyle | undefined;\n        currency?: string | undefined;\n        currencyDisplay?: NumberFormatOptionsCurrencyDisplay | undefined;\n        useGrouping?: NumberFormatOptionsUseGrouping | undefined;\n        minimumIntegerDigits?: number | undefined;\n        minimumFractionDigits?: number | undefined;\n        maximumFractionDigits?: number | undefined;\n        minimumSignificantDigits?: number | undefined;\n        maximumSignificantDigits?: number | undefined;\n    }\n    interface ResolvedNumberFormatOptions {\n        locale: string;\n        numberingSystem: string;\n        style: NumberFormatOptionsStyle;\n        currency?: string;\n        currencyDisplay?: NumberFormatOptionsCurrencyDisplay;\n        minimumIntegerDigits: number;\n        minimumFractionDigits?: number;\n        maximumFractionDigits?: number;\n        minimumSignificantDigits?: number;\n        maximumSignificantDigits?: number;\n        useGrouping: ResolvedNumberFormatOptionsUseGrouping;\n    }\n    interface NumberFormat {\n        format(value: number): string;\n        resolvedOptions(): ResolvedNumberFormatOptions;\n    }\n    interface NumberFormatConstructor {\n        new (locales?: string | string[], options?: NumberFormatOptions): NumberFormat;\n        (locales?: string | string[], options?: NumberFormatOptions): NumberFormat;\n        supportedLocalesOf(locales: string | string[], options?: NumberFormatOptions): string[];\n        readonly prototype: NumberFormat;\n    }\n    var NumberFormat: NumberFormatConstructor;\n    interface DateTimeFormatOptions {\n        localeMatcher?: \"best fit\" | \"lookup\" | undefined;\n        weekday?: \"long\" | \"short\" | \"narrow\" | undefined;\n        era?: \"long\" | \"short\" | \"narrow\" | undefined;\n        year?: \"numeric\" | \"2-digit\" | undefined;\n        month?: \"numeric\" | \"2-digit\" | \"long\" | \"short\" | \"narrow\" | undefined;\n        day?: \"numeric\" | \"2-digit\" | undefined;\n        hour?: \"numeric\" | \"2-digit\" | undefined;\n        minute?: \"numeric\" | \"2-digit\" | undefined;\n        second?: \"numeric\" | \"2-digit\" | undefined;\n        timeZoneName?: \"short\" | \"long\" | \"shortOffset\" | \"longOffset\" | \"shortGeneric\" | \"longGeneric\" | undefined;\n        formatMatcher?: \"best fit\" | \"basic\" | undefined;\n        hour12?: boolean | undefined;\n        timeZone?: string | undefined;\n    }\n    interface ResolvedDateTimeFormatOptions {\n        locale: string;\n        calendar: string;\n        numberingSystem: string;\n        timeZone: string;\n        hour12?: boolean;\n        weekday?: string;\n        era?: string;\n        year?: string;\n        month?: string;\n        day?: string;\n        hour?: string;\n        minute?: string;\n        second?: string;\n        timeZoneName?: string;\n    }\n    interface DateTimeFormat {\n        format(date?: Date | number): string;\n        resolvedOptions(): ResolvedDateTimeFormatOptions;\n    }\n    interface DateTimeFormatConstructor {\n        new (locales?: string | string[], options?: DateTimeFormatOptions): DateTimeFormat;\n        (locales?: string | string[], options?: DateTimeFormatOptions): DateTimeFormat;\n        supportedLocalesOf(locales: string | string[], options?: DateTimeFormatOptions): string[];\n        readonly prototype: DateTimeFormat;\n    }\n    var DateTimeFormat: DateTimeFormatConstructor;\n}\ninterface String {\n    localeCompare(that: string, locales?: string | string[], options?: Intl.CollatorOptions): number;\n}\ninterface Number {\n    toLocaleString(locales?: string | string[], options?: Intl.NumberFormatOptions): string;\n}\ninterface Date {\n    toLocaleString(locales?: string | string[], options?: Intl.DateTimeFormatOptions): string;\n    toLocaleDateString(locales?: string | string[], options?: Intl.DateTimeFormatOptions): string;\n    toLocaleTimeString(locales?: string | string[], options?: Intl.DateTimeFormatOptions): string;\n}\n","lib.es6.d.ts":"/// <reference lib=\"es2015\" />\n/// <reference lib=\"dom\" />\n/// <reference lib=\"dom.iterable\" />\n/// <reference lib=\"webworker.importscripts\" />\n/// <reference lib=\"scripthost\" />\n/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABILITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n/// <reference lib=\"es2015\" />\n/// <reference lib=\"dom\" />\n/// <reference lib=\"dom.iterable\" />\n/// <reference lib=\"webworker.importscripts\" />\n/// <reference lib=\"scripthost\" />\n","lib.esnext.array.d.ts":"/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABILITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\ninterface ArrayConstructor {\n    fromAsync<T>(iterableOrArrayLike: AsyncIterable<T> | Iterable<T | PromiseLike<T>> | ArrayLike<T | PromiseLike<T>>): Promise<T[]>;\n    fromAsync<T, U>(iterableOrArrayLike: AsyncIterable<T> | Iterable<T> | ArrayLike<T>, mapFn: (value: Awaited<T>, index: number) => U, thisArg?: any): Promise<Awaited<U>[]>;\n}\n","lib.esnext.collection.d.ts":"/// <reference lib=\"es2025.collection\" />\n/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABILITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n/// <reference lib=\"es2025.collection\" />\ninterface Map<K, V> {\n    getOrInsert(key: K, defaultValue: V): V;\n    getOrInsertComputed(key: K, callback: (key: K) => V): V;\n}\ninterface WeakMap<K extends WeakKey, V> {\n    getOrInsert(key: K, defaultValue: V): V;\n    getOrInsertComputed(key: K, callback: (key: K) => V): V;\n}\n","lib.esnext.d.ts":"/// <reference lib=\"es2025\" />\n/// <reference lib=\"esnext.intl\" />\n/// <reference lib=\"esnext.collection\" />\n/// <reference lib=\"esnext.decorators\" />\n/// <reference lib=\"esnext.disposable\" />\n/// <reference lib=\"esnext.array\" />\n/// <reference lib=\"esnext.error\" />\n/// <reference lib=\"esnext.sharedmemory\" />\n/// <reference lib=\"esnext.typedarrays\" />\n/// <reference lib=\"esnext.temporal\" />\n/// <reference lib=\"esnext.date\" />\n/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABILITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n/// <reference lib=\"es2025\" />\n/// <reference lib=\"esnext.intl\" />\n/// <reference lib=\"esnext.collection\" />\n/// <reference lib=\"esnext.decorators\" />\n/// <reference lib=\"esnext.disposable\" />\n/// <reference lib=\"esnext.array\" />\n/// <reference lib=\"esnext.error\" />\n/// <reference lib=\"esnext.sharedmemory\" />\n/// <reference lib=\"esnext.typedarrays\" />\n/// <reference lib=\"esnext.temporal\" />\n/// <reference lib=\"esnext.date\" />\n","lib.esnext.date.d.ts":"/// <reference lib=\"esnext.temporal\" />\n/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABILITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n/// <reference lib=\"esnext.temporal\" />\ninterface Date {\n    toTemporalInstant(): Temporal.Instant;\n}\n","lib.esnext.decorators.d.ts":"/// <reference lib=\"es2015.symbol\" />\n/// <reference lib=\"decorators\" />\n/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABILITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n/// <reference lib=\"es2015.symbol\" />\n/// <reference lib=\"decorators\" />\ninterface SymbolConstructor {\n    readonly metadata: unique symbol;\n}\ninterface Function {\n    [Symbol.metadata]: DecoratorMetadata | null;\n}\n","lib.esnext.disposable.d.ts":"/// <reference lib=\"es2015.symbol\" />\n/// <reference lib=\"es2015.iterable\" />\n/// <reference lib=\"es2018.asynciterable\" />\n/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABILITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n/// <reference lib=\"es2015.symbol\" />\n/// <reference lib=\"es2015.iterable\" />\n/// <reference lib=\"es2018.asynciterable\" />\ninterface SymbolConstructor {\n    readonly dispose: unique symbol;\n    readonly asyncDispose: unique symbol;\n}\ninterface Disposable {\n    [Symbol.dispose](): void;\n}\ninterface AsyncDisposable {\n    [Symbol.asyncDispose](): PromiseLike<void>;\n}\ninterface SuppressedError extends Error {\n    error: any;\n    suppressed: any;\n}\ninterface SuppressedErrorConstructor {\n    new (error: any, suppressed: any, message?: string): SuppressedError;\n    (error: any, suppressed: any, message?: string): SuppressedError;\n    readonly prototype: SuppressedError;\n}\ndeclare var SuppressedError: SuppressedErrorConstructor;\ninterface DisposableStack {\n    readonly disposed: boolean;\n    dispose(): void;\n    use<T extends Disposable | null | undefined>(value: T): T;\n    adopt<T>(value: T, onDispose: (value: T) => void): T;\n    defer(onDispose: () => void): void;\n    move(): DisposableStack;\n    [Symbol.dispose](): void;\n    readonly [Symbol.toStringTag]: string;\n}\ninterface DisposableStackConstructor {\n    new (): DisposableStack;\n    readonly prototype: DisposableStack;\n}\ndeclare var DisposableStack: DisposableStackConstructor;\ninterface AsyncDisposableStack {\n    readonly disposed: boolean;\n    disposeAsync(): Promise<void>;\n    use<T extends AsyncDisposable | Disposable | null | undefined>(value: T): T;\n    adopt<T>(value: T, onDisposeAsync: (value: T) => PromiseLike<void> | void): T;\n    defer(onDisposeAsync: () => PromiseLike<void> | void): void;\n    move(): AsyncDisposableStack;\n    [Symbol.asyncDispose](): Promise<void>;\n    readonly [Symbol.toStringTag]: string;\n}\ninterface AsyncDisposableStackConstructor {\n    new (): AsyncDisposableStack;\n    readonly prototype: AsyncDisposableStack;\n}\ndeclare var AsyncDisposableStack: AsyncDisposableStackConstructor;\ninterface IteratorObject<T, TReturn, TNext> extends Disposable {\n}\ninterface AsyncIteratorObject<T, TReturn, TNext> extends AsyncDisposable {\n}\n","lib.esnext.error.d.ts":"/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABILITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\ninterface ErrorConstructor {\n    isError(error: unknown): error is Error;\n}\n","lib.esnext.full.d.ts":"/// <reference lib=\"esnext\" />\n/// <reference lib=\"dom\" />\n/// <reference lib=\"webworker.importscripts\" />\n/// <reference lib=\"scripthost\" />\n/// <reference lib=\"dom.iterable\" />\n/// <reference lib=\"dom.asynciterable\" />\n/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABILITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n/// <reference lib=\"esnext\" />\n/// <reference lib=\"dom\" />\n/// <reference lib=\"webworker.importscripts\" />\n/// <reference lib=\"scripthost\" />\n/// <reference lib=\"dom.iterable\" />\n/// <reference lib=\"dom.asynciterable\" />\n","lib.esnext.intl.d.ts":"/// <reference lib=\"esnext.temporal\" />\n/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABILITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n/// <reference lib=\"esnext.temporal\" />\ndeclare namespace Intl {\n    type FormattableTemporalObject = Temporal.PlainDate | Temporal.PlainYearMonth | Temporal.PlainMonthDay | Temporal.PlainTime | Temporal.PlainDateTime | Temporal.Instant;\n    interface DateTimeFormat {\n        format(date?: FormattableTemporalObject | Date | number): string;\n        formatToParts(date?: FormattableTemporalObject | Date | number): DateTimeFormatPart[];\n        formatRange(startDate: FormattableTemporalObject | Date | number, endDate: FormattableTemporalObject | Date | number): string;\n        formatRangeToParts(startDate: FormattableTemporalObject | Date | number, endDate: FormattableTemporalObject | Date | number): DateTimeRangeFormatPart[];\n    }\n    interface Locale {\n        getCalendars(): string[];\n        getCollations(): string[];\n        getHourCycles(): string[];\n        getNumberingSystems(): string[];\n        getTextInfo(): TextInfo;\n        getTimeZones(): string[] | undefined;\n        getWeekInfo(): WeekInfo;\n    }\n    interface TextInfo {\n        direction?: \"ltr\" | \"rtl\";\n    }\n    interface WeekInfo {\n        firstDay: number;\n        weekend: number[];\n    }\n}\n","lib.esnext.sharedmemory.d.ts":"/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABILITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\ninterface Atomics {\n    pause(n?: number): void;\n}\n","lib.esnext.temporal.d.ts":"/// <reference lib=\"es2015.symbol.wellknown\" />\n/// <reference lib=\"es2020.intl\" />\n/// <reference lib=\"es2025.intl\" />\n/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABILITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n/// <reference lib=\"es2015.symbol.wellknown\" />\n/// <reference lib=\"es2020.intl\" />\n/// <reference lib=\"es2025.intl\" />\ndeclare namespace Temporal {\n    type CalendarLike = PlainDate | PlainDateTime | PlainMonthDay | PlainYearMonth | ZonedDateTime | string;\n    type DurationLike = Duration | DurationLikeObject | string;\n    type InstantLike = Instant | ZonedDateTime | string;\n    type PlainDateLike = PlainDate | ZonedDateTime | PlainDateTime | DateLikeObject | string;\n    type PlainDateTimeLike = PlainDateTime | ZonedDateTime | PlainDate | DateTimeLikeObject | string;\n    type PlainMonthDayLike = PlainMonthDay | DateLikeObject | string;\n    type PlainTimeLike = PlainTime | PlainDateTime | ZonedDateTime | TimeLikeObject | string;\n    type PlainYearMonthLike = PlainYearMonth | YearMonthLikeObject | string;\n    type TimeZoneLike = ZonedDateTime | string;\n    type ZonedDateTimeLike = ZonedDateTime | ZonedDateTimeLikeObject | string;\n    type PartialTemporalLike<T extends object> = {\n        [P in Exclude<keyof T, \"calendar\" | \"timeZone\">]?: T[P] | undefined;\n    };\n    interface DateLikeObject {\n        year?: number | undefined;\n        era?: string | undefined;\n        eraYear?: number | undefined;\n        month?: number | undefined;\n        monthCode?: string | undefined;\n        day: number;\n        calendar?: string | undefined;\n    }\n    interface DateTimeLikeObject extends DateLikeObject, TimeLikeObject {\n    }\n    interface DurationLikeObject {\n        years?: number | undefined;\n        months?: number | undefined;\n        weeks?: number | undefined;\n        days?: number | undefined;\n        hours?: number | undefined;\n        minutes?: number | undefined;\n        seconds?: number | undefined;\n        milliseconds?: number | undefined;\n        microseconds?: number | undefined;\n        nanoseconds?: number | undefined;\n    }\n    interface TimeLikeObject {\n        hour?: number | undefined;\n        minute?: number | undefined;\n        second?: number | undefined;\n        millisecond?: number | undefined;\n        microsecond?: number | undefined;\n        nanosecond?: number | undefined;\n    }\n    interface YearMonthLikeObject extends Omit<DateLikeObject, \"day\"> {\n    }\n    interface ZonedDateTimeLikeObject extends DateTimeLikeObject {\n        timeZone: TimeZoneLike;\n        offset?: string | undefined;\n    }\n    type DateUnit = \"year\" | \"month\" | \"week\" | \"day\";\n    type TimeUnit = \"hour\" | \"minute\" | \"second\" | \"millisecond\" | \"microsecond\" | \"nanosecond\";\n    type PluralizeUnit<T extends DateUnit | TimeUnit> = T | {\n        year: \"years\";\n        month: \"months\";\n        week: \"weeks\";\n        day: \"days\";\n        hour: \"hours\";\n        minute: \"minutes\";\n        second: \"seconds\";\n        millisecond: \"milliseconds\";\n        microsecond: \"microseconds\";\n        nanosecond: \"nanoseconds\";\n    }[T];\n    interface DisambiguationOptions {\n        disambiguation?: \"compatible\" | \"earlier\" | \"later\" | \"reject\" | undefined;\n    }\n    interface OverflowOptions {\n        overflow?: \"constrain\" | \"reject\" | undefined;\n    }\n    interface TransitionOptions {\n        direction: \"next\" | \"previous\";\n    }\n    interface RoundingOptions<Units extends DateUnit | TimeUnit> {\n        smallestUnit?: PluralizeUnit<Units> | undefined;\n        roundingIncrement?: number | undefined;\n        roundingMode?: \"ceil\" | \"floor\" | \"expand\" | \"trunc\" | \"halfCeil\" | \"halfFloor\" | \"halfExpand\" | \"halfTrunc\" | \"halfEven\" | undefined;\n    }\n    interface RoundingOptionsWithLargestUnit<Units extends DateUnit | TimeUnit> extends RoundingOptions<Units> {\n        largestUnit?: \"auto\" | PluralizeUnit<Units> | undefined;\n    }\n    interface ToStringRoundingOptions<Units extends DateUnit | TimeUnit> extends Pick<RoundingOptions<Units>, \"smallestUnit\" | \"roundingMode\"> {\n    }\n    interface ToStringRoundingOptionsWithFractionalSeconds<Units extends DateUnit | TimeUnit> extends ToStringRoundingOptions<Units> {\n        fractionalSecondDigits?: \"auto\" | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | undefined;\n    }\n    namespace Now {\n        function timeZoneId(): string;\n        function instant(): Instant;\n        function plainDateTimeISO(timeZone?: TimeZoneLike): PlainDateTime;\n        function zonedDateTimeISO(timeZone?: TimeZoneLike): ZonedDateTime;\n        function plainDateISO(timeZone?: TimeZoneLike): PlainDate;\n        function plainTimeISO(timeZone?: TimeZoneLike): PlainTime;\n    }\n    interface PlainDateToStringOptions {\n        calendarName?: \"auto\" | \"always\" | \"never\" | \"critical\" | undefined;\n    }\n    interface PlainDateToZonedDateTimeOptions {\n        plainTime?: PlainTimeLike | undefined;\n        timeZone: TimeZoneLike;\n    }\n    interface PlainDate {\n        readonly calendarId: string;\n        readonly era: string | undefined;\n        readonly eraYear: number | undefined;\n        readonly year: number;\n        readonly month: number;\n        readonly monthCode: string;\n        readonly day: number;\n        readonly dayOfWeek: number;\n        readonly dayOfYear: number;\n        readonly weekOfYear: number | undefined;\n        readonly yearOfWeek: number | undefined;\n        readonly daysInWeek: number;\n        readonly daysInMonth: number;\n        readonly daysInYear: number;\n        readonly monthsInYear: number;\n        readonly inLeapYear: boolean;\n        toPlainYearMonth(): PlainYearMonth;\n        toPlainMonthDay(): PlainMonthDay;\n        add(duration: DurationLike, options?: OverflowOptions): PlainDate;\n        subtract(duration: DurationLike, options?: OverflowOptions): PlainDate;\n        with(dateLike: PartialTemporalLike<DateLikeObject>, options?: OverflowOptions): PlainDate;\n        withCalendar(calendarLike: CalendarLike): PlainDate;\n        until(other: PlainDateLike, options?: RoundingOptionsWithLargestUnit<DateUnit>): Duration;\n        since(other: PlainDateLike, options?: RoundingOptionsWithLargestUnit<DateUnit>): Duration;\n        equals(other: PlainDateLike): boolean;\n        toPlainDateTime(time?: PlainTimeLike): PlainDateTime;\n        toZonedDateTime(timeZone: TimeZoneLike): ZonedDateTime;\n        toZonedDateTime(item: PlainDateToZonedDateTimeOptions): ZonedDateTime;\n        toString(options?: PlainDateToStringOptions): string;\n        toLocaleString(locales?: Intl.LocalesArgument, options?: Intl.DateTimeFormatOptions): string;\n        toJSON(): string;\n        valueOf(): never;\n        readonly [Symbol.toStringTag]: \"Temporal.PlainDate\";\n    }\n    interface PlainDateConstructor {\n        new (isoYear: number, isoMonth: number, isoDay: number, calendar?: string): PlainDate;\n        readonly prototype: PlainDate;\n        from(item: PlainDateLike, options?: OverflowOptions): PlainDate;\n        compare(one: PlainDateLike, two: PlainDateLike): number;\n    }\n    var PlainDate: PlainDateConstructor;\n    interface PlainTimeToStringOptions extends ToStringRoundingOptionsWithFractionalSeconds<Exclude<TimeUnit, \"hour\">> {\n    }\n    interface PlainTime {\n        readonly hour: number;\n        readonly minute: number;\n        readonly second: number;\n        readonly millisecond: number;\n        readonly microsecond: number;\n        readonly nanosecond: number;\n        add(duration: DurationLike): PlainTime;\n        subtract(duration: DurationLike): PlainTime;\n        with(timeLike: PartialTemporalLike<TimeLikeObject>, options?: OverflowOptions): PlainTime;\n        until(other: PlainTimeLike, options?: RoundingOptionsWithLargestUnit<TimeUnit>): Duration;\n        since(other: PlainTimeLike, options?: RoundingOptionsWithLargestUnit<TimeUnit>): Duration;\n        equals(other: PlainTimeLike): boolean;\n        round(roundTo: PluralizeUnit<TimeUnit>): PlainTime;\n        round(roundTo: RoundingOptions<TimeUnit>): PlainTime;\n        toString(options?: PlainTimeToStringOptions): string;\n        toLocaleString(locales?: Intl.LocalesArgument, options?: Intl.DateTimeFormatOptions): string;\n        toJSON(): string;\n        valueOf(): never;\n        readonly [Symbol.toStringTag]: \"Temporal.PlainTime\";\n    }\n    interface PlainTimeConstructor {\n        new (hour?: number, minute?: number, second?: number, millisecond?: number, microsecond?: number, nanosecond?: number): PlainTime;\n        readonly prototype: PlainTime;\n        from(item: PlainTimeLike, options?: OverflowOptions): PlainTime;\n        compare(one: PlainTimeLike, two: PlainTimeLike): number;\n    }\n    var PlainTime: PlainTimeConstructor;\n    interface PlainDateTimeToStringOptions extends PlainDateToStringOptions, PlainTimeToStringOptions {\n    }\n    interface PlainDateTime {\n        readonly calendarId: string;\n        readonly era: string | undefined;\n        readonly eraYear: number | undefined;\n        readonly year: number;\n        readonly month: number;\n        readonly monthCode: string;\n        readonly day: number;\n        readonly hour: number;\n        readonly minute: number;\n        readonly second: number;\n        readonly millisecond: number;\n        readonly microsecond: number;\n        readonly nanosecond: number;\n        readonly dayOfWeek: number;\n        readonly dayOfYear: number;\n        readonly weekOfYear: number | undefined;\n        readonly yearOfWeek: number | undefined;\n        readonly daysInWeek: number;\n        readonly daysInMonth: number;\n        readonly daysInYear: number;\n        readonly monthsInYear: number;\n        readonly inLeapYear: boolean;\n        with(dateTimeLike: PartialTemporalLike<DateTimeLikeObject>, options?: OverflowOptions): PlainDateTime;\n        withPlainTime(plainTime?: PlainTimeLike): PlainDateTime;\n        withCalendar(calendar: CalendarLike): PlainDateTime;\n        add(duration: DurationLike, options?: OverflowOptions): PlainDateTime;\n        subtract(duration: DurationLike, options?: OverflowOptions): PlainDateTime;\n        until(other: PlainDateTimeLike, options?: RoundingOptionsWithLargestUnit<DateUnit | TimeUnit>): Duration;\n        since(other: PlainDateTimeLike, options?: RoundingOptionsWithLargestUnit<DateUnit | TimeUnit>): Duration;\n        round(roundTo: PluralizeUnit<\"day\" | TimeUnit>): PlainDateTime;\n        round(roundTo: RoundingOptions<\"day\" | TimeUnit>): PlainDateTime;\n        equals(other: PlainDateTimeLike): boolean;\n        toString(options?: PlainDateTimeToStringOptions): string;\n        toLocaleString(locales?: Intl.LocalesArgument, options?: Intl.DateTimeFormatOptions): string;\n        toJSON(): string;\n        valueOf(): never;\n        toZonedDateTime(timeZone: TimeZoneLike, options?: DisambiguationOptions): ZonedDateTime;\n        toPlainDate(): PlainDate;\n        toPlainTime(): PlainTime;\n        readonly [Symbol.toStringTag]: \"Temporal.PlainDateTime\";\n    }\n    interface PlainDateTimeConstructor {\n        new (isoYear: number, isoMonth: number, isoDay: number, hour?: number, minute?: number, second?: number, millisecond?: number, microsecond?: number, nanosecond?: number, calendar?: string): PlainDateTime;\n        readonly prototype: PlainDateTime;\n        from(item: PlainDateTimeLike, options?: OverflowOptions): PlainDateTime;\n        compare(one: PlainDateTimeLike, two: PlainDateTimeLike): number;\n    }\n    var PlainDateTime: PlainDateTimeConstructor;\n    interface ZonedDateTimeToStringOptions extends PlainDateTimeToStringOptions {\n        offset?: \"auto\" | \"never\" | undefined;\n        timeZoneName?: \"auto\" | \"never\" | \"critical\" | undefined;\n    }\n    interface ZonedDateTimeFromOptions extends OverflowOptions, DisambiguationOptions {\n        offset?: \"use\" | \"ignore\" | \"prefer\" | \"reject\" | undefined;\n    }\n    interface ZonedDateTime {\n        readonly calendarId: string;\n        readonly timeZoneId: string;\n        readonly era: string | undefined;\n        readonly eraYear: number | undefined;\n        readonly year: number;\n        readonly month: number;\n        readonly monthCode: string;\n        readonly day: number;\n        readonly hour: number;\n        readonly minute: number;\n        readonly second: number;\n        readonly millisecond: number;\n        readonly microsecond: number;\n        readonly nanosecond: number;\n        readonly epochMilliseconds: number;\n        readonly epochNanoseconds: bigint;\n        readonly dayOfWeek: number;\n        readonly dayOfYear: number;\n        readonly weekOfYear: number | undefined;\n        readonly yearOfWeek: number | undefined;\n        readonly hoursInDay: number;\n        readonly daysInWeek: number;\n        readonly daysInMonth: number;\n        readonly daysInYear: number;\n        readonly monthsInYear: number;\n        readonly inLeapYear: boolean;\n        readonly offsetNanoseconds: number;\n        readonly offset: string;\n        with(zonedDateTimeLike: PartialTemporalLike<ZonedDateTimeLikeObject>, options?: ZonedDateTimeFromOptions): ZonedDateTime;\n        withPlainTime(plainTime?: PlainTimeLike): ZonedDateTime;\n        withTimeZone(timeZone: TimeZoneLike): ZonedDateTime;\n        withCalendar(calendar: CalendarLike): ZonedDateTime;\n        add(duration: DurationLike, options?: OverflowOptions): ZonedDateTime;\n        subtract(duration: DurationLike, options?: OverflowOptions): ZonedDateTime;\n        until(other: ZonedDateTimeLike, options?: RoundingOptionsWithLargestUnit<DateUnit | TimeUnit>): Duration;\n        since(other: ZonedDateTimeLike, options?: RoundingOptionsWithLargestUnit<DateUnit | TimeUnit>): Duration;\n        round(roundTo: PluralizeUnit<\"day\" | TimeUnit>): ZonedDateTime;\n        round(roundTo: RoundingOptions<\"day\" | TimeUnit>): ZonedDateTime;\n        equals(other: ZonedDateTimeLike): boolean;\n        toString(options?: ZonedDateTimeToStringOptions): string;\n        toLocaleString(locales?: Intl.LocalesArgument, options?: Intl.DateTimeFormatOptions): string;\n        toJSON(): string;\n        valueOf(): never;\n        startOfDay(): ZonedDateTime;\n        getTimeZoneTransition(direction: \"next\" | \"previous\"): ZonedDateTime | null;\n        getTimeZoneTransition(direction: TransitionOptions): ZonedDateTime | null;\n        toInstant(): Instant;\n        toPlainDate(): PlainDate;\n        toPlainTime(): PlainTime;\n        toPlainDateTime(): PlainDateTime;\n        readonly [Symbol.toStringTag]: \"Temporal.ZonedDateTime\";\n    }\n    interface ZonedDateTimeConstructor {\n        new (epochNanoseconds: bigint, timeZone: string, calendar?: string): ZonedDateTime;\n        readonly prototype: ZonedDateTime;\n        from(item: ZonedDateTimeLike, options?: ZonedDateTimeFromOptions): ZonedDateTime;\n        compare(one: ZonedDateTimeLike, two: ZonedDateTimeLike): number;\n    }\n    var ZonedDateTime: ZonedDateTimeConstructor;\n    interface DurationRelativeToOptions {\n        relativeTo?: ZonedDateTimeLike | PlainDateLike | undefined;\n    }\n    interface DurationRoundingOptions extends DurationRelativeToOptions, RoundingOptionsWithLargestUnit<DateUnit | TimeUnit> {\n    }\n    interface DurationToStringOptions extends ToStringRoundingOptionsWithFractionalSeconds<Exclude<TimeUnit, \"hour\" | \"minute\">> {\n    }\n    interface DurationTotalOptions extends DurationRelativeToOptions {\n        unit: PluralizeUnit<DateUnit | TimeUnit>;\n    }\n    interface Duration {\n        readonly years: number;\n        readonly months: number;\n        readonly weeks: number;\n        readonly days: number;\n        readonly hours: number;\n        readonly minutes: number;\n        readonly seconds: number;\n        readonly milliseconds: number;\n        readonly microseconds: number;\n        readonly nanoseconds: number;\n        readonly sign: number;\n        readonly blank: boolean;\n        with(durationLike: PartialTemporalLike<DurationLikeObject>): Duration;\n        negated(): Duration;\n        abs(): Duration;\n        add(other: DurationLike): Duration;\n        subtract(other: DurationLike): Duration;\n        round(roundTo: PluralizeUnit<\"day\" | TimeUnit>): Duration;\n        round(roundTo: DurationRoundingOptions): Duration;\n        total(totalOf: PluralizeUnit<\"day\" | TimeUnit>): number;\n        total(totalOf: DurationTotalOptions): number;\n        toString(options?: DurationToStringOptions): string;\n        toLocaleString(locales?: Intl.LocalesArgument, options?: Intl.DurationFormatOptions): string;\n        toJSON(): string;\n        valueOf(): never;\n        readonly [Symbol.toStringTag]: \"Temporal.Duration\";\n    }\n    interface DurationConstructor {\n        new (years?: number, months?: number, weeks?: number, days?: number, hours?: number, minutes?: number, seconds?: number, milliseconds?: number, microseconds?: number, nanoseconds?: number): Duration;\n        readonly prototype: Duration;\n        from(item: DurationLike): Duration;\n        compare(one: DurationLike, two: DurationLike, options?: DurationRelativeToOptions): number;\n    }\n    var Duration: DurationConstructor;\n    interface InstantToStringOptions extends PlainTimeToStringOptions {\n        timeZone?: TimeZoneLike | undefined;\n    }\n    interface Instant {\n        readonly epochMilliseconds: number;\n        readonly epochNanoseconds: bigint;\n        add(duration: DurationLike): Instant;\n        subtract(duration: DurationLike): Instant;\n        until(other: InstantLike, options?: RoundingOptionsWithLargestUnit<TimeUnit>): Duration;\n        since(other: InstantLike, options?: RoundingOptionsWithLargestUnit<TimeUnit>): Duration;\n        round(roundTo: PluralizeUnit<TimeUnit>): Instant;\n        round(roundTo: RoundingOptions<TimeUnit>): Instant;\n        equals(other: InstantLike): boolean;\n        toString(options?: InstantToStringOptions): string;\n        toLocaleString(locales?: Intl.LocalesArgument, options?: Intl.DateTimeFormatOptions): string;\n        toJSON(): string;\n        valueOf(): never;\n        toZonedDateTimeISO(timeZone: TimeZoneLike): ZonedDateTime;\n        readonly [Symbol.toStringTag]: \"Temporal.Instant\";\n    }\n    interface InstantConstructor {\n        new (epochNanoseconds: bigint): Instant;\n        readonly prototype: Instant;\n        from(item: InstantLike): Instant;\n        fromEpochMilliseconds(epochMilliseconds: number): Instant;\n        fromEpochNanoseconds(epochNanoseconds: bigint): Instant;\n        compare(one: InstantLike, two: InstantLike): number;\n    }\n    var Instant: InstantConstructor;\n    interface PlainYearMonthToPlainDateOptions {\n        day: number;\n    }\n    interface PlainYearMonth {\n        readonly calendarId: string;\n        readonly era: string | undefined;\n        readonly eraYear: number | undefined;\n        readonly year: number;\n        readonly month: number;\n        readonly monthCode: string;\n        readonly daysInYear: number;\n        readonly daysInMonth: number;\n        readonly monthsInYear: number;\n        readonly inLeapYear: boolean;\n        with(yearMonthLike: PartialTemporalLike<YearMonthLikeObject>, options?: OverflowOptions): PlainYearMonth;\n        add(duration: DurationLike, options?: OverflowOptions): PlainYearMonth;\n        subtract(duration: DurationLike, options?: OverflowOptions): PlainYearMonth;\n        until(other: PlainYearMonthLike, options?: RoundingOptionsWithLargestUnit<\"year\" | \"month\">): Duration;\n        since(other: PlainYearMonthLike, options?: RoundingOptionsWithLargestUnit<\"year\" | \"month\">): Duration;\n        equals(other: PlainYearMonthLike): boolean;\n        toString(options?: PlainDateToStringOptions): string;\n        toLocaleString(locales?: Intl.LocalesArgument, options?: Intl.DateTimeFormatOptions): string;\n        toJSON(): string;\n        valueOf(): never;\n        toPlainDate(item: PlainYearMonthToPlainDateOptions): PlainDate;\n        readonly [Symbol.toStringTag]: \"Temporal.PlainYearMonth\";\n    }\n    interface PlainYearMonthConstructor {\n        new (isoYear: number, isoMonth: number, calendar?: string, referenceISODay?: number): PlainYearMonth;\n        readonly prototype: PlainYearMonth;\n        from(item: PlainYearMonthLike, options?: OverflowOptions): PlainYearMonth;\n        compare(one: PlainYearMonthLike, two: PlainYearMonthLike): number;\n    }\n    var PlainYearMonth: PlainYearMonthConstructor;\n    interface PlainMonthDayToPlainDateOptions {\n        era?: string | undefined;\n        eraYear?: number | undefined;\n        year?: number | undefined;\n    }\n    interface PlainMonthDay {\n        readonly calendarId: string;\n        readonly monthCode: string;\n        readonly day: number;\n        with(monthDayLike: PartialTemporalLike<DateLikeObject>, options?: OverflowOptions): PlainMonthDay;\n        equals(other: PlainMonthDayLike): boolean;\n        toString(options?: PlainDateToStringOptions): string;\n        toLocaleString(locales?: Intl.LocalesArgument, options?: Intl.DateTimeFormatOptions): string;\n        toJSON(): string;\n        valueOf(): never;\n        toPlainDate(item: PlainMonthDayToPlainDateOptions): PlainDate;\n        readonly [Symbol.toStringTag]: \"Temporal.PlainMonthDay\";\n    }\n    interface PlainMonthDayConstructor {\n        new (isoMonth: number, isoDay: number, calendar?: string, referenceISOYear?: number): PlainMonthDay;\n        readonly prototype: PlainMonthDay;\n        from(item: PlainMonthDayLike, options?: OverflowOptions): PlainMonthDay;\n    }\n    var PlainMonthDay: PlainMonthDayConstructor;\n}\n","lib.esnext.typedarrays.d.ts":"/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABILITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\ninterface Uint8Array<TArrayBuffer extends ArrayBufferLike> {\n    toBase64(options?: {\n        alphabet?: \"base64\" | \"base64url\" | undefined;\n        omitPadding?: boolean | undefined;\n    }): string;\n    setFromBase64(string: string, options?: {\n        alphabet?: \"base64\" | \"base64url\" | undefined;\n        lastChunkHandling?: \"loose\" | \"strict\" | \"stop-before-partial\" | undefined;\n    }): {\n        read: number;\n        written: number;\n    };\n    toHex(): string;\n    setFromHex(string: string): {\n        read: number;\n        written: number;\n    };\n}\ninterface Uint8ArrayConstructor {\n    fromBase64(string: string, options?: {\n        alphabet?: \"base64\" | \"base64url\" | undefined;\n        lastChunkHandling?: \"loose\" | \"strict\" | \"stop-before-partial\" | undefined;\n    }): Uint8Array<ArrayBuffer>;\n    fromHex(string: string): Uint8Array<ArrayBuffer>;\n}\n","lib.scripthost.d.ts":"/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABILITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\ninterface ActiveXObject {\n    new (s: string): any;\n}\ndeclare var ActiveXObject: ActiveXObject;\ninterface ITextWriter {\n    Write(s: string): void;\n    WriteLine(s: string): void;\n    Close(): void;\n}\ninterface TextStreamBase {\n    Column: number;\n    Line: number;\n    Close(): void;\n}\ninterface TextStreamWriter extends TextStreamBase {\n    Write(s: string): void;\n    WriteBlankLines(intLines: number): void;\n    WriteLine(s: string): void;\n}\ninterface TextStreamReader extends TextStreamBase {\n    Read(characters: number): string;\n    ReadAll(): string;\n    ReadLine(): string;\n    Skip(characters: number): void;\n    SkipLine(): void;\n    AtEndOfLine: boolean;\n    AtEndOfStream: boolean;\n}\ndeclare var WScript: {\n    Echo(s: any): void;\n    StdErr: TextStreamWriter;\n    StdOut: TextStreamWriter;\n    Arguments: {\n        length: number;\n        Item(n: number): string;\n    };\n    ScriptFullName: string;\n    Quit(exitCode?: number): number;\n    BuildVersion: number;\n    FullName: string;\n    Interactive: boolean;\n    Name: string;\n    Path: string;\n    ScriptName: string;\n    StdIn: TextStreamReader;\n    Version: string;\n    ConnectObject(objEventSource: any, strPrefix: string): void;\n    CreateObject(strProgID: string, strPrefix?: string): any;\n    DisconnectObject(obj: any): void;\n    GetObject(strPathname: string, strProgID?: string, strPrefix?: string): any;\n    Sleep(intTime: number): void;\n};\ndeclare var WSH: typeof WScript;\ndeclare class SafeArray<T = any> {\n    private constructor();\n    private SafeArray_typekey: SafeArray<T>;\n}\ninterface Enumerator<T = any> {\n    atEnd(): boolean;\n    item(): T;\n    moveFirst(): void;\n    moveNext(): void;\n}\ninterface EnumeratorConstructor {\n    new <T = any>(safearray: SafeArray<T>): Enumerator<T>;\n    new <T = any>(collection: {\n        Item(index: any): T;\n    }): Enumerator<T>;\n    new <T = any>(collection: any): Enumerator<T>;\n}\ndeclare var Enumerator: EnumeratorConstructor;\ninterface VBArray<T = any> {\n    dimensions(): number;\n    getItem(dimension1Index: number, ...dimensionNIndexes: number[]): T;\n    lbound(dimension?: number): number;\n    ubound(dimension?: number): number;\n    toArray(): T[];\n}\ninterface VBArrayConstructor {\n    new <T = any>(safeArray: SafeArray<T>): VBArray<T>;\n}\ndeclare var VBArray: VBArrayConstructor;\ndeclare class VarDate {\n    private constructor();\n    private VarDate_typekey: VarDate;\n}\ninterface DateConstructor {\n    new (vd: VarDate): Date;\n}\ninterface Date {\n    getVarDate: () => VarDate;\n}\n","lib.webworker.asynciterable.d.ts":"/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABILITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n","lib.webworker.d.ts":"/// <reference lib=\"es2015\" />\n/// <reference lib=\"es2018.asynciterable\" />\n/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABILITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n/// <reference lib=\"es2015\" />\n/// <reference lib=\"es2018.asynciterable\" />\ninterface AacEncoderConfig {\n    format?: AacBitstreamFormat;\n}\ninterface AddEventListenerOptions extends EventListenerOptions {\n    once?: boolean;\n    passive?: boolean;\n    signal?: AbortSignal;\n}\ninterface AesCbcParams extends Algorithm {\n    iv: BufferSource;\n}\ninterface AesCtrParams extends Algorithm {\n    counter: BufferSource;\n    length: number;\n}\ninterface AesDerivedKeyParams extends Algorithm {\n    length: number;\n}\ninterface AesGcmParams extends Algorithm {\n    additionalData?: BufferSource;\n    iv: BufferSource;\n    tagLength?: number;\n}\ninterface AesKeyAlgorithm extends KeyAlgorithm {\n    length: number;\n}\ninterface AesKeyGenParams extends Algorithm {\n    length: number;\n}\ninterface Algorithm {\n    name: string;\n}\ninterface AudioConfiguration {\n    bitrate?: number;\n    channels?: string;\n    contentType: string;\n    samplerate?: number;\n    spatialRendering?: boolean;\n}\ninterface AudioDataCopyToOptions {\n    format?: AudioSampleFormat;\n    frameCount?: number;\n    frameOffset?: number;\n    planeIndex: number;\n}\ninterface AudioDataInit {\n    data: BufferSource;\n    format: AudioSampleFormat;\n    numberOfChannels: number;\n    numberOfFrames: number;\n    sampleRate: number;\n    timestamp: number;\n    transfer?: ArrayBuffer[];\n}\ninterface AudioDecoderConfig {\n    codec: string;\n    description?: AllowSharedBufferSource;\n    numberOfChannels: number;\n    sampleRate: number;\n}\ninterface AudioDecoderInit {\n    error: WebCodecsErrorCallback;\n    output: AudioDataOutputCallback;\n}\ninterface AudioDecoderSupport {\n    config?: AudioDecoderConfig;\n    supported?: boolean;\n}\ninterface AudioEncoderConfig {\n    aac?: AacEncoderConfig;\n    bitrate?: number;\n    bitrateMode?: BitrateMode;\n    codec: string;\n    numberOfChannels: number;\n    opus?: OpusEncoderConfig;\n    sampleRate: number;\n}\ninterface AudioEncoderInit {\n    error: WebCodecsErrorCallback;\n    output: EncodedAudioChunkOutputCallback;\n}\ninterface AudioEncoderSupport {\n    config?: AudioEncoderConfig;\n    supported?: boolean;\n}\ninterface AvcEncoderConfig {\n    format?: AvcBitstreamFormat;\n}\ninterface BlobPropertyBag {\n    endings?: EndingType;\n    type?: string;\n}\ninterface CSSMatrixComponentOptions {\n    is2D?: boolean;\n}\ninterface CSSNumericType {\n    angle?: number;\n    flex?: number;\n    frequency?: number;\n    length?: number;\n    percent?: number;\n    percentHint?: CSSNumericBaseType;\n    resolution?: number;\n    time?: number;\n}\ninterface CacheQueryOptions {\n    ignoreMethod?: boolean;\n    ignoreSearch?: boolean;\n    ignoreVary?: boolean;\n}\ninterface ClientQueryOptions {\n    includeUncontrolled?: boolean;\n    type?: ClientTypes;\n}\ninterface CloseEventInit extends EventInit {\n    code?: number;\n    reason?: string;\n    wasClean?: boolean;\n}\ninterface CookieInit {\n    domain?: string | null;\n    expires?: DOMHighResTimeStamp | null;\n    name: string;\n    partitioned?: boolean;\n    path?: string;\n    sameSite?: CookieSameSite;\n    value: string;\n}\ninterface CookieListItem {\n    name?: string;\n    value?: string;\n}\ninterface CookieStoreDeleteOptions {\n    domain?: string | null;\n    name: string;\n    partitioned?: boolean;\n    path?: string;\n}\ninterface CookieStoreGetOptions {\n    name?: string;\n    url?: string;\n}\ninterface CryptoKeyPair {\n    privateKey: CryptoKey;\n    publicKey: CryptoKey;\n}\ninterface CustomEventInit<T = any> extends EventInit {\n    detail?: T;\n}\ninterface DOMMatrix2DInit {\n    a?: number;\n    b?: number;\n    c?: number;\n    d?: number;\n    e?: number;\n    f?: number;\n    m11?: number;\n    m12?: number;\n    m21?: number;\n    m22?: number;\n    m41?: number;\n    m42?: number;\n}\ninterface DOMMatrixInit extends DOMMatrix2DInit {\n    is2D?: boolean;\n    m13?: number;\n    m14?: number;\n    m23?: number;\n    m24?: number;\n    m31?: number;\n    m32?: number;\n    m33?: number;\n    m34?: number;\n    m43?: number;\n    m44?: number;\n}\ninterface DOMPointInit {\n    w?: number;\n    x?: number;\n    y?: number;\n    z?: number;\n}\ninterface DOMQuadInit {\n    p1?: DOMPointInit;\n    p2?: DOMPointInit;\n    p3?: DOMPointInit;\n    p4?: DOMPointInit;\n}\ninterface DOMRectInit {\n    height?: number;\n    width?: number;\n    x?: number;\n    y?: number;\n}\ninterface EcKeyGenParams extends Algorithm {\n    namedCurve: NamedCurve;\n}\ninterface EcKeyImportParams extends Algorithm {\n    namedCurve: NamedCurve;\n}\ninterface EcdhKeyDeriveParams extends Algorithm {\n    public: CryptoKey;\n}\ninterface EcdsaParams extends Algorithm {\n    hash: HashAlgorithmIdentifier;\n}\ninterface EncodedAudioChunkInit {\n    data: AllowSharedBufferSource;\n    duration?: number;\n    timestamp: number;\n    transfer?: ArrayBuffer[];\n    type: EncodedAudioChunkType;\n}\ninterface EncodedAudioChunkMetadata {\n    decoderConfig?: AudioDecoderConfig;\n}\ninterface EncodedVideoChunkInit {\n    data: AllowSharedBufferSource;\n    duration?: number;\n    timestamp: number;\n    type: EncodedVideoChunkType;\n}\ninterface EncodedVideoChunkMetadata {\n    decoderConfig?: VideoDecoderConfig;\n    svc?: SvcOutputMetadata;\n}\ninterface ErrorEventInit extends EventInit {\n    colno?: number;\n    error?: any;\n    filename?: string;\n    lineno?: number;\n    message?: string;\n}\ninterface EventInit {\n    bubbles?: boolean;\n    cancelable?: boolean;\n    composed?: boolean;\n}\ninterface EventListenerOptions {\n    capture?: boolean;\n}\ninterface EventSourceInit {\n    withCredentials?: boolean;\n}\ninterface ExtendableCookieChangeEventInit extends ExtendableEventInit {\n    changed?: CookieList;\n    deleted?: CookieList;\n}\ninterface ExtendableEventInit extends EventInit {\n}\ninterface ExtendableMessageEventInit extends ExtendableEventInit {\n    data?: any;\n    lastEventId?: string;\n    origin?: string;\n    ports?: MessagePort[];\n    source?: Client | ServiceWorker | MessagePort | null;\n}\ninterface FetchEventInit extends ExtendableEventInit {\n    clientId?: string;\n    handled?: Promise<void>;\n    preloadResponse?: Promise<any>;\n    request: Request;\n    resultingClientId?: string;\n}\ninterface FilePropertyBag extends BlobPropertyBag {\n    lastModified?: number;\n}\ninterface FileSystemCreateWritableOptions {\n    keepExistingData?: boolean;\n}\ninterface FileSystemGetDirectoryOptions {\n    create?: boolean;\n}\ninterface FileSystemGetFileOptions {\n    create?: boolean;\n}\ninterface FileSystemReadWriteOptions {\n    at?: number;\n}\ninterface FileSystemRemoveOptions {\n    recursive?: boolean;\n}\ninterface FontFaceDescriptors {\n    ascentOverride?: string;\n    descentOverride?: string;\n    display?: FontDisplay;\n    featureSettings?: string;\n    lineGapOverride?: string;\n    stretch?: string;\n    style?: string;\n    unicodeRange?: string;\n    variationSettings?: string;\n    weight?: string;\n}\ninterface FontFaceSetLoadEventInit extends EventInit {\n    fontfaces?: FontFace[];\n}\ninterface GPUBindGroupDescriptor extends GPUObjectDescriptorBase {\n    entries: GPUBindGroupEntry[];\n    layout: GPUBindGroupLayout;\n}\ninterface GPUBindGroupEntry {\n    binding: GPUIndex32;\n    resource: GPUBindingResource;\n}\ninterface GPUBindGroupLayoutDescriptor extends GPUObjectDescriptorBase {\n    entries: GPUBindGroupLayoutEntry[];\n}\ninterface GPUBindGroupLayoutEntry {\n    binding: GPUIndex32;\n    buffer?: GPUBufferBindingLayout;\n    externalTexture?: GPUExternalTextureBindingLayout;\n    sampler?: GPUSamplerBindingLayout;\n    storageTexture?: GPUStorageTextureBindingLayout;\n    texture?: GPUTextureBindingLayout;\n    visibility: GPUShaderStageFlags;\n}\ninterface GPUBlendComponent {\n    dstFactor?: GPUBlendFactor;\n    operation?: GPUBlendOperation;\n    srcFactor?: GPUBlendFactor;\n}\ninterface GPUBlendState {\n    alpha: GPUBlendComponent;\n    color: GPUBlendComponent;\n}\ninterface GPUBufferBinding {\n    buffer: GPUBuffer;\n    offset?: GPUSize64;\n    size?: GPUSize64;\n}\ninterface GPUBufferBindingLayout {\n    hasDynamicOffset?: boolean;\n    minBindingSize?: GPUSize64;\n    type?: GPUBufferBindingType;\n}\ninterface GPUBufferDescriptor extends GPUObjectDescriptorBase {\n    mappedAtCreation?: boolean;\n    size: GPUSize64;\n    usage: GPUBufferUsageFlags;\n}\ninterface GPUCanvasConfiguration {\n    alphaMode?: GPUCanvasAlphaMode;\n    colorSpace?: PredefinedColorSpace;\n    device: GPUDevice;\n    format: GPUTextureFormat;\n    toneMapping?: GPUCanvasToneMapping;\n    usage?: GPUTextureUsageFlags;\n    viewFormats?: GPUTextureFormat[];\n}\ninterface GPUCanvasToneMapping {\n    mode?: GPUCanvasToneMappingMode;\n}\ninterface GPUColorDict {\n    a: number;\n    b: number;\n    g: number;\n    r: number;\n}\ninterface GPUColorTargetState {\n    blend?: GPUBlendState;\n    format: GPUTextureFormat;\n    writeMask?: GPUColorWriteFlags;\n}\ninterface GPUCommandBufferDescriptor extends GPUObjectDescriptorBase {\n}\ninterface GPUCommandEncoderDescriptor extends GPUObjectDescriptorBase {\n}\ninterface GPUComputePassDescriptor extends GPUObjectDescriptorBase {\n    timestampWrites?: GPUComputePassTimestampWrites;\n}\ninterface GPUComputePassTimestampWrites {\n    beginningOfPassWriteIndex?: GPUSize32;\n    endOfPassWriteIndex?: GPUSize32;\n    querySet: GPUQuerySet;\n}\ninterface GPUComputePipelineDescriptor extends GPUPipelineDescriptorBase {\n    compute: GPUProgrammableStage;\n}\ninterface GPUCopyExternalImageDestInfo extends GPUTexelCopyTextureInfo {\n    colorSpace?: PredefinedColorSpace;\n    premultipliedAlpha?: boolean;\n}\ninterface GPUCopyExternalImageSourceInfo {\n    flipY?: boolean;\n    origin?: GPUOrigin2D;\n    source: GPUCopyExternalImageSource;\n}\ninterface GPUDepthStencilState {\n    depthBias?: GPUDepthBias;\n    depthBiasClamp?: number;\n    depthBiasSlopeScale?: number;\n    depthCompare?: GPUCompareFunction;\n    depthWriteEnabled?: boolean;\n    format: GPUTextureFormat;\n    stencilBack?: GPUStencilFaceState;\n    stencilFront?: GPUStencilFaceState;\n    stencilReadMask?: GPUStencilValue;\n    stencilWriteMask?: GPUStencilValue;\n}\ninterface GPUDeviceDescriptor extends GPUObjectDescriptorBase {\n    defaultQueue?: GPUQueueDescriptor;\n    requiredFeatures?: GPUFeatureName[];\n    requiredLimits?: Record<string, GPUSize64 | undefined>;\n}\ninterface GPUExtent3DDict {\n    depthOrArrayLayers?: GPUIntegerCoordinate;\n    height?: GPUIntegerCoordinate;\n    width: GPUIntegerCoordinate;\n}\ninterface GPUExternalTextureBindingLayout {\n}\ninterface GPUExternalTextureDescriptor extends GPUObjectDescriptorBase {\n    colorSpace?: PredefinedColorSpace;\n    source: VideoFrame;\n}\ninterface GPUFragmentState extends GPUProgrammableStage {\n    targets: (GPUColorTargetState | null)[];\n}\ninterface GPUMultisampleState {\n    alphaToCoverageEnabled?: boolean;\n    count?: GPUSize32;\n    mask?: GPUSampleMask;\n}\ninterface GPUObjectDescriptorBase {\n    label?: string;\n}\ninterface GPUOrigin2DDict {\n    x?: GPUIntegerCoordinate;\n    y?: GPUIntegerCoordinate;\n}\ninterface GPUOrigin3DDict {\n    x?: GPUIntegerCoordinate;\n    y?: GPUIntegerCoordinate;\n    z?: GPUIntegerCoordinate;\n}\ninterface GPUPipelineDescriptorBase extends GPUObjectDescriptorBase {\n    layout: GPUPipelineLayout | GPUAutoLayoutMode;\n}\ninterface GPUPipelineErrorInit {\n    reason: GPUPipelineErrorReason;\n}\ninterface GPUPipelineLayoutDescriptor extends GPUObjectDescriptorBase {\n    bindGroupLayouts: (GPUBindGroupLayout | null)[];\n}\ninterface GPUPrimitiveState {\n    cullMode?: GPUCullMode;\n    frontFace?: GPUFrontFace;\n    stripIndexFormat?: GPUIndexFormat;\n    topology?: GPUPrimitiveTopology;\n    unclippedDepth?: boolean;\n}\ninterface GPUProgrammableStage {\n    constants?: Record<string, GPUPipelineConstantValue>;\n    entryPoint?: string;\n    module: GPUShaderModule;\n}\ninterface GPUQuerySetDescriptor extends GPUObjectDescriptorBase {\n    count: GPUSize32;\n    type: GPUQueryType;\n}\ninterface GPUQueueDescriptor extends GPUObjectDescriptorBase {\n}\ninterface GPURenderBundleDescriptor extends GPUObjectDescriptorBase {\n}\ninterface GPURenderBundleEncoderDescriptor extends GPURenderPassLayout {\n    depthReadOnly?: boolean;\n    stencilReadOnly?: boolean;\n}\ninterface GPURenderPassColorAttachment {\n    clearValue?: GPUColor;\n    depthSlice?: GPUIntegerCoordinate;\n    loadOp: GPULoadOp;\n    resolveTarget?: GPUTexture | GPUTextureView;\n    storeOp: GPUStoreOp;\n    view: GPUTexture | GPUTextureView;\n}\ninterface GPURenderPassDepthStencilAttachment {\n    depthClearValue?: number;\n    depthLoadOp?: GPULoadOp;\n    depthReadOnly?: boolean;\n    depthStoreOp?: GPUStoreOp;\n    stencilClearValue?: GPUStencilValue;\n    stencilLoadOp?: GPULoadOp;\n    stencilReadOnly?: boolean;\n    stencilStoreOp?: GPUStoreOp;\n    view: GPUTexture | GPUTextureView;\n}\ninterface GPURenderPassDescriptor extends GPUObjectDescriptorBase {\n    colorAttachments: (GPURenderPassColorAttachment | null)[];\n    depthStencilAttachment?: GPURenderPassDepthStencilAttachment;\n    maxDrawCount?: GPUSize64;\n    occlusionQuerySet?: GPUQuerySet;\n    timestampWrites?: GPURenderPassTimestampWrites;\n}\ninterface GPURenderPassLayout extends GPUObjectDescriptorBase {\n    colorFormats: (GPUTextureFormat | null)[];\n    depthStencilFormat?: GPUTextureFormat;\n    sampleCount?: GPUSize32;\n}\ninterface GPURenderPassTimestampWrites {\n    beginningOfPassWriteIndex?: GPUSize32;\n    endOfPassWriteIndex?: GPUSize32;\n    querySet: GPUQuerySet;\n}\ninterface GPURenderPipelineDescriptor extends GPUPipelineDescriptorBase {\n    depthStencil?: GPUDepthStencilState;\n    fragment?: GPUFragmentState;\n    multisample?: GPUMultisampleState;\n    primitive?: GPUPrimitiveState;\n    vertex: GPUVertexState;\n}\ninterface GPURequestAdapterOptions {\n    forceFallbackAdapter?: boolean;\n    powerPreference?: GPUPowerPreference;\n}\ninterface GPUSamplerBindingLayout {\n    type?: GPUSamplerBindingType;\n}\ninterface GPUSamplerDescriptor extends GPUObjectDescriptorBase {\n    addressModeU?: GPUAddressMode;\n    addressModeV?: GPUAddressMode;\n    addressModeW?: GPUAddressMode;\n    compare?: GPUCompareFunction;\n    lodMaxClamp?: number;\n    lodMinClamp?: number;\n    magFilter?: GPUFilterMode;\n    maxAnisotropy?: number;\n    minFilter?: GPUFilterMode;\n    mipmapFilter?: GPUMipmapFilterMode;\n}\ninterface GPUShaderModuleDescriptor extends GPUObjectDescriptorBase {\n    code: string;\n}\ninterface GPUStencilFaceState {\n    compare?: GPUCompareFunction;\n    depthFailOp?: GPUStencilOperation;\n    failOp?: GPUStencilOperation;\n    passOp?: GPUStencilOperation;\n}\ninterface GPUStorageTextureBindingLayout {\n    access?: GPUStorageTextureAccess;\n    format: GPUTextureFormat;\n    viewDimension?: GPUTextureViewDimension;\n}\ninterface GPUTexelCopyBufferInfo extends GPUTexelCopyBufferLayout {\n    buffer: GPUBuffer;\n}\ninterface GPUTexelCopyBufferLayout {\n    bytesPerRow?: GPUSize32;\n    offset?: GPUSize64;\n    rowsPerImage?: GPUSize32;\n}\ninterface GPUTexelCopyTextureInfo {\n    aspect?: GPUTextureAspect;\n    mipLevel?: GPUIntegerCoordinate;\n    origin?: GPUOrigin3D;\n    texture: GPUTexture;\n}\ninterface GPUTextureBindingLayout {\n    multisampled?: boolean;\n    sampleType?: GPUTextureSampleType;\n    viewDimension?: GPUTextureViewDimension;\n}\ninterface GPUTextureDescriptor extends GPUObjectDescriptorBase {\n    dimension?: GPUTextureDimension;\n    format: GPUTextureFormat;\n    mipLevelCount?: GPUIntegerCoordinate;\n    sampleCount?: GPUSize32;\n    size: GPUExtent3D;\n    usage: GPUTextureUsageFlags;\n    viewFormats?: GPUTextureFormat[];\n}\ninterface GPUTextureViewDescriptor extends GPUObjectDescriptorBase {\n    arrayLayerCount?: GPUIntegerCoordinate;\n    aspect?: GPUTextureAspect;\n    baseArrayLayer?: GPUIntegerCoordinate;\n    baseMipLevel?: GPUIntegerCoordinate;\n    dimension?: GPUTextureViewDimension;\n    format?: GPUTextureFormat;\n    mipLevelCount?: GPUIntegerCoordinate;\n    usage?: GPUTextureUsageFlags;\n}\ninterface GPUUncapturedErrorEventInit extends EventInit {\n    error: GPUError;\n}\ninterface GPUVertexAttribute {\n    format: GPUVertexFormat;\n    offset: GPUSize64;\n    shaderLocation: GPUIndex32;\n}\ninterface GPUVertexBufferLayout {\n    arrayStride: GPUSize64;\n    attributes: GPUVertexAttribute[];\n    stepMode?: GPUVertexStepMode;\n}\ninterface GPUVertexState extends GPUProgrammableStage {\n    buffers?: (GPUVertexBufferLayout | null)[];\n}\ninterface GetNotificationOptions {\n    tag?: string;\n}\ninterface HkdfParams extends Algorithm {\n    hash: HashAlgorithmIdentifier;\n    info: BufferSource;\n    salt: BufferSource;\n}\ninterface HmacImportParams extends Algorithm {\n    hash: HashAlgorithmIdentifier;\n    length?: number;\n}\ninterface HmacKeyGenParams extends Algorithm {\n    hash: HashAlgorithmIdentifier;\n    length?: number;\n}\ninterface IDBDatabaseInfo {\n    name?: string;\n    version?: number;\n}\ninterface IDBIndexParameters {\n    multiEntry?: boolean;\n    unique?: boolean;\n}\ninterface IDBObjectStoreParameters {\n    autoIncrement?: boolean;\n    keyPath?: string | string[] | null;\n}\ninterface IDBTransactionOptions {\n    durability?: IDBTransactionDurability;\n}\ninterface IDBVersionChangeEventInit extends EventInit {\n    newVersion?: number | null;\n    oldVersion?: number;\n}\ninterface ImageBitmapOptions {\n    colorSpaceConversion?: ColorSpaceConversion;\n    imageOrientation?: ImageOrientation;\n    premultiplyAlpha?: PremultiplyAlpha;\n    resizeHeight?: number;\n    resizeQuality?: ResizeQuality;\n    resizeWidth?: number;\n}\ninterface ImageBitmapRenderingContextSettings {\n    alpha?: boolean;\n}\ninterface ImageDataSettings {\n    colorSpace?: PredefinedColorSpace;\n    pixelFormat?: ImageDataPixelFormat;\n}\ninterface ImageDecodeOptions {\n    completeFramesOnly?: boolean;\n    frameIndex?: number;\n}\ninterface ImageDecodeResult {\n    complete: boolean;\n    image: VideoFrame;\n}\ninterface ImageDecoderInit {\n    colorSpaceConversion?: ColorSpaceConversion;\n    data: ImageBufferSource;\n    desiredHeight?: number;\n    desiredWidth?: number;\n    preferAnimation?: boolean;\n    transfer?: ArrayBuffer[];\n    type: string;\n}\ninterface ImageEncodeOptions {\n    quality?: number;\n    type?: string;\n}\ninterface JsonWebKey {\n    alg?: string;\n    crv?: string;\n    d?: string;\n    dp?: string;\n    dq?: string;\n    e?: string;\n    ext?: boolean;\n    k?: string;\n    key_ops?: string[];\n    kty?: string;\n    n?: string;\n    oth?: RsaOtherPrimesInfo[];\n    p?: string;\n    q?: string;\n    qi?: string;\n    use?: string;\n    x?: string;\n    y?: string;\n}\ninterface KeyAlgorithm {\n    name: string;\n}\ninterface KeySystemTrackConfiguration {\n    robustness?: string;\n}\ninterface LockInfo {\n    clientId?: string;\n    mode?: LockMode;\n    name?: string;\n}\ninterface LockManagerSnapshot {\n    held?: LockInfo[];\n    pending?: LockInfo[];\n}\ninterface LockOptions {\n    ifAvailable?: boolean;\n    mode?: LockMode;\n    signal?: AbortSignal;\n    steal?: boolean;\n}\ninterface MediaCapabilitiesDecodingInfo extends MediaCapabilitiesInfo {\n}\ninterface MediaCapabilitiesEncodingInfo extends MediaCapabilitiesInfo {\n}\ninterface MediaCapabilitiesInfo {\n    powerEfficient: boolean;\n    smooth: boolean;\n    supported: boolean;\n}\ninterface MediaCapabilitiesKeySystemConfiguration {\n    audio?: KeySystemTrackConfiguration;\n    distinctiveIdentifier?: MediaKeysRequirement;\n    initDataType?: string;\n    keySystem: string;\n    persistentState?: MediaKeysRequirement;\n    sessionTypes?: string[];\n    video?: KeySystemTrackConfiguration;\n}\ninterface MediaConfiguration {\n    audio?: AudioConfiguration;\n    video?: VideoConfiguration;\n}\ninterface MediaDecodingConfiguration extends MediaConfiguration {\n    keySystemConfiguration?: MediaCapabilitiesKeySystemConfiguration;\n    type: MediaDecodingType;\n}\ninterface MediaEncodingConfiguration extends MediaConfiguration {\n    type: MediaEncodingType;\n}\ninterface MediaStreamTrackProcessorInit {\n    maxBufferSize?: number;\n}\ninterface MessageEventInit<T = any> extends EventInit {\n    data?: T;\n    lastEventId?: string;\n    origin?: string;\n    ports?: MessagePort[];\n    source?: MessageEventSource | null;\n}\ninterface MultiCacheQueryOptions extends CacheQueryOptions {\n    cacheName?: string;\n}\ninterface NavigationPreloadState {\n    enabled?: boolean;\n    headerValue?: string;\n}\ninterface NotificationEventInit extends ExtendableEventInit {\n    action?: string;\n    notification: Notification;\n}\ninterface NotificationOptions {\n    badge?: string;\n    body?: string;\n    data?: any;\n    dir?: NotificationDirection;\n    icon?: string;\n    lang?: string;\n    requireInteraction?: boolean;\n    silent?: boolean | null;\n    tag?: string;\n}\ninterface OpusEncoderConfig {\n    complexity?: number;\n    format?: OpusBitstreamFormat;\n    frameDuration?: number;\n    packetlossperc?: number;\n    usedtx?: boolean;\n    useinbandfec?: boolean;\n}\ninterface Pbkdf2Params extends Algorithm {\n    hash: HashAlgorithmIdentifier;\n    iterations: number;\n    salt: BufferSource;\n}\ninterface PerformanceMarkOptions {\n    detail?: any;\n    startTime?: DOMHighResTimeStamp;\n}\ninterface PerformanceMeasureOptions {\n    detail?: any;\n    duration?: DOMHighResTimeStamp;\n    end?: string | DOMHighResTimeStamp;\n    start?: string | DOMHighResTimeStamp;\n}\ninterface PerformanceObserverInit {\n    buffered?: boolean;\n    entryTypes?: string[];\n    type?: string;\n}\ninterface PermissionDescriptor {\n    name: PermissionName;\n}\ninterface PlaneLayout {\n    offset: number;\n    stride: number;\n}\ninterface ProgressEventInit extends EventInit {\n    lengthComputable?: boolean;\n    loaded?: number;\n    total?: number;\n}\ninterface PromiseRejectionEventInit extends EventInit {\n    promise: Promise<any>;\n    reason?: any;\n}\ninterface PushEventInit extends ExtendableEventInit {\n    data?: PushMessageDataInit | null;\n}\ninterface PushSubscriptionChangeEventInit extends ExtendableEventInit {\n    newSubscription?: PushSubscription;\n    oldSubscription?: PushSubscription;\n}\ninterface PushSubscriptionJSON {\n    endpoint?: string;\n    expirationTime?: EpochTimeStamp | null;\n    keys?: Record<string, string>;\n}\ninterface PushSubscriptionOptionsInit {\n    applicationServerKey?: BufferSource | string | null;\n    userVisibleOnly?: boolean;\n}\ninterface QueuingStrategy<T = any> {\n    highWaterMark?: number;\n    size?: QueuingStrategySize<T>;\n}\ninterface QueuingStrategyInit {\n    highWaterMark: number;\n}\ninterface RTCEncodedAudioFrameMetadata extends RTCEncodedFrameMetadata {\n    sequenceNumber?: number;\n}\ninterface RTCEncodedFrameMetadata {\n    contributingSources?: number[];\n    mimeType?: string;\n    payloadType?: number;\n    rtpTimestamp?: number;\n    synchronizationSource?: number;\n}\ninterface RTCEncodedVideoFrameMetadata extends RTCEncodedFrameMetadata {\n    dependencies?: number[];\n    frameId?: number;\n    height?: number;\n    spatialIndex?: number;\n    temporalIndex?: number;\n    timestamp?: number;\n    width?: number;\n}\ninterface ReadableStreamBYOBReaderReadOptions {\n    min?: number;\n}\ninterface ReadableStreamGetReaderOptions {\n    mode?: ReadableStreamReaderMode;\n}\ninterface ReadableStreamIteratorOptions {\n    preventCancel?: boolean;\n}\ninterface ReadableStreamReadDoneResult<T> {\n    done: true;\n    value: T | undefined;\n}\ninterface ReadableStreamReadValueResult<T> {\n    done: false;\n    value: T;\n}\ninterface ReadableWritablePair<R = any, W = any> {\n    readable: ReadableStream<R>;\n    writable: WritableStream<W>;\n}\ninterface RegistrationOptions {\n    scope?: string;\n    type?: WorkerType;\n    updateViaCache?: ServiceWorkerUpdateViaCache;\n}\ninterface Report {\n    body?: ReportBody | null;\n    type?: string;\n    url?: string;\n}\ninterface ReportBody {\n}\ninterface ReportingObserverOptions {\n    buffered?: boolean;\n    types?: string[];\n}\ninterface RequestInit {\n    body?: BodyInit | null;\n    cache?: RequestCache;\n    credentials?: RequestCredentials;\n    headers?: HeadersInit;\n    integrity?: string;\n    keepalive?: boolean;\n    method?: string;\n    mode?: RequestMode;\n    priority?: RequestPriority;\n    redirect?: RequestRedirect;\n    referrer?: string;\n    referrerPolicy?: ReferrerPolicy;\n    signal?: AbortSignal | null;\n    window?: null;\n}\ninterface ResponseInit {\n    headers?: HeadersInit;\n    status?: number;\n    statusText?: string;\n}\ninterface RsaHashedImportParams extends Algorithm {\n    hash: HashAlgorithmIdentifier;\n}\ninterface RsaHashedKeyGenParams extends RsaKeyGenParams {\n    hash: HashAlgorithmIdentifier;\n}\ninterface RsaKeyGenParams extends Algorithm {\n    modulusLength: number;\n    publicExponent: BigInteger;\n}\ninterface RsaOaepParams extends Algorithm {\n    label?: BufferSource;\n}\ninterface RsaOtherPrimesInfo {\n    d?: string;\n    r?: string;\n    t?: string;\n}\ninterface RsaPssParams extends Algorithm {\n    saltLength: number;\n}\ninterface SchedulerPostTaskOptions {\n    delay?: number;\n    priority?: TaskPriority;\n    signal?: AbortSignal;\n}\ninterface SecurityPolicyViolationEventInit extends EventInit {\n    blockedURI?: string;\n    columnNumber?: number;\n    disposition?: SecurityPolicyViolationEventDisposition;\n    documentURI?: string;\n    effectiveDirective?: string;\n    lineNumber?: number;\n    originalPolicy?: string;\n    referrer?: string;\n    sample?: string;\n    sourceFile?: string;\n    statusCode?: number;\n    violatedDirective?: string;\n}\ninterface StorageEstimate {\n    quota?: number;\n    usage?: number;\n}\ninterface StreamPipeOptions {\n    preventAbort?: boolean;\n    preventCancel?: boolean;\n    preventClose?: boolean;\n    signal?: AbortSignal;\n}\ninterface StructuredSerializeOptions {\n    transfer?: Transferable[];\n}\ninterface SvcOutputMetadata {\n    temporalLayerId?: number;\n}\ninterface TaskControllerInit {\n    priority?: TaskPriority;\n}\ninterface TaskPriorityChangeEventInit extends EventInit {\n    previousPriority: TaskPriority;\n}\ninterface TaskSignalAnyInit {\n    priority?: TaskPriority | TaskSignal;\n}\ninterface TextDecodeOptions {\n    stream?: boolean;\n}\ninterface TextDecoderOptions {\n    fatal?: boolean;\n    ignoreBOM?: boolean;\n}\ninterface TextEncoderEncodeIntoResult {\n    read: number;\n    written: number;\n}\ninterface Transformer<I = any, O = any> {\n    flush?: TransformerFlushCallback<O>;\n    readableType?: undefined;\n    start?: TransformerStartCallback<O>;\n    transform?: TransformerTransformCallback<I, O>;\n    writableType?: undefined;\n}\ninterface URLPatternComponentResult {\n    groups: Record<string, string | undefined>;\n    input: string;\n}\ninterface URLPatternInit {\n    baseURL?: string;\n    hash?: string;\n    hostname?: string;\n    password?: string;\n    pathname?: string;\n    port?: string;\n    protocol?: string;\n    search?: string;\n    username?: string;\n}\ninterface URLPatternOptions {\n    ignoreCase?: boolean;\n}\ninterface URLPatternResult {\n    hash: URLPatternComponentResult;\n    hostname: URLPatternComponentResult;\n    inputs: URLPatternInput[];\n    password: URLPatternComponentResult;\n    pathname: URLPatternComponentResult;\n    port: URLPatternComponentResult;\n    protocol: URLPatternComponentResult;\n    search: URLPatternComponentResult;\n    username: URLPatternComponentResult;\n}\ninterface UnderlyingByteSource {\n    autoAllocateChunkSize?: number;\n    cancel?: UnderlyingSourceCancelCallback;\n    pull?: (controller: ReadableByteStreamController) => void | PromiseLike<void>;\n    start?: (controller: ReadableByteStreamController) => any;\n    type: \"bytes\";\n}\ninterface UnderlyingDefaultSource<R = any> {\n    cancel?: UnderlyingSourceCancelCallback;\n    pull?: (controller: ReadableStreamDefaultController<R>) => void | PromiseLike<void>;\n    start?: (controller: ReadableStreamDefaultController<R>) => any;\n    type?: undefined;\n}\ninterface UnderlyingSink<W = any> {\n    abort?: UnderlyingSinkAbortCallback;\n    close?: UnderlyingSinkCloseCallback;\n    start?: UnderlyingSinkStartCallback;\n    type?: undefined;\n    write?: UnderlyingSinkWriteCallback<W>;\n}\ninterface UnderlyingSource<R = any> {\n    autoAllocateChunkSize?: number;\n    cancel?: UnderlyingSourceCancelCallback;\n    pull?: UnderlyingSourcePullCallback<R>;\n    start?: UnderlyingSourceStartCallback<R>;\n    type?: ReadableStreamType;\n}\ninterface VideoColorSpaceInit {\n    fullRange?: boolean | null;\n    matrix?: VideoMatrixCoefficients | null;\n    primaries?: VideoColorPrimaries | null;\n    transfer?: VideoTransferCharacteristics | null;\n}\ninterface VideoConfiguration {\n    bitrate: number;\n    colorGamut?: ColorGamut;\n    contentType: string;\n    framerate: number;\n    hasAlphaChannel?: boolean;\n    hdrMetadataType?: HdrMetadataType;\n    height: number;\n    scalabilityMode?: string;\n    transferFunction?: TransferFunction;\n    width: number;\n}\ninterface VideoDecoderConfig {\n    codec: string;\n    codedHeight?: number;\n    codedWidth?: number;\n    colorSpace?: VideoColorSpaceInit;\n    description?: AllowSharedBufferSource;\n    displayAspectHeight?: number;\n    displayAspectWidth?: number;\n    hardwareAcceleration?: HardwareAcceleration;\n    optimizeForLatency?: boolean;\n}\ninterface VideoDecoderInit {\n    error: WebCodecsErrorCallback;\n    output: VideoFrameOutputCallback;\n}\ninterface VideoDecoderSupport {\n    config?: VideoDecoderConfig;\n    supported?: boolean;\n}\ninterface VideoEncoderConfig {\n    alpha?: AlphaOption;\n    avc?: AvcEncoderConfig;\n    bitrate?: number;\n    bitrateMode?: VideoEncoderBitrateMode;\n    codec: string;\n    contentHint?: string;\n    displayHeight?: number;\n    displayWidth?: number;\n    framerate?: number;\n    hardwareAcceleration?: HardwareAcceleration;\n    height: number;\n    latencyMode?: LatencyMode;\n    scalabilityMode?: string;\n    width: number;\n}\ninterface VideoEncoderEncodeOptions {\n    avc?: VideoEncoderEncodeOptionsForAvc;\n    keyFrame?: boolean;\n}\ninterface VideoEncoderEncodeOptionsForAvc {\n    quantizer?: number | null;\n}\ninterface VideoEncoderInit {\n    error: WebCodecsErrorCallback;\n    output: EncodedVideoChunkOutputCallback;\n}\ninterface VideoEncoderSupport {\n    config?: VideoEncoderConfig;\n    supported?: boolean;\n}\ninterface VideoFrameBufferInit {\n    codedHeight: number;\n    codedWidth: number;\n    colorSpace?: VideoColorSpaceInit;\n    displayHeight?: number;\n    displayWidth?: number;\n    duration?: number;\n    format: VideoPixelFormat;\n    layout?: PlaneLayout[];\n    timestamp: number;\n    visibleRect?: DOMRectInit;\n}\ninterface VideoFrameCopyToOptions {\n    colorSpace?: PredefinedColorSpace;\n    format?: VideoPixelFormat;\n    layout?: PlaneLayout[];\n    rect?: DOMRectInit;\n}\ninterface VideoFrameInit {\n    alpha?: AlphaOption;\n    displayHeight?: number;\n    displayWidth?: number;\n    duration?: number;\n    timestamp?: number;\n    visibleRect?: DOMRectInit;\n}\ninterface WebGLContextAttributes {\n    alpha?: boolean;\n    antialias?: boolean;\n    depth?: boolean;\n    desynchronized?: boolean;\n    failIfMajorPerformanceCaveat?: boolean;\n    powerPreference?: WebGLPowerPreference;\n    premultipliedAlpha?: boolean;\n    preserveDrawingBuffer?: boolean;\n    stencil?: boolean;\n    xrCompatible?: boolean;\n}\ninterface WebGLContextEventInit extends EventInit {\n    statusMessage?: string;\n}\ninterface WebTransportCloseInfo {\n    closeCode?: number;\n    reason?: string;\n}\ninterface WebTransportErrorOptions {\n    source?: WebTransportErrorSource;\n    streamErrorCode?: number | null;\n}\ninterface WebTransportHash {\n    algorithm: string;\n    value: BufferSource;\n}\ninterface WebTransportOptions {\n    allowPooling?: boolean;\n    congestionControl?: WebTransportCongestionControl;\n    protocols?: string[];\n    requireUnreliable?: boolean;\n    serverCertificateHashes?: WebTransportHash[];\n}\ninterface WebTransportSendOptions {\n    sendOrder?: number;\n}\ninterface WebTransportSendStreamOptions extends WebTransportSendOptions {\n}\ninterface WorkerOptions {\n    credentials?: RequestCredentials;\n    name?: string;\n    type?: WorkerType;\n}\ninterface WriteParams {\n    data?: BufferSource | Blob | string | null;\n    position?: number | null;\n    size?: number | null;\n    type: WriteCommandType;\n}\ninterface ANGLE_instanced_arrays {\n    drawArraysInstancedANGLE(mode: GLenum, first: GLint, count: GLsizei, primcount: GLsizei): void;\n    drawElementsInstancedANGLE(mode: GLenum, count: GLsizei, type: GLenum, offset: GLintptr, primcount: GLsizei): void;\n    vertexAttribDivisorANGLE(index: GLuint, divisor: GLuint): void;\n    readonly VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE: 35070;\n}\ninterface AbortController {\n    readonly signal: AbortSignal;\n    abort(reason?: any): void;\n}\ndeclare var AbortController: {\n    prototype: AbortController;\n    new (): AbortController;\n};\ninterface AbortSignalEventMap {\n    \"abort\": Event;\n}\ninterface AbortSignal extends EventTarget {\n    readonly aborted: boolean;\n    onabort: ((this: AbortSignal, ev: Event) => any) | null;\n    readonly reason: any;\n    throwIfAborted(): void;\n    addEventListener<K extends keyof AbortSignalEventMap>(type: K, listener: (this: AbortSignal, ev: AbortSignalEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof AbortSignalEventMap>(type: K, listener: (this: AbortSignal, ev: AbortSignalEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var AbortSignal: {\n    prototype: AbortSignal;\n    new (): AbortSignal;\n    abort(reason?: any): AbortSignal;\n    any(signals: AbortSignal[]): AbortSignal;\n    timeout(milliseconds: number): AbortSignal;\n};\ninterface AbstractWorkerEventMap {\n    \"error\": ErrorEvent;\n}\ninterface AbstractWorker {\n    onerror: ((this: AbstractWorker, ev: ErrorEvent) => any) | null;\n    addEventListener<K extends keyof AbstractWorkerEventMap>(type: K, listener: (this: AbstractWorker, ev: AbstractWorkerEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof AbstractWorkerEventMap>(type: K, listener: (this: AbstractWorker, ev: AbstractWorkerEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ninterface AnimationFrameProvider {\n    cancelAnimationFrame(handle: number): void;\n    requestAnimationFrame(callback: FrameRequestCallback): number;\n}\ninterface AudioData {\n    readonly duration: number;\n    readonly format: AudioSampleFormat | null;\n    readonly numberOfChannels: number;\n    readonly numberOfFrames: number;\n    readonly sampleRate: number;\n    readonly timestamp: number;\n    allocationSize(options: AudioDataCopyToOptions): number;\n    clone(): AudioData;\n    close(): void;\n    copyTo(destination: AllowSharedBufferSource, options: AudioDataCopyToOptions): void;\n}\ndeclare var AudioData: {\n    prototype: AudioData;\n    new (init: AudioDataInit): AudioData;\n};\ninterface AudioDecoderEventMap {\n    \"dequeue\": Event;\n}\ninterface AudioDecoder extends EventTarget {\n    readonly decodeQueueSize: number;\n    ondequeue: ((this: AudioDecoder, ev: Event) => any) | null;\n    readonly state: CodecState;\n    close(): void;\n    configure(config: AudioDecoderConfig): void;\n    decode(chunk: EncodedAudioChunk): void;\n    flush(): Promise<void>;\n    reset(): void;\n    addEventListener<K extends keyof AudioDecoderEventMap>(type: K, listener: (this: AudioDecoder, ev: AudioDecoderEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof AudioDecoderEventMap>(type: K, listener: (this: AudioDecoder, ev: AudioDecoderEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var AudioDecoder: {\n    prototype: AudioDecoder;\n    new (init: AudioDecoderInit): AudioDecoder;\n    isConfigSupported(config: AudioDecoderConfig): Promise<AudioDecoderSupport>;\n};\ninterface AudioEncoderEventMap {\n    \"dequeue\": Event;\n}\ninterface AudioEncoder extends EventTarget {\n    readonly encodeQueueSize: number;\n    ondequeue: ((this: AudioEncoder, ev: Event) => any) | null;\n    readonly state: CodecState;\n    close(): void;\n    configure(config: AudioEncoderConfig): void;\n    encode(data: AudioData): void;\n    flush(): Promise<void>;\n    reset(): void;\n    addEventListener<K extends keyof AudioEncoderEventMap>(type: K, listener: (this: AudioEncoder, ev: AudioEncoderEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof AudioEncoderEventMap>(type: K, listener: (this: AudioEncoder, ev: AudioEncoderEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var AudioEncoder: {\n    prototype: AudioEncoder;\n    new (init: AudioEncoderInit): AudioEncoder;\n    isConfigSupported(config: AudioEncoderConfig): Promise<AudioEncoderSupport>;\n};\ninterface Blob {\n    readonly size: number;\n    readonly type: string;\n    arrayBuffer(): Promise<ArrayBuffer>;\n    bytes(): Promise<Uint8Array<ArrayBuffer>>;\n    slice(start?: number, end?: number, contentType?: string): Blob;\n    stream(): ReadableStream<Uint8Array<ArrayBuffer>>;\n    text(): Promise<string>;\n}\ndeclare var Blob: {\n    prototype: Blob;\n    new (blobParts?: BlobPart[], options?: BlobPropertyBag): Blob;\n};\ninterface Body {\n    readonly body: ReadableStream<Uint8Array<ArrayBuffer>> | null;\n    readonly bodyUsed: boolean;\n    arrayBuffer(): Promise<ArrayBuffer>;\n    blob(): Promise<Blob>;\n    bytes(): Promise<Uint8Array<ArrayBuffer>>;\n    formData(): Promise<FormData>;\n    json(): Promise<any>;\n    text(): Promise<string>;\n}\ninterface BroadcastChannelEventMap {\n    \"message\": MessageEvent;\n    \"messageerror\": MessageEvent;\n}\ninterface BroadcastChannel extends EventTarget {\n    readonly name: string;\n    onmessage: ((this: BroadcastChannel, ev: MessageEvent) => any) | null;\n    onmessageerror: ((this: BroadcastChannel, ev: MessageEvent) => any) | null;\n    close(): void;\n    postMessage(message: any): void;\n    addEventListener<K extends keyof BroadcastChannelEventMap>(type: K, listener: (this: BroadcastChannel, ev: BroadcastChannelEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof BroadcastChannelEventMap>(type: K, listener: (this: BroadcastChannel, ev: BroadcastChannelEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var BroadcastChannel: {\n    prototype: BroadcastChannel;\n    new (name: string): BroadcastChannel;\n};\ninterface ByteLengthQueuingStrategy extends QueuingStrategy<ArrayBufferView> {\n    readonly highWaterMark: number;\n    readonly size: QueuingStrategySize<ArrayBufferView>;\n}\ndeclare var ByteLengthQueuingStrategy: {\n    prototype: ByteLengthQueuingStrategy;\n    new (init: QueuingStrategyInit): ByteLengthQueuingStrategy;\n};\ninterface CSSImageValue extends CSSStyleValue {\n}\ndeclare var CSSImageValue: {\n    prototype: CSSImageValue;\n    new (): CSSImageValue;\n};\ninterface CSSKeywordValue extends CSSStyleValue {\n    value: string;\n}\ndeclare var CSSKeywordValue: {\n    prototype: CSSKeywordValue;\n    new (value: string): CSSKeywordValue;\n};\ninterface CSSMathClamp extends CSSMathValue {\n    readonly lower: CSSNumericValue;\n    readonly upper: CSSNumericValue;\n    readonly value: CSSNumericValue;\n}\ndeclare var CSSMathClamp: {\n    prototype: CSSMathClamp;\n    new (lower: CSSNumberish, value: CSSNumberish, upper: CSSNumberish): CSSMathClamp;\n};\ninterface CSSMathInvert extends CSSMathValue {\n    readonly value: CSSNumericValue;\n}\ndeclare var CSSMathInvert: {\n    prototype: CSSMathInvert;\n    new (arg: CSSNumberish): CSSMathInvert;\n};\ninterface CSSMathMax extends CSSMathValue {\n    readonly values: CSSNumericArray;\n}\ndeclare var CSSMathMax: {\n    prototype: CSSMathMax;\n    new (...args: CSSNumberish[]): CSSMathMax;\n};\ninterface CSSMathMin extends CSSMathValue {\n    readonly values: CSSNumericArray;\n}\ndeclare var CSSMathMin: {\n    prototype: CSSMathMin;\n    new (...args: CSSNumberish[]): CSSMathMin;\n};\ninterface CSSMathNegate extends CSSMathValue {\n    readonly value: CSSNumericValue;\n}\ndeclare var CSSMathNegate: {\n    prototype: CSSMathNegate;\n    new (arg: CSSNumberish): CSSMathNegate;\n};\ninterface CSSMathProduct extends CSSMathValue {\n    readonly values: CSSNumericArray;\n}\ndeclare var CSSMathProduct: {\n    prototype: CSSMathProduct;\n    new (...args: CSSNumberish[]): CSSMathProduct;\n};\ninterface CSSMathSum extends CSSMathValue {\n    readonly values: CSSNumericArray;\n}\ndeclare var CSSMathSum: {\n    prototype: CSSMathSum;\n    new (...args: CSSNumberish[]): CSSMathSum;\n};\ninterface CSSMathValue extends CSSNumericValue {\n    readonly operator: CSSMathOperator;\n}\ndeclare var CSSMathValue: {\n    prototype: CSSMathValue;\n    new (): CSSMathValue;\n};\ninterface CSSMatrixComponent extends CSSTransformComponent {\n    matrix: DOMMatrix;\n}\ndeclare var CSSMatrixComponent: {\n    prototype: CSSMatrixComponent;\n    new (matrix: DOMMatrixReadOnly, options?: CSSMatrixComponentOptions): CSSMatrixComponent;\n};\ninterface CSSNumericArray {\n    readonly length: number;\n    forEach(callbackfn: (value: CSSNumericValue, key: number, parent: CSSNumericArray) => void, thisArg?: any): void;\n    [index: number]: CSSNumericValue;\n}\ndeclare var CSSNumericArray: {\n    prototype: CSSNumericArray;\n    new (): CSSNumericArray;\n};\ninterface CSSNumericValue extends CSSStyleValue {\n    add(...values: CSSNumberish[]): CSSNumericValue;\n    div(...values: CSSNumberish[]): CSSNumericValue;\n    equals(...value: CSSNumberish[]): boolean;\n    max(...values: CSSNumberish[]): CSSNumericValue;\n    min(...values: CSSNumberish[]): CSSNumericValue;\n    mul(...values: CSSNumberish[]): CSSNumericValue;\n    sub(...values: CSSNumberish[]): CSSNumericValue;\n    to(unit: string): CSSUnitValue;\n    toSum(...units: string[]): CSSMathSum;\n    type(): CSSNumericType;\n}\ndeclare var CSSNumericValue: {\n    prototype: CSSNumericValue;\n    new (): CSSNumericValue;\n};\ninterface CSSPerspective extends CSSTransformComponent {\n    length: CSSPerspectiveValue;\n}\ndeclare var CSSPerspective: {\n    prototype: CSSPerspective;\n    new (length: CSSPerspectiveValue): CSSPerspective;\n};\ninterface CSSRotate extends CSSTransformComponent {\n    angle: CSSNumericValue;\n    x: CSSNumberish;\n    y: CSSNumberish;\n    z: CSSNumberish;\n}\ndeclare var CSSRotate: {\n    prototype: CSSRotate;\n    new (angle: CSSNumericValue): CSSRotate;\n    new (x: CSSNumberish, y: CSSNumberish, z: CSSNumberish, angle: CSSNumericValue): CSSRotate;\n};\ninterface CSSScale extends CSSTransformComponent {\n    x: CSSNumberish;\n    y: CSSNumberish;\n    z: CSSNumberish;\n}\ndeclare var CSSScale: {\n    prototype: CSSScale;\n    new (x: CSSNumberish, y: CSSNumberish, z?: CSSNumberish): CSSScale;\n};\ninterface CSSSkew extends CSSTransformComponent {\n    ax: CSSNumericValue;\n    ay: CSSNumericValue;\n}\ndeclare var CSSSkew: {\n    prototype: CSSSkew;\n    new (ax: CSSNumericValue, ay: CSSNumericValue): CSSSkew;\n};\ninterface CSSSkewX extends CSSTransformComponent {\n    ax: CSSNumericValue;\n}\ndeclare var CSSSkewX: {\n    prototype: CSSSkewX;\n    new (ax: CSSNumericValue): CSSSkewX;\n};\ninterface CSSSkewY extends CSSTransformComponent {\n    ay: CSSNumericValue;\n}\ndeclare var CSSSkewY: {\n    prototype: CSSSkewY;\n    new (ay: CSSNumericValue): CSSSkewY;\n};\ninterface CSSStyleValue {\n    toString(): string;\n}\ndeclare var CSSStyleValue: {\n    prototype: CSSStyleValue;\n    new (): CSSStyleValue;\n};\ninterface CSSTransformComponent {\n    is2D: boolean;\n    toMatrix(): DOMMatrix;\n    toString(): string;\n}\ndeclare var CSSTransformComponent: {\n    prototype: CSSTransformComponent;\n    new (): CSSTransformComponent;\n};\ninterface CSSTransformValue extends CSSStyleValue {\n    readonly is2D: boolean;\n    readonly length: number;\n    toMatrix(): DOMMatrix;\n    forEach(callbackfn: (value: CSSTransformComponent, key: number, parent: CSSTransformValue) => void, thisArg?: any): void;\n    [index: number]: CSSTransformComponent;\n}\ndeclare var CSSTransformValue: {\n    prototype: CSSTransformValue;\n    new (transforms: CSSTransformComponent[]): CSSTransformValue;\n};\ninterface CSSTranslate extends CSSTransformComponent {\n    x: CSSNumericValue;\n    y: CSSNumericValue;\n    z: CSSNumericValue;\n}\ndeclare var CSSTranslate: {\n    prototype: CSSTranslate;\n    new (x: CSSNumericValue, y: CSSNumericValue, z?: CSSNumericValue): CSSTranslate;\n};\ninterface CSSUnitValue extends CSSNumericValue {\n    readonly unit: string;\n    value: number;\n}\ndeclare var CSSUnitValue: {\n    prototype: CSSUnitValue;\n    new (value: number, unit: string): CSSUnitValue;\n};\ninterface CSSUnparsedValue extends CSSStyleValue {\n    readonly length: number;\n    forEach(callbackfn: (value: CSSUnparsedSegment, key: number, parent: CSSUnparsedValue) => void, thisArg?: any): void;\n    [index: number]: CSSUnparsedSegment;\n}\ndeclare var CSSUnparsedValue: {\n    prototype: CSSUnparsedValue;\n    new (members: CSSUnparsedSegment[]): CSSUnparsedValue;\n};\ninterface CSSVariableReferenceValue {\n    readonly fallback: CSSUnparsedValue | null;\n    variable: string;\n}\ndeclare var CSSVariableReferenceValue: {\n    prototype: CSSVariableReferenceValue;\n    new (variable: string, fallback?: CSSUnparsedValue | null): CSSVariableReferenceValue;\n};\ninterface Cache {\n    add(request: RequestInfo | URL): Promise<void>;\n    addAll(requests: RequestInfo[]): Promise<void>;\n    delete(request: RequestInfo | URL, options?: CacheQueryOptions): Promise<boolean>;\n    keys(request?: RequestInfo | URL, options?: CacheQueryOptions): Promise<ReadonlyArray<Request>>;\n    match(request: RequestInfo | URL, options?: CacheQueryOptions): Promise<Response | undefined>;\n    matchAll(request?: RequestInfo | URL, options?: CacheQueryOptions): Promise<ReadonlyArray<Response>>;\n    put(request: RequestInfo | URL, response: Response): Promise<void>;\n}\ndeclare var Cache: {\n    prototype: Cache;\n    new (): Cache;\n};\ninterface CacheStorage {\n    delete(cacheName: string): Promise<boolean>;\n    has(cacheName: string): Promise<boolean>;\n    keys(): Promise<string[]>;\n    match(request: RequestInfo | URL, options?: MultiCacheQueryOptions): Promise<Response | undefined>;\n    open(cacheName: string): Promise<Cache>;\n}\ndeclare var CacheStorage: {\n    prototype: CacheStorage;\n    new (): CacheStorage;\n};\ninterface CanvasCompositing {\n    globalAlpha: number;\n    globalCompositeOperation: GlobalCompositeOperation;\n}\ninterface CanvasDrawImage {\n    drawImage(image: CanvasImageSource, dx: number, dy: number): void;\n    drawImage(image: CanvasImageSource, dx: number, dy: number, dw: number, dh: number): void;\n    drawImage(image: CanvasImageSource, sx: number, sy: number, sw: number, sh: number, dx: number, dy: number, dw: number, dh: number): void;\n}\ninterface CanvasDrawPath {\n    beginPath(): void;\n    clip(fillRule?: CanvasFillRule): void;\n    clip(path: Path2D, fillRule?: CanvasFillRule): void;\n    fill(fillRule?: CanvasFillRule): void;\n    fill(path: Path2D, fillRule?: CanvasFillRule): void;\n    isPointInPath(x: number, y: number, fillRule?: CanvasFillRule): boolean;\n    isPointInPath(path: Path2D, x: number, y: number, fillRule?: CanvasFillRule): boolean;\n    isPointInStroke(x: number, y: number): boolean;\n    isPointInStroke(path: Path2D, x: number, y: number): boolean;\n    stroke(): void;\n    stroke(path: Path2D): void;\n}\ninterface CanvasFillStrokeStyles {\n    fillStyle: string | CanvasGradient | CanvasPattern;\n    strokeStyle: string | CanvasGradient | CanvasPattern;\n    createConicGradient(startAngle: number, x: number, y: number): CanvasGradient;\n    createLinearGradient(x0: number, y0: number, x1: number, y1: number): CanvasGradient;\n    createPattern(image: CanvasImageSource, repetition: string | null): CanvasPattern | null;\n    createRadialGradient(x0: number, y0: number, r0: number, x1: number, y1: number, r1: number): CanvasGradient;\n}\ninterface CanvasFilters {\n    filter: string;\n}\ninterface CanvasGradient {\n    addColorStop(offset: number, color: string): void;\n}\ndeclare var CanvasGradient: {\n    prototype: CanvasGradient;\n    new (): CanvasGradient;\n};\ninterface CanvasImageData {\n    createImageData(sw: number, sh: number, settings?: ImageDataSettings): ImageData;\n    createImageData(imageData: ImageData): ImageData;\n    getImageData(sx: number, sy: number, sw: number, sh: number, settings?: ImageDataSettings): ImageData;\n    putImageData(imageData: ImageData, dx: number, dy: number): void;\n    putImageData(imageData: ImageData, dx: number, dy: number, dirtyX: number, dirtyY: number, dirtyWidth: number, dirtyHeight: number): void;\n}\ninterface CanvasImageSmoothing {\n    imageSmoothingEnabled: boolean;\n    imageSmoothingQuality: ImageSmoothingQuality;\n}\ninterface CanvasPath {\n    arc(x: number, y: number, radius: number, startAngle: number, endAngle: number, counterclockwise?: boolean): void;\n    arcTo(x1: number, y1: number, x2: number, y2: number, radius: number): void;\n    bezierCurveTo(cp1x: number, cp1y: number, cp2x: number, cp2y: number, x: number, y: number): void;\n    closePath(): void;\n    ellipse(x: number, y: number, radiusX: number, radiusY: number, rotation: number, startAngle: number, endAngle: number, counterclockwise?: boolean): void;\n    lineTo(x: number, y: number): void;\n    moveTo(x: number, y: number): void;\n    quadraticCurveTo(cpx: number, cpy: number, x: number, y: number): void;\n    rect(x: number, y: number, w: number, h: number): void;\n    roundRect(x: number, y: number, w: number, h: number, radii?: number | DOMPointInit | (number | DOMPointInit)[]): void;\n}\ninterface CanvasPathDrawingStyles {\n    lineCap: CanvasLineCap;\n    lineDashOffset: number;\n    lineJoin: CanvasLineJoin;\n    lineWidth: number;\n    miterLimit: number;\n    getLineDash(): number[];\n    setLineDash(segments: number[]): void;\n}\ninterface CanvasPattern {\n    setTransform(transform?: DOMMatrix2DInit): void;\n}\ndeclare var CanvasPattern: {\n    prototype: CanvasPattern;\n    new (): CanvasPattern;\n};\ninterface CanvasRect {\n    clearRect(x: number, y: number, w: number, h: number): void;\n    fillRect(x: number, y: number, w: number, h: number): void;\n    strokeRect(x: number, y: number, w: number, h: number): void;\n}\ninterface CanvasShadowStyles {\n    shadowBlur: number;\n    shadowColor: string;\n    shadowOffsetX: number;\n    shadowOffsetY: number;\n}\ninterface CanvasState {\n    isContextLost(): boolean;\n    reset(): void;\n    restore(): void;\n    save(): void;\n}\ninterface CanvasText {\n    fillText(text: string, x: number, y: number, maxWidth?: number): void;\n    measureText(text: string): TextMetrics;\n    strokeText(text: string, x: number, y: number, maxWidth?: number): void;\n}\ninterface CanvasTextDrawingStyles {\n    direction: CanvasDirection;\n    font: string;\n    fontKerning: CanvasFontKerning;\n    fontStretch: CanvasFontStretch;\n    fontVariantCaps: CanvasFontVariantCaps;\n    letterSpacing: string;\n    textAlign: CanvasTextAlign;\n    textBaseline: CanvasTextBaseline;\n    textRendering: CanvasTextRendering;\n    wordSpacing: string;\n}\ninterface CanvasTransform {\n    getTransform(): DOMMatrix;\n    resetTransform(): void;\n    rotate(angle: number): void;\n    scale(x: number, y: number): void;\n    setTransform(a: number, b: number, c: number, d: number, e: number, f: number): void;\n    setTransform(transform?: DOMMatrix2DInit): void;\n    transform(a: number, b: number, c: number, d: number, e: number, f: number): void;\n    translate(x: number, y: number): void;\n}\ninterface Client {\n    readonly frameType: FrameType;\n    readonly id: string;\n    readonly type: ClientTypes;\n    readonly url: string;\n    postMessage(message: any, transfer: Transferable[]): void;\n    postMessage(message: any, options?: StructuredSerializeOptions): void;\n}\ndeclare var Client: {\n    prototype: Client;\n    new (): Client;\n};\ninterface Clients {\n    claim(): Promise<void>;\n    get(id: string): Promise<Client | undefined>;\n    matchAll<T extends ClientQueryOptions>(options?: T): Promise<ReadonlyArray<T[\"type\"] extends \"window\" ? WindowClient : Client>>;\n    openWindow(url: string | URL): Promise<WindowClient | null>;\n}\ndeclare var Clients: {\n    prototype: Clients;\n    new (): Clients;\n};\ninterface CloseEvent extends Event {\n    readonly code: number;\n    readonly reason: string;\n    readonly wasClean: boolean;\n}\ndeclare var CloseEvent: {\n    prototype: CloseEvent;\n    new (type: string, eventInitDict?: CloseEventInit): CloseEvent;\n};\ninterface CompressionStream extends GenericTransformStream {\n    readonly readable: ReadableStream<Uint8Array<ArrayBuffer>>;\n    readonly writable: WritableStream<BufferSource>;\n}\ndeclare var CompressionStream: {\n    prototype: CompressionStream;\n    new (format: CompressionFormat): CompressionStream;\n};\ninterface CookieStore extends EventTarget {\n    delete(name: string): Promise<void>;\n    delete(options: CookieStoreDeleteOptions): Promise<void>;\n    get(name: string): Promise<CookieListItem | null>;\n    get(options?: CookieStoreGetOptions): Promise<CookieListItem | null>;\n    getAll(name: string): Promise<CookieList>;\n    getAll(options?: CookieStoreGetOptions): Promise<CookieList>;\n    set(name: string, value: string): Promise<void>;\n    set(options: CookieInit): Promise<void>;\n}\ndeclare var CookieStore: {\n    prototype: CookieStore;\n    new (): CookieStore;\n};\ninterface CookieStoreManager {\n    getSubscriptions(): Promise<CookieStoreGetOptions[]>;\n    subscribe(subscriptions: CookieStoreGetOptions[]): Promise<void>;\n    unsubscribe(subscriptions: CookieStoreGetOptions[]): Promise<void>;\n}\ndeclare var CookieStoreManager: {\n    prototype: CookieStoreManager;\n    new (): CookieStoreManager;\n};\ninterface CountQueuingStrategy extends QueuingStrategy {\n    readonly highWaterMark: number;\n    readonly size: QueuingStrategySize;\n}\ndeclare var CountQueuingStrategy: {\n    prototype: CountQueuingStrategy;\n    new (init: QueuingStrategyInit): CountQueuingStrategy;\n};\ninterface Crypto {\n    readonly subtle: SubtleCrypto;\n    getRandomValues<T extends Exclude<BufferSource, ArrayBuffer>>(array: T): T;\n    randomUUID(): `${string}-${string}-${string}-${string}-${string}`;\n}\ndeclare var Crypto: {\n    prototype: Crypto;\n    new (): Crypto;\n};\ninterface CryptoKey {\n    readonly algorithm: KeyAlgorithm;\n    readonly extractable: boolean;\n    readonly type: KeyType;\n    readonly usages: KeyUsage[];\n}\ndeclare var CryptoKey: {\n    prototype: CryptoKey;\n    new (): CryptoKey;\n};\ninterface CustomEvent<T = any> extends Event {\n    readonly detail: T;\n    initCustomEvent(type: string, bubbles?: boolean, cancelable?: boolean, detail?: T): void;\n}\ndeclare var CustomEvent: {\n    prototype: CustomEvent;\n    new <T>(type: string, eventInitDict?: CustomEventInit<T>): CustomEvent<T>;\n};\ninterface DOMException extends Error {\n    readonly code: number;\n    readonly message: string;\n    readonly name: string;\n    readonly INDEX_SIZE_ERR: 1;\n    readonly DOMSTRING_SIZE_ERR: 2;\n    readonly HIERARCHY_REQUEST_ERR: 3;\n    readonly WRONG_DOCUMENT_ERR: 4;\n    readonly INVALID_CHARACTER_ERR: 5;\n    readonly NO_DATA_ALLOWED_ERR: 6;\n    readonly NO_MODIFICATION_ALLOWED_ERR: 7;\n    readonly NOT_FOUND_ERR: 8;\n    readonly NOT_SUPPORTED_ERR: 9;\n    readonly INUSE_ATTRIBUTE_ERR: 10;\n    readonly INVALID_STATE_ERR: 11;\n    readonly SYNTAX_ERR: 12;\n    readonly INVALID_MODIFICATION_ERR: 13;\n    readonly NAMESPACE_ERR: 14;\n    readonly INVALID_ACCESS_ERR: 15;\n    readonly VALIDATION_ERR: 16;\n    readonly TYPE_MISMATCH_ERR: 17;\n    readonly SECURITY_ERR: 18;\n    readonly NETWORK_ERR: 19;\n    readonly ABORT_ERR: 20;\n    readonly URL_MISMATCH_ERR: 21;\n    readonly QUOTA_EXCEEDED_ERR: 22;\n    readonly TIMEOUT_ERR: 23;\n    readonly INVALID_NODE_TYPE_ERR: 24;\n    readonly DATA_CLONE_ERR: 25;\n}\ndeclare var DOMException: {\n    prototype: DOMException;\n    new (message?: string, name?: string): DOMException;\n    readonly INDEX_SIZE_ERR: 1;\n    readonly DOMSTRING_SIZE_ERR: 2;\n    readonly HIERARCHY_REQUEST_ERR: 3;\n    readonly WRONG_DOCUMENT_ERR: 4;\n    readonly INVALID_CHARACTER_ERR: 5;\n    readonly NO_DATA_ALLOWED_ERR: 6;\n    readonly NO_MODIFICATION_ALLOWED_ERR: 7;\n    readonly NOT_FOUND_ERR: 8;\n    readonly NOT_SUPPORTED_ERR: 9;\n    readonly INUSE_ATTRIBUTE_ERR: 10;\n    readonly INVALID_STATE_ERR: 11;\n    readonly SYNTAX_ERR: 12;\n    readonly INVALID_MODIFICATION_ERR: 13;\n    readonly NAMESPACE_ERR: 14;\n    readonly INVALID_ACCESS_ERR: 15;\n    readonly VALIDATION_ERR: 16;\n    readonly TYPE_MISMATCH_ERR: 17;\n    readonly SECURITY_ERR: 18;\n    readonly NETWORK_ERR: 19;\n    readonly ABORT_ERR: 20;\n    readonly URL_MISMATCH_ERR: 21;\n    readonly QUOTA_EXCEEDED_ERR: 22;\n    readonly TIMEOUT_ERR: 23;\n    readonly INVALID_NODE_TYPE_ERR: 24;\n    readonly DATA_CLONE_ERR: 25;\n};\ninterface DOMMatrix extends DOMMatrixReadOnly {\n    a: number;\n    b: number;\n    c: number;\n    d: number;\n    e: number;\n    f: number;\n    m11: number;\n    m12: number;\n    m13: number;\n    m14: number;\n    m21: number;\n    m22: number;\n    m23: number;\n    m24: number;\n    m31: number;\n    m32: number;\n    m33: number;\n    m34: number;\n    m41: number;\n    m42: number;\n    m43: number;\n    m44: number;\n    invertSelf(): DOMMatrix;\n    multiplySelf(other?: DOMMatrixInit): DOMMatrix;\n    preMultiplySelf(other?: DOMMatrixInit): DOMMatrix;\n    rotateAxisAngleSelf(x?: number, y?: number, z?: number, angle?: number): DOMMatrix;\n    rotateFromVectorSelf(x?: number, y?: number): DOMMatrix;\n    rotateSelf(rotX?: number, rotY?: number, rotZ?: number): DOMMatrix;\n    scale3dSelf(scale?: number, originX?: number, originY?: number, originZ?: number): DOMMatrix;\n    scaleSelf(scaleX?: number, scaleY?: number, scaleZ?: number, originX?: number, originY?: number, originZ?: number): DOMMatrix;\n    skewXSelf(sx?: number): DOMMatrix;\n    skewYSelf(sy?: number): DOMMatrix;\n    translateSelf(tx?: number, ty?: number, tz?: number): DOMMatrix;\n}\ndeclare var DOMMatrix: {\n    prototype: DOMMatrix;\n    new (init?: string | number[]): DOMMatrix;\n    fromFloat32Array(array32: Float32Array<ArrayBuffer>): DOMMatrix;\n    fromFloat64Array(array64: Float64Array<ArrayBuffer>): DOMMatrix;\n    fromMatrix(other?: DOMMatrixInit): DOMMatrix;\n};\ninterface DOMMatrixReadOnly {\n    readonly a: number;\n    readonly b: number;\n    readonly c: number;\n    readonly d: number;\n    readonly e: number;\n    readonly f: number;\n    readonly is2D: boolean;\n    readonly isIdentity: boolean;\n    readonly m11: number;\n    readonly m12: number;\n    readonly m13: number;\n    readonly m14: number;\n    readonly m21: number;\n    readonly m22: number;\n    readonly m23: number;\n    readonly m24: number;\n    readonly m31: number;\n    readonly m32: number;\n    readonly m33: number;\n    readonly m34: number;\n    readonly m41: number;\n    readonly m42: number;\n    readonly m43: number;\n    readonly m44: number;\n    flipX(): DOMMatrix;\n    flipY(): DOMMatrix;\n    inverse(): DOMMatrix;\n    multiply(other?: DOMMatrixInit): DOMMatrix;\n    rotate(rotX?: number, rotY?: number, rotZ?: number): DOMMatrix;\n    rotateAxisAngle(x?: number, y?: number, z?: number, angle?: number): DOMMatrix;\n    rotateFromVector(x?: number, y?: number): DOMMatrix;\n    scale(scaleX?: number, scaleY?: number, scaleZ?: number, originX?: number, originY?: number, originZ?: number): DOMMatrix;\n    scale3d(scale?: number, originX?: number, originY?: number, originZ?: number): DOMMatrix;\n    scaleNonUniform(scaleX?: number, scaleY?: number): DOMMatrix;\n    skewX(sx?: number): DOMMatrix;\n    skewY(sy?: number): DOMMatrix;\n    toFloat32Array(): Float32Array<ArrayBuffer>;\n    toFloat64Array(): Float64Array<ArrayBuffer>;\n    toJSON(): any;\n    transformPoint(point?: DOMPointInit): DOMPoint;\n    translate(tx?: number, ty?: number, tz?: number): DOMMatrix;\n}\ndeclare var DOMMatrixReadOnly: {\n    prototype: DOMMatrixReadOnly;\n    new (init?: string | number[]): DOMMatrixReadOnly;\n    fromFloat32Array(array32: Float32Array<ArrayBuffer>): DOMMatrixReadOnly;\n    fromFloat64Array(array64: Float64Array<ArrayBuffer>): DOMMatrixReadOnly;\n    fromMatrix(other?: DOMMatrixInit): DOMMatrixReadOnly;\n};\ninterface DOMPoint extends DOMPointReadOnly {\n    w: number;\n    x: number;\n    y: number;\n    z: number;\n}\ndeclare var DOMPoint: {\n    prototype: DOMPoint;\n    new (x?: number, y?: number, z?: number, w?: number): DOMPoint;\n    fromPoint(other?: DOMPointInit): DOMPoint;\n};\ninterface DOMPointReadOnly {\n    readonly w: number;\n    readonly x: number;\n    readonly y: number;\n    readonly z: number;\n    matrixTransform(matrix?: DOMMatrixInit): DOMPoint;\n    toJSON(): any;\n}\ndeclare var DOMPointReadOnly: {\n    prototype: DOMPointReadOnly;\n    new (x?: number, y?: number, z?: number, w?: number): DOMPointReadOnly;\n    fromPoint(other?: DOMPointInit): DOMPointReadOnly;\n};\ninterface DOMQuad {\n    readonly p1: DOMPoint;\n    readonly p2: DOMPoint;\n    readonly p3: DOMPoint;\n    readonly p4: DOMPoint;\n    getBounds(): DOMRect;\n    toJSON(): any;\n}\ndeclare var DOMQuad: {\n    prototype: DOMQuad;\n    new (p1?: DOMPointInit, p2?: DOMPointInit, p3?: DOMPointInit, p4?: DOMPointInit): DOMQuad;\n    fromQuad(other?: DOMQuadInit): DOMQuad;\n    fromRect(other?: DOMRectInit): DOMQuad;\n};\ninterface DOMRect extends DOMRectReadOnly {\n    height: number;\n    width: number;\n    x: number;\n    y: number;\n}\ndeclare var DOMRect: {\n    prototype: DOMRect;\n    new (x?: number, y?: number, width?: number, height?: number): DOMRect;\n    fromRect(other?: DOMRectInit): DOMRect;\n};\ninterface DOMRectReadOnly {\n    readonly bottom: number;\n    readonly height: number;\n    readonly left: number;\n    readonly right: number;\n    readonly top: number;\n    readonly width: number;\n    readonly x: number;\n    readonly y: number;\n    toJSON(): any;\n}\ndeclare var DOMRectReadOnly: {\n    prototype: DOMRectReadOnly;\n    new (x?: number, y?: number, width?: number, height?: number): DOMRectReadOnly;\n    fromRect(other?: DOMRectInit): DOMRectReadOnly;\n};\ninterface DOMStringList {\n    readonly length: number;\n    contains(string: string): boolean;\n    item(index: number): string | null;\n    [index: number]: string;\n}\ndeclare var DOMStringList: {\n    prototype: DOMStringList;\n    new (): DOMStringList;\n};\ninterface DecompressionStream extends GenericTransformStream {\n    readonly readable: ReadableStream<Uint8Array<ArrayBuffer>>;\n    readonly writable: WritableStream<BufferSource>;\n}\ndeclare var DecompressionStream: {\n    prototype: DecompressionStream;\n    new (format: CompressionFormat): DecompressionStream;\n};\ninterface DedicatedWorkerGlobalScopeEventMap extends WorkerGlobalScopeEventMap, MessageEventTargetEventMap {\n    \"message\": MessageEvent;\n    \"messageerror\": MessageEvent;\n    \"rtctransform\": RTCTransformEvent;\n}\ninterface DedicatedWorkerGlobalScope extends WorkerGlobalScope, AnimationFrameProvider, MessageEventTarget<DedicatedWorkerGlobalScope> {\n    readonly name: string;\n    onrtctransform: ((this: DedicatedWorkerGlobalScope, ev: RTCTransformEvent) => any) | null;\n    close(): void;\n    postMessage(message: any, transfer: Transferable[]): void;\n    postMessage(message: any, options?: StructuredSerializeOptions): void;\n    addEventListener<K extends keyof DedicatedWorkerGlobalScopeEventMap>(type: K, listener: (this: DedicatedWorkerGlobalScope, ev: DedicatedWorkerGlobalScopeEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof DedicatedWorkerGlobalScopeEventMap>(type: K, listener: (this: DedicatedWorkerGlobalScope, ev: DedicatedWorkerGlobalScopeEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var DedicatedWorkerGlobalScope: {\n    prototype: DedicatedWorkerGlobalScope;\n    new (): DedicatedWorkerGlobalScope;\n};\ninterface EXT_blend_minmax {\n    readonly MIN_EXT: 32775;\n    readonly MAX_EXT: 32776;\n}\ninterface EXT_color_buffer_float {\n}\ninterface EXT_color_buffer_half_float {\n    readonly RGBA16F_EXT: 34842;\n    readonly RGB16F_EXT: 34843;\n    readonly FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT: 33297;\n    readonly UNSIGNED_NORMALIZED_EXT: 35863;\n}\ninterface EXT_float_blend {\n}\ninterface EXT_frag_depth {\n}\ninterface EXT_sRGB {\n    readonly SRGB_EXT: 35904;\n    readonly SRGB_ALPHA_EXT: 35906;\n    readonly SRGB8_ALPHA8_EXT: 35907;\n    readonly FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT: 33296;\n}\ninterface EXT_shader_texture_lod {\n}\ninterface EXT_texture_compression_bptc {\n    readonly COMPRESSED_RGBA_BPTC_UNORM_EXT: 36492;\n    readonly COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT: 36493;\n    readonly COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT: 36494;\n    readonly COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT: 36495;\n}\ninterface EXT_texture_compression_rgtc {\n    readonly COMPRESSED_RED_RGTC1_EXT: 36283;\n    readonly COMPRESSED_SIGNED_RED_RGTC1_EXT: 36284;\n    readonly COMPRESSED_RED_GREEN_RGTC2_EXT: 36285;\n    readonly COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT: 36286;\n}\ninterface EXT_texture_filter_anisotropic {\n    readonly TEXTURE_MAX_ANISOTROPY_EXT: 34046;\n    readonly MAX_TEXTURE_MAX_ANISOTROPY_EXT: 34047;\n}\ninterface EXT_texture_norm16 {\n    readonly R16_EXT: 33322;\n    readonly RG16_EXT: 33324;\n    readonly RGB16_EXT: 32852;\n    readonly RGBA16_EXT: 32859;\n    readonly R16_SNORM_EXT: 36760;\n    readonly RG16_SNORM_EXT: 36761;\n    readonly RGB16_SNORM_EXT: 36762;\n    readonly RGBA16_SNORM_EXT: 36763;\n}\ninterface EncodedAudioChunk {\n    readonly byteLength: number;\n    readonly duration: number | null;\n    readonly timestamp: number;\n    readonly type: EncodedAudioChunkType;\n    copyTo(destination: AllowSharedBufferSource): void;\n}\ndeclare var EncodedAudioChunk: {\n    prototype: EncodedAudioChunk;\n    new (init: EncodedAudioChunkInit): EncodedAudioChunk;\n};\ninterface EncodedVideoChunk {\n    readonly byteLength: number;\n    readonly duration: number | null;\n    readonly timestamp: number;\n    readonly type: EncodedVideoChunkType;\n    copyTo(destination: AllowSharedBufferSource): void;\n}\ndeclare var EncodedVideoChunk: {\n    prototype: EncodedVideoChunk;\n    new (init: EncodedVideoChunkInit): EncodedVideoChunk;\n};\ninterface ErrorEvent extends Event {\n    readonly colno: number;\n    readonly error: any;\n    readonly filename: string;\n    readonly lineno: number;\n    readonly message: string;\n}\ndeclare var ErrorEvent: {\n    prototype: ErrorEvent;\n    new (type: string, eventInitDict?: ErrorEventInit): ErrorEvent;\n};\ninterface Event {\n    readonly bubbles: boolean;\n    cancelBubble: boolean;\n    readonly cancelable: boolean;\n    readonly composed: boolean;\n    readonly currentTarget: EventTarget | null;\n    readonly defaultPrevented: boolean;\n    readonly eventPhase: number;\n    readonly isTrusted: boolean;\n    returnValue: boolean;\n    readonly srcElement: EventTarget | null;\n    readonly target: EventTarget | null;\n    readonly timeStamp: DOMHighResTimeStamp;\n    readonly type: string;\n    composedPath(): EventTarget[];\n    initEvent(type: string, bubbles?: boolean, cancelable?: boolean): void;\n    preventDefault(): void;\n    stopImmediatePropagation(): void;\n    stopPropagation(): void;\n    readonly NONE: 0;\n    readonly CAPTURING_PHASE: 1;\n    readonly AT_TARGET: 2;\n    readonly BUBBLING_PHASE: 3;\n}\ndeclare var Event: {\n    prototype: Event;\n    new (type: string, eventInitDict?: EventInit): Event;\n    readonly NONE: 0;\n    readonly CAPTURING_PHASE: 1;\n    readonly AT_TARGET: 2;\n    readonly BUBBLING_PHASE: 3;\n};\ninterface EventListener {\n    (evt: Event): void;\n}\ninterface EventListenerObject {\n    handleEvent(object: Event): void;\n}\ninterface EventSourceEventMap {\n    \"error\": Event;\n    \"message\": MessageEvent;\n    \"open\": Event;\n}\ninterface EventSource extends EventTarget {\n    onerror: ((this: EventSource, ev: Event) => any) | null;\n    onmessage: ((this: EventSource, ev: MessageEvent) => any) | null;\n    onopen: ((this: EventSource, ev: Event) => any) | null;\n    readonly readyState: number;\n    readonly url: string;\n    readonly withCredentials: boolean;\n    close(): void;\n    readonly CONNECTING: 0;\n    readonly OPEN: 1;\n    readonly CLOSED: 2;\n    addEventListener<K extends keyof EventSourceEventMap>(type: K, listener: (this: EventSource, ev: EventSourceEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: (this: EventSource, event: MessageEvent) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof EventSourceEventMap>(type: K, listener: (this: EventSource, ev: EventSourceEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: (this: EventSource, event: MessageEvent) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var EventSource: {\n    prototype: EventSource;\n    new (url: string | URL, eventSourceInitDict?: EventSourceInit): EventSource;\n    readonly CONNECTING: 0;\n    readonly OPEN: 1;\n    readonly CLOSED: 2;\n};\ninterface EventTarget {\n    addEventListener(type: string, callback: EventListenerOrEventListenerObject | null, options?: AddEventListenerOptions | boolean): void;\n    dispatchEvent(event: Event): boolean;\n    removeEventListener(type: string, callback: EventListenerOrEventListenerObject | null, options?: EventListenerOptions | boolean): void;\n}\ndeclare var EventTarget: {\n    prototype: EventTarget;\n    new (): EventTarget;\n};\ninterface ExtendableCookieChangeEvent extends ExtendableEvent {\n    readonly changed: ReadonlyArray<CookieListItem>;\n    readonly deleted: ReadonlyArray<CookieListItem>;\n}\ndeclare var ExtendableCookieChangeEvent: {\n    prototype: ExtendableCookieChangeEvent;\n    new (type: string, eventInitDict?: ExtendableCookieChangeEventInit): ExtendableCookieChangeEvent;\n};\ninterface ExtendableEvent extends Event {\n    waitUntil(f: Promise<any>): void;\n}\ndeclare var ExtendableEvent: {\n    prototype: ExtendableEvent;\n    new (type: string, eventInitDict?: ExtendableEventInit): ExtendableEvent;\n};\ninterface ExtendableMessageEvent extends ExtendableEvent {\n    readonly data: any;\n    readonly lastEventId: string;\n    readonly origin: string;\n    readonly ports: ReadonlyArray<MessagePort>;\n    readonly source: Client | ServiceWorker | MessagePort | null;\n}\ndeclare var ExtendableMessageEvent: {\n    prototype: ExtendableMessageEvent;\n    new (type: string, eventInitDict?: ExtendableMessageEventInit): ExtendableMessageEvent;\n};\ninterface FetchEvent extends ExtendableEvent {\n    readonly clientId: string;\n    readonly handled: Promise<void>;\n    readonly preloadResponse: Promise<any>;\n    readonly request: Request;\n    readonly resultingClientId: string;\n    respondWith(r: Response | PromiseLike<Response>): void;\n}\ndeclare var FetchEvent: {\n    prototype: FetchEvent;\n    new (type: string, eventInitDict: FetchEventInit): FetchEvent;\n};\ninterface File extends Blob {\n    readonly lastModified: number;\n    readonly name: string;\n    readonly webkitRelativePath: string;\n}\ndeclare var File: {\n    prototype: File;\n    new (fileBits: BlobPart[], fileName: string, options?: FilePropertyBag): File;\n};\ninterface FileList {\n    readonly length: number;\n    item(index: number): File | null;\n    [index: number]: File;\n}\ndeclare var FileList: {\n    prototype: FileList;\n    new (): FileList;\n};\ninterface FileReaderEventMap {\n    \"abort\": ProgressEvent<FileReader>;\n    \"error\": ProgressEvent<FileReader>;\n    \"load\": ProgressEvent<FileReader>;\n    \"loadend\": ProgressEvent<FileReader>;\n    \"loadstart\": ProgressEvent<FileReader>;\n    \"progress\": ProgressEvent<FileReader>;\n}\ninterface FileReader extends EventTarget {\n    readonly error: DOMException | null;\n    onabort: ((this: FileReader, ev: ProgressEvent<FileReader>) => any) | null;\n    onerror: ((this: FileReader, ev: ProgressEvent<FileReader>) => any) | null;\n    onload: ((this: FileReader, ev: ProgressEvent<FileReader>) => any) | null;\n    onloadend: ((this: FileReader, ev: ProgressEvent<FileReader>) => any) | null;\n    onloadstart: ((this: FileReader, ev: ProgressEvent<FileReader>) => any) | null;\n    onprogress: ((this: FileReader, ev: ProgressEvent<FileReader>) => any) | null;\n    readonly readyState: 0 | 1 | 2;\n    readonly result: string | ArrayBuffer | null;\n    abort(): void;\n    readAsArrayBuffer(blob: Blob): void;\n    readAsBinaryString(blob: Blob): void;\n    readAsDataURL(blob: Blob): void;\n    readAsText(blob: Blob, encoding?: string): void;\n    readonly EMPTY: 0;\n    readonly LOADING: 1;\n    readonly DONE: 2;\n    addEventListener<K extends keyof FileReaderEventMap>(type: K, listener: (this: FileReader, ev: FileReaderEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof FileReaderEventMap>(type: K, listener: (this: FileReader, ev: FileReaderEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var FileReader: {\n    prototype: FileReader;\n    new (): FileReader;\n    readonly EMPTY: 0;\n    readonly LOADING: 1;\n    readonly DONE: 2;\n};\ninterface FileReaderSync {\n    readAsArrayBuffer(blob: Blob): ArrayBuffer;\n    readAsBinaryString(blob: Blob): string;\n    readAsDataURL(blob: Blob): string;\n    readAsText(blob: Blob, encoding?: string): string;\n}\ndeclare var FileReaderSync: {\n    prototype: FileReaderSync;\n    new (): FileReaderSync;\n};\ninterface FileSystemDirectoryHandle extends FileSystemHandle {\n    readonly kind: \"directory\";\n    getDirectoryHandle(name: string, options?: FileSystemGetDirectoryOptions): Promise<FileSystemDirectoryHandle>;\n    getFileHandle(name: string, options?: FileSystemGetFileOptions): Promise<FileSystemFileHandle>;\n    removeEntry(name: string, options?: FileSystemRemoveOptions): Promise<void>;\n    resolve(possibleDescendant: FileSystemHandle): Promise<string[] | null>;\n}\ndeclare var FileSystemDirectoryHandle: {\n    prototype: FileSystemDirectoryHandle;\n    new (): FileSystemDirectoryHandle;\n};\ninterface FileSystemFileHandle extends FileSystemHandle {\n    readonly kind: \"file\";\n    createSyncAccessHandle(): Promise<FileSystemSyncAccessHandle>;\n    createWritable(options?: FileSystemCreateWritableOptions): Promise<FileSystemWritableFileStream>;\n    getFile(): Promise<File>;\n}\ndeclare var FileSystemFileHandle: {\n    prototype: FileSystemFileHandle;\n    new (): FileSystemFileHandle;\n};\ninterface FileSystemHandle {\n    readonly kind: FileSystemHandleKind;\n    readonly name: string;\n    isSameEntry(other: FileSystemHandle): Promise<boolean>;\n}\ndeclare var FileSystemHandle: {\n    prototype: FileSystemHandle;\n    new (): FileSystemHandle;\n};\ninterface FileSystemSyncAccessHandle {\n    close(): void;\n    flush(): void;\n    getSize(): number;\n    read(buffer: AllowSharedBufferSource, options?: FileSystemReadWriteOptions): number;\n    truncate(newSize: number): void;\n    write(buffer: AllowSharedBufferSource, options?: FileSystemReadWriteOptions): number;\n}\ndeclare var FileSystemSyncAccessHandle: {\n    prototype: FileSystemSyncAccessHandle;\n    new (): FileSystemSyncAccessHandle;\n};\ninterface FileSystemWritableFileStream extends WritableStream {\n    seek(position: number): Promise<void>;\n    truncate(size: number): Promise<void>;\n    write(data: FileSystemWriteChunkType): Promise<void>;\n}\ndeclare var FileSystemWritableFileStream: {\n    prototype: FileSystemWritableFileStream;\n    new (): FileSystemWritableFileStream;\n};\ninterface FontFace {\n    ascentOverride: string;\n    descentOverride: string;\n    display: FontDisplay;\n    family: string;\n    featureSettings: string;\n    lineGapOverride: string;\n    readonly loaded: Promise<FontFace>;\n    readonly status: FontFaceLoadStatus;\n    stretch: string;\n    style: string;\n    unicodeRange: string;\n    variationSettings: string;\n    weight: string;\n    load(): Promise<FontFace>;\n}\ndeclare var FontFace: {\n    prototype: FontFace;\n    new (family: string, source: string | BufferSource, descriptors?: FontFaceDescriptors): FontFace;\n};\ninterface FontFaceSetEventMap {\n    \"loading\": FontFaceSetLoadEvent;\n    \"loadingdone\": FontFaceSetLoadEvent;\n    \"loadingerror\": FontFaceSetLoadEvent;\n}\ninterface FontFaceSet extends EventTarget {\n    onloading: ((this: FontFaceSet, ev: FontFaceSetLoadEvent) => any) | null;\n    onloadingdone: ((this: FontFaceSet, ev: FontFaceSetLoadEvent) => any) | null;\n    onloadingerror: ((this: FontFaceSet, ev: FontFaceSetLoadEvent) => any) | null;\n    readonly ready: Promise<FontFaceSet>;\n    readonly status: FontFaceSetLoadStatus;\n    check(font: string, text?: string): boolean;\n    load(font: string, text?: string): Promise<FontFace[]>;\n    forEach(callbackfn: (value: FontFace, key: FontFace, parent: FontFaceSet) => void, thisArg?: any): void;\n    addEventListener<K extends keyof FontFaceSetEventMap>(type: K, listener: (this: FontFaceSet, ev: FontFaceSetEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof FontFaceSetEventMap>(type: K, listener: (this: FontFaceSet, ev: FontFaceSetEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var FontFaceSet: {\n    prototype: FontFaceSet;\n    new (): FontFaceSet;\n};\ninterface FontFaceSetLoadEvent extends Event {\n    readonly fontfaces: ReadonlyArray<FontFace>;\n}\ndeclare var FontFaceSetLoadEvent: {\n    prototype: FontFaceSetLoadEvent;\n    new (type: string, eventInitDict?: FontFaceSetLoadEventInit): FontFaceSetLoadEvent;\n};\ninterface FontFaceSource {\n    readonly fonts: FontFaceSet;\n}\ninterface FormData {\n    append(name: string, value: string | Blob): void;\n    append(name: string, value: string): void;\n    append(name: string, blobValue: Blob, filename?: string): void;\n    delete(name: string): void;\n    get(name: string): FormDataEntryValue | null;\n    getAll(name: string): FormDataEntryValue[];\n    has(name: string): boolean;\n    set(name: string, value: string | Blob): void;\n    set(name: string, value: string): void;\n    set(name: string, blobValue: Blob, filename?: string): void;\n    forEach(callbackfn: (value: FormDataEntryValue, key: string, parent: FormData) => void, thisArg?: any): void;\n}\ndeclare var FormData: {\n    prototype: FormData;\n    new (): FormData;\n};\ninterface GPU {\n    readonly wgslLanguageFeatures: WGSLLanguageFeatures;\n    getPreferredCanvasFormat(): GPUTextureFormat;\n    requestAdapter(options?: GPURequestAdapterOptions): Promise<GPUAdapter | null>;\n}\ndeclare var GPU: {\n    prototype: GPU;\n    new (): GPU;\n};\ninterface GPUAdapter {\n    readonly features: GPUSupportedFeatures;\n    readonly info: GPUAdapterInfo;\n    readonly limits: GPUSupportedLimits;\n    requestDevice(descriptor?: GPUDeviceDescriptor): Promise<GPUDevice>;\n}\ndeclare var GPUAdapter: {\n    prototype: GPUAdapter;\n    new (): GPUAdapter;\n};\ninterface GPUAdapterInfo {\n    readonly architecture: string;\n    readonly description: string;\n    readonly device: string;\n    readonly isFallbackAdapter: boolean;\n    readonly subgroupMaxSize: number;\n    readonly subgroupMinSize: number;\n    readonly vendor: string;\n}\ndeclare var GPUAdapterInfo: {\n    prototype: GPUAdapterInfo;\n    new (): GPUAdapterInfo;\n};\ninterface GPUBindGroup extends GPUObjectBase {\n}\ndeclare var GPUBindGroup: {\n    prototype: GPUBindGroup;\n    new (): GPUBindGroup;\n};\ninterface GPUBindGroupLayout extends GPUObjectBase {\n}\ndeclare var GPUBindGroupLayout: {\n    prototype: GPUBindGroupLayout;\n    new (): GPUBindGroupLayout;\n};\ninterface GPUBindingCommandsMixin {\n    setBindGroup(index: GPUIndex32, bindGroup: GPUBindGroup | null, dynamicOffsets?: GPUBufferDynamicOffset[]): void;\n    setBindGroup(index: GPUIndex32, bindGroup: GPUBindGroup | null, dynamicOffsetsData: Uint32Array<ArrayBufferLike>, dynamicOffsetsDataStart: GPUSize64, dynamicOffsetsDataLength: GPUSize32): void;\n}\ninterface GPUBuffer extends GPUObjectBase {\n    readonly mapState: GPUBufferMapState;\n    readonly size: GPUSize64Out;\n    readonly usage: GPUFlagsConstant;\n    destroy(): void;\n    getMappedRange(offset?: GPUSize64, size?: GPUSize64): ArrayBuffer;\n    mapAsync(mode: GPUMapModeFlags, offset?: GPUSize64, size?: GPUSize64): Promise<void>;\n    unmap(): void;\n}\ndeclare var GPUBuffer: {\n    prototype: GPUBuffer;\n    new (): GPUBuffer;\n};\ninterface GPUCanvasContext {\n    readonly canvas: OffscreenCanvas;\n    configure(configuration: GPUCanvasConfiguration): void;\n    getConfiguration(): GPUCanvasConfiguration | null;\n    getCurrentTexture(): GPUTexture;\n    unconfigure(): void;\n}\ndeclare var GPUCanvasContext: {\n    prototype: GPUCanvasContext;\n    new (): GPUCanvasContext;\n};\ninterface GPUCommandBuffer extends GPUObjectBase {\n}\ndeclare var GPUCommandBuffer: {\n    prototype: GPUCommandBuffer;\n    new (): GPUCommandBuffer;\n};\ninterface GPUCommandEncoder extends GPUDebugCommandsMixin, GPUObjectBase {\n    beginComputePass(descriptor?: GPUComputePassDescriptor): GPUComputePassEncoder;\n    beginRenderPass(descriptor: GPURenderPassDescriptor): GPURenderPassEncoder;\n    clearBuffer(buffer: GPUBuffer, offset?: GPUSize64, size?: GPUSize64): void;\n    copyBufferToBuffer(source: GPUBuffer, destination: GPUBuffer, size?: GPUSize64): void;\n    copyBufferToBuffer(source: GPUBuffer, sourceOffset: GPUSize64, destination: GPUBuffer, destinationOffset: GPUSize64, size?: GPUSize64): void;\n    copyBufferToTexture(source: GPUTexelCopyBufferInfo, destination: GPUTexelCopyTextureInfo, copySize: GPUExtent3D): void;\n    copyTextureToBuffer(source: GPUTexelCopyTextureInfo, destination: GPUTexelCopyBufferInfo, copySize: GPUExtent3D): void;\n    copyTextureToTexture(source: GPUTexelCopyTextureInfo, destination: GPUTexelCopyTextureInfo, copySize: GPUExtent3D): void;\n    finish(descriptor?: GPUCommandBufferDescriptor): GPUCommandBuffer;\n    resolveQuerySet(querySet: GPUQuerySet, firstQuery: GPUSize32, queryCount: GPUSize32, destination: GPUBuffer, destinationOffset: GPUSize64): void;\n}\ndeclare var GPUCommandEncoder: {\n    prototype: GPUCommandEncoder;\n    new (): GPUCommandEncoder;\n};\ninterface GPUCompilationInfo {\n    readonly messages: ReadonlyArray<GPUCompilationMessage>;\n}\ndeclare var GPUCompilationInfo: {\n    prototype: GPUCompilationInfo;\n    new (): GPUCompilationInfo;\n};\ninterface GPUCompilationMessage {\n    readonly length: number;\n    readonly lineNum: number;\n    readonly linePos: number;\n    readonly message: string;\n    readonly offset: number;\n    readonly type: GPUCompilationMessageType;\n}\ndeclare var GPUCompilationMessage: {\n    prototype: GPUCompilationMessage;\n    new (): GPUCompilationMessage;\n};\ninterface GPUComputePassEncoder extends GPUBindingCommandsMixin, GPUDebugCommandsMixin, GPUObjectBase {\n    dispatchWorkgroups(workgroupCountX: GPUSize32, workgroupCountY?: GPUSize32, workgroupCountZ?: GPUSize32): void;\n    dispatchWorkgroupsIndirect(indirectBuffer: GPUBuffer, indirectOffset: GPUSize64): void;\n    end(): void;\n    setPipeline(pipeline: GPUComputePipeline): void;\n}\ndeclare var GPUComputePassEncoder: {\n    prototype: GPUComputePassEncoder;\n    new (): GPUComputePassEncoder;\n};\ninterface GPUComputePipeline extends GPUObjectBase, GPUPipelineBase {\n}\ndeclare var GPUComputePipeline: {\n    prototype: GPUComputePipeline;\n    new (): GPUComputePipeline;\n};\ninterface GPUDebugCommandsMixin {\n    insertDebugMarker(markerLabel: string): void;\n    popDebugGroup(): void;\n    pushDebugGroup(groupLabel: string): void;\n}\ninterface GPUDeviceEventMap {\n    \"uncapturederror\": GPUUncapturedErrorEvent;\n}\ninterface GPUDevice extends EventTarget, GPUObjectBase {\n    readonly adapterInfo: GPUAdapterInfo;\n    readonly features: GPUSupportedFeatures;\n    readonly limits: GPUSupportedLimits;\n    readonly lost: Promise<GPUDeviceLostInfo>;\n    onuncapturederror: ((this: GPUDevice, ev: GPUUncapturedErrorEvent) => any) | null;\n    readonly queue: GPUQueue;\n    createBindGroup(descriptor: GPUBindGroupDescriptor): GPUBindGroup;\n    createBindGroupLayout(descriptor: GPUBindGroupLayoutDescriptor): GPUBindGroupLayout;\n    createBuffer(descriptor: GPUBufferDescriptor): GPUBuffer;\n    createCommandEncoder(descriptor?: GPUCommandEncoderDescriptor): GPUCommandEncoder;\n    createComputePipeline(descriptor: GPUComputePipelineDescriptor): GPUComputePipeline;\n    createComputePipelineAsync(descriptor: GPUComputePipelineDescriptor): Promise<GPUComputePipeline>;\n    createPipelineLayout(descriptor: GPUPipelineLayoutDescriptor): GPUPipelineLayout;\n    createQuerySet(descriptor: GPUQuerySetDescriptor): GPUQuerySet;\n    createRenderBundleEncoder(descriptor: GPURenderBundleEncoderDescriptor): GPURenderBundleEncoder;\n    createRenderPipeline(descriptor: GPURenderPipelineDescriptor): GPURenderPipeline;\n    createRenderPipelineAsync(descriptor: GPURenderPipelineDescriptor): Promise<GPURenderPipeline>;\n    createSampler(descriptor?: GPUSamplerDescriptor): GPUSampler;\n    createShaderModule(descriptor: GPUShaderModuleDescriptor): GPUShaderModule;\n    createTexture(descriptor: GPUTextureDescriptor): GPUTexture;\n    destroy(): void;\n    importExternalTexture(descriptor: GPUExternalTextureDescriptor): GPUExternalTexture;\n    popErrorScope(): Promise<GPUError | null>;\n    pushErrorScope(filter: GPUErrorFilter): void;\n    addEventListener<K extends keyof GPUDeviceEventMap>(type: K, listener: (this: GPUDevice, ev: GPUDeviceEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof GPUDeviceEventMap>(type: K, listener: (this: GPUDevice, ev: GPUDeviceEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var GPUDevice: {\n    prototype: GPUDevice;\n    new (): GPUDevice;\n};\ninterface GPUDeviceLostInfo {\n    readonly message: string;\n    readonly reason: GPUDeviceLostReason;\n}\ndeclare var GPUDeviceLostInfo: {\n    prototype: GPUDeviceLostInfo;\n    new (): GPUDeviceLostInfo;\n};\ninterface GPUError {\n    readonly message: string;\n}\ndeclare var GPUError: {\n    prototype: GPUError;\n    new (): GPUError;\n};\ninterface GPUExternalTexture extends GPUObjectBase {\n}\ndeclare var GPUExternalTexture: {\n    prototype: GPUExternalTexture;\n    new (): GPUExternalTexture;\n};\ninterface GPUInternalError extends GPUError {\n}\ndeclare var GPUInternalError: {\n    prototype: GPUInternalError;\n    new (message: string): GPUInternalError;\n};\ninterface GPUObjectBase {\n    label: string;\n}\ninterface GPUOutOfMemoryError extends GPUError {\n}\ndeclare var GPUOutOfMemoryError: {\n    prototype: GPUOutOfMemoryError;\n    new (message: string): GPUOutOfMemoryError;\n};\ninterface GPUPipelineBase {\n    getBindGroupLayout(index: number): GPUBindGroupLayout;\n}\ninterface GPUPipelineError extends DOMException {\n    readonly reason: GPUPipelineErrorReason;\n}\ndeclare var GPUPipelineError: {\n    prototype: GPUPipelineError;\n    new (message: string, options: GPUPipelineErrorInit): GPUPipelineError;\n};\ninterface GPUPipelineLayout extends GPUObjectBase {\n}\ndeclare var GPUPipelineLayout: {\n    prototype: GPUPipelineLayout;\n    new (): GPUPipelineLayout;\n};\ninterface GPUQuerySet extends GPUObjectBase {\n    readonly count: GPUSize32Out;\n    readonly type: GPUQueryType;\n    destroy(): void;\n}\ndeclare var GPUQuerySet: {\n    prototype: GPUQuerySet;\n    new (): GPUQuerySet;\n};\ninterface GPUQueue extends GPUObjectBase {\n    copyExternalImageToTexture(source: GPUCopyExternalImageSourceInfo, destination: GPUCopyExternalImageDestInfo, copySize: GPUExtent3D): void;\n    onSubmittedWorkDone(): Promise<void>;\n    submit(commandBuffers: GPUCommandBuffer[]): void;\n    writeBuffer(buffer: GPUBuffer, bufferOffset: GPUSize64, data: AllowSharedBufferSource, dataOffset?: GPUSize64, size?: GPUSize64): void;\n    writeTexture(destination: GPUTexelCopyTextureInfo, data: AllowSharedBufferSource, dataLayout: GPUTexelCopyBufferLayout, size: GPUExtent3D): void;\n}\ndeclare var GPUQueue: {\n    prototype: GPUQueue;\n    new (): GPUQueue;\n};\ninterface GPURenderBundle extends GPUObjectBase {\n}\ndeclare var GPURenderBundle: {\n    prototype: GPURenderBundle;\n    new (): GPURenderBundle;\n};\ninterface GPURenderBundleEncoder extends GPUBindingCommandsMixin, GPUDebugCommandsMixin, GPUObjectBase, GPURenderCommandsMixin {\n    finish(descriptor?: GPURenderBundleDescriptor): GPURenderBundle;\n}\ndeclare var GPURenderBundleEncoder: {\n    prototype: GPURenderBundleEncoder;\n    new (): GPURenderBundleEncoder;\n};\ninterface GPURenderCommandsMixin {\n    draw(vertexCount: GPUSize32, instanceCount?: GPUSize32, firstVertex?: GPUSize32, firstInstance?: GPUSize32): void;\n    drawIndexed(indexCount: GPUSize32, instanceCount?: GPUSize32, firstIndex?: GPUSize32, baseVertex?: GPUSignedOffset32, firstInstance?: GPUSize32): void;\n    drawIndexedIndirect(indirectBuffer: GPUBuffer, indirectOffset: GPUSize64): void;\n    drawIndirect(indirectBuffer: GPUBuffer, indirectOffset: GPUSize64): void;\n    setIndexBuffer(buffer: GPUBuffer, indexFormat: GPUIndexFormat, offset?: GPUSize64, size?: GPUSize64): void;\n    setPipeline(pipeline: GPURenderPipeline): void;\n    setVertexBuffer(slot: GPUIndex32, buffer: GPUBuffer | null, offset?: GPUSize64, size?: GPUSize64): void;\n}\ninterface GPURenderPassEncoder extends GPUBindingCommandsMixin, GPUDebugCommandsMixin, GPUObjectBase, GPURenderCommandsMixin {\n    beginOcclusionQuery(queryIndex: GPUSize32): void;\n    end(): void;\n    endOcclusionQuery(): void;\n    executeBundles(bundles: GPURenderBundle[]): void;\n    setBlendConstant(color: GPUColor): void;\n    setScissorRect(x: GPUIntegerCoordinate, y: GPUIntegerCoordinate, width: GPUIntegerCoordinate, height: GPUIntegerCoordinate): void;\n    setStencilReference(reference: GPUStencilValue): void;\n    setViewport(x: number, y: number, width: number, height: number, minDepth: number, maxDepth: number): void;\n}\ndeclare var GPURenderPassEncoder: {\n    prototype: GPURenderPassEncoder;\n    new (): GPURenderPassEncoder;\n};\ninterface GPURenderPipeline extends GPUObjectBase, GPUPipelineBase {\n}\ndeclare var GPURenderPipeline: {\n    prototype: GPURenderPipeline;\n    new (): GPURenderPipeline;\n};\ninterface GPUSampler extends GPUObjectBase {\n}\ndeclare var GPUSampler: {\n    prototype: GPUSampler;\n    new (): GPUSampler;\n};\ninterface GPUShaderModule extends GPUObjectBase {\n    getCompilationInfo(): Promise<GPUCompilationInfo>;\n}\ndeclare var GPUShaderModule: {\n    prototype: GPUShaderModule;\n    new (): GPUShaderModule;\n};\ninterface GPUSupportedFeatures {\n    forEach(callbackfn: (value: string, key: string, parent: GPUSupportedFeatures) => void, thisArg?: any): void;\n}\ndeclare var GPUSupportedFeatures: {\n    prototype: GPUSupportedFeatures;\n    new (): GPUSupportedFeatures;\n};\ninterface GPUSupportedLimits {\n    readonly maxBindGroups: number;\n    readonly maxBindGroupsPlusVertexBuffers: number;\n    readonly maxBindingsPerBindGroup: number;\n    readonly maxBufferSize: number;\n    readonly maxColorAttachmentBytesPerSample: number;\n    readonly maxColorAttachments: number;\n    readonly maxComputeInvocationsPerWorkgroup: number;\n    readonly maxComputeWorkgroupSizeX: number;\n    readonly maxComputeWorkgroupSizeY: number;\n    readonly maxComputeWorkgroupSizeZ: number;\n    readonly maxComputeWorkgroupStorageSize: number;\n    readonly maxComputeWorkgroupsPerDimension: number;\n    readonly maxDynamicStorageBuffersPerPipelineLayout: number;\n    readonly maxDynamicUniformBuffersPerPipelineLayout: number;\n    readonly maxInterStageShaderVariables: number;\n    readonly maxSampledTexturesPerShaderStage: number;\n    readonly maxSamplersPerShaderStage: number;\n    readonly maxStorageBufferBindingSize: number;\n    readonly maxStorageBuffersPerShaderStage: number;\n    readonly maxStorageTexturesPerShaderStage: number;\n    readonly maxTextureArrayLayers: number;\n    readonly maxTextureDimension1D: number;\n    readonly maxTextureDimension2D: number;\n    readonly maxTextureDimension3D: number;\n    readonly maxUniformBufferBindingSize: number;\n    readonly maxUniformBuffersPerShaderStage: number;\n    readonly maxVertexAttributes: number;\n    readonly maxVertexBufferArrayStride: number;\n    readonly maxVertexBuffers: number;\n    readonly minStorageBufferOffsetAlignment: number;\n    readonly minUniformBufferOffsetAlignment: number;\n}\ndeclare var GPUSupportedLimits: {\n    prototype: GPUSupportedLimits;\n    new (): GPUSupportedLimits;\n};\ninterface GPUTexture extends GPUObjectBase {\n    readonly depthOrArrayLayers: GPUIntegerCoordinateOut;\n    readonly dimension: GPUTextureDimension;\n    readonly format: GPUTextureFormat;\n    readonly height: GPUIntegerCoordinateOut;\n    readonly mipLevelCount: GPUIntegerCoordinateOut;\n    readonly sampleCount: GPUSize32Out;\n    readonly usage: GPUFlagsConstant;\n    readonly width: GPUIntegerCoordinateOut;\n    createView(descriptor?: GPUTextureViewDescriptor): GPUTextureView;\n    destroy(): void;\n}\ndeclare var GPUTexture: {\n    prototype: GPUTexture;\n    new (): GPUTexture;\n};\ninterface GPUTextureView extends GPUObjectBase {\n}\ndeclare var GPUTextureView: {\n    prototype: GPUTextureView;\n    new (): GPUTextureView;\n};\ninterface GPUUncapturedErrorEvent extends Event {\n    readonly error: GPUError;\n}\ndeclare var GPUUncapturedErrorEvent: {\n    prototype: GPUUncapturedErrorEvent;\n    new (type: string, gpuUncapturedErrorEventInitDict: GPUUncapturedErrorEventInit): GPUUncapturedErrorEvent;\n};\ninterface GPUValidationError extends GPUError {\n}\ndeclare var GPUValidationError: {\n    prototype: GPUValidationError;\n    new (message: string): GPUValidationError;\n};\ninterface GenericTransformStream {\n    readonly readable: ReadableStream;\n    readonly writable: WritableStream;\n}\ninterface Headers {\n    append(name: string, value: string): void;\n    delete(name: string): void;\n    get(name: string): string | null;\n    getSetCookie(): string[];\n    has(name: string): boolean;\n    set(name: string, value: string): void;\n    forEach(callbackfn: (value: string, key: string, parent: Headers) => void, thisArg?: any): void;\n}\ndeclare var Headers: {\n    prototype: Headers;\n    new (init?: HeadersInit): Headers;\n};\ninterface IDBCursor {\n    readonly direction: IDBCursorDirection;\n    readonly key: IDBValidKey;\n    readonly primaryKey: IDBValidKey;\n    readonly request: IDBRequest;\n    readonly source: IDBObjectStore | IDBIndex;\n    advance(count: number): void;\n    continue(key?: IDBValidKey): void;\n    continuePrimaryKey(key: IDBValidKey, primaryKey: IDBValidKey): void;\n    delete(): IDBRequest<undefined>;\n    update(value: any): IDBRequest<IDBValidKey>;\n}\ndeclare var IDBCursor: {\n    prototype: IDBCursor;\n    new (): IDBCursor;\n};\ninterface IDBCursorWithValue extends IDBCursor {\n    readonly value: any;\n}\ndeclare var IDBCursorWithValue: {\n    prototype: IDBCursorWithValue;\n    new (): IDBCursorWithValue;\n};\ninterface IDBDatabaseEventMap {\n    \"abort\": Event;\n    \"close\": Event;\n    \"error\": Event;\n    \"versionchange\": IDBVersionChangeEvent;\n}\ninterface IDBDatabase extends EventTarget {\n    readonly name: string;\n    readonly objectStoreNames: DOMStringList;\n    onabort: ((this: IDBDatabase, ev: Event) => any) | null;\n    onclose: ((this: IDBDatabase, ev: Event) => any) | null;\n    onerror: ((this: IDBDatabase, ev: Event) => any) | null;\n    onversionchange: ((this: IDBDatabase, ev: IDBVersionChangeEvent) => any) | null;\n    readonly version: number;\n    close(): void;\n    createObjectStore(name: string, options?: IDBObjectStoreParameters): IDBObjectStore;\n    deleteObjectStore(name: string): void;\n    transaction(storeNames: string | string[], mode?: IDBTransactionMode, options?: IDBTransactionOptions): IDBTransaction;\n    addEventListener<K extends keyof IDBDatabaseEventMap>(type: K, listener: (this: IDBDatabase, ev: IDBDatabaseEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof IDBDatabaseEventMap>(type: K, listener: (this: IDBDatabase, ev: IDBDatabaseEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var IDBDatabase: {\n    prototype: IDBDatabase;\n    new (): IDBDatabase;\n};\ninterface IDBFactory {\n    cmp(first: any, second: any): number;\n    databases(): Promise<IDBDatabaseInfo[]>;\n    deleteDatabase(name: string): IDBOpenDBRequest;\n    open(name: string, version?: number): IDBOpenDBRequest;\n}\ndeclare var IDBFactory: {\n    prototype: IDBFactory;\n    new (): IDBFactory;\n};\ninterface IDBIndex {\n    readonly keyPath: string | string[];\n    readonly multiEntry: boolean;\n    name: string;\n    readonly objectStore: IDBObjectStore;\n    readonly unique: boolean;\n    count(query?: IDBValidKey | IDBKeyRange): IDBRequest<number>;\n    get(query: IDBValidKey | IDBKeyRange): IDBRequest<any>;\n    getAll(queryOrOptions?: IDBValidKey | IDBKeyRange | null, count?: number): IDBRequest<any[]>;\n    getAllKeys(queryOrOptions?: IDBValidKey | IDBKeyRange | null, count?: number): IDBRequest<IDBValidKey[]>;\n    getKey(query: IDBValidKey | IDBKeyRange): IDBRequest<IDBValidKey | undefined>;\n    openCursor(query?: IDBValidKey | IDBKeyRange | null, direction?: IDBCursorDirection): IDBRequest<IDBCursorWithValue | null>;\n    openKeyCursor(query?: IDBValidKey | IDBKeyRange | null, direction?: IDBCursorDirection): IDBRequest<IDBCursor | null>;\n}\ndeclare var IDBIndex: {\n    prototype: IDBIndex;\n    new (): IDBIndex;\n};\ninterface IDBKeyRange {\n    readonly lower: any;\n    readonly lowerOpen: boolean;\n    readonly upper: any;\n    readonly upperOpen: boolean;\n    includes(key: any): boolean;\n}\ndeclare var IDBKeyRange: {\n    prototype: IDBKeyRange;\n    new (): IDBKeyRange;\n    bound(lower: any, upper: any, lowerOpen?: boolean, upperOpen?: boolean): IDBKeyRange;\n    lowerBound(lower: any, open?: boolean): IDBKeyRange;\n    only(value: any): IDBKeyRange;\n    upperBound(upper: any, open?: boolean): IDBKeyRange;\n};\ninterface IDBObjectStore {\n    readonly autoIncrement: boolean;\n    readonly indexNames: DOMStringList;\n    readonly keyPath: string | string[] | null;\n    name: string;\n    readonly transaction: IDBTransaction;\n    add(value: any, key?: IDBValidKey): IDBRequest<IDBValidKey>;\n    clear(): IDBRequest<undefined>;\n    count(query?: IDBValidKey | IDBKeyRange): IDBRequest<number>;\n    createIndex(name: string, keyPath: string | string[], options?: IDBIndexParameters): IDBIndex;\n    delete(query: IDBValidKey | IDBKeyRange): IDBRequest<undefined>;\n    deleteIndex(name: string): void;\n    get(query: IDBValidKey | IDBKeyRange): IDBRequest<any>;\n    getAll(queryOrOptions?: IDBValidKey | IDBKeyRange | null, count?: number): IDBRequest<any[]>;\n    getAllKeys(queryOrOptions?: IDBValidKey | IDBKeyRange | null, count?: number): IDBRequest<IDBValidKey[]>;\n    getKey(query: IDBValidKey | IDBKeyRange): IDBRequest<IDBValidKey | undefined>;\n    index(name: string): IDBIndex;\n    openCursor(query?: IDBValidKey | IDBKeyRange | null, direction?: IDBCursorDirection): IDBRequest<IDBCursorWithValue | null>;\n    openKeyCursor(query?: IDBValidKey | IDBKeyRange | null, direction?: IDBCursorDirection): IDBRequest<IDBCursor | null>;\n    put(value: any, key?: IDBValidKey): IDBRequest<IDBValidKey>;\n}\ndeclare var IDBObjectStore: {\n    prototype: IDBObjectStore;\n    new (): IDBObjectStore;\n};\ninterface IDBOpenDBRequestEventMap extends IDBRequestEventMap {\n    \"blocked\": IDBVersionChangeEvent;\n    \"upgradeneeded\": IDBVersionChangeEvent;\n}\ninterface IDBOpenDBRequest extends IDBRequest<IDBDatabase> {\n    onblocked: ((this: IDBOpenDBRequest, ev: IDBVersionChangeEvent) => any) | null;\n    onupgradeneeded: ((this: IDBOpenDBRequest, ev: IDBVersionChangeEvent) => any) | null;\n    addEventListener<K extends keyof IDBOpenDBRequestEventMap>(type: K, listener: (this: IDBOpenDBRequest, ev: IDBOpenDBRequestEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof IDBOpenDBRequestEventMap>(type: K, listener: (this: IDBOpenDBRequest, ev: IDBOpenDBRequestEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var IDBOpenDBRequest: {\n    prototype: IDBOpenDBRequest;\n    new (): IDBOpenDBRequest;\n};\ninterface IDBRequestEventMap {\n    \"error\": Event;\n    \"success\": Event;\n}\ninterface IDBRequest<T = any> extends EventTarget {\n    readonly error: DOMException | null;\n    onerror: ((this: IDBRequest<T>, ev: Event) => any) | null;\n    onsuccess: ((this: IDBRequest<T>, ev: Event) => any) | null;\n    readonly readyState: IDBRequestReadyState;\n    readonly result: T;\n    readonly source: IDBObjectStore | IDBIndex | IDBCursor;\n    readonly transaction: IDBTransaction | null;\n    addEventListener<K extends keyof IDBRequestEventMap>(type: K, listener: (this: IDBRequest<T>, ev: IDBRequestEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof IDBRequestEventMap>(type: K, listener: (this: IDBRequest<T>, ev: IDBRequestEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var IDBRequest: {\n    prototype: IDBRequest;\n    new (): IDBRequest;\n};\ninterface IDBTransactionEventMap {\n    \"abort\": Event;\n    \"complete\": Event;\n    \"error\": Event;\n}\ninterface IDBTransaction extends EventTarget {\n    readonly db: IDBDatabase;\n    readonly durability: IDBTransactionDurability;\n    readonly error: DOMException | null;\n    readonly mode: IDBTransactionMode;\n    readonly objectStoreNames: DOMStringList;\n    onabort: ((this: IDBTransaction, ev: Event) => any) | null;\n    oncomplete: ((this: IDBTransaction, ev: Event) => any) | null;\n    onerror: ((this: IDBTransaction, ev: Event) => any) | null;\n    abort(): void;\n    commit(): void;\n    objectStore(name: string): IDBObjectStore;\n    addEventListener<K extends keyof IDBTransactionEventMap>(type: K, listener: (this: IDBTransaction, ev: IDBTransactionEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof IDBTransactionEventMap>(type: K, listener: (this: IDBTransaction, ev: IDBTransactionEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var IDBTransaction: {\n    prototype: IDBTransaction;\n    new (): IDBTransaction;\n};\ninterface IDBVersionChangeEvent extends Event {\n    readonly newVersion: number | null;\n    readonly oldVersion: number;\n}\ndeclare var IDBVersionChangeEvent: {\n    prototype: IDBVersionChangeEvent;\n    new (type: string, eventInitDict?: IDBVersionChangeEventInit): IDBVersionChangeEvent;\n};\ninterface ImageBitmap {\n    readonly height: number;\n    readonly width: number;\n    close(): void;\n}\ndeclare var ImageBitmap: {\n    prototype: ImageBitmap;\n    new (): ImageBitmap;\n};\ninterface ImageBitmapRenderingContext {\n    transferFromImageBitmap(bitmap: ImageBitmap | null): void;\n}\ndeclare var ImageBitmapRenderingContext: {\n    prototype: ImageBitmapRenderingContext;\n    new (): ImageBitmapRenderingContext;\n};\ninterface ImageData {\n    readonly colorSpace: PredefinedColorSpace;\n    readonly data: ImageDataArray;\n    readonly height: number;\n    readonly width: number;\n}\ndeclare var ImageData: {\n    prototype: ImageData;\n    new (sw: number, sh: number, settings?: ImageDataSettings): ImageData;\n    new (data: ImageDataArray, sw: number, sh?: number, settings?: ImageDataSettings): ImageData;\n};\ninterface ImageDecoder {\n    readonly complete: boolean;\n    readonly completed: Promise<void>;\n    readonly tracks: ImageTrackList;\n    readonly type: string;\n    close(): void;\n    decode(options?: ImageDecodeOptions): Promise<ImageDecodeResult>;\n    reset(): void;\n}\ndeclare var ImageDecoder: {\n    prototype: ImageDecoder;\n    new (init: ImageDecoderInit): ImageDecoder;\n    isTypeSupported(type: string): Promise<boolean>;\n};\ninterface ImageTrack {\n    readonly animated: boolean;\n    readonly frameCount: number;\n    readonly repetitionCount: number;\n    selected: boolean;\n}\ndeclare var ImageTrack: {\n    prototype: ImageTrack;\n    new (): ImageTrack;\n};\ninterface ImageTrackList {\n    readonly length: number;\n    readonly ready: Promise<void>;\n    readonly selectedIndex: number;\n    readonly selectedTrack: ImageTrack | null;\n    [index: number]: ImageTrack;\n}\ndeclare var ImageTrackList: {\n    prototype: ImageTrackList;\n    new (): ImageTrackList;\n};\ninterface ImportMeta {\n    url: string;\n    resolve(specifier: string): string;\n}\ninterface KHR_parallel_shader_compile {\n    readonly COMPLETION_STATUS_KHR: 37297;\n}\ninterface Lock {\n    readonly mode: LockMode;\n    readonly name: string;\n}\ndeclare var Lock: {\n    prototype: Lock;\n    new (): Lock;\n};\ninterface LockManager {\n    query(): Promise<LockManagerSnapshot>;\n    request<T>(name: string, callback: LockGrantedCallback<T>): Promise<Awaited<T>>;\n    request<T>(name: string, options: LockOptions, callback: LockGrantedCallback<T>): Promise<Awaited<T>>;\n}\ndeclare var LockManager: {\n    prototype: LockManager;\n    new (): LockManager;\n};\ninterface MediaCapabilities {\n    decodingInfo(configuration: MediaDecodingConfiguration): Promise<MediaCapabilitiesDecodingInfo>;\n    encodingInfo(configuration: MediaEncodingConfiguration): Promise<MediaCapabilitiesEncodingInfo>;\n}\ndeclare var MediaCapabilities: {\n    prototype: MediaCapabilities;\n    new (): MediaCapabilities;\n};\ninterface MediaSourceHandle {\n}\ndeclare var MediaSourceHandle: {\n    prototype: MediaSourceHandle;\n    new (): MediaSourceHandle;\n};\ninterface MediaStreamTrackProcessor {\n    readonly readable: ReadableStream;\n}\ndeclare var MediaStreamTrackProcessor: {\n    prototype: MediaStreamTrackProcessor;\n    new (init: MediaStreamTrackProcessorInit): MediaStreamTrackProcessor;\n};\ninterface MessageChannel {\n    readonly port1: MessagePort;\n    readonly port2: MessagePort;\n}\ndeclare var MessageChannel: {\n    prototype: MessageChannel;\n    new (): MessageChannel;\n};\ninterface MessageEvent<T = any> extends Event {\n    readonly data: T;\n    readonly lastEventId: string;\n    readonly origin: string;\n    readonly ports: ReadonlyArray<MessagePort>;\n    readonly source: MessageEventSource | null;\n    initMessageEvent(type: string, bubbles?: boolean, cancelable?: boolean, data?: any, origin?: string, lastEventId?: string, source?: MessageEventSource | null, ports?: MessagePort[]): void;\n}\ndeclare var MessageEvent: {\n    prototype: MessageEvent;\n    new <T>(type: string, eventInitDict?: MessageEventInit<T>): MessageEvent<T>;\n};\ninterface MessageEventTargetEventMap {\n    \"message\": MessageEvent;\n    \"messageerror\": MessageEvent;\n}\ninterface MessageEventTarget<T> {\n    onmessage: ((this: T, ev: MessageEvent) => any) | null;\n    onmessageerror: ((this: T, ev: MessageEvent) => any) | null;\n    addEventListener<K extends keyof MessageEventTargetEventMap>(type: K, listener: (this: T, ev: MessageEventTargetEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof MessageEventTargetEventMap>(type: K, listener: (this: T, ev: MessageEventTargetEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ninterface MessagePortEventMap extends MessageEventTargetEventMap {\n    \"message\": MessageEvent;\n    \"messageerror\": MessageEvent;\n}\ninterface MessagePort extends EventTarget, MessageEventTarget<MessagePort> {\n    close(): void;\n    postMessage(message: any, transfer: Transferable[]): void;\n    postMessage(message: any, options?: StructuredSerializeOptions): void;\n    start(): void;\n    addEventListener<K extends keyof MessagePortEventMap>(type: K, listener: (this: MessagePort, ev: MessagePortEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof MessagePortEventMap>(type: K, listener: (this: MessagePort, ev: MessagePortEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var MessagePort: {\n    prototype: MessagePort;\n    new (): MessagePort;\n};\ninterface NavigationPreloadManager {\n    disable(): Promise<void>;\n    enable(): Promise<void>;\n    getState(): Promise<NavigationPreloadState>;\n    setHeaderValue(value: string): Promise<void>;\n}\ndeclare var NavigationPreloadManager: {\n    prototype: NavigationPreloadManager;\n    new (): NavigationPreloadManager;\n};\ninterface NavigatorBadge {\n    clearAppBadge(): Promise<void>;\n    setAppBadge(contents?: number): Promise<void>;\n}\ninterface NavigatorConcurrentHardware {\n    readonly hardwareConcurrency: number;\n}\ninterface NavigatorGPU {\n    readonly gpu: GPU;\n}\ninterface NavigatorID {\n    readonly appCodeName: string;\n    readonly appName: string;\n    readonly appVersion: string;\n    readonly platform: string;\n    readonly product: string;\n    readonly userAgent: string;\n}\ninterface NavigatorLanguage {\n    readonly language: string;\n    readonly languages: ReadonlyArray<string>;\n}\ninterface NavigatorLocks {\n    readonly locks: LockManager;\n}\ninterface NavigatorOnLine {\n    readonly onLine: boolean;\n}\ninterface NavigatorStorage {\n    readonly storage: StorageManager;\n}\ninterface NotificationEventMap {\n    \"click\": Event;\n    \"close\": Event;\n    \"error\": Event;\n    \"show\": Event;\n}\ninterface Notification extends EventTarget {\n    readonly body: string;\n    readonly data: any;\n    readonly dir: NotificationDirection;\n    readonly icon: string;\n    readonly lang: string;\n    onclick: ((this: Notification, ev: Event) => any) | null;\n    onclose: ((this: Notification, ev: Event) => any) | null;\n    onerror: ((this: Notification, ev: Event) => any) | null;\n    onshow: ((this: Notification, ev: Event) => any) | null;\n    readonly requireInteraction: boolean;\n    readonly silent: boolean | null;\n    readonly tag: string;\n    readonly title: string;\n    close(): void;\n    addEventListener<K extends keyof NotificationEventMap>(type: K, listener: (this: Notification, ev: NotificationEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof NotificationEventMap>(type: K, listener: (this: Notification, ev: NotificationEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var Notification: {\n    prototype: Notification;\n    new (title: string, options?: NotificationOptions): Notification;\n    readonly permission: NotificationPermission;\n};\ninterface NotificationEvent extends ExtendableEvent {\n    readonly action: string;\n    readonly notification: Notification;\n}\ndeclare var NotificationEvent: {\n    prototype: NotificationEvent;\n    new (type: string, eventInitDict: NotificationEventInit): NotificationEvent;\n};\ninterface OES_draw_buffers_indexed {\n    blendEquationSeparateiOES(buf: GLuint, modeRGB: GLenum, modeAlpha: GLenum): void;\n    blendEquationiOES(buf: GLuint, mode: GLenum): void;\n    blendFuncSeparateiOES(buf: GLuint, srcRGB: GLenum, dstRGB: GLenum, srcAlpha: GLenum, dstAlpha: GLenum): void;\n    blendFunciOES(buf: GLuint, src: GLenum, dst: GLenum): void;\n    colorMaskiOES(buf: GLuint, r: GLboolean, g: GLboolean, b: GLboolean, a: GLboolean): void;\n    disableiOES(target: GLenum, index: GLuint): void;\n    enableiOES(target: GLenum, index: GLuint): void;\n}\ninterface OES_element_index_uint {\n}\ninterface OES_fbo_render_mipmap {\n}\ninterface OES_standard_derivatives {\n    readonly FRAGMENT_SHADER_DERIVATIVE_HINT_OES: 35723;\n}\ninterface OES_texture_float {\n}\ninterface OES_texture_float_linear {\n}\ninterface OES_texture_half_float {\n    readonly HALF_FLOAT_OES: 36193;\n}\ninterface OES_texture_half_float_linear {\n}\ninterface OES_vertex_array_object {\n    bindVertexArrayOES(arrayObject: WebGLVertexArrayObjectOES | null): void;\n    createVertexArrayOES(): WebGLVertexArrayObjectOES;\n    deleteVertexArrayOES(arrayObject: WebGLVertexArrayObjectOES | null): void;\n    isVertexArrayOES(arrayObject: WebGLVertexArrayObjectOES | null): GLboolean;\n    readonly VERTEX_ARRAY_BINDING_OES: 34229;\n}\ninterface OVR_multiview2 {\n    framebufferTextureMultiviewOVR(target: GLenum, attachment: GLenum, texture: WebGLTexture | null, level: GLint, baseViewIndex: GLint, numViews: GLsizei): void;\n    readonly FRAMEBUFFER_ATTACHMENT_TEXTURE_NUM_VIEWS_OVR: 38448;\n    readonly FRAMEBUFFER_ATTACHMENT_TEXTURE_BASE_VIEW_INDEX_OVR: 38450;\n    readonly MAX_VIEWS_OVR: 38449;\n    readonly FRAMEBUFFER_INCOMPLETE_VIEW_TARGETS_OVR: 38451;\n}\ninterface OffscreenCanvasEventMap {\n    \"contextlost\": Event;\n    \"contextrestored\": Event;\n}\ninterface OffscreenCanvas extends EventTarget {\n    height: number;\n    oncontextlost: ((this: OffscreenCanvas, ev: Event) => any) | null;\n    oncontextrestored: ((this: OffscreenCanvas, ev: Event) => any) | null;\n    width: number;\n    convertToBlob(options?: ImageEncodeOptions): Promise<Blob>;\n    getContext(contextId: \"2d\", options?: any): OffscreenCanvasRenderingContext2D | null;\n    getContext(contextId: \"bitmaprenderer\", options?: any): ImageBitmapRenderingContext | null;\n    getContext(contextId: \"webgl\", options?: any): WebGLRenderingContext | null;\n    getContext(contextId: \"webgl2\", options?: any): WebGL2RenderingContext | null;\n    getContext(contextId: OffscreenRenderingContextId, options?: any): OffscreenRenderingContext | null;\n    transferToImageBitmap(): ImageBitmap;\n    addEventListener<K extends keyof OffscreenCanvasEventMap>(type: K, listener: (this: OffscreenCanvas, ev: OffscreenCanvasEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof OffscreenCanvasEventMap>(type: K, listener: (this: OffscreenCanvas, ev: OffscreenCanvasEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var OffscreenCanvas: {\n    prototype: OffscreenCanvas;\n    new (width: number, height: number): OffscreenCanvas;\n};\ninterface OffscreenCanvasRenderingContext2D extends CanvasCompositing, CanvasDrawImage, CanvasDrawPath, CanvasFillStrokeStyles, CanvasFilters, CanvasImageData, CanvasImageSmoothing, CanvasPath, CanvasPathDrawingStyles, CanvasRect, CanvasShadowStyles, CanvasState, CanvasText, CanvasTextDrawingStyles, CanvasTransform {\n    readonly canvas: OffscreenCanvas;\n}\ndeclare var OffscreenCanvasRenderingContext2D: {\n    prototype: OffscreenCanvasRenderingContext2D;\n    new (): OffscreenCanvasRenderingContext2D;\n};\ninterface Path2D extends CanvasPath {\n    addPath(path: Path2D, transform?: DOMMatrix2DInit): void;\n}\ndeclare var Path2D: {\n    prototype: Path2D;\n    new (path?: Path2D | string): Path2D;\n};\ninterface PerformanceEventMap {\n    \"resourcetimingbufferfull\": Event;\n}\ninterface Performance extends EventTarget {\n    onresourcetimingbufferfull: ((this: Performance, ev: Event) => any) | null;\n    readonly timeOrigin: DOMHighResTimeStamp;\n    clearMarks(markName?: string): void;\n    clearMeasures(measureName?: string): void;\n    clearResourceTimings(): void;\n    getEntries(): PerformanceEntryList;\n    getEntriesByName(name: string, type?: string): PerformanceEntryList;\n    getEntriesByType(type: string): PerformanceEntryList;\n    mark(markName: string, markOptions?: PerformanceMarkOptions): PerformanceMark;\n    measure(measureName: string, startOrMeasureOptions?: string | PerformanceMeasureOptions, endMark?: string): PerformanceMeasure;\n    now(): DOMHighResTimeStamp;\n    setResourceTimingBufferSize(maxSize: number): void;\n    toJSON(): any;\n    addEventListener<K extends keyof PerformanceEventMap>(type: K, listener: (this: Performance, ev: PerformanceEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof PerformanceEventMap>(type: K, listener: (this: Performance, ev: PerformanceEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var Performance: {\n    prototype: Performance;\n    new (): Performance;\n};\ninterface PerformanceEntry {\n    readonly duration: DOMHighResTimeStamp;\n    readonly entryType: string;\n    readonly name: string;\n    readonly startTime: DOMHighResTimeStamp;\n    toJSON(): any;\n}\ndeclare var PerformanceEntry: {\n    prototype: PerformanceEntry;\n    new (): PerformanceEntry;\n};\ninterface PerformanceMark extends PerformanceEntry {\n    readonly detail: any;\n}\ndeclare var PerformanceMark: {\n    prototype: PerformanceMark;\n    new (markName: string, markOptions?: PerformanceMarkOptions): PerformanceMark;\n};\ninterface PerformanceMeasure extends PerformanceEntry {\n    readonly detail: any;\n}\ndeclare var PerformanceMeasure: {\n    prototype: PerformanceMeasure;\n    new (): PerformanceMeasure;\n};\ninterface PerformanceObserver {\n    disconnect(): void;\n    observe(options?: PerformanceObserverInit): void;\n    takeRecords(): PerformanceEntryList;\n}\ndeclare var PerformanceObserver: {\n    prototype: PerformanceObserver;\n    new (callback: PerformanceObserverCallback): PerformanceObserver;\n    readonly supportedEntryTypes: ReadonlyArray<string>;\n};\ninterface PerformanceObserverEntryList {\n    getEntries(): PerformanceEntryList;\n    getEntriesByName(name: string, type?: string): PerformanceEntryList;\n    getEntriesByType(type: string): PerformanceEntryList;\n}\ndeclare var PerformanceObserverEntryList: {\n    prototype: PerformanceObserverEntryList;\n    new (): PerformanceObserverEntryList;\n};\ninterface PerformanceResourceTiming extends PerformanceEntry {\n    readonly connectEnd: DOMHighResTimeStamp;\n    readonly connectStart: DOMHighResTimeStamp;\n    readonly decodedBodySize: number;\n    readonly domainLookupEnd: DOMHighResTimeStamp;\n    readonly domainLookupStart: DOMHighResTimeStamp;\n    readonly encodedBodySize: number;\n    readonly fetchStart: DOMHighResTimeStamp;\n    readonly initiatorType: string;\n    readonly nextHopProtocol: string;\n    readonly redirectEnd: DOMHighResTimeStamp;\n    readonly redirectStart: DOMHighResTimeStamp;\n    readonly requestStart: DOMHighResTimeStamp;\n    readonly responseEnd: DOMHighResTimeStamp;\n    readonly responseStart: DOMHighResTimeStamp;\n    readonly responseStatus: number;\n    readonly secureConnectionStart: DOMHighResTimeStamp;\n    readonly serverTiming: ReadonlyArray<PerformanceServerTiming>;\n    readonly transferSize: number;\n    readonly workerStart: DOMHighResTimeStamp;\n    toJSON(): any;\n}\ndeclare var PerformanceResourceTiming: {\n    prototype: PerformanceResourceTiming;\n    new (): PerformanceResourceTiming;\n};\ninterface PerformanceServerTiming {\n    readonly description: string;\n    readonly duration: DOMHighResTimeStamp;\n    readonly name: string;\n    toJSON(): any;\n}\ndeclare var PerformanceServerTiming: {\n    prototype: PerformanceServerTiming;\n    new (): PerformanceServerTiming;\n};\ninterface PermissionStatusEventMap {\n    \"change\": Event;\n}\ninterface PermissionStatus extends EventTarget {\n    readonly name: string;\n    onchange: ((this: PermissionStatus, ev: Event) => any) | null;\n    readonly state: PermissionState;\n    addEventListener<K extends keyof PermissionStatusEventMap>(type: K, listener: (this: PermissionStatus, ev: PermissionStatusEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof PermissionStatusEventMap>(type: K, listener: (this: PermissionStatus, ev: PermissionStatusEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var PermissionStatus: {\n    prototype: PermissionStatus;\n    new (): PermissionStatus;\n};\ninterface Permissions {\n    query(permissionDesc: PermissionDescriptor): Promise<PermissionStatus>;\n}\ndeclare var Permissions: {\n    prototype: Permissions;\n    new (): Permissions;\n};\ninterface ProgressEvent<T extends EventTarget = EventTarget> extends Event {\n    readonly lengthComputable: boolean;\n    readonly loaded: number;\n    readonly target: T | null;\n    readonly total: number;\n}\ndeclare var ProgressEvent: {\n    prototype: ProgressEvent;\n    new (type: string, eventInitDict?: ProgressEventInit): ProgressEvent;\n};\ninterface PromiseRejectionEvent extends Event {\n    readonly promise: Promise<any>;\n    readonly reason: any;\n}\ndeclare var PromiseRejectionEvent: {\n    prototype: PromiseRejectionEvent;\n    new (type: string, eventInitDict: PromiseRejectionEventInit): PromiseRejectionEvent;\n};\ninterface PushEvent extends ExtendableEvent {\n    readonly data: PushMessageData | null;\n}\ndeclare var PushEvent: {\n    prototype: PushEvent;\n    new (type: string, eventInitDict?: PushEventInit): PushEvent;\n};\ninterface PushManager {\n    getSubscription(): Promise<PushSubscription | null>;\n    permissionState(options?: PushSubscriptionOptionsInit): Promise<PermissionState>;\n    subscribe(options?: PushSubscriptionOptionsInit): Promise<PushSubscription>;\n}\ndeclare var PushManager: {\n    prototype: PushManager;\n    new (): PushManager;\n    readonly supportedContentEncodings: ReadonlyArray<string>;\n};\ninterface PushManagerAttribute {\n    readonly pushManager: PushManager;\n}\ninterface PushMessageData {\n    arrayBuffer(): ArrayBuffer;\n    blob(): Blob;\n    bytes(): Uint8Array<ArrayBuffer>;\n    json(): any;\n    text(): string;\n}\ndeclare var PushMessageData: {\n    prototype: PushMessageData;\n    new (): PushMessageData;\n};\ninterface PushSubscription {\n    readonly endpoint: string;\n    readonly expirationTime: EpochTimeStamp | null;\n    readonly options: PushSubscriptionOptions;\n    getKey(name: PushEncryptionKeyName): ArrayBuffer | null;\n    toJSON(): PushSubscriptionJSON;\n    unsubscribe(): Promise<boolean>;\n}\ndeclare var PushSubscription: {\n    prototype: PushSubscription;\n    new (): PushSubscription;\n};\ninterface PushSubscriptionChangeEvent extends ExtendableEvent {\n    readonly newSubscription: PushSubscription | null;\n    readonly oldSubscription: PushSubscription | null;\n}\ndeclare var PushSubscriptionChangeEvent: {\n    prototype: PushSubscriptionChangeEvent;\n    new (type: string, eventInitDict?: PushSubscriptionChangeEventInit): PushSubscriptionChangeEvent;\n};\ninterface PushSubscriptionOptions {\n    readonly applicationServerKey: ArrayBuffer | null;\n    readonly userVisibleOnly: boolean;\n}\ndeclare var PushSubscriptionOptions: {\n    prototype: PushSubscriptionOptions;\n    new (): PushSubscriptionOptions;\n};\ninterface RTCDataChannelEventMap {\n    \"bufferedamountlow\": Event;\n    \"close\": Event;\n    \"closing\": Event;\n    \"error\": Event;\n    \"message\": MessageEvent;\n    \"open\": Event;\n}\ninterface RTCDataChannel extends EventTarget {\n    binaryType: BinaryType;\n    readonly bufferedAmount: number;\n    bufferedAmountLowThreshold: number;\n    readonly id: number | null;\n    readonly label: string;\n    readonly maxPacketLifeTime: number | null;\n    readonly maxRetransmits: number | null;\n    readonly negotiated: boolean;\n    onbufferedamountlow: ((this: RTCDataChannel, ev: Event) => any) | null;\n    onclose: ((this: RTCDataChannel, ev: Event) => any) | null;\n    onclosing: ((this: RTCDataChannel, ev: Event) => any) | null;\n    onerror: ((this: RTCDataChannel, ev: Event) => any) | null;\n    onmessage: ((this: RTCDataChannel, ev: MessageEvent) => any) | null;\n    onopen: ((this: RTCDataChannel, ev: Event) => any) | null;\n    readonly ordered: boolean;\n    readonly protocol: string;\n    readonly readyState: RTCDataChannelState;\n    close(): void;\n    send(data: string): void;\n    send(data: Blob): void;\n    send(data: ArrayBuffer): void;\n    send(data: ArrayBufferView<ArrayBuffer>): void;\n    addEventListener<K extends keyof RTCDataChannelEventMap>(type: K, listener: (this: RTCDataChannel, ev: RTCDataChannelEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof RTCDataChannelEventMap>(type: K, listener: (this: RTCDataChannel, ev: RTCDataChannelEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var RTCDataChannel: {\n    prototype: RTCDataChannel;\n    new (): RTCDataChannel;\n};\ninterface RTCEncodedAudioFrame {\n    data: ArrayBuffer;\n    readonly timestamp: number;\n    getMetadata(): RTCEncodedAudioFrameMetadata;\n}\ndeclare var RTCEncodedAudioFrame: {\n    prototype: RTCEncodedAudioFrame;\n    new (): RTCEncodedAudioFrame;\n};\ninterface RTCEncodedVideoFrame {\n    data: ArrayBuffer;\n    readonly timestamp: number;\n    readonly type: EncodedVideoChunkType;\n    getMetadata(): RTCEncodedVideoFrameMetadata;\n}\ndeclare var RTCEncodedVideoFrame: {\n    prototype: RTCEncodedVideoFrame;\n    new (): RTCEncodedVideoFrame;\n};\ninterface RTCRtpScriptTransformer extends EventTarget {\n    readonly options: any;\n    readonly readable: ReadableStream;\n    readonly writable: WritableStream;\n    generateKeyFrame(rid?: string): Promise<void>;\n    sendKeyFrameRequest(): Promise<void>;\n}\ndeclare var RTCRtpScriptTransformer: {\n    prototype: RTCRtpScriptTransformer;\n    new (): RTCRtpScriptTransformer;\n};\ninterface RTCTransformEvent extends Event {\n    readonly transformer: RTCRtpScriptTransformer;\n}\ndeclare var RTCTransformEvent: {\n    prototype: RTCTransformEvent;\n    new (): RTCTransformEvent;\n};\ninterface ReadableByteStreamController {\n    readonly byobRequest: ReadableStreamBYOBRequest | null;\n    readonly desiredSize: number | null;\n    close(): void;\n    enqueue(chunk: ArrayBufferView<ArrayBuffer>): void;\n    error(e?: any): void;\n}\ndeclare var ReadableByteStreamController: {\n    prototype: ReadableByteStreamController;\n    new (): ReadableByteStreamController;\n};\ninterface ReadableStream<R = any> {\n    readonly locked: boolean;\n    cancel(reason?: any): Promise<void>;\n    getReader(options: {\n        mode: \"byob\";\n    }): ReadableStreamBYOBReader;\n    getReader(): ReadableStreamDefaultReader<R>;\n    getReader(options?: ReadableStreamGetReaderOptions): ReadableStreamReader<R>;\n    pipeThrough<T>(transform: ReadableWritablePair<T, R>, options?: StreamPipeOptions): ReadableStream<T>;\n    pipeTo(destination: WritableStream<R>, options?: StreamPipeOptions): Promise<void>;\n    tee(): [\n        ReadableStream<R>,\n        ReadableStream<R>\n    ];\n}\ndeclare var ReadableStream: {\n    prototype: ReadableStream;\n    new (underlyingSource: UnderlyingByteSource, strategy?: {\n        highWaterMark?: number;\n    }): ReadableStream<Uint8Array<ArrayBuffer>>;\n    new <R = any>(underlyingSource: UnderlyingDefaultSource<R>, strategy?: QueuingStrategy<R>): ReadableStream<R>;\n    new <R = any>(underlyingSource?: UnderlyingSource<R>, strategy?: QueuingStrategy<R>): ReadableStream<R>;\n};\ninterface ReadableStreamBYOBReader extends ReadableStreamGenericReader {\n    read<T extends Exclude<BufferSource, ArrayBuffer>>(view: T, options?: ReadableStreamBYOBReaderReadOptions): Promise<ReadableStreamReadResult<T>>;\n    releaseLock(): void;\n}\ndeclare var ReadableStreamBYOBReader: {\n    prototype: ReadableStreamBYOBReader;\n    new (stream: ReadableStream<Uint8Array<ArrayBuffer>>): ReadableStreamBYOBReader;\n};\ninterface ReadableStreamBYOBRequest {\n    readonly view: ArrayBufferView<ArrayBuffer> | null;\n    respond(bytesWritten: number): void;\n    respondWithNewView(view: ArrayBufferView<ArrayBuffer>): void;\n}\ndeclare var ReadableStreamBYOBRequest: {\n    prototype: ReadableStreamBYOBRequest;\n    new (): ReadableStreamBYOBRequest;\n};\ninterface ReadableStreamDefaultController<R = any> {\n    readonly desiredSize: number | null;\n    close(): void;\n    enqueue(chunk: R): void;\n    error(e?: any): void;\n}\ndeclare var ReadableStreamDefaultController: {\n    prototype: ReadableStreamDefaultController;\n    new (): ReadableStreamDefaultController;\n};\ninterface ReadableStreamDefaultReader<R = any> extends ReadableStreamGenericReader {\n    read(): Promise<ReadableStreamReadResult<R>>;\n    releaseLock(): void;\n}\ndeclare var ReadableStreamDefaultReader: {\n    prototype: ReadableStreamDefaultReader;\n    new <R = any>(stream: ReadableStream<R>): ReadableStreamDefaultReader<R>;\n};\ninterface ReadableStreamGenericReader {\n    readonly closed: Promise<void>;\n    cancel(reason?: any): Promise<void>;\n}\ninterface ReportingObserver {\n    disconnect(): void;\n    observe(): void;\n    takeRecords(): ReportList;\n}\ndeclare var ReportingObserver: {\n    prototype: ReportingObserver;\n    new (callback: ReportingObserverCallback, options?: ReportingObserverOptions): ReportingObserver;\n};\ninterface Request extends Body {\n    readonly cache: RequestCache;\n    readonly credentials: RequestCredentials;\n    readonly destination: RequestDestination;\n    readonly headers: Headers;\n    readonly integrity: string;\n    readonly keepalive: boolean;\n    readonly method: string;\n    readonly mode: RequestMode;\n    readonly redirect: RequestRedirect;\n    readonly referrer: string;\n    readonly referrerPolicy: ReferrerPolicy;\n    readonly signal: AbortSignal;\n    readonly url: string;\n    clone(): Request;\n}\ndeclare var Request: {\n    prototype: Request;\n    new (input: RequestInfo | URL, init?: RequestInit): Request;\n};\ninterface Response extends Body {\n    readonly headers: Headers;\n    readonly ok: boolean;\n    readonly redirected: boolean;\n    readonly status: number;\n    readonly statusText: string;\n    readonly type: ResponseType;\n    readonly url: string;\n    clone(): Response;\n}\ndeclare var Response: {\n    prototype: Response;\n    new (body?: BodyInit | null, init?: ResponseInit): Response;\n    error(): Response;\n    json(data: any, init?: ResponseInit): Response;\n    redirect(url: string | URL, status?: number): Response;\n};\ninterface Scheduler {\n    postTask(callback: SchedulerPostTaskCallback, options?: SchedulerPostTaskOptions): Promise<any>;\n    yield(): Promise<void>;\n}\ndeclare var Scheduler: {\n    prototype: Scheduler;\n    new (): Scheduler;\n};\ninterface SecurityPolicyViolationEvent extends Event {\n    readonly blockedURI: string;\n    readonly columnNumber: number;\n    readonly disposition: SecurityPolicyViolationEventDisposition;\n    readonly documentURI: string;\n    readonly effectiveDirective: string;\n    readonly lineNumber: number;\n    readonly originalPolicy: string;\n    readonly referrer: string;\n    readonly sample: string;\n    readonly sourceFile: string;\n    readonly statusCode: number;\n    readonly violatedDirective: string;\n}\ndeclare var SecurityPolicyViolationEvent: {\n    prototype: SecurityPolicyViolationEvent;\n    new (type: string, eventInitDict?: SecurityPolicyViolationEventInit): SecurityPolicyViolationEvent;\n};\ninterface ServiceWorkerEventMap extends AbstractWorkerEventMap {\n    \"statechange\": Event;\n}\ninterface ServiceWorker extends EventTarget, AbstractWorker {\n    onstatechange: ((this: ServiceWorker, ev: Event) => any) | null;\n    readonly scriptURL: string;\n    readonly state: ServiceWorkerState;\n    postMessage(message: any, transfer: Transferable[]): void;\n    postMessage(message: any, options?: StructuredSerializeOptions): void;\n    addEventListener<K extends keyof ServiceWorkerEventMap>(type: K, listener: (this: ServiceWorker, ev: ServiceWorkerEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof ServiceWorkerEventMap>(type: K, listener: (this: ServiceWorker, ev: ServiceWorkerEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var ServiceWorker: {\n    prototype: ServiceWorker;\n    new (): ServiceWorker;\n};\ninterface ServiceWorkerContainerEventMap {\n    \"controllerchange\": Event;\n    \"message\": MessageEvent;\n    \"messageerror\": MessageEvent;\n}\ninterface ServiceWorkerContainer extends EventTarget {\n    readonly controller: ServiceWorker | null;\n    oncontrollerchange: ((this: ServiceWorkerContainer, ev: Event) => any) | null;\n    onmessage: ((this: ServiceWorkerContainer, ev: MessageEvent) => any) | null;\n    onmessageerror: ((this: ServiceWorkerContainer, ev: MessageEvent) => any) | null;\n    readonly ready: Promise<ServiceWorkerRegistration>;\n    getRegistration(clientURL?: string | URL): Promise<ServiceWorkerRegistration | undefined>;\n    getRegistrations(): Promise<ReadonlyArray<ServiceWorkerRegistration>>;\n    register(scriptURL: string | URL, options?: RegistrationOptions): Promise<ServiceWorkerRegistration>;\n    startMessages(): void;\n    addEventListener<K extends keyof ServiceWorkerContainerEventMap>(type: K, listener: (this: ServiceWorkerContainer, ev: ServiceWorkerContainerEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof ServiceWorkerContainerEventMap>(type: K, listener: (this: ServiceWorkerContainer, ev: ServiceWorkerContainerEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var ServiceWorkerContainer: {\n    prototype: ServiceWorkerContainer;\n    new (): ServiceWorkerContainer;\n};\ninterface ServiceWorkerGlobalScopeEventMap extends WorkerGlobalScopeEventMap {\n    \"activate\": ExtendableEvent;\n    \"cookiechange\": ExtendableCookieChangeEvent;\n    \"fetch\": FetchEvent;\n    \"install\": ExtendableEvent;\n    \"message\": ExtendableMessageEvent;\n    \"messageerror\": ExtendableMessageEvent;\n    \"notificationclick\": NotificationEvent;\n    \"notificationclose\": NotificationEvent;\n    \"push\": PushEvent;\n    \"pushsubscriptionchange\": PushSubscriptionChangeEvent;\n}\ninterface ServiceWorkerGlobalScope extends WorkerGlobalScope {\n    readonly clients: Clients;\n    readonly cookieStore: CookieStore;\n    onactivate: ((this: ServiceWorkerGlobalScope, ev: ExtendableEvent) => any) | null;\n    oncookiechange: ((this: ServiceWorkerGlobalScope, ev: ExtendableCookieChangeEvent) => any) | null;\n    onfetch: ((this: ServiceWorkerGlobalScope, ev: FetchEvent) => any) | null;\n    oninstall: ((this: ServiceWorkerGlobalScope, ev: ExtendableEvent) => any) | null;\n    onmessage: ((this: ServiceWorkerGlobalScope, ev: ExtendableMessageEvent) => any) | null;\n    onmessageerror: ((this: ServiceWorkerGlobalScope, ev: ExtendableMessageEvent) => any) | null;\n    onnotificationclick: ((this: ServiceWorkerGlobalScope, ev: NotificationEvent) => any) | null;\n    onnotificationclose: ((this: ServiceWorkerGlobalScope, ev: NotificationEvent) => any) | null;\n    onpush: ((this: ServiceWorkerGlobalScope, ev: PushEvent) => any) | null;\n    onpushsubscriptionchange: ((this: ServiceWorkerGlobalScope, ev: PushSubscriptionChangeEvent) => any) | null;\n    readonly registration: ServiceWorkerRegistration;\n    readonly serviceWorker: ServiceWorker;\n    skipWaiting(): Promise<void>;\n    addEventListener<K extends keyof ServiceWorkerGlobalScopeEventMap>(type: K, listener: (this: ServiceWorkerGlobalScope, ev: ServiceWorkerGlobalScopeEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof ServiceWorkerGlobalScopeEventMap>(type: K, listener: (this: ServiceWorkerGlobalScope, ev: ServiceWorkerGlobalScopeEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var ServiceWorkerGlobalScope: {\n    prototype: ServiceWorkerGlobalScope;\n    new (): ServiceWorkerGlobalScope;\n};\ninterface ServiceWorkerRegistrationEventMap {\n    \"updatefound\": Event;\n}\ninterface ServiceWorkerRegistration extends EventTarget, PushManagerAttribute {\n    readonly active: ServiceWorker | null;\n    readonly cookies: CookieStoreManager;\n    readonly installing: ServiceWorker | null;\n    readonly navigationPreload: NavigationPreloadManager;\n    onupdatefound: ((this: ServiceWorkerRegistration, ev: Event) => any) | null;\n    readonly scope: string;\n    readonly updateViaCache: ServiceWorkerUpdateViaCache;\n    readonly waiting: ServiceWorker | null;\n    getNotifications(filter?: GetNotificationOptions): Promise<Notification[]>;\n    showNotification(title: string, options?: NotificationOptions): Promise<void>;\n    unregister(): Promise<boolean>;\n    update(): Promise<ServiceWorkerRegistration>;\n    addEventListener<K extends keyof ServiceWorkerRegistrationEventMap>(type: K, listener: (this: ServiceWorkerRegistration, ev: ServiceWorkerRegistrationEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof ServiceWorkerRegistrationEventMap>(type: K, listener: (this: ServiceWorkerRegistration, ev: ServiceWorkerRegistrationEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var ServiceWorkerRegistration: {\n    prototype: ServiceWorkerRegistration;\n    new (): ServiceWorkerRegistration;\n};\ninterface SharedWorkerGlobalScopeEventMap extends WorkerGlobalScopeEventMap {\n    \"connect\": MessageEvent;\n}\ninterface SharedWorkerGlobalScope extends WorkerGlobalScope {\n    readonly name: string;\n    onconnect: ((this: SharedWorkerGlobalScope, ev: MessageEvent) => any) | null;\n    close(): void;\n    addEventListener<K extends keyof SharedWorkerGlobalScopeEventMap>(type: K, listener: (this: SharedWorkerGlobalScope, ev: SharedWorkerGlobalScopeEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SharedWorkerGlobalScopeEventMap>(type: K, listener: (this: SharedWorkerGlobalScope, ev: SharedWorkerGlobalScopeEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var SharedWorkerGlobalScope: {\n    prototype: SharedWorkerGlobalScope;\n    new (): SharedWorkerGlobalScope;\n};\ninterface StorageManager {\n    estimate(): Promise<StorageEstimate>;\n    getDirectory(): Promise<FileSystemDirectoryHandle>;\n    persisted(): Promise<boolean>;\n}\ndeclare var StorageManager: {\n    prototype: StorageManager;\n    new (): StorageManager;\n};\ninterface StylePropertyMapReadOnly {\n    readonly size: number;\n    get(property: string): undefined | CSSStyleValue;\n    getAll(property: string): CSSStyleValue[];\n    has(property: string): boolean;\n    forEach(callbackfn: (value: CSSStyleValue[], key: string, parent: StylePropertyMapReadOnly) => void, thisArg?: any): void;\n}\ndeclare var StylePropertyMapReadOnly: {\n    prototype: StylePropertyMapReadOnly;\n    new (): StylePropertyMapReadOnly;\n};\ninterface SubtleCrypto {\n    decrypt(algorithm: AlgorithmIdentifier | RsaOaepParams | AesCtrParams | AesCbcParams | AesGcmParams, key: CryptoKey, data: BufferSource): Promise<ArrayBuffer>;\n    deriveBits(algorithm: AlgorithmIdentifier | EcdhKeyDeriveParams | HkdfParams | Pbkdf2Params, baseKey: CryptoKey, length?: number | null): Promise<ArrayBuffer>;\n    deriveKey(algorithm: AlgorithmIdentifier | EcdhKeyDeriveParams | HkdfParams | Pbkdf2Params, baseKey: CryptoKey, derivedKeyType: AlgorithmIdentifier | AesDerivedKeyParams | HmacImportParams | HkdfParams | Pbkdf2Params, extractable: boolean, keyUsages: KeyUsage[]): Promise<CryptoKey>;\n    digest(algorithm: AlgorithmIdentifier, data: BufferSource): Promise<ArrayBuffer>;\n    encrypt(algorithm: AlgorithmIdentifier | RsaOaepParams | AesCtrParams | AesCbcParams | AesGcmParams, key: CryptoKey, data: BufferSource): Promise<ArrayBuffer>;\n    exportKey(format: \"jwk\", key: CryptoKey): Promise<JsonWebKey>;\n    exportKey(format: Exclude<KeyFormat, \"jwk\">, key: CryptoKey): Promise<ArrayBuffer>;\n    exportKey(format: KeyFormat, key: CryptoKey): Promise<ArrayBuffer | JsonWebKey>;\n    generateKey(algorithm: \"Ed25519\" | {\n        name: \"Ed25519\";\n    }, extractable: boolean, keyUsages: ReadonlyArray<\"sign\" | \"verify\">): Promise<CryptoKeyPair>;\n    generateKey(algorithm: \"X25519\" | {\n        name: \"X25519\";\n    }, extractable: boolean, keyUsages: ReadonlyArray<\"deriveBits\" | \"deriveKey\">): Promise<CryptoKeyPair>;\n    generateKey(algorithm: RsaHashedKeyGenParams | EcKeyGenParams, extractable: boolean, keyUsages: ReadonlyArray<KeyUsage>): Promise<CryptoKeyPair>;\n    generateKey(algorithm: AesKeyGenParams | HmacKeyGenParams | Pbkdf2Params, extractable: boolean, keyUsages: ReadonlyArray<KeyUsage>): Promise<CryptoKey>;\n    generateKey(algorithm: AlgorithmIdentifier, extractable: boolean, keyUsages: KeyUsage[]): Promise<CryptoKeyPair | CryptoKey>;\n    importKey(format: \"jwk\", keyData: JsonWebKey, algorithm: AlgorithmIdentifier | RsaHashedImportParams | EcKeyImportParams | HmacImportParams | AesKeyAlgorithm, extractable: boolean, keyUsages: ReadonlyArray<KeyUsage>): Promise<CryptoKey>;\n    importKey(format: Exclude<KeyFormat, \"jwk\">, keyData: BufferSource, algorithm: AlgorithmIdentifier | RsaHashedImportParams | EcKeyImportParams | HmacImportParams | AesKeyAlgorithm, extractable: boolean, keyUsages: KeyUsage[]): Promise<CryptoKey>;\n    sign(algorithm: AlgorithmIdentifier | RsaPssParams | EcdsaParams, key: CryptoKey, data: BufferSource): Promise<ArrayBuffer>;\n    unwrapKey(format: KeyFormat, wrappedKey: BufferSource, unwrappingKey: CryptoKey, unwrapAlgorithm: AlgorithmIdentifier | RsaOaepParams | AesCtrParams | AesCbcParams | AesGcmParams, unwrappedKeyAlgorithm: AlgorithmIdentifier | RsaHashedImportParams | EcKeyImportParams | HmacImportParams | AesKeyAlgorithm, extractable: boolean, keyUsages: KeyUsage[]): Promise<CryptoKey>;\n    verify(algorithm: AlgorithmIdentifier | RsaPssParams | EcdsaParams, key: CryptoKey, signature: BufferSource, data: BufferSource): Promise<boolean>;\n    wrapKey(format: KeyFormat, key: CryptoKey, wrappingKey: CryptoKey, wrapAlgorithm: AlgorithmIdentifier | RsaOaepParams | AesCtrParams | AesCbcParams | AesGcmParams): Promise<ArrayBuffer>;\n}\ndeclare var SubtleCrypto: {\n    prototype: SubtleCrypto;\n    new (): SubtleCrypto;\n};\ninterface TaskController extends AbortController {\n    setPriority(priority: TaskPriority): void;\n}\ndeclare var TaskController: {\n    prototype: TaskController;\n    new (init?: TaskControllerInit): TaskController;\n};\ninterface TaskPriorityChangeEvent extends Event {\n    readonly previousPriority: TaskPriority;\n}\ndeclare var TaskPriorityChangeEvent: {\n    prototype: TaskPriorityChangeEvent;\n    new (type: string, priorityChangeEventInitDict: TaskPriorityChangeEventInit): TaskPriorityChangeEvent;\n};\ninterface TaskSignalEventMap extends AbortSignalEventMap {\n    \"prioritychange\": TaskPriorityChangeEvent;\n}\ninterface TaskSignal extends AbortSignal {\n    onprioritychange: ((this: TaskSignal, ev: TaskPriorityChangeEvent) => any) | null;\n    readonly priority: TaskPriority;\n    addEventListener<K extends keyof TaskSignalEventMap>(type: K, listener: (this: TaskSignal, ev: TaskSignalEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof TaskSignalEventMap>(type: K, listener: (this: TaskSignal, ev: TaskSignalEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var TaskSignal: {\n    prototype: TaskSignal;\n    new (): TaskSignal;\n    any(signals: AbortSignal[], init?: TaskSignalAnyInit): TaskSignal;\n};\ninterface TextDecoder extends TextDecoderCommon {\n    decode(input?: AllowSharedBufferSource, options?: TextDecodeOptions): string;\n}\ndeclare var TextDecoder: {\n    prototype: TextDecoder;\n    new (label?: string, options?: TextDecoderOptions): TextDecoder;\n};\ninterface TextDecoderCommon {\n    readonly encoding: string;\n    readonly fatal: boolean;\n    readonly ignoreBOM: boolean;\n}\ninterface TextDecoderStream extends GenericTransformStream, TextDecoderCommon {\n    readonly readable: ReadableStream<string>;\n    readonly writable: WritableStream<BufferSource>;\n}\ndeclare var TextDecoderStream: {\n    prototype: TextDecoderStream;\n    new (label?: string, options?: TextDecoderOptions): TextDecoderStream;\n};\ninterface TextEncoder extends TextEncoderCommon {\n    encode(input?: string): Uint8Array<ArrayBuffer>;\n    encodeInto(source: string, destination: Uint8Array<ArrayBufferLike>): TextEncoderEncodeIntoResult;\n}\ndeclare var TextEncoder: {\n    prototype: TextEncoder;\n    new (): TextEncoder;\n};\ninterface TextEncoderCommon {\n    readonly encoding: string;\n}\ninterface TextEncoderStream extends GenericTransformStream, TextEncoderCommon {\n    readonly readable: ReadableStream<Uint8Array<ArrayBuffer>>;\n    readonly writable: WritableStream<string>;\n}\ndeclare var TextEncoderStream: {\n    prototype: TextEncoderStream;\n    new (): TextEncoderStream;\n};\ninterface TextMetrics {\n    readonly actualBoundingBoxAscent: number;\n    readonly actualBoundingBoxDescent: number;\n    readonly actualBoundingBoxLeft: number;\n    readonly actualBoundingBoxRight: number;\n    readonly alphabeticBaseline: number;\n    readonly emHeightAscent: number;\n    readonly emHeightDescent: number;\n    readonly fontBoundingBoxAscent: number;\n    readonly fontBoundingBoxDescent: number;\n    readonly hangingBaseline: number;\n    readonly ideographicBaseline: number;\n    readonly width: number;\n}\ndeclare var TextMetrics: {\n    prototype: TextMetrics;\n    new (): TextMetrics;\n};\ninterface TransformStream<I = any, O = any> {\n    readonly readable: ReadableStream<O>;\n    readonly writable: WritableStream<I>;\n}\ndeclare var TransformStream: {\n    prototype: TransformStream;\n    new <I = any, O = any>(transformer?: Transformer<I, O>, writableStrategy?: QueuingStrategy<I>, readableStrategy?: QueuingStrategy<O>): TransformStream<I, O>;\n};\ninterface TransformStreamDefaultController<O = any> {\n    readonly desiredSize: number | null;\n    enqueue(chunk?: O): void;\n    error(reason?: any): void;\n    terminate(): void;\n}\ndeclare var TransformStreamDefaultController: {\n    prototype: TransformStreamDefaultController;\n    new (): TransformStreamDefaultController;\n};\ninterface URL {\n    hash: string;\n    host: string;\n    hostname: string;\n    href: string;\n    toString(): string;\n    readonly origin: string;\n    password: string;\n    pathname: string;\n    port: string;\n    protocol: string;\n    search: string;\n    readonly searchParams: URLSearchParams;\n    username: string;\n    toJSON(): string;\n}\ndeclare var URL: {\n    prototype: URL;\n    new (url: string | URL, base?: string | URL): URL;\n    canParse(url: string | URL, base?: string | URL): boolean;\n    createObjectURL(obj: Blob): string;\n    parse(url: string | URL, base?: string | URL): URL | null;\n    revokeObjectURL(url: string): void;\n};\ninterface URLPattern {\n    readonly hasRegExpGroups: boolean;\n    readonly hash: string;\n    readonly hostname: string;\n    readonly password: string;\n    readonly pathname: string;\n    readonly port: string;\n    readonly protocol: string;\n    readonly search: string;\n    readonly username: string;\n    exec(input?: URLPatternInput, baseURL?: string | URL): URLPatternResult | null;\n    test(input?: URLPatternInput, baseURL?: string | URL): boolean;\n}\ndeclare var URLPattern: {\n    prototype: URLPattern;\n    new (input: URLPatternInput, baseURL: string | URL, options?: URLPatternOptions): URLPattern;\n    new (input?: URLPatternInput, options?: URLPatternOptions): URLPattern;\n};\ninterface URLSearchParams {\n    readonly size: number;\n    append(name: string, value: string): void;\n    delete(name: string, value?: string): void;\n    get(name: string): string | null;\n    getAll(name: string): string[];\n    has(name: string, value?: string): boolean;\n    set(name: string, value: string): void;\n    sort(): void;\n    toString(): string;\n    forEach(callbackfn: (value: string, key: string, parent: URLSearchParams) => void, thisArg?: any): void;\n}\ndeclare var URLSearchParams: {\n    prototype: URLSearchParams;\n    new (init?: string[][] | Record<string, string> | string | URLSearchParams): URLSearchParams;\n};\ninterface VideoColorSpace {\n    readonly fullRange: boolean | null;\n    readonly matrix: VideoMatrixCoefficients | null;\n    readonly primaries: VideoColorPrimaries | null;\n    readonly transfer: VideoTransferCharacteristics | null;\n    toJSON(): VideoColorSpaceInit;\n}\ndeclare var VideoColorSpace: {\n    prototype: VideoColorSpace;\n    new (init?: VideoColorSpaceInit): VideoColorSpace;\n};\ninterface VideoDecoderEventMap {\n    \"dequeue\": Event;\n}\ninterface VideoDecoder extends EventTarget {\n    readonly decodeQueueSize: number;\n    ondequeue: ((this: VideoDecoder, ev: Event) => any) | null;\n    readonly state: CodecState;\n    close(): void;\n    configure(config: VideoDecoderConfig): void;\n    decode(chunk: EncodedVideoChunk): void;\n    flush(): Promise<void>;\n    reset(): void;\n    addEventListener<K extends keyof VideoDecoderEventMap>(type: K, listener: (this: VideoDecoder, ev: VideoDecoderEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof VideoDecoderEventMap>(type: K, listener: (this: VideoDecoder, ev: VideoDecoderEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var VideoDecoder: {\n    prototype: VideoDecoder;\n    new (init: VideoDecoderInit): VideoDecoder;\n    isConfigSupported(config: VideoDecoderConfig): Promise<VideoDecoderSupport>;\n};\ninterface VideoEncoderEventMap {\n    \"dequeue\": Event;\n}\ninterface VideoEncoder extends EventTarget {\n    readonly encodeQueueSize: number;\n    ondequeue: ((this: VideoEncoder, ev: Event) => any) | null;\n    readonly state: CodecState;\n    close(): void;\n    configure(config: VideoEncoderConfig): void;\n    encode(frame: VideoFrame, options?: VideoEncoderEncodeOptions): void;\n    flush(): Promise<void>;\n    reset(): void;\n    addEventListener<K extends keyof VideoEncoderEventMap>(type: K, listener: (this: VideoEncoder, ev: VideoEncoderEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof VideoEncoderEventMap>(type: K, listener: (this: VideoEncoder, ev: VideoEncoderEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var VideoEncoder: {\n    prototype: VideoEncoder;\n    new (init: VideoEncoderInit): VideoEncoder;\n    isConfigSupported(config: VideoEncoderConfig): Promise<VideoEncoderSupport>;\n};\ninterface VideoFrame {\n    readonly codedHeight: number;\n    readonly codedRect: DOMRectReadOnly | null;\n    readonly codedWidth: number;\n    readonly colorSpace: VideoColorSpace;\n    readonly displayHeight: number;\n    readonly displayWidth: number;\n    readonly duration: number | null;\n    readonly format: VideoPixelFormat | null;\n    readonly timestamp: number;\n    readonly visibleRect: DOMRectReadOnly | null;\n    allocationSize(options?: VideoFrameCopyToOptions): number;\n    clone(): VideoFrame;\n    close(): void;\n    copyTo(destination: AllowSharedBufferSource, options?: VideoFrameCopyToOptions): Promise<PlaneLayout[]>;\n}\ndeclare var VideoFrame: {\n    prototype: VideoFrame;\n    new (image: CanvasImageSource, init?: VideoFrameInit): VideoFrame;\n    new (data: AllowSharedBufferSource, init: VideoFrameBufferInit): VideoFrame;\n};\ninterface WEBGL_color_buffer_float {\n    readonly RGBA32F_EXT: 34836;\n    readonly FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT: 33297;\n    readonly UNSIGNED_NORMALIZED_EXT: 35863;\n}\ninterface WEBGL_compressed_texture_astc {\n    getSupportedProfiles(): string[];\n    readonly COMPRESSED_RGBA_ASTC_4x4_KHR: 37808;\n    readonly COMPRESSED_RGBA_ASTC_5x4_KHR: 37809;\n    readonly COMPRESSED_RGBA_ASTC_5x5_KHR: 37810;\n    readonly COMPRESSED_RGBA_ASTC_6x5_KHR: 37811;\n    readonly COMPRESSED_RGBA_ASTC_6x6_KHR: 37812;\n    readonly COMPRESSED_RGBA_ASTC_8x5_KHR: 37813;\n    readonly COMPRESSED_RGBA_ASTC_8x6_KHR: 37814;\n    readonly COMPRESSED_RGBA_ASTC_8x8_KHR: 37815;\n    readonly COMPRESSED_RGBA_ASTC_10x5_KHR: 37816;\n    readonly COMPRESSED_RGBA_ASTC_10x6_KHR: 37817;\n    readonly COMPRESSED_RGBA_ASTC_10x8_KHR: 37818;\n    readonly COMPRESSED_RGBA_ASTC_10x10_KHR: 37819;\n    readonly COMPRESSED_RGBA_ASTC_12x10_KHR: 37820;\n    readonly COMPRESSED_RGBA_ASTC_12x12_KHR: 37821;\n    readonly COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR: 37840;\n    readonly COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR: 37841;\n    readonly COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR: 37842;\n    readonly COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR: 37843;\n    readonly COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR: 37844;\n    readonly COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR: 37845;\n    readonly COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR: 37846;\n    readonly COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR: 37847;\n    readonly COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR: 37848;\n    readonly COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR: 37849;\n    readonly COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR: 37850;\n    readonly COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR: 37851;\n    readonly COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR: 37852;\n    readonly COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR: 37853;\n}\ninterface WEBGL_compressed_texture_etc {\n    readonly COMPRESSED_R11_EAC: 37488;\n    readonly COMPRESSED_SIGNED_R11_EAC: 37489;\n    readonly COMPRESSED_RG11_EAC: 37490;\n    readonly COMPRESSED_SIGNED_RG11_EAC: 37491;\n    readonly COMPRESSED_RGB8_ETC2: 37492;\n    readonly COMPRESSED_SRGB8_ETC2: 37493;\n    readonly COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2: 37494;\n    readonly COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2: 37495;\n    readonly COMPRESSED_RGBA8_ETC2_EAC: 37496;\n    readonly COMPRESSED_SRGB8_ALPHA8_ETC2_EAC: 37497;\n}\ninterface WEBGL_compressed_texture_etc1 {\n    readonly COMPRESSED_RGB_ETC1_WEBGL: 36196;\n}\ninterface WEBGL_compressed_texture_pvrtc {\n    readonly COMPRESSED_RGB_PVRTC_4BPPV1_IMG: 35840;\n    readonly COMPRESSED_RGB_PVRTC_2BPPV1_IMG: 35841;\n    readonly COMPRESSED_RGBA_PVRTC_4BPPV1_IMG: 35842;\n    readonly COMPRESSED_RGBA_PVRTC_2BPPV1_IMG: 35843;\n}\ninterface WEBGL_compressed_texture_s3tc {\n    readonly COMPRESSED_RGB_S3TC_DXT1_EXT: 33776;\n    readonly COMPRESSED_RGBA_S3TC_DXT1_EXT: 33777;\n    readonly COMPRESSED_RGBA_S3TC_DXT3_EXT: 33778;\n    readonly COMPRESSED_RGBA_S3TC_DXT5_EXT: 33779;\n}\ninterface WEBGL_compressed_texture_s3tc_srgb {\n    readonly COMPRESSED_SRGB_S3TC_DXT1_EXT: 35916;\n    readonly COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT: 35917;\n    readonly COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT: 35918;\n    readonly COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT: 35919;\n}\ninterface WEBGL_debug_renderer_info {\n    readonly UNMASKED_VENDOR_WEBGL: 37445;\n    readonly UNMASKED_RENDERER_WEBGL: 37446;\n}\ninterface WEBGL_debug_shaders {\n    getTranslatedShaderSource(shader: WebGLShader): string;\n}\ninterface WEBGL_depth_texture {\n    readonly UNSIGNED_INT_24_8_WEBGL: 34042;\n}\ninterface WEBGL_draw_buffers {\n    drawBuffersWEBGL(buffers: GLenum[]): void;\n    readonly COLOR_ATTACHMENT0_WEBGL: 36064;\n    readonly COLOR_ATTACHMENT1_WEBGL: 36065;\n    readonly COLOR_ATTACHMENT2_WEBGL: 36066;\n    readonly COLOR_ATTACHMENT3_WEBGL: 36067;\n    readonly COLOR_ATTACHMENT4_WEBGL: 36068;\n    readonly COLOR_ATTACHMENT5_WEBGL: 36069;\n    readonly COLOR_ATTACHMENT6_WEBGL: 36070;\n    readonly COLOR_ATTACHMENT7_WEBGL: 36071;\n    readonly COLOR_ATTACHMENT8_WEBGL: 36072;\n    readonly COLOR_ATTACHMENT9_WEBGL: 36073;\n    readonly COLOR_ATTACHMENT10_WEBGL: 36074;\n    readonly COLOR_ATTACHMENT11_WEBGL: 36075;\n    readonly COLOR_ATTACHMENT12_WEBGL: 36076;\n    readonly COLOR_ATTACHMENT13_WEBGL: 36077;\n    readonly COLOR_ATTACHMENT14_WEBGL: 36078;\n    readonly COLOR_ATTACHMENT15_WEBGL: 36079;\n    readonly DRAW_BUFFER0_WEBGL: 34853;\n    readonly DRAW_BUFFER1_WEBGL: 34854;\n    readonly DRAW_BUFFER2_WEBGL: 34855;\n    readonly DRAW_BUFFER3_WEBGL: 34856;\n    readonly DRAW_BUFFER4_WEBGL: 34857;\n    readonly DRAW_BUFFER5_WEBGL: 34858;\n    readonly DRAW_BUFFER6_WEBGL: 34859;\n    readonly DRAW_BUFFER7_WEBGL: 34860;\n    readonly DRAW_BUFFER8_WEBGL: 34861;\n    readonly DRAW_BUFFER9_WEBGL: 34862;\n    readonly DRAW_BUFFER10_WEBGL: 34863;\n    readonly DRAW_BUFFER11_WEBGL: 34864;\n    readonly DRAW_BUFFER12_WEBGL: 34865;\n    readonly DRAW_BUFFER13_WEBGL: 34866;\n    readonly DRAW_BUFFER14_WEBGL: 34867;\n    readonly DRAW_BUFFER15_WEBGL: 34868;\n    readonly MAX_COLOR_ATTACHMENTS_WEBGL: 36063;\n    readonly MAX_DRAW_BUFFERS_WEBGL: 34852;\n}\ninterface WEBGL_lose_context {\n    loseContext(): void;\n    restoreContext(): void;\n}\ninterface WEBGL_multi_draw {\n    multiDrawArraysInstancedWEBGL(mode: GLenum, firstsList: Int32Array<ArrayBufferLike> | GLint[], firstsOffset: number, countsList: Int32Array<ArrayBufferLike> | GLsizei[], countsOffset: number, instanceCountsList: Int32Array<ArrayBufferLike> | GLsizei[], instanceCountsOffset: number, drawcount: GLsizei): void;\n    multiDrawArraysWEBGL(mode: GLenum, firstsList: Int32Array<ArrayBufferLike> | GLint[], firstsOffset: number, countsList: Int32Array<ArrayBufferLike> | GLsizei[], countsOffset: number, drawcount: GLsizei): void;\n    multiDrawElementsInstancedWEBGL(mode: GLenum, countsList: Int32Array<ArrayBufferLike> | GLsizei[], countsOffset: number, type: GLenum, offsetsList: Int32Array<ArrayBufferLike> | GLsizei[], offsetsOffset: number, instanceCountsList: Int32Array<ArrayBufferLike> | GLsizei[], instanceCountsOffset: number, drawcount: GLsizei): void;\n    multiDrawElementsWEBGL(mode: GLenum, countsList: Int32Array<ArrayBufferLike> | GLsizei[], countsOffset: number, type: GLenum, offsetsList: Int32Array<ArrayBufferLike> | GLsizei[], offsetsOffset: number, drawcount: GLsizei): void;\n}\ninterface WGSLLanguageFeatures {\n    forEach(callbackfn: (value: string, key: string, parent: WGSLLanguageFeatures) => void, thisArg?: any): void;\n}\ndeclare var WGSLLanguageFeatures: {\n    prototype: WGSLLanguageFeatures;\n    new (): WGSLLanguageFeatures;\n};\ninterface WebGL2RenderingContext extends WebGL2RenderingContextBase, WebGL2RenderingContextOverloads, WebGLRenderingContextBase {\n}\ndeclare var WebGL2RenderingContext: {\n    prototype: WebGL2RenderingContext;\n    new (): WebGL2RenderingContext;\n    readonly READ_BUFFER: 3074;\n    readonly UNPACK_ROW_LENGTH: 3314;\n    readonly UNPACK_SKIP_ROWS: 3315;\n    readonly UNPACK_SKIP_PIXELS: 3316;\n    readonly PACK_ROW_LENGTH: 3330;\n    readonly PACK_SKIP_ROWS: 3331;\n    readonly PACK_SKIP_PIXELS: 3332;\n    readonly COLOR: 6144;\n    readonly DEPTH: 6145;\n    readonly STENCIL: 6146;\n    readonly RED: 6403;\n    readonly RGB8: 32849;\n    readonly RGB10_A2: 32857;\n    readonly TEXTURE_BINDING_3D: 32874;\n    readonly UNPACK_SKIP_IMAGES: 32877;\n    readonly UNPACK_IMAGE_HEIGHT: 32878;\n    readonly TEXTURE_3D: 32879;\n    readonly TEXTURE_WRAP_R: 32882;\n    readonly MAX_3D_TEXTURE_SIZE: 32883;\n    readonly UNSIGNED_INT_2_10_10_10_REV: 33640;\n    readonly MAX_ELEMENTS_VERTICES: 33000;\n    readonly MAX_ELEMENTS_INDICES: 33001;\n    readonly TEXTURE_MIN_LOD: 33082;\n    readonly TEXTURE_MAX_LOD: 33083;\n    readonly TEXTURE_BASE_LEVEL: 33084;\n    readonly TEXTURE_MAX_LEVEL: 33085;\n    readonly MIN: 32775;\n    readonly MAX: 32776;\n    readonly DEPTH_COMPONENT24: 33190;\n    readonly MAX_TEXTURE_LOD_BIAS: 34045;\n    readonly TEXTURE_COMPARE_MODE: 34892;\n    readonly TEXTURE_COMPARE_FUNC: 34893;\n    readonly CURRENT_QUERY: 34917;\n    readonly QUERY_RESULT: 34918;\n    readonly QUERY_RESULT_AVAILABLE: 34919;\n    readonly STREAM_READ: 35041;\n    readonly STREAM_COPY: 35042;\n    readonly STATIC_READ: 35045;\n    readonly STATIC_COPY: 35046;\n    readonly DYNAMIC_READ: 35049;\n    readonly DYNAMIC_COPY: 35050;\n    readonly MAX_DRAW_BUFFERS: 34852;\n    readonly DRAW_BUFFER0: 34853;\n    readonly DRAW_BUFFER1: 34854;\n    readonly DRAW_BUFFER2: 34855;\n    readonly DRAW_BUFFER3: 34856;\n    readonly DRAW_BUFFER4: 34857;\n    readonly DRAW_BUFFER5: 34858;\n    readonly DRAW_BUFFER6: 34859;\n    readonly DRAW_BUFFER7: 34860;\n    readonly DRAW_BUFFER8: 34861;\n    readonly DRAW_BUFFER9: 34862;\n    readonly DRAW_BUFFER10: 34863;\n    readonly DRAW_BUFFER11: 34864;\n    readonly DRAW_BUFFER12: 34865;\n    readonly DRAW_BUFFER13: 34866;\n    readonly DRAW_BUFFER14: 34867;\n    readonly DRAW_BUFFER15: 34868;\n    readonly MAX_FRAGMENT_UNIFORM_COMPONENTS: 35657;\n    readonly MAX_VERTEX_UNIFORM_COMPONENTS: 35658;\n    readonly SAMPLER_3D: 35679;\n    readonly SAMPLER_2D_SHADOW: 35682;\n    readonly FRAGMENT_SHADER_DERIVATIVE_HINT: 35723;\n    readonly PIXEL_PACK_BUFFER: 35051;\n    readonly PIXEL_UNPACK_BUFFER: 35052;\n    readonly PIXEL_PACK_BUFFER_BINDING: 35053;\n    readonly PIXEL_UNPACK_BUFFER_BINDING: 35055;\n    readonly FLOAT_MAT2x3: 35685;\n    readonly FLOAT_MAT2x4: 35686;\n    readonly FLOAT_MAT3x2: 35687;\n    readonly FLOAT_MAT3x4: 35688;\n    readonly FLOAT_MAT4x2: 35689;\n    readonly FLOAT_MAT4x3: 35690;\n    readonly SRGB: 35904;\n    readonly SRGB8: 35905;\n    readonly SRGB8_ALPHA8: 35907;\n    readonly COMPARE_REF_TO_TEXTURE: 34894;\n    readonly RGBA32F: 34836;\n    readonly RGB32F: 34837;\n    readonly RGBA16F: 34842;\n    readonly RGB16F: 34843;\n    readonly VERTEX_ATTRIB_ARRAY_INTEGER: 35069;\n    readonly MAX_ARRAY_TEXTURE_LAYERS: 35071;\n    readonly MIN_PROGRAM_TEXEL_OFFSET: 35076;\n    readonly MAX_PROGRAM_TEXEL_OFFSET: 35077;\n    readonly MAX_VARYING_COMPONENTS: 35659;\n    readonly TEXTURE_2D_ARRAY: 35866;\n    readonly TEXTURE_BINDING_2D_ARRAY: 35869;\n    readonly R11F_G11F_B10F: 35898;\n    readonly UNSIGNED_INT_10F_11F_11F_REV: 35899;\n    readonly RGB9_E5: 35901;\n    readonly UNSIGNED_INT_5_9_9_9_REV: 35902;\n    readonly TRANSFORM_FEEDBACK_BUFFER_MODE: 35967;\n    readonly MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS: 35968;\n    readonly TRANSFORM_FEEDBACK_VARYINGS: 35971;\n    readonly TRANSFORM_FEEDBACK_BUFFER_START: 35972;\n    readonly TRANSFORM_FEEDBACK_BUFFER_SIZE: 35973;\n    readonly TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN: 35976;\n    readonly RASTERIZER_DISCARD: 35977;\n    readonly MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS: 35978;\n    readonly MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS: 35979;\n    readonly INTERLEAVED_ATTRIBS: 35980;\n    readonly SEPARATE_ATTRIBS: 35981;\n    readonly TRANSFORM_FEEDBACK_BUFFER: 35982;\n    readonly TRANSFORM_FEEDBACK_BUFFER_BINDING: 35983;\n    readonly RGBA32UI: 36208;\n    readonly RGB32UI: 36209;\n    readonly RGBA16UI: 36214;\n    readonly RGB16UI: 36215;\n    readonly RGBA8UI: 36220;\n    readonly RGB8UI: 36221;\n    readonly RGBA32I: 36226;\n    readonly RGB32I: 36227;\n    readonly RGBA16I: 36232;\n    readonly RGB16I: 36233;\n    readonly RGBA8I: 36238;\n    readonly RGB8I: 36239;\n    readonly RED_INTEGER: 36244;\n    readonly RGB_INTEGER: 36248;\n    readonly RGBA_INTEGER: 36249;\n    readonly SAMPLER_2D_ARRAY: 36289;\n    readonly SAMPLER_2D_ARRAY_SHADOW: 36292;\n    readonly SAMPLER_CUBE_SHADOW: 36293;\n    readonly UNSIGNED_INT_VEC2: 36294;\n    readonly UNSIGNED_INT_VEC3: 36295;\n    readonly UNSIGNED_INT_VEC4: 36296;\n    readonly INT_SAMPLER_2D: 36298;\n    readonly INT_SAMPLER_3D: 36299;\n    readonly INT_SAMPLER_CUBE: 36300;\n    readonly INT_SAMPLER_2D_ARRAY: 36303;\n    readonly UNSIGNED_INT_SAMPLER_2D: 36306;\n    readonly UNSIGNED_INT_SAMPLER_3D: 36307;\n    readonly UNSIGNED_INT_SAMPLER_CUBE: 36308;\n    readonly UNSIGNED_INT_SAMPLER_2D_ARRAY: 36311;\n    readonly DEPTH_COMPONENT32F: 36012;\n    readonly DEPTH32F_STENCIL8: 36013;\n    readonly FLOAT_32_UNSIGNED_INT_24_8_REV: 36269;\n    readonly FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING: 33296;\n    readonly FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE: 33297;\n    readonly FRAMEBUFFER_ATTACHMENT_RED_SIZE: 33298;\n    readonly FRAMEBUFFER_ATTACHMENT_GREEN_SIZE: 33299;\n    readonly FRAMEBUFFER_ATTACHMENT_BLUE_SIZE: 33300;\n    readonly FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE: 33301;\n    readonly FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE: 33302;\n    readonly FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE: 33303;\n    readonly FRAMEBUFFER_DEFAULT: 33304;\n    readonly UNSIGNED_INT_24_8: 34042;\n    readonly DEPTH24_STENCIL8: 35056;\n    readonly UNSIGNED_NORMALIZED: 35863;\n    readonly DRAW_FRAMEBUFFER_BINDING: 36006;\n    readonly READ_FRAMEBUFFER: 36008;\n    readonly DRAW_FRAMEBUFFER: 36009;\n    readonly READ_FRAMEBUFFER_BINDING: 36010;\n    readonly RENDERBUFFER_SAMPLES: 36011;\n    readonly FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER: 36052;\n    readonly MAX_COLOR_ATTACHMENTS: 36063;\n    readonly COLOR_ATTACHMENT1: 36065;\n    readonly COLOR_ATTACHMENT2: 36066;\n    readonly COLOR_ATTACHMENT3: 36067;\n    readonly COLOR_ATTACHMENT4: 36068;\n    readonly COLOR_ATTACHMENT5: 36069;\n    readonly COLOR_ATTACHMENT6: 36070;\n    readonly COLOR_ATTACHMENT7: 36071;\n    readonly COLOR_ATTACHMENT8: 36072;\n    readonly COLOR_ATTACHMENT9: 36073;\n    readonly COLOR_ATTACHMENT10: 36074;\n    readonly COLOR_ATTACHMENT11: 36075;\n    readonly COLOR_ATTACHMENT12: 36076;\n    readonly COLOR_ATTACHMENT13: 36077;\n    readonly COLOR_ATTACHMENT14: 36078;\n    readonly COLOR_ATTACHMENT15: 36079;\n    readonly FRAMEBUFFER_INCOMPLETE_MULTISAMPLE: 36182;\n    readonly MAX_SAMPLES: 36183;\n    readonly HALF_FLOAT: 5131;\n    readonly RG: 33319;\n    readonly RG_INTEGER: 33320;\n    readonly R8: 33321;\n    readonly RG8: 33323;\n    readonly R16F: 33325;\n    readonly R32F: 33326;\n    readonly RG16F: 33327;\n    readonly RG32F: 33328;\n    readonly R8I: 33329;\n    readonly R8UI: 33330;\n    readonly R16I: 33331;\n    readonly R16UI: 33332;\n    readonly R32I: 33333;\n    readonly R32UI: 33334;\n    readonly RG8I: 33335;\n    readonly RG8UI: 33336;\n    readonly RG16I: 33337;\n    readonly RG16UI: 33338;\n    readonly RG32I: 33339;\n    readonly RG32UI: 33340;\n    readonly VERTEX_ARRAY_BINDING: 34229;\n    readonly R8_SNORM: 36756;\n    readonly RG8_SNORM: 36757;\n    readonly RGB8_SNORM: 36758;\n    readonly RGBA8_SNORM: 36759;\n    readonly SIGNED_NORMALIZED: 36764;\n    readonly COPY_READ_BUFFER: 36662;\n    readonly COPY_WRITE_BUFFER: 36663;\n    readonly COPY_READ_BUFFER_BINDING: 36662;\n    readonly COPY_WRITE_BUFFER_BINDING: 36663;\n    readonly UNIFORM_BUFFER: 35345;\n    readonly UNIFORM_BUFFER_BINDING: 35368;\n    readonly UNIFORM_BUFFER_START: 35369;\n    readonly UNIFORM_BUFFER_SIZE: 35370;\n    readonly MAX_VERTEX_UNIFORM_BLOCKS: 35371;\n    readonly MAX_FRAGMENT_UNIFORM_BLOCKS: 35373;\n    readonly MAX_COMBINED_UNIFORM_BLOCKS: 35374;\n    readonly MAX_UNIFORM_BUFFER_BINDINGS: 35375;\n    readonly MAX_UNIFORM_BLOCK_SIZE: 35376;\n    readonly MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS: 35377;\n    readonly MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS: 35379;\n    readonly UNIFORM_BUFFER_OFFSET_ALIGNMENT: 35380;\n    readonly ACTIVE_UNIFORM_BLOCKS: 35382;\n    readonly UNIFORM_TYPE: 35383;\n    readonly UNIFORM_SIZE: 35384;\n    readonly UNIFORM_BLOCK_INDEX: 35386;\n    readonly UNIFORM_OFFSET: 35387;\n    readonly UNIFORM_ARRAY_STRIDE: 35388;\n    readonly UNIFORM_MATRIX_STRIDE: 35389;\n    readonly UNIFORM_IS_ROW_MAJOR: 35390;\n    readonly UNIFORM_BLOCK_BINDING: 35391;\n    readonly UNIFORM_BLOCK_DATA_SIZE: 35392;\n    readonly UNIFORM_BLOCK_ACTIVE_UNIFORMS: 35394;\n    readonly UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES: 35395;\n    readonly UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER: 35396;\n    readonly UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER: 35398;\n    readonly INVALID_INDEX: 4294967295;\n    readonly MAX_VERTEX_OUTPUT_COMPONENTS: 37154;\n    readonly MAX_FRAGMENT_INPUT_COMPONENTS: 37157;\n    readonly MAX_SERVER_WAIT_TIMEOUT: 37137;\n    readonly OBJECT_TYPE: 37138;\n    readonly SYNC_CONDITION: 37139;\n    readonly SYNC_STATUS: 37140;\n    readonly SYNC_FLAGS: 37141;\n    readonly SYNC_FENCE: 37142;\n    readonly SYNC_GPU_COMMANDS_COMPLETE: 37143;\n    readonly UNSIGNALED: 37144;\n    readonly SIGNALED: 37145;\n    readonly ALREADY_SIGNALED: 37146;\n    readonly TIMEOUT_EXPIRED: 37147;\n    readonly CONDITION_SATISFIED: 37148;\n    readonly WAIT_FAILED: 37149;\n    readonly SYNC_FLUSH_COMMANDS_BIT: 1;\n    readonly VERTEX_ATTRIB_ARRAY_DIVISOR: 35070;\n    readonly ANY_SAMPLES_PASSED: 35887;\n    readonly ANY_SAMPLES_PASSED_CONSERVATIVE: 36202;\n    readonly SAMPLER_BINDING: 35097;\n    readonly RGB10_A2UI: 36975;\n    readonly INT_2_10_10_10_REV: 36255;\n    readonly TRANSFORM_FEEDBACK: 36386;\n    readonly TRANSFORM_FEEDBACK_PAUSED: 36387;\n    readonly TRANSFORM_FEEDBACK_ACTIVE: 36388;\n    readonly TRANSFORM_FEEDBACK_BINDING: 36389;\n    readonly TEXTURE_IMMUTABLE_FORMAT: 37167;\n    readonly MAX_ELEMENT_INDEX: 36203;\n    readonly TEXTURE_IMMUTABLE_LEVELS: 33503;\n    readonly TIMEOUT_IGNORED: -1;\n    readonly MAX_CLIENT_WAIT_TIMEOUT_WEBGL: 37447;\n    readonly DEPTH_BUFFER_BIT: 256;\n    readonly STENCIL_BUFFER_BIT: 1024;\n    readonly COLOR_BUFFER_BIT: 16384;\n    readonly POINTS: 0;\n    readonly LINES: 1;\n    readonly LINE_LOOP: 2;\n    readonly LINE_STRIP: 3;\n    readonly TRIANGLES: 4;\n    readonly TRIANGLE_STRIP: 5;\n    readonly TRIANGLE_FAN: 6;\n    readonly ZERO: 0;\n    readonly ONE: 1;\n    readonly SRC_COLOR: 768;\n    readonly ONE_MINUS_SRC_COLOR: 769;\n    readonly SRC_ALPHA: 770;\n    readonly ONE_MINUS_SRC_ALPHA: 771;\n    readonly DST_ALPHA: 772;\n    readonly ONE_MINUS_DST_ALPHA: 773;\n    readonly DST_COLOR: 774;\n    readonly ONE_MINUS_DST_COLOR: 775;\n    readonly SRC_ALPHA_SATURATE: 776;\n    readonly FUNC_ADD: 32774;\n    readonly BLEND_EQUATION: 32777;\n    readonly BLEND_EQUATION_RGB: 32777;\n    readonly BLEND_EQUATION_ALPHA: 34877;\n    readonly FUNC_SUBTRACT: 32778;\n    readonly FUNC_REVERSE_SUBTRACT: 32779;\n    readonly BLEND_DST_RGB: 32968;\n    readonly BLEND_SRC_RGB: 32969;\n    readonly BLEND_DST_ALPHA: 32970;\n    readonly BLEND_SRC_ALPHA: 32971;\n    readonly CONSTANT_COLOR: 32769;\n    readonly ONE_MINUS_CONSTANT_COLOR: 32770;\n    readonly CONSTANT_ALPHA: 32771;\n    readonly ONE_MINUS_CONSTANT_ALPHA: 32772;\n    readonly BLEND_COLOR: 32773;\n    readonly ARRAY_BUFFER: 34962;\n    readonly ELEMENT_ARRAY_BUFFER: 34963;\n    readonly ARRAY_BUFFER_BINDING: 34964;\n    readonly ELEMENT_ARRAY_BUFFER_BINDING: 34965;\n    readonly STREAM_DRAW: 35040;\n    readonly STATIC_DRAW: 35044;\n    readonly DYNAMIC_DRAW: 35048;\n    readonly BUFFER_SIZE: 34660;\n    readonly BUFFER_USAGE: 34661;\n    readonly CURRENT_VERTEX_ATTRIB: 34342;\n    readonly FRONT: 1028;\n    readonly BACK: 1029;\n    readonly FRONT_AND_BACK: 1032;\n    readonly CULL_FACE: 2884;\n    readonly BLEND: 3042;\n    readonly DITHER: 3024;\n    readonly STENCIL_TEST: 2960;\n    readonly DEPTH_TEST: 2929;\n    readonly SCISSOR_TEST: 3089;\n    readonly POLYGON_OFFSET_FILL: 32823;\n    readonly SAMPLE_ALPHA_TO_COVERAGE: 32926;\n    readonly SAMPLE_COVERAGE: 32928;\n    readonly NO_ERROR: 0;\n    readonly INVALID_ENUM: 1280;\n    readonly INVALID_VALUE: 1281;\n    readonly INVALID_OPERATION: 1282;\n    readonly OUT_OF_MEMORY: 1285;\n    readonly CW: 2304;\n    readonly CCW: 2305;\n    readonly LINE_WIDTH: 2849;\n    readonly ALIASED_POINT_SIZE_RANGE: 33901;\n    readonly ALIASED_LINE_WIDTH_RANGE: 33902;\n    readonly CULL_FACE_MODE: 2885;\n    readonly FRONT_FACE: 2886;\n    readonly DEPTH_RANGE: 2928;\n    readonly DEPTH_WRITEMASK: 2930;\n    readonly DEPTH_CLEAR_VALUE: 2931;\n    readonly DEPTH_FUNC: 2932;\n    readonly STENCIL_CLEAR_VALUE: 2961;\n    readonly STENCIL_FUNC: 2962;\n    readonly STENCIL_FAIL: 2964;\n    readonly STENCIL_PASS_DEPTH_FAIL: 2965;\n    readonly STENCIL_PASS_DEPTH_PASS: 2966;\n    readonly STENCIL_REF: 2967;\n    readonly STENCIL_VALUE_MASK: 2963;\n    readonly STENCIL_WRITEMASK: 2968;\n    readonly STENCIL_BACK_FUNC: 34816;\n    readonly STENCIL_BACK_FAIL: 34817;\n    readonly STENCIL_BACK_PASS_DEPTH_FAIL: 34818;\n    readonly STENCIL_BACK_PASS_DEPTH_PASS: 34819;\n    readonly STENCIL_BACK_REF: 36003;\n    readonly STENCIL_BACK_VALUE_MASK: 36004;\n    readonly STENCIL_BACK_WRITEMASK: 36005;\n    readonly VIEWPORT: 2978;\n    readonly SCISSOR_BOX: 3088;\n    readonly COLOR_CLEAR_VALUE: 3106;\n    readonly COLOR_WRITEMASK: 3107;\n    readonly UNPACK_ALIGNMENT: 3317;\n    readonly PACK_ALIGNMENT: 3333;\n    readonly MAX_TEXTURE_SIZE: 3379;\n    readonly MAX_VIEWPORT_DIMS: 3386;\n    readonly SUBPIXEL_BITS: 3408;\n    readonly RED_BITS: 3410;\n    readonly GREEN_BITS: 3411;\n    readonly BLUE_BITS: 3412;\n    readonly ALPHA_BITS: 3413;\n    readonly DEPTH_BITS: 3414;\n    readonly STENCIL_BITS: 3415;\n    readonly POLYGON_OFFSET_UNITS: 10752;\n    readonly POLYGON_OFFSET_FACTOR: 32824;\n    readonly TEXTURE_BINDING_2D: 32873;\n    readonly SAMPLE_BUFFERS: 32936;\n    readonly SAMPLES: 32937;\n    readonly SAMPLE_COVERAGE_VALUE: 32938;\n    readonly SAMPLE_COVERAGE_INVERT: 32939;\n    readonly COMPRESSED_TEXTURE_FORMATS: 34467;\n    readonly DONT_CARE: 4352;\n    readonly FASTEST: 4353;\n    readonly NICEST: 4354;\n    readonly GENERATE_MIPMAP_HINT: 33170;\n    readonly BYTE: 5120;\n    readonly UNSIGNED_BYTE: 5121;\n    readonly SHORT: 5122;\n    readonly UNSIGNED_SHORT: 5123;\n    readonly INT: 5124;\n    readonly UNSIGNED_INT: 5125;\n    readonly FLOAT: 5126;\n    readonly DEPTH_COMPONENT: 6402;\n    readonly ALPHA: 6406;\n    readonly RGB: 6407;\n    readonly RGBA: 6408;\n    readonly LUMINANCE: 6409;\n    readonly LUMINANCE_ALPHA: 6410;\n    readonly UNSIGNED_SHORT_4_4_4_4: 32819;\n    readonly UNSIGNED_SHORT_5_5_5_1: 32820;\n    readonly UNSIGNED_SHORT_5_6_5: 33635;\n    readonly FRAGMENT_SHADER: 35632;\n    readonly VERTEX_SHADER: 35633;\n    readonly MAX_VERTEX_ATTRIBS: 34921;\n    readonly MAX_VERTEX_UNIFORM_VECTORS: 36347;\n    readonly MAX_VARYING_VECTORS: 36348;\n    readonly MAX_COMBINED_TEXTURE_IMAGE_UNITS: 35661;\n    readonly MAX_VERTEX_TEXTURE_IMAGE_UNITS: 35660;\n    readonly MAX_TEXTURE_IMAGE_UNITS: 34930;\n    readonly MAX_FRAGMENT_UNIFORM_VECTORS: 36349;\n    readonly SHADER_TYPE: 35663;\n    readonly DELETE_STATUS: 35712;\n    readonly LINK_STATUS: 35714;\n    readonly VALIDATE_STATUS: 35715;\n    readonly ATTACHED_SHADERS: 35717;\n    readonly ACTIVE_UNIFORMS: 35718;\n    readonly ACTIVE_ATTRIBUTES: 35721;\n    readonly SHADING_LANGUAGE_VERSION: 35724;\n    readonly CURRENT_PROGRAM: 35725;\n    readonly NEVER: 512;\n    readonly LESS: 513;\n    readonly EQUAL: 514;\n    readonly LEQUAL: 515;\n    readonly GREATER: 516;\n    readonly NOTEQUAL: 517;\n    readonly GEQUAL: 518;\n    readonly ALWAYS: 519;\n    readonly KEEP: 7680;\n    readonly REPLACE: 7681;\n    readonly INCR: 7682;\n    readonly DECR: 7683;\n    readonly INVERT: 5386;\n    readonly INCR_WRAP: 34055;\n    readonly DECR_WRAP: 34056;\n    readonly VENDOR: 7936;\n    readonly RENDERER: 7937;\n    readonly VERSION: 7938;\n    readonly NEAREST: 9728;\n    readonly LINEAR: 9729;\n    readonly NEAREST_MIPMAP_NEAREST: 9984;\n    readonly LINEAR_MIPMAP_NEAREST: 9985;\n    readonly NEAREST_MIPMAP_LINEAR: 9986;\n    readonly LINEAR_MIPMAP_LINEAR: 9987;\n    readonly TEXTURE_MAG_FILTER: 10240;\n    readonly TEXTURE_MIN_FILTER: 10241;\n    readonly TEXTURE_WRAP_S: 10242;\n    readonly TEXTURE_WRAP_T: 10243;\n    readonly TEXTURE_2D: 3553;\n    readonly TEXTURE: 5890;\n    readonly TEXTURE_CUBE_MAP: 34067;\n    readonly TEXTURE_BINDING_CUBE_MAP: 34068;\n    readonly TEXTURE_CUBE_MAP_POSITIVE_X: 34069;\n    readonly TEXTURE_CUBE_MAP_NEGATIVE_X: 34070;\n    readonly TEXTURE_CUBE_MAP_POSITIVE_Y: 34071;\n    readonly TEXTURE_CUBE_MAP_NEGATIVE_Y: 34072;\n    readonly TEXTURE_CUBE_MAP_POSITIVE_Z: 34073;\n    readonly TEXTURE_CUBE_MAP_NEGATIVE_Z: 34074;\n    readonly MAX_CUBE_MAP_TEXTURE_SIZE: 34076;\n    readonly TEXTURE0: 33984;\n    readonly TEXTURE1: 33985;\n    readonly TEXTURE2: 33986;\n    readonly TEXTURE3: 33987;\n    readonly TEXTURE4: 33988;\n    readonly TEXTURE5: 33989;\n    readonly TEXTURE6: 33990;\n    readonly TEXTURE7: 33991;\n    readonly TEXTURE8: 33992;\n    readonly TEXTURE9: 33993;\n    readonly TEXTURE10: 33994;\n    readonly TEXTURE11: 33995;\n    readonly TEXTURE12: 33996;\n    readonly TEXTURE13: 33997;\n    readonly TEXTURE14: 33998;\n    readonly TEXTURE15: 33999;\n    readonly TEXTURE16: 34000;\n    readonly TEXTURE17: 34001;\n    readonly TEXTURE18: 34002;\n    readonly TEXTURE19: 34003;\n    readonly TEXTURE20: 34004;\n    readonly TEXTURE21: 34005;\n    readonly TEXTURE22: 34006;\n    readonly TEXTURE23: 34007;\n    readonly TEXTURE24: 34008;\n    readonly TEXTURE25: 34009;\n    readonly TEXTURE26: 34010;\n    readonly TEXTURE27: 34011;\n    readonly TEXTURE28: 34012;\n    readonly TEXTURE29: 34013;\n    readonly TEXTURE30: 34014;\n    readonly TEXTURE31: 34015;\n    readonly ACTIVE_TEXTURE: 34016;\n    readonly REPEAT: 10497;\n    readonly CLAMP_TO_EDGE: 33071;\n    readonly MIRRORED_REPEAT: 33648;\n    readonly FLOAT_VEC2: 35664;\n    readonly FLOAT_VEC3: 35665;\n    readonly FLOAT_VEC4: 35666;\n    readonly INT_VEC2: 35667;\n    readonly INT_VEC3: 35668;\n    readonly INT_VEC4: 35669;\n    readonly BOOL: 35670;\n    readonly BOOL_VEC2: 35671;\n    readonly BOOL_VEC3: 35672;\n    readonly BOOL_VEC4: 35673;\n    readonly FLOAT_MAT2: 35674;\n    readonly FLOAT_MAT3: 35675;\n    readonly FLOAT_MAT4: 35676;\n    readonly SAMPLER_2D: 35678;\n    readonly SAMPLER_CUBE: 35680;\n    readonly VERTEX_ATTRIB_ARRAY_ENABLED: 34338;\n    readonly VERTEX_ATTRIB_ARRAY_SIZE: 34339;\n    readonly VERTEX_ATTRIB_ARRAY_STRIDE: 34340;\n    readonly VERTEX_ATTRIB_ARRAY_TYPE: 34341;\n    readonly VERTEX_ATTRIB_ARRAY_NORMALIZED: 34922;\n    readonly VERTEX_ATTRIB_ARRAY_POINTER: 34373;\n    readonly VERTEX_ATTRIB_ARRAY_BUFFER_BINDING: 34975;\n    readonly IMPLEMENTATION_COLOR_READ_TYPE: 35738;\n    readonly IMPLEMENTATION_COLOR_READ_FORMAT: 35739;\n    readonly COMPILE_STATUS: 35713;\n    readonly LOW_FLOAT: 36336;\n    readonly MEDIUM_FLOAT: 36337;\n    readonly HIGH_FLOAT: 36338;\n    readonly LOW_INT: 36339;\n    readonly MEDIUM_INT: 36340;\n    readonly HIGH_INT: 36341;\n    readonly FRAMEBUFFER: 36160;\n    readonly RENDERBUFFER: 36161;\n    readonly RGBA4: 32854;\n    readonly RGB5_A1: 32855;\n    readonly RGBA8: 32856;\n    readonly RGB565: 36194;\n    readonly DEPTH_COMPONENT16: 33189;\n    readonly STENCIL_INDEX8: 36168;\n    readonly DEPTH_STENCIL: 34041;\n    readonly RENDERBUFFER_WIDTH: 36162;\n    readonly RENDERBUFFER_HEIGHT: 36163;\n    readonly RENDERBUFFER_INTERNAL_FORMAT: 36164;\n    readonly RENDERBUFFER_RED_SIZE: 36176;\n    readonly RENDERBUFFER_GREEN_SIZE: 36177;\n    readonly RENDERBUFFER_BLUE_SIZE: 36178;\n    readonly RENDERBUFFER_ALPHA_SIZE: 36179;\n    readonly RENDERBUFFER_DEPTH_SIZE: 36180;\n    readonly RENDERBUFFER_STENCIL_SIZE: 36181;\n    readonly FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE: 36048;\n    readonly FRAMEBUFFER_ATTACHMENT_OBJECT_NAME: 36049;\n    readonly FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL: 36050;\n    readonly FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE: 36051;\n    readonly COLOR_ATTACHMENT0: 36064;\n    readonly DEPTH_ATTACHMENT: 36096;\n    readonly STENCIL_ATTACHMENT: 36128;\n    readonly DEPTH_STENCIL_ATTACHMENT: 33306;\n    readonly NONE: 0;\n    readonly FRAMEBUFFER_COMPLETE: 36053;\n    readonly FRAMEBUFFER_INCOMPLETE_ATTACHMENT: 36054;\n    readonly FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT: 36055;\n    readonly FRAMEBUFFER_INCOMPLETE_DIMENSIONS: 36057;\n    readonly FRAMEBUFFER_UNSUPPORTED: 36061;\n    readonly FRAMEBUFFER_BINDING: 36006;\n    readonly RENDERBUFFER_BINDING: 36007;\n    readonly MAX_RENDERBUFFER_SIZE: 34024;\n    readonly INVALID_FRAMEBUFFER_OPERATION: 1286;\n    readonly UNPACK_FLIP_Y_WEBGL: 37440;\n    readonly UNPACK_PREMULTIPLY_ALPHA_WEBGL: 37441;\n    readonly CONTEXT_LOST_WEBGL: 37442;\n    readonly UNPACK_COLORSPACE_CONVERSION_WEBGL: 37443;\n    readonly BROWSER_DEFAULT_WEBGL: 37444;\n};\ninterface WebGL2RenderingContextBase {\n    beginQuery(target: GLenum, query: WebGLQuery): void;\n    beginTransformFeedback(primitiveMode: GLenum): void;\n    bindBufferBase(target: GLenum, index: GLuint, buffer: WebGLBuffer | null): void;\n    bindBufferRange(target: GLenum, index: GLuint, buffer: WebGLBuffer | null, offset: GLintptr, size: GLsizeiptr): void;\n    bindSampler(unit: GLuint, sampler: WebGLSampler | null): void;\n    bindTransformFeedback(target: GLenum, tf: WebGLTransformFeedback | null): void;\n    bindVertexArray(array: WebGLVertexArrayObject | null): void;\n    blitFramebuffer(srcX0: GLint, srcY0: GLint, srcX1: GLint, srcY1: GLint, dstX0: GLint, dstY0: GLint, dstX1: GLint, dstY1: GLint, mask: GLbitfield, filter: GLenum): void;\n    clearBufferfi(buffer: GLenum, drawbuffer: GLint, depth: GLfloat, stencil: GLint): void;\n    clearBufferfv(buffer: GLenum, drawbuffer: GLint, values: Float32List, srcOffset?: number): void;\n    clearBufferiv(buffer: GLenum, drawbuffer: GLint, values: Int32List, srcOffset?: number): void;\n    clearBufferuiv(buffer: GLenum, drawbuffer: GLint, values: Uint32List, srcOffset?: number): void;\n    clientWaitSync(sync: WebGLSync, flags: GLbitfield, timeout: GLuint64): GLenum;\n    compressedTexImage3D(target: GLenum, level: GLint, internalformat: GLenum, width: GLsizei, height: GLsizei, depth: GLsizei, border: GLint, imageSize: GLsizei, offset: GLintptr): void;\n    compressedTexImage3D(target: GLenum, level: GLint, internalformat: GLenum, width: GLsizei, height: GLsizei, depth: GLsizei, border: GLint, srcData: ArrayBufferView<ArrayBufferLike>, srcOffset?: number, srcLengthOverride?: GLuint): void;\n    compressedTexSubImage3D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GLenum, imageSize: GLsizei, offset: GLintptr): void;\n    compressedTexSubImage3D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GLenum, srcData: ArrayBufferView<ArrayBufferLike>, srcOffset?: number, srcLengthOverride?: GLuint): void;\n    copyBufferSubData(readTarget: GLenum, writeTarget: GLenum, readOffset: GLintptr, writeOffset: GLintptr, size: GLsizeiptr): void;\n    copyTexSubImage3D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, x: GLint, y: GLint, width: GLsizei, height: GLsizei): void;\n    createQuery(): WebGLQuery;\n    createSampler(): WebGLSampler;\n    createTransformFeedback(): WebGLTransformFeedback;\n    createVertexArray(): WebGLVertexArrayObject;\n    deleteQuery(query: WebGLQuery | null): void;\n    deleteSampler(sampler: WebGLSampler | null): void;\n    deleteSync(sync: WebGLSync | null): void;\n    deleteTransformFeedback(tf: WebGLTransformFeedback | null): void;\n    deleteVertexArray(vertexArray: WebGLVertexArrayObject | null): void;\n    drawArraysInstanced(mode: GLenum, first: GLint, count: GLsizei, instanceCount: GLsizei): void;\n    drawBuffers(buffers: GLenum[]): void;\n    drawElementsInstanced(mode: GLenum, count: GLsizei, type: GLenum, offset: GLintptr, instanceCount: GLsizei): void;\n    drawRangeElements(mode: GLenum, start: GLuint, end: GLuint, count: GLsizei, type: GLenum, offset: GLintptr): void;\n    endQuery(target: GLenum): void;\n    endTransformFeedback(): void;\n    fenceSync(condition: GLenum, flags: GLbitfield): WebGLSync | null;\n    framebufferTextureLayer(target: GLenum, attachment: GLenum, texture: WebGLTexture | null, level: GLint, layer: GLint): void;\n    getActiveUniformBlockName(program: WebGLProgram, uniformBlockIndex: GLuint): string | null;\n    getActiveUniformBlockParameter(program: WebGLProgram, uniformBlockIndex: GLuint, pname: GLenum): any;\n    getActiveUniforms(program: WebGLProgram, uniformIndices: GLuint[], pname: GLenum): any;\n    getBufferSubData(target: GLenum, srcByteOffset: GLintptr, dstBuffer: ArrayBufferView<ArrayBufferLike>, dstOffset?: number, length?: GLuint): void;\n    getFragDataLocation(program: WebGLProgram, name: string): GLint;\n    getIndexedParameter(target: GLenum, index: GLuint): any;\n    getInternalformatParameter(target: GLenum, internalformat: GLenum, pname: GLenum): any;\n    getQuery(target: GLenum, pname: GLenum): WebGLQuery | null;\n    getQueryParameter(query: WebGLQuery, pname: GLenum): any;\n    getSamplerParameter(sampler: WebGLSampler, pname: GLenum): any;\n    getSyncParameter(sync: WebGLSync, pname: GLenum): any;\n    getTransformFeedbackVarying(program: WebGLProgram, index: GLuint): WebGLActiveInfo | null;\n    getUniformBlockIndex(program: WebGLProgram, uniformBlockName: string): GLuint;\n    getUniformIndices(program: WebGLProgram, uniformNames: string[]): GLuint[] | null;\n    invalidateFramebuffer(target: GLenum, attachments: GLenum[]): void;\n    invalidateSubFramebuffer(target: GLenum, attachments: GLenum[], x: GLint, y: GLint, width: GLsizei, height: GLsizei): void;\n    isQuery(query: WebGLQuery | null): GLboolean;\n    isSampler(sampler: WebGLSampler | null): GLboolean;\n    isSync(sync: WebGLSync | null): GLboolean;\n    isTransformFeedback(tf: WebGLTransformFeedback | null): GLboolean;\n    isVertexArray(vertexArray: WebGLVertexArrayObject | null): GLboolean;\n    pauseTransformFeedback(): void;\n    readBuffer(src: GLenum): void;\n    renderbufferStorageMultisample(target: GLenum, samples: GLsizei, internalformat: GLenum, width: GLsizei, height: GLsizei): void;\n    resumeTransformFeedback(): void;\n    samplerParameterf(sampler: WebGLSampler, pname: GLenum, param: GLfloat): void;\n    samplerParameteri(sampler: WebGLSampler, pname: GLenum, param: GLint): void;\n    texImage3D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, border: GLint, format: GLenum, type: GLenum, pboOffset: GLintptr): void;\n    texImage3D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, border: GLint, format: GLenum, type: GLenum, source: TexImageSource): void;\n    texImage3D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, border: GLint, format: GLenum, type: GLenum, srcData: ArrayBufferView<ArrayBufferLike> | null): void;\n    texImage3D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, border: GLint, format: GLenum, type: GLenum, srcData: ArrayBufferView<ArrayBufferLike>, srcOffset: number): void;\n    texStorage2D(target: GLenum, levels: GLsizei, internalformat: GLenum, width: GLsizei, height: GLsizei): void;\n    texStorage3D(target: GLenum, levels: GLsizei, internalformat: GLenum, width: GLsizei, height: GLsizei, depth: GLsizei): void;\n    texSubImage3D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GLenum, type: GLenum, pboOffset: GLintptr): void;\n    texSubImage3D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GLenum, type: GLenum, source: TexImageSource): void;\n    texSubImage3D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GLenum, type: GLenum, srcData: ArrayBufferView<ArrayBufferLike> | null, srcOffset?: number): void;\n    transformFeedbackVaryings(program: WebGLProgram, varyings: string[], bufferMode: GLenum): void;\n    uniform1ui(location: WebGLUniformLocation | null, v0: GLuint): void;\n    uniform1uiv(location: WebGLUniformLocation | null, data: Uint32List, srcOffset?: number, srcLength?: GLuint): void;\n    uniform2ui(location: WebGLUniformLocation | null, v0: GLuint, v1: GLuint): void;\n    uniform2uiv(location: WebGLUniformLocation | null, data: Uint32List, srcOffset?: number, srcLength?: GLuint): void;\n    uniform3ui(location: WebGLUniformLocation | null, v0: GLuint, v1: GLuint, v2: GLuint): void;\n    uniform3uiv(location: WebGLUniformLocation | null, data: Uint32List, srcOffset?: number, srcLength?: GLuint): void;\n    uniform4ui(location: WebGLUniformLocation | null, v0: GLuint, v1: GLuint, v2: GLuint, v3: GLuint): void;\n    uniform4uiv(location: WebGLUniformLocation | null, data: Uint32List, srcOffset?: number, srcLength?: GLuint): void;\n    uniformBlockBinding(program: WebGLProgram, uniformBlockIndex: GLuint, uniformBlockBinding: GLuint): void;\n    uniformMatrix2x3fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Float32List, srcOffset?: number, srcLength?: GLuint): void;\n    uniformMatrix2x4fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Float32List, srcOffset?: number, srcLength?: GLuint): void;\n    uniformMatrix3x2fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Float32List, srcOffset?: number, srcLength?: GLuint): void;\n    uniformMatrix3x4fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Float32List, srcOffset?: number, srcLength?: GLuint): void;\n    uniformMatrix4x2fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Float32List, srcOffset?: number, srcLength?: GLuint): void;\n    uniformMatrix4x3fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Float32List, srcOffset?: number, srcLength?: GLuint): void;\n    vertexAttribDivisor(index: GLuint, divisor: GLuint): void;\n    vertexAttribI4i(index: GLuint, x: GLint, y: GLint, z: GLint, w: GLint): void;\n    vertexAttribI4iv(index: GLuint, values: Int32List): void;\n    vertexAttribI4ui(index: GLuint, x: GLuint, y: GLuint, z: GLuint, w: GLuint): void;\n    vertexAttribI4uiv(index: GLuint, values: Uint32List): void;\n    vertexAttribIPointer(index: GLuint, size: GLint, type: GLenum, stride: GLsizei, offset: GLintptr): void;\n    waitSync(sync: WebGLSync, flags: GLbitfield, timeout: GLint64): void;\n    readonly READ_BUFFER: 3074;\n    readonly UNPACK_ROW_LENGTH: 3314;\n    readonly UNPACK_SKIP_ROWS: 3315;\n    readonly UNPACK_SKIP_PIXELS: 3316;\n    readonly PACK_ROW_LENGTH: 3330;\n    readonly PACK_SKIP_ROWS: 3331;\n    readonly PACK_SKIP_PIXELS: 3332;\n    readonly COLOR: 6144;\n    readonly DEPTH: 6145;\n    readonly STENCIL: 6146;\n    readonly RED: 6403;\n    readonly RGB8: 32849;\n    readonly RGB10_A2: 32857;\n    readonly TEXTURE_BINDING_3D: 32874;\n    readonly UNPACK_SKIP_IMAGES: 32877;\n    readonly UNPACK_IMAGE_HEIGHT: 32878;\n    readonly TEXTURE_3D: 32879;\n    readonly TEXTURE_WRAP_R: 32882;\n    readonly MAX_3D_TEXTURE_SIZE: 32883;\n    readonly UNSIGNED_INT_2_10_10_10_REV: 33640;\n    readonly MAX_ELEMENTS_VERTICES: 33000;\n    readonly MAX_ELEMENTS_INDICES: 33001;\n    readonly TEXTURE_MIN_LOD: 33082;\n    readonly TEXTURE_MAX_LOD: 33083;\n    readonly TEXTURE_BASE_LEVEL: 33084;\n    readonly TEXTURE_MAX_LEVEL: 33085;\n    readonly MIN: 32775;\n    readonly MAX: 32776;\n    readonly DEPTH_COMPONENT24: 33190;\n    readonly MAX_TEXTURE_LOD_BIAS: 34045;\n    readonly TEXTURE_COMPARE_MODE: 34892;\n    readonly TEXTURE_COMPARE_FUNC: 34893;\n    readonly CURRENT_QUERY: 34917;\n    readonly QUERY_RESULT: 34918;\n    readonly QUERY_RESULT_AVAILABLE: 34919;\n    readonly STREAM_READ: 35041;\n    readonly STREAM_COPY: 35042;\n    readonly STATIC_READ: 35045;\n    readonly STATIC_COPY: 35046;\n    readonly DYNAMIC_READ: 35049;\n    readonly DYNAMIC_COPY: 35050;\n    readonly MAX_DRAW_BUFFERS: 34852;\n    readonly DRAW_BUFFER0: 34853;\n    readonly DRAW_BUFFER1: 34854;\n    readonly DRAW_BUFFER2: 34855;\n    readonly DRAW_BUFFER3: 34856;\n    readonly DRAW_BUFFER4: 34857;\n    readonly DRAW_BUFFER5: 34858;\n    readonly DRAW_BUFFER6: 34859;\n    readonly DRAW_BUFFER7: 34860;\n    readonly DRAW_BUFFER8: 34861;\n    readonly DRAW_BUFFER9: 34862;\n    readonly DRAW_BUFFER10: 34863;\n    readonly DRAW_BUFFER11: 34864;\n    readonly DRAW_BUFFER12: 34865;\n    readonly DRAW_BUFFER13: 34866;\n    readonly DRAW_BUFFER14: 34867;\n    readonly DRAW_BUFFER15: 34868;\n    readonly MAX_FRAGMENT_UNIFORM_COMPONENTS: 35657;\n    readonly MAX_VERTEX_UNIFORM_COMPONENTS: 35658;\n    readonly SAMPLER_3D: 35679;\n    readonly SAMPLER_2D_SHADOW: 35682;\n    readonly FRAGMENT_SHADER_DERIVATIVE_HINT: 35723;\n    readonly PIXEL_PACK_BUFFER: 35051;\n    readonly PIXEL_UNPACK_BUFFER: 35052;\n    readonly PIXEL_PACK_BUFFER_BINDING: 35053;\n    readonly PIXEL_UNPACK_BUFFER_BINDING: 35055;\n    readonly FLOAT_MAT2x3: 35685;\n    readonly FLOAT_MAT2x4: 35686;\n    readonly FLOAT_MAT3x2: 35687;\n    readonly FLOAT_MAT3x4: 35688;\n    readonly FLOAT_MAT4x2: 35689;\n    readonly FLOAT_MAT4x3: 35690;\n    readonly SRGB: 35904;\n    readonly SRGB8: 35905;\n    readonly SRGB8_ALPHA8: 35907;\n    readonly COMPARE_REF_TO_TEXTURE: 34894;\n    readonly RGBA32F: 34836;\n    readonly RGB32F: 34837;\n    readonly RGBA16F: 34842;\n    readonly RGB16F: 34843;\n    readonly VERTEX_ATTRIB_ARRAY_INTEGER: 35069;\n    readonly MAX_ARRAY_TEXTURE_LAYERS: 35071;\n    readonly MIN_PROGRAM_TEXEL_OFFSET: 35076;\n    readonly MAX_PROGRAM_TEXEL_OFFSET: 35077;\n    readonly MAX_VARYING_COMPONENTS: 35659;\n    readonly TEXTURE_2D_ARRAY: 35866;\n    readonly TEXTURE_BINDING_2D_ARRAY: 35869;\n    readonly R11F_G11F_B10F: 35898;\n    readonly UNSIGNED_INT_10F_11F_11F_REV: 35899;\n    readonly RGB9_E5: 35901;\n    readonly UNSIGNED_INT_5_9_9_9_REV: 35902;\n    readonly TRANSFORM_FEEDBACK_BUFFER_MODE: 35967;\n    readonly MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS: 35968;\n    readonly TRANSFORM_FEEDBACK_VARYINGS: 35971;\n    readonly TRANSFORM_FEEDBACK_BUFFER_START: 35972;\n    readonly TRANSFORM_FEEDBACK_BUFFER_SIZE: 35973;\n    readonly TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN: 35976;\n    readonly RASTERIZER_DISCARD: 35977;\n    readonly MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS: 35978;\n    readonly MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS: 35979;\n    readonly INTERLEAVED_ATTRIBS: 35980;\n    readonly SEPARATE_ATTRIBS: 35981;\n    readonly TRANSFORM_FEEDBACK_BUFFER: 35982;\n    readonly TRANSFORM_FEEDBACK_BUFFER_BINDING: 35983;\n    readonly RGBA32UI: 36208;\n    readonly RGB32UI: 36209;\n    readonly RGBA16UI: 36214;\n    readonly RGB16UI: 36215;\n    readonly RGBA8UI: 36220;\n    readonly RGB8UI: 36221;\n    readonly RGBA32I: 36226;\n    readonly RGB32I: 36227;\n    readonly RGBA16I: 36232;\n    readonly RGB16I: 36233;\n    readonly RGBA8I: 36238;\n    readonly RGB8I: 36239;\n    readonly RED_INTEGER: 36244;\n    readonly RGB_INTEGER: 36248;\n    readonly RGBA_INTEGER: 36249;\n    readonly SAMPLER_2D_ARRAY: 36289;\n    readonly SAMPLER_2D_ARRAY_SHADOW: 36292;\n    readonly SAMPLER_CUBE_SHADOW: 36293;\n    readonly UNSIGNED_INT_VEC2: 36294;\n    readonly UNSIGNED_INT_VEC3: 36295;\n    readonly UNSIGNED_INT_VEC4: 36296;\n    readonly INT_SAMPLER_2D: 36298;\n    readonly INT_SAMPLER_3D: 36299;\n    readonly INT_SAMPLER_CUBE: 36300;\n    readonly INT_SAMPLER_2D_ARRAY: 36303;\n    readonly UNSIGNED_INT_SAMPLER_2D: 36306;\n    readonly UNSIGNED_INT_SAMPLER_3D: 36307;\n    readonly UNSIGNED_INT_SAMPLER_CUBE: 36308;\n    readonly UNSIGNED_INT_SAMPLER_2D_ARRAY: 36311;\n    readonly DEPTH_COMPONENT32F: 36012;\n    readonly DEPTH32F_STENCIL8: 36013;\n    readonly FLOAT_32_UNSIGNED_INT_24_8_REV: 36269;\n    readonly FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING: 33296;\n    readonly FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE: 33297;\n    readonly FRAMEBUFFER_ATTACHMENT_RED_SIZE: 33298;\n    readonly FRAMEBUFFER_ATTACHMENT_GREEN_SIZE: 33299;\n    readonly FRAMEBUFFER_ATTACHMENT_BLUE_SIZE: 33300;\n    readonly FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE: 33301;\n    readonly FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE: 33302;\n    readonly FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE: 33303;\n    readonly FRAMEBUFFER_DEFAULT: 33304;\n    readonly UNSIGNED_INT_24_8: 34042;\n    readonly DEPTH24_STENCIL8: 35056;\n    readonly UNSIGNED_NORMALIZED: 35863;\n    readonly DRAW_FRAMEBUFFER_BINDING: 36006;\n    readonly READ_FRAMEBUFFER: 36008;\n    readonly DRAW_FRAMEBUFFER: 36009;\n    readonly READ_FRAMEBUFFER_BINDING: 36010;\n    readonly RENDERBUFFER_SAMPLES: 36011;\n    readonly FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER: 36052;\n    readonly MAX_COLOR_ATTACHMENTS: 36063;\n    readonly COLOR_ATTACHMENT1: 36065;\n    readonly COLOR_ATTACHMENT2: 36066;\n    readonly COLOR_ATTACHMENT3: 36067;\n    readonly COLOR_ATTACHMENT4: 36068;\n    readonly COLOR_ATTACHMENT5: 36069;\n    readonly COLOR_ATTACHMENT6: 36070;\n    readonly COLOR_ATTACHMENT7: 36071;\n    readonly COLOR_ATTACHMENT8: 36072;\n    readonly COLOR_ATTACHMENT9: 36073;\n    readonly COLOR_ATTACHMENT10: 36074;\n    readonly COLOR_ATTACHMENT11: 36075;\n    readonly COLOR_ATTACHMENT12: 36076;\n    readonly COLOR_ATTACHMENT13: 36077;\n    readonly COLOR_ATTACHMENT14: 36078;\n    readonly COLOR_ATTACHMENT15: 36079;\n    readonly FRAMEBUFFER_INCOMPLETE_MULTISAMPLE: 36182;\n    readonly MAX_SAMPLES: 36183;\n    readonly HALF_FLOAT: 5131;\n    readonly RG: 33319;\n    readonly RG_INTEGER: 33320;\n    readonly R8: 33321;\n    readonly RG8: 33323;\n    readonly R16F: 33325;\n    readonly R32F: 33326;\n    readonly RG16F: 33327;\n    readonly RG32F: 33328;\n    readonly R8I: 33329;\n    readonly R8UI: 33330;\n    readonly R16I: 33331;\n    readonly R16UI: 33332;\n    readonly R32I: 33333;\n    readonly R32UI: 33334;\n    readonly RG8I: 33335;\n    readonly RG8UI: 33336;\n    readonly RG16I: 33337;\n    readonly RG16UI: 33338;\n    readonly RG32I: 33339;\n    readonly RG32UI: 33340;\n    readonly VERTEX_ARRAY_BINDING: 34229;\n    readonly R8_SNORM: 36756;\n    readonly RG8_SNORM: 36757;\n    readonly RGB8_SNORM: 36758;\n    readonly RGBA8_SNORM: 36759;\n    readonly SIGNED_NORMALIZED: 36764;\n    readonly COPY_READ_BUFFER: 36662;\n    readonly COPY_WRITE_BUFFER: 36663;\n    readonly COPY_READ_BUFFER_BINDING: 36662;\n    readonly COPY_WRITE_BUFFER_BINDING: 36663;\n    readonly UNIFORM_BUFFER: 35345;\n    readonly UNIFORM_BUFFER_BINDING: 35368;\n    readonly UNIFORM_BUFFER_START: 35369;\n    readonly UNIFORM_BUFFER_SIZE: 35370;\n    readonly MAX_VERTEX_UNIFORM_BLOCKS: 35371;\n    readonly MAX_FRAGMENT_UNIFORM_BLOCKS: 35373;\n    readonly MAX_COMBINED_UNIFORM_BLOCKS: 35374;\n    readonly MAX_UNIFORM_BUFFER_BINDINGS: 35375;\n    readonly MAX_UNIFORM_BLOCK_SIZE: 35376;\n    readonly MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS: 35377;\n    readonly MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS: 35379;\n    readonly UNIFORM_BUFFER_OFFSET_ALIGNMENT: 35380;\n    readonly ACTIVE_UNIFORM_BLOCKS: 35382;\n    readonly UNIFORM_TYPE: 35383;\n    readonly UNIFORM_SIZE: 35384;\n    readonly UNIFORM_BLOCK_INDEX: 35386;\n    readonly UNIFORM_OFFSET: 35387;\n    readonly UNIFORM_ARRAY_STRIDE: 35388;\n    readonly UNIFORM_MATRIX_STRIDE: 35389;\n    readonly UNIFORM_IS_ROW_MAJOR: 35390;\n    readonly UNIFORM_BLOCK_BINDING: 35391;\n    readonly UNIFORM_BLOCK_DATA_SIZE: 35392;\n    readonly UNIFORM_BLOCK_ACTIVE_UNIFORMS: 35394;\n    readonly UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES: 35395;\n    readonly UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER: 35396;\n    readonly UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER: 35398;\n    readonly INVALID_INDEX: 4294967295;\n    readonly MAX_VERTEX_OUTPUT_COMPONENTS: 37154;\n    readonly MAX_FRAGMENT_INPUT_COMPONENTS: 37157;\n    readonly MAX_SERVER_WAIT_TIMEOUT: 37137;\n    readonly OBJECT_TYPE: 37138;\n    readonly SYNC_CONDITION: 37139;\n    readonly SYNC_STATUS: 37140;\n    readonly SYNC_FLAGS: 37141;\n    readonly SYNC_FENCE: 37142;\n    readonly SYNC_GPU_COMMANDS_COMPLETE: 37143;\n    readonly UNSIGNALED: 37144;\n    readonly SIGNALED: 37145;\n    readonly ALREADY_SIGNALED: 37146;\n    readonly TIMEOUT_EXPIRED: 37147;\n    readonly CONDITION_SATISFIED: 37148;\n    readonly WAIT_FAILED: 37149;\n    readonly SYNC_FLUSH_COMMANDS_BIT: 1;\n    readonly VERTEX_ATTRIB_ARRAY_DIVISOR: 35070;\n    readonly ANY_SAMPLES_PASSED: 35887;\n    readonly ANY_SAMPLES_PASSED_CONSERVATIVE: 36202;\n    readonly SAMPLER_BINDING: 35097;\n    readonly RGB10_A2UI: 36975;\n    readonly INT_2_10_10_10_REV: 36255;\n    readonly TRANSFORM_FEEDBACK: 36386;\n    readonly TRANSFORM_FEEDBACK_PAUSED: 36387;\n    readonly TRANSFORM_FEEDBACK_ACTIVE: 36388;\n    readonly TRANSFORM_FEEDBACK_BINDING: 36389;\n    readonly TEXTURE_IMMUTABLE_FORMAT: 37167;\n    readonly MAX_ELEMENT_INDEX: 36203;\n    readonly TEXTURE_IMMUTABLE_LEVELS: 33503;\n    readonly TIMEOUT_IGNORED: -1;\n    readonly MAX_CLIENT_WAIT_TIMEOUT_WEBGL: 37447;\n}\ninterface WebGL2RenderingContextOverloads {\n    bufferData(target: GLenum, size: GLsizeiptr, usage: GLenum): void;\n    bufferData(target: GLenum, srcData: AllowSharedBufferSource | null, usage: GLenum): void;\n    bufferData(target: GLenum, srcData: ArrayBufferView<ArrayBufferLike>, usage: GLenum, srcOffset: number, length?: GLuint): void;\n    bufferSubData(target: GLenum, dstByteOffset: GLintptr, srcData: AllowSharedBufferSource): void;\n    bufferSubData(target: GLenum, dstByteOffset: GLintptr, srcData: ArrayBufferView<ArrayBufferLike>, srcOffset: number, length?: GLuint): void;\n    compressedTexImage2D(target: GLenum, level: GLint, internalformat: GLenum, width: GLsizei, height: GLsizei, border: GLint, imageSize: GLsizei, offset: GLintptr): void;\n    compressedTexImage2D(target: GLenum, level: GLint, internalformat: GLenum, width: GLsizei, height: GLsizei, border: GLint, srcData: ArrayBufferView<ArrayBufferLike>, srcOffset?: number, srcLengthOverride?: GLuint): void;\n    compressedTexSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, imageSize: GLsizei, offset: GLintptr): void;\n    compressedTexSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, srcData: ArrayBufferView<ArrayBufferLike>, srcOffset?: number, srcLengthOverride?: GLuint): void;\n    readPixels(x: GLint, y: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, dstData: ArrayBufferView<ArrayBufferLike> | null): void;\n    readPixels(x: GLint, y: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, offset: GLintptr): void;\n    readPixels(x: GLint, y: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, dstData: ArrayBufferView<ArrayBufferLike>, dstOffset: number): void;\n    texImage2D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, border: GLint, format: GLenum, type: GLenum, pixels: ArrayBufferView<ArrayBufferLike> | null): void;\n    texImage2D(target: GLenum, level: GLint, internalformat: GLint, format: GLenum, type: GLenum, source: TexImageSource): void;\n    texImage2D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, border: GLint, format: GLenum, type: GLenum, pboOffset: GLintptr): void;\n    texImage2D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, border: GLint, format: GLenum, type: GLenum, source: TexImageSource): void;\n    texImage2D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, border: GLint, format: GLenum, type: GLenum, srcData: ArrayBufferView<ArrayBufferLike>, srcOffset: number): void;\n    texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, pixels: ArrayBufferView<ArrayBufferLike> | null): void;\n    texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, format: GLenum, type: GLenum, source: TexImageSource): void;\n    texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, pboOffset: GLintptr): void;\n    texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, source: TexImageSource): void;\n    texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, srcData: ArrayBufferView<ArrayBufferLike>, srcOffset: number): void;\n    uniform1fv(location: WebGLUniformLocation | null, data: Float32List, srcOffset?: number, srcLength?: GLuint): void;\n    uniform1iv(location: WebGLUniformLocation | null, data: Int32List, srcOffset?: number, srcLength?: GLuint): void;\n    uniform2fv(location: WebGLUniformLocation | null, data: Float32List, srcOffset?: number, srcLength?: GLuint): void;\n    uniform2iv(location: WebGLUniformLocation | null, data: Int32List, srcOffset?: number, srcLength?: GLuint): void;\n    uniform3fv(location: WebGLUniformLocation | null, data: Float32List, srcOffset?: number, srcLength?: GLuint): void;\n    uniform3iv(location: WebGLUniformLocation | null, data: Int32List, srcOffset?: number, srcLength?: GLuint): void;\n    uniform4fv(location: WebGLUniformLocation | null, data: Float32List, srcOffset?: number, srcLength?: GLuint): void;\n    uniform4iv(location: WebGLUniformLocation | null, data: Int32List, srcOffset?: number, srcLength?: GLuint): void;\n    uniformMatrix2fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Float32List, srcOffset?: number, srcLength?: GLuint): void;\n    uniformMatrix3fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Float32List, srcOffset?: number, srcLength?: GLuint): void;\n    uniformMatrix4fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Float32List, srcOffset?: number, srcLength?: GLuint): void;\n}\ninterface WebGLActiveInfo {\n    readonly name: string;\n    readonly size: GLint;\n    readonly type: GLenum;\n}\ndeclare var WebGLActiveInfo: {\n    prototype: WebGLActiveInfo;\n    new (): WebGLActiveInfo;\n};\ninterface WebGLBuffer {\n}\ndeclare var WebGLBuffer: {\n    prototype: WebGLBuffer;\n    new (): WebGLBuffer;\n};\ninterface WebGLContextEvent extends Event {\n    readonly statusMessage: string;\n}\ndeclare var WebGLContextEvent: {\n    prototype: WebGLContextEvent;\n    new (type: string, eventInit?: WebGLContextEventInit): WebGLContextEvent;\n};\ninterface WebGLFramebuffer {\n}\ndeclare var WebGLFramebuffer: {\n    prototype: WebGLFramebuffer;\n    new (): WebGLFramebuffer;\n};\ninterface WebGLProgram {\n}\ndeclare var WebGLProgram: {\n    prototype: WebGLProgram;\n    new (): WebGLProgram;\n};\ninterface WebGLQuery {\n}\ndeclare var WebGLQuery: {\n    prototype: WebGLQuery;\n    new (): WebGLQuery;\n};\ninterface WebGLRenderbuffer {\n}\ndeclare var WebGLRenderbuffer: {\n    prototype: WebGLRenderbuffer;\n    new (): WebGLRenderbuffer;\n};\ninterface WebGLRenderingContext extends WebGLRenderingContextBase, WebGLRenderingContextOverloads {\n}\ndeclare var WebGLRenderingContext: {\n    prototype: WebGLRenderingContext;\n    new (): WebGLRenderingContext;\n    readonly DEPTH_BUFFER_BIT: 256;\n    readonly STENCIL_BUFFER_BIT: 1024;\n    readonly COLOR_BUFFER_BIT: 16384;\n    readonly POINTS: 0;\n    readonly LINES: 1;\n    readonly LINE_LOOP: 2;\n    readonly LINE_STRIP: 3;\n    readonly TRIANGLES: 4;\n    readonly TRIANGLE_STRIP: 5;\n    readonly TRIANGLE_FAN: 6;\n    readonly ZERO: 0;\n    readonly ONE: 1;\n    readonly SRC_COLOR: 768;\n    readonly ONE_MINUS_SRC_COLOR: 769;\n    readonly SRC_ALPHA: 770;\n    readonly ONE_MINUS_SRC_ALPHA: 771;\n    readonly DST_ALPHA: 772;\n    readonly ONE_MINUS_DST_ALPHA: 773;\n    readonly DST_COLOR: 774;\n    readonly ONE_MINUS_DST_COLOR: 775;\n    readonly SRC_ALPHA_SATURATE: 776;\n    readonly FUNC_ADD: 32774;\n    readonly BLEND_EQUATION: 32777;\n    readonly BLEND_EQUATION_RGB: 32777;\n    readonly BLEND_EQUATION_ALPHA: 34877;\n    readonly FUNC_SUBTRACT: 32778;\n    readonly FUNC_REVERSE_SUBTRACT: 32779;\n    readonly BLEND_DST_RGB: 32968;\n    readonly BLEND_SRC_RGB: 32969;\n    readonly BLEND_DST_ALPHA: 32970;\n    readonly BLEND_SRC_ALPHA: 32971;\n    readonly CONSTANT_COLOR: 32769;\n    readonly ONE_MINUS_CONSTANT_COLOR: 32770;\n    readonly CONSTANT_ALPHA: 32771;\n    readonly ONE_MINUS_CONSTANT_ALPHA: 32772;\n    readonly BLEND_COLOR: 32773;\n    readonly ARRAY_BUFFER: 34962;\n    readonly ELEMENT_ARRAY_BUFFER: 34963;\n    readonly ARRAY_BUFFER_BINDING: 34964;\n    readonly ELEMENT_ARRAY_BUFFER_BINDING: 34965;\n    readonly STREAM_DRAW: 35040;\n    readonly STATIC_DRAW: 35044;\n    readonly DYNAMIC_DRAW: 35048;\n    readonly BUFFER_SIZE: 34660;\n    readonly BUFFER_USAGE: 34661;\n    readonly CURRENT_VERTEX_ATTRIB: 34342;\n    readonly FRONT: 1028;\n    readonly BACK: 1029;\n    readonly FRONT_AND_BACK: 1032;\n    readonly CULL_FACE: 2884;\n    readonly BLEND: 3042;\n    readonly DITHER: 3024;\n    readonly STENCIL_TEST: 2960;\n    readonly DEPTH_TEST: 2929;\n    readonly SCISSOR_TEST: 3089;\n    readonly POLYGON_OFFSET_FILL: 32823;\n    readonly SAMPLE_ALPHA_TO_COVERAGE: 32926;\n    readonly SAMPLE_COVERAGE: 32928;\n    readonly NO_ERROR: 0;\n    readonly INVALID_ENUM: 1280;\n    readonly INVALID_VALUE: 1281;\n    readonly INVALID_OPERATION: 1282;\n    readonly OUT_OF_MEMORY: 1285;\n    readonly CW: 2304;\n    readonly CCW: 2305;\n    readonly LINE_WIDTH: 2849;\n    readonly ALIASED_POINT_SIZE_RANGE: 33901;\n    readonly ALIASED_LINE_WIDTH_RANGE: 33902;\n    readonly CULL_FACE_MODE: 2885;\n    readonly FRONT_FACE: 2886;\n    readonly DEPTH_RANGE: 2928;\n    readonly DEPTH_WRITEMASK: 2930;\n    readonly DEPTH_CLEAR_VALUE: 2931;\n    readonly DEPTH_FUNC: 2932;\n    readonly STENCIL_CLEAR_VALUE: 2961;\n    readonly STENCIL_FUNC: 2962;\n    readonly STENCIL_FAIL: 2964;\n    readonly STENCIL_PASS_DEPTH_FAIL: 2965;\n    readonly STENCIL_PASS_DEPTH_PASS: 2966;\n    readonly STENCIL_REF: 2967;\n    readonly STENCIL_VALUE_MASK: 2963;\n    readonly STENCIL_WRITEMASK: 2968;\n    readonly STENCIL_BACK_FUNC: 34816;\n    readonly STENCIL_BACK_FAIL: 34817;\n    readonly STENCIL_BACK_PASS_DEPTH_FAIL: 34818;\n    readonly STENCIL_BACK_PASS_DEPTH_PASS: 34819;\n    readonly STENCIL_BACK_REF: 36003;\n    readonly STENCIL_BACK_VALUE_MASK: 36004;\n    readonly STENCIL_BACK_WRITEMASK: 36005;\n    readonly VIEWPORT: 2978;\n    readonly SCISSOR_BOX: 3088;\n    readonly COLOR_CLEAR_VALUE: 3106;\n    readonly COLOR_WRITEMASK: 3107;\n    readonly UNPACK_ALIGNMENT: 3317;\n    readonly PACK_ALIGNMENT: 3333;\n    readonly MAX_TEXTURE_SIZE: 3379;\n    readonly MAX_VIEWPORT_DIMS: 3386;\n    readonly SUBPIXEL_BITS: 3408;\n    readonly RED_BITS: 3410;\n    readonly GREEN_BITS: 3411;\n    readonly BLUE_BITS: 3412;\n    readonly ALPHA_BITS: 3413;\n    readonly DEPTH_BITS: 3414;\n    readonly STENCIL_BITS: 3415;\n    readonly POLYGON_OFFSET_UNITS: 10752;\n    readonly POLYGON_OFFSET_FACTOR: 32824;\n    readonly TEXTURE_BINDING_2D: 32873;\n    readonly SAMPLE_BUFFERS: 32936;\n    readonly SAMPLES: 32937;\n    readonly SAMPLE_COVERAGE_VALUE: 32938;\n    readonly SAMPLE_COVERAGE_INVERT: 32939;\n    readonly COMPRESSED_TEXTURE_FORMATS: 34467;\n    readonly DONT_CARE: 4352;\n    readonly FASTEST: 4353;\n    readonly NICEST: 4354;\n    readonly GENERATE_MIPMAP_HINT: 33170;\n    readonly BYTE: 5120;\n    readonly UNSIGNED_BYTE: 5121;\n    readonly SHORT: 5122;\n    readonly UNSIGNED_SHORT: 5123;\n    readonly INT: 5124;\n    readonly UNSIGNED_INT: 5125;\n    readonly FLOAT: 5126;\n    readonly DEPTH_COMPONENT: 6402;\n    readonly ALPHA: 6406;\n    readonly RGB: 6407;\n    readonly RGBA: 6408;\n    readonly LUMINANCE: 6409;\n    readonly LUMINANCE_ALPHA: 6410;\n    readonly UNSIGNED_SHORT_4_4_4_4: 32819;\n    readonly UNSIGNED_SHORT_5_5_5_1: 32820;\n    readonly UNSIGNED_SHORT_5_6_5: 33635;\n    readonly FRAGMENT_SHADER: 35632;\n    readonly VERTEX_SHADER: 35633;\n    readonly MAX_VERTEX_ATTRIBS: 34921;\n    readonly MAX_VERTEX_UNIFORM_VECTORS: 36347;\n    readonly MAX_VARYING_VECTORS: 36348;\n    readonly MAX_COMBINED_TEXTURE_IMAGE_UNITS: 35661;\n    readonly MAX_VERTEX_TEXTURE_IMAGE_UNITS: 35660;\n    readonly MAX_TEXTURE_IMAGE_UNITS: 34930;\n    readonly MAX_FRAGMENT_UNIFORM_VECTORS: 36349;\n    readonly SHADER_TYPE: 35663;\n    readonly DELETE_STATUS: 35712;\n    readonly LINK_STATUS: 35714;\n    readonly VALIDATE_STATUS: 35715;\n    readonly ATTACHED_SHADERS: 35717;\n    readonly ACTIVE_UNIFORMS: 35718;\n    readonly ACTIVE_ATTRIBUTES: 35721;\n    readonly SHADING_LANGUAGE_VERSION: 35724;\n    readonly CURRENT_PROGRAM: 35725;\n    readonly NEVER: 512;\n    readonly LESS: 513;\n    readonly EQUAL: 514;\n    readonly LEQUAL: 515;\n    readonly GREATER: 516;\n    readonly NOTEQUAL: 517;\n    readonly GEQUAL: 518;\n    readonly ALWAYS: 519;\n    readonly KEEP: 7680;\n    readonly REPLACE: 7681;\n    readonly INCR: 7682;\n    readonly DECR: 7683;\n    readonly INVERT: 5386;\n    readonly INCR_WRAP: 34055;\n    readonly DECR_WRAP: 34056;\n    readonly VENDOR: 7936;\n    readonly RENDERER: 7937;\n    readonly VERSION: 7938;\n    readonly NEAREST: 9728;\n    readonly LINEAR: 9729;\n    readonly NEAREST_MIPMAP_NEAREST: 9984;\n    readonly LINEAR_MIPMAP_NEAREST: 9985;\n    readonly NEAREST_MIPMAP_LINEAR: 9986;\n    readonly LINEAR_MIPMAP_LINEAR: 9987;\n    readonly TEXTURE_MAG_FILTER: 10240;\n    readonly TEXTURE_MIN_FILTER: 10241;\n    readonly TEXTURE_WRAP_S: 10242;\n    readonly TEXTURE_WRAP_T: 10243;\n    readonly TEXTURE_2D: 3553;\n    readonly TEXTURE: 5890;\n    readonly TEXTURE_CUBE_MAP: 34067;\n    readonly TEXTURE_BINDING_CUBE_MAP: 34068;\n    readonly TEXTURE_CUBE_MAP_POSITIVE_X: 34069;\n    readonly TEXTURE_CUBE_MAP_NEGATIVE_X: 34070;\n    readonly TEXTURE_CUBE_MAP_POSITIVE_Y: 34071;\n    readonly TEXTURE_CUBE_MAP_NEGATIVE_Y: 34072;\n    readonly TEXTURE_CUBE_MAP_POSITIVE_Z: 34073;\n    readonly TEXTURE_CUBE_MAP_NEGATIVE_Z: 34074;\n    readonly MAX_CUBE_MAP_TEXTURE_SIZE: 34076;\n    readonly TEXTURE0: 33984;\n    readonly TEXTURE1: 33985;\n    readonly TEXTURE2: 33986;\n    readonly TEXTURE3: 33987;\n    readonly TEXTURE4: 33988;\n    readonly TEXTURE5: 33989;\n    readonly TEXTURE6: 33990;\n    readonly TEXTURE7: 33991;\n    readonly TEXTURE8: 33992;\n    readonly TEXTURE9: 33993;\n    readonly TEXTURE10: 33994;\n    readonly TEXTURE11: 33995;\n    readonly TEXTURE12: 33996;\n    readonly TEXTURE13: 33997;\n    readonly TEXTURE14: 33998;\n    readonly TEXTURE15: 33999;\n    readonly TEXTURE16: 34000;\n    readonly TEXTURE17: 34001;\n    readonly TEXTURE18: 34002;\n    readonly TEXTURE19: 34003;\n    readonly TEXTURE20: 34004;\n    readonly TEXTURE21: 34005;\n    readonly TEXTURE22: 34006;\n    readonly TEXTURE23: 34007;\n    readonly TEXTURE24: 34008;\n    readonly TEXTURE25: 34009;\n    readonly TEXTURE26: 34010;\n    readonly TEXTURE27: 34011;\n    readonly TEXTURE28: 34012;\n    readonly TEXTURE29: 34013;\n    readonly TEXTURE30: 34014;\n    readonly TEXTURE31: 34015;\n    readonly ACTIVE_TEXTURE: 34016;\n    readonly REPEAT: 10497;\n    readonly CLAMP_TO_EDGE: 33071;\n    readonly MIRRORED_REPEAT: 33648;\n    readonly FLOAT_VEC2: 35664;\n    readonly FLOAT_VEC3: 35665;\n    readonly FLOAT_VEC4: 35666;\n    readonly INT_VEC2: 35667;\n    readonly INT_VEC3: 35668;\n    readonly INT_VEC4: 35669;\n    readonly BOOL: 35670;\n    readonly BOOL_VEC2: 35671;\n    readonly BOOL_VEC3: 35672;\n    readonly BOOL_VEC4: 35673;\n    readonly FLOAT_MAT2: 35674;\n    readonly FLOAT_MAT3: 35675;\n    readonly FLOAT_MAT4: 35676;\n    readonly SAMPLER_2D: 35678;\n    readonly SAMPLER_CUBE: 35680;\n    readonly VERTEX_ATTRIB_ARRAY_ENABLED: 34338;\n    readonly VERTEX_ATTRIB_ARRAY_SIZE: 34339;\n    readonly VERTEX_ATTRIB_ARRAY_STRIDE: 34340;\n    readonly VERTEX_ATTRIB_ARRAY_TYPE: 34341;\n    readonly VERTEX_ATTRIB_ARRAY_NORMALIZED: 34922;\n    readonly VERTEX_ATTRIB_ARRAY_POINTER: 34373;\n    readonly VERTEX_ATTRIB_ARRAY_BUFFER_BINDING: 34975;\n    readonly IMPLEMENTATION_COLOR_READ_TYPE: 35738;\n    readonly IMPLEMENTATION_COLOR_READ_FORMAT: 35739;\n    readonly COMPILE_STATUS: 35713;\n    readonly LOW_FLOAT: 36336;\n    readonly MEDIUM_FLOAT: 36337;\n    readonly HIGH_FLOAT: 36338;\n    readonly LOW_INT: 36339;\n    readonly MEDIUM_INT: 36340;\n    readonly HIGH_INT: 36341;\n    readonly FRAMEBUFFER: 36160;\n    readonly RENDERBUFFER: 36161;\n    readonly RGBA4: 32854;\n    readonly RGB5_A1: 32855;\n    readonly RGBA8: 32856;\n    readonly RGB565: 36194;\n    readonly DEPTH_COMPONENT16: 33189;\n    readonly STENCIL_INDEX8: 36168;\n    readonly DEPTH_STENCIL: 34041;\n    readonly RENDERBUFFER_WIDTH: 36162;\n    readonly RENDERBUFFER_HEIGHT: 36163;\n    readonly RENDERBUFFER_INTERNAL_FORMAT: 36164;\n    readonly RENDERBUFFER_RED_SIZE: 36176;\n    readonly RENDERBUFFER_GREEN_SIZE: 36177;\n    readonly RENDERBUFFER_BLUE_SIZE: 36178;\n    readonly RENDERBUFFER_ALPHA_SIZE: 36179;\n    readonly RENDERBUFFER_DEPTH_SIZE: 36180;\n    readonly RENDERBUFFER_STENCIL_SIZE: 36181;\n    readonly FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE: 36048;\n    readonly FRAMEBUFFER_ATTACHMENT_OBJECT_NAME: 36049;\n    readonly FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL: 36050;\n    readonly FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE: 36051;\n    readonly COLOR_ATTACHMENT0: 36064;\n    readonly DEPTH_ATTACHMENT: 36096;\n    readonly STENCIL_ATTACHMENT: 36128;\n    readonly DEPTH_STENCIL_ATTACHMENT: 33306;\n    readonly NONE: 0;\n    readonly FRAMEBUFFER_COMPLETE: 36053;\n    readonly FRAMEBUFFER_INCOMPLETE_ATTACHMENT: 36054;\n    readonly FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT: 36055;\n    readonly FRAMEBUFFER_INCOMPLETE_DIMENSIONS: 36057;\n    readonly FRAMEBUFFER_UNSUPPORTED: 36061;\n    readonly FRAMEBUFFER_BINDING: 36006;\n    readonly RENDERBUFFER_BINDING: 36007;\n    readonly MAX_RENDERBUFFER_SIZE: 34024;\n    readonly INVALID_FRAMEBUFFER_OPERATION: 1286;\n    readonly UNPACK_FLIP_Y_WEBGL: 37440;\n    readonly UNPACK_PREMULTIPLY_ALPHA_WEBGL: 37441;\n    readonly CONTEXT_LOST_WEBGL: 37442;\n    readonly UNPACK_COLORSPACE_CONVERSION_WEBGL: 37443;\n    readonly BROWSER_DEFAULT_WEBGL: 37444;\n};\ninterface WebGLRenderingContextBase {\n    drawingBufferColorSpace: PredefinedColorSpace;\n    readonly drawingBufferHeight: GLsizei;\n    readonly drawingBufferWidth: GLsizei;\n    unpackColorSpace: PredefinedColorSpace;\n    activeTexture(texture: GLenum): void;\n    attachShader(program: WebGLProgram, shader: WebGLShader): void;\n    bindAttribLocation(program: WebGLProgram, index: GLuint, name: string): void;\n    bindBuffer(target: GLenum, buffer: WebGLBuffer | null): void;\n    bindFramebuffer(target: GLenum, framebuffer: WebGLFramebuffer | null): void;\n    bindRenderbuffer(target: GLenum, renderbuffer: WebGLRenderbuffer | null): void;\n    bindTexture(target: GLenum, texture: WebGLTexture | null): void;\n    blendColor(red: GLclampf, green: GLclampf, blue: GLclampf, alpha: GLclampf): void;\n    blendEquation(mode: GLenum): void;\n    blendEquationSeparate(modeRGB: GLenum, modeAlpha: GLenum): void;\n    blendFunc(sfactor: GLenum, dfactor: GLenum): void;\n    blendFuncSeparate(srcRGB: GLenum, dstRGB: GLenum, srcAlpha: GLenum, dstAlpha: GLenum): void;\n    checkFramebufferStatus(target: GLenum): GLenum;\n    clear(mask: GLbitfield): void;\n    clearColor(red: GLclampf, green: GLclampf, blue: GLclampf, alpha: GLclampf): void;\n    clearDepth(depth: GLclampf): void;\n    clearStencil(s: GLint): void;\n    colorMask(red: GLboolean, green: GLboolean, blue: GLboolean, alpha: GLboolean): void;\n    compileShader(shader: WebGLShader): void;\n    copyTexImage2D(target: GLenum, level: GLint, internalformat: GLenum, x: GLint, y: GLint, width: GLsizei, height: GLsizei, border: GLint): void;\n    copyTexSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, x: GLint, y: GLint, width: GLsizei, height: GLsizei): void;\n    createBuffer(): WebGLBuffer;\n    createFramebuffer(): WebGLFramebuffer;\n    createProgram(): WebGLProgram;\n    createRenderbuffer(): WebGLRenderbuffer;\n    createShader(type: GLenum): WebGLShader | null;\n    createTexture(): WebGLTexture;\n    cullFace(mode: GLenum): void;\n    deleteBuffer(buffer: WebGLBuffer | null): void;\n    deleteFramebuffer(framebuffer: WebGLFramebuffer | null): void;\n    deleteProgram(program: WebGLProgram | null): void;\n    deleteRenderbuffer(renderbuffer: WebGLRenderbuffer | null): void;\n    deleteShader(shader: WebGLShader | null): void;\n    deleteTexture(texture: WebGLTexture | null): void;\n    depthFunc(func: GLenum): void;\n    depthMask(flag: GLboolean): void;\n    depthRange(zNear: GLclampf, zFar: GLclampf): void;\n    detachShader(program: WebGLProgram, shader: WebGLShader): void;\n    disable(cap: GLenum): void;\n    disableVertexAttribArray(index: GLuint): void;\n    drawArrays(mode: GLenum, first: GLint, count: GLsizei): void;\n    drawElements(mode: GLenum, count: GLsizei, type: GLenum, offset: GLintptr): void;\n    enable(cap: GLenum): void;\n    enableVertexAttribArray(index: GLuint): void;\n    finish(): void;\n    flush(): void;\n    framebufferRenderbuffer(target: GLenum, attachment: GLenum, renderbuffertarget: GLenum, renderbuffer: WebGLRenderbuffer | null): void;\n    framebufferTexture2D(target: GLenum, attachment: GLenum, textarget: GLenum, texture: WebGLTexture | null, level: GLint): void;\n    frontFace(mode: GLenum): void;\n    generateMipmap(target: GLenum): void;\n    getActiveAttrib(program: WebGLProgram, index: GLuint): WebGLActiveInfo | null;\n    getActiveUniform(program: WebGLProgram, index: GLuint): WebGLActiveInfo | null;\n    getAttachedShaders(program: WebGLProgram): WebGLShader[] | null;\n    getAttribLocation(program: WebGLProgram, name: string): GLint;\n    getBufferParameter(target: GLenum, pname: GLenum): any;\n    getContextAttributes(): WebGLContextAttributes | null;\n    getError(): GLenum;\n    getExtension(name: string): any;\n    getExtension(extensionName: \"ANGLE_instanced_arrays\"): ANGLE_instanced_arrays | null;\n    getExtension(extensionName: \"EXT_blend_minmax\"): EXT_blend_minmax | null;\n    getExtension(extensionName: \"EXT_color_buffer_float\"): EXT_color_buffer_float | null;\n    getExtension(extensionName: \"EXT_color_buffer_half_float\"): EXT_color_buffer_half_float | null;\n    getExtension(extensionName: \"EXT_float_blend\"): EXT_float_blend | null;\n    getExtension(extensionName: \"EXT_frag_depth\"): EXT_frag_depth | null;\n    getExtension(extensionName: \"EXT_sRGB\"): EXT_sRGB | null;\n    getExtension(extensionName: \"EXT_shader_texture_lod\"): EXT_shader_texture_lod | null;\n    getExtension(extensionName: \"EXT_texture_compression_bptc\"): EXT_texture_compression_bptc | null;\n    getExtension(extensionName: \"EXT_texture_compression_rgtc\"): EXT_texture_compression_rgtc | null;\n    getExtension(extensionName: \"EXT_texture_filter_anisotropic\"): EXT_texture_filter_anisotropic | null;\n    getExtension(extensionName: \"KHR_parallel_shader_compile\"): KHR_parallel_shader_compile | null;\n    getExtension(extensionName: \"OES_element_index_uint\"): OES_element_index_uint | null;\n    getExtension(extensionName: \"OES_fbo_render_mipmap\"): OES_fbo_render_mipmap | null;\n    getExtension(extensionName: \"OES_standard_derivatives\"): OES_standard_derivatives | null;\n    getExtension(extensionName: \"OES_texture_float\"): OES_texture_float | null;\n    getExtension(extensionName: \"OES_texture_float_linear\"): OES_texture_float_linear | null;\n    getExtension(extensionName: \"OES_texture_half_float\"): OES_texture_half_float | null;\n    getExtension(extensionName: \"OES_texture_half_float_linear\"): OES_texture_half_float_linear | null;\n    getExtension(extensionName: \"OES_vertex_array_object\"): OES_vertex_array_object | null;\n    getExtension(extensionName: \"OVR_multiview2\"): OVR_multiview2 | null;\n    getExtension(extensionName: \"WEBGL_color_buffer_float\"): WEBGL_color_buffer_float | null;\n    getExtension(extensionName: \"WEBGL_compressed_texture_astc\"): WEBGL_compressed_texture_astc | null;\n    getExtension(extensionName: \"WEBGL_compressed_texture_etc\"): WEBGL_compressed_texture_etc | null;\n    getExtension(extensionName: \"WEBGL_compressed_texture_etc1\"): WEBGL_compressed_texture_etc1 | null;\n    getExtension(extensionName: \"WEBGL_compressed_texture_pvrtc\"): WEBGL_compressed_texture_pvrtc | null;\n    getExtension(extensionName: \"WEBGL_compressed_texture_s3tc\"): WEBGL_compressed_texture_s3tc | null;\n    getExtension(extensionName: \"WEBGL_compressed_texture_s3tc_srgb\"): WEBGL_compressed_texture_s3tc_srgb | null;\n    getExtension(extensionName: \"WEBGL_debug_renderer_info\"): WEBGL_debug_renderer_info | null;\n    getExtension(extensionName: \"WEBGL_debug_shaders\"): WEBGL_debug_shaders | null;\n    getExtension(extensionName: \"WEBGL_depth_texture\"): WEBGL_depth_texture | null;\n    getExtension(extensionName: \"WEBGL_draw_buffers\"): WEBGL_draw_buffers | null;\n    getExtension(extensionName: \"WEBGL_lose_context\"): WEBGL_lose_context | null;\n    getExtension(extensionName: \"WEBGL_multi_draw\"): WEBGL_multi_draw | null;\n    getFramebufferAttachmentParameter(target: GLenum, attachment: GLenum, pname: GLenum): any;\n    getParameter(pname: GLenum): any;\n    getProgramInfoLog(program: WebGLProgram): string | null;\n    getProgramParameter(program: WebGLProgram, pname: GLenum): any;\n    getRenderbufferParameter(target: GLenum, pname: GLenum): any;\n    getShaderInfoLog(shader: WebGLShader): string | null;\n    getShaderParameter(shader: WebGLShader, pname: GLenum): any;\n    getShaderPrecisionFormat(shadertype: GLenum, precisiontype: GLenum): WebGLShaderPrecisionFormat | null;\n    getShaderSource(shader: WebGLShader): string | null;\n    getSupportedExtensions(): string[] | null;\n    getTexParameter(target: GLenum, pname: GLenum): any;\n    getUniform(program: WebGLProgram, location: WebGLUniformLocation): any;\n    getUniformLocation(program: WebGLProgram, name: string): WebGLUniformLocation | null;\n    getVertexAttrib(index: GLuint, pname: GLenum): any;\n    getVertexAttribOffset(index: GLuint, pname: GLenum): GLintptr;\n    hint(target: GLenum, mode: GLenum): void;\n    isBuffer(buffer: WebGLBuffer | null): GLboolean;\n    isContextLost(): boolean;\n    isEnabled(cap: GLenum): GLboolean;\n    isFramebuffer(framebuffer: WebGLFramebuffer | null): GLboolean;\n    isProgram(program: WebGLProgram | null): GLboolean;\n    isRenderbuffer(renderbuffer: WebGLRenderbuffer | null): GLboolean;\n    isShader(shader: WebGLShader | null): GLboolean;\n    isTexture(texture: WebGLTexture | null): GLboolean;\n    lineWidth(width: GLfloat): void;\n    linkProgram(program: WebGLProgram): void;\n    pixelStorei(pname: GLenum, param: GLint | GLboolean): void;\n    polygonOffset(factor: GLfloat, units: GLfloat): void;\n    renderbufferStorage(target: GLenum, internalformat: GLenum, width: GLsizei, height: GLsizei): void;\n    sampleCoverage(value: GLclampf, invert: GLboolean): void;\n    scissor(x: GLint, y: GLint, width: GLsizei, height: GLsizei): void;\n    shaderSource(shader: WebGLShader, source: string): void;\n    stencilFunc(func: GLenum, ref: GLint, mask: GLuint): void;\n    stencilFuncSeparate(face: GLenum, func: GLenum, ref: GLint, mask: GLuint): void;\n    stencilMask(mask: GLuint): void;\n    stencilMaskSeparate(face: GLenum, mask: GLuint): void;\n    stencilOp(fail: GLenum, zfail: GLenum, zpass: GLenum): void;\n    stencilOpSeparate(face: GLenum, fail: GLenum, zfail: GLenum, zpass: GLenum): void;\n    texParameterf(target: GLenum, pname: GLenum, param: GLfloat): void;\n    texParameteri(target: GLenum, pname: GLenum, param: GLint): void;\n    uniform1f(location: WebGLUniformLocation | null, x: GLfloat): void;\n    uniform1i(location: WebGLUniformLocation | null, x: GLint): void;\n    uniform2f(location: WebGLUniformLocation | null, x: GLfloat, y: GLfloat): void;\n    uniform2i(location: WebGLUniformLocation | null, x: GLint, y: GLint): void;\n    uniform3f(location: WebGLUniformLocation | null, x: GLfloat, y: GLfloat, z: GLfloat): void;\n    uniform3i(location: WebGLUniformLocation | null, x: GLint, y: GLint, z: GLint): void;\n    uniform4f(location: WebGLUniformLocation | null, x: GLfloat, y: GLfloat, z: GLfloat, w: GLfloat): void;\n    uniform4i(location: WebGLUniformLocation | null, x: GLint, y: GLint, z: GLint, w: GLint): void;\n    useProgram(program: WebGLProgram | null): void;\n    validateProgram(program: WebGLProgram): void;\n    vertexAttrib1f(index: GLuint, x: GLfloat): void;\n    vertexAttrib1fv(index: GLuint, values: Float32List): void;\n    vertexAttrib2f(index: GLuint, x: GLfloat, y: GLfloat): void;\n    vertexAttrib2fv(index: GLuint, values: Float32List): void;\n    vertexAttrib3f(index: GLuint, x: GLfloat, y: GLfloat, z: GLfloat): void;\n    vertexAttrib3fv(index: GLuint, values: Float32List): void;\n    vertexAttrib4f(index: GLuint, x: GLfloat, y: GLfloat, z: GLfloat, w: GLfloat): void;\n    vertexAttrib4fv(index: GLuint, values: Float32List): void;\n    vertexAttribPointer(index: GLuint, size: GLint, type: GLenum, normalized: GLboolean, stride: GLsizei, offset: GLintptr): void;\n    viewport(x: GLint, y: GLint, width: GLsizei, height: GLsizei): void;\n    readonly DEPTH_BUFFER_BIT: 256;\n    readonly STENCIL_BUFFER_BIT: 1024;\n    readonly COLOR_BUFFER_BIT: 16384;\n    readonly POINTS: 0;\n    readonly LINES: 1;\n    readonly LINE_LOOP: 2;\n    readonly LINE_STRIP: 3;\n    readonly TRIANGLES: 4;\n    readonly TRIANGLE_STRIP: 5;\n    readonly TRIANGLE_FAN: 6;\n    readonly ZERO: 0;\n    readonly ONE: 1;\n    readonly SRC_COLOR: 768;\n    readonly ONE_MINUS_SRC_COLOR: 769;\n    readonly SRC_ALPHA: 770;\n    readonly ONE_MINUS_SRC_ALPHA: 771;\n    readonly DST_ALPHA: 772;\n    readonly ONE_MINUS_DST_ALPHA: 773;\n    readonly DST_COLOR: 774;\n    readonly ONE_MINUS_DST_COLOR: 775;\n    readonly SRC_ALPHA_SATURATE: 776;\n    readonly FUNC_ADD: 32774;\n    readonly BLEND_EQUATION: 32777;\n    readonly BLEND_EQUATION_RGB: 32777;\n    readonly BLEND_EQUATION_ALPHA: 34877;\n    readonly FUNC_SUBTRACT: 32778;\n    readonly FUNC_REVERSE_SUBTRACT: 32779;\n    readonly BLEND_DST_RGB: 32968;\n    readonly BLEND_SRC_RGB: 32969;\n    readonly BLEND_DST_ALPHA: 32970;\n    readonly BLEND_SRC_ALPHA: 32971;\n    readonly CONSTANT_COLOR: 32769;\n    readonly ONE_MINUS_CONSTANT_COLOR: 32770;\n    readonly CONSTANT_ALPHA: 32771;\n    readonly ONE_MINUS_CONSTANT_ALPHA: 32772;\n    readonly BLEND_COLOR: 32773;\n    readonly ARRAY_BUFFER: 34962;\n    readonly ELEMENT_ARRAY_BUFFER: 34963;\n    readonly ARRAY_BUFFER_BINDING: 34964;\n    readonly ELEMENT_ARRAY_BUFFER_BINDING: 34965;\n    readonly STREAM_DRAW: 35040;\n    readonly STATIC_DRAW: 35044;\n    readonly DYNAMIC_DRAW: 35048;\n    readonly BUFFER_SIZE: 34660;\n    readonly BUFFER_USAGE: 34661;\n    readonly CURRENT_VERTEX_ATTRIB: 34342;\n    readonly FRONT: 1028;\n    readonly BACK: 1029;\n    readonly FRONT_AND_BACK: 1032;\n    readonly CULL_FACE: 2884;\n    readonly BLEND: 3042;\n    readonly DITHER: 3024;\n    readonly STENCIL_TEST: 2960;\n    readonly DEPTH_TEST: 2929;\n    readonly SCISSOR_TEST: 3089;\n    readonly POLYGON_OFFSET_FILL: 32823;\n    readonly SAMPLE_ALPHA_TO_COVERAGE: 32926;\n    readonly SAMPLE_COVERAGE: 32928;\n    readonly NO_ERROR: 0;\n    readonly INVALID_ENUM: 1280;\n    readonly INVALID_VALUE: 1281;\n    readonly INVALID_OPERATION: 1282;\n    readonly OUT_OF_MEMORY: 1285;\n    readonly CW: 2304;\n    readonly CCW: 2305;\n    readonly LINE_WIDTH: 2849;\n    readonly ALIASED_POINT_SIZE_RANGE: 33901;\n    readonly ALIASED_LINE_WIDTH_RANGE: 33902;\n    readonly CULL_FACE_MODE: 2885;\n    readonly FRONT_FACE: 2886;\n    readonly DEPTH_RANGE: 2928;\n    readonly DEPTH_WRITEMASK: 2930;\n    readonly DEPTH_CLEAR_VALUE: 2931;\n    readonly DEPTH_FUNC: 2932;\n    readonly STENCIL_CLEAR_VALUE: 2961;\n    readonly STENCIL_FUNC: 2962;\n    readonly STENCIL_FAIL: 2964;\n    readonly STENCIL_PASS_DEPTH_FAIL: 2965;\n    readonly STENCIL_PASS_DEPTH_PASS: 2966;\n    readonly STENCIL_REF: 2967;\n    readonly STENCIL_VALUE_MASK: 2963;\n    readonly STENCIL_WRITEMASK: 2968;\n    readonly STENCIL_BACK_FUNC: 34816;\n    readonly STENCIL_BACK_FAIL: 34817;\n    readonly STENCIL_BACK_PASS_DEPTH_FAIL: 34818;\n    readonly STENCIL_BACK_PASS_DEPTH_PASS: 34819;\n    readonly STENCIL_BACK_REF: 36003;\n    readonly STENCIL_BACK_VALUE_MASK: 36004;\n    readonly STENCIL_BACK_WRITEMASK: 36005;\n    readonly VIEWPORT: 2978;\n    readonly SCISSOR_BOX: 3088;\n    readonly COLOR_CLEAR_VALUE: 3106;\n    readonly COLOR_WRITEMASK: 3107;\n    readonly UNPACK_ALIGNMENT: 3317;\n    readonly PACK_ALIGNMENT: 3333;\n    readonly MAX_TEXTURE_SIZE: 3379;\n    readonly MAX_VIEWPORT_DIMS: 3386;\n    readonly SUBPIXEL_BITS: 3408;\n    readonly RED_BITS: 3410;\n    readonly GREEN_BITS: 3411;\n    readonly BLUE_BITS: 3412;\n    readonly ALPHA_BITS: 3413;\n    readonly DEPTH_BITS: 3414;\n    readonly STENCIL_BITS: 3415;\n    readonly POLYGON_OFFSET_UNITS: 10752;\n    readonly POLYGON_OFFSET_FACTOR: 32824;\n    readonly TEXTURE_BINDING_2D: 32873;\n    readonly SAMPLE_BUFFERS: 32936;\n    readonly SAMPLES: 32937;\n    readonly SAMPLE_COVERAGE_VALUE: 32938;\n    readonly SAMPLE_COVERAGE_INVERT: 32939;\n    readonly COMPRESSED_TEXTURE_FORMATS: 34467;\n    readonly DONT_CARE: 4352;\n    readonly FASTEST: 4353;\n    readonly NICEST: 4354;\n    readonly GENERATE_MIPMAP_HINT: 33170;\n    readonly BYTE: 5120;\n    readonly UNSIGNED_BYTE: 5121;\n    readonly SHORT: 5122;\n    readonly UNSIGNED_SHORT: 5123;\n    readonly INT: 5124;\n    readonly UNSIGNED_INT: 5125;\n    readonly FLOAT: 5126;\n    readonly DEPTH_COMPONENT: 6402;\n    readonly ALPHA: 6406;\n    readonly RGB: 6407;\n    readonly RGBA: 6408;\n    readonly LUMINANCE: 6409;\n    readonly LUMINANCE_ALPHA: 6410;\n    readonly UNSIGNED_SHORT_4_4_4_4: 32819;\n    readonly UNSIGNED_SHORT_5_5_5_1: 32820;\n    readonly UNSIGNED_SHORT_5_6_5: 33635;\n    readonly FRAGMENT_SHADER: 35632;\n    readonly VERTEX_SHADER: 35633;\n    readonly MAX_VERTEX_ATTRIBS: 34921;\n    readonly MAX_VERTEX_UNIFORM_VECTORS: 36347;\n    readonly MAX_VARYING_VECTORS: 36348;\n    readonly MAX_COMBINED_TEXTURE_IMAGE_UNITS: 35661;\n    readonly MAX_VERTEX_TEXTURE_IMAGE_UNITS: 35660;\n    readonly MAX_TEXTURE_IMAGE_UNITS: 34930;\n    readonly MAX_FRAGMENT_UNIFORM_VECTORS: 36349;\n    readonly SHADER_TYPE: 35663;\n    readonly DELETE_STATUS: 35712;\n    readonly LINK_STATUS: 35714;\n    readonly VALIDATE_STATUS: 35715;\n    readonly ATTACHED_SHADERS: 35717;\n    readonly ACTIVE_UNIFORMS: 35718;\n    readonly ACTIVE_ATTRIBUTES: 35721;\n    readonly SHADING_LANGUAGE_VERSION: 35724;\n    readonly CURRENT_PROGRAM: 35725;\n    readonly NEVER: 512;\n    readonly LESS: 513;\n    readonly EQUAL: 514;\n    readonly LEQUAL: 515;\n    readonly GREATER: 516;\n    readonly NOTEQUAL: 517;\n    readonly GEQUAL: 518;\n    readonly ALWAYS: 519;\n    readonly KEEP: 7680;\n    readonly REPLACE: 7681;\n    readonly INCR: 7682;\n    readonly DECR: 7683;\n    readonly INVERT: 5386;\n    readonly INCR_WRAP: 34055;\n    readonly DECR_WRAP: 34056;\n    readonly VENDOR: 7936;\n    readonly RENDERER: 7937;\n    readonly VERSION: 7938;\n    readonly NEAREST: 9728;\n    readonly LINEAR: 9729;\n    readonly NEAREST_MIPMAP_NEAREST: 9984;\n    readonly LINEAR_MIPMAP_NEAREST: 9985;\n    readonly NEAREST_MIPMAP_LINEAR: 9986;\n    readonly LINEAR_MIPMAP_LINEAR: 9987;\n    readonly TEXTURE_MAG_FILTER: 10240;\n    readonly TEXTURE_MIN_FILTER: 10241;\n    readonly TEXTURE_WRAP_S: 10242;\n    readonly TEXTURE_WRAP_T: 10243;\n    readonly TEXTURE_2D: 3553;\n    readonly TEXTURE: 5890;\n    readonly TEXTURE_CUBE_MAP: 34067;\n    readonly TEXTURE_BINDING_CUBE_MAP: 34068;\n    readonly TEXTURE_CUBE_MAP_POSITIVE_X: 34069;\n    readonly TEXTURE_CUBE_MAP_NEGATIVE_X: 34070;\n    readonly TEXTURE_CUBE_MAP_POSITIVE_Y: 34071;\n    readonly TEXTURE_CUBE_MAP_NEGATIVE_Y: 34072;\n    readonly TEXTURE_CUBE_MAP_POSITIVE_Z: 34073;\n    readonly TEXTURE_CUBE_MAP_NEGATIVE_Z: 34074;\n    readonly MAX_CUBE_MAP_TEXTURE_SIZE: 34076;\n    readonly TEXTURE0: 33984;\n    readonly TEXTURE1: 33985;\n    readonly TEXTURE2: 33986;\n    readonly TEXTURE3: 33987;\n    readonly TEXTURE4: 33988;\n    readonly TEXTURE5: 33989;\n    readonly TEXTURE6: 33990;\n    readonly TEXTURE7: 33991;\n    readonly TEXTURE8: 33992;\n    readonly TEXTURE9: 33993;\n    readonly TEXTURE10: 33994;\n    readonly TEXTURE11: 33995;\n    readonly TEXTURE12: 33996;\n    readonly TEXTURE13: 33997;\n    readonly TEXTURE14: 33998;\n    readonly TEXTURE15: 33999;\n    readonly TEXTURE16: 34000;\n    readonly TEXTURE17: 34001;\n    readonly TEXTURE18: 34002;\n    readonly TEXTURE19: 34003;\n    readonly TEXTURE20: 34004;\n    readonly TEXTURE21: 34005;\n    readonly TEXTURE22: 34006;\n    readonly TEXTURE23: 34007;\n    readonly TEXTURE24: 34008;\n    readonly TEXTURE25: 34009;\n    readonly TEXTURE26: 34010;\n    readonly TEXTURE27: 34011;\n    readonly TEXTURE28: 34012;\n    readonly TEXTURE29: 34013;\n    readonly TEXTURE30: 34014;\n    readonly TEXTURE31: 34015;\n    readonly ACTIVE_TEXTURE: 34016;\n    readonly REPEAT: 10497;\n    readonly CLAMP_TO_EDGE: 33071;\n    readonly MIRRORED_REPEAT: 33648;\n    readonly FLOAT_VEC2: 35664;\n    readonly FLOAT_VEC3: 35665;\n    readonly FLOAT_VEC4: 35666;\n    readonly INT_VEC2: 35667;\n    readonly INT_VEC3: 35668;\n    readonly INT_VEC4: 35669;\n    readonly BOOL: 35670;\n    readonly BOOL_VEC2: 35671;\n    readonly BOOL_VEC3: 35672;\n    readonly BOOL_VEC4: 35673;\n    readonly FLOAT_MAT2: 35674;\n    readonly FLOAT_MAT3: 35675;\n    readonly FLOAT_MAT4: 35676;\n    readonly SAMPLER_2D: 35678;\n    readonly SAMPLER_CUBE: 35680;\n    readonly VERTEX_ATTRIB_ARRAY_ENABLED: 34338;\n    readonly VERTEX_ATTRIB_ARRAY_SIZE: 34339;\n    readonly VERTEX_ATTRIB_ARRAY_STRIDE: 34340;\n    readonly VERTEX_ATTRIB_ARRAY_TYPE: 34341;\n    readonly VERTEX_ATTRIB_ARRAY_NORMALIZED: 34922;\n    readonly VERTEX_ATTRIB_ARRAY_POINTER: 34373;\n    readonly VERTEX_ATTRIB_ARRAY_BUFFER_BINDING: 34975;\n    readonly IMPLEMENTATION_COLOR_READ_TYPE: 35738;\n    readonly IMPLEMENTATION_COLOR_READ_FORMAT: 35739;\n    readonly COMPILE_STATUS: 35713;\n    readonly LOW_FLOAT: 36336;\n    readonly MEDIUM_FLOAT: 36337;\n    readonly HIGH_FLOAT: 36338;\n    readonly LOW_INT: 36339;\n    readonly MEDIUM_INT: 36340;\n    readonly HIGH_INT: 36341;\n    readonly FRAMEBUFFER: 36160;\n    readonly RENDERBUFFER: 36161;\n    readonly RGBA4: 32854;\n    readonly RGB5_A1: 32855;\n    readonly RGBA8: 32856;\n    readonly RGB565: 36194;\n    readonly DEPTH_COMPONENT16: 33189;\n    readonly STENCIL_INDEX8: 36168;\n    readonly DEPTH_STENCIL: 34041;\n    readonly RENDERBUFFER_WIDTH: 36162;\n    readonly RENDERBUFFER_HEIGHT: 36163;\n    readonly RENDERBUFFER_INTERNAL_FORMAT: 36164;\n    readonly RENDERBUFFER_RED_SIZE: 36176;\n    readonly RENDERBUFFER_GREEN_SIZE: 36177;\n    readonly RENDERBUFFER_BLUE_SIZE: 36178;\n    readonly RENDERBUFFER_ALPHA_SIZE: 36179;\n    readonly RENDERBUFFER_DEPTH_SIZE: 36180;\n    readonly RENDERBUFFER_STENCIL_SIZE: 36181;\n    readonly FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE: 36048;\n    readonly FRAMEBUFFER_ATTACHMENT_OBJECT_NAME: 36049;\n    readonly FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL: 36050;\n    readonly FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE: 36051;\n    readonly COLOR_ATTACHMENT0: 36064;\n    readonly DEPTH_ATTACHMENT: 36096;\n    readonly STENCIL_ATTACHMENT: 36128;\n    readonly DEPTH_STENCIL_ATTACHMENT: 33306;\n    readonly NONE: 0;\n    readonly FRAMEBUFFER_COMPLETE: 36053;\n    readonly FRAMEBUFFER_INCOMPLETE_ATTACHMENT: 36054;\n    readonly FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT: 36055;\n    readonly FRAMEBUFFER_INCOMPLETE_DIMENSIONS: 36057;\n    readonly FRAMEBUFFER_UNSUPPORTED: 36061;\n    readonly FRAMEBUFFER_BINDING: 36006;\n    readonly RENDERBUFFER_BINDING: 36007;\n    readonly MAX_RENDERBUFFER_SIZE: 34024;\n    readonly INVALID_FRAMEBUFFER_OPERATION: 1286;\n    readonly UNPACK_FLIP_Y_WEBGL: 37440;\n    readonly UNPACK_PREMULTIPLY_ALPHA_WEBGL: 37441;\n    readonly CONTEXT_LOST_WEBGL: 37442;\n    readonly UNPACK_COLORSPACE_CONVERSION_WEBGL: 37443;\n    readonly BROWSER_DEFAULT_WEBGL: 37444;\n}\ninterface WebGLRenderingContextOverloads {\n    bufferData(target: GLenum, size: GLsizeiptr, usage: GLenum): void;\n    bufferData(target: GLenum, data: AllowSharedBufferSource | null, usage: GLenum): void;\n    bufferSubData(target: GLenum, offset: GLintptr, data: AllowSharedBufferSource): void;\n    compressedTexImage2D(target: GLenum, level: GLint, internalformat: GLenum, width: GLsizei, height: GLsizei, border: GLint, data: ArrayBufferView<ArrayBufferLike>): void;\n    compressedTexSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, data: ArrayBufferView<ArrayBufferLike>): void;\n    readPixels(x: GLint, y: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, pixels: ArrayBufferView<ArrayBufferLike> | null): void;\n    texImage2D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, border: GLint, format: GLenum, type: GLenum, pixels: ArrayBufferView<ArrayBufferLike> | null): void;\n    texImage2D(target: GLenum, level: GLint, internalformat: GLint, format: GLenum, type: GLenum, source: TexImageSource): void;\n    texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, pixels: ArrayBufferView<ArrayBufferLike> | null): void;\n    texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, format: GLenum, type: GLenum, source: TexImageSource): void;\n    uniform1fv(location: WebGLUniformLocation | null, v: Float32List): void;\n    uniform1iv(location: WebGLUniformLocation | null, v: Int32List): void;\n    uniform2fv(location: WebGLUniformLocation | null, v: Float32List): void;\n    uniform2iv(location: WebGLUniformLocation | null, v: Int32List): void;\n    uniform3fv(location: WebGLUniformLocation | null, v: Float32List): void;\n    uniform3iv(location: WebGLUniformLocation | null, v: Int32List): void;\n    uniform4fv(location: WebGLUniformLocation | null, v: Float32List): void;\n    uniform4iv(location: WebGLUniformLocation | null, v: Int32List): void;\n    uniformMatrix2fv(location: WebGLUniformLocation | null, transpose: GLboolean, value: Float32List): void;\n    uniformMatrix3fv(location: WebGLUniformLocation | null, transpose: GLboolean, value: Float32List): void;\n    uniformMatrix4fv(location: WebGLUniformLocation | null, transpose: GLboolean, value: Float32List): void;\n}\ninterface WebGLSampler {\n}\ndeclare var WebGLSampler: {\n    prototype: WebGLSampler;\n    new (): WebGLSampler;\n};\ninterface WebGLShader {\n}\ndeclare var WebGLShader: {\n    prototype: WebGLShader;\n    new (): WebGLShader;\n};\ninterface WebGLShaderPrecisionFormat {\n    readonly precision: GLint;\n    readonly rangeMax: GLint;\n    readonly rangeMin: GLint;\n}\ndeclare var WebGLShaderPrecisionFormat: {\n    prototype: WebGLShaderPrecisionFormat;\n    new (): WebGLShaderPrecisionFormat;\n};\ninterface WebGLSync {\n}\ndeclare var WebGLSync: {\n    prototype: WebGLSync;\n    new (): WebGLSync;\n};\ninterface WebGLTexture {\n}\ndeclare var WebGLTexture: {\n    prototype: WebGLTexture;\n    new (): WebGLTexture;\n};\ninterface WebGLTransformFeedback {\n}\ndeclare var WebGLTransformFeedback: {\n    prototype: WebGLTransformFeedback;\n    new (): WebGLTransformFeedback;\n};\ninterface WebGLUniformLocation {\n}\ndeclare var WebGLUniformLocation: {\n    prototype: WebGLUniformLocation;\n    new (): WebGLUniformLocation;\n};\ninterface WebGLVertexArrayObject {\n}\ndeclare var WebGLVertexArrayObject: {\n    prototype: WebGLVertexArrayObject;\n    new (): WebGLVertexArrayObject;\n};\ninterface WebGLVertexArrayObjectOES {\n}\ninterface WebSocketEventMap {\n    \"close\": CloseEvent;\n    \"error\": Event;\n    \"message\": MessageEvent;\n    \"open\": Event;\n}\ninterface WebSocket extends EventTarget {\n    binaryType: BinaryType;\n    readonly bufferedAmount: number;\n    readonly extensions: string;\n    onclose: ((this: WebSocket, ev: CloseEvent) => any) | null;\n    onerror: ((this: WebSocket, ev: Event) => any) | null;\n    onmessage: ((this: WebSocket, ev: MessageEvent) => any) | null;\n    onopen: ((this: WebSocket, ev: Event) => any) | null;\n    readonly protocol: string;\n    readonly readyState: 0 | 1 | 2 | 3;\n    readonly url: string;\n    close(code?: number, reason?: string): void;\n    send(data: BufferSource | Blob | string): void;\n    readonly CONNECTING: 0;\n    readonly OPEN: 1;\n    readonly CLOSING: 2;\n    readonly CLOSED: 3;\n    addEventListener<K extends keyof WebSocketEventMap>(type: K, listener: (this: WebSocket, ev: WebSocketEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof WebSocketEventMap>(type: K, listener: (this: WebSocket, ev: WebSocketEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var WebSocket: {\n    prototype: WebSocket;\n    new (url: string | URL, protocols?: string | string[]): WebSocket;\n    readonly CONNECTING: 0;\n    readonly OPEN: 1;\n    readonly CLOSING: 2;\n    readonly CLOSED: 3;\n};\ninterface WebTransport {\n    readonly closed: Promise<WebTransportCloseInfo>;\n    readonly datagrams: WebTransportDatagramDuplexStream;\n    readonly incomingBidirectionalStreams: ReadableStream;\n    readonly incomingUnidirectionalStreams: ReadableStream;\n    readonly ready: Promise<void>;\n    close(closeInfo?: WebTransportCloseInfo): void;\n    createBidirectionalStream(options?: WebTransportSendStreamOptions): Promise<WebTransportBidirectionalStream>;\n    createUnidirectionalStream(options?: WebTransportSendStreamOptions): Promise<WritableStream>;\n}\ndeclare var WebTransport: {\n    prototype: WebTransport;\n    new (url: string | URL, options?: WebTransportOptions): WebTransport;\n};\ninterface WebTransportBidirectionalStream {\n    readonly readable: ReadableStream;\n    readonly writable: WritableStream;\n}\ndeclare var WebTransportBidirectionalStream: {\n    prototype: WebTransportBidirectionalStream;\n    new (): WebTransportBidirectionalStream;\n};\ninterface WebTransportDatagramDuplexStream {\n    incomingHighWaterMark: number;\n    incomingMaxAge: number | null;\n    readonly maxDatagramSize: number;\n    outgoingHighWaterMark: number;\n    outgoingMaxAge: number | null;\n    readonly readable: ReadableStream;\n    readonly writable: WritableStream;\n}\ndeclare var WebTransportDatagramDuplexStream: {\n    prototype: WebTransportDatagramDuplexStream;\n    new (): WebTransportDatagramDuplexStream;\n};\ninterface WebTransportError extends DOMException {\n    readonly source: WebTransportErrorSource;\n    readonly streamErrorCode: number | null;\n}\ndeclare var WebTransportError: {\n    prototype: WebTransportError;\n    new (message?: string, options?: WebTransportErrorOptions): WebTransportError;\n};\ninterface WindowClient extends Client {\n    readonly focused: boolean;\n    readonly visibilityState: DocumentVisibilityState;\n    focus(): Promise<WindowClient>;\n    navigate(url: string | URL): Promise<WindowClient | null>;\n}\ndeclare var WindowClient: {\n    prototype: WindowClient;\n    new (): WindowClient;\n};\ninterface WindowOrWorkerGlobalScope {\n    readonly caches: CacheStorage;\n    readonly crossOriginIsolated: boolean;\n    readonly crypto: Crypto;\n    readonly indexedDB: IDBFactory;\n    readonly isSecureContext: boolean;\n    readonly origin: string;\n    readonly performance: Performance;\n    readonly scheduler: Scheduler;\n    atob(data: string): string;\n    btoa(data: string): string;\n    clearInterval(id: number | undefined): void;\n    clearTimeout(id: number | undefined): void;\n    createImageBitmap(image: ImageBitmapSource, options?: ImageBitmapOptions): Promise<ImageBitmap>;\n    createImageBitmap(image: ImageBitmapSource, sx: number, sy: number, sw: number, sh: number, options?: ImageBitmapOptions): Promise<ImageBitmap>;\n    fetch(input: RequestInfo | URL, init?: RequestInit): Promise<Response>;\n    queueMicrotask(callback: VoidFunction): void;\n    reportError(e: any): void;\n    setInterval(handler: TimerHandler, timeout?: number, ...arguments: any[]): number;\n    setTimeout(handler: TimerHandler, timeout?: number, ...arguments: any[]): number;\n    structuredClone<T = any>(value: T, options?: StructuredSerializeOptions): T;\n}\ninterface WorkerEventMap extends AbstractWorkerEventMap, MessageEventTargetEventMap {\n}\ninterface Worker extends EventTarget, AbstractWorker, MessageEventTarget<Worker> {\n    postMessage(message: any, transfer: Transferable[]): void;\n    postMessage(message: any, options?: StructuredSerializeOptions): void;\n    terminate(): void;\n    addEventListener<K extends keyof WorkerEventMap>(type: K, listener: (this: Worker, ev: WorkerEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof WorkerEventMap>(type: K, listener: (this: Worker, ev: WorkerEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var Worker: {\n    prototype: Worker;\n    new (scriptURL: string | URL, options?: WorkerOptions): Worker;\n};\ninterface WorkerGlobalScopeEventMap {\n    \"error\": ErrorEvent;\n    \"languagechange\": Event;\n    \"offline\": Event;\n    \"online\": Event;\n    \"rejectionhandled\": PromiseRejectionEvent;\n    \"unhandledrejection\": PromiseRejectionEvent;\n}\ninterface WorkerGlobalScope extends EventTarget, FontFaceSource, WindowOrWorkerGlobalScope {\n    readonly location: WorkerLocation;\n    readonly navigator: WorkerNavigator;\n    onerror: ((this: WorkerGlobalScope, ev: ErrorEvent) => any) | null;\n    onlanguagechange: ((this: WorkerGlobalScope, ev: Event) => any) | null;\n    onoffline: ((this: WorkerGlobalScope, ev: Event) => any) | null;\n    ononline: ((this: WorkerGlobalScope, ev: Event) => any) | null;\n    onrejectionhandled: ((this: WorkerGlobalScope, ev: PromiseRejectionEvent) => any) | null;\n    onunhandledrejection: ((this: WorkerGlobalScope, ev: PromiseRejectionEvent) => any) | null;\n    readonly self: WorkerGlobalScope & typeof globalThis;\n    importScripts(...urls: (string | URL)[]): void;\n    addEventListener<K extends keyof WorkerGlobalScopeEventMap>(type: K, listener: (this: WorkerGlobalScope, ev: WorkerGlobalScopeEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof WorkerGlobalScopeEventMap>(type: K, listener: (this: WorkerGlobalScope, ev: WorkerGlobalScopeEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var WorkerGlobalScope: {\n    prototype: WorkerGlobalScope;\n    new (): WorkerGlobalScope;\n};\ninterface WorkerLocation {\n    readonly hash: string;\n    readonly host: string;\n    readonly hostname: string;\n    readonly href: string;\n    toString(): string;\n    readonly origin: string;\n    readonly pathname: string;\n    readonly port: string;\n    readonly protocol: string;\n    readonly search: string;\n}\ndeclare var WorkerLocation: {\n    prototype: WorkerLocation;\n    new (): WorkerLocation;\n};\ninterface WorkerNavigator extends NavigatorBadge, NavigatorConcurrentHardware, NavigatorGPU, NavigatorID, NavigatorLanguage, NavigatorLocks, NavigatorOnLine, NavigatorStorage {\n    readonly mediaCapabilities: MediaCapabilities;\n    readonly permissions: Permissions;\n    readonly serviceWorker: ServiceWorkerContainer;\n}\ndeclare var WorkerNavigator: {\n    prototype: WorkerNavigator;\n    new (): WorkerNavigator;\n};\ninterface WritableStream<W = any> {\n    readonly locked: boolean;\n    abort(reason?: any): Promise<void>;\n    close(): Promise<void>;\n    getWriter(): WritableStreamDefaultWriter<W>;\n}\ndeclare var WritableStream: {\n    prototype: WritableStream;\n    new <W = any>(underlyingSink?: UnderlyingSink<W>, strategy?: QueuingStrategy<W>): WritableStream<W>;\n};\ninterface WritableStreamDefaultController {\n    readonly signal: AbortSignal;\n    error(e?: any): void;\n}\ndeclare var WritableStreamDefaultController: {\n    prototype: WritableStreamDefaultController;\n    new (): WritableStreamDefaultController;\n};\ninterface WritableStreamDefaultWriter<W = any> {\n    readonly closed: Promise<void>;\n    readonly desiredSize: number | null;\n    readonly ready: Promise<void>;\n    abort(reason?: any): Promise<void>;\n    close(): Promise<void>;\n    releaseLock(): void;\n    write(chunk?: W): Promise<void>;\n}\ndeclare var WritableStreamDefaultWriter: {\n    prototype: WritableStreamDefaultWriter;\n    new <W = any>(stream: WritableStream<W>): WritableStreamDefaultWriter<W>;\n};\ninterface XMLHttpRequestEventMap extends XMLHttpRequestEventTargetEventMap {\n    \"readystatechange\": Event;\n}\ninterface XMLHttpRequest extends XMLHttpRequestEventTarget {\n    onreadystatechange: ((this: XMLHttpRequest, ev: Event) => any) | null;\n    readonly readyState: number;\n    readonly response: any;\n    readonly responseText: string;\n    responseType: XMLHttpRequestResponseType;\n    readonly responseURL: string;\n    readonly status: number;\n    readonly statusText: string;\n    timeout: number;\n    readonly upload: XMLHttpRequestUpload;\n    withCredentials: boolean;\n    abort(): void;\n    getAllResponseHeaders(): string;\n    getResponseHeader(name: string): string | null;\n    open(method: string, url: string | URL): void;\n    open(method: string, url: string | URL, async: boolean, username?: string | null, password?: string | null): void;\n    overrideMimeType(mime: string): void;\n    send(body?: XMLHttpRequestBodyInit | null): void;\n    setRequestHeader(name: string, value: string): void;\n    readonly UNSENT: 0;\n    readonly OPENED: 1;\n    readonly HEADERS_RECEIVED: 2;\n    readonly LOADING: 3;\n    readonly DONE: 4;\n    addEventListener<K extends keyof XMLHttpRequestEventMap>(type: K, listener: (this: XMLHttpRequest, ev: XMLHttpRequestEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof XMLHttpRequestEventMap>(type: K, listener: (this: XMLHttpRequest, ev: XMLHttpRequestEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var XMLHttpRequest: {\n    prototype: XMLHttpRequest;\n    new (): XMLHttpRequest;\n    readonly UNSENT: 0;\n    readonly OPENED: 1;\n    readonly HEADERS_RECEIVED: 2;\n    readonly LOADING: 3;\n    readonly DONE: 4;\n};\ninterface XMLHttpRequestEventTargetEventMap {\n    \"abort\": ProgressEvent<XMLHttpRequestEventTarget>;\n    \"error\": ProgressEvent<XMLHttpRequestEventTarget>;\n    \"load\": ProgressEvent<XMLHttpRequestEventTarget>;\n    \"loadend\": ProgressEvent<XMLHttpRequestEventTarget>;\n    \"loadstart\": ProgressEvent<XMLHttpRequestEventTarget>;\n    \"progress\": ProgressEvent<XMLHttpRequestEventTarget>;\n    \"timeout\": ProgressEvent<XMLHttpRequestEventTarget>;\n}\ninterface XMLHttpRequestEventTarget extends EventTarget {\n    onabort: ((this: XMLHttpRequest, ev: ProgressEvent) => any) | null;\n    onerror: ((this: XMLHttpRequest, ev: ProgressEvent) => any) | null;\n    onload: ((this: XMLHttpRequest, ev: ProgressEvent) => any) | null;\n    onloadend: ((this: XMLHttpRequest, ev: ProgressEvent) => any) | null;\n    onloadstart: ((this: XMLHttpRequest, ev: ProgressEvent) => any) | null;\n    onprogress: ((this: XMLHttpRequest, ev: ProgressEvent) => any) | null;\n    ontimeout: ((this: XMLHttpRequest, ev: ProgressEvent) => any) | null;\n    addEventListener<K extends keyof XMLHttpRequestEventTargetEventMap>(type: K, listener: (this: XMLHttpRequestEventTarget, ev: XMLHttpRequestEventTargetEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof XMLHttpRequestEventTargetEventMap>(type: K, listener: (this: XMLHttpRequestEventTarget, ev: XMLHttpRequestEventTargetEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var XMLHttpRequestEventTarget: {\n    prototype: XMLHttpRequestEventTarget;\n    new (): XMLHttpRequestEventTarget;\n};\ninterface XMLHttpRequestUpload extends XMLHttpRequestEventTarget {\n    addEventListener<K extends keyof XMLHttpRequestEventTargetEventMap>(type: K, listener: (this: XMLHttpRequestUpload, ev: XMLHttpRequestEventTargetEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof XMLHttpRequestEventTargetEventMap>(type: K, listener: (this: XMLHttpRequestUpload, ev: XMLHttpRequestEventTargetEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\ndeclare var XMLHttpRequestUpload: {\n    prototype: XMLHttpRequestUpload;\n    new (): XMLHttpRequestUpload;\n};\ndeclare namespace WebAssembly {\n    interface CompileError extends Error {\n    }\n    var CompileError: {\n        prototype: CompileError;\n        new (message?: string): CompileError;\n        (message?: string): CompileError;\n    };\n    interface Exception {\n        readonly stack: string | undefined;\n        getArg(exceptionTag: Tag, index: number): any;\n        is(exceptionTag: Tag): boolean;\n    }\n    var Exception: {\n        prototype: Exception;\n        new (exceptionTag: Tag, payload: any[], options?: ExceptionOptions): Exception;\n    };\n    interface Global<T extends ValueType = ValueType> {\n        value: ValueTypeMap[T];\n        valueOf(): ValueTypeMap[T];\n    }\n    var Global: {\n        prototype: Global;\n        new <T extends ValueType = ValueType>(descriptor: GlobalDescriptor<T>, v?: ValueTypeMap[T]): Global<T>;\n    };\n    interface Instance {\n        readonly exports: Exports;\n    }\n    var Instance: {\n        prototype: Instance;\n        new (module: Module, importObject?: Imports): Instance;\n    };\n    interface LinkError extends Error {\n    }\n    var LinkError: {\n        prototype: LinkError;\n        new (message?: string): LinkError;\n        (message?: string): LinkError;\n    };\n    interface Memory {\n        readonly buffer: ArrayBuffer;\n        grow(delta: AddressValue): AddressValue;\n        toFixedLengthBuffer(): ArrayBuffer;\n        toResizableBuffer(): ArrayBuffer;\n    }\n    var Memory: {\n        prototype: Memory;\n        new (descriptor: MemoryDescriptor): Memory;\n    };\n    interface Module {\n    }\n    var Module: {\n        prototype: Module;\n        new (bytes: BufferSource, options?: WebAssemblyCompileOptions): Module;\n        customSections(moduleObject: Module, sectionName: string): ArrayBuffer[];\n        exports(moduleObject: Module): ModuleExportDescriptor[];\n        imports(moduleObject: Module): ModuleImportDescriptor[];\n    };\n    interface RuntimeError extends Error {\n    }\n    var RuntimeError: {\n        prototype: RuntimeError;\n        new (message?: string): RuntimeError;\n        (message?: string): RuntimeError;\n    };\n    interface Table {\n        readonly length: AddressValue;\n        get(index: AddressValue): any;\n        grow(delta: AddressValue, value?: any): AddressValue;\n        set(index: AddressValue, value?: any): void;\n    }\n    var Table: {\n        prototype: Table;\n        new (descriptor: TableDescriptor, value?: any): Table;\n    };\n    interface Tag {\n    }\n    var Tag: {\n        prototype: Tag;\n        new (type: TagType): Tag;\n    };\n    interface ExceptionOptions {\n        traceStack?: boolean;\n    }\n    interface GlobalDescriptor<T extends ValueType = ValueType> {\n        mutable?: boolean;\n        value: T;\n    }\n    interface MemoryDescriptor {\n        address?: AddressType;\n        initial: AddressValue;\n        maximum?: AddressValue;\n        shared?: boolean;\n    }\n    interface ModuleExportDescriptor {\n        kind: ImportExportKind;\n        name: string;\n    }\n    interface ModuleImportDescriptor {\n        kind: ImportExportKind;\n        module: string;\n        name: string;\n    }\n    interface TableDescriptor {\n        address?: AddressType;\n        element: TableKind;\n        initial: AddressValue;\n        maximum?: AddressValue;\n    }\n    interface TagType {\n        parameters: ValueType[];\n    }\n    interface ValueTypeMap {\n        anyfunc: Function;\n        externref: any;\n        f32: number;\n        f64: number;\n        i32: number;\n        i64: bigint;\n        v128: never;\n    }\n    interface WebAssemblyCompileOptions {\n        builtins?: string[];\n        importedStringConstants?: string | null;\n    }\n    interface WebAssemblyInstantiatedSource {\n        instance: Instance;\n        module: Module;\n    }\n    type AddressType = \"i32\" | \"i64\";\n    type ImportExportKind = \"function\" | \"global\" | \"memory\" | \"table\" | \"tag\";\n    type TableKind = \"anyfunc\" | \"externref\";\n    type AddressValue = number;\n    type ExportValue = Function | Global | Memory | Table;\n    type Exports = Record<string, ExportValue>;\n    type ImportValue = ExportValue | number;\n    type Imports = Record<string, ModuleImports>;\n    type ModuleImports = Record<string, ImportValue>;\n    type ValueType = keyof ValueTypeMap;\n    var JSTag: Tag;\n    function compile(bytes: BufferSource, options?: WebAssemblyCompileOptions): Promise<Module>;\n    function compileStreaming(source: Response | PromiseLike<Response>, options?: WebAssemblyCompileOptions): Promise<Module>;\n    function instantiate(bytes: BufferSource, importObject?: Imports, options?: WebAssemblyCompileOptions): Promise<WebAssemblyInstantiatedSource>;\n    function instantiate(moduleObject: Module, importObject?: Imports): Promise<Instance>;\n    function instantiateStreaming(source: Response | PromiseLike<Response>, importObject?: Imports, options?: WebAssemblyCompileOptions): Promise<WebAssemblyInstantiatedSource>;\n    function validate(bytes: BufferSource, options?: WebAssemblyCompileOptions): boolean;\n}\ninterface Console {\n    assert(condition?: boolean, ...data: any[]): void;\n    clear(): void;\n    count(label?: string): void;\n    countReset(label?: string): void;\n    debug(...data: any[]): void;\n    dir(item?: any, options?: any): void;\n    dirxml(...data: any[]): void;\n    error(...data: any[]): void;\n    group(...data: any[]): void;\n    groupCollapsed(...data: any[]): void;\n    groupEnd(): void;\n    info(...data: any[]): void;\n    log(...data: any[]): void;\n    table(tabularData?: any, properties?: string[]): void;\n    time(label?: string): void;\n    timeEnd(label?: string): void;\n    timeLog(label?: string, ...data: any[]): void;\n    timeStamp(label?: string): void;\n    trace(...data: any[]): void;\n    warn(...data: any[]): void;\n}\ndeclare var console: Console;\ninterface AudioDataOutputCallback {\n    (output: AudioData): void;\n}\ninterface EncodedAudioChunkOutputCallback {\n    (output: EncodedAudioChunk, metadata?: EncodedAudioChunkMetadata): void;\n}\ninterface EncodedVideoChunkOutputCallback {\n    (chunk: EncodedVideoChunk, metadata?: EncodedVideoChunkMetadata): void;\n}\ninterface FrameRequestCallback {\n    (time: DOMHighResTimeStamp): void;\n}\ninterface LockGrantedCallback<T> {\n    (lock: Lock | null): T;\n}\ninterface OnErrorEventHandlerNonNull {\n    (event: Event | string, source?: string, lineno?: number, colno?: number, error?: Error): any;\n}\ninterface PerformanceObserverCallback {\n    (entries: PerformanceObserverEntryList, observer: PerformanceObserver): void;\n}\ninterface QueuingStrategySize<T = any> {\n    (chunk: T): number;\n}\ninterface ReportingObserverCallback {\n    (reports: Report[], observer: ReportingObserver): void;\n}\ninterface SchedulerPostTaskCallback {\n    (): any;\n}\ninterface TransformerFlushCallback<O> {\n    (controller: TransformStreamDefaultController<O>): void | PromiseLike<void>;\n}\ninterface TransformerStartCallback<O> {\n    (controller: TransformStreamDefaultController<O>): any;\n}\ninterface TransformerTransformCallback<I, O> {\n    (chunk: I, controller: TransformStreamDefaultController<O>): void | PromiseLike<void>;\n}\ninterface UnderlyingSinkAbortCallback {\n    (reason?: any): void | PromiseLike<void>;\n}\ninterface UnderlyingSinkCloseCallback {\n    (): void | PromiseLike<void>;\n}\ninterface UnderlyingSinkStartCallback {\n    (controller: WritableStreamDefaultController): any;\n}\ninterface UnderlyingSinkWriteCallback<W> {\n    (chunk: W, controller: WritableStreamDefaultController): void | PromiseLike<void>;\n}\ninterface UnderlyingSourceCancelCallback {\n    (reason?: any): void | PromiseLike<void>;\n}\ninterface UnderlyingSourcePullCallback<R> {\n    (controller: ReadableStreamController<R>): void | PromiseLike<void>;\n}\ninterface UnderlyingSourceStartCallback<R> {\n    (controller: ReadableStreamController<R>): any;\n}\ninterface VideoFrameOutputCallback {\n    (output: VideoFrame): void;\n}\ninterface VoidFunction {\n    (): void;\n}\ninterface WebCodecsErrorCallback {\n    (error: DOMException): void;\n}\ndeclare var name: string;\ndeclare var onrtctransform: ((this: DedicatedWorkerGlobalScope, ev: RTCTransformEvent) => any) | null;\ndeclare function close(): void;\ndeclare function postMessage(message: any, transfer: Transferable[]): void;\ndeclare function postMessage(message: any, options?: StructuredSerializeOptions): void;\ndeclare function dispatchEvent(event: Event): boolean;\ndeclare var location: WorkerLocation;\ndeclare var navigator: WorkerNavigator;\ndeclare var onerror: ((this: DedicatedWorkerGlobalScope, ev: ErrorEvent) => any) | null;\ndeclare var onlanguagechange: ((this: DedicatedWorkerGlobalScope, ev: Event) => any) | null;\ndeclare var onoffline: ((this: DedicatedWorkerGlobalScope, ev: Event) => any) | null;\ndeclare var ononline: ((this: DedicatedWorkerGlobalScope, ev: Event) => any) | null;\ndeclare var onrejectionhandled: ((this: DedicatedWorkerGlobalScope, ev: PromiseRejectionEvent) => any) | null;\ndeclare var onunhandledrejection: ((this: DedicatedWorkerGlobalScope, ev: PromiseRejectionEvent) => any) | null;\ndeclare var self: WorkerGlobalScope & typeof globalThis;\ndeclare function importScripts(...urls: (string | URL)[]): void;\ndeclare function dispatchEvent(event: Event): boolean;\ndeclare var fonts: FontFaceSet;\ndeclare var caches: CacheStorage;\ndeclare var crossOriginIsolated: boolean;\ndeclare var crypto: Crypto;\ndeclare var indexedDB: IDBFactory;\ndeclare var isSecureContext: boolean;\ndeclare var origin: string;\ndeclare var performance: Performance;\ndeclare var scheduler: Scheduler;\ndeclare function atob(data: string): string;\ndeclare function btoa(data: string): string;\ndeclare function clearInterval(id: number | undefined): void;\ndeclare function clearTimeout(id: number | undefined): void;\ndeclare function createImageBitmap(image: ImageBitmapSource, options?: ImageBitmapOptions): Promise<ImageBitmap>;\ndeclare function createImageBitmap(image: ImageBitmapSource, sx: number, sy: number, sw: number, sh: number, options?: ImageBitmapOptions): Promise<ImageBitmap>;\ndeclare function fetch(input: RequestInfo | URL, init?: RequestInit): Promise<Response>;\ndeclare function queueMicrotask(callback: VoidFunction): void;\ndeclare function reportError(e: any): void;\ndeclare function setInterval(handler: TimerHandler, timeout?: number, ...arguments: any[]): number;\ndeclare function setTimeout(handler: TimerHandler, timeout?: number, ...arguments: any[]): number;\ndeclare function structuredClone<T = any>(value: T, options?: StructuredSerializeOptions): T;\ndeclare function cancelAnimationFrame(handle: number): void;\ndeclare function requestAnimationFrame(callback: FrameRequestCallback): number;\ndeclare var onmessage: ((this: DedicatedWorkerGlobalScope, ev: MessageEvent) => any) | null;\ndeclare var onmessageerror: ((this: DedicatedWorkerGlobalScope, ev: MessageEvent) => any) | null;\ndeclare function addEventListener<K extends keyof DedicatedWorkerGlobalScopeEventMap>(type: K, listener: (this: DedicatedWorkerGlobalScope, ev: DedicatedWorkerGlobalScopeEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\ndeclare function addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\ndeclare function removeEventListener<K extends keyof DedicatedWorkerGlobalScopeEventMap>(type: K, listener: (this: DedicatedWorkerGlobalScope, ev: DedicatedWorkerGlobalScopeEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\ndeclare function removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\ntype AlgorithmIdentifier = Algorithm | string;\ntype AllowSharedBufferSource = ArrayBufferLike | ArrayBufferView<ArrayBufferLike>;\ntype BigInteger = Uint8Array<ArrayBuffer>;\ntype BlobPart = BufferSource | Blob | string;\ntype BodyInit = ReadableStream | XMLHttpRequestBodyInit;\ntype BufferSource = ArrayBufferView<ArrayBuffer> | ArrayBuffer;\ntype CSSKeywordish = string | CSSKeywordValue;\ntype CSSNumberish = number | CSSNumericValue;\ntype CSSPerspectiveValue = CSSNumericValue | CSSKeywordish;\ntype CSSUnparsedSegment = string | CSSVariableReferenceValue;\ntype CanvasImageSource = ImageBitmap | OffscreenCanvas | VideoFrame;\ntype CookieList = CookieListItem[];\ntype DOMHighResTimeStamp = number;\ntype EpochTimeStamp = number;\ntype EventListenerOrEventListenerObject = EventListener | EventListenerObject;\ntype FileSystemWriteChunkType = BufferSource | Blob | string | WriteParams;\ntype Float32List = Float32Array<ArrayBufferLike> | GLfloat[];\ntype FormDataEntryValue = File | string;\ntype GLbitfield = number;\ntype GLboolean = boolean;\ntype GLclampf = number;\ntype GLenum = number;\ntype GLfloat = number;\ntype GLint = number;\ntype GLint64 = number;\ntype GLintptr = number;\ntype GLsizei = number;\ntype GLsizeiptr = number;\ntype GLuint = number;\ntype GLuint64 = number;\ntype GPUBindingResource = GPUSampler | GPUTexture | GPUTextureView | GPUBuffer | GPUBufferBinding | GPUExternalTexture;\ntype GPUBufferDynamicOffset = number;\ntype GPUBufferUsageFlags = number;\ntype GPUColor = number[] | GPUColorDict;\ntype GPUColorWriteFlags = number;\ntype GPUCopyExternalImageSource = ImageBitmap | ImageData | VideoFrame | OffscreenCanvas;\ntype GPUDepthBias = number;\ntype GPUExtent3D = GPUIntegerCoordinate[] | GPUExtent3DDict;\ntype GPUFlagsConstant = number;\ntype GPUIndex32 = number;\ntype GPUIntegerCoordinate = number;\ntype GPUIntegerCoordinateOut = number;\ntype GPUMapModeFlags = number;\ntype GPUOrigin2D = GPUIntegerCoordinate[] | GPUOrigin2DDict;\ntype GPUOrigin3D = GPUIntegerCoordinate[] | GPUOrigin3DDict;\ntype GPUPipelineConstantValue = number;\ntype GPUSampleMask = number;\ntype GPUShaderStageFlags = number;\ntype GPUSignedOffset32 = number;\ntype GPUSize32 = number;\ntype GPUSize32Out = number;\ntype GPUSize64 = number;\ntype GPUSize64Out = number;\ntype GPUStencilValue = number;\ntype GPUTextureUsageFlags = number;\ntype HashAlgorithmIdentifier = AlgorithmIdentifier;\ntype HeadersInit = [\n    string,\n    string\n][] | Record<string, string> | Headers;\ntype IDBValidKey = number | string | Date | BufferSource | IDBValidKey[];\ntype ImageBitmapSource = CanvasImageSource | Blob | ImageData;\ntype ImageBufferSource = AllowSharedBufferSource | ReadableStream;\ntype ImageDataArray = Uint8ClampedArray<ArrayBuffer>;\ntype Int32List = Int32Array<ArrayBufferLike> | GLint[];\ntype MessageEventSource = MessagePort | ServiceWorker;\ntype NamedCurve = string;\ntype OffscreenRenderingContext = OffscreenCanvasRenderingContext2D | ImageBitmapRenderingContext | WebGLRenderingContext | WebGL2RenderingContext | GPUCanvasContext;\ntype OnErrorEventHandler = OnErrorEventHandlerNonNull | null;\ntype PerformanceEntryList = PerformanceEntry[];\ntype PushMessageDataInit = BufferSource | string;\ntype ReadableStreamController<T> = ReadableStreamDefaultController<T> | ReadableByteStreamController;\ntype ReadableStreamReadResult<T> = ReadableStreamReadValueResult<T> | ReadableStreamReadDoneResult<T>;\ntype ReadableStreamReader<T> = ReadableStreamDefaultReader<T> | ReadableStreamBYOBReader;\ntype ReportList = Report[];\ntype RequestInfo = Request | string;\ntype TexImageSource = ImageBitmap | ImageData | OffscreenCanvas | VideoFrame;\ntype TimerHandler = string | Function;\ntype Transferable = OffscreenCanvas | ImageBitmap | MessagePort | MediaSourceHandle | ReadableStream | WritableStream | TransformStream | AudioData | VideoFrame | RTCDataChannel | ArrayBuffer;\ntype URLPatternInput = string | URLPatternInit;\ntype Uint32List = Uint32Array<ArrayBufferLike> | GLuint[];\ntype XMLHttpRequestBodyInit = Blob | BufferSource | FormData | URLSearchParams | string;\ntype AacBitstreamFormat = \"aac\" | \"adts\";\ntype AlphaOption = \"discard\" | \"keep\";\ntype AudioSampleFormat = \"f32\" | \"f32-planar\" | \"s16\" | \"s16-planar\" | \"s32\" | \"s32-planar\" | \"u8\" | \"u8-planar\";\ntype AvcBitstreamFormat = \"annexb\" | \"avc\";\ntype BinaryType = \"arraybuffer\" | \"blob\";\ntype BitrateMode = \"constant\" | \"variable\";\ntype CSSMathOperator = \"clamp\" | \"invert\" | \"max\" | \"min\" | \"negate\" | \"product\" | \"sum\";\ntype CSSNumericBaseType = \"angle\" | \"flex\" | \"frequency\" | \"length\" | \"percent\" | \"resolution\" | \"time\";\ntype CanvasDirection = \"inherit\" | \"ltr\" | \"rtl\";\ntype CanvasFillRule = \"evenodd\" | \"nonzero\";\ntype CanvasFontKerning = \"auto\" | \"none\" | \"normal\";\ntype CanvasFontStretch = \"condensed\" | \"expanded\" | \"extra-condensed\" | \"extra-expanded\" | \"normal\" | \"semi-condensed\" | \"semi-expanded\" | \"ultra-condensed\" | \"ultra-expanded\";\ntype CanvasFontVariantCaps = \"all-petite-caps\" | \"all-small-caps\" | \"normal\" | \"petite-caps\" | \"small-caps\" | \"titling-caps\" | \"unicase\";\ntype CanvasLineCap = \"butt\" | \"round\" | \"square\";\ntype CanvasLineJoin = \"bevel\" | \"miter\" | \"round\";\ntype CanvasTextAlign = \"center\" | \"end\" | \"left\" | \"right\" | \"start\";\ntype CanvasTextBaseline = \"alphabetic\" | \"bottom\" | \"hanging\" | \"ideographic\" | \"middle\" | \"top\";\ntype CanvasTextRendering = \"auto\" | \"geometricPrecision\" | \"optimizeLegibility\" | \"optimizeSpeed\";\ntype ClientTypes = \"all\" | \"sharedworker\" | \"window\" | \"worker\";\ntype CodecState = \"closed\" | \"configured\" | \"unconfigured\";\ntype ColorGamut = \"p3\" | \"rec2020\" | \"srgb\";\ntype ColorSpaceConversion = \"default\" | \"none\";\ntype CompressionFormat = \"deflate\" | \"deflate-raw\" | \"gzip\";\ntype CookieSameSite = \"lax\" | \"none\" | \"strict\";\ntype DocumentVisibilityState = \"hidden\" | \"visible\";\ntype EncodedAudioChunkType = \"delta\" | \"key\";\ntype EncodedVideoChunkType = \"delta\" | \"key\";\ntype EndingType = \"native\" | \"transparent\";\ntype FileSystemHandleKind = \"directory\" | \"file\";\ntype FontDisplay = \"auto\" | \"block\" | \"fallback\" | \"optional\" | \"swap\";\ntype FontFaceLoadStatus = \"error\" | \"loaded\" | \"loading\" | \"unloaded\";\ntype FontFaceSetLoadStatus = \"loaded\" | \"loading\";\ntype FrameType = \"auxiliary\" | \"nested\" | \"none\" | \"top-level\";\ntype GPUAddressMode = \"clamp-to-edge\" | \"mirror-repeat\" | \"repeat\";\ntype GPUAutoLayoutMode = \"auto\";\ntype GPUBlendFactor = \"constant\" | \"dst\" | \"dst-alpha\" | \"one\" | \"one-minus-constant\" | \"one-minus-dst\" | \"one-minus-dst-alpha\" | \"one-minus-src\" | \"one-minus-src-alpha\" | \"src\" | \"src-alpha\" | \"src-alpha-saturated\" | \"zero\";\ntype GPUBlendOperation = \"add\" | \"max\" | \"min\" | \"reverse-subtract\" | \"subtract\";\ntype GPUBufferBindingType = \"read-only-storage\" | \"storage\" | \"uniform\";\ntype GPUBufferMapState = \"mapped\" | \"pending\" | \"unmapped\";\ntype GPUCanvasAlphaMode = \"opaque\" | \"premultiplied\";\ntype GPUCanvasToneMappingMode = \"extended\" | \"standard\";\ntype GPUCompareFunction = \"always\" | \"equal\" | \"greater\" | \"greater-equal\" | \"less\" | \"less-equal\" | \"never\" | \"not-equal\";\ntype GPUCompilationMessageType = \"error\" | \"info\" | \"warning\";\ntype GPUCullMode = \"back\" | \"front\" | \"none\";\ntype GPUDeviceLostReason = \"destroyed\" | \"unknown\";\ntype GPUErrorFilter = \"internal\" | \"out-of-memory\" | \"validation\";\ntype GPUFeatureName = \"bgra8unorm-storage\" | \"clip-distances\" | \"core-features-and-limits\" | \"depth-clip-control\" | \"depth32float-stencil8\" | \"dual-source-blending\" | \"float32-blendable\" | \"float32-filterable\" | \"indirect-first-instance\" | \"primitive-index\" | \"rg11b10ufloat-renderable\" | \"shader-f16\" | \"subgroups\" | \"texture-compression-astc\" | \"texture-compression-astc-sliced-3d\" | \"texture-compression-bc\" | \"texture-compression-bc-sliced-3d\" | \"texture-compression-etc2\" | \"texture-formats-tier1\" | \"timestamp-query\";\ntype GPUFilterMode = \"linear\" | \"nearest\";\ntype GPUFrontFace = \"ccw\" | \"cw\";\ntype GPUIndexFormat = \"uint16\" | \"uint32\";\ntype GPULoadOp = \"clear\" | \"load\";\ntype GPUMipmapFilterMode = \"linear\" | \"nearest\";\ntype GPUPipelineErrorReason = \"internal\" | \"validation\";\ntype GPUPowerPreference = \"high-performance\" | \"low-power\";\ntype GPUPrimitiveTopology = \"line-list\" | \"line-strip\" | \"point-list\" | \"triangle-list\" | \"triangle-strip\";\ntype GPUQueryType = \"occlusion\" | \"timestamp\";\ntype GPUSamplerBindingType = \"comparison\" | \"filtering\" | \"non-filtering\";\ntype GPUStencilOperation = \"decrement-clamp\" | \"decrement-wrap\" | \"increment-clamp\" | \"increment-wrap\" | \"invert\" | \"keep\" | \"replace\" | \"zero\";\ntype GPUStorageTextureAccess = \"read-only\" | \"read-write\" | \"write-only\";\ntype GPUStoreOp = \"discard\" | \"store\";\ntype GPUTextureAspect = \"all\" | \"depth-only\" | \"stencil-only\";\ntype GPUTextureDimension = \"1d\" | \"2d\" | \"3d\";\ntype GPUTextureFormat = \"astc-10x10-unorm\" | \"astc-10x10-unorm-srgb\" | \"astc-10x5-unorm\" | \"astc-10x5-unorm-srgb\" | \"astc-10x6-unorm\" | \"astc-10x6-unorm-srgb\" | \"astc-10x8-unorm\" | \"astc-10x8-unorm-srgb\" | \"astc-12x10-unorm\" | \"astc-12x10-unorm-srgb\" | \"astc-12x12-unorm\" | \"astc-12x12-unorm-srgb\" | \"astc-4x4-unorm\" | \"astc-4x4-unorm-srgb\" | \"astc-5x4-unorm\" | \"astc-5x4-unorm-srgb\" | \"astc-5x5-unorm\" | \"astc-5x5-unorm-srgb\" | \"astc-6x5-unorm\" | \"astc-6x5-unorm-srgb\" | \"astc-6x6-unorm\" | \"astc-6x6-unorm-srgb\" | \"astc-8x5-unorm\" | \"astc-8x5-unorm-srgb\" | \"astc-8x6-unorm\" | \"astc-8x6-unorm-srgb\" | \"astc-8x8-unorm\" | \"astc-8x8-unorm-srgb\" | \"bc1-rgba-unorm\" | \"bc1-rgba-unorm-srgb\" | \"bc2-rgba-unorm\" | \"bc2-rgba-unorm-srgb\" | \"bc3-rgba-unorm\" | \"bc3-rgba-unorm-srgb\" | \"bc4-r-snorm\" | \"bc4-r-unorm\" | \"bc5-rg-snorm\" | \"bc5-rg-unorm\" | \"bc6h-rgb-float\" | \"bc6h-rgb-ufloat\" | \"bc7-rgba-unorm\" | \"bc7-rgba-unorm-srgb\" | \"bgra8unorm\" | \"bgra8unorm-srgb\" | \"depth16unorm\" | \"depth24plus\" | \"depth24plus-stencil8\" | \"depth32float\" | \"depth32float-stencil8\" | \"eac-r11snorm\" | \"eac-r11unorm\" | \"eac-rg11snorm\" | \"eac-rg11unorm\" | \"etc2-rgb8a1unorm\" | \"etc2-rgb8a1unorm-srgb\" | \"etc2-rgb8unorm\" | \"etc2-rgb8unorm-srgb\" | \"etc2-rgba8unorm\" | \"etc2-rgba8unorm-srgb\" | \"r16float\" | \"r16sint\" | \"r16snorm\" | \"r16uint\" | \"r16unorm\" | \"r32float\" | \"r32sint\" | \"r32uint\" | \"r8sint\" | \"r8snorm\" | \"r8uint\" | \"r8unorm\" | \"rg11b10ufloat\" | \"rg16float\" | \"rg16sint\" | \"rg16snorm\" | \"rg16uint\" | \"rg16unorm\" | \"rg32float\" | \"rg32sint\" | \"rg32uint\" | \"rg8sint\" | \"rg8snorm\" | \"rg8uint\" | \"rg8unorm\" | \"rgb10a2uint\" | \"rgb10a2unorm\" | \"rgb9e5ufloat\" | \"rgba16float\" | \"rgba16sint\" | \"rgba16snorm\" | \"rgba16uint\" | \"rgba16unorm\" | \"rgba32float\" | \"rgba32sint\" | \"rgba32uint\" | \"rgba8sint\" | \"rgba8snorm\" | \"rgba8uint\" | \"rgba8unorm\" | \"rgba8unorm-srgb\" | \"stencil8\";\ntype GPUTextureSampleType = \"depth\" | \"float\" | \"sint\" | \"uint\" | \"unfilterable-float\";\ntype GPUTextureViewDimension = \"1d\" | \"2d\" | \"2d-array\" | \"3d\" | \"cube\" | \"cube-array\";\ntype GPUVertexFormat = \"float16\" | \"float16x2\" | \"float16x4\" | \"float32\" | \"float32x2\" | \"float32x3\" | \"float32x4\" | \"sint16\" | \"sint16x2\" | \"sint16x4\" | \"sint32\" | \"sint32x2\" | \"sint32x3\" | \"sint32x4\" | \"sint8\" | \"sint8x2\" | \"sint8x4\" | \"snorm16\" | \"snorm16x2\" | \"snorm16x4\" | \"snorm8\" | \"snorm8x2\" | \"snorm8x4\" | \"uint16\" | \"uint16x2\" | \"uint16x4\" | \"uint32\" | \"uint32x2\" | \"uint32x3\" | \"uint32x4\" | \"uint8\" | \"uint8x2\" | \"uint8x4\" | \"unorm10-10-10-2\" | \"unorm16\" | \"unorm16x2\" | \"unorm16x4\" | \"unorm8\" | \"unorm8x2\" | \"unorm8x4\" | \"unorm8x4-bgra\";\ntype GPUVertexStepMode = \"instance\" | \"vertex\";\ntype GlobalCompositeOperation = \"color\" | \"color-burn\" | \"color-dodge\" | \"copy\" | \"darken\" | \"destination-atop\" | \"destination-in\" | \"destination-out\" | \"destination-over\" | \"difference\" | \"exclusion\" | \"hard-light\" | \"hue\" | \"lighten\" | \"lighter\" | \"luminosity\" | \"multiply\" | \"overlay\" | \"saturation\" | \"screen\" | \"soft-light\" | \"source-atop\" | \"source-in\" | \"source-out\" | \"source-over\" | \"xor\";\ntype HardwareAcceleration = \"no-preference\" | \"prefer-hardware\" | \"prefer-software\";\ntype HdrMetadataType = \"smpteSt2086\" | \"smpteSt2094-10\" | \"smpteSt2094-40\";\ntype IDBCursorDirection = \"next\" | \"nextunique\" | \"prev\" | \"prevunique\";\ntype IDBRequestReadyState = \"done\" | \"pending\";\ntype IDBTransactionDurability = \"default\" | \"relaxed\" | \"strict\";\ntype IDBTransactionMode = \"readonly\" | \"readwrite\" | \"versionchange\";\ntype ImageDataPixelFormat = \"rgba-float16\" | \"rgba-unorm8\";\ntype ImageOrientation = \"flipY\" | \"from-image\" | \"none\";\ntype ImageSmoothingQuality = \"high\" | \"low\" | \"medium\";\ntype KeyFormat = \"jwk\" | \"pkcs8\" | \"raw\" | \"spki\";\ntype KeyType = \"private\" | \"public\" | \"secret\";\ntype KeyUsage = \"decrypt\" | \"deriveBits\" | \"deriveKey\" | \"encrypt\" | \"sign\" | \"unwrapKey\" | \"verify\" | \"wrapKey\";\ntype LatencyMode = \"quality\" | \"realtime\";\ntype LockMode = \"exclusive\" | \"shared\";\ntype MediaDecodingType = \"file\" | \"media-source\" | \"webrtc\";\ntype MediaEncodingType = \"record\" | \"webrtc\";\ntype MediaKeysRequirement = \"not-allowed\" | \"optional\" | \"required\";\ntype NotificationDirection = \"auto\" | \"ltr\" | \"rtl\";\ntype NotificationPermission = \"default\" | \"denied\" | \"granted\";\ntype OffscreenRenderingContextId = \"2d\" | \"bitmaprenderer\" | \"webgl\" | \"webgl2\" | \"webgpu\";\ntype OpusBitstreamFormat = \"ogg\" | \"opus\";\ntype PermissionName = \"camera\" | \"geolocation\" | \"microphone\" | \"midi\" | \"notifications\" | \"persistent-storage\" | \"push\" | \"screen-wake-lock\" | \"storage-access\";\ntype PermissionState = \"denied\" | \"granted\" | \"prompt\";\ntype PredefinedColorSpace = \"display-p3\" | \"srgb\";\ntype PremultiplyAlpha = \"default\" | \"none\" | \"premultiply\";\ntype PushEncryptionKeyName = \"auth\" | \"p256dh\";\ntype RTCDataChannelState = \"closed\" | \"closing\" | \"connecting\" | \"open\";\ntype ReadableStreamReaderMode = \"byob\";\ntype ReadableStreamType = \"bytes\";\ntype ReferrerPolicy = \"\" | \"no-referrer\" | \"no-referrer-when-downgrade\" | \"origin\" | \"origin-when-cross-origin\" | \"same-origin\" | \"strict-origin\" | \"strict-origin-when-cross-origin\" | \"unsafe-url\";\ntype RequestCache = \"default\" | \"force-cache\" | \"no-cache\" | \"no-store\" | \"only-if-cached\" | \"reload\";\ntype RequestCredentials = \"include\" | \"omit\" | \"same-origin\";\ntype RequestDestination = \"\" | \"audio\" | \"audioworklet\" | \"document\" | \"embed\" | \"font\" | \"frame\" | \"iframe\" | \"image\" | \"manifest\" | \"object\" | \"paintworklet\" | \"report\" | \"script\" | \"sharedworker\" | \"style\" | \"track\" | \"video\" | \"worker\" | \"xslt\";\ntype RequestMode = \"cors\" | \"navigate\" | \"no-cors\" | \"same-origin\";\ntype RequestPriority = \"auto\" | \"high\" | \"low\";\ntype RequestRedirect = \"error\" | \"follow\" | \"manual\";\ntype ResizeQuality = \"high\" | \"low\" | \"medium\" | \"pixelated\";\ntype ResponseType = \"basic\" | \"cors\" | \"default\" | \"error\" | \"opaque\" | \"opaqueredirect\";\ntype SecurityPolicyViolationEventDisposition = \"enforce\" | \"report\";\ntype ServiceWorkerState = \"activated\" | \"activating\" | \"installed\" | \"installing\" | \"parsed\" | \"redundant\";\ntype ServiceWorkerUpdateViaCache = \"all\" | \"imports\" | \"none\";\ntype TaskPriority = \"background\" | \"user-blocking\" | \"user-visible\";\ntype TransferFunction = \"hlg\" | \"pq\" | \"srgb\";\ntype VideoColorPrimaries = \"bt470bg\" | \"bt709\" | \"smpte170m\";\ntype VideoEncoderBitrateMode = \"constant\" | \"quantizer\" | \"variable\";\ntype VideoMatrixCoefficients = \"bt470bg\" | \"bt709\" | \"rgb\" | \"smpte170m\";\ntype VideoPixelFormat = \"BGRA\" | \"BGRX\" | \"I420\" | \"I420A\" | \"I422\" | \"I444\" | \"NV12\" | \"RGBA\" | \"RGBX\";\ntype VideoTransferCharacteristics = \"bt709\" | \"iec61966-2-1\" | \"smpte170m\";\ntype WebGLPowerPreference = \"default\" | \"high-performance\" | \"low-power\";\ntype WebTransportCongestionControl = \"default\" | \"low-latency\" | \"throughput\";\ntype WebTransportErrorSource = \"session\" | \"stream\";\ntype WorkerType = \"classic\" | \"module\";\ntype WriteCommandType = \"seek\" | \"truncate\" | \"write\";\ntype XMLHttpRequestResponseType = \"\" | \"arraybuffer\" | \"blob\" | \"document\" | \"json\" | \"text\";\ninterface CSSNumericArray {\n    [Symbol.iterator](): ArrayIterator<CSSNumericValue>;\n    entries(): ArrayIterator<[\n        number,\n        CSSNumericValue\n    ]>;\n    keys(): ArrayIterator<number>;\n    values(): ArrayIterator<CSSNumericValue>;\n}\ninterface CSSTransformValue {\n    [Symbol.iterator](): ArrayIterator<CSSTransformComponent>;\n    entries(): ArrayIterator<[\n        number,\n        CSSTransformComponent\n    ]>;\n    keys(): ArrayIterator<number>;\n    values(): ArrayIterator<CSSTransformComponent>;\n}\ninterface CSSUnparsedValue {\n    [Symbol.iterator](): ArrayIterator<CSSUnparsedSegment>;\n    entries(): ArrayIterator<[\n        number,\n        CSSUnparsedSegment\n    ]>;\n    keys(): ArrayIterator<number>;\n    values(): ArrayIterator<CSSUnparsedSegment>;\n}\ninterface Cache {\n    addAll(requests: Iterable<RequestInfo>): Promise<void>;\n}\ninterface CanvasPath {\n    roundRect(x: number, y: number, w: number, h: number, radii?: number | DOMPointInit | Iterable<number | DOMPointInit>): void;\n}\ninterface CanvasPathDrawingStyles {\n    setLineDash(segments: Iterable<number>): void;\n}\ninterface CookieStoreManager {\n    subscribe(subscriptions: Iterable<CookieStoreGetOptions>): Promise<void>;\n    unsubscribe(subscriptions: Iterable<CookieStoreGetOptions>): Promise<void>;\n}\ninterface DOMStringList {\n    [Symbol.iterator](): ArrayIterator<string>;\n}\ninterface FileList {\n    [Symbol.iterator](): ArrayIterator<File>;\n}\ninterface FontFaceSet extends Set<FontFace> {\n}\ninterface FormDataIterator<T> extends IteratorObject<T, BuiltinIteratorReturn, unknown> {\n    [Symbol.iterator](): FormDataIterator<T>;\n}\ninterface FormData {\n    [Symbol.iterator](): FormDataIterator<[\n        string,\n        FormDataEntryValue\n    ]>;\n    entries(): FormDataIterator<[\n        string,\n        FormDataEntryValue\n    ]>;\n    keys(): FormDataIterator<string>;\n    values(): FormDataIterator<FormDataEntryValue>;\n}\ninterface GPUBindingCommandsMixin {\n    setBindGroup(index: GPUIndex32, bindGroup: GPUBindGroup | null, dynamicOffsets?: Iterable<GPUBufferDynamicOffset>): void;\n}\ninterface GPUCommandEncoder {\n    copyBufferToTexture(source: GPUTexelCopyBufferInfo, destination: GPUTexelCopyTextureInfo, copySize: Iterable<GPUIntegerCoordinate>): void;\n    copyTextureToBuffer(source: GPUTexelCopyTextureInfo, destination: GPUTexelCopyBufferInfo, copySize: Iterable<GPUIntegerCoordinate>): void;\n    copyTextureToTexture(source: GPUTexelCopyTextureInfo, destination: GPUTexelCopyTextureInfo, copySize: Iterable<GPUIntegerCoordinate>): void;\n}\ninterface GPUQueue {\n    copyExternalImageToTexture(source: GPUCopyExternalImageSourceInfo, destination: GPUCopyExternalImageDestInfo, copySize: Iterable<GPUIntegerCoordinate>): void;\n    submit(commandBuffers: Iterable<GPUCommandBuffer>): void;\n    writeTexture(destination: GPUTexelCopyTextureInfo, data: AllowSharedBufferSource, dataLayout: GPUTexelCopyBufferLayout, size: Iterable<GPUIntegerCoordinate>): void;\n}\ninterface GPURenderPassEncoder {\n    executeBundles(bundles: Iterable<GPURenderBundle>): void;\n    setBlendConstant(color: Iterable<number>): void;\n}\ninterface GPUSupportedFeatures extends ReadonlySet<string> {\n}\ninterface HeadersIterator<T> extends IteratorObject<T, BuiltinIteratorReturn, unknown> {\n    [Symbol.iterator](): HeadersIterator<T>;\n}\ninterface Headers {\n    [Symbol.iterator](): HeadersIterator<[\n        string,\n        string\n    ]>;\n    entries(): HeadersIterator<[\n        string,\n        string\n    ]>;\n    keys(): HeadersIterator<string>;\n    values(): HeadersIterator<string>;\n}\ninterface IDBDatabase {\n    transaction(storeNames: string | Iterable<string>, mode?: IDBTransactionMode, options?: IDBTransactionOptions): IDBTransaction;\n}\ninterface IDBObjectStore {\n    createIndex(name: string, keyPath: string | Iterable<string>, options?: IDBIndexParameters): IDBIndex;\n}\ninterface ImageTrackList {\n    [Symbol.iterator](): ArrayIterator<ImageTrack>;\n}\ninterface MessageEvent<T = any> {\n    initMessageEvent(type: string, bubbles?: boolean, cancelable?: boolean, data?: any, origin?: string, lastEventId?: string, source?: MessageEventSource | null, ports?: Iterable<MessagePort>): void;\n}\ninterface StylePropertyMapReadOnlyIterator<T> extends IteratorObject<T, BuiltinIteratorReturn, unknown> {\n    [Symbol.iterator](): StylePropertyMapReadOnlyIterator<T>;\n}\ninterface StylePropertyMapReadOnly {\n    [Symbol.iterator](): StylePropertyMapReadOnlyIterator<[\n        string,\n        Iterable<CSSStyleValue>\n    ]>;\n    entries(): StylePropertyMapReadOnlyIterator<[\n        string,\n        Iterable<CSSStyleValue>\n    ]>;\n    keys(): StylePropertyMapReadOnlyIterator<string>;\n    values(): StylePropertyMapReadOnlyIterator<Iterable<CSSStyleValue>>;\n}\ninterface SubtleCrypto {\n    deriveKey(algorithm: AlgorithmIdentifier | EcdhKeyDeriveParams | HkdfParams | Pbkdf2Params, baseKey: CryptoKey, derivedKeyType: AlgorithmIdentifier | AesDerivedKeyParams | HmacImportParams | HkdfParams | Pbkdf2Params, extractable: boolean, keyUsages: Iterable<KeyUsage>): Promise<CryptoKey>;\n    generateKey(algorithm: \"Ed25519\" | {\n        name: \"Ed25519\";\n    }, extractable: boolean, keyUsages: ReadonlyArray<\"sign\" | \"verify\">): Promise<CryptoKeyPair>;\n    generateKey(algorithm: \"X25519\" | {\n        name: \"X25519\";\n    }, extractable: boolean, keyUsages: ReadonlyArray<\"deriveBits\" | \"deriveKey\">): Promise<CryptoKeyPair>;\n    generateKey(algorithm: RsaHashedKeyGenParams | EcKeyGenParams, extractable: boolean, keyUsages: ReadonlyArray<KeyUsage>): Promise<CryptoKeyPair>;\n    generateKey(algorithm: AesKeyGenParams | HmacKeyGenParams | Pbkdf2Params, extractable: boolean, keyUsages: ReadonlyArray<KeyUsage>): Promise<CryptoKey>;\n    generateKey(algorithm: AlgorithmIdentifier, extractable: boolean, keyUsages: Iterable<KeyUsage>): Promise<CryptoKeyPair | CryptoKey>;\n    importKey(format: \"jwk\", keyData: JsonWebKey, algorithm: AlgorithmIdentifier | RsaHashedImportParams | EcKeyImportParams | HmacImportParams | AesKeyAlgorithm, extractable: boolean, keyUsages: ReadonlyArray<KeyUsage>): Promise<CryptoKey>;\n    importKey(format: Exclude<KeyFormat, \"jwk\">, keyData: BufferSource, algorithm: AlgorithmIdentifier | RsaHashedImportParams | EcKeyImportParams | HmacImportParams | AesKeyAlgorithm, extractable: boolean, keyUsages: Iterable<KeyUsage>): Promise<CryptoKey>;\n    unwrapKey(format: KeyFormat, wrappedKey: BufferSource, unwrappingKey: CryptoKey, unwrapAlgorithm: AlgorithmIdentifier | RsaOaepParams | AesCtrParams | AesCbcParams | AesGcmParams, unwrappedKeyAlgorithm: AlgorithmIdentifier | RsaHashedImportParams | EcKeyImportParams | HmacImportParams | AesKeyAlgorithm, extractable: boolean, keyUsages: Iterable<KeyUsage>): Promise<CryptoKey>;\n}\ninterface URLSearchParamsIterator<T> extends IteratorObject<T, BuiltinIteratorReturn, unknown> {\n    [Symbol.iterator](): URLSearchParamsIterator<T>;\n}\ninterface URLSearchParams {\n    [Symbol.iterator](): URLSearchParamsIterator<[\n        string,\n        string\n    ]>;\n    entries(): URLSearchParamsIterator<[\n        string,\n        string\n    ]>;\n    keys(): URLSearchParamsIterator<string>;\n    values(): URLSearchParamsIterator<string>;\n}\ninterface WEBGL_draw_buffers {\n    drawBuffersWEBGL(buffers: Iterable<GLenum>): void;\n}\ninterface WEBGL_multi_draw {\n    multiDrawArraysInstancedWEBGL(mode: GLenum, firstsList: Int32Array<ArrayBufferLike> | Iterable<GLint>, firstsOffset: number, countsList: Int32Array<ArrayBufferLike> | Iterable<GLsizei>, countsOffset: number, instanceCountsList: Int32Array<ArrayBufferLike> | Iterable<GLsizei>, instanceCountsOffset: number, drawcount: GLsizei): void;\n    multiDrawArraysWEBGL(mode: GLenum, firstsList: Int32Array<ArrayBufferLike> | Iterable<GLint>, firstsOffset: number, countsList: Int32Array<ArrayBufferLike> | Iterable<GLsizei>, countsOffset: number, drawcount: GLsizei): void;\n    multiDrawElementsInstancedWEBGL(mode: GLenum, countsList: Int32Array<ArrayBufferLike> | Iterable<GLsizei>, countsOffset: number, type: GLenum, offsetsList: Int32Array<ArrayBufferLike> | Iterable<GLsizei>, offsetsOffset: number, instanceCountsList: Int32Array<ArrayBufferLike> | Iterable<GLsizei>, instanceCountsOffset: number, drawcount: GLsizei): void;\n    multiDrawElementsWEBGL(mode: GLenum, countsList: Int32Array<ArrayBufferLike> | Iterable<GLsizei>, countsOffset: number, type: GLenum, offsetsList: Int32Array<ArrayBufferLike> | Iterable<GLsizei>, offsetsOffset: number, drawcount: GLsizei): void;\n}\ninterface WGSLLanguageFeatures extends ReadonlySet<string> {\n}\ninterface WebGL2RenderingContextBase {\n    clearBufferfv(buffer: GLenum, drawbuffer: GLint, values: Iterable<GLfloat>, srcOffset?: number): void;\n    clearBufferiv(buffer: GLenum, drawbuffer: GLint, values: Iterable<GLint>, srcOffset?: number): void;\n    clearBufferuiv(buffer: GLenum, drawbuffer: GLint, values: Iterable<GLuint>, srcOffset?: number): void;\n    drawBuffers(buffers: Iterable<GLenum>): void;\n    getActiveUniforms(program: WebGLProgram, uniformIndices: Iterable<GLuint>, pname: GLenum): any;\n    getUniformIndices(program: WebGLProgram, uniformNames: Iterable<string>): GLuint[] | null;\n    invalidateFramebuffer(target: GLenum, attachments: Iterable<GLenum>): void;\n    invalidateSubFramebuffer(target: GLenum, attachments: Iterable<GLenum>, x: GLint, y: GLint, width: GLsizei, height: GLsizei): void;\n    transformFeedbackVaryings(program: WebGLProgram, varyings: Iterable<string>, bufferMode: GLenum): void;\n    uniform1uiv(location: WebGLUniformLocation | null, data: Iterable<GLuint>, srcOffset?: number, srcLength?: GLuint): void;\n    uniform2uiv(location: WebGLUniformLocation | null, data: Iterable<GLuint>, srcOffset?: number, srcLength?: GLuint): void;\n    uniform3uiv(location: WebGLUniformLocation | null, data: Iterable<GLuint>, srcOffset?: number, srcLength?: GLuint): void;\n    uniform4uiv(location: WebGLUniformLocation | null, data: Iterable<GLuint>, srcOffset?: number, srcLength?: GLuint): void;\n    uniformMatrix2x3fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Iterable<GLfloat>, srcOffset?: number, srcLength?: GLuint): void;\n    uniformMatrix2x4fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Iterable<GLfloat>, srcOffset?: number, srcLength?: GLuint): void;\n    uniformMatrix3x2fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Iterable<GLfloat>, srcOffset?: number, srcLength?: GLuint): void;\n    uniformMatrix3x4fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Iterable<GLfloat>, srcOffset?: number, srcLength?: GLuint): void;\n    uniformMatrix4x2fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Iterable<GLfloat>, srcOffset?: number, srcLength?: GLuint): void;\n    uniformMatrix4x3fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Iterable<GLfloat>, srcOffset?: number, srcLength?: GLuint): void;\n    vertexAttribI4iv(index: GLuint, values: Iterable<GLint>): void;\n    vertexAttribI4uiv(index: GLuint, values: Iterable<GLuint>): void;\n}\ninterface WebGL2RenderingContextOverloads {\n    uniform1fv(location: WebGLUniformLocation | null, data: Iterable<GLfloat>, srcOffset?: number, srcLength?: GLuint): void;\n    uniform1iv(location: WebGLUniformLocation | null, data: Iterable<GLint>, srcOffset?: number, srcLength?: GLuint): void;\n    uniform2fv(location: WebGLUniformLocation | null, data: Iterable<GLfloat>, srcOffset?: number, srcLength?: GLuint): void;\n    uniform2iv(location: WebGLUniformLocation | null, data: Iterable<GLint>, srcOffset?: number, srcLength?: GLuint): void;\n    uniform3fv(location: WebGLUniformLocation | null, data: Iterable<GLfloat>, srcOffset?: number, srcLength?: GLuint): void;\n    uniform3iv(location: WebGLUniformLocation | null, data: Iterable<GLint>, srcOffset?: number, srcLength?: GLuint): void;\n    uniform4fv(location: WebGLUniformLocation | null, data: Iterable<GLfloat>, srcOffset?: number, srcLength?: GLuint): void;\n    uniform4iv(location: WebGLUniformLocation | null, data: Iterable<GLint>, srcOffset?: number, srcLength?: GLuint): void;\n    uniformMatrix2fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Iterable<GLfloat>, srcOffset?: number, srcLength?: GLuint): void;\n    uniformMatrix3fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Iterable<GLfloat>, srcOffset?: number, srcLength?: GLuint): void;\n    uniformMatrix4fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Iterable<GLfloat>, srcOffset?: number, srcLength?: GLuint): void;\n}\ninterface WebGLRenderingContextBase {\n    vertexAttrib1fv(index: GLuint, values: Iterable<GLfloat>): void;\n    vertexAttrib2fv(index: GLuint, values: Iterable<GLfloat>): void;\n    vertexAttrib3fv(index: GLuint, values: Iterable<GLfloat>): void;\n    vertexAttrib4fv(index: GLuint, values: Iterable<GLfloat>): void;\n}\ninterface WebGLRenderingContextOverloads {\n    uniform1fv(location: WebGLUniformLocation | null, v: Iterable<GLfloat>): void;\n    uniform1iv(location: WebGLUniformLocation | null, v: Iterable<GLint>): void;\n    uniform2fv(location: WebGLUniformLocation | null, v: Iterable<GLfloat>): void;\n    uniform2iv(location: WebGLUniformLocation | null, v: Iterable<GLint>): void;\n    uniform3fv(location: WebGLUniformLocation | null, v: Iterable<GLfloat>): void;\n    uniform3iv(location: WebGLUniformLocation | null, v: Iterable<GLint>): void;\n    uniform4fv(location: WebGLUniformLocation | null, v: Iterable<GLfloat>): void;\n    uniform4iv(location: WebGLUniformLocation | null, v: Iterable<GLint>): void;\n    uniformMatrix2fv(location: WebGLUniformLocation | null, transpose: GLboolean, value: Iterable<GLfloat>): void;\n    uniformMatrix3fv(location: WebGLUniformLocation | null, transpose: GLboolean, value: Iterable<GLfloat>): void;\n    uniformMatrix4fv(location: WebGLUniformLocation | null, transpose: GLboolean, value: Iterable<GLfloat>): void;\n}\ninterface FileSystemDirectoryHandleAsyncIterator<T> extends AsyncIteratorObject<T, BuiltinIteratorReturn, unknown> {\n    [Symbol.asyncIterator](): FileSystemDirectoryHandleAsyncIterator<T>;\n}\ninterface FileSystemDirectoryHandle {\n    [Symbol.asyncIterator](): FileSystemDirectoryHandleAsyncIterator<[\n        string,\n        FileSystemDirectoryHandle | FileSystemFileHandle\n    ]>;\n    entries(): FileSystemDirectoryHandleAsyncIterator<[\n        string,\n        FileSystemDirectoryHandle | FileSystemFileHandle\n    ]>;\n    keys(): FileSystemDirectoryHandleAsyncIterator<string>;\n    values(): FileSystemDirectoryHandleAsyncIterator<FileSystemDirectoryHandle | FileSystemFileHandle>;\n}\ninterface ReadableStreamAsyncIterator<T> extends AsyncIteratorObject<T, BuiltinIteratorReturn, unknown> {\n    [Symbol.asyncIterator](): ReadableStreamAsyncIterator<T>;\n}\ninterface ReadableStream<R = any> {\n    [Symbol.asyncIterator](options?: ReadableStreamIteratorOptions): ReadableStreamAsyncIterator<R>;\n    values(options?: ReadableStreamIteratorOptions): ReadableStreamAsyncIterator<R>;\n}\n","lib.webworker.importscripts.d.ts":"/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABILITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\ndeclare function importScripts(...urls: string[]): void;\n","lib.webworker.iterable.d.ts":"/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABILITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n"}}