ato-water-lib 0.0.33 → 0.0.34

Sign up to get free protection for your applications and to get access to all the features.
Files changed (80) hide show
  1. package/ng-package.json +11 -0
  2. package/package.json +3 -22
  3. package/src/lib/ato-water-lib.component.spec.ts +23 -0
  4. package/src/lib/ato-water-lib.component.ts +15 -0
  5. package/src/lib/ato-water-lib.module.ts +31 -0
  6. package/src/lib/ato-water-lib.service.spec.ts +16 -0
  7. package/src/lib/ato-water-lib.service.ts +9 -0
  8. package/src/lib/components/asset-flow/asset-flow.component.html +21 -0
  9. package/src/lib/components/asset-flow/asset-flow.component.scss +4 -0
  10. package/src/lib/components/asset-flow/asset-flow.component.spec.ts +23 -0
  11. package/src/lib/components/asset-flow/asset-flow.component.ts +137 -0
  12. package/src/lib/components/asset-params-view/asset-params-view.component.html +85 -0
  13. package/src/lib/components/asset-params-view/asset-params-view.component.scss +37 -0
  14. package/src/lib/components/asset-params-view/asset-params-view.component.spec.ts +23 -0
  15. package/src/lib/components/asset-params-view/asset-params-view.component.ts +16 -0
  16. package/src/lib/components/flow-diagram-lib/flow-diagram-lib.component.css +0 -0
  17. package/src/lib/components/flow-diagram-lib/flow-diagram-lib.component.html +25 -0
  18. package/src/lib/components/flow-diagram-lib/flow-diagram-lib.component.ts +69 -0
  19. package/src/lib/constants/applicable-prefixes-const.ts +452 -0
  20. package/src/lib/constants/base64.const.ts +5 -0
  21. package/src/lib/constants/components-group-const.ts +1637 -0
  22. package/src/lib/constants/icon-base64.const.ts +3 -0
  23. package/src/lib/constants/icon-svg.const.ts +8 -0
  24. package/src/lib/constants/key.const.ts +5 -0
  25. package/src/lib/constants/plant.constant.ts +52 -0
  26. package/src/lib/constants/value.const.ts +822 -0
  27. package/src/lib/directive/ato-loading.directive.ts +55 -0
  28. package/src/lib/directive/ng-var.directive.ts +28 -0
  29. package/src/lib/models/default-gojs-editor.model.ts +4906 -0
  30. package/{lib/models/gojs-data.model.d.ts → src/lib/models/gojs-data.model.ts} +3 -3
  31. package/src/lib/models/gojs-editor.model.ts +1901 -0
  32. package/src/lib/services/utils/utils.service.ts +141 -0
  33. package/{public-api.d.ts → src/public-api.ts} +10 -0
  34. package/tsconfig.lib.json +14 -0
  35. package/tsconfig.lib.prod.json +10 -0
  36. package/tsconfig.spec.json +14 -0
  37. package/esm2020/ato-water-lib.mjs +0 -5
  38. package/esm2020/lib/ato-water-lib.component.mjs +0 -19
  39. package/esm2020/lib/ato-water-lib.module.mjs +0 -49
  40. package/esm2020/lib/ato-water-lib.service.mjs +0 -14
  41. package/esm2020/lib/components/asset-flow/asset-flow.component.mjs +0 -121
  42. package/esm2020/lib/components/asset-params-view/asset-params-view.component.mjs +0 -26
  43. package/esm2020/lib/components/flow-diagram-lib/flow-diagram-lib.component.mjs +0 -54
  44. package/esm2020/lib/constants/applicable-prefixes-const.mjs +0 -441
  45. package/esm2020/lib/constants/base64.const.mjs +0 -5
  46. package/esm2020/lib/constants/components-group-const.mjs +0 -1476
  47. package/esm2020/lib/constants/icon-base64.const.mjs +0 -4
  48. package/esm2020/lib/constants/key.const.mjs +0 -4
  49. package/esm2020/lib/constants/plant.constant.mjs +0 -51
  50. package/esm2020/lib/constants/value.const.mjs +0 -782
  51. package/esm2020/lib/directive/ato-loading.directive.mjs +0 -55
  52. package/esm2020/lib/directive/ng-var.directive.mjs +0 -31
  53. package/esm2020/lib/models/default-gojs-editor.model.mjs +0 -3227
  54. package/esm2020/lib/models/gojs-data.model.mjs +0 -6
  55. package/esm2020/lib/models/gojs-editor.model.mjs +0 -1754
  56. package/esm2020/lib/services/utils/utils.service.mjs +0 -133
  57. package/esm2020/public-api.mjs +0 -15
  58. package/fesm2015/ato-water-lib.mjs +0 -8018
  59. package/fesm2015/ato-water-lib.mjs.map +0 -1
  60. package/fesm2020/ato-water-lib.mjs +0 -8205
  61. package/fesm2020/ato-water-lib.mjs.map +0 -1
  62. package/index.d.ts +0 -5
  63. package/lib/ato-water-lib.component.d.ts +0 -5
  64. package/lib/ato-water-lib.module.d.ts +0 -13
  65. package/lib/ato-water-lib.service.d.ts +0 -6
  66. package/lib/components/asset-flow/asset-flow.component.d.ts +0 -1336
  67. package/lib/components/asset-params-view/asset-params-view.component.d.ts +0 -10
  68. package/lib/components/flow-diagram-lib/flow-diagram-lib.component.d.ts +0 -16
  69. package/lib/constants/applicable-prefixes-const.d.ts +0 -162
  70. package/lib/constants/base64.const.d.ts +0 -3
  71. package/lib/constants/components-group-const.d.ts +0 -1561
  72. package/lib/constants/icon-base64.const.d.ts +0 -3
  73. package/lib/constants/key.const.d.ts +0 -1
  74. package/lib/constants/plant.constant.d.ts +0 -7
  75. package/lib/constants/value.const.d.ts +0 -71
  76. package/lib/directive/ato-loading.directive.d.ts +0 -14
  77. package/lib/directive/ng-var.directive.d.ts +0 -12
  78. package/lib/models/default-gojs-editor.model.d.ts +0 -197
  79. package/lib/models/gojs-editor.model.d.ts +0 -436
  80. package/lib/services/utils/utils.service.d.ts +0 -24
