qms-angular 1.0.86 → 1.0.87

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (89) hide show
  1. package/bundles/qms-angular.umd.js +6802 -207
  2. package/bundles/qms-angular.umd.js.map +1 -1
  3. package/esm2015/lib/components/comment/comment.js +6 -3
  4. package/esm2015/lib/components/qms-navigation-drawer/qms-navigation-drawer.component.js +3 -3
  5. package/esm2015/lib/components/related/content/related-content.component.js +2 -2
  6. package/esm2015/lib/components/table/table.module.js +4 -4
  7. package/esm2015/lib/directives/file-upload/file-upload-multiple-selector.directive.js +3 -1
  8. package/esm2015/lib/directives/file-upload/file-upload-selector.directive.js +3 -1
  9. package/esm2015/lib/directives/file-upload/file-upload.directive.js +1 -1
  10. package/esm2015/lib/model/en.js +63 -2
  11. package/esm2015/lib/model/no.js +63 -2
  12. package/esm2015/lib/qms-ckeditor-components/common/flowchart/config/halo.function.js +87 -0
  13. package/esm2015/lib/qms-ckeditor-components/common/flowchart/config/inspector.function.js +3767 -0
  14. package/esm2015/lib/qms-ckeditor-components/common/flowchart/config/selection.function.js +56 -0
  15. package/esm2015/lib/qms-ckeditor-components/common/flowchart/config/stencil.function.js +1003 -0
  16. package/esm2015/lib/qms-ckeditor-components/common/flowchart/config/toolbar.function.js +302 -0
  17. package/esm2015/lib/qms-ckeditor-components/common/flowchart/models/app-shapes.js +320 -0
  18. package/esm2015/lib/qms-ckeditor-components/common/flowchart/service/keyboard-service.js +69 -0
  19. package/esm2015/lib/qms-ckeditor-components/common/flowchart/service/kitchensink-service.js +412 -0
  20. package/esm2015/lib/qms-ckeditor-components/common/flowchart/themes/theme-picker.js +80 -0
  21. package/esm2015/lib/qms-ckeditor-components/common/models/qms-ckeditor-save-as-template.model.js +1 -1
  22. package/esm2015/lib/qms-ckeditor-components/common/module/confirm/qms-ckeditor-confirm.component.js +2 -2
  23. package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-bpmn/qms-ckeditor-bpmn.component.js +2 -2
  24. package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-bpmn/save-template/save-template.component.js +2 -2
  25. package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-flowchart/qms-ckeditor-flowchart.component.js +317 -0
  26. package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-imagemap/qms-ckeditor-imagemap.component.js +2 -2
  27. package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-link/attachments/link-attachment.component.js +2 -2
  28. package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-link/qms-ckeditor-link.component.js +2 -2
  29. package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-load-template/qms-ckeditor-load-template.component.js +2 -2
  30. package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-relation/qmsckeditor-related.component.js +2 -2
  31. package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-template/qms-ckeditor-template.component.js +2 -2
  32. package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-tooltip/qms-ckeditor-tooltip.component.js +2 -2
  33. package/esm2015/lib/qms-ckeditor-components/qms-ckeditor.component.js +31 -1
  34. package/esm2015/lib/qms-ckeditor-components/qms-ckeditor.module.js +4 -2
  35. package/esm2015/public-api.js +7 -1
  36. package/esm2015/qms-angular.js +2 -1
  37. package/fesm2015/qms-angular.js +6744 -194
  38. package/fesm2015/qms-angular.js.map +1 -1
  39. package/lib/components/comment/comment.d.ts +1 -0
  40. package/lib/model/en.d.ts +61 -0
  41. package/lib/model/no.d.ts +61 -0
  42. package/lib/qms-ckeditor-components/common/flowchart/config/halo.function.d.ts +37 -0
  43. package/lib/qms-ckeditor-components/common/flowchart/config/inspector.function.d.ts +7 -0
  44. package/lib/qms-ckeditor-components/common/flowchart/config/selection.function.d.ts +39 -0
  45. package/lib/qms-ckeditor-components/common/flowchart/config/stencil.function.d.ts +11 -0
  46. package/lib/qms-ckeditor-components/common/flowchart/config/toolbar.function.d.ts +224 -0
  47. package/lib/qms-ckeditor-components/common/flowchart/models/app-shapes.d.ts +58 -0
  48. package/lib/qms-ckeditor-components/common/flowchart/service/keyboard-service.d.ts +16 -0
  49. package/lib/qms-ckeditor-components/common/flowchart/service/kitchensink-service.d.ts +56 -0
  50. package/lib/qms-ckeditor-components/common/flowchart/themes/theme-picker.d.ts +35 -0
  51. package/lib/qms-ckeditor-components/common/models/qms-ckeditor-save-as-template.model.d.ts +2 -0
  52. package/lib/qms-ckeditor-components/components/qms-ckeditor-flowchart/qms-ckeditor-flowchart.component.d.ts +41 -0
  53. package/lib/qms-ckeditor-components/qms-ckeditor.component.d.ts +4 -0
  54. package/lib.theme.scss +4 -0
  55. package/package.json +1 -1
  56. package/public-api.d.ts +6 -0
  57. package/qms-angular.d.ts +1 -0
  58. package/qms-angular.metadata.json +1 -1
  59. package/src/assets/fonts/OpenSans/OpenSans.woff2 +0 -0
  60. package/src/assets/jointjs/images/delete-icon-modern.png +0 -0
  61. package/src/assets/jointjs/images/reset-icon-modern.png +0 -0
  62. package/src/assets/jointjs/images/save-icon-modern.png +0 -0
  63. package/src/assets/jointjs/images/to-front-icon-modern.png +0 -0
  64. package/src/assets/jointjs/images/toback-icon-modern.png +0 -0
  65. package/src/assets/jointjs/images/toolbar-icons-material.png +0 -0
  66. package/src/assets/jointjs/images/toolbar-icons-modern.png +0 -0
  67. package/src/assets/jointjs/scss/rappid.scss +326 -0
  68. package/src/assets/jointjs/scss/theme-picker.scss +22 -0
  69. package/src/assets/qms-ckeditor-plugin/build/ckeditor.js +1 -1
  70. package/src/assets/qms-ckeditor-plugin/build/ckeditor.js.map +1 -1
  71. package/src/assets/qms-ckeditor-plugin/package-lock.json +12634 -345
  72. package/src/assets/qms-ckeditor-plugin/src/ckeditor.js +2 -2
  73. package/src/assets/qms-ckeditor-plugin/src/plugins/common/qmsCKEditorService.js +9 -0
  74. package/src/assets/qms-ckeditor-plugin/src/plugins/flowchart/flowchartdialogcommand.js +47 -0
  75. package/src/assets/qms-ckeditor-plugin/src/plugins/flowchart/qmsCKEditorFlowchartPlugin.js +30 -0
  76. package/src/assets/qms-ckeditor-plugin/src/themes/icons/flowchart.svg +507 -0
  77. package/src/lib/components/comment/comment.scss +1 -0
  78. package/src/lib/components/qms-navigation-drawer/qms-navigation-drawer.component.scss +1 -0
  79. package/src/lib/qms-ckeditor-components/common/flowchart/assets/image-icon1.svg +1 -0
  80. package/src/lib/qms-ckeditor-components/common/flowchart/assets/image-icon2.svg +6 -0
  81. package/src/lib/qms-ckeditor-components/common/flowchart/assets/image-icon3.svg +11 -0
  82. package/src/lib/qms-ckeditor-components/common/flowchart/assets/image-icon4.svg +8 -0
  83. package/src/lib/qms-ckeditor-components/common/flowchart/assets/member-female.png +0 -0
  84. package/src/lib/qms-ckeditor-components/common/flowchart/assets/member-male.png +0 -0
  85. package/src/lib/qms-ckeditor-components/common/flowchart/assets/no-color-icon.svg +72 -0
  86. package/src/lib/qms-ckeditor-components/common/flowchart/assets/toolbar-icons-material.png +0 -0
  87. package/src/lib/qms-ckeditor-components/common/flowchart/assets/toolbar-icons-modern.png +0 -0
  88. package/src/lib/qms-ckeditor-components/common/flowchart/assets/transparent-icon.svg +50 -0
  89. package/src/lib/qms-ckeditor-components/components/qms-ckeditor-flowchart/qms-ckeditor-flowchart.component.scss +68 -0
