ato-water-lib 0.0.7 → 0.0.10

Sign up to get free protection for your applications and to get access to all the features.
Files changed (31) hide show
  1. package/esm2020/lib/ato-water-lib.module.mjs +16 -8
  2. package/esm2020/lib/components/asset-flow/asset-flow.component.mjs +56 -0
  3. package/esm2020/lib/components/flow-diagram-lib/flow-diagram-lib.component.mjs +71 -0
  4. package/esm2020/lib/constants/applicable-prefixes-const.mjs +441 -0
  5. package/esm2020/lib/constants/components-group-const.mjs +1289 -0
  6. package/esm2020/lib/constants/key.const.mjs +4 -0
  7. package/esm2020/lib/constants/plant.constant.mjs +51 -0
  8. package/esm2020/lib/constants/value.const.mjs +782 -0
  9. package/esm2020/lib/models/default-gojs-editor.model.mjs +3184 -0
  10. package/esm2020/lib/models/gojs-editor.model.mjs +1750 -0
  11. package/esm2020/lib/services/utils/utils.service.mjs +133 -0
  12. package/esm2020/public-api.mjs +3 -2
  13. package/fesm2015/ato-water-lib.mjs +7645 -14
  14. package/fesm2015/ato-water-lib.mjs.map +1 -1
  15. package/fesm2020/ato-water-lib.mjs +7747 -14
  16. package/fesm2020/ato-water-lib.mjs.map +1 -1
  17. package/lib/ato-water-lib.module.d.ts +4 -2
  18. package/lib/components/asset-flow/asset-flow.component.d.ts +21 -0
  19. package/lib/components/flow-diagram-lib/flow-diagram-lib.component.d.ts +17 -0
  20. package/lib/constants/applicable-prefixes-const.d.ts +162 -0
  21. package/lib/constants/components-group-const.d.ts +1132 -0
  22. package/lib/constants/key.const.d.ts +1 -0
  23. package/lib/constants/plant.constant.d.ts +7 -0
  24. package/lib/constants/value.const.d.ts +71 -0
  25. package/lib/models/default-gojs-editor.model.d.ts +184 -0
  26. package/lib/models/gojs-editor.model.d.ts +435 -0
  27. package/lib/services/utils/utils.service.d.ts +24 -0
  28. package/package.json +1 -1
  29. package/public-api.d.ts +2 -1
  30. package/esm2020/lib/test-button/test-button.component.mjs +0 -11
  31. package/lib/test-button/test-button.component.d.ts +0 -5
