@tolokoban/tgd 2.0.17 → 2.0.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/dist/buffer/buffer.d.ts +5 -2
- package/lib/dist/buffer/buffer.d.ts.map +1 -1
- package/lib/dist/buffer/buffer.js +13 -13
- package/lib/dist/camera/camera-node.js +2 -3
- package/lib/dist/camera/camera-orthographic.js +9 -8
- package/lib/dist/camera/camera-perspective.js +9 -8
- package/lib/dist/camera/camera.js +43 -43
- package/lib/dist/canvas/gizmo/gizmo.js +68 -72
- package/lib/dist/canvas/gizmo/painter/tips.d.ts +0 -1
- package/lib/dist/canvas/gizmo/painter/tips.d.ts.map +1 -1
- package/lib/dist/canvas/gizmo/painter/tips.js +24 -22
- package/lib/dist/canvas/landscape/landscape.js +4 -11
- package/lib/dist/color/color.js +15 -15
- package/lib/dist/context/animation/animation-manager.js +7 -4
- package/lib/dist/context/context.d.ts +5 -18
- package/lib/dist/context/context.d.ts.map +1 -1
- package/lib/dist/context/context.js +43 -79
- package/lib/dist/controller/camera/orbit.d.ts +24 -2
- package/lib/dist/controller/camera/orbit.d.ts.map +1 -1
- package/lib/dist/controller/camera/orbit.js +147 -103
- package/lib/dist/dataset/dataset.d.ts +1 -1
- package/lib/dist/dataset/dataset.d.ts.map +1 -1
- package/lib/dist/dataset/dataset.js +13 -18
- package/lib/dist/debug/debug.js +6 -5
- package/lib/dist/event/event.js +4 -2
- package/lib/dist/filter/chromatic-aberration.js +10 -10
- package/lib/dist/filter/filter.d.ts +10 -8
- package/lib/dist/filter/filter.d.ts.map +1 -1
- package/lib/dist/filter/filter.js +22 -20
- package/lib/dist/filter/hue-rotation.d.ts +1 -1
- package/lib/dist/filter/hue-rotation.d.ts.map +1 -1
- package/lib/dist/filter/hue-rotation.js +5 -5
- package/lib/dist/filter/index.d.ts +2 -0
- package/lib/dist/filter/index.d.ts.map +1 -1
- package/lib/dist/filter/index.js +3 -1
- package/lib/dist/filter/verbatim.d.ts +8 -0
- package/lib/dist/filter/verbatim.d.ts.map +1 -0
- package/lib/dist/filter/verbatim.js +20 -0
- package/lib/dist/filter/zoom.d.ts +12 -0
- package/lib/dist/filter/zoom.d.ts.map +1 -0
- package/lib/dist/filter/zoom.js +25 -0
- package/lib/dist/geometry/geometry.js +9 -17
- package/lib/dist/geometry/index.d.ts +1 -0
- package/lib/dist/geometry/index.d.ts.map +1 -1
- package/lib/dist/geometry/index.js +2 -1
- package/lib/dist/geometry/place.d.ts +12 -0
- package/lib/dist/geometry/place.d.ts.map +1 -0
- package/lib/dist/geometry/place.js +145 -0
- package/lib/dist/geometry/plane.d.ts +12 -0
- package/lib/dist/geometry/plane.d.ts.map +1 -0
- package/lib/dist/geometry/plane.js +51 -0
- package/lib/dist/index.d.ts +4 -1
- package/lib/dist/index.d.ts.map +1 -1
- package/lib/dist/index.js +5 -2
- package/lib/dist/input/inputs.js +3 -4
- package/lib/dist/input/keyboard.js +14 -14
- package/lib/dist/input/pointer.js +80 -104
- package/lib/dist/light/light.js +5 -8
- package/lib/dist/loader/asset.d.ts +5 -3
- package/lib/dist/loader/asset.d.ts.map +1 -1
- package/lib/dist/loader/asset.js +37 -24
- package/lib/dist/loader/binary.js +29 -24
- package/lib/dist/loader/image.js +31 -24
- package/lib/dist/log.js +7 -4
- package/lib/dist/material/diffuse.d.ts +10 -4
- package/lib/dist/material/diffuse.d.ts.map +1 -1
- package/lib/dist/material/diffuse.js +26 -18
- package/lib/dist/material/ghost.d.ts +5 -4
- package/lib/dist/material/ghost.d.ts.map +1 -1
- package/lib/dist/material/ghost.js +1 -4
- package/lib/dist/material/hull.d.ts +25 -0
- package/lib/dist/material/hull.d.ts.map +1 -0
- package/lib/dist/material/hull.js +27 -0
- package/lib/dist/material/index.d.ts +1 -0
- package/lib/dist/material/index.d.ts.map +1 -1
- package/lib/dist/material/index.js +2 -1
- package/lib/dist/material/material.d.ts +14 -5
- package/lib/dist/material/material.d.ts.map +1 -1
- package/lib/dist/material/material.js +14 -12
- package/lib/dist/material/normals.d.ts +5 -4
- package/lib/dist/material/normals.d.ts.map +1 -1
- package/lib/dist/material/normals.js +1 -4
- package/lib/dist/material/solid.d.ts +6 -5
- package/lib/dist/material/solid.d.ts.map +1 -1
- package/lib/dist/material/solid.js +7 -10
- package/lib/dist/math/mat3.d.ts +6 -2
- package/lib/dist/math/mat3.d.ts.map +1 -1
- package/lib/dist/math/mat3.js +43 -4
- package/lib/dist/math/mat4.js +2 -2
- package/lib/dist/math/math.js +5 -5
- package/lib/dist/math/quat.d.ts +4 -1
- package/lib/dist/math/quat.d.ts.map +1 -1
- package/lib/dist/math/quat.js +25 -4
- package/lib/dist/math/transfo.js +12 -10
- package/lib/dist/math/vec4.d.ts +3 -3
- package/lib/dist/math/vec4.d.ts.map +1 -1
- package/lib/dist/math/vec4.js +20 -1
- package/lib/dist/painter/axis/axis.js +5 -7
- package/lib/dist/painter/background/background.d.ts +1 -1
- package/lib/dist/painter/background/background.d.ts.map +1 -1
- package/lib/dist/painter/background/background.js +14 -16
- package/lib/dist/painter/clear.d.ts +4 -3
- package/lib/dist/painter/clear.d.ts.map +1 -1
- package/lib/dist/painter/clear.js +16 -19
- package/lib/dist/painter/debug/index.d.ts +2 -0
- package/lib/dist/painter/debug/index.d.ts.map +1 -0
- package/lib/dist/painter/debug/index.js +2 -0
- package/lib/dist/painter/debug/stencil/index.d.ts +2 -0
- package/lib/dist/painter/debug/stencil/index.d.ts.map +1 -0
- package/lib/dist/painter/debug/stencil/index.js +2 -0
- package/lib/dist/painter/debug/stencil/stencil.d.ts +11 -0
- package/lib/dist/painter/debug/stencil/stencil.d.ts.map +1 -0
- package/lib/dist/painter/debug/stencil/stencil.frag +10 -0
- package/lib/dist/painter/debug/stencil/stencil.js +53 -0
- package/lib/dist/painter/debug/stencil/stencil.vert +7 -0
- package/lib/dist/painter/debug/stencil.d.ts +11 -0
- package/lib/dist/painter/debug/stencil.d.ts.map +1 -0
- package/lib/dist/painter/debug/stencil.js +41 -0
- package/lib/dist/painter/depth.d.ts +5 -3
- package/lib/dist/painter/depth.d.ts.map +1 -1
- package/lib/dist/painter/depth.js +4 -10
- package/lib/dist/painter/filter/filter.d.ts +1 -1
- package/lib/dist/painter/filter/filter.d.ts.map +1 -1
- package/lib/dist/painter/filter/filter.js +20 -33
- package/lib/dist/painter/framebuffer.backup.d.ts +39 -0
- package/lib/dist/painter/framebuffer.backup.d.ts.map +1 -0
- package/lib/dist/painter/framebuffer.backup.js +122 -0
- package/lib/dist/painter/framebuffer.d.ts +41 -9
- package/lib/dist/painter/framebuffer.d.ts.map +1 -1
- package/lib/dist/painter/framebuffer.js +105 -90
- package/lib/dist/painter/group.js +6 -8
- package/lib/dist/painter/index.d.ts +1 -1
- package/lib/dist/painter/index.d.ts.map +1 -1
- package/lib/dist/painter/index.js +2 -2
- package/lib/dist/painter/logic.js +3 -3
- package/lib/dist/painter/mesh/gltf/gltf.d.ts +1 -1
- package/lib/dist/painter/mesh/gltf/gltf.d.ts.map +1 -1
- package/lib/dist/painter/mesh/gltf/gltf.js +35 -58
- package/lib/dist/painter/mesh/hull/hull.d.ts +12 -0
- package/lib/dist/painter/mesh/hull/hull.d.ts.map +1 -0
- package/lib/dist/painter/mesh/hull/hull.js +11 -0
- package/lib/dist/painter/mesh/mesh/mesh.d.ts +1 -1
- package/lib/dist/painter/mesh/mesh/mesh.d.ts.map +1 -1
- package/lib/dist/painter/mesh/mesh/mesh.js +34 -41
- package/lib/dist/painter/mesh/normals/normals.js +17 -20
- package/lib/dist/painter/node/node.js +8 -8
- package/lib/dist/painter/painter.js +11 -9
- package/lib/dist/painter/segments/segments.d.ts +11 -3
- package/lib/dist/painter/segments/segments.d.ts.map +1 -1
- package/lib/dist/painter/segments/segments.js +27 -27
- package/lib/dist/painter/skybox/skybox.d.ts.map +1 -1
- package/lib/dist/painter/skybox/skybox.js +12 -13
- package/lib/dist/painter/state/state.d.ts +10 -1
- package/lib/dist/painter/state/state.d.ts.map +1 -1
- package/lib/dist/painter/state/state.js +23 -25
- package/lib/dist/parser/gltf/gltf.d.ts +5 -2
- package/lib/dist/parser/gltf/gltf.d.ts.map +1 -1
- package/lib/dist/parser/gltf/gltf.js +86 -55
- package/lib/dist/parser/mesh/wavefront.js +95 -92
- package/lib/dist/program/program.d.ts +6 -4
- package/lib/dist/program/program.d.ts.map +1 -1
- package/lib/dist/program/program.js +6 -11
- package/lib/dist/ref-map.js +9 -5
- package/lib/dist/resource/program.js +1 -2
- package/lib/dist/resource/resource.js +11 -7
- package/lib/dist/resource/texture2d.js +1 -2
- package/lib/dist/resource/textureCube.js +1 -2
- package/lib/dist/shader/code.d.ts +8 -8
- package/lib/dist/shader/code.d.ts.map +1 -1
- package/lib/dist/shader/code.js +1 -1
- package/lib/dist/shader/fragment.d.ts +11 -11
- package/lib/dist/shader/fragment.d.ts.map +1 -1
- package/lib/dist/shader/fragment.js +2 -14
- package/lib/dist/shader/vertex.d.ts +11 -11
- package/lib/dist/shader/vertex.d.ts.map +1 -1
- package/lib/dist/shader/vertex.js +2 -7
- package/lib/dist/table/index.d.ts +2 -0
- package/lib/dist/table/index.d.ts.map +1 -0
- package/lib/dist/table/index.js +2 -0
- package/lib/dist/table/table.d.ts +41 -0
- package/lib/dist/table/table.d.ts.map +1 -0
- package/lib/dist/table/table.js +101 -0
- package/lib/dist/texture/texture2d.d.ts +45 -21
- package/lib/dist/texture/texture2d.d.ts.map +1 -1
- package/lib/dist/texture/texture2d.js +162 -129
- package/lib/dist/texture/texture2dArray.d.ts +43 -0
- package/lib/dist/texture/texture2dArray.d.ts.map +1 -0
- package/lib/dist/texture/texture2dArray.js +112 -0
- package/lib/dist/texture/textureCube.d.ts +12 -5
- package/lib/dist/texture/textureCube.d.ts.map +1 -1
- package/lib/dist/texture/textureCube.js +7 -25
- package/lib/dist/types/gltf.js +3 -9
- package/lib/dist/types/index.d.ts +0 -2
- package/lib/dist/types/index.d.ts.map +1 -1
- package/lib/dist/types/index.js +1 -3
- package/lib/dist/types/program.d.ts +3 -40
- package/lib/dist/types/program.d.ts.map +1 -1
- package/lib/dist/types/texture2d.d.ts +18 -2
- package/lib/dist/types/texture2d.d.ts.map +1 -1
- package/lib/dist/types/textureCube.d.ts +6 -15
- package/lib/dist/types/textureCube.d.ts.map +1 -1
- package/lib/dist/types/webgl.d.ts +22 -1
- package/lib/dist/types/webgl.d.ts.map +1 -1
- package/lib/dist/types/webgl.js +14 -1
- package/lib/dist/uniform/uniform-buffer-object.d.ts +49 -0
- package/lib/dist/uniform/uniform-buffer-object.d.ts.map +1 -0
- package/lib/dist/uniform/uniform-buffer-object.js +93 -0
- package/lib/dist/utils/action/camera.js +8 -7
- package/lib/dist/utils/bbox.js +3 -3
- package/lib/dist/utils/canvas.d.ts +28 -0
- package/lib/dist/utils/canvas.d.ts.map +1 -1
- package/lib/dist/utils/canvas.js +55 -1
- package/lib/dist/utils/framebuffer.d.ts +2 -0
- package/lib/dist/utils/framebuffer.d.ts.map +1 -0
- package/lib/dist/utils/framebuffer.js +7 -0
- package/lib/dist/utils/fullscreen.js +38 -31
- package/lib/dist/utils/index.d.ts +2 -0
- package/lib/dist/utils/index.d.ts.map +1 -1
- package/lib/dist/utils/index.js +3 -1
- package/lib/dist/utils/pbo.d.ts +9 -0
- package/lib/dist/utils/pbo.d.ts.map +1 -0
- package/lib/dist/utils/pbo.js +32 -0
- package/lib/dist/utils/ref-map.js +9 -5
- package/lib/dist/utils/state/stencil.d.ts +55 -1
- package/lib/dist/utils/state/stencil.d.ts.map +1 -1
- package/lib/dist/utils/state/stencil.js +20 -38
- package/lib/dist/utils/webgl.d.ts +1 -1
- package/lib/dist/utils/webgl.d.ts.map +1 -1
- package/lib/dist/vao/vao.d.ts +2 -1
- package/lib/dist/vao/vao.d.ts.map +1 -1
- package/lib/dist/vao/vao.js +10 -14
- package/lib/dist/webgl/index.d.ts +2 -0
- package/lib/dist/webgl/index.d.ts.map +1 -0
- package/lib/dist/webgl/index.js +2 -0
- package/lib/dist/webgl/texture/index.d.ts +3 -0
- package/lib/dist/webgl/texture/index.d.ts.map +1 -0
- package/lib/dist/webgl/texture/index.js +3 -0
- package/lib/dist/webgl/texture/texture2d.d.ts +38 -0
- package/lib/dist/webgl/texture/texture2d.d.ts.map +1 -0
- package/lib/dist/webgl/texture/texture2d.js +35 -0
- package/lib/dist/webgl/texture/types.d.ts +4 -0
- package/lib/dist/webgl/texture/types.d.ts.map +1 -0
- package/lib/dist/webgl/texture/types.js +2 -0
- package/package.json +3 -3
|
@@ -4,16 +4,11 @@ import { tgdCodeStringify } from "./../shader/code.js";
|
|
|
4
4
|
* It will report meaninfull errors and help you with
|
|
5
5
|
* the uniforms.
|
|
6
6
|
*/
|
|
7
|
-
export class
|
|
8
|
-
gl
|
|
9
|
-
|
|
10
|
-
/** Access to the real WebGLProgram object. */
|
|
11
|
-
program;
|
|
12
|
-
shaders;
|
|
13
|
-
uniformsLocations;
|
|
14
|
-
constructor(gl, code) {
|
|
15
|
-
this.gl = gl;
|
|
7
|
+
export class TgdProgram {
|
|
8
|
+
constructor({ gl }, code) {
|
|
9
|
+
var _a;
|
|
16
10
|
this.code = code;
|
|
11
|
+
this.gl = gl;
|
|
17
12
|
const prg = gl.createProgram();
|
|
18
13
|
if (!prg)
|
|
19
14
|
throw Error("Unable to create WebGLProgram!");
|
|
@@ -25,7 +20,7 @@ export class TgdProgramImpl {
|
|
|
25
20
|
gl.attachShader(prg, fragShader);
|
|
26
21
|
gl.linkProgram(prg);
|
|
27
22
|
if (!gl.getProgramParameter(prg, gl.LINK_STATUS)) {
|
|
28
|
-
const info = gl.getProgramInfoLog(prg)
|
|
23
|
+
const info = (_a = gl.getProgramInfoLog(prg)) !== null && _a !== void 0 ? _a : "";
|
|
29
24
|
console.warn(info);
|
|
30
25
|
const errorLines = getErrorLines(info);
|
|
31
26
|
const cause = [
|
|
@@ -245,4 +240,4 @@ function logCode(title, code, errors = {
|
|
|
245
240
|
console.log(lines.join("\n"), ...styles);
|
|
246
241
|
return hasError ? output.join("\n") : "";
|
|
247
242
|
}
|
|
248
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3JhbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wcm9ncmFtL3Byb2dyYW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0JBQWtCLENBQUE7QUFHbkQ7Ozs7R0FJRztBQUNILE1BQU0sT0FBTyxjQUFjO0lBUUg7SUFDQztJQVJyQiw4Q0FBOEM7SUFDOUIsT0FBTyxDQUFjO0lBRXBCLE9BQU8sQ0FBZTtJQUN0QixpQkFBaUIsQ0FBMEM7SUFFNUUsWUFDb0IsRUFBMEIsRUFDekIsSUFBdUI7UUFEeEIsT0FBRSxHQUFGLEVBQUUsQ0FBd0I7UUFDekIsU0FBSSxHQUFKLElBQUksQ0FBbUI7UUFFeEMsTUFBTSxHQUFHLEdBQUcsRUFBRSxDQUFDLGFBQWEsRUFBRSxDQUFBO1FBQzlCLElBQUksQ0FBQyxHQUFHO1lBQUUsTUFBTSxLQUFLLENBQUMsZ0NBQWdDLENBQUMsQ0FBQTtRQUV2RCxNQUFNLElBQUksR0FBRyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDeEMsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDLENBQUE7UUFDM0QsRUFBRSxDQUFDLFlBQVksQ0FBQyxHQUFHLEVBQUUsVUFBVSxDQUFDLENBQUE7UUFDaEMsTUFBTSxJQUFJLEdBQUcsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQ3hDLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLENBQUE7UUFDN0QsRUFBRSxDQUFDLFlBQVksQ0FBQyxHQUFHLEVBQUUsVUFBVSxDQUFDLENBQUE7UUFDaEMsRUFBRSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQTtRQUNuQixJQUFJLENBQUMsRUFBRSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQztZQUMvQyxNQUFNLElBQUksR0FBRyxFQUFFLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFBO1lBQzVDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7WUFDbEIsTUFBTSxVQUFVLEdBQUcsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFBO1lBQ3RDLE1BQU0sS0FBSyxHQUFHO2dCQUNWLE9BQU8sQ0FBQyxlQUFlLEVBQUUsSUFBSSxFQUFFLFVBQVUsQ0FBQztnQkFDMUMsT0FBTyxDQUFDLGlCQUFpQixFQUFFLElBQUksRUFBRSxVQUFVLENBQUM7YUFDL0MsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7WUFDWixNQUFNLElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQzFCLENBQUM7UUFDRCxJQUFJLENBQUMsT0FBTyxHQUFHLEdBQUcsQ0FBQTtRQUNsQixJQUFJLENBQUMsT0FBTyxHQUFHLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxDQUFBO1FBQ3ZDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQTtRQUNwRCxFQUFFLENBQUMsWUFBWSxDQUFDLEdBQUcsRUFBRSxVQUFVLENBQUMsQ0FBQTtRQUNoQyxFQUFFLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxDQUFBO1FBQzNCLEVBQUUsQ0FBQyxZQUFZLENBQUMsR0FBRyxFQUFFLFVBQVUsQ0FBQyxDQUFBO1FBQ2hDLEVBQUUsQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLENBQUE7SUFDL0IsQ0FBQztJQUVELE1BQU0sQ0FBQyxFQUFFLE1BQU0sR0FBRyxFQUFFLEtBQWtDLEVBQUU7UUFDcEQsTUFBTSxLQUFLLEdBQWE7WUFDcEIsc0RBQXNEO1lBQ3RELGtDQUFrQztZQUNsQywwREFBMEQ7WUFDMUQscUNBQXFDLGdCQUFnQixDQUNqRCxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FDakIsS0FBSztZQUNOLGtDQUFrQztZQUNsQyw4REFBOEQ7WUFDOUQsdUNBQXVDLGdCQUFnQixDQUNuRCxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FDakIsS0FBSztZQUNOLG9DQUFvQztZQUNwQyxzQ0FBc0M7WUFDdEMsd0NBQXdDO1lBQ3hDLHVCQUF1QjtZQUN2QixjQUFjO1lBQ2QsR0FBRztTQUNOLENBQUE7UUFDRCxPQUFPLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxHQUFHLE1BQU0sR0FBRyxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUMzRCxDQUFDO0lBRUQsWUFBWSxDQUFDLElBQVk7UUFDckIsTUFBTSxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUE7UUFDNUIsTUFBTSxHQUFHLEdBQUcsRUFBRSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQTtRQUMvQyxPQUFPLEdBQUcsSUFBSSxDQUFDLENBQUE7SUFDbkIsQ0FBQztJQUVELGlCQUFpQixDQUFDLElBQVk7UUFDMUIsTUFBTSxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUE7UUFDNUIsTUFBTSxHQUFHLEdBQUcsRUFBRSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQTtRQUMvQyxJQUFJLEdBQUcsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNWLE1BQU0sS0FBSyxDQUFDLGNBQWMsSUFBSSxjQUFjLENBQUMsQ0FBQTtRQUNqRCxDQUFDO1FBQ0QsT0FBTyxHQUFHLENBQUE7SUFDZCxDQUFDO0lBRUQsa0JBQWtCLENBQUMsSUFBWTtRQUMzQixNQUFNLEVBQUUsaUJBQWlCLEVBQUUsR0FBRyxJQUFJLENBQUE7UUFDbEMsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFBO1FBQzVDLElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNwQixPQUFPLENBQUMsSUFBSSxDQUNSLFlBQVksSUFBSSxtRUFBbUUsQ0FDdEYsQ0FBQTtZQUNELE9BQU8sQ0FBQyxDQUFBO1FBQ1osQ0FBQztRQUNELE1BQU0sUUFBUSxHQUFHLGlCQUFpQixDQUFDLElBQUksQ0FBQyxDQUFBO1FBQ3hDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNaLE9BQU8sQ0FBQyxJQUFJLENBQ1Isc0NBQXNDLElBQUksNEJBQTRCLEtBQUssQ0FBQyxJQUFJLENBQzVFLElBQUksQ0FDUCxHQUFHLENBQ1AsQ0FBQTtRQUNMLENBQUM7UUFDRCxPQUFPLFFBQVEsQ0FBQTtJQUNuQixDQUFDO0lBRUQsU0FBUyxDQUFDLElBQVksRUFBRSxLQUFhO1FBQ2pDLE1BQU0sRUFBRSxFQUFFLEVBQUUsR0FBRyxJQUFJLENBQUE7UUFDbkIsRUFBRSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUE7SUFDdEQsQ0FBQztJQUVELFNBQVMsQ0FBQyxJQUFZLEVBQUUsQ0FBUyxFQUFFLENBQVM7UUFDeEMsTUFBTSxFQUFFLEVBQUUsRUFBRSxHQUFHLElBQUksQ0FBQTtRQUNuQixFQUFFLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUE7SUFDckQsQ0FBQztJQUVELFNBQVMsQ0FBQyxJQUFZLEVBQUUsQ0FBUyxFQUFFLENBQVMsRUFBRSxDQUFTO1FBQ25ELE1BQU0sRUFBRSxFQUFFLEVBQUUsR0FBRyxJQUFJLENBQUE7UUFDbkIsRUFBRSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQTtJQUN4RCxDQUFDO0lBRUQsVUFBVSxDQUFDLElBQVksRUFBRSxJQUFhO1FBQ2xDLE1BQU0sRUFBRSxFQUFFLEVBQUUsR0FBRyxJQUFJLENBQUE7UUFDbkIsRUFBRSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUE7SUFDdEQsQ0FBQztJQUVELFNBQVMsQ0FBQyxJQUFZLEVBQUUsQ0FBUyxFQUFFLENBQVMsRUFBRSxDQUFTLEVBQUUsQ0FBUztRQUM5RCxNQUFNLEVBQUUsRUFBRSxFQUFFLEdBQUcsSUFBSSxDQUFBO1FBQ25CLEVBQUUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFBO0lBQzNELENBQUM7SUFFRCxVQUFVLENBQUMsSUFBWSxFQUFFLElBQWE7UUFDbEMsTUFBTSxFQUFFLEVBQUUsRUFBRSxHQUFHLElBQUksQ0FBQTtRQUNuQixFQUFFLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQTtJQUN0RCxDQUFDO0lBRUQsU0FBUyxDQUFDLElBQVksRUFBRSxLQUFhO1FBQ2pDLE1BQU0sRUFBRSxFQUFFLEVBQUUsR0FBRyxJQUFJLENBQUE7UUFDbkIsRUFBRSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUE7SUFDdEQsQ0FBQztJQUVELFNBQVMsQ0FBQyxJQUFZLEVBQUUsQ0FBUyxFQUFFLENBQVM7UUFDeEMsTUFBTSxFQUFFLEVBQUUsRUFBRSxHQUFHLElBQUksQ0FBQTtRQUNuQixFQUFFLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUE7SUFDckQsQ0FBQztJQUVELFNBQVMsQ0FBQyxJQUFZLEVBQUUsQ0FBUyxFQUFFLENBQVMsRUFBRSxDQUFTO1FBQ25ELE1BQU0sRUFBRSxFQUFFLEVBQUUsR0FBRyxJQUFJLENBQUE7UUFDbkIsRUFBRSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQTtJQUN4RCxDQUFDO0lBRUQsU0FBUyxDQUFDLElBQVksRUFBRSxDQUFTLEVBQUUsQ0FBUyxFQUFFLENBQVMsRUFBRSxDQUFTO1FBQzlELE1BQU0sRUFBRSxFQUFFLEVBQUUsR0FBRyxJQUFJLENBQUE7UUFDbkIsRUFBRSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUE7SUFDM0QsQ0FBQztJQUVELFVBQVUsQ0FBQyxJQUFZLEVBQUUsS0FBYTtRQUNsQyxNQUFNLEVBQUUsRUFBRSxFQUFFLEdBQUcsSUFBSSxDQUFBO1FBQ25CLEVBQUUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFBO0lBQ3ZELENBQUM7SUFFRCxVQUFVLENBQUMsSUFBWSxFQUFFLENBQVMsRUFBRSxDQUFTO1FBQ3pDLE1BQU0sRUFBRSxFQUFFLEVBQUUsR0FBRyxJQUFJLENBQUE7UUFDbkIsRUFBRSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFBO0lBQ3RELENBQUM7SUFFRCxVQUFVLENBQUMsSUFBWSxFQUFFLENBQVMsRUFBRSxDQUFTLEVBQUUsQ0FBUztRQUNwRCxNQUFNLEVBQUUsRUFBRSxFQUFFLEdBQUcsSUFBSSxDQUFBO1FBQ25CLEVBQUUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUE7SUFDekQsQ0FBQztJQUVELFVBQVUsQ0FBQyxJQUFZLEVBQUUsQ0FBUyxFQUFFLENBQVMsRUFBRSxDQUFTLEVBQUUsQ0FBUztRQUMvRCxNQUFNLEVBQUUsRUFBRSxFQUFFLEdBQUcsSUFBSSxDQUFBO1FBQ25CLEVBQUUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFBO0lBQzVELENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxJQUFZLEVBQUUsSUFBYTtRQUN4QyxNQUFNLEVBQUUsRUFBRSxFQUFFLEdBQUcsSUFBSSxDQUFBO1FBQ25CLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFBO0lBQ25FLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxJQUFZLEVBQUUsSUFBYTtRQUN4QyxNQUFNLEVBQUUsRUFBRSxFQUFFLEdBQUcsSUFBSSxDQUFBO1FBQ25CLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFBO0lBQ25FLENBQUM7SUFFRDs7O09BR0c7SUFDSCxHQUFHO1FBQ0MsTUFBTSxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUE7UUFDNUIsRUFBRSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQTtJQUMxQixDQUFDO0lBRUQsTUFBTTtRQUNGLE1BQU0sRUFBRSxFQUFFLEVBQUUsR0FBRyxJQUFJLENBQUE7UUFDbkIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUE7UUFDdkQsRUFBRSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUE7SUFDbEMsQ0FBQztJQUVELEtBQUssQ0FBQyxPQUFPLEdBQUcsWUFBWTtRQUN4QixPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFBO1FBQ3BCLE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxJQUFJLENBQUE7UUFDckIsT0FBTyxDQUFDLGVBQWUsRUFBRSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQTtRQUNyRCxPQUFPLENBQUMsaUJBQWlCLEVBQUUsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUE7SUFDM0QsQ0FBQztJQUVPLFlBQVksQ0FBQyxJQUFnQixFQUFFLElBQVk7UUFDL0MsTUFBTSxFQUFFLEVBQUUsRUFBRSxHQUFHLElBQUksQ0FBQTtRQUNuQixNQUFNLE1BQU0sR0FBRyxFQUFFLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFBO1FBQ3hDLElBQUksQ0FBQyxNQUFNO1lBQ1AsTUFBTSxLQUFLLENBQUMsMkNBQTJDLElBQUksSUFBSSxDQUFDLENBQUE7UUFFcEUsRUFBRSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUE7UUFDN0IsRUFBRSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUN4QixNQUFNLElBQUksR0FBRyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUE7UUFDeEMsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNQLE9BQU8sQ0FBQyxLQUFLLENBQUMsWUFBWSxJQUFJLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQTtZQUM3QyxNQUFNLFVBQVUsR0FBRyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUE7WUFDdEMsTUFBTSxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQTtRQUNoRCxDQUFDO1FBQ0QsT0FBTyxNQUFNLENBQUE7SUFDakIsQ0FBQztJQUVPLG9CQUFvQjtRQUN4QixNQUFNLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQTtRQUM1QixNQUFNLEtBQUssR0FBWSxFQUFFLENBQUMsbUJBQW1CLENBQ3pDLE9BQU8sRUFDUCxFQUFFLENBQUMsZUFBZSxDQUNyQixDQUFBO1FBQ0QsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRO1lBQ3pCLE1BQU0sS0FBSyxDQUNQLHlEQUF5RCxDQUM1RCxDQUFBO1FBRUwsTUFBTSxRQUFRLEdBQTZDLEVBQUUsQ0FBQTtRQUM3RCxLQUFLLElBQUksS0FBSyxHQUFHLENBQUMsRUFBRSxLQUFLLEdBQUcsS0FBSyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUM7WUFDekMsTUFBTSxPQUFPLEdBQUcsRUFBRSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQTtZQUNuRCxJQUFJLENBQUMsT0FBTztnQkFBRSxTQUFRO1lBRXRCLE1BQU0sUUFBUSxHQUFHLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFBO1lBQzdELElBQUksUUFBUSxLQUFLLElBQUk7Z0JBQ2pCLE1BQU0sS0FBSyxDQUNQLHVDQUF1QyxPQUFPLENBQUMsSUFBSSxJQUFJLENBQzFELENBQUE7WUFFTCxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLFFBQVEsQ0FBQTtRQUNyQyxDQUFDO1FBQ0QsT0FBTyxRQUFRLENBQUE7SUFDbkIsQ0FBQztDQUNKO0FBSUQsTUFBTSxhQUFhLEdBQUcsa0NBQWtDLENBQUE7QUFFeEQsU0FBUyxhQUFhLENBQUMsT0FBZTtJQUlsQyxNQUFNLEtBQUssR0FBYSxFQUFFLENBQUE7SUFDMUIsTUFBTSxRQUFRLEdBQWEsRUFBRSxDQUFBO0lBQzdCLEtBQUssTUFBTSxJQUFJLElBQUksT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1FBQ3JDLGFBQWEsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDLENBQUE7UUFDNUIsTUFBTSxLQUFLLEdBQUcsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUN0QyxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ1IsS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUE7WUFDbEMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFBO1FBQ3pELENBQUM7SUFDTCxDQUFDO0lBQ0QsT0FBTyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsQ0FBQTtBQUM5QixDQUFDO0FBRUQsU0FBUyxLQUFLLENBQUMsVUFBa0IsRUFBRSxJQUFJLEdBQUcsS0FBSztJQUMzQyxPQUFPLHlCQUF5QixVQUFVLG9EQUN0QyxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FDdEIsbUJBQW1CLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQTtBQUMvQyxDQUFDO0FBRUQsU0FBUyxPQUFPLENBQ1osS0FBYSxFQUNiLElBQVksRUFDWixTQUFrRDtJQUM5QyxLQUFLLEVBQUUsRUFBRTtJQUNULFFBQVEsRUFBRSxFQUFFO0NBQ2Y7SUFFRCxNQUFNLE1BQU0sR0FBYSxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQ2hDLE1BQU0sS0FBSyxHQUFhLENBQUMsS0FBSyxLQUFLLEVBQUUsQ0FBQyxDQUFBO0lBQ3RDLE1BQU0sTUFBTSxHQUFhLENBQUMsbUNBQW1DLENBQUMsQ0FBQTtJQUM5RCxJQUFJLFFBQVEsR0FBRyxLQUFLLENBQUE7SUFDcEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUU7UUFDckMsTUFBTSxHQUFHLEdBQUcsS0FBSyxHQUFHLENBQUMsQ0FBQTtRQUNyQixNQUFNLE1BQU0sR0FBRyxHQUFHLEdBQUcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUE7UUFDeEMsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFBO1FBQy9ELEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxNQUFNLE9BQU8sSUFBSSxFQUFFLENBQUMsQ0FBQTtRQUNwQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsTUFBTSxLQUFLLElBQUksRUFBRSxDQUFDLENBQUE7UUFDakMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxFQUFFLEtBQUssQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQTtRQUM5RCxJQUFJLE1BQU0sQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDN0IsUUFBUSxHQUFHLElBQUksQ0FBQTtZQUNmLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFBO1lBQzdELE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFBO1lBQ2xFLE1BQU0sQ0FBQyxJQUFJLENBQUMsNkNBQTZDLENBQUMsQ0FBQTtZQUMxRCxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUE7UUFDbkIsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFBO0lBQ0YsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsTUFBTSxDQUFDLENBQUE7SUFDeEMsT0FBTyxRQUFRLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQTtBQUM1QyxDQUFDIn0=
|
|
243
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3JhbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wcm9ncmFtL3Byb2dyYW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0JBQWtCLENBQUE7QUFHbkQ7Ozs7R0FJRztBQUNILE1BQU0sT0FBTyxVQUFVO0lBUW5CLFlBQ0ksRUFBRSxFQUFFLEVBQWtDLEVBQ3JCLElBQXVCOztRQUF2QixTQUFJLEdBQUosSUFBSSxDQUFtQjtRQUV4QyxJQUFJLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQTtRQUNaLE1BQU0sR0FBRyxHQUFHLEVBQUUsQ0FBQyxhQUFhLEVBQUUsQ0FBQTtRQUM5QixJQUFJLENBQUMsR0FBRztZQUFFLE1BQU0sS0FBSyxDQUFDLGdDQUFnQyxDQUFDLENBQUE7UUFFdkQsTUFBTSxJQUFJLEdBQUcsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQ3hDLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsZUFBZSxFQUFFLElBQUksQ0FBQyxDQUFBO1FBQzNELEVBQUUsQ0FBQyxZQUFZLENBQUMsR0FBRyxFQUFFLFVBQVUsQ0FBQyxDQUFBO1FBQ2hDLE1BQU0sSUFBSSxHQUFHLGdCQUFnQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUN4QyxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLGlCQUFpQixFQUFFLElBQUksQ0FBQyxDQUFBO1FBQzdELEVBQUUsQ0FBQyxZQUFZLENBQUMsR0FBRyxFQUFFLFVBQVUsQ0FBQyxDQUFBO1FBQ2hDLEVBQUUsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUE7UUFDbkIsSUFBSSxDQUFDLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUM7WUFDL0MsTUFBTSxJQUFJLEdBQUcsTUFBQSxFQUFFLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLG1DQUFJLEVBQUUsQ0FBQTtZQUM1QyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO1lBQ2xCLE1BQU0sVUFBVSxHQUFHLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQTtZQUN0QyxNQUFNLEtBQUssR0FBRztnQkFDVixPQUFPLENBQUMsZUFBZSxFQUFFLElBQUksRUFBRSxVQUFVLENBQUM7Z0JBQzFDLE9BQU8sQ0FBQyxpQkFBaUIsRUFBRSxJQUFJLEVBQUUsVUFBVSxDQUFDO2FBQy9DLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO1lBQ1osTUFBTSxJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUMxQixDQUFDO1FBQ0QsSUFBSSxDQUFDLE9BQU8sR0FBRyxHQUFHLENBQUE7UUFDbEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUMsQ0FBQTtRQUN2QyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUE7UUFDcEQsRUFBRSxDQUFDLFlBQVksQ0FBQyxHQUFHLEVBQUUsVUFBVSxDQUFDLENBQUE7UUFDaEMsRUFBRSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsQ0FBQTtRQUMzQixFQUFFLENBQUMsWUFBWSxDQUFDLEdBQUcsRUFBRSxVQUFVLENBQUMsQ0FBQTtRQUNoQyxFQUFFLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxDQUFBO0lBQy9CLENBQUM7SUFFRCxNQUFNLENBQUMsRUFBRSxNQUFNLEdBQUcsRUFBRSxLQUFrQyxFQUFFO1FBQ3BELE1BQU0sS0FBSyxHQUFhO1lBQ3BCLHNEQUFzRDtZQUN0RCxrQ0FBa0M7WUFDbEMsMERBQTBEO1lBQzFELHFDQUFxQyxnQkFBZ0IsQ0FDakQsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQ2pCLEtBQUs7WUFDTixrQ0FBa0M7WUFDbEMsOERBQThEO1lBQzlELHVDQUF1QyxnQkFBZ0IsQ0FDbkQsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQ2pCLEtBQUs7WUFDTixvQ0FBb0M7WUFDcEMsc0NBQXNDO1lBQ3RDLHdDQUF3QztZQUN4Qyx1QkFBdUI7WUFDdkIsY0FBYztZQUNkLEdBQUc7U0FDTixDQUFBO1FBQ0QsT0FBTyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBRyxNQUFNLEdBQUcsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDM0QsQ0FBQztJQUVELFlBQVksQ0FBQyxJQUFZO1FBQ3JCLE1BQU0sRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFBO1FBQzVCLE1BQU0sR0FBRyxHQUFHLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUE7UUFDL0MsT0FBTyxHQUFHLElBQUksQ0FBQyxDQUFBO0lBQ25CLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxJQUFZO1FBQzFCLE1BQU0sRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFBO1FBQzVCLE1BQU0sR0FBRyxHQUFHLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUE7UUFDL0MsSUFBSSxHQUFHLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDVixNQUFNLEtBQUssQ0FBQyxjQUFjLElBQUksY0FBYyxDQUFDLENBQUE7UUFDakQsQ0FBQztRQUNELE9BQU8sR0FBRyxDQUFBO0lBQ2QsQ0FBQztJQUVELGtCQUFrQixDQUFDLElBQVk7UUFDM0IsTUFBTSxFQUFFLGlCQUFpQixFQUFFLEdBQUcsSUFBSSxDQUFBO1FBQ2xDLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQTtRQUM1QyxJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDcEIsT0FBTyxDQUFDLElBQUksQ0FDUixZQUFZLElBQUksbUVBQW1FLENBQ3RGLENBQUE7WUFDRCxPQUFPLENBQUMsQ0FBQTtRQUNaLENBQUM7UUFDRCxNQUFNLFFBQVEsR0FBRyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUN4QyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDWixPQUFPLENBQUMsSUFBSSxDQUNSLHNDQUFzQyxJQUFJLDRCQUE0QixLQUFLLENBQUMsSUFBSSxDQUM1RSxJQUFJLENBQ1AsR0FBRyxDQUNQLENBQUE7UUFDTCxDQUFDO1FBQ0QsT0FBTyxRQUFRLENBQUE7SUFDbkIsQ0FBQztJQUVELFNBQVMsQ0FBQyxJQUFZLEVBQUUsS0FBYTtRQUNqQyxNQUFNLEVBQUUsRUFBRSxFQUFFLEdBQUcsSUFBSSxDQUFBO1FBQ25CLEVBQUUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFBO0lBQ3RELENBQUM7SUFFRCxTQUFTLENBQUMsSUFBWSxFQUFFLENBQVMsRUFBRSxDQUFTO1FBQ3hDLE1BQU0sRUFBRSxFQUFFLEVBQUUsR0FBRyxJQUFJLENBQUE7UUFDbkIsRUFBRSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFBO0lBQ3JELENBQUM7SUFFRCxTQUFTLENBQUMsSUFBWSxFQUFFLENBQVMsRUFBRSxDQUFTLEVBQUUsQ0FBUztRQUNuRCxNQUFNLEVBQUUsRUFBRSxFQUFFLEdBQUcsSUFBSSxDQUFBO1FBQ25CLEVBQUUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUE7SUFDeEQsQ0FBQztJQUVELFVBQVUsQ0FBQyxJQUFZLEVBQUUsSUFBYTtRQUNsQyxNQUFNLEVBQUUsRUFBRSxFQUFFLEdBQUcsSUFBSSxDQUFBO1FBQ25CLEVBQUUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFBO0lBQ3RELENBQUM7SUFFRCxTQUFTLENBQUMsSUFBWSxFQUFFLENBQVMsRUFBRSxDQUFTLEVBQUUsQ0FBUyxFQUFFLENBQVM7UUFDOUQsTUFBTSxFQUFFLEVBQUUsRUFBRSxHQUFHLElBQUksQ0FBQTtRQUNuQixFQUFFLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQTtJQUMzRCxDQUFDO0lBRUQsVUFBVSxDQUFDLElBQVksRUFBRSxJQUFhO1FBQ2xDLE1BQU0sRUFBRSxFQUFFLEVBQUUsR0FBRyxJQUFJLENBQUE7UUFDbkIsRUFBRSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUE7SUFDdEQsQ0FBQztJQUVELFNBQVMsQ0FBQyxJQUFZLEVBQUUsS0FBYTtRQUNqQyxNQUFNLEVBQUUsRUFBRSxFQUFFLEdBQUcsSUFBSSxDQUFBO1FBQ25CLEVBQUUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFBO0lBQ3RELENBQUM7SUFFRCxTQUFTLENBQUMsSUFBWSxFQUFFLENBQVMsRUFBRSxDQUFTO1FBQ3hDLE1BQU0sRUFBRSxFQUFFLEVBQUUsR0FBRyxJQUFJLENBQUE7UUFDbkIsRUFBRSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFBO0lBQ3JELENBQUM7SUFFRCxTQUFTLENBQUMsSUFBWSxFQUFFLENBQVMsRUFBRSxDQUFTLEVBQUUsQ0FBUztRQUNuRCxNQUFNLEVBQUUsRUFBRSxFQUFFLEdBQUcsSUFBSSxDQUFBO1FBQ25CLEVBQUUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUE7SUFDeEQsQ0FBQztJQUVELFNBQVMsQ0FBQyxJQUFZLEVBQUUsQ0FBUyxFQUFFLENBQVMsRUFBRSxDQUFTLEVBQUUsQ0FBUztRQUM5RCxNQUFNLEVBQUUsRUFBRSxFQUFFLEdBQUcsSUFBSSxDQUFBO1FBQ25CLEVBQUUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFBO0lBQzNELENBQUM7SUFFRCxVQUFVLENBQUMsSUFBWSxFQUFFLEtBQWE7UUFDbEMsTUFBTSxFQUFFLEVBQUUsRUFBRSxHQUFHLElBQUksQ0FBQTtRQUNuQixFQUFFLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQTtJQUN2RCxDQUFDO0lBRUQsVUFBVSxDQUFDLElBQVksRUFBRSxDQUFTLEVBQUUsQ0FBUztRQUN6QyxNQUFNLEVBQUUsRUFBRSxFQUFFLEdBQUcsSUFBSSxDQUFBO1FBQ25CLEVBQUUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQTtJQUN0RCxDQUFDO0lBRUQsVUFBVSxDQUFDLElBQVksRUFBRSxDQUFTLEVBQUUsQ0FBUyxFQUFFLENBQVM7UUFDcEQsTUFBTSxFQUFFLEVBQUUsRUFBRSxHQUFHLElBQUksQ0FBQTtRQUNuQixFQUFFLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFBO0lBQ3pELENBQUM7SUFFRCxVQUFVLENBQUMsSUFBWSxFQUFFLENBQVMsRUFBRSxDQUFTLEVBQUUsQ0FBUyxFQUFFLENBQVM7UUFDL0QsTUFBTSxFQUFFLEVBQUUsRUFBRSxHQUFHLElBQUksQ0FBQTtRQUNuQixFQUFFLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQTtJQUM1RCxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsSUFBWSxFQUFFLElBQWE7UUFDeEMsTUFBTSxFQUFFLEVBQUUsRUFBRSxHQUFHLElBQUksQ0FBQTtRQUNuQixFQUFFLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQTtJQUNuRSxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsSUFBWSxFQUFFLElBQWE7UUFDeEMsTUFBTSxFQUFFLEVBQUUsRUFBRSxHQUFHLElBQUksQ0FBQTtRQUNuQixFQUFFLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQTtJQUNuRSxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsR0FBRztRQUNDLE1BQU0sRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFBO1FBQzVCLEVBQUUsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUE7SUFDMUIsQ0FBQztJQUVELE1BQU07UUFDRixNQUFNLEVBQUUsRUFBRSxFQUFFLEdBQUcsSUFBSSxDQUFBO1FBQ25CLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFBO1FBQ3ZELEVBQUUsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFBO0lBQ2xDLENBQUM7SUFFRCxLQUFLLENBQUMsT0FBTyxHQUFHLFlBQVk7UUFDeEIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQTtRQUNwQixNQUFNLEVBQUUsSUFBSSxFQUFFLEdBQUcsSUFBSSxDQUFBO1FBQ3JCLE9BQU8sQ0FBQyxlQUFlLEVBQUUsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUE7UUFDckQsT0FBTyxDQUFDLGlCQUFpQixFQUFFLGdCQUFnQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFBO0lBQzNELENBQUM7SUFFTyxZQUFZLENBQUMsSUFBZ0IsRUFBRSxJQUFZO1FBQy9DLE1BQU0sRUFBRSxFQUFFLEVBQUUsR0FBRyxJQUFJLENBQUE7UUFDbkIsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQTtRQUN4QyxJQUFJLENBQUMsTUFBTTtZQUNQLE1BQU0sS0FBSyxDQUFDLDJDQUEyQyxJQUFJLElBQUksQ0FBQyxDQUFBO1FBRXBFLEVBQUUsQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFBO1FBQzdCLEVBQUUsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUE7UUFDeEIsTUFBTSxJQUFJLEdBQUcsRUFBRSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFBO1FBQ3hDLElBQUksSUFBSSxFQUFFLENBQUM7WUFDUCxPQUFPLENBQUMsS0FBSyxDQUFDLFlBQVksSUFBSSxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUE7WUFDN0MsTUFBTSxVQUFVLEdBQUcsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFBO1lBQ3RDLE1BQU0sS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUE7UUFDaEQsQ0FBQztRQUNELE9BQU8sTUFBTSxDQUFBO0lBQ2pCLENBQUM7SUFFTyxvQkFBb0I7UUFDeEIsTUFBTSxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUE7UUFDNUIsTUFBTSxLQUFLLEdBQVksRUFBRSxDQUFDLG1CQUFtQixDQUN6QyxPQUFPLEVBQ1AsRUFBRSxDQUFDLGVBQWUsQ0FDckIsQ0FBQTtRQUNELElBQUksT0FBTyxLQUFLLEtBQUssUUFBUTtZQUN6QixNQUFNLEtBQUssQ0FDUCx5REFBeUQsQ0FDNUQsQ0FBQTtRQUVMLE1BQU0sUUFBUSxHQUE2QyxFQUFFLENBQUE7UUFDN0QsS0FBSyxJQUFJLEtBQUssR0FBRyxDQUFDLEVBQUUsS0FBSyxHQUFHLEtBQUssRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDO1lBQ3pDLE1BQU0sT0FBTyxHQUFHLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUE7WUFDbkQsSUFBSSxDQUFDLE9BQU87Z0JBQUUsU0FBUTtZQUV0QixNQUFNLFFBQVEsR0FBRyxFQUFFLENBQUMsa0JBQWtCLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQTtZQUM3RCxJQUFJLFFBQVEsS0FBSyxJQUFJO2dCQUNqQixNQUFNLEtBQUssQ0FDUCx1Q0FBdUMsT0FBTyxDQUFDLElBQUksSUFBSSxDQUMxRCxDQUFBO1lBRUwsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxRQUFRLENBQUE7UUFDckMsQ0FBQztRQUNELE9BQU8sUUFBUSxDQUFBO0lBQ25CLENBQUM7Q0FDSjtBQUlELE1BQU0sYUFBYSxHQUFHLGtDQUFrQyxDQUFBO0FBRXhELFNBQVMsYUFBYSxDQUFDLE9BQWU7SUFJbEMsTUFBTSxLQUFLLEdBQWEsRUFBRSxDQUFBO0lBQzFCLE1BQU0sUUFBUSxHQUFhLEVBQUUsQ0FBQTtJQUM3QixLQUFLLE1BQU0sSUFBSSxJQUFJLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUNyQyxhQUFhLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQyxDQUFBO1FBQzVCLE1BQU0sS0FBSyxHQUFHLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDdEMsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNSLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFBO1lBQ2xDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQTtRQUN6RCxDQUFDO0lBQ0wsQ0FBQztJQUNELE9BQU8sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLENBQUE7QUFDOUIsQ0FBQztBQUVELFNBQVMsS0FBSyxDQUFDLFVBQWtCLEVBQUUsSUFBSSxHQUFHLEtBQUs7SUFDM0MsT0FBTyx5QkFBeUIsVUFBVSxvREFDdEMsSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQ3RCLG1CQUFtQixJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUE7QUFDL0MsQ0FBQztBQUVELFNBQVMsT0FBTyxDQUNaLEtBQWEsRUFDYixJQUFZLEVBQ1osU0FBa0Q7SUFDOUMsS0FBSyxFQUFFLEVBQUU7SUFDVCxRQUFRLEVBQUUsRUFBRTtDQUNmO0lBRUQsTUFBTSxNQUFNLEdBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUNoQyxNQUFNLEtBQUssR0FBYSxDQUFDLEtBQUssS0FBSyxFQUFFLENBQUMsQ0FBQTtJQUN0QyxNQUFNLE1BQU0sR0FBYSxDQUFDLG1DQUFtQyxDQUFDLENBQUE7SUFDOUQsSUFBSSxRQUFRLEdBQUcsS0FBSyxDQUFBO0lBQ3BCLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFO1FBQ3JDLE1BQU0sR0FBRyxHQUFHLEtBQUssR0FBRyxDQUFDLENBQUE7UUFDckIsTUFBTSxNQUFNLEdBQUcsR0FBRyxHQUFHLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFBO1FBQ3hDLE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQTtRQUMvRCxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssTUFBTSxPQUFPLElBQUksRUFBRSxDQUFDLENBQUE7UUFDcEMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLE1BQU0sS0FBSyxJQUFJLEVBQUUsQ0FBQyxDQUFBO1FBQ2pDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsRUFBRSxLQUFLLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUE7UUFDOUQsSUFBSSxNQUFNLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQzdCLFFBQVEsR0FBRyxJQUFJLENBQUE7WUFDZixLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQTtZQUM3RCxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQTtZQUNsRSxNQUFNLENBQUMsSUFBSSxDQUFDLDZDQUE2QyxDQUFDLENBQUE7WUFDMUQsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFBO1FBQ25CLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQTtJQUNGLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLE1BQU0sQ0FBQyxDQUFBO0lBQ3hDLE9BQU8sUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUE7QUFDNUMsQ0FBQyJ9
|
package/lib/dist/ref-map.js
CHANGED
|
@@ -3,17 +3,20 @@
|
|
|
3
3
|
* And it tells you when you delete it as many times.
|
|
4
4
|
*/
|
|
5
5
|
export default class RefMap {
|
|
6
|
-
|
|
7
|
-
|
|
6
|
+
constructor() {
|
|
7
|
+
this.map = new Map();
|
|
8
|
+
this.count = new Map();
|
|
9
|
+
}
|
|
8
10
|
/**
|
|
9
11
|
* If `key` is already stored in the map,
|
|
10
12
|
* we add a reference to the mapped value and return it.
|
|
11
13
|
* If not, we create the mapped value by calling `factory()`.
|
|
12
14
|
*/
|
|
13
15
|
add(key, factory) {
|
|
16
|
+
var _a;
|
|
14
17
|
const { map, count } = this;
|
|
15
18
|
if (count.has(key)) {
|
|
16
|
-
count.set(key, 1 + (count.get(key)
|
|
19
|
+
count.set(key, 1 + ((_a = count.get(key)) !== null && _a !== void 0 ? _a : 0));
|
|
17
20
|
const curVal = map.get(key);
|
|
18
21
|
if (!curVal)
|
|
19
22
|
throw Error("[CountMap] Map should not be empty!");
|
|
@@ -31,10 +34,11 @@ export default class RefMap {
|
|
|
31
34
|
* return `undefined`.
|
|
32
35
|
*/
|
|
33
36
|
delete(key) {
|
|
37
|
+
var _a;
|
|
34
38
|
const { map, count } = this;
|
|
35
39
|
if (!map.has(key))
|
|
36
40
|
return;
|
|
37
|
-
const newCount = (count.get(key)
|
|
41
|
+
const newCount = ((_a = count.get(key)) !== null && _a !== void 0 ? _a : 0) - 1;
|
|
38
42
|
if (newCount > 0) {
|
|
39
43
|
count.set(key, newCount);
|
|
40
44
|
return;
|
|
@@ -45,4 +49,4 @@ export default class RefMap {
|
|
|
45
49
|
return value;
|
|
46
50
|
}
|
|
47
51
|
}
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVmLW1hcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9yZWYtbWFwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxPQUFPLE9BQU8sTUFBTTtJQUEzQjtRQUNxQixRQUFHLEdBQUcsSUFBSSxHQUFHLEVBQW9CLENBQUE7UUFDakMsVUFBSyxHQUFHLElBQUksR0FBRyxFQUFtQixDQUFBO0lBMkN2RCxDQUFDO0lBekNHOzs7O09BSUc7SUFDSCxHQUFHLENBQUMsR0FBWSxFQUFFLE9BQXNCOztRQUNwQyxNQUFNLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxHQUFHLElBQUksQ0FBQTtRQUMzQixJQUFJLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNqQixLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxNQUFBLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLG1DQUFJLENBQUMsQ0FBQyxDQUFDLENBQUE7WUFDekMsTUFBTSxNQUFNLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQTtZQUMzQixJQUFJLENBQUMsTUFBTTtnQkFBRSxNQUFNLEtBQUssQ0FBQyxxQ0FBcUMsQ0FBQyxDQUFBO1lBQy9ELE9BQU8sTUFBTSxDQUFBO1FBQ2pCLENBQUM7UUFFRCxNQUFNLE1BQU0sR0FBRyxPQUFPLEVBQUUsQ0FBQTtRQUN4QixHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQTtRQUNwQixLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQTtRQUNqQixPQUFPLE1BQU0sQ0FBQTtJQUNqQixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxNQUFNLENBQUMsR0FBWTs7UUFDZixNQUFNLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxHQUFHLElBQUksQ0FBQTtRQUMzQixJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUM7WUFBRSxPQUFNO1FBRXpCLE1BQU0sUUFBUSxHQUFHLENBQUMsTUFBQSxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxtQ0FBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUE7UUFDMUMsSUFBSSxRQUFRLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDZixLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxRQUFRLENBQUMsQ0FBQTtZQUN4QixPQUFNO1FBQ1YsQ0FBQztRQUVELE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUE7UUFDMUIsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQTtRQUNmLEtBQUssQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUE7UUFDakIsT0FBTyxLQUFLLENBQUE7SUFDaEIsQ0FBQztDQUNKIn0=
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { TgdResource } from "./resource.js";
|
|
2
2
|
import { TgdProgramImpl } from "./../program/index.js";
|
|
3
3
|
export class TgdResourceProgram extends TgdResource {
|
|
4
|
-
gl;
|
|
5
4
|
constructor(gl) {
|
|
6
5
|
super();
|
|
7
6
|
this.gl = gl;
|
|
@@ -17,4 +16,4 @@ export class TgdResourceProgram extends TgdResource {
|
|
|
17
16
|
return JSON.stringify(input);
|
|
18
17
|
}
|
|
19
18
|
}
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3JhbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9yZXNvdXJjZS9wcm9ncmFtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFDeEMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUU3QyxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsV0FHdkM7SUFDRyxZQUE0QixFQUEwQjtRQUNsRCxLQUFLLEVBQUUsQ0FBQTtRQURpQixPQUFFLEdBQUYsRUFBRSxDQUF3QjtJQUV0RCxDQUFDO0lBRVMsWUFBWSxDQUFDLEtBQXdCO1FBQzNDLE9BQU8sSUFBSSxjQUFjLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQTtJQUM3QyxDQUFDO0lBRVMsWUFBWSxDQUFDLE9BQW1CO1FBQ3RDLElBQUksT0FBTyxZQUFZLGNBQWM7WUFBRSxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUE7SUFDM0QsQ0FBQztJQUVTLGdCQUFnQixDQUFDLEtBQXdCO1FBQy9DLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUNoQyxDQUFDO0NBQ0oifQ==
|
|
@@ -6,12 +6,15 @@ let counter = 1;
|
|
|
6
6
|
* same resource by holding an internal ref counter.
|
|
7
7
|
*/
|
|
8
8
|
export class TgdResource {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
9
|
+
constructor() {
|
|
10
|
+
this.keys = new Map();
|
|
11
|
+
this.objects = new Map();
|
|
12
|
+
this.references = new Map();
|
|
13
|
+
}
|
|
12
14
|
create(input, id) {
|
|
13
|
-
|
|
14
|
-
const
|
|
15
|
+
var _a, _b;
|
|
16
|
+
const key = (_a = id !== null && id !== void 0 ? id : this.makeKeyFromInput(input)) !== null && _a !== void 0 ? _a : `TgdResource:${counter++}`;
|
|
17
|
+
const refCount = (_b = this.references.get(key)) !== null && _b !== void 0 ? _b : 0;
|
|
15
18
|
if (refCount < 1) {
|
|
16
19
|
const object = this.actualCreate(input, key);
|
|
17
20
|
this.keys.set(object, key);
|
|
@@ -26,10 +29,11 @@ export class TgdResource {
|
|
|
26
29
|
return object;
|
|
27
30
|
}
|
|
28
31
|
delete(object) {
|
|
32
|
+
var _a;
|
|
29
33
|
const key = this.keys.get(object);
|
|
30
34
|
if (!key)
|
|
31
35
|
return;
|
|
32
|
-
const refCount = this.references.get(key)
|
|
36
|
+
const refCount = (_a = this.references.get(key)) !== null && _a !== void 0 ? _a : 0;
|
|
33
37
|
if (refCount < 1)
|
|
34
38
|
return;
|
|
35
39
|
if (refCount > 1) {
|
|
@@ -45,4 +49,4 @@ export class TgdResource {
|
|
|
45
49
|
return null;
|
|
46
50
|
}
|
|
47
51
|
}
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb3VyY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcmVzb3VyY2UvcmVzb3VyY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsSUFBSSxPQUFPLEdBQUcsQ0FBQyxDQUFBO0FBRWY7Ozs7O0dBS0c7QUFDSCxNQUFNLE9BQWdCLFdBQVc7SUFBakM7UUFDcUIsU0FBSSxHQUFHLElBQUksR0FBRyxFQUFzQixDQUFBO1FBQ3BDLFlBQU8sR0FBRyxJQUFJLEdBQUcsRUFBc0IsQ0FBQTtRQUN2QyxlQUFVLEdBQUcsSUFBSSxHQUFHLEVBQWtCLENBQUE7SUE2QzNELENBQUM7SUEzQ0csTUFBTSxDQUFDLEtBQWdCLEVBQUUsRUFBVzs7UUFDaEMsTUFBTSxHQUFHLEdBQ0wsTUFBQSxFQUFFLGFBQUYsRUFBRSxjQUFGLEVBQUUsR0FBSSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLG1DQUFJLGVBQWUsT0FBTyxFQUFFLEVBQUUsQ0FBQTtRQUNwRSxNQUFNLFFBQVEsR0FBRyxNQUFBLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxtQ0FBSSxDQUFDLENBQUE7UUFDOUMsSUFBSSxRQUFRLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDZixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQTtZQUM1QyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUE7WUFDMUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxDQUFBO1lBQzdCLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQTtZQUMzQixPQUFPLE1BQU0sQ0FBQTtRQUNqQixDQUFDO1FBQ0QsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUE7UUFDcEMsSUFBSSxDQUFDLE1BQU07WUFBRSxNQUFNLEtBQUssQ0FBQyw2QkFBNkIsQ0FBQyxDQUFBO1FBRXZELElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxRQUFRLEdBQUcsQ0FBQyxDQUFDLENBQUE7UUFDdEMsT0FBTyxNQUFNLENBQUE7SUFDakIsQ0FBQztJQUVELE1BQU0sQ0FBQyxNQUFrQjs7UUFDckIsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUE7UUFDakMsSUFBSSxDQUFDLEdBQUc7WUFBRSxPQUFNO1FBRWhCLE1BQU0sUUFBUSxHQUFHLE1BQUEsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLG1DQUFJLENBQUMsQ0FBQTtRQUM5QyxJQUFJLFFBQVEsR0FBRyxDQUFDO1lBQUUsT0FBTTtRQUV4QixJQUFJLFFBQVEsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNmLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxRQUFRLEdBQUcsQ0FBQyxDQUFDLENBQUE7WUFDdEMsT0FBTTtRQUNWLENBQUM7UUFFRCxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUN4QixJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQTtRQUN4QixJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQTtRQUMzQixJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFBO0lBQzdCLENBQUM7SUFNUyxnQkFBZ0IsQ0FBQyxNQUFpQjtRQUN4QyxPQUFPLElBQUksQ0FBQTtJQUNmLENBQUM7Q0FDSiJ9
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { TgdResource } from "./resource.js";
|
|
2
2
|
import { TgdTexture2DImpl } from "./../texture/index.js";
|
|
3
3
|
export class TgdResourceTexture2D extends TgdResource {
|
|
4
|
-
context;
|
|
5
4
|
constructor(context) {
|
|
6
5
|
super();
|
|
7
6
|
this.context = context;
|
|
@@ -17,4 +16,4 @@ export class TgdResourceTexture2D extends TgdResource {
|
|
|
17
16
|
object.delete();
|
|
18
17
|
}
|
|
19
18
|
}
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dHVyZTJkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Jlc291cmNlL3RleHR1cmUyZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sd0JBQXdCLENBQUE7QUFDcEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sY0FBYyxDQUFBO0FBTy9DLE1BQU0sT0FBTyxvQkFBcUIsU0FBUSxXQUd6QztJQUNHLFlBQTZCLE9BQTRCO1FBQ3JELEtBQUssRUFBRSxDQUFBO1FBRGtCLFlBQU8sR0FBUCxPQUFPLENBQXFCO0lBRXpELENBQUM7SUFFRCxlQUFlO1FBQ1gsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsdUJBQXVCLENBQUMsQ0FBQTtJQUN4RSxDQUFDO0lBRVMsWUFBWSxDQUNsQixLQUFtQyxFQUNuQyxFQUFVO1FBRVYsT0FBTyxJQUFJLGdCQUFnQixDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFBO0lBQ3hELENBQUM7SUFFUyxZQUFZLENBQUMsTUFBb0I7UUFDdkMsSUFBSSxNQUFNLFlBQVksZ0JBQWdCO1lBQUUsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFBO0lBQzNELENBQUM7Q0FDSiJ9
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { TgdResource } from "./resource.js";
|
|
2
2
|
import { TgdTextureCubeImpl } from "./../texture/index.js";
|
|
3
3
|
export class TgdResourceTextureCube extends TgdResource {
|
|
4
|
-
context;
|
|
5
4
|
constructor(context) {
|
|
6
5
|
super();
|
|
7
6
|
this.context = context;
|
|
@@ -14,4 +13,4 @@ export class TgdResourceTextureCube extends TgdResource {
|
|
|
14
13
|
object.delete();
|
|
15
14
|
}
|
|
16
15
|
}
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dHVyZUN1YmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcmVzb3VyY2UvdGV4dHVyZUN1YmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHdCQUF3QixDQUFBO0FBQ3BELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQU9qRCxNQUFNLE9BQU8sc0JBQXVCLFNBQVEsV0FHM0M7SUFDRyxZQUE0QixPQUE0QjtRQUNwRCxLQUFLLEVBQUUsQ0FBQTtRQURpQixZQUFPLEdBQVAsT0FBTyxDQUFxQjtJQUV4RCxDQUFDO0lBRVMsWUFBWSxDQUFDLEtBQTRCO1FBQy9DLE9BQU8sSUFBSSxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFBO0lBQ3RELENBQUM7SUFFUyxZQUFZLENBQUMsTUFBc0I7UUFDekMsSUFBSSxNQUFNLFlBQVksa0JBQWtCO1lBQUUsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFBO0lBQzdELENBQUM7Q0FDSiJ9
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { WebglAttributeType, WebglUniformType } from "..";
|
|
2
|
-
export interface
|
|
2
|
+
export interface TgdCodeVariables<Type extends WebglAttributeType | WebglUniformType> {
|
|
3
3
|
[name: string]: Type;
|
|
4
4
|
}
|
|
5
|
-
export interface
|
|
6
|
-
[name: string]:
|
|
5
|
+
export interface TgdCodeFunctions {
|
|
6
|
+
[name: string]: TgdCodeBloc;
|
|
7
7
|
}
|
|
8
|
-
export type
|
|
9
|
-
export declare function isCodeBloc(v: unknown): v is
|
|
10
|
-
export declare function tgdCodeStringify(code:
|
|
11
|
-
export declare function vars<Type extends WebglAttributeType | WebglUniformType>(def:
|
|
12
|
-
export declare function funcs(def:
|
|
8
|
+
export type TgdCodeBloc = string | null | TgdCodeBloc[];
|
|
9
|
+
export declare function isCodeBloc(v: unknown): v is TgdCodeBloc;
|
|
10
|
+
export declare function tgdCodeStringify(code: TgdCodeBloc, indent?: string): string;
|
|
11
|
+
export declare function vars<Type extends WebglAttributeType | WebglUniformType>(def: TgdCodeVariables<Type>, prefix: string, comment?: string): TgdCodeBloc[];
|
|
12
|
+
export declare function funcs(def: TgdCodeFunctions | TgdCodeBloc, comment?: string): TgdCodeBloc[];
|
|
13
13
|
//# sourceMappingURL=code.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"code.d.ts","sourceRoot":"","sources":["../../src/shader/code.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,IAAI,CAAA;AAEzD,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"code.d.ts","sourceRoot":"","sources":["../../src/shader/code.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,IAAI,CAAA;AAEzD,MAAM,WAAW,gBAAgB,CAC7B,IAAI,SAAS,kBAAkB,GAAG,gBAAgB;IAElD,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;CACvB;AAED,MAAM,WAAW,gBAAgB;IAC7B,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,CAAA;CAC9B;AAED,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,IAAI,GAAG,WAAW,EAAE,CAAA;AAEvD,wBAAgB,UAAU,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,WAAW,CASvD;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,WAAW,EAAE,MAAM,SAAK,GAAG,MAAM,CAWvE;AAED,wBAAgB,IAAI,CAAC,IAAI,SAAS,kBAAkB,GAAG,gBAAgB,EACnE,GAAG,EAAE,gBAAgB,CAAC,IAAI,CAAC,EAC3B,MAAM,EAAE,MAAM,EACd,OAAO,SAA6C,GACrD,WAAW,EAAE,CAQf;AAED,wBAAgB,KAAK,CACjB,GAAG,EAAE,gBAAgB,GAAG,WAAW,EACnC,OAAO,SAAmB,GAC3B,WAAW,EAAE,CAWf"}
|
package/lib/dist/shader/code.js
CHANGED
|
@@ -42,4 +42,4 @@ export function funcs(def, comment = "Util functions") {
|
|
|
42
42
|
});
|
|
43
43
|
return result;
|
|
44
44
|
}
|
|
45
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zaGFkZXIvY29kZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFjQSxNQUFNLFVBQVUsVUFBVSxDQUFDLENBQVU7SUFDakMsSUFBSSxPQUFPLENBQUMsS0FBSyxRQUFRO1FBQUUsT0FBTyxJQUFJLENBQUE7SUFFdEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBQUUsT0FBTyxLQUFLLENBQUE7SUFFbkMsS0FBSyxNQUFNLElBQUksSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUNuQixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQztZQUFFLE9BQU8sS0FBSyxDQUFBO0lBQ3ZDLENBQUM7SUFDRCxPQUFPLElBQUksQ0FBQTtBQUNmLENBQUM7QUFFRCxNQUFNLFVBQVUsZ0JBQWdCLENBQUMsSUFBaUIsRUFBRSxNQUFNLEdBQUcsRUFBRTtJQUMzRCxJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVE7UUFBRSxPQUFPLEdBQUcsTUFBTSxHQUFHLElBQUksRUFBRSxDQUFBO0lBRXZELElBQUksQ0FBQyxJQUFJO1FBQUUsT0FBTyxFQUFFLENBQUE7SUFFcEIsTUFBTSxTQUFTLEdBQUcsR0FBRyxNQUFNLE1BQU0sQ0FBQTtJQUNqQyxPQUFPLElBQUk7U0FDTixNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDO1NBQzdCLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztTQUN2RCxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUM7U0FDOUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO0FBQ25CLENBQUM7QUFFRCxNQUFNLFVBQVUsSUFBSSxDQUNoQixHQUEyQixFQUMzQixNQUFjLEVBQ2QsT0FBTyxHQUFHLDBDQUEwQztJQUVwRCxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBQzlCLElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDO1FBQUUsT0FBTyxFQUFFLENBQUE7SUFFakMsT0FBTztRQUNILE1BQU0sT0FBTyxFQUFFO1FBQ2YsR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBRyxNQUFNLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksR0FBRyxDQUFDO0tBQzFELENBQUE7QUFDTCxDQUFDO0FBRUQsTUFBTSxVQUFVLEtBQUssQ0FDakIsR0FBbUMsRUFDbkMsT0FBTyxHQUFHLGdCQUFnQjtJQUUxQixJQUFJLFVBQVUsQ0FBQyxHQUFHLENBQUM7UUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUE7SUFFakMsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQTtJQUM5QixJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQztRQUFFLE9BQU8sRUFBRSxDQUFBO0lBRWpDLE1BQU0sTUFBTSxHQUFrQixDQUFDLE1BQU0sT0FBTyxFQUFFLENBQUMsQ0FBQTtJQUMvQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFO1FBQ2pCLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLElBQUksRUFBRSxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFBO0lBQ2hELENBQUMsQ0FBQyxDQUFBO0lBQ0YsT0FBTyxNQUFNLENBQUE7QUFDakIsQ0FBQyJ9
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { WebglAttributeType, WebglUniformType } from "..";
|
|
2
|
-
import {
|
|
2
|
+
import { TgdCodeBloc, TgdCodeFunctions, TgdCodeVariables } from "./code";
|
|
3
3
|
/**
|
|
4
4
|
* Helper to wirte the code of a fragment Shader.
|
|
5
5
|
* @see https://registry.khronos.org/OpenGL/specs/es/3.0/GLSL_ES_Specification_3.00.pdf
|
|
6
6
|
*/
|
|
7
7
|
export declare class TgdShaderFragment {
|
|
8
8
|
precision: "lowp" | "mediump" | "highp";
|
|
9
|
-
uniforms:
|
|
10
|
-
varying:
|
|
11
|
-
outputs:
|
|
9
|
+
uniforms: TgdCodeVariables<WebglUniformType>;
|
|
10
|
+
varying: TgdCodeVariables<WebglAttributeType>;
|
|
11
|
+
outputs: TgdCodeVariables<WebglAttributeType>;
|
|
12
12
|
/**
|
|
13
13
|
* The key should be the signatureof a function
|
|
14
14
|
* (like `vec2 scale(vec2 v, float s)`)
|
|
@@ -16,15 +16,15 @@ export declare class TgdShaderFragment {
|
|
|
16
16
|
*
|
|
17
17
|
* But if the key starts with a `_`, then the content of the value is uses verbatim.
|
|
18
18
|
*/
|
|
19
|
-
functions:
|
|
20
|
-
mainCode:
|
|
19
|
+
functions: TgdCodeFunctions | TgdCodeBloc;
|
|
20
|
+
mainCode: TgdCodeBloc;
|
|
21
21
|
constructor({ precision, uniforms, outputs, varying, functions, mainCode, }?: Partial<{
|
|
22
22
|
precision: "lowp" | "mediump" | "highp";
|
|
23
|
-
uniforms:
|
|
24
|
-
outputs:
|
|
25
|
-
varying:
|
|
26
|
-
functions:
|
|
27
|
-
mainCode:
|
|
23
|
+
uniforms: TgdCodeVariables<WebglUniformType>;
|
|
24
|
+
outputs: TgdCodeVariables<WebglAttributeType>;
|
|
25
|
+
varying: TgdCodeVariables<WebglAttributeType>;
|
|
26
|
+
functions: TgdCodeFunctions | TgdCodeBloc;
|
|
27
|
+
mainCode: TgdCodeBloc;
|
|
28
28
|
}>);
|
|
29
29
|
get code(): string;
|
|
30
30
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fragment.d.ts","sourceRoot":"","sources":["../../src/shader/fragment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,IAAI,CAAA;AACzD,OAAO,EACH,
|
|
1
|
+
{"version":3,"file":"fragment.d.ts","sourceRoot":"","sources":["../../src/shader/fragment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,IAAI,CAAA;AACzD,OAAO,EACH,WAAW,EACX,gBAAgB,EAChB,gBAAgB,EAInB,MAAM,QAAQ,CAAA;AAEf;;;GAGG;AACH,qBAAa,iBAAiB;IACnB,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAY;IACnD,QAAQ,EAAE,gBAAgB,CAAC,gBAAgB,CAAC,CAAA;IAC5C,OAAO,EAAE,gBAAgB,CAAC,kBAAkB,CAAC,CAAA;IAC7C,OAAO,EAAE,gBAAgB,CAAC,kBAAkB,CAAC,CAAA;IACpD;;;;;;OAMG;IACI,SAAS,EAAE,gBAAgB,GAAG,WAAW,CAAA;IACzC,QAAQ,EAAE,WAAW,CAAA;gBAEhB,EACR,SAAqB,EACrB,QAAa,EACb,OAEC,EACD,OAAY,EACZ,SAAc,EACd,QAAgD,GACnD,GAAE,OAAO,CAAC;QACP,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAA;QACvC,QAAQ,EAAE,gBAAgB,CAAC,gBAAgB,CAAC,CAAA;QAC5C,OAAO,EAAE,gBAAgB,CAAC,kBAAkB,CAAC,CAAA;QAC7C,OAAO,EAAE,gBAAgB,CAAC,kBAAkB,CAAC,CAAA;QAC7C,SAAS,EAAE,gBAAgB,GAAG,WAAW,CAAA;QACzC,QAAQ,EAAE,WAAW,CAAA;KACxB,CAAM;IASP,IAAI,IAAI,WAaP;CACJ"}
|
|
@@ -4,22 +4,10 @@ import { funcs, tgdCodeStringify, vars, } from "./code.js";
|
|
|
4
4
|
* @see https://registry.khronos.org/OpenGL/specs/es/3.0/GLSL_ES_Specification_3.00.pdf
|
|
5
5
|
*/
|
|
6
6
|
export class TgdShaderFragment {
|
|
7
|
-
precision = "mediump";
|
|
8
|
-
uniforms;
|
|
9
|
-
varying;
|
|
10
|
-
outputs;
|
|
11
|
-
/**
|
|
12
|
-
* The key should be the signatureof a function
|
|
13
|
-
* (like `vec2 scale(vec2 v, float s)`)
|
|
14
|
-
* and the value to code of this function (like `return v * s;`).
|
|
15
|
-
*
|
|
16
|
-
* But if the key starts with a `_`, then the content of the value is uses verbatim.
|
|
17
|
-
*/
|
|
18
|
-
functions;
|
|
19
|
-
mainCode;
|
|
20
7
|
constructor({ precision = "mediump", uniforms = {}, outputs = {
|
|
21
8
|
FragColor: "vec4",
|
|
22
9
|
}, varying = {}, functions = {}, mainCode = ["FragColor = vec4(1, 0.667, 0, 1);"], } = {}) {
|
|
10
|
+
this.precision = "mediump";
|
|
23
11
|
this.precision = precision;
|
|
24
12
|
this.uniforms = uniforms;
|
|
25
13
|
this.outputs = outputs;
|
|
@@ -42,4 +30,4 @@ export class TgdShaderFragment {
|
|
|
42
30
|
]);
|
|
43
31
|
}
|
|
44
32
|
}
|
|
45
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJhZ21lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2hhZGVyL2ZyYWdtZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFJSCxLQUFLLEVBQ0wsZ0JBQWdCLEVBQ2hCLElBQUksR0FDUCxNQUFNLFFBQVEsQ0FBQTtBQUVmOzs7R0FHRztBQUNILE1BQU0sT0FBTyxpQkFBaUI7SUFlMUIsWUFBWSxFQUNSLFNBQVMsR0FBRyxTQUFTLEVBQ3JCLFFBQVEsR0FBRyxFQUFFLEVBQ2IsT0FBTyxHQUFHO1FBQ04sU0FBUyxFQUFFLE1BQU07S0FDcEIsRUFDRCxPQUFPLEdBQUcsRUFBRSxFQUNaLFNBQVMsR0FBRyxFQUFFLEVBQ2QsUUFBUSxHQUFHLENBQUMsbUNBQW1DLENBQUMsTUFRL0MsRUFBRTtRQTlCQSxjQUFTLEdBQWlDLFNBQVMsQ0FBQTtRQStCdEQsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUE7UUFDMUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUE7UUFDeEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUE7UUFDdEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUE7UUFDdEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUE7UUFDMUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUE7SUFDNUIsQ0FBQztJQUVELElBQUksSUFBSTtRQUNKLE9BQU8sZ0JBQWdCLENBQUM7WUFDcEIsaUJBQWlCO1lBQ2pCLGFBQWEsSUFBSSxDQUFDLFNBQVMsU0FBUztZQUNwQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLFNBQVMsQ0FBQztZQUNqQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQztZQUMzQixHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQztZQUM1QixHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO1lBQ3hCLEVBQUU7WUFDRixlQUFlO1lBQ2YsSUFBSSxDQUFDLFFBQVE7WUFDYixHQUFHO1NBQ04sQ0FBQyxDQUFBO0lBQ04sQ0FBQztDQUNKIn0=
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { WebglAttributeType, WebglUniformType } from "..";
|
|
2
|
-
import {
|
|
2
|
+
import { TgdCodeBloc, TgdCodeFunctions, TgdCodeVariables } from "./code";
|
|
3
3
|
/**
|
|
4
4
|
* Helper to create a Vertex Shader.
|
|
5
5
|
*
|
|
@@ -11,18 +11,18 @@ import { CodeBloc, Functions, Variables } from "./code";
|
|
|
11
11
|
*/
|
|
12
12
|
export declare class TgdShaderVertex {
|
|
13
13
|
precision: "lowp" | "mediump" | "highp";
|
|
14
|
-
uniforms:
|
|
15
|
-
attributes:
|
|
16
|
-
varying:
|
|
17
|
-
functions:
|
|
18
|
-
mainCode:
|
|
14
|
+
uniforms: TgdCodeVariables<WebglUniformType>;
|
|
15
|
+
attributes: TgdCodeVariables<WebglAttributeType>;
|
|
16
|
+
varying: TgdCodeVariables<WebglAttributeType>;
|
|
17
|
+
functions: TgdCodeFunctions;
|
|
18
|
+
mainCode: TgdCodeBloc;
|
|
19
19
|
constructor({ precision, uniforms, attributes, varying, functions, mainCode, }?: Partial<{
|
|
20
20
|
precision: "lowp" | "mediump" | "highp";
|
|
21
|
-
uniforms:
|
|
22
|
-
attributes:
|
|
23
|
-
varying:
|
|
24
|
-
functions:
|
|
25
|
-
mainCode:
|
|
21
|
+
uniforms: TgdCodeVariables<WebglUniformType>;
|
|
22
|
+
attributes: TgdCodeVariables<WebglAttributeType>;
|
|
23
|
+
varying: TgdCodeVariables<WebglAttributeType>;
|
|
24
|
+
functions: TgdCodeFunctions;
|
|
25
|
+
mainCode: TgdCodeBloc;
|
|
26
26
|
}>);
|
|
27
27
|
get code(): string;
|
|
28
28
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vertex.d.ts","sourceRoot":"","sources":["../../src/shader/vertex.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,IAAI,CAAA;AACzD,OAAO,EACH,
|
|
1
|
+
{"version":3,"file":"vertex.d.ts","sourceRoot":"","sources":["../../src/shader/vertex.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,IAAI,CAAA;AACzD,OAAO,EACH,WAAW,EACX,gBAAgB,EAChB,gBAAgB,EAInB,MAAM,QAAQ,CAAA;AAEf;;;;;;;;GAQG;AACH,qBAAa,eAAe;IACjB,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAY;IACnD,QAAQ,EAAE,gBAAgB,CAAC,gBAAgB,CAAC,CAAA;IAC5C,UAAU,EAAE,gBAAgB,CAAC,kBAAkB,CAAC,CAAA;IAChD,OAAO,EAAE,gBAAgB,CAAC,kBAAkB,CAAC,CAAA;IAC7C,SAAS,EAAE,gBAAgB,CAAA;IAC3B,QAAQ,EAAE,WAAW,CAAA;gBAEhB,EACR,SAAqB,EACrB,QAAa,EACb,UAAe,EACf,OAAY,EACZ,SAAc,EACd,QAAa,GAChB,GAAE,OAAO,CAAC;QACP,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAA;QACvC,QAAQ,EAAE,gBAAgB,CAAC,gBAAgB,CAAC,CAAA;QAC5C,UAAU,EAAE,gBAAgB,CAAC,kBAAkB,CAAC,CAAA;QAChD,OAAO,EAAE,gBAAgB,CAAC,kBAAkB,CAAC,CAAA;QAC7C,SAAS,EAAE,gBAAgB,CAAA;QAC3B,QAAQ,EAAE,WAAW,CAAA;KACxB,CAAM;IASP,IAAI,IAAI,WAaP;CACJ"}
|
|
@@ -9,13 +9,8 @@ import { funcs, tgdCodeStringify as tgdCodeToString, vars, } from "./code.js";
|
|
|
9
9
|
* @see https://registry.khronos.org/OpenGL/specs/es/3.0/GLSL_ES_Specification_3.00.pdf
|
|
10
10
|
*/
|
|
11
11
|
export class TgdShaderVertex {
|
|
12
|
-
precision = "mediump";
|
|
13
|
-
uniforms;
|
|
14
|
-
attributes;
|
|
15
|
-
varying;
|
|
16
|
-
functions;
|
|
17
|
-
mainCode;
|
|
18
12
|
constructor({ precision = "mediump", uniforms = {}, attributes = {}, varying = {}, functions = {}, mainCode = [], } = {}) {
|
|
13
|
+
this.precision = "mediump";
|
|
19
14
|
this.precision = precision;
|
|
20
15
|
this.uniforms = uniforms;
|
|
21
16
|
this.attributes = attributes;
|
|
@@ -38,4 +33,4 @@ export class TgdShaderVertex {
|
|
|
38
33
|
]);
|
|
39
34
|
}
|
|
40
35
|
}
|
|
41
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVydGV4LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NoYWRlci92ZXJ0ZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUlILEtBQUssRUFDTCxnQkFBZ0IsSUFBSSxlQUFlLEVBQ25DLElBQUksR0FDUCxNQUFNLFFBQVEsQ0FBQTtBQUVmOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSxPQUFPLGVBQWU7SUFReEIsWUFBWSxFQUNSLFNBQVMsR0FBRyxTQUFTLEVBQ3JCLFFBQVEsR0FBRyxFQUFFLEVBQ2IsVUFBVSxHQUFHLEVBQUUsRUFDZixPQUFPLEdBQUcsRUFBRSxFQUNaLFNBQVMsR0FBRyxFQUFFLEVBQ2QsUUFBUSxHQUFHLEVBQUUsTUFRWixFQUFFO1FBckJBLGNBQVMsR0FBaUMsU0FBUyxDQUFBO1FBc0J0RCxJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQTtRQUMxQixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQTtRQUN4QixJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQTtRQUM1QixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQTtRQUN0QixJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQTtRQUMxQixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQTtJQUM1QixDQUFDO0lBRUQsSUFBSSxJQUFJO1FBQ0osT0FBTyxlQUFlLENBQUM7WUFDbkIsaUJBQWlCO1lBQ2pCLGFBQWEsSUFBSSxDQUFDLFNBQVMsU0FBUztZQUNwQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLFNBQVMsQ0FBQztZQUNqQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQztZQUM5QixHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQztZQUM1QixHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO1lBQ3hCLEVBQUU7WUFDRixlQUFlO1lBQ2YsSUFBSSxDQUFDLFFBQVE7WUFDYixHQUFHO1NBQ04sQ0FBQyxDQUFBO0lBQ04sQ0FBQztDQUNKIn0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/table/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAA"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
export declare class TgdTable {
|
|
2
|
+
readonly buffer: ArrayBuffer;
|
|
3
|
+
readonly cols: number;
|
|
4
|
+
readonly rows: number;
|
|
5
|
+
readonly dimensions: number;
|
|
6
|
+
readonly bytesPerElement: number;
|
|
7
|
+
static computeByteLength(cols: number, rows: number, dimensions: number, bytesPerElement: number): number;
|
|
8
|
+
readonly bytePadding: number;
|
|
9
|
+
private readonly bytesPerRow;
|
|
10
|
+
private readonly bytesPerVector;
|
|
11
|
+
private readonly view;
|
|
12
|
+
constructor(buffer: ArrayBuffer, cols: number, rows: number, dimensions: number, bytesPerElement: number);
|
|
13
|
+
private offset;
|
|
14
|
+
setFloat32(value: number, col: number, row: number, dimension: number): void;
|
|
15
|
+
getFloat32(col: number, row: number, dimension: number): number;
|
|
16
|
+
setUint8(value: number, col: number, row: number, dimension: number): void;
|
|
17
|
+
getUint8(col: number, row: number, dimension: number): number;
|
|
18
|
+
}
|
|
19
|
+
export declare class TgdTableUint8 {
|
|
20
|
+
readonly cols: number;
|
|
21
|
+
readonly rows: number;
|
|
22
|
+
readonly dimensions: number;
|
|
23
|
+
private readonly table;
|
|
24
|
+
constructor(cols: number, rows: number, dimensions: number);
|
|
25
|
+
get buffer(): ArrayBuffer;
|
|
26
|
+
set(value: number, col: number, row: number, dimension: number): void;
|
|
27
|
+
setVec(values: number[], col: number, row: number): void;
|
|
28
|
+
get(col: number, row: number, dimension: number): number;
|
|
29
|
+
}
|
|
30
|
+
export declare class TgdTableFloat32 {
|
|
31
|
+
readonly cols: number;
|
|
32
|
+
readonly rows: number;
|
|
33
|
+
readonly dimensions: number;
|
|
34
|
+
private readonly table;
|
|
35
|
+
constructor(cols: number, rows: number, dimensions: number);
|
|
36
|
+
get buffer(): ArrayBuffer;
|
|
37
|
+
set(value: number, col: number, row: number, dimension: number): void;
|
|
38
|
+
setVec(values: number[], col: number, row: number): void;
|
|
39
|
+
get(col: number, row: number, dimension: number): number;
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=table.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../src/table/table.ts"],"names":[],"mappings":"AAAA,qBAAa,QAAQ;aAqBG,MAAM,EAAE,WAAW;aACnB,IAAI,EAAE,MAAM;aACZ,IAAI,EAAE,MAAM;aACZ,UAAU,EAAE,MAAM;aAClB,eAAe,EAAE,MAAM;WAxB7B,iBAAiB,CAC3B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,EAClB,eAAe,EAAE,MAAM;IAS3B,SAAgB,WAAW,EAAE,MAAM,CAAA;IAEnC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAQ;IACpC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAQ;IACvC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAU;gBAGX,MAAM,EAAE,WAAW,EACnB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,EAClB,eAAe,EAAE,MAAM;IA4B3C,OAAO,CAAC,MAAM;IAQd,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;IAKrE,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;IAKtD,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;IAKnE,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;CAIvD;AAED,qBAAa,aAAa;aAIF,IAAI,EAAE,MAAM;aACZ,IAAI,EAAE,MAAM;aACZ,UAAU,EAAE,MAAM;IALtC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAU;gBAGZ,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM;IAkBtC,IAAI,MAAM,gBAET;IAED,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;IAI9D,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM;IAMjD,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;CAGlD;AAED,qBAAa,eAAe;aAIJ,IAAI,EAAE,MAAM;aACZ,IAAI,EAAE,MAAM;aACZ,UAAU,EAAE,MAAM;IALtC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAU;gBAGZ,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM;IAkBtC,IAAI,MAAM,gBAET;IAED,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;IAI9D,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM;IAMjD,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;CAGlD"}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
export class TgdTable {
|
|
2
|
+
static computeByteLength(cols, rows, dimensions, bytesPerElement) {
|
|
3
|
+
let bytesPerRow = cols * dimensions * bytesPerElement;
|
|
4
|
+
while ((bytesPerRow & 3) !== 0) {
|
|
5
|
+
bytesPerRow++;
|
|
6
|
+
}
|
|
7
|
+
return rows * bytesPerRow;
|
|
8
|
+
}
|
|
9
|
+
constructor(buffer, cols, rows, dimensions, bytesPerElement) {
|
|
10
|
+
this.buffer = buffer;
|
|
11
|
+
this.cols = cols;
|
|
12
|
+
this.rows = rows;
|
|
13
|
+
this.dimensions = dimensions;
|
|
14
|
+
this.bytesPerElement = bytesPerElement;
|
|
15
|
+
const expectedByteLength = TgdTable.computeByteLength(cols, rows, dimensions, bytesPerElement);
|
|
16
|
+
if (buffer.byteLength < expectedByteLength) {
|
|
17
|
+
throw Error(`Your data is ${buffer.byteLength} bytes long.
|
|
18
|
+
But for a ${cols}x${rows} table we need at least ${expectedByteLength} bytes!
|
|
19
|
+
Please use TgdTable.computeByteLength() to get the correct length (with all needed paddings).`);
|
|
20
|
+
}
|
|
21
|
+
const bytesPerVector = dimensions * bytesPerElement;
|
|
22
|
+
this.bytesPerVector = bytesPerVector;
|
|
23
|
+
let bytesPerRow = cols * bytesPerVector;
|
|
24
|
+
let bytePadding = 0;
|
|
25
|
+
while ((bytesPerRow & 3) !== 0) {
|
|
26
|
+
bytePadding++;
|
|
27
|
+
bytesPerRow++;
|
|
28
|
+
}
|
|
29
|
+
this.bytePadding = bytePadding;
|
|
30
|
+
this.bytesPerRow = bytesPerRow;
|
|
31
|
+
this.bytesPerElement = bytesPerElement;
|
|
32
|
+
this.view = new DataView(buffer);
|
|
33
|
+
}
|
|
34
|
+
offset(col, row, dimension = 0) {
|
|
35
|
+
const byteOffset = row * this.bytesPerRow +
|
|
36
|
+
col * this.bytesPerVector +
|
|
37
|
+
this.bytesPerElement * dimension;
|
|
38
|
+
return byteOffset;
|
|
39
|
+
}
|
|
40
|
+
setFloat32(value, col, row, dimension) {
|
|
41
|
+
const byteOffset = this.offset(col, row, dimension);
|
|
42
|
+
this.view.setFloat32(byteOffset, value);
|
|
43
|
+
}
|
|
44
|
+
getFloat32(col, row, dimension) {
|
|
45
|
+
const byteOffset = this.offset(col, row, dimension);
|
|
46
|
+
return this.view.getFloat32(byteOffset);
|
|
47
|
+
}
|
|
48
|
+
setUint8(value, col, row, dimension) {
|
|
49
|
+
const byteOffset = this.offset(col, row, dimension);
|
|
50
|
+
this.view.setUint8(byteOffset, value);
|
|
51
|
+
}
|
|
52
|
+
getUint8(col, row, dimension) {
|
|
53
|
+
const byteOffset = this.offset(col, row, dimension);
|
|
54
|
+
return this.view.getUint8(byteOffset);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
export class TgdTableUint8 {
|
|
58
|
+
constructor(cols, rows, dimensions) {
|
|
59
|
+
this.cols = cols;
|
|
60
|
+
this.rows = rows;
|
|
61
|
+
this.dimensions = dimensions;
|
|
62
|
+
const byteLength = TgdTable.computeByteLength(cols, rows, dimensions, Uint8Array.BYTES_PER_ELEMENT);
|
|
63
|
+
const buffer = new ArrayBuffer(byteLength);
|
|
64
|
+
this.table = new TgdTable(buffer, cols, rows, dimensions, Uint8Array.BYTES_PER_ELEMENT);
|
|
65
|
+
}
|
|
66
|
+
get buffer() {
|
|
67
|
+
return this.table.buffer;
|
|
68
|
+
}
|
|
69
|
+
set(value, col, row, dimension) {
|
|
70
|
+
this.table.setUint8(value, col, row, dimension);
|
|
71
|
+
}
|
|
72
|
+
setVec(values, col, row) {
|
|
73
|
+
values.forEach((value, dimension) => this.table.setUint8(value, col, row, dimension));
|
|
74
|
+
}
|
|
75
|
+
get(col, row, dimension) {
|
|
76
|
+
return this.table.getUint8(col, row, dimension);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
export class TgdTableFloat32 {
|
|
80
|
+
constructor(cols, rows, dimensions) {
|
|
81
|
+
this.cols = cols;
|
|
82
|
+
this.rows = rows;
|
|
83
|
+
this.dimensions = dimensions;
|
|
84
|
+
const byteLength = TgdTable.computeByteLength(cols, rows, dimensions, Float32Array.BYTES_PER_ELEMENT);
|
|
85
|
+
const buffer = new ArrayBuffer(byteLength);
|
|
86
|
+
this.table = new TgdTable(buffer, cols, rows, dimensions, Float32Array.BYTES_PER_ELEMENT);
|
|
87
|
+
}
|
|
88
|
+
get buffer() {
|
|
89
|
+
return this.table.buffer;
|
|
90
|
+
}
|
|
91
|
+
set(value, col, row, dimension) {
|
|
92
|
+
this.table.setFloat32(value, col, row, dimension);
|
|
93
|
+
}
|
|
94
|
+
setVec(values, col, row) {
|
|
95
|
+
values.forEach((value, dimension) => this.table.setFloat32(value, col, row, dimension));
|
|
96
|
+
}
|
|
97
|
+
get(col, row, dimension) {
|
|
98
|
+
return this.table.getFloat32(col, row, dimension);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdGFibGUvdGFibGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLFFBQVE7SUFDVixNQUFNLENBQUMsaUJBQWlCLENBQzNCLElBQVksRUFDWixJQUFZLEVBQ1osVUFBa0IsRUFDbEIsZUFBdUI7UUFFdkIsSUFBSSxXQUFXLEdBQUcsSUFBSSxHQUFHLFVBQVUsR0FBRyxlQUFlLENBQUE7UUFDckQsT0FBTyxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUM3QixXQUFXLEVBQUUsQ0FBQTtRQUNqQixDQUFDO1FBQ0QsT0FBTyxJQUFJLEdBQUcsV0FBVyxDQUFBO0lBQzdCLENBQUM7SUFRRCxZQUNvQixNQUFtQixFQUNuQixJQUFZLEVBQ1osSUFBWSxFQUNaLFVBQWtCLEVBQ2xCLGVBQXVCO1FBSnZCLFdBQU0sR0FBTixNQUFNLENBQWE7UUFDbkIsU0FBSSxHQUFKLElBQUksQ0FBUTtRQUNaLFNBQUksR0FBSixJQUFJLENBQVE7UUFDWixlQUFVLEdBQVYsVUFBVSxDQUFRO1FBQ2xCLG9CQUFlLEdBQWYsZUFBZSxDQUFRO1FBRXZDLE1BQU0sa0JBQWtCLEdBQUcsUUFBUSxDQUFDLGlCQUFpQixDQUNqRCxJQUFJLEVBQ0osSUFBSSxFQUNKLFVBQVUsRUFDVixlQUFlLENBQ2xCLENBQUE7UUFFRCxJQUFJLE1BQU0sQ0FBQyxVQUFVLEdBQUcsa0JBQWtCLEVBQUUsQ0FBQztZQUN6QyxNQUFNLEtBQUssQ0FBQyxnQkFBZ0IsTUFBTSxDQUFDLFVBQVU7WUFDN0MsSUFBSSxJQUFJLElBQUksMkJBQTJCLGtCQUFrQjs4RkFDeUIsQ0FBQyxDQUFBO1FBQ3ZGLENBQUM7UUFDRCxNQUFNLGNBQWMsR0FBRyxVQUFVLEdBQUcsZUFBZSxDQUFBO1FBQ25ELElBQUksQ0FBQyxjQUFjLEdBQUcsY0FBYyxDQUFBO1FBQ3BDLElBQUksV0FB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
|