dcl-npc-toolkit 1.2.2-20240115125339.commit-cf7e18d → 1.2.2
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/README.md +18 -15
- package/dist/dialog.d.ts +3 -0
- package/dist/dialog.js +40 -1
- package/dist/types.d.ts +2 -0
- package/dist/types.js +1 -1
- package/dist/ui.d.ts +32 -0
- package/dist/ui.js +224 -81
- package/dist/uiResources.d.ts +24 -0
- package/dist/uiResources.js +27 -3
- package/package.json +4 -4
package/dist/ui.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import ReactEcs, { UiEntity } from '@dcl/sdk/react-ecs';
|
|
2
|
-
import { buttonClick, displayButton, displayDialog, displayFirstButtonContainer, displayImage, displayPortrait, displaySecondButtonContainer, displaySkipable, getButtonText, getFontSize, getImage, getImageAtlasMapping, getLeftClickTheme, getPortrait, getSkipableTheme, getText, getTextColor, getTextPosition, getTheme, handleDialogClick, imageHeight, imageWidth, portraitHeight, portraitWidth, positionImageX, positionImageY, positionPortaitX, positionPortaitY, realHeight, realWidth, skipDialogs } from './dialog';
|
|
2
|
+
import { buttonClick, displayButton, displayDialog, displayFirstButtonContainer, displayImage, displayPortrait, displaySecondButtonContainer, displaySkipable, getButtonText, getbuttonSize, getFontSize, getButtonFontSize, getImage, getImageAtlasMapping, getLeftClickTheme, getPortrait, getSkipableTheme, getText, getTextColor, getTextPosition, getTheme, handleDialogClick, imageHeight, imageWidth, portraitHeight, portraitWidth, positionImageX, positionImageY, positionPortaitX, positionPortaitY, realHeight, realWidth, skipDialogs, getWindowHeight } from './dialog';
|
|
3
3
|
import { sourcesComponentsCoordinates } from './uiResources';
|
|
4
4
|
import { activeNPC } from './npc';
|
|
5
5
|
export let lightTheme = 'https://decentraland.org/images/ui/light-atlas-v3.png';
|
|
@@ -45,11 +45,31 @@ export let darkButtonSection = {
|
|
|
45
45
|
atlasHeight: sourcesComponentsCoordinates.atlasHeight,
|
|
46
46
|
atlasWidth: sourcesComponentsCoordinates.atlasWidth
|
|
47
47
|
};
|
|
48
|
+
export let darkButtonCorner = {
|
|
49
|
+
...sourcesComponentsCoordinates.buttons.buttonFCorner,
|
|
50
|
+
atlasHeight: sourcesComponentsCoordinates.atlasHeight,
|
|
51
|
+
atlasWidth: sourcesComponentsCoordinates.atlasWidth
|
|
52
|
+
};
|
|
53
|
+
export let darkButtonEdge = {
|
|
54
|
+
...sourcesComponentsCoordinates.buttons.buttonFEdge,
|
|
55
|
+
atlasHeight: sourcesComponentsCoordinates.atlasHeight,
|
|
56
|
+
atlasWidth: sourcesComponentsCoordinates.atlasWidth
|
|
57
|
+
};
|
|
48
58
|
export let redButtonSection = {
|
|
49
59
|
...sourcesComponentsCoordinates.buttons.buttonE,
|
|
50
60
|
atlasHeight: sourcesComponentsCoordinates.atlasHeight,
|
|
51
61
|
atlasWidth: sourcesComponentsCoordinates.atlasWidth
|
|
52
62
|
};
|
|
63
|
+
export let redButtonCorner = {
|
|
64
|
+
...sourcesComponentsCoordinates.buttons.buttonECorner,
|
|
65
|
+
atlasHeight: sourcesComponentsCoordinates.atlasHeight,
|
|
66
|
+
atlasWidth: sourcesComponentsCoordinates.atlasWidth
|
|
67
|
+
};
|
|
68
|
+
export let redButtonEdge = {
|
|
69
|
+
...sourcesComponentsCoordinates.buttons.buttonEEdge,
|
|
70
|
+
atlasHeight: sourcesComponentsCoordinates.atlasHeight,
|
|
71
|
+
atlasWidth: sourcesComponentsCoordinates.atlasWidth
|
|
72
|
+
};
|
|
53
73
|
let modalScale = 1;
|
|
54
74
|
let modelFontSizeScale = 1;
|
|
55
75
|
let modalTextWrapScale = 1;
|
|
@@ -68,9 +88,12 @@ function getScaledFontSize(size) {
|
|
|
68
88
|
function getScaledTextWrap(size) {
|
|
69
89
|
return size * modalTextWrapScale;
|
|
70
90
|
}
|
|
91
|
+
function getScaledButtonWidth(button) {
|
|
92
|
+
return typeof (getbuttonSize(button)) === 'number' ? getScaledSize(getbuttonSize(button)) : 'auto';
|
|
93
|
+
}
|
|
71
94
|
export const NpcUtilsUi = () => {
|
|
72
95
|
const width = getScaledSize(realWidth(700));
|
|
73
|
-
const height = getScaledSize(realHeight(
|
|
96
|
+
const height = getScaledSize(realHeight(284));
|
|
74
97
|
return (ReactEcs.createElement(UiEntity, { uiTransform: {
|
|
75
98
|
display: displayDialog() ? 'flex' : 'none',
|
|
76
99
|
flexDirection: 'column',
|
|
@@ -79,8 +102,9 @@ export const NpcUtilsUi = () => {
|
|
|
79
102
|
positionType: 'absolute',
|
|
80
103
|
position: { bottom: '10%', left: '50%' },
|
|
81
104
|
margin: { top: -height / 2, left: -width / 2 },
|
|
105
|
+
padding: { top: 40, bottom: 40 },
|
|
82
106
|
width,
|
|
83
|
-
height
|
|
107
|
+
height: typeof (getWindowHeight()) === 'number' ? getWindowHeight() : 'auto'
|
|
84
108
|
} },
|
|
85
109
|
ReactEcs.createElement(UiEntity, { uiTransform: {
|
|
86
110
|
positionType: 'absolute',
|
|
@@ -161,11 +185,16 @@ export const NpcUtilsUi = () => {
|
|
|
161
185
|
uvs: getImageAtlasMapping(getLeftClickTheme())
|
|
162
186
|
} }),
|
|
163
187
|
ReactEcs.createElement(UiEntity, { uiTransform: {
|
|
188
|
+
height: 'auto',
|
|
189
|
+
width: 'auto',
|
|
164
190
|
alignSelf: 'flex-start',
|
|
165
191
|
alignItems: 'flex-start',
|
|
166
192
|
justifyContent: 'flex-start',
|
|
167
193
|
flexDirection: 'row',
|
|
168
|
-
position: getTextPosition()
|
|
194
|
+
position: getTextPosition(),
|
|
195
|
+
display: 'flex',
|
|
196
|
+
flexGrow: 1,
|
|
197
|
+
minHeight: 100
|
|
169
198
|
}, uiText: {
|
|
170
199
|
value: getText(),
|
|
171
200
|
color: getTextColor(),
|
|
@@ -173,111 +202,225 @@ export const NpcUtilsUi = () => {
|
|
|
173
202
|
textAlign: 'middle-left'
|
|
174
203
|
} }),
|
|
175
204
|
ReactEcs.createElement(UiEntity, { uiTransform: {
|
|
176
|
-
width:
|
|
205
|
+
width: getScaledButtonWidth(450),
|
|
177
206
|
alignItems: 'center',
|
|
178
207
|
flexDirection: 'row',
|
|
179
|
-
justifyContent: '
|
|
208
|
+
justifyContent: 'center',
|
|
180
209
|
display: displayFirstButtonContainer() ? 'flex' : 'none',
|
|
181
|
-
position: { top: '20%' }
|
|
182
210
|
} },
|
|
183
|
-
ReactEcs.createElement(UiEntity, {
|
|
184
|
-
width: getScaledSize(150),
|
|
185
|
-
height: getScaledSize(45),
|
|
186
|
-
margin: { right: '5%' },
|
|
187
|
-
flexDirection: 'row',
|
|
188
|
-
alignItems: 'center',
|
|
189
|
-
justifyContent: 'flex-start',
|
|
190
|
-
alignContent: 'flex-start',
|
|
191
|
-
display: displayButton(1) ? 'flex' : 'none'
|
|
192
|
-
}, uiBackground: {
|
|
193
|
-
textureMode: 'stretch',
|
|
194
|
-
texture: {
|
|
195
|
-
src: getTheme()
|
|
196
|
-
},
|
|
197
|
-
uvs: getImageAtlasMapping(darkButtonSection)
|
|
198
|
-
}, uiText: { value: getButtonText(0), fontSize: getScaledFontSize(16) }, onMouseDown: () => {
|
|
211
|
+
ReactEcs.createElement(UiEntity, { onMouseDown: () => {
|
|
199
212
|
buttonClick(0);
|
|
200
213
|
} },
|
|
201
214
|
ReactEcs.createElement(UiEntity, { uiTransform: {
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
215
|
+
height: 'auto',
|
|
216
|
+
width: getScaledSize(12)
|
|
217
|
+
}, uiBackground: {
|
|
218
|
+
textureMode: 'stretch',
|
|
219
|
+
texture: {
|
|
220
|
+
src: getTheme()
|
|
221
|
+
},
|
|
222
|
+
uvs: getImageAtlasMapping(darkButtonCorner)
|
|
223
|
+
} }),
|
|
224
|
+
ReactEcs.createElement(UiEntity, { uiTransform: {
|
|
225
|
+
width: getScaledButtonWidth(0),
|
|
226
|
+
maxWidth: getScaledSize(300),
|
|
227
|
+
height: getScaledSize(45),
|
|
228
|
+
flexDirection: 'row',
|
|
229
|
+
alignItems: 'center',
|
|
230
|
+
justifyContent: 'flex-start',
|
|
231
|
+
alignContent: 'flex-start',
|
|
232
|
+
display: displayButton(1) ? 'flex' : 'none',
|
|
205
233
|
}, uiBackground: {
|
|
206
234
|
textureMode: 'stretch',
|
|
207
235
|
texture: {
|
|
208
236
|
src: getTheme()
|
|
209
237
|
},
|
|
210
|
-
uvs: getImageAtlasMapping(
|
|
238
|
+
uvs: getImageAtlasMapping(darkButtonSection)
|
|
239
|
+
} },
|
|
240
|
+
ReactEcs.createElement(UiEntity, { uiTransform: {
|
|
241
|
+
width: getScaledSize(25),
|
|
242
|
+
height: getScaledSize(25),
|
|
243
|
+
margin: { right: getScaledSize(5) },
|
|
244
|
+
positionType: 'absolute'
|
|
245
|
+
}, uiBackground: {
|
|
246
|
+
textureMode: 'stretch',
|
|
247
|
+
texture: {
|
|
248
|
+
src: getTheme()
|
|
249
|
+
},
|
|
250
|
+
uvs: getImageAtlasMapping(secondaryButtonSection)
|
|
251
|
+
} }),
|
|
252
|
+
ReactEcs.createElement(UiEntity, { uiTransform: {
|
|
253
|
+
width: 'auto',
|
|
254
|
+
overflow: 'hidden',
|
|
255
|
+
maxWidth: getScaledSize(217),
|
|
256
|
+
padding: { right: getScaledSize(5) },
|
|
257
|
+
margin: { left: getScaledSize(30) }
|
|
258
|
+
}, uiText: { value: getButtonText(0), fontSize: getScaledFontSize(getButtonFontSize(0)), textAlign: 'middle-left' } })),
|
|
259
|
+
ReactEcs.createElement(UiEntity, { uiTransform: {
|
|
260
|
+
height: 'auto',
|
|
261
|
+
width: getScaledSize(12),
|
|
262
|
+
margin: { right: '5%' },
|
|
263
|
+
}, uiBackground: {
|
|
264
|
+
textureMode: 'stretch',
|
|
265
|
+
texture: {
|
|
266
|
+
src: getTheme()
|
|
267
|
+
},
|
|
268
|
+
uvs: getImageAtlasMapping(darkButtonEdge)
|
|
211
269
|
} })),
|
|
212
|
-
ReactEcs.createElement(UiEntity, {
|
|
213
|
-
width: getScaledSize(150),
|
|
214
|
-
height: getScaledSize(45),
|
|
215
|
-
flexDirection: 'row',
|
|
216
|
-
alignItems: 'center',
|
|
217
|
-
justifyContent: 'flex-start',
|
|
218
|
-
alignContent: 'flex-start',
|
|
219
|
-
display: displayButton(2) ? 'flex' : 'none'
|
|
220
|
-
}, uiBackground: {
|
|
221
|
-
textureMode: 'stretch',
|
|
222
|
-
texture: {
|
|
223
|
-
src: getTheme()
|
|
224
|
-
},
|
|
225
|
-
uvs: getImageAtlasMapping(redButtonSection)
|
|
226
|
-
}, uiText: { value: getButtonText(1), fontSize: getScaledFontSize(16) }, onMouseDown: () => {
|
|
270
|
+
ReactEcs.createElement(UiEntity, { onMouseDown: () => {
|
|
227
271
|
buttonClick(1);
|
|
228
272
|
} },
|
|
229
273
|
ReactEcs.createElement(UiEntity, { uiTransform: {
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
274
|
+
height: 'auto',
|
|
275
|
+
width: getScaledSize(12)
|
|
276
|
+
}, uiBackground: {
|
|
277
|
+
textureMode: 'stretch',
|
|
278
|
+
texture: {
|
|
279
|
+
src: getTheme()
|
|
280
|
+
},
|
|
281
|
+
uvs: getImageAtlasMapping(redButtonCorner)
|
|
282
|
+
} }),
|
|
283
|
+
ReactEcs.createElement(UiEntity, { uiTransform: {
|
|
284
|
+
width: getScaledButtonWidth(1),
|
|
285
|
+
maxWidth: getScaledSize(300),
|
|
286
|
+
height: getScaledSize(45),
|
|
287
|
+
flexDirection: 'row',
|
|
288
|
+
alignItems: 'center',
|
|
289
|
+
justifyContent: 'flex-start',
|
|
290
|
+
alignContent: 'flex-start',
|
|
291
|
+
display: displayButton(2) ? 'flex' : 'none',
|
|
292
|
+
}, uiBackground: {
|
|
293
|
+
textureMode: 'stretch',
|
|
294
|
+
texture: {
|
|
295
|
+
src: getTheme()
|
|
296
|
+
},
|
|
297
|
+
uvs: getImageAtlasMapping(redButtonSection)
|
|
298
|
+
} },
|
|
299
|
+
ReactEcs.createElement(UiEntity, { uiTransform: {
|
|
300
|
+
width: getScaledSize(25),
|
|
301
|
+
height: getScaledSize(25),
|
|
302
|
+
margin: { right: getScaledSize(5) },
|
|
303
|
+
positionType: 'absolute',
|
|
304
|
+
}, uiBackground: {
|
|
305
|
+
textureMode: 'stretch',
|
|
306
|
+
texture: {
|
|
307
|
+
src: getTheme()
|
|
308
|
+
},
|
|
309
|
+
uvs: getImageAtlasMapping(primaryButtonSection)
|
|
310
|
+
} }),
|
|
311
|
+
ReactEcs.createElement(UiEntity, { uiTransform: {
|
|
312
|
+
width: 'auto',
|
|
313
|
+
maxWidth: getScaledSize(217),
|
|
314
|
+
overflow: 'hidden',
|
|
315
|
+
padding: { right: getScaledSize(5) },
|
|
316
|
+
margin: { left: getScaledSize(30) }
|
|
317
|
+
}, uiText: { value: getButtonText(1), fontSize: getScaledFontSize(getButtonFontSize(1)), textAlign: 'middle-left' } })),
|
|
318
|
+
ReactEcs.createElement(UiEntity, { uiTransform: {
|
|
319
|
+
height: 'auto',
|
|
320
|
+
width: getScaledSize(12)
|
|
233
321
|
}, uiBackground: {
|
|
234
322
|
textureMode: 'stretch',
|
|
235
323
|
texture: {
|
|
236
324
|
src: getTheme()
|
|
237
325
|
},
|
|
238
|
-
uvs: getImageAtlasMapping(
|
|
326
|
+
uvs: getImageAtlasMapping(redButtonEdge)
|
|
239
327
|
} }))),
|
|
240
328
|
ReactEcs.createElement(UiEntity, { uiTransform: {
|
|
241
|
-
width:
|
|
329
|
+
width: getScaledButtonWidth(450),
|
|
242
330
|
alignItems: 'center',
|
|
243
331
|
flexDirection: 'row',
|
|
244
|
-
justifyContent: '
|
|
332
|
+
justifyContent: 'center',
|
|
245
333
|
margin: { top: getScaledSize(20) },
|
|
246
334
|
display: displaySecondButtonContainer() ? 'flex' : 'none',
|
|
247
|
-
position: { top: '15%' }
|
|
248
335
|
} },
|
|
249
|
-
ReactEcs.createElement(UiEntity, {
|
|
250
|
-
width: getScaledSize(150),
|
|
251
|
-
height: getScaledSize(45),
|
|
252
|
-
margin: { right: '5%' },
|
|
253
|
-
alignItems: 'center',
|
|
254
|
-
justifyContent: 'center',
|
|
255
|
-
alignContent: 'flex-start',
|
|
256
|
-
display: displayButton(3) ? 'flex' : 'none'
|
|
257
|
-
}, uiBackground: {
|
|
258
|
-
textureMode: 'stretch',
|
|
259
|
-
texture: {
|
|
260
|
-
src: getTheme()
|
|
261
|
-
},
|
|
262
|
-
uvs: getImageAtlasMapping(darkButtonSection)
|
|
263
|
-
}, uiText: { value: getButtonText(2), fontSize: getScaledFontSize(16) }, onMouseDown: () => {
|
|
336
|
+
ReactEcs.createElement(UiEntity, { onMouseDown: () => {
|
|
264
337
|
buttonClick(3);
|
|
265
|
-
} }
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
338
|
+
} },
|
|
339
|
+
ReactEcs.createElement(UiEntity, { uiTransform: {
|
|
340
|
+
height: 'auto',
|
|
341
|
+
width: getScaledSize(12),
|
|
342
|
+
}, uiBackground: {
|
|
343
|
+
textureMode: 'stretch',
|
|
344
|
+
texture: {
|
|
345
|
+
src: getTheme()
|
|
346
|
+
},
|
|
347
|
+
uvs: getImageAtlasMapping(darkButtonCorner)
|
|
348
|
+
} }),
|
|
349
|
+
ReactEcs.createElement(UiEntity, { uiTransform: {
|
|
350
|
+
width: getScaledButtonWidth(2),
|
|
351
|
+
maxWidth: getScaledSize(300),
|
|
352
|
+
overflow: 'hidden',
|
|
353
|
+
height: getScaledSize(45),
|
|
354
|
+
alignItems: 'center',
|
|
355
|
+
justifyContent: 'center',
|
|
356
|
+
alignContent: 'flex-start',
|
|
357
|
+
display: displayButton(3) ? 'flex' : 'none'
|
|
358
|
+
}, uiBackground: {
|
|
359
|
+
textureMode: 'stretch',
|
|
360
|
+
texture: {
|
|
361
|
+
src: getTheme()
|
|
362
|
+
},
|
|
363
|
+
uvs: getImageAtlasMapping(darkButtonSection)
|
|
364
|
+
} },
|
|
365
|
+
ReactEcs.createElement(UiEntity, { uiTransform: {
|
|
366
|
+
width: 'auto',
|
|
367
|
+
maxWidth: getScaledSize(252),
|
|
368
|
+
overflow: 'hidden',
|
|
369
|
+
}, uiText: { value: getButtonText(2), fontSize: getScaledFontSize(getButtonFontSize(2)), textAlign: 'middle-left' } })),
|
|
370
|
+
ReactEcs.createElement(UiEntity, { uiTransform: {
|
|
371
|
+
height: 'auto',
|
|
372
|
+
width: getScaledSize(12),
|
|
373
|
+
margin: { right: '5%' },
|
|
374
|
+
}, uiBackground: {
|
|
375
|
+
textureMode: 'stretch',
|
|
376
|
+
texture: {
|
|
377
|
+
src: getTheme()
|
|
378
|
+
},
|
|
379
|
+
uvs: getImageAtlasMapping(darkButtonEdge)
|
|
380
|
+
} })),
|
|
381
|
+
ReactEcs.createElement(UiEntity, { onMouseDown: () => {
|
|
280
382
|
buttonClick(4);
|
|
281
|
-
} }
|
|
383
|
+
} },
|
|
384
|
+
ReactEcs.createElement(UiEntity, { uiTransform: {
|
|
385
|
+
height: 'auto',
|
|
386
|
+
width: getScaledSize(12),
|
|
387
|
+
}, uiBackground: {
|
|
388
|
+
textureMode: 'stretch',
|
|
389
|
+
texture: {
|
|
390
|
+
src: getTheme()
|
|
391
|
+
},
|
|
392
|
+
uvs: getImageAtlasMapping(darkButtonCorner)
|
|
393
|
+
} }),
|
|
394
|
+
ReactEcs.createElement(UiEntity, { uiTransform: {
|
|
395
|
+
width: getScaledButtonWidth(3),
|
|
396
|
+
maxWidth: getScaledSize(300),
|
|
397
|
+
overflow: 'hidden',
|
|
398
|
+
height: getScaledSize(45),
|
|
399
|
+
alignItems: 'center',
|
|
400
|
+
justifyContent: 'center',
|
|
401
|
+
alignContent: 'flex-start',
|
|
402
|
+
display: displayButton(4) ? 'flex' : 'none',
|
|
403
|
+
}, uiBackground: {
|
|
404
|
+
textureMode: 'stretch',
|
|
405
|
+
texture: {
|
|
406
|
+
src: getTheme()
|
|
407
|
+
},
|
|
408
|
+
uvs: getImageAtlasMapping(darkButtonSection)
|
|
409
|
+
} },
|
|
410
|
+
ReactEcs.createElement(UiEntity, { uiTransform: {
|
|
411
|
+
width: 'auto',
|
|
412
|
+
maxWidth: getScaledSize(252),
|
|
413
|
+
overflow: 'hidden',
|
|
414
|
+
}, uiText: { value: getButtonText(3), fontSize: getScaledFontSize(getButtonFontSize(3)), textAlign: 'middle-left' } })),
|
|
415
|
+
ReactEcs.createElement(UiEntity, { uiTransform: {
|
|
416
|
+
height: 'auto',
|
|
417
|
+
width: getScaledSize(12),
|
|
418
|
+
}, uiBackground: {
|
|
419
|
+
textureMode: 'stretch',
|
|
420
|
+
texture: {
|
|
421
|
+
src: getTheme()
|
|
422
|
+
},
|
|
423
|
+
uvs: getImageAtlasMapping(darkButtonEdge)
|
|
424
|
+
} })))));
|
|
282
425
|
};
|
|
283
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdWkudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sUUFBUSxFQUFFLEVBQW1DLFFBQVEsRUFBRSxNQUFNLG9CQUFvQixDQUFBO0FBRXhGLE9BQU8sRUFDTCxXQUFXLEVBRVgsYUFBYSxFQUNiLGFBQWEsRUFDYiwyQkFBMkIsRUFDM0IsWUFBWSxFQUNaLGVBQWUsRUFDZiw0QkFBNEIsRUFDNUIsZUFBZSxFQUNmLGFBQWEsRUFDYixXQUFXLEVBQ1gsUUFBUSxFQUNSLG9CQUFvQixFQUNwQixpQkFBaUIsRUFDakIsV0FBVyxFQUNYLGdCQUFnQixFQUNoQixPQUFPLEVBQ1AsWUFBWSxFQUNaLGVBQWUsRUFDZixRQUFRLEVBQ1IsaUJBQWlCLEVBQ2pCLFdBQVcsRUFDWCxVQUFVLEVBQ1YsY0FBYyxFQUNkLGFBQWEsRUFDYixjQUFjLEVBQ2QsY0FBYyxFQUNkLGdCQUFnQixFQUNoQixnQkFBZ0IsRUFHaEIsVUFBVSxFQUNWLFNBQVMsRUFDVCxXQUFXLEVBQ1osTUFBTSxVQUFVLENBQUE7QUFDakIsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQzVELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxPQUFPLENBQUE7QUFFakMsTUFBTSxDQUFDLElBQUksVUFBVSxHQUFHLHVEQUF1RCxDQUFBO0FBQy9FLE1BQU0sQ0FBQyxJQUFJLFNBQVMsR0FBRyxzREFBc0QsQ0FBQTtBQUU3RSxNQUFNLENBQUMsSUFBSSxjQUFjLEdBQUcsdURBQXVELENBQUE7QUFFbkYsTUFBTSxDQUFDLElBQUksT0FBTyxHQUFHO0lBQ25CLEdBQUcsNEJBQTRCLENBQUMsV0FBVyxDQUFDLFNBQVM7SUFDckQsV0FBVyxFQUFFLDRCQUE0QixDQUFDLFdBQVc7SUFDckQsVUFBVSxFQUFFLDRCQUE0QixDQUFDLFVBQVU7Q0FDcEQsQ0FBQTtBQUVELE1BQU0sQ0FBQyxJQUFJLGlCQUFpQixHQUFHO0lBQzdCLEdBQUcsNEJBQTRCLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDekMsV0FBVyxFQUFFLDRCQUE0QixDQUFDLFdBQVc7SUFDckQsVUFBVSxFQUFFLDRCQUE0QixDQUFDLFVBQVU7Q0FDcEQsQ0FBQTtBQUVELE1BQU0sQ0FBQyxJQUFJLHNCQUFzQixHQUFHO0lBQ2xDLEdBQUcsNEJBQTRCLENBQUMsT0FBTyxDQUFDLE1BQU07SUFDOUMsV0FBVyxFQUFFLDRCQUE0QixDQUFDLFdBQVc7SUFDckQsVUFBVSxFQUFFLDRCQUE0QixDQUFDLFVBQVU7Q0FDcEQsQ0FBQTtBQUVELE1BQU0sQ0FBQyxJQUFJLGdCQUFnQixHQUFHO0lBQzVCLEdBQUcsNEJBQTRCLENBQUMsS0FBSyxDQUFDLFVBQVU7SUFDaEQsV0FBVyxFQUFFLDRCQUE0QixDQUFDLFdBQVc7SUFDckQsVUFBVSxFQUFFLDRCQUE0QixDQUFDLFVBQVU7Q0FDcEQsQ0FBQTtBQUVELE1BQU0sQ0FBQyxJQUFJLHNCQUFzQixHQUFHO0lBQ2xDLEdBQUcsNEJBQTRCLENBQUMsS0FBSyxDQUFDLFNBQVM7SUFDL0MsV0FBVyxFQUFFLDRCQUE0QixDQUFDLFdBQVc7SUFDckQsVUFBVSxFQUFFLDRCQUE0QixDQUFDLFVBQVU7Q0FDcEQsQ0FBQTtBQUVELE1BQU0sQ0FBQyxJQUFJLG9CQUFvQixHQUFHO0lBQ2hDLEdBQUcsNEJBQTRCLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDekMsV0FBVyxFQUFFLDRCQUE0QixDQUFDLFdBQVc7SUFDckQsVUFBVSxFQUFFLDRCQUE0QixDQUFDLFVBQVU7Q0FDcEQsQ0FBQTtBQUVELE1BQU0sQ0FBQyxJQUFJLHNCQUFzQixHQUFHO0lBQ2xDLEdBQUcsNEJBQTRCLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDekMsV0FBVyxFQUFFLDRCQUE0QixDQUFDLFdBQVc7SUFDckQsVUFBVSxFQUFFLDRCQUE0QixDQUFDLFVBQVU7Q0FDcEQsQ0FBQTtBQUVELE1BQU0sQ0FBQyxJQUFJLGlCQUFpQixHQUFHO0lBQzdCLEdBQUcsNEJB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QkFDN0MsRUFDRCxNQUFNLEVBQUUsRUFBRSxLQUFLLEVBQUUsYUFBYSxDQUFDLENBQUMsQ0FBQyxFQUFFLFFBQVEsRUFBRSxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUNwRSxXQUFXLEVBQUUsR0FBRyxFQUFFO29CQUNoQixXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUE7Z0JBQ2hCLENBQUMsR0FDUyxDQUNILENBQ0YsQ0FDWixDQUFBO0FBQ0gsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29sb3I0IH0gZnJvbSAnQGRjbC9zZGsvbWF0aCdcbmltcG9ydCBSZWFjdEVjcywgeyBCdXR0b24sIExhYmVsLCBSZWFjdEVjc1JlbmRlcmVyLCBVaUVudGl0eSB9IGZyb20gJ0BkY2wvc2RrL3JlYWN0LWVjcydcbmltcG9ydCB7IEVudGl0eSB9IGZyb20gJ0BkY2wvc2RrL2VjcydcbmltcG9ydCB7XG4gIGJ1dHRvbkNsaWNrLFxuICBjb25maXJtVGV4dCxcbiAgZGlzcGxheUJ1dHRvbixcbiAgZGlzcGxheURpYWxvZyxcbiAgZGlzcGxheUZpcnN0QnV0dG9uQ29udGFpbmVyLFxuICBkaXNwbGF5SW1hZ2UsXG4gIGRpc3BsYXlQb3J0cmFpdCxcbiAgZGlzcGxheVNlY29uZEJ1dHRvbkNvbnRhaW5lcixcbiAgZGlzcGxheVNraXBhYmxlLFxuICBnZXRCdXR0b25UZXh0LFxuICBnZXRGb250U2l6ZSxcbiAgZ2V0SW1hZ2UsXG4gIGdldEltYWdlQXRsYXNNYXBwaW5nLFxuICBnZXRMZWZ0Q2xpY2tUaGVtZSxcbiAgZ2V0UG9ydHJhaXQsXG4gIGdldFNraXBhYmxlVGhlbWUsXG4gIGdldFRleHQsXG4gIGdldFRleHRDb2xvcixcbiAgZ2V0VGV4dFBvc2l0aW9uLFxuICBnZXRUaGVtZSxcbiAgaGFuZGxlRGlhbG9nQ2xpY2ssXG4gIGltYWdlSGVpZ2h0LFxuICBpbWFnZVdpZHRoLFxuICBwb3J0cmFpdEhlaWdodCxcbiAgcG9ydHJhaXRXaWR0aCxcbiAgcG9zaXRpb25JbWFnZVgsXG4gIHBvc2l0aW9uSW1hZ2VZLFxuICBwb3NpdGlvblBvcnRhaXRYLFxuICBwb3NpdGlvblBvcnRhaXRZLFxuICBwb3NpdGlvblRleHRYLFxuICBwb3NpdGlvblRleHRZLFxuICByZWFsSGVpZ2h0LFxuICByZWFsV2lkdGgsXG4gIHNraXBEaWFsb2dzXG59IGZyb20gJy4vZGlhbG9nJ1xuaW1wb3J0IHsgc291cmNlc0NvbXBvbmVudHNDb29yZGluYXRlcyB9IGZyb20gJy4vdWlSZXNvdXJjZXMnXG5pbXBvcnQgeyBhY3RpdmVOUEMgfSBmcm9tICcuL25wYydcblxuZXhwb3J0IGxldCBsaWdodFRoZW1lID0gJ2h0dHBzOi8vZGVjZW50cmFsYW5kLm9yZy9pbWFnZXMvdWkvbGlnaHQtYXRsYXMtdjMucG5nJ1xuZXhwb3J0IGxldCBkYXJrVGhlbWUgPSAnaHR0cHM6Ly9kZWNlbnRyYWxhbmQub3JnL2ltYWdlcy91aS9kYXJrLWF0bGFzLXYzLnBuZydcblxuZXhwb3J0IGxldCBidWJibGVzVGV4dHVyZSA9ICdodHRwczovL2RlY2VudHJhbGFuZC5vcmcvaW1hZ2VzL3VpL2RpYWxvZy1idWJibGVzLnBuZydcblxuZXhwb3J0IGxldCBzZWN0aW9uID0ge1xuICAuLi5zb3VyY2VzQ29tcG9uZW50c0Nvb3JkaW5hdGVzLmJhY2tncm91bmRzLk5QQ0RpYWxvZyxcbiAgYXRsYXNIZWlnaHQ6IHNvdXJjZXNDb21wb25lbnRzQ29vcmRpbmF0ZXMuYXRsYXNIZWlnaHQsXG4gIGF0bGFzV2lkdGg6IHNvdXJjZXNDb21wb25lbnRzQ29vcmRpbmF0ZXMuYXRsYXNXaWR0aFxufVxuXG5leHBvcnQgbGV0IHNraXBCdXR0b25TZWN0aW9uID0ge1xuICAuLi5zb3VyY2VzQ29tcG9uZW50c0Nvb3JkaW5hdGVzLmJ1dHRvbnMuRixcbiAgYXRsYXNIZWlnaHQ6IHNvdXJjZXNDb21wb25lbnRzQ29vcmRpbmF0ZXMuYXRsYXNIZWlnaHQsXG4gIGF0bGFzV2lkdGg6IHNvdXJjZXNDb21wb25lbnRzQ29vcmRpbmF0ZXMuYXRsYXNXaWR0aFxufVxuXG5leHBvcnQgbGV0IHNraXBCdXR0b25TZWN0aW9uQmxhY2sgPSB7XG4gIC4uLnNvdXJjZXNDb21wb25lbnRzQ29vcmRpbmF0ZXMuYnV0dG9ucy5GQmxhY2ssXG4gIGF0bGFzSGVpZ2h0OiBzb3VyY2VzQ29tcG9uZW50c0Nvb3JkaW5hdGVzLmF0bGFzSGVpZ2h0LFxuICBhdGxhc1dpZHRoOiBzb3VyY2VzQ29tcG9uZW50c0Nvb3JkaW5hdGVzLmF0bGFzV2lkdGhcbn1cblxuZXhwb3J0IGxldCBsZWZ0Q2xpY2tTZWN0aW9uID0ge1xuICAuLi5zb3VyY2VzQ29tcG9uZW50c0Nvb3JkaW5hdGVzLmljb25zLkNsaWNrV2hpdGUsXG4gIGF0bGFzSGVpZ2h0OiBzb3VyY2VzQ29tcG9uZW50c0Nvb3JkaW5hdGVzLmF0bGFzSGVpZ2h0LFxuICBhdGxhc1dpZHRoOiBzb3VyY2VzQ29tcG9uZW50c0Nvb3JkaW5hdGVzLmF0bGFzV2lkdGhcbn1cblxuZXhwb3J0IGxldCBsZWZ0Q2xpY2tTZWN0aW9uYkJsYWNrID0ge1xuICAuLi5zb3VyY2VzQ29tcG9uZW50c0Nvb3JkaW5hdGVzLmljb25zLkNsaWNrRGFyayxcbiAgYXRsYXNIZWlnaHQ6IHNvdXJjZXNDb21wb25lbnRzQ29vcmRpbmF0ZXMuYXRsYXNIZWlnaHQsXG4gIGF0bGFzV2lkdGg6IHNvdXJjZXNDb21wb25lbnRzQ29vcmRpbmF0ZXMuYXRsYXNXaWR0aFxufVxuXG5leHBvcnQgbGV0IHByaW1hcnlCdXR0b25TZWN0aW9uID0ge1xuICAuLi5zb3VyY2VzQ29tcG9uZW50c0Nvb3JkaW5hdGVzLmJ1dHRvbnMuRSxcbiAgYXRsYXNIZWlnaHQ6IHNvdXJjZXNDb21wb25lbnRzQ29vcmRpbmF0ZXMuYXRsYXNIZWlnaHQsXG4gIGF0bGFzV2lkdGg6IHNvdXJjZXNDb21wb25lbnRzQ29vcmRpbmF0ZXMuYXRsYXNXaWR0aFxufVxuXG5leHBvcnQgbGV0IHNlY29uZGFyeUJ1dHRvblNlY3Rpb24gPSB7XG4gIC4uLnNvdXJjZXNDb21wb25lbnRzQ29vcmRpbmF0ZXMuYnV0dG9ucy5GLFxuICBhdGxhc0hlaWdodDogc291cmNlc0NvbXBvbmVudHNDb29yZGluYXRlcy5hdGxhc0hlaWdodCxcbiAgYXRsYXNXaWR0aDogc291cmNlc0NvbXBvbmVudHNDb29yZGluYXRlcy5hdGxhc1dpZHRoXG59XG5cbmV4cG9ydCBsZXQgZGFya0J1dHRvblNlY3Rpb24gPSB7XG4gIC4uLnNvdXJjZXNDb21wb25lbnRzQ29vcmRpbmF0ZXMuYnV0dG9ucy5idXR0b25GLFxuICBhdGxhc0hlaWdodDogc291cmNlc0NvbXBvbmVudHNDb29yZGluYXRlcy5hdGxhc0hlaWdodCxcbiAgYXRsYXNXaWR0aDogc291cmNlc0NvbXBvbmVudHNDb29yZGluYXRlcy5hdGxhc1dpZHRoXG59XG5cbmV4cG9ydCBsZXQgcmVkQnV0dG9uU2VjdGlvbiA9IHtcbiAgLi4uc291cmNlc0NvbXBvbmVudHNDb29yZGluYXRlcy5idXR0b25zLmJ1dHRvbkUsXG4gIGF0bGFzSGVpZ2h0OiBzb3VyY2VzQ29tcG9uZW50c0Nvb3JkaW5hdGVzLmF0bGFzSGVpZ2h0LFxuICBhdGxhc1dpZHRoOiBzb3VyY2VzQ29tcG9uZW50c0Nvb3JkaW5hdGVzLmF0bGFzV2lkdGhcbn1cblxubGV0IG1vZGFsU2NhbGUgPSAxXG5sZXQgbW9kZWxGb250U2l6ZVNjYWxlID0gMVxubGV0IG1vZGFsVGV4dFdyYXBTY2FsZSA9IDFcblxuZXhwb3J0IGZ1bmN0aW9uIHNldHVwTlBDVWlTY2FsaW5nKGluTW9kYWxTY2FsZTogbnVtYmVyLCBpbkZvbnRTaXplOiBudW1iZXIsIGluTW9kYWxUZXh0V3JhcFNjYWxlOiBudW1iZXIpIHtcbiAgbW9kYWxTY2FsZSA9IGluTW9kYWxTY2FsZVxuICBtb2RlbEZvbnRTaXplU2NhbGUgPSBpbkZvbnRTaXplXG4gIG1vZGFsVGV4dFdyYXBTY2FsZSA9IGluTW9kYWxUZXh0V3JhcFNjYWxlXG4gIGNvbnNvbGUubG9nKFxuICAgICdOUEMtVE9PTEtJVCcsXG4gICAgJ1NjYWxlIFVJOicsXG4gICAgbW9kYWxTY2FsZSxcbiAgICAnVGV4dEZvbnRTaXplOicsXG4gICAgbW9kZWxGb250U2l6ZVNjYWxlLFxuICAgICdUZXh0V3JhcFNjYWxpbmc6JyxcbiAgICBtb2RhbFRleHRXcmFwU2NhbGVcbiAgKVxufVxuXG5mdW5jdGlvbiBnZXRTY2FsZWRTaXplKHNpemU6IG51bWJlcik6IG51bWJlciB7XG4gIHJldHVybiBzaXplICogbW9kYWxTY2FsZVxufVxuZnVuY3Rpb24gZ2V0U2NhbGVkRm9udFNpemUoc2l6ZTogbnVtYmVyKTogbnVtYmVyIHtcbiAgcmV0dXJuIHNpemUgKiBtb2RlbEZvbnRTaXplU2NhbGVcbn1cbmZ1bmN0aW9uIGdldFNjYWxlZFRleHRXcmFwKHNpemU6IG51bWJlcik6IG51bWJlciB7XG4gIHJldHVybiBzaXplICogbW9kYWxUZXh0V3JhcFNjYWxlXG59XG5cbmV4cG9ydCBjb25zdCBOcGNVdGlsc1VpID0gKCkgPT4ge1xuICBjb25zdCB3aWR0aCA9IGdldFNjYWxlZFNpemUocmVhbFdpZHRoKDcwMCkpXG4gIGNvbnN0IGhlaWdodCA9IGdldFNjYWxlZFNpemUocmVhbEhlaWdodCgyMjUpKVxuXG4gIHJldHVybiAoXG4gICAgPFVpRW50aXR5XG4gICAgICB1aVRyYW5zZm9ybT17e1xuICAgICAgICBkaXNwbGF5OiBkaXNwbGF5RGlhbG9nKCkgPyAnZmxleCcgOiAnbm9uZScsXG4gICAgICAgIGZsZXhEaXJlY3Rpb246ICdjb2x1bW4nLFxuICAgICAgICBhbGlnbkl0ZW1zOiAnY2VudGVyJyxcbiAgICAgICAganVzdGlmeUNvbnRlbnQ6ICdjZW50ZXInLFxuICAgICAgICBwb3NpdGlvblR5cGU6ICdhYnNvbHV0ZScsXG4gICAgICAgIHBvc2l0aW9uOiB7IGJvdHRvbTogJzEwJScsIGxlZnQ6ICc1MCUnIH0sXG4gICAgICAgIG1hcmdpbjogeyB0b3A6IC1oZWlnaHQgLyAyLCBsZWZ0OiAtd2lkdGggLyAyIH0sXG4gICAgICAgIHdpZHRoLFxuICAgICAgICBoZWlnaHRcbiAgICAgIH19XG4gICAgPlxuICAgICAgPFVpRW50aXR5XG4gICAgICAgIHVpVHJhbnNmb3JtPXt7XG4gICAgICAgICAgcG9zaXRpb25UeXBlOiAnYWJzb2x1dGUnLFxuICAgICAgICAgIHBvc2l0aW9uOiB7IHRvcDogMCwgbGVmdDogMCB9LFxuICAgICAgICAgIHdpZHRoOiAnMTAwJScsXG4gICAgICAgICAgaGVpZ2h0OiAnMTAwJSdcbiAgICAgICAgfX1cbiAgICAgICAgdWlCYWNrZ3JvdW5kPXt7XG4gICAgICAgICAgdGV4dHVyZU1vZGU6ICdzdHJldGNoJyxcbiAgICAgICAgICB0ZXh0dXJlOiB7XG4gICAgICAgICAgICBzcmM6IGdldFRoZW1lKClcbiAgICAgICAgICB9LFxuICAgICAgICAgIHV2czogZ2V0SW1hZ2VBdGxhc01hcHBpbmcoc2VjdGlvbilcbiAgICAgICAgfX1cbiAgICAgICAgb25Nb3VzZURvd249eygpID0+IHtcbiAgICAgICAgICBoYW5kbGVEaWFsb2dDbGljaygpXG4gICAgICAgIH19XG4gICAgICAvPlxuXG4gICAgICA8VWlFbnRpdHlcbiAgICAgICAgdWlUcmFuc2Zvcm09e3tcbiAgICAgICAgICBkaXNwbGF5OiBkaXNwbGF5UG9ydHJhaXQoKSA/ICdmbGV4JyA6ICdub25lJyxcbiAgICAgICAgICB3aWR0aDogZ2V0U2NhbGVkU2l6ZShwb3J0cmFpdFdpZHRoKCkpLFxuICAgICAgICAgIGhlaWdodDogZ2V0U2NhbGVkU2l6ZShwb3J0cmFpdEhlaWdodCgpKSxcbiAgICAgICAgICBwb3NpdGlvblR5cGU6ICdhYnNvbHV0ZScsXG4gICAgICAgICAgcG9zaXRpb246IHtcbiAgICAgICAgICAgIGJvdHRvbTogZ2V0U2NhbGVkU2l6ZShwb3NpdGlvblBvcnRhaXRZKCkpLFxuICAgICAgICAgICAgbGVmdDogZ2V0U2NhbGVkU2l6ZShwb3NpdGlvblBvcnRhaXRYKCkpXG4gICAgICAgICAgfVxuICAgICAgICB9fVxuICAgICAgICB1aUJhY2tncm91bmQ9e3tcbiAgICAgICAgICB0ZXh0dXJlTW9kZTogJ3N0cmV0Y2gnLFxuICAgICAgICAgIHRleHR1cmU6IHtcbiAgICAgICAgICAgIHNyYzogZ2V0UG9ydHJhaXQoKVxuICAgICAgICAgIH1cbiAgICAgICAgICAvLyB1dnM6IGdldEltYWdlQXRsYXNNYXBwaW5nKHNraXBCdXR0b25TZWN0aW9uKSxcbiAgICAgICAgfX1cbiAgICAgIC8+XG5cbiAgICAgIDxVaUVudGl0eVxuICAgICAgICB1aVRyYW5zZm9ybT17e1xuICAgICAgICAgIGRpc3BsYXk6IGRpc3BsYXlJbWFnZSgpID8gJ2ZsZXgnIDogJ25vbmUnLFxuICAgICAgICAgIHdpZHRoOiBnZXRTY2FsZWRTaXplKGltYWdlV2lkdGgoKSksXG4gICAgICAgICAgaGVpZ2h0OiBnZXRTY2FsZWRTaXplKGltYWdlSGVpZ2h0KCkpLFxuICAgICAgICAgIHBvc2l0aW9uVHlwZTogJ2Fic29sdXRlJyxcbiAgICAgICAgICBwb3NpdGlvbjogeyBib3R0b206IHBvc2l0aW9uSW1hZ2VZKCksIHJpZ2h0OiBwb3NpdGlvbkltYWdlWCgpIH1cbiAgICAgICAgfX1cbiAgICAgICAgdWlCYWNrZ3JvdW5kPXt7XG4gICAgICAgICAgdGV4dHVyZU1vZGU6ICdzdHJldGNoJyxcbiAgICAgICAgICB0ZXh0dXJlOiB7XG4gICAgICAgICAgICBzcmM6IGdldEltYWdlKClcbiAgICAgICAgICB9XG4gICAgICAgICAgLy8gdXZzOiBnZXRJbWFnZUF0bGFzTWFwcGluZyhza2lwQnV0dG9uU2VjdGlvbiksXG4gICAgICAgIH19XG4gICAgICAvPlxuXG4gICAgICA8VWlFbnRpdHlcbiAgICAgICAgdWlUcmFuc2Zvcm09e3tcbiAgICAgICAgICBkaXNwbGF5OiBkaXNwbGF5U2tpcGFibGUoKSA/ICdmbGV4JyA6ICdub25lJyxcbiAgICAgICAgICB3aWR0aDogZ2V0U2NhbGVkU2l6ZSgxNSksXG4gICAgICAgICAgaGVpZ2h0OiBnZXRTY2FsZWRTaXplKDE1KSxcbiAgICAgICAgICBwb3NpdGlvblR5cGU6ICdhYnNvbHV0ZScsXG4gICAgICAgICAgcG9zaXRpb246IHsgYm90dG9tOiAnNyUnLCBsZWZ0OiAnMjUlJyB9XG4gICAgICAgIH19XG4gICAgICAgIHVpQmFja2dyb3VuZD17e1xuICAgICAgICAgIHRleHR1cmVNb2RlOiAnc3RyZXRjaCcsXG4gICAgICAgICAgdGV4dHVyZToge1xuICAgICAgICAgICAgc3JjOiBnZXRUaGVtZSgpXG4gICAgICAgICAgfSxcbiAgICAgICAgICB1dnM6IGdldEltYWdlQXRsYXNNYXBwaW5nKGdldFNraXBhYmxlVGhlbWUoKSlcbiAgICAgICAgfX1cbiAgICAgICAgb25Nb3VzZURvd249eygpID0+IHtcbiAgICAgICAgICBza2lwRGlhbG9ncyhhY3RpdmVOUEMpXG4gICAgICAgIH19XG4gICAgICA+XG4gICAgICAgIDxVaUVudGl0eVxuICAgICAgICAgIHVpVHJhbnNmb3JtPXt7XG4gICAgICAgICAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgICAgICAgICBwb3NpdGlvblR5cGU6ICdhYnNvbHV0ZScsXG4gICAgICAgICAgICBwb3NpdGlvbjogeyBsZWZ0OiAnMjE1JScgfVxuICAgICAgICAgIH19XG4gICAgICAgICAgdWlUZXh0PXt7XG4gICAgICAgICAgICB2YWx1ZTogJ1NraXAnLFxuICAgICAgICAgICAgY29sb3I6IGdldFRleHRDb2xvcigpLFxuICAgICAgICAgICAgZm9udFNpemU6IGdldFNjYWxlZEZvbnRTaXplKDEyKVxuICAgICAgICAgIH19XG4gICAgICAgIC8+XG4gICAgICA8L1VpRW50aXR5PlxuXG4gICAgICA8VWlFbnRpdHlcbiAgICAgICAgdWlUcmFuc2Zvcm09e3tcbiAgICAgICAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgICAgICAgd2lkdGg6IGdldFNjYWxlZFNpemUoMjQpLFxuICAgICAgICAgIGhlaWdodDogZ2V0U2NhbGVkU2l6ZSgzNiksXG4gICAgICAgICAgcG9zaXRpb25UeXBlOiAnYWJzb2x1dGUnLFxuICAgICAgICAgIHBvc2l0aW9uOiB7IGJvdHRvbTogJzUlJywgcmlnaHQ6ICcyJScgfVxuICAgICAgICB9fVxuICAgICAgICB1aUJhY2tncm91bmQ9e3tcbiAgICAgICAgICB0ZXh0dXJlTW9kZTogJ3N0cmV0Y2gnLFxuICAgICAgICAgIHRleHR1cmU6IHtcbiAgICAgICAgICAgIHNyYzogZ2V0VGhlbWUoKVxuICAgICAgICAgIH0sXG4gICAgICAgICAgdXZzOiBnZXRJbWFnZUF0bGFzTWFwcGluZyhnZXRMZWZ0Q2xpY2tUaGVtZSgpKVxuICAgICAgICB9fVxuICAgICAgLz5cblxuICAgICAgPFVpRW50aXR5XG4gICAgICAgIHVpVHJhbnNmb3JtPXt7XG4gICAgICAgICAgYWxpZ25TZWxmOiAnZmxleC1zdGFydCcsXG4gICAgICAgICAgYWxpZ25JdGVtczogJ2ZsZXgtc3RhcnQnLFxuICAgICAgICAgIGp1c3RpZnlDb250ZW50OiAnZmxleC1zdGFydCcsXG4gICAgICAgICAgZmxleERpcmVjdGlvbjogJ3JvdycsXG4gICAgICAgICAgcG9zaXRpb246IGdldFRleHRQb3NpdGlvbigpXG4gICAgICAgIH19XG4gICAgICAgIHVpVGV4dD17e1xuICAgICAgICAgIHZhbHVlOiBnZXRUZXh0KCksXG4gICAgICAgICAgY29sb3I6IGdldFRleHRDb2xvcigpLFxuICAgICAgICAgIGZvbnRTaXplOiBnZXRTY2FsZWRGb250U2l6ZShnZXRGb250U2l6ZSgpKSxcbiAgICAgICAgICB0ZXh0QWxpZ246ICdtaWRkbGUtbGVmdCdcbiAgICAgICAgfX1cbiAgICAgID48L1VpRW50aXR5PlxuXG4gICAgICA8VWlFbnRpdHlcbiAgICAgICAgdWlUcmFuc2Zvcm09e3tcbiAgICAgICAgICB3aWR0aDogZ2V0U2NhbGVkU2l6ZSgzMDApLFxuICAgICAgICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICAgICAgICAgIGZsZXhEaXJlY3Rpb246ICdyb3cnLFxuICAgICAgICAgIGp1c3RpZnlDb250ZW50OiAnc3BhY2UtYmV0d2VlbicsXG4gICAgICAgICAgZGlzcGxheTogZGlzcGxheUZpcnN0QnV0dG9uQ29udGFpbmVyKCkgPyAnZmxleCcgOiAnbm9uZScsXG4gICAgICAgICAgcG9zaXRpb246IHsgdG9wOiAnMjAlJyB9XG4gICAgICAgIH19XG4gICAgICA+XG4gICAgICAgIHsvKiBCdXR0b24xIChUb3AtTGVmdCkgKi99XG4gICAgICAgIDxVaUVudGl0eVxuICAgICAgICAgIHVpVHJhbnNmb3JtPXt7XG4gICAgICAgICAgICB3aWR0aDogZ2V0U2NhbGVkU2l6ZSgxNTApLFxuICAgICAgICAgICAgaGVpZ2h0OiBnZXRTY2FsZWRTaXplKDQ1KSxcbiAgICAgICAgICAgIG1hcmdpbjogeyByaWdodDogJzUlJyB9LFxuICAgICAgICAgICAgZmxleERpcmVjdGlvbjogJ3JvdycsXG4gICAgICAgICAgICBhbGlnbkl0ZW1zOiAnY2VudGVyJyxcbiAgICAgICAgICAgIGp1c3RpZnlDb250ZW50OiAnZmxleC1zdGFydCcsXG4gICAgICAgICAgICBhbGlnbkNvbnRlbnQ6ICdmbGV4LXN0YXJ0JyxcbiAgICAgICAgICAgIGRpc3BsYXk6IGRpc3BsYXlCdXR0b24oMSkgPyAnZmxleCcgOiAnbm9uZSdcbiAgICAgICAgICB9fVxuICAgICAgICAgIHVpQmFja2dyb3VuZD17e1xuICAgICAgICAgICAgdGV4dHVyZU1vZGU6ICdzdHJldGNoJyxcbiAgICAgICAgICAgIHRleHR1cmU6IHtcbiAgICAgICAgICAgICAgc3JjOiBnZXRUaGVtZSgpXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgdXZzOiBnZXRJbWFnZUF0bGFzTWFwcGluZyhkYXJrQnV0dG9uU2VjdGlvbilcbiAgICAgICAgICB9fVxuICAgICAgICAgIHVpVGV4dD17eyB2YWx1ZTogZ2V0QnV0dG9uVGV4dCgwKSwgZm9udFNpemU6IGdldFNjYWxlZEZvbnRTaXplKDE2KSB9fVxuICAgICAgICAgIG9uTW91c2VEb3duPXsoKSA9PiB7XG4gICAgICAgICAgICBidXR0b25DbGljaygwKVxuICAgICAgICAgIH19XG4gICAgICAgID5cbiAgICAgICAgICA8VWlFbnRpdHlcbiAgICAgICAgICAgIHVpVHJhbnNmb3JtPXt7XG4gICAgICAgICAgICAgIHdpZHRoOiBnZXRTY2FsZWRTaXplKDI1KSxcbiAgICAgICAgICAgICAgaGVpZ2h0OiBnZXRTY2FsZWRTaXplKDI1KSxcbiAgICAgICAgICAgICAgcG9zaXRpb246IHsgbGVmdDogZ2V0U2NhbGVkU2l6ZSg1KSB9XG4gICAgICAgICAgICB9fVxuICAgICAgICAgICAgdWlCYWNrZ3JvdW5kPXt7XG4gICAgICAgICAgICAgIHRleHR1cmVNb2RlOiAnc3RyZXRjaCcsXG4gICAgICAgICAgICAgIHRleHR1cmU6IHtcbiAgICAgICAgICAgICAgICBzcmM6IGdldFRoZW1lKClcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgdXZzOiBnZXRJbWFnZUF0bGFzTWFwcGluZyhzZWNvbmRhcnlCdXR0b25TZWN0aW9uKVxuICAgICAgICAgICAgfX1cbiAgICAgICAgICA+PC9VaUVudGl0eT5cbiAgICAgICAgPC9VaUVudGl0eT5cblxuICAgICAgICB7LyogQnV0dG9uMiAoVG9wLVJpZ2h0KSAqL31cbiAgICAgICAgPFVpRW50aXR5XG4gICAgICAgICAgdWlUcmFuc2Zvcm09e3tcbiAgICAgICAgICAgIHdpZHRoOiBnZXRTY2FsZWRTaXplKDE1MCksXG4gICAgICAgICAgICBoZWlnaHQ6IGdldFNjYWxlZFNpemUoNDUpLFxuICAgICAgICAgICAgZmxleERpcmVjdGlvbjogJ3JvdycsXG4gICAgICAgICAgICBhbGlnbkl0ZW1zOiAnY2VudGVyJyxcbiAgICAgICAgICAgIGp1c3RpZnlDb250ZW50OiAnZmxleC1zdGFydCcsXG4gICAgICAgICAgICBhbGlnbkNvbnRlbnQ6ICdmbGV4LXN0YXJ0JyxcbiAgICAgICAgICAgIGRpc3BsYXk6IGRpc3BsYXlCdXR0b24oMikgPyAnZmxleCcgOiAnbm9uZSdcbiAgICAgICAgICB9fVxuICAgICAgICAgIHVpQmFja2dyb3VuZD17e1xuICAgICAgICAgICAgdGV4dHVyZU1vZGU6ICdzdHJldGNoJyxcbiAgICAgICAgICAgIHRleHR1cmU6IHtcbiAgICAgICAgICAgICAgc3JjOiBnZXRUaGVtZSgpXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgdXZzOiBnZXRJbWFnZUF0bGFzTWFwcGluZyhyZWRCdXR0b25TZWN0aW9uKVxuICAgICAgICAgIH19XG4gICAgICAgICAgdWlUZXh0PXt7IHZhbHVlOiBnZXRCdXR0b25UZXh0KDEpLCBmb250U2l6ZTogZ2V0U2NhbGVkRm9udFNpemUoMTYpIH19XG4gICAgICAgICAgb25Nb3VzZURvd249eygpID0+IHtcbiAgICAgICAgICAgIGJ1dHRvbkNsaWNrKDEpXG4gICAgICAgICAgfX1cbiAgICAgICAgPlxuICAgICAgICAgIDxVaUVudGl0eVxuICAgICAgICAgICAgdWlUcmFuc2Zvcm09e3tcbiAgICAgICAgICAgICAgd2lkdGg6IGdldFNjYWxlZFNpemUoMjUpLFxuICAgICAgICAgICAgICBoZWlnaHQ6IGdldFNjYWxlZFNpemUoMjUpLFxuICAgICAgICAgICAgICBwb3NpdGlvbjogeyBsZWZ0OiBnZXRTY2FsZWRTaXplKDUpIH1cbiAgICAgICAgICAgIH19XG4gICAgICAgICAgICB1aUJhY2tncm91bmQ9e3tcbiAgICAgICAgICAgICAgdGV4dHVyZU1vZGU6ICdzdHJldGNoJyxcbiAgICAgICAgICAgICAgdGV4dHVyZToge1xuICAgICAgICAgICAgICAgIHNyYzogZ2V0VGhlbWUoKVxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB1dnM6IGdldEltYWdlQXRsYXNNYXBwaW5nKHByaW1hcnlCdXR0b25TZWN0aW9uKVxuICAgICAgICAgICAgfX1cbiAgICAgICAgICA+PC9VaUVudGl0eT5cbiAgICAgICAgPC9VaUVudGl0eT5cbiAgICAgIDwvVWlFbnRpdHk+XG5cbiAgICAgIHsvKiBTZWNvbmQgcm93IG9mIGJ1dHRvbnMgKi99XG4gICAgICA8VWlFbnRpdHlcbiAgICAgICAgdWlUcmFuc2Zvcm09e3tcbiAgICAgICAgICB3aWR0aDogZ2V0U2NhbGVkU2l6ZSgzMDApLFxuICAgICAgICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICAgICAgICAgIGZsZXhEaXJlY3Rpb246ICdyb3cnLFxuICAgICAgICAgIGp1c3RpZnlDb250ZW50OiAnc3BhY2UtYmV0d2VlbicsXG4gICAgICAgICAgbWFyZ2luOiB7IHRvcDogZ2V0U2NhbGVkU2l6ZSgyMCkgfSxcbiAgICAgICAgICBkaXNwbGF5OiBkaXNwbGF5U2Vjb25kQnV0dG9uQ29udGFpbmVyKCkgPyAnZmxleCcgOiAnbm9uZScsXG4gICAgICAgICAgcG9zaXRpb246IHsgdG9wOiAnMTUlJyB9XG4gICAgICAgIH19XG4gICAgICA+XG4gICAgICAgIHsvKiBCdXR0b24zICovfVxuICAgICAgICA8VWlFbnRpdHlcbiAgICAgICAgICB1aVRyYW5zZm9ybT17e1xuICAgICAgICAgICAgd2lkdGg6IGdldFNjYWxlZFNpemUoMTUwKSxcbiAgICAgICAgICAgIGhlaWdodDogZ2V0U2NhbGVkU2l6ZSg0NSksXG4gICAgICAgICAgICBtYXJnaW46IHsgcmlnaHQ6ICc1JScgfSxcbiAgICAgICAgICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICAgICAgICAgICAganVzdGlmeUNvbnRlbnQ6ICdjZW50ZXInLFxuICAgICAgICAgICAgYWxpZ25Db250ZW50OiAnZmxleC1zdGFydCcsXG4gICAgICAgICAgICBkaXNwbGF5OiBkaXNwbGF5QnV0dG9uKDMpID8gJ2ZsZXgnIDogJ25vbmUnXG4gICAgICAgICAgfX1cbiAgICAgICAgICB1aUJhY2tncm91bmQ9e3tcbiAgICAgICAgICAgIHRleHR1cmVNb2RlOiAnc3RyZXRjaCcsXG4gICAgICAgICAgICB0ZXh0dXJlOiB7XG4gICAgICAgICAgICAgIHNyYzogZ2V0VGhlbWUoKVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHV2czogZ2V0SW1hZ2VBdGxhc01hcHBpbmcoZGFya0J1dHRvblNlY3Rpb24pXG4gICAgICAgICAgfX1cbiAgICAgICAgICB1aVRleHQ9e3sgdmFsdWU6IGdldEJ1dHRvblRleHQoMiksIGZvbnRTaXplOiBnZXRTY2FsZWRGb250U2l6ZSgxNikgfX1cbiAgICAgICAgICBvbk1vdXNlRG93bj17KCkgPT4ge1xuICAgICAgICAgICAgYnV0dG9uQ2xpY2soMylcbiAgICAgICAgICB9fVxuICAgICAgICA+PC9VaUVudGl0eT5cblxuICAgICAgICB7LyogQnV0dG9uNCAqL31cbiAgICAgICAgPFVpRW50aXR5XG4gICAgICAgICAgdWlUcmFuc2Zvcm09e3tcbiAgICAgICAgICAgIHdpZHRoOiBnZXRTY2FsZWRTaXplKDE1MCksXG4gICAgICAgICAgICBoZWlnaHQ6IGdldFNjYWxlZFNpemUoNDUpLFxuICAgICAgICAgICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgICAgICAgICBqdXN0aWZ5Q29udGVudDogJ2NlbnRlcicsXG4gICAgICAgICAgICBhbGlnbkNvbnRlbnQ6ICdmbGV4LXN0YXJ0JyxcbiAgICAgICAgICAgIGRpc3BsYXk6IGRpc3BsYXlCdXR0b24oNCkgPyAnZmxleCcgOiAnbm9uZSdcbiAgICAgICAgICB9fVxuICAgICAgICAgIHVpQmFja2dyb3VuZD17e1xuICAgICAgICAgICAgdGV4dHVyZU1vZGU6ICdzdHJldGNoJyxcbiAgICAgICAgICAgIHRleHR1cmU6IHtcbiAgICAgICAgICAgICAgc3JjOiBnZXRUaGVtZSgpXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgdXZzOiBnZXRJbWFnZUF0bGFzTWFwcGluZyhkYXJrQnV0dG9uU2VjdGlvbilcbiAgICAgICAgICB9fVxuICAgICAgICAgIHVpVGV4dD17eyB2YWx1ZTogZ2V0QnV0dG9uVGV4dCgzKSwgZm9udFNpemU6IGdldFNjYWxlZEZvbnRTaXplKDE2KSB9fVxuICAgICAgICAgIG9uTW91c2VEb3duPXsoKSA9PiB7XG4gICAgICAgICAgICBidXR0b25DbGljayg0KVxuICAgICAgICAgIH19XG4gICAgICAgID48L1VpRW50aXR5PlxuICAgICAgPC9VaUVudGl0eT5cbiAgICA8L1VpRW50aXR5PlxuICApXG59XG4iXX0=
|
|
426
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdWkudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sUUFBUSxFQUFFLEVBQW1DLFFBQVEsRUFBRSxNQUFNLG9CQUFvQixDQUFBO0FBRXhGLE9BQU8sRUFDTCxXQUFXLEVBRVgsYUFBYSxFQUNiLGFBQWEsRUFDYiwyQkFBMkIsRUFDM0IsWUFBWSxFQUNaLGVBQWUsRUFDZiw0QkFBNEIsRUFDNUIsZUFBZSxFQUNmLGFBQWEsRUFDYixhQUFhLEVBQ2IsV0FBVyxFQUNYLGlCQUFpQixFQUNqQixRQUFRLEVBQ1Isb0JBQW9CLEVBQ3BCLGlCQUFpQixFQUNqQixXQUFXLEVBQ1gsZ0JBQWdCLEVBQ2hCLE9BQU8sRUFDUCxZQUFZLEVBQ1osZUFBZSxFQUNmLFFBQVEsRUFDUixpQkFBaUIsRUFDakIsV0FBVyxFQUNYLFVBQVUsRUFDVixjQUFjLEVBQ2QsYUFBYSxFQUNiLGNBQWMsRUFDZCxjQUFjLEVBQ2QsZ0JBQWdCLEVBQ2hCLGdCQUFnQixFQUdoQixVQUFVLEVBQ1YsU0FBUyxFQUNULFdBQVcsRUFDWCxlQUFlLEVBQ2hCLE1BQU0sVUFBVSxDQUFBO0FBQ2pCLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUM1RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sT0FBTyxDQUFBO0FBRWpDLE1BQU0sQ0FBQyxJQUFJLFVBQVUsR0FBRyx1REFBdUQsQ0FBQTtBQUMvRSxNQUFNLENBQUMsSUFBSSxTQUFTLEdBQUcsc0RBQXNELENBQUE7QUFFN0UsTUFBTSxDQUFDLElBQUksY0FBYyxHQUFHLHVEQUF1RCxDQUFBO0FBRW5GLE1BQU0sQ0FBQyxJQUFJLE9BQU8sR0FBRztJQUNuQixHQUFHLDRCQUE0QixDQUFDLFdBQVcsQ0FBQyxTQUFTO0lBQ3JELFdBQVcsRUFBRSw0QkFBNEIsQ0FBQyxXQUFXO0lBQ3JELFVBQVUsRUFBRSw0QkFBNEIsQ0FBQyxVQUFVO0NBQ3BE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d0JBQ3RCLE9BQU8sRUFBRTs0QkFDUCxHQUFHLEVBQUUsUUFBUSxFQUFFO3lCQUNoQjt3QkFDRCxHQUFHLEVBQUUsb0JBQW9CLENBQUMsaUJBQWlCLENBQUM7cUJBQzdDO29CQUVELHVCQUFDLFFBQVEsSUFDUCxXQUFXLEVBQUU7NEJBQ1gsS0FBSyxFQUFFLE1BQU07NEJBQ2IsUUFBUSxFQUFFLGFBQWEsQ0FBQyxHQUFHLENBQUM7NEJBQzVCLFFBQVEsRUFBRSxRQUFRO3lCQUNuQixFQUNELE1BQU0sRUFBRSxFQUFFLEtBQUssRUFBRSxhQUFhLENBQUMsQ0FBQyxDQUFDLEVBQUUsUUFBUSxFQUFFLGlCQUFpQixDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBRSxHQUNoSCxDQUNPO2dCQUNYLHVCQUFDLFFBQVEsSUFDUCxXQUFXLEVBQUU7d0JBQ1gsTUFBTSxFQUFFLE1BQU07d0JBQ2QsS0FBSyxFQUFFLGFBQWEsQ0FBQyxFQUFFLENBQUM7cUJBQ3pCLEVBQ0QsWUFBWSxFQUFFO3dCQUNaLFdBQVcsRUFBRSxTQUFTO3dCQUN0QixPQUFPLEVBQUU7NEJBQ1AsR0FBRyxFQUFFLFFBQVEsRUFBRTt5QkFDaEI7d0JBQ0QsR0FBRyxFQUFFLG9CQUFvQixDQUFDLGNBQWMsQ0FBQztxQkFDMUMsR0FDRCxDQUNPLENBQ0YsQ0FDRixDQUNaLENBQUE7QUFDSCxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb2xvcjQgfSBmcm9tICdAZGNsL3Nkay9tYXRoJ1xuaW1wb3J0IFJlYWN0RWNzLCB7IEJ1dHRvbiwgTGFiZWwsIFJlYWN0RWNzUmVuZGVyZXIsIFVpRW50aXR5IH0gZnJvbSAnQGRjbC9zZGsvcmVhY3QtZWNzJ1xuaW1wb3J0IHsgRW50aXR5IH0gZnJvbSAnQGRjbC9zZGsvZWNzJ1xuaW1wb3J0IHtcbiAgYnV0dG9uQ2xpY2ssXG4gIGNvbmZpcm1UZXh0LFxuICBkaXNwbGF5QnV0dG9uLFxuICBkaXNwbGF5RGlhbG9nLFxuICBkaXNwbGF5Rmlyc3RCdXR0b25Db250YWluZXIsXG4gIGRpc3BsYXlJbWFnZSxcbiAgZGlzcGxheVBvcnRyYWl0LFxuICBkaXNwbGF5U2Vjb25kQnV0dG9uQ29udGFpbmVyLFxuICBkaXNwbGF5U2tpcGFibGUsXG4gIGdldEJ1dHRvblRleHQsXG4gIGdldGJ1dHRvblNpemUsXG4gIGdldEZvbnRTaXplLFxuICBnZXRCdXR0b25Gb250U2l6ZSxcbiAgZ2V0SW1hZ2UsXG4gIGdldEltYWdlQXRsYXNNYXBwaW5nLFxuICBnZXRMZWZ0Q2xpY2tUaGVtZSxcbiAgZ2V0UG9ydHJhaXQsXG4gIGdldFNraXBhYmxlVGhlbWUsXG4gIGdldFRleHQsXG4gIGdldFRleHRDb2xvcixcbiAgZ2V0VGV4dFBvc2l0aW9uLFxuICBnZXRUaGVtZSxcbiAgaGFuZGxlRGlhbG9nQ2xpY2ssXG4gIGltYWdlSGVpZ2h0LFxuICBpbWFnZVdpZHRoLFxuICBwb3J0cmFpdEhlaWdodCxcbiAgcG9ydHJhaXRXaWR0aCxcbiAgcG9zaXRpb25JbWFnZVgsXG4gIHBvc2l0aW9uSW1hZ2VZLFxuICBwb3NpdGlvblBvcnRhaXRYLFxuICBwb3NpdGlvblBvcnRhaXRZLFxuICBwb3NpdGlvblRleHRYLFxuICBwb3NpdGlvblRleHRZLFxuICByZWFsSGVpZ2h0LFxuICByZWFsV2lkdGgsXG4gIHNraXBEaWFsb2dzLFxuICBnZXRXaW5kb3dIZWlnaHRcbn0gZnJvbSAnLi9kaWFsb2cnXG5pbXBvcnQgeyBzb3VyY2VzQ29tcG9uZW50c0Nvb3JkaW5hdGVzIH0gZnJvbSAnLi91aVJlc291cmNlcydcbmltcG9ydCB7IGFjdGl2ZU5QQyB9IGZyb20gJy4vbnBjJ1xuXG5leHBvcnQgbGV0IGxpZ2h0VGhlbWUgPSAnaHR0cHM6Ly9kZWNlbnRyYWxhbmQub3JnL2ltYWdlcy91aS9saWdodC1hdGxhcy12My5wbmcnXG5leHBvcnQgbGV0IGRhcmtUaGVtZSA9ICdodHRwczovL2RlY2VudHJhbGFuZC5vcmcvaW1hZ2VzL3VpL2RhcmstYXRsYXMtdjMucG5nJ1xuXG5leHBvcnQgbGV0IGJ1YmJsZXNUZXh0dXJlID0gJ2h0dHBzOi8vZGVjZW50cmFsYW5kLm9yZy9pbWFnZXMvdWkvZGlhbG9nLWJ1YmJsZXMucG5nJ1xuXG5leHBvcnQgbGV0IHNlY3Rpb24gPSB7XG4gIC4uLnNvdXJjZXNDb21wb25lbnRzQ29vcmRpbmF0ZXMuYmFja2dyb3VuZHMuTlBDRGlhbG9nLFxuICBhdGxhc0hlaWdodDogc291cmNlc0NvbXBvbmVudHNDb29yZGluYXRlcy5hdGxhc0hlaWdodCxcbiAgYXRsYXNXaWR0aDogc291cmNlc0NvbXBvbmVudHNDb29yZGluYXRlcy5hdGxhc1dpZHRoXG59XG5cbmV4cG9ydCBsZXQgc2tpcEJ1dHRvblNlY3Rpb24gPSB7XG4gIC4uLnNvdXJjZXNDb21wb25lbnRzQ29vcmRpbmF0ZXMuYnV0dG9ucy5GLFxuICBhdGxhc0hlaWdodDogc291cmNlc0NvbXBvbmVudHNDb29yZGluYXRlcy5hdGxhc0hlaWdodCxcbiAgYXRsYXNXaWR0aDogc291cmNlc0NvbXBvbmVudHNDb29yZGluYXRlcy5hdGxhc1dpZHRoXG59XG5cbmV4cG9ydCBsZXQgc2tpcEJ1dHRvblNlY3Rpb25CbGFjayA9IHtcbiAgLi4uc291cmNlc0NvbXBvbmVudHNDb29yZGluYXRlcy5idXR0b25zLkZCbGFjayxcbiAgYXRsYXNIZWlnaHQ6IHNvdXJjZXNDb21wb25lbnRzQ29vcmRpbmF0ZXMuYXRsYXNIZWlnaHQsXG4gIGF0bGFzV2lkdGg6IHNvdXJjZXNDb21wb25lbnRzQ29vcmRpbmF0ZXMuYXRsYXNXaWR0aFxufVxuXG5leHBvcnQgbGV0IGxlZnRDbGlja1NlY3Rpb24gPSB7XG4gIC4uLnNvdXJjZXNDb21wb25lbnRzQ29vcmRpbmF0ZXMuaWNvbnMuQ2xpY2tXaGl0ZSxcbiAgYXRsYXNIZWlnaHQ6IHNvdXJjZXNDb21wb25lbnRzQ29vcmRpbmF0ZXMuYXRsYXNIZWlnaHQsXG4gIGF0bGFzV2lkdGg6IHNvdXJjZXNDb21wb25lbnRzQ29vcmRpbmF0ZXMuYXRsYXNXaWR0aFxufVxuXG5leHBvcnQgbGV0IGxlZnRDbGlja1NlY3Rpb25iQmxhY2sgPSB7XG4gIC4uLnNvdXJjZXNDb21wb25lbnRzQ29vcmRpbmF0ZXMuaWNvbnMuQ2xpY2tEYXJrLFxuICBhdGxhc0hlaWdodDogc291cmNlc0NvbXBvbmVudHNDb29yZGluYXRlcy5hdGxhc0hlaWdodCxcbiAgYXRsYXNXaWR0aDogc291cmNlc0NvbXBvbmVudHNDb29yZGluYXRlcy5hdGxhc1dpZHRoXG59XG5cbmV4cG9ydCBsZXQgcHJpbWFyeUJ1dHRvblNlY3Rpb24gPSB7XG4gIC4uLnNvdXJjZXNDb21wb25lbnRzQ29vcmRpbmF0ZXMuYnV0dG9ucy5FLFxuICBhdGxhc0hlaWdodDogc291cmNlc0NvbXBvbmVudHNDb29yZGluYXRlcy5hdGxhc0hlaWdodCxcbiAgYXRsYXNXaWR0aDogc291cmNlc0NvbXBvbmVudHNDb29yZGluYXRlcy5hdGxhc1dpZHRoXG59XG5cbmV4cG9ydCBsZXQgc2Vjb25kYXJ5QnV0dG9uU2VjdGlvbiA9IHtcbiAgLi4uc291cmNlc0NvbXBvbmVudHNDb29yZGluYXRlcy5idXR0b25zLkYsXG4gIGF0bGFzSGVpZ2h0OiBzb3VyY2VzQ29tcG9uZW50c0Nvb3JkaW5hdGVzLmF0bGFzSGVpZ2h0LFxuICBhdGxhc1dpZHRoOiBzb3VyY2VzQ29tcG9uZW50c0Nvb3JkaW5hdGVzLmF0bGFzV2lkdGhcbn1cblxuZXhwb3J0IGxldCBkYXJrQnV0dG9uU2VjdGlvbiA9IHtcbiAgLi4uc291cmNlc0NvbXBvbmVudHNDb29yZGluYXRlcy5idXR0b25zLmJ1dHRvbkYsXG4gIGF0bGFzSGVpZ2h0OiBzb3VyY2VzQ29tcG9uZW50c0Nvb3JkaW5hdGVzLmF0bGFzSGVpZ2h0LFxuICBhdGxhc1dpZHRoOiBzb3VyY2VzQ29tcG9uZW50c0Nvb3JkaW5hdGVzLmF0bGFzV2lkdGhcbn1cblxuZXhwb3J0IGxldCBkYXJrQnV0dG9uQ29ybmVyID0ge1xuICAuLi5zb3VyY2VzQ29tcG9uZW50c0Nvb3JkaW5hdGVzLmJ1dHRvbnMuYnV0dG9uRkNvcm5lcixcbiAgYXRsYXNIZWlnaHQ6IHNvdXJjZXNDb21wb25lbnRzQ29vcmRpbmF0ZXMuYXRsYXNIZWlnaHQsXG4gIGF0bGFzV2lkdGg6IHNvdXJjZXNDb21wb25lbnRzQ29vcmRpbmF0ZXMuYXRsYXNXaWR0aFxufVxuXG5leHBvcnQgbGV0IGRhcmtCdXR0b25FZGdlID0ge1xuICAuLi5zb3VyY2VzQ29tcG9uZW50c0Nvb3JkaW5hdGVzLmJ1dHRvbnMuYnV0dG9uRkVkZ2UsXG4gIGF0bGFzSGVpZ2h0OiBzb3VyY2VzQ29tcG9uZW50c0Nvb3JkaW5hdGVzLmF0bGFzSGVpZ2h0LFxuICBhdGxhc1dpZHRoOiBzb3VyY2VzQ29tcG9uZW50c0Nvb3JkaW5hdGVzLmF0bGFzV2lkdGhcbn1cblxuZXhwb3J0IGxldCByZWRCdXR0b25TZWN0aW9uID0ge1xuICAuLi5zb3VyY2VzQ29tcG9uZW50c0Nvb3JkaW5hdGVzLmJ1dHRvbnMuYnV0dG9uRSxcbiAgYXRsYXNIZWlnaHQ6IHNvdXJjZXNDb21wb25lbnRzQ29vcmRpbmF0ZXMuYXRsYXNIZWlnaHQsXG4gIGF0bGFzV2lkdGg6IHNvdXJjZXNDb21wb25lbnRzQ29vcmRpbmF0ZXMuYXRsYXNXaWR0aFxufVxuXG5leHBvcnQgbGV0IHJlZEJ1dHRvbkNvcm5lciA9IHtcbiAgLi4uc291cmNlc0NvbXBvbmVudHNDb29yZGluYXRlcy5idXR0b25zLmJ1dHRvbkVDb3JuZXIsXG4gIGF0bGFzSGVpZ2h0OiBzb3VyY2VzQ29tcG9uZW50c0Nvb3JkaW5hdGVzLmF0bGFzSGVpZ2h0LFxuICBhdGxhc1dpZHRoOiBzb3VyY2VzQ29tcG9uZW50c0Nvb3JkaW5hdGVzLmF0bGFzV2lkdGhcbn1cblxuZXhwb3J0IGxldCByZWRCdXR0b25FZGdlID0ge1xuICAuLi5zb3VyY2VzQ29tcG9uZW50c0Nvb3JkaW5hdGVzLmJ1dHRvbnMuYnV0dG9uRUVkZ2UsXG4gIGF0bGFzSGVpZ2h0OiBzb3VyY2VzQ29tcG9uZW50c0Nvb3JkaW5hdGVzLmF0bGFzSGVpZ2h0LFxuICBhdGxhc1dpZHRoOiBzb3VyY2VzQ29tcG9uZW50c0Nvb3JkaW5hdGVzLmF0bGFzV2lkdGhcbn1cblxubGV0IG1vZGFsU2NhbGUgPSAxXG5sZXQgbW9kZWxGb250U2l6ZVNjYWxlID0gMVxubGV0IG1vZGFsVGV4dFdyYXBTY2FsZSA9IDFcblxuZXhwb3J0IGZ1bmN0aW9uIHNldHVwTlBDVWlTY2FsaW5nKGluTW9kYWxTY2FsZTogbnVtYmVyLCBpbkZvbnRTaXplOiBudW1iZXIsIGluTW9kYWxUZXh0V3JhcFNjYWxlOiBudW1iZXIpIHtcbiAgbW9kYWxTY2FsZSA9IGluTW9kYWxTY2FsZVxuICBtb2RlbEZvbnRTaXplU2NhbGUgPSBpbkZvbnRTaXplXG4gIG1vZGFsVGV4dFdyYXBTY2FsZSA9IGluTW9kYWxUZXh0V3JhcFNjYWxlXG4gIGNvbnNvbGUubG9nKFxuICAgICdOUEMtVE9PTEtJVCcsXG4gICAgJ1NjYWxlIFVJOicsXG4gICAgbW9kYWxTY2FsZSxcbiAgICAnVGV4dEZvbnRTaXplOicsXG4gICAgbW9kZWxGb250U2l6ZVNjYWxlLFxuICAgICdUZXh0V3JhcFNjYWxpbmc6JyxcbiAgICBtb2RhbFRleHRXcmFwU2NhbGVcbiAgKVxufVxuXG5mdW5jdGlvbiBnZXRTY2FsZWRTaXplKHNpemU6IG51bWJlcik6IG51bWJlciB7XG4gIHJldHVybiBzaXplICogbW9kYWxTY2FsZVxufVxuZnVuY3Rpb24gZ2V0U2NhbGVkRm9udFNpemUoc2l6ZTogbnVtYmVyKTogbnVtYmVyIHtcbiAgcmV0dXJuIHNpemUgKiBtb2RlbEZvbnRTaXplU2NhbGVcbn1cbmZ1bmN0aW9uIGdldFNjYWxlZFRleHRXcmFwKHNpemU6IG51bWJlcik6IG51bWJlciB7XG4gIHJldHVybiBzaXplICogbW9kYWxUZXh0V3JhcFNjYWxlXG59XG5mdW5jdGlvbiBnZXRTY2FsZWRCdXR0b25XaWR0aChidXR0b246IG51bWJlcikge1xuICByZXR1cm4gdHlwZW9mIChnZXRidXR0b25TaXplKGJ1dHRvbikpID09PSAnbnVtYmVyJyA/IGdldFNjYWxlZFNpemUoZ2V0YnV0dG9uU2l6ZShidXR0b24pIGFzIG51bWJlcikgOiAnYXV0bydcbn1cblxuZXhwb3J0IGNvbnN0IE5wY1V0aWxzVWkgPSAoKSA9PiB7XG4gIGNvbnN0IHdpZHRoID0gZ2V0U2NhbGVkU2l6ZShyZWFsV2lkdGgoNzAwKSlcbiAgY29uc3QgaGVpZ2h0ID0gZ2V0U2NhbGVkU2l6ZShyZWFsSGVpZ2h0KDI4NCkpXG5cbiAgcmV0dXJuIChcbiAgICA8VWlFbnRpdHlcbiAgICAgIHVpVHJhbnNmb3JtPXt7XG4gICAgICAgIGRpc3BsYXk6IGRpc3BsYXlEaWFsb2coKSA/ICdmbGV4JyA6ICdub25lJyxcbiAgICAgICAgZmxleERpcmVjdGlvbjogJ2NvbHVtbicsXG4gICAgICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICAgICAgICBqdXN0aWZ5Q29udGVudDogJ2NlbnRlcicsXG4gICAgICAgIHBvc2l0aW9uVHlwZTogJ2Fic29sdXRlJyxcbiAgICAgICAgcG9zaXRpb246IHsgYm90dG9tOiAnMTAlJywgbGVmdDogJzUwJScgfSxcbiAgICAgICAgbWFyZ2luOiB7IHRvcDogLWhlaWdodCAvIDIsIGxlZnQ6IC13aWR0aCAvIDIgfSxcbiAgICAgICAgcGFkZGluZzogeyB0b3A6IDQwLCBib3R0b206IDQwIH0sXG4gICAgICAgIHdpZHRoLFxuICAgICAgICBoZWlnaHQ6IHR5cGVvZiAoZ2V0V2luZG93SGVpZ2h0KCkpID09PSAnbnVtYmVyJyA/IGdldFdpbmRvd0hlaWdodCgpIGFzIG51bWJlciA6ICdhdXRvJ1xuICAgICAgfX1cbiAgICA+XG4gICAgICA8VWlFbnRpdHlcbiAgICAgICAgdWlUcmFuc2Zvcm09e3tcbiAgICAgICAgICBwb3NpdGlvblR5cGU6ICdhYnNvbHV0ZScsXG4gICAgICAgICAgcG9zaXRpb246IHsgdG9wOiAwLCBsZWZ0OiAwIH0sXG4gICAgICAgICAgd2lkdGg6ICcxMDAlJyxcbiAgICAgICAgICBoZWlnaHQ6ICcxMDAlJ1xuICAgICAgICB9fVxuICAgICAgICB1aUJhY2tncm91bmQ9e3tcbiAgICAgICAgICB0ZXh0dXJlTW9kZTogJ3N0cmV0Y2gnLFxuICAgICAgICAgIHRleHR1cmU6IHtcbiAgICAgICAgICAgIHNyYzogZ2V0VGhlbWUoKVxuICAgICAgICAgIH0sXG4gICAgICAgICAgdXZzOiBnZXRJbWFnZUF0bGFzTWFwcGluZyhzZWN0aW9uKVxuICAgICAgICB9fVxuICAgICAgICBvbk1vdXNlRG93bj17KCkgPT4ge1xuICAgICAgICAgIGhhbmRsZURpYWxvZ0NsaWNrKClcbiAgICAgICAgfX1cbiAgICAgIC8+XG5cbiAgICAgIDxVaUVudGl0eVxuICAgICAgICB1aVRyYW5zZm9ybT17e1xuICAgICAgICAgIGRpc3BsYXk6IGRpc3BsYXlQb3J0cmFpdCgpID8gJ2ZsZXgnIDogJ25vbmUnLFxuICAgICAgICAgIHdpZHRoOiBnZXRTY2FsZWRTaXplKHBvcnRyYWl0V2lkdGgoKSksXG4gICAgICAgICAgaGVpZ2h0OiBnZXRTY2FsZWRTaXplKHBvcnRyYWl0SGVpZ2h0KCkpLFxuICAgICAgICAgIHBvc2l0aW9uVHlwZTogJ2Fic29sdXRlJyxcbiAgICAgICAgICBwb3NpdGlvbjoge1xuICAgICAgICAgICAgYm90dG9tOiBnZXRTY2FsZWRTaXplKHBvc2l0aW9uUG9ydGFpdFkoKSksXG4gICAgICAgICAgICBsZWZ0OiBnZXRTY2FsZWRTaXplKHBvc2l0aW9uUG9ydGFpdFgoKSlcbiAgICAgICAgICB9XG4gICAgICAgIH19XG4gICAgICAgIHVpQmFja2dyb3VuZD17e1xuICAgICAgICAgIHRleHR1cmVNb2RlOiAnc3RyZXRjaCcsXG4gICAgICAgICAgdGV4dHVyZToge1xuICAgICAgICAgICAgc3JjOiBnZXRQb3J0cmFpdCgpXG4gICAgICAgICAgfVxuICAgICAgICAgIC8vIHV2czogZ2V0SW1hZ2VBdGxhc01hcHBpbmcoc2tpcEJ1dHRvblNlY3Rpb24pLFxuICAgICAgICB9fVxuICAgICAgLz5cblxuICAgICAgPFVpRW50aXR5XG4gICAgICAgIHVpVHJhbnNmb3JtPXt7XG4gICAgICAgICAgZGlzcGxheTogZGlzcGxheUltYWdlKCkgPyAnZmxleCcgOiAnbm9uZScsXG4gICAgICAgICAgd2lkdGg6IGdldFNjYWxlZFNpemUoaW1hZ2VXaWR0aCgpKSxcbiAgICAgICAgICBoZWlnaHQ6IGdldFNjYWxlZFNpemUoaW1hZ2VIZWlnaHQoKSksXG4gICAgICAgICAgcG9zaXRpb25UeXBlOiAnYWJzb2x1dGUnLFxuICAgICAgICAgIHBvc2l0aW9uOiB7IGJvdHRvbTogcG9zaXRpb25JbWFnZVkoKSwgcmlnaHQ6IHBvc2l0aW9uSW1hZ2VYKCkgfVxuICAgICAgICB9fVxuICAgICAgICB1aUJhY2tncm91bmQ9e3tcbiAgICAgICAgICB0ZXh0dXJlTW9kZTogJ3N0cmV0Y2gnLFxuICAgICAgICAgIHRleHR1cmU6IHtcbiAgICAgICAgICAgIHNyYzogZ2V0SW1hZ2UoKVxuICAgICAgICAgIH1cbiAgICAgICAgICAvLyB1dnM6IGdldEltYWdlQXRsYXNNYXBwaW5nKHNraXBCdXR0b25TZWN0aW9uKSxcbiAgICAgICAgfX1cbiAgICAgIC8+XG5cbiAgICAgIDxVaUVudGl0eVxuICAgICAgICB1aVRyYW5zZm9ybT17e1xuICAgICAgICAgIGRpc3BsYXk6IGRpc3BsYXlTa2lwYWJsZSgpID8gJ2ZsZXgnIDogJ25vbmUnLFxuICAgICAgICAgIHdpZHRoOiBnZXRTY2FsZWRTaXplKDE1KSxcbiAgICAgICAgICBoZWlnaHQ6IGdldFNjYWxlZFNpemUoMTUpLFxuICAgICAgICAgIHBvc2l0aW9uVHlwZTogJ2Fic29sdXRlJyxcbiAgICAgICAgICBwb3NpdGlvbjogeyBib3R0b206ICc3JScsIGxlZnQ6ICcyNSUnIH1cbiAgICAgICAgfX1cbiAgICAgICAgdWlCYWNrZ3JvdW5kPXt7XG4gICAgICAgICAgdGV4dHVyZU1vZGU6ICdzdHJldGNoJyxcbiAgICAgICAgICB0ZXh0dXJlOiB7XG4gICAgICAgICAgICBzcmM6IGdldFRoZW1lKClcbiAgICAgICAgICB9LFxuICAgICAgICAgIHV2czogZ2V0SW1hZ2VBdGxhc01hcHBpbmcoZ2V0U2tpcGFibGVUaGVtZSgpKVxuICAgICAgICB9fVxuICAgICAgICBvbk1vdXNlRG93bj17KCkgPT4ge1xuICAgICAgICAgIHNraXBEaWFsb2dzKGFjdGl2ZU5QQylcbiAgICAgICAgfX1cbiAgICAgID5cbiAgICAgICAgPFVpRW50aXR5XG4gICAgICAgICAgdWlUcmFuc2Zvcm09e3tcbiAgICAgICAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgICAgICAgIHBvc2l0aW9uVHlwZTogJ2Fic29sdXRlJyxcbiAgICAgICAgICAgIHBvc2l0aW9uOiB7IGxlZnQ6ICcyMTUlJyB9XG4gICAgICAgICAgfX1cbiAgICAgICAgICB1aVRleHQ9e3tcbiAgICAgICAgICAgIHZhbHVlOiAnU2tpcCcsXG4gICAgICAgICAgICBjb2xvcjogZ2V0VGV4dENvbG9yKCksXG4gICAgICAgICAgICBmb250U2l6ZTogZ2V0U2NhbGVkRm9udFNpemUoMTIpXG4gICAgICAgICAgfX1cbiAgICAgICAgLz5cbiAgICAgIDwvVWlFbnRpdHk+XG5cbiAgICAgIDxVaUVudGl0eVxuICAgICAgICB1aVRyYW5zZm9ybT17e1xuICAgICAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgICAgICB3aWR0aDogZ2V0U2NhbGVkU2l6ZSgyNCksXG4gICAgICAgICAgaGVpZ2h0OiBnZXRTY2FsZWRTaXplKDM2KSxcbiAgICAgICAgICBwb3NpdGlvblR5cGU6ICdhYnNvbHV0ZScsXG4gICAgICAgICAgcG9zaXRpb246IHsgYm90dG9tOiAnNSUnLCByaWdodDogJzIlJyB9XG4gICAgICAgIH19XG4gICAgICAgIHVpQmFja2dyb3VuZD17e1xuICAgICAgICAgIHRleHR1cmVNb2RlOiAnc3RyZXRjaCcsXG4gICAgICAgICAgdGV4dHVyZToge1xuICAgICAgICAgICAgc3JjOiBnZXRUaGVtZSgpXG4gICAgICAgICAgfSxcbiAgICAgICAgICB1dnM6IGdldEltYWdlQXRsYXNNYXBwaW5nKGdldExlZnRDbGlja1RoZW1lKCkpXG4gICAgICAgIH19XG4gICAgICAvPlxuXG4gICAgICA8VWlFbnRpdHlcbiAgICAgICAgdWlUcmFuc2Zvcm09e3tcbiAgICAgICAgICBoZWlnaHQ6ICdhdXRvJyxcbiAgICAgICAgICB3aWR0aDogJ2F1dG8nLFxuICAgICAgICAgIGFsaWduU2VsZjogJ2ZsZXgtc3RhcnQnLFxuICAgICAgICAgIGFsaWduSXRlbXM6ICdmbGV4LXN0YXJ0JyxcbiAgICAgICAgICBqdXN0aWZ5Q29udGVudDogJ2ZsZXgtc3RhcnQnLFxuICAgICAgICAgIGZsZXhEaXJlY3Rpb246ICdyb3cnLFxuICAgICAgICAgIHBvc2l0aW9uOiBnZXRUZXh0UG9zaXRpb24oKSxcbiAgICAgICAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgICAgICAgZmxleEdyb3c6IDEsXG4gICAgICAgICAgbWluSGVpZ2h0OiAxMDBcbiAgICAgICAgfX1cbiAgICAgICAgdWlUZXh0PXt7XG4gICAgICAgICAgdmFsdWU6IGdldFRleHQoKSxcbiAgICAgICAgICBjb2xvcjogZ2V0VGV4dENvbG9yKCksXG4gICAgICAgICAgZm9udFNpemU6IGdldFNjYWxlZEZvbnRTaXplKGdldEZvbnRTaXplKCkpLFxuICAgICAgICAgIHRleHRBbGlnbjogJ21pZGRsZS1sZWZ0J1xuICAgICAgICB9fVxuICAgICAgLz5cblxuICAgICAgPFVpRW50aXR5XG4gICAgICAgIHVpVHJhbnNmb3JtPXt7XG4gICAgICAgICAgd2lkdGg6IGdldFNjYWxlZEJ1dHRvbldpZHRoKDQ1MCksXG4gICAgICAgICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgICAgICAgZmxleERpcmVjdGlvbjogJ3JvdycsXG4gICAgICAgICAganVzdGlmeUNvbnRlbnQ6ICdjZW50ZXInLFxuICAgICAgICAgIGRpc3BsYXk6IGRpc3BsYXlGaXJzdEJ1dHRvbkNvbnRhaW5lcigpID8gJ2ZsZXgnIDogJ25vbmUnLFxuICAgICAgICB9fVxuICAgICAgPlxuICAgICAgICB7LyogQnV0dG9uMSAoVG9wLUxlZnQpICovfVxuICAgICAgICA8VWlFbnRpdHlcbiAgICAgICAgICBvbk1vdXNlRG93bj17KCkgPT4ge1xuICAgICAgICAgICAgYnV0dG9uQ2xpY2soMClcbiAgICAgICAgICB9fVxuICAgICAgICA+XG4gICAgICAgICAgPFVpRW50aXR5XG4gICAgICAgICAgICB1aVRyYW5zZm9ybT17e1xuICAgICAgICAgICAgICBoZWlnaHQ6ICdhdXRvJyxcbiAgICAgICAgICAgICAgd2lkdGg6IGdldFNjYWxlZFNpemUoMTIpXG4gICAgICAgICAgICB9fVxuICAgICAgICAgICAgdWlCYWNrZ3JvdW5kPXt7XG4gICAgICAgICAgICAgIHRleHR1cmVNb2RlOiAnc3RyZXRjaCcsXG4gICAgICAgICAgICAgIHRleHR1cmU6IHtcbiAgICAgICAgICAgICAgICBzcmM6IGdldFRoZW1lKClcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgdXZzOiBnZXRJbWFnZUF0bGFzTWFwcGluZyhkYXJrQnV0dG9uQ29ybmVyKVxuICAgICAgICAgICAgfX1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxVaUVudGl0eVxuICAgICAgICAgICAgdWlUcmFuc2Zvcm09e3tcbiAgICAgICAgICAgICAgd2lkdGg6IGdldFNjYWxlZEJ1dHRvbldpZHRoKDApLFxuICAgICAgICAgICAgICBtYXhXaWR0aDogZ2V0U2NhbGVkU2l6ZSgzMDApLFxuICAgICAgICAgICAgICBoZWlnaHQ6IGdldFNjYWxlZFNpemUoNDUpLFxuICAgICAgICAgICAgICBmbGV4RGlyZWN0aW9uOiAncm93JyxcbiAgICAgICAgICAgICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgICAgICAgICAgIGp1c3RpZnlDb250ZW50OiAnZmxleC1zdGFydCcsXG4gICAgICAgICAgICAgIGFsaWduQ29udGVudDogJ2ZsZXgtc3RhcnQnLFxuICAgICAgICAgICAgICBkaXNwbGF5OiBkaXNwbGF5QnV0dG9uKDEpID8gJ2ZsZXgnIDogJ25vbmUnLFxuICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIHVpQmFja2dyb3VuZD17e1xuICAgICAgICAgICAgICB0ZXh0dXJlTW9kZTogJ3N0cmV0Y2gnLFxuICAgICAgICAgICAgICB0ZXh0dXJlOiB7XG4gICAgICAgICAgICAgICAgc3JjOiBnZXRUaGVtZSgpXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHV2czogZ2V0SW1hZ2VBdGxhc01hcHBpbmcoZGFya0J1dHRvblNlY3Rpb24pXG4gICAgICAgICAgICB9fVxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxVaUVudGl0eVxuICAgICAgICAgICAgICB1aVRyYW5zZm9ybT17e1xuICAgICAgICAgICAgICAgIHdpZHRoOiBnZXRTY2FsZWRTaXplKDI1KSxcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGdldFNjYWxlZFNpemUoMjUpLFxuICAgICAgICAgICAgICAgIG1hcmdpbjogeyByaWdodDogZ2V0U2NhbGVkU2l6ZSg1KSB9LFxuICAgICAgICAgICAgICAgIHBvc2l0aW9uVHlwZTogJ2Fic29sdXRlJ1xuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICB1aUJhY2tncm91bmQ9e3tcbiAgICAgICAgICAgICAgICB0ZXh0dXJlTW9kZTogJ3N0cmV0Y2gnLFxuICAgICAgICAgICAgICAgIHRleHR1cmU6IHtcbiAgICAgICAgICAgICAgICAgIHNyYzogZ2V0VGhlbWUoKVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgdXZzOiBnZXRJbWFnZUF0bGFzTWFwcGluZyhzZWNvbmRhcnlCdXR0b25TZWN0aW9uKVxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxVaUVudGl0eVxuICAgICAgICAgICAgICB1aVRyYW5zZm9ybT17e1xuICAgICAgICAgICAgICAgIHdpZHRoOiAnYXV0bycsXG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6ICdoaWRkZW4nLFxuICAgICAgICAgICAgICAgIG1heFdpZHRoOiBnZXRTY2FsZWRTaXplKDIxNyksXG4gICAgICAgICAgICAgICAgcGFkZGluZzogeyByaWdodDogZ2V0U2NhbGVkU2l6ZSg1KSB9LFxuICAgICAgICAgICAgICAgIG1hcmdpbjogeyBsZWZ0OiBnZXRTY2FsZWRTaXplKDMwKSB9XG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIHVpVGV4dD17eyB2YWx1ZTogZ2V0QnV0dG9uVGV4dCgwKSwgZm9udFNpemU6IGdldFNjYWxlZEZvbnRTaXplKGdldEJ1dHRvbkZvbnRTaXplKDApKSwgdGV4dEFsaWduOiAnbWlkZGxlLWxlZnQnIH19XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvVWlFbnRpdHk+XG4gICAgICAgICAgPFVpRW50aXR5XG4gICAgICAgICAgICB1aVRyYW5zZm9ybT17e1xuICAgICAgICAgICAgICBoZWlnaHQ6ICdhdXRvJyxcbiAgICAgICAgICAgICAgd2lkdGg6IGdldFNjYWxlZFNpemUoMTIpLFxuICAgICAgICAgICAgICBtYXJnaW46IHsgcmlnaHQ6ICc1JScgfSxcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgICB1aUJhY2tncm91bmQ9e3tcbiAgICAgICAgICAgICAgdGV4dHVyZU1vZGU6ICdzdHJldGNoJyxcbiAgICAgICAgICAgICAgdGV4dHVyZToge1xuICAgICAgICAgICAgICAgIHNyYzogZ2V0VGhlbWUoKVxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB1dnM6IGdldEltYWdlQXRsYXNNYXBwaW5nKGRhcmtCdXR0b25FZGdlKVxuICAgICAgICAgICAgfX1cbiAgICAgICAgICAvPlxuICAgICAgICA8L1VpRW50aXR5PlxuXG4gICAgICAgIHsvKiBCdXR0b24yIChUb3AtUmlnaHQpICovfVxuICAgICAgICA8VWlFbnRpdHlcbiAgICAgICAgICBvbk1vdXNlRG93bj17KCkgPT4ge1xuICAgICAgICAgICAgYnV0dG9uQ2xpY2soMSlcbiAgICAgICAgICB9fVxuICAgICAgICA+XG4gICAgICAgICAgPFVpRW50aXR5XG4gICAgICAgICAgICB1aVRyYW5zZm9ybT17e1xuICAgICAgICAgICAgICBoZWlnaHQ6ICdhdXRvJyxcbiAgICAgICAgICAgICAgd2lkdGg6IGdldFNjYWxlZFNpemUoMTIpXG4gICAgICAgICAgICB9fVxuICAgICAgICAgICAgdWlCYWNrZ3JvdW5kPXt7XG4gICAgICAgICAgICAgIHRleHR1cmVNb2RlOiAnc3RyZXRjaCcsXG4gICAgICAgICAgICAgIHRleHR1cmU6IHtcbiAgICAgICAgICAgICAgICBzcmM6IGdldFRoZW1lKClcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgdXZzOiBnZXRJbWFnZUF0bGFzTWFwcGluZyhyZWRCdXR0b25Db3JuZXIpXG4gICAgICAgICAgICB9fVxuICAgICAgICAgIC8+XG4gICAgICAgICAgPFVpRW50aXR5XG4gICAgICAgICAgICB1aVRyYW5zZm9ybT17e1xuICAgICAgICAgICAgICB3aWR0aDogZ2V0U2NhbGVkQnV0dG9uV2lkdGgoMSksXG4gICAgICAgICAgICAgIG1heFdpZHRoOiBnZXRTY2FsZWRTaXplKDMwMCksXG4gICAgICAgICAgICAgIGhlaWdodDogZ2V0U2NhbGVkU2l6ZSg0NSksXG4gICAgICAgICAgICAgIGZsZXhEaXJlY3Rpb246ICdyb3cnLFxuICAgICAgICAgICAgICBhbGlnbkl0ZW1zOiAnY2VudGVyJyxcbiAgICAgICAgICAgICAganVzdGlmeUNvbnRlbnQ6ICdmbGV4LXN0YXJ0JyxcbiAgICAgICAgICAgICAgYWxpZ25Db250ZW50OiAnZmxleC1zdGFydCcsXG4gICAgICAgICAgICAgIGRpc3BsYXk6IGRpc3BsYXlCdXR0b24oMikgPyAnZmxleCcgOiAnbm9uZScsXG4gICAgICAgICAgICB9fVxuICAgICAgICAgICAgdWlCYWNrZ3JvdW5kPXt7XG4gICAgICAgICAgICAgIHRleHR1cmVNb2RlOiAnc3RyZXRjaCcsXG4gICAgICAgICAgICAgIHRleHR1cmU6IHtcbiAgICAgICAgICAgICAgICBzcmM6IGdldFRoZW1lKClcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgdXZzOiBnZXRJbWFnZUF0bGFzTWFwcGluZyhyZWRCdXR0b25TZWN0aW9uKVxuICAgICAgICAgICAgfX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8VWlFbnRpdHlcbiAgICAgICAgICAgICAgdWlUcmFuc2Zvcm09e3tcbiAgICAgICAgICAgICAgICB3aWR0aDogZ2V0U2NhbGVkU2l6ZSgyNSksXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBnZXRTY2FsZWRTaXplKDI1KSxcbiAgICAgICAgICAgICAgICBtYXJnaW46IHsgcmlnaHQ6IGdldFNjYWxlZFNpemUoNSkgfSxcbiAgICAgICAgICAgICAgICBwb3NpdGlvblR5cGU6ICdhYnNvbHV0ZScsXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIHVpQmFja2dyb3VuZD17e1xuICAgICAgICAgICAgICAgIHRleHR1cmVNb2RlOiAnc3RyZXRjaCcsXG4gICAgICAgICAgICAgICAgdGV4dHVyZToge1xuICAgICAgICAgICAgICAgICAgc3JjOiBnZXRUaGVtZSgpXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB1dnM6IGdldEltYWdlQXRsYXNNYXBwaW5nKHByaW1hcnlCdXR0b25TZWN0aW9uKVxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxVaUVudGl0eVxuICAgICAgICAgICAgICB1aVRyYW5zZm9ybT17e1xuICAgICAgICAgICAgICAgIHdpZHRoOiAnYXV0bycsXG4gICAgICAgICAgICAgICAgbWF4V2lkdGg6IGdldFNjYWxlZFNpemUoMjE3KSxcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogJ2hpZGRlbicsXG4gICAgICAgICAgICAgICAgcGFkZGluZzogeyByaWdodDogZ2V0U2NhbGVkU2l6ZSg1KSB9LFxuICAgICAgICAgICAgICAgIG1hcmdpbjogeyBsZWZ0OiBnZXRTY2FsZWRTaXplKDMwKSB9XG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIHVpVGV4dD17eyB2YWx1ZTogZ2V0QnV0dG9uVGV4dCgxKSwgZm9udFNpemU6IGdldFNjYWxlZEZvbnRTaXplKGdldEJ1dHRvbkZvbnRTaXplKDEpKSwgdGV4dEFsaWduOiAnbWlkZGxlLWxlZnQnIH19XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvVWlFbnRpdHk+XG4gICAgICAgICAgPFVpRW50aXR5XG4gICAgICAgICAgICB1aVRyYW5zZm9ybT17e1xuICAgICAgICAgICAgICBoZWlnaHQ6ICdhdXRvJyxcbiAgICAgICAgICAgICAgd2lkdGg6IGdldFNjYWxlZFNpemUoMTIpXG4gICAgICAgICAgICB9fVxuICAgICAgICAgICAgdWlCYWNrZ3JvdW5kPXt7XG4gICAgICAgICAgICAgIHRleHR1cmVNb2RlOiAnc3RyZXRjaCcsXG4gICAgICAgICAgICAgIHRleHR1cmU6IHtcbiAgICAgICAgICAgICAgICBzcmM6IGdldFRoZW1lKClcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgdXZzOiBnZXRJbWFnZUF0bGFzTWFwcGluZyhyZWRCdXR0b25FZGdlKVxuICAgICAgICAgICAgfX1cbiAgICAgICAgICAvPlxuICAgICAgICA8L1VpRW50aXR5PlxuICAgICAgPC9VaUVudGl0eT5cblxuICAgICAgey8qIFNlY29uZCByb3cgb2YgYnV0dG9ucyAqL31cbiAgICAgIDxVaUVudGl0eVxuICAgICAgICB1aVRyYW5zZm9ybT17e1xuICAgICAgICAgIHdpZHRoOiBnZXRTY2FsZWRCdXR0b25XaWR0aCg0NTApLFxuICAgICAgICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICAgICAgICAgIGZsZXhEaXJlY3Rpb246ICdyb3cnLFxuICAgICAgICAgIGp1c3RpZnlDb250ZW50OiAnY2VudGVyJyxcbiAgICAgICAgICBtYXJnaW46IHsgdG9wOiBnZXRTY2FsZWRTaXplKDIwKSB9LFxuICAgICAgICAgIGRpc3BsYXk6IGRpc3BsYXlTZWNvbmRCdXR0b25Db250YWluZXIoKSA/ICdmbGV4JyA6ICdub25lJyxcbiAgICAgICAgfX1cbiAgICAgID5cbiAgICAgICAgey8qIEJ1dHRvbjMgKi99XG4gICAgICAgIDxVaUVudGl0eVxuICAgICAgICAgIG9uTW91c2VEb3duPXsoKSA9PiB7XG4gICAgICAgICAgICBidXR0b25DbGljaygzKVxuICAgICAgICAgIH19XG4gICAgICAgID5cbiAgICAgICAgICA8VWlFbnRpdHlcbiAgICAgICAgICAgIHVpVHJhbnNmb3JtPXt7XG4gICAgICAgICAgICAgIGhlaWdodDogJ2F1dG8nLFxuICAgICAgICAgICAgICB3aWR0aDogZ2V0U2NhbGVkU2l6ZSgxMiksXG4gICAgICAgICAgICB9fVxuICAgICAgICAgICAgdWlCYWNrZ3JvdW5kPXt7XG4gICAgICAgICAgICAgIHRleHR1cmVNb2RlOiAnc3RyZXRjaCcsXG4gICAgICAgICAgICAgIHRleHR1cmU6IHtcbiAgICAgICAgICAgICAgICBzcmM6IGdldFRoZW1lKClcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgdXZzOiBnZXRJbWFnZUF0bGFzTWFwcGluZyhkYXJrQnV0dG9uQ29ybmVyKVxuICAgICAgICAgICAgfX1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxVaUVudGl0eVxuICAgICAgICAgICAgdWlUcmFuc2Zvcm09e3tcbiAgICAgICAgICAgICAgd2lkdGg6IGdldFNjYWxlZEJ1dHRvbldpZHRoKDIpLFxuICAgICAgICAgICAgICBtYXhXaWR0aDogZ2V0U2NhbGVkU2l6ZSgzMDApLFxuICAgICAgICAgICAgICBvdmVyZmxvdzogJ2hpZGRlbicsXG4gICAgICAgICAgICAgIGhlaWdodDogZ2V0U2NhbGVkU2l6ZSg0NSksXG4gICAgICAgICAgICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICAgICAgICAgICAgICBqdXN0aWZ5Q29udGVudDogJ2NlbnRlcicsXG4gICAgICAgICAgICAgIGFsaWduQ29udGVudDogJ2ZsZXgtc3RhcnQnLFxuICAgICAgICAgICAgICBkaXNwbGF5OiBkaXNwbGF5QnV0dG9uKDMpID8gJ2ZsZXgnIDogJ25vbmUnXG4gICAgICAgICAgICB9fVxuICAgICAgICAgICAgdWlCYWNrZ3JvdW5kPXt7XG4gICAgICAgICAgICAgIHRleHR1cmVNb2RlOiAnc3RyZXRjaCcsXG4gICAgICAgICAgICAgIHRleHR1cmU6IHtcbiAgICAgICAgICAgICAgICBzcmM6IGdldFRoZW1lKClcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgdXZzOiBnZXRJbWFnZUF0bGFzTWFwcGluZyhkYXJrQnV0dG9uU2VjdGlvbilcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPFVpRW50aXR5XG4gICAgICAgICAgICAgIHVpVHJhbnNmb3JtPXt7XG4gICAgICAgICAgICAgICAgd2lkdGg6ICdhdXRvJyxcbiAgICAgICAgICAgICAgICBtYXhXaWR0aDogZ2V0U2NhbGVkU2l6ZSgyNTIpLFxuICAgICAgICAgICAgICAgIG92ZXJmbG93OiAnaGlkZGVuJyxcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgdWlUZXh0PXt7IHZhbHVlOiBnZXRCdXR0b25UZXh0KDIpLCBmb250U2l6ZTogZ2V0U2NhbGVkRm9udFNpemUoZ2V0QnV0dG9uRm9udFNpemUoMikpLCB0ZXh0QWxpZ246ICdtaWRkbGUtbGVmdCcgfX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9VaUVudGl0eT5cbiAgICAgICAgICA8VWlFbnRpdHlcbiAgICAgICAgICAgIHVpVHJhbnNmb3JtPXt7XG4gICAgICAgICAgICAgIGhlaWdodDogJ2F1dG8nLFxuICAgICAgICAgICAgICB3aWR0aDogZ2V0U2NhbGVkU2l6ZSgxMiksXG4gICAgICAgICAgICAgIG1hcmdpbjogeyByaWdodDogJzUlJyB9LFxuICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIHVpQmFja2dyb3VuZD17e1xuICAgICAgICAgICAgICB0ZXh0dXJlTW9kZTogJ3N0cmV0Y2gnLFxuICAgICAgICAgICAgICB0ZXh0dXJlOiB7XG4gICAgICAgICAgICAgICAgc3JjOiBnZXRUaGVtZSgpXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHV2czogZ2V0SW1hZ2VBdGxhc01hcHBpbmcoZGFya0J1dHRvbkVkZ2UpXG4gICAgICAgICAgICB9fVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvVWlFbnRpdHk+XG5cbiAgICAgICAgey8qIEJ1dHRvbjQgKi99XG4gICAgICAgIDxVaUVudGl0eVxuICAgICAgICAgIG9uTW91c2VEb3duPXsoKSA9PiB7XG4gICAgICAgICAgICBidXR0b25DbGljayg0KVxuICAgICAgICAgIH19XG4gICAgICAgID5cbiAgICAgICAgICA8VWlFbnRpdHlcbiAgICAgICAgICAgIHVpVHJhbnNmb3JtPXt7XG4gICAgICAgICAgICAgIGhlaWdodDogJ2F1dG8nLFxuICAgICAgICAgICAgICB3aWR0aDogZ2V0U2NhbGVkU2l6ZSgxMiksXG4gICAgICAgICAgICB9fVxuICAgICAgICAgICAgdWlCYWNrZ3JvdW5kPXt7XG4gICAgICAgICAgICAgIHRleHR1cmVNb2RlOiAnc3RyZXRjaCcsXG4gICAgICAgICAgICAgIHRleHR1cmU6IHtcbiAgICAgICAgICAgICAgICBzcmM6IGdldFRoZW1lKClcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgdXZzOiBnZXRJbWFnZUF0bGFzTWFwcGluZyhkYXJrQnV0dG9uQ29ybmVyKVxuICAgICAgICAgICAgfX1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxVaUVudGl0eVxuICAgICAgICAgICAgdWlUcmFuc2Zvcm09e3tcbiAgICAgICAgICAgICAgd2lkdGg6IGdldFNjYWxlZEJ1dHRvbldpZHRoKDMpLFxuICAgICAgICAgICAgICBtYXhXaWR0aDogZ2V0U2NhbGVkU2l6ZSgzMDApLFxuICAgICAgICAgICAgICBvdmVyZmxvdzogJ2hpZGRlbicsXG4gICAgICAgICAgICAgIGhlaWdodDogZ2V0U2NhbGVkU2l6ZSg0NSksXG4gICAgICAgICAgICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICAgICAgICAgICAgICBqdXN0aWZ5Q29udGVudDogJ2NlbnRlcicsXG4gICAgICAgICAgICAgIGFsaWduQ29udGVudDogJ2ZsZXgtc3RhcnQnLFxuICAgICAgICAgICAgICBkaXNwbGF5OiBkaXNwbGF5QnV0dG9uKDQpID8gJ2ZsZXgnIDogJ25vbmUnLFxuICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIHVpQmFja2dyb3VuZD17e1xuICAgICAgICAgICAgICB0ZXh0dXJlTW9kZTogJ3N0cmV0Y2gnLFxuICAgICAgICAgICAgICB0ZXh0dXJlOiB7XG4gICAgICAgICAgICAgICAgc3JjOiBnZXRUaGVtZSgpXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHV2czogZ2V0SW1hZ2VBdGxhc01hcHBpbmcoZGFya0J1dHRvblNlY3Rpb24pXG4gICAgICAgICAgICB9fVxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxVaUVudGl0eVxuICAgICAgICAgICAgICB1aVRyYW5zZm9ybT17e1xuICAgICAgICAgICAgICAgIHdpZHRoOiAnYXV0bycsXG4gICAgICAgICAgICAgICAgbWF4V2lkdGg6IGdldFNjYWxlZFNpemUoMjUyKSxcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogJ2hpZGRlbicsXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIHVpVGV4dD17eyB2YWx1ZTogZ2V0QnV0dG9uVGV4dCgzKSwgZm9udFNpemU6IGdldFNjYWxlZEZvbnRTaXplKGdldEJ1dHRvbkZvbnRTaXplKDMpKSwgdGV4dEFsaWduOiAnbWlkZGxlLWxlZnQnIH19XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvVWlFbnRpdHk+XG4gICAgICAgICAgPFVpRW50aXR5XG4gICAgICAgICAgICB1aVRyYW5zZm9ybT17e1xuICAgICAgICAgICAgICBoZWlnaHQ6ICdhdXRvJyxcbiAgICAgICAgICAgICAgd2lkdGg6IGdldFNjYWxlZFNpemUoMTIpLFxuICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIHVpQmFja2dyb3VuZD17e1xuICAgICAgICAgICAgICB0ZXh0dXJlTW9kZTogJ3N0cmV0Y2gnLFxuICAgICAgICAgICAgICB0ZXh0dXJlOiB7XG4gICAgICAgICAgICAgICAgc3JjOiBnZXRUaGVtZSgpXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHV2czogZ2V0SW1hZ2VBdGxhc01hcHBpbmcoZGFya0J1dHRvbkVkZ2UpXG4gICAgICAgICAgICB9fVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvVWlFbnRpdHk+XG4gICAgICA8L1VpRW50aXR5PlxuICAgIDwvVWlFbnRpdHk+XG4gIClcbn1cbiJdfQ==
|
package/dist/uiResources.d.ts
CHANGED
|
@@ -32,12 +32,36 @@ export declare const sourcesComponentsCoordinates: {
|
|
|
32
32
|
sourceLeft: number;
|
|
33
33
|
sourceTop: number;
|
|
34
34
|
};
|
|
35
|
+
buttonECorner: {
|
|
36
|
+
sourceWidth: number;
|
|
37
|
+
sourceHeight: number;
|
|
38
|
+
sourceLeft: number;
|
|
39
|
+
sourceTop: number;
|
|
40
|
+
};
|
|
41
|
+
buttonEEdge: {
|
|
42
|
+
sourceWidth: number;
|
|
43
|
+
sourceHeight: number;
|
|
44
|
+
sourceLeft: number;
|
|
45
|
+
sourceTop: number;
|
|
46
|
+
};
|
|
35
47
|
buttonF: {
|
|
36
48
|
sourceWidth: number;
|
|
37
49
|
sourceHeight: number;
|
|
38
50
|
sourceLeft: number;
|
|
39
51
|
sourceTop: number;
|
|
40
52
|
};
|
|
53
|
+
buttonFCorner: {
|
|
54
|
+
sourceWidth: number;
|
|
55
|
+
sourceHeight: number;
|
|
56
|
+
sourceLeft: number;
|
|
57
|
+
sourceTop: number;
|
|
58
|
+
};
|
|
59
|
+
buttonFEdge: {
|
|
60
|
+
sourceWidth: number;
|
|
61
|
+
sourceHeight: number;
|
|
62
|
+
sourceLeft: number;
|
|
63
|
+
sourceTop: number;
|
|
64
|
+
};
|
|
41
65
|
white: {
|
|
42
66
|
sourceWidth: number;
|
|
43
67
|
sourceHeight: number;
|