@@ -0,0 +1,302 @@
1
+ function getToolbarConfiguration(LANG) {
2
+ return {
3
+ groups: {
4
+ 'fullscreen': { index: 1 },
5
+ 'undo-redo': { index: 2 },
6
+ 'print': { index: 3 },
7
+ 'clear': { index: 4 },
8
+ 'export': { index: 5 },
9
+ 'template': { index: 6 },
10
+ 'order': { index: 7 },
11
+ 'layout': { index: 8 },
12
+ 'zoom': { index: 9 },
13
+ 'grid': { index: 10 },
14
+ 'snapline': { index: 11 }
15
+ },
16
+ tools: [
17
+ {
18
+ type: 'undo',
19
+ name: 'undo',
20
+ group: 'undo-redo',
21
+ attrs: {
22
+ button: {
23
+ 'data-tooltip': `${LANG.FLOWCHART.UNDO}`,
24
+ 'data-tooltip-position': 'top',
25
+ 'data-tooltip-position-selector': '.toolbar-container'
26
+ }
27
+ }
28
+ },
29
+ {
30
+ type: 'redo',
31
+ name: 'redo',
32
+ group: 'undo-redo',
33
+ attrs: {
34
+ button: {
35
+ 'data-tooltip': `${LANG.FLOWCHART.REDO}`,
36
+ 'data-tooltip-position': 'top',
37
+ 'data-tooltip-position-selector': '.toolbar-container'
38
+ }
39
+ }
40
+ },
41
+ {
42
+ type: 'button',
43
+ name: 'clear',
44
+ group: 'clear',
45
+ attrs: {
46
+ button: {
47
+ id: 'btn-clear',
48
+ 'data-tooltip': `${LANG.FLOWCHART.CLEAR_PAPER}`,
49
+ 'data-tooltip-position': 'top',
50
+ 'data-tooltip-position-selector': '.toolbar-container'
51
+ }
52
+ }
53
+ },
54
+ {
55
+ type: 'button',
56
+ name: 'svg',
57
+ group: 'export',
58
+ text: 'Export SVG',
59
+ attrs: {
60
+ button: {
61
+ id: 'btn-svg',
62
+ 'data-tooltip': `${LANG.FLOWCHART.EXPORT_SVG}`,
63
+ 'data-tooltip-position': 'top',
64
+ 'data-tooltip-position-selector': '.toolbar-container'
65
+ }
66
+ }
67
+ },
68
+ {
69
+ type: 'button',
70
+ name: 'png',
71
+ group: 'export',
72
+ text: 'Export PNG',
73
+ attrs: {
74
+ button: {
75
+ id: 'btn-png',
76
+ 'data-tooltip': `${LANG.FLOWCHART.EXPORT_PNG}`,
77
+ 'data-tooltip-position': 'top',
78
+ 'data-tooltip-position-selector': '.toolbar-container'
79
+ }
80
+ }
81
+ },
82
+ {
83
+ type: 'button',
84
+ name: 'print',
85
+ group: 'print',
86
+ attrs: {
87
+ button: {
88
+ id: 'btn-print',
89
+ 'data-tooltip': `${LANG.FLOWCHART.PRINT}`,
90
+ 'data-tooltip-position': 'top',
91
+ 'data-tooltip-position-selector': '.toolbar-container'
92
+ }
93
+ }
94
+ },
95
+ {
96
+ type: 'button',
97
+ name: 'to-front',
98
+ group: 'order',
99
+ text: 'Send To Front',
100
+ attrs: {
101
+ button: {
102
+ id: 'btn-to-front',
103
+ 'data-tooltip': `${LANG.FLOWCHART.SEND_TO_FRONT}`,
104
+ 'data-tooltip-position': 'top',
105
+ 'data-tooltip-position-selector': '.toolbar-container'
106
+ }
107
+ }
108
+ },
109
+ {
110
+ type: 'button',
111
+ name: 'to-back',
112
+ group: 'order',
113
+ text: 'Send To Back',
114
+ attrs: {
115
+ button: {
116
+ id: 'btn-to-back',
117
+ 'data-tooltip': `${LANG.FLOWCHART.SEND_TO_BACK}`,
118
+ 'data-tooltip-position': 'top',
119
+ 'data-tooltip-position-selector': '.toolbar-container'
120
+ }
121
+ }
122
+ },
123
+ {
124
+ type: 'button',
125
+ group: 'layout',
126
+ name: 'layout',
127
+ attrs: {
128
+ button: {
129
+ id: 'btn-layout',
130
+ 'data-tooltip': `${LANG.FLOWCHART.AUTO_LAYOUT_GRAPH}`,
131
+ 'data-tooltip-position': 'top',
132
+ 'data-tooltip-position-selector': '.toolbar-container'
133
+ }
134
+ }
135
+ },
136
+ {
137
+ type: 'zoom-to-fit',
138
+ name: 'zoom-to-fit',
139
+ group: 'zoom',
140
+ attrs: {
141
+ button: {
142
+ 'data-tooltip': `${LANG.FLOWCHART.ZOOM_TO_FIT}`,
143
+ 'data-tooltip-position': 'top',
144
+ 'data-tooltip-position-selector': '.toolbar-container'
145
+ }
146
+ }
147
+ },
148
+ {
149
+ type: 'zoom-out',
150
+ name: 'zoom-out',
151
+ group: 'zoom',
152
+ attrs: {
153
+ button: {
154
+ 'data-tooltip': `${LANG.FLOWCHART.ZOOM_OUT}`,
155
+ 'data-tooltip-position': 'top',
156
+ 'data-tooltip-position-selector': '.toolbar-container'
157
+ }
158
+ }
159
+ },
160
+ {
161
+ type: 'label',
162
+ name: 'zoom-slider-label',
163
+ group: 'zoom',
164
+ text: 'Zoom:'
165
+ },
166
+ {
167
+ type: 'zoom-slider',
168
+ name: 'zoom-slider',
169
+ group: 'zoom'
170
+ },
171
+ {
172
+ type: 'zoom-in',
173
+ name: 'zoom-in',
174
+ group: 'zoom',
175
+ attrs: {
176
+ button: {
177
+ 'data-tooltip': `${LANG.FLOWCHART.ZOOM_IN}`,
178
+ 'data-tooltip-position': 'top',
179
+ 'data-tooltip-position-selector': '.toolbar-container'
180
+ }
181
+ }
182
+ },
183
+ {
184
+ type: 'separator',
185
+ group: 'grid'
186
+ },
187
+ {
188
+ type: 'label',
189
+ name: 'grid-size-label',
190
+ group: 'grid',
191
+ text: 'Grid size:',
192
+ attrs: {
193
+ label: {
194
+ 'data-tooltip': `${LANG.FLOWCHART.CHANGE_GRID_SIZE}`,
195
+ 'data-tooltip-position': 'top',
196
+ 'data-tooltip-position-selector': '.toolbar-container'
197
+ }
198
+ }
199
+ },
200
+ {
201
+ type: 'range',
202
+ name: 'grid-size',
203
+ group: 'grid',
204
+ text: 'Grid size:',
205
+ min: 1,
206
+ max: 50,
207
+ step: 1,
208
+ value: 10
209
+ },
210
+ {
211
+ type: 'separator',
212
+ group: 'snapline'
213
+ },
214
+ {
215
+ type: 'checkbox',
216
+ name: 'snapline',
217
+ group: 'snapline',
218
+ label: 'Snaplines:',
219
+ value: true,
220
+ attrs: {
221
+ input: {
222
+ id: 'snapline-switch'
223
+ },
224
+ label: {
225
+ 'data-tooltip': `${LANG.FLOWCHART.SNAPLINES}`,
226
+ 'data-tooltip-position': 'top',
227
+ 'data-tooltip-position-selector': '.toolbar-container'
228
+ }
229
+ }
230
+ },
231
+ {
232
+ type: 'fullscreen',
233
+ name: 'fullscreen',
234
+ group: 'fullscreen',
235
+ attrs: {
236
+ button: {
237
+ 'data-tooltip': `${LANG.FLOWCHART.FULLSCREEN}`,
238
+ 'data-tooltip-position': 'top',
239
+ 'data-tooltip-position-selector': '.toolbar-container'
240
+ }
241
+ }
242
+ },
243
+ {
244
+ type: 'select-box',
245
+ name: 'selectTemplate',
246
+ group: 'template',
247
+ width: 190,
248
+ options: [
249
+ {
250
+ index: 0,
251
+ content: `${LANG.FLOWCHART.SELECT_TEMPLATE}`,
252
+ flowChartId: '',
253
+ name: '',
254
+ jsonContent: '',
255
+ selected: true
256
+ }
257
+ ]
258
+ },
259
+ {
260
+ type: 'button',
261
+ name: 'deleteTemplate',
262
+ group: 'template',
263
+ attrs: {
264
+ button: {
265
+ 'data-tooltip': `${LANG.FLOWCHART.DELETE_TEMPLATE}`,
266
+ 'data-tooltip-position': 'top',
267
+ 'data-tooltip-position-selector': '.toolbar-container'
268
+ }
269
+ }
270
+ },
271
+ {
272
+ type: 'button',
273
+ name: 'saveAsTemplate',
274
+ group: 'template',
275
+ attrs: {
276
+ button: {
277
+ 'data-tooltip': `${LANG.FLOWCHART.SAVE_AS_TEMPLATE}`,
278
+ 'data-tooltip-position': 'top',
279
+ 'data-tooltip-position-selector': '.toolbar-container'
280
+ }
281
+ }
282
+ },
283
+ {
284
+ type: 'button',
285
+ name: 'resetTemplate',
286
+ group: 'template',
287
+ attrs: {
288
+ button: {
289
+ 'data-tooltip': `${LANG.FLOWCHART.RESET_TO_LAST_SAVE}`,
290
+ 'data-tooltip-position': 'top',
291
+ 'data-tooltip-position-selector': '.toolbar-container'
292
+ }
293
+ }
294
+ }
295
+ ]
296
+ };
297
+ }
298
+ const ToolbarFunction = {
299
+ getToolbarConfiguration
300
+ };
301
+ export default ToolbarFunction;
302
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbGJhci5mdW5jdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Ftcy1hbmd1bGFyL3NyYy9saWIvcW1zLWNrZWRpdG9yLWNvbXBvbmVudHMvY29tbW9uL2Zsb3djaGFydC9jb25maWcvdG9vbGJhci5mdW5jdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxTQUFTLHVCQUF1QixDQUFDLElBQVM7SUFDdEMsT0FBTztRQUNILE1BQU0sRUFBRTtZQUNKLFlBQVksRUFBRSxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUU7WUFDMUIsV0FBVyxFQUFFLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRTtZQUN6QixPQUFPLEVBQUUsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFO1lBQ3JCLE9BQU8sRUFBRSxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUU7WUFDckIsUUFBUSxFQUFFLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRTtZQUN0QixVQUFVLEVBQUUsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFO1lBQ3hCLE9BQU8sRUFBRSxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUU7WUFDckIsUUFBUSxFQUFFLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRTtZQUN0QixNQUFNLEVBQUUsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFO1lBQ3BCLE1BQU0sRUFBRSxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUU7WUFDckIsVUFBVSxFQUFFLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRTtTQUM1QjtRQUNELEtBQUssRUFBRTtZQUNIO2dCQUNJLElBQUksRUFBRSxNQUFNO2dCQUNaLElBQUksRUFBRSxNQUFNO2dCQUNaLEtBQUssRUFBRSxXQUFXO2dCQUNsQixLQUFLLEVBQUU7b0JBQ0gsTUFBTSxFQUFFO3dCQUNKLGNBQWMsRUFBRSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFO3dCQUN4Qyx1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ZCxJQUFJLEVBQUUsZ0JBQWdCO2dCQUN0QixLQUFLLEVBQUUsVUFBVTtnQkFDakIsS0FBSyxFQUFFO29CQUNILE1BQU0sRUFBRTt3QkFDSixjQUFjLEVBQUUsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLGdCQUFnQixFQUFFO3dCQUNwRCx1QkFBdUIsRUFBRSxLQUFLO3dCQUM5QixnQ0FBZ0MsRUFBRSxvQkFBb0I7cUJBQ3pEO2lCQUNKO2FBQ0o7WUFDRDtnQkFDSSxJQUFJLEVBQUUsUUFBUTtnQkFDZCxJQUFJLEVBQUUsZUFBZTtnQkFDckIsS0FBSyxFQUFFLFVBQVU7Z0JBQ2pCLEtBQUssRUFBRTtvQkFDSCxNQUFNLEVBQUU7d0JBQ0osY0FBYyxFQUFFLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxrQkFBa0IsRUFBRTt3QkFDdEQsdUJBQXVCLEVBQUUsS0FBSzt3QkFDOUIsZ0NBQWdDLEVBQUUsb0JBQW9CO3FCQUN6RDtpQkFDSjthQUNKO1NBQ0o7S0FDSixDQUFBO0FBQ0wsQ0FBQztBQUNELE1BQU0sZUFBZSxHQUFHO0lBQ3BCLHVCQUF1QjtDQUMxQixDQUFDO0FBQ0YsZUFBZSxlQUFlLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJmdW5jdGlvbiBnZXRUb29sYmFyQ29uZmlndXJhdGlvbihMQU5HOiBhbnkpIHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgICAgZ3JvdXBzOiB7XHJcbiAgICAgICAgICAgICdmdWxsc2NyZWVuJzogeyBpbmRleDogMSB9LFxyXG4gICAgICAgICAgICAndW5kby1yZWRvJzogeyBpbmRleDogMiB9LFxyXG4gICAgICAgICAgICAncHJpbnQnOiB7IGluZGV4OiAzIH0sXHJcbiAgICAgICAgICAgICdjbGVhcic6IHsgaW5kZXg6IDQgfSxcclxuICAgICAgICAgICAgJ2V4cG9ydCc6IHsgaW5kZXg6IDUgfSxcclxuICAgICAgICAgICAgJ3RlbXBsYXRlJzogeyBpbmRleDogNiB9LFxyXG4gICAgICAgICAgICAnb3JkZXInOiB7IGluZGV4OiA3IH0sXHJcbiAgICAgICAgICAgICdsYXlvdXQnOiB7IGluZGV4OiA4IH0sXHJcbiAgICAgICAgICAgICd6b29tJzogeyBpbmRleDogOSB9LFxyXG4gICAgICAgICAgICAnZ3JpZCc6IHsgaW5kZXg6IDEwIH0sXHJcbiAgICAgICAgICAgICdzbmFwbGluZSc6IHsgaW5kZXg6IDExIH1cclxuICAgICAgICB9LFxyXG4gICAgICAgIHRvb2xzOiBbXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIHR5cGU6ICd1bmRvJyxcclxuICAgICAgICAgICAgICAgIG5hbWU6ICd1bmRvJyxcclxuICAgICAgICAgICAgICAgIGdyb3VwOiAndW5kby1yZWRvJyxcclxuICAgICAgICAgICAgICAgIGF0dHJzOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgYnV0dG9uOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICdkYXRhLXRvb2x0aXAnOiBgJHtMQU5HLkZMT1dDSEFSVC5VTkRPfWAsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICdkYXRhLXRvb2x0aXAtcG9zaXRpb24nOiAndG9wJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgJ2RhdGEtdG9vbHRpcC1wb3NpdGlvbi1zZWxlY3Rvcic6ICcudG9vbGJhci1jb250YWluZXInXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICB0eXBlOiAncmVkbycsXHJcbiAgICAgICAgICAgICAgICBuYW1lOiAncmVkbycsXHJcbiAgICAgICAgICAgICAgICBncm91cDogJ3VuZG8tcmVkbycsXHJcbiAgICAgICAgICAgICAgICBhdHRyczoge1xyXG4gICAgICAgICAgICAgICAgICAgIGJ1dHRvbjoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAnZGF0YS10b29sdGlwJzogYCR7TEFORy5GTE9XQ0hBUlQuUkVET31gLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAnZGF0YS10b29sdGlwLXBvc2l0aW9uJzogJ3RvcCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICdkYXRhLXRvb2x0aXAtcG9zaXRpb24tc2VsZWN0b3InOiAnLnRvb2xiYXItY29udGFpbmVyJ1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgdHlwZTogJ2J1dHRvbicsXHJcbiAgICAgICAgICAgICAgICBuYW1lOiAnY2xlYXInLFxyXG4gICAgICAgICAgICAgICAgZ3JvdXA6ICdjbGVhcicsXHJcbiAgICAgICAgICAgICAgICBhdHRyczoge1xyXG4gICAgICAgICAgICAgICAgICAgIGJ1dHRvbjoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZDogJ2J0bi1jbGVhcicsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICdkYXRhLXRvb2x0aXAnOiBgJHtMQU5HLkZMT1dDSEFSVC5DTEVBUl9QQVBFUn1gLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAnZGF0YS10b29sdGlwLXBvc2l0aW9uJzogJ3RvcCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICdkYXRhLXRvb2x0aXAtcG9zaXRpb24tc2VsZWN0b3InOiAnLnRvb2xiYXItY29udGFpbmVyJ1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgdHlwZTogJ2J1dHRvbicsXHJcbiAgICAgICAgICAgICAgICBuYW1lOiAnc3ZnJyxcclxuICAgICAgICAgICAgICAgIGdyb3VwOiAnZXhwb3J0JyxcclxuICAgICAgICAgICAgICAgIHRleHQ6ICdFeHBvcnQgU1ZHJyxcclxuICAgICAgICAgICAgICAgIGF0dHJzOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgYnV0dG9uOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlkOiAnYnRuLXN2ZycsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICdkYXRhLXRvb2x0aXAnOiBgJHtMQU5HLkZMT1dDSEFSVC5FWFBPUlRfU1ZHfWAsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICdkYXRhLXRvb2x0aXAtcG9zaXRpb24nOiAndG9wJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgJ2RhdGEtdG9vbHRpcC1wb3NpdGlvbi1zZWxlY3Rvcic6ICcudG9vbGJhci1jb250YWluZXInXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICB0eXBlOiAnYnV0dG9uJyxcclxuICAgICAgICAgICAgICAgIG5hbWU6ICdwbmcnLFxyXG4gICAgICAgICAgICAgICAgZ3JvdXA6ICdleHBvcnQnLFxyXG4gICAgICAgICAgICAgICAgdGV4dDogJ0V4cG9ydCBQTkcnLFxyXG4gICAgICAgICAgICAgICAgYXR0cnM6IHtcclxuICAgICAgICAgICAgICAgICAgICBidXR0b246IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWQ6ICdidG4tcG5nJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgJ2RhdGEtdG9vbHRpcCc6IGAke0xBTkcuRkxPV0NIQVJULkVYUE9SVF9QTkd9YCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgJ2RhdGEtdG9vbHRpcC1wb3NpdGlvbic6ICd0b3AnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAnZGF0YS10b29sdGlwLXBvc2l0aW9uLXNlbGVjdG9yJzogJy50b29sYmFyLWNvbnRhaW5lcidcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIHR5cGU6ICdidXR0b24nLFxyXG4gICAgICAgICAgICAgICAgbmFtZTogJ3ByaW50JyxcclxuICAgICAgICAgICAgICAgIGdyb3VwOiAncHJpbnQnLFxyXG4gICAgICAgICAgICAgICAgYXR0cnM6IHtcclxuICAgICAgICAgICAgICAgICAgICBidXR0b246IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWQ6ICdidG4tcHJpbnQnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAnZGF0YS10b29sdGlwJzogYCR7TEFORy5GTE9XQ0hBUlQuUFJJTlR9YCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgJ2RhdGEtdG9vbHRpcC1wb3NpdGlvbic6ICd0b3AnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAnZGF0YS10b29sdGlwLXBvc2l0aW9uLXNlbGVjdG9yJzogJy50b29sYmFyLWNvbnRhaW5lcidcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIHR5cGU6ICdidXR0b24nLFxyXG4gICAgICAgICAgICAgICAgbmFtZTogJ3RvLWZyb250JyxcclxuICAgICAgICAgICAgICAgIGdyb3VwOiAnb3JkZXInLFxyXG4gICAgICAgICAgICAgICAgdGV4dDogJ1NlbmQgVG8gRnJvbnQnLFxyXG4gICAgICAgICAgICAgICAgYXR0cnM6IHtcclxuICAgICAgICAgICAgICAgICAgICBidXR0b246IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWQ6ICdidG4tdG8tZnJvbnQnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAnZGF0YS10b29sdGlwJzogYCR7TEFORy5GTE9XQ0hBUlQuU0VORF9UT19GUk9OVH1gLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAnZGF0YS10b29sdGlwLXBvc2l0aW9uJzogJ3RvcCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICdkYXRhLXRvb2x0aXAtcG9zaXRpb24tc2VsZWN0b3InOiAnLnRvb2xiYXItY29udGFpbmVyJ1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgdHlwZTogJ2J1dHRvbicsXHJcbiAgICAgICAgICAgICAgICBuYW1lOiAndG8tYmFjaycsXHJcbiAgICAgICAgICAgICAgICBncm91cDogJ29yZGVyJyxcclxuICAgICAgICAgICAgICAgIHRleHQ6ICdTZW5kIFRvIEJhY2snLFxyXG4gICAgICAgICAgICAgICAgYXR0cnM6IHtcclxuICAgICAgICAgICAgICAgICAgICBidXR0b246IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWQ6ICdidG4tdG8tYmFjaycsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICdkYXRhLXRvb2x0aXAnOiBgJHtMQU5HLkZMT1dDSEFSVC5TRU5EX1RPX0JBQ0t9YCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgJ2RhdGEtdG9vbHRpcC1wb3NpdGlvbic6ICd0b3AnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAnZGF0YS10b29sdGlwLXBvc2l0aW9uLXNlbGVjdG9yJzogJy50b29sYmFyLWNvbnRhaW5lcidcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIHR5cGU6ICdidXR0b24nLFxyXG4gICAgICAgICAgICAgICAgZ3JvdXA6ICdsYXlvdXQnLFxyXG4gICAgICAgICAgICAgICAgbmFtZTogJ2xheW91dCcsXHJcbiAgICAgICAgICAgICAgICBhdHRyczoge1xyXG4gICAgICAgICAgICAgICAgICAgIGJ1dHRvbjoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZDogJ2J0bi1sYXlvdXQnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAnZGF0YS10b29sdGlwJzogYCR7TEFORy5GTE9XQ0hBUlQuQVVUT19MQVlPVVRfR1JBUEh9YCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgJ2RhdGEtdG9vbHRpcC1wb3NpdGlvbic6ICd0b3AnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAnZGF0YS10b29sdGlwLXBvc2l0aW9uLXNlbGVjdG9yJzogJy50b29sYmFyLWNvbnRhaW5lcidcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIHR5cGU6ICd6b29tLXRvLWZpdCcsXHJcbiAgICAgICAgICAgICAgICBuYW1lOiAnem9vbS10by1maXQnLFxyXG4gICAgICAgICAgICAgICAgZ3JvdXA6ICd6b29tJyxcclxuICAgICAgICAgICAgICAgIGF0dHJzOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgYnV0dG9uOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICdkYXRhLXRvb2x0aXAnOiBgJHtMQU5HLkZMT1dDSEFSVC5aT09NX1RPX0ZJVH1gLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAnZGF0YS10b29sdGlwLXBvc2l0aW9uJzogJ3RvcCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICdkYXRhLXRvb2x0aXAtcG9zaXRpb24tc2VsZWN0b3InOiAnLnRvb2xiYXItY29udGFpbmVyJ1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgdHlwZTogJ3pvb20tb3V0JyxcclxuICAgICAgICAgICAgICAgIG5hbWU6ICd6b29tLW91dCcsXHJcbiAgICAgICAgICAgICAgICBncm91cDogJ3pvb20nLFxyXG4gICAgICAgICAgICAgICAgYXR0cnM6IHtcclxuICAgICAgICAgICAgICAgICAgICBidXR0b246IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgJ2RhdGEtdG9vbHRpcCc6IGAke0xBTkcuRkxPV0NIQVJULlpPT01fT1VUfWAsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICdkYXRhLXRvb2x0aXAtcG9zaXRpb24nOiAndG9wJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgJ2RhdGEtdG9vbHRpcC1wb3NpdGlvbi1zZWxlY3Rvcic6ICcudG9vbGJhci1jb250YWluZXInXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICB0eXBlOiAnbGFiZWwnLFxyXG4gICAgICAgICAgICAgICAgbmFtZTogJ3pvb20tc2xpZGVyLWxhYmVsJyxcclxuICAgICAgICAgICAgICAgIGdyb3VwOiAnem9vbScsXHJcbiAgICAgICAgICAgICAgICB0ZXh0OiAnWm9vbTonXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIHR5cGU6ICd6b29tLXNsaWRlcicsXHJcbiAgICAgICAgICAgICAgICBuYW1lOiAnem9vbS1zbGlkZXInLFxyXG4gICAgICAgICAgICAgICAgZ3JvdXA6ICd6b29tJ1xyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICB0eXBlOiAnem9vbS1pbicsXHJcbiAgICAgICAgICAgICAgICBuYW1lOiAnem9vbS1pbicsXHJcbiAgICAgICAgICAgICAgICBncm91cDogJ3pvb20nLFxyXG4gICAgICAgICAgICAgICAgYXR0cnM6IHtcclxuICAgICAgICAgICAgICAgICAgICBidXR0b246IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgJ2RhdGEtdG9vbHRpcCc6IGAke0xBTkcuRkxPV0NIQVJULlpPT01fSU59YCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgJ2RhdGEtdG9vbHRpcC1wb3NpdGlvbic6ICd0b3AnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAnZGF0YS10b29sdGlwLXBvc2l0aW9uLXNlbGVjdG9yJzogJy50b29sYmFyLWNvbnRhaW5lcidcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIHR5cGU6ICdzZXBhcmF0b3InLFxyXG4gICAgICAgICAgICAgICAgZ3JvdXA6ICdncmlkJ1xyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICB0eXBlOiAnbGFiZWwnLFxyXG4gICAgICAgICAgICAgICAgbmFtZTogJ2dyaWQtc2l6ZS1sYWJlbCcsXHJcbiAgICAgICAgICAgICAgICBncm91cDogJ2dyaWQnLFxyXG4gICAgICAgICAgICAgICAgdGV4dDogJ0dyaWQgc2l6ZTonLFxyXG4gICAgICAgICAgICAgICAgYXR0cnM6IHtcclxuICAgICAgICAgICAgICAgICAgICBsYWJlbDoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAnZGF0YS10b29sdGlwJzogYCR7TEFORy5GTE9XQ0hBUlQuQ0hBTkdFX0dSSURfU0laRX1gLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAnZGF0YS10b29sdGlwLXBvc2l0aW9uJzogJ3RvcCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICdkYXRhLXRvb2x0aXAtcG9zaXRpb24tc2VsZWN0b3InOiAnLnRvb2xiYXItY29udGFpbmVyJ1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgdHlwZTogJ3JhbmdlJyxcclxuICAgICAgICAgICAgICAgIG5hbWU6ICdncmlkLXNpemUnLFxyXG4gICAgICAgICAgICAgICAgZ3JvdXA6ICdncmlkJyxcclxuICAgICAgICAgICAgICAgIHRleHQ6ICdHcmlkIHNpemU6JyxcclxuICAgICAgICAgICAgICAgIG1pbjogMSxcclxuICAgICAgICAgICAgICAgIG1heDogNTAsXHJcbiAgICAgICAgICAgICAgICBzdGVwOiAxLFxyXG4gICAgICAgICAgICAgICAgdmFsdWU6IDEwXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIHR5cGU6ICdzZXBhcmF0b3InLFxyXG4gICAgICAgICAgICAgICAgZ3JvdXA6ICdzbmFwbGluZSdcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgdHlwZTogJ2NoZWNrYm94JyxcclxuICAgICAgICAgICAgICAgIG5hbWU6ICdzbmFwbGluZScsXHJcbiAgICAgICAgICAgICAgICBncm91cDogJ3NuYXBsaW5lJyxcclxuICAgICAgICAgICAgICAgIGxhYmVsOiAnU25hcGxpbmVzOicsXHJcbiAgICAgICAgICAgICAgICB2YWx1ZTogdHJ1ZSxcclxuICAgICAgICAgICAgICAgIGF0dHJzOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgaW5wdXQ6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWQ6ICdzbmFwbGluZS1zd2l0Y2gnXHJcbiAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICBsYWJlbDoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAnZGF0YS10b29sdGlwJzogYCR7TEFORy5GTE9XQ0hBUlQuU05BUExJTkVTfWAsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICdkYXRhLXRvb2x0aXAtcG9zaXRpb24nOiAndG9wJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgJ2RhdGEtdG9vbHRpcC1wb3NpdGlvbi1zZWxlY3Rvcic6ICcudG9vbGJhci1jb250YWluZXInXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICB0eXBlOiAnZnVsbHNjcmVlbicsXHJcbiAgICAgICAgICAgICAgICBuYW1lOiAnZnVsbHNjcmVlbicsXHJcbiAgICAgICAgICAgICAgICBncm91cDogJ2Z1bGxzY3JlZW4nLFxyXG4gICAgICAgICAgICAgICAgYXR0cnM6IHtcclxuICAgICAgICAgICAgICAgICAgICBidXR0b246IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgJ2RhdGEtdG9vbHRpcCc6IGAke0xBTkcuRkxPV0NIQVJULkZVTExTQ1JFRU59YCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgJ2RhdGEtdG9vbHRpcC1wb3NpdGlvbic6ICd0b3AnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAnZGF0YS10b29sdGlwLXBvc2l0aW9uLXNlbGVjdG9yJzogJy50b29sYmFyLWNvbnRhaW5lcidcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIHR5cGU6ICdzZWxlY3QtYm94JyxcclxuICAgICAgICAgICAgICAgIG5hbWU6ICdzZWxlY3RUZW1wbGF0ZScsXHJcbiAgICAgICAgICAgICAgICBncm91cDogJ3RlbXBsYXRlJyxcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxOTAsXHJcbiAgICAgICAgICAgICAgICBvcHRpb25zOiBbXHJcbiAgICAgICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpbmRleDogMCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogYCR7TEFORy5GTE9XQ0hBUlQuU0VMRUNUX1RFTVBMQVRFfWAsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZsb3dDaGFydElkOiAnJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogJycsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGpzb25Db250ZW50OiAnJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWQ6IHRydWVcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBdXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIHR5cGU6ICdidXR0b24nLFxyXG4gICAgICAgICAgICAgICAgbmFtZTogJ2RlbGV0ZVRlbXBsYXRlJyxcclxuICAgICAgICAgICAgICAgIGdyb3VwOiAndGVtcGxhdGUnLFxyXG4gICAgICAgICAgICAgICAgYXR0cnM6IHtcclxuICAgICAgICAgICAgICAgICAgICBidXR0b246IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgJ2RhdGEtdG9vbHRpcCc6IGAke0xBTkcuRkxPV0NIQVJULkRFTEVURV9URU1QTEFURX1gLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAnZGF0YS10b29sdGlwLXBvc2l0aW9uJzogJ3RvcCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICdkYXRhLXRvb2x0aXAtcG9zaXRpb24tc2VsZWN0b3InOiAnLnRvb2xiYXItY29udGFpbmVyJ1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgdHlwZTogJ2J1dHRvbicsXHJcbiAgICAgICAgICAgICAgICBuYW1lOiAnc2F2ZUFzVGVtcGxhdGUnLFxyXG4gICAgICAgICAgICAgICAgZ3JvdXA6ICd0ZW1wbGF0ZScsXHJcbiAgICAgICAgICAgICAgICBhdHRyczoge1xyXG4gICAgICAgICAgICAgICAgICAgIGJ1dHRvbjoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAnZGF0YS10b29sdGlwJzogYCR7TEFORy5GTE9XQ0hBUlQuU0FWRV9BU19URU1QTEFURX1gLCAvLydTYXZlIGFzIHRlbXBsYXRlJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgJ2RhdGEtdG9vbHRpcC1wb3NpdGlvbic6ICd0b3AnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAnZGF0YS10b29sdGlwLXBvc2l0aW9uLXNlbGVjdG9yJzogJy50b29sYmFyLWNvbnRhaW5lcidcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIHR5cGU6ICdidXR0b24nLFxyXG4gICAgICAgICAgICAgICAgbmFtZTogJ3Jlc2V0VGVtcGxhdGUnLFxyXG4gICAgICAgICAgICAgICAgZ3JvdXA6ICd0ZW1wbGF0ZScsXHJcbiAgICAgICAgICAgICAgICBhdHRyczoge1xyXG4gICAgICAgICAgICAgICAgICAgIGJ1dHRvbjoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAnZGF0YS10b29sdGlwJzogYCR7TEFORy5GTE9XQ0hBUlQuUkVTRVRfVE9fTEFTVF9TQVZFfWAsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICdkYXRhLXRvb2x0aXAtcG9zaXRpb24nOiAndG9wJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgJ2RhdGEtdG9vbHRpcC1wb3NpdGlvbi1zZWxlY3Rvcic6ICcudG9vbGJhci1jb250YWluZXInXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgXVxyXG4gICAgfVxyXG59XHJcbmNvbnN0IFRvb2xiYXJGdW5jdGlvbiA9IHtcclxuICAgIGdldFRvb2xiYXJDb25maWd1cmF0aW9uXHJcbn07XHJcbmV4cG9ydCBkZWZhdWx0IFRvb2xiYXJGdW5jdGlvbjsiXX0=