angular-three 4.0.0-next.96 → 4.0.0-next.98
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/angular-three-dom.mjs +2 -2
- package/fesm2022/angular-three-dom.mjs.map +1 -1
- package/fesm2022/angular-three-testing.mjs +2 -2
- package/fesm2022/angular-three-testing.mjs.map +1 -1
- package/fesm2022/angular-three.mjs +934 -826
- package/fesm2022/angular-three.mjs.map +1 -1
- package/index.d.ts +2 -1
- package/lib/loader-resource.d.ts +14 -0
- package/lib/loader.d.ts +11 -3
- package/lib/renderer/renderer.d.ts +1 -1
- package/lib/roots.d.ts +2 -2
- package/lib/utils/before-render.d.ts +6 -1
- package/lib/utils/object-events.d.ts +6 -1
- package/package.json +1 -1
- package/testing/lib/utils/web-gl-rendering-context.d.ts +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { inject, ViewContainerRef, Directive, ElementRef, NgZone, Injector, input, booleanAttribute, output, viewChild, contentChild, TemplateRef, computed, signal, afterNextRender, effect, DestroyRef, untracked, Component, ChangeDetectionStrategy, makeEnvironmentProviders, RendererFactory2 } from '@angular/core';
|
|
3
3
|
import { outputFromObservable } from '@angular/core/rxjs-interop';
|
|
4
|
-
import { createEvents, injectStore, NGT_CANVAS_CONTENT_FLAG,
|
|
4
|
+
import { createEvents, injectStore, NGT_CANVAS_CONTENT_FLAG, canvasRootInitializer, is, NGT_STORE, storeFactory, NGT_RENDERER_OPTIONS, NgtRendererFactory2 } from 'angular-three';
|
|
5
5
|
import { provideResizeOptions, NgxResize } from 'ngxtension/resize';
|
|
6
6
|
import { ɵDomRendererFactory2 as _DomRendererFactory2 } from '@angular/platform-browser';
|
|
7
7
|
|
|
@@ -100,7 +100,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImpor
|
|
|
100
100
|
class NgtCanvasImpl {
|
|
101
101
|
constructor() {
|
|
102
102
|
this.store = injectStore();
|
|
103
|
-
this.initRoot =
|
|
103
|
+
this.initRoot = canvasRootInitializer();
|
|
104
104
|
this.host = inject(ElementRef);
|
|
105
105
|
this.zone = inject(NgZone);
|
|
106
106
|
this.injector = inject(Injector);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"angular-three-dom.mjs","sources":["../../../../libs/core/dom/src/lib/events.ts","../../../../libs/core/dom/src/lib/canvas.ts","../../../../libs/core/dom/src/lib/renderer.ts","../../../../libs/core/dom/src/angular-three-dom.ts"],"sourcesContent":["import {\n\tcreateEvents,\n\tNgtAnyRecord,\n\tNgtDomEvent,\n\tNgtEventManager,\n\tNgtEvents,\n\tNgtState,\n\tSignalState,\n} from 'angular-three';\n\nconst DOM_EVENTS = {\n\tclick: false,\n\tcontextmenu: false,\n\tdblclick: false,\n\twheel: false, // passive wheel errors with OrbitControls\n\tpointerdown: true,\n\tpointerup: true,\n\tpointerleave: true,\n\tpointermove: true,\n\tpointercancel: true,\n\tlostpointercapture: true,\n} as const;\n\nexport const supportedEvents = [\n\t'click',\n\t'contextmenu',\n\t'dblclick',\n\t'pointerup',\n\t'pointerdown',\n\t'pointerover',\n\t'pointerout',\n\t'pointerenter',\n\t'pointerleave',\n\t'pointermove',\n\t'pointermissed',\n\t'pointercancel',\n\t'wheel',\n] as const;\n\nexport function createPointerEvents(store: SignalState<NgtState>): NgtEventManager<HTMLElement> {\n\tconst { handlePointer } = createEvents(store);\n\n\treturn {\n\t\tpriority: 1,\n\t\tenabled: true,\n\t\tcompute: (event: NgtDomEvent, root: SignalState<NgtState>) => {\n\t\t\tconst state = root.snapshot;\n\t\t\t// https://github.com/pmndrs/react-three-fiber/pull/782\n\t\t\t// Events trigger outside of canvas when moved, use offsetX/Y by default and allow overrides\n\t\t\tstate.pointer.set((event.offsetX / state.size.width) * 2 - 1, -(event.offsetY / state.size.height) * 2 + 1);\n\t\t\tstate.raycaster.setFromCamera(state.pointer, state.camera);\n\t\t},\n\t\tconnected: undefined,\n\t\thandlers: Object.keys(DOM_EVENTS).reduce((handlers: NgtAnyRecord, supportedEventName) => {\n\t\t\thandlers[supportedEventName] = handlePointer(supportedEventName);\n\t\t\treturn handlers;\n\t\t}, {}) as NgtEvents,\n\t\tupdate: () => {\n\t\t\tconst { events, internal } = store.snapshot;\n\t\t\tif (internal.lastEvent?.nativeElement && events.handlers)\n\t\t\t\tevents.handlers.pointermove(internal.lastEvent.nativeElement);\n\t\t},\n\t\tconnect: (target: HTMLElement) => {\n\t\t\tconst state = store.snapshot;\n\t\t\tstate.events.disconnect?.();\n\n\t\t\tstate.setEvents({ connected: target });\n\n\t\t\tObject.entries(state.events.handlers ?? {}).forEach(\n\t\t\t\t([eventName, eventHandler]: [string, EventListener]) => {\n\t\t\t\t\tconst passive = DOM_EVENTS[eventName as keyof typeof DOM_EVENTS];\n\t\t\t\t\ttarget.addEventListener(eventName, eventHandler, { passive });\n\t\t\t\t},\n\t\t\t);\n\t\t},\n\t\tdisconnect: () => {\n\t\t\tconst { events, setEvents } = store.snapshot;\n\t\t\tif (events.connected) {\n\t\t\t\tObject.entries(events.handlers ?? {}).forEach(([eventName, eventHandler]: [string, EventListener]) => {\n\t\t\t\t\tif (events.connected instanceof HTMLElement) {\n\t\t\t\t\t\tevents.connected.removeEventListener(eventName, eventHandler);\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\tsetEvents({ connected: undefined });\n\t\t\t}\n\t\t},\n\t};\n}\n","import {\n\tafterNextRender,\n\tbooleanAttribute,\n\tChangeDetectionStrategy,\n\tComponent,\n\tcomputed,\n\tcontentChild,\n\tDestroyRef,\n\tDirective,\n\teffect,\n\tElementRef,\n\tEmbeddedViewRef,\n\tinject,\n\tInjector,\n\tinput,\n\tNgZone,\n\toutput,\n\tsignal,\n\tTemplateRef,\n\tuntracked,\n\tviewChild,\n\tViewContainerRef,\n} from '@angular/core';\nimport { outputFromObservable } from '@angular/core/rxjs-interop';\nimport {\n\tinjectCanvasRootInitializer,\n\tinjectStore,\n\tis,\n\tNGT_CANVAS_CONTENT_FLAG,\n\tNGT_STORE,\n\tNgtCamera,\n\tNgtCameraParameters,\n\tNgtCanvasConfigurator,\n\tNgtDomEvent,\n\tNgtDpr,\n\tNgtEventPrefix,\n\tNgtFrameloop,\n\tNgtGLOptions,\n\tNgtPerformance,\n\tNgtShadows,\n\tNgtSize,\n\tNgtState,\n\tNgtVector3,\n\tstoreFactory,\n} from 'angular-three';\nimport { NgxResize, provideResizeOptions, ResizeOptions, ResizeResult } from 'ngxtension/resize';\nimport * as THREE from 'three';\nimport { createPointerEvents } from './events';\n\n@Directive({ selector: 'ng-template[canvasContent]' })\nexport class NgtCanvasContent {\n\tprivate canvas = inject(NgtCanvasImpl);\n\n\tget host() {\n\t\treturn this.canvas['host'].nativeElement;\n\t}\n\n\tconstructor() {\n\t\tconst store = injectStore();\n\t\tconst vcr = inject(ViewContainerRef);\n\t\tconst commentNode = vcr.element.nativeElement;\n\n\t\t// NOTE: flag this canvasContent ng-template comment node as the start\n\t\tcommentNode.data = NGT_CANVAS_CONTENT_FLAG;\n\t\tcommentNode[NGT_CANVAS_CONTENT_FLAG] = store;\n\t}\n}\n\n@Component({\n\tselector: 'ngt-canvas',\n\ttemplate: `\n\t\t<div (ngxResize)=\"resizeResult.set($event)\" style=\"height: 100%; width: 100%;\">\n\t\t\t<canvas #glCanvas style=\"display: block;\"></canvas>\n\t\t\t<ng-content />\n\t\t</div>\n\t`,\n\timports: [NgxResize],\n\tproviders: [\n\t\tprovideResizeOptions({\n\t\t\temitInZone: false,\n\t\t\temitInitialResult: true,\n\t\t\tdebounce: { scroll: 50, resize: 0 },\n\t\t} as ResizeOptions),\n\t\t{ provide: NGT_STORE, useFactory: storeFactory },\n\t],\n\thost: {\n\t\tstyle: 'display: block;position: relative;width: 100%;height: 100%;overflow: hidden;',\n\t\t'[style.pointerEvents]': 'hbPointerEvents()',\n\t\tngSkipHydration: 'true',\n\t},\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NgtCanvasImpl {\n\tprivate store = injectStore();\n\tprivate initRoot = injectCanvasRootInitializer();\n\n\tprivate host = inject<ElementRef<HTMLElement>>(ElementRef);\n\tprivate zone = inject(NgZone);\n\tprivate injector = inject(Injector);\n\n\tgl = input<NgtGLOptions>();\n\tsize = input<NgtSize>();\n\tshadows = input(false, {\n\t\ttransform: (value) => {\n\t\t\tif (value === '') return booleanAttribute(value);\n\t\t\treturn value as NgtShadows;\n\t\t},\n\t});\n\tlegacy = input(false, { transform: booleanAttribute });\n\tlinear = input(false, { transform: booleanAttribute });\n\tflat = input(false, { transform: booleanAttribute });\n\torthographic = input(false, { transform: booleanAttribute });\n\tframeloop = input<NgtFrameloop>('always');\n\tperformance = input<Partial<Omit<NgtPerformance, 'regress'>>>();\n\tdpr = input<NgtDpr>([1, 2]);\n\traycaster = input<Partial<THREE.Raycaster>>();\n\tscene = input<THREE.Scene | Partial<THREE.Scene>>();\n\tcamera = input<NgtCamera | NgtCameraParameters>();\n\tevents = input(createPointerEvents);\n\teventSource = input<HTMLElement | ElementRef<HTMLElement>>();\n\teventPrefix = input<NgtEventPrefix>('offset');\n\tlookAt = input<NgtVector3>();\n\n\tcreated = output<NgtState>();\n\tpointerMissed = outputFromObservable(this.store.snapshot.pointerMissed$);\n\n\tprivate glCanvas = viewChild.required<ElementRef<HTMLCanvasElement>>('glCanvas');\n\tprivate glCanvasViewContainerRef = viewChild.required('glCanvas', { read: ViewContainerRef });\n\tprivate canvasContentRef = contentChild.required(NgtCanvasContent, { read: TemplateRef });\n\n\tprotected hbPointerEvents = computed(() => (this.eventSource() ? 'none' : 'auto'));\n\n\t// NOTE: this signal is updated outside of Zone\n\tprotected resizeResult = signal<ResizeResult>({} as ResizeResult, { equal: Object.is });\n\tprivate configurator = signal<NgtCanvasConfigurator | null>(null);\n\n\tprivate glRef?: EmbeddedViewRef<unknown>;\n\n\tconstructor() {\n\t\t// NOTE: this means that everything in NgtCanvas will be in afterNextRender.\n\t\t// this allows the content of NgtCanvas to use effect instead of afterNextRender\n\t\tafterNextRender(() => {\n\t\t\tconst [canvasVcr, canvasElement, canvasContent] = [\n\t\t\t\tthis.glCanvasViewContainerRef(),\n\t\t\t\tthis.glCanvas().nativeElement,\n\t\t\t\tthis.canvasContentRef(),\n\t\t\t];\n\n\t\t\tthis.zone.runOutsideAngular(() => {\n\t\t\t\tthis.configurator.set(this.initRoot(canvasElement));\n\t\t\t});\n\n\t\t\teffect(\n\t\t\t\t() => {\n\t\t\t\t\tconst resizeResult = this.resizeResult();\n\t\t\t\t\tif (\n\t\t\t\t\t\t!resizeResult.width ||\n\t\t\t\t\t\tresizeResult.width <= 0 ||\n\t\t\t\t\t\t!resizeResult.height ||\n\t\t\t\t\t\tresizeResult.height <= 0\n\t\t\t\t\t)\n\t\t\t\t\t\treturn;\n\n\t\t\t\t\tconst configurator = this.configurator();\n\t\t\t\t\tif (!configurator) return;\n\n\t\t\t\t\tconst canvasOptions = {\n\t\t\t\t\t\tgl: this.gl(),\n\t\t\t\t\t\tshadows: this.shadows(),\n\t\t\t\t\t\tlegacy: this.legacy(),\n\t\t\t\t\t\tlinear: this.linear(),\n\t\t\t\t\t\tflat: this.flat(),\n\t\t\t\t\t\torthographic: this.orthographic(),\n\t\t\t\t\t\tframeloop: this.frameloop(),\n\t\t\t\t\t\tperformance: this.performance(),\n\t\t\t\t\t\tdpr: this.dpr(),\n\t\t\t\t\t\traycaster: this.raycaster(),\n\t\t\t\t\t\tscene: this.scene(),\n\t\t\t\t\t\tcamera: this.camera(),\n\t\t\t\t\t\tevents: this.events(),\n\t\t\t\t\t\teventSource: this.eventSource(),\n\t\t\t\t\t\teventPrefix: this.eventPrefix(),\n\t\t\t\t\t\tlookAt: this.lookAt(),\n\t\t\t\t\t\tsize: resizeResult,\n\t\t\t\t\t};\n\n\t\t\t\t\tthis.zone.runOutsideAngular(() => {\n\t\t\t\t\t\tconfigurator.configure(canvasOptions);\n\n\t\t\t\t\t\tif (this.glRef) {\n\t\t\t\t\t\t\tthis.store.snapshot.invalidate();\n\t\t\t\t\t\t\tthis.glRef.detectChanges();\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tthis.noZoneRender(canvasElement, canvasVcr, canvasContent);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t},\n\t\t\t\t{ injector: this.injector },\n\t\t\t);\n\t\t});\n\n\t\tinject(DestroyRef).onDestroy(() => {\n\t\t\tthis.glRef?.destroy();\n\t\t\tthis.configurator()?.destroy();\n\t\t});\n\t}\n\n\tprivate noZoneRender(\n\t\tcanvasElement: HTMLCanvasElement,\n\t\tcanvasVcr: ViewContainerRef,\n\t\tcanvasContent: TemplateRef<unknown>,\n\t) {\n\t\t// NOTE: destroy previous instances if existed\n\t\tthis.glRef?.destroy();\n\n\t\t// NOTE: Flag the canvas active, rendering will now begin\n\t\tthis.store.update((state) => ({ internal: { ...state.internal, active: true } }));\n\n\t\tconst [state, eventSource, eventPrefix] = [\n\t\t\tthis.store.snapshot,\n\t\t\tuntracked(this.eventSource),\n\t\t\tuntracked(this.eventPrefix),\n\t\t];\n\n\t\t// connect to event source\n\t\tstate.events.connect?.(\n\t\t\teventSource ? (is.ref(eventSource) ? eventSource.nativeElement : eventSource) : this.host.nativeElement,\n\t\t);\n\n\t\t// setup compute for eventPrefix\n\t\tif (eventPrefix) {\n\t\t\tstate.setEvents({\n\t\t\t\tcompute: (event, store) => {\n\t\t\t\t\tconst { pointer, raycaster, camera, size } = store.snapshot;\n\t\t\t\t\tconst x = event[(eventPrefix + 'X') as keyof NgtDomEvent] as number;\n\t\t\t\t\tconst y = event[(eventPrefix + 'Y') as keyof NgtDomEvent] as number;\n\t\t\t\t\tpointer.set((x / size.width) * 2 - 1, -(y / size.height) * 2 + 1);\n\t\t\t\t\traycaster.setFromCamera(pointer, camera);\n\t\t\t\t},\n\t\t\t});\n\t\t}\n\n\t\tthis.created.emit(this.store.snapshot);\n\n\t\tif (!this.store.snapshot.events.connected) {\n\t\t\tthis.store.snapshot.events.connect?.(canvasElement);\n\t\t}\n\n\t\tthis.glRef = canvasVcr.createEmbeddedView(canvasContent, {}, { injector: this.injector });\n\t\tthis.glRef.detectChanges();\n\t}\n}\n\nexport const NgtCanvas = [NgtCanvasImpl, NgtCanvasContent] as const;\n","import { makeEnvironmentProviders, RendererFactory2 } from '@angular/core';\nimport { ɵDomRendererFactory2 as DomRendererFactory2 } from '@angular/platform-browser';\nimport { NGT_RENDERER_OPTIONS, NgtRendererFactory2, type NgtRendererFactory2Options } from 'angular-three';\n\nexport function provideNgtRenderer(options: NgtRendererFactory2Options = {}) {\n\treturn makeEnvironmentProviders([\n\t\t{ provide: NGT_RENDERER_OPTIONS, useValue: options },\n\t\t{\n\t\t\tprovide: RendererFactory2,\n\t\t\tuseFactory: (domRendererFactory: RendererFactory2) => new NgtRendererFactory2(domRendererFactory),\n\t\t\tdeps: [DomRendererFactory2],\n\t\t},\n\t]);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["DomRendererFactory2"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"angular-three-dom.mjs","sources":["../../../../libs/core/dom/src/lib/events.ts","../../../../libs/core/dom/src/lib/canvas.ts","../../../../libs/core/dom/src/lib/renderer.ts","../../../../libs/core/dom/src/angular-three-dom.ts"],"sourcesContent":["import {\n\tcreateEvents,\n\tNgtAnyRecord,\n\tNgtDomEvent,\n\tNgtEventManager,\n\tNgtEvents,\n\tNgtState,\n\tSignalState,\n} from 'angular-three';\n\nconst DOM_EVENTS = {\n\tclick: false,\n\tcontextmenu: false,\n\tdblclick: false,\n\twheel: false, // passive wheel errors with OrbitControls\n\tpointerdown: true,\n\tpointerup: true,\n\tpointerleave: true,\n\tpointermove: true,\n\tpointercancel: true,\n\tlostpointercapture: true,\n} as const;\n\nexport const supportedEvents = [\n\t'click',\n\t'contextmenu',\n\t'dblclick',\n\t'pointerup',\n\t'pointerdown',\n\t'pointerover',\n\t'pointerout',\n\t'pointerenter',\n\t'pointerleave',\n\t'pointermove',\n\t'pointermissed',\n\t'pointercancel',\n\t'wheel',\n] as const;\n\nexport function createPointerEvents(store: SignalState<NgtState>): NgtEventManager<HTMLElement> {\n\tconst { handlePointer } = createEvents(store);\n\n\treturn {\n\t\tpriority: 1,\n\t\tenabled: true,\n\t\tcompute: (event: NgtDomEvent, root: SignalState<NgtState>) => {\n\t\t\tconst state = root.snapshot;\n\t\t\t// https://github.com/pmndrs/react-three-fiber/pull/782\n\t\t\t// Events trigger outside of canvas when moved, use offsetX/Y by default and allow overrides\n\t\t\tstate.pointer.set((event.offsetX / state.size.width) * 2 - 1, -(event.offsetY / state.size.height) * 2 + 1);\n\t\t\tstate.raycaster.setFromCamera(state.pointer, state.camera);\n\t\t},\n\t\tconnected: undefined,\n\t\thandlers: Object.keys(DOM_EVENTS).reduce((handlers: NgtAnyRecord, supportedEventName) => {\n\t\t\thandlers[supportedEventName] = handlePointer(supportedEventName);\n\t\t\treturn handlers;\n\t\t}, {}) as NgtEvents,\n\t\tupdate: () => {\n\t\t\tconst { events, internal } = store.snapshot;\n\t\t\tif (internal.lastEvent?.nativeElement && events.handlers)\n\t\t\t\tevents.handlers.pointermove(internal.lastEvent.nativeElement);\n\t\t},\n\t\tconnect: (target: HTMLElement) => {\n\t\t\tconst state = store.snapshot;\n\t\t\tstate.events.disconnect?.();\n\n\t\t\tstate.setEvents({ connected: target });\n\n\t\t\tObject.entries(state.events.handlers ?? {}).forEach(\n\t\t\t\t([eventName, eventHandler]: [string, EventListener]) => {\n\t\t\t\t\tconst passive = DOM_EVENTS[eventName as keyof typeof DOM_EVENTS];\n\t\t\t\t\ttarget.addEventListener(eventName, eventHandler, { passive });\n\t\t\t\t},\n\t\t\t);\n\t\t},\n\t\tdisconnect: () => {\n\t\t\tconst { events, setEvents } = store.snapshot;\n\t\t\tif (events.connected) {\n\t\t\t\tObject.entries(events.handlers ?? {}).forEach(([eventName, eventHandler]: [string, EventListener]) => {\n\t\t\t\t\tif (events.connected instanceof HTMLElement) {\n\t\t\t\t\t\tevents.connected.removeEventListener(eventName, eventHandler);\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\tsetEvents({ connected: undefined });\n\t\t\t}\n\t\t},\n\t};\n}\n","import {\n\tafterNextRender,\n\tbooleanAttribute,\n\tChangeDetectionStrategy,\n\tComponent,\n\tcomputed,\n\tcontentChild,\n\tDestroyRef,\n\tDirective,\n\teffect,\n\tElementRef,\n\tEmbeddedViewRef,\n\tinject,\n\tInjector,\n\tinput,\n\tNgZone,\n\toutput,\n\tsignal,\n\tTemplateRef,\n\tuntracked,\n\tviewChild,\n\tViewContainerRef,\n} from '@angular/core';\nimport { outputFromObservable } from '@angular/core/rxjs-interop';\nimport {\n\tcanvasRootInitializer,\n\tinjectStore,\n\tis,\n\tNGT_CANVAS_CONTENT_FLAG,\n\tNGT_STORE,\n\tNgtCamera,\n\tNgtCameraParameters,\n\tNgtCanvasConfigurator,\n\tNgtDomEvent,\n\tNgtDpr,\n\tNgtEventPrefix,\n\tNgtFrameloop,\n\tNgtGLOptions,\n\tNgtPerformance,\n\tNgtShadows,\n\tNgtSize,\n\tNgtState,\n\tNgtVector3,\n\tstoreFactory,\n} from 'angular-three';\nimport { NgxResize, provideResizeOptions, ResizeOptions, ResizeResult } from 'ngxtension/resize';\nimport * as THREE from 'three';\nimport { createPointerEvents } from './events';\n\n@Directive({ selector: 'ng-template[canvasContent]' })\nexport class NgtCanvasContent {\n\tprivate canvas = inject(NgtCanvasImpl);\n\n\tget host() {\n\t\treturn this.canvas['host'].nativeElement;\n\t}\n\n\tconstructor() {\n\t\tconst store = injectStore();\n\t\tconst vcr = inject(ViewContainerRef);\n\t\tconst commentNode = vcr.element.nativeElement;\n\n\t\t// NOTE: flag this canvasContent ng-template comment node as the start\n\t\tcommentNode.data = NGT_CANVAS_CONTENT_FLAG;\n\t\tcommentNode[NGT_CANVAS_CONTENT_FLAG] = store;\n\t}\n}\n\n@Component({\n\tselector: 'ngt-canvas',\n\ttemplate: `\n\t\t<div (ngxResize)=\"resizeResult.set($event)\" style=\"height: 100%; width: 100%;\">\n\t\t\t<canvas #glCanvas style=\"display: block;\"></canvas>\n\t\t\t<ng-content />\n\t\t</div>\n\t`,\n\timports: [NgxResize],\n\tproviders: [\n\t\tprovideResizeOptions({\n\t\t\temitInZone: false,\n\t\t\temitInitialResult: true,\n\t\t\tdebounce: { scroll: 50, resize: 0 },\n\t\t} as ResizeOptions),\n\t\t{ provide: NGT_STORE, useFactory: storeFactory },\n\t],\n\thost: {\n\t\tstyle: 'display: block;position: relative;width: 100%;height: 100%;overflow: hidden;',\n\t\t'[style.pointerEvents]': 'hbPointerEvents()',\n\t\tngSkipHydration: 'true',\n\t},\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NgtCanvasImpl {\n\tprivate store = injectStore();\n\tprivate initRoot = canvasRootInitializer();\n\n\tprivate host = inject<ElementRef<HTMLElement>>(ElementRef);\n\tprivate zone = inject(NgZone);\n\tprivate injector = inject(Injector);\n\n\tgl = input<NgtGLOptions>();\n\tsize = input<NgtSize>();\n\tshadows = input(false, {\n\t\ttransform: (value) => {\n\t\t\tif (value === '') return booleanAttribute(value);\n\t\t\treturn value as NgtShadows;\n\t\t},\n\t});\n\tlegacy = input(false, { transform: booleanAttribute });\n\tlinear = input(false, { transform: booleanAttribute });\n\tflat = input(false, { transform: booleanAttribute });\n\torthographic = input(false, { transform: booleanAttribute });\n\tframeloop = input<NgtFrameloop>('always');\n\tperformance = input<Partial<Omit<NgtPerformance, 'regress'>>>();\n\tdpr = input<NgtDpr>([1, 2]);\n\traycaster = input<Partial<THREE.Raycaster>>();\n\tscene = input<THREE.Scene | Partial<THREE.Scene>>();\n\tcamera = input<NgtCamera | NgtCameraParameters>();\n\tevents = input(createPointerEvents);\n\teventSource = input<HTMLElement | ElementRef<HTMLElement>>();\n\teventPrefix = input<NgtEventPrefix>('offset');\n\tlookAt = input<NgtVector3>();\n\n\tcreated = output<NgtState>();\n\tpointerMissed = outputFromObservable(this.store.snapshot.pointerMissed$);\n\n\tprivate glCanvas = viewChild.required<ElementRef<HTMLCanvasElement>>('glCanvas');\n\tprivate glCanvasViewContainerRef = viewChild.required('glCanvas', { read: ViewContainerRef });\n\tprivate canvasContentRef = contentChild.required(NgtCanvasContent, { read: TemplateRef });\n\n\tprotected hbPointerEvents = computed(() => (this.eventSource() ? 'none' : 'auto'));\n\n\t// NOTE: this signal is updated outside of Zone\n\tprotected resizeResult = signal<ResizeResult>({} as ResizeResult, { equal: Object.is });\n\tprivate configurator = signal<NgtCanvasConfigurator | null>(null);\n\n\tprivate glRef?: EmbeddedViewRef<unknown>;\n\n\tconstructor() {\n\t\t// NOTE: this means that everything in NgtCanvas will be in afterNextRender.\n\t\t// this allows the content of NgtCanvas to use effect instead of afterNextRender\n\t\tafterNextRender(() => {\n\t\t\tconst [canvasVcr, canvasElement, canvasContent] = [\n\t\t\t\tthis.glCanvasViewContainerRef(),\n\t\t\t\tthis.glCanvas().nativeElement,\n\t\t\t\tthis.canvasContentRef(),\n\t\t\t];\n\n\t\t\tthis.zone.runOutsideAngular(() => {\n\t\t\t\tthis.configurator.set(this.initRoot(canvasElement));\n\t\t\t});\n\n\t\t\teffect(\n\t\t\t\t() => {\n\t\t\t\t\tconst resizeResult = this.resizeResult();\n\t\t\t\t\tif (\n\t\t\t\t\t\t!resizeResult.width ||\n\t\t\t\t\t\tresizeResult.width <= 0 ||\n\t\t\t\t\t\t!resizeResult.height ||\n\t\t\t\t\t\tresizeResult.height <= 0\n\t\t\t\t\t)\n\t\t\t\t\t\treturn;\n\n\t\t\t\t\tconst configurator = this.configurator();\n\t\t\t\t\tif (!configurator) return;\n\n\t\t\t\t\tconst canvasOptions = {\n\t\t\t\t\t\tgl: this.gl(),\n\t\t\t\t\t\tshadows: this.shadows(),\n\t\t\t\t\t\tlegacy: this.legacy(),\n\t\t\t\t\t\tlinear: this.linear(),\n\t\t\t\t\t\tflat: this.flat(),\n\t\t\t\t\t\torthographic: this.orthographic(),\n\t\t\t\t\t\tframeloop: this.frameloop(),\n\t\t\t\t\t\tperformance: this.performance(),\n\t\t\t\t\t\tdpr: this.dpr(),\n\t\t\t\t\t\traycaster: this.raycaster(),\n\t\t\t\t\t\tscene: this.scene(),\n\t\t\t\t\t\tcamera: this.camera(),\n\t\t\t\t\t\tevents: this.events(),\n\t\t\t\t\t\teventSource: this.eventSource(),\n\t\t\t\t\t\teventPrefix: this.eventPrefix(),\n\t\t\t\t\t\tlookAt: this.lookAt(),\n\t\t\t\t\t\tsize: resizeResult,\n\t\t\t\t\t};\n\n\t\t\t\t\tthis.zone.runOutsideAngular(() => {\n\t\t\t\t\t\tconfigurator.configure(canvasOptions);\n\n\t\t\t\t\t\tif (this.glRef) {\n\t\t\t\t\t\t\tthis.store.snapshot.invalidate();\n\t\t\t\t\t\t\tthis.glRef.detectChanges();\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tthis.noZoneRender(canvasElement, canvasVcr, canvasContent);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t},\n\t\t\t\t{ injector: this.injector },\n\t\t\t);\n\t\t});\n\n\t\tinject(DestroyRef).onDestroy(() => {\n\t\t\tthis.glRef?.destroy();\n\t\t\tthis.configurator()?.destroy();\n\t\t});\n\t}\n\n\tprivate noZoneRender(\n\t\tcanvasElement: HTMLCanvasElement,\n\t\tcanvasVcr: ViewContainerRef,\n\t\tcanvasContent: TemplateRef<unknown>,\n\t) {\n\t\t// NOTE: destroy previous instances if existed\n\t\tthis.glRef?.destroy();\n\n\t\t// NOTE: Flag the canvas active, rendering will now begin\n\t\tthis.store.update((state) => ({ internal: { ...state.internal, active: true } }));\n\n\t\tconst [state, eventSource, eventPrefix] = [\n\t\t\tthis.store.snapshot,\n\t\t\tuntracked(this.eventSource),\n\t\t\tuntracked(this.eventPrefix),\n\t\t];\n\n\t\t// connect to event source\n\t\tstate.events.connect?.(\n\t\t\teventSource ? (is.ref(eventSource) ? eventSource.nativeElement : eventSource) : this.host.nativeElement,\n\t\t);\n\n\t\t// setup compute for eventPrefix\n\t\tif (eventPrefix) {\n\t\t\tstate.setEvents({\n\t\t\t\tcompute: (event, store) => {\n\t\t\t\t\tconst { pointer, raycaster, camera, size } = store.snapshot;\n\t\t\t\t\tconst x = event[(eventPrefix + 'X') as keyof NgtDomEvent] as number;\n\t\t\t\t\tconst y = event[(eventPrefix + 'Y') as keyof NgtDomEvent] as number;\n\t\t\t\t\tpointer.set((x / size.width) * 2 - 1, -(y / size.height) * 2 + 1);\n\t\t\t\t\traycaster.setFromCamera(pointer, camera);\n\t\t\t\t},\n\t\t\t});\n\t\t}\n\n\t\tthis.created.emit(this.store.snapshot);\n\n\t\tif (!this.store.snapshot.events.connected) {\n\t\t\tthis.store.snapshot.events.connect?.(canvasElement);\n\t\t}\n\n\t\tthis.glRef = canvasVcr.createEmbeddedView(canvasContent, {}, { injector: this.injector });\n\t\tthis.glRef.detectChanges();\n\t}\n}\n\nexport const NgtCanvas = [NgtCanvasImpl, NgtCanvasContent] as const;\n","import { makeEnvironmentProviders, RendererFactory2 } from '@angular/core';\nimport { ɵDomRendererFactory2 as DomRendererFactory2 } from '@angular/platform-browser';\nimport { NGT_RENDERER_OPTIONS, NgtRendererFactory2, type NgtRendererFactory2Options } from 'angular-three';\n\nexport function provideNgtRenderer(options: NgtRendererFactory2Options = {}) {\n\treturn makeEnvironmentProviders([\n\t\t{ provide: NGT_RENDERER_OPTIONS, useValue: options },\n\t\t{\n\t\t\tprovide: RendererFactory2,\n\t\t\tuseFactory: (domRendererFactory: RendererFactory2) => new NgtRendererFactory2(domRendererFactory),\n\t\t\tdeps: [DomRendererFactory2],\n\t\t},\n\t]);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["DomRendererFactory2"],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import * as i0 from '@angular/core';
|
|
|
2
2
|
import { input, viewChild, ViewContainerRef, effect, inject, DestroyRef, Component, ChangeDetectionStrategy, RendererFactory2, provideEnvironmentInitializer, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
|
|
3
3
|
import { TestBed } from '@angular/core/testing';
|
|
4
4
|
import { ɵDomRendererFactory2 as _DomRendererFactory2 } from '@angular/platform-browser';
|
|
5
|
-
import { injectStore, extend, NGT_CANVAS_CONTENT_FLAG, NGT_RENDERER_NODE_FLAG, NgtRendererFactory2, NGT_STORE, storeFactory,
|
|
5
|
+
import { injectStore, extend, NGT_CANVAS_CONTENT_FLAG, NGT_RENDERER_NODE_FLAG, NgtRendererFactory2, NGT_STORE, storeFactory, canvasRootInitializer, getInstanceState } from 'angular-three';
|
|
6
6
|
import * as THREE from 'three';
|
|
7
7
|
|
|
8
8
|
class NgtTestCanvas {
|
|
@@ -854,7 +854,7 @@ class NgtTestBed {
|
|
|
854
854
|
{ provide: NGT_STORE, useFactory: storeFactory },
|
|
855
855
|
provideEnvironmentInitializer(() => {
|
|
856
856
|
const initializerFn = (() => {
|
|
857
|
-
const initRoot =
|
|
857
|
+
const initRoot = canvasRootInitializer();
|
|
858
858
|
return () => {
|
|
859
859
|
const configurator = initRoot(mockedCanvas);
|
|
860
860
|
configurator.configure({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"angular-three-testing.mjs","sources":["../../../../libs/core/testing/src/lib/test-canvas.ts","../../../../libs/core/testing/src/lib/utils/web-gl-rendering-context.ts","../../../../libs/core/testing/src/lib/utils/mock-canvas.ts","../../../../libs/core/testing/src/lib/test-bed.ts","../../../../libs/core/testing/src/angular-three-testing.ts"],"sourcesContent":["import {\n\tChangeDetectionStrategy,\n\tComponent,\n\tComponentRef,\n\tDestroyRef,\n\teffect,\n\tinject,\n\tinput,\n\tType,\n\tviewChild,\n\tViewContainerRef,\n} from '@angular/core';\nimport { extend, injectStore, NGT_CANVAS_CONTENT_FLAG, NGT_RENDERER_NODE_FLAG, NgtAnyRecord } from 'angular-three';\nimport * as THREE from 'three';\n\n@Component({\n\tselector: 'ngt-test-canvas',\n\ttemplate: `\n\t\t<ng-container #anchor />\n\t`,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NgtTestCanvas {\n\tsceneGraph = input.required<Type<unknown>>();\n\tsceneGraphInputs = input<NgtAnyRecord>({});\n\n\tprivate anchorRef = viewChild.required('anchor', { read: ViewContainerRef });\n\n\tprivate store = injectStore();\n\n\tsceneRef?: ComponentRef<unknown>;\n\n\tconstructor() {\n\t\textend(THREE);\n\n\t\teffect(() => {\n\t\t\tconst anchor = this.anchorRef();\n\t\t\tconst sceneGraph = this.sceneGraph();\n\t\t\tif (!sceneGraph) return;\n\n\t\t\tconst sceneGraphInputs = this.sceneGraphInputs();\n\n\t\t\tconst anchorComment = anchor.element.nativeElement;\n\t\t\tanchorComment.data = NGT_CANVAS_CONTENT_FLAG;\n\t\t\tanchorComment[NGT_CANVAS_CONTENT_FLAG] = this.store;\n\t\t\tif (anchorComment[NGT_RENDERER_NODE_FLAG]) {\n\t\t\t\tanchorComment[NGT_RENDERER_NODE_FLAG][5] = this.store.snapshot.scene;\n\t\t\t}\n\n\t\t\tthis.sceneRef = anchor.createComponent(sceneGraph);\n\n\t\t\tfor (const key in sceneGraphInputs) {\n\t\t\t\tthis.sceneRef.setInput(key, sceneGraphInputs[key]);\n\t\t\t}\n\n\t\t\tthis.sceneRef.changeDetectorRef.detectChanges();\n\t\t});\n\n\t\tinject(DestroyRef).onDestroy(() => {\n\t\t\tthis.destroy();\n\t\t});\n\t}\n\n\tdestroy() {\n\t\tthis.sceneRef?.destroy();\n\t}\n}\n","const functions = [\n\t'activeTexture',\n\t'attachShader',\n\t'beginQuery',\n\t'beginTransformFeedback',\n\t'bindAttribLocation',\n\t'bindBufferBase',\n\t'bindBufferRange',\n\t'bindRenderbuffer',\n\t'bindSampler',\n\t'bindTransformFeedback',\n\t'bindVertexArray',\n\t'blendColor',\n\t'blendEquation',\n\t'blendEquationSeparate',\n\t'blendFunc',\n\t'blendFuncSeparate',\n\t'blitFramebuffer',\n\t'bufferData',\n\t'bufferSubData',\n\t'checkFramebufferStatus',\n\t'clientWaitSync',\n\t'compileShader',\n\t'compressedTexImage2D',\n\t'compressedTexImage3D',\n\t'compressedTexSubImage2D',\n\t'compressedTexSubImage3D',\n\t'copyBufferSubData',\n\t'copyTexImage2D',\n\t'copyTexSubImage2D',\n\t'copyTexSubImage3D',\n\t'createBuffer',\n\t'createFramebuffer',\n\t'createProgram',\n\t'createQuery',\n\t'createRenderbuffer',\n\t'createSampler',\n\t'createShader',\n\t'createTexture',\n\t'createTransformFeedback',\n\t'createVertexArray',\n\t'cullFace',\n\t'deleteBuffer',\n\t'deleteFramebuffer',\n\t'deleteProgram',\n\t'deleteQuery',\n\t'deleteRenderbuffer',\n\t'deleteSampler',\n\t'deleteShader',\n\t'deleteSync',\n\t'deleteTexture',\n\t'deleteTransformFeedback',\n\t'deleteVertexArray',\n\t'depthFunc',\n\t'depthMask',\n\t'depthRange',\n\t'detachShader',\n\t'disable',\n\t'drawArraysInstanced',\n\t'drawElementsInstanced',\n\t'drawRangeElements',\n\t'enable',\n\t'endQuery',\n\t'endTransformFeedback',\n\t'fenceSync',\n\t'finish',\n\t'flush',\n\t'framebufferRenderbuffer',\n\t'framebufferTexture2D',\n\t'framebufferTextureLayer',\n\t'frontFace',\n\t'generateMipmap',\n\t'getActiveAttrib',\n\t'getActiveUniform',\n\t'getActiveUniformBlockName',\n\t'getActiveUniformBlockParameter',\n\t'getActiveUniforms',\n\t'getAttachedShaders',\n\t'getAttribLocation',\n\t'getBufferParameter',\n\t'getBufferSubData',\n\t'getContextAttributes',\n\t'getError',\n\t'getExtension',\n\t'getFragDataLocation',\n\t'getFramebufferAttachmentParameter',\n\t'getIndexedParameter',\n\t'getInternalformatParameter',\n\t'getParameter',\n\t'getProgramInfoLog',\n\t'getProgramParameter',\n\t'getQuery',\n\t'getQueryParameter',\n\t'getRenderbufferParameter',\n\t'getSamplerParameter',\n\t'getShaderInfoLog',\n\t'getShaderParameter',\n\t'getShaderPrecisionFormat',\n\t'getShaderSource',\n\t'getSupportedExtensions',\n\t'getSyncParameter',\n\t'getTexParameter',\n\t'getTransformFeedbackVarying',\n\t'getUniform',\n\t'getUniformBlockIndex',\n\t'getUniformIndices',\n\t'getUniformLocation',\n\t'getVertexAttrib',\n\t'getVertexAttribOffset',\n\t'hint',\n\t'invalidateFramebuffer',\n\t'invalidateSubFramebuffer',\n\t'isBuffer',\n\t'isContextLost',\n\t'isEnabled',\n\t'isFramebuffer',\n\t'isProgram',\n\t'isQuery',\n\t'isRenderbuffer',\n\t'isSampler',\n\t'isShader',\n\t'isSync',\n\t'isTexture',\n\t'isTransformFeedback',\n\t'isVertexArray',\n\t'lineWidth',\n\t'linkProgram',\n\t'pauseTransformFeedback',\n\t'pixelStorei',\n\t'polygonOffset',\n\t'readBuffer',\n\t'readPixels',\n\t'renderbufferStorage',\n\t'renderbufferStorageMultisample',\n\t'resumeTransformFeedback',\n\t'sampleCoverage',\n\t'samplerParameterf',\n\t'samplerParameteri',\n\t'shaderSource',\n\t'stencilFunc',\n\t'stencilFuncSeparate',\n\t'stencilMask',\n\t'stencilMaskSeparate',\n\t'stencilOp',\n\t'stencilOpSeparate',\n\t'texImage2D',\n\t'texImage3D',\n\t'texParameterf',\n\t'texParameteri',\n\t'texStorage2D',\n\t'texStorage3D',\n\t'texSubImage2D',\n\t'texSubImage3D',\n\t'transformFeedbackVaryings',\n\t'uniform1ui',\n\t'uniform2ui',\n\t'uniform3ui',\n\t'uniform4ui',\n\t'uniformBlockBinding',\n\t'useProgram',\n\t'validateProgram',\n\t'vertexAttribDivisor',\n\t'vertexAttribI4i',\n\t'vertexAttribI4ui',\n\t'vertexAttribIPointer',\n\t'waitSync',\n\t'bindBuffer',\n\t'bindFramebuffer',\n\t'bindTexture',\n\t'clear',\n\t'clearBufferfi',\n\t'clearBufferfv',\n\t'clearBufferiv',\n\t'clearBufferuiv',\n\t'clearColor',\n\t'clearDepth',\n\t'clearStencil',\n\t'colorMask',\n\t'disableVertexAttribArray',\n\t'drawArrays',\n\t'drawBuffers',\n\t'drawElements',\n\t'enableVertexAttribArray',\n\t'scissor',\n\t'uniform1f',\n\t'uniform1fv',\n\t'uniform1i',\n\t'uniform1iv',\n\t'uniform1uiv',\n\t'uniform2f',\n\t'uniform2fv',\n\t'uniform2i',\n\t'uniform2iv',\n\t'uniform2uiv',\n\t'uniform3f',\n\t'uniform3fv',\n\t'uniform3i',\n\t'uniform3iv',\n\t'uniform3uiv',\n\t'uniform4f',\n\t'uniform4fv',\n\t'uniform4i',\n\t'uniform4iv',\n\t'uniform4uiv',\n\t'uniformMatrix2fv',\n\t'uniformMatrix2x3fv',\n\t'uniformMatrix2x4fv',\n\t'uniformMatrix3fv',\n\t'uniformMatrix3x2fv',\n\t'uniformMatrix3x4fv',\n\t'uniformMatrix4fv',\n\t'uniformMatrix4x2fv',\n\t'uniformMatrix4x3fv',\n\t'vertexAttrib1f',\n\t'vertexAttrib1fv',\n\t'vertexAttrib2f',\n\t'vertexAttrib2fv',\n\t'vertexAttrib3f',\n\t'vertexAttrib3fv',\n\t'vertexAttrib4f',\n\t'vertexAttrib4fv',\n\t'vertexAttribI4iv',\n\t'vertexAttribI4uiv',\n\t'vertexAttribPointer',\n\t'viewport',\n\t'makeXRCompatible',\n];\n\nconst enums: Record<string, number> = {\n\tDEPTH_BUFFER_BIT: 256,\n\tSTENCIL_BUFFER_BIT: 1024,\n\tCOLOR_BUFFER_BIT: 16384,\n\tPOINTS: 0,\n\tLINES: 1,\n\tLINE_LOOP: 2,\n\tLINE_STRIP: 3,\n\tTRIANGLES: 4,\n\tTRIANGLE_STRIP: 5,\n\tTRIANGLE_FAN: 6,\n\tZERO: 0,\n\tONE: 1,\n\tSRC_COLOR: 768,\n\tONE_MINUS_SRC_COLOR: 769,\n\tSRC_ALPHA: 770,\n\tONE_MINUS_SRC_ALPHA: 771,\n\tDST_ALPHA: 772,\n\tONE_MINUS_DST_ALPHA: 773,\n\tDST_COLOR: 774,\n\tONE_MINUS_DST_COLOR: 775,\n\tSRC_ALPHA_SATURATE: 776,\n\tFUNC_ADD: 32774,\n\tBLEND_EQUATION: 32777,\n\tBLEND_EQUATION_RGB: 32777,\n\tBLEND_EQUATION_ALPHA: 34877,\n\tFUNC_SUBTRACT: 32778,\n\tFUNC_REVERSE_SUBTRACT: 32779,\n\tBLEND_DST_RGB: 32968,\n\tBLEND_SRC_RGB: 32969,\n\tBLEND_DST_ALPHA: 32970,\n\tBLEND_SRC_ALPHA: 32971,\n\tCONSTANT_COLOR: 32769,\n\tONE_MINUS_CONSTANT_COLOR: 32770,\n\tCONSTANT_ALPHA: 32771,\n\tONE_MINUS_CONSTANT_ALPHA: 32772,\n\tBLEND_COLOR: 32773,\n\tARRAY_BUFFER: 34962,\n\tELEMENT_ARRAY_BUFFER: 34963,\n\tARRAY_BUFFER_BINDING: 34964,\n\tELEMENT_ARRAY_BUFFER_BINDING: 34965,\n\tSTREAM_DRAW: 35040,\n\tSTATIC_DRAW: 35044,\n\tDYNAMIC_DRAW: 35048,\n\tBUFFER_SIZE: 34660,\n\tBUFFER_USAGE: 34661,\n\tCURRENT_VERTEX_ATTRIB: 34342,\n\tFRONT: 1028,\n\tBACK: 1029,\n\tFRONT_AND_BACK: 1032,\n\tTEXTURE_2D: 3553,\n\tCULL_FACE: 2884,\n\tBLEND: 3042,\n\tDITHER: 3024,\n\tSTENCIL_TEST: 2960,\n\tDEPTH_TEST: 2929,\n\tSCISSOR_TEST: 3089,\n\tPOLYGON_OFFSET_FILL: 32823,\n\tSAMPLE_ALPHA_TO_COVERAGE: 32926,\n\tSAMPLE_COVERAGE: 32928,\n\tNO_ERROR: 0,\n\tINVALID_ENUM: 1280,\n\tINVALID_VALUE: 1281,\n\tINVALID_OPERATION: 1282,\n\tOUT_OF_MEMORY: 1285,\n\tCW: 2304,\n\tCCW: 2305,\n\tLINE_WIDTH: 2849,\n\tALIASED_POINT_SIZE_RANGE: 33901,\n\tALIASED_LINE_WIDTH_RANGE: 33902,\n\tCULL_FACE_MODE: 2885,\n\tFRONT_FACE: 2886,\n\tDEPTH_RANGE: 2928,\n\tDEPTH_WRITEMASK: 2930,\n\tDEPTH_CLEAR_VALUE: 2931,\n\tDEPTH_FUNC: 2932,\n\tSTENCIL_CLEAR_VALUE: 2961,\n\tSTENCIL_FUNC: 2962,\n\tSTENCIL_FAIL: 2964,\n\tSTENCIL_PASS_DEPTH_FAIL: 2965,\n\tSTENCIL_PASS_DEPTH_PASS: 2966,\n\tSTENCIL_REF: 2967,\n\tSTENCIL_VALUE_MASK: 2963,\n\tSTENCIL_WRITEMASK: 2968,\n\tSTENCIL_BACK_FUNC: 34816,\n\tSTENCIL_BACK_FAIL: 34817,\n\tSTENCIL_BACK_PASS_DEPTH_FAIL: 34818,\n\tSTENCIL_BACK_PASS_DEPTH_PASS: 34819,\n\tSTENCIL_BACK_REF: 36003,\n\tSTENCIL_BACK_VALUE_MASK: 36004,\n\tSTENCIL_BACK_WRITEMASK: 36005,\n\tVIEWPORT: 2978,\n\tSCISSOR_BOX: 3088,\n\tCOLOR_CLEAR_VALUE: 3106,\n\tCOLOR_WRITEMASK: 3107,\n\tUNPACK_ALIGNMENT: 3317,\n\tPACK_ALIGNMENT: 3333,\n\tMAX_TEXTURE_SIZE: 3379,\n\tMAX_VIEWPORT_DIMS: 3386,\n\tSUBPIXEL_BITS: 3408,\n\tRED_BITS: 3410,\n\tGREEN_BITS: 3411,\n\tBLUE_BITS: 3412,\n\tALPHA_BITS: 3413,\n\tDEPTH_BITS: 3414,\n\tSTENCIL_BITS: 3415,\n\tPOLYGON_OFFSET_UNITS: 10752,\n\tPOLYGON_OFFSET_FACTOR: 32824,\n\tTEXTURE_BINDING_2D: 32873,\n\tSAMPLE_BUFFERS: 32936,\n\tSAMPLES: 32937,\n\tSAMPLE_COVERAGE_VALUE: 32938,\n\tSAMPLE_COVERAGE_INVERT: 32939,\n\tCOMPRESSED_TEXTURE_FORMATS: 34467,\n\tDONT_CARE: 4352,\n\tFASTEST: 4353,\n\tNICEST: 4354,\n\tGENERATE_MIPMAP_HINT: 33170,\n\tBYTE: 5120,\n\tUNSIGNED_BYTE: 5121,\n\tSHORT: 5122,\n\tUNSIGNED_SHORT: 5123,\n\tINT: 5124,\n\tUNSIGNED_INT: 5125,\n\tFLOAT: 5126,\n\tDEPTH_COMPONENT: 6402,\n\tALPHA: 6406,\n\tRGB: 6407,\n\tRGBA: 6408,\n\tLUMINANCE: 6409,\n\tLUMINANCE_ALPHA: 6410,\n\tUNSIGNED_SHORT_4_4_4_4: 32819,\n\tUNSIGNED_SHORT_5_5_5_1: 32820,\n\tUNSIGNED_SHORT_5_6_5: 33635,\n\tFRAGMENT_SHADER: 35632,\n\tVERTEX_SHADER: 35633,\n\tMAX_VERTEX_ATTRIBS: 34921,\n\tMAX_VERTEX_UNIFORM_VECTORS: 36347,\n\tMAX_VARYING_VECTORS: 36348,\n\tMAX_COMBINED_TEXTURE_IMAGE_UNITS: 35661,\n\tMAX_VERTEX_TEXTURE_IMAGE_UNITS: 35660,\n\tMAX_TEXTURE_IMAGE_UNITS: 34930,\n\tMAX_FRAGMENT_UNIFORM_VECTORS: 36349,\n\tSHADER_TYPE: 35663,\n\tDELETE_STATUS: 35712,\n\tLINK_STATUS: 35714,\n\tVALIDATE_STATUS: 35715,\n\tATTACHED_SHADERS: 35717,\n\tACTIVE_UNIFORMS: 35718,\n\tACTIVE_ATTRIBUTES: 35721,\n\tSHADING_LANGUAGE_VERSION: 35724,\n\tCURRENT_PROGRAM: 35725,\n\tNEVER: 512,\n\tLESS: 513,\n\tEQUAL: 514,\n\tLEQUAL: 515,\n\tGREATER: 516,\n\tNOTEQUAL: 517,\n\tGEQUAL: 518,\n\tALWAYS: 519,\n\tKEEP: 7680,\n\tREPLACE: 7681,\n\tINCR: 7682,\n\tDECR: 7683,\n\tINVERT: 5386,\n\tINCR_WRAP: 34055,\n\tDECR_WRAP: 34056,\n\tVENDOR: 7936,\n\tRENDERER: 7937,\n\tVERSION: 7938,\n\tNEAREST: 9728,\n\tLINEAR: 9729,\n\tNEAREST_MIPMAP_NEAREST: 9984,\n\tLINEAR_MIPMAP_NEAREST: 9985,\n\tNEAREST_MIPMAP_LINEAR: 9986,\n\tLINEAR_MIPMAP_LINEAR: 9987,\n\tTEXTURE_MAG_FILTER: 10240,\n\tTEXTURE_MIN_FILTER: 10241,\n\tTEXTURE_WRAP_S: 10242,\n\tTEXTURE_WRAP_T: 10243,\n\tTEXTURE: 5890,\n\tTEXTURE_CUBE_MAP: 34067,\n\tTEXTURE_BINDING_CUBE_MAP: 34068,\n\tTEXTURE_CUBE_MAP_POSITIVE_X: 34069,\n\tTEXTURE_CUBE_MAP_NEGATIVE_X: 34070,\n\tTEXTURE_CUBE_MAP_POSITIVE_Y: 34071,\n\tTEXTURE_CUBE_MAP_NEGATIVE_Y: 34072,\n\tTEXTURE_CUBE_MAP_POSITIVE_Z: 34073,\n\tTEXTURE_CUBE_MAP_NEGATIVE_Z: 34074,\n\tMAX_CUBE_MAP_TEXTURE_SIZE: 34076,\n\tTEXTURE0: 33984,\n\tTEXTURE1: 33985,\n\tTEXTURE2: 33986,\n\tTEXTURE3: 33987,\n\tTEXTURE4: 33988,\n\tTEXTURE5: 33989,\n\tTEXTURE6: 33990,\n\tTEXTURE7: 33991,\n\tTEXTURE8: 33992,\n\tTEXTURE9: 33993,\n\tTEXTURE10: 33994,\n\tTEXTURE11: 33995,\n\tTEXTURE12: 33996,\n\tTEXTURE13: 33997,\n\tTEXTURE14: 33998,\n\tTEXTURE15: 33999,\n\tTEXTURE16: 34000,\n\tTEXTURE17: 34001,\n\tTEXTURE18: 34002,\n\tTEXTURE19: 34003,\n\tTEXTURE20: 34004,\n\tTEXTURE21: 34005,\n\tTEXTURE22: 34006,\n\tTEXTURE23: 34007,\n\tTEXTURE24: 34008,\n\tTEXTURE25: 34009,\n\tTEXTURE26: 34010,\n\tTEXTURE27: 34011,\n\tTEXTURE28: 34012,\n\tTEXTURE29: 34013,\n\tTEXTURE30: 34014,\n\tTEXTURE31: 34015,\n\tACTIVE_TEXTURE: 34016,\n\tREPEAT: 10497,\n\tCLAMP_TO_EDGE: 33071,\n\tMIRRORED_REPEAT: 33648,\n\tFLOAT_VEC2: 35664,\n\tFLOAT_VEC3: 35665,\n\tFLOAT_VEC4: 35666,\n\tINT_VEC2: 35667,\n\tINT_VEC3: 35668,\n\tINT_VEC4: 35669,\n\tBOOL: 35670,\n\tBOOL_VEC2: 35671,\n\tBOOL_VEC3: 35672,\n\tBOOL_VEC4: 35673,\n\tFLOAT_MAT2: 35674,\n\tFLOAT_MAT3: 35675,\n\tFLOAT_MAT4: 35676,\n\tSAMPLER_2D: 35678,\n\tSAMPLER_CUBE: 35680,\n\tVERTEX_ATTRIB_ARRAY_ENABLED: 34338,\n\tVERTEX_ATTRIB_ARRAY_SIZE: 34339,\n\tVERTEX_ATTRIB_ARRAY_STRIDE: 34340,\n\tVERTEX_ATTRIB_ARRAY_TYPE: 34341,\n\tVERTEX_ATTRIB_ARRAY_NORMALIZED: 34922,\n\tVERTEX_ATTRIB_ARRAY_POINTER: 34373,\n\tVERTEX_ATTRIB_ARRAY_BUFFER_BINDING: 34975,\n\tIMPLEMENTATION_COLOR_READ_TYPE: 35738,\n\tIMPLEMENTATION_COLOR_READ_FORMAT: 35739,\n\tCOMPILE_STATUS: 35713,\n\tLOW_FLOAT: 36336,\n\tMEDIUM_FLOAT: 36337,\n\tHIGH_FLOAT: 36338,\n\tLOW_INT: 36339,\n\tMEDIUM_INT: 36340,\n\tHIGH_INT: 36341,\n\tFRAMEBUFFER: 36160,\n\tRENDERBUFFER: 36161,\n\tRGBA4: 32854,\n\tRGB5_A1: 32855,\n\tRGB565: 36194,\n\tDEPTH_COMPONENT16: 33189,\n\tSTENCIL_INDEX: 6401,\n\tSTENCIL_INDEX8: 36168,\n\tDEPTH_STENCIL: 34041,\n\tRENDERBUFFER_WIDTH: 36162,\n\tRENDERBUFFER_HEIGHT: 36163,\n\tRENDERBUFFER_INTERNAL_FORMAT: 36164,\n\tRENDERBUFFER_RED_SIZE: 36176,\n\tRENDERBUFFER_GREEN_SIZE: 36177,\n\tRENDERBUFFER_BLUE_SIZE: 36178,\n\tRENDERBUFFER_ALPHA_SIZE: 36179,\n\tRENDERBUFFER_DEPTH_SIZE: 36180,\n\tRENDERBUFFER_STENCIL_SIZE: 36181,\n\tFRAMEBUFFER_ATTACHMENT_OBJECT_TYPE: 36048,\n\tFRAMEBUFFER_ATTACHMENT_OBJECT_NAME: 36049,\n\tFRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL: 36050,\n\tFRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE: 36051,\n\tCOLOR_ATTACHMENT0: 36064,\n\tDEPTH_ATTACHMENT: 36096,\n\tSTENCIL_ATTACHMENT: 36128,\n\tDEPTH_STENCIL_ATTACHMENT: 33306,\n\tNONE: 0,\n\tFRAMEBUFFER_COMPLETE: 36053,\n\tFRAMEBUFFER_INCOMPLETE_ATTACHMENT: 36054,\n\tFRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT: 36055,\n\tFRAMEBUFFER_INCOMPLETE_DIMENSIONS: 36057,\n\tFRAMEBUFFER_UNSUPPORTED: 36061,\n\tFRAMEBUFFER_BINDING: 36006,\n\tRENDERBUFFER_BINDING: 36007,\n\tMAX_RENDERBUFFER_SIZE: 34024,\n\tINVALID_FRAMEBUFFER_OPERATION: 1286,\n\tUNPACK_FLIP_Y_WEBGL: 37440,\n\tUNPACK_PREMULTIPLY_ALPHA_WEBGL: 37441,\n\tCONTEXT_LOST_WEBGL: 37442,\n\tUNPACK_COLORSPACE_CONVERSION_WEBGL: 37443,\n\tBROWSER_DEFAULT_WEBGL: 37444,\n\tREAD_BUFFER: 3074,\n\tUNPACK_ROW_LENGTH: 3314,\n\tUNPACK_SKIP_ROWS: 3315,\n\tUNPACK_SKIP_PIXELS: 3316,\n\tPACK_ROW_LENGTH: 3330,\n\tPACK_SKIP_ROWS: 3331,\n\tPACK_SKIP_PIXELS: 3332,\n\tCOLOR: 6144,\n\tDEPTH: 6145,\n\tSTENCIL: 6146,\n\tRED: 6403,\n\tUNPACK_SKIP_IMAGES: 32877,\n\tUNPACK_IMAGE_HEIGHT: 32878,\n\tTEXTURE_WRAP_R: 32882,\n\tMAX_ELEMENTS_VERTICES: 33000,\n\tMAX_ELEMENTS_INDICES: 33001,\n\tTEXTURE_MIN_LOD: 33082,\n\tTEXTURE_MAX_LOD: 33083,\n\tTEXTURE_BASE_LEVEL: 33084,\n\tTEXTURE_MAX_LEVEL: 33085,\n\tMIN: 32775,\n\tMAX: 32776,\n\tMAX_TEXTURE_LOD_BIAS: 34045,\n\tTEXTURE_COMPARE_MODE: 34892,\n\tTEXTURE_COMPARE_FUNC: 34893,\n\tCURRENT_QUERY: 34917,\n\tQUERY_RESULT: 34918,\n\tQUERY_RESULT_AVAILABLE: 34919,\n\tSTREAM_READ: 35041,\n\tSTREAM_COPY: 35042,\n\tSTATIC_READ: 35045,\n\tSTATIC_COPY: 35046,\n\tDYNAMIC_READ: 35049,\n\tDYNAMIC_COPY: 35050,\n\tMAX_DRAW_BUFFERS: 34852,\n\tMAX_FRAGMENT_UNIFORM_COMPONENTS: 35657,\n\tMAX_VERTEX_UNIFORM_COMPONENTS: 35658,\n\tFRAGMENT_SHADER_DERIVATIVE_HINT: 35723,\n\tPIXEL_PACK_BUFFER: 35051,\n\tPIXEL_UNPACK_BUFFER: 35052,\n\tPIXEL_PACK_BUFFER_BINDING: 35053,\n\tPIXEL_UNPACK_BUFFER_BINDING: 35055,\n\tSRGB: 35904,\n\tCOMPARE_REF_TO_TEXTURE: 34894,\n\tVERTEX_ATTRIB_ARRAY_INTEGER: 35069,\n\tMAX_ARRAY_TEXTURE_LAYERS: 35071,\n\tMIN_PROGRAM_TEXEL_OFFSET: 35076,\n\tMAX_PROGRAM_TEXEL_OFFSET: 35077,\n\tMAX_VARYING_COMPONENTS: 35659,\n\tTRANSFORM_FEEDBACK_BUFFER_MODE: 35967,\n\tMAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS: 35968,\n\tTRANSFORM_FEEDBACK_VARYINGS: 35971,\n\tTRANSFORM_FEEDBACK_BUFFER_START: 35972,\n\tTRANSFORM_FEEDBACK_BUFFER_SIZE: 35973,\n\tTRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN: 35976,\n\tRASTERIZER_DISCARD: 35977,\n\tMAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS: 35978,\n\tMAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS: 35979,\n\tINTERLEAVED_ATTRIBS: 35980,\n\tSEPARATE_ATTRIBS: 35981,\n\tTRANSFORM_FEEDBACK_BUFFER: 35982,\n\tTRANSFORM_FEEDBACK_BUFFER_BINDING: 35983,\n\tRED_INTEGER: 36244,\n\tRGB_INTEGER: 36248,\n\tRGBA_INTEGER: 36249,\n\tSAMPLER_CUBE_SHADOW: 36293,\n\tINT_SAMPLER_CUBE: 36300,\n\tUNSIGNED_INT_SAMPLER_CUBE: 36308,\n\tFRAMEBUFFER_ATTACHMENT_COLOR_ENCODING: 33296,\n\tFRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE: 33297,\n\tFRAMEBUFFER_ATTACHMENT_RED_SIZE: 33298,\n\tFRAMEBUFFER_ATTACHMENT_GREEN_SIZE: 33299,\n\tFRAMEBUFFER_ATTACHMENT_BLUE_SIZE: 33300,\n\tFRAMEBUFFER_ATTACHMENT_ALPHA_SIZE: 33301,\n\tFRAMEBUFFER_ATTACHMENT_DEPTH_SIZE: 33302,\n\tFRAMEBUFFER_ATTACHMENT_STENCIL_SIZE: 33303,\n\tFRAMEBUFFER_DEFAULT: 33304,\n\tUNSIGNED_NORMALIZED: 35863,\n\tDRAW_FRAMEBUFFER_BINDING: 36006,\n\tREAD_FRAMEBUFFER: 36008,\n\tDRAW_FRAMEBUFFER: 36009,\n\tREAD_FRAMEBUFFER_BINDING: 36010,\n\tRENDERBUFFER_SAMPLES: 36011,\n\tFRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER: 36052,\n\tMAX_COLOR_ATTACHMENTS: 36063,\n\tFRAMEBUFFER_INCOMPLETE_MULTISAMPLE: 36182,\n\tMAX_SAMPLES: 36183,\n\tHALF_FLOAT: 5131,\n\tRG: 33319,\n\tRG_INTEGER: 33320,\n\tVERTEX_ARRAY_BINDING: 34229,\n\tSIGNED_NORMALIZED: 36764,\n\tCOPY_READ_BUFFER: 36662,\n\tCOPY_WRITE_BUFFER: 36663,\n\tCOPY_READ_BUFFER_BINDING: 36662,\n\tCOPY_WRITE_BUFFER_BINDING: 36663,\n\tUNIFORM_BUFFER: 35345,\n\tUNIFORM_BUFFER_BINDING: 35368,\n\tUNIFORM_BUFFER_START: 35369,\n\tUNIFORM_BUFFER_SIZE: 35370,\n\tMAX_VERTEX_UNIFORM_BLOCKS: 35371,\n\tMAX_FRAGMENT_UNIFORM_BLOCKS: 35373,\n\tMAX_COMBINED_UNIFORM_BLOCKS: 35374,\n\tMAX_UNIFORM_BUFFER_BINDINGS: 35375,\n\tMAX_UNIFORM_BLOCK_SIZE: 35376,\n\tMAX_COMBINED_VERTEX_UNIFORM_COMPONENTS: 35377,\n\tMAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS: 35379,\n\tUNIFORM_BUFFER_OFFSET_ALIGNMENT: 35380,\n\tACTIVE_UNIFORM_BLOCKS: 35382,\n\tUNIFORM_TYPE: 35383,\n\tUNIFORM_SIZE: 35384,\n\tUNIFORM_BLOCK_INDEX: 35386,\n\tUNIFORM_OFFSET: 35387,\n\tUNIFORM_ARRAY_STRIDE: 35388,\n\tUNIFORM_MATRIX_STRIDE: 35389,\n\tUNIFORM_IS_ROW_MAJOR: 35390,\n\tUNIFORM_BLOCK_BINDING: 35391,\n\tUNIFORM_BLOCK_DATA_SIZE: 35392,\n\tUNIFORM_BLOCK_ACTIVE_UNIFORMS: 35394,\n\tUNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES: 35395,\n\tUNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER: 35396,\n\tUNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER: 35398,\n\tINVALID_INDEX: 4294967295,\n\tMAX_VERTEX_OUTPUT_COMPONENTS: 37154,\n\tMAX_FRAGMENT_INPUT_COMPONENTS: 37157,\n\tMAX_SERVER_WAIT_TIMEOUT: 37137,\n\tOBJECT_TYPE: 37138,\n\tSYNC_CONDITION: 37139,\n\tSYNC_STATUS: 37140,\n\tSYNC_FLAGS: 37141,\n\tSYNC_FENCE: 37142,\n\tSYNC_GPU_COMMANDS_COMPLETE: 37143,\n\tUNSIGNALED: 37144,\n\tSIGNALED: 37145,\n\tALREADY_SIGNALED: 37146,\n\tTIMEOUT_EXPIRED: 37147,\n\tCONDITION_SATISFIED: 37148,\n\tWAIT_FAILED: 37149,\n\tSYNC_FLUSH_COMMANDS_BIT: 1,\n\tVERTEX_ATTRIB_ARRAY_DIVISOR: 35070,\n\tANY_SAMPLES_PASSED: 35887,\n\tANY_SAMPLES_PASSED_CONSERVATIVE: 36202,\n\tSAMPLER_BINDING: 35097,\n\tTRANSFORM_FEEDBACK: 36386,\n\tTRANSFORM_FEEDBACK_PAUSED: 36387,\n\tTRANSFORM_FEEDBACK_ACTIVE: 36388,\n\tTRANSFORM_FEEDBACK_BINDING: 36389,\n\tTEXTURE_IMMUTABLE_FORMAT: 37167,\n\tMAX_ELEMENT_INDEX: 36203,\n\tTEXTURE_IMMUTABLE_LEVELS: 33503,\n\tTIMEOUT_IGNORED: -1,\n\tMAX_CLIENT_WAIT_TIMEOUT_WEBGL: 37447,\n};\n\nconst extensions: { [key: string]: any } = {\n\t// ratified\n\tOES_texture_float: {},\n\tOES_texture_half_float: {},\n\tWEBGL_lose_context: {\n\t\tloseContext: () => {},\n\t},\n\tOES_standard_derivatives: {},\n\tOES_vertex_array_object: {\n\t\tcreateVertexArrayOES: () => {},\n\t\tbindVertexArrayOES: () => {},\n\t\tdeleteVertexArrayOES: () => {},\n\t},\n\tWEBGL_debug_renderer_info: null,\n\tWEBGL_debug_shaders: null,\n\tWEBGL_compressed_texture_s3tc: null,\n\tWEBGL_depth_texture: {},\n\tOES_element_index_uint: {},\n\tEXT_texture_filter_anisotropic: null,\n\tEXT_frag_depth: {},\n\tWEBGL_draw_buffers: {},\n\tANGLE_instanced_arrays: null,\n\tOES_texture_float_linear: null,\n\tOES_texture_half_float_linear: null,\n\tEXT_blend_minmax: { MIN_EXT: 0, MAX_EXT: 0 },\n\tEXT_shader_texture_lod: null,\n\t// community\n\tWEBGL_compressed_texture_atc: null,\n\tWEBGL_compressed_texture_pvrtc: null,\n\tEXT_color_buffer_half_float: null,\n\tWEBGL_color_buffer_float: null,\n\tEXT_sRGB: null,\n\tWEBGL_compressed_texture_etc1: null,\n};\n\nexport class WebGL2RenderingContext {\n\t[key: string]: any;\n\n\tconstructor(canvas: HTMLCanvasElement) {\n\t\t// @ts-ignore\n\t\tthis.canvas = canvas;\n\t\t// @ts-ignore\n\t\tthis.drawingBufferWidth = canvas.width;\n\t\t// @ts-ignore\n\t\tthis.drawingBufferHeight = canvas.height;\n\n\t\tfor (const method of functions) {\n\t\t\tthis[method] ??= () => {};\n\t\t}\n\n\t\tObject.assign(this, enums);\n\t}\n\n\tgetShaderPrecisionFormat = () => {\n\t\treturn {\n\t\t\trangeMin: 127,\n\t\t\trangeMax: 127,\n\t\t\tprecision: 23,\n\t\t};\n\t};\n\n\tprivate GL_VERSION = 7938;\n\tprivate SCISSOR_BOX = 3088;\n\tprivate VIEWPORT = 2978;\n\n\t// @ts-ignore\n\tgetParameter(paramId: number) {\n\t\tswitch (paramId) {\n\t\t\tcase this.GL_VERSION:\n\t\t\t\treturn ['WebGL2'];\n\t\t\tcase this.SCISSOR_BOX:\n\t\t\tcase this.VIEWPORT:\n\t\t\t\treturn [0, 0, 1, 1];\n\t\t}\n\t}\n\n\tgetExtension(ext: string) {\n\t\treturn extensions[ext];\n\t}\n\n\tgetProgramInfoLog = () => '';\n\n\tgetShaderInfoLog = () => '';\n}\n","import { WebGL2RenderingContext } from './web-gl-rendering-context';\n\nexport function createMockCanvas({\n\twidth = 1280,\n\theight = 800,\n\tbeforeReturn,\n}: {\n\twidth?: number;\n\theight?: number;\n\tbeforeReturn?: (canvas: HTMLCanvasElement) => void;\n}) {\n\tlet canvas: HTMLCanvasElement;\n\n\tif (typeof document !== 'undefined' && typeof document.createElement === 'function') {\n\t\tcanvas = document.createElement('canvas');\n\t} else {\n\t\tcanvas = {\n\t\t\tstyle: {},\n\t\t\taddEventListener: (() => {}) as any,\n\t\t\tremoveEventListener: (() => {}) as any,\n\t\t\tclientWidth: width,\n\t\t\tclientHeight: height,\n\t\t\tgetContext: (() => new WebGL2RenderingContext(canvas)) as any,\n\t\t} as HTMLCanvasElement;\n\t}\n\tcanvas.width = width;\n\tcanvas.height = height;\n\n\tif (globalThis.HTMLCanvasElement) {\n\t\tconst getContext = HTMLCanvasElement.prototype.getContext;\n\t\tHTMLCanvasElement.prototype.getContext = function (\n\t\t\tthis: HTMLCanvasElement,\n\t\t\t...args: Parameters<typeof getContext>\n\t\t) {\n\t\t\tconst id = args[0];\n\t\t\tif (id.startsWith('webgl')) return new WebGL2RenderingContext(this);\n\t\t\treturn getContext.apply(this, args);\n\t\t} as any;\n\t}\n\n\tbeforeReturn?.(canvas);\n\n\tclass WebGLRenderingContext extends WebGL2RenderingContext {}\n\t// @ts-expect-error - WebGLRenderingContext is not defined in the global scope for non-browser\n\tglobalThis.WebGLRenderingContext ??= WebGLRenderingContext;\n\t// @ts-expect-error - WebGL2RenderingContext is not defined in the global scope for non-browser\n\tglobalThis.WebGL2RenderingContext ??= WebGL2RenderingContext;\n\n\treturn canvas;\n}\n","import {\n\tComponentRef,\n\tCUSTOM_ELEMENTS_SCHEMA,\n\tprovideEnvironmentInitializer,\n\tRendererFactory2,\n\tType,\n} from '@angular/core';\nimport { ComponentFixture, TestBed } from '@angular/core/testing';\nimport { ɵDomRendererFactory2 as DomRendererFactory2 } from '@angular/platform-browser';\nimport {\n\tgetInstanceState,\n\tinjectCanvasRootInitializer,\n\tNGT_STORE,\n\ttype NgtAnyRecord,\n\ttype NgtCanvasOptions,\n\ttype NgtEventHandlers,\n\ttype NgtInstanceNode,\n\tNgtRendererFactory2,\n\ttype NgtState,\n\ttype SignalState,\n\tstoreFactory,\n} from 'angular-three';\nimport type * as THREE from 'three';\nimport { NgtTestCanvas } from './test-canvas';\nimport { createMockCanvas } from './utils/mock-canvas';\n\nexport interface NgtTestGraphedObject {\n\ttype: string;\n\tname: string;\n\tchildren: NgtTestGraphedObject[];\n}\n\nexport class NgtTestBed {\n\tstatic create<T extends Type<any>>(\n\t\tsceneGraph: T,\n\t\t{\n\t\t\tsceneGraphInputs = {},\n\t\t\tmockCanvasOptions = {},\n\t\t\tcanvasConfiguration = {},\n\t\t\terrorOnUnknownElements,\n\t\t\tproviders,\n\t\t\tdeclarations,\n\t\t\timports,\n\t\t\tteardown,\n\t\t\tdeferBlockBehavior,\n\t\t}: {\n\t\t\tsceneGraphInputs?: NgtAnyRecord;\n\t\t\tmockCanvasOptions?: { width?: number; height?: number; beforeReturn?: (canvas: HTMLCanvasElement) => void };\n\t\t\tcanvasConfiguration?: Partial<Omit<NgtCanvasOptions, 'frameloop' | 'size' | 'events'>>;\n\t\t} & Omit<Parameters<TestBed['configureTestingModule']>[0], 'schemas'> = {},\n\t) {\n\t\tconst mockedCanvas = createMockCanvas(mockCanvasOptions);\n\n\t\tconst fixture = TestBed.configureTestingModule({\n\t\t\tproviders: [\n\t\t\t\t{\n\t\t\t\t\tprovide: RendererFactory2,\n\t\t\t\t\tuseFactory: (delegate: RendererFactory2) => new NgtRendererFactory2(delegate),\n\t\t\t\t\tdeps: [DomRendererFactory2],\n\t\t\t\t},\n\t\t\t\t{ provide: NGT_STORE, useFactory: storeFactory },\n\t\t\t\tprovideEnvironmentInitializer(() => {\n\t\t\t\t\tconst initializerFn = (() => {\n\t\t\t\t\t\tconst initRoot = injectCanvasRootInitializer();\n\n\t\t\t\t\t\treturn () => {\n\t\t\t\t\t\t\tconst configurator = initRoot(mockedCanvas);\n\t\t\t\t\t\t\tconfigurator.configure({\n\t\t\t\t\t\t\t\t...canvasConfiguration,\n\t\t\t\t\t\t\t\tevents: undefined,\n\t\t\t\t\t\t\t\tframeloop: 'never',\n\t\t\t\t\t\t\t\tsize: {\n\t\t\t\t\t\t\t\t\twidth: mockCanvasOptions.width ?? mockedCanvas.width ?? 1280,\n\t\t\t\t\t\t\t\t\theight: mockCanvasOptions.height ?? mockedCanvas.height ?? 800,\n\t\t\t\t\t\t\t\t\ttop: 0,\n\t\t\t\t\t\t\t\t\tleft: 0,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t};\n\t\t\t\t\t})();\n\t\t\t\t\treturn initializerFn();\n\t\t\t\t}),\n\t\t\t\t...(providers ?? []),\n\t\t\t],\n\t\t\tschemas: [CUSTOM_ELEMENTS_SCHEMA],\n\t\t\terrorOnUnknownElements: errorOnUnknownElements ?? false,\n\t\t\tdeclarations,\n\t\t\timports,\n\t\t\tteardown,\n\t\t\tdeferBlockBehavior,\n\t\t}).createComponent(NgtTestCanvas);\n\n\t\tfixture.componentRef.setInput('sceneGraph', sceneGraph);\n\t\tfixture.componentRef.setInput('sceneGraphInputs', sceneGraphInputs);\n\t\tfixture.detectChanges();\n\n\t\tconst store = TestBed.inject(NGT_STORE);\n\n\t\tTestBed.flushEffects();\n\n\t\treturn {\n\t\t\tstore,\n\t\t\tfixture,\n\t\t\tsceneGraphComponentRef: fixture.componentInstance.sceneRef as ComponentRef<T>,\n\t\t\tscene: store.snapshot.scene,\n\t\t\tsceneInstanceNode: getInstanceState(store.snapshot.scene)!,\n\t\t\tcanvas: mockedCanvas,\n\t\t\tdestroy: fixture.componentInstance.destroy.bind(fixture.componentInstance),\n\t\t\tfireEvent: this.createEventFirer(store, fixture),\n\t\t\tadvance: this.createAdvance(store),\n\t\t\ttoGraph: this.createToGraph(store),\n\t\t};\n\t}\n\n\tstatic createToGraph(store: SignalState<NgtState>) {\n\t\tfunction graphify(type: string, name: string, children: NgtTestGraphedObject[]): NgtTestGraphedObject {\n\t\t\treturn { type, name, children };\n\t\t}\n\n\t\tfunction toGraph(node: THREE.Object3D): NgtTestGraphedObject[] {\n\t\t\treturn node.children.map((child) => graphify(child.type, child.name || '', toGraph(child)));\n\t\t}\n\n\t\treturn () => {\n\t\t\tconst state = store.snapshot;\n\t\t\treturn toGraph(state.scene);\n\t\t};\n\t}\n\n\tstatic createAdvance(store: SignalState<NgtState>) {\n\t\treturn async (frames: number, delta: number | number[] = 1) => {\n\t\t\tconst state = store.snapshot;\n\t\t\tconst subscribers = state.internal.subscribers;\n\n\t\t\tconst promises: Promise<void>[] = [];\n\n\t\t\tfor (const subscriber of subscribers) {\n\t\t\t\tfor (let i = 0; i < frames; i++) {\n\t\t\t\t\tif (Array.isArray(delta)) {\n\t\t\t\t\t\tpromises.push(\n\t\t\t\t\t\t\tnew Promise((res) => {\n\t\t\t\t\t\t\t\tsubscriber.callback({ ...state, delta: delta[i] || delta[-1] });\n\t\t\t\t\t\t\t\tres();\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tpromises.push(\n\t\t\t\t\t\t\tnew Promise((res) => {\n\t\t\t\t\t\t\t\tsubscriber.callback({ ...state, delta });\n\t\t\t\t\t\t\t\tres();\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tawait Promise.all(promises);\n\t\t};\n\t}\n\n\tstatic createEventFirer(store: SignalState<NgtState>, fixture: ComponentFixture<NgtTestCanvas>) {\n\t\tlet autoDetectChanges = true;\n\n\t\tasync function fireEvent(el: NgtInstanceNode, eventName: keyof NgtEventHandlers, eventData: NgtAnyRecord = {}) {\n\t\t\tconst instanceState = getInstanceState(el);\n\t\t\tif (!instanceState) {\n\t\t\t\tconsole.warn(`[NGT Test] ${el} has no local state`);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst handler = instanceState.handlers[eventName];\n\t\t\tif (!handler) {\n\t\t\t\tconsole.warn(`[NGT Test] ${el} has no ${eventName} handler`);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst raycastEvent = {\n\t\t\t\tcamera: store.snapshot.camera,\n\t\t\t\tstopPropagation: () => {},\n\t\t\t\ttarget: el,\n\t\t\t\tcurrentTarget: el,\n\t\t\t\tsourceEvent: eventData,\n\t\t\t\tnativeEvent: eventData,\n\t\t\t\tobject: el,\n\t\t\t\teventObject: el,\n\t\t\t\t...eventData,\n\t\t\t};\n\n\t\t\tconst result = await handler(raycastEvent as any);\n\n\t\t\tif (autoDetectChanges) {\n\t\t\t\tfixture.detectChanges();\n\t\t\t}\n\n\t\t\treturn result;\n\t\t}\n\n\t\tfireEvent.setAutoDetectChanges = (auto: boolean) => {\n\t\t\tautoDetectChanges = auto;\n\t\t};\n\n\t\treturn fireEvent;\n\t}\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["DomRendererFactory2"],"mappings":";;;;;;;MAsBa,aAAa,CAAA;AAUzB,IAAA,WAAA,GAAA;AATA,QAAA,IAAA,CAAA,UAAU,GAAG,KAAK,CAAC,QAAQ,EAAiB;AAC5C,QAAA,IAAA,CAAA,gBAAgB,GAAG,KAAK,CAAe,EAAE,CAAC;AAElC,QAAA,IAAA,CAAA,SAAS,GAAG,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC;QAEpE,IAAK,CAAA,KAAA,GAAG,WAAW,EAAE;QAK5B,MAAM,CAAC,KAAK,CAAC;QAEb,MAAM,CAAC,MAAK;AACX,YAAA,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE;AAC/B,YAAA,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE;AACpC,YAAA,IAAI,CAAC,UAAU;gBAAE;AAEjB,YAAA,MAAM,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,EAAE;AAEhD,YAAA,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa;AAClD,YAAA,aAAa,CAAC,IAAI,GAAG,uBAAuB;AAC5C,YAAA,aAAa,CAAC,uBAAuB,CAAC,GAAG,IAAI,CAAC,KAAK;AACnD,YAAA,IAAI,aAAa,CAAC,sBAAsB,CAAC,EAAE;AAC1C,gBAAA,aAAa,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK;;YAGrE,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,eAAe,CAAC,UAAU,CAAC;AAElD,YAAA,KAAK,MAAM,GAAG,IAAI,gBAAgB,EAAE;AACnC,gBAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,EAAE,gBAAgB,CAAC,GAAG,CAAC,CAAC;;AAGnD,YAAA,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,aAAa,EAAE;AAChD,SAAC,CAAC;AAEF,QAAA,MAAM,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,MAAK;YACjC,IAAI,CAAC,OAAO,EAAE;AACf,SAAC,CAAC;;IAGH,OAAO,GAAA;AACN,QAAA,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE;;8GA1Cb,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAb,aAAa,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,gBAAA,EAAA,EAAA,iBAAA,EAAA,kBAAA,EAAA,UAAA,EAAA,kBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,WAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,QAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EAIgC,gBAAgB,EAT/D,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA;;AAET,CAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FAGW,aAAa,EAAA,UAAA,EAAA,CAAA;kBAPzB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,QAAQ,EAAE,iBAAiB;AAC3B,oBAAA,QAAQ,EAAE;;AAET,CAAA,CAAA;oBACD,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,iBAAA;;;ACrBD,MAAM,SAAS,GAAG;IACjB,eAAe;IACf,cAAc;IACd,YAAY;IACZ,wBAAwB;IACxB,oBAAoB;IACpB,gBAAgB;IAChB,iBAAiB;IACjB,kBAAkB;IAClB,aAAa;IACb,uBAAuB;IACvB,iBAAiB;IACjB,YAAY;IACZ,eAAe;IACf,uBAAuB;IACvB,WAAW;IACX,mBAAmB;IACnB,iBAAiB;IACjB,YAAY;IACZ,eAAe;IACf,wBAAwB;IACxB,gBAAgB;IAChB,eAAe;IACf,sBAAsB;IACtB,sBAAsB;IACtB,yBAAyB;IACzB,yBAAyB;IACzB,mBAAmB;IACnB,gBAAgB;IAChB,mBAAmB;IACnB,mBAAmB;IACnB,cAAc;IACd,mBAAmB;IACnB,eAAe;IACf,aAAa;IACb,oBAAoB;IACpB,eAAe;IACf,cAAc;IACd,eAAe;IACf,yBAAyB;IACzB,mBAAmB;IACnB,UAAU;IACV,cAAc;IACd,mBAAmB;IACnB,eAAe;IACf,aAAa;IACb,oBAAoB;IACpB,eAAe;IACf,cAAc;IACd,YAAY;IACZ,eAAe;IACf,yBAAyB;IACzB,mBAAmB;IACnB,WAAW;IACX,WAAW;IACX,YAAY;IACZ,cAAc;IACd,SAAS;IACT,qBAAqB;IACrB,uBAAuB;IACvB,mBAAmB;IACnB,QAAQ;IACR,UAAU;IACV,sBAAsB;IACtB,WAAW;IACX,QAAQ;IACR,OAAO;IACP,yBAAyB;IACzB,sBAAsB;IACtB,yBAAyB;IACzB,WAAW;IACX,gBAAgB;IAChB,iBAAiB;IACjB,kBAAkB;IAClB,2BAA2B;IAC3B,gCAAgC;IAChC,mBAAmB;IACnB,oBAAoB;IACpB,mBAAmB;IACnB,oBAAoB;IACpB,kBAAkB;IAClB,sBAAsB;IACtB,UAAU;IACV,cAAc;IACd,qBAAqB;IACrB,mCAAmC;IACnC,qBAAqB;IACrB,4BAA4B;IAC5B,cAAc;IACd,mBAAmB;IACnB,qBAAqB;IACrB,UAAU;IACV,mBAAmB;IACnB,0BAA0B;IAC1B,qBAAqB;IACrB,kBAAkB;IAClB,oBAAoB;IACpB,0BAA0B;IAC1B,iBAAiB;IACjB,wBAAwB;IACxB,kBAAkB;IAClB,iBAAiB;IACjB,6BAA6B;IAC7B,YAAY;IACZ,sBAAsB;IACtB,mBAAmB;IACnB,oBAAoB;IACpB,iBAAiB;IACjB,uBAAuB;IACvB,MAAM;IACN,uBAAuB;IACvB,0BAA0B;IAC1B,UAAU;IACV,eAAe;IACf,WAAW;IACX,eAAe;IACf,WAAW;IACX,SAAS;IACT,gBAAgB;IAChB,WAAW;IACX,UAAU;IACV,QAAQ;IACR,WAAW;IACX,qBAAqB;IACrB,eAAe;IACf,WAAW;IACX,aAAa;IACb,wBAAwB;IACxB,aAAa;IACb,eAAe;IACf,YAAY;IACZ,YAAY;IACZ,qBAAqB;IACrB,gCAAgC;IAChC,yBAAyB;IACzB,gBAAgB;IAChB,mBAAmB;IACnB,mBAAmB;IACnB,cAAc;IACd,aAAa;IACb,qBAAqB;IACrB,aAAa;IACb,qBAAqB;IACrB,WAAW;IACX,mBAAmB;IACnB,YAAY;IACZ,YAAY;IACZ,eAAe;IACf,eAAe;IACf,cAAc;IACd,cAAc;IACd,eAAe;IACf,eAAe;IACf,2BAA2B;IAC3B,YAAY;IACZ,YAAY;IACZ,YAAY;IACZ,YAAY;IACZ,qBAAqB;IACrB,YAAY;IACZ,iBAAiB;IACjB,qBAAqB;IACrB,iBAAiB;IACjB,kBAAkB;IAClB,sBAAsB;IACtB,UAAU;IACV,YAAY;IACZ,iBAAiB;IACjB,aAAa;IACb,OAAO;IACP,eAAe;IACf,eAAe;IACf,eAAe;IACf,gBAAgB;IAChB,YAAY;IACZ,YAAY;IACZ,cAAc;IACd,WAAW;IACX,0BAA0B;IAC1B,YAAY;IACZ,aAAa;IACb,cAAc;IACd,yBAAyB;IACzB,SAAS;IACT,WAAW;IACX,YAAY;IACZ,WAAW;IACX,YAAY;IACZ,aAAa;IACb,WAAW;IACX,YAAY;IACZ,WAAW;IACX,YAAY;IACZ,aAAa;IACb,WAAW;IACX,YAAY;IACZ,WAAW;IACX,YAAY;IACZ,aAAa;IACb,WAAW;IACX,YAAY;IACZ,WAAW;IACX,YAAY;IACZ,aAAa;IACb,kBAAkB;IAClB,oBAAoB;IACpB,oBAAoB;IACpB,kBAAkB;IAClB,oBAAoB;IACpB,oBAAoB;IACpB,kBAAkB;IAClB,oBAAoB;IACpB,oBAAoB;IACpB,gBAAgB;IAChB,iBAAiB;IACjB,gBAAgB;IAChB,iBAAiB;IACjB,gBAAgB;IAChB,iBAAiB;IACjB,gBAAgB;IAChB,iBAAiB;IACjB,kBAAkB;IAClB,mBAAmB;IACnB,qBAAqB;IACrB,UAAU;IACV,kBAAkB;CAClB;AAED,MAAM,KAAK,GAA2B;AACrC,IAAA,gBAAgB,EAAE,GAAG;AACrB,IAAA,kBAAkB,EAAE,IAAI;AACxB,IAAA,gBAAgB,EAAE,KAAK;AACvB,IAAA,MAAM,EAAE,CAAC;AACT,IAAA,KAAK,EAAE,CAAC;AACR,IAAA,SAAS,EAAE,CAAC;AACZ,IAAA,UAAU,EAAE,CAAC;AACb,IAAA,SAAS,EAAE,CAAC;AACZ,IAAA,cAAc,EAAE,CAAC;AACjB,IAAA,YAAY,EAAE,CAAC;AACf,IAAA,IAAI,EAAE,CAAC;AACP,IAAA,GAAG,EAAE,CAAC;AACN,IAAA,SAAS,EAAE,GAAG;AACd,IAAA,mBAAmB,EAAE,GAAG;AACxB,IAAA,SAAS,EAAE,GAAG;AACd,IAAA,mBAAmB,EAAE,GAAG;AACxB,IAAA,SAAS,EAAE,GAAG;AACd,IAAA,mBAAmB,EAAE,GAAG;AACxB,IAAA,SAAS,EAAE,GAAG;AACd,IAAA,mBAAmB,EAAE,GAAG;AACxB,IAAA,kBAAkB,EAAE,GAAG;AACvB,IAAA,QAAQ,EAAE,KAAK;AACf,IAAA,cAAc,EAAE,KAAK;AACrB,IAAA,kBAAkB,EAAE,KAAK;AACzB,IAAA,oBAAoB,EAAE,KAAK;AAC3B,IAAA,aAAa,EAAE,KAAK;AACpB,IAAA,qBAAqB,EAAE,KAAK;AAC5B,IAAA,aAAa,EAAE,KAAK;AACpB,IAAA,aAAa,EAAE,KAAK;AACpB,IAAA,eAAe,EAAE,KAAK;AACtB,IAAA,eAAe,EAAE,KAAK;AACtB,IAAA,cAAc,EAAE,KAAK;AACrB,IAAA,wBAAwB,EAAE,KAAK;AAC/B,IAAA,cAAc,EAAE,KAAK;AACrB,IAAA,wBAAwB,EAAE,KAAK;AAC/B,IAAA,WAAW,EAAE,KAAK;AAClB,IAAA,YAAY,EAAE,KAAK;AACnB,IAAA,oBAAoB,EAAE,KAAK;AAC3B,IAAA,oBAAoB,EAAE,KAAK;AAC3B,IAAA,4BAA4B,EAAE,KAAK;AACnC,IAAA,WAAW,EAAE,KAAK;AAClB,IAAA,WAAW,EAAE,KAAK;AAClB,IAAA,YAAY,EAAE,KAAK;AACnB,IAAA,WAAW,EAAE,KAAK;AAClB,IAAA,YAAY,EAAE,KAAK;AACnB,IAAA,qBAAqB,EAAE,KAAK;AAC5B,IAAA,KAAK,EAAE,IAAI;AACX,IAAA,IAAI,EAAE,IAAI;AACV,IAAA,cAAc,EAAE,IAAI;AACpB,IAAA,UAAU,EAAE,IAAI;AAChB,IAAA,SAAS,EAAE,IAAI;AACf,IAAA,KAAK,EAAE,IAAI;AACX,IAAA,MAAM,EAAE,IAAI;AACZ,IAAA,YAAY,EAAE,IAAI;AAClB,IAAA,UAAU,EAAE,IAAI;AAChB,IAAA,YAAY,EAAE,IAAI;AAClB,IAAA,mBAAmB,EAAE,KAAK;AAC1B,IAAA,wBAAwB,EAAE,KAAK;AAC/B,IAAA,eAAe,EAAE,KAAK;AACtB,IAAA,QAAQ,EAAE,CAAC;AACX,IAAA,YAAY,EAAE,IAAI;AAClB,IAAA,aAAa,EAAE,IAAI;AACnB,IAAA,iBAAiB,EAAE,IAAI;AACvB,IAAA,aAAa,EAAE,IAAI;AACnB,IAAA,EAAE,EAAE,IAAI;AACR,IAAA,GAAG,EAAE,IAAI;AACT,IAAA,UAAU,EAAE,IAAI;AAChB,IAAA,wBAAwB,EAAE,KAAK;AAC/B,IAAA,wBAAwB,EAAE,KAAK;AAC/B,IAAA,cAAc,EAAE,IAAI;AACpB,IAAA,UAAU,EAAE,IAAI;AAChB,IAAA,WAAW,EAAE,IAAI;AACjB,IAAA,eAAe,EAAE,IAAI;AACrB,IAAA,iBAAiB,EAAE,IAAI;AACvB,IAAA,UAAU,EAAE,IAAI;AAChB,IAAA,mBAAmB,EAAE,IAAI;AACzB,IAAA,YAAY,EAAE,IAAI;AAClB,IAAA,YAAY,EAAE,IAAI;AAClB,IAAA,uBAAuB,EAAE,IAAI;AAC7B,IAAA,uBAAuB,EAAE,IAAI;AAC7B,IAAA,WAAW,EAAE,IAAI;AACjB,IAAA,kBAAkB,EAAE,IAAI;AACxB,IAAA,iBAAiB,EAAE,IAAI;AACvB,IAAA,iBAAiB,EAAE,KAAK;AACxB,IAAA,iBAAiB,EAAE,KAAK;AACxB,IAAA,4BAA4B,EAAE,KAAK;AACnC,IAAA,4BAA4B,EAAE,KAAK;AACnC,IAAA,gBAAgB,EAAE,KAAK;AACvB,IAAA,uBAAuB,EAAE,KAAK;AAC9B,IAAA,sBAAsB,EAAE,KAAK;AAC7B,IAAA,QAAQ,EAAE,IAAI;AACd,IAAA,WAAW,EAAE,IAAI;AACjB,IAAA,iBAAiB,EAAE,IAAI;AACvB,IAAA,eAAe,EAAE,IAAI;AACrB,IAAA,gBAAgB,EAAE,IAAI;AACtB,IAAA,cAAc,EAAE,IAAI;AACpB,IAAA,gBAAgB,EAAE,IAAI;AACtB,IAAA,iBAAiB,EAAE,IAAI;AACvB,IAAA,aAAa,EAAE,IAAI;AACnB,IAAA,QAAQ,EAAE,IAAI;AACd,IAAA,UAAU,EAAE,IAAI;AAChB,IAAA,SAAS,EAAE,IAAI;AACf,IAAA,UAAU,EAAE,IAAI;AAChB,IAAA,UAAU,EAAE,IAAI;AAChB,IAAA,YAAY,EAAE,IAAI;AAClB,IAAA,oBAAoB,EAAE,KAAK;AAC3B,IAAA,qBAAqB,EAAE,KAAK;AAC5B,IAAA,kBAAkB,EAAE,KAAK;AACzB,IAAA,cAAc,EAAE,KAAK;AACrB,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,qBAAqB,EAAE,KAAK;AAC5B,IAAA,sBAAsB,EAAE,KAAK;AAC7B,IAAA,0BAA0B,EAAE,KAAK;AACjC,IAAA,SAAS,EAAE,IAAI;AACf,IAAA,OAAO,EAAE,IAAI;AACb,IAAA,MAAM,EAAE,IAAI;AACZ,IAAA,oBAAoB,EAAE,KAAK;AAC3B,IAAA,IAAI,EAAE,IAAI;AACV,IAAA,aAAa,EAAE,IAAI;AACnB,IAAA,KAAK,EAAE,IAAI;AACX,IAAA,cAAc,EAAE,IAAI;AACpB,IAAA,GAAG,EAAE,IAAI;AACT,IAAA,YAAY,EAAE,IAAI;AAClB,IAAA,KAAK,EAAE,IAAI;AACX,IAAA,eAAe,EAAE,IAAI;AACrB,IAAA,KAAK,EAAE,IAAI;AACX,IAAA,GAAG,EAAE,IAAI;AACT,IAAA,IAAI,EAAE,IAAI;AACV,IAAA,SAAS,EAAE,IAAI;AACf,IAAA,eAAe,EAAE,IAAI;AACrB,IAAA,sBAAsB,EAAE,KAAK;AAC7B,IAAA,sBAAsB,EAAE,KAAK;AAC7B,IAAA,oBAAoB,EAAE,KAAK;AAC3B,IAAA,eAAe,EAAE,KAAK;AACtB,IAAA,aAAa,EAAE,KAAK;AACpB,IAAA,kBAAkB,EAAE,KAAK;AACzB,IAAA,0BAA0B,EAAE,KAAK;AACjC,IAAA,mBAAmB,EAAE,KAAK;AAC1B,IAAA,gCAAgC,EAAE,KAAK;AACvC,IAAA,8BAA8B,EAAE,KAAK;AACrC,IAAA,uBAAuB,EAAE,KAAK;AAC9B,IAAA,4BAA4B,EAAE,KAAK;AACnC,IAAA,WAAW,EAAE,KAAK;AAClB,IAAA,aAAa,EAAE,KAAK;AACpB,IAAA,WAAW,EAAE,KAAK;AAClB,IAAA,eAAe,EAAE,KAAK;AACtB,IAAA,gBAAgB,EAAE,KAAK;AACvB,IAAA,eAAe,EAAE,KAAK;AACtB,IAAA,iBAAiB,EAAE,KAAK;AACxB,IAAA,wBAAwB,EAAE,KAAK;AAC/B,IAAA,eAAe,EAAE,KAAK;AACtB,IAAA,KAAK,EAAE,GAAG;AACV,IAAA,IAAI,EAAE,GAAG;AACT,IAAA,KAAK,EAAE,GAAG;AACV,IAAA,MAAM,EAAE,GAAG;AACX,IAAA,OAAO,EAAE,GAAG;AACZ,IAAA,QAAQ,EAAE,GAAG;AACb,IAAA,MAAM,EAAE,GAAG;AACX,IAAA,MAAM,EAAE,GAAG;AACX,IAAA,IAAI,EAAE,IAAI;AACV,IAAA,OAAO,EAAE,IAAI;AACb,IAAA,IAAI,EAAE,IAAI;AACV,IAAA,IAAI,EAAE,IAAI;AACV,IAAA,MAAM,EAAE,IAAI;AACZ,IAAA,SAAS,EAAE,KAAK;AAChB,IAAA,SAAS,EAAE,KAAK;AAChB,IAAA,MAAM,EAAE,IAAI;AACZ,IAAA,QAAQ,EAAE,IAAI;AACd,IAAA,OAAO,EAAE,IAAI;AACb,IAAA,OAAO,EAAE,IAAI;AACb,IAAA,MAAM,EAAE,IAAI;AACZ,IAAA,sBAAsB,EAAE,IAAI;AAC5B,IAAA,qBAAqB,EAAE,IAAI;AAC3B,IAAA,qBAAqB,EAAE,IAAI;AAC3B,IAAA,oBAAoB,EAAE,IAAI;AAC1B,IAAA,kBAAkB,EAAE,KAAK;AACzB,IAAA,kBAAkB,EAAE,KAAK;AACzB,IAAA,cAAc,EAAE,KAAK;AACrB,IAAA,cAAc,EAAE,KAAK;AACrB,IAAA,OAAO,EAAE,IAAI;AACb,IAAA,gBAAgB,EAAE,KAAK;AACvB,IAAA,wBAAwB,EAAE,KAAK;AAC/B,IAAA,2BAA2B,EAAE,KAAK;AAClC,IAAA,2BAA2B,EAAE,KAAK;AAClC,IAAA,2BAA2B,EAAE,KAAK;AAClC,IAAA,2BAA2B,EAAE,KAAK;AAClC,IAAA,2BAA2B,EAAE,KAAK;AAClC,IAAA,2BAA2B,EAAE,KAAK;AAClC,IAAA,yBAAyB,EAAE,KAAK;AAChC,IAAA,QAAQ,EAAE,KAAK;AACf,IAAA,QAAQ,EAAE,KAAK;AACf,IAAA,QAAQ,EAAE,KAAK;AACf,IAAA,QAAQ,EAAE,KAAK;AACf,IAAA,QAAQ,EAAE,KAAK;AACf,IAAA,QAAQ,EAAE,KAAK;AACf,IAAA,QAAQ,EAAE,KAAK;AACf,IAAA,QAAQ,EAAE,KAAK;AACf,IAAA,QAAQ,EAAE,KAAK;AACf,IAAA,QAAQ,EAAE,KAAK;AACf,IAAA,SAAS,EAAE,KAAK;AAChB,IAAA,SAAS,EAAE,KAAK;AAChB,IAAA,SAAS,EAAE,KAAK;AAChB,IAAA,SAAS,EAAE,KAAK;AAChB,IAAA,SAAS,EAAE,KAAK;AAChB,IAAA,SAAS,EAAE,KAAK;AAChB,IAAA,SAAS,EAAE,KAAK;AAChB,IAAA,SAAS,EAAE,KAAK;AAChB,IAAA,SAAS,EAAE,KAAK;AAChB,IAAA,SAAS,EAAE,KAAK;AAChB,IAAA,SAAS,EAAE,KAAK;AAChB,IAAA,SAAS,EAAE,KAAK;AAChB,IAAA,SAAS,EAAE,KAAK;AAChB,IAAA,SAAS,EAAE,KAAK;AAChB,IAAA,SAAS,EAAE,KAAK;AAChB,IAAA,SAAS,EAAE,KAAK;AAChB,IAAA,SAAS,EAAE,KAAK;AAChB,IAAA,SAAS,EAAE,KAAK;AAChB,IAAA,SAAS,EAAE,KAAK;AAChB,IAAA,SAAS,EAAE,KAAK;AAChB,IAAA,SAAS,EAAE,KAAK;AAChB,IAAA,SAAS,EAAE,KAAK;AAChB,IAAA,cAAc,EAAE,KAAK;AACrB,IAAA,MAAM,EAAE,KAAK;AACb,IAAA,aAAa,EAAE,KAAK;AACpB,IAAA,eAAe,EAAE,KAAK;AACtB,IAAA,UAAU,EAAE,KAAK;AACjB,IAAA,UAAU,EAAE,KAAK;AACjB,IAAA,UAAU,EAAE,KAAK;AACjB,IAAA,QAAQ,EAAE,KAAK;AACf,IAAA,QAAQ,EAAE,KAAK;AACf,IAAA,QAAQ,EAAE,KAAK;AACf,IAAA,IAAI,EAAE,KAAK;AACX,IAAA,SAAS,EAAE,KAAK;AAChB,IAAA,SAAS,EAAE,KAAK;AAChB,IAAA,SAAS,EAAE,KAAK;AAChB,IAAA,UAAU,EAAE,KAAK;AACjB,IAAA,UAAU,EAAE,KAAK;AACjB,IAAA,UAAU,EAAE,KAAK;AACjB,IAAA,UAAU,EAAE,KAAK;AACjB,IAAA,YAAY,EAAE,KAAK;AACnB,IAAA,2BAA2B,EAAE,KAAK;AAClC,IAAA,wBAAwB,EAAE,KAAK;AAC/B,IAAA,0BAA0B,EAAE,KAAK;AACjC,IAAA,wBAAwB,EAAE,KAAK;AAC/B,IAAA,8BAA8B,EAAE,KAAK;AACrC,IAAA,2BAA2B,EAAE,KAAK;AAClC,IAAA,kCAAkC,EAAE,KAAK;AACzC,IAAA,8BAA8B,EAAE,KAAK;AACrC,IAAA,gCAAgC,EAAE,KAAK;AACvC,IAAA,cAAc,EAAE,KAAK;AACrB,IAAA,SAAS,EAAE,KAAK;AAChB,IAAA,YAAY,EAAE,KAAK;AACnB,IAAA,UAAU,EAAE,KAAK;AACjB,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,UAAU,EAAE,KAAK;AACjB,IAAA,QAAQ,EAAE,KAAK;AACf,IAAA,WAAW,EAAE,KAAK;AAClB,IAAA,YAAY,EAAE,KAAK;AACnB,IAAA,KAAK,EAAE,KAAK;AACZ,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,MAAM,EAAE,KAAK;AACb,IAAA,iBAAiB,EAAE,KAAK;AACxB,IAAA,aAAa,EAAE,IAAI;AACnB,IAAA,cAAc,EAAE,KAAK;AACrB,IAAA,aAAa,EAAE,KAAK;AACpB,IAAA,kBAAkB,EAAE,KAAK;AACzB,IAAA,mBAAmB,EAAE,KAAK;AAC1B,IAAA,4BAA4B,EAAE,KAAK;AACnC,IAAA,qBAAqB,EAAE,KAAK;AAC5B,IAAA,uBAAuB,EAAE,KAAK;AAC9B,IAAA,sBAAsB,EAAE,KAAK;AAC7B,IAAA,uBAAuB,EAAE,KAAK;AAC9B,IAAA,uBAAuB,EAAE,KAAK;AAC9B,IAAA,yBAAyB,EAAE,KAAK;AAChC,IAAA,kCAAkC,EAAE,KAAK;AACzC,IAAA,kCAAkC,EAAE,KAAK;AACzC,IAAA,oCAAoC,EAAE,KAAK;AAC3C,IAAA,4CAA4C,EAAE,KAAK;AACnD,IAAA,iBAAiB,EAAE,KAAK;AACxB,IAAA,gBAAgB,EAAE,KAAK;AACvB,IAAA,kBAAkB,EAAE,KAAK;AACzB,IAAA,wBAAwB,EAAE,KAAK;AAC/B,IAAA,IAAI,EAAE,CAAC;AACP,IAAA,oBAAoB,EAAE,KAAK;AAC3B,IAAA,iCAAiC,EAAE,KAAK;AACxC,IAAA,yCAAyC,EAAE,KAAK;AAChD,IAAA,iCAAiC,EAAE,KAAK;AACxC,IAAA,uBAAuB,EAAE,KAAK;AAC9B,IAAA,mBAAmB,EAAE,KAAK;AAC1B,IAAA,oBAAoB,EAAE,KAAK;AAC3B,IAAA,qBAAqB,EAAE,KAAK;AAC5B,IAAA,6BAA6B,EAAE,IAAI;AACnC,IAAA,mBAAmB,EAAE,KAAK;AAC1B,IAAA,8BAA8B,EAAE,KAAK;AACrC,IAAA,kBAAkB,EAAE,KAAK;AACzB,IAAA,kCAAkC,EAAE,KAAK;AACzC,IAAA,qBAAqB,EAAE,KAAK;AAC5B,IAAA,WAAW,EAAE,IAAI;AACjB,IAAA,iBAAiB,EAAE,IAAI;AACvB,IAAA,gBAAgB,EAAE,IAAI;AACtB,IAAA,kBAAkB,EAAE,IAAI;AACxB,IAAA,eAAe,EAAE,IAAI;AACrB,IAAA,cAAc,EAAE,IAAI;AACpB,IAAA,gBAAgB,EAAE,IAAI;AACtB,IAAA,KAAK,EAAE,IAAI;AACX,IAAA,KAAK,EAAE,IAAI;AACX,IAAA,OAAO,EAAE,IAAI;AACb,IAAA,GAAG,EAAE,IAAI;AACT,IAAA,kBAAkB,EAAE,KAAK;AACzB,IAAA,mBAAmB,EAAE,KAAK;AAC1B,IAAA,cAAc,EAAE,KAAK;AACrB,IAAA,qBAAqB,EAAE,KAAK;AAC5B,IAAA,oBAAoB,EAAE,KAAK;AAC3B,IAAA,eAAe,EAAE,KAAK;AACtB,IAAA,eAAe,EAAE,KAAK;AACtB,IAAA,kBAAkB,EAAE,KAAK;AACzB,IAAA,iBAAiB,EAAE,KAAK;AACxB,IAAA,GAAG,EAAE,KAAK;AACV,IAAA,GAAG,EAAE,KAAK;AACV,IAAA,oBAAoB,EAAE,KAAK;AAC3B,IAAA,oBAAoB,EAAE,KAAK;AAC3B,IAAA,oBAAoB,EAAE,KAAK;AAC3B,IAAA,aAAa,EAAE,KAAK;AACpB,IAAA,YAAY,EAAE,KAAK;AACnB,IAAA,sBAAsB,EAAE,KAAK;AAC7B,IAAA,WAAW,EAAE,KAAK;AAClB,IAAA,WAAW,EAAE,KAAK;AAClB,IAAA,WAAW,EAAE,KAAK;AAClB,IAAA,WAAW,EAAE,KAAK;AAClB,IAAA,YAAY,EAAE,KAAK;AACnB,IAAA,YAAY,EAAE,KAAK;AACnB,IAAA,gBAAgB,EAAE,KAAK;AACvB,IAAA,+BAA+B,EAAE,KAAK;AACtC,IAAA,6BAA6B,EAAE,KAAK;AACpC,IAAA,+BAA+B,EAAE,KAAK;AACtC,IAAA,iBAAiB,EAAE,KAAK;AACxB,IAAA,mBAAmB,EAAE,KAAK;AAC1B,IAAA,yBAAyB,EAAE,KAAK;AAChC,IAAA,2BAA2B,EAAE,KAAK;AAClC,IAAA,IAAI,EAAE,KAAK;AACX,IAAA,sBAAsB,EAAE,KAAK;AAC7B,IAAA,2BAA2B,EAAE,KAAK;AAClC,IAAA,wBAAwB,EAAE,KAAK;AAC/B,IAAA,wBAAwB,EAAE,KAAK;AAC/B,IAAA,wBAAwB,EAAE,KAAK;AAC/B,IAAA,sBAAsB,EAAE,KAAK;AAC7B,IAAA,8BAA8B,EAAE,KAAK;AACrC,IAAA,0CAA0C,EAAE,KAAK;AACjD,IAAA,2BAA2B,EAAE,KAAK;AAClC,IAAA,+BAA+B,EAAE,KAAK;AACtC,IAAA,8BAA8B,EAAE,KAAK;AACrC,IAAA,qCAAqC,EAAE,KAAK;AAC5C,IAAA,kBAAkB,EAAE,KAAK;AACzB,IAAA,6CAA6C,EAAE,KAAK;AACpD,IAAA,uCAAuC,EAAE,KAAK;AAC9C,IAAA,mBAAmB,EAAE,KAAK;AAC1B,IAAA,gBAAgB,EAAE,KAAK;AACvB,IAAA,yBAAyB,EAAE,KAAK;AAChC,IAAA,iCAAiC,EAAE,KAAK;AACxC,IAAA,WAAW,EAAE,KAAK;AAClB,IAAA,WAAW,EAAE,KAAK;AAClB,IAAA,YAAY,EAAE,KAAK;AACnB,IAAA,mBAAmB,EAAE,KAAK;AAC1B,IAAA,gBAAgB,EAAE,KAAK;AACvB,IAAA,yBAAyB,EAAE,KAAK;AAChC,IAAA,qCAAqC,EAAE,KAAK;AAC5C,IAAA,qCAAqC,EAAE,KAAK;AAC5C,IAAA,+BAA+B,EAAE,KAAK;AACtC,IAAA,iCAAiC,EAAE,KAAK;AACxC,IAAA,gCAAgC,EAAE,KAAK;AACvC,IAAA,iCAAiC,EAAE,KAAK;AACxC,IAAA,iCAAiC,EAAE,KAAK;AACxC,IAAA,mCAAmC,EAAE,KAAK;AAC1C,IAAA,mBAAmB,EAAE,KAAK;AAC1B,IAAA,mBAAmB,EAAE,KAAK;AAC1B,IAAA,wBAAwB,EAAE,KAAK;AAC/B,IAAA,gBAAgB,EAAE,KAAK;AACvB,IAAA,gBAAgB,EAAE,KAAK;AACvB,IAAA,wBAAwB,EAAE,KAAK;AAC/B,IAAA,oBAAoB,EAAE,KAAK;AAC3B,IAAA,oCAAoC,EAAE,KAAK;AAC3C,IAAA,qBAAqB,EAAE,KAAK;AAC5B,IAAA,kCAAkC,EAAE,KAAK;AACzC,IAAA,WAAW,EAAE,KAAK;AAClB,IAAA,UAAU,EAAE,IAAI;AAChB,IAAA,EAAE,EAAE,KAAK;AACT,IAAA,UAAU,EAAE,KAAK;AACjB,IAAA,oBAAoB,EAAE,KAAK;AAC3B,IAAA,iBAAiB,EAAE,KAAK;AACxB,IAAA,gBAAgB,EAAE,KAAK;AACvB,IAAA,iBAAiB,EAAE,KAAK;AACxB,IAAA,wBAAwB,EAAE,KAAK;AAC/B,IAAA,yBAAyB,EAAE,KAAK;AAChC,IAAA,cAAc,EAAE,KAAK;AACrB,IAAA,sBAAsB,EAAE,KAAK;AAC7B,IAAA,oBAAoB,EAAE,KAAK;AAC3B,IAAA,mBAAmB,EAAE,KAAK;AAC1B,IAAA,yBAAyB,EAAE,KAAK;AAChC,IAAA,2BAA2B,EAAE,KAAK;AAClC,IAAA,2BAA2B,EAAE,KAAK;AAClC,IAAA,2BAA2B,EAAE,KAAK;AAClC,IAAA,sBAAsB,EAAE,KAAK;AAC7B,IAAA,sCAAsC,EAAE,KAAK;AAC7C,IAAA,wCAAwC,EAAE,KAAK;AAC/C,IAAA,+BAA+B,EAAE,KAAK;AACtC,IAAA,qBAAqB,EAAE,KAAK;AAC5B,IAAA,YAAY,EAAE,KAAK;AACnB,IAAA,YAAY,EAAE,KAAK;AACnB,IAAA,mBAAmB,EAAE,KAAK;AAC1B,IAAA,cAAc,EAAE,KAAK;AACrB,IAAA,oBAAoB,EAAE,KAAK;AAC3B,IAAA,qBAAqB,EAAE,KAAK;AAC5B,IAAA,oBAAoB,EAAE,KAAK;AAC3B,IAAA,qBAAqB,EAAE,KAAK;AAC5B,IAAA,uBAAuB,EAAE,KAAK;AAC9B,IAAA,6BAA6B,EAAE,KAAK;AACpC,IAAA,oCAAoC,EAAE,KAAK;AAC3C,IAAA,yCAAyC,EAAE,KAAK;AAChD,IAAA,2CAA2C,EAAE,KAAK;AAClD,IAAA,aAAa,EAAE,UAAU;AACzB,IAAA,4BAA4B,EAAE,KAAK;AACnC,IAAA,6BAA6B,EAAE,KAAK;AACpC,IAAA,uBAAuB,EAAE,KAAK;AAC9B,IAAA,WAAW,EAAE,KAAK;AAClB,IAAA,cAAc,EAAE,KAAK;AACrB,IAAA,WAAW,EAAE,KAAK;AAClB,IAAA,UAAU,EAAE,KAAK;AACjB,IAAA,UAAU,EAAE,KAAK;AACjB,IAAA,0BAA0B,EAAE,KAAK;AACjC,IAAA,UAAU,EAAE,KAAK;AACjB,IAAA,QAAQ,EAAE,KAAK;AACf,IAAA,gBAAgB,EAAE,KAAK;AACvB,IAAA,eAAe,EAAE,KAAK;AACtB,IAAA,mBAAmB,EAAE,KAAK;AAC1B,IAAA,WAAW,EAAE,KAAK;AAClB,IAAA,uBAAuB,EAAE,CAAC;AAC1B,IAAA,2BAA2B,EAAE,KAAK;AAClC,IAAA,kBAAkB,EAAE,KAAK;AACzB,IAAA,+BAA+B,EAAE,KAAK;AACtC,IAAA,eAAe,EAAE,KAAK;AACtB,IAAA,kBAAkB,EAAE,KAAK;AACzB,IAAA,yBAAyB,EAAE,KAAK;AAChC,IAAA,yBAAyB,EAAE,KAAK;AAChC,IAAA,0BAA0B,EAAE,KAAK;AACjC,IAAA,wBAAwB,EAAE,KAAK;AAC/B,IAAA,iBAAiB,EAAE,KAAK;AACxB,IAAA,wBAAwB,EAAE,KAAK;IAC/B,eAAe,EAAE,CAAC,CAAC;AACnB,IAAA,6BAA6B,EAAE,KAAK;CACpC;AAED,MAAM,UAAU,GAA2B;;AAE1C,IAAA,iBAAiB,EAAE,EAAE;AACrB,IAAA,sBAAsB,EAAE,EAAE;AAC1B,IAAA,kBAAkB,EAAE;AACnB,QAAA,WAAW,EAAE,MAAK,GAAG;AACrB,KAAA;AACD,IAAA,wBAAwB,EAAE,EAAE;AAC5B,IAAA,uBAAuB,EAAE;AACxB,QAAA,oBAAoB,EAAE,MAAK,GAAG;AAC9B,QAAA,kBAAkB,EAAE,MAAK,GAAG;AAC5B,QAAA,oBAAoB,EAAE,MAAK,GAAG;AAC9B,KAAA;AACD,IAAA,yBAAyB,EAAE,IAAI;AAC/B,IAAA,mBAAmB,EAAE,IAAI;AACzB,IAAA,6BAA6B,EAAE,IAAI;AACnC,IAAA,mBAAmB,EAAE,EAAE;AACvB,IAAA,sBAAsB,EAAE,EAAE;AAC1B,IAAA,8BAA8B,EAAE,IAAI;AACpC,IAAA,cAAc,EAAE,EAAE;AAClB,IAAA,kBAAkB,EAAE,EAAE;AACtB,IAAA,sBAAsB,EAAE,IAAI;AAC5B,IAAA,wBAAwB,EAAE,IAAI;AAC9B,IAAA,6BAA6B,EAAE,IAAI;IACnC,gBAAgB,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE;AAC5C,IAAA,sBAAsB,EAAE,IAAI;;AAE5B,IAAA,4BAA4B,EAAE,IAAI;AAClC,IAAA,8BAA8B,EAAE,IAAI;AACpC,IAAA,2BAA2B,EAAE,IAAI;AACjC,IAAA,wBAAwB,EAAE,IAAI;AAC9B,IAAA,QAAQ,EAAE,IAAI;AACd,IAAA,6BAA6B,EAAE,IAAI;CACnC;MAEY,sBAAsB,CAAA;AAGlC,IAAA,WAAA,CAAY,MAAyB,EAAA;QAerC,IAAwB,CAAA,wBAAA,GAAG,MAAK;YAC/B,OAAO;AACN,gBAAA,QAAQ,EAAE,GAAG;AACb,gBAAA,QAAQ,EAAE,GAAG;AACb,gBAAA,SAAS,EAAE,EAAE;aACb;AACF,SAAC;QAEO,IAAU,CAAA,UAAA,GAAG,IAAI;QACjB,IAAW,CAAA,WAAA,GAAG,IAAI;QAClB,IAAQ,CAAA,QAAA,GAAG,IAAI;AAiBvB,QAAA,IAAA,CAAA,iBAAiB,GAAG,MAAM,EAAE;AAE5B,QAAA,IAAA,CAAA,gBAAgB,GAAG,MAAM,EAAE;;AA1C1B,QAAA,IAAI,CAAC,MAAM,GAAG,MAAM;;AAEpB,QAAA,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC,KAAK;;AAEtC,QAAA,IAAI,CAAC,mBAAmB,GAAG,MAAM,CAAC,MAAM;AAExC,QAAA,KAAK,MAAM,MAAM,IAAI,SAAS,EAAE;YAC/B,IAAI,CAAC,MAAM,CAAC,KAAK,MAAK,GAAG;;AAG1B,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC;;;AAgB3B,IAAA,YAAY,CAAC,OAAe,EAAA;QAC3B,QAAQ,OAAO;YACd,KAAK,IAAI,CAAC,UAAU;gBACnB,OAAO,CAAC,QAAQ,CAAC;YAClB,KAAK,IAAI,CAAC,WAAW;YACrB,KAAK,IAAI,CAAC,QAAQ;gBACjB,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;;;AAItB,IAAA,YAAY,CAAC,GAAW,EAAA;AACvB,QAAA,OAAO,UAAU,CAAC,GAAG,CAAC;;AAMvB;;ACzvBe,SAAA,gBAAgB,CAAC,EAChC,KAAK,GAAG,IAAI,EACZ,MAAM,GAAG,GAAG,EACZ,YAAY,GAKZ,EAAA;AACA,IAAA,IAAI,MAAyB;AAE7B,IAAA,IAAI,OAAO,QAAQ,KAAK,WAAW,IAAI,OAAO,QAAQ,CAAC,aAAa,KAAK,UAAU,EAAE;AACpF,QAAA,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC;;SACnC;AACN,QAAA,MAAM,GAAG;AACR,YAAA,KAAK,EAAE,EAAE;AACT,YAAA,gBAAgB,GAAG,MAAK,GAAG,CAAQ;AACnC,YAAA,mBAAmB,GAAG,MAAK,GAAG,CAAQ;AACtC,YAAA,WAAW,EAAE,KAAK;AAClB,YAAA,YAAY,EAAE,MAAM;YACpB,UAAU,GAAG,MAAM,IAAI,sBAAsB,CAAC,MAAM,CAAC,CAAQ;SACxC;;AAEvB,IAAA,MAAM,CAAC,KAAK,GAAG,KAAK;AACpB,IAAA,MAAM,CAAC,MAAM,GAAG,MAAM;AAEtB,IAAA,IAAI,UAAU,CAAC,iBAAiB,EAAE;AACjC,QAAA,MAAM,UAAU,GAAG,iBAAiB,CAAC,SAAS,CAAC,UAAU;AACzD,QAAA,iBAAiB,CAAC,SAAS,CAAC,UAAU,GAAG,UAExC,GAAG,IAAmC,EAAA;AAEtC,YAAA,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;AAClB,YAAA,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC;AAAE,gBAAA,OAAO,IAAI,sBAAsB,CAAC,IAAI,CAAC;YACnE,OAAO,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC;AACpC,SAAQ;;AAGT,IAAA,YAAY,GAAG,MAAM,CAAC;IAEtB,MAAM,qBAAsB,SAAQ,sBAAsB,CAAA;AAAG;;AAE7D,IAAA,UAAU,CAAC,qBAAqB,KAAK,qBAAqB;;AAE1D,IAAA,UAAU,CAAC,sBAAsB,KAAK,sBAAsB;AAE5D,IAAA,OAAO,MAAM;AACd;;MCjBa,UAAU,CAAA;AACtB,IAAA,OAAO,MAAM,CACZ,UAAa,EACb,EACC,gBAAgB,GAAG,EAAE,EACrB,iBAAiB,GAAG,EAAE,EACtB,mBAAmB,GAAG,EAAE,EACxB,sBAAsB,EACtB,SAAS,EACT,YAAY,EACZ,OAAO,EACP,QAAQ,EACR,kBAAkB,MAKqD,EAAE,EAAA;AAE1E,QAAA,MAAM,YAAY,GAAG,gBAAgB,CAAC,iBAAiB,CAAC;AAExD,QAAA,MAAM,OAAO,GAAG,OAAO,CAAC,sBAAsB,CAAC;AAC9C,YAAA,SAAS,EAAE;AACV,gBAAA;AACC,oBAAA,OAAO,EAAE,gBAAgB;oBACzB,UAAU,EAAE,CAAC,QAA0B,KAAK,IAAI,mBAAmB,CAAC,QAAQ,CAAC;oBAC7E,IAAI,EAAE,CAACA,oBAAmB,CAAC;AAC3B,iBAAA;AACD,gBAAA,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE;gBAChD,6BAA6B,CAAC,MAAK;AAClC,oBAAA,MAAM,aAAa,GAAG,CAAC,MAAK;AAC3B,wBAAA,MAAM,QAAQ,GAAG,2BAA2B,EAAE;AAE9C,wBAAA,OAAO,MAAK;AACX,4BAAA,MAAM,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAC;4BAC3C,YAAY,CAAC,SAAS,CAAC;AACtB,gCAAA,GAAG,mBAAmB;AACtB,gCAAA,MAAM,EAAE,SAAS;AACjB,gCAAA,SAAS,EAAE,OAAO;AAClB,gCAAA,IAAI,EAAE;oCACL,KAAK,EAAE,iBAAiB,CAAC,KAAK,IAAI,YAAY,CAAC,KAAK,IAAI,IAAI;oCAC5D,MAAM,EAAE,iBAAiB,CAAC,MAAM,IAAI,YAAY,CAAC,MAAM,IAAI,GAAG;AAC9D,oCAAA,GAAG,EAAE,CAAC;AACN,oCAAA,IAAI,EAAE,CAAC;AACP,iCAAA;AACD,6BAAA,CAAC;AACH,yBAAC;qBACD,GAAG;oBACJ,OAAO,aAAa,EAAE;AACvB,iBAAC,CAAC;AACF,gBAAA,IAAI,SAAS,IAAI,EAAE,CAAC;AACpB,aAAA;YACD,OAAO,EAAE,CAAC,sBAAsB,CAAC;YACjC,sBAAsB,EAAE,sBAAsB,IAAI,KAAK;YACvD,YAAY;YACZ,OAAO;YACP,QAAQ;YACR,kBAAkB;AAClB,SAAA,CAAC,CAAC,eAAe,CAAC,aAAa,CAAC;QAEjC,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,YAAY,EAAE,UAAU,CAAC;QACvD,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,kBAAkB,EAAE,gBAAgB,CAAC;QACnE,OAAO,CAAC,aAAa,EAAE;QAEvB,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC;QAEvC,OAAO,CAAC,YAAY,EAAE;QAEtB,OAAO;YACN,KAAK;YACL,OAAO;AACP,YAAA,sBAAsB,EAAE,OAAO,CAAC,iBAAiB,CAAC,QAA2B;AAC7E,YAAA,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK;YAC3B,iBAAiB,EAAE,gBAAgB,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAE;AAC1D,YAAA,MAAM,EAAE,YAAY;AACpB,YAAA,OAAO,EAAE,OAAO,CAAC,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC;YAC1E,SAAS,EAAE,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,OAAO,CAAC;AAChD,YAAA,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;AAClC,YAAA,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;SAClC;;IAGF,OAAO,aAAa,CAAC,KAA4B,EAAA;AAChD,QAAA,SAAS,QAAQ,CAAC,IAAY,EAAE,IAAY,EAAE,QAAgC,EAAA;AAC7E,YAAA,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;;QAGhC,SAAS,OAAO,CAAC,IAAoB,EAAA;AACpC,YAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,EAAE,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;;AAG5F,QAAA,OAAO,MAAK;AACX,YAAA,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ;AAC5B,YAAA,OAAO,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC;AAC5B,SAAC;;IAGF,OAAO,aAAa,CAAC,KAA4B,EAAA;AAChD,QAAA,OAAO,OAAO,MAAc,EAAE,KAA2B,GAAA,CAAC,KAAI;AAC7D,YAAA,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ;AAC5B,YAAA,MAAM,WAAW,GAAG,KAAK,CAAC,QAAQ,CAAC,WAAW;YAE9C,MAAM,QAAQ,GAAoB,EAAE;AAEpC,YAAA,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE;AACrC,gBAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE;AAChC,oBAAA,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;wBACzB,QAAQ,CAAC,IAAI,CACZ,IAAI,OAAO,CAAC,CAAC,GAAG,KAAI;4BACnB,UAAU,CAAC,QAAQ,CAAC,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAC/D,4BAAA,GAAG,EAAE;yBACL,CAAC,CACF;;yBACK;wBACN,QAAQ,CAAC,IAAI,CACZ,IAAI,OAAO,CAAC,CAAC,GAAG,KAAI;4BACnB,UAAU,CAAC,QAAQ,CAAC,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,CAAC;AACxC,4BAAA,GAAG,EAAE;yBACL,CAAC,CACF;;;;AAKJ,YAAA,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;AAC5B,SAAC;;AAGF,IAAA,OAAO,gBAAgB,CAAC,KAA4B,EAAE,OAAwC,EAAA;QAC7F,IAAI,iBAAiB,GAAG,IAAI;QAE5B,eAAe,SAAS,CAAC,EAAmB,EAAE,SAAiC,EAAE,YAA0B,EAAE,EAAA;AAC5G,YAAA,MAAM,aAAa,GAAG,gBAAgB,CAAC,EAAE,CAAC;YAC1C,IAAI,CAAC,aAAa,EAAE;AACnB,gBAAA,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE,CAAA,mBAAA,CAAqB,CAAC;gBACnD;;YAGD,MAAM,OAAO,GAAG,aAAa,CAAC,QAAQ,CAAC,SAAS,CAAC;YACjD,IAAI,CAAC,OAAO,EAAE;gBACb,OAAO,CAAC,IAAI,CAAC,CAAA,WAAA,EAAc,EAAE,CAAW,QAAA,EAAA,SAAS,CAAU,QAAA,CAAA,CAAC;gBAC5D;;AAGD,YAAA,MAAM,YAAY,GAAG;AACpB,gBAAA,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,MAAM;AAC7B,gBAAA,eAAe,EAAE,MAAK,GAAG;AACzB,gBAAA,MAAM,EAAE,EAAE;AACV,gBAAA,aAAa,EAAE,EAAE;AACjB,gBAAA,WAAW,EAAE,SAAS;AACtB,gBAAA,WAAW,EAAE,SAAS;AACtB,gBAAA,MAAM,EAAE,EAAE;AACV,gBAAA,WAAW,EAAE,EAAE;AACf,gBAAA,GAAG,SAAS;aACZ;AAED,YAAA,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,YAAmB,CAAC;YAEjD,IAAI,iBAAiB,EAAE;gBACtB,OAAO,CAAC,aAAa,EAAE;;AAGxB,YAAA,OAAO,MAAM;;AAGd,QAAA,SAAS,CAAC,oBAAoB,GAAG,CAAC,IAAa,KAAI;YAClD,iBAAiB,GAAG,IAAI;AACzB,SAAC;AAED,QAAA,OAAO,SAAS;;AAEjB;;AC3MD;;AAEG;;;;"}
|
|
1
|
+
{"version":3,"file":"angular-three-testing.mjs","sources":["../../../../libs/core/testing/src/lib/test-canvas.ts","../../../../libs/core/testing/src/lib/utils/web-gl-rendering-context.ts","../../../../libs/core/testing/src/lib/utils/mock-canvas.ts","../../../../libs/core/testing/src/lib/test-bed.ts","../../../../libs/core/testing/src/angular-three-testing.ts"],"sourcesContent":["import {\n\tChangeDetectionStrategy,\n\tComponent,\n\tComponentRef,\n\tDestroyRef,\n\teffect,\n\tinject,\n\tinput,\n\tType,\n\tviewChild,\n\tViewContainerRef,\n} from '@angular/core';\nimport { extend, injectStore, NGT_CANVAS_CONTENT_FLAG, NGT_RENDERER_NODE_FLAG, NgtAnyRecord } from 'angular-three';\nimport * as THREE from 'three';\n\n@Component({\n\tselector: 'ngt-test-canvas',\n\ttemplate: `\n\t\t<ng-container #anchor />\n\t`,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NgtTestCanvas {\n\tsceneGraph = input.required<Type<unknown>>();\n\tsceneGraphInputs = input<NgtAnyRecord>({});\n\n\tprivate anchorRef = viewChild.required('anchor', { read: ViewContainerRef });\n\n\tprivate store = injectStore();\n\n\tsceneRef?: ComponentRef<unknown>;\n\n\tconstructor() {\n\t\textend(THREE);\n\n\t\teffect(() => {\n\t\t\tconst anchor = this.anchorRef();\n\t\t\tconst sceneGraph = this.sceneGraph();\n\t\t\tif (!sceneGraph) return;\n\n\t\t\tconst sceneGraphInputs = this.sceneGraphInputs();\n\n\t\t\tconst anchorComment = anchor.element.nativeElement;\n\t\t\tanchorComment.data = NGT_CANVAS_CONTENT_FLAG;\n\t\t\tanchorComment[NGT_CANVAS_CONTENT_FLAG] = this.store;\n\t\t\tif (anchorComment[NGT_RENDERER_NODE_FLAG]) {\n\t\t\t\tanchorComment[NGT_RENDERER_NODE_FLAG][5] = this.store.snapshot.scene;\n\t\t\t}\n\n\t\t\tthis.sceneRef = anchor.createComponent(sceneGraph);\n\n\t\t\tfor (const key in sceneGraphInputs) {\n\t\t\t\tthis.sceneRef.setInput(key, sceneGraphInputs[key]);\n\t\t\t}\n\n\t\t\tthis.sceneRef.changeDetectorRef.detectChanges();\n\t\t});\n\n\t\tinject(DestroyRef).onDestroy(() => {\n\t\t\tthis.destroy();\n\t\t});\n\t}\n\n\tdestroy() {\n\t\tthis.sceneRef?.destroy();\n\t}\n}\n","const functions = [\n\t'activeTexture',\n\t'attachShader',\n\t'beginQuery',\n\t'beginTransformFeedback',\n\t'bindAttribLocation',\n\t'bindBufferBase',\n\t'bindBufferRange',\n\t'bindRenderbuffer',\n\t'bindSampler',\n\t'bindTransformFeedback',\n\t'bindVertexArray',\n\t'blendColor',\n\t'blendEquation',\n\t'blendEquationSeparate',\n\t'blendFunc',\n\t'blendFuncSeparate',\n\t'blitFramebuffer',\n\t'bufferData',\n\t'bufferSubData',\n\t'checkFramebufferStatus',\n\t'clientWaitSync',\n\t'compileShader',\n\t'compressedTexImage2D',\n\t'compressedTexImage3D',\n\t'compressedTexSubImage2D',\n\t'compressedTexSubImage3D',\n\t'copyBufferSubData',\n\t'copyTexImage2D',\n\t'copyTexSubImage2D',\n\t'copyTexSubImage3D',\n\t'createBuffer',\n\t'createFramebuffer',\n\t'createProgram',\n\t'createQuery',\n\t'createRenderbuffer',\n\t'createSampler',\n\t'createShader',\n\t'createTexture',\n\t'createTransformFeedback',\n\t'createVertexArray',\n\t'cullFace',\n\t'deleteBuffer',\n\t'deleteFramebuffer',\n\t'deleteProgram',\n\t'deleteQuery',\n\t'deleteRenderbuffer',\n\t'deleteSampler',\n\t'deleteShader',\n\t'deleteSync',\n\t'deleteTexture',\n\t'deleteTransformFeedback',\n\t'deleteVertexArray',\n\t'depthFunc',\n\t'depthMask',\n\t'depthRange',\n\t'detachShader',\n\t'disable',\n\t'drawArraysInstanced',\n\t'drawElementsInstanced',\n\t'drawRangeElements',\n\t'enable',\n\t'endQuery',\n\t'endTransformFeedback',\n\t'fenceSync',\n\t'finish',\n\t'flush',\n\t'framebufferRenderbuffer',\n\t'framebufferTexture2D',\n\t'framebufferTextureLayer',\n\t'frontFace',\n\t'generateMipmap',\n\t'getActiveAttrib',\n\t'getActiveUniform',\n\t'getActiveUniformBlockName',\n\t'getActiveUniformBlockParameter',\n\t'getActiveUniforms',\n\t'getAttachedShaders',\n\t'getAttribLocation',\n\t'getBufferParameter',\n\t'getBufferSubData',\n\t'getContextAttributes',\n\t'getError',\n\t'getExtension',\n\t'getFragDataLocation',\n\t'getFramebufferAttachmentParameter',\n\t'getIndexedParameter',\n\t'getInternalformatParameter',\n\t'getParameter',\n\t'getProgramInfoLog',\n\t'getProgramParameter',\n\t'getQuery',\n\t'getQueryParameter',\n\t'getRenderbufferParameter',\n\t'getSamplerParameter',\n\t'getShaderInfoLog',\n\t'getShaderParameter',\n\t'getShaderPrecisionFormat',\n\t'getShaderSource',\n\t'getSupportedExtensions',\n\t'getSyncParameter',\n\t'getTexParameter',\n\t'getTransformFeedbackVarying',\n\t'getUniform',\n\t'getUniformBlockIndex',\n\t'getUniformIndices',\n\t'getUniformLocation',\n\t'getVertexAttrib',\n\t'getVertexAttribOffset',\n\t'hint',\n\t'invalidateFramebuffer',\n\t'invalidateSubFramebuffer',\n\t'isBuffer',\n\t'isContextLost',\n\t'isEnabled',\n\t'isFramebuffer',\n\t'isProgram',\n\t'isQuery',\n\t'isRenderbuffer',\n\t'isSampler',\n\t'isShader',\n\t'isSync',\n\t'isTexture',\n\t'isTransformFeedback',\n\t'isVertexArray',\n\t'lineWidth',\n\t'linkProgram',\n\t'pauseTransformFeedback',\n\t'pixelStorei',\n\t'polygonOffset',\n\t'readBuffer',\n\t'readPixels',\n\t'renderbufferStorage',\n\t'renderbufferStorageMultisample',\n\t'resumeTransformFeedback',\n\t'sampleCoverage',\n\t'samplerParameterf',\n\t'samplerParameteri',\n\t'shaderSource',\n\t'stencilFunc',\n\t'stencilFuncSeparate',\n\t'stencilMask',\n\t'stencilMaskSeparate',\n\t'stencilOp',\n\t'stencilOpSeparate',\n\t'texImage2D',\n\t'texImage3D',\n\t'texParameterf',\n\t'texParameteri',\n\t'texStorage2D',\n\t'texStorage3D',\n\t'texSubImage2D',\n\t'texSubImage3D',\n\t'transformFeedbackVaryings',\n\t'uniform1ui',\n\t'uniform2ui',\n\t'uniform3ui',\n\t'uniform4ui',\n\t'uniformBlockBinding',\n\t'useProgram',\n\t'validateProgram',\n\t'vertexAttribDivisor',\n\t'vertexAttribI4i',\n\t'vertexAttribI4ui',\n\t'vertexAttribIPointer',\n\t'waitSync',\n\t'bindBuffer',\n\t'bindFramebuffer',\n\t'bindTexture',\n\t'clear',\n\t'clearBufferfi',\n\t'clearBufferfv',\n\t'clearBufferiv',\n\t'clearBufferuiv',\n\t'clearColor',\n\t'clearDepth',\n\t'clearStencil',\n\t'colorMask',\n\t'disableVertexAttribArray',\n\t'drawArrays',\n\t'drawBuffers',\n\t'drawElements',\n\t'enableVertexAttribArray',\n\t'scissor',\n\t'uniform1f',\n\t'uniform1fv',\n\t'uniform1i',\n\t'uniform1iv',\n\t'uniform1uiv',\n\t'uniform2f',\n\t'uniform2fv',\n\t'uniform2i',\n\t'uniform2iv',\n\t'uniform2uiv',\n\t'uniform3f',\n\t'uniform3fv',\n\t'uniform3i',\n\t'uniform3iv',\n\t'uniform3uiv',\n\t'uniform4f',\n\t'uniform4fv',\n\t'uniform4i',\n\t'uniform4iv',\n\t'uniform4uiv',\n\t'uniformMatrix2fv',\n\t'uniformMatrix2x3fv',\n\t'uniformMatrix2x4fv',\n\t'uniformMatrix3fv',\n\t'uniformMatrix3x2fv',\n\t'uniformMatrix3x4fv',\n\t'uniformMatrix4fv',\n\t'uniformMatrix4x2fv',\n\t'uniformMatrix4x3fv',\n\t'vertexAttrib1f',\n\t'vertexAttrib1fv',\n\t'vertexAttrib2f',\n\t'vertexAttrib2fv',\n\t'vertexAttrib3f',\n\t'vertexAttrib3fv',\n\t'vertexAttrib4f',\n\t'vertexAttrib4fv',\n\t'vertexAttribI4iv',\n\t'vertexAttribI4uiv',\n\t'vertexAttribPointer',\n\t'viewport',\n\t'makeXRCompatible',\n];\n\nconst enums: Record<string, number> = {\n\tDEPTH_BUFFER_BIT: 256,\n\tSTENCIL_BUFFER_BIT: 1024,\n\tCOLOR_BUFFER_BIT: 16384,\n\tPOINTS: 0,\n\tLINES: 1,\n\tLINE_LOOP: 2,\n\tLINE_STRIP: 3,\n\tTRIANGLES: 4,\n\tTRIANGLE_STRIP: 5,\n\tTRIANGLE_FAN: 6,\n\tZERO: 0,\n\tONE: 1,\n\tSRC_COLOR: 768,\n\tONE_MINUS_SRC_COLOR: 769,\n\tSRC_ALPHA: 770,\n\tONE_MINUS_SRC_ALPHA: 771,\n\tDST_ALPHA: 772,\n\tONE_MINUS_DST_ALPHA: 773,\n\tDST_COLOR: 774,\n\tONE_MINUS_DST_COLOR: 775,\n\tSRC_ALPHA_SATURATE: 776,\n\tFUNC_ADD: 32774,\n\tBLEND_EQUATION: 32777,\n\tBLEND_EQUATION_RGB: 32777,\n\tBLEND_EQUATION_ALPHA: 34877,\n\tFUNC_SUBTRACT: 32778,\n\tFUNC_REVERSE_SUBTRACT: 32779,\n\tBLEND_DST_RGB: 32968,\n\tBLEND_SRC_RGB: 32969,\n\tBLEND_DST_ALPHA: 32970,\n\tBLEND_SRC_ALPHA: 32971,\n\tCONSTANT_COLOR: 32769,\n\tONE_MINUS_CONSTANT_COLOR: 32770,\n\tCONSTANT_ALPHA: 32771,\n\tONE_MINUS_CONSTANT_ALPHA: 32772,\n\tBLEND_COLOR: 32773,\n\tARRAY_BUFFER: 34962,\n\tELEMENT_ARRAY_BUFFER: 34963,\n\tARRAY_BUFFER_BINDING: 34964,\n\tELEMENT_ARRAY_BUFFER_BINDING: 34965,\n\tSTREAM_DRAW: 35040,\n\tSTATIC_DRAW: 35044,\n\tDYNAMIC_DRAW: 35048,\n\tBUFFER_SIZE: 34660,\n\tBUFFER_USAGE: 34661,\n\tCURRENT_VERTEX_ATTRIB: 34342,\n\tFRONT: 1028,\n\tBACK: 1029,\n\tFRONT_AND_BACK: 1032,\n\tTEXTURE_2D: 3553,\n\tCULL_FACE: 2884,\n\tBLEND: 3042,\n\tDITHER: 3024,\n\tSTENCIL_TEST: 2960,\n\tDEPTH_TEST: 2929,\n\tSCISSOR_TEST: 3089,\n\tPOLYGON_OFFSET_FILL: 32823,\n\tSAMPLE_ALPHA_TO_COVERAGE: 32926,\n\tSAMPLE_COVERAGE: 32928,\n\tNO_ERROR: 0,\n\tINVALID_ENUM: 1280,\n\tINVALID_VALUE: 1281,\n\tINVALID_OPERATION: 1282,\n\tOUT_OF_MEMORY: 1285,\n\tCW: 2304,\n\tCCW: 2305,\n\tLINE_WIDTH: 2849,\n\tALIASED_POINT_SIZE_RANGE: 33901,\n\tALIASED_LINE_WIDTH_RANGE: 33902,\n\tCULL_FACE_MODE: 2885,\n\tFRONT_FACE: 2886,\n\tDEPTH_RANGE: 2928,\n\tDEPTH_WRITEMASK: 2930,\n\tDEPTH_CLEAR_VALUE: 2931,\n\tDEPTH_FUNC: 2932,\n\tSTENCIL_CLEAR_VALUE: 2961,\n\tSTENCIL_FUNC: 2962,\n\tSTENCIL_FAIL: 2964,\n\tSTENCIL_PASS_DEPTH_FAIL: 2965,\n\tSTENCIL_PASS_DEPTH_PASS: 2966,\n\tSTENCIL_REF: 2967,\n\tSTENCIL_VALUE_MASK: 2963,\n\tSTENCIL_WRITEMASK: 2968,\n\tSTENCIL_BACK_FUNC: 34816,\n\tSTENCIL_BACK_FAIL: 34817,\n\tSTENCIL_BACK_PASS_DEPTH_FAIL: 34818,\n\tSTENCIL_BACK_PASS_DEPTH_PASS: 34819,\n\tSTENCIL_BACK_REF: 36003,\n\tSTENCIL_BACK_VALUE_MASK: 36004,\n\tSTENCIL_BACK_WRITEMASK: 36005,\n\tVIEWPORT: 2978,\n\tSCISSOR_BOX: 3088,\n\tCOLOR_CLEAR_VALUE: 3106,\n\tCOLOR_WRITEMASK: 3107,\n\tUNPACK_ALIGNMENT: 3317,\n\tPACK_ALIGNMENT: 3333,\n\tMAX_TEXTURE_SIZE: 3379,\n\tMAX_VIEWPORT_DIMS: 3386,\n\tSUBPIXEL_BITS: 3408,\n\tRED_BITS: 3410,\n\tGREEN_BITS: 3411,\n\tBLUE_BITS: 3412,\n\tALPHA_BITS: 3413,\n\tDEPTH_BITS: 3414,\n\tSTENCIL_BITS: 3415,\n\tPOLYGON_OFFSET_UNITS: 10752,\n\tPOLYGON_OFFSET_FACTOR: 32824,\n\tTEXTURE_BINDING_2D: 32873,\n\tSAMPLE_BUFFERS: 32936,\n\tSAMPLES: 32937,\n\tSAMPLE_COVERAGE_VALUE: 32938,\n\tSAMPLE_COVERAGE_INVERT: 32939,\n\tCOMPRESSED_TEXTURE_FORMATS: 34467,\n\tDONT_CARE: 4352,\n\tFASTEST: 4353,\n\tNICEST: 4354,\n\tGENERATE_MIPMAP_HINT: 33170,\n\tBYTE: 5120,\n\tUNSIGNED_BYTE: 5121,\n\tSHORT: 5122,\n\tUNSIGNED_SHORT: 5123,\n\tINT: 5124,\n\tUNSIGNED_INT: 5125,\n\tFLOAT: 5126,\n\tDEPTH_COMPONENT: 6402,\n\tALPHA: 6406,\n\tRGB: 6407,\n\tRGBA: 6408,\n\tLUMINANCE: 6409,\n\tLUMINANCE_ALPHA: 6410,\n\tUNSIGNED_SHORT_4_4_4_4: 32819,\n\tUNSIGNED_SHORT_5_5_5_1: 32820,\n\tUNSIGNED_SHORT_5_6_5: 33635,\n\tFRAGMENT_SHADER: 35632,\n\tVERTEX_SHADER: 35633,\n\tMAX_VERTEX_ATTRIBS: 34921,\n\tMAX_VERTEX_UNIFORM_VECTORS: 36347,\n\tMAX_VARYING_VECTORS: 36348,\n\tMAX_COMBINED_TEXTURE_IMAGE_UNITS: 35661,\n\tMAX_VERTEX_TEXTURE_IMAGE_UNITS: 35660,\n\tMAX_TEXTURE_IMAGE_UNITS: 34930,\n\tMAX_FRAGMENT_UNIFORM_VECTORS: 36349,\n\tSHADER_TYPE: 35663,\n\tDELETE_STATUS: 35712,\n\tLINK_STATUS: 35714,\n\tVALIDATE_STATUS: 35715,\n\tATTACHED_SHADERS: 35717,\n\tACTIVE_UNIFORMS: 35718,\n\tACTIVE_ATTRIBUTES: 35721,\n\tSHADING_LANGUAGE_VERSION: 35724,\n\tCURRENT_PROGRAM: 35725,\n\tNEVER: 512,\n\tLESS: 513,\n\tEQUAL: 514,\n\tLEQUAL: 515,\n\tGREATER: 516,\n\tNOTEQUAL: 517,\n\tGEQUAL: 518,\n\tALWAYS: 519,\n\tKEEP: 7680,\n\tREPLACE: 7681,\n\tINCR: 7682,\n\tDECR: 7683,\n\tINVERT: 5386,\n\tINCR_WRAP: 34055,\n\tDECR_WRAP: 34056,\n\tVENDOR: 7936,\n\tRENDERER: 7937,\n\tVERSION: 7938,\n\tNEAREST: 9728,\n\tLINEAR: 9729,\n\tNEAREST_MIPMAP_NEAREST: 9984,\n\tLINEAR_MIPMAP_NEAREST: 9985,\n\tNEAREST_MIPMAP_LINEAR: 9986,\n\tLINEAR_MIPMAP_LINEAR: 9987,\n\tTEXTURE_MAG_FILTER: 10240,\n\tTEXTURE_MIN_FILTER: 10241,\n\tTEXTURE_WRAP_S: 10242,\n\tTEXTURE_WRAP_T: 10243,\n\tTEXTURE: 5890,\n\tTEXTURE_CUBE_MAP: 34067,\n\tTEXTURE_BINDING_CUBE_MAP: 34068,\n\tTEXTURE_CUBE_MAP_POSITIVE_X: 34069,\n\tTEXTURE_CUBE_MAP_NEGATIVE_X: 34070,\n\tTEXTURE_CUBE_MAP_POSITIVE_Y: 34071,\n\tTEXTURE_CUBE_MAP_NEGATIVE_Y: 34072,\n\tTEXTURE_CUBE_MAP_POSITIVE_Z: 34073,\n\tTEXTURE_CUBE_MAP_NEGATIVE_Z: 34074,\n\tMAX_CUBE_MAP_TEXTURE_SIZE: 34076,\n\tTEXTURE0: 33984,\n\tTEXTURE1: 33985,\n\tTEXTURE2: 33986,\n\tTEXTURE3: 33987,\n\tTEXTURE4: 33988,\n\tTEXTURE5: 33989,\n\tTEXTURE6: 33990,\n\tTEXTURE7: 33991,\n\tTEXTURE8: 33992,\n\tTEXTURE9: 33993,\n\tTEXTURE10: 33994,\n\tTEXTURE11: 33995,\n\tTEXTURE12: 33996,\n\tTEXTURE13: 33997,\n\tTEXTURE14: 33998,\n\tTEXTURE15: 33999,\n\tTEXTURE16: 34000,\n\tTEXTURE17: 34001,\n\tTEXTURE18: 34002,\n\tTEXTURE19: 34003,\n\tTEXTURE20: 34004,\n\tTEXTURE21: 34005,\n\tTEXTURE22: 34006,\n\tTEXTURE23: 34007,\n\tTEXTURE24: 34008,\n\tTEXTURE25: 34009,\n\tTEXTURE26: 34010,\n\tTEXTURE27: 34011,\n\tTEXTURE28: 34012,\n\tTEXTURE29: 34013,\n\tTEXTURE30: 34014,\n\tTEXTURE31: 34015,\n\tACTIVE_TEXTURE: 34016,\n\tREPEAT: 10497,\n\tCLAMP_TO_EDGE: 33071,\n\tMIRRORED_REPEAT: 33648,\n\tFLOAT_VEC2: 35664,\n\tFLOAT_VEC3: 35665,\n\tFLOAT_VEC4: 35666,\n\tINT_VEC2: 35667,\n\tINT_VEC3: 35668,\n\tINT_VEC4: 35669,\n\tBOOL: 35670,\n\tBOOL_VEC2: 35671,\n\tBOOL_VEC3: 35672,\n\tBOOL_VEC4: 35673,\n\tFLOAT_MAT2: 35674,\n\tFLOAT_MAT3: 35675,\n\tFLOAT_MAT4: 35676,\n\tSAMPLER_2D: 35678,\n\tSAMPLER_CUBE: 35680,\n\tVERTEX_ATTRIB_ARRAY_ENABLED: 34338,\n\tVERTEX_ATTRIB_ARRAY_SIZE: 34339,\n\tVERTEX_ATTRIB_ARRAY_STRIDE: 34340,\n\tVERTEX_ATTRIB_ARRAY_TYPE: 34341,\n\tVERTEX_ATTRIB_ARRAY_NORMALIZED: 34922,\n\tVERTEX_ATTRIB_ARRAY_POINTER: 34373,\n\tVERTEX_ATTRIB_ARRAY_BUFFER_BINDING: 34975,\n\tIMPLEMENTATION_COLOR_READ_TYPE: 35738,\n\tIMPLEMENTATION_COLOR_READ_FORMAT: 35739,\n\tCOMPILE_STATUS: 35713,\n\tLOW_FLOAT: 36336,\n\tMEDIUM_FLOAT: 36337,\n\tHIGH_FLOAT: 36338,\n\tLOW_INT: 36339,\n\tMEDIUM_INT: 36340,\n\tHIGH_INT: 36341,\n\tFRAMEBUFFER: 36160,\n\tRENDERBUFFER: 36161,\n\tRGBA4: 32854,\n\tRGB5_A1: 32855,\n\tRGB565: 36194,\n\tDEPTH_COMPONENT16: 33189,\n\tSTENCIL_INDEX: 6401,\n\tSTENCIL_INDEX8: 36168,\n\tDEPTH_STENCIL: 34041,\n\tRENDERBUFFER_WIDTH: 36162,\n\tRENDERBUFFER_HEIGHT: 36163,\n\tRENDERBUFFER_INTERNAL_FORMAT: 36164,\n\tRENDERBUFFER_RED_SIZE: 36176,\n\tRENDERBUFFER_GREEN_SIZE: 36177,\n\tRENDERBUFFER_BLUE_SIZE: 36178,\n\tRENDERBUFFER_ALPHA_SIZE: 36179,\n\tRENDERBUFFER_DEPTH_SIZE: 36180,\n\tRENDERBUFFER_STENCIL_SIZE: 36181,\n\tFRAMEBUFFER_ATTACHMENT_OBJECT_TYPE: 36048,\n\tFRAMEBUFFER_ATTACHMENT_OBJECT_NAME: 36049,\n\tFRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL: 36050,\n\tFRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE: 36051,\n\tCOLOR_ATTACHMENT0: 36064,\n\tDEPTH_ATTACHMENT: 36096,\n\tSTENCIL_ATTACHMENT: 36128,\n\tDEPTH_STENCIL_ATTACHMENT: 33306,\n\tNONE: 0,\n\tFRAMEBUFFER_COMPLETE: 36053,\n\tFRAMEBUFFER_INCOMPLETE_ATTACHMENT: 36054,\n\tFRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT: 36055,\n\tFRAMEBUFFER_INCOMPLETE_DIMENSIONS: 36057,\n\tFRAMEBUFFER_UNSUPPORTED: 36061,\n\tFRAMEBUFFER_BINDING: 36006,\n\tRENDERBUFFER_BINDING: 36007,\n\tMAX_RENDERBUFFER_SIZE: 34024,\n\tINVALID_FRAMEBUFFER_OPERATION: 1286,\n\tUNPACK_FLIP_Y_WEBGL: 37440,\n\tUNPACK_PREMULTIPLY_ALPHA_WEBGL: 37441,\n\tCONTEXT_LOST_WEBGL: 37442,\n\tUNPACK_COLORSPACE_CONVERSION_WEBGL: 37443,\n\tBROWSER_DEFAULT_WEBGL: 37444,\n\tREAD_BUFFER: 3074,\n\tUNPACK_ROW_LENGTH: 3314,\n\tUNPACK_SKIP_ROWS: 3315,\n\tUNPACK_SKIP_PIXELS: 3316,\n\tPACK_ROW_LENGTH: 3330,\n\tPACK_SKIP_ROWS: 3331,\n\tPACK_SKIP_PIXELS: 3332,\n\tCOLOR: 6144,\n\tDEPTH: 6145,\n\tSTENCIL: 6146,\n\tRED: 6403,\n\tUNPACK_SKIP_IMAGES: 32877,\n\tUNPACK_IMAGE_HEIGHT: 32878,\n\tTEXTURE_WRAP_R: 32882,\n\tMAX_ELEMENTS_VERTICES: 33000,\n\tMAX_ELEMENTS_INDICES: 33001,\n\tTEXTURE_MIN_LOD: 33082,\n\tTEXTURE_MAX_LOD: 33083,\n\tTEXTURE_BASE_LEVEL: 33084,\n\tTEXTURE_MAX_LEVEL: 33085,\n\tMIN: 32775,\n\tMAX: 32776,\n\tMAX_TEXTURE_LOD_BIAS: 34045,\n\tTEXTURE_COMPARE_MODE: 34892,\n\tTEXTURE_COMPARE_FUNC: 34893,\n\tCURRENT_QUERY: 34917,\n\tQUERY_RESULT: 34918,\n\tQUERY_RESULT_AVAILABLE: 34919,\n\tSTREAM_READ: 35041,\n\tSTREAM_COPY: 35042,\n\tSTATIC_READ: 35045,\n\tSTATIC_COPY: 35046,\n\tDYNAMIC_READ: 35049,\n\tDYNAMIC_COPY: 35050,\n\tMAX_DRAW_BUFFERS: 34852,\n\tMAX_FRAGMENT_UNIFORM_COMPONENTS: 35657,\n\tMAX_VERTEX_UNIFORM_COMPONENTS: 35658,\n\tFRAGMENT_SHADER_DERIVATIVE_HINT: 35723,\n\tPIXEL_PACK_BUFFER: 35051,\n\tPIXEL_UNPACK_BUFFER: 35052,\n\tPIXEL_PACK_BUFFER_BINDING: 35053,\n\tPIXEL_UNPACK_BUFFER_BINDING: 35055,\n\tSRGB: 35904,\n\tCOMPARE_REF_TO_TEXTURE: 34894,\n\tVERTEX_ATTRIB_ARRAY_INTEGER: 35069,\n\tMAX_ARRAY_TEXTURE_LAYERS: 35071,\n\tMIN_PROGRAM_TEXEL_OFFSET: 35076,\n\tMAX_PROGRAM_TEXEL_OFFSET: 35077,\n\tMAX_VARYING_COMPONENTS: 35659,\n\tTRANSFORM_FEEDBACK_BUFFER_MODE: 35967,\n\tMAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS: 35968,\n\tTRANSFORM_FEEDBACK_VARYINGS: 35971,\n\tTRANSFORM_FEEDBACK_BUFFER_START: 35972,\n\tTRANSFORM_FEEDBACK_BUFFER_SIZE: 35973,\n\tTRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN: 35976,\n\tRASTERIZER_DISCARD: 35977,\n\tMAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS: 35978,\n\tMAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS: 35979,\n\tINTERLEAVED_ATTRIBS: 35980,\n\tSEPARATE_ATTRIBS: 35981,\n\tTRANSFORM_FEEDBACK_BUFFER: 35982,\n\tTRANSFORM_FEEDBACK_BUFFER_BINDING: 35983,\n\tRED_INTEGER: 36244,\n\tRGB_INTEGER: 36248,\n\tRGBA_INTEGER: 36249,\n\tSAMPLER_CUBE_SHADOW: 36293,\n\tINT_SAMPLER_CUBE: 36300,\n\tUNSIGNED_INT_SAMPLER_CUBE: 36308,\n\tFRAMEBUFFER_ATTACHMENT_COLOR_ENCODING: 33296,\n\tFRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE: 33297,\n\tFRAMEBUFFER_ATTACHMENT_RED_SIZE: 33298,\n\tFRAMEBUFFER_ATTACHMENT_GREEN_SIZE: 33299,\n\tFRAMEBUFFER_ATTACHMENT_BLUE_SIZE: 33300,\n\tFRAMEBUFFER_ATTACHMENT_ALPHA_SIZE: 33301,\n\tFRAMEBUFFER_ATTACHMENT_DEPTH_SIZE: 33302,\n\tFRAMEBUFFER_ATTACHMENT_STENCIL_SIZE: 33303,\n\tFRAMEBUFFER_DEFAULT: 33304,\n\tUNSIGNED_NORMALIZED: 35863,\n\tDRAW_FRAMEBUFFER_BINDING: 36006,\n\tREAD_FRAMEBUFFER: 36008,\n\tDRAW_FRAMEBUFFER: 36009,\n\tREAD_FRAMEBUFFER_BINDING: 36010,\n\tRENDERBUFFER_SAMPLES: 36011,\n\tFRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER: 36052,\n\tMAX_COLOR_ATTACHMENTS: 36063,\n\tFRAMEBUFFER_INCOMPLETE_MULTISAMPLE: 36182,\n\tMAX_SAMPLES: 36183,\n\tHALF_FLOAT: 5131,\n\tRG: 33319,\n\tRG_INTEGER: 33320,\n\tVERTEX_ARRAY_BINDING: 34229,\n\tSIGNED_NORMALIZED: 36764,\n\tCOPY_READ_BUFFER: 36662,\n\tCOPY_WRITE_BUFFER: 36663,\n\tCOPY_READ_BUFFER_BINDING: 36662,\n\tCOPY_WRITE_BUFFER_BINDING: 36663,\n\tUNIFORM_BUFFER: 35345,\n\tUNIFORM_BUFFER_BINDING: 35368,\n\tUNIFORM_BUFFER_START: 35369,\n\tUNIFORM_BUFFER_SIZE: 35370,\n\tMAX_VERTEX_UNIFORM_BLOCKS: 35371,\n\tMAX_FRAGMENT_UNIFORM_BLOCKS: 35373,\n\tMAX_COMBINED_UNIFORM_BLOCKS: 35374,\n\tMAX_UNIFORM_BUFFER_BINDINGS: 35375,\n\tMAX_UNIFORM_BLOCK_SIZE: 35376,\n\tMAX_COMBINED_VERTEX_UNIFORM_COMPONENTS: 35377,\n\tMAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS: 35379,\n\tUNIFORM_BUFFER_OFFSET_ALIGNMENT: 35380,\n\tACTIVE_UNIFORM_BLOCKS: 35382,\n\tUNIFORM_TYPE: 35383,\n\tUNIFORM_SIZE: 35384,\n\tUNIFORM_BLOCK_INDEX: 35386,\n\tUNIFORM_OFFSET: 35387,\n\tUNIFORM_ARRAY_STRIDE: 35388,\n\tUNIFORM_MATRIX_STRIDE: 35389,\n\tUNIFORM_IS_ROW_MAJOR: 35390,\n\tUNIFORM_BLOCK_BINDING: 35391,\n\tUNIFORM_BLOCK_DATA_SIZE: 35392,\n\tUNIFORM_BLOCK_ACTIVE_UNIFORMS: 35394,\n\tUNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES: 35395,\n\tUNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER: 35396,\n\tUNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER: 35398,\n\tINVALID_INDEX: 4294967295,\n\tMAX_VERTEX_OUTPUT_COMPONENTS: 37154,\n\tMAX_FRAGMENT_INPUT_COMPONENTS: 37157,\n\tMAX_SERVER_WAIT_TIMEOUT: 37137,\n\tOBJECT_TYPE: 37138,\n\tSYNC_CONDITION: 37139,\n\tSYNC_STATUS: 37140,\n\tSYNC_FLAGS: 37141,\n\tSYNC_FENCE: 37142,\n\tSYNC_GPU_COMMANDS_COMPLETE: 37143,\n\tUNSIGNALED: 37144,\n\tSIGNALED: 37145,\n\tALREADY_SIGNALED: 37146,\n\tTIMEOUT_EXPIRED: 37147,\n\tCONDITION_SATISFIED: 37148,\n\tWAIT_FAILED: 37149,\n\tSYNC_FLUSH_COMMANDS_BIT: 1,\n\tVERTEX_ATTRIB_ARRAY_DIVISOR: 35070,\n\tANY_SAMPLES_PASSED: 35887,\n\tANY_SAMPLES_PASSED_CONSERVATIVE: 36202,\n\tSAMPLER_BINDING: 35097,\n\tTRANSFORM_FEEDBACK: 36386,\n\tTRANSFORM_FEEDBACK_PAUSED: 36387,\n\tTRANSFORM_FEEDBACK_ACTIVE: 36388,\n\tTRANSFORM_FEEDBACK_BINDING: 36389,\n\tTEXTURE_IMMUTABLE_FORMAT: 37167,\n\tMAX_ELEMENT_INDEX: 36203,\n\tTEXTURE_IMMUTABLE_LEVELS: 33503,\n\tTIMEOUT_IGNORED: -1,\n\tMAX_CLIENT_WAIT_TIMEOUT_WEBGL: 37447,\n};\n\nconst extensions: { [key: string]: any } = {\n\t// ratified\n\tOES_texture_float: {},\n\tOES_texture_half_float: {},\n\tWEBGL_lose_context: {\n\t\tloseContext: () => {},\n\t},\n\tOES_standard_derivatives: {},\n\tOES_vertex_array_object: {\n\t\tcreateVertexArrayOES: () => {},\n\t\tbindVertexArrayOES: () => {},\n\t\tdeleteVertexArrayOES: () => {},\n\t},\n\tWEBGL_debug_renderer_info: null,\n\tWEBGL_debug_shaders: null,\n\tWEBGL_compressed_texture_s3tc: null,\n\tWEBGL_depth_texture: {},\n\tOES_element_index_uint: {},\n\tEXT_texture_filter_anisotropic: null,\n\tEXT_frag_depth: {},\n\tWEBGL_draw_buffers: {},\n\tANGLE_instanced_arrays: null,\n\tOES_texture_float_linear: null,\n\tOES_texture_half_float_linear: null,\n\tEXT_blend_minmax: { MIN_EXT: 0, MAX_EXT: 0 },\n\tEXT_shader_texture_lod: null,\n\t// community\n\tWEBGL_compressed_texture_atc: null,\n\tWEBGL_compressed_texture_pvrtc: null,\n\tEXT_color_buffer_half_float: null,\n\tWEBGL_color_buffer_float: null,\n\tEXT_sRGB: null,\n\tWEBGL_compressed_texture_etc1: null,\n};\n\nexport class WebGL2RenderingContext {\n\t[key: string]: any;\n\n\tconstructor(canvas: HTMLCanvasElement) {\n\t\t// @ts-ignore\n\t\tthis.canvas = canvas;\n\t\t// @ts-ignore\n\t\tthis.drawingBufferWidth = canvas.width;\n\t\t// @ts-ignore\n\t\tthis.drawingBufferHeight = canvas.height;\n\n\t\tfor (const method of functions) {\n\t\t\tthis[method] ??= () => {};\n\t\t}\n\n\t\tObject.assign(this, enums);\n\t}\n\n\tgetShaderPrecisionFormat = () => {\n\t\treturn {\n\t\t\trangeMin: 127,\n\t\t\trangeMax: 127,\n\t\t\tprecision: 23,\n\t\t};\n\t};\n\n\tprivate GL_VERSION = 7938;\n\tprivate SCISSOR_BOX = 3088;\n\tprivate VIEWPORT = 2978;\n\n\t// @ts-ignore\n\tgetParameter(paramId: number) {\n\t\tswitch (paramId) {\n\t\t\tcase this.GL_VERSION:\n\t\t\t\treturn ['WebGL2'];\n\t\t\tcase this.SCISSOR_BOX:\n\t\t\tcase this.VIEWPORT:\n\t\t\t\treturn [0, 0, 1, 1];\n\t\t}\n\t}\n\n\tgetExtension(ext: string) {\n\t\treturn extensions[ext];\n\t}\n\n\tgetProgramInfoLog = () => '';\n\n\tgetShaderInfoLog = () => '';\n}\n","import { WebGL2RenderingContext } from './web-gl-rendering-context';\n\nexport function createMockCanvas({\n\twidth = 1280,\n\theight = 800,\n\tbeforeReturn,\n}: {\n\twidth?: number;\n\theight?: number;\n\tbeforeReturn?: (canvas: HTMLCanvasElement) => void;\n}) {\n\tlet canvas: HTMLCanvasElement;\n\n\tif (typeof document !== 'undefined' && typeof document.createElement === 'function') {\n\t\tcanvas = document.createElement('canvas');\n\t} else {\n\t\tcanvas = {\n\t\t\tstyle: {},\n\t\t\taddEventListener: (() => {}) as any,\n\t\t\tremoveEventListener: (() => {}) as any,\n\t\t\tclientWidth: width,\n\t\t\tclientHeight: height,\n\t\t\tgetContext: (() => new WebGL2RenderingContext(canvas)) as any,\n\t\t} as HTMLCanvasElement;\n\t}\n\tcanvas.width = width;\n\tcanvas.height = height;\n\n\tif (globalThis.HTMLCanvasElement) {\n\t\tconst getContext = HTMLCanvasElement.prototype.getContext;\n\t\tHTMLCanvasElement.prototype.getContext = function (\n\t\t\tthis: HTMLCanvasElement,\n\t\t\t...args: Parameters<typeof getContext>\n\t\t) {\n\t\t\tconst id = args[0];\n\t\t\tif (id.startsWith('webgl')) return new WebGL2RenderingContext(this);\n\t\t\treturn getContext.apply(this, args);\n\t\t} as any;\n\t}\n\n\tbeforeReturn?.(canvas);\n\n\tclass WebGLRenderingContext extends WebGL2RenderingContext {}\n\t// @ts-expect-error - WebGLRenderingContext is not defined in the global scope for non-browser\n\tglobalThis.WebGLRenderingContext ??= WebGLRenderingContext;\n\t// @ts-expect-error - WebGL2RenderingContext is not defined in the global scope for non-browser\n\tglobalThis.WebGL2RenderingContext ??= WebGL2RenderingContext;\n\n\treturn canvas;\n}\n","import {\n\tComponentRef,\n\tCUSTOM_ELEMENTS_SCHEMA,\n\tprovideEnvironmentInitializer,\n\tRendererFactory2,\n\tType,\n} from '@angular/core';\nimport { ComponentFixture, TestBed } from '@angular/core/testing';\nimport { ɵDomRendererFactory2 as DomRendererFactory2 } from '@angular/platform-browser';\nimport {\n\tcanvasRootInitializer,\n\tgetInstanceState,\n\tNGT_STORE,\n\ttype NgtAnyRecord,\n\ttype NgtCanvasOptions,\n\ttype NgtEventHandlers,\n\ttype NgtInstanceNode,\n\tNgtRendererFactory2,\n\ttype NgtState,\n\ttype SignalState,\n\tstoreFactory,\n} from 'angular-three';\nimport type * as THREE from 'three';\nimport { NgtTestCanvas } from './test-canvas';\nimport { createMockCanvas } from './utils/mock-canvas';\n\nexport interface NgtTestGraphedObject {\n\ttype: string;\n\tname: string;\n\tchildren: NgtTestGraphedObject[];\n}\n\nexport class NgtTestBed {\n\tstatic create<T extends Type<any>>(\n\t\tsceneGraph: T,\n\t\t{\n\t\t\tsceneGraphInputs = {},\n\t\t\tmockCanvasOptions = {},\n\t\t\tcanvasConfiguration = {},\n\t\t\terrorOnUnknownElements,\n\t\t\tproviders,\n\t\t\tdeclarations,\n\t\t\timports,\n\t\t\tteardown,\n\t\t\tdeferBlockBehavior,\n\t\t}: {\n\t\t\tsceneGraphInputs?: NgtAnyRecord;\n\t\t\tmockCanvasOptions?: { width?: number; height?: number; beforeReturn?: (canvas: HTMLCanvasElement) => void };\n\t\t\tcanvasConfiguration?: Partial<Omit<NgtCanvasOptions, 'frameloop' | 'size' | 'events'>>;\n\t\t} & Omit<Parameters<TestBed['configureTestingModule']>[0], 'schemas'> = {},\n\t) {\n\t\tconst mockedCanvas = createMockCanvas(mockCanvasOptions);\n\n\t\tconst fixture = TestBed.configureTestingModule({\n\t\t\tproviders: [\n\t\t\t\t{\n\t\t\t\t\tprovide: RendererFactory2,\n\t\t\t\t\tuseFactory: (delegate: RendererFactory2) => new NgtRendererFactory2(delegate),\n\t\t\t\t\tdeps: [DomRendererFactory2],\n\t\t\t\t},\n\t\t\t\t{ provide: NGT_STORE, useFactory: storeFactory },\n\t\t\t\tprovideEnvironmentInitializer(() => {\n\t\t\t\t\tconst initializerFn = (() => {\n\t\t\t\t\t\tconst initRoot = canvasRootInitializer();\n\n\t\t\t\t\t\treturn () => {\n\t\t\t\t\t\t\tconst configurator = initRoot(mockedCanvas);\n\t\t\t\t\t\t\tconfigurator.configure({\n\t\t\t\t\t\t\t\t...canvasConfiguration,\n\t\t\t\t\t\t\t\tevents: undefined,\n\t\t\t\t\t\t\t\tframeloop: 'never',\n\t\t\t\t\t\t\t\tsize: {\n\t\t\t\t\t\t\t\t\twidth: mockCanvasOptions.width ?? mockedCanvas.width ?? 1280,\n\t\t\t\t\t\t\t\t\theight: mockCanvasOptions.height ?? mockedCanvas.height ?? 800,\n\t\t\t\t\t\t\t\t\ttop: 0,\n\t\t\t\t\t\t\t\t\tleft: 0,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t};\n\t\t\t\t\t})();\n\t\t\t\t\treturn initializerFn();\n\t\t\t\t}),\n\t\t\t\t...(providers ?? []),\n\t\t\t],\n\t\t\tschemas: [CUSTOM_ELEMENTS_SCHEMA],\n\t\t\terrorOnUnknownElements: errorOnUnknownElements ?? false,\n\t\t\tdeclarations,\n\t\t\timports,\n\t\t\tteardown,\n\t\t\tdeferBlockBehavior,\n\t\t}).createComponent(NgtTestCanvas);\n\n\t\tfixture.componentRef.setInput('sceneGraph', sceneGraph);\n\t\tfixture.componentRef.setInput('sceneGraphInputs', sceneGraphInputs);\n\t\tfixture.detectChanges();\n\n\t\tconst store = TestBed.inject(NGT_STORE);\n\n\t\tTestBed.flushEffects();\n\n\t\treturn {\n\t\t\tstore,\n\t\t\tfixture,\n\t\t\tsceneGraphComponentRef: fixture.componentInstance.sceneRef as ComponentRef<T>,\n\t\t\tscene: store.snapshot.scene,\n\t\t\tsceneInstanceNode: getInstanceState(store.snapshot.scene)!,\n\t\t\tcanvas: mockedCanvas,\n\t\t\tdestroy: fixture.componentInstance.destroy.bind(fixture.componentInstance),\n\t\t\tfireEvent: this.createEventFirer(store, fixture),\n\t\t\tadvance: this.createAdvance(store),\n\t\t\ttoGraph: this.createToGraph(store),\n\t\t};\n\t}\n\n\tstatic createToGraph(store: SignalState<NgtState>) {\n\t\tfunction graphify(type: string, name: string, children: NgtTestGraphedObject[]): NgtTestGraphedObject {\n\t\t\treturn { type, name, children };\n\t\t}\n\n\t\tfunction toGraph(node: THREE.Object3D): NgtTestGraphedObject[] {\n\t\t\treturn node.children.map((child) => graphify(child.type, child.name || '', toGraph(child)));\n\t\t}\n\n\t\treturn () => {\n\t\t\tconst state = store.snapshot;\n\t\t\treturn toGraph(state.scene);\n\t\t};\n\t}\n\n\tstatic createAdvance(store: SignalState<NgtState>) {\n\t\treturn async (frames: number, delta: number | number[] = 1) => {\n\t\t\tconst state = store.snapshot;\n\t\t\tconst subscribers = state.internal.subscribers;\n\n\t\t\tconst promises: Promise<void>[] = [];\n\n\t\t\tfor (const subscriber of subscribers) {\n\t\t\t\tfor (let i = 0; i < frames; i++) {\n\t\t\t\t\tif (Array.isArray(delta)) {\n\t\t\t\t\t\tpromises.push(\n\t\t\t\t\t\t\tnew Promise((res) => {\n\t\t\t\t\t\t\t\tsubscriber.callback({ ...state, delta: delta[i] || delta[-1] });\n\t\t\t\t\t\t\t\tres();\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tpromises.push(\n\t\t\t\t\t\t\tnew Promise((res) => {\n\t\t\t\t\t\t\t\tsubscriber.callback({ ...state, delta });\n\t\t\t\t\t\t\t\tres();\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tawait Promise.all(promises);\n\t\t};\n\t}\n\n\tstatic createEventFirer(store: SignalState<NgtState>, fixture: ComponentFixture<NgtTestCanvas>) {\n\t\tlet autoDetectChanges = true;\n\n\t\tasync function fireEvent(el: NgtInstanceNode, eventName: keyof NgtEventHandlers, eventData: NgtAnyRecord = {}) {\n\t\t\tconst instanceState = getInstanceState(el);\n\t\t\tif (!instanceState) {\n\t\t\t\tconsole.warn(`[NGT Test] ${el} has no local state`);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst handler = instanceState.handlers[eventName];\n\t\t\tif (!handler) {\n\t\t\t\tconsole.warn(`[NGT Test] ${el} has no ${eventName} handler`);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst raycastEvent = {\n\t\t\t\tcamera: store.snapshot.camera,\n\t\t\t\tstopPropagation: () => {},\n\t\t\t\ttarget: el,\n\t\t\t\tcurrentTarget: el,\n\t\t\t\tsourceEvent: eventData,\n\t\t\t\tnativeEvent: eventData,\n\t\t\t\tobject: el,\n\t\t\t\teventObject: el,\n\t\t\t\t...eventData,\n\t\t\t};\n\n\t\t\tconst result = await handler(raycastEvent as any);\n\n\t\t\tif (autoDetectChanges) {\n\t\t\t\tfixture.detectChanges();\n\t\t\t}\n\n\t\t\treturn result;\n\t\t}\n\n\t\tfireEvent.setAutoDetectChanges = (auto: boolean) => {\n\t\t\tautoDetectChanges = auto;\n\t\t};\n\n\t\treturn fireEvent;\n\t}\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["DomRendererFactory2"],"mappings":";;;;;;;MAsBa,aAAa,CAAA;AAUzB,IAAA,WAAA,GAAA;AATA,QAAA,IAAA,CAAA,UAAU,GAAG,KAAK,CAAC,QAAQ,EAAiB;AAC5C,QAAA,IAAA,CAAA,gBAAgB,GAAG,KAAK,CAAe,EAAE,CAAC;AAElC,QAAA,IAAA,CAAA,SAAS,GAAG,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC;QAEpE,IAAK,CAAA,KAAA,GAAG,WAAW,EAAE;QAK5B,MAAM,CAAC,KAAK,CAAC;QAEb,MAAM,CAAC,MAAK;AACX,YAAA,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE;AAC/B,YAAA,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE;AACpC,YAAA,IAAI,CAAC,UAAU;gBAAE;AAEjB,YAAA,MAAM,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,EAAE;AAEhD,YAAA,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa;AAClD,YAAA,aAAa,CAAC,IAAI,GAAG,uBAAuB;AAC5C,YAAA,aAAa,CAAC,uBAAuB,CAAC,GAAG,IAAI,CAAC,KAAK;AACnD,YAAA,IAAI,aAAa,CAAC,sBAAsB,CAAC,EAAE;AAC1C,gBAAA,aAAa,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK;;YAGrE,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,eAAe,CAAC,UAAU,CAAC;AAElD,YAAA,KAAK,MAAM,GAAG,IAAI,gBAAgB,EAAE;AACnC,gBAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,EAAE,gBAAgB,CAAC,GAAG,CAAC,CAAC;;AAGnD,YAAA,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,aAAa,EAAE;AAChD,SAAC,CAAC;AAEF,QAAA,MAAM,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,MAAK;YACjC,IAAI,CAAC,OAAO,EAAE;AACf,SAAC,CAAC;;IAGH,OAAO,GAAA;AACN,QAAA,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE;;8GA1Cb,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAb,aAAa,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,gBAAA,EAAA,EAAA,iBAAA,EAAA,kBAAA,EAAA,UAAA,EAAA,kBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,WAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,QAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EAIgC,gBAAgB,EAT/D,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA;;AAET,CAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FAGW,aAAa,EAAA,UAAA,EAAA,CAAA;kBAPzB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,QAAQ,EAAE,iBAAiB;AAC3B,oBAAA,QAAQ,EAAE;;AAET,CAAA,CAAA;oBACD,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,iBAAA;;;ACrBD,MAAM,SAAS,GAAG;IACjB,eAAe;IACf,cAAc;IACd,YAAY;IACZ,wBAAwB;IACxB,oBAAoB;IACpB,gBAAgB;IAChB,iBAAiB;IACjB,kBAAkB;IAClB,aAAa;IACb,uBAAuB;IACvB,iBAAiB;IACjB,YAAY;IACZ,eAAe;IACf,uBAAuB;IACvB,WAAW;IACX,mBAAmB;IACnB,iBAAiB;IACjB,YAAY;IACZ,eAAe;IACf,wBAAwB;IACxB,gBAAgB;IAChB,eAAe;IACf,sBAAsB;IACtB,sBAAsB;IACtB,yBAAyB;IACzB,yBAAyB;IACzB,mBAAmB;IACnB,gBAAgB;IAChB,mBAAmB;IACnB,mBAAmB;IACnB,cAAc;IACd,mBAAmB;IACnB,eAAe;IACf,aAAa;IACb,oBAAoB;IACpB,eAAe;IACf,cAAc;IACd,eAAe;IACf,yBAAyB;IACzB,mBAAmB;IACnB,UAAU;IACV,cAAc;IACd,mBAAmB;IACnB,eAAe;IACf,aAAa;IACb,oBAAoB;IACpB,eAAe;IACf,cAAc;IACd,YAAY;IACZ,eAAe;IACf,yBAAyB;IACzB,mBAAmB;IACnB,WAAW;IACX,WAAW;IACX,YAAY;IACZ,cAAc;IACd,SAAS;IACT,qBAAqB;IACrB,uBAAuB;IACvB,mBAAmB;IACnB,QAAQ;IACR,UAAU;IACV,sBAAsB;IACtB,WAAW;IACX,QAAQ;IACR,OAAO;IACP,yBAAyB;IACzB,sBAAsB;IACtB,yBAAyB;IACzB,WAAW;IACX,gBAAgB;IAChB,iBAAiB;IACjB,kBAAkB;IAClB,2BAA2B;IAC3B,gCAAgC;IAChC,mBAAmB;IACnB,oBAAoB;IACpB,mBAAmB;IACnB,oBAAoB;IACpB,kBAAkB;IAClB,sBAAsB;IACtB,UAAU;IACV,cAAc;IACd,qBAAqB;IACrB,mCAAmC;IACnC,qBAAqB;IACrB,4BAA4B;IAC5B,cAAc;IACd,mBAAmB;IACnB,qBAAqB;IACrB,UAAU;IACV,mBAAmB;IACnB,0BAA0B;IAC1B,qBAAqB;IACrB,kBAAkB;IAClB,oBAAoB;IACpB,0BAA0B;IAC1B,iBAAiB;IACjB,wBAAwB;IACxB,kBAAkB;IAClB,iBAAiB;IACjB,6BAA6B;IAC7B,YAAY;IACZ,sBAAsB;IACtB,mBAAmB;IACnB,oBAAoB;IACpB,iBAAiB;IACjB,uBAAuB;IACvB,MAAM;IACN,uBAAuB;IACvB,0BAA0B;IAC1B,UAAU;IACV,eAAe;IACf,WAAW;IACX,eAAe;IACf,WAAW;IACX,SAAS;IACT,gBAAgB;IAChB,WAAW;IACX,UAAU;IACV,QAAQ;IACR,WAAW;IACX,qBAAqB;IACrB,eAAe;IACf,WAAW;IACX,aAAa;IACb,wBAAwB;IACxB,aAAa;IACb,eAAe;IACf,YAAY;IACZ,YAAY;IACZ,qBAAqB;IACrB,gCAAgC;IAChC,yBAAyB;IACzB,gBAAgB;IAChB,mBAAmB;IACnB,mBAAmB;IACnB,cAAc;IACd,aAAa;IACb,qBAAqB;IACrB,aAAa;IACb,qBAAqB;IACrB,WAAW;IACX,mBAAmB;IACnB,YAAY;IACZ,YAAY;IACZ,eAAe;IACf,eAAe;IACf,cAAc;IACd,cAAc;IACd,eAAe;IACf,eAAe;IACf,2BAA2B;IAC3B,YAAY;IACZ,YAAY;IACZ,YAAY;IACZ,YAAY;IACZ,qBAAqB;IACrB,YAAY;IACZ,iBAAiB;IACjB,qBAAqB;IACrB,iBAAiB;IACjB,kBAAkB;IAClB,sBAAsB;IACtB,UAAU;IACV,YAAY;IACZ,iBAAiB;IACjB,aAAa;IACb,OAAO;IACP,eAAe;IACf,eAAe;IACf,eAAe;IACf,gBAAgB;IAChB,YAAY;IACZ,YAAY;IACZ,cAAc;IACd,WAAW;IACX,0BAA0B;IAC1B,YAAY;IACZ,aAAa;IACb,cAAc;IACd,yBAAyB;IACzB,SAAS;IACT,WAAW;IACX,YAAY;IACZ,WAAW;IACX,YAAY;IACZ,aAAa;IACb,WAAW;IACX,YAAY;IACZ,WAAW;IACX,YAAY;IACZ,aAAa;IACb,WAAW;IACX,YAAY;IACZ,WAAW;IACX,YAAY;IACZ,aAAa;IACb,WAAW;IACX,YAAY;IACZ,WAAW;IACX,YAAY;IACZ,aAAa;IACb,kBAAkB;IAClB,oBAAoB;IACpB,oBAAoB;IACpB,kBAAkB;IAClB,oBAAoB;IACpB,oBAAoB;IACpB,kBAAkB;IAClB,oBAAoB;IACpB,oBAAoB;IACpB,gBAAgB;IAChB,iBAAiB;IACjB,gBAAgB;IAChB,iBAAiB;IACjB,gBAAgB;IAChB,iBAAiB;IACjB,gBAAgB;IAChB,iBAAiB;IACjB,kBAAkB;IAClB,mBAAmB;IACnB,qBAAqB;IACrB,UAAU;IACV,kBAAkB;CAClB;AAED,MAAM,KAAK,GAA2B;AACrC,IAAA,gBAAgB,EAAE,GAAG;AACrB,IAAA,kBAAkB,EAAE,IAAI;AACxB,IAAA,gBAAgB,EAAE,KAAK;AACvB,IAAA,MAAM,EAAE,CAAC;AACT,IAAA,KAAK,EAAE,CAAC;AACR,IAAA,SAAS,EAAE,CAAC;AACZ,IAAA,UAAU,EAAE,CAAC;AACb,IAAA,SAAS,EAAE,CAAC;AACZ,IAAA,cAAc,EAAE,CAAC;AACjB,IAAA,YAAY,EAAE,CAAC;AACf,IAAA,IAAI,EAAE,CAAC;AACP,IAAA,GAAG,EAAE,CAAC;AACN,IAAA,SAAS,EAAE,GAAG;AACd,IAAA,mBAAmB,EAAE,GAAG;AACxB,IAAA,SAAS,EAAE,GAAG;AACd,IAAA,mBAAmB,EAAE,GAAG;AACxB,IAAA,SAAS,EAAE,GAAG;AACd,IAAA,mBAAmB,EAAE,GAAG;AACxB,IAAA,SAAS,EAAE,GAAG;AACd,IAAA,mBAAmB,EAAE,GAAG;AACxB,IAAA,kBAAkB,EAAE,GAAG;AACvB,IAAA,QAAQ,EAAE,KAAK;AACf,IAAA,cAAc,EAAE,KAAK;AACrB,IAAA,kBAAkB,EAAE,KAAK;AACzB,IAAA,oBAAoB,EAAE,KAAK;AAC3B,IAAA,aAAa,EAAE,KAAK;AACpB,IAAA,qBAAqB,EAAE,KAAK;AAC5B,IAAA,aAAa,EAAE,KAAK;AACpB,IAAA,aAAa,EAAE,KAAK;AACpB,IAAA,eAAe,EAAE,KAAK;AACtB,IAAA,eAAe,EAAE,KAAK;AACtB,IAAA,cAAc,EAAE,KAAK;AACrB,IAAA,wBAAwB,EAAE,KAAK;AAC/B,IAAA,cAAc,EAAE,KAAK;AACrB,IAAA,wBAAwB,EAAE,KAAK;AAC/B,IAAA,WAAW,EAAE,KAAK;AAClB,IAAA,YAAY,EAAE,KAAK;AACnB,IAAA,oBAAoB,EAAE,KAAK;AAC3B,IAAA,oBAAoB,EAAE,KAAK;AAC3B,IAAA,4BAA4B,EAAE,KAAK;AACnC,IAAA,WAAW,EAAE,KAAK;AAClB,IAAA,WAAW,EAAE,KAAK;AAClB,IAAA,YAAY,EAAE,KAAK;AACnB,IAAA,WAAW,EAAE,KAAK;AAClB,IAAA,YAAY,EAAE,KAAK;AACnB,IAAA,qBAAqB,EAAE,KAAK;AAC5B,IAAA,KAAK,EAAE,IAAI;AACX,IAAA,IAAI,EAAE,IAAI;AACV,IAAA,cAAc,EAAE,IAAI;AACpB,IAAA,UAAU,EAAE,IAAI;AAChB,IAAA,SAAS,EAAE,IAAI;AACf,IAAA,KAAK,EAAE,IAAI;AACX,IAAA,MAAM,EAAE,IAAI;AACZ,IAAA,YAAY,EAAE,IAAI;AAClB,IAAA,UAAU,EAAE,IAAI;AAChB,IAAA,YAAY,EAAE,IAAI;AAClB,IAAA,mBAAmB,EAAE,KAAK;AAC1B,IAAA,wBAAwB,EAAE,KAAK;AAC/B,IAAA,eAAe,EAAE,KAAK;AACtB,IAAA,QAAQ,EAAE,CAAC;AACX,IAAA,YAAY,EAAE,IAAI;AAClB,IAAA,aAAa,EAAE,IAAI;AACnB,IAAA,iBAAiB,EAAE,IAAI;AACvB,IAAA,aAAa,EAAE,IAAI;AACnB,IAAA,EAAE,EAAE,IAAI;AACR,IAAA,GAAG,EAAE,IAAI;AACT,IAAA,UAAU,EAAE,IAAI;AAChB,IAAA,wBAAwB,EAAE,KAAK;AAC/B,IAAA,wBAAwB,EAAE,KAAK;AAC/B,IAAA,cAAc,EAAE,IAAI;AACpB,IAAA,UAAU,EAAE,IAAI;AAChB,IAAA,WAAW,EAAE,IAAI;AACjB,IAAA,eAAe,EAAE,IAAI;AACrB,IAAA,iBAAiB,EAAE,IAAI;AACvB,IAAA,UAAU,EAAE,IAAI;AAChB,IAAA,mBAAmB,EAAE,IAAI;AACzB,IAAA,YAAY,EAAE,IAAI;AAClB,IAAA,YAAY,EAAE,IAAI;AAClB,IAAA,uBAAuB,EAAE,IAAI;AAC7B,IAAA,uBAAuB,EAAE,IAAI;AAC7B,IAAA,WAAW,EAAE,IAAI;AACjB,IAAA,kBAAkB,EAAE,IAAI;AACxB,IAAA,iBAAiB,EAAE,IAAI;AACvB,IAAA,iBAAiB,EAAE,KAAK;AACxB,IAAA,iBAAiB,EAAE,KAAK;AACxB,IAAA,4BAA4B,EAAE,KAAK;AACnC,IAAA,4BAA4B,EAAE,KAAK;AACnC,IAAA,gBAAgB,EAAE,KAAK;AACvB,IAAA,uBAAuB,EAAE,KAAK;AAC9B,IAAA,sBAAsB,EAAE,KAAK;AAC7B,IAAA,QAAQ,EAAE,IAAI;AACd,IAAA,WAAW,EAAE,IAAI;AACjB,IAAA,iBAAiB,EAAE,IAAI;AACvB,IAAA,eAAe,EAAE,IAAI;AACrB,IAAA,gBAAgB,EAAE,IAAI;AACtB,IAAA,cAAc,EAAE,IAAI;AACpB,IAAA,gBAAgB,EAAE,IAAI;AACtB,IAAA,iBAAiB,EAAE,IAAI;AACvB,IAAA,aAAa,EAAE,IAAI;AACnB,IAAA,QAAQ,EAAE,IAAI;AACd,IAAA,UAAU,EAAE,IAAI;AAChB,IAAA,SAAS,EAAE,IAAI;AACf,IAAA,UAAU,EAAE,IAAI;AAChB,IAAA,UAAU,EAAE,IAAI;AAChB,IAAA,YAAY,EAAE,IAAI;AAClB,IAAA,oBAAoB,EAAE,KAAK;AAC3B,IAAA,qBAAqB,EAAE,KAAK;AAC5B,IAAA,kBAAkB,EAAE,KAAK;AACzB,IAAA,cAAc,EAAE,KAAK;AACrB,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,qBAAqB,EAAE,KAAK;AAC5B,IAAA,sBAAsB,EAAE,KAAK;AAC7B,IAAA,0BAA0B,EAAE,KAAK;AACjC,IAAA,SAAS,EAAE,IAAI;AACf,IAAA,OAAO,EAAE,IAAI;AACb,IAAA,MAAM,EAAE,IAAI;AACZ,IAAA,oBAAoB,EAAE,KAAK;AAC3B,IAAA,IAAI,EAAE,IAAI;AACV,IAAA,aAAa,EAAE,IAAI;AACnB,IAAA,KAAK,EAAE,IAAI;AACX,IAAA,cAAc,EAAE,IAAI;AACpB,IAAA,GAAG,EAAE,IAAI;AACT,IAAA,YAAY,EAAE,IAAI;AAClB,IAAA,KAAK,EAAE,IAAI;AACX,IAAA,eAAe,EAAE,IAAI;AACrB,IAAA,KAAK,EAAE,IAAI;AACX,IAAA,GAAG,EAAE,IAAI;AACT,IAAA,IAAI,EAAE,IAAI;AACV,IAAA,SAAS,EAAE,IAAI;AACf,IAAA,eAAe,EAAE,IAAI;AACrB,IAAA,sBAAsB,EAAE,KAAK;AAC7B,IAAA,sBAAsB,EAAE,KAAK;AAC7B,IAAA,oBAAoB,EAAE,KAAK;AAC3B,IAAA,eAAe,EAAE,KAAK;AACtB,IAAA,aAAa,EAAE,KAAK;AACpB,IAAA,kBAAkB,EAAE,KAAK;AACzB,IAAA,0BAA0B,EAAE,KAAK;AACjC,IAAA,mBAAmB,EAAE,KAAK;AAC1B,IAAA,gCAAgC,EAAE,KAAK;AACvC,IAAA,8BAA8B,EAAE,KAAK;AACrC,IAAA,uBAAuB,EAAE,KAAK;AAC9B,IAAA,4BAA4B,EAAE,KAAK;AACnC,IAAA,WAAW,EAAE,KAAK;AAClB,IAAA,aAAa,EAAE,KAAK;AACpB,IAAA,WAAW,EAAE,KAAK;AAClB,IAAA,eAAe,EAAE,KAAK;AACtB,IAAA,gBAAgB,EAAE,KAAK;AACvB,IAAA,eAAe,EAAE,KAAK;AACtB,IAAA,iBAAiB,EAAE,KAAK;AACxB,IAAA,wBAAwB,EAAE,KAAK;AAC/B,IAAA,eAAe,EAAE,KAAK;AACtB,IAAA,KAAK,EAAE,GAAG;AACV,IAAA,IAAI,EAAE,GAAG;AACT,IAAA,KAAK,EAAE,GAAG;AACV,IAAA,MAAM,EAAE,GAAG;AACX,IAAA,OAAO,EAAE,GAAG;AACZ,IAAA,QAAQ,EAAE,GAAG;AACb,IAAA,MAAM,EAAE,GAAG;AACX,IAAA,MAAM,EAAE,GAAG;AACX,IAAA,IAAI,EAAE,IAAI;AACV,IAAA,OAAO,EAAE,IAAI;AACb,IAAA,IAAI,EAAE,IAAI;AACV,IAAA,IAAI,EAAE,IAAI;AACV,IAAA,MAAM,EAAE,IAAI;AACZ,IAAA,SAAS,EAAE,KAAK;AAChB,IAAA,SAAS,EAAE,KAAK;AAChB,IAAA,MAAM,EAAE,IAAI;AACZ,IAAA,QAAQ,EAAE,IAAI;AACd,IAAA,OAAO,EAAE,IAAI;AACb,IAAA,OAAO,EAAE,IAAI;AACb,IAAA,MAAM,EAAE,IAAI;AACZ,IAAA,sBAAsB,EAAE,IAAI;AAC5B,IAAA,qBAAqB,EAAE,IAAI;AAC3B,IAAA,qBAAqB,EAAE,IAAI;AAC3B,IAAA,oBAAoB,EAAE,IAAI;AAC1B,IAAA,kBAAkB,EAAE,KAAK;AACzB,IAAA,kBAAkB,EAAE,KAAK;AACzB,IAAA,cAAc,EAAE,KAAK;AACrB,IAAA,cAAc,EAAE,KAAK;AACrB,IAAA,OAAO,EAAE,IAAI;AACb,IAAA,gBAAgB,EAAE,KAAK;AACvB,IAAA,wBAAwB,EAAE,KAAK;AAC/B,IAAA,2BAA2B,EAAE,KAAK;AAClC,IAAA,2BAA2B,EAAE,KAAK;AAClC,IAAA,2BAA2B,EAAE,KAAK;AAClC,IAAA,2BAA2B,EAAE,KAAK;AAClC,IAAA,2BAA2B,EAAE,KAAK;AAClC,IAAA,2BAA2B,EAAE,KAAK;AAClC,IAAA,yBAAyB,EAAE,KAAK;AAChC,IAAA,QAAQ,EAAE,KAAK;AACf,IAAA,QAAQ,EAAE,KAAK;AACf,IAAA,QAAQ,EAAE,KAAK;AACf,IAAA,QAAQ,EAAE,KAAK;AACf,IAAA,QAAQ,EAAE,KAAK;AACf,IAAA,QAAQ,EAAE,KAAK;AACf,IAAA,QAAQ,EAAE,KAAK;AACf,IAAA,QAAQ,EAAE,KAAK;AACf,IAAA,QAAQ,EAAE,KAAK;AACf,IAAA,QAAQ,EAAE,KAAK;AACf,IAAA,SAAS,EAAE,KAAK;AAChB,IAAA,SAAS,EAAE,KAAK;AAChB,IAAA,SAAS,EAAE,KAAK;AAChB,IAAA,SAAS,EAAE,KAAK;AAChB,IAAA,SAAS,EAAE,KAAK;AAChB,IAAA,SAAS,EAAE,KAAK;AAChB,IAAA,SAAS,EAAE,KAAK;AAChB,IAAA,SAAS,EAAE,KAAK;AAChB,IAAA,SAAS,EAAE,KAAK;AAChB,IAAA,SAAS,EAAE,KAAK;AAChB,IAAA,SAAS,EAAE,KAAK;AAChB,IAAA,SAAS,EAAE,KAAK;AAChB,IAAA,SAAS,EAAE,KAAK;AAChB,IAAA,SAAS,EAAE,KAAK;AAChB,IAAA,SAAS,EAAE,KAAK;AAChB,IAAA,SAAS,EAAE,KAAK;AAChB,IAAA,SAAS,EAAE,KAAK;AAChB,IAAA,SAAS,EAAE,KAAK;AAChB,IAAA,SAAS,EAAE,KAAK;AAChB,IAAA,SAAS,EAAE,KAAK;AAChB,IAAA,SAAS,EAAE,KAAK;AAChB,IAAA,SAAS,EAAE,KAAK;AAChB,IAAA,cAAc,EAAE,KAAK;AACrB,IAAA,MAAM,EAAE,KAAK;AACb,IAAA,aAAa,EAAE,KAAK;AACpB,IAAA,eAAe,EAAE,KAAK;AACtB,IAAA,UAAU,EAAE,KAAK;AACjB,IAAA,UAAU,EAAE,KAAK;AACjB,IAAA,UAAU,EAAE,KAAK;AACjB,IAAA,QAAQ,EAAE,KAAK;AACf,IAAA,QAAQ,EAAE,KAAK;AACf,IAAA,QAAQ,EAAE,KAAK;AACf,IAAA,IAAI,EAAE,KAAK;AACX,IAAA,SAAS,EAAE,KAAK;AAChB,IAAA,SAAS,EAAE,KAAK;AAChB,IAAA,SAAS,EAAE,KAAK;AAChB,IAAA,UAAU,EAAE,KAAK;AACjB,IAAA,UAAU,EAAE,KAAK;AACjB,IAAA,UAAU,EAAE,KAAK;AACjB,IAAA,UAAU,EAAE,KAAK;AACjB,IAAA,YAAY,EAAE,KAAK;AACnB,IAAA,2BAA2B,EAAE,KAAK;AAClC,IAAA,wBAAwB,EAAE,KAAK;AAC/B,IAAA,0BAA0B,EAAE,KAAK;AACjC,IAAA,wBAAwB,EAAE,KAAK;AAC/B,IAAA,8BAA8B,EAAE,KAAK;AACrC,IAAA,2BAA2B,EAAE,KAAK;AAClC,IAAA,kCAAkC,EAAE,KAAK;AACzC,IAAA,8BAA8B,EAAE,KAAK;AACrC,IAAA,gCAAgC,EAAE,KAAK;AACvC,IAAA,cAAc,EAAE,KAAK;AACrB,IAAA,SAAS,EAAE,KAAK;AAChB,IAAA,YAAY,EAAE,KAAK;AACnB,IAAA,UAAU,EAAE,KAAK;AACjB,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,UAAU,EAAE,KAAK;AACjB,IAAA,QAAQ,EAAE,KAAK;AACf,IAAA,WAAW,EAAE,KAAK;AAClB,IAAA,YAAY,EAAE,KAAK;AACnB,IAAA,KAAK,EAAE,KAAK;AACZ,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,MAAM,EAAE,KAAK;AACb,IAAA,iBAAiB,EAAE,KAAK;AACxB,IAAA,aAAa,EAAE,IAAI;AACnB,IAAA,cAAc,EAAE,KAAK;AACrB,IAAA,aAAa,EAAE,KAAK;AACpB,IAAA,kBAAkB,EAAE,KAAK;AACzB,IAAA,mBAAmB,EAAE,KAAK;AAC1B,IAAA,4BAA4B,EAAE,KAAK;AACnC,IAAA,qBAAqB,EAAE,KAAK;AAC5B,IAAA,uBAAuB,EAAE,KAAK;AAC9B,IAAA,sBAAsB,EAAE,KAAK;AAC7B,IAAA,uBAAuB,EAAE,KAAK;AAC9B,IAAA,uBAAuB,EAAE,KAAK;AAC9B,IAAA,yBAAyB,EAAE,KAAK;AAChC,IAAA,kCAAkC,EAAE,KAAK;AACzC,IAAA,kCAAkC,EAAE,KAAK;AACzC,IAAA,oCAAoC,EAAE,KAAK;AAC3C,IAAA,4CAA4C,EAAE,KAAK;AACnD,IAAA,iBAAiB,EAAE,KAAK;AACxB,IAAA,gBAAgB,EAAE,KAAK;AACvB,IAAA,kBAAkB,EAAE,KAAK;AACzB,IAAA,wBAAwB,EAAE,KAAK;AAC/B,IAAA,IAAI,EAAE,CAAC;AACP,IAAA,oBAAoB,EAAE,KAAK;AAC3B,IAAA,iCAAiC,EAAE,KAAK;AACxC,IAAA,yCAAyC,EAAE,KAAK;AAChD,IAAA,iCAAiC,EAAE,KAAK;AACxC,IAAA,uBAAuB,EAAE,KAAK;AAC9B,IAAA,mBAAmB,EAAE,KAAK;AAC1B,IAAA,oBAAoB,EAAE,KAAK;AAC3B,IAAA,qBAAqB,EAAE,KAAK;AAC5B,IAAA,6BAA6B,EAAE,IAAI;AACnC,IAAA,mBAAmB,EAAE,KAAK;AAC1B,IAAA,8BAA8B,EAAE,KAAK;AACrC,IAAA,kBAAkB,EAAE,KAAK;AACzB,IAAA,kCAAkC,EAAE,KAAK;AACzC,IAAA,qBAAqB,EAAE,KAAK;AAC5B,IAAA,WAAW,EAAE,IAAI;AACjB,IAAA,iBAAiB,EAAE,IAAI;AACvB,IAAA,gBAAgB,EAAE,IAAI;AACtB,IAAA,kBAAkB,EAAE,IAAI;AACxB,IAAA,eAAe,EAAE,IAAI;AACrB,IAAA,cAAc,EAAE,IAAI;AACpB,IAAA,gBAAgB,EAAE,IAAI;AACtB,IAAA,KAAK,EAAE,IAAI;AACX,IAAA,KAAK,EAAE,IAAI;AACX,IAAA,OAAO,EAAE,IAAI;AACb,IAAA,GAAG,EAAE,IAAI;AACT,IAAA,kBAAkB,EAAE,KAAK;AACzB,IAAA,mBAAmB,EAAE,KAAK;AAC1B,IAAA,cAAc,EAAE,KAAK;AACrB,IAAA,qBAAqB,EAAE,KAAK;AAC5B,IAAA,oBAAoB,EAAE,KAAK;AAC3B,IAAA,eAAe,EAAE,KAAK;AACtB,IAAA,eAAe,EAAE,KAAK;AACtB,IAAA,kBAAkB,EAAE,KAAK;AACzB,IAAA,iBAAiB,EAAE,KAAK;AACxB,IAAA,GAAG,EAAE,KAAK;AACV,IAAA,GAAG,EAAE,KAAK;AACV,IAAA,oBAAoB,EAAE,KAAK;AAC3B,IAAA,oBAAoB,EAAE,KAAK;AAC3B,IAAA,oBAAoB,EAAE,KAAK;AAC3B,IAAA,aAAa,EAAE,KAAK;AACpB,IAAA,YAAY,EAAE,KAAK;AACnB,IAAA,sBAAsB,EAAE,KAAK;AAC7B,IAAA,WAAW,EAAE,KAAK;AAClB,IAAA,WAAW,EAAE,KAAK;AAClB,IAAA,WAAW,EAAE,KAAK;AAClB,IAAA,WAAW,EAAE,KAAK;AAClB,IAAA,YAAY,EAAE,KAAK;AACnB,IAAA,YAAY,EAAE,KAAK;AACnB,IAAA,gBAAgB,EAAE,KAAK;AACvB,IAAA,+BAA+B,EAAE,KAAK;AACtC,IAAA,6BAA6B,EAAE,KAAK;AACpC,IAAA,+BAA+B,EAAE,KAAK;AACtC,IAAA,iBAAiB,EAAE,KAAK;AACxB,IAAA,mBAAmB,EAAE,KAAK;AAC1B,IAAA,yBAAyB,EAAE,KAAK;AAChC,IAAA,2BAA2B,EAAE,KAAK;AAClC,IAAA,IAAI,EAAE,KAAK;AACX,IAAA,sBAAsB,EAAE,KAAK;AAC7B,IAAA,2BAA2B,EAAE,KAAK;AAClC,IAAA,wBAAwB,EAAE,KAAK;AAC/B,IAAA,wBAAwB,EAAE,KAAK;AAC/B,IAAA,wBAAwB,EAAE,KAAK;AAC/B,IAAA,sBAAsB,EAAE,KAAK;AAC7B,IAAA,8BAA8B,EAAE,KAAK;AACrC,IAAA,0CAA0C,EAAE,KAAK;AACjD,IAAA,2BAA2B,EAAE,KAAK;AAClC,IAAA,+BAA+B,EAAE,KAAK;AACtC,IAAA,8BAA8B,EAAE,KAAK;AACrC,IAAA,qCAAqC,EAAE,KAAK;AAC5C,IAAA,kBAAkB,EAAE,KAAK;AACzB,IAAA,6CAA6C,EAAE,KAAK;AACpD,IAAA,uCAAuC,EAAE,KAAK;AAC9C,IAAA,mBAAmB,EAAE,KAAK;AAC1B,IAAA,gBAAgB,EAAE,KAAK;AACvB,IAAA,yBAAyB,EAAE,KAAK;AAChC,IAAA,iCAAiC,EAAE,KAAK;AACxC,IAAA,WAAW,EAAE,KAAK;AAClB,IAAA,WAAW,EAAE,KAAK;AAClB,IAAA,YAAY,EAAE,KAAK;AACnB,IAAA,mBAAmB,EAAE,KAAK;AAC1B,IAAA,gBAAgB,EAAE,KAAK;AACvB,IAAA,yBAAyB,EAAE,KAAK;AAChC,IAAA,qCAAqC,EAAE,KAAK;AAC5C,IAAA,qCAAqC,EAAE,KAAK;AAC5C,IAAA,+BAA+B,EAAE,KAAK;AACtC,IAAA,iCAAiC,EAAE,KAAK;AACxC,IAAA,gCAAgC,EAAE,KAAK;AACvC,IAAA,iCAAiC,EAAE,KAAK;AACxC,IAAA,iCAAiC,EAAE,KAAK;AACxC,IAAA,mCAAmC,EAAE,KAAK;AAC1C,IAAA,mBAAmB,EAAE,KAAK;AAC1B,IAAA,mBAAmB,EAAE,KAAK;AAC1B,IAAA,wBAAwB,EAAE,KAAK;AAC/B,IAAA,gBAAgB,EAAE,KAAK;AACvB,IAAA,gBAAgB,EAAE,KAAK;AACvB,IAAA,wBAAwB,EAAE,KAAK;AAC/B,IAAA,oBAAoB,EAAE,KAAK;AAC3B,IAAA,oCAAoC,EAAE,KAAK;AAC3C,IAAA,qBAAqB,EAAE,KAAK;AAC5B,IAAA,kCAAkC,EAAE,KAAK;AACzC,IAAA,WAAW,EAAE,KAAK;AAClB,IAAA,UAAU,EAAE,IAAI;AAChB,IAAA,EAAE,EAAE,KAAK;AACT,IAAA,UAAU,EAAE,KAAK;AACjB,IAAA,oBAAoB,EAAE,KAAK;AAC3B,IAAA,iBAAiB,EAAE,KAAK;AACxB,IAAA,gBAAgB,EAAE,KAAK;AACvB,IAAA,iBAAiB,EAAE,KAAK;AACxB,IAAA,wBAAwB,EAAE,KAAK;AAC/B,IAAA,yBAAyB,EAAE,KAAK;AAChC,IAAA,cAAc,EAAE,KAAK;AACrB,IAAA,sBAAsB,EAAE,KAAK;AAC7B,IAAA,oBAAoB,EAAE,KAAK;AAC3B,IAAA,mBAAmB,EAAE,KAAK;AAC1B,IAAA,yBAAyB,EAAE,KAAK;AAChC,IAAA,2BAA2B,EAAE,KAAK;AAClC,IAAA,2BAA2B,EAAE,KAAK;AAClC,IAAA,2BAA2B,EAAE,KAAK;AAClC,IAAA,sBAAsB,EAAE,KAAK;AAC7B,IAAA,sCAAsC,EAAE,KAAK;AAC7C,IAAA,wCAAwC,EAAE,KAAK;AAC/C,IAAA,+BAA+B,EAAE,KAAK;AACtC,IAAA,qBAAqB,EAAE,KAAK;AAC5B,IAAA,YAAY,EAAE,KAAK;AACnB,IAAA,YAAY,EAAE,KAAK;AACnB,IAAA,mBAAmB,EAAE,KAAK;AAC1B,IAAA,cAAc,EAAE,KAAK;AACrB,IAAA,oBAAoB,EAAE,KAAK;AAC3B,IAAA,qBAAqB,EAAE,KAAK;AAC5B,IAAA,oBAAoB,EAAE,KAAK;AAC3B,IAAA,qBAAqB,EAAE,KAAK;AAC5B,IAAA,uBAAuB,EAAE,KAAK;AAC9B,IAAA,6BAA6B,EAAE,KAAK;AACpC,IAAA,oCAAoC,EAAE,KAAK;AAC3C,IAAA,yCAAyC,EAAE,KAAK;AAChD,IAAA,2CAA2C,EAAE,KAAK;AAClD,IAAA,aAAa,EAAE,UAAU;AACzB,IAAA,4BAA4B,EAAE,KAAK;AACnC,IAAA,6BAA6B,EAAE,KAAK;AACpC,IAAA,uBAAuB,EAAE,KAAK;AAC9B,IAAA,WAAW,EAAE,KAAK;AAClB,IAAA,cAAc,EAAE,KAAK;AACrB,IAAA,WAAW,EAAE,KAAK;AAClB,IAAA,UAAU,EAAE,KAAK;AACjB,IAAA,UAAU,EAAE,KAAK;AACjB,IAAA,0BAA0B,EAAE,KAAK;AACjC,IAAA,UAAU,EAAE,KAAK;AACjB,IAAA,QAAQ,EAAE,KAAK;AACf,IAAA,gBAAgB,EAAE,KAAK;AACvB,IAAA,eAAe,EAAE,KAAK;AACtB,IAAA,mBAAmB,EAAE,KAAK;AAC1B,IAAA,WAAW,EAAE,KAAK;AAClB,IAAA,uBAAuB,EAAE,CAAC;AAC1B,IAAA,2BAA2B,EAAE,KAAK;AAClC,IAAA,kBAAkB,EAAE,KAAK;AACzB,IAAA,+BAA+B,EAAE,KAAK;AACtC,IAAA,eAAe,EAAE,KAAK;AACtB,IAAA,kBAAkB,EAAE,KAAK;AACzB,IAAA,yBAAyB,EAAE,KAAK;AAChC,IAAA,yBAAyB,EAAE,KAAK;AAChC,IAAA,0BAA0B,EAAE,KAAK;AACjC,IAAA,wBAAwB,EAAE,KAAK;AAC/B,IAAA,iBAAiB,EAAE,KAAK;AACxB,IAAA,wBAAwB,EAAE,KAAK;IAC/B,eAAe,EAAE,CAAC,CAAC;AACnB,IAAA,6BAA6B,EAAE,KAAK;CACpC;AAED,MAAM,UAAU,GAA2B;;AAE1C,IAAA,iBAAiB,EAAE,EAAE;AACrB,IAAA,sBAAsB,EAAE,EAAE;AAC1B,IAAA,kBAAkB,EAAE;AACnB,QAAA,WAAW,EAAE,MAAK,GAAG;AACrB,KAAA;AACD,IAAA,wBAAwB,EAAE,EAAE;AAC5B,IAAA,uBAAuB,EAAE;AACxB,QAAA,oBAAoB,EAAE,MAAK,GAAG;AAC9B,QAAA,kBAAkB,EAAE,MAAK,GAAG;AAC5B,QAAA,oBAAoB,EAAE,MAAK,GAAG;AAC9B,KAAA;AACD,IAAA,yBAAyB,EAAE,IAAI;AAC/B,IAAA,mBAAmB,EAAE,IAAI;AACzB,IAAA,6BAA6B,EAAE,IAAI;AACnC,IAAA,mBAAmB,EAAE,EAAE;AACvB,IAAA,sBAAsB,EAAE,EAAE;AAC1B,IAAA,8BAA8B,EAAE,IAAI;AACpC,IAAA,cAAc,EAAE,EAAE;AAClB,IAAA,kBAAkB,EAAE,EAAE;AACtB,IAAA,sBAAsB,EAAE,IAAI;AAC5B,IAAA,wBAAwB,EAAE,IAAI;AAC9B,IAAA,6BAA6B,EAAE,IAAI;IACnC,gBAAgB,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE;AAC5C,IAAA,sBAAsB,EAAE,IAAI;;AAE5B,IAAA,4BAA4B,EAAE,IAAI;AAClC,IAAA,8BAA8B,EAAE,IAAI;AACpC,IAAA,2BAA2B,EAAE,IAAI;AACjC,IAAA,wBAAwB,EAAE,IAAI;AAC9B,IAAA,QAAQ,EAAE,IAAI;AACd,IAAA,6BAA6B,EAAE,IAAI;CACnC;MAEY,sBAAsB,CAAA;AAGlC,IAAA,WAAA,CAAY,MAAyB,EAAA;QAerC,IAAwB,CAAA,wBAAA,GAAG,MAAK;YAC/B,OAAO;AACN,gBAAA,QAAQ,EAAE,GAAG;AACb,gBAAA,QAAQ,EAAE,GAAG;AACb,gBAAA,SAAS,EAAE,EAAE;aACb;AACF,SAAC;QAEO,IAAU,CAAA,UAAA,GAAG,IAAI;QACjB,IAAW,CAAA,WAAA,GAAG,IAAI;QAClB,IAAQ,CAAA,QAAA,GAAG,IAAI;AAiBvB,QAAA,IAAA,CAAA,iBAAiB,GAAG,MAAM,EAAE;AAE5B,QAAA,IAAA,CAAA,gBAAgB,GAAG,MAAM,EAAE;;AA1C1B,QAAA,IAAI,CAAC,MAAM,GAAG,MAAM;;AAEpB,QAAA,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC,KAAK;;AAEtC,QAAA,IAAI,CAAC,mBAAmB,GAAG,MAAM,CAAC,MAAM;AAExC,QAAA,KAAK,MAAM,MAAM,IAAI,SAAS,EAAE;YAC/B,IAAI,CAAC,MAAM,CAAC,KAAK,MAAK,GAAG;;AAG1B,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC;;;AAgB3B,IAAA,YAAY,CAAC,OAAe,EAAA;QAC3B,QAAQ,OAAO;YACd,KAAK,IAAI,CAAC,UAAU;gBACnB,OAAO,CAAC,QAAQ,CAAC;YAClB,KAAK,IAAI,CAAC,WAAW;YACrB,KAAK,IAAI,CAAC,QAAQ;gBACjB,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;;;AAItB,IAAA,YAAY,CAAC,GAAW,EAAA;AACvB,QAAA,OAAO,UAAU,CAAC,GAAG,CAAC;;AAMvB;;ACzvBe,SAAA,gBAAgB,CAAC,EAChC,KAAK,GAAG,IAAI,EACZ,MAAM,GAAG,GAAG,EACZ,YAAY,GAKZ,EAAA;AACA,IAAA,IAAI,MAAyB;AAE7B,IAAA,IAAI,OAAO,QAAQ,KAAK,WAAW,IAAI,OAAO,QAAQ,CAAC,aAAa,KAAK,UAAU,EAAE;AACpF,QAAA,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC;;SACnC;AACN,QAAA,MAAM,GAAG;AACR,YAAA,KAAK,EAAE,EAAE;AACT,YAAA,gBAAgB,GAAG,MAAK,GAAG,CAAQ;AACnC,YAAA,mBAAmB,GAAG,MAAK,GAAG,CAAQ;AACtC,YAAA,WAAW,EAAE,KAAK;AAClB,YAAA,YAAY,EAAE,MAAM;YACpB,UAAU,GAAG,MAAM,IAAI,sBAAsB,CAAC,MAAM,CAAC,CAAQ;SACxC;;AAEvB,IAAA,MAAM,CAAC,KAAK,GAAG,KAAK;AACpB,IAAA,MAAM,CAAC,MAAM,GAAG,MAAM;AAEtB,IAAA,IAAI,UAAU,CAAC,iBAAiB,EAAE;AACjC,QAAA,MAAM,UAAU,GAAG,iBAAiB,CAAC,SAAS,CAAC,UAAU;AACzD,QAAA,iBAAiB,CAAC,SAAS,CAAC,UAAU,GAAG,UAExC,GAAG,IAAmC,EAAA;AAEtC,YAAA,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;AAClB,YAAA,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC;AAAE,gBAAA,OAAO,IAAI,sBAAsB,CAAC,IAAI,CAAC;YACnE,OAAO,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC;AACpC,SAAQ;;AAGT,IAAA,YAAY,GAAG,MAAM,CAAC;IAEtB,MAAM,qBAAsB,SAAQ,sBAAsB,CAAA;AAAG;;AAE7D,IAAA,UAAU,CAAC,qBAAqB,KAAK,qBAAqB;;AAE1D,IAAA,UAAU,CAAC,sBAAsB,KAAK,sBAAsB;AAE5D,IAAA,OAAO,MAAM;AACd;;MCjBa,UAAU,CAAA;AACtB,IAAA,OAAO,MAAM,CACZ,UAAa,EACb,EACC,gBAAgB,GAAG,EAAE,EACrB,iBAAiB,GAAG,EAAE,EACtB,mBAAmB,GAAG,EAAE,EACxB,sBAAsB,EACtB,SAAS,EACT,YAAY,EACZ,OAAO,EACP,QAAQ,EACR,kBAAkB,MAKqD,EAAE,EAAA;AAE1E,QAAA,MAAM,YAAY,GAAG,gBAAgB,CAAC,iBAAiB,CAAC;AAExD,QAAA,MAAM,OAAO,GAAG,OAAO,CAAC,sBAAsB,CAAC;AAC9C,YAAA,SAAS,EAAE;AACV,gBAAA;AACC,oBAAA,OAAO,EAAE,gBAAgB;oBACzB,UAAU,EAAE,CAAC,QAA0B,KAAK,IAAI,mBAAmB,CAAC,QAAQ,CAAC;oBAC7E,IAAI,EAAE,CAACA,oBAAmB,CAAC;AAC3B,iBAAA;AACD,gBAAA,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE;gBAChD,6BAA6B,CAAC,MAAK;AAClC,oBAAA,MAAM,aAAa,GAAG,CAAC,MAAK;AAC3B,wBAAA,MAAM,QAAQ,GAAG,qBAAqB,EAAE;AAExC,wBAAA,OAAO,MAAK;AACX,4BAAA,MAAM,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAC;4BAC3C,YAAY,CAAC,SAAS,CAAC;AACtB,gCAAA,GAAG,mBAAmB;AACtB,gCAAA,MAAM,EAAE,SAAS;AACjB,gCAAA,SAAS,EAAE,OAAO;AAClB,gCAAA,IAAI,EAAE;oCACL,KAAK,EAAE,iBAAiB,CAAC,KAAK,IAAI,YAAY,CAAC,KAAK,IAAI,IAAI;oCAC5D,MAAM,EAAE,iBAAiB,CAAC,MAAM,IAAI,YAAY,CAAC,MAAM,IAAI,GAAG;AAC9D,oCAAA,GAAG,EAAE,CAAC;AACN,oCAAA,IAAI,EAAE,CAAC;AACP,iCAAA;AACD,6BAAA,CAAC;AACH,yBAAC;qBACD,GAAG;oBACJ,OAAO,aAAa,EAAE;AACvB,iBAAC,CAAC;AACF,gBAAA,IAAI,SAAS,IAAI,EAAE,CAAC;AACpB,aAAA;YACD,OAAO,EAAE,CAAC,sBAAsB,CAAC;YACjC,sBAAsB,EAAE,sBAAsB,IAAI,KAAK;YACvD,YAAY;YACZ,OAAO;YACP,QAAQ;YACR,kBAAkB;AAClB,SAAA,CAAC,CAAC,eAAe,CAAC,aAAa,CAAC;QAEjC,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,YAAY,EAAE,UAAU,CAAC;QACvD,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,kBAAkB,EAAE,gBAAgB,CAAC;QACnE,OAAO,CAAC,aAAa,EAAE;QAEvB,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC;QAEvC,OAAO,CAAC,YAAY,EAAE;QAEtB,OAAO;YACN,KAAK;YACL,OAAO;AACP,YAAA,sBAAsB,EAAE,OAAO,CAAC,iBAAiB,CAAC,QAA2B;AAC7E,YAAA,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK;YAC3B,iBAAiB,EAAE,gBAAgB,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAE;AAC1D,YAAA,MAAM,EAAE,YAAY;AACpB,YAAA,OAAO,EAAE,OAAO,CAAC,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC;YAC1E,SAAS,EAAE,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,OAAO,CAAC;AAChD,YAAA,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;AAClC,YAAA,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;SAClC;;IAGF,OAAO,aAAa,CAAC,KAA4B,EAAA;AAChD,QAAA,SAAS,QAAQ,CAAC,IAAY,EAAE,IAAY,EAAE,QAAgC,EAAA;AAC7E,YAAA,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;;QAGhC,SAAS,OAAO,CAAC,IAAoB,EAAA;AACpC,YAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,EAAE,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;;AAG5F,QAAA,OAAO,MAAK;AACX,YAAA,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ;AAC5B,YAAA,OAAO,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC;AAC5B,SAAC;;IAGF,OAAO,aAAa,CAAC,KAA4B,EAAA;AAChD,QAAA,OAAO,OAAO,MAAc,EAAE,KAA2B,GAAA,CAAC,KAAI;AAC7D,YAAA,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ;AAC5B,YAAA,MAAM,WAAW,GAAG,KAAK,CAAC,QAAQ,CAAC,WAAW;YAE9C,MAAM,QAAQ,GAAoB,EAAE;AAEpC,YAAA,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE;AACrC,gBAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE;AAChC,oBAAA,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;wBACzB,QAAQ,CAAC,IAAI,CACZ,IAAI,OAAO,CAAC,CAAC,GAAG,KAAI;4BACnB,UAAU,CAAC,QAAQ,CAAC,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAC/D,4BAAA,GAAG,EAAE;yBACL,CAAC,CACF;;yBACK;wBACN,QAAQ,CAAC,IAAI,CACZ,IAAI,OAAO,CAAC,CAAC,GAAG,KAAI;4BACnB,UAAU,CAAC,QAAQ,CAAC,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,CAAC;AACxC,4BAAA,GAAG,EAAE;yBACL,CAAC,CACF;;;;AAKJ,YAAA,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;AAC5B,SAAC;;AAGF,IAAA,OAAO,gBAAgB,CAAC,KAA4B,EAAE,OAAwC,EAAA;QAC7F,IAAI,iBAAiB,GAAG,IAAI;QAE5B,eAAe,SAAS,CAAC,EAAmB,EAAE,SAAiC,EAAE,YAA0B,EAAE,EAAA;AAC5G,YAAA,MAAM,aAAa,GAAG,gBAAgB,CAAC,EAAE,CAAC;YAC1C,IAAI,CAAC,aAAa,EAAE;AACnB,gBAAA,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE,CAAA,mBAAA,CAAqB,CAAC;gBACnD;;YAGD,MAAM,OAAO,GAAG,aAAa,CAAC,QAAQ,CAAC,SAAS,CAAC;YACjD,IAAI,CAAC,OAAO,EAAE;gBACb,OAAO,CAAC,IAAI,CAAC,CAAA,WAAA,EAAc,EAAE,CAAW,QAAA,EAAA,SAAS,CAAU,QAAA,CAAA,CAAC;gBAC5D;;AAGD,YAAA,MAAM,YAAY,GAAG;AACpB,gBAAA,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,MAAM;AAC7B,gBAAA,eAAe,EAAE,MAAK,GAAG;AACzB,gBAAA,MAAM,EAAE,EAAE;AACV,gBAAA,aAAa,EAAE,EAAE;AACjB,gBAAA,WAAW,EAAE,SAAS;AACtB,gBAAA,WAAW,EAAE,SAAS;AACtB,gBAAA,MAAM,EAAE,EAAE;AACV,gBAAA,WAAW,EAAE,EAAE;AACf,gBAAA,GAAG,SAAS;aACZ;AAED,YAAA,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,YAAmB,CAAC;YAEjD,IAAI,iBAAiB,EAAE;gBACtB,OAAO,CAAC,aAAa,EAAE;;AAGxB,YAAA,OAAO,MAAM;;AAGd,QAAA,SAAS,CAAC,oBAAoB,GAAG,CAAC,IAAa,KAAI;YAClD,iBAAiB,GAAG,IAAI;AACzB,SAAC;AAED,QAAA,OAAO,SAAS;;AAEjB;;AC3MD;;AAEG;;;;"}
|