@@ -1,782 +0,0 @@
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsdWUuY29uc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hdG8td2F0ZXItbGliL3NyYy9saWIvY29uc3RhbnRzL3ZhbHVlLmNvbnN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLG9GQUFvRjtBQUNwRixrREFBa0Q7QUFDbEQseURBQXlEO0FBQ3pELDhEQUE4RDtBQUU5RCw4Q0FBOEM7QUFDOUMsa0JBQWtCO0FBQ2xCLGtCQUFrQjtBQUNsQixrQkFBa0I7QUFDbEIsZ0JBQWdCO0FBQ2hCLHdDQUF3QztBQUN4QyxLQUFLO0FBRUwsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQztBQUM3QixNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsU0FBUyxDQUFDO0FBQ2pDLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLEtBQUssQ0FBQztBQUN0QyxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsR0FBRyxDQUFDO0FBQ2hDLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUM7QUFDL0IsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLGlCQUFpQixDQUFDO0FBRWhELGtCQUFrQjtBQUNsQixNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBRyxxQkFBcUIsQ0FBQztBQUNoRSxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsVUFBVSxDQUFDO0FBRXBDLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLElBQUksQ0FBQztBQUN6QyxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLENBQUM7QUFDeEMsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsSUFBSSxDQUFDO0FBQ3pDLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxPQUFPLENBQUM7QUFFbEMsTUFBTSxDQUFOLElBQVksWUFRWDtBQVJELFdBQVksWUFBWTtJQUNwQixzQ0FBc0IsQ0FBQTtJQUN0Qix3Q0FBd0IsQ0FBQTtJQUN4QiwwQ0FBMEIsQ0FBQTtJQUMxQixvREFBb0MsQ0FBQTtJQUNwQyxtREFBbUMsQ0FBQTtJQUNuQyxzQ0FBc0IsQ0FBQTtJQUN0Qiw4Q0FBOEIsQ0FBQTtBQUNsQyxDQUFDLEVBUlcsWUFBWSxLQUFaLFlBQVksUUFRdkI7QUFFRCxNQUFNLENBQU4sSUFBWSx5QkFrQlg7QUFsQkQsV0FBWSx5QkFBeUI7SUFDakMsNENBQWUsQ0FBQTtJQUNmLDhDQUFpQixDQUFBO0lBQ2pCLHdEQUEyQixDQUFBO0lBQzNCLGdEQUFtQixDQUFBO0lBQ25CLDBDQUFhLENBQUE7SUFDYiw0Q0FBZSxDQUFBO0lBQ2Ysa0RBQXFCLENBQUE7SUFDckIsMENBQWEsQ0FBQTtJQUViLGtFQUFxQyxDQUFBO0lBQ3JDLG9FQUF1QyxDQUFBO0lBQ3ZDLDhFQUFpRCxDQUFBO0lBQ2pELHNFQUF5QyxDQUFBO0lBQ3pDLGdFQUFtQyxDQUFBO0lBQ25DLGtFQUFxQyxDQUFBO0lBQ3JDLHdFQUEyQyxDQUFBO0lBQzNDLGdFQUFtQyxDQUFBO0FBQ3ZDLENBQUMsRUFsQlcseUJBQXlCLEtBQXpCLHlCQUF5QixRQWtCcEM7QUFFRCxNQUFNLENBQUMsTUFBTSxxQ0FBcUMsR0FBYTtJQUMzRCx5QkFBeUIsQ0FBQyxLQUFLO0lBQy9CLHlCQUF5QixDQUFDLGdCQUFnQjtJQUMxQyx5QkFBeUIsQ0FBQyxpQkFBaUI7SUFDM0MseUJBQXlCLENBQUMsc0JBQXNCO0lBQ2hELHlCQUF5QixDQUFDLHNCQUFzQjtJQUNoRCx5QkFBeUIsQ0FBQyxlQUFlO0lBQ3pDLHlCQUF5QixDQUFDLGdCQUFnQjtJQUMxQyx5QkFBeUIsQ0FBQyxtQkFBbUI7SUFDN0MseUJBQXlCLENBQUMsZUFBZTtDQUM1QyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sNEJBQTRCLEdBQWE7SUFDbEQseUJBQXlCLENBQUMsZ0JBQWdCO0lBQzFDLHlCQUF5QixDQUFDLGlCQUFpQjtJQUMzQyx5QkFBeUIsQ0FBQyxzQkFBc0I7SUFDaEQseUJBQXlCLENBQUMsc0JBQXNCO0lBQ2hELHlCQUF5QixDQUFDLGVBQWU7SUFDekMseUJBQXlCLENBQUMsZ0JBQWdCO0lBQzFDLHlCQUF5QixDQUFDLG1CQUFtQjtJQUM3Qyx5QkFBeUIsQ0FBQyxlQUFlO0NBQzVDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxtQ0FBbUMsR0FBYTtJQUN6RCx5QkFBeUIsQ0FBQyxpQkFBaUI7SUFDM0MseUJBQXlCLENBQUMsc0JBQXNCO0lBQ2hELHlCQUF5QixDQUFDLHNCQUFzQjtJQUNoRCx5QkFBeUIsQ0FBQyxlQUFlO0lBQ3pDLHlCQUF5QixDQUFDLGdCQUFnQjtJQUMxQyx5QkFBeUIsQ0FBQyxtQkFBbUI7SUFDN0MseUJBQXlCLENBQUMsZUFBZTtDQUM1QyxDQUFDO0FBRUYsZ0NBQWdDO0FBQ2hDLCtCQUErQjtBQUMvQixpQ0FBaUM7QUFDakMsSUFBSTtBQUVKLE1BQU0sQ0FBTixJQUFZLHFCQUdYO0FBSEQsV0FBWSxxQkFBcUI7SUFDN0Isb0VBQTJDLENBQUE7SUFDM0Msc0VBQTZDLENBQUE7QUFDakQsQ0FBQyxFQUhXLHFCQUFxQixLQUFyQixxQkFBcUIsUUFHaEM7QUFFRCxNQUFNLENBQU4sSUFBWSxhQUtYO0FBTEQsV0FBWSxhQUFhO0lBQ3JCLDBEQUF5QyxDQUFBO0lBQ3pDLDREQUEyQyxDQUFBO0lBQzNDLDREQUEyQyxDQUFBO0lBQzNDLDhEQUE2QyxDQUFBO0FBQ2pELENBQUMsRUFMVyxhQUFhLEtBQWIsYUFBYSxRQUt4QjtBQUVELDhCQUE4QjtBQUM5Qix1QkFBdUI7QUFDdkIsNkJBQTZCO0FBQzdCLDhDQUE4QztBQUM5QyxvREFBb0Q7QUFDcEQsSUFBSTtBQUVKLHFDQUFxQztBQUNyQyxtQ0FBbUM7QUFDbkMsdUNBQXVDO0FBQ3ZDLElBQUk7QUFFSixnREFBZ0Q7QUFDaEQsa0JBQWtCO0FBQ2xCLHVCQUF1QjtBQUN2Qix1QkFBdUI7QUFDdkIsZ0JBQWdCO0FBQ2hCLG9CQUFvQjtBQUNwQixJQUFJO0FBRUosTUFBTSxDQUFOLElBQVksUUFVWDtBQVZELFdBQVksUUFBUTtJQUNoQiwyQkFBZSxDQUFBO0lBQ2YsdUNBQTJCLENBQUE7SUFDM0IsdUNBQTJCLENBQUE7SUFDM0IseUJBQWEsQ0FBQTtJQUNiLDJCQUFlLENBQUE7SUFDZiw2QkFBaUIsQ0FBQTtJQUNqQixpQ0FBcUIsQ0FBQTtJQUNyQix5QkFBYSxDQUFBO0lBQ2IsNkNBQWlDLENBQUE7QUFDckMsQ0FBQyxFQVZXLFFBQVEsS0FBUixRQUFRLFFBVW5CO0FBRUQsdUNBQXVDO0FBQ3ZDLHVCQUF1QjtBQUN2QiwyQkFBMkI7QUFDM0IsSUFBSTtBQUVKLE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUVsQztJQUNBLENBQUMseUJBQXlCLENBQUMsS0FBSyxDQUFDLEVBQUU7UUFDL0IsZUFBZSxFQUFFLE9BQU87UUFDeEIsT0FBTyxFQUFFLFdBQVc7UUFDcEIsZUFBZSxFQUFFLE9BQU87UUFDeEIsTUFBTSxFQUFFLE9BQU87UUFDZixRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQ1osWUFBWSxFQUFFLGlCQUFpQjtRQUMvQixRQUFRLEVBQUUsT0FBTztRQUNqQixXQUFXLEVBQUUsa0JBQWtCO1FBQy9CLE9BQU8sRUFBRSxPQUFPO1FBQ2hCLEdBQUcsRUFBRSxVQUFVO1FBQ2YsZ0JBQWdCLEVBQUUsV0FBVztRQUM3QixZQUFZLEVBQUUsZUFBZTtRQUM3QixJQUFJLEVBQUUsT0FBTztRQUNiLGFBQWEsRUFBRSxxQkFBcUIsQ0FBQyxvQkFBb0I7UUFDekQsZ0JBQWdCLEVBQUUseUJBQXlCLENBQUMsS0FBSztRQUNqRCxhQUFhLEVBQUUseUNBQXlDO1FBQ3hELE9BQU8sRUFBRSxRQUFRLENBQUMsS0FBSztRQUN2QixZQUFZLEVBQUUsYUFBYSxDQUFDLG1CQUFtQjtRQUMvQyxhQUFhLEVBQUUsYUFBYSxDQUFDLG9CQUFvQjtRQUNqRCxZQUFZLEVBQUUsT0FBTztLQUN4QjtJQUNELENBQUMseUJBQXlCLENBQUMsTUFBTSxDQUFDLEVBQUU7UUFDaEMsZUFBZSxFQUFFLFFBQVE7UUFDekIsT0FBTyxFQUFFLFlBQVk7UUFDckIsZUFBZSxFQUFFLFFBQVE7UUFDekIsTUFBTSxFQUFFLFFBQVE7UUFDaEIsUUFBUSxFQUFFLENBQUM7UUFDWCxZQUFZLEVBQUUsRUFBRTtRQUNoQixRQUFRLEVBQUUsUUFBUTtRQUNsQixPQUFPLEVBQUUsUUFBUTtRQUNqQixHQUFHLEVBQUUsV0FBVztRQUNoQixnQkFBZ0IsRUFBRSxFQUFFO1FBQ3BCLElBQUksRUFBRSxPQUFPO1FBQ2IsYUFBYSxFQUFFLHFCQUFxQixDQUFDLHFCQUFxQjtRQUMxRCxnQkFBZ0IsRUFBRSx5QkFBeUIsQ0FBQyxNQUFNO1FBQ2xELE9BQU8sRUFBRSxRQUFRLENBQUMsTUFBTTtRQUN4QixZQUFZLEVBQUUsYUFBYSxDQUFDLG9CQUFvQjtRQUNoRCxhQUFhLEVBQUUsYUFBYSxDQUFDLHFCQUFxQjtLQUNyRDtJQUNELENBQUMseUJBQXlCLENBQUMsV0FBVyxDQUFDLEVBQUU7UUFDckMsZUFBZSxFQUFFLGFBQWE7UUFDOUIsT0FBTyxFQUFFLGlCQUFpQjtRQUMxQixlQUFlLEVBQUUsYUFBYTtRQUM5QixNQUFNLEVBQUUsYUFBYTtRQUNyQixRQUFRLEVBQUUsQ0FBQztRQUNYLFlBQVksRUFBRSxvQkFBb0I7UUFDbEMsUUFBUSxFQUFFLGFBQWE7UUFDdkIsV0FBVyxFQUFFLHFCQUFxQjtRQUNsQyxPQUFPLEVBQUUsYUFBYTtRQUN0QixHQUFHLEVBQUUsZ0JBQWdCO1FBQ3JCLGdCQUFnQixFQUFFLGNBQWM7UUFDaEMsWUFBWSxFQUFFLGFBQWE7UUFDM0IsSUFBSSxFQUFFLGFBQWE7UUFDbkIsYUFBYSxFQUFFLHFCQUFxQixDQUFDLHFCQUFxQjtRQUMxRCxnQkFBZ0IsRUFBRSx5QkFBeUIsQ0FBQyxXQUFXO1FBQ3ZELGFBQWEsRUFBRSxtQ0FBbUM7UUFDbEQsT0FBTyxFQUFFLFFBQVEsQ0FBQyxXQUFXO1FBQzdCLFlBQVksRUFBRSxhQUFhLENBQUMsb0JBQW9CO1FBQ2hELGFBQWEsRUFBRSxhQUFhLENBQUMscUJBQXFCO1FBQ2xELFlBQVksRUFBRSxhQUFhO0tBQzlCO0lBQ0QsQ0FBQyx5QkFBeUIsQ0FBQyxXQUFXLENBQUMsRUFBRTtRQUNyQyxlQUFlLEVBQUUsS0FBSztRQUN0QixPQUFPLEVBQUUsZ0JBQWdCO1FBQ3pCLGVBQWUsRUFBRSxZQUFZO1FBQzdCLE1BQU0sRUFBRSxjQUFjO1FBQ3RCLFFBQVEsRUFBRSxDQUFDO1FBQ1gsWUFBWSxFQUFFLGVBQWU7UUFDN0IsUUFBUSxFQUFFLEtBQUs7UUFDZixXQUFXLEVBQUUsZ0JBQWdCO1FBQzdCLE9BQU8sRUFBRSxhQUFhO1FBQ3RCLEdBQUcsRUFBRSxRQUFRO1FBQ2IsZ0JBQWdCLEVBQUUsU0FBUztRQUMzQixZQUFZLEVBQUUsWUFBWTtRQUMxQixJQUFJLEVBQUUsWUFBWTtRQUNsQixhQUFhLEVBQUUscUJBQXFCLENBQUMscUJBQXFCO1FBQzFELGdCQUFnQixFQUFFLHlCQUF5QixDQUFDLFdBQVc7UUFDdkQsYUFBYSxFQUFFLGdEQUFnRDtRQUMvRCxPQUFPLEVBQUUsUUFBUSxDQUFDLFdBQVc7UUFDN0IsWUFBWSxFQUFFLGFBQWEsQ0FBQyxvQkFBb0I7UUFDaEQsYUFBYSxFQUFFLGFBQWEsQ0FBQyxxQkFBcUI7UUFDbEQsWUFBWSxFQUFFLGNBQWM7S0FDL0I7SUFDRCxDQUFDLHlCQUF5QixDQUFDLElBQUksQ0FBQyxFQUFFO1FBQzlCLGVBQWUsRUFBRSxNQUFNO1FBQ3ZCLE9BQU8sRUFBRSxVQUFVO1FBQ25CLGVBQWUsRUFBRSxNQUFNO1FBQ3ZCLE1BQU0sRUFBRSxPQUFPO1FBQ2YsUUFBUSxFQUFFLENBQUM7UUFDWCxZQUFZLEVBQUUsZ0JBQWdCO1FBQzlCLFFBQVEsRUFBRSxNQUFNO1FBQ2hCLFdBQVcsRUFBRSxpQkFBaUI7UUFDOUIsT0FBTyxFQUFFLE1BQU07UUFDZixHQUFHLEVBQUUsU0FBUztRQUNkLGdCQUFnQixFQUFFLFVBQVU7UUFDNUIsWUFBWSxFQUFFLE1BQU07UUFDcEIsSUFBSSxFQUFFLE1BQU07UUFDWixhQUFhLEVBQUUscUJBQXFCLENBQUMscUJBQXFCO1FBQzFELGdCQUFnQixFQUFFLHlCQUF5QixDQUFDLElBQUk7UUFDaEQsYUFBYSxFQUFFLHVDQUF1QztRQUN0RCxPQUFPLEVBQUUsUUFBUSxDQUFDLElBQUk7UUFDdEIsWUFBWSxFQUFFLGFBQWEsQ0FBQyxvQkFBb0I7UUFDaEQsYUFBYSxFQUFFLGFBQWEsQ0FBQyxxQkFBcUI7UUFDbEQsWUFBWSxFQUFFLE9BQU87S0FDeEI7SUFDRCxDQUFDLHlCQUF5QixDQUFDLEtBQUssQ0FBQyxFQUFFO1FBQy9CLGVBQWUsRUFBRSxPQUFPO1FBQ3hCLE9BQU8sRUFBRSxXQUFXO1FBQ3BCLGVBQWUsRUFBRSxPQUFPO1FBQ3hCLE1BQU0sRUFBRSxRQUFRO1FBQ2hCLFFBQVEsRUFBRSxDQUFDO1FBQ1gsWUFBWSxFQUFFLGlCQUFpQjtRQUMvQixRQUFRLEVBQUUsT0FBTztRQUNqQixXQUFXLEVBQUUsa0JBQWtCO1FBQy9CLE9BQU8sRUFBRSxPQUFPO1FBQ2hCLEdBQUcsRUFBRSxVQUFVO1FBQ2YsZ0JBQWdCLEVBQUUsV0FBVztRQUM3QixZQUFZLEVBQUUsT0FBTztRQUNyQixJQUFJLEVBQUUsT0FBTztRQUNiLGFBQWEsRUFBRSxxQkFBcUIsQ0FBQyxxQkFBcUI7UUFDMUQsZ0JBQWdCLEVBQUUseUJBQXlCLENBQUMsS0FBSztRQUNqRCxhQUFhLEVBQUUsbUNBQW1DO1FBQ2xELE9BQU8sRUFBRSxRQUFRLENBQUMsS0FBSztRQUN2QixZQUFZLEVBQUUsYUFBYSxDQUFDLG9CQUFvQjtRQUNoRCxhQUFhLEVBQUUsYUFBYSxDQUFDLHFCQUFxQjtRQUNsRCxZQUFZLEVBQUUsUUFBUTtLQUN6QjtJQUNELENBQUMseUJBQXlCLENBQUMsUUFBUSxDQUFDLEVBQUU7UUFDbEMsZUFBZSxFQUFFLFdBQVc7UUFDNUIsT0FBTyxFQUFFLFdBQVc7UUFDcEIsZUFBZSxFQUFFLFdBQVc7UUFDNUIsTUFBTSxFQUFFLFdBQVc7UUFDbkIsUUFBUSxFQUFFLENBQUM7UUFDWCxZQUFZLEVBQUUsb0JBQW9CO1FBQ2xDLFFBQVEsRUFBRSxVQUFVO1FBQ3BCLEdBQUcsRUFBRSxhQUFhO1FBQ2xCLGdCQUFnQixFQUFFLGNBQWM7UUFDaEMsZ0JBQWdCLEVBQUUseUJBQXlCLENBQUMsUUFBUTtRQUNwRCxPQUFPLEVBQUUsUUFBUSxDQUFDLFFBQVE7UUFDMUIsWUFBWSxFQUFFLGFBQWEsQ0FBQyxvQkFBb0I7UUFDaEQsYUFBYSxFQUFFLGFBQWEsQ0FBQyxxQkFBcUI7S0FDckQ7SUFDRCxDQUFDLHlCQUF5QixDQUFDLElBQUksQ0FBQyxFQUFFO1FBQzlCLGVBQWUsRUFBRSxNQUFNO1FBQ3ZCLE9BQU8sRUFBRSxNQUFNO1FBQ2YsZUFBZSxFQUFFLE1BQU07UUFDdkIsTUFBTSxFQUFFLE1BQU07UUFDZCxRQUFRLEVBQUUsQ0FBQztRQUNYLFlBQVksRUFBRSxnQkFBZ0I7UUFDOUIsUUFBUSxFQUFFLE1BQU07UUFDaEIsR0FBRyxFQUFFLFNBQVM7UUFDZCxnQkFBZ0IsRUFBRSxVQUFVO1FBQzVCLElBQUksRUFBRSxNQUFNO1FBQ1osZ0JBQWdCLEVBQUUseUJBQXlCLENBQUMsSUFBSTtRQUNoRCxPQUFPLEVBQUUsUUFBUSxDQUFDLElBQUk7UUFDdEIsWUFBWSxFQUFFLGFBQWEsQ0FBQyxvQkFBb0I7UUFDaEQsYUFBYSxFQUFFLGFBQWEsQ0FBQyxxQkFBcUI7S0FDckQ7SUFDRCxDQUFDLHlCQUF5QixDQUFDLGdCQUFnQixDQUFDLEVBQUU7UUFDMUMsZUFBZSxFQUFFLE9BQU87UUFDeEIsT0FBTyxFQUFFLFdBQVc7UUFDcEIsZUFBZSxFQUFFLE9BQU87UUFDeEIsTUFBTSxFQUFFLE9BQU87UUFDZixRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQ1osWUFBWSxFQUFFLDJCQUEyQjtRQUN6QyxRQUFRLEVBQUUsT0FBTztRQUNqQixXQUFXLEVBQUUsa0JBQWtCO1FBQy9CLEdBQUcsRUFBRSxVQUFVO1FBQ2YsZ0JBQWdCLEVBQUUsb0JBQW9CO1FBQ3RDLFlBQVksRUFBRSxlQUFlO1FBQzdCLElBQUksRUFBRSxPQUFPO1FBQ2IsYUFBYSxFQUFFLHFCQUFxQixDQUFDLG9CQUFvQjtRQUN6RCxnQkFBZ0IsRUFBRSx5QkFBeUIsQ0FBQyxLQUFLO1FBQ2pELE9BQU8sRUFBRSxRQUFRLENBQUMsS0FBSztRQUN2QixZQUFZLEVBQUUsYUFBYSxDQUFDLG1CQUFtQjtRQUMvQyxhQUFhLEVBQUUsYUFBYSxDQUFDLG9CQUFvQjtLQUNwRDtJQUNELENBQUMseUJBQXlCLENBQUMsaUJBQWlCLENBQUMsRUFBRTtRQUMzQyxlQUFlLEVBQUUsUUFBUTtRQUN6QixPQUFPLEVBQUUsWUFBWTtRQUNyQixlQUFlLEVBQUUsUUFBUTtRQUN6QixNQUFNLEVBQUUsUUFBUTtRQUNoQixRQUFRLEVBQUUsQ0FBQztRQUNYLFlBQVksRUFBRSxFQUFFO1FBQ2hCLFFBQVEsRUFBRSxRQUFRO1FBQ2xCLEdBQUcsRUFBRSxXQUFXO1FBQ2hCLGdCQUFnQixFQUFFLEVBQUU7UUFDcEIsSUFBSSxFQUFFLE9BQU87UUFDYixhQUFhLEVBQUUscUJBQXFCLENBQUMsb0JBQW9CO1FBQ3pELGdCQUFnQixFQUFFLHlCQUF5QixDQUFDLE1BQU07UUFDbEQsT0FBTyxFQUFFLFFBQVEsQ0FBQyxNQUFNO1FBQ3hCLFlBQVksRUFBRSxhQUFhLENBQUMsb0JBQW9CO1FBQ2hELGFBQWEsRUFBRSxhQUFhLENBQUMscUJBQXFCO0tBQ3JEO0lBQ0QsQ0FBQyx5QkFBeUIsQ0FBQyxzQkFBc0IsQ0FBQyxFQUFFO1FBQ2hELGVBQWUsRUFBRSxhQUFhO1FBQzlCLE9BQU8sRUFBRSxpQkFBaUI7UUFDMUIsZUFBZSxFQUFFLGFBQWE7UUFDOUIsTUFBTSxFQUFFLGFBQWE7UUFDckIsUUFBUSxFQUFFLENBQUM7UUFDWCxZQUFZLEVBQUUsOEJBQThCO1FBQzVDLFFBQVEsRUFBRSxhQUFhO1FBQ3ZCLFdBQVcsRUFBRSxxQkFBcUI7UUFDbEMsT0FBTyxFQUFFLGFBQWE7UUFDdEIsR0FBRyxFQUFFLGdCQUFnQjtRQUNyQixnQkFBZ0IsRUFBRSx1QkFBdUI7UUFDekMsWUFBWSxFQUFFLGFBQWE7UUFDM0IsSUFBSSxFQUFFLGFBQWE7UUFDbkIsYUFBYSxFQUFFLHFCQUFxQixDQUFDLHFCQUFxQjtRQUMxRCxnQkFBZ0IsRUFBRSx5QkFBeUIsQ0FBQyxXQUFXO1FBQ3ZELE9BQU8sRUFBRSxRQUFRLENBQUMsV0FBVztRQUM3QixZQUFZLEVBQUUsYUFBYSxDQUFDLG9CQUFvQjtRQUNoRCxhQUFhLEVBQUUsYUFBYSxDQUFDLHFCQUFxQjtLQUNyRDtJQUNELENBQUMseUJBQXlCLENBQUMsc0JBQXNCLENBQUMsRUFBRTtRQUNoRCxlQUFlLEVBQUUsS0FBSztRQUN0QixPQUFPLEVBQUUsZ0JBQWdCO1FBQ3pCLGVBQWUsRUFBRSxZQUFZO1FBQzdCLE1BQU0sRUFBRSxjQUFjO1FBQ3RCLFFBQVEsRUFBRSxDQUFDO1FBQ1gsWUFBWSxFQUFFLHlCQUF5QjtRQUN2QyxRQUFRLEVBQUUsS0FBSztRQUNmLFdBQVcsRUFBRSxnQkFBZ0I7UUFDN0IsT0FBTyxFQUFFLGFBQWE7UUFDdEIsR0FBRyxFQUFFLFFBQVE7UUFDYixnQkFBZ0IsRUFBRSxrQkFBa0I7UUFDcEMsWUFBWSxFQUFFLFlBQVk7UUFDMUIsSUFBSSxFQUFFLFlBQVk7UUFDbEIsYUFBYSxFQUFFLHFCQUFxQixDQUFDLHFCQUFxQjtRQUMxRCxnQkFBZ0IsRUFBRSx5QkFBeUIsQ0FBQyxXQUFXO1FBQ3ZELE9BQU8sRUFBRSxRQUFRLENBQUMsV0FBVztRQUM3QixZQUFZLEVBQUUsYUFBYSxDQUFDLG9CQUFvQjtRQUNoRCxhQUFhLEVBQUUsYUFBYSxDQUFDLHFCQUFxQjtLQUNyRDtJQUNELENBQUMseUJBQXlCLENBQUMsZUFBZSxDQUFDLEVBQUU7UUFDekMsZUFBZSxFQUFFLE1BQU07UUFDdkIsT0FBTyxFQUFFLFVBQVU7UUFDbkIsZUFBZSxFQUFFLE1BQU07UUFDdkIsTUFBTSxFQUFFLE9BQU87UUFDZixRQUFRLEVBQUUsQ0FBQztRQUNYLFlBQVksRUFBRSwwQkFBMEI7UUFDeEMsUUFBUSxFQUFFLE1BQU07UUFDaEIsV0FBVyxFQUFFLGlCQUFpQjtRQUM5QixPQUFPLEVBQUUsTUFBTTtRQUNmLEdBQUcsRUFBRSxTQUFTO1FBQ2QsZ0JBQWdCLEVBQUUsbUJBQW1CO1FBQ3JDLFlBQVksRUFBRSxNQUFNO1FBQ3BCLElBQUksRUFBRSxNQUFNO1FBQ1osYUFBYSxFQUFFLHFCQUFxQixDQUFDLHFCQUFxQjtRQUMxRCxnQkFBZ0IsRUFBRSx5QkFBeUIsQ0FBQyxJQUFJO1FBQ2hELE9BQU8sRUFBRSxRQUFRLENBQUMsSUFBSTtRQUN0QixZQUFZLEVBQUUsYUFBYSxDQUFDLG9CQUFvQjtRQUNoRCxhQUFhLEVBQUUsYUFBYSxDQUFDLHFCQUFxQjtLQUNyRDtJQUVELENBQUMseUJBQXlCLENBQUMsZ0JBQWdCLENBQUMsRUFBRTtRQUMxQyxlQUFlLEVBQUUsT0FBTztRQUN4QixPQUFPLEVBQUUsV0FBVztRQUNwQixlQUFlLEVBQUUsT0FBTztRQUN4QixNQUFNLEVBQUUsUUFBUTtRQUNoQixRQUFRLEVBQUUsQ0FBQztRQUNYLFlBQVksRUFBRSwyQkFBMkI7UUFDekMsUUFBUSxFQUFFLE9BQU87UUFDakIsV0FBVyxFQUFFLGtCQUFrQjtRQUMvQixPQUFPLEVBQUUsT0FBTztRQUNoQixHQUFHLEVBQUUsVUFBVTtRQUNmLGdCQUFnQixFQUFFLG9CQUFvQjtRQUN0QyxZQUFZLEVBQUUsT0FBTztRQUNyQixJQUFJLEVBQUUsT0FBTztRQUNiLGFBQWEsRUFBRSxxQkFBcUIsQ0FBQyxxQkFBcUI7UUFDMUQsZ0JBQWdCLEVBQUUseUJBQXlCLENBQUMsS0FBSztRQUNqRCxPQUFPLEVBQUUsUUFBUSxDQUFDLEtBQUs7UUFDdkIsWUFBWSxFQUFFLGFBQWEsQ0FBQyxvQkFBb0I7UUFDaEQsYUFBYSxFQUFFLGFBQWEsQ0FBQyxxQkFBcUI7S0FDckQ7SUFFRCxDQUFDLHlCQUF5QixDQUFDLG1CQUFtQixDQUFDLEVBQUU7UUFDN0MsZUFBZSxFQUFFLFdBQVc7UUFDNUIsT0FBTyxFQUFFLFdBQVc7UUFDcEIsZUFBZSxFQUFFLFdBQVc7UUFDNUIsTUFBTSxFQUFFLFdBQVc7UUFDbkIsUUFBUSxFQUFFLENBQUM7UUFDWCxZQUFZLEVBQUUsRUFBRTtRQUNoQixRQUFRLEVBQUUsVUFBVTtRQUNwQixHQUFHLEVBQUUsYUFBYTtRQUNsQixnQkFBZ0IsRUFBRSxFQUFFO1FBQ3BCLGdCQUFnQixFQUFFLHlCQUF5QixDQUFDLFFBQVE7UUFDcEQsT0FBTyxFQUFFLFFBQVEsQ0FBQyxRQUFRO1FBQzFCLFlBQVksRUFBRSxhQUFhLENBQUMsb0JBQW9CO1FBQ2hELGFBQWEsRUFBRSxhQUFhLENBQUMscUJBQXFCO0tBQ3JEO0lBQ0QsQ0FBQyx5QkFBeUIsQ0FBQyxlQUFlLENBQUMsRUFBRTtRQUN6QyxlQUFlLEVBQUUsTUFBTTtRQUN2QixPQUFPLEVBQUUsTUFBTTtRQUNmLGVBQWUsRUFBRSxNQUFNO1FBQ3ZCLE1BQU0sRUFBRSxNQUFNO1FBQ2QsUUFBUSxFQUFFLENBQUM7UUFDWCxZQUFZLEVBQUUsMEJBQTBCO1FBQ3hDLFFBQVEsRUFBRSxNQUFNO1FBQ2hCLEdBQUcsRUFBRSxTQUFTO1FBQ2QsZ0JBQWdCLEVBQUUsbUJBQW1CO1FBQ3JDLElBQUksRUFBRSxNQUFNO1FBQ1osZ0JBQWdCLEVBQUUseUJBQXlCLENBQUMsSUFBSTtRQUNoRCxPQUFPLEVBQUUsUUFBUSxDQUFDLElBQUk7UUFDdEIsWUFBWSxFQUFFLGFBQWEsQ0FBQyxvQkFBb0I7UUFDaEQsYUFBYSxFQUFFLGFBQWEsQ0FBQyxxQkFBcUI7S0FDckQ7SUFFRCw2QkFBNkI7SUFDN0IsdUNBQXVDO0lBQ3ZDLGdDQUFnQztJQUNoQyx3QkFBd0I7SUFDeEIsZ0NBQWdDO0lBQ2hDLHVCQUF1QjtJQUN2QixtQkFBbUI7SUFDbkIsdUNBQXVDO0lBQ3ZDLHdCQUF3QjtJQUN4QixLQUFLO0NBQ1IsQ0FBQztBQUVGLDhCQUE4QjtBQUM5Qix5QkFBeUI7QUFDekIscUJBQXFCO0FBQ3JCLDJCQUEyQjtBQUMzQiwrQkFBK0I7QUFDL0IsSUFBSTtBQUVKLHlCQUF5QjtBQUN6QixhQUFhO0FBQ2IsK0JBQStCO0FBQy9CLHdDQUF3QztBQUN4QyxTQUFTO0FBQ1QsZ0JBQWdCO0FBQ2hCLCtCQUErQjtBQUMvQiwwQ0FBMEM7QUFDMUMsU0FBUztBQUNULGVBQWU7QUFDZiwrQkFBK0I7QUFDL0IseUNBQXlDO0FBQ3pDLFNBQVM7QUFDVCxLQUFLO0FBRUwsdUNBQXVDO0FBQ3ZDLGdDQUFnQztBQUNoQyxrQ0FBa0M7QUFDbEMsa0NBQWtDO0FBQ2xDLGtDQUFrQztBQUNsQyxpQ0FBaUM7QUFDakMsK0JBQStCO0FBQy9CLCtCQUErQjtBQUMvQiwrQkFBK0I7QUFDL0IsU0FBUztBQUNULDhCQUE4QjtBQUM5QixrQ0FBa0M7QUFDbEMsa0NBQWtDO0FBQ2xDLGtDQUFrQztBQUNsQyxrQ0FBa0M7QUFDbEMsa0NBQWtDO0FBQ2xDLCtCQUErQjtBQUMvQiwrQkFBK0I7QUFDL0IsaUNBQWlDO0FBQ2pDLGdDQUFnQztBQUNoQyxTQUFTO0FBRVQsaUNBQWlDO0FBQ2pDLGtDQUFrQztBQUNsQyxrQ0FBa0M7QUFDbEMsK0JBQStCO0FBQy9CLGlDQUFpQztBQUNqQywrQkFBK0I7QUFDL0IsK0JBQStCO0FBQy9CLCtCQUErQjtBQUMvQixnQ0FBZ0M7QUFDaEMsU0FBUztBQUNULG1DQUFtQztBQUNuQyxrQ0FBa0M7QUFDbEMsa0NBQWtDO0FBQ2xDLGtDQUFrQztBQUNsQywrQkFBK0I7QUFDL0IsaUNBQWlDO0FBQ2pDLCtCQUErQjtBQUMvQiwrQkFBK0I7QUFDL0IsZ0NBQWdDO0FBQ2hDLFNBQVM7QUFDVCxLQUFLO0FBRUwsMkJBQTJCO0FBQzNCLHlCQUF5QjtBQUN6Qix5QkFBeUI7QUFDekIsMkJBQTJCO0FBQzNCLHFCQUFxQjtBQUNyQixnQ0FBZ0M7QUFDaEMsb0NBQW9DO0FBQ3BDLHdEQUF3RDtBQUN4RCxxQ0FBcUM7QUFDckMsaURBQWlEO0FBQ2pELGdEQUFnRDtBQUNoRCxtQ0FBbUM7QUFDbkMsb0RBQW9EO0FBQ3BELHNDQUFzQztBQUN0QywyQkFBMkI7QUFDM0IsSUFBSTtBQUVKLG1DQUFtQztBQUNuQyxxQkFBcUI7QUFDckIscUJBQXFCO0FBQ3JCLHVCQUF1QjtBQUN2QixxQkFBcUI7QUFDckIsbUJBQW1CO0FBQ25CLElBQUk7QUFFSixtQ0FBbUM7QUFDbkMsNEJBQTRCO0FBQzVCLFFBQVE7QUFDUiwrQkFBK0I7QUFDL0IsMENBQTBDO0FBQzFDLGdDQUFnQztBQUNoQyxzQ0FBc0M7QUFDdEMsb0JBQW9CO0FBQ3BCLCtEQUErRDtBQUMvRCxTQUFTO0FBQ1QsNkJBQTZCO0FBQzdCLDBDQUEwQztBQUMxQyxnQ0FBZ0M7QUFDaEMsc0NBQXNDO0FBQ3RDLG9CQUFvQjtBQUNwQiwrREFBK0Q7QUFDL0QsU0FBUztBQUNULDhCQUE4QjtBQUM5QiwwQ0FBMEM7QUFDMUMsb0JBQW9CO0FBQ3BCLGtDQUFrQztBQUNsQyxTQUFTO0FBQ1QsK0JBQStCO0FBQy9CLDJDQUEyQztBQUMzQyw2QkFBNkI7QUFDN0IsbUNBQW1DO0FBQ25DLG9CQUFvQjtBQUNwQixpRUFBaUU7QUFDakUsU0FBUztBQUNULDhCQUE4QjtBQUM5QiwwQ0FBMEM7QUFDMUMsMEJBQTBCO0FBQzFCLGdDQUFnQztBQUNoQyxvQkFBb0I7QUFDcEIsZ0VBQWdFO0FBQ2hFLFNBQVM7QUFDVCw4QkFBOEI7QUFDOUIsMENBQTBDO0FBQzFDLDBCQUEwQjtBQUMxQixnQ0FBZ0M7QUFDaEMsb0JBQW9CO0FBQ3BCLGdFQUFnRTtBQUNoRSxTQUFTO0FBQ1QsMkJBQTJCO0FBQzNCLHlDQUF5QztBQUN6QyxnQ0FBZ0M7QUFDaEMsc0NBQXNDO0FBQ3RDLG9CQUFvQjtBQUNwQiwrREFBK0Q7QUFDL0QsU0FBUztBQUNULEtBQUs7QUFFTCxrQ0FBa0M7QUFDbEMsMkJBQTJCO0FBQzNCLHFDQUFxQztBQUNyQyxJQUFJO0FBRUosOENBQThDO0FBQzlDLHdEQUF3RDtBQUN4RCwwREFBMEQ7QUFDMUQsMERBQTBEO0FBQzFELDREQUE0RDtBQUM1RCxJQUFJO0FBRUosb0RBQW9EO0FBQ3BELGlFQUFpRTtBQUNqRSw2REFBNkQ7QUFDN0QsNkRBQTZEO0FBQzdELDJDQUEyQztBQUMzQyx1Q0FBdUM7QUFDdkMsNkNBQTZDO0FBQzdDLDZDQUE2QztBQUM3Qyx5Q0FBeUM7QUFDekMsa0NBQWtDO0FBQ2xDLFNBQVM7QUFDVCxrRUFBa0U7QUFDbEUsOERBQThEO0FBQzlELDhEQUE4RDtBQUM5RCw0Q0FBNEM7QUFDNUMsd0NBQXdDO0FBQ3hDLDZDQUE2QztBQUM3Qyw2Q0FBNkM7QUFDN0MseUNBQXlDO0FBQ3pDLGtDQUFrQztBQUNsQyxTQUFTO0FBQ1Qsa0VBQWtFO0FBQ2xFLDhEQUE4RDtBQUM5RCw4REFBOEQ7QUFDOUQsNENBQTRDO0FBQzVDLHdDQUF3QztBQUN4Qyw4Q0FBOEM7QUFDOUMsbUZBQW1GO0FBQ25GLHlDQUF5QztBQUN6QyxtQ0FBbUM7QUFDbkMsU0FBUztBQUNULG1FQUFtRTtBQUNuRSwrREFBK0Q7QUFDL0QsK0RBQStEO0FBQy9ELDZDQUE2QztBQUM3Qyx5Q0FBeUM7QUFDekMsOENBQThDO0FBQzlDLG1GQUFtRjtBQUNuRix5Q0FBeUM7QUFDekMsbUNBQW1DO0FBQ25DLFNBQVM7QUFDVCxLQUFLO0FBRUwsK0JBQStCO0FBQy9CLHlCQUF5QjtBQUN6QiwyQkFBMkI7QUFDM0IsSUFBSTtBQUVKLHFDQUFxQztBQUNyQywrQkFBK0I7QUFDL0IsaUNBQWlDO0FBQ2pDLElBQUk7QUFFSixrQ0FBa0M7QUFDbEMseUNBQXlDO0FBQ3pDLElBQUk7QUFFSixrQ0FBa0M7QUFDbEMseUJBQXlCO0FBQ3pCLHVCQUF1QjtBQUN2QixJQUFJO0FBRUosOENBQThDO0FBQzlDLCtCQUErQjtBQUMvQixxQkFBcUI7QUFDckIsMkJBQTJCO0FBQzNCLHFCQUFxQjtBQUNyQixxQkFBcUI7QUFDckIsSUFBSTtBQUVKLHFEQUFxRDtBQUNyRCxzREFBc0Q7QUFDdEQsMkNBQTJDO0FBQzNDLDRDQUE0QztBQUM1QyxZQUFZO0FBQ1osaURBQWlEO0FBQ2pELGlEQUFpRDtBQUNqRCwrQ0FBK0M7QUFDL0MsWUFBWTtBQUNaLG9EQUFvRDtBQUNwRCw0Q0FBNEM7QUFDNUMsMENBQTBDO0FBQzFDLFlBQVk7QUFDWixpREFBaUQ7QUFDakQsNENBQTRDO0FBQzVDLGdEQUFnRDtBQUNoRCxZQUFZO0FBQ1osaURBQWlEO0FBQ2pELHlDQUF5QztBQUN6QyxnREFBZ0Q7QUFDaEQsWUFBWTtBQUNaLFFBQVE7QUFFUixzREFBc0Q7QUFDdEQsV0FBVztBQUNYLHNCQUFzQjtBQUN0QixxQkFBcUI7QUFDckIsNEZBQTRGO0FBQzVGLFlBQVk7QUFDWixXQUFXO0FBQ1gsdUJBQXVCO0FBQ3ZCLHFCQUFxQjtBQUNyQiw0RkFBNEY7QUFDNUYsWUFBWTtBQUNaLFdBQVc7QUFDWCx1QkFBdUI7QUFDdkIscUJBQXFCO0FBQ3JCLCtGQUErRjtBQUMvRixZQUFZO0FBQ1osV0FBVztBQUNYLHVCQUF1QjtBQUN2QixxQkFBcUI7QUFDckIsNEZBQTRGO0FBQzVGLFlBQVk7QUFDWixXQUFXO0FBQ1gsdUJBQXVCO0FBQ3ZCLHNCQUFzQjtBQUN0QixpR0FBaUc7QUFDakcsWUFBWTtBQUNaLFFBQVE7QUFFUixrQ0FBa0M7QUFDbEMseUJBQXlCO0FBQ3pCLDJCQUEyQjtBQUMzQiw2Q0FBNkM7QUFDN0MsSUFBSTtBQUVKLDBDQUEwQztBQUMxQyx5QkFBeUI7QUFDekIscUJBQXFCO0FBQ3JCLHVDQUF1QztBQUN2QyxJQUFJO0FBRUosaUNBQWlDO0FBQ2pDLDhCQUE4QjtBQUM5Qix1Q0FBdUM7QUFDdkMsNkJBQTZCO0FBQzdCLG1DQUFtQztBQUNuQyx5QkFBeUI7QUFDekIsSUFBSTtBQUVKLHdDQUF3QztBQUN4QyxzQ0FBc0M7QUFDdEMsNkJBQTZCO0FBQzdCLDJDQUEyQztBQUMzQyxvQkFBb0I7QUFDcEIsOERBQThEO0FBQzlELDZCQUE2QjtBQUM3QixvQ0FBb0M7QUFDcEMsMkNBQTJDO0FBQzNDLHlEQUF5RDtBQUN6RCxTQUFTO0FBRVQsMkNBQTJDO0FBQzNDLGtDQUFrQztBQUNsQyxnREFBZ0Q7QUFDaEQsb0JBQW9CO0FBQ3BCLG1FQUFtRTtBQUNuRSw2QkFBNkI7QUFDN0IsbUNBQW1DO0FBQ25DLDJDQUEyQztBQUMzQywrREFBK0Q7QUFDL0QsU0FBUztBQUNULHFDQUFxQztBQUNyQyw0QkFBNEI7QUFDNUIsMENBQTBDO0FBQzFDLHFDQUFxQztBQUNyQyw2QkFBNkI7QUFDN0Isb0NBQW9DO0FBQ3BDLDJDQUEyQztBQUMzQywyREFBMkQ7QUFDM0QsU0FBUztBQUNULHdDQUF3QztBQUN4QywrQkFBK0I7QUFDL0IsNkNBQTZDO0FBQzdDLDJDQUEyQztBQUMzQyw2QkFBNkI7QUFDN0IsdUNBQXVDO0FBQ3ZDLDhDQUE4QztBQUM5Qyw2REFBNkQ7QUFDN0QsU0FBUztBQUNULG1DQUFtQztBQUNuQywyQkFBMkI7QUFDM0Isd0NBQXdDO0FBQ3hDLGtEQUFrRDtBQUNsRCw2QkFBNkI7QUFDN0Isd0NBQXdDO0FBQ3hDLDZCQUE2QjtBQUM3Qix5REFBeUQ7QUFDekQsU0FBUztBQUNULEtBQUs7QUFFTCxNQUFNLENBQU4sSUFBWSx1QkFJWDtBQUpELFdBQVksdUJBQXVCO0lBQy9CLDRDQUFpQixDQUFBO0lBQ2pCLDhDQUFtQixDQUFBO0lBQ25CLG9DQUFTLENBQUE7QUFDYixDQUFDLEVBSlcsdUJBQXVCLEtBQXZCLHVCQUF1QixRQUlsQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIGltcG9ydCB7IEFuYWx5dGljc1NlcnZpY2UgfSBmcm9tICdAZGFzaGJvYXJkcy1zaGFyZWQvc2VydmljZXMvYW5hbHl0aWNzLnNlcnZpY2UnO1xuLy8gaW1wb3J0IHsgRV9GcmVxdWVuY3kgfSBmcm9tICcuL2ZyZXF1ZW5jeS5lbnVtJztcbi8vIGltcG9ydCB7IEVOVU1fUklTS19DT0xPUiB9IGZyb20gJy4vaW5mb3JtYXRpb24uY29uc3QnO1xuLy8gaW1wb3J0IHsgQUJCUkVWSUFUSU9OIH0gZnJvbSAnLi9hcHBsaWNhYmxlLXByZWZpeGVzLWNvbnN0JztcblxuLy8gZXhwb3J0IGNvbnN0IERFRkFVTFRfTkFNRVNfTUFQUElORzogYW55ID0ge1xuLy8gICAgIENNUzogJ0NNUycsXG4vLyAgICAgRVRQOiAnRVRQJyxcbi8vICAgICBaTEQ6ICdaTEQnLFxuLy8gICAgIFJPOiAnUk8nLFxuLy8gICAgIENNU0xhYldhc2hpbmc6ICdDTVMgTGFiIFdhc2hpbmcnLFxuLy8gfTtcblxuZXhwb3J0IGNvbnN0IFZBTFVFX05BID0gJ05BJztcbmV4cG9ydCBjb25zdCBOT19EQVRBID0gJ05vIERhdGEnO1xuZXhwb3J0IGNvbnN0IFZBTFVFX05BX1NQRUNJQUwgPSAnTi9BJztcbmV4cG9ydCBjb25zdCBURVhUX1VOS05PV04gPSAnPyc7XG5leHBvcnQgY29uc3QgVEVYVF9FUlIgPSAnIUVycic7XG5leHBvcnQgY29uc3QgTk9fRU5PVUdIX0RBVEEgPSAnTm90IGVub3VnaCBkYXRhJztcblxuLy8gRm9yIEVsZW1lbnQgRE9NXG5leHBvcnQgY29uc3QgS0VZX0NSRUFURV9ET01fVE9fRE9XTkxPQUQgPSAnbmV3Q3JlYXRlVG9Eb3dubG9hZCc7XG5leHBvcnQgY29uc3QgTk9fSElEREVOID0gJ25vSGlkZGVuJztcblxuZXhwb3J0IGNvbnN0IEdST1VQX1BMQU5UX0NFTExfS0VZID0gMzAwMDtcbmV4cG9ydCBjb25zdCBHUk9VUF9QQ19JTlBVVFNfS0VZID0gMTAwMDtcbmV4cG9ydCBjb25zdCBHUk9VUF9QQ19PVVRQVVRTX0tFWSA9IDIwMDA7XG5leHBvcnQgY29uc3QgRU5VTV9ST0xFUyA9ICdST0xFUyc7XG5cbmV4cG9ydCBlbnVtIEVfRklMVEVSX0tFWSB7XG4gICAgVklFV19NT0RFID0gJ3ZpZXdNb2RlJyxcbiAgICBXQVRFUl9VTklUID0gJ3dhdGVyVW5pdCcsXG4gICAgRU5FUkdZX1VOSVQgPSAnZW5lcmd5VW5pdCcsXG4gICAgRUxFQ1RSSUNJVFlfVU5JVCA9ICdlbGVjdHJpY2l0eVVuaXQnLFxuICAgIE5BVFVSQUxfR0FTX1VOSVQgPSAnbmF0dXJhbEdhc1VuaXQnLFxuICAgIEZVRUxfVU5JVCA9ICdmdWVsVW5pdCcsXG4gICAgQ1VSUkVOQ1lfVU5JVCA9ICdjdXJyZW5jeVVuaXQnLFxufVxuXG5leHBvcnQgZW51bSBBVE9fRUNPTVBPTkVOVF9QTEFOVF9UWVBFIHtcbiAgICBXQVRFUiA9ICd3YXRlcicsXG4gICAgRU5FUkdZID0gJ2VuZXJneScsXG4gICAgRUxFQ1RSSUNJVFkgPSAnZWxlY3RyaWNpdHknLFxuICAgIE5BVFVSQUxfR0FTID0gJ2dhcycsXG4gICAgRlVFTCA9ICdmdWVsJyxcbiAgICBTVEVBTSA9ICdzdGVhbScsXG4gICAgRU1JU1NJT04gPSAnZW1pc3Npb24nLFxuICAgIENPU1QgPSAnY29zdCcsXG5cbiAgICBXQVRFUl9QTEFOVF9DRUxMID0gJ3dhdGVyLXBsYW50LWNlbGwnLFxuICAgIEVORVJHWV9QTEFOVF9DRUxMID0gJ2VuZXJneS1wbGFudC1jZWxsJyxcbiAgICBFTEVDVFJJQ0lUWV9QTEFOVF9DRUxMID0gJ2VsZWN0cmljaXR5LXBsYW50LWNlbGwnLFxuICAgIE5BVFVSQUxfR0FTX1BMQU5UX0NFTEwgPSAnZ2FzLXBsYW50LWNlbGwnLFxuICAgIEZVRUxfUExBTlRfQ0VMTCA9ICdmdWVsLXBsYW50LWNlbGwnLFxuICAgIFNURUFNX1BMQU5UX0NFTEwgPSAnc3RlYW0tcGxhbnQtY2VsbCcsXG4gICAgRU1JU1NJT05fUExBTlRfQ0VMTCA9ICdlbWlzc2lvbi1wbGFudC1jZWxsJyxcbiAgICBDT1NUX1BMQU5UX0NFTEwgPSAnY29zdC1wbGFudC1jZWxsJyxcbn1cblxuZXhwb3J0IGNvbnN0IENPTVBPVFlQRV9DQUxMX1BMQU5UX1RPUE9MT0dZX0RFVEFJTFM6IHN0cmluZ1tdID0gW1xuICAgIEFUT19FQ09NUE9ORU5UX1BMQU5UX1RZUEUuV0FURVIsXG4gICAgQVRPX0VDT01QT05FTlRfUExBTlRfVFlQRS5XQVRFUl9QTEFOVF9DRUxMLFxuICAgIEFUT19FQ09NUE9ORU5UX1BMQU5UX1RZUEUuRU5FUkdZX1BMQU5UX0NFTEwsXG4gICAgQVRPX0VDT01QT05FTlRfUExBTlRfVFlQRS5FTEVDVFJJQ0lUWV9QTEFOVF9DRUxMLFxuICAgIEFUT19FQ09NUE9ORU5UX1BMQU5UX1RZUEUuTkFUVVJBTF9HQVNfUExBTlRfQ0VMTCxcbiAgICBBVE9fRUNPTVBPTkVOVF9QTEFOVF9UWVBFLkZVRUxfUExBTlRfQ0VMTCxcbiAgICBBVE9fRUNPTVBPTkVOVF9QTEFOVF9UWVBFLlNURUFNX1BMQU5UX0NFTEwsXG4gICAgQVRPX0VDT01QT05FTlRfUExBTlRfVFlQRS5FTUlTU0lPTl9QTEFOVF9DRUxMLFxuICAgIEFUT19FQ09NUE9ORU5UX1BMQU5UX1RZUEUuQ09TVF9QTEFOVF9DRUxMLFxuXTtcblxuZXhwb3J0IGNvbnN0IENPTVBPTkVOVF9UWVBFX09GX1BMQU5UX0NFTEw6IHN0cmluZ1tdID0gW1xuICAgIEFUT19FQ09NUE9ORU5UX1BMQU5UX1RZUEUuV0FURVJfUExBTlRfQ0VMTCxcbiAgICBBVE9fRUNPTVBPTkVOVF9QTEFOVF9UWVBFLkVORVJHWV9QTEFOVF9DRUxMLFxuICAgIEFUT19FQ09NUE9ORU5UX1BMQU5UX1RZUEUuRUxFQ1RSSUNJVFlfUExBTlRfQ0VMTCxcbiAgICBBVE9fRUNPTVBPTkVOVF9QTEFOVF9UWVBFLk5BVFVSQUxfR0FTX1BMQU5UX0NFTEwsXG4gICAgQVRPX0VDT01QT05FTlRfUExBTlRfVFlQRS5GVUVMX1BMQU5UX0NFTEwsXG4gICAgQVRPX0VDT01QT05FTlRfUExBTlRfVFlQRS5TVEVBTV9QTEFOVF9DRUxMLFxuICAgIEFUT19FQ09NUE9ORU5UX1BMQU5UX1RZUEUuRU1JU1NJT05fUExBTlRfQ0VMTCxcbiAgICBBVE9fRUNPTVBPTkVOVF9QTEFOVF9UWVBFLkNPU1RfUExBTlRfQ0VMTCxcbl07XG5cbmV4cG9ydCBjb25zdCBDT01QT05FTlRfVFlQRV9PRl9QTEFOVF9DRUxMX0VORVJHWTogc3RyaW5nW10gPSBbXG4gICAgQVRPX0VDT01QT05FTlRfUExBTlRfVFlQRS5FTkVSR1lfUExBTlRfQ0VMTCxcbiAgICBBVE9fRUNPTVBPTkVOVF9QTEFOVF9UWVBFLkVMRUNUUklDSVRZX1BMQU5UX0NFTEwsXG4gICAgQVRPX0VDT01QT05FTlRfUExBTlRfVFlQRS5OQVRVUkFMX0dBU19QTEFOVF9DRUxMLFxuICAgIEFUT19FQ09NUE9ORU5UX1BMQU5UX1RZUEUuRlVFTF9QTEFOVF9DRUxMLFxuICAgIEFUT19FQ09NUE9ORU5UX1BMQU5UX1RZUEUuU1RFQU1fUExBTlRfQ0VMTCxcbiAgICBBVE9fRUNPTVBPTkVOVF9QTEFOVF9UWVBFLkVNSVNTSU9OX1BMQU5UX0NFTEwsXG4gICAgQVRPX0VDT01QT05FTlRfUExBTlRfVFlQRS5DT1NUX1BMQU5UX0NFTEwsXG5dO1xuXG4vLyBleHBvcnQgZW51bSBFX1RPUE9MT0dZX1RZUEUge1xuLy8gICAgIE9WRVJfVklFVyA9ICdvdmVyLXZpZXcnLFxuLy8gICAgIFBMQU5UX0NFTEwgPSAncGxhbnQtY2VsbCcsXG4vLyB9XG5cbmV4cG9ydCBlbnVtIEVfQ09NUE9ORU5UX0RBVEFfVFlQRSB7XG4gICAgQ09NUE9ORU5UX1dBVEVSX0ZMT1cgPSAnQ29tcG9uZW50V2F0ZXJGbG93JyxcbiAgICBDT01QT05FTlRfRU5FUkdZX0ZMT1cgPSAnQ29tcG9uZW50RW5lcmd5RmxvdycsXG59XG5cbmV4cG9ydCBlbnVtIEVfRkxPV19SRUNPUkQge1xuICAgIElORkxPV19XQVRFUl9SRUNPUkQgPSAnSW5mbG93V2F0ZXJSZWNvcmQnLFxuICAgIE9VVEZMT1dfV0FURVJfUkVDT1JEID0gJ091dGZsb3dXYXRlclJlY29yZCcsXG4gICAgSU5GTE9XX0VORVJHWV9SRUNPUkQgPSAnSW5mbG93RW5lcmd5UmVjb3JkJyxcbiAgICBPVVRGTE9XX0VORVJHWV9SRUNPUkQgPSAnT3V0Zmxvd0VuZXJneVJlY29yZCcsXG59XG5cbi8vIGV4cG9ydCBlbnVtIFRBQl9EQVNIQk9BUkQge1xuLy8gICAgIFdBVEVSID0gJ3dhdGVyJyxcbi8vICAgICBXQVRFUl9MQUJFTCA9ICdXYXRlcicsXG4vLyAgICAgRU5FUkdZX0VNSVNTSU9OID0gJ2VuZXJneSAmIGVtaXNzaW9ucycsXG4vLyAgICAgRU5FUkdZX0VNSVNTSU9OX0xBQkVMID0gJ0VuZXJneSAmIEVtaXNzaW9ucycsXG4vLyB9XG5cbi8vIGV4cG9ydCBlbnVtIFRBQl9TRVRVUF9DT01QTElBTkNFIHtcbi8vICAgICBQTEFOVF9MRVZFTCA9ICdQbGFudCBsZXZlbCcsXG4vLyAgICAgUFJPQ0VTU19MRVZFTCA9ICdQcm9jZXNzIExldmVsJyxcbi8vIH1cblxuLy8gZXhwb3J0IGVudW0gUExBTlRfRU5FUkdZX0RJQUdSQU1fVEFCU19JTkRFWCB7XG4vLyAgICAgRU5FUkdZID0gMCxcbi8vICAgICBFTEVDVFJJQ0lUWSA9IDEsXG4vLyAgICAgTkFUVVJBTF9HQVMgPSAyLFxuLy8gICAgIEZVRUwgPSAzLFxuLy8gICAgIEVNSVNTSU9OUyA9IDRcbi8vIH1cblxuZXhwb3J0IGVudW0gVEFHX1RZUEUge1xuICAgIFdBVEVSID0gJ1dhdGVyJyxcbiAgICBFTEVDVFJJQ0lUWSA9ICdFbGVjdHJpY2l0eScsXG4gICAgTkFUVVJBTF9HQVMgPSAnTmF0dXJhbCBHYXMnLFxuICAgIEZVRUwgPSAnRnVlbCcsXG4gICAgU1RFQU0gPSAnU3RlYW0nLFxuICAgIEVORVJHWSA9ICdFbmVyZ3knLFxuICAgIEVNSVNTSU9OID0gJ0VtaXNzaW9uJyxcbiAgICBDT1NUID0gJ0Nvc3QnLFxuICAgIFdBVEVSX0FOQUxZVElDID0gJ1dhdGVyIEFuYWx5dGljJyxcbn1cblxuLy8gZXhwb3J0IGVudW0gVEFCX1dTX0VORVJHWV9FTUlTU0lPTiB7XG4vLyAgICAgVEFCTEUgPSAndGFibGUnLFxuLy8gICAgIERJQUdSQU0gPSAnZGlhZ3JhbScsXG4vLyB9XG5cbmV4cG9ydCBjb25zdCBQTEFOVF9FTkVSR1lfRElBR1JBTV9UQUJTOiB7XG4gICAgW2tleSBpbiBBVE9fRUNPTVBPTkVOVF9QTEFOVF9UWVBFXTogYW55O1xufSA9IHtcbiAgICBbQVRPX0VDT01QT05FTlRfUExBTlRfVFlQRS5XQVRFUl06IHtcbiAgICAgICAga2V5VW5pdEZyb21MaXN0OiAnV2F0ZXInLFxuICAgICAgICBrZXlVbml0OiAnd2F0ZXJVbml0JyxcbiAgICAgICAga2V5Rmxvd1RvcG9sb2d5OiAnV2F0ZXInLFxuICAgICAgICBrZXlUYWI6ICdXYXRlcicsXG4gICAgICAgIGluZGV4VGFiOiAtMSxcbiAgICAgICAga2V5Q29tcG9uZW50OiAnd2F0ZXJDb21wb25lbnRzJyxcbiAgICAgICAga2V5Um91dGU6ICdXYXRlcicsXG4gICAgICAgIHN1YlN5c3RlbUlkOiAnc3ViV2F0ZXJTeXN0ZW1JZCcsXG4gICAgICAgIG5hbWVUYWI6ICdXYXRlcicsXG4gICAgICAgIGxvYzogJ2xvY1dhdGVyJyxcbiAgICAgICAga2V5VG9VcGRhdGVNb2RlbDogJ3dhdGVyRGF0YScsXG4gICAgICAgIHRvcG9sb2d5VHlwZTogJ1BsYW50VG9wb2xvZ3knLFxuICAgICAgICB0eXBlOiAnd2F0ZXInLFxuICAgICAgICBjb21wb25lbnRGbG93OiBFX0NPTVBPTkVOVF9EQVRBX1RZUEUuQ09NUE9ORU5UX1dBVEVSX0ZMT1csXG4gICAgICAgIHRvcG9sb2d5Vmlld1R5cGU6IEFUT19FQ09NUE9ORU5UX1BMQU5UX1RZUEUuV0FURVIsXG4gICAgICAgIGljb25DbGFzc05hbWU6ICdmYS1yZWd1bGFyIGZhLXRhbmstd2F0ZXIgZm9udC1zaXplLTE2cHgnLFxuICAgICAgICB0YWdUeXBlOiBUQUdfVFlQRS5XQVRFUixcbiAgICAgICAgaW5mbG93UmVjb3JkOiBFX0ZMT1dfUkVDT1JELklORkxPV19XQVRFUl9SRUNPUkQsXG4gICAgICAgIG91dGZsb3dSZWNvcmQ6IEVfRkxPV19SRUNPUkQuT1VURkxPV19XQVRFUl9SRUNPUkQsXG4gICAgICAgIGtleUdyb3VwTWVudTogJ1dhdGVyJyxcbiAgICB9LFxuICAgIFtBVE9fRUNPTVBPTkVOVF9QTEFOVF9UWVBFLkVORVJHWV06IHtcbiAgICAgICAga2V5VW5pdEZyb21MaXN0OiAnRW5lcmd5JyxcbiAgICAgICAga2V5VW5pdDogJ2VuZXJneVVuaXQnLFxuICAgICAgICBrZXlGbG93VG9wb2xvZ3k6ICdFbmVyZ3knLFxuICAgICAgICBrZXlUYWI6ICdFbmVyZ3knLFxuICAgICAgICBpbmRleFRhYjogNCxcbiAgICAgICAga2V5Q29tcG9uZW50OiAnJyxcbiAgICAgICAga2V5Um91dGU6ICdlbmVyZ3knLFxuICAgICAgICBuYW1lVGFiOiAnRW5lcmd5JyxcbiAgICAgICAgbG9jOiAnbG9jRW5lcmd5JyxcbiAgICAgICAga2V5VG9VcGRhdGVNb2RlbDogJycsXG4gICAgICAgIHR5cGU6ICd3YXRlcicsXG4gICAgICAgIGNvbXBvbmVudEZsb3c6IEVfQ09NUE9ORU5UX0RBVEFfVFlQRS5DT01QT05FTlRfRU5FUkdZX0ZMT1csXG4gICAgICAgIHRvcG9sb2d5Vmlld1R5cGU6IEFUT19FQ09NUE9ORU5UX1BMQU5UX1RZUEUuRU5FUkdZLFxuICAgICAgICB0YWdUeXBlOiBUQUdfVFlQRS5FTkVSR1ksXG4gICAgICAgIGluZmxvd1JlY29yZDogRV9GTE9XX1JFQ09SRC5JTkZMT1dfRU5FUkdZX1JFQ09SRCxcbiAgICAgICAgb3V0Zmxvd1JlY29yZDogRV9GTE9XX1JFQ09SRC5PVVRGTE9XX0VORVJHWV9SRUNPUkQsXG4gICAgfSxcbiAgICBbQVRPX0VDT01QT05FTlRfUExBTlRfVFlQRS5FTEVDVFJJQ0lUWV06IHtcbiAgICAgICAga2V5VW5pdEZyb21MaXN0OiAnRWxlY3RyaWNpdHknLFxuICAgICAgICBrZXlVbml0OiAnZWxlY3RyaWNpdHlVbml0JyxcbiAgICAgICAga2V5Rmxvd1RvcG9sb2d5OiAnRWxlY3RyaWNpdHknLFxuICAgICAgICBrZXlUYWI6ICdFbGVjdHJpY2FscycsXG4gICAgICAgIGluZGV4VGFiOiAwLFxuICAgICAgICBrZXlDb21wb25lbnQ6ICdlbGVjdHJpY0NvbXBvbmVudHMnLFxuICAgICAgICBrZXlSb3V0ZTogJ2VsZWN0cmljaXR5JyxcbiAgICAgICAgc3ViU3lzdGVtSWQ6ICdzdWJFbGVjdHJpY1N5c3RlbUlkJyxcbiAgICAgICAgbmFtZVRhYjogJ0VsZWN0cmljaXR5JyxcbiAgICAgICAgbG9jOiAnbG9jRWxlY3RyaWNpdHknLFxuICAgICAgICBrZXlUb1VwZGF0ZU1vZGVsOiAnZWxlY3RyaWNEYXRhJyxcbiAgICAgICAgdG9wb2xvZ3lUeXBlOiAnRWxlY3RyaWNpdHknLFxuICAgICAgICB0eXBlOiAnZWxlY3RyaWNpdHknLFxuICAgICAgICBjb21wb25lbnRGbG93OiBFX0NPTVBPTkVOVF9EQVRBX1RZUEUuQ09NUE9ORU5UX0VORVJHWV9GTE9XLFxuICAgICAgICB0b3BvbG9neVZpZXdUeXBlOiBBVE9fRUNPTVBPTkVOVF9QTEFOVF9UWVBFLkVMRUNUUklDSVRZLFxuICAgICAgICBpY29uQ2xhc3NOYW1lOiAnZmEtcmVndWxhciBmYS1ib2x0IGZvbnQtc2l6ZS0xNnB4JyxcbiAgICAgICAgdGFnVHlwZTogVEFHX1RZUEUuRUxFQ1RSSUNJVFksXG4gICAgICAgIGluZmxvd1JlY29yZDogRV9GTE9XX1JFQ09SRC5JTkZMT1dfRU5FUkdZX1JFQ09SRCxcbiAgICAgICAgb3V0Zmxvd1JlY29yZDogRV9GTE9XX1JFQ09SRC5PVVRGTE9XX0VORVJHWV9SRUNPUkQsXG4gICAgICAgIGtleUdyb3VwTWVudTogJ0VsZWN0cmljaXR5JyxcbiAgICB9LFxuICAgIFtBVE9fRUNPTVBPTkVOVF9QTEFOVF9UWVBFLk5BVFVSQUxfR0FTXToge1xuICAgICAgICBrZXlVbml0RnJvbUxpc3Q6ICdHYXMnLFxuICAgICAgICBrZXlVbml0OiAnbmF0dXJhbEdhc1VuaXQnLFxuICAgICAgICBrZXlGbG93VG9wb2xvZ3k6ICdOYXR1cmFsR2FzJyxcbiAgICAgICAga2V5VGFiOiAnTmF0dXJhbEdhc2VzJyxcbiAgICAgICAgaW5kZXhUYWI6IDEsXG4gICAgICAgIGtleUNvbXBvbmVudDogJ2dhc0NvbXBvbmVudHMnLFxuICAgICAgICBrZXlSb3V0ZTogJ2dhcycsXG4gICAgICAgIHN1YlN5c3RlbUlkOiAnc3ViR2FzU3lzdGVtSWQnLFxuICAgICAgICBuYW1lVGFiOiAnTmF0dXJhbCBHYXMnLFxuICAgICAgICBsb2M6ICdsb2NHYXMnLFxuICAgICAgICBrZXlUb1VwZGF0ZU1vZGVsOiAnZ2FzRGF0YScsXG4gICAgICAgIHRvcG9sb2d5VHlwZTogJ05hdHVyYWxHYXMnLFxuICAgICAgICB0eXBlOiAnbmF0dXJhbGdhcycsXG4gICAgICAgIGNvbXBvbmVudEZsb3c6IEVfQ09NUE9ORU5UX0RBVEFfVFlQRS5DT01QT05FTlRfRU5FUkdZX0ZMT1csXG4gICAgICAgIHRvcG9sb2d5Vmlld1R5cGU6IEFUT19FQ09NUE9ORU5UX1BMQU5UX1RZUEUuTkFUVVJBTF9HQVMsXG4gICAgICAgIGljb25DbGFzc05hbWU6ICdmYS1yZWd1bGFyIGZhLWZpcmUtZmxhbWUtY3VydmVkIGZvbnQtc2l6ZS0xNnB4JyxcbiAgICAgICAgdGFnVHlwZTogVEFHX1RZUEUuTkFUVVJBTF9HQVMsXG4gICAgICAgIGluZmxvd1JlY29yZDogRV9GTE9XX1JFQ09SRC5JTkZMT1dfRU5FUkdZX1JFQ09SRCxcbiAgICAgICAgb3V0Zmxvd1JlY29yZDogRV9GTE9XX1JFQ09SRC5PVVRGTE9XX0VORVJHWV9SRUNPUkQsXG4gICAgICAgIGtleUdyb3VwTWVudTogJ05hdHVyYWxHYXNlcycsXG4gICAgfSxcbiAgICBbQVRPX0VDT01QT05FTlRfUExBTlRfVFlQRS5GVUVMXToge1xuICAgICAgICBrZXlVbml0RnJvbUxpc3Q6ICdGdWVsJyxcbiAgICAgICAga2V5VW5pdDogJ2Z1ZWxVbml0JyxcbiAgICAgICAga2V5Rmxvd1RvcG9sb2d5OiAnRnVlbCcsXG4gICAgICAgIGtleVRhYjogJ0Z1ZWxzJyxcbiAgICAgICAgaW5kZXhUYWI6IDIsXG4gICAgICAgIGtleUNvbXBvbmVudDogJ2Z1ZWxDb21wb25lbnRzJyxcbiAgICAgICAga2V5Um91dGU6ICdmdWVsJyxcbiAgICAgICAgc3ViU3lzdGVtSWQ6ICdzdWJGdWVsU3lzdGVtSWQnLFxuICAgICAgICBuYW1lVGFiOiAnRnVlbCcsXG4gICAgICAgIGxvYzogJ2xvY0Z1ZWwnLFxuICAgICAgICBrZXlUb1VwZGF0ZU1vZGVsOiAnZnVlbERhdGEnLFxuICAgICAgICB0b3BvbG9neVR5cGU6ICdGdWVsJyxcbiAgICAgICAgdHlwZTogJ2Z1ZWwnLFxuICAgICAgICBjb21wb25lbnRGbG93OiBFX0NPTVBPTkVOVF9EQVRBX1RZUEUuQ09NUE9ORU5UX0VORVJHWV9GTE9XLFxuICAgICAgICB0b3BvbG9neVZpZXdUeXBlOiBBVE9fRUNPTVBPTkVOVF9QTEFOVF9UWVBFLkZVRUwsXG4gICAgICAgIGljb25DbGFzc05hbWU6ICdmYS1yZWd1bGFyIGZhLWdhcy1wdW1wIGZvbnQtc2l6ZS0xNnB4JyxcbiAgICAgICAgdGFnVHlwZTogVEFHX1RZUEUuRlVFTCxcbiAgICAgICAgaW5mbG93UmVjb3JkOiBFX0ZMT1dfUkVDT1JELklORkxPV19FTkVSR1lfUkVDT1JELFxuICAgICAgICBvdXRmbG93UmVjb3JkOiBFX0ZMT1dfUkVDT1JELk9VVEZMT1dfRU5FUkdZX1JFQ09SRCxcbiAgICAgICAga2V5R3JvdXBNZW51OiAnRnVlbHMnLFxuICAgIH0sXG4gICAgW0FUT19FQ09NUE9ORU5UX1BMQU5UX1RZUEUuU1RFQU1dOiB7XG4gICAgICAgIGtleVVuaXRGcm9tTGlzdDogJ1N0ZWFtJyxcbiAgICAgICAga2V5VW5pdDogJ3N0ZWFtVW5pdCcsXG4gICAgICAgIGtleUZsb3dUb3BvbG9neTogJ1N0ZWFtJyxcbiAgICAgICAga2V5VGFiOiAnU3RlYW1zJyxcbiAgICAgICAgaW5kZXhUYWI6IDMsXG4gICAgICAgIGtleUNvbXBvbmVudDogJ3N0ZWFtQ29tcG9uZW50cycsXG4gICAgICAgIGtleVJvdXRlOiAnc3RlYW0nLFxuICAgICAgICBzdWJTeXN0ZW1JZDogJ3N1YlN0ZWFtU3lzdGVtSWQnLFxuICAgICAgICBuYW1lVGFiOiAnU3RlYW0nLFxuICAgICAgICBsb2M6ICdsb2NTdGVhbScsXG4gICAgICAgIGtleVRvVXBkYXRlTW9kZWw6ICdzdGVhbURhdGEnLFxuICAgICAgICB0b3BvbG9neVR5cGU6ICdTdGVhbScsXG4gICAgICAgIHR5cGU6ICdzdGVhbScsXG4gICAgICAgIGNvbXBvbmVudEZsb3c6IEVfQ09NUE9ORU5UX0RBVEFfVFlQRS5DT01QT05FTlRfRU5FUkdZX0ZMT1csXG4gICAgICAgIHRvcG9sb2d5Vmlld1R5cGU6IEFUT19FQ09NUE9ORU5UX1BMQU5UX1RZUEUuU1RFQU0sXG4gICAgICAgIGljb25DbGFzc05hbWU6ICdmYS1yZWd1bGFyIGZhLWhlYXQgZm9udC1zaXplLTE2cHgnLFxuICAgICAgICB0YWdUeXBlOiBUQUdfVFlQRS5TVEVBTSxcbiAgICAgICAgaW5mbG93UmVjb3JkOiBFX0ZMT1dfUkVDT1JELklORkxPV19FTkVSR1lfUkVDT1JELFxuICAgICAgICBvdXRmbG93UmVjb3JkOiBFX0ZMT1dfUkVDT1JELk9VVEZMT1dfRU5FUkdZX1JFQ09SRCxcbiAgICAgICAga2V5R3JvdXBNZW51OiAnU3RlYW1zJyxcbiAgICB9LFxuICAgIFtBVE9fRUNPTVBPTkVOVF9QTEFOVF9UWVBFLkVNSVNTSU9OXToge1xuICAgICAgICBrZXlVbml0RnJvbUxpc3Q6ICdFbWlzc2lvbnMnLFxuICAgICAgICBrZXlVbml0OiAnRW1pc3Npb25zJyxcbiAgICAgICAga2V5Rmxvd1RvcG9sb2d5OiAnRW1pc3Npb25zJyxcbiAgICAgICAga2V5VGFiOiAnRW1pc3Npb25zJyxcbiAgICAgICAgaW5kZXhUYWI6IDUsXG4gICAgICAgIGtleUNvbXBvbmVudDogJ2VtaXNzaW9uQ29tcG9uZW50cycsXG4gICAgICAgIGtleVJvdXRlOiAnZW1pc3Npb24nLFxuICAgICAgICBsb2M6ICdsb2NFbWlzc2lvbicsXG4gICAgICAgIGtleVRvVXBkYXRlTW9kZWw6ICdlbWlzc2lvbkRhdGEnLFxuICAgICAgICB0b3BvbG9neVZpZXdUeXBlOiBBVE9fRUNPTVBPTkVOVF9QTEFOVF9UWVBFLkVNSVNTSU9OLFxuICAgICAgICB0YWdUeXBlOiBUQUdfVFlQRS5FTUlTU0lPTixcbiAgICAgICAgaW5mbG93UmVjb3JkOiBFX0ZMT1dfUkVDT1JELklORkxPV19FTkVSR1lfUkVDT1JELFxuICAgICAgICBvdXRmbG93UmVjb3JkOiBFX0ZMT1dfUkVDT1JELk9VVEZMT1dfRU5FUkdZX1JFQ09SRCxcbiAgICB9LFxuICAgIFtBVE9fRUNPTVBPTkVOVF9QTEFOVF9UWVBFLkNPU1RdOiB7XG4gICAgICAgIGtleVVuaXRGcm9tTGlzdDogJ0Nvc3QnLFxuICAgICAgICBrZXlVbml0OiAnQ29zdCcsXG4gICAgICAgIGtleUZsb3dUb3BvbG9neTogJ0Nvc3QnLFxuICAgICAgICBrZXlUYWI6ICdDb3N0JyxcbiAgICAgICAgaW5kZXhUYWI6IDQsXG4gICAgICAgIGtleUNvbXBvbmVudDogJ2Nvc3RDb21wb25lbnRzJyxcbiAgICAgICAga2V5Um91dGU6ICdjb3N0JyxcbiAgICAgICAgbG9jOiAnbG9jQ29zdCcsXG4gICAgICAgIGtleVRvVXBkYXRlTW9kZWw6ICdjb3N0RGF0YScsXG4gICAgICAgIHR5cGU6ICdjb3N0JyxcbiAgICAgICAgdG9wb2xvZ3lWaWV3VHlwZTogQVRPX0VDT01QT05FTlRfUExBTlRfVFlQRS5DT1NULFxuICAgICAgICB0YWdUeXBlOiBUQUdfVFlQRS5DT1NULFxuICAgICAgICBpbmZsb3dSZWNvcmQ6IEVfRkxPV19SRUNPUkQuSU5GTE9XX0VORVJHWV9SRUNPUkQsXG4gICAgICAgIG91dGZsb3dSZWNvcmQ6IEVfRkxPV19SRUNPUkQuT1VURkxPV19FTkVSR1lfUkVDT1JELFxuICAgIH0sXG4gICAgW0FUT19FQ09NUE9ORU5UX1BMQU5UX1RZUEUuV0FURVJfUExBTlRfQ0VMTF06IHtcbiAgICAgICAga2V5VW5pdEZyb21MaXN0OiAnV2F0ZXInLFxuICAgICAgICBrZXlVbml0OiAnd2F0ZXJVbml0JyxcbiAgICAgICAga2V5Rmxvd1RvcG9sb2d5OiAnV2F0ZXInLFxuICAgICAgICBrZXlUYWI6ICdXYXRlcicsXG4gICAgICAgIGluZGV4VGFiOiAtMSxcbiAgICAgICAga2V5Q29tcG9uZW50OiAnd2F0ZXJDb21wb25lbnRzX1BsYW50Q2VsbCcsXG4gICAgICAgIGtleVJvdXRlOiAnV2F0ZXInLFxuICAgICAgICBzdWJTeXN0ZW1JZDogJ3N1YldhdGVyU3lzdGVtSWQnLFxuICAgICAgICBsb2M6ICdsb2NXYXRlcicsXG4gICAgICAgIGtleVRvVXBkYXRlTW9kZWw6ICd3YXRlckRhdGFQbGFudENlbGwnLFxuICAgICAgICB0b3BvbG9neVR5cGU6ICdQbGFudFRvcG9sb2d5JyxcbiAgICAgICAgdHlwZTogJ3dhdGVyJyxcbiAgICAgICAgY29tcG9uZW50RmxvdzogRV9DT01QT05FTlRfREFUQV9UWVBFLkNPTVBPTkVOVF9XQVRFUl9GTE9XLFxuICAgICAgICB0b3BvbG9neVZpZXdUeXBlOiBBVE9fRUNPTVBPTkVOVF9QTEFOVF9UWVBFLldBVEVSLFxuICAgICAgICB0YWdUeXBlOiBUQUdfVFlQRS5XQVRFUixcbiAgICAgICAgaW5mbG93UmVjb3JkOiBFX0ZMT1dfUkVDT1JELklORkxPV19XQVRFUl9SRUNPUkQsXG4gICAgICAgIG91dGZsb3dSZWNvcmQ6IEVfRkxPV19SRUNPUkQuT1VURkxPV19XQVRFUl9SRUNPUkQsXG4gICAgfSxcbiAgICBbQVRPX0VDT01QT05FTlRfUExBTlRfVFlQRS5FTkVSR1lfUExBTlRfQ0VMTF06IHtcbiAgICAgICAga2V5VW5pdEZyb21MaXN0OiAnRW5lcmd5JyxcbiAgICAgICAga2V5VW5pdDogJ2VuZXJneVVuaXQnLFxuICAgICAgICBrZXlGbG93VG9wb2xvZ3k6ICdFbmVyZ3knLFxuICAgICAgICBrZXlUYWI6ICdFbmVyZ3knLFxuICAgICAgICBpbmRleFRhYjogMyxcbiAgICAgICAga2V5Q29tcG9uZW50OiAnJyxcbiAgICAgICAga2V5Um91dGU6ICdlbmVyZ3knLFxuICAgICAgICBsb2M6ICdsb2NFbmVyZ3knLFxuICAgICAgICBrZXlUb1VwZGF0ZU1vZGVsOiAnJyxcbiAgICAgICAgdHlwZTogJ3dhdGVyJyxcbiAgICAgICAgY29tcG9uZW50RmxvdzogRV9DT01QT05FTlRfREFUQV9UWVBFLkNPTVBPTkVOVF9XQVRFUl9GTE9XLFxuICAgICAgICB0b3BvbG9neVZpZXdUeXBlOiBBVE9fRUNPTVBPTkVOVF9QTEFOVF9UWVBFLkVORVJHWSxcbiAgICAgICAgdGFnVHlwZTogVEFHX1RZUEUuRU5FUkdZLFxuICAgICAgICBpbmZsb3dSZWNvcmQ6IEVfRkxPV19SRUNPUkQuSU5GTE9XX0VORVJHWV9SRUNPUkQsXG4gICAgICAgIG91dGZsb3dSZWNvcmQ6IEVfRkxPV19SRUNPUkQuT1VURkxPV19FTkVSR1lfUkVDT1JELFxuICAgIH0sXG4gICAgW0FUT19FQ09NUE9ORU5UX1BMQU5UX1RZUEUuRUxFQ1RSSUNJVFlfUExBTlRfQ0VMTF06IHtcbiAgICAgICAga2V5VW5pdEZyb21MaXN0OiAnRWxlY3RyaWNpdHknLFxuICAgICAgICBrZXlVbml0OiAnZWxlY3RyaWNpdHlVbml0JyxcbiAgICAgICAga2V5Rmxvd1RvcG9sb2d5OiAnRWxlY3RyaWNpdHknLFxuICAgICAgICBrZXlUYWI6ICdFbGVjdHJpY2FscycsXG4gICAgICAgIGluZGV4VGFiOiAwLFxuICAgICAgICBrZXlDb21wb25lbnQ6ICdlbGVjdHJpY0NvbXBvbmVudHNfUGxhbnRDZWxsJyxcbiAgICAgICAga2V5Um91dGU6ICdlbGVjdHJpY2l0eScsXG4gICAgICAgIHN1YlN5c3RlbUlkOiAnc3ViRWxlY3RyaWNTeXN0ZW1JZCcsXG4gICAgICAgIG5hbWVUYWI6ICdFbGVjdHJpY2l0eScsXG4gICAgICAgIGxvYzogJ2xvY0VsZWN0cmljaXR5JyxcbiAgICAgICAga2V5VG9VcGRhdGVNb2RlbDogJ2VsZWN0cmljRGF0YVBsYW50Q2VsbCcsXG4gICAgICAgIHRvcG9sb2d5VHlwZTogJ0VsZWN0cmljaXR5JyxcbiAgICAgICAgdHlwZTogJ2VsZWN0cmljaXR5JyxcbiAgICAgICAgY29tcG9uZW50RmxvdzogRV9DT01QT05FTlRfREFUQV9UWVBFLkNPTVBPTkVOVF9FTkVSR1lfRkxPVyxcbiAgICAgICAgdG9wb2xvZ3lWaWV3VHlwZTogQVRPX0VDT01QT05FTlRfUExBTlRfVFlQRS5FTEVDVFJJQ0lUWSxcbiAgICAgICAgdGFnVHlwZTogVEFHX1RZUEUuRUxFQ1RSSUNJVFksXG4gICAgICAgIGluZmxvd1JlY29yZDogRV9GTE9XX1JFQ09SRC5JTkZMT1dfRU5FUkdZX1JFQ09SRCxcbiAgICAgICAgb3V0Zmxvd1JlY29yZDogRV9GTE9XX1JFQ09SRC5PVVRGTE9XX0VORVJHWV9SRUNPUkQsXG4gICAgfSxcbiAgICBbQVRPX0VDT01QT05FTlRfUExBTlRfVFlQRS5OQVRVUkFMX0dBU19QTEFOVF9DRUxMXToge1xuICAgICAgICBrZXlVbml0RnJvbUxpc3Q6ICdHYXMnLFxuICAgICAgICBrZXlVbml0OiAnbmF0dXJhbEdhc1VuaXQnLFxuICAgICAgICBrZXlGbG93VG9wb2xvZ3k6ICdOYXR1cmFsR2FzJyxcbiAgICAgICAga2V5VGFiOiAnTmF0dXJhbEdhc2VzJyxcbiAgICAgICAgaW5kZXhUYWI6IDEsXG4gICAgICAgIGtleUNvbXBvbmVudDogJ2dhc0NvbXBvbmVudHNfUGxhbnRDZWxsJyxcbiAgICAgICAga2V5Um91dGU6ICdnYXMnLFxuICAgICAgICBzdWJTeXN0ZW1JZDogJ3N1Ykdhc1N5c3RlbUlkJyxcbiAgICAgICAgbmFtZVRhYjogJ05hdHVyYWwgR2FzJyxcbiAgICAgICAgbG9jOiAnbG9jR2FzJyxcbiAgICAgICAga2V5VG9VcGRhdGVNb2RlbDogJ2dhc0RhdGFQbGFudENlbGwnLFxuICAgICAgICB0b3BvbG9neVR5cGU6ICdOYXR1cmFsR2FzJyxcbiAgICAgICAgdHlwZTogJ25hdHVyYWxnYXMnLFxuICAgICAgICBjb21wb25lbnRGbG93OiBFX0NPTVBPTkVOVF9EQVRBX1RZUEUuQ09NUE9ORU5UX0VORVJHWV9GTE9XLFxuICAgICAgICB0b3BvbG9neVZpZXdUeXBlOiBBVE9fRUNPTVBPTkVOVF9QTEFOVF9UWVBFLk5BVFVSQUxfR0FTLFxuICAgICAgICB0YWdUeXBlOiBUQUdfVFlQRS5OQVRVUkFMX0dBUyxcbiAgICAgICAgaW5mbG93UmVjb3JkOiBFX0ZMT1dfUkVDT1JELklORkxPV19FTkVSR1lfUkVDT1JELFxuICAgICAgICBvdXRmbG93UmVjb3JkOiBFX0ZMT1dfUkVDT1JELk9VVEZMT1dfRU5FUkdZX1JFQ09SRCxcbiAgICB9LFxuICAgIFtBVE9fRUNPTVBPTkVOVF9QTEFOVF9UWVBFLkZVRUxfUExBTlRfQ0VMTF06IHtcbiAgICAgICAga2V5VW5pdEZyb21MaXN0OiAnRnVlbCcsXG4gICAgICAgIGtleVVuaXQ6ICdmdWVsVW5pdCcsXG4gICAgICAgIGtleUZsb3dUb3BvbG9neTogJ0Z1ZWwnLFxuICAgICAgICBrZXlUYWI6ICdGdWVscycsXG4gICAgICAgIGluZGV4VGFiOiAyLFxuICAgICAgICBrZXlDb21wb25lbnQ6ICdmdWVsQ29tcG9uZW50c19QbGFudENlbGwnLFxuICAgICAgICBrZXlSb3V0ZTogJ2Z1ZWwnLFxuICAgICAgICBzdWJTeXN0ZW1JZDogJ3N1YkZ1ZWxTeXN0ZW1JZCcsXG4gICAgICAgIG5hbWVUYWI6ICdGdWVsJyxcbiAgICAgICAgbG9jOiAnbG9jRnVlbCcsXG4gICAgICAgIGtleVRvVXBkYXRlTW9kZWw6ICdmdWVsRGF0YVBsYW50Q2VsbCcsXG4gICAgICAgIHRvcG9sb2d5VHlwZTogJ0Z1ZWwnLFxuICAgICAgICB0eXBlOiAnZnVlbCcsXG4gICAgICAgIGNvbXBvbmVudEZsb3c6IEVfQ09NUE9ORU5UX0RBVEFfVFlQRS5DT01QT05FTlRfRU5FUkdZX0ZMT1csXG4gICAgICAgIHRvcG9sb2d5Vmlld1R5cGU6IEFUT19FQ09NUE9ORU5UX1BMQU5UX1RZUEUuRlVFTCxcbiAgICAgICAgdGFnVHlwZTogVEFHX1RZUEUuRlVFTCxcbiAgICAgICAgaW5mbG93UmVjb3JkOiBFX0ZMT1dfUkVDT1JELklORkxPV19FTkVSR1lfUkVDT1JELFxuICAgICAgICBvdXRmbG93UmVjb3JkOiBFX0ZMT1dfUkVDT1JELk9VVEZMT1dfRU5FUkdZX1JFQ09SRCxcbiAgICB9LFxuXG4gICAgW0FUT19FQ09NUE9ORU5UX1BMQU5UX1RZUEUuU1RFQU1fUExBTlRfQ0VMTF06IHtcbiAgICAgICAga2V5VW5pdEZyb21MaXN0OiAnU3RlYW0nLFxuICAgICAgICBrZXlVbml0OiAnc3RlYW1Vbml0JyxcbiAgICAgICAga2V5Rmxvd1RvcG9sb2d5OiAnU3RlYW0nLFxuICAgICAgICBrZXlUYWI6ICdTdGVhbXMnLFxuICAgICAgICBpbmRleFRhYjogMixcbiAgICAgICAga2V5Q29tcG9uZW50OiAnc3RlYW1Db21wb25lbnRzX1BsYW50Q2VsbCcsXG4gICAgICAgIGtleVJvdXRlOiAnc3RlYW0nLFxuICAgICAgICBzdWJTeXN0ZW1JZDogJ3N1YlN0ZWFtU3lzdGVtSWQnLFxuICAgICAgICBuYW1lVGFiOiAnU3RlYW0nLFxuICAgICAgICBsb2M6ICdsb2NTdGVhbScsXG4gICAgICAgIGtleVRvVXBkYXRlTW9kZWw6ICdzdGVhbURhdGFQbGFudENlbGwnLFxuICAgICAgICB0b3BvbG9neVR5cGU6ICdTdGVhbScsXG4gICAgICAgIHR5cGU6ICdzdGVhbScsXG4gICAgICAgIGNvbXBvbmVudEZsb3c6IEVfQ09NUE9ORU5UX0RBVEFfVFlQRS5DT01QT05FTlRfRU5FUkdZX0ZMT1csXG4gICAgICAgIHRvcG9sb2d5Vmlld1R5cGU6IEFUT19FQ09NUE9ORU5UX1BMQU5UX1RZUEUuU1RFQU0sXG4gICAgICAgIHRhZ1R5cGU6IFRBR19UWVBFLlNURUFNLFxuICAgICAgICBpbmZsb3dSZWNvcmQ6IEVfRkxPV19SRUNPUkQuSU5GTE9XX0VORVJHWV9SRUNPUkQsXG4gICAgICAgIG91dGZsb3dSZWNvcmQ6IEVfRkxPV19SRUNPUkQuT1VURkxPV19FTkVSR1lfUkVDT1JELFxuICAgIH0sXG5cbiAgICBbQVRPX0VDT01QT05FTlRfUExBTlRfVFlQRS5FTUlTU0lPTl9QTEFOVF9DRUxMXToge1xuICAgICAgICBrZXlVbml0RnJvbUxpc3Q6ICdFbWlzc2lvbnMnLFxuICAgICAgICBrZXlVbml0OiAnRW1pc3Npb25zJyxcbiAgICAgICAga2V5Rmxvd1RvcG9sb2d5OiAnRW1pc3Npb25zJyxcbiAgICAgICAga2V5VGFiOiAnRW1pc3Npb25zJyxcbiAgICAgICAgaW5kZXhUYWI6IDUsXG4gICAgICAgIGtleUNvbXBvbmVudDogJycsXG4gICAgICAgIGtleVJvdXRlOiAnZW1pc3Npb24nLFxuICAgICAgICBsb2M6ICdsb2NFbWlzc2lvbicsXG4gICAgICAgIGtleVRvVXBkYXRlTW9kZWw6ICcnLFxuICAgICAgICB0b3BvbG9neVZpZXdUeXBlOiBBVE9fRUNPTVBPTkVOVF9QTEFOVF9UWVBFLkVNSVNTSU9OLFxuICAgICAgICB0YWdUeXBlOiBUQUdfVFlQRS5FTUlTU0lPTixcbiAgICAgICAgaW5mbG93UmVjb3JkOiBFX0ZMT1dfUkVDT1JELklORkxPV19FTkVSR1lfUkVDT1JELFxuICAgICAgICBvdXRmbG93UmVjb3JkOiBFX0ZMT1dfUkVDT1JELk9VVEZMT1dfRU5FUkdZX1JFQ09SRCxcbiAgICB9LFxuICAgIFtBVE9fRUNPTVBPTkVOVF9QTEFOVF9UWVBFLkNPU1RfUExBTlRfQ0VMTF06IHtcbiAgICAgICAga2V5VW5pdEZyb21MaXN0OiAnQ29zdCcsXG4gICAgICAgIGtleVVuaXQ6ICdDb3N0JyxcbiAgICAgICAga2V5Rmxvd1RvcG9sb2d5OiAnQ29zdCcsXG4gICAgICAgIGtleVRhYjogJ0Nvc3QnLFxuICAgICAgICBpbmRleFRhYjogNCxcbiAgICAgICAga2V5Q29tcG9uZW50OiAnY29zdENvbXBvbmVudHNfUGxhbnRDZWxsJyxcbiAgICAgICAga2V5Um91dGU6ICdjb3N0JyxcbiAgICAgICAgbG9jOiAnbG9jQ29zdCcsXG4gICAgICAgIGtleVRvVXBkYXRlTW9kZWw6ICdjb3N0RGF0YVBsYW50Q2VsbCcsXG4gICAgICAgIHR5cGU6ICdjb3N0JyxcbiAgICAgICAgdG9wb2xvZ3lWaWV3VHlwZTogQVRPX0VDT01QT05FTlRfUExBTlRfVFlQRS5DT1NULFxuICAgICAgICB0YWdUeXBlOiBUQUdfVFlQRS5DT1NULFxuICAgICAgICBpbmZsb3dSZWNvcmQ6IEVfRkxPV19SRUNPUkQuSU5GTE9XX0VORVJHWV9SRUNPUkQsXG4gICAgICAgIG91dGZsb3dSZWNvcmQ6IEVfRkxPV19SRUNPUkQuT1VURkxPV19FTkVSR1lfUkVDT1JELFxuICAgIH0sXG5cbiAgICAvLyAvLyBBZGQgd2F0ZXIgdG8gcGxhbnQgdHlwZVxuICAgIC8vIFtBVE9fRUNPTVBPTkVOVF9QTEFOVF9UWVBFLldBVEVSXToge1xuICAgIC8vICAgICBrZXlVbml0RnJvbUxpc3Q6ICdXYXRlcicsXG4gICAgLy8gICAgIGtleVVuaXQ6ICdXYXRlcicsXG4gICAgLy8gICAgIGtleUZsb3dUb3BvbG9neTogJ1dhdGVyJyxcbiAgICAvLyAgICAga2V5VGFiOiAnV2F0ZXInLFxuICAgIC8vICAgICBpbmRleFRhYjogNSxcbiAgICAvLyAgICAga2V5Q29tcG9uZW50OiAnd2F0ZXJDb21wb25lbnRzJyxcbiAgICAvLyAgICAga2V5Um91dGU6ICd3YXRlcidcbiAgICAvLyB9LFxufTtcblxuLy8gZXhwb3J0IGVudW0gVEFSR0VUX0VfVFlQRSB7XG4vLyAgICAgVEFSR0VUID0gJ1RhcmdldCcsXG4vLyAgICAgR09BTCA9ICdHb2FsJyxcbi8vICAgICBQUk9KRUNUID0gJ1Byb2plY3QnLFxuLy8gICAgIE1JTEVTVE9ORSA9ICdNaWxlc3RvbmUnLFxuLy8gfVxuXG4vLyBjb25zdCBDT0xPUl9TVEFUVVMgPSB7XG4vLyAgICAgUkVEOiB7XG4vLyAgICAgICAgIGhleENvbG9yOiAnI0VDMUIyNCcsXG4vLyAgICAgICAgIGNsYXNzQ29sb3I6ICdjb2xvci1hbGl6YXJpbicsXG4vLyAgICAgfSxcbi8vICAgICBZRUxMT1c6IHtcbi8vICAgICAgICAgaGV4Q29sb3I6ICcjRTA5RjI1Jyxcbi8vICAgICAgICAgY2xhc3NDb2xvcjogJ2NvbG9yLWdhbGxpYW5vLTInLFxuLy8gICAgIH0sXG4vLyAgICAgR1JFRU46IHtcbi8vICAgICAgICAgaGV4Q29sb3I6ICcjMTk5QzY5Jyxcbi8vICAgICAgICAgY2xhc3NDb2xvcjogJ2NvbG9yLWVsZi1ncmVlbicsXG4vLyAgICAgfSxcbi8vIH07XG5cbi8vIGV4cG9ydCBjb25zdCBUQVJHRVRfU1RBVFVTX0NPTE9SID0ge1xuLy8gICAgIFtUQVJHRVRfRV9UWVBFLlRBUkdFVF06IHtcbi8vICAgICAgICAgMDogQ09MT1JfU1RBVFVTLllFTExPVyxcbi8vICAgICAgICAgMTogQ09MT1JfU1RBVFVTLllFTExPVyxcbi8vICAgICAgICAgMjogQ09MT1JfU1RBVFVTLllFTExPVyxcbi8vICAgICAgICAgMzogQ09MT1JfU1RBVFVTLkdSRUVOLFxuLy8gICAgICAgICA0OiBDT0xPUl9TVEFUVVMuUkVELFxuLy8gICAgICAgICA1OiBDT0xPUl9TVEFUVVMuUkVELFxuLy8gICAgICAgICA2OiBDT0xPUl9TVEFUVVMuUkVELFxuLy8gICAgIH0sXG4vLyAgICAgW1RBUkdFVF9FX1RZUEUuR09BTF06IHtcbi8vICAgICAgICAgMDogQ09MT1JfU1RBVFVTLllFTExPVyxcbi8vICAgICAgICAgMTogQ09MT1JfU1RBVFVTLllFTExPVyxcbi8vICAgICAgICAgMjogQ09MT1JfU1RBVFVTLllFTExPVyxcbi8vICAgICAgICAgMzogQ09MT1JfU1RBVFVTLllFTExPVyxcbi8vICAgICAgICAgNDogQ09MT1JfU1RBVFVTLllFTExPVyxcbi8vICAgICAgICAgNTogQ09MT1JfU1RBVFVTLlJFRCxcbi8vICAgICAgICAgNjogQ09MT1JfU1RBVFVTLlJFRCxcbi8vICAgICAgICAgNzogQ09MT1JfU1RBVFVTLkdSRUVOLFxuLy8gICAgICAgICAxMDogQ09MT1JfU1RBVFVTLlJFRCxcbi8vICAgICB9LFxuXG4vLyAgICAgW1RBUkdFVF9FX1RZUEUuUFJPSkVDVF06IHtcbi8vICAgICAgICAgMDogQ09MT1JfU1RBVFVTLllFTExPVyxcbi8vICAgICAgICAgMTogQ09MT1JfU1RBVFVTLllFTExPVyxcbi8vICAgICAgICAgMjogQ09MT1JfU1RBVFVTLlJFRCxcbi8vICAgICAgICAgMzogQ09MT1JfU1RBVFVTLkdSRUVOLFxuLy8gICAgICAgICA0OiBDT0xPUl9TVEFUVVMuUkVELFxuLy8gICAgICAgICA1OiBDT0xPUl9TVEFUVVMuUkVELFxuLy8gICAgICAgICA2OiBDT0xPUl9TVEFUVVMuUkVELFxuLy8gICAgICAgICAxMDogQ09MT1JfU1RBVFVTLlJFRCxcbi8vICAgICB9LFxuLy8gICAgIFtUQVJHRVRfRV9UWVBFLk1JTEVTVE9ORV06IHtcbi8vICAgICAgICAgMDogQ09MT1JfU1RBVFVTLllFTExPVyxcbi8vICAgICAgICAgMTogQ09MT1JfU1RBVFVTLllFTExPVyxcbi8vICAgICAgICAgMjogQ09MT1JfU1RBVFVTLllFTExPVyxcbi8vICAgICAgICAgMzogQ09MT1JfU1RBVFVTLlJFRCxcbi8vICAgICAgICAgNDogQ09MT1JfU1RBVFVTLkdSRUVOLFxuLy8gICAgICAgICA1OiBDT0xPUl9TVEFUVVMuUkVELFxuLy8gICAgICAgICA2OiBDT0xPUl9TVEFUVVMuUkVELFxuLy8gICAgICAgICAxMDogQ09MT1JfU1RBVFVTLlJFRCxcbi8vICAgICB9LFxuLy8gfTtcblxuLy8gZXhwb3J0IGVudW0gREFUQV9UWVBFUyB7XG4vLyAgICAgU1RSSU5HID0gJ3N0cmluZycsXG4vLyAgICAgTlVNQkVSID0gJ251bWJlcicsXG4vLyAgICAgQk9PTEVBTiA9ICdib29sZWFuJyxcbi8vICAgICBEQVRFID0gJ0RhdGUnLFxuLy8gICAgIFZBTFVFX1VOSVQgPSAndmFsdWVVbml0Jyxcbi8vICAgICBWQUxVRV9DVVJSRU5DWSA9ICd2YWx1ZUNvc3QnLFxuLy8gICAgIFZBTFVFX0NVUlJFTkNZX1BFUl9VTklUID0gJ3ZhbHVlQ3VycmVuY3lQZXJVbml0Jyxcbi8vICAgICAvLyBWQUxVRV9XQVRFUiA9ICd2YWx1ZVdhdGVyJyxcbi8vICAgICAvLyBWQUxVRV9FTEVDVFJJQ0lUWSA9ICd2YWx1ZUVsZWN0cmljaXR5Jyxcbi8vICAgICAvLyBWQUxVRV9OQVRVUkFMX0dBUyA9ICd2YWx1ZU5hdHVyYWxHYXMnLFxuLy8gICAgIC8vIFZBTFVFX0ZVRUwgPSAndmFsdWVGdWVsJyxcbi8vICAgICAvLyBWQUxVRV9DTzJlX0VNSVNTSU9OID0gJ3ZhbHVlQ08yZUVtaXNzaW9uJyxcbi8vICAgICAvLyBWQUxVRV9FTkVSWSA9ICd2YWx1ZUVuZXJneScsXG4vLyAgICAgU1BFQ0lBTCA9ICdzcGVjaWFsJyxcbi8vIH1cblxuLy8gZXhwb3J0IGVudW0gRV9EQVRFX1BJQ0tFUl9NT0RFIHtcbi8vICAgICBEQVRFID0gJ2RhdGUnLFxuLy8gICAgIFdFRUsgPSAnd2VlaycsXG4vLyAgICAgTU9OVEggPSAnbW9udGgnLFxuLy8gICAgIFlFQVIgPSAneWVhcicsXG4vLyAgICAgUkFXID0gJ3JhdycsXG4vLyB9XG5cbi8vIGV4cG9ydCBjb25zdCBEQVRFX1BJQ0tFUl9NT0RFOiB7XG4vLyAgICAgW2tleSBpbiBzdHJpbmddOiBhbnk7XG4vLyB9ID0ge1xuLy8gICAgIFtFX0ZyZXF1ZW5jeS5jdXJyZW50XToge1xuLy8gICAgICAgICB2YWx1ZTogRV9EQVRFX1BJQ0tFUl9NT0RFLkRBVEUsXG4vLyAgICAgICAgIGZvcm1hdDogJ01NL0REL1lZWVknLFxuLy8gICAgICAgICBmb3JtYXRQaWNrZXI6ICdNTS9kZC95eXl5Jyxcbi8vICAgICAgICAgaW5kZXg6IDAsXG4vLyAgICAgICAgIHZhbHVlQW5hbHl0aWNzOiBBbmFseXRpY3NTZXJ2aWNlLkVOVU1fREFURV9UWVBFLkRBWSxcbi8vICAgICB9LFxuLy8gICAgIFtFX0ZyZXF1ZW5jeS5kYWlseV06IHtcbi8vICAgICAgICAgdmFsdWU6IEVfREFURV9QSUNLRVJfTU9ERS5EQVRFLFxuLy8gICAgICAgICBmb3JtYXQ6ICdNTS9ERC9ZWVlZJyxcbi8vICAgICAgICAgZm9ybWF0UGlja2VyOiAnTU0vZGQveXl5eScsXG4vLyAgICAgICAgIGluZGV4OiAwLFxuLy8gICAgICAgICB2YWx1ZUFuYWx5dGljczogQW5hbHl0aWNzU2VydmljZS5FTlVNX0RBVEVfVFlQRS5EQVksXG4vLyAgICAgfSxcbi8vICAgICBbRV9GcmVxdWVuY3kud2Vla2x5XToge1xuLy8gICAgICAgICB2YWx1ZTogRV9EQVRFX1BJQ0tFUl9NT0RFLldFRUssXG4vLyAgICAgICAgIGluZGV4OiAxLFxuLy8gICAgICAgICAvLyBmb3JtYXQ6ICdNTS9ERC9ZWVlZJ1xuLy8gICAgIH0sXG4vLyAgICAgW0VfRnJlcXVlbmN5Lm1vbnRobHldOiB7XG4vLyAgICAgICAgIHZhbHVlOiBFX0RBVEVfUElDS0VSX01PREUuTU9OVEgsXG4vLyAgICAgICAgIGZvcm1hdDogJ01NL1lZWVknLFxuLy8gICAgICAgICBmb3JtYXRQaWNrZXI6ICdNTS95eXl5Jyxcbi8vICAgICAgICAgaW5kZXg6IDIsXG4vLyAgICAgICAgIHZhbHVlQW5hbHl0aWNzOiBBbmFseXRpY3NTZXJ2aWNlLkVOVU1fREFURV9UWVBFLk1PTlRILFxuLy8gICAgIH0sXG4vLyAgICAgW0VfRnJlcXVlbmN5LnllYXJseV06IHtcbi8vICAgICAgICAgdmFsdWU6IEVfREFURV9QSUNLRVJfTU9ERS5ZRUFSLFxuLy8gICAgICAgICBmb3JtYXQ6ICdZWVlZJyxcbi8vICAgICAgICAgZm9ybWF0UGlja2VyOiAneXl5eScsXG4vLyAgICAgICAgIGluZGV4OiAzLFxuLy8gICAgICAgICB2YWx1ZUFuYWx5dGljczogQW5hbHl0aWNzU2VydmljZS5FTlVNX0RBVEVfVFlQRS5ZRUFSLFxuLy8gICAgIH0sXG4vLyAgICAgW0VfRnJlcXVlbmN5LmFubnVhbF06IHtcbi8vICAgICAgICAgdmFsdWU6IEVfREFURV9QSUNLRVJfTU9ERS5ZRUFSLFxuLy8gICAgICAgICBmb3JtYXQ6ICdZWVlZJyxcbi8vICAgICAgICAgZm9ybWF0UGlja2VyOiAneXl5eScsXG4vLyAgICAgICAgIGluZGV4OiAzLFxuLy8gICAgICAgICB2YWx1ZUFuYWx5dGljczogQW5hbHl0aWNzU2VydmljZS5FTlVNX0RBVEVfVFlQRS5ZRUFSLFxuLy8gICAgIH0sXG4vLyAgICAgW0VfRnJlcXVlbmN5LnJhd106IHtcbi8vICAgICAgICAgdmFsdWU6IEVfREFURV9QSUNLRVJfTU9ERS5SQVcsXG4vLyAgICAgICAgIGZvcm1hdDogJ01NL0REL1lZWVknLFxuLy8gICAgICAgICBmb3JtYXRQaWNrZXI6ICdNTS9kZC95eXl5Jyxcbi8vICAgICAgICAgaW5kZXg6IDAsXG4vLyAgICAgICAgIHZhbHVlQW5hbHl0aWNzOiBBbmFseXRpY3NTZXJ2aWNlLkVOVU1fREFURV9UWVBFLkRBWSxcbi8vICAgICB9LFxuLy8gfTtcblxuLy8gZXhwb3J0IGVudW0gRV9QUk9EVUNUSU9OX1RZUEUge1xuLy8gICAgIFBST0RVQ1QgPSAncHJvZHVjdCcsXG4vLyAgICAgUFJPRFVDVF9MSU5FID0gJ3Byb2R1Y3QtbGluZScsXG4vLyB9XG5cbi8vIGV4cG9ydCBlbnVtIEVfUFJPRFVDVElPTl9NRUFTVVJFTUVOVF9UWVBFIHtcbi8vICAgICBQUk9EVUNUX1dBVEVSX0lOX1NPVVJDRSA9ICdQcm9kdWN0V2F0ZXJJblNvdXJjZScsXG4vLyAgICAgUFJPRFVDVF9XQVRFUl9PVVRfU09VUkNFID0gJ1Byb2R1Y3RXYXRlck91dFNvdXJjZScsXG4vLyAgICAgUFJPRFVDVF9FTkVSR1lfSU5fU09VUkNFID0gJ1Byb2R1Y3RFbmVyZ3lJblNvdXJjZScsXG4vLyAgICAgUFJPRFVDVF9FTkVSR1lfT1VUX1NPVVJDRSA9ICdQcm9kdWN0RW5lcmd5T3V0U291cmNlJyxcbi8vIH1cblxuLy8gZXhwb3J0IGNvbnN0IEVfUFJPRFVDVElPTl9NRUFTVVJFTUVOVF9QQVlMT0FEID0ge1xuLy8gICAgIFtFX1BST0RVQ1RJT05fTUVBU1VSRU1FTlRfVFlQRS5QUk9EVUNUX1dBVEVSX0lOX1NPVVJDRV06IHtcbi8vICAgICAgICAgY3JlYXRlUGFyZW50UGF5bG9hZDogJ0NyZWF0ZVByb2R1Y3RXYXRlckluU291cmNlJyxcbi8vICAgICAgICAgdXBkYXRlUGFyZW50UGF5bG9hZDogJ1VwZGF0ZVByb2R1Y3RXYXRlckluU291cmNlJyxcbi8vICAgICAgICAgcGF5bG9hZDogJ1Byb2R1Y3RXYXRlckluU291cmNlJyxcbi8vICAgICAgICAga2V5UmVzcG9uc2U6ICd3YXRlckluZmxvd3MnLFxuLy8gICAgICAgICBrZXlGb3JtOiAnd2F0ZXJJbnRha2VNZWFzdXJlbWVudCcsXG4vLyAgICAgICAgIGtleUNvbXBvbmVudDogWyd3YXRlckNvbXBvbmVudHMnXSxcbi8vICAgICAgICAgdGV4dEFkZDogJ2ludGFrZSBtZWFzdXJlbWVudCcsXG4vLyAgICAgICAgIGNvbXBvbmVudFR5cGU6ICdXYXRlcicsXG4vLyAgICAgfSxcbi8vICAgICBbRV9QUk9EVUNUSU9OX01FQVNVUkVNRU5UX1RZUEUuUFJPRFVDVF9XQVRFUl9PVVRfU09VUkNFXToge1xuLy8gICAgICAgICBjcmVhdGVQYXJlbnRQYXlsb2FkOiAnQ3JlYXRlUHJvZHVjdFdhdGVyT3V0U291cmNlJyxcbi8vICAgICAgICAgdXBkYXRlUGFyZW50UGF5bG9hZDogJ1VwZGF0ZVByb2R1Y3RXYXRlck91dFNvdXJjZScsXG4vLyAgICAgICAgIHBheWxvYWQ6ICdQcm9kdWN0V2F0ZXJPdXRTb3VyY2UnLFxuLy8gICAgICAgICBrZXlSZXNwb25zZTogJ3dhdGVyT3V0Zmxvd3MnLFxuLy8gICAgICAgICBrZXlGb3JtOiAnd2F0ZXJPdXRwdXRNZWFzdXJlbWVudCcsXG4vLyAgICAgICAgIGtleUNvbXBvbmVudDogWyd3YXRlckNvbXBvbmVudHMnXSxcbi8vICAgICAgICAgdGV4dEFkZDogJ291dHB1dCBtZWFzdXJlbWVudCcsXG4vLyAgICAgICAgIGNvbXBvbmVudFR5cGU6ICdXYXRlcicsXG4vLyAgICAgfSxcbi8vICAgICBbRV9QUk9EVUNUSU9OX01FQVNVUkVNRU5UX1RZUEUuUFJPRFVDVF9FTkVSR1lfSU5fU09VUkNFXToge1xuLy8gICAgICAgICBjcmVhdGVQYXJlbnRQYXlsb2FkOiAnQ3JlYXRlUHJvZHVjdEVuZXJneUluU291cmNlJyxcbi8vICAgICAgICAgdXBkYXRlUGFyZW50UGF5bG9hZDogJ1VwZGF0ZVByb2R1Y3RFbmVyZ3lJblNvdXJjZScsXG4vLyAgICAgICAgIHBheWxvYWQ6ICdQcm9kdWN0RW5lcmd5SW5Tb3VyY2UnLFxuLy8gICAgICAgICBrZXlSZXNwb25zZTogJ2VuZXJneUluZmxvd3MnLFxuLy8gICAgICAgICBrZXlGb3JtOiAnZW5lcmd5SW50YWtlTWVhc3VyZW1lbnQnLFxuLy8gICAgICAgICBrZXlDb21wb25lbnQ6IFsnZWxlY3RyaWNDb21wb25lbnRzJywgJ2Z1ZWxDb21wb25lbnRzJywgJ2dhc0NvbXBvbmVudHMnXSxcbi8vICAgICAgICAgdGV4dEFkZDogJ2ludGFrZSBtZWFzdXJlbWVudCcsXG4vLyAgICAgICAgIGNvbXBvbmVudFR5cGU6ICdFbmVyZ3knLFxuLy8gICAgIH0sXG4vLyAgICAgW0VfUFJPRFVDVElPTl9NRUFTVVJFTUVOVF9UWVBFLlBST0RVQ1RfRU5FUkdZX09VVF9TT1VSQ0VdOiB7XG4vLyAgICAgICAgIGNyZWF0ZVBhcmVudFBheWxvYWQ6ICdDcmVhdGVQcm9kdWN0RW5lcmd5T3V0U291cmNlJyxcbi8vICAgICAgICAgdXBkYXRlUGFyZW50UGF5bG9hZDogJ1VwZGF0ZVByb2R1Y3RFbmVyZ3lPdXRTb3VyY2UnLFxuLy8gICAgICAgICBwYXlsb2FkOiAnUHJvZHVjdEVuZXJneU91dFNvdXJjZScsXG4vLyAgICAgICAgIGtleVJlc3BvbnNlOiAnZW5lcmd5T3V0Zmxvd3MnLFxuLy8gICAgICAgICBrZXlGb3JtOiAnZW5lcmd5RXhwb3J0TWVhc3VyZW1lbnQnLFxuLy8gICAgICAgICBrZXlDb21wb25lbnQ6IFsnZWxlY3RyaWNDb21wb25lbnRzJywgJ2Z1ZWxDb21wb25lbnRzJywgJ2dhc0NvbXBvbmVudHMnXSxcbi8vICAgICAgICAgdGV4dEFkZDogJ2V4cG9ydCBtZWFzdXJlbWVudCcsXG4vLyAgICAgICAgIGNvbXBvbmVudFR5cGU6ICdFbmVyZ3knLFxuLy8gICAgIH0sXG4vLyB9O1xuXG4vLyBleHBvcnQgZW51bSBTT1JUX0RJUkVDVElPTiB7XG4vLyAgICAgQVNDRU5EID0gJ2FzY2VuZCcsXG4vLyAgICAgREVTQ0VORCA9ICdkZXNjZW5kJyxcbi8vIH1cblxuLy8gZXhwb3J0IGVudW0gUk9VVEVfQ09NUE9ORU5UX1RZUEUge1xuLy8gICAgIENPTVBPTkVOVCA9ICdjb21wb25lbnQnLFxuLy8gICAgIFBMQU5UX0NFTEwgPSAncGxhbnQtY2VsbCcsXG4vLyB9XG5cbi8vIGV4cG9ydCBlbnVtIFBMQUNFSE9MREVSX0lOUFVUIHtcbi8vICAgICBGSUVMRF9GSUxFID0gJ0VudGVyIHRoZSBmaWxlIFVSTCcsXG4vLyB9XG5cbi8vIGV4cG9ydCBlbnVtIFRZUEVfU0laRV9DT05UUk9MIHtcbi8vICAgICBOT1JNQUwgPSAnbm9ybWFsJyxcbi8vICAgICBTTUFMTCA9ICdzbWFsbCcsXG4vLyB9XG5cbi8vIGV4cG9ydCBlbnVtIFJBVEVfV0FURVJfUVVBTElUWV9JTkRFWF9JTkZPIHtcbi8vICAgICBFWENFTExFTlQgPSAnZXhjZWxsZW50Jyxcbi8vICAgICBHT09EID0gJ2dvb2QnLFxuLy8gICAgIEFWRVJBR0UgPSAnYXZlcmFnZScsXG4vLyAgICAgRkFJUiA9ICdmYWlyJyxcbi8vICAgICBQT09SID0gJ3Bvb3InLFxuLy8gfVxuXG4vLyAvLyBleHBvcnQgY29uc3QgQ09MT1JfV0FURVJfUVVBTElUWV9JTkRFWF9JTkZPID0ge1xuLy8gLy8gICAgIFtSQVRFX1dBVEVSX1FVQUxJVFlfSU5ERVhfSU5GTy5FWENFTExFTlRdOiB7XG4vLyAvLyAgICAgICAgIGNvbG9yOiBFTlVNX1JJU0tfQ09MT1IuR1JFRU4sXG4vLyAvLyAgICAgICAgIGNvbG9yQ2xhc3M6ICdjb2xvci1lbGYtZ3JlZW4nLFxuLy8gLy8gICAgIH0sXG4vLyAvLyAgICAgW1JBVEVfV0FURVJfUVVBTElUWV9JTkRFWF9JTkZPLkdPT0RdOiB7XG4vLyAvLyAgICAgICAgIGNvbG9yOiBFTlVNX1JJU0tfQ09MT1IuTElHSFRfR1JFRU4sXG4vLyAvLyAgICAgICAgIGNvbG9yQ2xhc3M6ICdjb2xvci15ZWxsb3ctZ3JlZW4nLFxuLy8gLy8gICAgIH0sXG4vLyAvLyAgICAgW1JBVEVfV0FURVJfUVVBTElUWV9JTkRFWF9JTkZPLkFWRVJBR0VdOiB7XG4vLyAvLyAgICAgICAgIGNvbG9yOiBFTlVNX1JJU0tfQ09MT1IuWUVMTE9XLFxuLy8gLy8gICAgICAgICBjb2xvckNsYXNzOiAnY29sb3ItZ3JhbmRpcycsXG4vLyAvLyAgICAgfSxcbi8vIC8vICAgICBbUkFURV9XQVRFUl9RVUFMSVRZX0lOREVYX0lORk8uRkFJUl06IHtcbi8vIC8vICAgICAgICAgY29sb3I6IEVOVU1fUklTS19DT0xPUi5PUkFOR0UsXG4vLyAvLyAgICAgICAgIGNvbG9yQ2xhc3M6ICdjb2xvci1jYXJyb3Qtb3JhbmdlJyxcbi8vIC8vICAgICB9LFxuLy8gLy8gICAgIFtSQVRFX1dBVEVSX1FVQUxJVFlfSU5ERVhfSU5GTy5QT09SXToge1xuLy8gLy8gICAgICAgICBjb2xvcjogRU5VTV9SSVNLX0NPTE9SLlJFRCxcbi8vIC8vICAgICAgICAgY29sb3JDbGFzczogJ2NvbG9yLXN1bnNldC1vcmFuZ2UnLFxuLy8gLy8gICAgIH0sXG4vLyAvLyB9O1xuXG4vLyAvLyBleHBvcnQgY29uc3QgUkFOR0VfQ09MT1JfV0FURVJfUVVBTElUWV9JTkRFWCA9IFtcbi8vIC8vICAgICB7XG4vLyAvLyAgICAgICAgIGZyb206IDAsXG4vLyAvLyAgICAgICAgIHRvOiAyNSxcbi8vIC8vICAgICAgICAgY29sb3JJbmZvOiBDT0xPUl9XQVRFUl9RVUFMSVRZX0lOREVYX0lORk9bUkFURV9XQVRFUl9RVUFMSVRZX0lOREVYX0lORk8uUE9PUl0sXG4vLyAvLyAgICAgfSxcbi8vIC8vICAgICB7XG4vLyAvLyAgICAgICAgIGZyb206IDI1LFxuLy8gLy8gICAgICAgICB0bzogNTAsXG4vLyAvLyAgICAgICAgIGNvbG9ySW5mbzogQ09MT1JfV0FURVJfUVVBTElUWV9JTkRFWF9JTkZPW1JBVEVfV0FURVJfUVVBTElUWV9JTkRFWF9JTkZPLkZBSVJdLFxuLy8gLy8gICAgIH0sXG4vLyAvLyAgICAge1xuLy8gLy8gICAgICAgICBmcm9tOiA1MCxcbi8vIC8vICAgICAgICAgdG86IDcwLFxuLy8gLy8gICAgICAgICBjb2xvckluZm86IENPTE9SX1dBVEVSX1FVQUxJVFlfSU5ERVhfSU5GT1tSQVRFX1dBVEVSX1FVQUxJVFlfSU5ERVhfSU5GTy5BVkVSQUdFXSxcbi8vIC8vICAgICB9LFxuLy8gLy8gICAgIHtcbi8vIC8vICAgICAgICAgZnJvbTogNzAsXG4vLyAvLyAgICAgICAgIHRvOiA5MCxcbi8vIC8vICAgICAgICAgY29sb3JJbmZvOiBDT0xPUl9XQVRFUl9RVUFMSVRZX0lOREVYX0lORk9bUkFURV9XQVRFUl9RVUFMSVRZX0lOREVYX0lORk8uR09PRF0sXG4vLyAvLyAgICAgfSxcbi8vIC8vICAgICB7XG4vLyAvLyAgICAgICAgIGZyb206IDkwLFxuLy8gLy8gICAgICAgICB0bzogMTAwLFxuLy8gLy8gICAgICAgICBjb2xvckluZm86IENPTE9SX1dBVEVSX1FVQUxJVFlfSU5ERVhfSU5GT1tSQVRFX1dBVEVSX1FVQUxJVFlfSU5ERVhfSU5GTy5FWENFTExFTlRdLFxuLy8gLy8gICAgIH0sXG4vLyAvLyBdO1xuXG4vLyBleHBvcnQgZW51bSBFTlVNX0lOU0lHSFRfVEFCUyB7XG4vLyAgICAgVk9MVU1FID0gJ1ZvbHVtZScsXG4vLyAgICAgUVVBTElUWSA9ICdRdWFsaXR5Jyxcbi8vICAgICBBU1NFVF9QQVJBTUVURVJTID0gJ0Fzc2V0IFBhcmFtZXRlcnMnLFxuLy8gfVxuXG4vLyBleHBvcnQgZW51bSBFTlVNX0lOU0lHSFRfTUFQUElOR19TVEVQIHtcbi8vICAgICBBU1NFVFMgPSAnYXNzZXRzJyxcbi8vICAgICBUQUdTID0gJ3RhZ3MnLFxuLy8gICAgIENPTkZJR1VSQVRJT04gPSAnY29uZmlndXJhdGlvbicsXG4vLyB9XG5cbi8vIGV4cG9ydCBlbnVtIFNURUFNX09QVElPTl9LRVkge1xuLy8gICAgIE1BU1NfRkxPVyA9ICdtYXNzZmxvdycsXG4vLyAgICAgTUFTU19GTE9XX1JBVEUgPSAnbWFzc2Zsb3dyYXRlJyxcbi8vICAgICBQUkVTU1VSRSA9ICdwcmVzc3VyZScsXG4vLyAgICAgVEVNUEVSQVRVUkUgPSAndGVtcGVyYXR1cmUnLFxuLy8gICAgIEVORVJHWSA9ICdlbmVyZ3knLFxuLy8gfVxuXG4vLyBleHBvcnQgY29uc3QgU1RFQU1fT1BUSU9OU19GSUxURVIgPSB7XG4vLyAgICAgW1NURUFNX09QVElPTl9LRVkuTUFTU19GTE9XXToge1xuLy8gICAgICAgICBuYW1lOiAnTWFzcyBGbG93Jyxcbi8vICAgICAgICAga2V5OiBTVEVBTV9PUFRJT05fS0VZLk1BU1NfRkxPVyxcbi8vICAgICAgICAgaWNvbjogJycsXG4vLyAgICAgICAgIHVybEljb246ICdhc3NldHMvaW1hZ2VzL2ljb25zL3N0ZWFtL01hc3MgZmxvdy5zdmcnLFxuLy8gICAgICAgICBpc0Rpc2FibGVkOiBmYWxzZSxcbi8vICAgICAgICAga2V5VW5pdDogJ1N0ZWFtTWFzc0Zsb3cnLFxuLy8gICAgICAgICBrZXlVbml0U2V0dGluZzogJ3N0ZWFtTWFzc0Zsb3cnLFxuLy8gICAgICAgICBsaXN0VW5pdHM6IFtBQkJSRVZJQVRJT04uZywgQUJCUkVWSUFUSU9OLmxic10sXG4vLyAgICAgfSxcblxuLy8gICAgIFtTVEVBTV9PUFRJT05fS0VZLk1BU1NfRkxPV19SQVRFXToge1xuLy8gICAgICAgICBuYW1lOiAnTWFzcyBGbG93IFJhdGUnLFxuLy8gICAgICAgICBrZXk6IFNURUFNX09QVElPTl9LRVkuTUFTU19GTE9XX1JBVEUsXG4vLyAgICAgICAgIGljb246ICcnLFxuLy8gICAgICAgICB1cmxJY29uOiAnYXNzZXRzL2ltYWdlcy9pY29ucy9zdGVhbS9NYXNzIGZsb3cgcmF0ZS5zdmcnLFxuLy8gICAgICAgICBpc0Rpc2FibGVkOiBmYWxzZSxcbi8vICAgICAgICAga2V5VW5pdDogJ01hc3NGbG93UmF0ZScsXG4vLyAgICAgICAgIGtleVVuaXRTZXR0aW5nOiAnc3RlYW1GbG93UmF0ZScsXG4vLyAgICAgICAgIGxpc3RVbml0czogW0FCQlJFVklBVElPTi5nX2hyLCBBQkJSRVZJQVRJT04ubGJzX2hyXSxcbi8vICAgICB9LFxuLy8gICAgIFtTVEVBTV9PUFRJT05fS0VZLlBSRVNTVVJFXToge1xuLy8gICAgICAgICBuYW1lOiAnUHJlc3N1cmUnLFxuLy8gICAgICAgICBrZXk6IFNURUFNX09QVElPTl9LRVkuUFJFU1NVUkUsXG4vLyAgICAgICAgIGljb246ICdmYWwgZmEtZ2F1Z2UtaGlnaCcsXG4vLyAgICAgICAgIGlzRGlzYWJsZWQ6IGZhbHNlLFxuLy8gICAgICAgICBrZXlVbml0OiAnU3RlYW1QcmVzc3VyZScsXG4vLyAgICAgICAgIGtleVVuaXRTZXR0aW5nOiAnc3RlYW1QcmVzc3VyZScsXG4vLyAgICAgICAgIGxpc3RVbml0czogW0FCQlJFVklBVElPTi5NUGEsIEFCQlJFVklBVElPTi5wc2ldLFxuLy8gICAgIH0sXG4vLyAgICAgW1NURUFNX09QVElPTl9LRVkuVEVNUEVSQVRVUkVdOiB7XG4vLyAgICAgICAgIG5hbWU6ICdUZW1wZXJhdHVyZScsXG4vLyAgICAgICAgIGtleTogU1RFQU1fT1BUSU9OX0tFWS5URU1QRVJBVFVSRSxcbi8vICAgICAgICAgaWNvbjogJ2ZhbCBmYS10ZW1wZXJhdHVyZS1oaWdoJyxcbi8vICAgICAgICAgaXNEaXNhYmxlZDogZmFsc2UsXG4vLyAgICAgICAgIGtleVVuaXQ6ICdTdGVhbVRlbXBlcmF0dXJlJyxcbi8vICAgICAgICAga2V5VW5pdFNldHRpbmc6ICdzdGVhbVRlbXBlcmF0dXJlJyxcbi8vICAgICAgICAgbGlzdFVuaXRzOiBbQUJCUkVWSUFUSU9OLmRlZ0MsIEFCQlJFVklBVElPTi5kZWdGXSxcbi8vICAgICB9LFxuLy8gICAgIFtTVEVBTV9PUFRJT05fS0VZLkVORVJHWV06IHtcbi8vICAgICAgICAgbmFtZTogJ+KAi0VuZXJneScsXG4vLyAgICAgICAgIGtleTogU1RFQU1fT1BUSU9OX0tFWS5FTkVSR1ksXG4vLyAgICAgICAgIGljb246ICdmYS1yZWd1bGFyIGZhLXRyYW5zZm9ybWVyLWJvbHQnLFxuLy8gICAgICAgICBrZXlVbml0OiAnRW5lcmd5Jyxcbi8vICAgICAgICAga2V5VW5pdFNldHRpbmc6ICdlbmVyZ3lVbml0Jyxcbi8vICAgICAgICAgaXNEaXNhYmxlZDogZmFsc2UsXG4vLyAgICAgICAgIGxpc3RVbml0czogW0FCQlJFVklBVElPTi5CVFUsIEFCQlJFVklBVElPTi5KXSxcbi8vICAgICB9LFxuLy8gfTtcblxuZXhwb3J0IGVudW0gQVRPX0VOVU1fRkxPV19ESVJFQ1RJT04ge1xuICAgIElORkxPVyA9ICdJbmZsb3cnLFxuICAgIE9VVEZMT1cgPSAnT3V0ZmxvdycsXG4gICAgTk9ORSA9ICcnLFxufVxuIl19