@esotericsoftware/spine-core 4.1.23 → 4.1.25

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 (90) hide show
  1. package/package.json +1 -1
  2. package/dist/Animation.d.ts +0 -382
  3. package/dist/Animation.js +0 -2052
  4. package/dist/AnimationState.d.ts +0 -398
  5. package/dist/AnimationState.js +0 -1096
  6. package/dist/AnimationStateData.d.ts +0 -51
  7. package/dist/AnimationStateData.js +0 -70
  8. package/dist/AssetManagerBase.d.ts +0 -75
  9. package/dist/AssetManagerBase.js +0 -320
  10. package/dist/AtlasAttachmentLoader.d.ts +0 -53
  11. package/dist/AtlasAttachmentLoader.js +0 -95
  12. package/dist/Bone.d.ts +0 -138
  13. package/dist/Bone.js +0 -336
  14. package/dist/BoneData.d.ts +0 -72
  15. package/dist/BoneData.js +0 -80
  16. package/dist/ConstraintData.d.ts +0 -35
  17. package/dist/ConstraintData.js +0 -37
  18. package/dist/Event.d.ts +0 -44
  19. package/dist/Event.js +0 -48
  20. package/dist/EventData.d.ts +0 -41
  21. package/dist/EventData.js +0 -43
  22. package/dist/IkConstraint.d.ts +0 -64
  23. package/dist/IkConstraint.js +0 -296
  24. package/dist/IkConstraintData.d.ts +0 -56
  25. package/dist/IkConstraintData.js +0 -63
  26. package/dist/PathConstraint.d.ts +0 -71
  27. package/dist/PathConstraint.js +0 -476
  28. package/dist/PathConstraintData.d.ts +0 -82
  29. package/dist/PathConstraintData.js +0 -91
  30. package/dist/Skeleton.d.ts +0 -160
  31. package/dist/Skeleton.js +0 -580
  32. package/dist/SkeletonBinary.d.ts +0 -68
  33. package/dist/SkeletonBinary.js +0 -1172
  34. package/dist/SkeletonBounds.d.ts +0 -77
  35. package/dist/SkeletonBounds.js +0 -219
  36. package/dist/SkeletonClipping.d.ts +0 -50
  37. package/dist/SkeletonClipping.js +0 -326
  38. package/dist/SkeletonData.d.ts +0 -114
  39. package/dist/SkeletonData.js +0 -190
  40. package/dist/SkeletonJson.d.ts +0 -53
  41. package/dist/SkeletonJson.js +0 -1027
  42. package/dist/Skin.d.ts +0 -71
  43. package/dist/Skin.js +0 -201
  44. package/dist/Slot.d.ts +0 -69
  45. package/dist/Slot.js +0 -93
  46. package/dist/SlotData.d.ts +0 -57
  47. package/dist/SlotData.js +0 -64
  48. package/dist/Texture.d.ts +0 -69
  49. package/dist/Texture.js +0 -73
  50. package/dist/TextureAtlas.d.ts +0 -67
  51. package/dist/TextureAtlas.js +0 -263
  52. package/dist/TransformConstraint.d.ts +0 -60
  53. package/dist/TransformConstraint.js +0 -247
  54. package/dist/TransformConstraintData.d.ts +0 -62
  55. package/dist/TransformConstraintData.js +0 -69
  56. package/dist/Triangulator.d.ts +0 -43
  57. package/dist/Triangulator.js +0 -244
  58. package/dist/Updatable.d.ts +0 -37
  59. package/dist/Updatable.js +0 -30
  60. package/dist/Utils.d.ts +0 -168
  61. package/dist/Utils.js +0 -404
  62. package/dist/attachments/Attachment.d.ts +0 -72
  63. package/dist/attachments/Attachment.js +0 -147
  64. package/dist/attachments/AttachmentLoader.d.ts +0 -54
  65. package/dist/attachments/AttachmentLoader.js +0 -30
  66. package/dist/attachments/BoundingBoxAttachment.d.ts +0 -40
  67. package/dist/attachments/BoundingBoxAttachment.js +0 -48
  68. package/dist/attachments/ClippingAttachment.d.ts +0 -42
  69. package/dist/attachments/ClippingAttachment.js +0 -51
  70. package/dist/attachments/HasTextureRegion.d.ts +0 -44
  71. package/dist/attachments/HasTextureRegion.js +0 -30
  72. package/dist/attachments/MeshAttachment.d.ts +0 -79
  73. package/dist/attachments/MeshAttachment.js +0 -188
  74. package/dist/attachments/PathAttachment.d.ts +0 -47
  75. package/dist/attachments/PathAttachment.js +0 -59
  76. package/dist/attachments/PointAttachment.d.ts +0 -48
  77. package/dist/attachments/PointAttachment.js +0 -66
  78. package/dist/attachments/RegionAttachment.d.ts +0 -111
  79. package/dist/attachments/RegionAttachment.js +0 -215
  80. package/dist/attachments/Sequence.d.ts +0 -55
  81. package/dist/attachments/Sequence.js +0 -91
  82. package/dist/attachments/index.d.ts +0 -8
  83. package/dist/attachments/index.js +0 -9
  84. package/dist/iife/spine-core.js +0 -9192
  85. package/dist/iife/spine-core.js.map +0 -7
  86. package/dist/iife/spine-core.min.js +0 -2
  87. package/dist/index.d.ts +0 -39
  88. package/dist/index.js +0 -40
  89. package/dist/polyfills.d.ts +0 -29
  90. package/dist/polyfills.js +0 -39
