@tolokoban/tgd 2.0.104 → 2.0.107

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.
Files changed (71) hide show
  1. package/lib/dist/context/context.d.ts +11 -0
  2. package/lib/dist/context/context.d.ts.map +1 -1
  3. package/lib/dist/context/context.js +33 -8
  4. package/lib/dist/filter/anti-aliasing.d.ts +17 -0
  5. package/lib/dist/filter/anti-aliasing.d.ts.map +1 -0
  6. package/lib/dist/filter/anti-aliasing.js +39 -0
  7. package/lib/dist/filter/blur.d.ts +3 -0
  8. package/lib/dist/filter/blur.d.ts.map +1 -1
  9. package/lib/dist/filter/blur.js +11 -2
  10. package/lib/dist/filter/chromatic-aberration.d.ts +1 -0
  11. package/lib/dist/filter/chromatic-aberration.d.ts.map +1 -1
  12. package/lib/dist/filter/chromatic-aberration.js +5 -3
  13. package/lib/dist/filter/filter.d.ts +1 -1
  14. package/lib/dist/filter/filter.d.ts.map +1 -1
  15. package/lib/dist/filter/filter.js +1 -1
  16. package/lib/dist/filter/hue-rotation.js +2 -2
  17. package/lib/dist/filter/index.d.ts +1 -0
  18. package/lib/dist/filter/index.d.ts.map +1 -1
  19. package/lib/dist/filter/index.js +2 -1
  20. package/lib/dist/filter/multiply.d.ts.map +1 -1
  21. package/lib/dist/filter/multiply.js +2 -1
  22. package/lib/dist/filter/verbatim.d.ts.map +1 -1
  23. package/lib/dist/filter/verbatim.js +2 -1
  24. package/lib/dist/filter/zoom.d.ts.map +1 -1
  25. package/lib/dist/filter/zoom.js +4 -3
  26. package/lib/dist/geometry/box.js +9 -2
  27. package/lib/dist/light/light.d.ts +2 -2
  28. package/lib/dist/light/light.d.ts.map +1 -1
  29. package/lib/dist/light/light.js +3 -2
  30. package/lib/dist/painter/filter/filter.d.ts +2 -7
  31. package/lib/dist/painter/filter/filter.d.ts.map +1 -1
  32. package/lib/dist/painter/filter/filter.js +44 -59
  33. package/lib/dist/painter/filter/framebuffers.d.ts +15 -0
  34. package/lib/dist/painter/filter/framebuffers.d.ts.map +1 -0
  35. package/lib/dist/painter/filter/framebuffers.js +72 -0
  36. package/lib/dist/painter/framebuffer-msaa.d.ts +3 -95
  37. package/lib/dist/painter/framebuffer-msaa.d.ts.map +1 -1
  38. package/lib/dist/painter/framebuffer-msaa.js +4 -263
  39. package/lib/dist/painter/framebuffer.d.ts +24 -5
  40. package/lib/dist/painter/framebuffer.d.ts.map +1 -1
  41. package/lib/dist/painter/framebuffer.js +183 -74
  42. package/lib/dist/painter/gizmo/gizmo.d.ts.map +1 -1
  43. package/lib/dist/painter/gizmo/gizmo.js +5 -4
  44. package/lib/dist/painter/state/state.d.ts +1 -1
  45. package/lib/dist/painter/state/state.d.ts.map +1 -1
  46. package/lib/dist/parser/gltf/gltf.d.ts.map +1 -1
  47. package/lib/dist/parser/gltf/gltf.js +1 -7
  48. package/lib/dist/shader/fragment.d.ts +1 -0
  49. package/lib/dist/shader/fragment.d.ts.map +1 -1
  50. package/lib/dist/shader/fragment.js +12 -3
  51. package/lib/dist/texture/texture2d.d.ts +2 -0
  52. package/lib/dist/texture/texture2d.d.ts.map +1 -1
  53. package/lib/dist/texture/texture2d.js +42 -36
  54. package/lib/dist/utils/ensure.d.ts +4 -0
  55. package/lib/dist/utils/ensure.d.ts.map +1 -0
  56. package/lib/dist/utils/ensure.js +21 -0
  57. package/lib/dist/utils/index.d.ts +1 -1
  58. package/lib/dist/utils/index.d.ts.map +1 -1
  59. package/lib/dist/utils/index.js +2 -2
  60. package/lib/dist/version.d.ts +1 -1
  61. package/lib/dist/version.js +1 -1
  62. package/package.json +1 -1
  63. package/lib/dist/painter/gizmo/painters/normal.1.d.ts +0 -21
  64. package/lib/dist/painter/gizmo/painters/normal.1.d.ts.map +0 -1
  65. package/lib/dist/painter/gizmo/painters/normal.1.js +0 -111
  66. package/lib/dist/painter/gizmo/tips.d.ts +0 -22
  67. package/lib/dist/painter/gizmo/tips.d.ts.map +0 -1
  68. package/lib/dist/painter/gizmo/tips.js +0 -51
  69. package/lib/dist/utils/array.d.ts +0 -2
  70. package/lib/dist/utils/array.d.ts.map +0 -1
  71. package/lib/dist/utils/array.js +0 -6