@@ -0,0 +1,782 @@
1
+ // import { AnalyticsService } from '@dashboards-shared/services/analytics.service';
2
+ // import { E_Frequency } from './frequency.enum';
3
+ // import { ENUM_RISK_COLOR } from './information.const';
4
+ // import { ABBREVIATION } from './applicable-prefixes-const';
5
+ // export const DEFAULT_NAMES_MAPPING: any = {
6
+ // CMS: 'CMS',
7
+ // ETP: 'ETP',
8
+ // ZLD: 'ZLD',
9
+ // RO: 'RO',
10
+ // CMSLabWashing: 'CMS Lab Washing',
11
+ // };
12
+ export const VALUE_NA = 'NA';
13
+ export const NO_DATA = 'No Data';
14
+ export const VALUE_NA_SPECIAL = 'N/A';
15
+ export const TEXT_UNKNOWN = '?';
16
+ export const TEXT_ERR = '!Err';
17
+ export const NO_ENOUGH_DATA = 'Not enough data';
18
+ // For Element DOM
19
+ export const KEY_CREATE_DOM_TO_DOWNLOAD = 'newCreateToDownload';
20
+ export const NO_HIDDEN = 'noHidden';
21
+ export const GROUP_PLANT_CELL_KEY = 3000;
22
+ export const GROUP_PC_INPUTS_KEY = 1000;
23
+ export const GROUP_PC_OUTPUTS_KEY = 2000;
24
+ export const ENUM_ROLES = 'ROLES';
25
+ export var E_FILTER_KEY;
26
+ (function (E_FILTER_KEY) {
27
+ E_FILTER_KEY["VIEW_MODE"] = "viewMode";
28
+ E_FILTER_KEY["WATER_UNIT"] = "waterUnit";
29
+ E_FILTER_KEY["ENERGY_UNIT"] = "energyUnit";
30
+ E_FILTER_KEY["ELECTRICITY_UNIT"] = "electricityUnit";
31
+ E_FILTER_KEY["NATURAL_GAS_UNIT"] = "naturalGasUnit";
32
+ E_FILTER_KEY["FUEL_UNIT"] = "fuelUnit";
33
+ E_FILTER_KEY["CURRENCY_UNIT"] = "currencyUnit";
34
+ })(E_FILTER_KEY || (E_FILTER_KEY = {}));
35
+ export var ATO_ECOMPONENT_PLANT_TYPE;
36
+ (function (ATO_ECOMPONENT_PLANT_TYPE) {
37
+ ATO_ECOMPONENT_PLANT_TYPE["WATER"] = "water";
38
+ ATO_ECOMPONENT_PLANT_TYPE["ENERGY"] = "energy";
39
+ ATO_ECOMPONENT_PLANT_TYPE["ELECTRICITY"] = "electricity";
40
+ ATO_ECOMPONENT_PLANT_TYPE["NATURAL_GAS"] = "gas";
41
+ ATO_ECOMPONENT_PLANT_TYPE["FUEL"] = "fuel";
42
+ ATO_ECOMPONENT_PLANT_TYPE["STEAM"] = "steam";
43
+ ATO_ECOMPONENT_PLANT_TYPE["EMISSION"] = "emission";
44
+ ATO_ECOMPONENT_PLANT_TYPE["COST"] = "cost";
45
+ ATO_ECOMPONENT_PLANT_TYPE["WATER_PLANT_CELL"] = "water-plant-cell";
46
+ ATO_ECOMPONENT_PLANT_TYPE["ENERGY_PLANT_CELL"] = "energy-plant-cell";
47
+ ATO_ECOMPONENT_PLANT_TYPE["ELECTRICITY_PLANT_CELL"] = "electricity-plant-cell";
48
+ ATO_ECOMPONENT_PLANT_TYPE["NATURAL_GAS_PLANT_CELL"] = "gas-plant-cell";
49
+ ATO_ECOMPONENT_PLANT_TYPE["FUEL_PLANT_CELL"] = "fuel-plant-cell";
50
+ ATO_ECOMPONENT_PLANT_TYPE["STEAM_PLANT_CELL"] = "steam-plant-cell";
51
+ ATO_ECOMPONENT_PLANT_TYPE["EMISSION_PLANT_CELL"] = "emission-plant-cell";
52
+ ATO_ECOMPONENT_PLANT_TYPE["COST_PLANT_CELL"] = "cost-plant-cell";
53
+ })(ATO_ECOMPONENT_PLANT_TYPE || (ATO_ECOMPONENT_PLANT_TYPE = {}));
54
+ export const COMPOTYPE_CALL_PLANT_TOPOLOGY_DETAILS = [
55
+ ATO_ECOMPONENT_PLANT_TYPE.WATER,
56
+ ATO_ECOMPONENT_PLANT_TYPE.WATER_PLANT_CELL,
57
+ ATO_ECOMPONENT_PLANT_TYPE.ENERGY_PLANT_CELL,
58
+ ATO_ECOMPONENT_PLANT_TYPE.ELECTRICITY_PLANT_CELL,
59
+ ATO_ECOMPONENT_PLANT_TYPE.NATURAL_GAS_PLANT_CELL,
60
+ ATO_ECOMPONENT_PLANT_TYPE.FUEL_PLANT_CELL,
61
+ ATO_ECOMPONENT_PLANT_TYPE.STEAM_PLANT_CELL,
62
+ ATO_ECOMPONENT_PLANT_TYPE.EMISSION_PLANT_CELL,
63
+ ATO_ECOMPONENT_PLANT_TYPE.COST_PLANT_CELL,
64
+ ];
65
+ export const COMPONENT_TYPE_OF_PLANT_CELL = [
66
+ ATO_ECOMPONENT_PLANT_TYPE.WATER_PLANT_CELL,
67
+ ATO_ECOMPONENT_PLANT_TYPE.ENERGY_PLANT_CELL,
68
+ ATO_ECOMPONENT_PLANT_TYPE.ELECTRICITY_PLANT_CELL,
69
+ ATO_ECOMPONENT_PLANT_TYPE.NATURAL_GAS_PLANT_CELL,
70
+ ATO_ECOMPONENT_PLANT_TYPE.FUEL_PLANT_CELL,
71
+ ATO_ECOMPONENT_PLANT_TYPE.STEAM_PLANT_CELL,
72
+ ATO_ECOMPONENT_PLANT_TYPE.EMISSION_PLANT_CELL,
73
+ ATO_ECOMPONENT_PLANT_TYPE.COST_PLANT_CELL,
74
+ ];
75
+ export const COMPONENT_TYPE_OF_PLANT_CELL_ENERGY = [
76
+ ATO_ECOMPONENT_PLANT_TYPE.ENERGY_PLANT_CELL,
77
+ ATO_ECOMPONENT_PLANT_TYPE.ELECTRICITY_PLANT_CELL,
78
+ ATO_ECOMPONENT_PLANT_TYPE.NATURAL_GAS_PLANT_CELL,
79
+ ATO_ECOMPONENT_PLANT_TYPE.FUEL_PLANT_CELL,
80
+ ATO_ECOMPONENT_PLANT_TYPE.STEAM_PLANT_CELL,
81
+ ATO_ECOMPONENT_PLANT_TYPE.EMISSION_PLANT_CELL,
82
+ ATO_ECOMPONENT_PLANT_TYPE.COST_PLANT_CELL,
83
+ ];
84
+ // export enum E_TOPOLOGY_TYPE {
85
+ // OVER_VIEW = 'over-view',
86
+ // PLANT_CELL = 'plant-cell',
87
+ // }
88
+ export var E_COMPONENT_DATA_TYPE;
89
+ (function (E_COMPONENT_DATA_TYPE) {
90
+ E_COMPONENT_DATA_TYPE["COMPONENT_WATER_FLOW"] = "ComponentWaterFlow";
91
+ E_COMPONENT_DATA_TYPE["COMPONENT_ENERGY_FLOW"] = "ComponentEnergyFlow";
92
+ })(E_COMPONENT_DATA_TYPE || (E_COMPONENT_DATA_TYPE = {}));
93
+ export var E_FLOW_RECORD;
94
+ (function (E_FLOW_RECORD) {
95
+ E_FLOW_RECORD["INFLOW_WATER_RECORD"] = "InflowWaterRecord";
96
+ E_FLOW_RECORD["OUTFLOW_WATER_RECORD"] = "OutflowWaterRecord";
97
+ E_FLOW_RECORD["INFLOW_ENERGY_RECORD"] = "InflowEnergyRecord";
98
+ E_FLOW_RECORD["OUTFLOW_ENERGY_RECORD"] = "OutflowEnergyRecord";
99
+ })(E_FLOW_RECORD || (E_FLOW_RECORD = {}));
100
+ // export enum TAB_DASHBOARD {
101
+ // WATER = 'water',
102
+ // WATER_LABEL = 'Water',
103
+ // ENERGY_EMISSION = 'energy & emissions',
104
+ // ENERGY_EMISSION_LABEL = 'Energy & Emissions',
105
+ // }
106
+ // export enum TAB_SETUP_COMPLIANCE {
107
+ // PLANT_LEVEL = 'Plant level',
108
+ // PROCESS_LEVEL = 'Process Level',
109
+ // }
110
+ // export enum PLANT_ENERGY_DIAGRAM_TABS_INDEX {
111
+ // ENERGY = 0,
112
+ // ELECTRICITY = 1,
113
+ // NATURAL_GAS = 2,
114
+ // FUEL = 3,
115
+ // EMISSIONS = 4
116
+ // }
117
+ export var TAG_TYPE;
118
+ (function (TAG_TYPE) {
119
+ TAG_TYPE["WATER"] = "Water";
120
+ TAG_TYPE["ELECTRICITY"] = "Electricity";
121
+ TAG_TYPE["NATURAL_GAS"] = "Natural Gas";
122
+ TAG_TYPE["FUEL"] = "Fuel";
123
+ TAG_TYPE["STEAM"] = "Steam";
124
+ TAG_TYPE["ENERGY"] = "Energy";
125
+ TAG_TYPE["EMISSION"] = "Emission";
126
+ TAG_TYPE["COST"] = "Cost";
127
+ TAG_TYPE["WATER_ANALYTIC"] = "Water Analytic";
128
+ })(TAG_TYPE || (TAG_TYPE = {}));
129
+ // export enum TAB_WS_ENERGY_EMISSION {
130
+ // TABLE = 'table',
131
+ // DIAGRAM = 'diagram',
132
+ // }
133
+ export const PLANT_ENERGY_DIAGRAM_TABS = {
134
+ [ATO_ECOMPONENT_PLANT_TYPE.WATER]: {
135
+ keyUnitFromList: 'Water',
136
+ keyUnit: 'waterUnit',
137
+ keyFlowTopology: 'Water',
138
+ keyTab: 'Water',
139
+ indexTab: -1,
140
+ keyComponent: 'waterComponents',
141
+ keyRoute: 'Water',
142
+ subSystemId: 'subWaterSystemId',
143
+ nameTab: 'Water',
144
+ loc: 'locWater',
145
+ keyToUpdateModel: 'waterData',
146
+ topologyType: 'PlantTopology',
147
+ type: 'water',
148
+ componentFlow: E_COMPONENT_DATA_TYPE.COMPONENT_WATER_FLOW,
149
+ topologyViewType: ATO_ECOMPONENT_PLANT_TYPE.WATER,
150
+ iconClassName: 'fa-regular fa-tank-water font-size-16px',
151
+ tagType: TAG_TYPE.WATER,
152
+ inflowRecord: E_FLOW_RECORD.INFLOW_WATER_RECORD,
153
+ outflowRecord: E_FLOW_RECORD.OUTFLOW_WATER_RECORD,
154
+ keyGroupMenu: 'Water',
155
+ },
156
+ [ATO_ECOMPONENT_PLANT_TYPE.ENERGY]: {
157
+ keyUnitFromList: 'Energy',
158
+ keyUnit: 'energyUnit',
159
+ keyFlowTopology: 'Energy',
160
+ keyTab: 'Energy',
161
+ indexTab: 4,
162
+ keyComponent: '',
163
+ keyRoute: 'energy',
164
+ nameTab: 'Energy',
165
+ loc: 'locEnergy',
166
+ keyToUpdateModel: '',
167
+ type: 'water',
168
+ componentFlow: E_COMPONENT_DATA_TYPE.COMPONENT_ENERGY_FLOW,
169
+ topologyViewType: ATO_ECOMPONENT_PLANT_TYPE.ENERGY,
170
+ tagType: TAG_TYPE.ENERGY,
171
+ inflowRecord: E_FLOW_RECORD.INFLOW_ENERGY_RECORD,
172
+ outflowRecord: E_FLOW_RECORD.OUTFLOW_ENERGY_RECORD,
173
+ },
174
+ [ATO_ECOMPONENT_PLANT_TYPE.ELECTRICITY]: {
175
+ keyUnitFromList: 'Electricity',
176
+ keyUnit: 'electricityUnit',
177
+ keyFlowTopology: 'Electricity',
178
+ keyTab: 'Electricals',
179
+ indexTab: 0,
180
+ keyComponent: 'electricComponents',
181
+ keyRoute: 'electricity',
182
+ subSystemId: 'subElectricSystemId',
183
+ nameTab: 'Electricity',
184
+ loc: 'locElectricity',
185
+ keyToUpdateModel: 'electricData',
186
+ topologyType: 'Electricity',
187
+ type: 'electricity',
188
+ componentFlow: E_COMPONENT_DATA_TYPE.COMPONENT_ENERGY_FLOW,
189
+ topologyViewType: ATO_ECOMPONENT_PLANT_TYPE.ELECTRICITY,
190
+ iconClassName: 'fa-regular fa-bolt font-size-16px',
191
+ tagType: TAG_TYPE.ELECTRICITY,
192
+ inflowRecord: E_FLOW_RECORD.INFLOW_ENERGY_RECORD,
193
+ outflowRecord: E_FLOW_RECORD.OUTFLOW_ENERGY_RECORD,
194
+ keyGroupMenu: 'Electricity',
195
+ },
196
+ [ATO_ECOMPONENT_PLANT_TYPE.NATURAL_GAS]: {
197
+ keyUnitFromList: 'Gas',
198
+ keyUnit: 'naturalGasUnit',
199
+ keyFlowTopology: 'NaturalGas',
200
+ keyTab: 'NaturalGases',
201
+ indexTab: 1,
202
+ keyComponent: 'gasComponents',
203
+ keyRoute: 'gas',
204
+ subSystemId: 'subGasSystemId',
205
+ nameTab: 'Natural Gas',
206
+ loc: 'locGas',
207
+ keyToUpdateModel: 'gasData',
208
+ topologyType: 'NaturalGas',
209
+ type: 'naturalgas',
210
+ componentFlow: E_COMPONENT_DATA_TYPE.COMPONENT_ENERGY_FLOW,
211
+ topologyViewType: ATO_ECOMPONENT_PLANT_TYPE.NATURAL_GAS,
212
+ iconClassName: 'fa-regular fa-fire-flame-curved font-size-16px',
213
+ tagType: TAG_TYPE.NATURAL_GAS,
214
+ inflowRecord: E_FLOW_RECORD.INFLOW_ENERGY_RECORD,
215
+ outflowRecord: E_FLOW_RECORD.OUTFLOW_ENERGY_RECORD,
216
+ keyGroupMenu: 'NaturalGases',
217
+ },
218
+ [ATO_ECOMPONENT_PLANT_TYPE.FUEL]: {
219
+ keyUnitFromList: 'Fuel',
220
+ keyUnit: 'fuelUnit',
221
+ keyFlowTopology: 'Fuel',
222
+ keyTab: 'Fuels',
223
+ indexTab: 2,
224
+ keyComponent: 'fuelComponents',
225
+ keyRoute: 'fuel',
226
+ subSystemId: 'subFuelSystemId',
227
+ nameTab: 'Fuel',
228
+ loc: 'locFuel',
229
+ keyToUpdateModel: 'fuelData',
230
+ topologyType: 'Fuel',
231
+ type: 'fuel',
232
+ componentFlow: E_COMPONENT_DATA_TYPE.COMPONENT_ENERGY_FLOW,
233
+ topologyViewType: ATO_ECOMPONENT_PLANT_TYPE.FUEL,
234
+ iconClassName: 'fa-regular fa-gas-pump font-size-16px',
235
+ tagType: TAG_TYPE.FUEL,
236
+ inflowRecord: E_FLOW_RECORD.INFLOW_ENERGY_RECORD,
237
+ outflowRecord: E_FLOW_RECORD.OUTFLOW_ENERGY_RECORD,
238
+ keyGroupMenu: 'Fuels',
239
+ },
240
+ [ATO_ECOMPONENT_PLANT_TYPE.STEAM]: {
241
+ keyUnitFromList: 'Steam',
242
+ keyUnit: 'steamUnit',
243
+ keyFlowTopology: 'Steam',
244
+ keyTab: 'Steams',
245
+ indexTab: 3,
246
+ keyComponent: 'steamComponents',
247
+ keyRoute: 'steam',
248
+ subSystemId: 'subSteamSystemId',
249
+ nameTab: 'Steam',
250
+ loc: 'locSteam',
251
+ keyToUpdateModel: 'steamData',
252
+ topologyType: 'Steam',
253
+ type: 'steam',
254
+ componentFlow: E_COMPONENT_DATA_TYPE.COMPONENT_ENERGY_FLOW,
255
+ topologyViewType: ATO_ECOMPONENT_PLANT_TYPE.STEAM,
256
+ iconClassName: 'fa-regular fa-heat font-size-16px',
257
+ tagType: TAG_TYPE.STEAM,
258
+ inflowRecord: E_FLOW_RECORD.INFLOW_ENERGY_RECORD,
259
+ outflowRecord: E_FLOW_RECORD.OUTFLOW_ENERGY_RECORD,
260
+ keyGroupMenu: 'Steams',
261
+ },
262
+ [ATO_ECOMPONENT_PLANT_TYPE.EMISSION]: {
263
+ keyUnitFromList: 'Emissions',
264
+ keyUnit: 'Emissions',
265
+ keyFlowTopology: 'Emissions',
266
+ keyTab: 'Emissions',
267
+ indexTab: 5,
268
+ keyComponent: 'emissionComponents',
269
+ keyRoute: 'emission',
270
+ loc: 'locEmission',
271
+ keyToUpdateModel: 'emissionData',
272
+ topologyViewType: ATO_ECOMPONENT_PLANT_TYPE.EMISSION,
273
+ tagType: TAG_TYPE.EMISSION,
274
+ inflowRecord: E_FLOW_RECORD.INFLOW_ENERGY_RECORD,
275
+ outflowRecord: E_FLOW_RECORD.OUTFLOW_ENERGY_RECORD,
276
+ },
277
+ [ATO_ECOMPONENT_PLANT_TYPE.COST]: {
278
+ keyUnitFromList: 'Cost',
279
+ keyUnit: 'Cost',
280
+ keyFlowTopology: 'Cost',
281
+ keyTab: 'Cost',
282
+ indexTab: 4,
283
+ keyComponent: 'costComponents',
284
+ keyRoute: 'cost',
285
+ loc: 'locCost',
286
+ keyToUpdateModel: 'costData',
287
+ type: 'cost',
288
+ topologyViewType: ATO_ECOMPONENT_PLANT_TYPE.COST,
289
+ tagType: TAG_TYPE.COST,
290
+ inflowRecord: E_FLOW_RECORD.INFLOW_ENERGY_RECORD,
291
+ outflowRecord: E_FLOW_RECORD.OUTFLOW_ENERGY_RECORD,
292
+ },
293
+ [ATO_ECOMPONENT_PLANT_TYPE.WATER_PLANT_CELL]: {
294
+ keyUnitFromList: 'Water',
295
+ keyUnit: 'waterUnit',
296
+ keyFlowTopology: 'Water',
297
+ keyTab: 'Water',
298
+ indexTab: -1,
299
+ keyComponent: 'waterComponents_PlantCell',
300
+ keyRoute: 'Water',
301
+ subSystemId: 'subWaterSystemId',
302
+ loc: 'locWater',
303
+ keyToUpdateModel: 'waterDataPlantCell',
304
+ topologyType: 'PlantTopology',
305
+ type: 'water',
306
+ componentFlow: E_COMPONENT_DATA_TYPE.COMPONENT_WATER_FLOW,
307
+ topologyViewType: ATO_ECOMPONENT_PLANT_TYPE.WATER,
308
+ tagType: TAG_TYPE.WATER,
309
+ inflowRecord: E_FLOW_RECORD.INFLOW_WATER_RECORD,
310
+ outflowRecord: E_FLOW_RECORD.OUTFLOW_WATER_RECORD,
311
+ },
312
+ [ATO_ECOMPONENT_PLANT_TYPE.ENERGY_PLANT_CELL]: {
313
+ keyUnitFromList: 'Energy',
314
+ keyUnit: 'energyUnit',
315
+ keyFlowTopology: 'Energy',
316
+ keyTab: 'Energy',
317
+ indexTab: 3,
318
+ keyComponent: '',
319
+ keyRoute: 'energy',
320
+ loc: 'locEnergy',
321
+ keyToUpdateModel: '',
322
+ type: 'water',
323
+ componentFlow: E_COMPONENT_DATA_TYPE.COMPONENT_WATER_FLOW,
324
+ topologyViewType: ATO_ECOMPONENT_PLANT_TYPE.ENERGY,
325
+ tagType: TAG_TYPE.ENERGY,
326
+ inflowRecord: E_FLOW_RECORD.INFLOW_ENERGY_RECORD,
327
+ outflowRecord: E_FLOW_RECORD.OUTFLOW_ENERGY_RECORD,
328
+ },
329
+ [ATO_ECOMPONENT_PLANT_TYPE.ELECTRICITY_PLANT_CELL]: {
330
+ keyUnitFromList: 'Electricity',
331
+ keyUnit: 'electricityUnit',
332
+ keyFlowTopology: 'Electricity',
333
+ keyTab: 'Electricals',
334
+ indexTab: 0,
335
+ keyComponent: 'electricComponents_PlantCell',
336
+ keyRoute: 'electricity',
337
+ subSystemId: 'subElectricSystemId',
338
+ nameTab: 'Electricity',
339
+ loc: 'locElectricity',
340
+ keyToUpdateModel: 'electricDataPlantCell',
341
+ topologyType: 'Electricity',
342
+ type: 'electricity',
343
+ componentFlow: E_COMPONENT_DATA_TYPE.COMPONENT_ENERGY_FLOW,
344
+ topologyViewType: ATO_ECOMPONENT_PLANT_TYPE.ELECTRICITY,
345
+ tagType: TAG_TYPE.ELECTRICITY,
346
+ inflowRecord: E_FLOW_RECORD.INFLOW_ENERGY_RECORD,
347
+ outflowRecord: E_FLOW_RECORD.OUTFLOW_ENERGY_RECORD,
348
+ },
349
+ [ATO_ECOMPONENT_PLANT_TYPE.NATURAL_GAS_PLANT_CELL]: {
350
+ keyUnitFromList: 'Gas',
351
+ keyUnit: 'naturalGasUnit',
352
+ keyFlowTopology: 'NaturalGas',
353
+ keyTab: 'NaturalGases',
354
+ indexTab: 1,
355
+ keyComponent: 'gasComponents_PlantCell',
356
+ keyRoute: 'gas',
357
+ subSystemId: 'subGasSystemId',
358
+ nameTab: 'Natural Gas',
359
+ loc: 'locGas',
360
+ keyToUpdateModel: 'gasDataPlantCell',
361
+ topologyType: 'NaturalGas',
362
+ type: 'naturalgas',
363
+ componentFlow: E_COMPONENT_DATA_TYPE.COMPONENT_ENERGY_FLOW,
364
+ topologyViewType: ATO_ECOMPONENT_PLANT_TYPE.NATURAL_GAS,
365
+ tagType: TAG_TYPE.NATURAL_GAS,
366
+ inflowRecord: E_FLOW_RECORD.INFLOW_ENERGY_RECORD,
367
+ outflowRecord: E_FLOW_RECORD.OUTFLOW_ENERGY_RECORD,
368
+ },
369
+ [ATO_ECOMPONENT_PLANT_TYPE.FUEL_PLANT_CELL]: {
370
+ keyUnitFromList: 'Fuel',
371
+ keyUnit: 'fuelUnit',
372
+ keyFlowTopology: 'Fuel',
373
+ keyTab: 'Fuels',
374
+ indexTab: 2,
375
+ keyComponent: 'fuelComponents_PlantCell',
376
+ keyRoute: 'fuel',
377
+ subSystemId: 'subFuelSystemId',
378
+ nameTab: 'Fuel',
379
+ loc: 'locFuel',
380
+ keyToUpdateModel: 'fuelDataPlantCell',
381
+ topologyType: 'Fuel',
382
+ type: 'fuel',
383
+ componentFlow: E_COMPONENT_DATA_TYPE.COMPONENT_ENERGY_FLOW,
384
+ topologyViewType: ATO_ECOMPONENT_PLANT_TYPE.FUEL,
385
+ tagType: TAG_TYPE.FUEL,
386
+ inflowRecord: E_FLOW_RECORD.INFLOW_ENERGY_RECORD,
387
+ outflowRecord: E_FLOW_RECORD.OUTFLOW_ENERGY_RECORD,
388
+ },
389
+ [ATO_ECOMPONENT_PLANT_TYPE.STEAM_PLANT_CELL]: {
390
+ keyUnitFromList: 'Steam',
391
+ keyUnit: 'steamUnit',
392
+ keyFlowTopology: 'Steam',
393
+ keyTab: 'Steams',
394
+ indexTab: 2,
395
+ keyComponent: 'steamComponents_PlantCell',
396
+ keyRoute: 'steam',
397
+ subSystemId: 'subSteamSystemId',
398
+ nameTab: 'Steam',
399
+ loc: 'locSteam',
400
+ keyToUpdateModel: 'steamDataPlantCell',
401
+ topologyType: 'Steam',
402
+ type: 'steam',
403
+ componentFlow: E_COMPONENT_DATA_TYPE.COMPONENT_ENERGY_FLOW,
404
+ topologyViewType: ATO_ECOMPONENT_PLANT_TYPE.STEAM,
405
+ tagType: TAG_TYPE.STEAM,
406
+ inflowRecord: E_FLOW_RECORD.INFLOW_ENERGY_RECORD,
407
+ outflowRecord: E_FLOW_RECORD.OUTFLOW_ENERGY_RECORD,
408
+ },
409
+ [ATO_ECOMPONENT_PLANT_TYPE.EMISSION_PLANT_CELL]: {
410
+ keyUnitFromList: 'Emissions',
411
+ keyUnit: 'Emissions',
412
+ keyFlowTopology: 'Emissions',
413
+ keyTab: 'Emissions',
414
+ indexTab: 5,
415
+ keyComponent: '',
416
+ keyRoute: 'emission',
417
+ loc: 'locEmission',
418
+ keyToUpdateModel: '',
419
+ topologyViewType: ATO_ECOMPONENT_PLANT_TYPE.EMISSION,
420
+ tagType: TAG_TYPE.EMISSION,
421
+ inflowRecord: E_FLOW_RECORD.INFLOW_ENERGY_RECORD,
422
+ outflowRecord: E_FLOW_RECORD.OUTFLOW_ENERGY_RECORD,
423
+ },
424
+ [ATO_ECOMPONENT_PLANT_TYPE.COST_PLANT_CELL]: {
425
+ keyUnitFromList: 'Cost',
426
+ keyUnit: 'Cost',
427
+ keyFlowTopology: 'Cost',
428
+ keyTab: 'Cost',
429
+ indexTab: 4,
430
+ keyComponent: 'costComponents_PlantCell',
431
+ keyRoute: 'cost',
432
+ loc: 'locCost',
433
+ keyToUpdateModel: 'costDataPlantCell',
434
+ type: 'cost',
435
+ topologyViewType: ATO_ECOMPONENT_PLANT_TYPE.COST,
436
+ tagType: TAG_TYPE.COST,
437
+ inflowRecord: E_FLOW_RECORD.INFLOW_ENERGY_RECORD,
438
+ outflowRecord: E_FLOW_RECORD.OUTFLOW_ENERGY_RECORD,
439
+ },
440
+ // // Add water to plant type
441
+ // [ATO_ECOMPONENT_PLANT_TYPE.WATER]: {
442
+ // keyUnitFromList: 'Water',
443
+ // keyUnit: 'Water',
444
+ // keyFlowTopology: 'Water',
445
+ // keyTab: 'Water',
446
+ // indexTab: 5,
447
+ // keyComponent: 'waterComponents',
448
+ // keyRoute: 'water'
449
+ // },
450
+ };
451
+ // export enum TARGET_E_TYPE {
452
+ // TARGET = 'Target',
453
+ // GOAL = 'Goal',
454
+ // PROJECT = 'Project',
455
+ // MILESTONE = 'Milestone',
456
+ // }
457
+ // const COLOR_STATUS = {
458
+ // RED: {
459
+ // hexColor: '#EC1B24',
460
+ // classColor: 'color-alizarin',
461
+ // },
462
+ // YELLOW: {
463
+ // hexColor: '#E09F25',
464
+ // classColor: 'color-galliano-2',
465
+ // },
466
+ // GREEN: {
467
+ // hexColor: '#199C69',
468
+ // classColor: 'color-elf-green',
469
+ // },
470
+ // };
471
+ // export const TARGET_STATUS_COLOR = {
472
+ // [TARGET_E_TYPE.TARGET]: {
473
+ // 0: COLOR_STATUS.YELLOW,
474
+ // 1: COLOR_STATUS.YELLOW,
475
+ // 2: COLOR_STATUS.YELLOW,
476
+ // 3: COLOR_STATUS.GREEN,
477
+ // 4: COLOR_STATUS.RED,
478
+ // 5: COLOR_STATUS.RED,
479
+ // 6: COLOR_STATUS.RED,
480
+ // },
481
+ // [TARGET_E_TYPE.GOAL]: {
482
+ // 0: COLOR_STATUS.YELLOW,
483
+ // 1: COLOR_STATUS.YELLOW,
484
+ // 2: COLOR_STATUS.YELLOW,
485
+ // 3: COLOR_STATUS.YELLOW,
486
+ // 4: COLOR_STATUS.YELLOW,
487
+ // 5: COLOR_STATUS.RED,
488
+ // 6: COLOR_STATUS.RED,
489
+ // 7: COLOR_STATUS.GREEN,
490
+ // 10: COLOR_STATUS.RED,
491
+ // },
492
+ // [TARGET_E_TYPE.PROJECT]: {
493
+ // 0: COLOR_STATUS.YELLOW,
494
+ // 1: COLOR_STATUS.YELLOW,
495
+ // 2: COLOR_STATUS.RED,
496
+ // 3: COLOR_STATUS.GREEN,
497
+ // 4: COLOR_STATUS.RED,
498
+ // 5: COLOR_STATUS.RED,
499
+ // 6: COLOR_STATUS.RED,
500
+ // 10: COLOR_STATUS.RED,
501
+ // },
502
+ // [TARGET_E_TYPE.MILESTONE]: {
503
+ // 0: COLOR_STATUS.YELLOW,
504
+ // 1: COLOR_STATUS.YELLOW,
505
+ // 2: COLOR_STATUS.YELLOW,
506
+ // 3: COLOR_STATUS.RED,
507
+ // 4: COLOR_STATUS.GREEN,
508
+ // 5: COLOR_STATUS.RED,
509
+ // 6: COLOR_STATUS.RED,
510
+ // 10: COLOR_STATUS.RED,
511
+ // },
512
+ // };
513
+ // export enum DATA_TYPES {
514
+ // STRING = 'string',
515
+ // NUMBER = 'number',
516
+ // BOOLEAN = 'boolean',
517
+ // DATE = 'Date',
518
+ // VALUE_UNIT = 'valueUnit',
519
+ // VALUE_CURRENCY = 'valueCost',
520
+ // VALUE_CURRENCY_PER_UNIT = 'valueCurrencyPerUnit',
521
+ // // VALUE_WATER = 'valueWater',
522
+ // // VALUE_ELECTRICITY = 'valueElectricity',
523
+ // // VALUE_NATURAL_GAS = 'valueNaturalGas',
524
+ // // VALUE_FUEL = 'valueFuel',
525
+ // // VALUE_CO2e_EMISSION = 'valueCO2eEmission',
526
+ // // VALUE_ENERY = 'valueEnergy',
527
+ // SPECIAL = 'special',
528
+ // }
529
+ // export enum E_DATE_PICKER_MODE {
530
+ // DATE = 'date',
531
+ // WEEK = 'week',
532
+ // MONTH = 'month',
533
+ // YEAR = 'year',
534
+ // RAW = 'raw',
535
+ // }
536
+ // export const DATE_PICKER_MODE: {
537
+ // [key in string]: any;
538
+ // } = {
539
+ // [E_Frequency.current]: {
540
+ // value: E_DATE_PICKER_MODE.DATE,
541
+ // format: 'MM/DD/YYYY',
542
+ // formatPicker: 'MM/dd/yyyy',
543
+ // index: 0,
544
+ // valueAnalytics: AnalyticsService.ENUM_DATE_TYPE.DAY,
545
+ // },
546
+ // [E_Frequency.daily]: {
547
+ // value: E_DATE_PICKER_MODE.DATE,
548
+ // format: 'MM/DD/YYYY',
549
+ // formatPicker: 'MM/dd/yyyy',
550
+ // index: 0,
551
+ // valueAnalytics: AnalyticsService.ENUM_DATE_TYPE.DAY,
552
+ // },
553
+ // [E_Frequency.weekly]: {
554
+ // value: E_DATE_PICKER_MODE.WEEK,
555
+ // index: 1,
556
+ // // format: 'MM/DD/YYYY'
557
+ // },
558
+ // [E_Frequency.monthly]: {
559
+ // value: E_DATE_PICKER_MODE.MONTH,
560
+ // format: 'MM/YYYY',
561
+ // formatPicker: 'MM/yyyy',
562
+ // index: 2,
563
+ // valueAnalytics: AnalyticsService.ENUM_DATE_TYPE.MONTH,
564
+ // },
565
+ // [E_Frequency.yearly]: {
566
+ // value: E_DATE_PICKER_MODE.YEAR,
567
+ // format: 'YYYY',
568
+ // formatPicker: 'yyyy',
569
+ // index: 3,
570
+ // valueAnalytics: AnalyticsService.ENUM_DATE_TYPE.YEAR,
571
+ // },
572
+ // [E_Frequency.annual]: {
573
+ // value: E_DATE_PICKER_MODE.YEAR,
574
+ // format: 'YYYY',
575
+ // formatPicker: 'yyyy',
576
+ // index: 3,
577
+ // valueAnalytics: AnalyticsService.ENUM_DATE_TYPE.YEAR,
578
+ // },
579
+ // [E_Frequency.raw]: {
580
+ // value: E_DATE_PICKER_MODE.RAW,
581
+ // format: 'MM/DD/YYYY',
582
+ // formatPicker: 'MM/dd/yyyy',
583
+ // index: 0,
584
+ // valueAnalytics: AnalyticsService.ENUM_DATE_TYPE.DAY,
585
+ // },
586
+ // };
587
+ // export enum E_PRODUCTION_TYPE {
588
+ // PRODUCT = 'product',
589
+ // PRODUCT_LINE = 'product-line',
590
+ // }
591
+ // export enum E_PRODUCTION_MEASUREMENT_TYPE {
592
+ // PRODUCT_WATER_IN_SOURCE = 'ProductWaterInSource',
593
+ // PRODUCT_WATER_OUT_SOURCE = 'ProductWaterOutSource',
594
+ // PRODUCT_ENERGY_IN_SOURCE = 'ProductEnergyInSource',
595
+ // PRODUCT_ENERGY_OUT_SOURCE = 'ProductEnergyOutSource',
596
+ // }
597
+ // export const E_PRODUCTION_MEASUREMENT_PAYLOAD = {
598
+ // [E_PRODUCTION_MEASUREMENT_TYPE.PRODUCT_WATER_IN_SOURCE]: {
599
+ // createParentPayload: 'CreateProductWaterInSource',
600
+ // updateParentPayload: 'UpdateProductWaterInSource',
601
+ // payload: 'ProductWaterInSource',
602
+ // keyResponse: 'waterInflows',
603
+ // keyForm: 'waterIntakeMeasurement',
604
+ // keyComponent: ['waterComponents'],
605
+ // textAdd: 'intake measurement',
606
+ // componentType: 'Water',
607
+ // },
608
+ // [E_PRODUCTION_MEASUREMENT_TYPE.PRODUCT_WATER_OUT_SOURCE]: {
609
+ // createParentPayload: 'CreateProductWaterOutSource',
610
+ // updateParentPayload: 'UpdateProductWaterOutSource',
611
+ // payload: 'ProductWaterOutSource',
612
+ // keyResponse: 'waterOutflows',
613
+ // keyForm: 'waterOutputMeasurement',
614
+ // keyComponent: ['waterComponents'],
615
+ // textAdd: 'output measurement',
616
+ // componentType: 'Water',
617
+ // },
618
+ // [E_PRODUCTION_MEASUREMENT_TYPE.PRODUCT_ENERGY_IN_SOURCE]: {
619
+ // createParentPayload: 'CreateProductEnergyInSource',
620
+ // updateParentPayload: 'UpdateProductEnergyInSource',
621
+ // payload: 'ProductEnergyInSource',
622
+ // keyResponse: 'energyInflows',
623
+ // keyForm: 'energyIntakeMeasurement',
624
+ // keyComponent: ['electricComponents', 'fuelComponents', 'gasComponents'],
625
+ // textAdd: 'intake measurement',
626
+ // componentType: 'Energy',
627
+ // },
628
+ // [E_PRODUCTION_MEASUREMENT_TYPE.PRODUCT_ENERGY_OUT_SOURCE]: {
629
+ // createParentPayload: 'CreateProductEnergyOutSource',
630
+ // updateParentPayload: 'UpdateProductEnergyOutSource',
631
+ // payload: 'ProductEnergyOutSource',
632
+ // keyResponse: 'energyOutflows',
633
+ // keyForm: 'energyExportMeasurement',
634
+ // keyComponent: ['electricComponents', 'fuelComponents', 'gasComponents'],
635
+ // textAdd: 'export measurement',
636
+ // componentType: 'Energy',
637
+ // },
638
+ // };
639
+ // export enum SORT_DIRECTION {
640
+ // ASCEND = 'ascend',
641
+ // DESCEND = 'descend',
642
+ // }
643
+ // export enum ROUTE_COMPONENT_TYPE {
644
+ // COMPONENT = 'component',
645
+ // PLANT_CELL = 'plant-cell',
646
+ // }
647
+ // export enum PLACEHOLDER_INPUT {
648
+ // FIELD_FILE = 'Enter the file URL',
649
+ // }
650
+ // export enum TYPE_SIZE_CONTROL {
651
+ // NORMAL = 'normal',
652
+ // SMALL = 'small',
653
+ // }
654
+ // export enum RATE_WATER_QUALITY_INDEX_INFO {
655
+ // EXCELLENT = 'excellent',
656
+ // GOOD = 'good',
657
+ // AVERAGE = 'average',
658
+ // FAIR = 'fair',
659
+ // POOR = 'poor',
660
+ // }
661
+ // // export const COLOR_WATER_QUALITY_INDEX_INFO = {
662
+ // // [RATE_WATER_QUALITY_INDEX_INFO.EXCELLENT]: {
663
+ // // color: ENUM_RISK_COLOR.GREEN,
664
+ // // colorClass: 'color-elf-green',
665
+ // // },
666
+ // // [RATE_WATER_QUALITY_INDEX_INFO.GOOD]: {
667
+ // // color: ENUM_RISK_COLOR.LIGHT_GREEN,
668
+ // // colorClass: 'color-yellow-green',
669
+ // // },
670
+ // // [RATE_WATER_QUALITY_INDEX_INFO.AVERAGE]: {
671
+ // // color: ENUM_RISK_COLOR.YELLOW,
672
+ // // colorClass: 'color-grandis',
673
+ // // },
674
+ // // [RATE_WATER_QUALITY_INDEX_INFO.FAIR]: {
675
+ // // color: ENUM_RISK_COLOR.ORANGE,
676
+ // // colorClass: 'color-carrot-orange',
677
+ // // },
678
+ // // [RATE_WATER_QUALITY_INDEX_INFO.POOR]: {
679
+ // // color: ENUM_RISK_COLOR.RED,
680
+ // // colorClass: 'color-sunset-orange',
681
+ // // },
682
+ // // };
683
+ // // export const RANGE_COLOR_WATER_QUALITY_INDEX = [
684
+ // // {
685
+ // // from: 0,
686
+ // // to: 25,
687
+ // // colorInfo: COLOR_WATER_QUALITY_INDEX_INFO[RATE_WATER_QUALITY_INDEX_INFO.POOR],
688
+ // // },
689
+ // // {
690
+ // // from: 25,
691
+ // // to: 50,
692
+ // // colorInfo: COLOR_WATER_QUALITY_INDEX_INFO[RATE_WATER_QUALITY_INDEX_INFO.FAIR],
693
+ // // },
694
+ // // {
695
+ // // from: 50,
696
+ // // to: 70,
697
+ // // colorInfo: COLOR_WATER_QUALITY_INDEX_INFO[RATE_WATER_QUALITY_INDEX_INFO.AVERAGE],
698
+ // // },
699
+ // // {
700
+ // // from: 70,
701
+ // // to: 90,
702
+ // // colorInfo: COLOR_WATER_QUALITY_INDEX_INFO[RATE_WATER_QUALITY_INDEX_INFO.GOOD],
703
+ // // },
704
+ // // {
705
+ // // from: 90,
706
+ // // to: 100,
707
+ // // colorInfo: COLOR_WATER_QUALITY_INDEX_INFO[RATE_WATER_QUALITY_INDEX_INFO.EXCELLENT],
708
+ // // },
709
+ // // ];
710
+ // export enum ENUM_INSIGHT_TABS {
711
+ // VOLUME = 'Volume',
712
+ // QUALITY = 'Quality',
713
+ // ASSET_PARAMETERS = 'Asset Parameters',
714
+ // }
715
+ // export enum ENUM_INSIGHT_MAPPING_STEP {
716
+ // ASSETS = 'assets',
717
+ // TAGS = 'tags',
718
+ // CONFIGURATION = 'configuration',
719
+ // }
720
+ // export enum STEAM_OPTION_KEY {
721
+ // MASS_FLOW = 'massflow',
722
+ // MASS_FLOW_RATE = 'massflowrate',
723
+ // PRESSURE = 'pressure',
724
+ // TEMPERATURE = 'temperature',
725
+ // ENERGY = 'energy',
726
+ // }
727
+ // export const STEAM_OPTIONS_FILTER = {
728
+ // [STEAM_OPTION_KEY.MASS_FLOW]: {
729
+ // name: 'Mass Flow',
730
+ // key: STEAM_OPTION_KEY.MASS_FLOW,
731
+ // icon: '',
732
+ // urlIcon: 'assets/images/icons/steam/Mass flow.svg',
733
+ // isDisabled: false,
734
+ // keyUnit: 'SteamMassFlow',
735
+ // keyUnitSetting: 'steamMassFlow',
736
+ // listUnits: [ABBREVIATION.g, ABBREVIATION.lbs],
737
+ // },
738
+ // [STEAM_OPTION_KEY.MASS_FLOW_RATE]: {
739
+ // name: 'Mass Flow Rate',
740
+ // key: STEAM_OPTION_KEY.MASS_FLOW_RATE,
741
+ // icon: '',
742
+ // urlIcon: 'assets/images/icons/steam/Mass flow rate.svg',
743
+ // isDisabled: false,
744
+ // keyUnit: 'MassFlowRate',
745
+ // keyUnitSetting: 'steamFlowRate',
746
+ // listUnits: [ABBREVIATION.g_hr, ABBREVIATION.lbs_hr],
747
+ // },
748
+ // [STEAM_OPTION_KEY.PRESSURE]: {
749
+ // name: 'Pressure',
750
+ // key: STEAM_OPTION_KEY.PRESSURE,
751
+ // icon: 'fal fa-gauge-high',
752
+ // isDisabled: false,
753
+ // keyUnit: 'SteamPressure',
754
+ // keyUnitSetting: 'steamPressure',
755
+ // listUnits: [ABBREVIATION.MPa, ABBREVIATION.psi],
756
+ // },
757
+ // [STEAM_OPTION_KEY.TEMPERATURE]: {
758
+ // name: 'Temperature',
759
+ // key: STEAM_OPTION_KEY.TEMPERATURE,
760
+ // icon: 'fal fa-temperature-high',
761
+ // isDisabled: false,
762
+ // keyUnit: 'SteamTemperature',
763
+ // keyUnitSetting: 'steamTemperature',
764
+ // listUnits: [ABBREVIATION.degC, ABBREVIATION.degF],
765
+ // },
766
+ // [STEAM_OPTION_KEY.ENERGY]: {
767
+ // name: '​Energy',
768
+ // key: STEAM_OPTION_KEY.ENERGY,
769
+ // icon: 'fa-regular fa-transformer-bolt',
770
+ // keyUnit: 'Energy',
771
+ // keyUnitSetting: 'energyUnit',
772
+ // isDisabled: false,
773
+ // listUnits: [ABBREVIATION.BTU, ABBREVIATION.J],
774
+ // },
775
+ // };
776
+ export var ATO_ENUM_FLOW_DIRECTION;
777
+ (function (ATO_ENUM_FLOW_DIRECTION) {
778
+ ATO_ENUM_FLOW_DIRECTION["INFLOW"] = "Inflow";
779
+ ATO_ENUM_FLOW_DIRECTION["OUTFLOW"] = "Outflow";
780
+ ATO_ENUM_FLOW_DIRECTION["NONE"] = "";
781
+ })(ATO_ENUM_FLOW_DIRECTION || (ATO_ENUM_FLOW_DIRECTION = {}));
782
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsdWUuY29uc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hdG8td2F0ZXItbGliL3NyYy9saWIvY29uc3RhbnRzL3ZhbHVlLmNvbnN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLG9GQUFvRjtBQUNwRixrREFBa0Q7QUFDbEQseURBQXlEO0FBQ3pELDhEQUE4RDtBQUU5RCw4Q0FBOEM7QUFDOUMsa0JBQWtCO0FBQ2xCLGtCQUFrQjtBQUNsQixrQkFBa0I7QUFDbEIsZ0JBQWdCO0FBQ2hCLHdDQUF3QztBQUN4QyxLQUFLO0FBRUwsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQztBQUM3QixNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsU0FBUyxDQUFDO0FBQ2pDLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLEtBQUssQ0FBQztBQUN0QyxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsR0FBRyxDQUFDO0FBQ2hDLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUM7QUFDL0IsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLGlCQUFpQixDQUFDO0FBRWhELGtCQUFrQjtBQUNsQixNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBRyxxQkFBcUIsQ0FBQztBQUNoRSxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsVUFBVSxDQUFDO0FBRXBDLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLElBQUksQ0FBQztBQUN6QyxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLENBQUM7QUFDeEMsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsSUFBSSxDQUFDO0FBQ3pDLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxPQUFPLENBQUM7QUFFbEMsTUFBTSxDQUFOLElBQVksWUFRWDtBQVJELFdBQVksWUFBWTtJQUNwQixzQ0FBc0IsQ0FBQTtJQUN0Qix3Q0FBd0IsQ0FBQTtJQUN4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QUEyQztBQUMzQyw2QkFBNkI7QUFDN0IsdUNBQXVDO0FBQ3ZDLDhDQUE4QztBQUM5Qyw2REFBNkQ7QUFDN0QsU0FBUztBQUNULG1DQUFtQztBQUNuQywyQkFBMkI7QUFDM0Isd0NBQXdDO0FBQ3hDLGtEQUFrRDtBQUNsRCw2QkFBNkI7QUFDN0Isd0NBQXdDO0FBQ3hDLDZCQUE2QjtBQUM3Qix5REFBeUQ7QUFDekQsU0FBUztBQUNULEtBQUs7QUFFTCxNQUFNLENBQU4sSUFBWSx1QkFJWDtBQUpELFdBQVksdUJBQXVCO0lBQy9CLDRDQUFpQixDQUFBO0lBQ2pCLDhDQUFtQixDQUFBO0lBQ25CLG9DQUFTLENBQUE7QUFDYixDQUFDLEVBSlcsdUJBQXVCLEtBQXZCLHVCQUF1QixRQUlsQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIGltcG9ydCB7IEFuYWx5dGljc1NlcnZpY2UgfSBmcm9tICdAZGFzaGJvYXJkcy1zaGFyZWQvc2VydmljZXMvYW5hbHl0aWNzLnNlcnZpY2UnO1xuLy8gaW1wb3J0IHsgRV9GcmVxdWVuY3kgfSBmcm9tICcuL2ZyZXF1ZW5jeS5lbnVtJztcbi8vIGltcG9ydCB7IEVOVU1fUklTS19DT0xPUiB9IGZyb20gJy4vaW5mb3JtYXRpb24uY29uc3QnO1xuLy8gaW1wb3J0IHsgQUJCUkVWSUFUSU9OIH0gZnJvbSAnLi9hcHBsaWNhYmxlLXByZWZpeGVzLWNvbnN0JztcblxuLy8gZXhwb3J0IGNvbnN0IERFRkFVTFRfTkFNRVNfTUFQUElORzogYW55ID0ge1xuLy8gICAgIENNUzogJ0NNUycsXG4vLyAgICAgRVRQOiAnRVRQJyxcbi8vICAgICBaTEQ6ICdaTEQnLFxuLy8gICAgIFJPOiAnUk8nLFxuLy8gICAgIENNU0xhYldhc2hpbmc6ICdDTVMgTGFiIFdhc2hpbmcnLFxuLy8gfTtcblxuZXhwb3J0IGNvbnN0IFZBTFVFX05BID0gJ05BJztcbmV4cG9ydCBjb25zdCBOT19EQVRBID0gJ05vIERhdGEnO1xuZXhwb3J0IGNvbnN0IFZBTFVFX05BX1NQRUNJQUwgPSAnTi9BJztcbmV4cG9ydCBjb25zdCBURVhUX1VOS05PV04gPSAnPyc7XG5leHBvcnQgY29uc3QgVEVYVF9FUlIgPSAnIUVycic7XG5leHBvcnQgY29uc3QgTk9fRU5PVUdIX0RBVEEgPSAnTm90IGVub3VnaCBkYXRhJztcblxuLy8gRm9yIEVsZW1lbnQgRE9NXG5leHBvcnQgY29uc3QgS0VZX0NSRUFURV9ET01fVE9fRE9XTkxPQUQgPSAnbmV3Q3JlYXRlVG9Eb3dubG9hZCc7XG5leHBvcnQgY29uc3QgTk9fSElEREVOID0gJ25vSGlkZGVuJztcblxuZXhwb3J0IGNvbnN0IEdST1VQX1BMQU5UX0NFTExfS0VZID0gMzAwMDtcbmV4cG9ydCBjb25zdCBHUk9VUF9QQ19JTlBVVFNfS0VZID0gMTAwMDtcbmV4cG9ydCBjb25zdCBHUk9VUF9QQ19PVVRQVVRTX0tFWSA9IDIwMDA7XG5leHBvcnQgY29uc3QgRU5VTV9ST0xFUyA9ICdST0xFUyc7XG5cbmV4cG9ydCBlbnVtIEVfRklMVEVSX0tFWSB7XG4gICAgVklFV19NT0RFID0gJ3ZpZXdNb2RlJyxcbiAgICBXQVRFUl9VTklUID0gJ3dhdGVyVW5pdCcsXG4gICAgRU5FUkdZX1VOSVQgPSAnZW5lcmd5VW5pdCcsXG4gICAgRUxFQ1RSSUNJVFlfVU5JVCA9ICdlbGVjdHJpY2l0eVVuaXQnLFxuICAgIE5BVFVSQUxfR0FTX1VOSVQgPSAnbmF0dXJhbEdhc1VuaXQnLFxuICAgIEZVRUxfVU5JVCA9ICdmdWVsVW5pdCcsXG4gICAgQ1VSUkVOQ1lfVU5JVCA9ICdjdXJyZW5jeVVuaXQnLFxufVxuXG5leHBvcnQgZW51bSBBVE9fRUNPTVBPTkVOVF9QTEFOVF9UWVBFIHtcbiAgICBXQVRFUiA9ICd3YXRlcicsXG4gICAgRU5FUkdZID0gJ2VuZXJneScsXG4gICAgRUxFQ1RSSUNJVFkgPSAnZWxlY3RyaWNpdHknLFxuICAgIE5BVFVSQUxfR0FTID0gJ2dhcycsXG4gICAgRlVFTCA9ICdmdWVsJyxcbiAgICBTVEVBTSA9ICdzdGVhbScsXG4gICAgRU1JU1NJT04gPSAnZW1pc3Npb24nLFxuICAgIENPU1QgPSAnY29zdCcsXG5cbiAgICBXQVRFUl9QTEFOVF9DRUxMID0gJ3dhdGVyLXBsYW50LWNlbGwnLFxuICAgIEVORVJHWV9QTEFOVF9DRUxMID0gJ2VuZXJneS1wbGFudC1jZWxsJyxcbiAgICBFTEVDVFJJQ0lUWV9QTEFOVF9DRUxMID0gJ2VsZWN0cmljaXR5LXBsYW50LWNlbGwnLFxuICAgIE5BVFVSQUxfR0FTX1BMQU5UX0NFTEwgPSAnZ2FzLXBsYW50LWNlbGwnLFxuICAgIEZVRUxfUExBTlRfQ0VMTCA9ICdmdWVsLXBsYW50LWNlbGwnLFxuICAgIFNURUFNX1BMQU5UX0NFTEwgPSAnc3RlYW0tcGxhbnQtY2VsbCcsXG4gICAgRU1JU1NJT05fUExBTlRfQ0VMTCA9ICdlbWlzc2lvbi1wbGFudC1jZWxsJyxcbiAgICBDT1NUX1BMQU5UX0NFTEwgPSAnY29zdC1wbGFudC1jZWxsJyxcbn1cblxuZXhwb3J0IGNvbnN0IENPTVBPVFlQRV9DQUxMX1BMQU5UX1RPUE9MT0dZX0RFVEFJTFM6IHN0cmluZ1tdID0gW1xuICAgIEFUT19FQ09NUE9ORU5UX1BMQU5UX1RZUEUuV0FURVIsXG4gICAgQVRPX0VDT01QT05FTlRfUExBTlRfVFlQRS5XQVRFUl9QTEFOVF9DRUxMLFxuICAgIEFUT19FQ09NUE9ORU5UX1BMQU5UX1RZUEUuRU5FUkdZX1BMQU5UX0NFTEwsXG4gICAgQVRPX0VDT01QT05FTlRfUExBTlRfVFlQRS5FTEVDVFJJQ0lUWV9QTEFOVF9DRUxMLFxuICAgIEFUT19FQ09NUE9ORU5UX1BMQU5UX1RZUEUuTkFUVVJBTF9HQVNfUExBTlRfQ0VMTCxcbiAgICBBVE9fRUNPTVBPTkVOVF9QTEFOVF9UWVBFLkZVRUxfUExBTlRfQ0VMTCxcbiAgICBBVE9fRUNPTVBPTkVOVF9QTEFOVF9UWVBFLlNURUFNX1BMQU5UX0NFTEwsXG4gICAgQVRPX0VDT01QT05FTlRfUExBTlRfVFlQRS5FTUlTU0lPTl9QTEFOVF9DRUxMLFxuICAgIEFUT19FQ09NUE9ORU5UX1BMQU5UX1RZUEUuQ09TVF9QTEFOVF9DRUxMLFxuXTtcblxuZXhwb3J0IGNvbnN0IENPTVBPTkVOVF9UWVBFX09GX1BMQU5UX0NFTEw6IHN0cmluZ1tdID0gW1xuICAgIEFUT19FQ09NUE9ORU5UX1BMQU5UX1RZUEUuV0FURVJfUExBTlRfQ0VMTCxcbiAgICBBVE9fRUNPTVBPTkVOVF9QTEFOVF9UWVBFLkVORVJHWV9QTEFOVF9DRUxMLFxuICAgIEFUT19FQ09NUE9ORU5UX1BMQU5UX1RZUEUuRUxFQ1RSSUNJVFlfUExBTlRfQ0VMTCxcbiAgICBBVE9fRUNPTVBPTkVOVF9QTEFOVF9UWVBFLk5BVFVSQUxfR0FTX1BMQU5UX0NFTEwsXG4gICAgQVRPX0VDT01QT05FTlRfUExBTlRfVFlQRS5GVUVMX1BMQU5UX0NFTEwsXG4gICAgQVRPX0VDT01QT05FTlRfUExBTlRfVFlQRS5TVEVBTV9QTEFOVF9DRUxMLFxuICAgIEFUT19FQ09NUE9ORU5UX1BMQU5UX1RZUEUuRU1JU1NJT05fUExBTlRfQ0VMTCxcbiAgICBBVE9fRUNPTVBPTkVOVF9QTEFOVF9UWVBFLkNPU1RfUExBTlRfQ0VMTCxcbl07XG5cbmV4cG9ydCBjb25zdCBDT01QT05FTlRfVFlQRV9PRl9QTEFOVF9DRUxMX0VORVJHWTogc3RyaW5nW10gPSBbXG4gICAgQVRPX0VDT01QT05FTlRfUExBTlRfVFlQRS5FTkVSR1lfUExBTlRfQ0VMTCxcbiAgICBBVE9fRUNPTVBPTkVOVF9QTEFOVF9UWVBFLkVMRUNUUklDSVRZX1BMQU5UX0NFTEwsXG4gICAgQVRPX0VDT01QT05FTlRfUExBTlRfVFlQRS5OQVRVUkFMX0dBU19QTEFOVF9DRUxMLFxuICAgIEFUT19FQ09NUE9ORU5UX1BMQU5UX1RZUEUuRlVFTF9QTEFOVF9DRUxMLFxuICAgIEFUT19FQ09NUE9ORU5UX1BMQU5UX1RZUEUuU1RFQU1fUExBTlRfQ0VMTCxcbiAgICBBVE9fRUNPTVBPTkVOVF9QTEFOVF9UWVBFLkVNSVNTSU9OX1BMQU5UX0NFTEwsXG4gICAgQVRPX0VDT01QT05FTlRfUExBTlRfVFlQRS5DT1NUX1BMQU5UX0NFTEwsXG5dO1xuXG4vLyBleHBvcnQgZW51bSBFX1RPUE9MT0dZX1RZUEUge1xuLy8gICAgIE9WRVJfVklFVyA9ICdvdmVyLXZpZXcnLFxuLy8gICAgIFBMQU5UX0NFTEwgPSAncGxhbnQtY2VsbCcsXG4vLyB9XG5cbmV4cG9ydCBlbnVtIEVfQ09NUE9ORU5UX0RBVEFfVFlQRSB7XG4gICAgQ09NUE9ORU5UX1dBVEVSX0ZMT1cgPSAnQ29tcG9uZW50V2F0ZXJGbG93JyxcbiAgICBDT01QT05FTlRfRU5FUkdZX0ZMT1cgPSAnQ29tcG9uZW50RW5lcmd5RmxvdycsXG59XG5cbmV4cG9ydCBlbnVtIEVfRkxPV19SRUNPUkQge1xuICAgIElORkxPV19XQVRFUl9SRUNPUkQgPSAnSW5mbG93V2F0ZXJSZWNvcmQnLFxuICAgIE9VVEZMT1dfV0FURVJfUkVDT1JEID0gJ091dGZsb3dXYXRlclJlY29yZCcsXG4gICAgSU5GTE9XX0VORVJHWV9SRUNPUkQgPSAnSW5mbG93RW5lcmd5UmVjb3JkJyxcbiAgICBPVVRGTE9XX0VORVJHWV9SRUNPUkQgPSAnT3V0Zmxvd0VuZXJneVJlY29yZCcsXG59XG5cbi8vIGV4cG9ydCBlbnVtIFRBQl9EQVNIQk9BUkQge1xuLy8gICAgIFdBVEVSID0gJ3dhdGVyJyxcbi8vICAgICBXQVRFUl9MQUJFTCA9ICdXYXRlcicsXG4vLyAgICAgRU5FUkdZX0VNSVNTSU9OID0gJ2VuZXJneSAmIGVtaXNzaW9ucycsXG4vLyAgICAgRU5FUkdZX0VNSVNTSU9OX0xBQkVMID0gJ0VuZXJneSAmIEVtaXNzaW9ucycsXG4vLyB9XG5cbi8vIGV4cG9ydCBlbnVtIFRBQl9TRVRVUF9DT01QTElBTkNFIHtcbi8vICAgICBQTEFOVF9MRVZFTCA9ICdQbGFudCBsZXZlbCcsXG4vLyAgICAgUFJPQ0VTU19MRVZFTCA9ICdQcm9jZXNzIExldmVsJyxcbi8vIH1cblxuLy8gZXhwb3J0IGVudW0gUExBTlRfRU5FUkdZX0RJQUdSQU1fVEFCU19JTkRFWCB7XG4vLyAgICAgRU5FUkdZID0gMCxcbi8vICAgICBFTEVDVFJJQ0lUWSA9IDEsXG4vLyAgICAgTkFUVVJBTF9HQVMgPSAyLFxuLy8gICAgIEZVRUwgPSAzLFxuLy8gICAgIEVNSVNTSU9OUyA9IDRcbi8vIH1cblxuZXhwb3J0IGVudW0gVEFHX1RZUEUge1xuICAgIFdBVEVSID0gJ1dhdGVyJyxcbiAgICBFTEVDVFJJQ0lUWSA9ICdFbGVjdHJpY2l0eScsXG4gICAgTkFUVVJBTF9HQVMgPSAnTmF0dXJhbCBHYXMnLFxuICAgIEZVRUwgPSAnRnVlbCcsXG4gICAgU1RFQU0gPSAnU3RlYW0nLFxuICAgIEVORVJHWSA9ICdFbmVyZ3knLFxuICAgIEVNSVNTSU9OID0gJ0VtaXNzaW9uJyxcbiAgICBDT1NUID0gJ0Nvc3QnLFxuICAgIFdBVEVSX0FOQUxZVElDID0gJ1dhdGVyIEFuYWx5dGljJyxcbn1cblxuLy8gZXhwb3J0IGVudW0gVEFCX1dTX0VORVJHWV9FTUlTU0lPTiB7XG4vLyAgICAgVEFCTEUgPSAndGFibGUnLFxuLy8gICAgIERJQUdSQU0gPSAnZGlhZ3JhbScsXG4vLyB9XG5cbmV4cG9ydCBjb25zdCBQTEFOVF9FTkVSR1lfRElBR1JBTV9UQUJTOiB7XG4gICAgW2tleSBpbiBBVE9fRUNPTVBPTkVOVF9QTEFOVF9UWVBFXTogYW55O1xufSA9IHtcbiAgICBbQVRPX0VDT01QT05FTlRfUExBTlRfVFlQRS5XQVRFUl06IHtcbiAgICAgICAga2V5VW5pdEZyb21MaXN0OiAnV2F0ZXInLFxuICAgICAgICBrZXlVbml0OiAnd2F0ZXJVbml0JyxcbiAgICAgICAga2V5Rmxvd1RvcG9sb2d5OiAnV2F0ZXInLFxuICAgICAgICBrZXlUYWI6ICdXYXRlcicsXG4gICAgICAgIGluZGV4VGFiOiAtMSxcbiAgICAgICAga2V5Q29tcG9uZW50OiAnd2F0ZXJDb21wb25lbnRzJyxcbiAgICAgICAga2V5Um91dGU6ICdXYXRlcicsXG4gICAgICAgIHN1YlN5c3RlbUlkOiAnc3ViV2F0ZXJTeXN0ZW1JZCcsXG4gICAgICAgIG5hbWVUYWI6ICdXYXRlcicsXG4gICAgICAgIGxvYzogJ2xvY1dhdGVyJyxcbiAgICAgICAga2V5VG9VcGRhdGVNb2RlbDogJ3dhdGVyRGF0YScsXG4gICAgICAgIHRvcG9sb2d5VHlwZTogJ1BsYW50VG9wb2xvZ3knLFxuICAgICAgICB0eXBlOiAnd2F0ZXInLFxuICAgICAgICBjb21wb25lbnRGbG93OiBFX0NPTVBPTkVOVF9EQVRBX1RZUEUuQ09NUE9ORU5UX1dBVEVSX0ZMT1csXG4gICAgICAgIHRvcG9sb2d5Vmlld1R5cGU6IEFUT19FQ09NUE9ORU5UX1BMQU5UX1RZUEUuV0FURVIsXG4gICAgICAgIGljb25DbGFzc05hbWU6ICdmYS1yZWd1bGFyIGZhLXRhbmstd2F0ZXIgZm9udC1zaXplLTE2cHgnLFxuICAgICAgICB0YWdUeXBlOiBUQUdfVFlQRS5XQVRFUixcbiAgICAgICAgaW5mbG93UmVjb3JkOiBFX0ZMT1dfUkVDT1JELklORkxPV19XQVRFUl9SRUNPUkQsXG4gICAgICAgIG91dGZsb3dSZWNvcmQ6IEVfRkxPV19SRUNPUkQuT1VURkxPV19XQVRFUl9SRUNPUkQsXG4gICAgICAgIGtleUdyb3VwTWVudTogJ1dhdGVyJyxcbiAgICB9LFxuICAgIFtBVE9fRUNPTVBPTkVOVF9QTEFOVF9UWVBFLkVORVJHWV06IHtcbiAgICAgICAga2V5VW5pdEZyb21MaXN0OiAnRW5lcmd5JyxcbiAgICAgICAga2V5VW5pdDogJ2VuZXJneVVuaXQnLFxuICAgICAgICBrZXlGbG93VG9wb2xvZ3k6ICdFbmVyZ3knLFxuICAgICAgICBrZXlUYWI6ICdFbmVyZ3knLFxuICAgICAgICBpbmRleFRhYjogNCxcbiAgICAgICAga2V5Q29tcG9uZW50OiAnJyxcbiAgICAgICAga2V5Um91dGU6ICdlbmVyZ3knLFxuICAgICAgICBuYW1lVGFiOiAnRW5lcmd5JyxcbiAgICAgICAgbG9jOiAnbG9jRW5lcmd5JyxcbiAgICAgICAga2V5VG9VcGRhdGVNb2RlbDogJycsXG4gICAgICAgIHR5cGU6ICd3YXRlcicsXG4gICAgICAgIGNvbXBvbmVudEZsb3c6IEVfQ09NUE9ORU5UX0RBVEFfVFlQRS5DT01QT05FTlRfRU5FUkdZX0ZMT1csXG4gICAgICAgIHRvcG9sb2d5Vmlld1R5cGU6IEFUT19FQ09NUE9ORU5UX1BMQU5UX1RZUEUuRU5FUkdZLFxuICAgICAgICB0YWdUeXBlOiBUQUdfVFlQRS5FTkVSR1ksXG4gICAgICAgIGluZmxvd1JlY29yZDogRV9GTE9XX1JFQ09SRC5JTkZMT1dfRU5FUkdZX1JFQ09SRCxcbiAgICAgICAgb3V0Zmxvd1JlY29yZDogRV9GTE9XX1JFQ09SRC5PVVRGTE9XX0VORVJHWV9SRUNPUkQsXG4gICAgfSxcbiAgICBbQVRPX0VDT01QT05FTlRfUExBTlRfVFlQRS5FTEVDVFJJQ0lUWV06IHtcbiAgICAgICAga2V5VW5pdEZyb21MaXN0OiAnRWxlY3RyaWNpdHknLFxuICAgICAgICBrZXlVbml0OiAnZWxlY3RyaWNpdHlVbml0JyxcbiAgICAgICAga2V5Rmxvd1RvcG9sb2d5OiAnRWxlY3RyaWNpdHknLFxuICAgICAgICBrZXlUYWI6ICdFbGVjdHJpY2FscycsXG4gICAgICAgIGluZGV4VGFiOiAwLFxuICAgICAgICBrZXlDb21wb25lbnQ6ICdlbGVjdHJpY0NvbXBvbmVudHMnLFxuICAgICAgICBrZXlSb3V0ZTogJ2VsZWN0cmljaXR5JyxcbiAgICAgICAgc3ViU3lzdGVtSWQ6ICdzdWJFbGVjdHJpY1N5c3RlbUlkJyxcbiAgICAgICAgbmFtZVRhYjogJ0VsZWN0cmljaXR5JyxcbiAgICAgICAgbG9jOiAnbG9jRWxlY3RyaWNpdHknLFxuICAgICAgICBrZXlUb1VwZGF0ZU1vZGVsOiAnZWxlY3RyaWNEYXRhJyxcbiAgICAgICAgdG9wb2xvZ3lUeXBlOiAnRWxlY3RyaWNpdHknLFxuICAgICAgICB0eXBlOiAnZWxlY3RyaWNpdHknLFxuICAgICAgICBjb21wb25lbnRGbG93OiBFX0NPTVBPTkVOVF9EQVRBX1RZUEUuQ09NUE9ORU5UX0VORVJHWV9GTE9XLFxuICAgICAgICB0b3BvbG9neVZpZXdUeXBlOiBBVE9fRUNPTVBPTkVOVF9QTEFOVF9UWVBFLkVMRUNUUklDSVRZLFxuICAgICAgICBpY29uQ2xhc3NOYW1lOiAnZmEtcmVndWxhciBmYS1ib2x0IGZvbnQtc2l6ZS0xNnB4JyxcbiAgICAgICAgdGFnVHlwZTogVEFHX1RZUEUuRUxFQ1RSSUNJVFksXG4gICAgICAgIGluZmxvd1JlY29yZDogRV9GTE9XX1JFQ09SRC5JTkZMT1dfRU5FUkdZX1JFQ09SRCxcbiAgICAgICAgb3V0Zmxvd1JlY29yZDogRV9GTE9XX1JFQ09SRC5PVVRGTE9XX0VORVJHWV9SRUNPUkQsXG4gICAgICAgIGtleUdyb3VwTWVudTogJ0VsZWN0cmljaXR5JyxcbiAgICB9LFxuICAgIFtBVE9fRUNPTVBPTkVOVF9QTEFOVF9UWVBFLk5BVFVSQUxfR0FTXToge1xuICAgICAgICBrZXlVbml0RnJvbUxpc3Q6ICdHYXMnLFxuICAgICAgICBrZXlVbml0OiAnbmF0dXJhbEdhc1VuaXQnLFxuICAgICAgICBrZXlGbG93VG9wb2xvZ3k6ICdOYXR1cmFsR2FzJyxcbiAgICAgICAga2V5VGFiOiAnTmF0dXJhbEdhc2VzJyxcbiAgICAgICAgaW5kZXhUYWI6IDEsXG4gICAgICAgIGtleUNvbXBvbmVudDogJ2dhc0NvbXBvbmVudHMnLFxuICAgICAgICBrZXlSb3V0ZTogJ2dhcycsXG4gICAgICAgIHN1YlN5c3RlbUlkOiAnc3ViR2FzU3lzdGVtSWQnLFxuICAgICAgICBuYW1lVGFiOiAnTmF0dXJhbCBHYXMnLFxuICAgICAgICBsb2M6ICdsb2NHYXMnLFxuICAgICAgICBrZXlUb1VwZGF0ZU1vZGVsOiAnZ2FzRGF0YScsXG4gICAgICAgIHRvcG9sb2d5VHlwZTogJ05hdHVyYWxHYXMnLFxuICAgICAgICB0eXBlOiAnbmF0dXJhbGdhcycsXG4gICAgICAgIGNvbXBvbmVudEZsb3c6IEVfQ09NUE9ORU5UX0RBVEFfVFlQRS5DT01QT05FTlRfRU5FUkdZX0ZMT1csXG4gICAgICAgIHRvcG9sb2d5Vmlld1R5cGU6IEFUT19FQ09NUE9ORU5UX1BMQU5UX1RZUEUuTkFUVVJBTF9HQVMsXG4gICAgICAgIGljb25DbGFzc05hbWU6ICdmYS1yZWd1bGFyIGZhLWZpcmUtZmxhbWUtY3VydmVkIGZvbnQtc2l6ZS0xNnB4JyxcbiAgICAgICAgdGFnVHlwZTogVEFHX1RZUEUuTkFUVVJBTF9HQVMsXG4gICAgICAgIGluZmxvd1JlY29yZDogRV9GTE9XX1JFQ09SRC5JTkZMT1dfRU5FUkdZX1JFQ09SRCxcbiAgICAgICAgb3V0Zmxvd1JlY29yZDogRV9GTE9XX1JFQ09SRC5PVVRGTE9XX0VORVJHWV9SRUNPUkQsXG4gICAgICAgIGtleUdyb3VwTWVudTogJ05hdHVyYWxHYXNlcycsXG4gICAgfSxcbiAgICBbQVRPX0VDT01QT05FTlRfUExBTlRfVFlQRS5GVUVMXToge1xuICAgICAgICBrZXlVbml0RnJvbUxpc3Q6ICdGdWVsJyxcbiAgICAgICAga2V5VW5pdDogJ2Z1ZWxVbml0JyxcbiAgICAgICAga2V5Rmxvd1RvcG9sb2d5OiAnRnVlbCcsXG4gICAgICAgIGtleVRhYjogJ0Z1ZWxzJyxcbiAgICAgICAgaW5kZXhUYWI6IDIsXG4gICAgICAgIGtleUNvbXBvbmVudDogJ2Z1ZWxDb21wb25lbnRzJyxcbiAgICAgICAga2V5Um91dGU6ICdmdWVsJyxcbiAgICAgICAgc3ViU3lzdGVtSWQ6ICdzdWJGdWVsU3lzdGVtSWQnLFxuICAgICAgICBuYW1lVGFiOiAnRnVlbCcsXG4gICAgICAgIGxvYzogJ2xvY0Z1ZWwnLFxuICAgICAgICBrZXlUb1VwZGF0ZU1vZGVsOiAnZnVlbERhdGEnLFxuICAgICAgICB0b3BvbG9neVR5cGU6ICdGdWVsJyxcbiAgICAgICAgdHlwZTogJ2Z1ZWwnLFxuICAgICAgICBjb21wb25lbnRGbG93OiBFX0NPTVBPTkVOVF9EQVRBX1RZUEUuQ09NUE9ORU5UX0VORVJHWV9GTE9XLFxuICAgICAgICB0b3BvbG9neVZpZXdUeXBlOiBBVE9fRUNPTVBPTkVOVF9QTEFOVF9UWVBFLkZVRUwsXG4gICAgICAgIGljb25DbGFzc05hbWU6ICdmYS1yZWd1bGFyIGZhLWdhcy1wdW1wIGZvbnQtc2l6ZS0xNnB4JyxcbiAgICAgICAgdGFnVHlwZTogVEFHX1RZUEUuRlVFTCxcbiAgICAgICAgaW5mbG93UmVjb3JkOiBFX0ZMT1dfUkVDT1JELklORkxPV19FTkVSR1lfUkVDT1JELFxuICAgICAgICBvdXRmbG93UmVjb3JkOiBFX0ZMT1dfUkVDT1JELk9VVEZMT1dfRU5FUkdZX1JFQ09SRCxcbiAgICAgICAga2V5R3JvdXBNZW51OiAnRnVlbHMnLFxuICAgIH0sXG4gICAgW0FUT19FQ09NUE9ORU5UX1BMQU5UX1RZUEUuU1RFQU1dOiB7XG4gICAgICAgIGtleVVuaXRGcm9tTGlzdDogJ1N0ZWFtJyxcbiAgICAgICAga2V5VW5pdDogJ3N0ZWFtVW5pdCcsXG4gICAgICAgIGtleUZsb3dUb3BvbG9neTogJ1N0ZWFtJyxcbiAgICAgICAga2V5VGFiOiAnU3RlYW1zJyxcbiAgICAgICAgaW5kZXhUYWI6IDMsXG4gICAgICAgIGtleUNvbXBvbmVudDogJ3N0ZWFtQ29tcG9uZW50cycsXG4gICAgICAgIGtleVJvdXRlOiAnc3RlYW0nLFxuICAgICAgICBzdWJTeXN0ZW1JZDogJ3N1YlN0ZWFtU3lzdGVtSWQnLFxuICAgICAgICBuYW1lVGFiOiAnU3RlYW0nLFxuICAgICAgICBsb2M6ICdsb2NTdGVhbScsXG4gICAgICAgIGtleVRvVXBkYXRlTW9kZWw6ICdzdGVhbURhdGEnLFxuICAgICAgICB0b3BvbG9neVR5cGU6ICdTdGVhbScsXG4gICAgICAgIHR5cGU6ICdzdGVhbScsXG4gICAgICAgIGNvbXBvbmVudEZsb3c6IEVfQ09NUE9ORU5UX0RBVEFfVFlQRS5DT01QT05FTlRfRU5FUkdZX0ZMT1csXG4gICAgICAgIHRvcG9sb2d5Vmlld1R5cGU6IEFUT19FQ09NUE9ORU5UX1BMQU5UX1RZUEUuU1RFQU0sXG4gICAgICAgIGljb25DbGFzc05hbWU6ICdmYS1yZWd1bGFyIGZhLWhlYXQgZm9udC1zaXplLTE2cHgnLFxuICAgICAgICB0YWdUeXBlOiBUQUdfVFlQRS5TVEVBTSxcbiAgICAgICAgaW5mbG93UmVjb3JkOiBFX0ZMT1dfUkVDT1JELklORkxPV19FTkVSR1lfUkVDT1JELFxuICAgICAgICBvdXRmbG93UmVjb3JkOiBFX0ZMT1dfUkVDT1JELk9VVEZMT1dfRU5FUkdZX1JFQ09SRCxcbiAgICAgICAga2V5R3JvdXBNZW51OiAnU3RlYW1zJyxcbiAgICB9LFxuICAgIFtBVE9fRUNPTVBPTkVOVF9QTEFOVF9UWVBFLkVNSVNTSU9OXToge1xuICAgICAgICBrZXlVbml0RnJvbUxpc3Q6ICdFbWlzc2lvbnMnLFxuICAgICAgICBrZXlVbml0OiAnRW1pc3Npb25zJyxcbiAgICAgICAga2V5Rmxvd1RvcG9sb2d5OiAnRW1pc3Npb25zJyxcbiAgICAgICAga2V5VGFiOiAnRW1pc3Npb25zJyxcbiAgICAgICAgaW5kZXhUYWI6IDUsXG4gICAgICAgIGtleUNvbXBvbmVudDogJ2VtaXNzaW9uQ29tcG9uZW50cycsXG4gICAgICAgIGtleVJvdXRlOiAnZW1pc3Npb24nLFxuICAgICAgICBsb2M6ICdsb2NFbWlzc2lvbicsXG4gICAgICAgIGtleVRvVXBkYXRlTW9kZWw6ICdlbWlzc2lvbkRhdGEnLFxuICAgICAgICB0b3BvbG9neVZpZXdUeXBlOiBBVE9fRUNPTVBPTkVOVF9QTEFOVF9UWVBFLkVNSVNTSU9OLFxuICAgICAgICB0YWdUeXBlOiBUQUdfVFlQRS5FTUlTU0lPTixcbiAgICAgICAgaW5mbG93UmVjb3JkOiBFX0ZMT1dfUkVDT1JELklORkxPV19FTkVSR1lfUkVDT1JELFxuICAgICAgICBvdXRmbG93UmVjb3JkOiBFX0ZMT1dfUkVDT1JELk9VVEZMT1dfRU5FUkdZX1JFQ09SRCxcbiAgICB9LFxuICAgIFtBVE9fRUNPTVBPTkVOVF9QTEFOVF9UWVBFLkNPU1RdOiB7XG4gICAgICAgIGtleVVuaXRGcm9tTGlzdDogJ0Nvc3QnLFxuICAgICAgICBrZXlVbml0OiAnQ29zdCcsXG4gICAgICAgIGtleUZsb3dUb3BvbG9neTogJ0Nvc3QnLFxuICAgICAgICBrZXlUYWI6ICdDb3N0JyxcbiAgICAgICAgaW5kZXhUYWI6IDQsXG4gICAgICAgIGtleUNvbXBvbmVudDogJ2Nvc3RDb21wb25lbnRzJyxcbiAgICAgICAga2V5Um91dGU6ICdjb3N0JyxcbiAgICAgICAgbG9jOiAnbG9jQ29zdCcsXG4gICAgICAgIGtleVRvVXBkYXRlTW9kZWw6ICdjb3N0RGF0YScsXG4gICAgICAgIHR5cGU6ICdjb3N0JyxcbiAgICAgICAgdG9wb2xvZ3lWaWV3VHlwZTogQVRPX0VDT01QT05FTlRfUExBTlRfVFlQRS5DT1NULFxuICAgICAgICB0YWdUeXBlOiBUQUdfVFlQRS5DT1NULFxuICAgICAgICBpbmZsb3dSZWNvcmQ6IEVfRkxPV19SRUNPUkQuSU5GTE9XX0VORVJHWV9SRUNPUkQsXG4gICAgICAgIG91dGZsb3dSZWNvcmQ6IEVfRkxPV19SRUNPUkQuT1VURkxPV19FTkVSR1lfUkVDT1JELFxuICAgIH0sXG4gICAgW0FUT19FQ09NUE9ORU5UX1BMQU5UX1RZUEUuV0FURVJfUExBTlRfQ0VMTF06IHtcbiAgICAgICAga2V5VW5pdEZyb21MaXN0OiAnV2F0ZXInLFxuICAgICAgICBrZXlVbml0OiAnd2F0ZXJVbml0JyxcbiAgICAgICAga2V5Rmxvd1RvcG9sb2d5OiAnV2F0ZXInLFxuICAgICAgICBrZXlUYWI6ICdXYXRlcicsXG4gICAgICAgIGluZGV4VGFiOiAtMSxcbiAgICAgICAga2V5Q29tcG9uZW50OiAnd2F0ZXJDb21wb25lbnRzX1BsYW50Q2VsbCcsXG4gICAgICAgIGtleVJvdXRlOiAnV2F0ZXInLFxuICAgICAgICBzdWJTeXN0ZW1JZDogJ3N1YldhdGVyU3lzdGVtSWQnLFxuICAgICAgICBsb2M6ICdsb2NXYXRlcicsXG4gICAgICAgIGtleVRvVXBkYXRlTW9kZWw6ICd3YXRlckRhdGFQbGFudENlbGwnLFxuICAgICAgICB0b3BvbG9neVR5cGU6ICdQbGFudFRvcG9sb2d5JyxcbiAgICAgICAgdHlwZTogJ3dhdGVyJyxcbiAgICAgICAgY29tcG9uZW50RmxvdzogRV9DT01QT05FTlRfREFUQV9UWVBFLkNPTVBPTkVOVF9XQVRFUl9GTE9XLFxuICAgICAgICB0b3BvbG9neVZpZXdUeXBlOiBBVE9fRUNPTVBPTkVOVF9QTEFOVF9UWVBFLldBVEVSLFxuICAgICAgICB0YWdUeXBlOiBUQUdfVFlQRS5XQVRFUixcbiAgICAgICAgaW5mbG93UmVjb3JkOiBFX0ZMT1dfUkVDT1JELklORkxPV19XQVRFUl9SRUNPUkQsXG4gICAgICAgIG91dGZsb3dSZWNvcmQ6IEVfRkxPV19SRUNPUkQuT1VURkxPV19XQVRFUl9SRUNPUkQsXG4gICAgfSxcbiAgICBbQVRPX0VDT01QT05FTlRfUExBTlRfVFlQRS5FTkVSR1lfUExBTlRfQ0VMTF06IHtcbiAgICAgICAga2V5VW5pdEZyb21MaXN0OiAnRW5lcmd5JyxcbiAgICAgICAga2V5VW5pdDogJ2VuZXJneVVuaXQnLFxuICAgICAgICBrZXlGbG93VG9wb2xvZ3k6ICdFbmVyZ3knLFxuICAgICAgICBrZXlUYWI6ICdFbmVyZ3knLFxuICAgICAgICBpbmRleFRhYjogMyxcbiAgICAgICAga2V5Q29tcG9uZW50OiAnJyxcbiAgICAgICAga2V5Um91dGU6ICdlbmVyZ3knLFxuICAgICAgICBsb2M6ICdsb2NFbmVyZ3knLFxuICAgICAgICBrZXlUb1VwZGF0ZU1vZGVsOiAnJyxcbiAgICAgICAgdHlwZTogJ3dhdGVyJyxcbiAgICAgICAgY29tcG9uZW50RmxvdzogRV9DT01QT05FTlRfREFUQV9UWVBFLkNPTVBPTkVOVF9XQVRFUl9GTE9XLFxuICAgICAgICB0b3BvbG9neVZpZXdUeXBlOiBBVE9fRUNPTVBPTkVOVF9QTEFOVF9UWVBFLkVORVJHWSxcbiAgICAgICAgdGFnVHlwZTogVEFHX1RZUEUuRU5FUkdZLFxuICAgICAgICBpbmZsb3dSZWNvcmQ6IEVfRkxPV19SRUNPUkQuSU5GTE9XX0VORVJHWV9SRUNPUkQsXG4gICAgICAgIG91dGZsb3dSZWNvcmQ6IEVfRkxPV19SRUNPUkQuT1VURkxPV19FTkVSR1lfUkVDT1JELFxuICAgIH0sXG4gICAgW0FUT19FQ09NUE9ORU5UX1BMQU5UX1RZUEUuRUxFQ1RSSUNJVFlfUExBTlRfQ0VMTF06IHtcbiAgICAgICAga2V5VW5pdEZyb21MaXN0OiAnRWxlY3RyaWNpdHknLFxuICAgICAgICBrZXlVbml0OiAnZWxlY3RyaWNpdHlVbml0JyxcbiAgICAgICAga2V5Rmxvd1RvcG9sb2d5OiAnRWxlY3RyaWNpdHknLFxuICAgICAgICBrZXlUYWI6ICdFbGVjdHJpY2FscycsXG4gICAgICAgIGluZGV4VGFiOiAwLFxuICAgICAgICBrZXlDb21wb25lbnQ6ICdlbGVjdHJpY0NvbXBvbmVudHNfUGxhbnRDZWxsJyxcbiAgICAgICAga2V5Um91dGU6ICdlbGVjdHJpY2l0eScsXG4gICAgICAgIHN1YlN5c3RlbUlkOiAnc3ViRWxlY3RyaWNTeXN0ZW1JZCcsXG4gICAgICAgIG5hbWVUYWI6ICdFbGVjdHJpY2l0eScsXG4gICAgICAgIGxvYzogJ2xvY0VsZWN0cmljaXR5JyxcbiAgICAgICAga2V5VG9VcGRhdGVNb2RlbDogJ2VsZWN0cmljRGF0YVBsYW50Q2VsbCcsXG4gICAgICAgIHRvcG9sb2d5VHlwZTogJ0VsZWN0cmljaXR5JyxcbiAgICAgICAgdHlwZTogJ2VsZWN0cmljaXR5JyxcbiAgICAgICAgY29tcG9uZW50RmxvdzogRV9DT01QT05FTlRfREFUQV9UWVBFLkNPTVBPTkVOVF9FTkVSR1lfRkxPVyxcbiAgICAgICAgdG9wb2xvZ3lWaWV3VHlwZTogQVRPX0VDT01QT05FTlRfUExBTlRfVFlQRS5FTEVDVFJJQ0lUWSxcbiAgICAgICAgdGFnVHlwZTogVEFHX1RZUEUuRUxFQ1RSSUNJVFksXG4gICAgICAgIGluZmxvd1JlY29yZDogRV9GTE9XX1JFQ09SRC5JTkZMT1dfRU5FUkdZX1JFQ09SRCxcbiAgICAgICAgb3V0Zmxvd1JlY29yZDogRV9GTE9XX1JFQ09SRC5PVVRGTE9XX0VORVJHWV9SRUNPUkQsXG4gICAgfSxcbiAgICBbQVRPX0VDT01QT05FTlRfUExBTlRfVFlQRS5OQVRVUkFMX0dBU19QTEFOVF9DRUxMXToge1xuICAgICAgICBrZXlVbml0RnJvbUxpc3Q6ICdHYXMnLFxuICAgICAgICBrZXlVbml0OiAnbmF0dXJhbEdhc1VuaXQnLFxuICAgICAgICBrZXlGbG93VG9wb2xvZ3k6ICdOYXR1cmFsR2FzJyxcbiAgICAgICAga2V5VGFiOiAnTmF0dXJhbEdhc2VzJyxcbiAgICAgICAgaW5kZXhUYWI6IDEsXG4gICAgICAgIGtleUNvbXBvbmVudDogJ2dhc0NvbXBvbmVudHNfUGxhbnRDZWxsJyxcbiAgICAgICAga2V5Um91dGU6ICdnYXMnLFxuICAgICAgICBzdWJTeXN0ZW1JZDogJ3N1Ykdhc1N5c3RlbUlkJyxcbiAgICAgICAgbmFtZVRhYjogJ05hdHVyYWwgR2FzJyxcbiAgICAgICAgbG9jOiAnbG9jR2FzJyxcbiAgICAgICAga2V5VG9VcGRhdGVNb2RlbDogJ2dhc0RhdGFQbGFudENlbGwnLFxuICAgICAgICB0b3BvbG9neVR5cGU6ICdOYXR1cmFsR2FzJyxcbiAgICAgICAgdHlwZTogJ25hdHVyYWxnYXMnLFxuICAgICAgICBjb21wb25lbnRGbG93OiBFX0NPTVBPTkVOVF9EQVRBX1RZUEUuQ09NUE9ORU5UX0VORVJHWV9GTE9XLFxuICAgICAgICB0b3BvbG9neVZpZXdUeXBlOiBBVE9fRUNPTVBPTkVOVF9QTEFOVF9UWVBFLk5BVFVSQUxfR0FTLFxuICAgICAgICB0YWdUeXBlOiBUQUdfVFlQRS5OQVRVUkFMX0dBUyxcbiAgICAgICAgaW5mbG93UmVjb3JkOiBFX0ZMT1dfUkVDT1JELklORkxPV19FTkVSR1lfUkVDT1JELFxuICAgICAgICBvdXRmbG93UmVjb3JkOiBFX0ZMT1dfUkVDT1JELk9VVEZMT1dfRU5FUkdZX1JFQ09SRCxcbiAgICB9LFxuICAgIFtBVE9fRUNPTVBPTkVOVF9QTEFOVF9UWVBFLkZVRUxfUExBTlRfQ0VMTF06IHtcbiAgICAgICAga2V5VW5pdEZyb21MaXN0OiAnRnVlbCcsXG4gICAgICAgIGtleVVuaXQ6ICdmdWVsVW5pdCcsXG4gICAgICAgIGtleUZsb3dUb3BvbG9neTogJ0Z1ZWwnLFxuICAgICAgICBrZXlUYWI6ICdGdWVscycsXG4gICAgICAgIGluZGV4VGFiOiAyLFxuICAgICAgICBrZXlDb21wb25lbnQ6ICdmdWVsQ29tcG9uZW50c19QbGFudENlbGwnLFxuICAgICAgICBrZXlSb3V0ZTogJ2Z1ZWwnLFxuICAgICAgICBzdWJTeXN0ZW1JZDogJ3N1YkZ1ZWxTeXN0ZW1JZCcsXG4gICAgICAgIG5hbWVUYWI6ICdGdWVsJyxcbiAgICAgICAgbG9jOiAnbG9jRnVlbCcsXG4gICAgICAgIGtleVRvVXBkYXRlTW9kZWw6ICdmdWVsRGF0YVBsYW50Q2VsbCcsXG4gICAgICAgIHRvcG9sb2d5VHlwZTogJ0Z1ZWwnLFxuICAgICAgICB0eXBlOiAnZnVlbCcsXG4gICAgICAgIGNvbXBvbmVudEZsb3c6IEVfQ09NUE9ORU5UX0RBVEFfVFlQRS5DT01QT05FTlRfRU5FUkdZX0ZMT1csXG4gICAgICAgIHRvcG9sb2d5Vmlld1R5cGU6IEFUT19FQ09NUE9ORU5UX1BMQU5UX1RZUEUuRlVFTCxcbiAgICAgICAgdGFnVHlwZTogVEFHX1RZUEUuRlVFTCxcbiAgICAgICAgaW5mbG93UmVjb3JkOiBFX0ZMT1dfUkVDT1JELklORkxPV19FTkVSR1lfUkVDT1JELFxuICAgICAgICBvdXRmbG93UmVjb3JkOiBFX0ZMT1dfUkVDT1JELk9VVEZMT1dfRU5FUkdZX1JFQ09SRCxcbiAgICB9LFxuXG4gICAgW0FUT19FQ09NUE9ORU5UX1BMQU5UX1RZUEUuU1RFQU1fUExBTlRfQ0VMTF06IHtcbiAgICAgICAga2V5VW5pdEZyb21MaXN0OiAnU3RlYW0nLFxuICAgICAgICBrZXlVbml0OiAnc3RlYW1Vbml0JyxcbiAgICAgICAga2V5Rmxvd1RvcG9sb2d5OiAnU3RlYW0nLFxuICAgICAgICBrZXlUYWI6ICdTdGVhbXMnLFxuICAgICAgICBpbmRleFRhYjogMixcbiAgICAgICAga2V5Q29tcG9uZW50OiAnc3RlYW1Db21wb25lbnRzX1BsYW50Q2VsbCcsXG4gICAgICAgIGtleVJvdXRlOiAnc3RlYW0nLFxuICAgICAgICBzdWJTeXN0ZW1JZDogJ3N1YlN0ZWFtU3lzdGVtSWQnLFxuICAgICAgICBuYW1lVGFiOiAnU3RlYW0nLFxuICAgICAgICBsb2M6ICdsb2NTdGVhbScsXG4gICAgICAgIGtleVRvVXBkYXRlTW9kZWw6ICdzdGVhbURhdGFQbGFudENlbGwnLFxuICAgICAgICB0b3BvbG9neVR5cGU6ICdTdGVhbScsXG4gICAgICAgIHR5cGU6ICdzdGVhbScsXG4gICAgICAgIGNvbXBvbmVudEZsb3c6IEVfQ09NUE9ORU5UX0RBVEFfVFlQRS5DT01QT05FTlRfRU5FUkdZX0ZMT1csXG4gICAgICAgIHRvcG9sb2d5Vmlld1R5cGU6IEFUT19FQ09NUE9ORU5UX1BMQU5UX1RZUEUuU1RFQU0sXG4gICAgICAgIHRhZ1R5cGU6IFRBR19UWVBFLlNURUFNLFxuICAgICAgICBpbmZsb3dSZWNvcmQ6IEVfRkxPV19SRUNPUkQuSU5GTE9XX0VORVJHWV9SRUNPUkQsXG4gICAgICAgIG91dGZsb3dSZWNvcmQ6IEVfRkxPV19SRUNPUkQuT1VURkxPV19FTkVSR1lfUkVDT1JELFxuICAgIH0sXG5cbiAgICBbQVRPX0VDT01QT05FTlRfUExBTlRfVFlQRS5FTUlTU0lPTl9QTEFOVF9DRUxMXToge1xuICAgICAgICBrZXlVbml0RnJvbUxpc3Q6ICdFbWlzc2lvbnMnLFxuICAgICAgICBrZXlVbml0OiAnRW1pc3Npb25zJyxcbiAgICAgICAga2V5Rmxvd1RvcG9sb2d5OiAnRW1pc3Npb25zJyxcbiAgICAgICAga2V5VGFiOiAnRW1pc3Npb25zJyxcbiAgICAgICAgaW5kZXhUYWI6IDUsXG4gICAgICAgIGtleUNvbXBvbmVudDogJycsXG4gICAgICAgIGtleVJvdXRlOiAnZW1pc3Npb24nLFxuICAgICAgICBsb2M6ICdsb2NFbWlzc2lvbicsXG4gICAgICAgIGtleVRvVXBkYXRlTW9kZWw6ICcnLFxuICAgICAgICB0b3BvbG9neVZpZXdUeXBlOiBBVE9fRUNPTVBPTkVOVF9QTEFOVF9UWVBFLkVNSVNTSU9OLFxuICAgICAgICB0YWdUeXBlOiBUQUdfVFlQRS5FTUlTU0lPTixcbiAgICAgICAgaW5mbG93UmVjb3JkOiBFX0ZMT1dfUkVDT1JELklORkxPV19FTkVSR1lfUkVDT1JELFxuICAgICAgICBvdXRmbG93UmVjb3JkOiBFX0ZMT1dfUkVDT1JELk9VVEZMT1dfRU5FUkdZX1JFQ09SRCxcbiAgICB9LFxuICAgIFtBVE9fRUNPTVBPTkVOVF9QTEFOVF9UWVBFLkNPU1RfUExBTlRfQ0VMTF06IHtcbiAgICAgICAga2V5VW5pdEZyb21MaXN0OiAnQ29zdCcsXG4gICAgICAgIGtleVVuaXQ6ICdDb3N0JyxcbiAgICAgICAga2V5Rmxvd1RvcG9sb2d5OiAnQ29zdCcsXG4gICAgICAgIGtleVRhYjogJ0Nvc3QnLFxuICAgICAgICBpbmRleFRhYjogNCxcbiAgICAgICAga2V5Q29tcG9uZW50OiAnY29zdENvbXBvbmVudHNfUGxhbnRDZWxsJyxcbiAgICAgICAga2V5Um91dGU6ICdjb3N0JyxcbiAgICAgICAgbG9jOiAnbG9jQ29zdCcsXG4gICAgICAgIGtleVRvVXBkYXRlTW9kZWw6ICdjb3N0RGF0YVBsYW50Q2VsbCcsXG4gICAgICAgIHR5cGU6ICdjb3N0JyxcbiAgICAgICAgdG9wb2xvZ3lWaWV3VHlwZTogQVRPX0VDT01QT05FTlRfUExBTlRfVFlQRS5DT1NULFxuICAgICAgICB0YWdUeXBlOiBUQUdfVFlQRS5DT1NULFxuICAgICAgICBpbmZsb3dSZWNvcmQ6IEVfRkxPV19SRUNPUkQuSU5GTE9XX0VORVJHWV9SRUNPUkQsXG4gICAgICAgIG91dGZsb3dSZWNvcmQ6IEVfRkxPV19SRUNPUkQuT1VURkxPV19FTkVSR1lfUkVDT1JELFxuICAgIH0sXG5cbiAgICAvLyAvLyBBZGQgd2F0ZXIgdG8gcGxhbnQgdHlwZVxuICAgIC8vIFtBVE9fRUNPTVBPTkVOVF9QTEFOVF9UWVBFLldBVEVSXToge1xuICAgIC8vICAgICBrZXlVbml0RnJvbUxpc3Q6ICdXYXRlcicsXG4gICAgLy8gICAgIGtleVVuaXQ6ICdXYXRlcicsXG4gICAgLy8gICAgIGtleUZsb3dUb3BvbG9neTogJ1dhdGVyJyxcbiAgICAvLyAgICAga2V5VGFiOiAnV2F0ZXInLFxuICAgIC8vICAgICBpbmRleFRhYjogNSxcbiAgICAvLyAgICAga2V5Q29tcG9uZW50OiAnd2F0ZXJDb21wb25lbnRzJyxcbiAgICAvLyAgICAga2V5Um91dGU6ICd3YXRlcidcbiAgICAvLyB9LFxufTtcblxuLy8gZXhwb3J0IGVudW0gVEFSR0VUX0VfVFlQRSB7XG4vLyAgICAgVEFSR0VUID0gJ1RhcmdldCcsXG4vLyAgICAgR09BTCA9ICdHb2FsJyxcbi8vICAgICBQUk9KRUNUID0gJ1Byb2plY3QnLFxuLy8gICAgIE1JTEVTVE9ORSA9ICdNaWxlc3RvbmUnLFxuLy8gfVxuXG4vLyBjb25zdCBDT0xPUl9TVEFUVVMgPSB7XG4vLyAgICAgUkVEOiB7XG4vLyAgICAgICAgIGhleENvbG9yOiAnI0VDMUIyNCcsXG4vLyAgICAgICAgIGNsYXNzQ29sb3I6ICdjb2xvci1hbGl6YXJpbicsXG4vLyAgICAgfSxcbi8vICAgICBZRUxMT1c6IHtcbi8vICAgICAgICAgaGV4Q29sb3I6ICcjRTA5RjI1Jyxcbi8vICAgICAgICAgY2xhc3NDb2xvcjogJ2NvbG9yLWdhbGxpYW5vLTInLFxuLy8gICAgIH0sXG4vLyAgICAgR1JFRU46IHtcbi8vICAgICAgICAgaGV4Q29sb3I6ICcjMTk5QzY5Jyxcbi8vICAgICAgICAgY2xhc3NDb2xvcjogJ2NvbG9yLWVsZi1ncmVlbicsXG4vLyAgICAgfSxcbi8vIH07XG5cbi8vIGV4cG9ydCBjb25zdCBUQVJHRVRfU1RBVFVTX0NPTE9SID0ge1xuLy8gICAgIFtUQVJHRVRfRV9UWVBFLlRBUkdFVF06IHtcbi8vICAgICAgICAgMDogQ09MT1JfU1RBVFVTLllFTExPVyxcbi8vICAgICAgICAgMTogQ09MT1JfU1RBVFVTLllFTExPVyxcbi8vICAgICAgICAgMjogQ09MT1JfU1RBVFVTLllFTExPVyxcbi8vICAgICAgICAgMzogQ09MT1JfU1RBVFVTLkdSRUVOLFxuLy8gICAgICAgICA0OiBDT0xPUl9TVEFUVVMuUkVELFxuLy8gICAgICAgICA1OiBDT0xPUl9TVEFUVVMuUkVELFxuLy8gICAgICAgICA2OiBDT0xPUl9TVEFUVVMuUkVELFxuLy8gICAgIH0sXG4vLyAgICAgW1RBUkdFVF9FX1RZUEUuR09BTF06IHtcbi8vICAgICAgICAgMDogQ09MT1JfU1RBVFVTLllFTExPVyxcbi8vICAgICAgICAgMTogQ09MT1JfU1RBVFVTLllFTExPVyxcbi8vICAgICAgICAgMjogQ09MT1JfU1RBVFVTLllFTExPVyxcbi8vICAgICAgICAgMzogQ09MT1JfU1RBVFVTLllFTExPVyxcbi8vICAgICAgICAgNDogQ09MT1JfU1RBVFVTLllFTExPVyxcbi8vICAgICAgICAgNTogQ09MT1JfU1RBVFVTLlJFRCxcbi8vICAgICAgICAgNjogQ09MT1JfU1RBVFVTLlJFRCxcbi8vICAgICAgICAgNzogQ09MT1JfU1RBVFVTLkdSRUVOLFxuLy8gICAgICAgICAxMDogQ09MT1JfU1RBVFVTLlJFRCxcbi8vICAgICB9LFxuXG4vLyAgICAgW1RBUkdFVF9FX1RZUEUuUFJPSkVDVF06IHtcbi8vICAgICAgICAgMDogQ09MT1JfU1RBVFVTLllFTExPVyxcbi8vICAgICAgICAgMTogQ09MT1JfU1RBVFVTLllFTExPVyxcbi8vICAgICAgICAgMjogQ09MT1JfU1RBVFVTLlJFRCxcbi8vICAgICAgICAgMzogQ09MT1JfU1RBVFVTLkdSRUVOLFxuLy8gICAgICAgICA0OiBDT0xPUl9TVEFUVVMuUkVELFxuLy8gICAgICAgICA1OiBDT0xPUl9TVEFUVVMuUkVELFxuLy8gICAgICAgICA2OiBDT0xPUl9TVEFUVVMuUkVELFxuLy8gICAgICAgICAxMDogQ09MT1JfU1RBVFVTLlJFRCxcbi8vICAgICB9LFxuLy8gICAgIFtUQVJHRVRfRV9UWVBFLk1JTEVTVE9ORV06IHtcbi8vICAgICAgICAgMDogQ09MT1JfU1RBVFVTLllFTExPVyxcbi8vICAgICAgICAgMTogQ09MT1JfU1RBVFVTLllFTExPVyxcbi8vICAgICAgICAgMjogQ09MT1JfU1RBVFVTLllFTExPVyxcbi8vICAgICAgICAgMzogQ09MT1JfU1RBVFVTLlJFRCxcbi8vICAgICAgICAgNDogQ09MT1JfU1RBVFVTLkdSRUVOLFxuLy8gICAgICAgICA1OiBDT0xPUl9TVEFUVVMuUkVELFxuLy8gICAgICAgICA2OiBDT0xPUl9TVEFUVVMuUkVELFxuLy8gICAgICAgICAxMDogQ09MT1JfU1RBVFVTLlJFRCxcbi8vICAgICB9LFxuLy8gfTtcblxuLy8gZXhwb3J0IGVudW0gREFUQV9UWVBFUyB7XG4vLyAgICAgU1RSSU5HID0gJ3N0cmluZycsXG4vLyAgICAgTlVNQkVSID0gJ251bWJlcicsXG4vLyAgICAgQk9PTEVBTiA9ICdib29sZWFuJyxcbi8vICAgICBEQVRFID0gJ0RhdGUnLFxuLy8gICAgIFZBTFVFX1VOSVQgPSAndmFsdWVVbml0Jyxcbi8vICAgICBWQUxVRV9DVVJSRU5DWSA9ICd2YWx1ZUNvc3QnLFxuLy8gICAgIFZBTFVFX0NVUlJFTkNZX1BFUl9VTklUID0gJ3ZhbHVlQ3VycmVuY3lQZXJVbml0Jyxcbi8vICAgICAvLyBWQUxVRV9XQVRFUiA9ICd2YWx1ZVdhdGVyJyxcbi8vICAgICAvLyBWQUxVRV9FTEVDVFJJQ0lUWSA9ICd2YWx1ZUVsZWN0cmljaXR5Jyxcbi8vICAgICAvLyBWQUxVRV9OQVRVUkFMX0dBUyA9ICd2YWx1ZU5hdHVyYWxHYXMnLFxuLy8gICAgIC8vIFZBTFVFX0ZVRUwgPSAndmFsdWVGdWVsJyxcbi8vICAgICAvLyBWQUxVRV9DTzJlX0VNSVNTSU9OID0gJ3ZhbHVlQ08yZUVtaXNzaW9uJyxcbi8vICAgICAvLyBWQUxVRV9FTkVSWSA9ICd2YWx1ZUVuZXJneScsXG4vLyAgICAgU1BFQ0lBTCA9ICdzcGVjaWFsJyxcbi8vIH1cblxuLy8gZXhwb3J0IGVudW0gRV9EQVRFX1BJQ0tFUl9NT0RFIHtcbi8vICAgICBEQVRFID0gJ2RhdGUnLFxuLy8gICAgIFdFRUsgPSAnd2VlaycsXG4vLyAgICAgTU9OVEggPSAnbW9udGgnLFxuLy8gICAgIFlFQVIgPSAneWVhcicsXG4vLyAgICAgUkFXID0gJ3JhdycsXG4vLyB9XG5cbi8vIGV4cG9ydCBjb25zdCBEQVRFX1BJQ0tFUl9NT0RFOiB7XG4vLyAgICAgW2tleSBpbiBzdHJpbmddOiBhbnk7XG4vLyB9ID0ge1xuLy8gICAgIFtFX0ZyZXF1ZW5jeS5jdXJyZW50XToge1xuLy8gICAgICAgICB2YWx1ZTogRV9EQVRFX1BJQ0tFUl9NT0RFLkRBVEUsXG4vLyAgICAgICAgIGZvcm1hdDogJ01NL0REL1lZWVknLFxuLy8gICAgICAgICBmb3JtYXRQaWNrZXI6ICdNTS9kZC95eXl5Jyxcbi8vICAgICAgICAgaW5kZXg6IDAsXG4vLyAgICAgICAgIHZhbHVlQW5hbHl0aWNzOiBBbmFseXRpY3NTZXJ2aWNlLkVOVU1fREFURV9UWVBFLkRBWSxcbi8vICAgICB9LFxuLy8gICAgIFtFX0ZyZXF1ZW5jeS5kYWlseV06IHtcbi8vICAgICAgICAgdmFsdWU6IEVfREFURV9QSUNLRVJfTU9ERS5EQVRFLFxuLy8gICAgICAgICBmb3JtYXQ6ICdNTS9ERC9ZWVlZJyxcbi8vICAgICAgICAgZm9ybWF0UGlja2VyOiAnTU0vZGQveXl5eScsXG4vLyAgICAgICAgIGluZGV4OiAwLFxuLy8gICAgICAgICB2YWx1ZUFuYWx5dGljczogQW5hbHl0aWNzU2VydmljZS5FTlVNX0RBVEVfVFlQRS5EQVksXG4vLyAgICAgfSxcbi8vICAgICBbRV9GcmVxdWVuY3kud2Vla2x5XToge1xuLy8gICAgICAgICB2YWx1ZTogRV9EQVRFX1BJQ0tFUl9NT0RFLldFRUssXG4vLyAgICAgICAgIGluZGV4OiAxLFxuLy8gICAgICAgICAvLyBmb3JtYXQ6ICdNTS9ERC9ZWVlZJ1xuLy8gICAgIH0sXG4vLyAgICAgW0VfRnJlcXVlbmN5Lm1vbnRobHldOiB7XG4vLyAgICAgICAgIHZhbHVlOiBFX0RBVEVfUElDS0VSX01PREUuTU9OVEgsXG4vLyAgICAgICAgIGZvcm1hdDogJ01NL1lZWVknLFxuLy8gICAgICAgICBmb3JtYXRQaWNrZXI6ICdNTS95eXl5Jyxcbi8vICAgICAgICAgaW5kZXg6IDIsXG4vLyAgICAgICAgIHZhbHVlQW5hbHl0aWNzOiBBbmFseXRpY3NTZXJ2aWNlLkVOVU1fREFURV9UWVBFLk1PTlRILFxuLy8gICAgIH0sXG4vLyAgICAgW0VfRnJlcXVlbmN5LnllYXJseV06IHtcbi8vICAgICAgICAgdmFsdWU6IEVfREFURV9QSUNLRVJfTU9ERS5ZRUFSLFxuLy8gICAgICAgICBmb3JtYXQ6ICdZWVlZJyxcbi8vICAgICAgICAgZm9ybWF0UGlja2VyOiAneXl5eScsXG4vLyAgICAgICAgIGluZGV4OiAzLFxuLy8gICAgICAgICB2YWx1ZUFuYWx5dGljczogQW5hbHl0aWNzU2VydmljZS5FTlVNX0RBVEVfVFlQRS5ZRUFSLFxuLy8gICAgIH0sXG4vLyAgICAgW0VfRnJlcXVlbmN5LmFubnVhbF06IHtcbi8vICAgICAgICAgdmFsdWU6IEVfREFURV9QSUNLRVJfTU9ERS5ZRUFSLFxuLy8gICAgICAgICBmb3JtYXQ6ICdZWVlZJyxcbi8vICAgICAgICAgZm9ybWF0UGlja2VyOiAneXl5eScsXG4vLyAgICAgICAgIGluZGV4OiAzLFxuLy8gICAgICAgICB2YWx1ZUFuYWx5dGljczogQW5hbHl0aWNzU2VydmljZS5FTlVNX0RBVEVfVFlQRS5ZRUFSLFxuLy8gICAgIH0sXG4vLyAgICAgW0VfRnJlcXVlbmN5LnJhd106IHtcbi8vICAgICAgICAgdmFsdWU6IEVfREFURV9QSUNLRVJfTU9ERS5SQVcsXG4vLyAgICAgICAgIGZvcm1hdDogJ01NL0REL1lZWVknLFxuLy8gICAgICAgICBmb3JtYXRQaWNrZXI6ICdNTS9kZC95eXl5Jyxcbi8vICAgICAgICAgaW5kZXg6IDAsXG4vLyAgICAgICAgIHZhbHVlQW5hbHl0aWNzOiBBbmFseXRpY3NTZXJ2aWNlLkVOVU1fREFURV9UWVBFLkRBWSxcbi8vICAgICB9LFxuLy8gfTtcblxuLy8gZXhwb3J0IGVudW0gRV9QUk9EVUNUSU9OX1RZUEUge1xuLy8gICAgIFBST0RVQ1QgPSAncHJvZHVjdCcsXG4vLyAgICAgUFJPRFVDVF9MSU5FID0gJ3Byb2R1Y3QtbGluZScsXG4vLyB9XG5cbi8vIGV4cG9ydCBlbnVtIEVfUFJPRFVDVElPTl9NRUFTVVJFTUVOVF9UWVBFIHtcbi8vICAgICBQUk9EVUNUX1dBVEVSX0lOX1NPVVJDRSA9ICdQcm9kdWN0V2F0ZXJJblNvdXJjZScsXG4vLyAgICAgUFJPRFVDVF9XQVRFUl9PVVRfU09VUkNFID0gJ1Byb2R1Y3RXYXRlck91dFNvdXJjZScsXG4vLyAgICAgUFJPRFVDVF9FTkVSR1lfSU5fU09VUkNFID0gJ1Byb2R1Y3RFbmVyZ3lJblNvdXJjZScsXG4vLyAgICAgUFJPRFVDVF9FTkVSR1lfT1VUX1NPVVJDRSA9ICdQcm9kdWN0RW5lcmd5T3V0U291cmNlJyxcbi8vIH1cblxuLy8gZXhwb3J0IGNvbnN0IEVfUFJPRFVDVElPTl9NRUFTVVJFTUVOVF9QQVlMT0FEID0ge1xuLy8gICAgIFtFX1BST0RVQ1RJT05fTUVBU1VSRU1FTlRfVFlQRS5QUk9EVUNUX1dBVEVSX0lOX1NPVVJDRV06IHtcbi8vICAgICAgICAgY3JlYXRlUGFyZW50UGF5bG9hZDogJ0NyZWF0ZVByb2R1Y3RXYXRlckluU291cmNlJyxcbi8vICAgICAgICAgdXBkYXRlUGFyZW50UGF5bG9hZDogJ1VwZGF0ZVByb2R1Y3RXYXRlckluU291cmNlJyxcbi8vICAgICAgICAgcGF5bG9hZDogJ1Byb2R1Y3RXYXRlckluU291cmNlJyxcbi8vICAgICAgICAga2V5UmVzcG9uc2U6ICd3YXRlckluZmxvd3MnLFxuLy8gICAgICAgICBrZXlGb3JtOiAnd2F0ZXJJbnRha2VNZWFzdXJlbWVudCcsXG4vLyAgICAgICAgIGtleUNvbXBvbmVudDogWyd3YXRlckNvbXBvbmVudHMnXSxcbi8vICAgICAgICAgdGV4dEFkZDogJ2ludGFrZSBtZWFzdXJlbWVudCcsXG4vLyAgICAgICAgIGNvbXBvbmVudFR5cGU6ICdXYXRlcicsXG4vLyAgICAgfSxcbi8vICAgICBbRV9QUk9EVUNUSU9OX01FQVNVUkVNRU5UX1RZUEUuUFJPRFVDVF9XQVRFUl9PVVRfU09VUkNFXToge1xuLy8gICAgICAgICBjcmVhdGVQYXJlbnRQYXlsb2FkOiAnQ3JlYXRlUHJvZHVjdFdhdGVyT3V0U291cmNlJyxcbi8vICAgICAgICAgdXBkYXRlUGFyZW50UGF5bG9hZDogJ1VwZGF0ZVByb2R1Y3RXYXRlck91dFNvdXJjZScsXG4vLyAgICAgICAgIHBheWxvYWQ6ICdQcm9kdWN0V2F0ZXJPdXRTb3VyY2UnLFxuLy8gICAgICAgICBrZXlSZXNwb25zZTogJ3dhdGVyT3V0Zmxvd3MnLFxuLy8gICAgICAgICBrZXlGb3JtOiAnd2F0ZXJPdXRwdXRNZWFzdXJlbWVudCcsXG4vLyAgICAgICAgIGtleUNvbXBvbmVudDogWyd3YXRlckNvbXBvbmVudHMnXSxcbi8vICAgICAgICAgdGV4dEFkZDogJ291dHB1dCBtZWFzdXJlbWVudCcsXG4vLyAgICAgICAgIGNvbXBvbmVudFR5cGU6ICdXYXRlcicsXG4vLyAgICAgfSxcbi8vICAgICBbRV9QUk9EVUNUSU9OX01FQVNVUkVNRU5UX1RZUEUuUFJPRFVDVF9FTkVSR1lfSU5fU09VUkNFXToge1xuLy8gICAgICAgICBjcmVhdGVQYXJlbnRQYXlsb2FkOiAnQ3JlYXRlUHJvZHVjdEVuZXJneUluU291cmNlJyxcbi8vICAgICAgICAgdXBkYXRlUGFyZW50UGF5bG9hZDogJ1VwZGF0ZVByb2R1Y3RFbmVyZ3lJblNvdXJjZScsXG4vLyAgICAgICAgIHBheWxvYWQ6ICdQcm9kdWN0RW5lcmd5SW5Tb3VyY2UnLFxuLy8gICAgICAgICBrZXlSZXNwb25zZTogJ2VuZXJneUluZmxvd3MnLFxuLy8gICAgICAgICBrZXlGb3JtOiAnZW5lcmd5SW50YWtlTWVhc3VyZW1lbnQnLFxuLy8gICAgICAgICBrZXlDb21wb25lbnQ6IFsnZWxlY3RyaWNDb21wb25lbnRzJywgJ2Z1ZWxDb21wb25lbnRzJywgJ2dhc0NvbXBvbmVudHMnXSxcbi8vICAgICAgICAgdGV4dEFkZDogJ2ludGFrZSBtZWFzdXJlbWVudCcsXG4vLyAgICAgICAgIGNvbXBvbmVudFR5cGU6ICdFbmVyZ3knLFxuLy8gICAgIH0sXG4vLyAgICAgW0VfUFJPRFVDVElPTl9NRUFTVVJFTUVOVF9UWVBFLlBST0RVQ1RfRU5FUkdZX09VVF9TT1VSQ0VdOiB7XG4vLyAgICAgICAgIGNyZWF0ZVBhcmVudFBheWxvYWQ6ICdDcmVhdGVQcm9kdWN0RW5lcmd5T3V0U291cmNlJyxcbi8vICAgICAgICAgdXBkYXRlUGFyZW50UGF5bG9hZDogJ1VwZGF0ZVByb2R1Y3RFbmVyZ3lPdXRTb3VyY2UnLFxuLy8gICAgICAgICBwYXlsb2FkOiAnUHJvZHVjdEVuZXJneU91dFNvdXJjZScsXG4vLyAgICAgICAgIGtleVJlc3BvbnNlOiAnZW5lcmd5T3V0Zmxvd3MnLFxuLy8gICAgICAgICBrZXlGb3JtOiAnZW5lcmd5RXhwb3J0TWVhc3VyZW1lbnQnLFxuLy8gICAgICAgICBrZXlDb21wb25lbnQ6IFsnZWxlY3RyaWNDb21wb25lbnRzJywgJ2Z1ZWxDb21wb25lbnRzJywgJ2dhc0NvbXBvbmVudHMnXSxcbi8vICAgICAgICAgdGV4dEFkZDogJ2V4cG9ydCBtZWFzdXJlbWVudCcsXG4vLyAgICAgICAgIGNvbXBvbmVudFR5cGU6ICdFbmVyZ3knLFxuLy8gICAgIH0sXG4vLyB9O1xuXG4vLyBleHBvcnQgZW51bSBTT1JUX0RJUkVDVElPTiB7XG4vLyAgICAgQVNDRU5EID0gJ2FzY2VuZCcsXG4vLyAgICAgREVTQ0VORCA9ICdkZXNjZW5kJyxcbi8vIH1cblxuLy8gZXhwb3J0IGVudW0gUk9VVEVfQ09NUE9ORU5UX1RZUEUge1xuLy8gICAgIENPTVBPTkVOVCA9ICdjb21wb25lbnQnLFxuLy8gICAgIFBMQU5UX0NFTEwgPSAncGxhbnQtY2VsbCcsXG4vLyB9XG5cbi8vIGV4cG9ydCBlbnVtIFBMQUNFSE9MREVSX0lOUFVUIHtcbi8vICAgICBGSUVMRF9GSUxFID0gJ0VudGVyIHRoZSBmaWxlIFVSTCcsXG4vLyB9XG5cbi8vIGV4cG9ydCBlbnVtIFRZUEVfU0laRV9DT05UUk9MIHtcbi8vICAgICBOT1JNQUwgPSAnbm9ybWFsJyxcbi8vICAgICBTTUFMTCA9ICdzbWFsbCcsXG4vLyB9XG5cbi8vIGV4cG9ydCBlbnVtIFJBVEVfV0FURVJfUVVBTElUWV9JTkRFWF9JTkZPIHtcbi8vICAgICBFWENFTExFTlQgPSAnZXhjZWxsZW50Jyxcbi8vICAgICBHT09EID0gJ2dvb2QnLFxuLy8gICAgIEFWRVJBR0UgPSAnYXZlcmFnZScsXG4vLyAgICAgRkFJUiA9ICdmYWlyJyxcbi8vICAgICBQT09SID0gJ3Bvb3InLFxuLy8gfVxuXG4vLyAvLyBleHBvcnQgY29uc3QgQ09MT1JfV0FURVJfUVVBTElUWV9JTkRFWF9JTkZPID0ge1xuLy8gLy8gICAgIFtSQVRFX1dBVEVSX1FVQUxJVFlfSU5ERVhfSU5GTy5FWENFTExFTlRdOiB7XG4vLyAvLyAgICAgICAgIGNvbG9yOiBFTlVNX1JJU0tfQ09MT1IuR1JFRU4sXG4vLyAvLyAgICAgICAgIGNvbG9yQ2xhc3M6ICdjb2xvci1lbGYtZ3JlZW4nLFxuLy8gLy8gICAgIH0sXG4vLyAvLyAgICAgW1JBVEVfV0FURVJfUVVBTElUWV9JTkRFWF9JTkZPLkdPT0RdOiB7XG4vLyAvLyAgICAgICAgIGNvbG9yOiBFTlVNX1JJU0tfQ09MT1IuTElHSFRfR1JFRU4sXG4vLyAvLyAgICAgICAgIGNvbG9yQ2xhc3M6ICdjb2xvci15ZWxsb3ctZ3JlZW4nLFxuLy8gLy8gICAgIH0sXG4vLyAvLyAgICAgW1JBVEVfV0FURVJfUVVBTElUWV9JTkRFWF9JTkZPLkFWRVJBR0VdOiB7XG4vLyAvLyAgICAgICAgIGNvbG9yOiBFTlVNX1JJU0tfQ09MT1IuWUVMTE9XLFxuLy8gLy8gICAgICAgICBjb2xvckNsYXNzOiAnY29sb3ItZ3JhbmRpcycsXG4vLyAvLyAgICAgfSxcbi8vIC8vICAgICBbUkFURV9XQVRFUl9RVUFMSVRZX0lOREVYX0lORk8uRkFJUl06IHtcbi8vIC8vICAgICAgICAgY29sb3I6IEVOVU1fUklTS19DT0xPUi5PUkFOR0UsXG4vLyAvLyAgICAgICAgIGNvbG9yQ2xhc3M6ICdjb2xvci1jYXJyb3Qtb3JhbmdlJyxcbi8vIC8vICAgICB9LFxuLy8gLy8gICAgIFtSQVRFX1dBVEVSX1FVQUxJVFlfSU5ERVhfSU5GTy5QT09SXToge1xuLy8gLy8gICAgICAgICBjb2xvcjogRU5VTV9SSVNLX0NPTE9SLlJFRCxcbi8vIC8vICAgICAgICAgY29sb3JDbGFzczogJ2NvbG9yLXN1bnNldC1vcmFuZ2UnLFxuLy8gLy8gICAgIH0sXG4vLyAvLyB9O1xuXG4vLyAvLyBleHBvcnQgY29uc3QgUkFOR0VfQ09MT1JfV0FURVJfUVVBTElUWV9JTkRFWCA9IFtcbi8vIC8vICAgICB7XG4vLyAvLyAgICAgICAgIGZyb206IDAsXG4vLyAvLyAgICAgICAgIHRvOiAyNSxcbi8vIC8vICAgICAgICAgY29sb3JJbmZvOiBDT0xPUl9XQVRFUl9RVUFMSVRZX0lOREVYX0lORk9bUkFURV9XQVRFUl9RVUFMSVRZX0lOREVYX0lORk8uUE9PUl0sXG4vLyAvLyAgICAgfSxcbi8vIC8vICAgICB7XG4vLyAvLyAgICAgICAgIGZyb206IDI1LFxuLy8gLy8gICAgICAgICB0bzogNTAsXG4vLyAvLyAgICAgICAgIGNvbG9ySW5mbzogQ09MT1JfV0FURVJfUVVBTElUWV9JTkRFWF9JTkZPW1JBVEVfV0FURVJfUVVBTElUWV9JTkRFWF9JTkZPLkZBSVJdLFxuLy8gLy8gICAgIH0sXG4vLyAvLyAgICAge1xuLy8gLy8gICAgICAgICBmcm9tOiA1MCxcbi8vIC8vICAgICAgICAgdG86IDcwLFxuLy8gLy8gICAgICAgICBjb2xvckluZm86IENPTE9SX1dBVEVSX1FVQUxJVFlfSU5ERVhfSU5GT1tSQVRFX1dBVEVSX1FVQUxJVFlfSU5ERVhfSU5GTy5BVkVSQUdFXSxcbi8vIC8vICAgICB9LFxuLy8gLy8gICAgIHtcbi8vIC8vICAgICAgICAgZnJvbTogNzAsXG4vLyAvLyAgICAgICAgIHRvOiA5MCxcbi8vIC8vICAgICAgICAgY29sb3JJbmZvOiBDT0xPUl9XQVRFUl9RVUFMSVRZX0lOREVYX0lORk9bUkFURV9XQVRFUl9RVUFMSVRZX0lOREVYX0lORk8uR09PRF0sXG4vLyAvLyAgICAgfSxcbi8vIC8vICAgICB7XG4vLyAvLyAgICAgICAgIGZyb206IDkwLFxuLy8gLy8gICAgICAgICB0bzogMTAwLFxuLy8gLy8gICAgICAgICBjb2xvckluZm86IENPTE9SX1dBVEVSX1FVQUxJVFlfSU5ERVhfSU5GT1tSQVRFX1dBVEVSX1FVQUxJVFlfSU5ERVhfSU5GTy5FWENFTExFTlRdLFxuLy8gLy8gICAgIH0sXG4vLyAvLyBdO1xuXG4vLyBleHBvcnQgZW51bSBFTlVNX0lOU0lHSFRfVEFCUyB7XG4vLyAgICAgVk9MVU1FID0gJ1ZvbHVtZScsXG4vLyAgICAgUVVBTElUWSA9ICdRdWFsaXR5Jyxcbi8vICAgICBBU1NFVF9QQVJBTUVURVJTID0gJ0Fzc2V0IFBhcmFtZXRlcnMnLFxuLy8gfVxuXG4vLyBleHBvcnQgZW51bSBFTlVNX0lOU0lHSFRfTUFQUElOR19TVEVQIHtcbi8vICAgICBBU1NFVFMgPSAnYXNzZXRzJyxcbi8vICAgICBUQUdTID0gJ3RhZ3MnLFxuLy8gICAgIENPTkZJR1VSQVRJT04gPSAnY29uZmlndXJhdGlvbicsXG4vLyB9XG5cbi8vIGV4cG9ydCBlbnVtIFNURUFNX09QVElPTl9LRVkge1xuLy8gICAgIE1BU1NfRkxPVyA9ICdtYXNzZmxvdycsXG4vLyAgICAgTUFTU19GTE9XX1JBVEUgPSAnbWFzc2Zsb3dyYXRlJyxcbi8vICAgICBQUkVTU1VSRSA9ICdwcmVzc3VyZScsXG4vLyAgICAgVEVNUEVSQVRVUkUgPSAndGVtcGVyYXR1cmUnLFxuLy8gICAgIEVORVJHWSA9ICdlbmVyZ3knLFxuLy8gfVxuXG4vLyBleHBvcnQgY29uc3QgU1RFQU1fT1BUSU9OU19GSUxURVIgPSB7XG4vLyAgICAgW1NURUFNX09QVElPTl9LRVkuTUFTU19GTE9XXToge1xuLy8gICAgICAgICBuYW1lOiAnTWFzcyBGbG93Jyxcbi8vICAgICAgICAga2V5OiBTVEVBTV9PUFRJT05fS0VZLk1BU1NfRkxPVyxcbi8vICAgICAgICAgaWNvbjogJycsXG4vLyAgICAgICAgIHVybEljb246ICdhc3NldHMvaW1hZ2VzL2ljb25zL3N0ZWFtL01hc3MgZmxvdy5zdmcnLFxuLy8gICAgICAgICBpc0Rpc2FibGVkOiBmYWxzZSxcbi8vICAgICAgICAga2V5VW5pdDogJ1N0ZWFtTWFzc0Zsb3cnLFxuLy8gICAgICAgICBrZXlVbml0U2V0dGluZzogJ3N0ZWFtTWFzc0Zsb3cnLFxuLy8gICAgICAgICBsaXN0VW5pdHM6IFtBQkJSRVZJQVRJT04uZywgQUJCUkVWSUFUSU9OLmxic10sXG4vLyAgICAgfSxcblxuLy8gICAgIFtTVEVBTV9PUFRJT05fS0VZLk1BU1NfRkxPV19SQVRFXToge1xuLy8gICAgICAgICBuYW1lOiAnTWFzcyBGbG93IFJhdGUnLFxuLy8gICAgICAgICBrZXk6IFNURUFNX09QVElPTl9LRVkuTUFTU19GTE9XX1JBVEUsXG4vLyAgICAgICAgIGljb246ICcnLFxuLy8gICAgICAgICB1cmxJY29uOiAnYXNzZXRzL2ltYWdlcy9pY29ucy9zdGVhbS9NYXNzIGZsb3cgcmF0ZS5zdmcnLFxuLy8gICAgICAgICBpc0Rpc2FibGVkOiBmYWxzZSxcbi8vICAgICAgICAga2V5VW5pdDogJ01hc3NGbG93UmF0ZScsXG4vLyAgICAgICAgIGtleVVuaXRTZXR0aW5nOiAnc3RlYW1GbG93UmF0ZScsXG4vLyAgICAgICAgIGxpc3RVbml0czogW0FCQlJFVklBVElPTi5nX2hyLCBBQkJSRVZJQVRJT04ubGJzX2hyXSxcbi8vICAgICB9LFxuLy8gICAgIFtTVEVBTV9PUFRJT05fS0VZLlBSRVNTVVJFXToge1xuLy8gICAgICAgICBuYW1lOiAnUHJlc3N1cmUnLFxuLy8gICAgICAgICBrZXk6IFNURUFNX09QVElPTl9LRVkuUFJFU1NVUkUsXG4vLyAgICAgICAgIGljb246ICdmYWwgZmEtZ2F1Z2UtaGlnaCcsXG4vLyAgICAgICAgIGlzRGlzYWJsZWQ6IGZhbHNlLFxuLy8gICAgICAgICBrZXlVbml0OiAnU3RlYW1QcmVzc3VyZScsXG4vLyAgICAgICAgIGtleVVuaXRTZXR0aW5nOiAnc3RlYW1QcmVzc3VyZScsXG4vLyAgICAgICAgIGxpc3RVbml0czogW0FCQlJFVklBVElPTi5NUGEsIEFCQlJFVklBVElPTi5wc2ldLFxuLy8gICAgIH0sXG4vLyAgICAgW1NURUFNX09QVElPTl9LRVkuVEVNUEVSQVRVUkVdOiB7XG4vLyAgICAgICAgIG5hbWU6ICdUZW1wZXJhdHVyZScsXG4vLyAgICAgICAgIGtleTogU1RFQU1fT1BUSU9OX0tFWS5URU1QRVJBVFVSRSxcbi8vICAgICAgICAgaWNvbjogJ2ZhbCBmYS10ZW1wZXJhdHVyZS1oaWdoJyxcbi8vICAgICAgICAgaXNEaXNhYmxlZDogZmFsc2UsXG4vLyAgICAgICAgIGtleVVuaXQ6ICdTdGVhbVRlbXBlcmF0dXJlJyxcbi8vICAgICAgICAga2V5VW5pdFNldHRpbmc6ICdzdGVhbVRlbXBlcmF0dXJlJyxcbi8vICAgICAgICAgbGlzdFVuaXRzOiBbQUJCUkVWSUFUSU9OLmRlZ0MsIEFCQlJFVklBVElPTi5kZWdGXSxcbi8vICAgICB9LFxuLy8gICAgIFtTVEVBTV9PUFRJT05fS0VZLkVORVJHWV06IHtcbi8vICAgICAgICAgbmFtZTogJ+KAi0VuZXJneScsXG4vLyAgICAgICAgIGtleTogU1RFQU1fT1BUSU9OX0tFWS5FTkVSR1ksXG4vLyAgICAgICAgIGljb246ICdmYS1yZWd1bGFyIGZhLXRyYW5zZm9ybWVyLWJvbHQnLFxuLy8gICAgICAgICBrZXlVbml0OiAnRW5lcmd5Jyxcbi8vICAgICAgICAga2V5VW5pdFNldHRpbmc6ICdlbmVyZ3lVbml0Jyxcbi8vICAgICAgICAgaXNEaXNhYmxlZDogZmFsc2UsXG4vLyAgICAgICAgIGxpc3RVbml0czogW0FCQlJFVklBVElPTi5CVFUsIEFCQlJFVklBVElPTi5KXSxcbi8vICAgICB9LFxuLy8gfTtcblxuZXhwb3J0IGVudW0gQVRPX0VOVU1fRkxPV19ESVJFQ1RJT04ge1xuICAgIElORkxPVyA9ICdJbmZsb3cnLFxuICAgIE9VVEZMT1cgPSAnT3V0ZmxvdycsXG4gICAgTk9ORSA9ICcnLFxufVxuIl19