@esotericsoftware/spine-webgl 4.2.117 → 4.3.1
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/dist/AssetManager.d.ts +1 -1
- package/dist/AssetManager.js +2 -4
- package/dist/Camera.js +7 -7
- package/dist/CameraController.d.ts +1 -1
- package/dist/CameraController.js +14 -14
- package/dist/GLTexture.d.ts +3 -3
- package/dist/GLTexture.js +14 -12
- package/dist/Input.d.ts +1 -1
- package/dist/Input.js +40 -39
- package/dist/LoadingScreen.d.ts +2 -2
- package/dist/LoadingScreen.js +16 -16
- package/dist/Matrix4.js +31 -31
- package/dist/Mesh.d.ts +1 -1
- package/dist/Mesh.js +15 -15
- package/dist/PolygonBatcher.d.ts +4 -4
- package/dist/PolygonBatcher.js +20 -22
- package/dist/SceneRenderer.d.ts +8 -7
- package/dist/SceneRenderer.js +44 -37
- package/dist/Shader.d.ts +1 -1
- package/dist/Shader.js +23 -23
- package/dist/ShapeRenderer.d.ts +2 -2
- package/dist/ShapeRenderer.js +38 -47
- package/dist/SkeletonDebugRenderer.d.ts +2 -3
- package/dist/SkeletonDebugRenderer.js +56 -58
- package/dist/SkeletonRenderer.d.ts +3 -4
- package/dist/SkeletonRenderer.js +59 -69
- package/dist/SpineCanvas.d.ts +2 -2
- package/dist/SpineCanvas.js +4 -4
- package/dist/Vector3.d.ts +1 -1
- package/dist/Vector3.js +8 -8
- package/dist/esm/spine-webgl.min.mjs +26 -26
- package/dist/esm/spine-webgl.mjs +8097 -6477
- package/dist/esm/spine-webgl.mjs.map +4 -4
- package/dist/iife/spine-webgl.js +8097 -6477
- package/dist/iife/spine-webgl.js.map +4 -4
- package/dist/iife/spine-webgl.min.js +26 -26
- package/dist/index.d.ts +1 -1
- package/dist/index.js +2 -2
- package/package.json +2 -2
package/dist/Matrix4.js
CHANGED
|
@@ -51,7 +51,7 @@ export class Matrix4 {
|
|
|
51
51
|
static zAxis = new Vector3();
|
|
52
52
|
static tmpMatrix = new Matrix4();
|
|
53
53
|
constructor() {
|
|
54
|
-
|
|
54
|
+
const v = this.values;
|
|
55
55
|
v[M00] = 1;
|
|
56
56
|
v[M11] = 1;
|
|
57
57
|
v[M22] = 1;
|
|
@@ -62,8 +62,8 @@ export class Matrix4 {
|
|
|
62
62
|
return this;
|
|
63
63
|
}
|
|
64
64
|
transpose() {
|
|
65
|
-
|
|
66
|
-
|
|
65
|
+
const t = this.temp;
|
|
66
|
+
const v = this.values;
|
|
67
67
|
t[M00] = v[M00];
|
|
68
68
|
t[M01] = v[M10];
|
|
69
69
|
t[M02] = v[M20];
|
|
@@ -83,7 +83,7 @@ export class Matrix4 {
|
|
|
83
83
|
return this.set(t);
|
|
84
84
|
}
|
|
85
85
|
identity() {
|
|
86
|
-
|
|
86
|
+
const v = this.values;
|
|
87
87
|
v[M00] = 1;
|
|
88
88
|
v[M01] = 0;
|
|
89
89
|
v[M02] = 0;
|
|
@@ -103,9 +103,9 @@ export class Matrix4 {
|
|
|
103
103
|
return this;
|
|
104
104
|
}
|
|
105
105
|
invert() {
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
106
|
+
const v = this.values;
|
|
107
|
+
const t = this.temp;
|
|
108
|
+
const l_det = v[M30] * v[M21] * v[M12] * v[M03] - v[M20] * v[M31] * v[M12] * v[M03] - v[M30] * v[M11] * v[M22] * v[M03]
|
|
109
109
|
+ v[M10] * v[M31] * v[M22] * v[M03] + v[M20] * v[M11] * v[M32] * v[M03] - v[M10] * v[M21] * v[M32] * v[M03]
|
|
110
110
|
- v[M30] * v[M21] * v[M02] * v[M13] + v[M20] * v[M31] * v[M02] * v[M13] + v[M30] * v[M01] * v[M22] * v[M13]
|
|
111
111
|
- v[M00] * v[M31] * v[M22] * v[M13] - v[M20] * v[M01] * v[M32] * v[M13] + v[M00] * v[M21] * v[M32] * v[M13]
|
|
@@ -113,9 +113,9 @@ export class Matrix4 {
|
|
|
113
113
|
+ v[M00] * v[M31] * v[M12] * v[M23] + v[M10] * v[M01] * v[M32] * v[M23] - v[M00] * v[M11] * v[M32] * v[M23]
|
|
114
114
|
- v[M20] * v[M11] * v[M02] * v[M33] + v[M10] * v[M21] * v[M02] * v[M33] + v[M20] * v[M01] * v[M12] * v[M33]
|
|
115
115
|
- v[M00] * v[M21] * v[M12] * v[M33] - v[M10] * v[M01] * v[M22] * v[M33] + v[M00] * v[M11] * v[M22] * v[M33];
|
|
116
|
-
if (l_det
|
|
116
|
+
if (l_det === 0)
|
|
117
117
|
throw new Error("non-invertible matrix");
|
|
118
|
-
|
|
118
|
+
const inv_det = 1.0 / l_det;
|
|
119
119
|
t[M00] = v[M12] * v[M23] * v[M31] - v[M13] * v[M22] * v[M31] + v[M13] * v[M21] * v[M32]
|
|
120
120
|
- v[M11] * v[M23] * v[M32] - v[M12] * v[M21] * v[M33] + v[M11] * v[M22] * v[M33];
|
|
121
121
|
t[M01] = v[M03] * v[M22] * v[M31] - v[M02] * v[M23] * v[M31] - v[M03] * v[M21] * v[M32]
|
|
@@ -167,7 +167,7 @@ export class Matrix4 {
|
|
|
167
167
|
return this;
|
|
168
168
|
}
|
|
169
169
|
determinant() {
|
|
170
|
-
|
|
170
|
+
const v = this.values;
|
|
171
171
|
return v[M30] * v[M21] * v[M12] * v[M03] - v[M20] * v[M31] * v[M12] * v[M03] - v[M30] * v[M11] * v[M22] * v[M03]
|
|
172
172
|
+ v[M10] * v[M31] * v[M22] * v[M03] + v[M20] * v[M11] * v[M32] * v[M03] - v[M10] * v[M21] * v[M32] * v[M03]
|
|
173
173
|
- v[M30] * v[M21] * v[M02] * v[M13] + v[M20] * v[M31] * v[M02] * v[M13] + v[M30] * v[M01] * v[M22] * v[M13]
|
|
@@ -178,7 +178,7 @@ export class Matrix4 {
|
|
|
178
178
|
- v[M00] * v[M21] * v[M12] * v[M33] - v[M10] * v[M01] * v[M22] * v[M33] + v[M00] * v[M11] * v[M22] * v[M33];
|
|
179
179
|
}
|
|
180
180
|
translate(x, y, z) {
|
|
181
|
-
|
|
181
|
+
const v = this.values;
|
|
182
182
|
v[M03] += x;
|
|
183
183
|
v[M13] += y;
|
|
184
184
|
v[M23] += z;
|
|
@@ -189,10 +189,10 @@ export class Matrix4 {
|
|
|
189
189
|
}
|
|
190
190
|
projection(near, far, fovy, aspectRatio) {
|
|
191
191
|
this.identity();
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
192
|
+
const l_fd = (1.0 / Math.tan((fovy * (Math.PI / 180)) / 2.0));
|
|
193
|
+
const l_a1 = (far + near) / (near - far);
|
|
194
|
+
const l_a2 = (2 * far * near) / (near - far);
|
|
195
|
+
const v = this.values;
|
|
196
196
|
v[M00] = l_fd / aspectRatio;
|
|
197
197
|
v[M10] = 0;
|
|
198
198
|
v[M20] = 0;
|
|
@@ -216,13 +216,13 @@ export class Matrix4 {
|
|
|
216
216
|
}
|
|
217
217
|
ortho(left, right, bottom, top, near, far) {
|
|
218
218
|
this.identity();
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
219
|
+
const x_orth = 2 / (right - left);
|
|
220
|
+
const y_orth = 2 / (top - bottom);
|
|
221
|
+
const z_orth = -2 / (far - near);
|
|
222
|
+
const tx = -(right + left) / (right - left);
|
|
223
|
+
const ty = -(top + bottom) / (top - bottom);
|
|
224
|
+
const tz = -(far + near) / (far - near);
|
|
225
|
+
const v = this.values;
|
|
226
226
|
v[M00] = x_orth;
|
|
227
227
|
v[M10] = 0;
|
|
228
228
|
v[M20] = 0;
|
|
@@ -242,9 +242,9 @@ export class Matrix4 {
|
|
|
242
242
|
return this;
|
|
243
243
|
}
|
|
244
244
|
multiply(matrix) {
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
245
|
+
const t = this.temp;
|
|
246
|
+
const v = this.values;
|
|
247
|
+
const m = matrix.values;
|
|
248
248
|
t[M00] = v[M00] * m[M00] + v[M01] * m[M10] + v[M02] * m[M20] + v[M03] * m[M30];
|
|
249
249
|
t[M01] = v[M00] * m[M01] + v[M01] * m[M11] + v[M02] * m[M21] + v[M03] * m[M31];
|
|
250
250
|
t[M02] = v[M00] * m[M02] + v[M01] * m[M12] + v[M02] * m[M22] + v[M03] * m[M32];
|
|
@@ -264,9 +264,9 @@ export class Matrix4 {
|
|
|
264
264
|
return this.set(this.temp);
|
|
265
265
|
}
|
|
266
266
|
multiplyLeft(matrix) {
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
267
|
+
const t = this.temp;
|
|
268
|
+
const v = this.values;
|
|
269
|
+
const m = matrix.values;
|
|
270
270
|
t[M00] = m[M00] * v[M00] + m[M01] * v[M10] + m[M02] * v[M20] + m[M03] * v[M30];
|
|
271
271
|
t[M01] = m[M00] * v[M01] + m[M01] * v[M11] + m[M02] * v[M21] + m[M03] * v[M31];
|
|
272
272
|
t[M02] = m[M00] * v[M02] + m[M01] * v[M12] + m[M02] * v[M22] + m[M03] * v[M32];
|
|
@@ -286,13 +286,13 @@ export class Matrix4 {
|
|
|
286
286
|
return this.set(this.temp);
|
|
287
287
|
}
|
|
288
288
|
lookAt(position, direction, up) {
|
|
289
|
-
|
|
289
|
+
const xAxis = Matrix4.xAxis, yAxis = Matrix4.yAxis, zAxis = Matrix4.zAxis;
|
|
290
290
|
zAxis.setFrom(direction).normalize();
|
|
291
291
|
xAxis.setFrom(direction).normalize();
|
|
292
292
|
xAxis.cross(up).normalize();
|
|
293
293
|
yAxis.setFrom(xAxis).cross(zAxis).normalize();
|
|
294
294
|
this.identity();
|
|
295
|
-
|
|
295
|
+
const val = this.values;
|
|
296
296
|
val[M00] = xAxis.x;
|
|
297
297
|
val[M01] = xAxis.y;
|
|
298
298
|
val[M02] = xAxis.z;
|
|
@@ -310,4 +310,4 @@ export class Matrix4 {
|
|
|
310
310
|
return this;
|
|
311
311
|
}
|
|
312
312
|
}
|
|
313
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWF0cml4NC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9NYXRyaXg0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7K0VBMkIrRTtBQUUvRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRXZDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsR0FBRyxDQUFDLENBQUM7QUFDckIsTUFBTSxDQUFDLE1BQU0sR0FBRyxHQUFHLENBQUMsQ0FBQztBQUNyQixNQUFNLENBQUMsTUFBTSxHQUFHLEdBQUcsQ0FBQyxDQUFDO0FBQ3JCLE1BQU0sQ0FBQyxNQUFNLEdBQUcsR0FBRyxFQUFFLENBQUM7QUFDdEIsTUFBTSxDQUFDLE1BQU0sR0FBRyxHQUFHLENBQUMsQ0FBQztBQUNyQixNQUFNLENBQUMsTUFBTSxHQUFHLEdBQUcsQ0FBQyxDQUFDO0FBQ3JCLE1BQU0sQ0FBQyxNQUFNLEdBQUcsR0FBRyxDQUFDLENBQUM7QUFDckIsTUFBTSxDQUFDLE1BQU0sR0FBRyxHQUFHLEVBQUUsQ0FBQztBQUN0QixNQUFNLENBQUMsTUFBTSxHQUFHLEdBQUcsQ0FBQyxDQUFDO0FBQ3JCLE1BQU0sQ0FBQyxNQUFNLEdBQUcsR0FBRyxDQUFDLENBQUM7QUFDckIsTUFBTSxDQUFDLE1BQU0sR0FBRyxHQUFHLEVBQUUsQ0FBQztBQUN0QixNQUFNLENBQUMsTUFBTSxHQUFHLEdBQUcsRUFBRSxDQUFDO0FBQ3RCLE1BQU0sQ0FBQyxNQUFNLEdBQUcsR0FBRyxDQUFDLENBQUM7QUFDckIsTUFBTSxDQUFDLE1BQU0sR0FBRyxHQUFHLENBQUMsQ0FBQztBQUNyQixNQUFNLENBQUMsTUFBTSxHQUFHLEdBQUcsRUFBRSxDQUFDO0FBQ3RCLE1BQU0sQ0FBQyxNQUFNLEdBQUcsR0FBRyxFQUFFLENBQUM7QUFFdEIsTUFBTSxPQUFPLE9BQU87SUFDbkIsSUFBSSxHQUFpQixJQUFJLFlBQVksQ0FBQyxFQUFFLENB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QUFHLENBQUMsQ0FBQztRQUNYLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDWCxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ1gsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNYLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDWCxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ1gsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNYLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDWCxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ1gsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNYLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDWCxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ1gsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNYLE9BQU8sSUFBSSxDQUFDO0lBQ2IsQ0FBQztJQUVELE1BQU07UUFDTCxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDbEIsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDO2NBQ2xILENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQztjQUN6RyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUM7Y0FDekcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDO2NBQ3pHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQztjQUN6RyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUM7Y0FDekcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDO2NBQ3pHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzdHLElBQUksS0FBSyxJQUFJLENBQUM7WUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLHVCQUF1QixDQUFDLENBQUM7UUFDekQsSUFBSSxPQUFPLEdBQUcsR0FBRyxHQUFHLEtBQUssQ0FBQztRQUMxQixDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDO2NBQ3BGLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2xGLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUM7Y0FDcEYsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDbEYsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQztjQUNwRixDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNsRixDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDO2NBQ3BGLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2xGLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUM7Y0FDcEYsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDbEYsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQztjQUNwRixDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNsRixDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDO2NBQ3BGLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2xGLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUM7Y0FDcEYsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDbEYsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQztjQUNwRixDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNsRixDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDO2NBQ3BGLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2xGLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUM7Y0FDcEYsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDbEYsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQztjQUNwRixDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNsRixDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDO2NBQ3BGLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2xGLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUM7Y0FDcEYsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDbEYsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQztjQUNwRixDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNsRixDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDO2NBQ3BGLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2xGLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsT0FBTyxDQUFDO1FBQzFCLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsT0FBTyxDQUFDO1FBQzFCLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsT0FBTyxDQUFDO1FBQzFCLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsT0FBTyxDQUFDO1FBQzFCLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsT0FBTyxDQUFDO1FBQzFCLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsT0FBTyxDQUFDO1FBQzFCLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsT0FBTyxDQUFDO1FBQzFCLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsT0FBTyxDQUFDO1FBQzFCLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsT0FBTyxDQUFDO1FBQzFCLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsT0FBTyxDQUFDO1FBQzFCLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsT0FBTyxDQUFDO1FBQzFCLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsT0FBTyxDQUFDO1FBQzFCLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsT0FBTyxDQUFDO1FBQzFCLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsT0FBTyxDQUFDO1FBQzFCLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsT0FBTyxDQUFDO1FBQzFCLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsT0FBTyxDQUFDO1FBQzFCLE9BQU8sSUFBSSxDQUFDO0lBQ2IsQ0FBQztJQUVELFdBQVc7UUFDVixJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQ3BCLE9BQU8sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDO2NBQzdHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQztjQUN6RyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUM7Y0FDekcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDO2NBQ3pHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQztjQUN6RyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUM7Y0FDekcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDO2NBQ3pHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxD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Q0FBQztRQUNoQyxJQUFJLE1BQU0sR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEdBQUcsTUFBTSxDQUFDLENBQUM7UUFDaEMsSUFBSSxNQUFNLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLENBQUM7UUFFL0IsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsQ0FBQztRQUMxQyxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUMsR0FBRyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxHQUFHLE1BQU0sQ0FBQyxDQUFDO1FBQzFDLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLENBQUM7UUFFdEMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUNwQixDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsTUFBTSxDQUFDO1FBQ2hCLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDWCxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ1gsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNYLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDWCxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsTUFBTSxDQUFDO1FBQ2hCLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDWCxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ1gsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNYLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDWCxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsTUFBTSxDQUFDO1FBQ2hCLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDWCxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ1osQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUNaLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDWixDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ1gsT0FBTyxJQUFJLENBQUM7SUFDYixDQUFDO0lBRUQsUUFBUSxDQUFFLE1BQWU7UUFDeEIsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztRQUNsQixJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUM7UUFDdEIsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDL0UsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDL0UsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDL0UsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDL0UsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDL0UsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDL0UsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDL0UsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDL0UsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDL0UsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDL0UsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDL0UsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDL0UsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDL0UsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDL0UsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDL0UsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDL0UsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBRUQsWUFBWSxDQUFFLE1BQWU7UUFDNUIsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztRQUNsQixJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUM7UUFDdEIsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDL0UsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDL0UsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDL0UsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDL0UsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDL0UsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDL0UsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDL0UsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDL0UsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDL0UsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDL0UsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDL0UsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDL0UsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDL0UsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDL0UsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDL0UsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDL0UsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBRUQsTUFBTSxDQUFFLFFBQWlCLEVBQUUsU0FBa0IsRUFBRSxFQUFXO1FBQ3pELElBQUksS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLEVBQUUsS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLEVBQUUsS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUM7UUFDeEUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNyQyxLQUFLLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ3JDLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDNUIsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDOUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2hCLElBQUksR0FBRyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDdEIsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDbkIsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDbkIsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDbkIsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDbkIsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDbkIsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDbkIsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUNwQixHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ3BCLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFFcEIsT0FBTyxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUM3QixPQUFPLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFDNUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1FBQzVDLE9BQU8sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztRQUM1QyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQTtRQUVoQyxPQUFPLElBQUksQ0FBQztJQUNiLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gKiBTcGluZSBSdW50aW1lcyBMaWNlbnNlIEFncmVlbWVudFxuICogTGFzdCB1cGRhdGVkIEFwcmlsIDUsIDIwMjUuIFJlcGxhY2VzIGFsbCBwcmlvciB2ZXJzaW9ucy5cbiAqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTMtMjAyNSwgRXNvdGVyaWMgU29mdHdhcmUgTExDXG4gKlxuICogSW50ZWdyYXRpb24gb2YgdGhlIFNwaW5lIFJ1bnRpbWVzIGludG8gc29mdHdhcmUgb3Igb3RoZXJ3aXNlIGNyZWF0aW5nXG4gKiBkZXJpdmF0aXZlIHdvcmtzIG9mIHRoZSBTcGluZSBSdW50aW1lcyBpcyBwZXJtaXR0ZWQgdW5kZXIgdGhlIHRlcm1zIGFuZFxuICogY29uZGl0aW9ucyBvZiBTZWN0aW9uIDIgb2YgdGhlIFNwaW5lIEVkaXRvciBMaWNlbnNlIEFncmVlbWVudDpcbiAqIGh0dHA6Ly9lc290ZXJpY3NvZnR3YXJlLmNvbS9zcGluZS1lZGl0b3ItbGljZW5zZVxuICpcbiAqIE90aGVyd2lzZSwgaXQgaXMgcGVybWl0dGVkIHRvIGludGVncmF0ZSB0aGUgU3BpbmUgUnVudGltZXMgaW50byBzb2Z0d2FyZVxuICogb3Igb3RoZXJ3aXNlIGNyZWF0ZSBkZXJpdmF0aXZlIHdvcmtzIG9mIHRoZSBTcGluZSBSdW50aW1lcyAoY29sbGVjdGl2ZWx5LFxuICogXCJQcm9kdWN0c1wiKSwgcHJvdmlkZWQgdGhhdCBlYWNoIHVzZXIgb2YgdGhlIFByb2R1Y3RzIG11c3Qgb2J0YWluIHRoZWlyIG93blxuICogU3BpbmUgRWRpdG9yIGxpY2Vuc2UgYW5kIHJlZGlzdHJpYnV0aW9uIG9mIHRoZSBQcm9kdWN0cyBpbiBhbnkgZm9ybSBtdXN0XG4gKiBpbmNsdWRlIHRoaXMgbGljZW5zZSBhbmQgY29weXJpZ2h0IG5vdGljZS5cbiAqXG4gKiBUSEUgU1BJTkUgUlVOVElNRVMgQVJFIFBST1ZJREVEIEJZIEVTT1RFUklDIFNPRlRXQVJFIExMQyBcIkFTIElTXCIgQU5EIEFOWVxuICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRFxuICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRVxuICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgRVNPVEVSSUMgU09GVFdBUkUgTExDIEJFIExJQUJMRSBGT1IgQU5ZXG4gKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFU1xuICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTLFxuICogQlVTSU5FU1MgSU5URVJSVVBUSU9OLCBPUiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUykgSE9XRVZFUiBDQVVTRUQgQU5EXG4gKiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVFxuICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GXG4gKiBUSEUgU1BJTkUgUlVOVElNRVMsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbmltcG9ydCB7IFZlY3RvcjMgfSBmcm9tIFwiLi9WZWN0b3IzLmpzXCI7XG5cbmV4cG9ydCBjb25zdCBNMDAgPSAwO1xuZXhwb3J0IGNvbnN0IE0wMSA9IDQ7XG5leHBvcnQgY29uc3QgTTAyID0gODtcbmV4cG9ydCBjb25zdCBNMDMgPSAxMjtcbmV4cG9ydCBjb25zdCBNMTAgPSAxO1xuZXhwb3J0IGNvbnN0IE0xMSA9IDU7XG5leHBvcnQgY29uc3QgTTEyID0gOTtcbmV4cG9ydCBjb25zdCBNMTMgPSAxMztcbmV4cG9ydCBjb25zdCBNMjAgPSAyO1xuZXhwb3J0IGNvbnN0IE0yMSA9IDY7XG5leHBvcnQgY29uc3QgTTIyID0gMTA7XG5leHBvcnQgY29uc3QgTTIzID0gMTQ7XG5leHBvcnQgY29uc3QgTTMwID0gMztcbmV4cG9ydCBjb25zdCBNMzEgPSA3O1xuZXhwb3J0IGNvbnN0IE0zMiA9IDExO1xuZXhwb3J0IGNvbnN0IE0zMyA9IDE1O1xuXG5leHBvcnQgY2xhc3MgTWF0cml4NCB7XG5cdHRlbXA6IEZsb2F0MzJBcnJheSA9IG5ldyBGbG9hdDMyQXJyYXkoMTYpO1xuXHR2YWx1ZXM6IEZsb2F0MzJBcnJheSA9IG5ldyBGbG9hdDMyQXJyYXkoMTYpO1xuXG5cdHByaXZhdGUgc3RhdGljIHhBeGlzID0gbmV3IFZlY3RvcjMoKTtcblx0cHJpdmF0ZSBzdGF0aWMgeUF4aXMgPSBuZXcgVmVjdG9yMygpO1xuXHRwcml2YXRlIHN0YXRpYyB6QXhpcyA9IG5ldyBWZWN0b3IzKCk7XG5cdHByaXZhdGUgc3RhdGljIHRtcE1hdHJpeCA9IG5ldyBNYXRyaXg0KCk7XG5cblx0Y29uc3RydWN0b3IgKCkge1xuXHRcdGxldCB2ID0gdGhpcy52YWx1ZXM7XG5cdFx0dltNMDBdID0gMTtcblx0XHR2W00xMV0gPSAxO1xuXHRcdHZbTTIyXSA9IDE7XG5cdFx0dltNMzNdID0gMTtcblx0fVxuXG5cdHNldCAodmFsdWVzOiBBcnJheUxpa2U8bnVtYmVyPik6IE1hdHJpeDQge1xuXHRcdHRoaXMudmFsdWVzLnNldCh2YWx1ZXMpO1xuXHRcdHJldHVybiB0aGlzO1xuXHR9XG5cblx0dHJhbnNwb3NlICgpOiBNYXRyaXg0IHtcblx0XHRsZXQgdCA9IHRoaXMudGVtcDtcblx0XHRsZXQgdiA9IHRoaXMudmFsdWVzO1xuXHRcdHRbTTAwXSA9IHZbTTAwXTtcblx0XHR0W00wMV0gPSB2W00xMF07XG5cdFx0dFtNMDJdID0gdltNMjBdO1xuXHRcdHRbTTAzXSA9IHZbTTMwXTtcblx0XHR0W00xMF0gPSB2W00wMV07XG5cdFx0dFtNMTFdID0gdltNMTFdO1xuXHRcdHRbTTEyXSA9IHZbTTIxXTtcblx0XHR0W00xM10gPSB2W00zMV07XG5cdFx0dFtNMjBdID0gdltNMDJdO1xuXHRcdHRbTTIxXSA9IHZbTTEyXTtcblx0XHR0W00yMl0gPSB2W00yMl07XG5cdFx0dFtNMjNdID0gdltNMzJdO1xuXHRcdHRbTTMwXSA9IHZbTTAzXTtcblx0XHR0W00zMV0gPSB2W00xM107XG5cdFx0dFtNMzJdID0gdltNMjNdO1xuXHRcdHRbTTMzXSA9IHZbTTMzXTtcblx0XHRyZXR1cm4gdGhpcy5zZXQodCk7XG5cdH1cblxuXHRpZGVudGl0eSAoKTogTWF0cml4NCB7XG5cdFx0bGV0IHYgPSB0aGlzLnZhbHVlcztcblx0XHR2W00wMF0gPSAxO1xuXHRcdHZbTTAxXSA9IDA7XG5cdFx0dltNMDJdID0gMDtcblx0XHR2W00wM10gPSAwO1xuXHRcdHZbTTEwXSA9IDA7XG5cdFx0dltNMTFdID0gMTtcblx0XHR2W00xMl0gPSAwO1xuXHRcdHZbTTEzXSA9IDA7XG5cdFx0dltNMjBdID0gMDtcblx0XHR2W00yMV0gPSAwO1xuXHRcdHZbTTIyXSA9IDE7XG5cdFx0dltNMjNdID0gMDtcblx0XHR2W00zMF0gPSAwO1xuXHRcdHZbTTMxXSA9IDA7XG5cdFx0dltNMzJdID0gMDtcblx0XHR2W00zM10gPSAxO1xuXHRcdHJldHVybiB0aGlzO1xuXHR9XG5cblx0aW52ZXJ0ICgpOiBNYXRyaXg0IHtcblx0XHRsZXQgdiA9IHRoaXMudmFsdWVzO1xuXHRcdGxldCB0ID0gdGhpcy50ZW1wO1xuXHRcdGxldCBsX2RldCA9IHZbTTMwXSAqIHZbTTIxXSAqIHZbTTEyXSAqIHZbTTAzXSAtIHZbTTIwXSAqIHZbTTMxXSAqIHZbTTEyXSAqIHZbTTAzXSAtIHZbTTMwXSAqIHZbTTExXSAqIHZbTTIyXSAqIHZbTTAzXVxuXHRcdFx0KyB2W00xMF0gKiB2W00zMV0gKiB2W00yMl0gKiB2W00wM10gKyB2W00yMF0gKiB2W00xMV0gKiB2W00zMl0gKiB2W00wM10gLSB2W00xMF0gKiB2W00yMV0gKiB2W00zMl0gKiB2W00wM11cblx0XHRcdC0gdltNMzBdICogdltNMjFdICogdltNMDJdICogdltNMTNdICsgdltNMjBdICogdltNMzFdICogdltNMDJdICogdltNMTNdICsgdltNMzBdICogdltNMDFdICogdltNMjJdICogdltNMTNdXG5cdFx0XHQtIHZbTTAwXSAqIHZbTTMxXSAqIHZbTTIyXSAqIHZbTTEzXSAtIHZbTTIwXSAqIHZbTTAxXSAqIHZbTTMyXSAqIHZbTTEzXSArIHZbTTAwXSAqIHZbTTIxXSAqIHZbTTMyXSAqIHZbTTEzXVxuXHRcdFx0KyB2W00zMF0gKiB2W00xMV0gKiB2W00wMl0gKiB2W00yM10gLSB2W00xMF0gKiB2W00zMV0gKiB2W00wMl0gKiB2W00yM10gLSB2W00zMF0gKiB2W00wMV0gKiB2W00xMl0gKiB2W00yM11cblx0XHRcdCsgdltNMDBdICogdltNMzFdICogdltNMTJdICogdltNMjNdICsgdltNMTBdICogdltNMDFdICogdltNMzJdICogdltNMjNdIC0gdltNMDBdICogdltNMTFdICogdltNMzJdICogdltNMjNdXG5cdFx0XHQtIHZbTTIwXSAqIHZbTTExXSAqIHZbTTAyXSAqIHZbTTMzXSArIHZbTTEwXSAqIHZbTTIxXSAqIHZbTTAyXSAqIHZbTTMzXSArIHZbTTIwXSAqIHZbTTAxXSAqIHZbTTEyXSAqIHZbTTMzXVxuXHRcdFx0LSB2W00wMF0gKiB2W00yMV0gKiB2W00xMl0gKiB2W00zM10gLSB2W00xMF0gKiB2W00wMV0gKiB2W00yMl0gKiB2W00zM10gKyB2W00wMF0gKiB2W00xMV0gKiB2W00yMl0gKiB2W00zM107XG5cdFx0aWYgKGxfZGV0ID09IDApIHRocm93IG5ldyBFcnJvcihcIm5vbi1pbnZlcnRpYmxlIG1hdHJpeFwiKTtcblx0XHRsZXQgaW52X2RldCA9IDEuMCAvIGxfZGV0O1xuXHRcdHRbTTAwXSA9IHZbTTEyXSAqIHZbTTIzXSAqIHZbTTMxXSAtIHZbTTEzXSAqIHZbTTIyXSAqIHZbTTMxXSArIHZbTTEzXSAqIHZbTTIxXSAqIHZbTTMyXVxuXHRcdFx0LSB2W00xMV0gKiB2W00yM10gKiB2W00zMl0gLSB2W00xMl0gKiB2W00yMV0gKiB2W00zM10gKyB2W00xMV0gKiB2W00yMl0gKiB2W00zM107XG5cdFx0dFtNMDFdID0gdltNMDNdICogdltNMjJdICogdltNMzFdIC0gdltNMDJdICogdltNMjNdICogdltNMzFdIC0gdltNMDNdICogdltNMjFdICogdltNMzJdXG5cdFx0XHQrIHZbTTAxXSAqIHZbTTIzXSAqIHZbTTMyXSArIHZbTTAyXSAqIHZbTTIxXSAqIHZbTTMzXSAtIHZbTTAxXSAqIHZbTTIyXSAqIHZbTTMzXTtcblx0XHR0W00wMl0gPSB2W00wMl0gKiB2W00xM10gKiB2W00zMV0gLSB2W00wM10gKiB2W00xMl0gKiB2W00zMV0gKyB2W00wM10gKiB2W00xMV0gKiB2W00zMl1cblx0XHRcdC0gdltNMDFdICogdltNMTNdICogdltNMzJdIC0gdltNMDJdICogdltNMTFdICogdltNMzNdICsgdltNMDFdICogdltNMTJdICogdltNMzNdO1xuXHRcdHRbTTAzXSA9IHZbTTAzXSAqIHZbTTEyXSAqIHZbTTIxXSAtIHZbTTAyXSAqIHZbTTEzXSAqIHZbTTIxXSAtIHZbTTAzXSAqIHZbTTExXSAqIHZbTTIyXVxuXHRcdFx0KyB2W00wMV0gKiB2W00xM10gKiB2W00yMl0gKyB2W00wMl0gKiB2W00xMV0gKiB2W00yM10gLSB2W00wMV0gKiB2W00xMl0gKiB2W00yM107XG5cdFx0dFtNMTBdID0gdltNMTNdICogdltNMjJdICogdltNMzBdIC0gdltNMTJdICogdltNMjNdICogdltNMzBdIC0gdltNMTNdICogdltNMjBdICogdltNMzJdXG5cdFx0XHQrIHZbTTEwXSAqIHZbTTIzXSAqIHZbTTMyXSArIHZbTTEyXSAqIHZbTTIwXSAqIHZbTTMzXSAtIHZbTTEwXSAqIHZbTTIyXSAqIHZbTTMzXTtcblx0XHR0W00xMV0gPSB2W00wMl0gKiB2W00yM10gKiB2W00zMF0gLSB2W00wM10gKiB2W00yMl0gKiB2W00zMF0gKyB2W00wM10gKiB2W00yMF0gKiB2W00zMl1cblx0XHRcdC0gdltNMDBdICogdltNMjNdICogdltNMzJdIC0gdltNMDJdICogdltNMjBdICogdltNMzNdICsgdltNMDBdICogdltNMjJdICogdltNMzNdO1xuXHRcdHRbTTEyXSA9IHZbTTAzXSAqIHZbTTEyXSAqIHZbTTMwXSAtIHZbTTAyXSAqIHZbTTEzXSAqIHZbTTMwXSAtIHZbTTAzXSAqIHZbTTEwXSAqIHZbTTMyXVxuXHRcdFx0KyB2W00wMF0gKiB2W00xM10gKiB2W00zMl0gKyB2W00wMl0gKiB2W00xMF0gKiB2W00zM10gLSB2W00wMF0gKiB2W00xMl0gKiB2W00zM107XG5cdFx0dFtNMTNdID0gdltNMDJdICogdltNMTNdICogdltNMjBdIC0gdltNMDNdICogdltNMTJdICogdltNMjBdICsgdltNMDNdICogdltNMTBdICogdltNMjJdXG5cdFx0XHQtIHZbTTAwXSAqIHZbTTEzXSAqIHZbTTIyXSAtIHZbTTAyXSAqIHZbTTEwXSAqIHZbTTIzXSArIHZbTTAwXSAqIHZbTTEyXSAqIHZbTTIzXTtcblx0XHR0W00yMF0gPSB2W00xMV0gKiB2W00yM10gKiB2W00zMF0gLSB2W00xM10gKiB2W00yMV0gKiB2W00zMF0gKyB2W00xM10gKiB2W00yMF0gKiB2W00zMV1cblx0XHRcdC0gdltNMTBdICogdltNMjNdICogdltNMzFdIC0gdltNMTFdICogdltNMjBdICogdltNMzNdICsgdltNMTBdICogdltNMjFdICogdltNMzNdO1xuXHRcdHRbTTIxXSA9IHZbTTAzXSAqIHZbTTIxXSAqIHZbTTMwXSAtIHZbTTAxXSAqIHZbTTIzXSAqIHZbTTMwXSAtIHZbTTAzXSAqIHZbTTIwXSAqIHZbTTMxXVxuXHRcdFx0KyB2W00wMF0gKiB2W00yM10gKiB2W00zMV0gKyB2W00wMV0gKiB2W00yMF0gKiB2W00zM10gLSB2W00wMF0gKiB2W00yMV0gKiB2W00zM107XG5cdFx0dFtNMjJdID0gdltNMDFdICogdltNMTNdICogdltNMzBdIC0gdltNMDNdICogdltNMTFdICogdltNMzBdICsgdltNMDNdICogdltNMTBdICogdltNMzFdXG5cdFx0XHQtIHZbTTAwXSAqIHZbTTEzXSAqIHZbTTMxXSAtIHZbTTAxXSAqIHZbTTEwXSAqIHZbTTMzXSArIHZbTTAwXSAqIHZbTTExXSAqIHZbTTMzXTtcblx0XHR0W00yM10gPSB2W00wM10gKiB2W00xMV0gKiB2W00yMF0gLSB2W00wMV0gKiB2W00xM10gKiB2W00yMF0gLSB2W00wM10gKiB2W00xMF0gKiB2W00yMV1cblx0XHRcdCsgdltNMDBdICogdltNMTNdICogdltNMjFdICsgdltNMDFdICogdltNMTBdICogdltNMjNdIC0gdltNMDBdICogdltNMTFdICogdltNMjNdO1xuXHRcdHRbTTMwXSA9IHZbTTEyXSAqIHZbTTIxXSAqIHZbTTMwXSAtIHZbTTExXSAqIHZbTTIyXSAqIHZbTTMwXSAtIHZbTTEyXSAqIHZbTTIwXSAqIHZbTTMxXVxuXHRcdFx0KyB2W00xMF0gKiB2W00yMl0gKiB2W00zMV0gKyB2W00xMV0gKiB2W00yMF0gKiB2W00zMl0gLSB2W00xMF0gKiB2W00yMV0gKiB2W00zMl07XG5cdFx0dFtNMzFdID0gdltNMDFdICogdltNMjJdICogdltNMzBdIC0gdltNMDJdICogdltNMjFdICogdltNMzBdICsgdltNMDJdICogdltNMjBdICogdltNMzFdXG5cdFx0XHQtIHZbTTAwXSAqIHZbTTIyXSAqIHZbTTMxXSAtIHZbTTAxXSAqIHZbTTIwXSAqIHZbTTMyXSArIHZbTTAwXSAqIHZbTTIxXSAqIHZbTTMyXTtcblx0XHR0W00zMl0gPSB2W00wMl0gKiB2W00xMV0gKiB2W00zMF0gLSB2W00wMV0gKiB2W00xMl0gKiB2W00zMF0gLSB2W00wMl0gKiB2W00xMF0gKiB2W00zMV1cblx0XHRcdCsgdltNMDBdICogdltNMTJdICogdltNMzFdICsgdltNMDFdICogdltNMTBdICogdltNMzJdIC0gdltNMDBdICogdltNMTFdICogdltNMzJdO1xuXHRcdHRbTTMzXSA9IHZbTTAxXSAqIHZbTTEyXSAqIHZbTTIwXSAtIHZbTTAyXSAqIHZbTTExXSAqIHZbTTIwXSArIHZbTTAyXSAqIHZbTTEwXSAqIHZbTTIxXVxuXHRcdFx0LSB2W00wMF0gKiB2W00xMl0gKiB2W00yMV0gLSB2W00wMV0gKiB2W00xMF0gKiB2W00yMl0gKyB2W00wMF0gKiB2W00xMV0gKiB2W00yMl07XG5cdFx0dltNMDBdID0gdFtNMDBdICogaW52X2RldDtcblx0XHR2W00wMV0gPSB0W00wMV0gKiBpbnZfZGV0O1xuXHRcdHZbTTAyXSA9IHRbTTAyXSAqIGludl9kZXQ7XG5cdFx0dltNMDNdID0gdFtNMDNdICogaW52X2RldDtcblx0XHR2W00xMF0gPSB0W00xMF0gKiBpbnZfZGV0O1xuXHRcdHZbTTExXSA9IHRbTTExXSAqIGludl9kZXQ7XG5cdFx0dltNMTJdID0gdFtNMTJdICogaW52X2RldDtcblx0XHR2W00xM10gPSB0W00xM10gKiBpbnZfZGV0O1xuXHRcdHZbTTIwXSA9IHRbTTIwXSAqIGludl9kZXQ7XG5cdFx0dltNMjFdID0gdFtNMjFdICogaW52X2RldDtcblx0XHR2W00yMl0gPSB0W00yMl0gKiBpbnZfZGV0O1xuXHRcdHZbTTIzXSA9IHRbTTIzXSAqIGludl9kZXQ7XG5cdFx0dltNMzBdID0gdFtNMzBdICogaW52X2RldDtcblx0XHR2W00zMV0gPSB0W00zMV0gKiBpbnZfZGV0O1xuXHRcdHZbTTMyXSA9IHRbTTMyXSAqIGludl9kZXQ7XG5cdFx0dltNMzNdID0gdFtNMzNdICogaW52X2RldDtcblx0XHRyZXR1cm4gdGhpcztcblx0fVxuXG5cdGRldGVybWluYW50ICgpOiBudW1iZXIge1xuXHRcdGxldCB2ID0gdGhpcy52YWx1ZXM7XG5cdFx0cmV0dXJuIHZbTTMwXSAqIHZbTTIxXSAqIHZbTTEyXSAqIHZbTTAzXSAtIHZbTTIwXSAqIHZbTTMxXSAqIHZbTTEyXSAqIHZbTTAzXSAtIHZbTTMwXSAqIHZbTTExXSAqIHZbTTIyXSAqIHZbTTAzXVxuXHRcdFx0KyB2W00xMF0gKiB2W00zMV0gKiB2W00yMl0gKiB2W00wM10gKyB2W00yMF0gKiB2W00xMV0gKiB2W00zMl0gKiB2W00wM10gLSB2W00xMF0gKiB2W00yMV0gKiB2W00zMl0gKiB2W00wM11cblx0XHRcdC0gdltNMzBdICogdltNMjFdICogdltNMDJdICogdltNMTNdICsgdltNMjBdICogdltNMzFdICogdltNMDJdICogdltNMTNdICsgdltNMzBdICogdltNMDFdICogdltNMjJdICogdltNMTNdXG5cdFx0XHQtIHZbTTAwXSAqIHZbTTMxXSAqIHZbTTIyXSAqIHZbTTEzXSAtIHZbTTIwXSAqIHZbTTAxXSAqIHZbTTMyXSAqIHZbTTEzXSArIHZbTTAwXSAqIHZbTTIxXSAqIHZbTTMyXSAqIHZbTTEzXVxuXHRcdFx0KyB2W00zMF0gKiB2W00xMV0gKiB2W00wMl0gKiB2W00yM10gLSB2W00xMF0gKiB2W00zMV0gKiB2W00wMl0gKiB2W00yM10gLSB2W00zMF0gKiB2W00wMV0gKiB2W00xMl0gKiB2W00yM11cblx0XHRcdCsgdltNMDBdICogdltNMzFdICogdltNMTJdICogdltNMjNdICsgdltNMTBdICogdltNMDFdICogdltNMzJdICogdltNMjNdIC0gdltNMDBdICogdltNMTFdICogdltNMzJdICogdltNMjNdXG5cdFx0XHQtIHZbTTIwXSAqIHZbTTExXSAqIHZbTTAyXSAqIHZbTTMzXSArIHZbTTEwXSAqIHZbTTIxXSAqIHZbTTAyXSAqIHZbTTMzXSArIHZbTTIwXSAqIHZbTTAxXSAqIHZbTTEyXSAqIHZbTTMzXVxuXHRcdFx0LSB2W00wMF0gKiB2W00yMV0gKiB2W00xMl0gKiB2W00zM10gLSB2W00xMF0gKiB2W00wMV0gKiB2W00yMl0gKiB2W00zM10gKyB2W00wMF0gKiB2W00xMV0gKiB2W00yMl0gKiB2W00zM107XG5cdH1cblxuXHR0cmFuc2xhdGUgKHg6IG51bWJlciwgeTogbnVtYmVyLCB6OiBudW1iZXIpOiBNYXRyaXg0IHtcblx0XHRsZXQgdiA9IHRoaXMudmFsdWVzO1xuXHRcdHZbTTAzXSArPSB4O1xuXHRcdHZbTTEzXSArPSB5O1xuXHRcdHZbTTIzXSArPSB6O1xuXHRcdHJldHVybiB0aGlzO1xuXHR9XG5cblx0Y29weSAoKTogTWF0cml4NCB7XG5cdFx0cmV0dXJuIG5ldyBNYXRyaXg0KCkuc2V0KHRoaXMudmFsdWVzKTtcblx0fVxuXG5cdHByb2plY3Rpb24gKG5lYXI6IG51bWJlciwgZmFyOiBudW1iZXIsIGZvdnk6IG51bWJlciwgYXNwZWN0UmF0aW86IG51bWJlcik6IE1hdHJpeDQge1xuXHRcdHRoaXMuaWRlbnRpdHkoKTtcblx0XHRsZXQgbF9mZCA9ICgxLjAgLyBNYXRoLnRhbigoZm92eSAqIChNYXRoLlBJIC8gMTgwKSkgLyAyLjApKTtcblx0XHRsZXQgbF9hMSA9IChmYXIgKyBuZWFyKSAvIChuZWFyIC0gZmFyKTtcblx0XHRsZXQgbF9hMiA9ICgyICogZmFyICogbmVhcikgLyAobmVhciAtIGZhcik7XG5cdFx0bGV0IHYgPSB0aGlzLnZhbHVlcztcblx0XHR2W00wMF0gPSBsX2ZkIC8gYXNwZWN0UmF0aW87XG5cdFx0dltNMTBdID0gMDtcblx0XHR2W00yMF0gPSAwO1xuXHRcdHZbTTMwXSA9IDA7XG5cdFx0dltNMDFdID0gMDtcblx0XHR2W00xMV0gPSBsX2ZkO1xuXHRcdHZbTTIxXSA9IDA7XG5cdFx0dltNMzFdID0gMDtcblx0XHR2W00wMl0gPSAwO1xuXHRcdHZbTTEyXSA9IDA7XG5cdFx0dltNMjJdID0gbF9hMTtcblx0XHR2W00zMl0gPSAtMTtcblx0XHR2W00wM10gPSAwO1xuXHRcdHZbTTEzXSA9IDA7XG5cdFx0dltNMjNdID0gbF9hMjtcblx0XHR2W00zM10gPSAwO1xuXHRcdHJldHVybiB0aGlzO1xuXHR9XG5cblx0b3J0aG8yZCAoeDogbnVtYmVyLCB5OiBudW1iZXIsIHdpZHRoOiBudW1iZXIsIGhlaWdodDogbnVtYmVyKTogTWF0cml4NCB7XG5cdFx0cmV0dXJuIHRoaXMub3J0aG8oeCwgeCArIHdpZHRoLCB5LCB5ICsgaGVpZ2h0LCAwLCAxKTtcblx0fVxuXG5cdG9ydGhvIChsZWZ0OiBudW1iZXIsIHJpZ2h0OiBudW1iZXIsIGJvdHRvbTogbnVtYmVyLCB0b3A6IG51bWJlciwgbmVhcjogbnVtYmVyLCBmYXI6IG51bWJlcik6IE1hdHJpeDQge1xuXHRcdHRoaXMuaWRlbnRpdHkoKTtcblx0XHRsZXQgeF9vcnRoID0gMiAvIChyaWdodCAtIGxlZnQpO1xuXHRcdGxldCB5X29ydGggPSAyIC8gKHRvcCAtIGJvdHRvbSk7XG5cdFx0bGV0IHpfb3J0aCA9IC0yIC8gKGZhciAtIG5lYXIpO1xuXG5cdFx0bGV0IHR4ID0gLShyaWdodCArIGxlZnQpIC8gKHJpZ2h0IC0gbGVmdCk7XG5cdFx0bGV0IHR5ID0gLSh0b3AgKyBib3R0b20pIC8gKHRvcCAtIGJvdHRvbSk7XG5cdFx0bGV0IHR6ID0gLShmYXIgKyBuZWFyKSAvIChmYXIgLSBuZWFyKTtcblxuXHRcdGxldCB2ID0gdGhpcy52YWx1ZXM7XG5cdFx0dltNMDBdID0geF9vcnRoO1xuXHRcdHZbTTEwXSA9IDA7XG5cdFx0dltNMjBdID0gMDtcblx0XHR2W00zMF0gPSAwO1xuXHRcdHZbTTAxXSA9IDA7XG5cdFx0dltNMTFdID0geV9vcnRoO1xuXHRcdHZbTTIxXSA9IDA7XG5cdFx0dltNMzFdID0gMDtcblx0XHR2W00wMl0gPSAwO1xuXHRcdHZbTTEyXSA9IDA7XG5cdFx0dltNMjJdID0gel9vcnRoO1xuXHRcdHZbTTMyXSA9IDA7XG5cdFx0dltNMDNdID0gdHg7XG5cdFx0dltNMTNdID0gdHk7XG5cdFx0dltNMjNdID0gdHo7XG5cdFx0dltNMzNdID0gMTtcblx0XHRyZXR1cm4gdGhpcztcblx0fVxuXG5cdG11bHRpcGx5IChtYXRyaXg6IE1hdHJpeDQpOiBNYXRyaXg0IHtcblx0XHRsZXQgdCA9IHRoaXMudGVtcDtcblx0XHRsZXQgdiA9IHRoaXMudmFsdWVzO1xuXHRcdGxldCBtID0gbWF0cml4LnZhbHVlcztcblx0XHR0W00wMF0gPSB2W00wMF0gKiBtW00wMF0gKyB2W00wMV0gKiBtW00xMF0gKyB2W00wMl0gKiBtW00yMF0gKyB2W00wM10gKiBtW00zMF07XG5cdFx0dFtNMDFdID0gdltNMDBdICogbVtNMDFdICsgdltNMDFdICogbVtNMTFdICsgdltNMDJdICogbVtNMjFdICsgdltNMDNdICogbVtNMzFdO1xuXHRcdHRbTTAyXSA9IHZbTTAwXSAqIG1bTTAyXSArIHZbTTAxXSAqIG1bTTEyXSArIHZbTTAyXSAqIG1bTTIyXSArIHZbTTAzXSAqIG1bTTMyXTtcblx0XHR0W00wM10gPSB2W00wMF0gKiBtW00wM10gKyB2W00wMV0gKiBtW00xM10gKyB2W00wMl0gKiBtW00yM10gKyB2W00wM10gKiBtW00zM107XG5cdFx0dFtNMTBdID0gdltNMTBdICogbVtNMDBdICsgdltNMTFdICogbVtNMTBdICsgdltNMTJdICogbVtNMjBdICsgdltNMTNdICogbVtNMzBdO1xuXHRcdHRbTTExXSA9IHZbTTEwXSAqIG1bTTAxXSArIHZbTTExXSAqIG1bTTExXSArIHZbTTEyXSAqIG1bTTIxXSArIHZbTTEzXSAqIG1bTTMxXTtcblx0XHR0W00xMl0gPSB2W00xMF0gKiBtW00wMl0gKyB2W00xMV0gKiBtW00xMl0gKyB2W00xMl0gKiBtW00yMl0gKyB2W00xM10gKiBtW00zMl07XG5cdFx0dFtNMTNdID0gdltNMTBdICogbVtNMDNdICsgdltNMTFdICogbVtNMTNdICsgdltNMTJdICogbVtNMjNdICsgdltNMTNdICogbVtNMzNdO1xuXHRcdHRbTTIwXSA9IHZbTTIwXSAqIG1bTTAwXSArIHZbTTIxXSAqIG1bTTEwXSArIHZbTTIyXSAqIG1bTTIwXSArIHZbTTIzXSAqIG1bTTMwXTtcblx0XHR0W00yMV0gPSB2W00yMF0gKiBtW00wMV0gKyB2W00yMV0gKiBtW00xMV0gKyB2W00yMl0gKiBtW00yMV0gKyB2W00yM10gKiBtW00zMV07XG5cdFx0dFtNMjJdID0gdltNMjBdICogbVtNMDJdICsgdltNMjFdICogbVtNMTJdICsgdltNMjJdICogbVtNMjJdICsgdltNMjNdICogbVtNMzJdO1xuXHRcdHRbTTIzXSA9IHZbTTIwXSAqIG1bTTAzXSArIHZbTTIxXSAqIG1bTTEzXSArIHZbTTIyXSAqIG1bTTIzXSArIHZbTTIzXSAqIG1bTTMzXTtcblx0XHR0W00zMF0gPSB2W00zMF0gKiBtW00wMF0gKyB2W00zMV0gKiBtW00xMF0gKyB2W00zMl0gKiBtW00yMF0gKyB2W00zM10gKiBtW00zMF07XG5cdFx0dFtNMzFdID0gdltNMzBdICogbVtNMDFdICsgdltNMzFdICogbVtNMTFdICsgdltNMzJdICogbVtNMjFdICsgdltNMzNdICogbVtNMzFdO1xuXHRcdHRbTTMyXSA9IHZbTTMwXSAqIG1bTTAyXSArIHZbTTMxXSAqIG1bTTEyXSArIHZbTTMyXSAqIG1bTTIyXSArIHZbTTMzXSAqIG1bTTMyXTtcblx0XHR0W00zM10gPSB2W00zMF0gKiBtW00wM10gKyB2W00zMV0gKiBtW00xM10gKyB2W00zMl0gKiBtW00yM10gKyB2W00zM10gKiBtW00zM107XG5cdFx0cmV0dXJuIHRoaXMuc2V0KHRoaXMudGVtcCk7XG5cdH1cblxuXHRtdWx0aXBseUxlZnQgKG1hdHJpeDogTWF0cml4NCk6IE1hdHJpeDQge1xuXHRcdGxldCB0ID0gdGhpcy50ZW1wO1xuXHRcdGxldCB2ID0gdGhpcy52YWx1ZXM7XG5cdFx0bGV0IG0gPSBtYXRyaXgudmFsdWVzO1xuXHRcdHRbTTAwXSA9IG1bTTAwXSAqIHZbTTAwXSArIG1bTTAxXSAqIHZbTTEwXSArIG1bTTAyXSAqIHZbTTIwXSArIG1bTTAzXSAqIHZbTTMwXTtcblx0XHR0W00wMV0gPSBtW00wMF0gKiB2W00wMV0gKyBtW00wMV0gKiB2W00xMV0gKyBtW00wMl0gKiB2W00yMV0gKyBtW00wM10gKiB2W00zMV07XG5cdFx0dFtNMDJdID0gbVtNMDBdICogdltNMDJdICsgbVtNMDFdICogdltNMTJdICsgbVtNMDJdICogdltNMjJdICsgbVtNMDNdICogdltNMzJdO1xuXHRcdHRbTTAzXSA9IG1bTTAwXSAqIHZbTTAzXSArIG1bTTAxXSAqIHZbTTEzXSArIG1bTTAyXSAqIHZbTTIzXSArIG1bTTAzXSAqIHZbTTMzXTtcblx0XHR0W00xMF0gPSBtW00xMF0gKiB2W00wMF0gKyBtW00xMV0gKiB2W00xMF0gKyBtW00xMl0gKiB2W00yMF0gKyBtW00xM10gKiB2W00zMF07XG5cdFx0dFtNMTFdID0gbVtNMTBdICogdltNMDFdICsgbVtNMTFdICogdltNMTFdICsgbVtNMTJdICogdltNMjFdICsgbVtNMTNdICogdltNMzFdO1xuXHRcdHRbTTEyXSA9IG1bTTEwXSAqIHZbTTAyXSArIG1bTTExXSAqIHZbTTEyXSArIG1bTTEyXSAqIHZbTTIyXSArIG1bTTEzXSAqIHZbTTMyXTtcblx0XHR0W00xM10gPSBtW00xMF0gKiB2W00wM10gKyBtW00xMV0gKiB2W00xM10gKyBtW00xMl0gKiB2W00yM10gKyBtW00xM10gKiB2W00zM107XG5cdFx0dFtNMjBdID0gbVtNMjBdICogdltNMDBdICsgbVtNMjFdICogdltNMTBdICsgbVtNMjJdICogdltNMjBdICsgbVtNMjNdICogdltNMzBdO1xuXHRcdHRbTTIxXSA9IG1bTTIwXSAqIHZbTTAxXSArIG1bTTIxXSAqIHZbTTExXSArIG1bTTIyXSAqIHZbTTIxXSArIG1bTTIzXSAqIHZbTTMxXTtcblx0XHR0W00yMl0gPSBtW00yMF0gKiB2W00wMl0gKyBtW00yMV0gKiB2W00xMl0gKyBtW00yMl0gKiB2W00yMl0gKyBtW00yM10gKiB2W00zMl07XG5cdFx0dFtNMjNdID0gbVtNMjBdICogdltNMDNdICsgbVtNMjFdICogdltNMTNdICsgbVtNMjJdICogdltNMjNdICsgbVtNMjNdICogdltNMzNdO1xuXHRcdHRbTTMwXSA9IG1bTTMwXSAqIHZbTTAwXSArIG1bTTMxXSAqIHZbTTEwXSArIG1bTTMyXSAqIHZbTTIwXSArIG1bTTMzXSAqIHZbTTMwXTtcblx0XHR0W00zMV0gPSBtW00zMF0gKiB2W00wMV0gKyBtW00zMV0gKiB2W00xMV0gKyBtW00zMl0gKiB2W00yMV0gKyBtW00zM10gKiB2W00zMV07XG5cdFx0dFtNMzJdID0gbVtNMzBdICogdltNMDJdICsgbVtNMzFdICogdltNMTJdICsgbVtNMzJdICogdltNMjJdICsgbVtNMzNdICogdltNMzJdO1xuXHRcdHRbTTMzXSA9IG1bTTMwXSAqIHZbTTAzXSArIG1bTTMxXSAqIHZbTTEzXSArIG1bTTMyXSAqIHZbTTIzXSArIG1bTTMzXSAqIHZbTTMzXTtcblx0XHRyZXR1cm4gdGhpcy5zZXQodGhpcy50ZW1wKTtcblx0fVxuXG5cdGxvb2tBdCAocG9zaXRpb246IFZlY3RvcjMsIGRpcmVjdGlvbjogVmVjdG9yMywgdXA6IFZlY3RvcjMpIHtcblx0XHRsZXQgeEF4aXMgPSBNYXRyaXg0LnhBeGlzLCB5QXhpcyA9IE1hdHJpeDQueUF4aXMsIHpBeGlzID0gTWF0cml4NC56QXhpcztcblx0XHR6QXhpcy5zZXRGcm9tKGRpcmVjdGlvbikubm9ybWFsaXplKCk7XG5cdFx0eEF4aXMuc2V0RnJvbShkaXJlY3Rpb24pLm5vcm1hbGl6ZSgpO1xuXHRcdHhBeGlzLmNyb3NzKHVwKS5ub3JtYWxpemUoKTtcblx0XHR5QXhpcy5zZXRGcm9tKHhBeGlzKS5jcm9zcyh6QXhpcykubm9ybWFsaXplKCk7XG5cdFx0dGhpcy5pZGVudGl0eSgpO1xuXHRcdGxldCB2YWwgPSB0aGlzLnZhbHVlcztcblx0XHR2YWxbTTAwXSA9IHhBeGlzLng7XG5cdFx0dmFsW00wMV0gPSB4QXhpcy55O1xuXHRcdHZhbFtNMDJdID0geEF4aXMuejtcblx0XHR2YWxbTTEwXSA9IHlBeGlzLng7XG5cdFx0dmFsW00xMV0gPSB5QXhpcy55O1xuXHRcdHZhbFtNMTJdID0geUF4aXMuejtcblx0XHR2YWxbTTIwXSA9IC16QXhpcy54O1xuXHRcdHZhbFtNMjFdID0gLXpBeGlzLnk7XG5cdFx0dmFsW00yMl0gPSAtekF4aXMuejtcblxuXHRcdE1hdHJpeDQudG1wTWF0cml4LmlkZW50aXR5KCk7XG5cdFx0TWF0cml4NC50bXBNYXRyaXgudmFsdWVzW00wM10gPSAtcG9zaXRpb24ueDtcblx0XHRNYXRyaXg0LnRtcE1hdHJpeC52YWx1ZXNbTTEzXSA9IC1wb3NpdGlvbi55O1xuXHRcdE1hdHJpeDQudG1wTWF0cml4LnZhbHVlc1tNMjNdID0gLXBvc2l0aW9uLno7XG5cdFx0dGhpcy5tdWx0aXBseShNYXRyaXg0LnRtcE1hdHJpeClcblxuXHRcdHJldHVybiB0aGlzO1xuXHR9XG59XG4iXX0=
|
|
313
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWF0cml4NC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9NYXRyaXg0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7K0VBMkIrRTtBQUUvRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRXZDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsR0FBRyxDQUFDLENBQUM7QUFDckIsTUFBTSxDQUFDLE1BQU0sR0FBRyxHQUFHLENBQUMsQ0FBQztBQUNyQixNQUFNLENBQUMsTUFBTSxHQUFHLEdBQUcsQ0FBQyxDQUFDO0FBQ3JCLE1BQU0sQ0FBQyxNQUFNLEdBQUcsR0FBRyxFQUFFLENBQUM7QUFDdEIsTUFBTSxDQUFDLE1BQU0sR0FBRyxHQUFHLENBQUMsQ0FBQztBQUNyQixNQUFNLENBQUMsTUFBTSxHQUFHLEdBQUcsQ0FBQyxDQUFDO0FBQ3JCLE1BQU0sQ0FBQyxNQUFNLEdBQUcsR0FBRyxDQUFDLENBQUM7QUFDckIsTUFBTSxDQUFDLE1BQU0sR0FBRyxHQUFHLEVBQUUsQ0FBQztBQUN0QixNQUFNLENBQUMsTUFBTSxHQUFHLEdBQUcsQ0FBQyxDQUFDO0FBQ3JCLE1BQU0sQ0FBQyxNQUFNLEdBQUcsR0FBRyxDQUFDLENBQUM7QUFDckIsTUFBTSxDQUFDLE1BQU0sR0FBRyxHQUFHLEVBQUUsQ0FBQztBQUN0QixNQUFNLENBQUMsTUFBTSxHQUFHLEdBQUcsRUFBRSxDQUFDO0FBQ3RCLE1BQU0sQ0FBQyxNQUFNLEdBQUcsR0FBRyxDQUFDLENBQUM7QUFDckIsTUFBTSxDQUFDLE1BQU0sR0FBRyxHQUFHLENBQUMsQ0FBQztBQUNyQixNQUFNLENBQUMsTUFBTSxHQUFHLEdBQUcsRUFBRSxDQUFDO0FBQ3RCLE1BQU0sQ0FBQyxNQUFNLEdBQUcsR0FBRyxFQUFFLENBQUM7QUFFdEIsTUFBTSxPQUFPLE9BQU87SUFDbkIsSUFBSSxHQUFpQixJQUFJLFlBQVksQ0FBQyxFQUFFLENB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QUFHLENBQUMsQ0FBQztRQUNYLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDWCxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ1gsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNYLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDWCxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ1gsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNYLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDWCxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ1gsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNYLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDWCxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ1gsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNYLE9BQU8sSUFBSSxDQUFDO0lBQ2IsQ0FBQztJQUVELE1BQU07UUFDTCxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQ3RCLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDcEIsTUFBTSxLQUFLLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDO2NBQ3BILENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQztjQUN6RyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUM7Y0FDekcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDO2NBQ3pHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQztjQUN6RyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUM7Y0FDekcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDO2NBQ3pHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzdHLElBQUksS0FBSyxLQUFLLENBQUM7WUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLHVCQUF1QixDQUFDLENBQUM7UUFDMUQsTUFBTSxPQUFPLEdBQUcsR0FBRyxHQUFHLEtBQUssQ0FBQztRQUM1QixDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDO2NBQ3BGLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2xGLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUM7Y0FDcEYsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDbEYsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQztjQUNwRixDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNsRixDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDO2NBQ3BGLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2xGLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUM7Y0FDcEYsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDbEYsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQztjQUNwRixDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNsRixDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDO2NBQ3BGLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2xGLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUM7Y0FDcEYsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDbEYsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQztjQUNwRixDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNsRixDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDO2NBQ3BGLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2xGLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUM7Y0FDcEYsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDbEYsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQztjQUNwRixDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNsRixDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDO2NBQ3BGLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2xGLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUM7Y0FDcEYsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDbEYsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQztjQUNwRixDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNsRixDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDO2NBQ3BGLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2xGLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsT0FBTyxDQUFDO1FBQzFCLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsT0FBTyxDQUFDO1FBQzFCLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsT0FBTyxDQUFDO1FBQzFCLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsT0FBTyxDQUFDO1FBQzFCLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsT0FBTyxDQUFDO1FBQzFCLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsT0FBTyxDQUFDO1FBQzFCLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsT0FBTyxDQUFDO1FBQzFCLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsT0FBTyxDQUFDO1FBQzFCLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsT0FBTyxDQUFDO1FBQzFCLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsT0FBTyxDQUFDO1FBQzFCLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsT0FBTyxDQUFDO1FBQzFCLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsT0FBTyxDQUFDO1FBQzFCLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsT0FBTyxDQUFDO1FBQzFCLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsT0FBTyxDQUFDO1FBQzFCLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsT0FBTyxDQUFDO1FBQzFCLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsT0FBTyxDQUFDO1FBQzFCLE9BQU8sSUFBSSxDQUFDO0lBQ2IsQ0FBQztJQUVELFdBQVc7UUFDVixNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQ3RCLE9BQU8sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDO2NBQzdHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQztjQUN6RyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUM7Y0FDekcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDO2NBQ3pHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQztjQUN6RyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUM7Y0FDekcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDO2NBQ3pHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxD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Q0FBQztRQUNsQyxNQUFNLE1BQU0sR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEdBQUcsTUFBTSxDQUFDLENBQUM7UUFDbEMsTUFBTSxNQUFNLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLENBQUM7UUFFakMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsQ0FBQztRQUM1QyxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUMsR0FBRyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxHQUFHLE1BQU0sQ0FBQyxDQUFDO1FBQzVDLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLENBQUM7UUFFeEMsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUN0QixDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsTUFBTSxDQUFDO1FBQ2hCLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDWCxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ1gsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNYLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDWCxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsTUFBTSxDQUFDO1FBQ2hCLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDWCxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ1gsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNYLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDWCxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsTUFBTSxDQUFDO1FBQ2hCLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDWCxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ1osQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUNaLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDWixDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ1gsT0FBTyxJQUFJLENBQUM7SUFDYixDQUFDO0lBRUQsUUFBUSxDQUFFLE1BQWU7UUFDeEIsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztRQUNwQixNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQ3RCLE1BQU0sQ0FBQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUM7UUFDeEIsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDL0UsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDL0UsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDL0UsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDL0UsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDL0UsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDL0UsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDL0UsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDL0UsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDL0UsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDL0UsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDL0UsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDL0UsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDL0UsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDL0UsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDL0UsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDL0UsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBRUQsWUFBWSxDQUFFLE1BQWU7UUFDNUIsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztRQUNwQixNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQ3RCLE1BQU0sQ0FBQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUM7UUFDeEIsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDL0UsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDL0UsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDL0UsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDL0UsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDL0UsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDL0UsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDL0UsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDL0UsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDL0UsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDL0UsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDL0UsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDL0UsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDL0UsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDL0UsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDL0UsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDL0UsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBRUQsTUFBTSxDQUFFLFFBQWlCLEVBQUUsU0FBa0IsRUFBRSxFQUFXO1FBQ3pELE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLEVBQUUsS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLEVBQUUsS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUM7UUFDMUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNyQyxLQUFLLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ3JDLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDNUIsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDOUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2hCLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDeEIsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDbkIsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDbkIsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDbkIsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDbkIsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDbkIsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDbkIsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUNwQixHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ3BCLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFFcEIsT0FBTyxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUM3QixPQUFPLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFDNUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1FBQzVDLE9BQU8sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztRQUM1QyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQTtRQUVoQyxPQUFPLElBQUksQ0FBQztJQUNiLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gKiBTcGluZSBSdW50aW1lcyBMaWNlbnNlIEFncmVlbWVudFxuICogTGFzdCB1cGRhdGVkIEFwcmlsIDUsIDIwMjUuIFJlcGxhY2VzIGFsbCBwcmlvciB2ZXJzaW9ucy5cbiAqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTMtMjAyNSwgRXNvdGVyaWMgU29mdHdhcmUgTExDXG4gKlxuICogSW50ZWdyYXRpb24gb2YgdGhlIFNwaW5lIFJ1bnRpbWVzIGludG8gc29mdHdhcmUgb3Igb3RoZXJ3aXNlIGNyZWF0aW5nXG4gKiBkZXJpdmF0aXZlIHdvcmtzIG9mIHRoZSBTcGluZSBSdW50aW1lcyBpcyBwZXJtaXR0ZWQgdW5kZXIgdGhlIHRlcm1zIGFuZFxuICogY29uZGl0aW9ucyBvZiBTZWN0aW9uIDIgb2YgdGhlIFNwaW5lIEVkaXRvciBMaWNlbnNlIEFncmVlbWVudDpcbiAqIGh0dHA6Ly9lc290ZXJpY3NvZnR3YXJlLmNvbS9zcGluZS1lZGl0b3ItbGljZW5zZVxuICpcbiAqIE90aGVyd2lzZSwgaXQgaXMgcGVybWl0dGVkIHRvIGludGVncmF0ZSB0aGUgU3BpbmUgUnVudGltZXMgaW50byBzb2Z0d2FyZVxuICogb3Igb3RoZXJ3aXNlIGNyZWF0ZSBkZXJpdmF0aXZlIHdvcmtzIG9mIHRoZSBTcGluZSBSdW50aW1lcyAoY29sbGVjdGl2ZWx5LFxuICogXCJQcm9kdWN0c1wiKSwgcHJvdmlkZWQgdGhhdCBlYWNoIHVzZXIgb2YgdGhlIFByb2R1Y3RzIG11c3Qgb2J0YWluIHRoZWlyIG93blxuICogU3BpbmUgRWRpdG9yIGxpY2Vuc2UgYW5kIHJlZGlzdHJpYnV0aW9uIG9mIHRoZSBQcm9kdWN0cyBpbiBhbnkgZm9ybSBtdXN0XG4gKiBpbmNsdWRlIHRoaXMgbGljZW5zZSBhbmQgY29weXJpZ2h0IG5vdGljZS5cbiAqXG4gKiBUSEUgU1BJTkUgUlVOVElNRVMgQVJFIFBST1ZJREVEIEJZIEVTT1RFUklDIFNPRlRXQVJFIExMQyBcIkFTIElTXCIgQU5EIEFOWVxuICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRFxuICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRVxuICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgRVNPVEVSSUMgU09GVFdBUkUgTExDIEJFIExJQUJMRSBGT1IgQU5ZXG4gKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFU1xuICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTLFxuICogQlVTSU5FU1MgSU5URVJSVVBUSU9OLCBPUiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUykgSE9XRVZFUiBDQVVTRUQgQU5EXG4gKiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVFxuICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GXG4gKiBUSEUgU1BJTkUgUlVOVElNRVMsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbmltcG9ydCB7IFZlY3RvcjMgfSBmcm9tIFwiLi9WZWN0b3IzLmpzXCI7XG5cbmV4cG9ydCBjb25zdCBNMDAgPSAwO1xuZXhwb3J0IGNvbnN0IE0wMSA9IDQ7XG5leHBvcnQgY29uc3QgTTAyID0gODtcbmV4cG9ydCBjb25zdCBNMDMgPSAxMjtcbmV4cG9ydCBjb25zdCBNMTAgPSAxO1xuZXhwb3J0IGNvbnN0IE0xMSA9IDU7XG5leHBvcnQgY29uc3QgTTEyID0gOTtcbmV4cG9ydCBjb25zdCBNMTMgPSAxMztcbmV4cG9ydCBjb25zdCBNMjAgPSAyO1xuZXhwb3J0IGNvbnN0IE0yMSA9IDY7XG5leHBvcnQgY29uc3QgTTIyID0gMTA7XG5leHBvcnQgY29uc3QgTTIzID0gMTQ7XG5leHBvcnQgY29uc3QgTTMwID0gMztcbmV4cG9ydCBjb25zdCBNMzEgPSA3O1xuZXhwb3J0IGNvbnN0IE0zMiA9IDExO1xuZXhwb3J0IGNvbnN0IE0zMyA9IDE1O1xuXG5leHBvcnQgY2xhc3MgTWF0cml4NCB7XG5cdHRlbXA6IEZsb2F0MzJBcnJheSA9IG5ldyBGbG9hdDMyQXJyYXkoMTYpO1xuXHR2YWx1ZXM6IEZsb2F0MzJBcnJheSA9IG5ldyBGbG9hdDMyQXJyYXkoMTYpO1xuXG5cdHByaXZhdGUgc3RhdGljIHhBeGlzID0gbmV3IFZlY3RvcjMoKTtcblx0cHJpdmF0ZSBzdGF0aWMgeUF4aXMgPSBuZXcgVmVjdG9yMygpO1xuXHRwcml2YXRlIHN0YXRpYyB6QXhpcyA9IG5ldyBWZWN0b3IzKCk7XG5cdHByaXZhdGUgc3RhdGljIHRtcE1hdHJpeCA9IG5ldyBNYXRyaXg0KCk7XG5cblx0Y29uc3RydWN0b3IgKCkge1xuXHRcdGNvbnN0IHYgPSB0aGlzLnZhbHVlcztcblx0XHR2W00wMF0gPSAxO1xuXHRcdHZbTTExXSA9IDE7XG5cdFx0dltNMjJdID0gMTtcblx0XHR2W00zM10gPSAxO1xuXHR9XG5cblx0c2V0ICh2YWx1ZXM6IEFycmF5TGlrZTxudW1iZXI+KTogTWF0cml4NCB7XG5cdFx0dGhpcy52YWx1ZXMuc2V0KHZhbHVlcyk7XG5cdFx0cmV0dXJuIHRoaXM7XG5cdH1cblxuXHR0cmFuc3Bvc2UgKCk6IE1hdHJpeDQge1xuXHRcdGNvbnN0IHQgPSB0aGlzLnRlbXA7XG5cdFx0Y29uc3QgdiA9IHRoaXMudmFsdWVzO1xuXHRcdHRbTTAwXSA9IHZbTTAwXTtcblx0XHR0W00wMV0gPSB2W00xMF07XG5cdFx0dFtNMDJdID0gdltNMjBdO1xuXHRcdHRbTTAzXSA9IHZbTTMwXTtcblx0XHR0W00xMF0gPSB2W00wMV07XG5cdFx0dFtNMTFdID0gdltNMTFdO1xuXHRcdHRbTTEyXSA9IHZbTTIxXTtcblx0XHR0W00xM10gPSB2W00zMV07XG5cdFx0dFtNMjBdID0gdltNMDJdO1xuXHRcdHRbTTIxXSA9IHZbTTEyXTtcblx0XHR0W00yMl0gPSB2W00yMl07XG5cdFx0dFtNMjNdID0gdltNMzJdO1xuXHRcdHRbTTMwXSA9IHZbTTAzXTtcblx0XHR0W00zMV0gPSB2W00xM107XG5cdFx0dFtNMzJdID0gdltNMjNdO1xuXHRcdHRbTTMzXSA9IHZbTTMzXTtcblx0XHRyZXR1cm4gdGhpcy5zZXQodCk7XG5cdH1cblxuXHRpZGVudGl0eSAoKTogTWF0cml4NCB7XG5cdFx0Y29uc3QgdiA9IHRoaXMudmFsdWVzO1xuXHRcdHZbTTAwXSA9IDE7XG5cdFx0dltNMDFdID0gMDtcblx0XHR2W00wMl0gPSAwO1xuXHRcdHZbTTAzXSA9IDA7XG5cdFx0dltNMTBdID0gMDtcblx0XHR2W00xMV0gPSAxO1xuXHRcdHZbTTEyXSA9IDA7XG5cdFx0dltNMTNdID0gMDtcblx0XHR2W00yMF0gPSAwO1xuXHRcdHZbTTIxXSA9IDA7XG5cdFx0dltNMjJdID0gMTtcblx0XHR2W00yM10gPSAwO1xuXHRcdHZbTTMwXSA9IDA7XG5cdFx0dltNMzFdID0gMDtcblx0XHR2W00zMl0gPSAwO1xuXHRcdHZbTTMzXSA9IDE7XG5cdFx0cmV0dXJuIHRoaXM7XG5cdH1cblxuXHRpbnZlcnQgKCk6IE1hdHJpeDQge1xuXHRcdGNvbnN0IHYgPSB0aGlzLnZhbHVlcztcblx0XHRjb25zdCB0ID0gdGhpcy50ZW1wO1xuXHRcdGNvbnN0IGxfZGV0ID0gdltNMzBdICogdltNMjFdICogdltNMTJdICogdltNMDNdIC0gdltNMjBdICogdltNMzFdICogdltNMTJdICogdltNMDNdIC0gdltNMzBdICogdltNMTFdICogdltNMjJdICogdltNMDNdXG5cdFx0XHQrIHZbTTEwXSAqIHZbTTMxXSAqIHZbTTIyXSAqIHZbTTAzXSArIHZbTTIwXSAqIHZbTTExXSAqIHZbTTMyXSAqIHZbTTAzXSAtIHZbTTEwXSAqIHZbTTIxXSAqIHZbTTMyXSAqIHZbTTAzXVxuXHRcdFx0LSB2W00zMF0gKiB2W00yMV0gKiB2W00wMl0gKiB2W00xM10gKyB2W00yMF0gKiB2W00zMV0gKiB2W00wMl0gKiB2W00xM10gKyB2W00zMF0gKiB2W00wMV0gKiB2W00yMl0gKiB2W00xM11cblx0XHRcdC0gdltNMDBdICogdltNMzFdICogdltNMjJdICogdltNMTNdIC0gdltNMjBdICogdltNMDFdICogdltNMzJdICogdltNMTNdICsgdltNMDBdICogdltNMjFdICogdltNMzJdICogdltNMTNdXG5cdFx0XHQrIHZbTTMwXSAqIHZbTTExXSAqIHZbTTAyXSAqIHZbTTIzXSAtIHZbTTEwXSAqIHZbTTMxXSAqIHZbTTAyXSAqIHZbTTIzXSAtIHZbTTMwXSAqIHZbTTAxXSAqIHZbTTEyXSAqIHZbTTIzXVxuXHRcdFx0KyB2W00wMF0gKiB2W00zMV0gKiB2W00xMl0gKiB2W00yM10gKyB2W00xMF0gKiB2W00wMV0gKiB2W00zMl0gKiB2W00yM10gLSB2W00wMF0gKiB2W00xMV0gKiB2W00zMl0gKiB2W00yM11cblx0XHRcdC0gdltNMjBdICogdltNMTFdICogdltNMDJdICogdltNMzNdICsgdltNMTBdICogdltNMjFdICogdltNMDJdICogdltNMzNdICsgdltNMjBdICogdltNMDFdICogdltNMTJdICogdltNMzNdXG5cdFx0XHQtIHZbTTAwXSAqIHZbTTIxXSAqIHZbTTEyXSAqIHZbTTMzXSAtIHZbTTEwXSAqIHZbTTAxXSAqIHZbTTIyXSAqIHZbTTMzXSArIHZbTTAwXSAqIHZbTTExXSAqIHZbTTIyXSAqIHZbTTMzXTtcblx0XHRpZiAobF9kZXQgPT09IDApIHRocm93IG5ldyBFcnJvcihcIm5vbi1pbnZlcnRpYmxlIG1hdHJpeFwiKTtcblx0XHRjb25zdCBpbnZfZGV0ID0gMS4wIC8gbF9kZXQ7XG5cdFx0dFtNMDBdID0gdltNMTJdICogdltNMjNdICogdltNMzFdIC0gdltNMTNdICogdltNMjJdICogdltNMzFdICsgdltNMTNdICogdltNMjFdICogdltNMzJdXG5cdFx0XHQtIHZbTTExXSAqIHZbTTIzXSAqIHZbTTMyXSAtIHZbTTEyXSAqIHZbTTIxXSAqIHZbTTMzXSArIHZbTTExXSAqIHZbTTIyXSAqIHZbTTMzXTtcblx0XHR0W00wMV0gPSB2W00wM10gKiB2W00yMl0gKiB2W00zMV0gLSB2W00wMl0gKiB2W00yM10gKiB2W00zMV0gLSB2W00wM10gKiB2W00yMV0gKiB2W00zMl1cblx0XHRcdCsgdltNMDFdICogdltNMjNdICogdltNMzJdICsgdltNMDJdICogdltNMjFdICogdltNMzNdIC0gdltNMDFdICogdltNMjJdICogdltNMzNdO1xuXHRcdHRbTTAyXSA9IHZbTTAyXSAqIHZbTTEzXSAqIHZbTTMxXSAtIHZbTTAzXSAqIHZbTTEyXSAqIHZbTTMxXSArIHZbTTAzXSAqIHZbTTExXSAqIHZbTTMyXVxuXHRcdFx0LSB2W00wMV0gKiB2W00xM10gKiB2W00zMl0gLSB2W00wMl0gKiB2W00xMV0gKiB2W00zM10gKyB2W00wMV0gKiB2W00xMl0gKiB2W00zM107XG5cdFx0dFtNMDNdID0gdltNMDNdICogdltNMTJdICogdltNMjFdIC0gdltNMDJdICogdltNMTNdICogdltNMjFdIC0gdltNMDNdICogdltNMTFdICogdltNMjJdXG5cdFx0XHQrIHZbTTAxXSAqIHZbTTEzXSAqIHZbTTIyXSArIHZbTTAyXSAqIHZbTTExXSAqIHZbTTIzXSAtIHZbTTAxXSAqIHZbTTEyXSAqIHZbTTIzXTtcblx0XHR0W00xMF0gPSB2W00xM10gKiB2W00yMl0gKiB2W00zMF0gLSB2W00xMl0gKiB2W00yM10gKiB2W00zMF0gLSB2W00xM10gKiB2W00yMF0gKiB2W00zMl1cblx0XHRcdCsgdltNMTBdICogdltNMjNdICogdltNMzJdICsgdltNMTJdICogdltNMjBdICogdltNMzNdIC0gdltNMTBdICogdltNMjJdICogdltNMzNdO1xuXHRcdHRbTTExXSA9IHZbTTAyXSAqIHZbTTIzXSAqIHZbTTMwXSAtIHZbTTAzXSAqIHZbTTIyXSAqIHZbTTMwXSArIHZbTTAzXSAqIHZbTTIwXSAqIHZbTTMyXVxuXHRcdFx0LSB2W00wMF0gKiB2W00yM10gKiB2W00zMl0gLSB2W00wMl0gKiB2W00yMF0gKiB2W00zM10gKyB2W00wMF0gKiB2W00yMl0gKiB2W00zM107XG5cdFx0dFtNMTJdID0gdltNMDNdICogdltNMTJdICogdltNMzBdIC0gdltNMDJdICogdltNMTNdICogdltNMzBdIC0gdltNMDNdICogdltNMTBdICogdltNMzJdXG5cdFx0XHQrIHZbTTAwXSAqIHZbTTEzXSAqIHZbTTMyXSArIHZbTTAyXSAqIHZbTTEwXSAqIHZbTTMzXSAtIHZbTTAwXSAqIHZbTTEyXSAqIHZbTTMzXTtcblx0XHR0W00xM10gPSB2W00wMl0gKiB2W00xM10gKiB2W00yMF0gLSB2W00wM10gKiB2W00xMl0gKiB2W00yMF0gKyB2W00wM10gKiB2W00xMF0gKiB2W00yMl1cblx0XHRcdC0gdltNMDBdICogdltNMTNdICogdltNMjJdIC0gdltNMDJdICogdltNMTBdICogdltNMjNdICsgdltNMDBdICogdltNMTJdICogdltNMjNdO1xuXHRcdHRbTTIwXSA9IHZbTTExXSAqIHZbTTIzXSAqIHZbTTMwXSAtIHZbTTEzXSAqIHZbTTIxXSAqIHZbTTMwXSArIHZbTTEzXSAqIHZbTTIwXSAqIHZbTTMxXVxuXHRcdFx0LSB2W00xMF0gKiB2W00yM10gKiB2W00zMV0gLSB2W00xMV0gKiB2W00yMF0gKiB2W00zM10gKyB2W00xMF0gKiB2W00yMV0gKiB2W00zM107XG5cdFx0dFtNMjFdID0gdltNMDNdICogdltNMjFdICogdltNMzBdIC0gdltNMDFdICogdltNMjNdICogdltNMzBdIC0gdltNMDNdICogdltNMjBdICogdltNMzFdXG5cdFx0XHQrIHZbTTAwXSAqIHZbTTIzXSAqIHZbTTMxXSArIHZbTTAxXSAqIHZbTTIwXSAqIHZbTTMzXSAtIHZbTTAwXSAqIHZbTTIxXSAqIHZbTTMzXTtcblx0XHR0W00yMl0gPSB2W00wMV0gKiB2W00xM10gKiB2W00zMF0gLSB2W00wM10gKiB2W00xMV0gKiB2W00zMF0gKyB2W00wM10gKiB2W00xMF0gKiB2W00zMV1cblx0XHRcdC0gdltNMDBdICogdltNMTNdICogdltNMzFdIC0gdltNMDFdICogdltNMTBdICogdltNMzNdICsgdltNMDBdICogdltNMTFdICogdltNMzNdO1xuXHRcdHRbTTIzXSA9IHZbTTAzXSAqIHZbTTExXSAqIHZbTTIwXSAtIHZbTTAxXSAqIHZbTTEzXSAqIHZbTTIwXSAtIHZbTTAzXSAqIHZbTTEwXSAqIHZbTTIxXVxuXHRcdFx0KyB2W00wMF0gKiB2W00xM10gKiB2W00yMV0gKyB2W00wMV0gKiB2W00xMF0gKiB2W00yM10gLSB2W00wMF0gKiB2W00xMV0gKiB2W00yM107XG5cdFx0dFtNMzBdID0gdltNMTJdICogdltNMjFdICogdltNMzBdIC0gdltNMTFdICogdltNMjJdICogdltNMzBdIC0gdltNMTJdICogdltNMjBdICogdltNMzFdXG5cdFx0XHQrIHZbTTEwXSAqIHZbTTIyXSAqIHZbTTMxXSArIHZbTTExXSAqIHZbTTIwXSAqIHZbTTMyXSAtIHZbTTEwXSAqIHZbTTIxXSAqIHZbTTMyXTtcblx0XHR0W00zMV0gPSB2W00wMV0gKiB2W00yMl0gKiB2W00zMF0gLSB2W00wMl0gKiB2W00yMV0gKiB2W00zMF0gKyB2W00wMl0gKiB2W00yMF0gKiB2W00zMV1cblx0XHRcdC0gdltNMDBdICogdltNMjJdICogdltNMzFdIC0gdltNMDFdICogdltNMjBdICogdltNMzJdICsgdltNMDBdICogdltNMjFdICogdltNMzJdO1xuXHRcdHRbTTMyXSA9IHZbTTAyXSAqIHZbTTExXSAqIHZbTTMwXSAtIHZbTTAxXSAqIHZbTTEyXSAqIHZbTTMwXSAtIHZbTTAyXSAqIHZbTTEwXSAqIHZbTTMxXVxuXHRcdFx0KyB2W00wMF0gKiB2W00xMl0gKiB2W00zMV0gKyB2W00wMV0gKiB2W00xMF0gKiB2W00zMl0gLSB2W00wMF0gKiB2W00xMV0gKiB2W00zMl07XG5cdFx0dFtNMzNdID0gdltNMDFdICogdltNMTJdICogdltNMjBdIC0gdltNMDJdICogdltNMTFdICogdltNMjBdICsgdltNMDJdICogdltNMTBdICogdltNMjFdXG5cdFx0XHQtIHZbTTAwXSAqIHZbTTEyXSAqIHZbTTIxXSAtIHZbTTAxXSAqIHZbTTEwXSAqIHZbTTIyXSArIHZbTTAwXSAqIHZbTTExXSAqIHZbTTIyXTtcblx0XHR2W00wMF0gPSB0W00wMF0gKiBpbnZfZGV0O1xuXHRcdHZbTTAxXSA9IHRbTTAxXSAqIGludl9kZXQ7XG5cdFx0dltNMDJdID0gdFtNMDJdICogaW52X2RldDtcblx0XHR2W00wM10gPSB0W00wM10gKiBpbnZfZGV0O1xuXHRcdHZbTTEwXSA9IHRbTTEwXSAqIGludl9kZXQ7XG5cdFx0dltNMTFdID0gdFtNMTFdICogaW52X2RldDtcblx0XHR2W00xMl0gPSB0W00xMl0gKiBpbnZfZGV0O1xuXHRcdHZbTTEzXSA9IHRbTTEzXSAqIGludl9kZXQ7XG5cdFx0dltNMjBdID0gdFtNMjBdICogaW52X2RldDtcblx0XHR2W00yMV0gPSB0W00yMV0gKiBpbnZfZGV0O1xuXHRcdHZbTTIyXSA9IHRbTTIyXSAqIGludl9kZXQ7XG5cdFx0dltNMjNdID0gdFtNMjNdICogaW52X2RldDtcblx0XHR2W00zMF0gPSB0W00zMF0gKiBpbnZfZGV0O1xuXHRcdHZbTTMxXSA9IHRbTTMxXSAqIGludl9kZXQ7XG5cdFx0dltNMzJdID0gdFtNMzJdICogaW52X2RldDtcblx0XHR2W00zM10gPSB0W00zM10gKiBpbnZfZGV0O1xuXHRcdHJldHVybiB0aGlzO1xuXHR9XG5cblx0ZGV0ZXJtaW5hbnQgKCk6IG51bWJlciB7XG5cdFx0Y29uc3QgdiA9IHRoaXMudmFsdWVzO1xuXHRcdHJldHVybiB2W00zMF0gKiB2W00yMV0gKiB2W00xMl0gKiB2W00wM10gLSB2W00yMF0gKiB2W00zMV0gKiB2W00xMl0gKiB2W00wM10gLSB2W00zMF0gKiB2W00xMV0gKiB2W00yMl0gKiB2W00wM11cblx0XHRcdCsgdltNMTBdICogdltNMzFdICogdltNMjJdICogdltNMDNdICsgdltNMjBdICogdltNMTFdICogdltNMzJdICogdltNMDNdIC0gdltNMTBdICogdltNMjFdICogdltNMzJdICogdltNMDNdXG5cdFx0XHQtIHZbTTMwXSAqIHZbTTIxXSAqIHZbTTAyXSAqIHZbTTEzXSArIHZbTTIwXSAqIHZbTTMxXSAqIHZbTTAyXSAqIHZbTTEzXSArIHZbTTMwXSAqIHZbTTAxXSAqIHZbTTIyXSAqIHZbTTEzXVxuXHRcdFx0LSB2W00wMF0gKiB2W00zMV0gKiB2W00yMl0gKiB2W00xM10gLSB2W00yMF0gKiB2W00wMV0gKiB2W00zMl0gKiB2W00xM10gKyB2W00wMF0gKiB2W00yMV0gKiB2W00zMl0gKiB2W00xM11cblx0XHRcdCsgdltNMzBdICogdltNMTFdICogdltNMDJdICogdltNMjNdIC0gdltNMTBdICogdltNMzFdICogdltNMDJdICogdltNMjNdIC0gdltNMzBdICogdltNMDFdICogdltNMTJdICogdltNMjNdXG5cdFx0XHQrIHZbTTAwXSAqIHZbTTMxXSAqIHZbTTEyXSAqIHZbTTIzXSArIHZbTTEwXSAqIHZbTTAxXSAqIHZbTTMyXSAqIHZbTTIzXSAtIHZbTTAwXSAqIHZbTTExXSAqIHZbTTMyXSAqIHZbTTIzXVxuXHRcdFx0LSB2W00yMF0gKiB2W00xMV0gKiB2W00wMl0gKiB2W00zM10gKyB2W00xMF0gKiB2W00yMV0gKiB2W00wMl0gKiB2W00zM10gKyB2W00yMF0gKiB2W00wMV0gKiB2W00xMl0gKiB2W00zM11cblx0XHRcdC0gdltNMDBdICogdltNMjFdICogdltNMTJdICogdltNMzNdIC0gdltNMTBdICogdltNMDFdICogdltNMjJdICogdltNMzNdICsgdltNMDBdICogdltNMTFdICogdltNMjJdICogdltNMzNdO1xuXHR9XG5cblx0dHJhbnNsYXRlICh4OiBudW1iZXIsIHk6IG51bWJlciwgejogbnVtYmVyKTogTWF0cml4NCB7XG5cdFx0Y29uc3QgdiA9IHRoaXMudmFsdWVzO1xuXHRcdHZbTTAzXSArPSB4O1xuXHRcdHZbTTEzXSArPSB5O1xuXHRcdHZbTTIzXSArPSB6O1xuXHRcdHJldHVybiB0aGlzO1xuXHR9XG5cblx0Y29weSAoKTogTWF0cml4NCB7XG5cdFx0cmV0dXJuIG5ldyBNYXRyaXg0KCkuc2V0KHRoaXMudmFsdWVzKTtcblx0fVxuXG5cdHByb2plY3Rpb24gKG5lYXI6IG51bWJlciwgZmFyOiBudW1iZXIsIGZvdnk6IG51bWJlciwgYXNwZWN0UmF0aW86IG51bWJlcik6IE1hdHJpeDQge1xuXHRcdHRoaXMuaWRlbnRpdHkoKTtcblx0XHRjb25zdCBsX2ZkID0gKDEuMCAvIE1hdGgudGFuKChmb3Z5ICogKE1hdGguUEkgLyAxODApKSAvIDIuMCkpO1xuXHRcdGNvbnN0IGxfYTEgPSAoZmFyICsgbmVhcikgLyAobmVhciAtIGZhcik7XG5cdFx0Y29uc3QgbF9hMiA9ICgyICogZmFyICogbmVhcikgLyAobmVhciAtIGZhcik7XG5cdFx0Y29uc3QgdiA9IHRoaXMudmFsdWVzO1xuXHRcdHZbTTAwXSA9IGxfZmQgLyBhc3BlY3RSYXRpbztcblx0XHR2W00xMF0gPSAwO1xuXHRcdHZbTTIwXSA9IDA7XG5cdFx0dltNMzBdID0gMDtcblx0XHR2W00wMV0gPSAwO1xuXHRcdHZbTTExXSA9IGxfZmQ7XG5cdFx0dltNMjFdID0gMDtcblx0XHR2W00zMV0gPSAwO1xuXHRcdHZbTTAyXSA9IDA7XG5cdFx0dltNMTJdID0gMDtcblx0XHR2W00yMl0gPSBsX2ExO1xuXHRcdHZbTTMyXSA9IC0xO1xuXHRcdHZbTTAzXSA9IDA7XG5cdFx0dltNMTNdID0gMDtcblx0XHR2W00yM10gPSBsX2EyO1xuXHRcdHZbTTMzXSA9IDA7XG5cdFx0cmV0dXJuIHRoaXM7XG5cdH1cblxuXHRvcnRobzJkICh4OiBudW1iZXIsIHk6IG51bWJlciwgd2lkdGg6IG51bWJlciwgaGVpZ2h0OiBudW1iZXIpOiBNYXRyaXg0IHtcblx0XHRyZXR1cm4gdGhpcy5vcnRobyh4LCB4ICsgd2lkdGgsIHksIHkgKyBoZWlnaHQsIDAsIDEpO1xuXHR9XG5cblx0b3J0aG8gKGxlZnQ6IG51bWJlciwgcmlnaHQ6IG51bWJlciwgYm90dG9tOiBudW1iZXIsIHRvcDogbnVtYmVyLCBuZWFyOiBudW1iZXIsIGZhcjogbnVtYmVyKTogTWF0cml4NCB7XG5cdFx0dGhpcy5pZGVudGl0eSgpO1xuXHRcdGNvbnN0IHhfb3J0aCA9IDIgLyAocmlnaHQgLSBsZWZ0KTtcblx0XHRjb25zdCB5X29ydGggPSAyIC8gKHRvcCAtIGJvdHRvbSk7XG5cdFx0Y29uc3Qgel9vcnRoID0gLTIgLyAoZmFyIC0gbmVhcik7XG5cblx0XHRjb25zdCB0eCA9IC0ocmlnaHQgKyBsZWZ0KSAvIChyaWdodCAtIGxlZnQpO1xuXHRcdGNvbnN0IHR5ID0gLSh0b3AgKyBib3R0b20pIC8gKHRvcCAtIGJvdHRvbSk7XG5cdFx0Y29uc3QgdHogPSAtKGZhciArIG5lYXIpIC8gKGZhciAtIG5lYXIpO1xuXG5cdFx0Y29uc3QgdiA9IHRoaXMudmFsdWVzO1xuXHRcdHZbTTAwXSA9IHhfb3J0aDtcblx0XHR2W00xMF0gPSAwO1xuXHRcdHZbTTIwXSA9IDA7XG5cdFx0dltNMzBdID0gMDtcblx0XHR2W00wMV0gPSAwO1xuXHRcdHZbTTExXSA9IHlfb3J0aDtcblx0XHR2W00yMV0gPSAwO1xuXHRcdHZbTTMxXSA9IDA7XG5cdFx0dltNMDJdID0gMDtcblx0XHR2W00xMl0gPSAwO1xuXHRcdHZbTTIyXSA9IHpfb3J0aDtcblx0XHR2W00zMl0gPSAwO1xuXHRcdHZbTTAzXSA9IHR4O1xuXHRcdHZbTTEzXSA9IHR5O1xuXHRcdHZbTTIzXSA9IHR6O1xuXHRcdHZbTTMzXSA9IDE7XG5cdFx0cmV0dXJuIHRoaXM7XG5cdH1cblxuXHRtdWx0aXBseSAobWF0cml4OiBNYXRyaXg0KTogTWF0cml4NCB7XG5cdFx0Y29uc3QgdCA9IHRoaXMudGVtcDtcblx0XHRjb25zdCB2ID0gdGhpcy52YWx1ZXM7XG5cdFx0Y29uc3QgbSA9IG1hdHJpeC52YWx1ZXM7XG5cdFx0dFtNMDBdID0gdltNMDBdICogbVtNMDBdICsgdltNMDFdICogbVtNMTBdICsgdltNMDJdICogbVtNMjBdICsgdltNMDNdICogbVtNMzBdO1xuXHRcdHRbTTAxXSA9IHZbTTAwXSAqIG1bTTAxXSArIHZbTTAxXSAqIG1bTTExXSArIHZbTTAyXSAqIG1bTTIxXSArIHZbTTAzXSAqIG1bTTMxXTtcblx0XHR0W00wMl0gPSB2W00wMF0gKiBtW00wMl0gKyB2W00wMV0gKiBtW00xMl0gKyB2W00wMl0gKiBtW00yMl0gKyB2W00wM10gKiBtW00zMl07XG5cdFx0dFtNMDNdID0gdltNMDBdICogbVtNMDNdICsgdltNMDFdICogbVtNMTNdICsgdltNMDJdICogbVtNMjNdICsgdltNMDNdICogbVtNMzNdO1xuXHRcdHRbTTEwXSA9IHZbTTEwXSAqIG1bTTAwXSArIHZbTTExXSAqIG1bTTEwXSArIHZbTTEyXSAqIG1bTTIwXSArIHZbTTEzXSAqIG1bTTMwXTtcblx0XHR0W00xMV0gPSB2W00xMF0gKiBtW00wMV0gKyB2W00xMV0gKiBtW00xMV0gKyB2W00xMl0gKiBtW00yMV0gKyB2W00xM10gKiBtW00zMV07XG5cdFx0dFtNMTJdID0gdltNMTBdICogbVtNMDJdICsgdltNMTFdICogbVtNMTJdICsgdltNMTJdICogbVtNMjJdICsgdltNMTNdICogbVtNMzJdO1xuXHRcdHRbTTEzXSA9IHZbTTEwXSAqIG1bTTAzXSArIHZbTTExXSAqIG1bTTEzXSArIHZbTTEyXSAqIG1bTTIzXSArIHZbTTEzXSAqIG1bTTMzXTtcblx0XHR0W00yMF0gPSB2W00yMF0gKiBtW00wMF0gKyB2W00yMV0gKiBtW00xMF0gKyB2W00yMl0gKiBtW00yMF0gKyB2W00yM10gKiBtW00zMF07XG5cdFx0dFtNMjFdID0gdltNMjBdICogbVtNMDFdICsgdltNMjFdICogbVtNMTFdICsgdltNMjJdICogbVtNMjFdICsgdltNMjNdICogbVtNMzFdO1xuXHRcdHRbTTIyXSA9IHZbTTIwXSAqIG1bTTAyXSArIHZbTTIxXSAqIG1bTTEyXSArIHZbTTIyXSAqIG1bTTIyXSArIHZbTTIzXSAqIG1bTTMyXTtcblx0XHR0W00yM10gPSB2W00yMF0gKiBtW00wM10gKyB2W00yMV0gKiBtW00xM10gKyB2W00yMl0gKiBtW00yM10gKyB2W00yM10gKiBtW00zM107XG5cdFx0dFtNMzBdID0gdltNMzBdICogbVtNMDBdICsgdltNMzFdICogbVtNMTBdICsgdltNMzJdICogbVtNMjBdICsgdltNMzNdICogbVtNMzBdO1xuXHRcdHRbTTMxXSA9IHZbTTMwXSAqIG1bTTAxXSArIHZbTTMxXSAqIG1bTTExXSArIHZbTTMyXSAqIG1bTTIxXSArIHZbTTMzXSAqIG1bTTMxXTtcblx0XHR0W00zMl0gPSB2W00zMF0gKiBtW00wMl0gKyB2W00zMV0gKiBtW00xMl0gKyB2W00zMl0gKiBtW00yMl0gKyB2W00zM10gKiBtW00zMl07XG5cdFx0dFtNMzNdID0gdltNMzBdICogbVtNMDNdICsgdltNMzFdICogbVtNMTNdICsgdltNMzJdICogbVtNMjNdICsgdltNMzNdICogbVtNMzNdO1xuXHRcdHJldHVybiB0aGlzLnNldCh0aGlzLnRlbXApO1xuXHR9XG5cblx0bXVsdGlwbHlMZWZ0IChtYXRyaXg6IE1hdHJpeDQpOiBNYXRyaXg0IHtcblx0XHRjb25zdCB0ID0gdGhpcy50ZW1wO1xuXHRcdGNvbnN0IHYgPSB0aGlzLnZhbHVlcztcblx0XHRjb25zdCBtID0gbWF0cml4LnZhbHVlcztcblx0XHR0W00wMF0gPSBtW00wMF0gKiB2W00wMF0gKyBtW00wMV0gKiB2W00xMF0gKyBtW00wMl0gKiB2W00yMF0gKyBtW00wM10gKiB2W00zMF07XG5cdFx0dFtNMDFdID0gbVtNMDBdICogdltNMDFdICsgbVtNMDFdICogdltNMTFdICsgbVtNMDJdICogdltNMjFdICsgbVtNMDNdICogdltNMzFdO1xuXHRcdHRbTTAyXSA9IG1bTTAwXSAqIHZbTTAyXSArIG1bTTAxXSAqIHZbTTEyXSArIG1bTTAyXSAqIHZbTTIyXSArIG1bTTAzXSAqIHZbTTMyXTtcblx0XHR0W00wM10gPSBtW00wMF0gKiB2W00wM10gKyBtW00wMV0gKiB2W00xM10gKyBtW00wMl0gKiB2W00yM10gKyBtW00wM10gKiB2W00zM107XG5cdFx0dFtNMTBdID0gbVtNMTBdICogdltNMDBdICsgbVtNMTFdICogdltNMTBdICsgbVtNMTJdICogdltNMjBdICsgbVtNMTNdICogdltNMzBdO1xuXHRcdHRbTTExXSA9IG1bTTEwXSAqIHZbTTAxXSArIG1bTTExXSAqIHZbTTExXSArIG1bTTEyXSAqIHZbTTIxXSArIG1bTTEzXSAqIHZbTTMxXTtcblx0XHR0W00xMl0gPSBtW00xMF0gKiB2W00wMl0gKyBtW00xMV0gKiB2W00xMl0gKyBtW00xMl0gKiB2W00yMl0gKyBtW00xM10gKiB2W00zMl07XG5cdFx0dFtNMTNdID0gbVtNMTBdICogdltNMDNdICsgbVtNMTFdICogdltNMTNdICsgbVtNMTJdICogdltNMjNdICsgbVtNMTNdICogdltNMzNdO1xuXHRcdHRbTTIwXSA9IG1bTTIwXSAqIHZbTTAwXSArIG1bTTIxXSAqIHZbTTEwXSArIG1bTTIyXSAqIHZbTTIwXSArIG1bTTIzXSAqIHZbTTMwXTtcblx0XHR0W00yMV0gPSBtW00yMF0gKiB2W00wMV0gKyBtW00yMV0gKiB2W00xMV0gKyBtW00yMl0gKiB2W00yMV0gKyBtW00yM10gKiB2W00zMV07XG5cdFx0dFtNMjJdID0gbVtNMjBdICogdltNMDJdICsgbVtNMjFdICogdltNMTJdICsgbVtNMjJdICogdltNMjJdICsgbVtNMjNdICogdltNMzJdO1xuXHRcdHRbTTIzXSA9IG1bTTIwXSAqIHZbTTAzXSArIG1bTTIxXSAqIHZbTTEzXSArIG1bTTIyXSAqIHZbTTIzXSArIG1bTTIzXSAqIHZbTTMzXTtcblx0XHR0W00zMF0gPSBtW00zMF0gKiB2W00wMF0gKyBtW00zMV0gKiB2W00xMF0gKyBtW00zMl0gKiB2W00yMF0gKyBtW00zM10gKiB2W00zMF07XG5cdFx0dFtNMzFdID0gbVtNMzBdICogdltNMDFdICsgbVtNMzFdICogdltNMTFdICsgbVtNMzJdICogdltNMjFdICsgbVtNMzNdICogdltNMzFdO1xuXHRcdHRbTTMyXSA9IG1bTTMwXSAqIHZbTTAyXSArIG1bTTMxXSAqIHZbTTEyXSArIG1bTTMyXSAqIHZbTTIyXSArIG1bTTMzXSAqIHZbTTMyXTtcblx0XHR0W00zM10gPSBtW00zMF0gKiB2W00wM10gKyBtW00zMV0gKiB2W00xM10gKyBtW00zMl0gKiB2W00yM10gKyBtW00zM10gKiB2W00zM107XG5cdFx0cmV0dXJuIHRoaXMuc2V0KHRoaXMudGVtcCk7XG5cdH1cblxuXHRsb29rQXQgKHBvc2l0aW9uOiBWZWN0b3IzLCBkaXJlY3Rpb246IFZlY3RvcjMsIHVwOiBWZWN0b3IzKSB7XG5cdFx0Y29uc3QgeEF4aXMgPSBNYXRyaXg0LnhBeGlzLCB5QXhpcyA9IE1hdHJpeDQueUF4aXMsIHpBeGlzID0gTWF0cml4NC56QXhpcztcblx0XHR6QXhpcy5zZXRGcm9tKGRpcmVjdGlvbikubm9ybWFsaXplKCk7XG5cdFx0eEF4aXMuc2V0RnJvbShkaXJlY3Rpb24pLm5vcm1hbGl6ZSgpO1xuXHRcdHhBeGlzLmNyb3NzKHVwKS5ub3JtYWxpemUoKTtcblx0XHR5QXhpcy5zZXRGcm9tKHhBeGlzKS5jcm9zcyh6QXhpcykubm9ybWFsaXplKCk7XG5cdFx0dGhpcy5pZGVudGl0eSgpO1xuXHRcdGNvbnN0IHZhbCA9IHRoaXMudmFsdWVzO1xuXHRcdHZhbFtNMDBdID0geEF4aXMueDtcblx0XHR2YWxbTTAxXSA9IHhBeGlzLnk7XG5cdFx0dmFsW00wMl0gPSB4QXhpcy56O1xuXHRcdHZhbFtNMTBdID0geUF4aXMueDtcblx0XHR2YWxbTTExXSA9IHlBeGlzLnk7XG5cdFx0dmFsW00xMl0gPSB5QXhpcy56O1xuXHRcdHZhbFtNMjBdID0gLXpBeGlzLng7XG5cdFx0dmFsW00yMV0gPSAtekF4aXMueTtcblx0XHR2YWxbTTIyXSA9IC16QXhpcy56O1xuXG5cdFx0TWF0cml4NC50bXBNYXRyaXguaWRlbnRpdHkoKTtcblx0XHRNYXRyaXg0LnRtcE1hdHJpeC52YWx1ZXNbTTAzXSA9IC1wb3NpdGlvbi54O1xuXHRcdE1hdHJpeDQudG1wTWF0cml4LnZhbHVlc1tNMTNdID0gLXBvc2l0aW9uLnk7XG5cdFx0TWF0cml4NC50bXBNYXRyaXgudmFsdWVzW00yM10gPSAtcG9zaXRpb24uejtcblx0XHR0aGlzLm11bHRpcGx5KE1hdHJpeDQudG1wTWF0cml4KVxuXG5cdFx0cmV0dXJuIHRoaXM7XG5cdH1cbn1cbiJdfQ==
|
package/dist/Mesh.d.ts
CHANGED
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
|
27
27
|
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
28
28
|
*****************************************************************************/
|
|
29
|
-
import { Disposable, Restorable } from "@esotericsoftware/spine-core";
|
|
29
|
+
import type { Disposable, Restorable } from "@esotericsoftware/spine-core";
|
|
30
30
|
import { Shader } from "./Shader.js";
|
|
31
31
|
import { ManagedWebGLRenderingContext } from "./WebGL.js";
|
|
32
32
|
export declare class Mesh implements Disposable, Restorable {
|
package/dist/Mesh.js
CHANGED
|
@@ -58,8 +58,8 @@ export class Mesh {
|
|
|
58
58
|
;
|
|
59
59
|
getVertexSizeInFloats() {
|
|
60
60
|
let size = 0;
|
|
61
|
-
for (
|
|
62
|
-
|
|
61
|
+
for (let i = 0; i < this.attributes.length; i++) {
|
|
62
|
+
const attribute = this.attributes[i];
|
|
63
63
|
size += attribute.numElements;
|
|
64
64
|
}
|
|
65
65
|
return size;
|
|
@@ -78,14 +78,14 @@ export class Mesh {
|
|
|
78
78
|
setVertices(vertices) {
|
|
79
79
|
this.dirtyVertices = true;
|
|
80
80
|
if (vertices.length > this.vertices.length)
|
|
81
|
-
throw Error(
|
|
81
|
+
throw Error(`Mesh can't store more than ${this.maxVertices()} vertices`);
|
|
82
82
|
this.vertices.set(vertices, 0);
|
|
83
83
|
this.verticesLength = vertices.length;
|
|
84
84
|
}
|
|
85
85
|
setIndices(indices) {
|
|
86
86
|
this.dirtyIndices = true;
|
|
87
87
|
if (indices.length > this.indices.length)
|
|
88
|
-
throw Error(
|
|
88
|
+
throw Error(`Mesh can't store more than ${this.maxIndices()} indices`);
|
|
89
89
|
this.indices.set(indices, 0);
|
|
90
90
|
this.indicesLength = indices.length;
|
|
91
91
|
}
|
|
@@ -93,7 +93,7 @@ export class Mesh {
|
|
|
93
93
|
this.drawWithOffset(shader, primitiveType, 0, this.indicesLength > 0 ? this.indicesLength : this.verticesLength / this.elementsPerVertex);
|
|
94
94
|
}
|
|
95
95
|
drawWithOffset(shader, primitiveType, offset, count) {
|
|
96
|
-
|
|
96
|
+
const gl = this.context.gl;
|
|
97
97
|
if (this.dirtyVertices || this.dirtyIndices)
|
|
98
98
|
this.update();
|
|
99
99
|
this.bind(shader);
|
|
@@ -106,12 +106,12 @@ export class Mesh {
|
|
|
106
106
|
this.unbind(shader);
|
|
107
107
|
}
|
|
108
108
|
bind(shader) {
|
|
109
|
-
|
|
109
|
+
const gl = this.context.gl;
|
|
110
110
|
gl.bindBuffer(gl.ARRAY_BUFFER, this.verticesBuffer);
|
|
111
111
|
let offset = 0;
|
|
112
112
|
for (let i = 0; i < this.attributes.length; i++) {
|
|
113
|
-
|
|
114
|
-
|
|
113
|
+
const attrib = this.attributes[i];
|
|
114
|
+
const location = shader.getAttributeLocation(attrib.name);
|
|
115
115
|
gl.enableVertexAttribArray(location);
|
|
116
116
|
gl.vertexAttribPointer(location, attrib.numElements, gl.FLOAT, false, this.elementsPerVertex * 4, offset * 4);
|
|
117
117
|
offset += attrib.numElements;
|
|
@@ -120,10 +120,10 @@ export class Mesh {
|
|
|
120
120
|
gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, this.indicesBuffer);
|
|
121
121
|
}
|
|
122
122
|
unbind(shader) {
|
|
123
|
-
|
|
123
|
+
const gl = this.context.gl;
|
|
124
124
|
for (let i = 0; i < this.attributes.length; i++) {
|
|
125
|
-
|
|
126
|
-
|
|
125
|
+
const attrib = this.attributes[i];
|
|
126
|
+
const location = shader.getAttributeLocation(attrib.name);
|
|
127
127
|
gl.disableVertexAttribArray(location);
|
|
128
128
|
}
|
|
129
129
|
gl.bindBuffer(gl.ARRAY_BUFFER, null);
|
|
@@ -131,7 +131,7 @@ export class Mesh {
|
|
|
131
131
|
gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, null);
|
|
132
132
|
}
|
|
133
133
|
update() {
|
|
134
|
-
|
|
134
|
+
const gl = this.context.gl;
|
|
135
135
|
if (this.dirtyVertices) {
|
|
136
136
|
if (!this.verticesBuffer) {
|
|
137
137
|
this.verticesBuffer = gl.createBuffer();
|
|
@@ -156,7 +156,7 @@ export class Mesh {
|
|
|
156
156
|
}
|
|
157
157
|
dispose() {
|
|
158
158
|
this.context.removeRestorable(this);
|
|
159
|
-
|
|
159
|
+
const gl = this.context.gl;
|
|
160
160
|
gl.deleteBuffer(this.verticesBuffer);
|
|
161
161
|
gl.deleteBuffer(this.indicesBuffer);
|
|
162
162
|
}
|
|
@@ -183,7 +183,7 @@ export class Position3Attribute extends VertexAttribute {
|
|
|
183
183
|
}
|
|
184
184
|
export class TexCoordAttribute extends VertexAttribute {
|
|
185
185
|
constructor(unit = 0) {
|
|
186
|
-
super(Shader.TEXCOORDS + (unit
|
|
186
|
+
super(Shader.TEXCOORDS + (unit === 0 ? "" : unit), VertexAttributeType.Float, 2);
|
|
187
187
|
}
|
|
188
188
|
}
|
|
189
189
|
export class ColorAttribute extends VertexAttribute {
|
|
@@ -200,4 +200,4 @@ export var VertexAttributeType;
|
|
|
200
200
|
(function (VertexAttributeType) {
|
|
201
201
|
VertexAttributeType[VertexAttributeType["Float"] = 0] = "Float";
|
|
202
202
|
})(VertexAttributeType || (VertexAttributeType = {}));
|
|
203
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWVzaC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9NZXNoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7K0VBMkIrRTtBQUcvRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3JDLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUcxRCxNQUFNLE9BQU8sSUFBSTtJQXVDb0U7SUF0QzVFLE9BQU8sQ0FBK0I7SUFDdEMsUUFBUSxDQUFlO0lBQ3ZCLGNBQWMsR0FBdUIsSUFBSSxDQUFDO0lBQzFDLGNBQWMsR0FBRyxDQUFDLENBQUM7SUFDbkIsYUFBYSxHQUFHLEtBQUssQ0FBQztJQUN0QixPQUFPLENBQWM7SUFDckIsYUFBYSxHQUF1QixJQUFJLENBQUM7SUFDekMsYUFBYSxHQUFHLENBQUMsQ0FBQztJQUNsQixZQUFZLEdBQUcsS0FBSyxDQUFDO0lBQ3JCLGlCQUFpQixHQUFHLENBQUMsQ0FBQztJQUU5QixhQUFhLEtBQXlCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7SUFFL0QsV0FBVyxLQUFjLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQztJQUNoRixXQUFXLEtBQWMsT0FBTyxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUM7SUFDL0UsaUJBQWlCLENBQUUsTUFBYztRQUNoQyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztRQUMxQixJQUFJLENBQUMsY0FBYyxHQUFHLE1BQU0sQ0FBQztJQUM5QixDQUFDO0lBQ0QsV0FBVyxLQUFvQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBRXRELFVBQVUsS0FBYyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFD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QyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLG1CQUFtQixDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNqRixDQUFDO0NBQ0Q7QUFFRCxNQUFNLE9BQU8sY0FBZSxTQUFRLGVBQWU7SUFDbEQ7UUFDQyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxtQkFBbUIsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDbkQsQ0FBQztDQUNEO0FBRUQsTUFBTSxPQUFPLGVBQWdCLFNBQVEsZUFBZTtJQUNuRDtRQUNDLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLG1CQUFtQixDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNwRCxDQUFDO0NBQ0Q7QUFFRCxNQUFNLENBQU4sSUFBWSxtQkFFWDtBQUZELFdBQVksbUJBQW1CO0lBQzlCLCtEQUFLLENBQUE7QUFDTixDQUFDLEVBRlcsbUJBQW1CLEtBQW5CLG1CQUFtQixRQUU5QiIsInNvdXJjZXNDb250ZW50IjpbIi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAqIFNwaW5lIFJ1bnRpbWVzIExpY2Vuc2UgQWdyZWVtZW50XG4gKiBMYXN0IHVwZGF0ZWQgQXByaWwgNSwgMjAyNS4gUmVwbGFjZXMgYWxsIHByaW9yIHZlcnNpb25zLlxuICpcbiAqIENvcHlyaWdodCAoYykgMjAxMy0yMDI1LCBFc290ZXJpYyBTb2Z0d2FyZSBMTENcbiAqXG4gKiBJbnRlZ3JhdGlvbiBvZiB0aGUgU3BpbmUgUnVudGltZXMgaW50byBzb2Z0d2FyZSBvciBvdGhlcndpc2UgY3JlYXRpbmdcbiAqIGRlcml2YXRpdmUgd29ya3Mgb2YgdGhlIFNwaW5lIFJ1bnRpbWVzIGlzIHBlcm1pdHRlZCB1bmRlciB0aGUgdGVybXMgYW5kXG4gKiBjb25kaXRpb25zIG9mIFNlY3Rpb24gMiBvZiB0aGUgU3BpbmUgRWRpdG9yIExpY2Vuc2UgQWdyZWVtZW50OlxuICogaHR0cDovL2Vzb3Rlcmljc29mdHdhcmUuY29tL3NwaW5lLWVkaXRvci1saWNlbnNlXG4gKlxuICogT3RoZXJ3aXNlLCBpdCBpcyBwZXJtaXR0ZWQgdG8gaW50ZWdyYXRlIHRoZSBTcGluZSBSdW50aW1lcyBpbnRvIHNvZnR3YXJlXG4gKiBvciBvdGhlcndpc2UgY3JlYXRlIGRlcml2YXRpdmUgd29ya3Mgb2YgdGhlIFNwaW5lIFJ1bnRpbWVzIChjb2xsZWN0aXZlbHksXG4gKiBcIlByb2R1Y3RzXCIpLCBwcm92aWRlZCB0aGF0IGVhY2ggdXNlciBvZiB0aGUgUHJvZHVjdHMgbXVzdCBvYnRhaW4gdGhlaXIgb3duXG4gKiBTcGluZSBFZGl0b3IgbGljZW5zZSBhbmQgcmVkaXN0cmlidXRpb24gb2YgdGhlIFByb2R1Y3RzIGluIGFueSBmb3JtIG11c3RcbiAqIGluY2x1ZGUgdGhpcyBsaWNlbnNlIGFuZCBjb3B5cmlnaHQgbm90aWNlLlxuICpcbiAqIFRIRSBTUElORSBSVU5USU1FUyBBUkUgUFJPVklERUQgQlkgRVNPVEVSSUMgU09GVFdBUkUgTExDIFwiQVMgSVNcIiBBTkQgQU5ZXG4gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEXG4gKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFXG4gKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBFU09URVJJQyBTT0ZUV0FSRSBMTEMgQkUgTElBQkxFIEZPUiBBTllcbiAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTXG4gKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVMsXG4gKiBCVVNJTkVTUyBJTlRFUlJVUFRJT04sIE9SIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTKSBIT1dFVkVSIENBVVNFRCBBTkRcbiAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUXG4gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0ZcbiAqIFRIRSBTUElORSBSVU5USU1FUywgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS5cbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuaW1wb3J0IHsgRGlzcG9zYWJsZSwgUmVzdG9yYWJsZSB9IGZyb20gXCJAZXNvdGVyaWNzb2Z0d2FyZS9zcGluZS1jb3JlXCI7XG5pbXBvcnQgeyBTaGFkZXIgfSBmcm9tIFwiLi9TaGFkZXIuanNcIjtcbmltcG9ydCB7IE1hbmFnZWRXZWJHTFJlbmRlcmluZ0NvbnRleHQgfSBmcm9tIFwiLi9XZWJHTC5qc1wiO1xuXG5cbmV4cG9ydCBjbGFzcyBNZXNoIGltcGxlbWVudHMgRGlzcG9zYWJsZSwgUmVzdG9yYWJsZSB7XG5cdHByaXZhdGUgY29udGV4dDogTWFuYWdlZFdlYkdMUmVuZGVyaW5nQ29udGV4dDtcblx0cHJpdmF0ZSB2ZXJ0aWNlczogRmxvYXQzMkFycmF5O1xuXHRwcml2YXRlIHZlcnRpY2VzQnVmZmVyOiBXZWJHTEJ1ZmZlciB8IG51bGwgPSBudWxsO1xuXHRwcml2YXRlIHZlcnRpY2VzTGVuZ3RoID0gMDtcblx0cHJpdmF0ZSBkaXJ0eVZlcnRpY2VzID0gZmFsc2U7XG5cdHByaXZhdGUgaW5kaWNlczogVWludDE2QXJyYXk7XG5cdHByaXZhdGUgaW5kaWNlc0J1ZmZlcjogV2ViR0xCdWZmZXIgfCBudWxsID0gbnVsbDtcblx0cHJpdmF0ZSBpbmRpY2VzTGVuZ3RoID0gMDtcblx0cHJpdmF0ZSBkaXJ0eUluZGljZXMgPSBmYWxzZTtcblx0cHJpdmF0ZSBlbGVtZW50c1BlclZlcnRleCA9IDA7XG5cblx0Z2V0QXR0cmlidXRlcyAoKTogVmVydGV4QXR0cmlidXRlW10geyByZXR1cm4gdGhpcy5hdHRyaWJ1dGVzOyB9XG5cblx0bWF4VmVydGljZXMgKCk6IG51bWJlciB7IHJldHVybiB0aGlzLnZlcnRpY2VzLmxlbmd0aCAvIHRoaXMuZWxlbWVudHNQZXJWZXJ0ZXg7IH1cblx0bnVtVmVydGljZXMgKCk6IG51bWJlciB7IHJldHVybiB0aGlzLnZlcnRpY2VzTGVuZ3RoIC8gdGhpcy5lbGVtZW50c1BlclZlcnRleDsgfVxuXHRzZXRWZXJ0aWNlc0xlbmd0aCAobGVuZ3RoOiBudW1iZXIpIHtcblx0XHR0aGlzLmRpcnR5VmVydGljZXMgPSB0cnVlO1xuXHRcdHRoaXMudmVydGljZXNMZW5ndGggPSBsZW5ndGg7XG5cdH1cblx0Z2V0VmVydGljZXMgKCk6IEZsb2F0MzJBcnJheSB7IHJldHVybiB0aGlzLnZlcnRpY2VzOyB9XG5cblx0bWF4SW5kaWNlcyAoKTogbnVtYmVyIHsgcmV0dXJuIHRoaXMuaW5kaWNlcy5sZW5ndGg7IH1cblx0bnVtSW5kaWNlcyAoKTogbnVtYmVyIHsgcmV0dXJuIHRoaXMuaW5kaWNlc0xlbmd0aDsgfVxuXHRzZXRJbmRpY2VzTGVuZ3RoIChsZW5ndGg6IG51bWJlcikge1xuXHRcdHRoaXMuZGlydHlJbmRpY2VzID0gdHJ1ZTtcblx0XHR0aGlzLmluZGljZXNMZW5ndGggPSBsZW5ndGg7XG5cdH1cblx0Z2V0SW5kaWNlcyAoKTogVWludDE2QXJyYXkgeyByZXR1cm4gdGhpcy5pbmRpY2VzIH07XG5cblx0Z2V0VmVydGV4U2l6ZUluRmxvYXRzICgpOiBudW1iZXIge1xuXHRcdGxldCBzaXplID0gMDtcblx0XHRmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMuYXR0cmlidXRlcy5sZW5ndGg7IGkrKykge1xuXHRcdFx0bGV0IGF0dHJpYnV0ZSA9IHRoaXMuYXR0cmlidXRlc1tpXTtcblx0XHRcdHNpemUgKz0gYXR0cmlidXRlLm51bUVsZW1lbnRzO1xuXHRcdH1cblx0XHRyZXR1cm4gc2l6ZTtcblx0fVxuXG5cdGNvbnN0cnVjdG9yIChjb250ZXh0OiBNYW5hZ2VkV2ViR0xSZW5kZXJpbmdDb250ZXh0IHwgV2ViR0xSZW5kZXJpbmdDb250ZXh0LCBwcml2YXRlIGF0dHJpYnV0ZXM6IFZlcnRleEF0dHJpYnV0ZVtdLCBtYXhWZXJ0aWNlczogbnVtYmVyLCBtYXhJbmRpY2VzOiBudW1iZXIpIHtcblx0XHR0aGlzLmNvbnRleHQgPSBjb250ZXh0IGluc3RhbmNlb2YgTWFuYWdlZFdlYkdMUmVuZGVyaW5nQ29udGV4dCA/IGNvbnRleHQgOiBuZXcgTWFuYWdlZFdlYkdMUmVuZGVyaW5nQ29udGV4dChjb250ZXh0KTtcblx0XHR0aGlzLmVsZW1lbnRzUGVyVmVydGV4ID0gMDtcblx0XHRmb3IgKGxldCBpID0gMDsgaSA8IGF0dHJpYnV0ZXMubGVuZ3RoOyBpKyspIHtcblx0XHRcdHRoaXMuZWxlbWVudHNQZXJWZXJ0ZXggKz0gYXR0cmlidXRlc1tpXS5udW1FbGVtZW50cztcblx0XHR9XG5cdFx0dGhpcy52ZXJ0aWNlcyA9IG5ldyBGbG9hdDMyQXJyYXkobWF4VmVydGljZXMgKiB0aGlzLmVsZW1lbnRzUGVyVmVydGV4KTtcblx0XHR0aGlzLmluZGljZXMgPSBuZXcgVWludDE2QXJyYXkobWF4SW5kaWNlcyk7XG5cdFx0dGhpcy5jb250ZXh0LmFkZFJlc3RvcmFibGUodGhpcyk7XG5cdH1cblxuXHRzZXRWZXJ0aWNlcyAodmVydGljZXM6IEFycmF5PG51bWJlcj4pIHtcblx0XHR0aGlzLmRpcnR5VmVydGljZXMgPSB0cnVlO1xuXHRcdGlmICh2ZXJ0aWNlcy5sZW5ndGggPiB0aGlzLnZlcnRpY2VzLmxlbmd0aCkgdGhyb3cgRXJyb3IoXCJNZXNoIGNhbid0IHN0b3JlIG1vcmUgdGhhbiBcIiArIHRoaXMubWF4VmVydGljZXMoKSArIFwiIHZlcnRpY2VzXCIpO1xuXHRcdHRoaXMudmVydGljZXMuc2V0KHZlcnRpY2VzLCAwKTtcblx0XHR0aGlzLnZlcnRpY2VzTGVuZ3RoID0gdmVydGljZXMubGVuZ3RoO1xuXHR9XG5cblx0c2V0SW5kaWNlcyAoaW5kaWNlczogQXJyYXk8bnVtYmVyPikge1xuXHRcdHRoaXMuZGlydHlJbmRpY2VzID0gdHJ1ZTtcblx0XHRpZiAoaW5kaWNlcy5sZW5ndGggPiB0aGlzLmluZGljZXMubGVuZ3RoKSB0aHJvdyBFcnJvcihcIk1lc2ggY2FuJ3Qgc3RvcmUgbW9yZSB0aGFuIFwiICsgdGhpcy5tYXhJbmRpY2VzKCkgKyBcIiBpbmRpY2VzXCIpO1xuXHRcdHRoaXMuaW5kaWNlcy5zZXQoaW5kaWNlcywgMCk7XG5cdFx0dGhpcy5pbmRpY2VzTGVuZ3RoID0gaW5kaWNlcy5sZW5ndGg7XG5cdH1cblxuXHRkcmF3IChzaGFkZXI6IFNoYWRlciwgcHJpbWl0aXZlVHlwZTogbnVtYmVyKSB7XG5cdFx0dGhpcy5kcmF3V2l0aE9mZnNldChzaGFkZXIsIHByaW1pdGl2ZVR5cGUsIDAsIHRoaXMuaW5kaWNlc0xlbmd0aCA+IDAgPyB0aGlzLmluZGljZXNMZW5ndGggOiB0aGlzLnZlcnRpY2VzTGVuZ3RoIC8gdGhpcy5lbGVtZW50c1BlclZlcnRleCk7XG5cdH1cblxuXHRkcmF3V2l0aE9mZnNldCAoc2hhZGVyOiBTaGFkZXIsIHByaW1pdGl2ZVR5cGU6IG51bWJlciwgb2Zmc2V0OiBudW1iZXIsIGNvdW50OiBudW1iZXIpIHtcblx0XHRsZXQgZ2wgPSB0aGlzLmNvbnRleHQuZ2w7XG5cdFx0aWYgKHRoaXMuZGlydHlWZXJ0aWNlcyB8fCB0aGlzLmRpcnR5SW5kaWNlcykgdGhpcy51cGRhdGUoKTtcblx0XHR0aGlzLmJpbmQoc2hhZGVyKTtcblx0XHRpZiAodGhpcy5pbmRpY2VzTGVuZ3RoID4gMCkge1xuXHRcdFx0Z2wuZHJhd0VsZW1lbnRzKHByaW1pdGl2ZVR5cGUsIGNvdW50LCBnbC5VTlNJR05FRF9TSE9SVCwgb2Zmc2V0ICogMik7XG5cdFx0fSBlbHNlIHtcblx0XHRcdGdsLmRyYXdBcnJheXMocHJpbWl0aXZlVHlwZSwgb2Zmc2V0LCBjb3VudCk7XG5cdFx0fVxuXHRcdHRoaXMudW5iaW5kKHNoYWRlcik7XG5cdH1cblxuXHRiaW5kIChzaGFkZXI6IFNoYWRlcikge1xuXHRcdGxldCBnbCA9IHRoaXMuY29udGV4dC5nbDtcblx0XHRnbC5iaW5kQnVmZmVyKGdsLkFSUkFZX0JVRkZFUiwgdGhpcy52ZXJ0aWNlc0J1ZmZlcik7XG5cdFx0bGV0IG9mZnNldCA9IDA7XG5cdFx0Zm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLmF0dHJpYnV0ZXMubGVuZ3RoOyBpKyspIHtcblx0XHRcdGxldCBhdHRyaWIgPSB0aGlzLmF0dHJpYnV0ZXNbaV07XG5cdFx0XHRsZXQgbG9jYXRpb24gPSBzaGFkZXIuZ2V0QXR0cmlidXRlTG9jYXRpb24oYXR0cmliLm5hbWUpO1xuXHRcdFx0Z2wuZW5hYmxlVmVydGV4QXR0cmliQXJyYXkobG9jYXRpb24pO1xuXHRcdFx0Z2wudmVydGV4QXR0cmliUG9pbnRlcihsb2NhdGlvbiwgYXR0cmliLm51bUVsZW1lbnRzLCBnbC5GTE9BVCwgZmFsc2UsIHRoaXMuZWxlbWVudHNQZXJWZXJ0ZXggKiA0LCBvZmZzZXQgKiA0KTtcblx0XHRcdG9mZnNldCArPSBhdHRyaWIubnVtRWxlbWVudHM7XG5cdFx0fVxuXHRcdGlmICh0aGlzLmluZGljZXNMZW5ndGggPiAwKSBnbC5iaW5kQnVmZmVyKGdsLkVMRU1FTlRfQVJSQVlfQlVGRkVSLCB0aGlzLmluZGljZXNCdWZmZXIpO1xuXHR9XG5cblx0dW5iaW5kIChzaGFkZXI6IFNoYWRlcikge1xuXHRcdGxldCBnbCA9IHRoaXMuY29udGV4dC5nbDtcblx0XHRmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuYXR0cmlidXRlcy5sZW5ndGg7IGkrKykge1xuXHRcdFx0bGV0IGF0dHJpYiA9IHRoaXMuYXR0cmlidXRlc1tpXTtcblx0XHRcdGxldCBsb2NhdGlvbiA9IHNoYWRlci5nZXRBdHRyaWJ1dGVMb2NhdGlvbihhdHRyaWIubmFtZSk7XG5cdFx0XHRnbC5kaXNhYmxlVmVydGV4QXR0cmliQXJyYXkobG9jYXRpb24pO1xuXHRcdH1cblx0XHRnbC5iaW5kQnVmZmVyKGdsLkFSUkFZX0JVRkZFUiwgbnVsbCk7XG5cdFx0aWYgKHRoaXMuaW5kaWNlc0xlbmd0aCA+IDApIGdsLmJpbmRCdWZmZXIoZ2wuRUxFTUVOVF9BUlJBWV9CVUZGRVIsIG51bGwpO1xuXHR9XG5cblx0cHJpdmF0ZSB1cGRhdGUgKCkge1xuXHRcdGxldCBnbCA9IHRoaXMuY29udGV4dC5nbDtcblx0XHRpZiAodGhpcy5kaXJ0eVZlcnRpY2VzKSB7XG5cdFx0XHRpZiAoIXRoaXMudmVydGljZXNCdWZmZXIpIHtcblx0XHRcdFx0dGhpcy52ZXJ0aWNlc0J1ZmZlciA9IGdsLmNyZWF0ZUJ1ZmZlcigpO1xuXHRcdFx0fVxuXHRcdFx0Z2wuYmluZEJ1ZmZlcihnbC5BUlJBWV9CVUZGRVIsIHRoaXMudmVydGljZXNCdWZmZXIpO1xuXHRcdFx0Z2wuYnVmZmVyRGF0YShnbC5BUlJBWV9CVUZGRVIsIHRoaXMudmVydGljZXMuc3ViYXJyYXkoMCwgdGhpcy52ZXJ0aWNlc0xlbmd0aCksIGdsLkRZTkFNSUNfRFJBVyk7XG5cdFx0XHR0aGlzLmRpcnR5VmVydGljZXMgPSBmYWxzZTtcblx0XHR9XG5cblx0XHRpZiAodGhpcy5kaXJ0eUluZGljZXMpIHtcblx0XHRcdGlmICghdGhpcy5pbmRpY2VzQnVmZmVyKSB7XG5cdFx0XHRcdHRoaXMuaW5kaWNlc0J1ZmZlciA9IGdsLmNyZWF0ZUJ1ZmZlcigpO1xuXHRcdFx0fVxuXHRcdFx0Z2wuYmluZEJ1ZmZlcihnbC5FTEVNRU5UX0FSUkFZX0JVRkZFUiwgdGhpcy5pbmRpY2VzQnVmZmVyKTtcblx0XHRcdGdsLmJ1ZmZlckRhdGEoZ2wuRUxFTUVOVF9BUlJBWV9CVUZGRVIsIHRoaXMuaW5kaWNlcy5zdWJhcnJheSgwLCB0aGlzLmluZGljZXNMZW5ndGgpLCBnbC5EWU5BTUlDX0RSQVcpO1xuXHRcdFx0dGhpcy5kaXJ0eUluZGljZXMgPSBmYWxzZTtcblx0XHR9XG5cdH1cblxuXHRyZXN0b3JlICgpIHtcblx0XHR0aGlzLnZlcnRpY2VzQnVmZmVyID0gbnVsbDtcblx0XHR0aGlzLmluZGljZXNCdWZmZXIgPSBudWxsO1xuXHRcdHRoaXMudXBkYXRlKCk7XG5cdH1cblxuXHRkaXNwb3NlICgpIHtcblx0XHR0aGlzLmNvbnRleHQucmVtb3ZlUmVzdG9yYWJsZSh0aGlzKTtcblx0XHRsZXQgZ2wgPSB0aGlzLmNvbnRleHQuZ2w7XG5cdFx0Z2wuZGVsZXRlQnVmZmVyKHRoaXMudmVydGljZXNCdWZmZXIpO1xuXHRcdGdsLmRlbGV0ZUJ1ZmZlcih0aGlzLmluZGljZXNCdWZmZXIpO1xuXHR9XG59XG5cbmV4cG9ydCBjbGFzcyBWZXJ0ZXhBdHRyaWJ1dGUge1xuXHRjb25zdHJ1Y3RvciAocHVibGljIG5hbWU6IHN0cmluZywgcHVibGljIHR5cGU6IFZlcnRleEF0dHJpYnV0ZVR5cGUsIHB1YmxpYyBudW1FbGVtZW50czogbnVtYmVyKSB7IH1cbn1cblxuZXhwb3J0IGNsYXNzIFBvc2l0aW9uMkF0dHJpYnV0ZSBleHRlbmRzIFZlcnRleEF0dHJpYnV0ZSB7XG5cdGNvbnN0cnVjdG9yICgpIHtcblx0XHRzdXBlcihTaGFkZXIuUE9TSVRJT04sIFZlcnRleEF0dHJpYnV0ZVR5cGUuRmxvYXQsIDIpO1xuXHR9XG59XG5cbmV4cG9ydCBjbGFzcyBQb3NpdGlvbjNBdHRyaWJ1dGUgZXh0ZW5kcyBWZXJ0ZXhBdHRyaWJ1dGUge1xuXHRjb25zdHJ1Y3RvciAoKSB7XG5cdFx0c3VwZXIoU2hhZGVyLlBPU0lUSU9OLCBWZXJ0ZXhBdHRyaWJ1dGVUeXBlLkZsb2F0LCAzKTtcblx0fVxufVxuXG5leHBvcnQgY2xhc3MgVGV4Q29vcmRBdHRyaWJ1dGUgZXh0ZW5kcyBWZXJ0ZXhBdHRyaWJ1dGUge1xuXHRjb25zdHJ1Y3RvciAodW5pdDogbnVtYmVyID0gMCkge1xuXHRcdHN1cGVyKFNoYWRlci5URVhDT09SRFMgKyAodW5pdCA9PSAwID8gXCJcIiA6IHVuaXQpLCBWZXJ0ZXhBdHRyaWJ1dGVUeXBlLkZsb2F0LCAyKTtcblx0fVxufVxuXG5leHBvcnQgY2xhc3MgQ29sb3JBdHRyaWJ1dGUgZXh0ZW5kcyBWZXJ0ZXhBdHRyaWJ1dGUge1xuXHRjb25zdHJ1Y3RvciAoKSB7XG5cdFx0c3VwZXIoU2hhZGVyLkNPTE9SLCBWZXJ0ZXhBdHRyaWJ1dGVUeXBlLkZsb2F0LCA0KTtcblx0fVxufVxuXG5leHBvcnQgY2xhc3MgQ29sb3IyQXR0cmlidXRlIGV4dGVuZHMgVmVydGV4QXR0cmlidXRlIHtcblx0Y29uc3RydWN0b3IgKCkge1xuXHRcdHN1cGVyKFNoYWRlci5DT0xPUjIsIFZlcnRleEF0dHJpYnV0ZVR5cGUuRmxvYXQsIDQpO1xuXHR9XG59XG5cbmV4cG9ydCBlbnVtIFZlcnRleEF0dHJpYnV0ZVR5cGUge1xuXHRGbG9hdFxufVxuIl19
|
|
203
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWVzaC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9NZXNoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7K0VBMkIrRTtBQUcvRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3JDLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUcxRCxNQUFNLE9BQU8sSUFBSTtJQXVDb0U7SUF0QzVFLE9BQU8sQ0FBK0I7SUFDdEMsUUFBUSxDQUFlO0lBQ3ZCLGNBQWMsR0FBdUIsSUFBSSxDQUFDO0lBQzFDLGNBQWMsR0FBRyxDQUFDLENBQUM7SUFDbkIsYUFBYSxHQUFHLEtBQUssQ0FBQztJQUN0QixPQUFPLENBQWM7SUFDckIsYUFBYSxHQUF1QixJQUFJLENBQUM7SUFDekMsYUFBYSxHQUFHLENBQUMsQ0FBQztJQUNsQixZQUFZLEdBQUcsS0FBSyxDQUFDO0lBQ3JCLGlCQUFpQixHQUFHLENBQUMsQ0FBQztJQUU5QixhQUFhLEtBQXlCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7SUFFL0QsV0FBVyxLQUFjLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQztJQUNoRixXQUFXLEtBQWMsT0FBTyxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUM7SUFDL0UsaUJBQWlCLENBQUUsTUFBYztRQUNoQyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztRQUMxQixJQUFJLENBQUMsY0FBYyxHQUFHLE1BQU0sQ0FBQztJQUM5QixDQUFDO0lBQ0QsV0FBVyxLQUFvQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBRXRELFVBQVUsS0FBYyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFD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RSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxtQkFBbUIsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDbEYsQ0FBQztDQUNEO0FBRUQsTUFBTSxPQUFPLGNBQWUsU0FBUSxlQUFlO0lBQ2xEO1FBQ0MsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsbUJBQW1CLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ25ELENBQUM7Q0FDRDtBQUVELE1BQU0sT0FBTyxlQUFnQixTQUFRLGVBQWU7SUFDbkQ7UUFDQyxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxtQkFBbUIsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDcEQsQ0FBQztDQUNEO0FBRUQsTUFBTSxDQUFOLElBQVksbUJBRVg7QUFGRCxXQUFZLG1CQUFtQjtJQUM5QiwrREFBSyxDQUFBO0FBQ04sQ0FBQyxFQUZXLG1CQUFtQixLQUFuQixtQkFBbUIsUUFFOUIiLCJzb3VyY2VzQ29udGVudCI6WyIvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gKiBTcGluZSBSdW50aW1lcyBMaWNlbnNlIEFncmVlbWVudFxuICogTGFzdCB1cGRhdGVkIEFwcmlsIDUsIDIwMjUuIFJlcGxhY2VzIGFsbCBwcmlvciB2ZXJzaW9ucy5cbiAqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTMtMjAyNSwgRXNvdGVyaWMgU29mdHdhcmUgTExDXG4gKlxuICogSW50ZWdyYXRpb24gb2YgdGhlIFNwaW5lIFJ1bnRpbWVzIGludG8gc29mdHdhcmUgb3Igb3RoZXJ3aXNlIGNyZWF0aW5nXG4gKiBkZXJpdmF0aXZlIHdvcmtzIG9mIHRoZSBTcGluZSBSdW50aW1lcyBpcyBwZXJtaXR0ZWQgdW5kZXIgdGhlIHRlcm1zIGFuZFxuICogY29uZGl0aW9ucyBvZiBTZWN0aW9uIDIgb2YgdGhlIFNwaW5lIEVkaXRvciBMaWNlbnNlIEFncmVlbWVudDpcbiAqIGh0dHA6Ly9lc290ZXJpY3NvZnR3YXJlLmNvbS9zcGluZS1lZGl0b3ItbGljZW5zZVxuICpcbiAqIE90aGVyd2lzZSwgaXQgaXMgcGVybWl0dGVkIHRvIGludGVncmF0ZSB0aGUgU3BpbmUgUnVudGltZXMgaW50byBzb2Z0d2FyZVxuICogb3Igb3RoZXJ3aXNlIGNyZWF0ZSBkZXJpdmF0aXZlIHdvcmtzIG9mIHRoZSBTcGluZSBSdW50aW1lcyAoY29sbGVjdGl2ZWx5LFxuICogXCJQcm9kdWN0c1wiKSwgcHJvdmlkZWQgdGhhdCBlYWNoIHVzZXIgb2YgdGhlIFByb2R1Y3RzIG11c3Qgb2J0YWluIHRoZWlyIG93blxuICogU3BpbmUgRWRpdG9yIGxpY2Vuc2UgYW5kIHJlZGlzdHJpYnV0aW9uIG9mIHRoZSBQcm9kdWN0cyBpbiBhbnkgZm9ybSBtdXN0XG4gKiBpbmNsdWRlIHRoaXMgbGljZW5zZSBhbmQgY29weXJpZ2h0IG5vdGljZS5cbiAqXG4gKiBUSEUgU1BJTkUgUlVOVElNRVMgQVJFIFBST1ZJREVEIEJZIEVTT1RFUklDIFNPRlRXQVJFIExMQyBcIkFTIElTXCIgQU5EIEFOWVxuICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRFxuICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRVxuICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgRVNPVEVSSUMgU09GVFdBUkUgTExDIEJFIExJQUJMRSBGT1IgQU5ZXG4gKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFU1xuICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTLFxuICogQlVTSU5FU1MgSU5URVJSVVBUSU9OLCBPUiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUykgSE9XRVZFUiBDQVVTRUQgQU5EXG4gKiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVFxuICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GXG4gKiBUSEUgU1BJTkUgUlVOVElNRVMsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbmltcG9ydCB0eXBlIHsgRGlzcG9zYWJsZSwgUmVzdG9yYWJsZSB9IGZyb20gXCJAZXNvdGVyaWNzb2Z0d2FyZS9zcGluZS1jb3JlXCI7XG5pbXBvcnQgeyBTaGFkZXIgfSBmcm9tIFwiLi9TaGFkZXIuanNcIjtcbmltcG9ydCB7IE1hbmFnZWRXZWJHTFJlbmRlcmluZ0NvbnRleHQgfSBmcm9tIFwiLi9XZWJHTC5qc1wiO1xuXG5cbmV4cG9ydCBjbGFzcyBNZXNoIGltcGxlbWVudHMgRGlzcG9zYWJsZSwgUmVzdG9yYWJsZSB7XG5cdHByaXZhdGUgY29udGV4dDogTWFuYWdlZFdlYkdMUmVuZGVyaW5nQ29udGV4dDtcblx0cHJpdmF0ZSB2ZXJ0aWNlczogRmxvYXQzMkFycmF5O1xuXHRwcml2YXRlIHZlcnRpY2VzQnVmZmVyOiBXZWJHTEJ1ZmZlciB8IG51bGwgPSBudWxsO1xuXHRwcml2YXRlIHZlcnRpY2VzTGVuZ3RoID0gMDtcblx0cHJpdmF0ZSBkaXJ0eVZlcnRpY2VzID0gZmFsc2U7XG5cdHByaXZhdGUgaW5kaWNlczogVWludDE2QXJyYXk7XG5cdHByaXZhdGUgaW5kaWNlc0J1ZmZlcjogV2ViR0xCdWZmZXIgfCBudWxsID0gbnVsbDtcblx0cHJpdmF0ZSBpbmRpY2VzTGVuZ3RoID0gMDtcblx0cHJpdmF0ZSBkaXJ0eUluZGljZXMgPSBmYWxzZTtcblx0cHJpdmF0ZSBlbGVtZW50c1BlclZlcnRleCA9IDA7XG5cblx0Z2V0QXR0cmlidXRlcyAoKTogVmVydGV4QXR0cmlidXRlW10geyByZXR1cm4gdGhpcy5hdHRyaWJ1dGVzOyB9XG5cblx0bWF4VmVydGljZXMgKCk6IG51bWJlciB7IHJldHVybiB0aGlzLnZlcnRpY2VzLmxlbmd0aCAvIHRoaXMuZWxlbWVudHNQZXJWZXJ0ZXg7IH1cblx0bnVtVmVydGljZXMgKCk6IG51bWJlciB7IHJldHVybiB0aGlzLnZlcnRpY2VzTGVuZ3RoIC8gdGhpcy5lbGVtZW50c1BlclZlcnRleDsgfVxuXHRzZXRWZXJ0aWNlc0xlbmd0aCAobGVuZ3RoOiBudW1iZXIpIHtcblx0XHR0aGlzLmRpcnR5VmVydGljZXMgPSB0cnVlO1xuXHRcdHRoaXMudmVydGljZXNMZW5ndGggPSBsZW5ndGg7XG5cdH1cblx0Z2V0VmVydGljZXMgKCk6IEZsb2F0MzJBcnJheSB7IHJldHVybiB0aGlzLnZlcnRpY2VzOyB9XG5cblx0bWF4SW5kaWNlcyAoKTogbnVtYmVyIHsgcmV0dXJuIHRoaXMuaW5kaWNlcy5sZW5ndGg7IH1cblx0bnVtSW5kaWNlcyAoKTogbnVtYmVyIHsgcmV0dXJuIHRoaXMuaW5kaWNlc0xlbmd0aDsgfVxuXHRzZXRJbmRpY2VzTGVuZ3RoIChsZW5ndGg6IG51bWJlcikge1xuXHRcdHRoaXMuZGlydHlJbmRpY2VzID0gdHJ1ZTtcblx0XHR0aGlzLmluZGljZXNMZW5ndGggPSBsZW5ndGg7XG5cdH1cblx0Z2V0SW5kaWNlcyAoKTogVWludDE2QXJyYXkgeyByZXR1cm4gdGhpcy5pbmRpY2VzIH07XG5cblx0Z2V0VmVydGV4U2l6ZUluRmxvYXRzICgpOiBudW1iZXIge1xuXHRcdGxldCBzaXplID0gMDtcblx0XHRmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuYXR0cmlidXRlcy5sZW5ndGg7IGkrKykge1xuXHRcdFx0Y29uc3QgYXR0cmlidXRlID0gdGhpcy5hdHRyaWJ1dGVzW2ldO1xuXHRcdFx0c2l6ZSArPSBhdHRyaWJ1dGUubnVtRWxlbWVudHM7XG5cdFx0fVxuXHRcdHJldHVybiBzaXplO1xuXHR9XG5cblx0Y29uc3RydWN0b3IgKGNvbnRleHQ6IE1hbmFnZWRXZWJHTFJlbmRlcmluZ0NvbnRleHQgfCBXZWJHTFJlbmRlcmluZ0NvbnRleHQsIHByaXZhdGUgYXR0cmlidXRlczogVmVydGV4QXR0cmlidXRlW10sIG1heFZlcnRpY2VzOiBudW1iZXIsIG1heEluZGljZXM6IG51bWJlcikge1xuXHRcdHRoaXMuY29udGV4dCA9IGNvbnRleHQgaW5zdGFuY2VvZiBNYW5hZ2VkV2ViR0xSZW5kZXJpbmdDb250ZXh0ID8gY29udGV4dCA6IG5ldyBNYW5hZ2VkV2ViR0xSZW5kZXJpbmdDb250ZXh0KGNvbnRleHQpO1xuXHRcdHRoaXMuZWxlbWVudHNQZXJWZXJ0ZXggPSAwO1xuXHRcdGZvciAobGV0IGkgPSAwOyBpIDwgYXR0cmlidXRlcy5sZW5ndGg7IGkrKykge1xuXHRcdFx0dGhpcy5lbGVtZW50c1BlclZlcnRleCArPSBhdHRyaWJ1dGVzW2ldLm51bUVsZW1lbnRzO1xuXHRcdH1cblx0XHR0aGlzLnZlcnRpY2VzID0gbmV3IEZsb2F0MzJBcnJheShtYXhWZXJ0aWNlcyAqIHRoaXMuZWxlbWVudHNQZXJWZXJ0ZXgpO1xuXHRcdHRoaXMuaW5kaWNlcyA9IG5ldyBVaW50MTZBcnJheShtYXhJbmRpY2VzKTtcblx0XHR0aGlzLmNvbnRleHQuYWRkUmVzdG9yYWJsZSh0aGlzKTtcblx0fVxuXG5cdHNldFZlcnRpY2VzICh2ZXJ0aWNlczogQXJyYXk8bnVtYmVyPikge1xuXHRcdHRoaXMuZGlydHlWZXJ0aWNlcyA9IHRydWU7XG5cdFx0aWYgKHZlcnRpY2VzLmxlbmd0aCA+IHRoaXMudmVydGljZXMubGVuZ3RoKSB0aHJvdyBFcnJvcihgTWVzaCBjYW4ndCBzdG9yZSBtb3JlIHRoYW4gJHt0aGlzLm1heFZlcnRpY2VzKCl9IHZlcnRpY2VzYCk7XG5cdFx0dGhpcy52ZXJ0aWNlcy5zZXQodmVydGljZXMsIDApO1xuXHRcdHRoaXMudmVydGljZXNMZW5ndGggPSB2ZXJ0aWNlcy5sZW5ndGg7XG5cdH1cblxuXHRzZXRJbmRpY2VzIChpbmRpY2VzOiBBcnJheTxudW1iZXI+KSB7XG5cdFx0dGhpcy5kaXJ0eUluZGljZXMgPSB0cnVlO1xuXHRcdGlmIChpbmRpY2VzLmxlbmd0aCA+IHRoaXMuaW5kaWNlcy5sZW5ndGgpIHRocm93IEVycm9yKGBNZXNoIGNhbid0IHN0b3JlIG1vcmUgdGhhbiAke3RoaXMubWF4SW5kaWNlcygpfSBpbmRpY2VzYCk7XG5cdFx0dGhpcy5pbmRpY2VzLnNldChpbmRpY2VzLCAwKTtcblx0XHR0aGlzLmluZGljZXNMZW5ndGggPSBpbmRpY2VzLmxlbmd0aDtcblx0fVxuXG5cdGRyYXcgKHNoYWRlcjogU2hhZGVyLCBwcmltaXRpdmVUeXBlOiBudW1iZXIpIHtcblx0XHR0aGlzLmRyYXdXaXRoT2Zmc2V0KHNoYWRlciwgcHJpbWl0aXZlVHlwZSwgMCwgdGhpcy5pbmRpY2VzTGVuZ3RoID4gMCA/IHRoaXMuaW5kaWNlc0xlbmd0aCA6IHRoaXMudmVydGljZXNMZW5ndGggLyB0aGlzLmVsZW1lbnRzUGVyVmVydGV4KTtcblx0fVxuXG5cdGRyYXdXaXRoT2Zmc2V0IChzaGFkZXI6IFNoYWRlciwgcHJpbWl0aXZlVHlwZTogbnVtYmVyLCBvZmZzZXQ6IG51bWJlciwgY291bnQ6IG51bWJlcikge1xuXHRcdGNvbnN0IGdsID0gdGhpcy5jb250ZXh0LmdsO1xuXHRcdGlmICh0aGlzLmRpcnR5VmVydGljZXMgfHwgdGhpcy5kaXJ0eUluZGljZXMpIHRoaXMudXBkYXRlKCk7XG5cdFx0dGhpcy5iaW5kKHNoYWRlcik7XG5cdFx0aWYgKHRoaXMuaW5kaWNlc0xlbmd0aCA+IDApIHtcblx0XHRcdGdsLmRyYXdFbGVtZW50cyhwcmltaXRpdmVUeXBlLCBjb3VudCwgZ2wuVU5TSUdORURfU0hPUlQsIG9mZnNldCAqIDIpO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRnbC5kcmF3QXJyYXlzKHByaW1pdGl2ZVR5cGUsIG9mZnNldCwgY291bnQpO1xuXHRcdH1cblx0XHR0aGlzLnVuYmluZChzaGFkZXIpO1xuXHR9XG5cblx0YmluZCAoc2hhZGVyOiBTaGFkZXIpIHtcblx0XHRjb25zdCBnbCA9IHRoaXMuY29udGV4dC5nbDtcblx0XHRnbC5iaW5kQnVmZmVyKGdsLkFSUkFZX0JVRkZFUiwgdGhpcy52ZXJ0aWNlc0J1ZmZlcik7XG5cdFx0bGV0IG9mZnNldCA9IDA7XG5cdFx0Zm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLmF0dHJpYnV0ZXMubGVuZ3RoOyBpKyspIHtcblx0XHRcdGNvbnN0IGF0dHJpYiA9IHRoaXMuYXR0cmlidXRlc1tpXTtcblx0XHRcdGNvbnN0IGxvY2F0aW9uID0gc2hhZGVyLmdldEF0dHJpYnV0ZUxvY2F0aW9uKGF0dHJpYi5uYW1lKTtcblx0XHRcdGdsLmVuYWJsZVZlcnRleEF0dHJpYkFycmF5KGxvY2F0aW9uKTtcblx0XHRcdGdsLnZlcnRleEF0dHJpYlBvaW50ZXIobG9jYXRpb24sIGF0dHJpYi5udW1FbGVtZW50cywgZ2wuRkxPQVQsIGZhbHNlLCB0aGlzLmVsZW1lbnRzUGVyVmVydGV4ICogNCwgb2Zmc2V0ICogNCk7XG5cdFx0XHRvZmZzZXQgKz0gYXR0cmliLm51bUVsZW1lbnRzO1xuXHRcdH1cblx0XHRpZiAodGhpcy5pbmRpY2VzTGVuZ3RoID4gMCkgZ2wuYmluZEJ1ZmZlcihnbC5FTEVNRU5UX0FSUkFZX0JVRkZFUiwgdGhpcy5pbmRpY2VzQnVmZmVyKTtcblx0fVxuXG5cdHVuYmluZCAoc2hhZGVyOiBTaGFkZXIpIHtcblx0XHRjb25zdCBnbCA9IHRoaXMuY29udGV4dC5nbDtcblx0XHRmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuYXR0cmlidXRlcy5sZW5ndGg7IGkrKykge1xuXHRcdFx0Y29uc3QgYXR0cmliID0gdGhpcy5hdHRyaWJ1dGVzW2ldO1xuXHRcdFx0Y29uc3QgbG9jYXRpb24gPSBzaGFkZXIuZ2V0QXR0cmlidXRlTG9jYXRpb24oYXR0cmliLm5hbWUpO1xuXHRcdFx0Z2wuZGlzYWJsZVZlcnRleEF0dHJpYkFycmF5KGxvY2F0aW9uKTtcblx0XHR9XG5cdFx0Z2wuYmluZEJ1ZmZlcihnbC5BUlJBWV9CVUZGRVIsIG51bGwpO1xuXHRcdGlmICh0aGlzLmluZGljZXNMZW5ndGggPiAwKSBnbC5iaW5kQnVmZmVyKGdsLkVMRU1FTlRfQVJSQVlfQlVGRkVSLCBudWxsKTtcblx0fVxuXG5cdHByaXZhdGUgdXBkYXRlICgpIHtcblx0XHRjb25zdCBnbCA9IHRoaXMuY29udGV4dC5nbDtcblx0XHRpZiAodGhpcy5kaXJ0eVZlcnRpY2VzKSB7XG5cdFx0XHRpZiAoIXRoaXMudmVydGljZXNCdWZmZXIpIHtcblx0XHRcdFx0dGhpcy52ZXJ0aWNlc0J1ZmZlciA9IGdsLmNyZWF0ZUJ1ZmZlcigpO1xuXHRcdFx0fVxuXHRcdFx0Z2wuYmluZEJ1ZmZlcihnbC5BUlJBWV9CVUZGRVIsIHRoaXMudmVydGljZXNCdWZmZXIpO1xuXHRcdFx0Z2wuYnVmZmVyRGF0YShnbC5BUlJBWV9CVUZGRVIsIHRoaXMudmVydGljZXMuc3ViYXJyYXkoMCwgdGhpcy52ZXJ0aWNlc0xlbmd0aCksIGdsLkRZTkFNSUNfRFJBVyk7XG5cdFx0XHR0aGlzLmRpcnR5VmVydGljZXMgPSBmYWxzZTtcblx0XHR9XG5cblx0XHRpZiAodGhpcy5kaXJ0eUluZGljZXMpIHtcblx0XHRcdGlmICghdGhpcy5pbmRpY2VzQnVmZmVyKSB7XG5cdFx0XHRcdHRoaXMuaW5kaWNlc0J1ZmZlciA9IGdsLmNyZWF0ZUJ1ZmZlcigpO1xuXHRcdFx0fVxuXHRcdFx0Z2wuYmluZEJ1ZmZlcihnbC5FTEVNRU5UX0FSUkFZX0JVRkZFUiwgdGhpcy5pbmRpY2VzQnVmZmVyKTtcblx0XHRcdGdsLmJ1ZmZlckRhdGEoZ2wuRUxFTUVOVF9BUlJBWV9CVUZGRVIsIHRoaXMuaW5kaWNlcy5zdWJhcnJheSgwLCB0aGlzLmluZGljZXNMZW5ndGgpLCBnbC5EWU5BTUlDX0RSQVcpO1xuXHRcdFx0dGhpcy5kaXJ0eUluZGljZXMgPSBmYWxzZTtcblx0XHR9XG5cdH1cblxuXHRyZXN0b3JlICgpIHtcblx0XHR0aGlzLnZlcnRpY2VzQnVmZmVyID0gbnVsbDtcblx0XHR0aGlzLmluZGljZXNCdWZmZXIgPSBudWxsO1xuXHRcdHRoaXMudXBkYXRlKCk7XG5cdH1cblxuXHRkaXNwb3NlICgpIHtcblx0XHR0aGlzLmNvbnRleHQucmVtb3ZlUmVzdG9yYWJsZSh0aGlzKTtcblx0XHRjb25zdCBnbCA9IHRoaXMuY29udGV4dC5nbDtcblx0XHRnbC5kZWxldGVCdWZmZXIodGhpcy52ZXJ0aWNlc0J1ZmZlcik7XG5cdFx0Z2wuZGVsZXRlQnVmZmVyKHRoaXMuaW5kaWNlc0J1ZmZlcik7XG5cdH1cbn1cblxuZXhwb3J0IGNsYXNzIFZlcnRleEF0dHJpYnV0ZSB7XG5cdGNvbnN0cnVjdG9yIChwdWJsaWMgbmFtZTogc3RyaW5nLCBwdWJsaWMgdHlwZTogVmVydGV4QXR0cmlidXRlVHlwZSwgcHVibGljIG51bUVsZW1lbnRzOiBudW1iZXIpIHsgfVxufVxuXG5leHBvcnQgY2xhc3MgUG9zaXRpb24yQXR0cmlidXRlIGV4dGVuZHMgVmVydGV4QXR0cmlidXRlIHtcblx0Y29uc3RydWN0b3IgKCkge1xuXHRcdHN1cGVyKFNoYWRlci5QT1NJVElPTiwgVmVydGV4QXR0cmlidXRlVHlwZS5GbG9hdCwgMik7XG5cdH1cbn1cblxuZXhwb3J0IGNsYXNzIFBvc2l0aW9uM0F0dHJpYnV0ZSBleHRlbmRzIFZlcnRleEF0dHJpYnV0ZSB7XG5cdGNvbnN0cnVjdG9yICgpIHtcblx0XHRzdXBlcihTaGFkZXIuUE9TSVRJT04sIFZlcnRleEF0dHJpYnV0ZVR5cGUuRmxvYXQsIDMpO1xuXHR9XG59XG5cbmV4cG9ydCBjbGFzcyBUZXhDb29yZEF0dHJpYnV0ZSBleHRlbmRzIFZlcnRleEF0dHJpYnV0ZSB7XG5cdGNvbnN0cnVjdG9yICh1bml0OiBudW1iZXIgPSAwKSB7XG5cdFx0c3VwZXIoU2hhZGVyLlRFWENPT1JEUyArICh1bml0ID09PSAwID8gXCJcIiA6IHVuaXQpLCBWZXJ0ZXhBdHRyaWJ1dGVUeXBlLkZsb2F0LCAyKTtcblx0fVxufVxuXG5leHBvcnQgY2xhc3MgQ29sb3JBdHRyaWJ1dGUgZXh0ZW5kcyBWZXJ0ZXhBdHRyaWJ1dGUge1xuXHRjb25zdHJ1Y3RvciAoKSB7XG5cdFx0c3VwZXIoU2hhZGVyLkNPTE9SLCBWZXJ0ZXhBdHRyaWJ1dGVUeXBlLkZsb2F0LCA0KTtcblx0fVxufVxuXG5leHBvcnQgY2xhc3MgQ29sb3IyQXR0cmlidXRlIGV4dGVuZHMgVmVydGV4QXR0cmlidXRlIHtcblx0Y29uc3RydWN0b3IgKCkge1xuXHRcdHN1cGVyKFNoYWRlci5DT0xPUjIsIFZlcnRleEF0dHJpYnV0ZVR5cGUuRmxvYXQsIDQpO1xuXHR9XG59XG5cbmV4cG9ydCBlbnVtIFZlcnRleEF0dHJpYnV0ZVR5cGUge1xuXHRGbG9hdFxufVxuIl19
|