@@ -1,111 +0,0 @@
1
- import { __awaiter } from "tslib";
2
- import { TgdDataset } from "./../../../dataset/index.js";
3
- import { TgdPainter } from "./../../painter.js";
4
- import { TgdPainterState } from "./../../state/index.js";
5
- import { TgdProgram } from "./../../../program/index.js";
6
- import { TgdShaderFragment, TgdShaderVertex } from "./../../../shader/index.js";
7
- import { TgdVertexArray } from "./../../../vao/index.js";
8
- import { createTipsTexture } from "./tips.js";
9
- export class PainterTipsNormal extends TgdPainter {
10
- static create(context, options) {
11
- return __awaiter(this, void 0, void 0, function* () {
12
- const texture = yield createTipsTexture(context);
13
- return new PainterTipsNormal(context, Object.assign({ texture }, options));
14
- });
15
- }
16
- constructor(context, options) {
17
- super();
18
- this.context = context;
19
- this.index = -1;
20
- this.size = options.size;
21
- this.texture = options.texture;
22
- const prg = new TgdProgram(context.gl, {
23
- vert: new TgdShaderVertex({
24
- uniforms: {
25
- uniIndex: "float",
26
- uniTransfoMatrix: "mat4",
27
- uniModelViewMatrix: "mat4",
28
- uniProjectionMatrix: "mat4",
29
- uniRadius: "float",
30
- uniScreenHeightInPixels: "float",
31
- },
32
- attributes: {
33
- attPoint: "vec3",
34
- attUV: "vec2",
35
- attIndex: "float",
36
- },
37
- varying: {
38
- varUV: "vec2",
39
- varLight: "float",
40
- },
41
- mainCode: [
42
- "varUV = attUV;",
43
- "varLight = (attIndex == uniIndex) ? 0.5 : 0.0;",
44
- "vec4 point = uniModelViewMatrix * vec4(attPoint.xyz, 1.0);",
45
- "vec4 shift = point + vec4(0, uniRadius, 0, 0);",
46
- "gl_Position = uniProjectionMatrix * point;",
47
- "vec4 screenShift = uniProjectionMatrix * shift;",
48
- "gl_PointSize = max(",
49
- ["8.0,", "abs(screenShift.y - gl_Position.y) * uniScreenHeightInPixels / gl_Position.w"],
50
- ");",
51
- ],
52
- }),
53
- frag: new TgdShaderFragment({
54
- uniforms: {
55
- uniTexture: "sampler2D",
56
- },
57
- outputs: {
58
- FragColor: "vec4",
59
- },
60
- mainCode: [
61
- `vec4 color = texture(uniTexture, varUV + gl_PointCoord * vec2(${1 / 3}, 0.5));`,
62
- `if (color.a < ${1 / 0xff}) discard;`,
63
- "color.xyz *= 1.0 - varLight;",
64
- "color.xyz += vec3(varLight);",
65
- "FragColor = color;",
66
- ],
67
- }),
68
- });
69
- this.prg = prg;
70
- const dataset = new TgdDataset({
71
- attPoint: "vec3",
72
- attUV: "vec2",
73
- attIndex: "float",
74
- });
75
- const U = 1 / 3;
76
- const V = 1 / 2;
77
- // prettier-ignore
78
- dataset.set("attPoint", new Float32Array([
79
- +1, 0, 0, 0, +1, 0, 0, 0, +1, -1, 0, 0, 0, -1, 0, 0, 0, -1,
80
- ]));
81
- // prettier-ignore
82
- dataset.set("attUV", new Float32Array([0, 0, U, 0, 2 * U, 0, 0, V, U, V, 2 * U, V]));
83
- dataset.set("attIndex", new Float32Array([0, 1, 2, 3, 4, 5]));
84
- const vao = new TgdVertexArray(context.gl, prg, [dataset], new Uint8Array([0, 1, 2, 3, 4, 5]));
85
- this.vao = vao;
86
- }
87
- delete() {
88
- this.texture.delete();
89
- this.prg.delete();
90
- this.vao.delete();
91
- }
92
- paint(time, delta) {
93
- const { context, prg, vao, texture, index } = this;
94
- const { gl, camera } = context;
95
- prg.use();
96
- prg.uniform1f("uniIndex", index);
97
- prg.uniform1f("uniRadius", 0.333);
98
- prg.uniform1f("uniScreenHeightInPixels", this.size);
99
- prg.uniformMatrix4fv("uniModelViewMatrix", camera.matrixModelView);
100
- prg.uniformMatrix4fv("uniProjectionMatrix", camera.matrixProjection);
101
- texture.activate(0, prg, "uniTexture");
102
- vao.bind();
103
- TgdPainterState.do(context, {
104
- depth: "less",
105
- blend: "alpha",
106
- action: () => gl.drawElements(gl.POINTS, 6, gl.UNSIGNED_BYTE, 0),
107
- });
108
- vao.unbind();
109
- }
110
- }
111
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9ybWFsLjEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcGFpbnRlci9naXptby9wYWludGVycy9ub3JtYWwuMS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUN6QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFDakQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFBO0FBQ3BELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUE7QUFDekMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGVBQWUsRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUVoRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sVUFBVSxDQUFBO0FBQ3pDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLFFBQVEsQ0FBQTtBQU8xQyxNQUFNLE9BQU8saUJBQWtCLFNBQVEsVUFBVTtJQUN0QyxNQUFNLENBQU8sTUFBTSxDQUFDLE9BQW1CLEVBQUUsT0FBa0Q7O1lBQzlGLE1BQU0sT0FBTyxHQUFHLE1BQU0saUJBQWlCLENBQUMsT0FBTyxDQUFDLENBQUE7WUFDaEQsT0FBTyxJQUFJLGlCQUFpQixDQUFDLE9BQU8sa0JBQUksT0FBTyxJQUFLLE9BQU8sRUFBRyxDQUFBO1FBQ2xFLENBQUM7S0FBQTtJQVNELFlBQ3FCLE9BQW1CLEVBQ3BDLE9BQWlDO1FBRWpDLEtBQUssRUFBRSxDQUFBO1FBSFUsWUFBTyxHQUFQLE9BQU8sQ0FBWTtRQVJqQyxVQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUE7UUFZYixJQUFJLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUE7UUFDeEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFBO1FBQzlCLE1BQU0sR0FBRyxHQUFHLElBQUksVUFBVSxDQUFDLE9BQU8sQ0FBQyxFQUFF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
@@ -1,22 +0,0 @@
1
- import { TgdContext } from "../../context";
2
- import { TgdPainter } from "../painter";
3
- import { PainterTipsNormal } from "./painters/normal";
4
- interface SpritesOptions {
5
- /**
6
- * Resulting image will be 3*size × 2*size.
7
- */
8
- size: number;
9
- /**
10
- * Tips' scale
11
- */
12
- scale: number;
13
- red: string;
14
- green: string;
15
- blue: string;
16
- }
17
- export declare function createTipsPainter(context: TgdContext, { size, red, green, blue }?: Partial<SpritesOptions>): Promise<{
18
- tipsNormal: PainterTipsNormal;
19
- tipsMask: TgdPainter;
20
- }>;
21
- export {};
22
- //# sourceMappingURL=tips.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tips.d.ts","sourceRoot":"","sources":["../../../src/painter/gizmo/tips.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAGzC,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AACvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAQrD,UAAU,cAAc;IACpB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAA;IACZ;;OAEG;IACH,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;CACf;AAED,wBAAsB,iBAAiB,CACnC,OAAO,EAAE,UAAU,EACnB,EAAE,IAAU,EAAE,GAAO,EAAE,KAAS,EAAE,IAAQ,EAAE,GAAE,OAAO,CAAC,cAAc,CAAM,GAC3E,OAAO,CAAC;IAAE,UAAU,EAAE,iBAAiB,CAAC;IAAC,QAAQ,EAAE,UAAU,CAAA;CAAE,CAAC,CAalE"}
@@ -1,51 +0,0 @@
1
- import { __awaiter } from "tslib";
2
- import { TgdTexture2D } from "./../../texture/index.js";
3
- import { tgdLoadCanvasFromSvg } from "./../../loader/index.js";
4
- import { TgdColor } from "./../../color/index.js";
5
- import { PainterTipsNormal } from "./painters/normal.js";
6
- import { PainterTipsMask } from "./painters/mask.js";
7
- const SIZE = 256;
8
- const R = "#F63652FF";
9
- const G = "#70A41CFF";
10
- const B = "#2F84E3FF";
11
- export function createTipsPainter(context_1) {
12
- return __awaiter(this, arguments, void 0, function* (context, { size = 128, red = R, green = G, blue = B } = {}) {
13
- const canvas = yield tgdLoadCanvasFromSvg(makeTipsSVG(size, red, green, blue));
14
- const texture = new TgdTexture2D(context, {
15
- params: {
16
- magFilter: "LINEAR",
17
- minFilter: "LINEAR",
18
- },
19
- load: canvas,
20
- });
21
- return {
22
- tipsNormal: new PainterTipsNormal(context, { texture }),
23
- tipsMask: new PainterTipsMask(context),
24
- };
25
- });
26
- }
27
- function makeTipsSVG(size, red, green, blue) {
28
- return `<svg xmlns="http://www.w3.org/2000/svg" width="${3 * size}" height="${2 * size}" viewBox="0 0 ${3 * size} ${2 * size}">
29
- <style>
30
- text {
31
- font: bold ${(80 * size) / 128}px sans-serif;
32
- dominant-baseline: middle;
33
- text-anchor: middle;
34
- transform: translateY(${(8 * size) / 128}px);
35
- }
36
- </style>
37
- ${[red, green, blue].map((color, index) => {
38
- const x = (0.5 + index) * size;
39
- const y1 = size * 0.5;
40
- const y2 = y1 + size;
41
- const r1 = (55 * size) / 128;
42
- const r2 = (50 * size) / 128;
43
- const stroke = (8 * size) / 128;
44
- const back = TgdColor.fromString(color).alphaMul(0.25).toString();
45
- return `<circle fill="${color}" cx="${x}" cy="${y1}" r="${r1}" />
46
- <text fill="#000" x="${x}" y="${y1}">${"XYZ".charAt(index)}</text>
47
- <circle stroke="${color}" fill="${back}" stroke-width="${stroke}" cx="${x}" cy="${y2}" r="${r2}"/>`;
48
- })}
49
- </svg>`;
50
- }
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlwcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYWludGVyL2dpem1vL3RpcHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxjQUFjLENBQUE7QUFFM0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sYUFBYSxDQUFBO0FBQ2xELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFFckMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFDckQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBRWpELE1BQU0sSUFBSSxHQUFHLEdBQUcsQ0FBQTtBQUNoQixNQUFNLENBQUMsR0FBRyxXQUFXLENBQUE7QUFDckIsTUFBTSxDQUFDLEdBQUcsV0FBVyxDQUFBO0FBQ3JCLE1BQU0sQ0FBQyxHQUFHLFdBQVcsQ0FBQTtBQWdCckIsTUFBTSxVQUFnQixpQkFBaUI7eURBQ25DLE9BQW1CLEVBQ25CLEVBQUUsSUFBSSxHQUFHLEdBQUcsRUFBRSxHQUFHLEdBQUcsQ0FBQyxFQUFFLEtBQUssR0FBRyxDQUFDLEVBQUUsSUFBSSxHQUFHLENBQUMsS0FBOEIsRUFBRTtRQUUxRSxNQUFNLE1BQU0sR0FBRyxNQUFNLG9CQUFvQixDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFBO1FBQzlFLE1BQU0sT0FBTyxHQUFHLElBQUksWUFBWSxDQUFDLE9BQU8sRUFBRTtZQUN0QyxNQUFNLEVBQUU7Z0JBQ0osU0FBUyxFQUFFLFFBQVE7Z0JBQ25CLFNBQVMsRUFBRSxRQUFRO2FBQ3RCO1lBQ0QsSUFBSSxFQUFFLE1BQU07U0FDZixDQUFDLENBQUE7UUFDRixPQUFPO1lBQ0gsVUFBVSxFQUFFLElBQUksaUJBQWlCLENBQUMsT0FBTyxFQUFFLEVBQUUsT0FBTyxFQUFFLENBQUM7WUFDdkQsUUFBUSxFQUFFLElBQUksZUFBZSxDQUFDLE9BQU8sQ0FBQztTQUN6QyxDQUFBO0lBQ0wsQ0FBQztDQUFBO0FBRUQsU0FBUyxXQUFXLENBQUMsSUFBWSxFQUFFLEdBQVcsRUFBRSxLQUFhLEVBQUUsSUFBWTtJQUN2RSxPQUFPLGtEQUFrRCxDQUFDLEdBQUcsSUFBSSxhQUM3RCxDQUFDLEdBQUcsSUFDUixrQkFBa0IsQ0FBQyxHQUFHLElBQUksSUFBSSxDQUFDLEdBQUcsSUFBSTs7O2lCQUd6QixDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsR0FBRyxHQUFHOzs7NEJBR04sQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsR0FBRzs7O0VBRzFDLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEVBQUU7UUFDdEMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEdBQUcsS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFBO1FBQzlCLE1BQU0sRUFBRSxHQUFHLElBQUksR0FBRyxHQUFHLENBQUE7UUFDckIsTUFBTSxFQUFFLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQTtRQUNwQixNQUFNLEVBQUUsR0FBRyxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsR0FBRyxHQUFHLENBQUE7UUFDNUIsTUFBTSxFQUFFLEdBQUcsQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLEdBQUcsR0FBRyxDQUFBO1FBQzVCLE1BQU0sTUFBTSxHQUFHLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQTtRQUMvQixNQUFNLElBQUksR0FBRyxRQUFRLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQTtRQUNqRSxPQUFPLGlCQUFpQixLQUFLLFNBQVMsQ0FBQyxTQUFTLEVBQUUsUUFBUSxFQUFFO3VCQUN6QyxDQUFDLFFBQVEsRUFBRSxLQUFLLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO2tCQUN4QyxLQUFLLFdBQVcsSUFBSSxtQkFBbUIsTUFBTSxTQUFTLENBQUMsU0FBUyxFQUFFLFFBQVEsRUFBRSxLQUFLLENBQUE7SUFDbkcsQ0FBQyxDQUFDO09BQ0ssQ0FBQTtBQUNQLENBQUMifQ==
@@ -1,2 +0,0 @@
1
- export declare function ensureArray<T>(items: T | T[] | undefined): T[];
2
- //# sourceMappingURL=array.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"array.d.ts","sourceRoot":"","sources":["../../src/utils/array.ts"],"names":[],"mappings":"AAAA,wBAAgB,WAAW,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,SAAS,GAAG,CAAC,EAAE,CAG9D"}
@@ -1,6 +0,0 @@
1
- export function ensureArray(items) {
2
- if (items === undefined)
3
- return [];
4
- return Array.isArray(items) ? items : [items];
5
- }
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJyYXkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvYXJyYXkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxVQUFVLFdBQVcsQ0FBSSxLQUEwQjtJQUN4RCxJQUFJLEtBQUssS0FBSyxTQUFTO1FBQUUsT0FBTyxFQUFFLENBQUE7SUFDbEMsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUE7QUFDOUMsQ0FBQyJ9