@@ -1,326 +0,0 @@
1
- /******************************************************************************
2
- * Spine Runtimes License Agreement
3
- * Last updated September 24, 2021. Replaces all prior versions.
4
- *
5
- * Copyright (c) 2013-2021, Esoteric Software LLC
6
- *
7
- * Integration of the Spine Runtimes into software or otherwise creating
8
- * derivative works of the Spine Runtimes is permitted under the terms and
9
- * conditions of Section 2 of the Spine Editor License Agreement:
10
- * http://esotericsoftware.com/spine-editor-license
11
- *
12
- * Otherwise, it is permitted to integrate the Spine Runtimes into software
13
- * or otherwise create derivative works of the Spine Runtimes (collectively,
14
- * "Products"), provided that each user of the Products must obtain their own
15
- * Spine Editor license and redistribution of the Products in any form must
16
- * include this license and copyright notice.
17
- *
18
- * THE SPINE RUNTIMES ARE PROVIDED BY ESOTERIC SOFTWARE LLC "AS IS" AND ANY
19
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
20
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
21
- * DISCLAIMED. IN NO EVENT SHALL ESOTERIC SOFTWARE LLC BE LIABLE FOR ANY
22
- * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
23
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
24
- * BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
25
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
27
- * THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28
- *****************************************************************************/
29
- import { Triangulator } from "./Triangulator";
30
- import { Utils } from "./Utils";
31
- export class SkeletonClipping {
32
- constructor() {
33
- this.triangulator = new Triangulator();
34
- this.clippingPolygon = new Array();
35
- this.clipOutput = new Array();
36
- this.clippedVertices = new Array();
37
- this.clippedTriangles = new Array();
38
- this.scratch = new Array();
39
- this.clipAttachment = null;
40
- this.clippingPolygons = null;
41
- }
42
- clipStart(slot, clip) {
43
- if (this.clipAttachment)
44
- return 0;
45
- this.clipAttachment = clip;
46
- let n = clip.worldVerticesLength;
47
- let vertices = Utils.setArraySize(this.clippingPolygon, n);
48
- clip.computeWorldVertices(slot, 0, n, vertices, 0, 2);
49
- let clippingPolygon = this.clippingPolygon;
50
- SkeletonClipping.makeClockwise(clippingPolygon);
51
- let clippingPolygons = this.clippingPolygons = this.triangulator.decompose(clippingPolygon, this.triangulator.triangulate(clippingPolygon));
52
- for (let i = 0, n = clippingPolygons.length; i < n; i++) {
53
- let polygon = clippingPolygons[i];
54
- SkeletonClipping.makeClockwise(polygon);
55
- polygon.push(polygon[0]);
56
- polygon.push(polygon[1]);
57
- }
58
- return clippingPolygons.length;
59
- }
60
- clipEndWithSlot(slot) {
61
- if (this.clipAttachment && this.clipAttachment.endSlot == slot.data)
62
- this.clipEnd();
63
- }
64
- clipEnd() {
65
- if (!this.clipAttachment)
66
- return;
67
- this.clipAttachment = null;
68
- this.clippingPolygons = null;
69
- this.clippedVertices.length = 0;
70
- this.clippedTriangles.length = 0;
71
- this.clippingPolygon.length = 0;
72
- }
73
- isClipping() {
74
- return this.clipAttachment != null;
75
- }
76
- clipTriangles(vertices, verticesLength, triangles, trianglesLength, uvs, light, dark, twoColor) {
77
- let clipOutput = this.clipOutput, clippedVertices = this.clippedVertices;
78
- let clippedTriangles = this.clippedTriangles;
79
- let polygons = this.clippingPolygons;
80
- let polygonsCount = polygons.length;
81
- let vertexSize = twoColor ? 12 : 8;
82
- let index = 0;
83
- clippedVertices.length = 0;
84
- clippedTriangles.length = 0;
85
- outer: for (let i = 0; i < trianglesLength; i += 3) {
86
- let vertexOffset = triangles[i] << 1;
87
- let x1 = vertices[vertexOffset], y1 = vertices[vertexOffset + 1];
88
- let u1 = uvs[vertexOffset], v1 = uvs[vertexOffset + 1];
89
- vertexOffset = triangles[i + 1] << 1;
90
- let x2 = vertices[vertexOffset], y2 = vertices[vertexOffset + 1];
91
- let u2 = uvs[vertexOffset], v2 = uvs[vertexOffset + 1];
92
- vertexOffset = triangles[i + 2] << 1;
93
- let x3 = vertices[vertexOffset], y3 = vertices[vertexOffset + 1];
94
- let u3 = uvs[vertexOffset], v3 = uvs[vertexOffset + 1];
95
- for (let p = 0; p < polygonsCount; p++) {
96
- let s = clippedVertices.length;
97
- if (this.clip(x1, y1, x2, y2, x3, y3, polygons[p], clipOutput)) {
98
- let clipOutputLength = clipOutput.length;
99
- if (clipOutputLength == 0)
100
- continue;
101
- let d0 = y2 - y3, d1 = x3 - x2, d2 = x1 - x3, d4 = y3 - y1;
102
- let d = 1 / (d0 * d2 + d1 * (y1 - y3));
103
- let clipOutputCount = clipOutputLength >> 1;
104
- let clipOutputItems = this.clipOutput;
105
- let clippedVerticesItems = Utils.setArraySize(clippedVertices, s + clipOutputCount * vertexSize);
106
- for (let ii = 0; ii < clipOutputLength; ii += 2) {
107
- let x = clipOutputItems[ii], y = clipOutputItems[ii + 1];
108
- clippedVerticesItems[s] = x;
109
- clippedVerticesItems[s + 1] = y;
110
- clippedVerticesItems[s + 2] = light.r;
111
- clippedVerticesItems[s + 3] = light.g;
112
- clippedVerticesItems[s + 4] = light.b;
113
- clippedVerticesItems[s + 5] = light.a;
114
- let c0 = x - x3, c1 = y - y3;
115
- let a = (d0 * c0 + d1 * c1) * d;
116
- let b = (d4 * c0 + d2 * c1) * d;
117
- let c = 1 - a - b;
118
- clippedVerticesItems[s + 6] = u1 * a + u2 * b + u3 * c;
119
- clippedVerticesItems[s + 7] = v1 * a + v2 * b + v3 * c;
120
- if (twoColor) {
121
- clippedVerticesItems[s + 8] = dark.r;
122
- clippedVerticesItems[s + 9] = dark.g;
123
- clippedVerticesItems[s + 10] = dark.b;
124
- clippedVerticesItems[s + 11] = dark.a;
125
- }
126
- s += vertexSize;
127
- }
128
- s = clippedTriangles.length;
129
- let clippedTrianglesItems = Utils.setArraySize(clippedTriangles, s + 3 * (clipOutputCount - 2));
130
- clipOutputCount--;
131
- for (let ii = 1; ii < clipOutputCount; ii++) {
132
- clippedTrianglesItems[s] = index;
133
- clippedTrianglesItems[s + 1] = (index + ii);
134
- clippedTrianglesItems[s + 2] = (index + ii + 1);
135
- s += 3;
136
- }
137
- index += clipOutputCount + 1;
138
- }
139
- else {
140
- let clippedVerticesItems = Utils.setArraySize(clippedVertices, s + 3 * vertexSize);
141
- clippedVerticesItems[s] = x1;
142
- clippedVerticesItems[s + 1] = y1;
143
- clippedVerticesItems[s + 2] = light.r;
144
- clippedVerticesItems[s + 3] = light.g;
145
- clippedVerticesItems[s + 4] = light.b;
146
- clippedVerticesItems[s + 5] = light.a;
147
- if (!twoColor) {
148
- clippedVerticesItems[s + 6] = u1;
149
- clippedVerticesItems[s + 7] = v1;
150
- clippedVerticesItems[s + 8] = x2;
151
- clippedVerticesItems[s + 9] = y2;
152
- clippedVerticesItems[s + 10] = light.r;
153
- clippedVerticesItems[s + 11] = light.g;
154
- clippedVerticesItems[s + 12] = light.b;
155
- clippedVerticesItems[s + 13] = light.a;
156
- clippedVerticesItems[s + 14] = u2;
157
- clippedVerticesItems[s + 15] = v2;
158
- clippedVerticesItems[s + 16] = x3;
159
- clippedVerticesItems[s + 17] = y3;
160
- clippedVerticesItems[s + 18] = light.r;
161
- clippedVerticesItems[s + 19] = light.g;
162
- clippedVerticesItems[s + 20] = light.b;
163
- clippedVerticesItems[s + 21] = light.a;
164
- clippedVerticesItems[s + 22] = u3;
165
- clippedVerticesItems[s + 23] = v3;
166
- }
167
- else {
168
- clippedVerticesItems[s + 6] = u1;
169
- clippedVerticesItems[s + 7] = v1;
170
- clippedVerticesItems[s + 8] = dark.r;
171
- clippedVerticesItems[s + 9] = dark.g;
172
- clippedVerticesItems[s + 10] = dark.b;
173
- clippedVerticesItems[s + 11] = dark.a;
174
- clippedVerticesItems[s + 12] = x2;
175
- clippedVerticesItems[s + 13] = y2;
176
- clippedVerticesItems[s + 14] = light.r;
177
- clippedVerticesItems[s + 15] = light.g;
178
- clippedVerticesItems[s + 16] = light.b;
179
- clippedVerticesItems[s + 17] = light.a;
180
- clippedVerticesItems[s + 18] = u2;
181
- clippedVerticesItems[s + 19] = v2;
182
- clippedVerticesItems[s + 20] = dark.r;
183
- clippedVerticesItems[s + 21] = dark.g;
184
- clippedVerticesItems[s + 22] = dark.b;
185
- clippedVerticesItems[s + 23] = dark.a;
186
- clippedVerticesItems[s + 24] = x3;
187
- clippedVerticesItems[s + 25] = y3;
188
- clippedVerticesItems[s + 26] = light.r;
189
- clippedVerticesItems[s + 27] = light.g;
190
- clippedVerticesItems[s + 28] = light.b;
191
- clippedVerticesItems[s + 29] = light.a;
192
- clippedVerticesItems[s + 30] = u3;
193
- clippedVerticesItems[s + 31] = v3;
194
- clippedVerticesItems[s + 32] = dark.r;
195
- clippedVerticesItems[s + 33] = dark.g;
196
- clippedVerticesItems[s + 34] = dark.b;
197
- clippedVerticesItems[s + 35] = dark.a;
198
- }
199
- s = clippedTriangles.length;
200
- let clippedTrianglesItems = Utils.setArraySize(clippedTriangles, s + 3);
201
- clippedTrianglesItems[s] = index;
202
- clippedTrianglesItems[s + 1] = (index + 1);
203
- clippedTrianglesItems[s + 2] = (index + 2);
204
- index += 3;
205
- continue outer;
206
- }
207
- }
208
- }
209
- }
210
- /** Clips the input triangle against the convex, clockwise clipping area. If the triangle lies entirely within the clipping
211
- * area, false is returned. The clipping area must duplicate the first vertex at the end of the vertices list. */
212
- clip(x1, y1, x2, y2, x3, y3, clippingArea, output) {
213
- let originalOutput = output;
214
- let clipped = false;
215
- // Avoid copy at the end.
216
- let input;
217
- if (clippingArea.length % 4 >= 2) {
218
- input = output;
219
- output = this.scratch;
220
- }
221
- else
222
- input = this.scratch;
223
- input.length = 0;
224
- input.push(x1);
225
- input.push(y1);
226
- input.push(x2);
227
- input.push(y2);
228
- input.push(x3);
229
- input.push(y3);
230
- input.push(x1);
231
- input.push(y1);
232
- output.length = 0;
233
- let clippingVertices = clippingArea;
234
- let clippingVerticesLast = clippingArea.length - 4;
235
- for (let i = 0;; i += 2) {
236
- let edgeX = clippingVertices[i], edgeY = clippingVertices[i + 1];
237
- let edgeX2 = clippingVertices[i + 2], edgeY2 = clippingVertices[i + 3];
238
- let deltaX = edgeX - edgeX2, deltaY = edgeY - edgeY2;
239
- let inputVertices = input;
240
- let inputVerticesLength = input.length - 2, outputStart = output.length;
241
- for (let ii = 0; ii < inputVerticesLength; ii += 2) {
242
- let inputX = inputVertices[ii], inputY = inputVertices[ii + 1];
243
- let inputX2 = inputVertices[ii + 2], inputY2 = inputVertices[ii + 3];
244
- let side2 = deltaX * (inputY2 - edgeY2) - deltaY * (inputX2 - edgeX2) > 0;
245
- if (deltaX * (inputY - edgeY2) - deltaY * (inputX - edgeX2) > 0) {
246
- if (side2) { // v1 inside, v2 inside
247
- output.push(inputX2);
248
- output.push(inputY2);
249
- continue;
250
- }
251
- // v1 inside, v2 outside
252
- let c0 = inputY2 - inputY, c2 = inputX2 - inputX;
253
- let s = c0 * (edgeX2 - edgeX) - c2 * (edgeY2 - edgeY);
254
- if (Math.abs(s) > 0.000001) {
255
- let ua = (c2 * (edgeY - inputY) - c0 * (edgeX - inputX)) / s;
256
- output.push(edgeX + (edgeX2 - edgeX) * ua);
257
- output.push(edgeY + (edgeY2 - edgeY) * ua);
258
- }
259
- else {
260
- output.push(edgeX);
261
- output.push(edgeY);
262
- }
263
- }
264
- else if (side2) { // v1 outside, v2 inside
265
- let c0 = inputY2 - inputY, c2 = inputX2 - inputX;
266
- let s = c0 * (edgeX2 - edgeX) - c2 * (edgeY2 - edgeY);
267
- if (Math.abs(s) > 0.000001) {
268
- let ua = (c2 * (edgeY - inputY) - c0 * (edgeX - inputX)) / s;
269
- output.push(edgeX + (edgeX2 - edgeX) * ua);
270
- output.push(edgeY + (edgeY2 - edgeY) * ua);
271
- }
272
- else {
273
- output.push(edgeX);
274
- output.push(edgeY);
275
- }
276
- output.push(inputX2);
277
- output.push(inputY2);
278
- }
279
- clipped = true;
280
- }
281
- if (outputStart == output.length) { // All edges outside.
282
- originalOutput.length = 0;
283
- return true;
284
- }
285
- output.push(output[0]);
286
- output.push(output[1]);
287
- if (i == clippingVerticesLast)
288
- break;
289
- let temp = output;
290
- output = input;
291
- output.length = 0;
292
- input = temp;
293
- }
294
- if (originalOutput != output) {
295
- originalOutput.length = 0;
296
- for (let i = 0, n = output.length - 2; i < n; i++)
297
- originalOutput[i] = output[i];
298
- }
299
- else
300
- originalOutput.length = originalOutput.length - 2;
301
- return clipped;
302
- }
303
- static makeClockwise(polygon) {
304
- let vertices = polygon;
305
- let verticeslength = polygon.length;
306
- let area = vertices[verticeslength - 2] * vertices[1] - vertices[0] * vertices[verticeslength - 1], p1x = 0, p1y = 0, p2x = 0, p2y = 0;
307
- for (let i = 0, n = verticeslength - 3; i < n; i += 2) {
308
- p1x = vertices[i];
309
- p1y = vertices[i + 1];
310
- p2x = vertices[i + 2];
311
- p2y = vertices[i + 3];
312
- area += p1x * p2y - p2x * p1y;
313
- }
314
- if (area < 0)
315
- return;
316
- for (let i = 0, lastX = verticeslength - 2, n = verticeslength >> 1; i < n; i += 2) {
317
- let x = vertices[i], y = vertices[i + 1];
318
- let other = lastX - i;
319
- vertices[i] = vertices[other];
320
- vertices[i + 1] = vertices[other + 1];
321
- vertices[other] = x;
322
- vertices[other + 1] = y;
323
- }
324
- }
325
- }
326
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2tlbGV0b25DbGlwcGluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9Ta2VsZXRvbkNsaXBwaW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7K0VBMkIrRTtBQUkvRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUMsT0FBTyxFQUFFLEtBQUssRUFBMEIsTUFBTSxTQUFTLENBQUM7QUFFeEQsTUFBTSxPQUFPLGdCQUFnQjtJQUE3QjtRQUNTLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNsQyxvQkFBZSxHQUFHLElBQUksS0FBSyxFQUFVLENBQUM7UUFDdEMsZUFBVSxHQUFHLElBQUksS0FBSyxFQUFVLENBQUM7UUFDekMsb0JBQWUsR0FBRyxJQUFJLEtBQUssRUFBVSxDQUFDO1FBQ3RDLHFCQUFnQixHQUFHLElBQUksS0FBSyxFQUFVLENBQUM7UUFDL0IsWUFBTyxHQUFHLElBQUksS0FBSyxFQUFVLENBQUM7UUFFOUIsbUJBQWMsR0FBOEIsSUFBSSxDQUFDO1FBQ2pELHFCQUFnQixHQUFnQyxJQUFJLENBQUM7SUFrVDlELENBQUM7SUFoVEEsU0FBUyxDQUFFLElBQVUsRUFBRSxJQUF3QjtRQUM5QyxJQUFJLElBQUksQ0FBQyxjQUFjO1lBQUUsT0FBTyxDQUFDLENBQUM7UUFDbEMsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUM7UUFFM0IsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDO1FBQ2pDLElBQUksUUFBUSxHQUFHLEtBQUssQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUMzRCxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsUUFBUSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUN0RCxJQUFJ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QW9CLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQzt3QkFDakMsb0JBQW9CLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQzt3QkFFakMsb0JBQW9CLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQzt3QkFDakMsb0JBQW9CLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQzt3QkFDakMsb0JBQW9CLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUM7d0JBQ3ZDLG9CQUFvQixDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDO3dCQUN2QyxvQkFBb0IsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQzt3QkFDdkMsb0JBQW9CLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUM7d0JBQ3ZDLG9CQUFvQixDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUM7d0JBQ2xDLG9CQUFvQixDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUM7d0JBRWxDLG9CQUFvQixDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUM7d0JBQ2xDLG9CQUFvQixDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUM7d0JBQ2xDLG9CQUFvQixDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDO3dCQUN2QyxvQkFBb0IsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQzt3QkFDdkMsb0JBQW9CLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUM7d0JBQ3ZDLG9CQUFvQixDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDO3dCQUN2QyxvQkFBb0IsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsRUFBRSxDQUFDO3dCQUNsQyxvQkFBb0IsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsRUFBRSxDQUFDO3FCQUNsQzt5QkFBTTt3QkFDTixvQkFBb0IsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDO3dCQUNqQyxvQkFBb0IsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDO3dCQUNqQyxvQkFBb0IsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQzt3QkFDckMsb0JBQW9CLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUM7d0JBQ3JDLG9CQUFvQixDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDO3dCQUN0QyxvQkFBb0IsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQzt3QkFFdEMsb0JBQW9CLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQzt3QkFDbEMsb0JBQW9CLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQzt3QkFDbEMsb0JBQW9CLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUM7d0JBQ3ZDLG9CQUFvQixDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDO3dCQUN2QyxvQkFBb0IsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQzt3QkFDdkMsb0JBQW9CLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUM7d0JBQ3ZDLG9CQUFvQixDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUM7d0JBQ2xDLG9CQUFvQixDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUM7d0JBQ2xDLG9CQUFvQixDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDO3dCQUN0QyxvQkFBb0IsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQzt3QkFDdEMsb0JBQW9CLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUM7d0JBQ3RDLG9CQUFvQixDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDO3dCQUV0QyxvQkFBb0IsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsRUFBRSxDQUFDO3dCQUNsQyxvQkFBb0IsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsRUFBRSxDQUFDO3dCQUNsQyxvQkFBb0IsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQzt3QkFDdkMsb0JBQW9CLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUM7d0JBQ3ZDLG9CQUFvQixDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDO3dCQUN2QyxvQkFBb0IsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQzt3QkFDdkMsb0JBQW9CLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQzt3QkFDbEMsb0JBQW9CLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQzt3QkFDbEMsb0JBQW9CLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUM7d0JBQ3RDLG9CQUFvQixDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDO3dCQUN0QyxvQkFBb0IsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQzt3QkFDdEMsb0JBQW9CLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUM7cUJBQ3RDO29CQUVELENBQUMsR0FBRyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUM7b0JBQzVCLElBQUkscUJBQXFCLEdBQUcsS0FBSyxDQUFDLFlBQVksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7b0JBQ3hFLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQztvQkFDakMscUJBQXFCLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDO29CQUMzQyxxQkFBcUIsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUM7b0JBQzNDLEtBQUssSUFBSSxDQUFDLENBQUM7b0JBQ1gsU0FBUyxLQUFLLENBQUM7aUJBQ2Y7YUFDRDtTQUNEO0lBQ0YsQ0FBQztJQUVEO3FIQUNpSDtJQUNqSCxJQUFJLENBQUUsRUFBVSxFQUFFLEVBQVUsRUFBRSxFQUFVLEVBQUUsRUFBVSxFQUFFLEVBQVUsRUFBRSxFQUFVLEVBQUUsWUFBMkIsRUFBRSxNQUFxQjtRQUMvSCxJQUFJLGNBQWMsR0FBRyxNQUFNLENBQUM7UUFDNUIsSUFBSSxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBRXBCLHlCQUF5QjtRQUN6QixJQUFJLEtBQW9CLENBQUM7UUFDekIsSUFBSSxZQUFZLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDakMsS0FBSyxHQUFHLE1BQU0sQ0FBQztZQUNmLE1BQU0sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1NBQ3RCOztZQUNBLEtBQUssR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBRXRCLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQ2pCLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDZixLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ2YsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNmLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDZixLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ2YsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNmLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDZixLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ2YsTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7UUFFbEIsSUFBSSxnQkFBZ0IsR0FBRyxZQUFZLENBQUM7UUFDcEMsSUFBSSxvQkFBb0IsR0FBRyxZQUFZLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztRQUNuRCxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBSSxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ3pCLElBQUksS0FBSyxHQUFHLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssR0FBRyxnQkFBZ0IsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDakUsSUFBSSxNQUFNLEdBQUcsZ0JBQWdCLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLE1BQU0sR0FBRyxnQkFBZ0IsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDdkUsSUFBSSxNQUFNLEdBQUcsS0FBSyxHQUFHLE1BQU0sRUFBRSxNQUFNLEdBQUcsS0FBSyxHQUFHLE1BQU0sQ0FBQztZQUVyRCxJQUFJLGFBQWEsR0FBRyxLQUFLLENBQUM7WUFDMUIsSUFBSSxtQkFBbUIsR0FBRyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxXQUFXLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQztZQUN4RSxLQUFLLElBQUksRUFBRSxHQUFHLENBQUMsRUFBRSxFQUFFLEdBQUcsbUJBQW1CLEVBQUUsRUFBRSxJQUFJLENBQUMsRUFBRTtnQkFDbkQsSUFBSSxNQUFNLEdBQUcsYUFBYSxDQUFDLEVBQUUsQ0FBQyxFQUFFLE1BQU0sR0FBRyxhQUFhLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO2dCQUMvRCxJQUFJLE9BQU8sR0FBRyxhQUFhLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxFQUFFLE9BQU8sR0FBRyxhQUFhLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO2dCQUNyRSxJQUFJLEtBQUssR0FBRyxNQUFNLEdBQUcsQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDLEdBQUcsTUFBTSxHQUFHLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDMUUsSUFBSSxNQUFNLEdBQUcsQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLEdBQUcsTUFBTSxHQUFHLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRTtvQkFDaEUsSUFBSSxLQUFLLEVBQUUsRUFBRSx1QkFBdUI7d0JBQ25DLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7d0JBQ3JCLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7d0JBQ3JCLFNBQVM7cUJBQ1Q7b0JBQ0Qsd0JBQXdCO29CQUN4QixJQUFJLEVBQUUsR0FBRyxPQUFPLEdBQUcsTUFBTSxFQUFFLEVBQUUsR0FBRyxPQUFPLEdBQUcsTUFBTSxDQUFDO29CQUNqRCxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxDQUFDO29CQUN0RCxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsUUFBUSxFQUFFO3dCQUMzQixJQUFJLEVBQUUsR0FBRyxDQUFDLEVBQUUsR0FBRyxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7d0JBQzdELE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO3dCQUMzQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQztxQkFDM0M7eUJBQU07d0JBQ04sTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQzt3QkFDbkIsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztxQkFDbkI7aUJBQ0Q7cUJBQU0sSUFBSSxLQUFLLEVBQUUsRUFBRSx3QkFBd0I7b0JBQzNDLElBQUksRUFBRSxHQUFHLE9BQU8sR0FBRyxNQUFNLEVBQUUsRUFBRSxHQUFHLE9BQU8sR0FBRyxNQUFNLENBQUM7b0JBQ2pELElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDLENBQUM7b0JBQ3RELElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxRQUFRLEVBQUU7d0JBQzNCLElBQUksRUFBRSxHQUFHLENBQUMsRUFBRSxHQUFHLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQzt3QkFDN0QsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7d0JBQzNDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO3FCQUMzQzt5QkFBTTt3QkFDTixNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO3dCQUNuQixNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO3FCQUNuQjtvQkFDRCxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO29CQUNyQixNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2lCQUNyQjtnQkFDRCxPQUFPLEdBQUcsSUFBSSxDQUFDO2FBQ2Y7WUFFRCxJQUFJLFdBQVcsSUFBSSxNQUFNLENBQUMsTUFBTSxFQUFFLEVBQUUscUJBQXFCO2dCQUN4RCxjQUFjLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztnQkFDMUIsT0FBTyxJQUFJLENBQUM7YUFDWjtZQUVELE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDdkIsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUV2QixJQUFJLENBQUMsSUFBSSxvQkFBb0I7Z0JBQUUsTUFBTTtZQUNyQyxJQUFJLElBQUksR0FBRyxNQUFNLENBQUM7WUFDbEIsTUFBTSxHQUFHLEtBQUssQ0FBQztZQUNmLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1lBQ2xCLEtBQUssR0FBRyxJQUFJLENBQUM7U0FDYjtRQUVELElBQUksY0FBYyxJQUFJLE1BQU0sRUFBRTtZQUM3QixjQUFjLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztZQUMxQixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUU7Z0JBQ2hELGNBQWMsQ0FBQyxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDL0I7O1lBQ0EsY0FBYyxDQUFDLE1BQU0sR0FBRyxjQUFjLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztRQUVuRCxPQUFPLE9BQU8sQ0FBQztJQUNoQixDQUFDO0lBRU0sTUFBTSxDQUFDLGFBQWEsQ0FBRSxPQUF3QjtRQUNwRCxJQUFJLFFBQVEsR0FBRyxPQUFPLENBQUM7UUFDdkIsSUFBSSxjQUFjLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQztRQUVwQyxJQUFJLElBQUksR0FBRyxRQUFRLENBQUMsY0FBYyxHQUFHLENBQUMsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMsR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLEdBQUcsUUFBUSxDQUFDLGNBQWMsR0FBRyxDQUFDLENBQUMsRUFBRSxHQUFHLEdBQUcsQ0FBQyxFQUFFLEdBQUcsR0FBRyxDQUFDLEVBQUUsR0FBRyxHQUFHLENBQUMsRUFBRSxHQUFHLEdBQUcsQ0FBQyxDQUFDO1FBQ3ZJLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxjQUFjLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUN0RCxHQUFHLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2xCLEdBQUcsR0FBRyxRQUFRLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQ3RCLEdBQUcsR0FBRyxRQUFRLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQ3RCLEdBQUcsR0FBRyxRQUFRLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQ3RCLElBQUksSUFBSSxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLENBQUM7U0FDOUI7UUFDRCxJQUFJLElBQUksR0FBRyxDQUFDO1lBQUUsT0FBTztRQUVyQixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxLQUFLLEdBQUcsY0FBYyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsY0FBYyxJQUFJLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDbkYsSUFBSSxDQUFDLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxRQUFRLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQ3pDLElBQUksS0FBSyxHQUFHLEtBQUssR0FBRyxDQUFDLENBQUM7WUFDdEIsUUFBUSxDQUFDLENBQUMsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUM5QixRQUFRLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDdEMsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNwQixRQUFRLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUN4QjtJQUNGLENBQUM7Q0FDRCJ9
@@ -1,114 +0,0 @@
1
- /******************************************************************************
2
- * Spine Runtimes License Agreement
3
- * Last updated September 24, 2021. Replaces all prior versions.
4
- *
5
- * Copyright (c) 2013-2021, Esoteric Software LLC
6
- *
7
- * Integration of the Spine Runtimes into software or otherwise creating
8
- * derivative works of the Spine Runtimes is permitted under the terms and
9
- * conditions of Section 2 of the Spine Editor License Agreement:
10
- * http://esotericsoftware.com/spine-editor-license
11
- *
12
- * Otherwise, it is permitted to integrate the Spine Runtimes into software
13
- * or otherwise create derivative works of the Spine Runtimes (collectively,
14
- * "Products"), provided that each user of the Products must obtain their own
15
- * Spine Editor license and redistribution of the Products in any form must
16
- * include this license and copyright notice.
17
- *
18
- * THE SPINE RUNTIMES ARE PROVIDED BY ESOTERIC SOFTWARE LLC "AS IS" AND ANY
19
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
20
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
21
- * DISCLAIMED. IN NO EVENT SHALL ESOTERIC SOFTWARE LLC BE LIABLE FOR ANY
22
- * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
23
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
24
- * BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
25
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
27
- * THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28
- *****************************************************************************/
29
- import { Animation } from "./Animation";
30
- import { BoneData } from "./BoneData";
31
- import { EventData } from "./EventData";
32
- import { IkConstraintData } from "./IkConstraintData";
33
- import { PathConstraintData } from "./PathConstraintData";
34
- import { Skin } from "./Skin";
35
- import { SlotData } from "./SlotData";
36
- import { TransformConstraintData } from "./TransformConstraintData";
37
- /** Stores the setup pose and all of the stateless data for a skeleton.
38
- *
39
- * See [Data objects](http://esotericsoftware.com/spine-runtime-architecture#Data-objects) in the Spine Runtimes
40
- * Guide. */
41
- export declare class SkeletonData {
42
- /** The skeleton's name, which by default is the name of the skeleton data file, if possible. May be null. */
43
- name: string | null;
44
- /** The skeleton's bones, sorted parent first. The root bone is always the first bone. */
45
- bones: BoneData[];
46
- /** The skeleton's slots. */
47
- slots: SlotData[];
48
- skins: Skin[];
49
- /** The skeleton's default skin. By default this skin contains all attachments that were not in a skin in Spine.
50
- *
51
- * See {@link Skeleton#getAttachmentByName()}.
52
- * May be null. */
53
- defaultSkin: Skin | null;
54
- /** The skeleton's events. */
55
- events: EventData[];
56
- /** The skeleton's animations. */
57
- animations: Animation[];
58
- /** The skeleton's IK constraints. */
59
- ikConstraints: IkConstraintData[];
60
- /** The skeleton's transform constraints. */
61
- transformConstraints: TransformConstraintData[];
62
- /** The skeleton's path constraints. */
63
- pathConstraints: PathConstraintData[];
64
- /** The X coordinate of the skeleton's axis aligned bounding box in the setup pose. */
65
- x: number;
66
- /** The Y coordinate of the skeleton's axis aligned bounding box in the setup pose. */
67
- y: number;
68
- /** The width of the skeleton's axis aligned bounding box in the setup pose. */
69
- width: number;
70
- /** The height of the skeleton's axis aligned bounding box in the setup pose. */
71
- height: number;
72
- /** The Spine version used to export the skeleton data, or null. */
73
- version: string | null;
74
- /** The skeleton data hash. This value will change if any of the skeleton data has changed. May be null. */
75
- hash: string | null;
76
- /** The dopesheet FPS in Spine. Available only when nonessential data was exported. */
77
- fps: number;
78
- /** The path to the images directory as defined in Spine. Available only when nonessential data was exported. May be null. */
79
- imagesPath: string | null;
80
- /** The path to the audio directory as defined in Spine. Available only when nonessential data was exported. May be null. */
81
- audioPath: string | null;
82
- /** Finds a bone by comparing each bone's name. It is more efficient to cache the results of this method than to call it
83
- * multiple times.
84
- * @returns May be null. */
85
- findBone(boneName: string): BoneData | null;
86
- /** Finds a slot by comparing each slot's name. It is more efficient to cache the results of this method than to call it
87
- * multiple times.
88
- * @returns May be null. */
89
- findSlot(slotName: string): SlotData | null;
90
- /** Finds a skin by comparing each skin's name. It is more efficient to cache the results of this method than to call it
91
- * multiple times.
92
- * @returns May be null. */
93
- findSkin(skinName: string): Skin | null;
94
- /** Finds an event by comparing each events's name. It is more efficient to cache the results of this method than to call it
95
- * multiple times.
96
- * @returns May be null. */
97
- findEvent(eventDataName: string): EventData | null;
98
- /** Finds an animation by comparing each animation's name. It is more efficient to cache the results of this method than to
99
- * call it multiple times.
100
- * @returns May be null. */
101
- findAnimation(animationName: string): Animation | null;
102
- /** Finds an IK constraint by comparing each IK constraint's name. It is more efficient to cache the results of this method
103
- * than to call it multiple times.
104
- * @return May be null. */
105
- findIkConstraint(constraintName: string): IkConstraintData | null;
106
- /** Finds a transform constraint by comparing each transform constraint's name. It is more efficient to cache the results of
107
- * this method than to call it multiple times.
108
- * @return May be null. */
109
- findTransformConstraint(constraintName: string): TransformConstraintData | null;
110
- /** Finds a path constraint by comparing each path constraint's name. It is more efficient to cache the results of this method
111
- * than to call it multiple times.
112
- * @return May be null. */
113
- findPathConstraint(constraintName: string): PathConstraintData | null;
114
- }