ato-water-lib 0.0.52 → 0.0.54
Sign up to get free protection for your applications and to get access to all the features.
- package/esm2020/lib/constants/components-group-const.mjs +290 -28
- package/esm2020/lib/models/default-gojs-editor.model.mjs +401 -72
- package/fesm2015/ato-water-lib.mjs +560 -83
- package/fesm2015/ato-water-lib.mjs.map +1 -1
- package/fesm2020/ato-water-lib.mjs +688 -97
- package/fesm2020/ato-water-lib.mjs.map +1 -1
- package/lib/constants/components-group-const.d.ts +45 -8
- package/package.json +1 -1
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ato-water-lib.mjs","sources":["../../../projects/ato-water-lib/src/lib/ato-water-lib.service.ts","../../../projects/ato-water-lib/src/lib/ato-water-lib.component.ts","../../../projects/ato-water-lib/src/lib/constants/value.const.ts","../../../projects/ato-water-lib/src/lib/models/gojs-editor.model.ts","../../../projects/ato-water-lib/src/lib/constants/key.const.ts","../../../projects/ato-water-lib/src/lib/constants/applicable-prefixes-const.ts","../../../projects/ato-water-lib/src/lib/services/utils/utils.service.ts","../../../projects/ato-water-lib/src/lib/constants/plant.constant.ts","../../../projects/ato-water-lib/src/lib/constants/icon-base64.const.ts","../../../projects/ato-water-lib/src/lib/models/default-gojs-editor.model.ts","../../../projects/ato-water-lib/src/lib/directive/ato-loading.directive.ts","../../../projects/ato-water-lib/src/lib/components/flow-diagram-lib/flow-diagram-lib.component.ts","../../../projects/ato-water-lib/src/lib/components/flow-diagram-lib/flow-diagram-lib.component.html","../../../projects/ato-water-lib/src/lib/constants/base64.const.ts","../../../projects/ato-water-lib/src/lib/constants/components-group-const.ts","../../../projects/ato-water-lib/src/lib/components/asset-params-view/asset-params-view.component.ts","../../../projects/ato-water-lib/src/lib/components/asset-params-view/asset-params-view.component.html","../../../projects/ato-water-lib/src/lib/components/asset-flow/asset-flow.component.ts","../../../projects/ato-water-lib/src/lib/components/asset-flow/asset-flow.component.html","../../../projects/ato-water-lib/src/lib/directive/ng-var.directive.ts","../../../projects/ato-water-lib/src/lib/ato-water-lib.module.ts","../../../projects/ato-water-lib/src/public-api.ts","../../../projects/ato-water-lib/src/ato-water-lib.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AtoWaterLibService {\n\n constructor() { }\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'lib-ato-water-lib',\n template: `\n <p>\n ato-water-lib works!\n </p>\n `,\n styles: [\n ]\n})\nexport class AtoWaterLibComponent {\n\n}\n","// import { AnalyticsService } from '@dashboards-shared/services/analytics.service';\n// import { E_Frequency } from './frequency.enum';\n// import { ENUM_RISK_COLOR } from './information.const';\n// import { ABBREVIATION } from './applicable-prefixes-const';\n\n// export const DEFAULT_NAMES_MAPPING: any = {\n// CMS: 'CMS',\n// ETP: 'ETP',\n// ZLD: 'ZLD',\n// RO: 'RO',\n// CMSLabWashing: 'CMS Lab Washing',\n// };\n\nexport const VALUE_NA = 'NA';\nexport const NO_DATA = 'No Data';\nexport const VALUE_NA_SPECIAL = 'N/A';\nexport const TEXT_UNKNOWN = '?';\nexport const TEXT_ERR = '!Err';\nexport const NO_ENOUGH_DATA = 'Not enough data';\n\n// For Element DOM\nexport const KEY_CREATE_DOM_TO_DOWNLOAD = 'newCreateToDownload';\nexport const NO_HIDDEN = 'noHidden';\n\nexport const GROUP_PLANT_CELL_KEY = 3000;\nexport const GROUP_PC_INPUTS_KEY = 1000;\nexport const GROUP_PC_OUTPUTS_KEY = 2000;\nexport const ENUM_ROLES = 'ROLES';\n\nexport enum E_FILTER_KEY {\n VIEW_MODE = 'viewMode',\n WATER_UNIT = 'waterUnit',\n ENERGY_UNIT = 'energyUnit',\n ELECTRICITY_UNIT = 'electricityUnit',\n NATURAL_GAS_UNIT = 'naturalGasUnit',\n FUEL_UNIT = 'fuelUnit',\n CURRENCY_UNIT = 'currencyUnit',\n}\n\nexport enum ATO_ECOMPONENT_PLANT_TYPE {\n WATER = 'water',\n ENERGY = 'energy',\n ELECTRICITY = 'electricity',\n NATURAL_GAS = 'gas',\n FUEL = 'fuel',\n STEAM = 'steam',\n EMISSION = 'emission',\n COST = 'cost',\n\n WATER_PLANT_CELL = 'water-plant-cell',\n ENERGY_PLANT_CELL = 'energy-plant-cell',\n ELECTRICITY_PLANT_CELL = 'electricity-plant-cell',\n NATURAL_GAS_PLANT_CELL = 'gas-plant-cell',\n FUEL_PLANT_CELL = 'fuel-plant-cell',\n STEAM_PLANT_CELL = 'steam-plant-cell',\n EMISSION_PLANT_CELL = 'emission-plant-cell',\n COST_PLANT_CELL = 'cost-plant-cell',\n}\n\nexport const COMPOTYPE_CALL_PLANT_TOPOLOGY_DETAILS: string[] = [\n ATO_ECOMPONENT_PLANT_TYPE.WATER,\n ATO_ECOMPONENT_PLANT_TYPE.WATER_PLANT_CELL,\n ATO_ECOMPONENT_PLANT_TYPE.ENERGY_PLANT_CELL,\n ATO_ECOMPONENT_PLANT_TYPE.ELECTRICITY_PLANT_CELL,\n ATO_ECOMPONENT_PLANT_TYPE.NATURAL_GAS_PLANT_CELL,\n ATO_ECOMPONENT_PLANT_TYPE.FUEL_PLANT_CELL,\n ATO_ECOMPONENT_PLANT_TYPE.STEAM_PLANT_CELL,\n ATO_ECOMPONENT_PLANT_TYPE.EMISSION_PLANT_CELL,\n ATO_ECOMPONENT_PLANT_TYPE.COST_PLANT_CELL,\n];\n\nexport const COMPONENT_TYPE_OF_PLANT_CELL: string[] = [\n ATO_ECOMPONENT_PLANT_TYPE.WATER_PLANT_CELL,\n ATO_ECOMPONENT_PLANT_TYPE.ENERGY_PLANT_CELL,\n ATO_ECOMPONENT_PLANT_TYPE.ELECTRICITY_PLANT_CELL,\n ATO_ECOMPONENT_PLANT_TYPE.NATURAL_GAS_PLANT_CELL,\n ATO_ECOMPONENT_PLANT_TYPE.FUEL_PLANT_CELL,\n ATO_ECOMPONENT_PLANT_TYPE.STEAM_PLANT_CELL,\n ATO_ECOMPONENT_PLANT_TYPE.EMISSION_PLANT_CELL,\n ATO_ECOMPONENT_PLANT_TYPE.COST_PLANT_CELL,\n];\n\nexport const COMPONENT_TYPE_OF_PLANT_CELL_ENERGY: string[] = [\n ATO_ECOMPONENT_PLANT_TYPE.ENERGY_PLANT_CELL,\n ATO_ECOMPONENT_PLANT_TYPE.ELECTRICITY_PLANT_CELL,\n ATO_ECOMPONENT_PLANT_TYPE.NATURAL_GAS_PLANT_CELL,\n ATO_ECOMPONENT_PLANT_TYPE.FUEL_PLANT_CELL,\n ATO_ECOMPONENT_PLANT_TYPE.STEAM_PLANT_CELL,\n ATO_ECOMPONENT_PLANT_TYPE.EMISSION_PLANT_CELL,\n ATO_ECOMPONENT_PLANT_TYPE.COST_PLANT_CELL,\n];\n\n// export enum E_TOPOLOGY_TYPE {\n// OVER_VIEW = 'over-view',\n// PLANT_CELL = 'plant-cell',\n// }\n\nexport enum E_COMPONENT_DATA_TYPE {\n COMPONENT_WATER_FLOW = 'ComponentWaterFlow',\n COMPONENT_ENERGY_FLOW = 'ComponentEnergyFlow',\n}\n\nexport enum E_FLOW_RECORD {\n INFLOW_WATER_RECORD = 'InflowWaterRecord',\n OUTFLOW_WATER_RECORD = 'OutflowWaterRecord',\n INFLOW_ENERGY_RECORD = 'InflowEnergyRecord',\n OUTFLOW_ENERGY_RECORD = 'OutflowEnergyRecord',\n}\n\n// export enum TAB_DASHBOARD {\n// WATER = 'water',\n// WATER_LABEL = 'Water',\n// ENERGY_EMISSION = 'energy & emissions',\n// ENERGY_EMISSION_LABEL = 'Energy & Emissions',\n// }\n\n// export enum TAB_SETUP_COMPLIANCE {\n// PLANT_LEVEL = 'Plant level',\n// PROCESS_LEVEL = 'Process Level',\n// }\n\n// export enum PLANT_ENERGY_DIAGRAM_TABS_INDEX {\n// ENERGY = 0,\n// ELECTRICITY = 1,\n// NATURAL_GAS = 2,\n// FUEL = 3,\n// EMISSIONS = 4\n// }\n\nexport enum TAG_TYPE {\n WATER = 'Water',\n ELECTRICITY = 'Electricity',\n NATURAL_GAS = 'Natural Gas',\n FUEL = 'Fuel',\n STEAM = 'Steam',\n ENERGY = 'Energy',\n EMISSION = 'Emission',\n COST = 'Cost',\n WATER_ANALYTIC = 'Water Analytic',\n}\n\n// export enum TAB_WS_ENERGY_EMISSION {\n// TABLE = 'table',\n// DIAGRAM = 'diagram',\n// }\n\nexport const PLANT_ENERGY_DIAGRAM_TABS: {\n [key in ATO_ECOMPONENT_PLANT_TYPE]: any;\n} = {\n [ATO_ECOMPONENT_PLANT_TYPE.WATER]: {\n keyUnitFromList: 'Water',\n keyUnit: 'waterUnit',\n keyFlowTopology: 'Water',\n keyTab: 'Water',\n indexTab: -1,\n keyComponent: 'waterComponents',\n keyRoute: 'Water',\n subSystemId: 'subWaterSystemId',\n nameTab: 'Water',\n loc: 'locWater',\n keyToUpdateModel: 'waterData',\n topologyType: 'PlantTopology',\n type: 'water',\n componentFlow: E_COMPONENT_DATA_TYPE.COMPONENT_WATER_FLOW,\n topologyViewType: ATO_ECOMPONENT_PLANT_TYPE.WATER,\n iconClassName: 'fa-regular fa-tank-water font-size-16px',\n tagType: TAG_TYPE.WATER,\n inflowRecord: E_FLOW_RECORD.INFLOW_WATER_RECORD,\n outflowRecord: E_FLOW_RECORD.OUTFLOW_WATER_RECORD,\n keyGroupMenu: 'Water',\n },\n [ATO_ECOMPONENT_PLANT_TYPE.ENERGY]: {\n keyUnitFromList: 'Energy',\n keyUnit: 'energyUnit',\n keyFlowTopology: 'Energy',\n keyTab: 'Energy',\n indexTab: 4,\n keyComponent: '',\n keyRoute: 'energy',\n nameTab: 'Energy',\n loc: 'locEnergy',\n keyToUpdateModel: '',\n type: 'water',\n componentFlow: E_COMPONENT_DATA_TYPE.COMPONENT_ENERGY_FLOW,\n topologyViewType: ATO_ECOMPONENT_PLANT_TYPE.ENERGY,\n tagType: TAG_TYPE.ENERGY,\n inflowRecord: E_FLOW_RECORD.INFLOW_ENERGY_RECORD,\n outflowRecord: E_FLOW_RECORD.OUTFLOW_ENERGY_RECORD,\n },\n [ATO_ECOMPONENT_PLANT_TYPE.ELECTRICITY]: {\n keyUnitFromList: 'Electricity',\n keyUnit: 'electricityUnit',\n keyFlowTopology: 'Electricity',\n keyTab: 'Electricals',\n indexTab: 0,\n keyComponent: 'electricComponents',\n keyRoute: 'electricity',\n subSystemId: 'subElectricSystemId',\n nameTab: 'Electricity',\n loc: 'locElectricity',\n keyToUpdateModel: 'electricData',\n topologyType: 'Electricity',\n type: 'electricity',\n componentFlow: E_COMPONENT_DATA_TYPE.COMPONENT_ENERGY_FLOW,\n topologyViewType: ATO_ECOMPONENT_PLANT_TYPE.ELECTRICITY,\n iconClassName: 'fa-regular fa-bolt font-size-16px',\n tagType: TAG_TYPE.ELECTRICITY,\n inflowRecord: E_FLOW_RECORD.INFLOW_ENERGY_RECORD,\n outflowRecord: E_FLOW_RECORD.OUTFLOW_ENERGY_RECORD,\n keyGroupMenu: 'Electricity',\n },\n [ATO_ECOMPONENT_PLANT_TYPE.NATURAL_GAS]: {\n keyUnitFromList: 'Gas',\n keyUnit: 'naturalGasUnit',\n keyFlowTopology: 'NaturalGas',\n keyTab: 'NaturalGases',\n indexTab: 1,\n keyComponent: 'gasComponents',\n keyRoute: 'gas',\n subSystemId: 'subGasSystemId',\n nameTab: 'Natural Gas',\n loc: 'locGas',\n keyToUpdateModel: 'gasData',\n topologyType: 'NaturalGas',\n type: 'naturalgas',\n componentFlow: E_COMPONENT_DATA_TYPE.COMPONENT_ENERGY_FLOW,\n topologyViewType: ATO_ECOMPONENT_PLANT_TYPE.NATURAL_GAS,\n iconClassName: 'fa-regular fa-fire-flame-curved font-size-16px',\n tagType: TAG_TYPE.NATURAL_GAS,\n inflowRecord: E_FLOW_RECORD.INFLOW_ENERGY_RECORD,\n outflowRecord: E_FLOW_RECORD.OUTFLOW_ENERGY_RECORD,\n keyGroupMenu: 'NaturalGases',\n },\n [ATO_ECOMPONENT_PLANT_TYPE.FUEL]: {\n keyUnitFromList: 'Fuel',\n keyUnit: 'fuelUnit',\n keyFlowTopology: 'Fuel',\n keyTab: 'Fuels',\n indexTab: 2,\n keyComponent: 'fuelComponents',\n keyRoute: 'fuel',\n subSystemId: 'subFuelSystemId',\n nameTab: 'Fuel',\n loc: 'locFuel',\n keyToUpdateModel: 'fuelData',\n topologyType: 'Fuel',\n type: 'fuel',\n componentFlow: E_COMPONENT_DATA_TYPE.COMPONENT_ENERGY_FLOW,\n topologyViewType: ATO_ECOMPONENT_PLANT_TYPE.FUEL,\n iconClassName: 'fa-regular fa-gas-pump font-size-16px',\n tagType: TAG_TYPE.FUEL,\n inflowRecord: E_FLOW_RECORD.INFLOW_ENERGY_RECORD,\n outflowRecord: E_FLOW_RECORD.OUTFLOW_ENERGY_RECORD,\n keyGroupMenu: 'Fuels',\n },\n [ATO_ECOMPONENT_PLANT_TYPE.STEAM]: {\n keyUnitFromList: 'Steam',\n keyUnit: 'steamUnit',\n keyFlowTopology: 'Steam',\n keyTab: 'Steams',\n indexTab: 3,\n keyComponent: 'steamComponents',\n keyRoute: 'steam',\n subSystemId: 'subSteamSystemId',\n nameTab: 'Steam',\n loc: 'locSteam',\n keyToUpdateModel: 'steamData',\n topologyType: 'Steam',\n type: 'steam',\n componentFlow: E_COMPONENT_DATA_TYPE.COMPONENT_ENERGY_FLOW,\n topologyViewType: ATO_ECOMPONENT_PLANT_TYPE.STEAM,\n iconClassName: 'fa-regular fa-heat font-size-16px',\n tagType: TAG_TYPE.STEAM,\n inflowRecord: E_FLOW_RECORD.INFLOW_ENERGY_RECORD,\n outflowRecord: E_FLOW_RECORD.OUTFLOW_ENERGY_RECORD,\n keyGroupMenu: 'Steams',\n },\n [ATO_ECOMPONENT_PLANT_TYPE.EMISSION]: {\n keyUnitFromList: 'Emissions',\n keyUnit: 'Emissions',\n keyFlowTopology: 'Emissions',\n keyTab: 'Emissions',\n indexTab: 5,\n keyComponent: 'emissionComponents',\n keyRoute: 'emission',\n loc: 'locEmission',\n keyToUpdateModel: 'emissionData',\n topologyViewType: ATO_ECOMPONENT_PLANT_TYPE.EMISSION,\n tagType: TAG_TYPE.EMISSION,\n inflowRecord: E_FLOW_RECORD.INFLOW_ENERGY_RECORD,\n outflowRecord: E_FLOW_RECORD.OUTFLOW_ENERGY_RECORD,\n },\n [ATO_ECOMPONENT_PLANT_TYPE.COST]: {\n keyUnitFromList: 'Cost',\n keyUnit: 'Cost',\n keyFlowTopology: 'Cost',\n keyTab: 'Cost',\n indexTab: 4,\n keyComponent: 'costComponents',\n keyRoute: 'cost',\n loc: 'locCost',\n keyToUpdateModel: 'costData',\n type: 'cost',\n topologyViewType: ATO_ECOMPONENT_PLANT_TYPE.COST,\n tagType: TAG_TYPE.COST,\n inflowRecord: E_FLOW_RECORD.INFLOW_ENERGY_RECORD,\n outflowRecord: E_FLOW_RECORD.OUTFLOW_ENERGY_RECORD,\n },\n [ATO_ECOMPONENT_PLANT_TYPE.WATER_PLANT_CELL]: {\n keyUnitFromList: 'Water',\n keyUnit: 'waterUnit',\n keyFlowTopology: 'Water',\n keyTab: 'Water',\n indexTab: -1,\n keyComponent: 'waterComponents_PlantCell',\n keyRoute: 'Water',\n subSystemId: 'subWaterSystemId',\n loc: 'locWater',\n keyToUpdateModel: 'waterDataPlantCell',\n topologyType: 'PlantTopology',\n type: 'water',\n componentFlow: E_COMPONENT_DATA_TYPE.COMPONENT_WATER_FLOW,\n topologyViewType: ATO_ECOMPONENT_PLANT_TYPE.WATER,\n tagType: TAG_TYPE.WATER,\n inflowRecord: E_FLOW_RECORD.INFLOW_WATER_RECORD,\n outflowRecord: E_FLOW_RECORD.OUTFLOW_WATER_RECORD,\n },\n [ATO_ECOMPONENT_PLANT_TYPE.ENERGY_PLANT_CELL]: {\n keyUnitFromList: 'Energy',\n keyUnit: 'energyUnit',\n keyFlowTopology: 'Energy',\n keyTab: 'Energy',\n indexTab: 3,\n keyComponent: '',\n keyRoute: 'energy',\n loc: 'locEnergy',\n keyToUpdateModel: '',\n type: 'water',\n componentFlow: E_COMPONENT_DATA_TYPE.COMPONENT_WATER_FLOW,\n topologyViewType: ATO_ECOMPONENT_PLANT_TYPE.ENERGY,\n tagType: TAG_TYPE.ENERGY,\n inflowRecord: E_FLOW_RECORD.INFLOW_ENERGY_RECORD,\n outflowRecord: E_FLOW_RECORD.OUTFLOW_ENERGY_RECORD,\n },\n [ATO_ECOMPONENT_PLANT_TYPE.ELECTRICITY_PLANT_CELL]: {\n keyUnitFromList: 'Electricity',\n keyUnit: 'electricityUnit',\n keyFlowTopology: 'Electricity',\n keyTab: 'Electricals',\n indexTab: 0,\n keyComponent: 'electricComponents_PlantCell',\n keyRoute: 'electricity',\n subSystemId: 'subElectricSystemId',\n nameTab: 'Electricity',\n loc: 'locElectricity',\n keyToUpdateModel: 'electricDataPlantCell',\n topologyType: 'Electricity',\n type: 'electricity',\n componentFlow: E_COMPONENT_DATA_TYPE.COMPONENT_ENERGY_FLOW,\n topologyViewType: ATO_ECOMPONENT_PLANT_TYPE.ELECTRICITY,\n tagType: TAG_TYPE.ELECTRICITY,\n inflowRecord: E_FLOW_RECORD.INFLOW_ENERGY_RECORD,\n outflowRecord: E_FLOW_RECORD.OUTFLOW_ENERGY_RECORD,\n },\n [ATO_ECOMPONENT_PLANT_TYPE.NATURAL_GAS_PLANT_CELL]: {\n keyUnitFromList: 'Gas',\n keyUnit: 'naturalGasUnit',\n keyFlowTopology: 'NaturalGas',\n keyTab: 'NaturalGases',\n indexTab: 1,\n keyComponent: 'gasComponents_PlantCell',\n keyRoute: 'gas',\n subSystemId: 'subGasSystemId',\n nameTab: 'Natural Gas',\n loc: 'locGas',\n keyToUpdateModel: 'gasDataPlantCell',\n topologyType: 'NaturalGas',\n type: 'naturalgas',\n componentFlow: E_COMPONENT_DATA_TYPE.COMPONENT_ENERGY_FLOW,\n topologyViewType: ATO_ECOMPONENT_PLANT_TYPE.NATURAL_GAS,\n tagType: TAG_TYPE.NATURAL_GAS,\n inflowRecord: E_FLOW_RECORD.INFLOW_ENERGY_RECORD,\n outflowRecord: E_FLOW_RECORD.OUTFLOW_ENERGY_RECORD,\n },\n [ATO_ECOMPONENT_PLANT_TYPE.FUEL_PLANT_CELL]: {\n keyUnitFromList: 'Fuel',\n keyUnit: 'fuelUnit',\n keyFlowTopology: 'Fuel',\n keyTab: 'Fuels',\n indexTab: 2,\n keyComponent: 'fuelComponents_PlantCell',\n keyRoute: 'fuel',\n subSystemId: 'subFuelSystemId',\n nameTab: 'Fuel',\n loc: 'locFuel',\n keyToUpdateModel: 'fuelDataPlantCell',\n topologyType: 'Fuel',\n type: 'fuel',\n componentFlow: E_COMPONENT_DATA_TYPE.COMPONENT_ENERGY_FLOW,\n topologyViewType: ATO_ECOMPONENT_PLANT_TYPE.FUEL,\n tagType: TAG_TYPE.FUEL,\n inflowRecord: E_FLOW_RECORD.INFLOW_ENERGY_RECORD,\n outflowRecord: E_FLOW_RECORD.OUTFLOW_ENERGY_RECORD,\n },\n\n [ATO_ECOMPONENT_PLANT_TYPE.STEAM_PLANT_CELL]: {\n keyUnitFromList: 'Steam',\n keyUnit: 'steamUnit',\n keyFlowTopology: 'Steam',\n keyTab: 'Steams',\n indexTab: 2,\n keyComponent: 'steamComponents_PlantCell',\n keyRoute: 'steam',\n subSystemId: 'subSteamSystemId',\n nameTab: 'Steam',\n loc: 'locSteam',\n keyToUpdateModel: 'steamDataPlantCell',\n topologyType: 'Steam',\n type: 'steam',\n componentFlow: E_COMPONENT_DATA_TYPE.COMPONENT_ENERGY_FLOW,\n topologyViewType: ATO_ECOMPONENT_PLANT_TYPE.STEAM,\n tagType: TAG_TYPE.STEAM,\n inflowRecord: E_FLOW_RECORD.INFLOW_ENERGY_RECORD,\n outflowRecord: E_FLOW_RECORD.OUTFLOW_ENERGY_RECORD,\n },\n\n [ATO_ECOMPONENT_PLANT_TYPE.EMISSION_PLANT_CELL]: {\n keyUnitFromList: 'Emissions',\n keyUnit: 'Emissions',\n keyFlowTopology: 'Emissions',\n keyTab: 'Emissions',\n indexTab: 5,\n keyComponent: '',\n keyRoute: 'emission',\n loc: 'locEmission',\n keyToUpdateModel: '',\n topologyViewType: ATO_ECOMPONENT_PLANT_TYPE.EMISSION,\n tagType: TAG_TYPE.EMISSION,\n inflowRecord: E_FLOW_RECORD.INFLOW_ENERGY_RECORD,\n outflowRecord: E_FLOW_RECORD.OUTFLOW_ENERGY_RECORD,\n },\n [ATO_ECOMPONENT_PLANT_TYPE.COST_PLANT_CELL]: {\n keyUnitFromList: 'Cost',\n keyUnit: 'Cost',\n keyFlowTopology: 'Cost',\n keyTab: 'Cost',\n indexTab: 4,\n keyComponent: 'costComponents_PlantCell',\n keyRoute: 'cost',\n loc: 'locCost',\n keyToUpdateModel: 'costDataPlantCell',\n type: 'cost',\n topologyViewType: ATO_ECOMPONENT_PLANT_TYPE.COST,\n tagType: TAG_TYPE.COST,\n inflowRecord: E_FLOW_RECORD.INFLOW_ENERGY_RECORD,\n outflowRecord: E_FLOW_RECORD.OUTFLOW_ENERGY_RECORD,\n },\n\n // // Add water to plant type\n // [ATO_ECOMPONENT_PLANT_TYPE.WATER]: {\n // keyUnitFromList: 'Water',\n // keyUnit: 'Water',\n // keyFlowTopology: 'Water',\n // keyTab: 'Water',\n // indexTab: 5,\n // keyComponent: 'waterComponents',\n // keyRoute: 'water'\n // },\n};\n\n// export enum TARGET_E_TYPE {\n// TARGET = 'Target',\n// GOAL = 'Goal',\n// PROJECT = 'Project',\n// MILESTONE = 'Milestone',\n// }\n\n// const COLOR_STATUS = {\n// RED: {\n// hexColor: '#EC1B24',\n// classColor: 'color-alizarin',\n// },\n// YELLOW: {\n// hexColor: '#E09F25',\n// classColor: 'color-galliano-2',\n// },\n// GREEN: {\n// hexColor: '#199C69',\n// classColor: 'color-elf-green',\n// },\n// };\n\n// export const TARGET_STATUS_COLOR = {\n// [TARGET_E_TYPE.TARGET]: {\n// 0: COLOR_STATUS.YELLOW,\n// 1: COLOR_STATUS.YELLOW,\n// 2: COLOR_STATUS.YELLOW,\n// 3: COLOR_STATUS.GREEN,\n// 4: COLOR_STATUS.RED,\n// 5: COLOR_STATUS.RED,\n// 6: COLOR_STATUS.RED,\n// },\n// [TARGET_E_TYPE.GOAL]: {\n// 0: COLOR_STATUS.YELLOW,\n// 1: COLOR_STATUS.YELLOW,\n// 2: COLOR_STATUS.YELLOW,\n// 3: COLOR_STATUS.YELLOW,\n// 4: COLOR_STATUS.YELLOW,\n// 5: COLOR_STATUS.RED,\n// 6: COLOR_STATUS.RED,\n// 7: COLOR_STATUS.GREEN,\n// 10: COLOR_STATUS.RED,\n// },\n\n// [TARGET_E_TYPE.PROJECT]: {\n// 0: COLOR_STATUS.YELLOW,\n// 1: COLOR_STATUS.YELLOW,\n// 2: COLOR_STATUS.RED,\n// 3: COLOR_STATUS.GREEN,\n// 4: COLOR_STATUS.RED,\n// 5: COLOR_STATUS.RED,\n// 6: COLOR_STATUS.RED,\n// 10: COLOR_STATUS.RED,\n// },\n// [TARGET_E_TYPE.MILESTONE]: {\n// 0: COLOR_STATUS.YELLOW,\n// 1: COLOR_STATUS.YELLOW,\n// 2: COLOR_STATUS.YELLOW,\n// 3: COLOR_STATUS.RED,\n// 4: COLOR_STATUS.GREEN,\n// 5: COLOR_STATUS.RED,\n// 6: COLOR_STATUS.RED,\n// 10: COLOR_STATUS.RED,\n// },\n// };\n\n// export enum DATA_TYPES {\n// STRING = 'string',\n// NUMBER = 'number',\n// BOOLEAN = 'boolean',\n// DATE = 'Date',\n// VALUE_UNIT = 'valueUnit',\n// VALUE_CURRENCY = 'valueCost',\n// VALUE_CURRENCY_PER_UNIT = 'valueCurrencyPerUnit',\n// // VALUE_WATER = 'valueWater',\n// // VALUE_ELECTRICITY = 'valueElectricity',\n// // VALUE_NATURAL_GAS = 'valueNaturalGas',\n// // VALUE_FUEL = 'valueFuel',\n// // VALUE_CO2e_EMISSION = 'valueCO2eEmission',\n// // VALUE_ENERY = 'valueEnergy',\n// SPECIAL = 'special',\n// }\n\n// export enum E_DATE_PICKER_MODE {\n// DATE = 'date',\n// WEEK = 'week',\n// MONTH = 'month',\n// YEAR = 'year',\n// RAW = 'raw',\n// }\n\n// export const DATE_PICKER_MODE: {\n// [key in string]: any;\n// } = {\n// [E_Frequency.current]: {\n// value: E_DATE_PICKER_MODE.DATE,\n// format: 'MM/DD/YYYY',\n// formatPicker: 'MM/dd/yyyy',\n// index: 0,\n// valueAnalytics: AnalyticsService.ENUM_DATE_TYPE.DAY,\n// },\n// [E_Frequency.daily]: {\n// value: E_DATE_PICKER_MODE.DATE,\n// format: 'MM/DD/YYYY',\n// formatPicker: 'MM/dd/yyyy',\n// index: 0,\n// valueAnalytics: AnalyticsService.ENUM_DATE_TYPE.DAY,\n// },\n// [E_Frequency.weekly]: {\n// value: E_DATE_PICKER_MODE.WEEK,\n// index: 1,\n// // format: 'MM/DD/YYYY'\n// },\n// [E_Frequency.monthly]: {\n// value: E_DATE_PICKER_MODE.MONTH,\n// format: 'MM/YYYY',\n// formatPicker: 'MM/yyyy',\n// index: 2,\n// valueAnalytics: AnalyticsService.ENUM_DATE_TYPE.MONTH,\n// },\n// [E_Frequency.yearly]: {\n// value: E_DATE_PICKER_MODE.YEAR,\n// format: 'YYYY',\n// formatPicker: 'yyyy',\n// index: 3,\n// valueAnalytics: AnalyticsService.ENUM_DATE_TYPE.YEAR,\n// },\n// [E_Frequency.annual]: {\n// value: E_DATE_PICKER_MODE.YEAR,\n// format: 'YYYY',\n// formatPicker: 'yyyy',\n// index: 3,\n// valueAnalytics: AnalyticsService.ENUM_DATE_TYPE.YEAR,\n// },\n// [E_Frequency.raw]: {\n// value: E_DATE_PICKER_MODE.RAW,\n// format: 'MM/DD/YYYY',\n// formatPicker: 'MM/dd/yyyy',\n// index: 0,\n// valueAnalytics: AnalyticsService.ENUM_DATE_TYPE.DAY,\n// },\n// };\n\n// export enum E_PRODUCTION_TYPE {\n// PRODUCT = 'product',\n// PRODUCT_LINE = 'product-line',\n// }\n\n// export enum E_PRODUCTION_MEASUREMENT_TYPE {\n// PRODUCT_WATER_IN_SOURCE = 'ProductWaterInSource',\n// PRODUCT_WATER_OUT_SOURCE = 'ProductWaterOutSource',\n// PRODUCT_ENERGY_IN_SOURCE = 'ProductEnergyInSource',\n// PRODUCT_ENERGY_OUT_SOURCE = 'ProductEnergyOutSource',\n// }\n\n// export const E_PRODUCTION_MEASUREMENT_PAYLOAD = {\n// [E_PRODUCTION_MEASUREMENT_TYPE.PRODUCT_WATER_IN_SOURCE]: {\n// createParentPayload: 'CreateProductWaterInSource',\n// updateParentPayload: 'UpdateProductWaterInSource',\n// payload: 'ProductWaterInSource',\n// keyResponse: 'waterInflows',\n// keyForm: 'waterIntakeMeasurement',\n// keyComponent: ['waterComponents'],\n// textAdd: 'intake measurement',\n// componentType: 'Water',\n// },\n// [E_PRODUCTION_MEASUREMENT_TYPE.PRODUCT_WATER_OUT_SOURCE]: {\n// createParentPayload: 'CreateProductWaterOutSource',\n// updateParentPayload: 'UpdateProductWaterOutSource',\n// payload: 'ProductWaterOutSource',\n// keyResponse: 'waterOutflows',\n// keyForm: 'waterOutputMeasurement',\n// keyComponent: ['waterComponents'],\n// textAdd: 'output measurement',\n// componentType: 'Water',\n// },\n// [E_PRODUCTION_MEASUREMENT_TYPE.PRODUCT_ENERGY_IN_SOURCE]: {\n// createParentPayload: 'CreateProductEnergyInSource',\n// updateParentPayload: 'UpdateProductEnergyInSource',\n// payload: 'ProductEnergyInSource',\n// keyResponse: 'energyInflows',\n// keyForm: 'energyIntakeMeasurement',\n// keyComponent: ['electricComponents', 'fuelComponents', 'gasComponents'],\n// textAdd: 'intake measurement',\n// componentType: 'Energy',\n// },\n// [E_PRODUCTION_MEASUREMENT_TYPE.PRODUCT_ENERGY_OUT_SOURCE]: {\n// createParentPayload: 'CreateProductEnergyOutSource',\n// updateParentPayload: 'UpdateProductEnergyOutSource',\n// payload: 'ProductEnergyOutSource',\n// keyResponse: 'energyOutflows',\n// keyForm: 'energyExportMeasurement',\n// keyComponent: ['electricComponents', 'fuelComponents', 'gasComponents'],\n// textAdd: 'export measurement',\n// componentType: 'Energy',\n// },\n// };\n\n// export enum SORT_DIRECTION {\n// ASCEND = 'ascend',\n// DESCEND = 'descend',\n// }\n\n// export enum ROUTE_COMPONENT_TYPE {\n// COMPONENT = 'component',\n// PLANT_CELL = 'plant-cell',\n// }\n\n// export enum PLACEHOLDER_INPUT {\n// FIELD_FILE = 'Enter the file URL',\n// }\n\n// export enum TYPE_SIZE_CONTROL {\n// NORMAL = 'normal',\n// SMALL = 'small',\n// }\n\n// export enum RATE_WATER_QUALITY_INDEX_INFO {\n// EXCELLENT = 'excellent',\n// GOOD = 'good',\n// AVERAGE = 'average',\n// FAIR = 'fair',\n// POOR = 'poor',\n// }\n\n// // export const COLOR_WATER_QUALITY_INDEX_INFO = {\n// // [RATE_WATER_QUALITY_INDEX_INFO.EXCELLENT]: {\n// // color: ENUM_RISK_COLOR.GREEN,\n// // colorClass: 'color-elf-green',\n// // },\n// // [RATE_WATER_QUALITY_INDEX_INFO.GOOD]: {\n// // color: ENUM_RISK_COLOR.LIGHT_GREEN,\n// // colorClass: 'color-yellow-green',\n// // },\n// // [RATE_WATER_QUALITY_INDEX_INFO.AVERAGE]: {\n// // color: ENUM_RISK_COLOR.YELLOW,\n// // colorClass: 'color-grandis',\n// // },\n// // [RATE_WATER_QUALITY_INDEX_INFO.FAIR]: {\n// // color: ENUM_RISK_COLOR.ORANGE,\n// // colorClass: 'color-carrot-orange',\n// // },\n// // [RATE_WATER_QUALITY_INDEX_INFO.POOR]: {\n// // color: ENUM_RISK_COLOR.RED,\n// // colorClass: 'color-sunset-orange',\n// // },\n// // };\n\n// // export const RANGE_COLOR_WATER_QUALITY_INDEX = [\n// // {\n// // from: 0,\n// // to: 25,\n// // colorInfo: COLOR_WATER_QUALITY_INDEX_INFO[RATE_WATER_QUALITY_INDEX_INFO.POOR],\n// // },\n// // {\n// // from: 25,\n// // to: 50,\n// // colorInfo: COLOR_WATER_QUALITY_INDEX_INFO[RATE_WATER_QUALITY_INDEX_INFO.FAIR],\n// // },\n// // {\n// // from: 50,\n// // to: 70,\n// // colorInfo: COLOR_WATER_QUALITY_INDEX_INFO[RATE_WATER_QUALITY_INDEX_INFO.AVERAGE],\n// // },\n// // {\n// // from: 70,\n// // to: 90,\n// // colorInfo: COLOR_WATER_QUALITY_INDEX_INFO[RATE_WATER_QUALITY_INDEX_INFO.GOOD],\n// // },\n// // {\n// // from: 90,\n// // to: 100,\n// // colorInfo: COLOR_WATER_QUALITY_INDEX_INFO[RATE_WATER_QUALITY_INDEX_INFO.EXCELLENT],\n// // },\n// // ];\n\n// export enum ENUM_INSIGHT_TABS {\n// VOLUME = 'Volume',\n// QUALITY = 'Quality',\n// ASSET_PARAMETERS = 'Asset Parameters',\n// }\n\n// export enum ENUM_INSIGHT_MAPPING_STEP {\n// ASSETS = 'assets',\n// TAGS = 'tags',\n// CONFIGURATION = 'configuration',\n// }\n\n// export enum STEAM_OPTION_KEY {\n// MASS_FLOW = 'massflow',\n// MASS_FLOW_RATE = 'massflowrate',\n// PRESSURE = 'pressure',\n// TEMPERATURE = 'temperature',\n// ENERGY = 'energy',\n// }\n\n// export const STEAM_OPTIONS_FILTER = {\n// [STEAM_OPTION_KEY.MASS_FLOW]: {\n// name: 'Mass Flow',\n// key: STEAM_OPTION_KEY.MASS_FLOW,\n// icon: '',\n// urlIcon: 'assets/images/icons/steam/Mass flow.svg',\n// isDisabled: false,\n// keyUnit: 'SteamMassFlow',\n// keyUnitSetting: 'steamMassFlow',\n// listUnits: [ABBREVIATION.g, ABBREVIATION.lbs],\n// },\n\n// [STEAM_OPTION_KEY.MASS_FLOW_RATE]: {\n// name: 'Mass Flow Rate',\n// key: STEAM_OPTION_KEY.MASS_FLOW_RATE,\n// icon: '',\n// urlIcon: 'assets/images/icons/steam/Mass flow rate.svg',\n// isDisabled: false,\n// keyUnit: 'MassFlowRate',\n// keyUnitSetting: 'steamFlowRate',\n// listUnits: [ABBREVIATION.g_hr, ABBREVIATION.lbs_hr],\n// },\n// [STEAM_OPTION_KEY.PRESSURE]: {\n// name: 'Pressure',\n// key: STEAM_OPTION_KEY.PRESSURE,\n// icon: 'fal fa-gauge-high',\n// isDisabled: false,\n// keyUnit: 'SteamPressure',\n// keyUnitSetting: 'steamPressure',\n// listUnits: [ABBREVIATION.MPa, ABBREVIATION.psi],\n// },\n// [STEAM_OPTION_KEY.TEMPERATURE]: {\n// name: 'Temperature',\n// key: STEAM_OPTION_KEY.TEMPERATURE,\n// icon: 'fal fa-temperature-high',\n// isDisabled: false,\n// keyUnit: 'SteamTemperature',\n// keyUnitSetting: 'steamTemperature',\n// listUnits: [ABBREVIATION.degC, ABBREVIATION.degF],\n// },\n// [STEAM_OPTION_KEY.ENERGY]: {\n// name: 'Energy',\n// key: STEAM_OPTION_KEY.ENERGY,\n// icon: 'fa-regular fa-transformer-bolt',\n// keyUnit: 'Energy',\n// keyUnitSetting: 'energyUnit',\n// isDisabled: false,\n// listUnits: [ABBREVIATION.BTU, ABBREVIATION.J],\n// },\n// };\n\nexport enum ATO_ENUM_FLOW_DIRECTION {\n INFLOW = 'Inflow',\n OUTFLOW = 'Outflow',\n NONE = '',\n}\n","import { ATO_ECOMPONENT_PLANT_TYPE } from '../constants/value.const';\n\nexport class AtoGojsEditorModel {\n initialOptions: any;\n data: any; // FlowGoJsComponentModel\n\n constructor(data: any) {\n this.data = data;\n }\n}\n\nexport namespace AtoGojsEditorModel {\n export const GRID_SIZE = 20;\n export const BASIC_GRID_INTERVAL_X = 24;\n export const BASIC_GRID_INTERVAL_Y = 10;\n export const BASIC_GRID_SIZE_WIDTH = GRID_SIZE * BASIC_GRID_INTERVAL_X;\n export const BASIC_GRID_SIZE_HEIGHT = GRID_SIZE * BASIC_GRID_INTERVAL_Y;\n export const DISTANCE_LAST_TO_ADD = 50;\n export const PLANT_CELL_HEIGHT = 160;\n export enum ENUM_LAYOUT_EDITOR {\n AUTO = 'AUTO ALIGN',\n GRID = 'GRID SUPPORTED',\n FREEFORM = 'FREE FORM',\n }\n\n export const LAYOUT_LIST = [\n {\n name: 'Auto-align',\n key: ENUM_LAYOUT_EDITOR.AUTO,\n },\n {\n name: 'Grid Supported',\n key: ENUM_LAYOUT_EDITOR.GRID,\n },\n {\n name: 'Freeform',\n key: ENUM_LAYOUT_EDITOR.FREEFORM,\n },\n ];\n\n export enum ENUM_COLORS {\n RED = '#EC7C4E',\n ORANGE = '#EBB868',\n BLUE = '#81B8FF',\n LIGHT_BLUE = '#F4F6FB',\n LIGHT_SKY_BLUE = '#cfe7fd',\n WHITE = '#FFFFFF',\n GRAY = '#919CA5',\n CERULEAN = '#0062A9',\n VIVID_VIOLET = '#804180',\n RESOLUTION_BLUE = '#2D3B77',\n CASHMERE = '#D6AB95',\n GALLIANO = '#E09F25',\n FOUNTAIN_BLUE = '#54BBBA',\n ELF_GREEN = '#199C69',\n MEDIUM_RED_VIOLET = '#A8438D',\n GRANDIS = '#FBC96C',\n SALMON = '#F47769',\n NIGHT_RIDER = '#2C2C2C',\n ALIZARIN = '#EC1B24',\n LINK_WATER = '#CAD3DB',\n ZIRCON = '#E5EBEB',\n CERULEAN_ALICE_BLUE = '#E6F0F7',\n DANUBE = '#7197CA',\n DANUBE_ALICE_BLUE = '#F1F5FA',\n AZURE = '#EEF8F8',\n OLD_LACE = '#FCF6EA',\n CARROT_ORANGE = '#F69122',\n FLAMINGO = '#E95F47',\n SNOW = '#FEF7F6',\n LIGHT_SKY_BLUE_2 = '#92B9F9',\n REGENT_ST_BLUE = '#87cee7',\n // 98CDE0\n }\n\n export enum ENUM_LINK_TYPES {\n SIMPLE = 'simple',\n PIPE_ANIMATION = 'pipe animation',\n PIPE = 'pipe',\n PIPE_HIDDEN = 'pipe hidden',\n }\n\n // Components types\n export enum ENUM_TEMPLATES {\n STORAGE = 'Storage',\n COOLING_TOWER = 'Cooling Tower',\n\n WATER_TREATMENT = 'Water Treatment',\n DEMIN_WATER_TREATMENT = 'Demin Water Treatment',\n RO_WATER_TREATMENT = 'RO Water Treatment',\n\n DOMESTIC_USE = 'Domestic Use',\n PROCESS = 'Process',\n BOILER = 'Boiler',\n\n WASTEWATER_TREATMENT = 'Wastewater Treatment',\n DAF_WASTEWATER_TREATMENT = 'DAF Wastewater Treatment',\n ETP_WASTEWATER_TREATMENT = 'ETP Wastewater Treatment',\n MBR_WASTEWATER_TREATMENT = 'MBR Wastewater Treatment',\n ZLD_WASTEWATER_TREATMENT = 'ZLD Wastewater Treatment',\n\n OTHER = 'Other',\n LANDSCAPING_IRRIGATION = 'Landscaping/Irrigation',\n TEXT_NODE = 'TextNode',\n VALUE_NODE = 'ValueNode',\n DATA_BOX = 'DataBox',\n VALUE_LABEL = 'ValueLabel',\n EMPTY = 'Empty',\n\n SPECIAL_PROCESS = 'SPECIAL_PROCESS',\n SPECIAL_STORE = 'SPECIAL_STORE',\n SPECIAL_STORAGE = 'STORAGE',\n SPECIAL_DISCHARGE = 'SPECIAL_DISCHARGE',\n SPECIAL_OTHER = 'SPECIAL_OTHER',\n\n // TANKER = 'Tanker',\n // RAIN_WATER = 'Rainwater',\n FRESH_SURFACE_WATER = 'Fresh surface water', // 'RAIN_WATER',\n THIRD_PARTY_SOURCES = 'Third party sources', // TANKER\n THIRD_PARTY_DESTINATIONS = 'Third party destinations',\n GROUND_WATER_NON_RENEWABLE = 'Groundwater - non-renewable',\n PRODUCED_ENTRAINED = 'Produced / entrained water',\n BRACKISH_SURFACE_WATER = 'Brackish surface water/ seawater',\n\n UTILITY = 'UTILITY',\n GROUND_WATER_RENEWABLE = 'Groundwater - Renewable',\n // Energy\n ZONE = 'EnergyZones',\n ZONE_ENERGY_ITEM = 'SubSystem',\n //Electric\n GRID = 'Grid',\n DIESEL_GENERATORS = 'Diesel Generators',\n ELECTRIC_METERS = 'Electric Meters',\n\n BATTERY_ENERGY_STORAGE = 'Battery energy storage',\n TRANSFORMERS = 'Transformers',\n LIGHTING_SYSTEMS = 'Lighting systems',\n LIGHTINGS = 'Lightings',\n\n ELECTRIC_FLYWHEEL_ENERGY_STORAGE = 'Flywheel energy storage',\n PUMPED_HYDRO_STORAGE = 'Pumped hydro storage',\n THERMAL_ENERGY_STORAGE = 'Thermal energy storage',\n SUPER_CAPACITOR_ENERGY_STORAGE = 'Supercapacitor energy storage',\n SWITCH_GEARS = 'Switchgears',\n MOTOR_CONTROLS = 'MotorControls',\n VARIABLE_FREQUENCY_DRIVERS = 'VariableFrequencyDrives',\n ELECTRIC_HVAC = 'Heating, ventilation, and air conditioning (HVAC) systems',\n COMPRESSED_AIR_SYSTEMS = 'Compressed air',\n REFRIGERATION_COOLING_SYSTEMS = 'Refrigeration and cooling',\n PROCESS_CONTROL_AUTOMATION_SYSTEMS = 'Process control and automation',\n OFFICE_EQUIPMENT = 'Office equipment',\n PROCESS_EQUIPMENT_MACHINES = 'Process equipment and machines',\n MATERIAL_HANDLING_EQUIPMENT = 'Material handling equipment',\n POWER_DISTRIBUTION_CONTROL_SYSTEMS = 'Power distribution and control',\n POWER_DISTRIBUTION_SYSTEMS = 'Power distribution systems',\n WIND_POWER = 'Wind Power',\n NATURAL_GAS_GENERATORS = 'Natural gas generators',\n ELECTRIC_INDUSTRIAL_MOTORS = 'Industrial motors',\n GROUNDING = 'Grounding',\n\n // Fuel\n FUELS = 'Fuels',\n DIESEL_FUELS = 'DieselFuels',\n GASON_LINES = 'Gasonlines',\n BIODIESELS = 'Biodiesels',\n KEROSENSE = 'Kerosenes',\n PROPANES = 'Propanes',\n\n TANKER_TRUCKS = 'Tanker Trucks',\n PIPELINE = 'Pipeline',\n\n INDUSTRIAL_BOILERS = 'Industrial boilers',\n GENERATORS = 'Generators',\n INDUSTRIAL_FURNACES = 'Industrial furnaces',\n INDUSTRIAL_OVENS = 'Industrial ovens',\n INDUSTRIAL_VEHICLES_AND_EQUIPMENT = 'Industrial vehicles and equipment',\n\n FUEL_METERS = 'FuelMeters',\n FUEL_DISPENSERS = 'FuelDispensers',\n FUEL_STRORAGE_TANKS = 'FuelStorageTanks',\n FUEL_FILTRATIONS = 'FuelFiltrations',\n FUEL_MANAGEMENTS = 'FuelManagements',\n\n // Gas\n NATURAL_GAS_PIPELINES = 'Natural gas pipelines',\n LIQUEFIED_NATURAL_GAS = 'Liquefied natural gas',\n COMPRESSED_NATURAL_GAS_PIPELINE = 'Compressed natural gas pipeline',\n ON_SITE_PRODUCTION = 'On-site production',\n COMPRESSED_NATURAL_GAS_PRODUCTION = 'Compressed natural gas production',\n BOILERS_AND_HEATERS = 'Boilers and heaters',\n FURNACES = 'Furnaces',\n POWER_GENERATION = 'Power generation',\n COGENERATION = 'Cogeneration',\n COMBINED_CYCLE_POWER_PLANTS = 'Combined cycle power plants',\n FUEL_FOR_VEHICLES_AND_EQUIPMENT = 'Fuel for vehicles and equipment',\n GAS_METERS = 'Gas meters',\n BURNERS = 'Burners',\n FLUE_GAS_ANALYZERS = 'Flue gas analyzers',\n COMBUSTION_CONTROL_SYSTEMS = 'Combustion control systems',\n GAS_STORAGE_TANKS = 'Gas storage tanks',\n GAS_PRESSURE_REGULATORS = 'Gas pressure regulators',\n NATURAL_GAS = 'Natural Gas',\n // Solar\n SOLAR_POWER = 'Solar Power',\n POWER_CONDITIONING_UNIT = 'Power conditioning unit (PCU)',\n INVERTERS = 'Inverters',\n BATTERIES = 'Batteries',\n\n // Uncategorized of Proxy Plant\n UNCATEGORIZED = 'Uncategorized',\n\n // Plant Cell\n PLANT_CELL = 'Plant Cell',\n INPUT_PLANT_CELL = 'Input Plant Cell',\n OUTPUT_PLANT_CELL = 'Output Plant Cell',\n\n PLANT_CELL_INPUT_GROUP = 'PC Input Group',\n PLANT_CELL_OUTPUT_GROUP = 'PC Output Group',\n\n // Image\n IMAGE_TEMPLATE = 'Image Template',\n PARAM_TABLE = 'Param Table',\n MASS_BALANCE = 'Mass Balance',\n\n // Steam Type\n STEAM_PIPELINE = 'Steam pipeline',\n VALUES = 'Valves',\n STEAM_TRAPS = 'Steam Traps',\n PRESSURE_REGULATORS = 'Pressure Regulator',\n SAFETY_VALUES_AND_EQUIPMENT = 'Safety Valves and Equipment',\n CONDENSATE_RETURN_SYSTEM = 'Condensate Return System',\n DEAERATORS = 'Deaerators',\n FEEDWATER_PUMPS = 'Feedwater Pumps',\n BLOWDOWN_TANKS = 'Blowdown Tanks',\n EXPANSION_TANKS = 'Expansion Tanks',\n HEAT_EXCHANGERS = 'Heat Exchangers',\n TURBINES = 'Turbines',\n\n // Plant Basic\n GROUP_BASIC_COMPONENT = 'Group Basic Component',\n TEXT_LABEL = 'label',\n }\n\n // System Types\n export enum ENUM_TYPES {\n STORAGE = 'WaterStorageTanks',\n\n WATER_TREATMENT = 'WaterTreatmentProcesses',\n DEMIN_WATER_TREATMENT = 'DeminWaterTreatments',\n RO_WATER_TREATMENT = 'ROWaterTreatments',\n\n PROCESS = 'GenericProcesses',\n SPECIAL_STORAGE = 'STORAGE',\n\n WASTEWATER_TREATMENT = 'WasteWaterTreatmentProcesses',\n DAF_WASTEWATER_TREATMENT = 'DAFWasteWaterTreatments',\n ETP_WASTEWATER_TREATMENT = 'ETPWasteWaterTreatments',\n MBR_WASTEWATER_TREATMENT = 'MBRWasteWaterTreatments',\n ZLD_WASTEWATER_TREATMENT = 'ZLDWasteWaterTreatments',\n\n DOMESTIC_USE = 'DomesticUse',\n COOLING_TOWER = 'CoolingTowers',\n BOILER = 'Boilers',\n OTHER = 'OtherWaterUse',\n LANDSCAPING_IRRIGATION = 'IrrigationUse',\n\n FRESH_SURFACE_WATER = 'Fresh surface water', // 'RAIN_WATER',\n THIRD_PARTY_SOURCES = 'Third party sources', // TANKER\n THIRD_PARTY_DESTINATIONS = 'Third party destinations',\n GROUND_WATER_NON_RENEWABLE = 'Groundwater - non-renewable',\n PRODUCED_ENTRAINED = 'Produced / entrained water',\n\n // FRESH_SURFACE_WAER = 'Fresh surface water',\n BRACKISH_SURFACE_WATER = 'Brackish surface water/ seawater',\n GROUND_WATER_RENEWABLE = 'Groundwater - Renewable',\n\n TANKER_WATER = 'Tanker Water',\n // ENERGY\n ZONE = 'EnergyZones',\n // Electric\n ELECTRIC_SOURCES = 'ElectricSources',\n GRID = 'Grid Power',\n DIESEL_GENERATORS = 'Diesel Generators',\n ELECTRIC_METERS = 'ElectricMeters',\n TRANSFORMERS = 'Transformers',\n // Electric New\n BATTERY_ENERGY_STORAGE = 'Battery energy storage',\n ELECTRIC_PRODUCTIONS = 'ElectricProductions',\n ELECTRIC_COMSUMINGS = 'ElectricConsumings',\n ELECTRIC_STORAGES = 'ElectricityStorages',\n ELECTRIC_FLYWHEEL_ENERGY_STORAGE = 'Flywheel energy storage',\n PUMPED_HYDRO_STORAGE = 'Pumped hydro storage',\n THERMAL_ENERGY_STORAGE = 'Thermal energy storage',\n SUPER_CAPACITOR_ENERGY_STORAGE = 'Supercapacitor energy storage',\n SWITCH_GEARS = 'Switchgears',\n MOTOR_CONTROLS = 'MotorControls',\n VARIABLE_FREQUENCY_DRIVERS = 'VariableFrequencyDrives',\n LIGHTING_SYSTEMS = 'Lighting systems',\n LIGHTINGS = 'Lightings',\n ELECTRIC_HVAC = 'Heating, ventilation, and air conditioning (HVAC) systems',\n COMPRESSED_AIR_SYSTEMS = 'Compressed air',\n REFRIGERATION_COOLING_SYSTEMS = 'Refrigeration and cooling',\n PROCESS_CONTROL_AUTOMATION_SYSTEMS = 'Process control and automation',\n PROCESS_EQUIPMENT_MACHINES = 'Process equipment and machines',\n OFFICE_EQUIPMENT = 'Office equipment',\n MATERIAL_HANDLING_EQUIPMENT = 'Material handling equipment',\n POWER_DISTRIBUTION_CONTROL_SYSTEMS = 'Power distribution and control',\n POWER_DISTRIBUTION_SYSTEMS = 'PowerDistributions',\n WIND_POWER = 'Wind Power',\n NATURAL_GAS_GENERATORS = 'Natural gas generators',\n ELECTRIC_INDUSTRIAL_MOTORS = 'Industrial motors',\n GROUNDING = 'Groundings',\n Electricals = 'Electricals',\n\n // Gas\n NATURAL_GAS_PIPELINES = 'Natural gas pipelines',\n LIQUEFIED_NATURAL_GAS = 'Liquefied natural gas (LNG) shipments',\n COMPRESSED_NATURAL_GAS_PIPELINE = 'Compressed natural gas pipeline (CNG)',\n ON_SITE_PRODUCTION = 'On-site production',\n COMPRESSED_NATURAL_GAS_PRODUCTION = 'Compressed natural gas production (CNG)',\n BOILERS_AND_HEATERS = 'Boilers and heaters',\n FURNACES = 'Furnaces',\n POWER_GENERATION = 'Power generation',\n COGENERATION = 'Cogeneration',\n COMBINED_CYCLE_POWER_PLANTS = 'Combined cycle power plants',\n FUEL_FOR_VEHICLES_AND_EQUIPMENT = 'Fuel for vehicles and equipment',\n GAS_METERS = 'GasMeters',\n BURNERS = 'Burners',\n FLUE_GAS_ANALYZERS = 'FlueGasAnalyzers',\n COMBUSTION_CONTROL_SYSTEMS = 'ConbustionControls',\n GAS_STORAGE_TANKS = 'GasStorageTanks',\n GAS_PRESSURE_REGULATORS = 'GasPressureRegulators',\n NATURAL_GAS = 'Natural Gas',\n // TYPE_COMPONENT Gas\n GAS_SOURCE = 'GasSources',\n GAS_PRODUCTION = 'GasProductions',\n GAS_CONSUMINGS = 'GasConsumings',\n NATURAL_GAS_SPECIAL = 'NaturalGases',\n\n // Fuel\n FUELS = 'Fuels',\n DIESEL_FUELS = 'DieselFuels',\n GASON_LINES = 'Gasonlines',\n BIODIESELS = 'Biodiesels',\n KEROSENSE = 'Kerosenes',\n PROPANES = 'Propanes',\n\n FUEL_SOURCES = 'FuelSources',\n\n TANKER_TRUCKS = 'Tanker Trucks',\n PIPELINE = 'Pipeline',\n\n FUEL_CONSUMINGS = 'FuelConsumings',\n\n INDUSTRIAL_BOILERS = 'Industrial boilers',\n GENERATORS = 'Generators',\n INDUSTRIAL_FURNACES = 'Industrial furnaces',\n INDUSTRIAL_OVENS = 'Industrial ovens',\n INDUSTRIAL_VEHICLES_AND_EQUIPMENT = 'Industrial vehicles and equipment',\n\n FUEL_METERS = 'FuelMeters',\n FUEL_DISPENSERS = 'FuelDispensers',\n FUEL_STRORAGE_TANKS = 'FuelStorageTanks',\n FUEL_FILTRATIONS = 'FuelFiltrations',\n FUEL_MANAGEMENTS = 'FuelManagements',\n\n // Solar\n SOLAR_POWER = 'Solar Power',\n POWER_CONDITIONING_UNIT = 'Power conditioning unit (PCU)',\n INVERTERS = 'Inverters',\n BATTERIES = 'Batteries',\n\n // Plant Cell\n PLANT_CELL = 'PlantCells',\n PLANT_CELL_INPUT_GROUP = 'PC Input Group',\n PLANT_CELL_OUTPUT_GROUP = 'PC Output Group',\n\n // Steam\n STEAM_SOURCES = 'SteamSources',\n STEAM_PIPELINE = 'Steam pipeline',\n VALUES = 'Valves',\n STEAM_TRAPS = 'Steam Traps',\n PRESSURE_REGULATORS = 'Pressure Regulator',\n SAFETY_VALUES_AND_EQUIPMENT = 'Safety Valves and Equipment',\n CONDENSATE_RETURN_SYSTEM = 'Condensate Return System',\n DEAERATORS = 'Deaerators',\n FEEDWATER_PUMPS = 'Feedwater Pumps',\n BLOWDOWN_TANKS = 'Blowdown Tanks',\n EXPANSION_TANKS = 'Expansion Tanks',\n HEAT_EXCHANGERS = 'SteamConsumings',\n TURBINES = 'EnergyConverters',\n\n STEAM_COMPONENT = 'SteamComponents',\n STEAM_CONSUMING_SYSTEM = 'SteamConsumings',\n ENERGY_CONVERTER = 'EnergyConverters',\n }\n\n export enum ENUM_CATEGORY {}\n\n export enum DATA_COLLECTION_METHOD {\n MEASURED = 'Measured',\n MANUAL = 'Manual',\n COMPUTED = 'Computed',\n ESTIMATED = 'Estimated',\n WATER_CAPACITY = 'Water Capacity',\n KEY_MODEL_COMPUTED = 'M',\n }\n\n export const COLOR_COLLECTION_METHOD: {\n [key in AtoGojsEditorModel.DATA_COLLECTION_METHOD]: any;\n } = {\n [DATA_COLLECTION_METHOD.MEASURED]: {\n name: DATA_COLLECTION_METHOD.MEASURED,\n color: ENUM_COLORS.RED,\n classNameColor: 'color-burnt-sienna',\n },\n [DATA_COLLECTION_METHOD.MANUAL]: {\n name: DATA_COLLECTION_METHOD.MANUAL,\n color: ENUM_COLORS.ELF_GREEN,\n classNameColor: 'color-elf-green',\n },\n [DATA_COLLECTION_METHOD.COMPUTED]: {\n name: DATA_COLLECTION_METHOD.COMPUTED,\n color: ENUM_COLORS.CERULEAN,\n classNameColor: 'color-cerulean',\n },\n [DATA_COLLECTION_METHOD.ESTIMATED]: {\n name: DATA_COLLECTION_METHOD.ESTIMATED,\n color: ENUM_COLORS.MEDIUM_RED_VIOLET,\n classNameColor: 'color-medium-red-violet',\n },\n [DATA_COLLECTION_METHOD.WATER_CAPACITY]: {\n name: DATA_COLLECTION_METHOD.WATER_CAPACITY,\n color: ENUM_COLORS.VIVID_VIOLET,\n classNameColor: 'color-vivid-violet',\n },\n [DATA_COLLECTION_METHOD.KEY_MODEL_COMPUTED]: {\n name: DATA_COLLECTION_METHOD.KEY_MODEL_COMPUTED,\n color: ENUM_COLORS.GRAY,\n classNameColor: 'color-bali-hai',\n },\n };\n\n // export enum WITH_DRAW_TYPES {\n // TANKER = 'Tanker',\n // RAIN_WATER = 'Rainwater',\n // }\n\n export enum WITH_DRAW_SYSTEM_TYPES {\n WATER_SOURCE = 'WaterSource',\n }\n\n // export enum DISCHARGE_TYPES {\n // GROUND_WATER_RENEWABLE = 'Ground Water Renewable',\n // }\n\n export enum DISCHARGE_TYPES_SYSTEM_TYPES {\n GROUND_WATER_RANEWABLE = 'GroundWaterRenewable',\n }\n\n export const WaterWithdrawSources = 'WaterWithdrawSources';\n export const WaterWithdrawSourcesPath =\n 'GetFlowTopology.Plant.WaterWithdrawSources.ComponentWaterFlow.InFlows.InflowWaterRecord.QuantityParams';\n\n export const WaterDischargeDestinations = 'WaterDischargeDestinations';\n export const WaterDischargeDestinationsPath =\n 'GetFlowTopology.Plant.WaterDischargeDestinations.ComponentWaterFlow.InFlows.InflowWaterRecord.QuantityParams';\n\n export const SOURCES_COMPONENTS = [\n WaterWithdrawSources,\n WaterDischargeDestinations,\n ENUM_TYPES.ELECTRIC_SOURCES,\n ENUM_TYPES.ELECTRIC_PRODUCTIONS,\n ENUM_TYPES.GAS_SOURCE,\n ENUM_TYPES.GAS_PRODUCTION,\n ENUM_TYPES.FUEL_SOURCES,\n // ENUM_TYPES.FUEL_STORAGE_TANKS,\n ];\n\n export const SOURCES_WITHDRAW = [\n WaterWithdrawSources,\n ENUM_TYPES.ELECTRIC_SOURCES,\n ENUM_TYPES.ELECTRIC_PRODUCTIONS,\n ENUM_TYPES.GAS_SOURCE,\n ENUM_TYPES.GAS_PRODUCTION,\n ENUM_TYPES.FUEL_SOURCES,\n // ENUM_TYPES.FUEL_STORAGE_TANKS,\n ];\n\n export const SOURCES_DISCHARGE = [\n WaterDischargeDestinations,\n // ENUM_TYPES.ELECTRIC_SOURCES,\n // ENUM_TYPES.ELECTRIC_PRODUCTIONS,\n // ENUM_TYPES.GAS_SOURCE,\n // ENUM_TYPES.GAS_PRODUCTION,\n // ENUM_TYPES.FUEL_SOURCES,\n ];\n\n export const COMPONENTS_HAVE_SPECIAL_CATEGORY = [\n // Water\n WaterWithdrawSources,\n WaterDischargeDestinations,\n\n // ENUM_TYPES.FRESH_SURFACE_WAER,\n // ENUM_TYPES.THIRD_PARTY_SOURCES,\n // ENUM_TYPES.GROUND_WATER_NON_RENEWABLE,\n // ENUM_TYPES.PRODUCED_ENTRAINED,\n // ENUM_TYPES.BRACKISH_SURFACE_WATER,\n // ENUM_TYPES.GROUND_WATER_RENEWABLE,\n\n // Energy\n ENUM_TYPES.ZONE,\n // Electric===================\n ENUM_TYPES.GRID,\n ENUM_TYPES.ELECTRIC_PRODUCTIONS,\n ENUM_TYPES.DIESEL_GENERATORS,\n ENUM_TYPES.NATURAL_GAS_GENERATORS,\n ENUM_TYPES.SOLAR_POWER,\n ENUM_TYPES.ELECTRIC_SOURCES,\n ENUM_TYPES.Electricals,\n // ENUM_TYPES.ELECTRIC_COMSUMINGS,\n // ENUM_TYPES.ELECTRIC_STORAGES,\n // ENUM_TYPES.PROCESS_CONTROL_AUTOMATION_SYSTEMS,\n // ENUM_TYPES.POWER_DISTRIBUTION_CONTROL_SYSTEMS,\n\n // Gas========================\n // ENUM_TYPES.NATURAL_GAS_PIPELINES,\n ENUM_TYPES.GAS_SOURCE,\n ENUM_TYPES.GAS_PRODUCTION,\n ENUM_TYPES.LIQUEFIED_NATURAL_GAS,\n ENUM_TYPES.ON_SITE_PRODUCTION,\n ENUM_TYPES.NATURAL_GAS_PIPELINES,\n ENUM_TYPES.LIQUEFIED_NATURAL_GAS,\n ENUM_TYPES.COMPRESSED_NATURAL_GAS_PRODUCTION,\n // ENUM_TYPES.COMPRESSED_NATURAL_GAS_PIPELINE,\n // ENUM_TYPES.COMPRESSED_NATURAL_GAS_PRODUCTION,\n // ENUM_TYPES.FURNACES,\n // ENUM_TYPES.POWER_GENERATION,\n // ENUM_TYPES.COGENERATION,\n // ENUM_TYPES.COMBINED_CYCLE_POWER_PLANTS,\n // ENUM_TYPES.FUEL_FOR_VEHICLES_AND_EQUIPMENT,\n ENUM_TYPES.NATURAL_GAS_SPECIAL,\n //Fuel========================\n ENUM_TYPES.FUEL_SOURCES,\n ENUM_TYPES.TANKER_TRUCKS,\n ENUM_TYPES.PIPELINE,\n ENUM_TYPES.FUELS,\n ];\n\n export const WITH_DRAW_TYPE_LIST = [\n ENUM_TYPES.THIRD_PARTY_SOURCES,\n ENUM_TYPES.FRESH_SURFACE_WATER,\n ENUM_TYPES.BRACKISH_SURFACE_WATER,\n ENUM_TYPES.GROUND_WATER_RENEWABLE,\n ENUM_TYPES.GROUND_WATER_NON_RENEWABLE,\n ENUM_TYPES.PRODUCED_ENTRAINED,\n ] as string[];\n export const DISCHARGE_TYPE_LIST = [\n ENUM_TYPES.FRESH_SURFACE_WATER,\n ENUM_TYPES.BRACKISH_SURFACE_WATER,\n ENUM_TYPES.GROUND_WATER_RENEWABLE,\n ENUM_TYPES.THIRD_PARTY_DESTINATIONS,\n ] as string[];\n\n export const WITH_DRAW_SYSTEM_TYPE_LIST = [\n WITH_DRAW_SYSTEM_TYPES.WATER_SOURCE,\n ];\n export const DISCHARGE_SYSTEM_TYPE_LIST = [\n DISCHARGE_TYPES_SYSTEM_TYPES.GROUND_WATER_RANEWABLE,\n ];\n\n // system type\n export const TYPE_COMPONENT = [\n ENUM_TYPES.STORAGE,\n\n ENUM_TYPES.WATER_TREATMENT,\n ENUM_TYPES.DEMIN_WATER_TREATMENT,\n ENUM_TYPES.RO_WATER_TREATMENT,\n\n ENUM_TYPES.PROCESS,\n\n ENUM_TYPES.WASTEWATER_TREATMENT,\n ENUM_TYPES.DAF_WASTEWATER_TREATMENT,\n ENUM_TYPES.ETP_WASTEWATER_TREATMENT,\n ENUM_TYPES.MBR_WASTEWATER_TREATMENT,\n ENUM_TYPES.ZLD_WASTEWATER_TREATMENT,\n\n ENUM_TYPES.DOMESTIC_USE,\n ENUM_TYPES.COOLING_TOWER,\n ENUM_TYPES.BOILER,\n ENUM_TYPES.OTHER,\n ENUM_TYPES.LANDSCAPING_IRRIGATION,\n AtoGojsEditorModel.WaterWithdrawSources,\n AtoGojsEditorModel.WaterDischargeDestinations,\n // Energy\n ENUM_TYPES.ZONE,\n // Electricity==========================\n ENUM_TYPES.GRID,\n ENUM_TYPES.DIESEL_GENERATORS,\n ENUM_TYPES.BATTERY_ENERGY_STORAGE,\n ENUM_TYPES.LIGHTING_SYSTEMS,\n ENUM_TYPES.LIGHTINGS,\n ENUM_TYPES.ELECTRIC_METERS,\n ENUM_TYPES.TRANSFORMERS,\n ENUM_TYPES.ELECTRIC_FLYWHEEL_ENERGY_STORAGE,\n ENUM_TYPES.PUMPED_HYDRO_STORAGE,\n ENUM_TYPES.THERMAL_ENERGY_STORAGE,\n ENUM_TYPES.SUPER_CAPACITOR_ENERGY_STORAGE,\n ENUM_TYPES.SWITCH_GEARS,\n ENUM_TYPES.PROCESS_CONTROL_AUTOMATION_SYSTEMS,\n ENUM_TYPES.PROCESS_EQUIPMENT_MACHINES,\n ENUM_TYPES.OFFICE_EQUIPMENT,\n ENUM_TYPES.POWER_DISTRIBUTION_CONTROL_SYSTEMS,\n ENUM_TYPES.POWER_DISTRIBUTION_SYSTEMS,\n ENUM_TYPES.NATURAL_GAS_GENERATORS,\n ENUM_TYPES.MOTOR_CONTROLS,\n ENUM_TYPES.VARIABLE_FREQUENCY_DRIVERS,\n ENUM_TYPES.ELECTRIC_HVAC,\n ENUM_TYPES.COMPRESSED_AIR_SYSTEMS,\n ENUM_TYPES.REFRIGERATION_COOLING_SYSTEMS,\n ENUM_TYPES.MATERIAL_HANDLING_EQUIPMENT,\n ENUM_TYPES.WIND_POWER,\n ENUM_TYPES.ELECTRIC_INDUSTRIAL_MOTORS,\n ENUM_TYPES.GROUNDING,\n ENUM_TYPES.ELECTRIC_STORAGES,\n ENUM_TYPES.ELECTRIC_COMSUMINGS,\n\n // TEST\n ENUM_TYPES.ELECTRIC_SOURCES,\n // Gas==========================\n ENUM_TYPES.NATURAL_GAS_PIPELINES,\n ENUM_TYPES.LIQUEFIED_NATURAL_GAS,\n ENUM_TYPES.COMPRESSED_NATURAL_GAS_PIPELINE,\n ENUM_TYPES.ON_SITE_PRODUCTION,\n ENUM_TYPES.COMPRESSED_NATURAL_GAS_PRODUCTION,\n ENUM_TYPES.BOILERS_AND_HEATERS,\n ENUM_TYPES.FURNACES,\n ENUM_TYPES.POWER_GENERATION,\n ENUM_TYPES.COGENERATION,\n ENUM_TYPES.COMBINED_CYCLE_POWER_PLANTS,\n ENUM_TYPES.FUEL_FOR_VEHICLES_AND_EQUIPMENT,\n ENUM_TYPES.GAS_METERS,\n ENUM_TYPES.BURNERS,\n ENUM_TYPES.FLUE_GAS_ANALYZERS,\n ENUM_TYPES.COMBUSTION_CONTROL_SYSTEMS,\n ENUM_TYPES.GAS_STORAGE_TANKS,\n ENUM_TYPES.GAS_PRESSURE_REGULATORS,\n ENUM_TYPES.NATURAL_GAS,\n\n ENUM_TYPES.GAS_SOURCE,\n // ENUM_TYPES.GAS_PRODUCTION,\n ENUM_TYPES.GAS_CONSUMINGS,\n\n // Fuel==========================\n ENUM_TYPES.DIESEL_FUELS,\n ENUM_TYPES.GASON_LINES,\n ENUM_TYPES.BIODIESELS,\n ENUM_TYPES.KEROSENSE,\n ENUM_TYPES.PROPANES,\n ENUM_TYPES.FUEL_CONSUMINGS,\n ENUM_TYPES.INDUSTRIAL_BOILERS,\n ENUM_TYPES.GENERATORS,\n ENUM_TYPES.INDUSTRIAL_FURNACES,\n ENUM_TYPES.INDUSTRIAL_OVENS,\n ENUM_TYPES.INDUSTRIAL_VEHICLES_AND_EQUIPMENT,\n ENUM_TYPES.FUEL_METERS,\n ENUM_TYPES.FUEL_DISPENSERS,\n ENUM_TYPES.FUEL_STRORAGE_TANKS,\n ENUM_TYPES.FUEL_FILTRATIONS,\n ENUM_TYPES.FUEL_MANAGEMENTS,\n ENUM_TYPES.FUELS,\n\n // Solar =============================\n ENUM_TYPES.SOLAR_POWER,\n ENUM_TYPES.BATTERIES,\n ENUM_TYPES.INVERTERS,\n ENUM_TYPES.POWER_CONDITIONING_UNIT,\n\n // Plant Cell\n ENUM_TYPES.PLANT_CELL,\n\n // Copy form ENUM_TYPES\n ENUM_TYPES.STORAGE,\n\n ENUM_TYPES.WATER_TREATMENT,\n ENUM_TYPES.DEMIN_WATER_TREATMENT,\n ENUM_TYPES.RO_WATER_TREATMENT,\n\n ENUM_TYPES.PROCESS,\n ENUM_TYPES.SPECIAL_STORAGE,\n\n ENUM_TYPES.WASTEWATER_TREATMENT,\n ENUM_TYPES.DAF_WASTEWATER_TREATMENT,\n ENUM_TYPES.ETP_WASTEWATER_TREATMENT,\n ENUM_TYPES.MBR_WASTEWATER_TREATMENT,\n ENUM_TYPES.ZLD_WASTEWATER_TREATMENT,\n\n ENUM_TYPES.DOMESTIC_USE,\n ENUM_TYPES.COOLING_TOWER,\n ENUM_TYPES.BOILER,\n ENUM_TYPES.OTHER,\n ENUM_TYPES.LANDSCAPING_IRRIGATION,\n\n ENUM_TYPES.FRESH_SURFACE_WATER,\n ENUM_TYPES.THIRD_PARTY_SOURCES,\n ENUM_TYPES.THIRD_PARTY_DESTINATIONS,\n ENUM_TYPES.GROUND_WATER_NON_RENEWABLE,\n ENUM_TYPES.PRODUCED_ENTRAINED,\n\n // FRESH_SURFACE_WAER = 'Fresh surface water',\n ENUM_TYPES.BRACKISH_SURFACE_WATER,\n ENUM_TYPES.GROUND_WATER_RENEWABLE,\n\n ENUM_TYPES.TANKER_WATER,\n // ENERGY\n ENUM_TYPES.ZONE,\n // Electric\n ENUM_TYPES.ELECTRIC_SOURCES,\n ENUM_TYPES.GRID,\n ENUM_TYPES.DIESEL_GENERATORS,\n ENUM_TYPES.ELECTRIC_METERS,\n ENUM_TYPES.TRANSFORMERS,\n // Electric New\n ENUM_TYPES.BATTERY_ENERGY_STORAGE,\n ENUM_TYPES.ELECTRIC_PRODUCTIONS,\n ENUM_TYPES.ELECTRIC_COMSUMINGS,\n ENUM_TYPES.ELECTRIC_STORAGES,\n ENUM_TYPES.ELECTRIC_FLYWHEEL_ENERGY_STORAGE,\n ENUM_TYPES.PUMPED_HYDRO_STORAGE,\n ENUM_TYPES.THERMAL_ENERGY_STORAGE,\n ENUM_TYPES.SUPER_CAPACITOR_ENERGY_STORAGE,\n ENUM_TYPES.SWITCH_GEARS,\n ENUM_TYPES.MOTOR_CONTROLS,\n ENUM_TYPES.VARIABLE_FREQUENCY_DRIVERS,\n ENUM_TYPES.LIGHTING_SYSTEMS,\n ENUM_TYPES.LIGHTINGS,\n ENUM_TYPES.ELECTRIC_HVAC,\n ENUM_TYPES.COMPRESSED_AIR_SYSTEMS,\n ENUM_TYPES.REFRIGERATION_COOLING_SYSTEMS,\n ENUM_TYPES.PROCESS_EQUIPMENT_MACHINES,\n ENUM_TYPES.PROCESS_CONTROL_AUTOMATION_SYSTEMS,\n ENUM_TYPES.OFFICE_EQUIPMENT,\n ENUM_TYPES.MATERIAL_HANDLING_EQUIPMENT,\n ENUM_TYPES.POWER_DISTRIBUTION_CONTROL_SYSTEMS,\n ENUM_TYPES.POWER_DISTRIBUTION_SYSTEMS,\n ENUM_TYPES.WIND_POWER,\n ENUM_TYPES.NATURAL_GAS_GENERATORS,\n ENUM_TYPES.ELECTRIC_INDUSTRIAL_MOTORS,\n ENUM_TYPES.GROUNDING,\n ENUM_TYPES.Electricals,\n\n // Gas\n ENUM_TYPES.NATURAL_GAS_PIPELINES,\n ENUM_TYPES.LIQUEFIED_NATURAL_GAS,\n ENUM_TYPES.COMPRESSED_NATURAL_GAS_PIPELINE,\n ENUM_TYPES.ON_SITE_PRODUCTION,\n ENUM_TYPES.COMPRESSED_NATURAL_GAS_PRODUCTION,\n ENUM_TYPES.BOILERS_AND_HEATERS,\n ENUM_TYPES.FURNACES,\n ENUM_TYPES.POWER_GENERATION,\n ENUM_TYPES.COGENERATION,\n ENUM_TYPES.COMBINED_CYCLE_POWER_PLANTS,\n ENUM_TYPES.FUEL_FOR_VEHICLES_AND_EQUIPMENT,\n ENUM_TYPES.GAS_METERS,\n ENUM_TYPES.BURNERS,\n ENUM_TYPES.FLUE_GAS_ANALYZERS,\n ENUM_TYPES.COMBUSTION_CONTROL_SYSTEMS,\n ENUM_TYPES.GAS_STORAGE_TANKS,\n ENUM_TYPES.GAS_PRESSURE_REGULATORS,\n ENUM_TYPES.NATURAL_GAS,\n // TYPE_COMPONENT Gas\n ENUM_TYPES.GAS_SOURCE,\n ENUM_TYPES.GAS_PRODUCTION,\n ENUM_TYPES.GAS_CONSUMINGS,\n ENUM_TYPES.NATURAL_GAS_SPECIAL,\n\n // Fuel\n ENUM_TYPES.FUELS,\n ENUM_TYPES.DIESEL_FUELS,\n ENUM_TYPES.GASON_LINES,\n ENUM_TYPES.BIODIESELS,\n ENUM_TYPES.KEROSENSE,\n ENUM_TYPES.PROPANES,\n\n ENUM_TYPES.FUEL_SOURCES,\n\n ENUM_TYPES.TANKER_TRUCKS,\n ENUM_TYPES.PIPELINE,\n\n ENUM_TYPES.FUEL_CONSUMINGS,\n\n ENUM_TYPES.INDUSTRIAL_BOILERS,\n ENUM_TYPES.GENERATORS,\n ENUM_TYPES.INDUSTRIAL_FURNACES,\n ENUM_TYPES.INDUSTRIAL_OVENS,\n ENUM_TYPES.INDUSTRIAL_VEHICLES_AND_EQUIPMENT,\n\n ENUM_TYPES.FUEL_METERS,\n ENUM_TYPES.FUEL_DISPENSERS,\n ENUM_TYPES.FUEL_STRORAGE_TANKS,\n ENUM_TYPES.FUEL_FILTRATIONS,\n ENUM_TYPES.FUEL_MANAGEMENTS,\n\n // Solar\n ENUM_TYPES.SOLAR_POWER,\n ENUM_TYPES.POWER_CONDITIONING_UNIT,\n ENUM_TYPES.INVERTERS,\n ENUM_TYPES.BATTERIES,\n\n // Plant Cell\n ENUM_TYPES.PLANT_CELL,\n ENUM_TYPES.PLANT_CELL_INPUT_GROUP,\n ENUM_TYPES.PLANT_CELL_OUTPUT_GROUP,\n\n // Steam\n ENUM_TYPES.VALUES,\n ENUM_TYPES.STEAM_TRAPS,\n ENUM_TYPES.PRESSURE_REGULATORS,\n ENUM_TYPES.SAFETY_VALUES_AND_EQUIPMENT,\n ENUM_TYPES.CONDENSATE_RETURN_SYSTEM,\n ENUM_TYPES.DEAERATORS,\n ENUM_TYPES.FEEDWATER_PUMPS,\n ENUM_TYPES.BLOWDOWN_TANKS,\n ENUM_TYPES.EXPANSION_TANKS,\n ENUM_TYPES.HEAT_EXCHANGERS,\n ENUM_TYPES.TURBINES,\n ENUM_TYPES.STEAM_COMPONENT,\n ENUM_TYPES.STEAM_CONSUMING_SYSTEM,\n ENUM_TYPES.ENERGY_CONVERTER,\n ] as string[];\n\n export const ICON_ASSET_PATH: string = 'assets/images/editor/icons';\n export const ICON_ASSET_WITHDRAW_DISCHARGE_ICON: string =\n '/assets/images/icons/hoskote_plant';\n export const IMAGE_RO_WATER_TREATMENT_PATH =\n '/assets/images/ro-water-treatment/RO_WATER_TREATMENT_BG.png';\n export const IMAGE_BOILER_PATH = 'assets/images/boiler/cms_boiler.png';\n export const IMAGE_COOLING_TOWER_PATH =\n 'assets/images/process-water/cooling-tower-4.png';\n export const SPECIAL_ICON_ASSET_PATH: string = 'assets/images/editor/special';\n export const ENERGY_ICON_ASSET_PATH = 'assets/images/editor/energy';\n export const GAS_ICON_ASSET_PATH = 'assets/images/editor/gas';\n export const FUEL_ICON_ASSET_PATH = 'assets/images/editor/fuel';\n export const STEAM_ICON_ASSET_PATH = 'assets/images/editor/steam';\n export const PLANT_CELL_PATH = 'assets/images/editor/plant-cell';\n export const DATA_BOX = 'assets/images/editor/data-box';\n\n export const LINK_TEMPLATES: {\n [key in AtoGojsEditorModel.ENUM_LINK_TYPES]: any;\n } = {\n [ENUM_LINK_TYPES.SIMPLE]: {\n toShortLength: 8,\n strokeWidth: 8,\n arrow: {\n toArrow: 'Triangle',\n visible: true,\n stroke: AtoGojsEditorModel.ENUM_COLORS.GRAY,\n fill: AtoGojsEditorModel.ENUM_COLORS.GRAY,\n scale: 1.7,\n },\n },\n [ENUM_LINK_TYPES.PIPE]: {\n strokeWidth: 8,\n },\n [ENUM_LINK_TYPES.PIPE_ANIMATION]: {\n strokeWidth: 8,\n animation: {\n isPanelMain: true,\n stroke: 'white',\n strokeWidth: 2,\n name: 'PIPE',\n strokeDashArray: [10, 20],\n visible: false,\n },\n },\n [ENUM_LINK_TYPES.PIPE_HIDDEN]: {\n strokeWidth: 0,\n selectable: false,\n arrow: {\n visible: false,\n },\n },\n };\n\n export interface I_TEMPLATE_ITEM {\n name: AtoGojsEditorModel.ENUM_TEMPLATES;\n icon?: string;\n size?: { w: number; h: number };\n systemType?: string;\n }\n\n export const ATTRNAME_COMPONENT: any[] = [\n 'waterWithdrawName',\n 'waterDischargeName',\n 'wasteWaterProcessName',\n 'waterTreatmentName',\n 'waterStorageTankName',\n 'genericProcessName',\n 'boilerName',\n 'coolingTowerName',\n 'facilityFunctionName',\n 'miscWaterUseName',\n 'plantTopologyName',\n ];\n\n // export enum GROUP_COMPONENT_TYPE {\n // WITHDRAW_SOURCES = 'Withdraw Sources',\n // PROCESSE = 'Processe',\n // WASTEWATER_TREATEMENTS = 'WasteWater Treatements',\n // WATER_TREATMENT = 'Water Treatments',\n // DISCHARGE_DESTINATIONS = 'Discharge Destinations',\n // WATER_STORAGE = 'Water Storage',\n // FACILITY_FUNCTIONS = 'Facility functions',\n // OTHER = 'Other',\n // }\n\n export const NODE_TEMPLATES: {\n [key in AtoGojsEditorModel.ENUM_TEMPLATES]: I_TEMPLATE_ITEM;\n } = {\n [ENUM_TEMPLATES.STORAGE]: {\n name: ENUM_TEMPLATES.STORAGE,\n icon: `${ICON_ASSET_PATH}/Raw Water Tank.svg`,\n systemType: ENUM_TYPES.STORAGE,\n },\n [ENUM_TEMPLATES.COOLING_TOWER]: {\n name: ENUM_TEMPLATES.COOLING_TOWER,\n icon: `${ICON_ASSET_PATH}/cooling_tower.svg`,\n systemType: ENUM_TYPES.COOLING_TOWER,\n },\n\n // WATER_TREATMENT\n [ENUM_TEMPLATES.WATER_TREATMENT]: {\n name: ENUM_TEMPLATES.WATER_TREATMENT,\n icon: `${ICON_ASSET_PATH}/water_treatment.svg`,\n systemType: ENUM_TYPES.WATER_TREATMENT,\n },\n [ENUM_TEMPLATES.DEMIN_WATER_TREATMENT]: {\n name: ENUM_TEMPLATES.DEMIN_WATER_TREATMENT,\n icon: `${ICON_ASSET_PATH}/Demin.svg`,\n systemType: ENUM_TYPES.DEMIN_WATER_TREATMENT,\n },\n [ENUM_TEMPLATES.RO_WATER_TREATMENT]: {\n name: ENUM_TEMPLATES.RO_WATER_TREATMENT,\n icon: `${ICON_ASSET_PATH}/RO.svg`,\n systemType: ENUM_TYPES.RO_WATER_TREATMENT,\n },\n\n [ENUM_TEMPLATES.DOMESTIC_USE]: {\n name: ENUM_TEMPLATES.DOMESTIC_USE,\n icon: `${ICON_ASSET_PATH}/Domestic_new.svg`,\n systemType: ENUM_TYPES.DOMESTIC_USE,\n },\n [ENUM_TEMPLATES.PROCESS]: {\n name: ENUM_TEMPLATES.PROCESS,\n // icon: `${ICON_ASSET_PATH}/process.svg`,\n icon: `${ICON_ASSET_PATH}/Generic Process.svg`,\n systemType: ENUM_TYPES.PROCESS,\n },\n [ENUM_TEMPLATES.SPECIAL_STORAGE]: {\n name: ENUM_TEMPLATES.SPECIAL_STORAGE,\n icon: `${ICON_ASSET_PATH}/process.svg`,\n systemType: ENUM_TYPES.SPECIAL_STORAGE,\n },\n [ENUM_TEMPLATES.BOILER]: {\n name: ENUM_TEMPLATES.BOILER,\n icon: `${ICON_ASSET_PATH}/Boiler.svg`,\n systemType: ENUM_TYPES.BOILER,\n },\n\n // WASTEWATER_TREATMENT\n [ENUM_TEMPLATES.WASTEWATER_TREATMENT]: {\n name: ENUM_TEMPLATES.WASTEWATER_TREATMENT,\n icon: `${ICON_ASSET_PATH}/wastewater_treatment.svg`,\n // size: {\n // w: GRID_SIZE * 8,\n // h: GRID_SIZE * 6,\n // },\n systemType: ENUM_TYPES.WASTEWATER_TREATMENT,\n },\n [ENUM_TEMPLATES.DAF_WASTEWATER_TREATMENT]: {\n name: ENUM_TEMPLATES.DAF_WASTEWATER_TREATMENT,\n icon: `${ICON_ASSET_PATH}/DAF.svg`,\n // size: {\n // w: GRID_SIZE * 8,\n // h: GRID_SIZE * 6,\n // },\n systemType: ENUM_TYPES.DAF_WASTEWATER_TREATMENT,\n },\n [ENUM_TEMPLATES.ETP_WASTEWATER_TREATMENT]: {\n name: ENUM_TEMPLATES.ETP_WASTEWATER_TREATMENT,\n icon: `${ICON_ASSET_PATH}/water_treatment.svg`,\n systemType: ENUM_TYPES.ETP_WASTEWATER_TREATMENT,\n },\n [ENUM_TEMPLATES.MBR_WASTEWATER_TREATMENT]: {\n name: ENUM_TEMPLATES.MBR_WASTEWATER_TREATMENT,\n icon: `${ICON_ASSET_PATH}/MBR.svg`,\n // size: {\n // w: GRID_SIZE * 8,\n // h: GRID_SIZE * 6,\n // },\n systemType: ENUM_TYPES.MBR_WASTEWATER_TREATMENT,\n },\n [ENUM_TEMPLATES.ZLD_WASTEWATER_TREATMENT]: {\n name: ENUM_TEMPLATES.ZLD_WASTEWATER_TREATMENT,\n icon: `${ICON_ASSET_PATH}/ZLD.svg`,\n // size: {\n // w: GRID_SIZE * 8,\n // h: GRID_SIZE * 6,\n // },\n systemType: ENUM_TYPES.ZLD_WASTEWATER_TREATMENT,\n },\n\n [ENUM_TEMPLATES.LANDSCAPING_IRRIGATION]: {\n name: ENUM_TEMPLATES.LANDSCAPING_IRRIGATION,\n icon: `${ICON_ASSET_PATH}/Irrigation.svg`,\n // size: {\n // w: GRID_SIZE * 8,\n // h: GRID_SIZE * 6,\n // },\n systemType: ENUM_TYPES.LANDSCAPING_IRRIGATION,\n },\n [ENUM_TEMPLATES.OTHER]: {\n name: ENUM_TEMPLATES.OTHER,\n icon: `${ICON_ASSET_PATH}/other.svg`,\n systemType: ENUM_TYPES.OTHER,\n },\n [ENUM_TEMPLATES.TEXT_NODE]: {\n name: ENUM_TEMPLATES.TEXT_NODE,\n },\n [ENUM_TEMPLATES.EMPTY]: {\n name: ENUM_TEMPLATES.EMPTY,\n },\n\n [ENUM_TEMPLATES.VALUE_NODE]: {\n name: ENUM_TEMPLATES.VALUE_NODE,\n },\n [ENUM_TEMPLATES.VALUE_LABEL]: {\n name: ENUM_TEMPLATES.VALUE_LABEL,\n },\n [ENUM_TEMPLATES.TEXT_LABEL]: {\n name: ENUM_TEMPLATES.TEXT_LABEL,\n },\n [ENUM_TEMPLATES.DATA_BOX]: {\n name: ENUM_TEMPLATES.DATA_BOX,\n },\n\n [ENUM_TEMPLATES.SPECIAL_PROCESS]: {\n name: ENUM_TEMPLATES.SPECIAL_PROCESS,\n icon: `${SPECIAL_ICON_ASSET_PATH}/process.svg`,\n },\n [ENUM_TEMPLATES.SPECIAL_STORE]: {\n name: ENUM_TEMPLATES.SPECIAL_STORE,\n icon: `${SPECIAL_ICON_ASSET_PATH}/Discharge.svg`,\n },\n [ENUM_TEMPLATES.SPECIAL_DISCHARGE]: {\n name: ENUM_TEMPLATES.SPECIAL_DISCHARGE,\n icon: `${SPECIAL_ICON_ASSET_PATH}/Discharge.svg`,\n },\n\n [ENUM_TEMPLATES.THIRD_PARTY_SOURCES]: {\n name: ENUM_TEMPLATES.THIRD_PARTY_SOURCES,\n // icon: `${ICON_ASSET_PATH}/Intake.svg`,\n icon: `${ICON_ASSET_PATH}/Third Party Sources.svg`,\n systemType: ENUM_TYPES.THIRD_PARTY_SOURCES,\n },\n\n [ENUM_TEMPLATES.THIRD_PARTY_DESTINATIONS]: {\n name: ENUM_TEMPLATES.THIRD_PARTY_DESTINATIONS,\n // icon: `${ICON_ASSET_PATH}/Intake.svg`,\n icon: `${ICON_ASSET_PATH}/Third party destinations.svg`,\n systemType: ENUM_TYPES.THIRD_PARTY_DESTINATIONS,\n },\n\n [ENUM_TEMPLATES.GROUND_WATER_NON_RENEWABLE]: {\n name: ENUM_TEMPLATES.GROUND_WATER_NON_RENEWABLE,\n icon: `${ICON_ASSET_PATH}/Groundwater - Non-Renewable.svg`,\n systemType: ENUM_TYPES.GROUND_WATER_NON_RENEWABLE,\n },\n [ENUM_TEMPLATES.PRODUCED_ENTRAINED]: {\n name: ENUM_TEMPLATES.PRODUCED_ENTRAINED,\n icon: `${ICON_ASSET_PATH}/Produced Entrained Water.svg`,\n systemType: ENUM_TYPES.PRODUCED_ENTRAINED,\n },\n [ENUM_TEMPLATES.BRACKISH_SURFACE_WATER]: {\n name: ENUM_TEMPLATES.BRACKISH_SURFACE_WATER,\n icon: `${ICON_ASSET_PATH}/Brackisk Surface Water Seawater.svg`,\n systemType: ENUM_TYPES.BRACKISH_SURFACE_WATER,\n },\n\n [ENUM_TEMPLATES.FRESH_SURFACE_WATER]: {\n name: ENUM_TEMPLATES.FRESH_SURFACE_WATER,\n icon: `${ICON_ASSET_PATH}/Fresh Surface Water.svg`,\n systemType: ENUM_TYPES.FRESH_SURFACE_WATER,\n },\n [ENUM_TEMPLATES.UTILITY]: {\n name: ENUM_TEMPLATES.UTILITY,\n icon: '',\n // `${ICON_ASSET_PATH}/rain.svg`,\n },\n\n [ENUM_TEMPLATES.GROUND_WATER_RENEWABLE]: {\n name: ENUM_TEMPLATES.GROUND_WATER_RENEWABLE,\n icon: `${ICON_ASSET_PATH}/Groundwater - Renewable.svg`,\n systemType: ENUM_TYPES.GROUND_WATER_RENEWABLE,\n },\n [ENUM_TEMPLATES.SPECIAL_OTHER]: {\n name: ENUM_TEMPLATES.SPECIAL_OTHER,\n icon: `${SPECIAL_ICON_ASSET_PATH}/Discharge.svg`,\n },\n // Energy\n // Electric Node Template ====================================================================\n [ENUM_TEMPLATES.GRID]: {\n name: ENUM_TEMPLATES.GRID,\n icon: `${ENERGY_ICON_ASSET_PATH}/Grid.svg`,\n systemType: ENUM_TYPES.GRID,\n // size: {\n // h: GRID_SIZE * 8,\n // w: GRID_SIZE * 6,\n // },\n },\n [ENUM_TEMPLATES.DIESEL_GENERATORS]: {\n name: ENUM_TEMPLATES.DIESEL_GENERATORS,\n icon: `${ENERGY_ICON_ASSET_PATH}/Diesel Generators.svg`,\n systemType: ENUM_TYPES.DIESEL_GENERATORS,\n // size: {\n // h: GRID_SIZE * 8,\n // w: GRID_SIZE * 6,\n // },\n },\n [ENUM_TEMPLATES.BATTERY_ENERGY_STORAGE]: {\n name: ENUM_TEMPLATES.BATTERY_ENERGY_STORAGE,\n icon: `${ENERGY_ICON_ASSET_PATH}/Battery.svg`,\n systemType: ENUM_TYPES.BATTERY_ENERGY_STORAGE,\n },\n [ENUM_TEMPLATES.LIGHTING_SYSTEMS]: {\n name: ENUM_TEMPLATES.LIGHTING_SYSTEMS,\n icon: `${ENERGY_ICON_ASSET_PATH}/Lighting systems.svg`,\n systemType: ENUM_TYPES.LIGHTING_SYSTEMS,\n },\n [ENUM_TEMPLATES.LIGHTINGS]: {\n name: ENUM_TEMPLATES.LIGHTINGS,\n icon: `${ENERGY_ICON_ASSET_PATH}/Lights.svg`,\n systemType: ENUM_TYPES.LIGHTINGS,\n },\n [ENUM_TEMPLATES.ELECTRIC_METERS]: {\n name: ENUM_TEMPLATES.ELECTRIC_METERS,\n icon: `${ENERGY_ICON_ASSET_PATH}/Meter.svg`,\n systemType: ENUM_TYPES.ELECTRIC_METERS,\n },\n\n [ENUM_TEMPLATES.TRANSFORMERS]: {\n name: ENUM_TEMPLATES.TRANSFORMERS,\n icon: `${ENERGY_ICON_ASSET_PATH}/Transformer.svg`,\n systemType: ENUM_TYPES.TRANSFORMERS,\n },\n [ENUM_TEMPLATES.ELECTRIC_FLYWHEEL_ENERGY_STORAGE]: {\n name: ENUM_TEMPLATES.ELECTRIC_FLYWHEEL_ENERGY_STORAGE,\n icon: `${ENERGY_ICON_ASSET_PATH}/Pumped hydro storage systems.svg`,\n systemType: ENUM_TYPES.ELECTRIC_FLYWHEEL_ENERGY_STORAGE,\n },\n [ENUM_TEMPLATES.PUMPED_HYDRO_STORAGE]: {\n name: ENUM_TEMPLATES.PUMPED_HYDRO_STORAGE,\n icon: `${ENERGY_ICON_ASSET_PATH}/Pumped hydro storage systems.svg`,\n systemType: ENUM_TYPES.PUMPED_HYDRO_STORAGE,\n },\n [ENUM_TEMPLATES.THERMAL_ENERGY_STORAGE]: {\n name: ENUM_TEMPLATES.THERMAL_ENERGY_STORAGE,\n icon: `${ENERGY_ICON_ASSET_PATH}/Thermal energy storage systems.svg`,\n systemType: ENUM_TYPES.THERMAL_ENERGY_STORAGE,\n },\n [ENUM_TEMPLATES.SUPER_CAPACITOR_ENERGY_STORAGE]: {\n name: ENUM_TEMPLATES.SUPER_CAPACITOR_ENERGY_STORAGE,\n icon: `${ENERGY_ICON_ASSET_PATH}/Supercapacitor energy storage systems.svg`,\n systemType: ENUM_TYPES.SUPER_CAPACITOR_ENERGY_STORAGE,\n },\n [ENUM_TEMPLATES.SWITCH_GEARS]: {\n name: ENUM_TEMPLATES.SWITCH_GEARS,\n icon: `${ENERGY_ICON_ASSET_PATH}/Switchgear.svg`,\n systemType: ENUM_TYPES.SWITCH_GEARS,\n },\n [ENUM_TEMPLATES.PROCESS_CONTROL_AUTOMATION_SYSTEMS]: {\n name: ENUM_TEMPLATES.PROCESS_CONTROL_AUTOMATION_SYSTEMS,\n icon: `${ENERGY_ICON_ASSET_PATH}/Process control and automation systems.svg`,\n systemType: ENUM_TYPES.PROCESS_CONTROL_AUTOMATION_SYSTEMS,\n },\n [ENUM_TEMPLATES.PROCESS_EQUIPMENT_MACHINES]: {\n name: ENUM_TEMPLATES.PROCESS_EQUIPMENT_MACHINES,\n icon: `${ENERGY_ICON_ASSET_PATH}/Process equipment and machines.svg`,\n systemType: ENUM_TYPES.PROCESS_EQUIPMENT_MACHINES,\n },\n [ENUM_TEMPLATES.OFFICE_EQUIPMENT]: {\n name: ENUM_TEMPLATES.OFFICE_EQUIPMENT,\n icon: `${ENERGY_ICON_ASSET_PATH}/Office equipment.svg`,\n systemType: ENUM_TYPES.OFFICE_EQUIPMENT,\n },\n [ENUM_TEMPLATES.POWER_DISTRIBUTION_CONTROL_SYSTEMS]: {\n name: ENUM_TEMPLATES.POWER_DISTRIBUTION_CONTROL_SYSTEMS,\n icon: `${ENERGY_ICON_ASSET_PATH}/Power distribution and control systems.svg`,\n systemType: ENUM_TYPES.POWER_DISTRIBUTION_CONTROL_SYSTEMS,\n },\n [ENUM_TEMPLATES.POWER_DISTRIBUTION_SYSTEMS]: {\n name: ENUM_TEMPLATES.POWER_DISTRIBUTION_SYSTEMS,\n icon: `${ENERGY_ICON_ASSET_PATH}/Power distribution systems.svg`,\n systemType: ENUM_TYPES.POWER_DISTRIBUTION_SYSTEMS,\n },\n [ENUM_TEMPLATES.NATURAL_GAS_GENERATORS]: {\n name: ENUM_TEMPLATES.NATURAL_GAS_GENERATORS,\n icon: `${ENERGY_ICON_ASSET_PATH}/Natural gas generators.svg`,\n systemType: ENUM_TYPES.NATURAL_GAS_GENERATORS,\n },\n [ENUM_TEMPLATES.MOTOR_CONTROLS]: {\n name: ENUM_TEMPLATES.MOTOR_CONTROLS,\n icon: `${ENERGY_ICON_ASSET_PATH}/Motor control centers (MCCs).svg`,\n systemType: ENUM_TYPES.MOTOR_CONTROLS,\n },\n [ENUM_TEMPLATES.VARIABLE_FREQUENCY_DRIVERS]: {\n name: ENUM_TEMPLATES.VARIABLE_FREQUENCY_DRIVERS,\n icon: `${ENERGY_ICON_ASSET_PATH}/Variable frequency drives (VFDs).svg`,\n systemType: ENUM_TYPES.VARIABLE_FREQUENCY_DRIVERS,\n },\n [ENUM_TEMPLATES.ELECTRIC_HVAC]: {\n name: ENUM_TEMPLATES.ELECTRIC_HVAC,\n icon: `${ENERGY_ICON_ASSET_PATH}/Gas HVAC.svg`,\n systemType: ENUM_TYPES.ELECTRIC_HVAC,\n },\n [ENUM_TEMPLATES.COMPRESSED_AIR_SYSTEMS]: {\n name: ENUM_TEMPLATES.COMPRESSED_AIR_SYSTEMS,\n icon: `${ENERGY_ICON_ASSET_PATH}/Compressed air.svg`,\n systemType: ENUM_TYPES.COMPRESSED_AIR_SYSTEMS,\n },\n [ENUM_TEMPLATES.REFRIGERATION_COOLING_SYSTEMS]: {\n name: ENUM_TEMPLATES.REFRIGERATION_COOLING_SYSTEMS,\n icon: `${ENERGY_ICON_ASSET_PATH}/Refrigeration and cooling systems.svg`,\n systemType: ENUM_TYPES.REFRIGERATION_COOLING_SYSTEMS,\n },\n\n [ENUM_TEMPLATES.MATERIAL_HANDLING_EQUIPMENT]: {\n name: ENUM_TEMPLATES.MATERIAL_HANDLING_EQUIPMENT,\n icon: `${ENERGY_ICON_ASSET_PATH}/Material handling equipment.svg`,\n systemType: ENUM_TYPES.MATERIAL_HANDLING_EQUIPMENT,\n },\n [ENUM_TEMPLATES.WIND_POWER]: {\n name: ENUM_TEMPLATES.WIND_POWER,\n icon: `${ENERGY_ICON_ASSET_PATH}/Wind Power.svg`,\n systemType: ENUM_TYPES.WIND_POWER,\n },\n\n [ENUM_TEMPLATES.ELECTRIC_INDUSTRIAL_MOTORS]: {\n name: ENUM_TEMPLATES.ELECTRIC_INDUSTRIAL_MOTORS,\n icon: `${ENERGY_ICON_ASSET_PATH}/Industrial motors.svg`,\n systemType: ENUM_TYPES.ELECTRIC_INDUSTRIAL_MOTORS,\n },\n [ENUM_TEMPLATES.GROUNDING]: {\n name: ENUM_TEMPLATES.GROUNDING,\n icon: `${ENERGY_ICON_ASSET_PATH}/Grounding systems.svg`,\n systemType: ENUM_TYPES.GROUNDING,\n },\n // Gas ================================================================================\n\n [ENUM_TEMPLATES.NATURAL_GAS_PIPELINES]: {\n name: ENUM_TEMPLATES.NATURAL_GAS_PIPELINES,\n icon: `${GAS_ICON_ASSET_PATH}/Natural gas pipelines.svg`,\n systemType: ENUM_TYPES.NATURAL_GAS_PIPELINES,\n },\n // [ENUM_TEMPLATES.LIQUEFIED_NATURAL_GAS]: {\n // name: ENUM_TEMPLATES.LIQUEFIED_NATURAL_GAS,\n // icon: `${GAS_ICON_ASSET_PATH}/Liquefied natural gas (LNG) shipments.svg`,\n // systemType: ENUM_TYPES.LIQUEFIED_NATURAL_GAS,\n // },\n [ENUM_TEMPLATES.COMPRESSED_NATURAL_GAS_PIPELINE]: {\n name: ENUM_TEMPLATES.COMPRESSED_NATURAL_GAS_PIPELINE,\n icon: `${GAS_ICON_ASSET_PATH}/Compressed natural gas pipeline (CNG).svg`,\n systemType: ENUM_TYPES.COMPRESSED_NATURAL_GAS_PIPELINE,\n },\n // [ENUM_TEMPLATES.ON_SITE_PRODUCTION]: {\n // name: ENUM_TEMPLATES.ON_SITE_PRODUCTION,\n // icon: `${GAS_ICON_ASSET_PATH}/On-site production.svg`,\n // systemType: ENUM_TYPES.ON_SITE_PRODUCTION,\n // },\n [ENUM_TEMPLATES.COMPRESSED_NATURAL_GAS_PRODUCTION]: {\n name: ENUM_TEMPLATES.COMPRESSED_NATURAL_GAS_PRODUCTION,\n icon: `${GAS_ICON_ASSET_PATH}/Compressed natural gas pipeline (CNG).svg`,\n systemType: ENUM_TYPES.COMPRESSED_NATURAL_GAS_PRODUCTION,\n },\n [ENUM_TEMPLATES.BOILERS_AND_HEATERS]: {\n name: ENUM_TEMPLATES.BOILERS_AND_HEATERS,\n icon: `${GAS_ICON_ASSET_PATH}/Boilers and heaters.svg`,\n systemType: ENUM_TYPES.BOILERS_AND_HEATERS,\n },\n [ENUM_TEMPLATES.FURNACES]: {\n name: ENUM_TEMPLATES.FURNACES,\n icon: `${GAS_ICON_ASSET_PATH}/Furnaces.svg`,\n systemType: ENUM_TYPES.FURNACES,\n },\n [ENUM_TEMPLATES.POWER_GENERATION]: {\n name: ENUM_TEMPLATES.POWER_GENERATION,\n icon: `${GAS_ICON_ASSET_PATH}/Power generation.svg`,\n systemType: ENUM_TYPES.POWER_GENERATION,\n },\n [ENUM_TEMPLATES.COGENERATION]: {\n name: ENUM_TEMPLATES.COGENERATION,\n icon: `${GAS_ICON_ASSET_PATH}/Cogeneration.svg`,\n systemType: ENUM_TYPES.COGENERATION,\n },\n [ENUM_TEMPLATES.COMBINED_CYCLE_POWER_PLANTS]: {\n name: ENUM_TEMPLATES.COMBINED_CYCLE_POWER_PLANTS,\n icon: `${GAS_ICON_ASSET_PATH}/Combined cycle power plants.svg`,\n systemType: ENUM_TYPES.COMBINED_CYCLE_POWER_PLANTS,\n },\n [ENUM_TEMPLATES.FUEL_FOR_VEHICLES_AND_EQUIPMENT]: {\n name: ENUM_TEMPLATES.FUEL_FOR_VEHICLES_AND_EQUIPMENT,\n icon: `${GAS_ICON_ASSET_PATH}/Fuel for vehicles and equipment.svg`,\n systemType: ENUM_TYPES.FUEL_FOR_VEHICLES_AND_EQUIPMENT,\n },\n [ENUM_TEMPLATES.GAS_METERS]: {\n name: ENUM_TEMPLATES.GAS_METERS,\n icon: `${GAS_ICON_ASSET_PATH}/Gas meters.svg`,\n systemType: ENUM_TYPES.GAS_METERS,\n },\n // [ENUM_TEMPLATES.BURNERS]: {\n // name: ENUM_TEMPLATES.BURNERS,\n // icon: `${GAS_ICON_ASSET_PATH}/Burners.svg`,\n // systemType: ENUM_TYPES.BURNERS,\n // },\n // [ENUM_TEMPLATES.FLUE_GAS_ANALYZERS]: {\n // name: ENUM_TEMPLATES.FLUE_GAS_ANALYZERS,\n // icon: `${GAS_ICON_ASSET_PATH}/Flue gas analyzers.svg`,\n // systemType: ENUM_TYPES.FLUE_GAS_ANALYZERS,\n // },\n [ENUM_TEMPLATES.COMBUSTION_CONTROL_SYSTEMS]: {\n name: ENUM_TEMPLATES.COMBUSTION_CONTROL_SYSTEMS,\n icon: `${GAS_ICON_ASSET_PATH}/Combustion control systems.svg`,\n systemType: ENUM_TYPES.COMBUSTION_CONTROL_SYSTEMS,\n },\n [ENUM_TEMPLATES.GAS_STORAGE_TANKS]: {\n name: ENUM_TEMPLATES.GAS_STORAGE_TANKS,\n icon: `${GAS_ICON_ASSET_PATH}/Gas storage tanks.svg`,\n systemType: ENUM_TYPES.GAS_STORAGE_TANKS,\n },\n [ENUM_TEMPLATES.GAS_PRESSURE_REGULATORS]: {\n name: ENUM_TEMPLATES.GAS_PRESSURE_REGULATORS,\n icon: `${GAS_ICON_ASSET_PATH}/Gas pressure regulators.svg`,\n systemType: ENUM_TYPES.GAS_PRESSURE_REGULATORS,\n },\n [ENUM_TEMPLATES.NATURAL_GAS]: {\n name: ENUM_TEMPLATES.NATURAL_GAS,\n icon: `${GAS_ICON_ASSET_PATH}/Natural Gas.svg`,\n systemType: ENUM_TYPES.NATURAL_GAS,\n },\n // Fuel==========================================================\n [ENUM_TEMPLATES.DIESEL_FUELS]: {\n name: ENUM_TEMPLATES.DIESEL_FUELS,\n icon: `${FUEL_ICON_ASSET_PATH}/Diesel fuel.svg`,\n systemType: ENUM_TYPES.DIESEL_FUELS,\n },\n [ENUM_TEMPLATES.GASON_LINES]: {\n name: ENUM_TEMPLATES.GASON_LINES,\n icon: `${FUEL_ICON_ASSET_PATH}/Gasoline.svg`,\n systemType: ENUM_TYPES.GASON_LINES,\n },\n [ENUM_TEMPLATES.BIODIESELS]: {\n name: ENUM_TEMPLATES.BIODIESELS,\n icon: `${FUEL_ICON_ASSET_PATH}/Biodiesel.svg`,\n systemType: ENUM_TYPES.BIODIESELS,\n },\n [ENUM_TEMPLATES.KEROSENSE]: {\n name: ENUM_TEMPLATES.KEROSENSE,\n icon: `${FUEL_ICON_ASSET_PATH}/Kerosene.svg`,\n systemType: ENUM_TYPES.KEROSENSE,\n },\n [ENUM_TEMPLATES.PROPANES]: {\n name: ENUM_TEMPLATES.PROPANES,\n icon: `${FUEL_ICON_ASSET_PATH}/Propane.svg`,\n systemType: ENUM_TYPES.PROPANES,\n },\n [ENUM_TEMPLATES.TANKER_TRUCKS]: {\n name: ENUM_TEMPLATES.TANKER_TRUCKS,\n icon: `${FUEL_ICON_ASSET_PATH}/Tanker Trucks.svg`,\n systemType: ENUM_TYPES.TANKER_TRUCKS,\n },\n [ENUM_TEMPLATES.PIPELINE]: {\n name: ENUM_TEMPLATES.PIPELINE,\n icon: `${FUEL_ICON_ASSET_PATH}/Pipeline.svg`,\n systemType: ENUM_TYPES.PIPELINE,\n },\n\n [ENUM_TEMPLATES.INDUSTRIAL_BOILERS]: {\n name: ENUM_TEMPLATES.INDUSTRIAL_BOILERS,\n icon: `${FUEL_ICON_ASSET_PATH}/Industrial boilers.svg`,\n systemType: ENUM_TYPES.INDUSTRIAL_BOILERS,\n },\n [ENUM_TEMPLATES.GENERATORS]: {\n name: ENUM_TEMPLATES.GENERATORS,\n icon: `${FUEL_ICON_ASSET_PATH}/Generators.svg`,\n systemType: ENUM_TYPES.GENERATORS,\n },\n [ENUM_TEMPLATES.INDUSTRIAL_FURNACES]: {\n name: ENUM_TEMPLATES.INDUSTRIAL_FURNACES,\n icon: `${FUEL_ICON_ASSET_PATH}/Industrial furnaces.svg`,\n systemType: ENUM_TYPES.INDUSTRIAL_FURNACES,\n },\n [ENUM_TEMPLATES.INDUSTRIAL_OVENS]: {\n name: ENUM_TEMPLATES.INDUSTRIAL_OVENS,\n icon: `${FUEL_ICON_ASSET_PATH}/Industrial ovens.svg`,\n systemType: ENUM_TYPES.INDUSTRIAL_OVENS,\n },\n [ENUM_TEMPLATES.INDUSTRIAL_VEHICLES_AND_EQUIPMENT]: {\n name: ENUM_TEMPLATES.INDUSTRIAL_VEHICLES_AND_EQUIPMENT,\n icon: `${FUEL_ICON_ASSET_PATH}/Industrial vehicles and equipment.svg`,\n systemType: ENUM_TYPES.INDUSTRIAL_VEHICLES_AND_EQUIPMENT,\n },\n\n [ENUM_TEMPLATES.FUEL_METERS]: {\n name: ENUM_TEMPLATES.FUEL_METERS,\n icon: `${FUEL_ICON_ASSET_PATH}/Fuel meters.svg`,\n systemType: ENUM_TYPES.FUEL_METERS,\n },\n [ENUM_TEMPLATES.FUEL_DISPENSERS]: {\n name: ENUM_TEMPLATES.FUEL_DISPENSERS,\n icon: `${FUEL_ICON_ASSET_PATH}/Fuel dispensers.svg`,\n systemType: ENUM_TYPES.FUEL_DISPENSERS,\n },\n [ENUM_TEMPLATES.FUEL_STRORAGE_TANKS]: {\n name: ENUM_TEMPLATES.FUEL_STRORAGE_TANKS,\n icon: `${FUEL_ICON_ASSET_PATH}/Fuel storage tanks.svg`,\n systemType: ENUM_TYPES.FUEL_STRORAGE_TANKS,\n },\n [ENUM_TEMPLATES.FUEL_FILTRATIONS]: {\n name: ENUM_TEMPLATES.FUEL_FILTRATIONS,\n icon: `${FUEL_ICON_ASSET_PATH}/Fuel filtration systems.svg`,\n systemType: ENUM_TYPES.FUEL_FILTRATIONS,\n },\n [ENUM_TEMPLATES.FUEL_MANAGEMENTS]: {\n name: ENUM_TEMPLATES.FUEL_MANAGEMENTS,\n icon: `${FUEL_ICON_ASSET_PATH}/Fuel management systems.svg`,\n systemType: ENUM_TYPES.FUEL_MANAGEMENTS,\n },\n\n [ENUM_TEMPLATES.FUELS]: {\n name: ENUM_TEMPLATES.FUELS,\n icon: `${FUEL_ICON_ASSET_PATH}/Diesel fuel.svg`,\n systemType: ENUM_TYPES.FUELS,\n },\n\n // Gas new\n [ENUM_TEMPLATES.LIQUEFIED_NATURAL_GAS]: {\n name: ENUM_TEMPLATES.LIQUEFIED_NATURAL_GAS,\n icon: `${ENERGY_ICON_ASSET_PATH}/Natural gas generators.svg`,\n systemType: ENUM_TYPES.LIQUEFIED_NATURAL_GAS,\n },\n [ENUM_TEMPLATES.ON_SITE_PRODUCTION]: {\n name: ENUM_TEMPLATES.ON_SITE_PRODUCTION,\n icon: `${ENERGY_ICON_ASSET_PATH}/Natural gas generators.svg`,\n systemType: ENUM_TYPES.ON_SITE_PRODUCTION,\n },\n\n [ENUM_TEMPLATES.BURNERS]: {\n name: ENUM_TEMPLATES.BURNERS,\n icon: `${ENERGY_ICON_ASSET_PATH}/Power conditioning unit (PCU).svg`,\n systemType: ENUM_TYPES.BURNERS,\n },\n [ENUM_TEMPLATES.FLUE_GAS_ANALYZERS]: {\n name: ENUM_TEMPLATES.FLUE_GAS_ANALYZERS,\n icon: `${ENERGY_ICON_ASSET_PATH}/Power conditioning unit (PCU).svg`,\n systemType: ENUM_TYPES.FLUE_GAS_ANALYZERS,\n },\n // Solar ==========================================================\n [ENUM_TEMPLATES.SOLAR_POWER]: {\n name: ENUM_TEMPLATES.SOLAR_POWER,\n icon: `${ENERGY_ICON_ASSET_PATH}/Solar.svg`,\n systemType: ENUM_TYPES.SOLAR_POWER,\n },\n [ENUM_TEMPLATES.POWER_CONDITIONING_UNIT]: {\n name: ENUM_TEMPLATES.POWER_CONDITIONING_UNIT,\n icon: `${ENERGY_ICON_ASSET_PATH}/Power conditioning unit (PCU).svg`,\n systemType: ENUM_TYPES.POWER_CONDITIONING_UNIT,\n },\n [ENUM_TEMPLATES.INVERTERS]: {\n name: ENUM_TEMPLATES.INVERTERS,\n icon: `${ENERGY_ICON_ASSET_PATH}/Inverter.svg`,\n systemType: ENUM_TYPES.INVERTERS,\n },\n [ENUM_TEMPLATES.BATTERIES]: {\n name: ENUM_TEMPLATES.BATTERIES,\n icon: `${ENERGY_ICON_ASSET_PATH}/Battery.svg`,\n systemType: ENUM_TYPES.BATTERIES,\n },\n\n [ENUM_TEMPLATES.ZONE]: {\n name: ENUM_TEMPLATES.ZONE,\n // icon: `${ENERGY_ICON_ASSET_PATH}/Battery.svg`,\n },\n [ENUM_TEMPLATES.ZONE_ENERGY_ITEM]: {\n name: ENUM_TEMPLATES.ZONE_ENERGY_ITEM,\n },\n\n // UNCATEGORIZED\n [ENUM_TEMPLATES.UNCATEGORIZED]: {\n name: ENUM_TEMPLATES.UNCATEGORIZED,\n icon: '',\n // `${ICON_ASSET_PATH}/rain.svg`,\n },\n\n // Plant Cell\n [ENUM_TEMPLATES.PLANT_CELL]: {\n name: ENUM_TEMPLATES.PLANT_CELL,\n icon: `${PLANT_CELL_PATH}/Cell.svg`,\n systemType: ENUM_TYPES.PLANT_CELL,\n },\n [ENUM_TEMPLATES.INPUT_PLANT_CELL]: {\n name: ENUM_TEMPLATES.INPUT_PLANT_CELL,\n icon: '',\n },\n [ENUM_TEMPLATES.OUTPUT_PLANT_CELL]: {\n name: ENUM_TEMPLATES.OUTPUT_PLANT_CELL,\n icon: '',\n },\n\n [ENUM_TEMPLATES.PLANT_CELL_INPUT_GROUP]: {\n name: ENUM_TEMPLATES.PLANT_CELL_INPUT_GROUP,\n icon: ``,\n },\n [ENUM_TEMPLATES.PLANT_CELL_OUTPUT_GROUP]: {\n name: ENUM_TEMPLATES.PLANT_CELL_OUTPUT_GROUP,\n icon: ``,\n },\n\n [ENUM_TEMPLATES.IMAGE_TEMPLATE]: {\n name: ENUM_TEMPLATES.IMAGE_TEMPLATE,\n icon: ``,\n },\n [ENUM_TEMPLATES.PARAM_TABLE]: {\n name: ENUM_TEMPLATES.PARAM_TABLE,\n icon: ``,\n },\n [ENUM_TEMPLATES.MASS_BALANCE]: {\n name: ENUM_TEMPLATES.MASS_BALANCE,\n icon: ``,\n },\n\n // STEAM\n [ENUM_TEMPLATES.STEAM_PIPELINE]: {\n name: ENUM_TEMPLATES.STEAM_PIPELINE,\n icon: `${STEAM_ICON_ASSET_PATH}/Pipeline.svg`,\n },\n [ENUM_TEMPLATES.VALUES]: {\n name: ENUM_TEMPLATES.VALUES,\n icon: `${STEAM_ICON_ASSET_PATH}/Steam_Valve.png`,\n },\n [ENUM_TEMPLATES.STEAM_TRAPS]: {\n name: ENUM_TEMPLATES.STEAM_TRAPS,\n icon: `${STEAM_ICON_ASSET_PATH}/Trap.png`,\n },\n [ENUM_TEMPLATES.PRESSURE_REGULATORS]: {\n name: ENUM_TEMPLATES.PRESSURE_REGULATORS,\n icon: `${STEAM_ICON_ASSET_PATH}/Pressure_Regulator.png`,\n },\n [ENUM_TEMPLATES.SAFETY_VALUES_AND_EQUIPMENT]: {\n name: ENUM_TEMPLATES.SAFETY_VALUES_AND_EQUIPMENT,\n icon: `${STEAM_ICON_ASSET_PATH}/safety valve.png`,\n },\n [ENUM_TEMPLATES.CONDENSATE_RETURN_SYSTEM]: {\n name: ENUM_TEMPLATES.CONDENSATE_RETURN_SYSTEM,\n icon: `${STEAM_ICON_ASSET_PATH}/Condensate Return System.png`,\n },\n [ENUM_TEMPLATES.DEAERATORS]: {\n name: ENUM_TEMPLATES.DEAERATORS,\n icon: `${STEAM_ICON_ASSET_PATH}/Deaerators.png`,\n },\n [ENUM_TEMPLATES.FEEDWATER_PUMPS]: {\n name: ENUM_TEMPLATES.FEEDWATER_PUMPS,\n icon: `${STEAM_ICON_ASSET_PATH}/Feed Water Pump.png`,\n },\n [ENUM_TEMPLATES.BLOWDOWN_TANKS]: {\n name: ENUM_TEMPLATES.BLOWDOWN_TANKS,\n icon: `${STEAM_ICON_ASSET_PATH}/Blowdown tank.png`,\n },\n [ENUM_TEMPLATES.EXPANSION_TANKS]: {\n name: ENUM_TEMPLATES.EXPANSION_TANKS,\n icon: `${STEAM_ICON_ASSET_PATH}/Expansion Tanks.png`,\n },\n [ENUM_TEMPLATES.HEAT_EXCHANGERS]: {\n name: ENUM_TEMPLATES.HEAT_EXCHANGERS,\n icon: `${STEAM_ICON_ASSET_PATH}/heat exchangers.png`,\n },\n [ENUM_TEMPLATES.TURBINES]: {\n name: ENUM_TEMPLATES.TURBINES,\n icon: `${STEAM_ICON_ASSET_PATH}/steam turbine.png`,\n },\n\n // Plant Basic\n [ENUM_TEMPLATES.GROUP_BASIC_COMPONENT]: {\n name: ENUM_TEMPLATES.GROUP_BASIC_COMPONENT,\n icon: ``,\n },\n };\n\n export const WITHDRAW_DISCHARGE_ICON: {\n [key in string]: any;\n } = {\n [ENUM_TYPES.FRESH_SURFACE_WATER]: {\n name: ENUM_TEMPLATES.FRESH_SURFACE_WATER,\n iconActive: `${ICON_ASSET_WITHDRAW_DISCHARGE_ICON}/Fresh surface water - Duo.svg`,\n iconDisabled: `${ICON_ASSET_WITHDRAW_DISCHARGE_ICON}/Fresh surface water.svg`,\n },\n [ENUM_TYPES.THIRD_PARTY_SOURCES]: {\n name: ENUM_TEMPLATES.THIRD_PARTY_SOURCES,\n iconActive: `${ICON_ASSET_WITHDRAW_DISCHARGE_ICON}/Third party sources - Duo.svg`,\n iconDisabled: `${ICON_ASSET_WITHDRAW_DISCHARGE_ICON}/Third party sources.svg`,\n isHasWaterCapcity: true,\n },\n [ENUM_TYPES.THIRD_PARTY_DESTINATIONS]: {\n name: ENUM_TEMPLATES.THIRD_PARTY_DESTINATIONS,\n iconActive: `${ICON_ASSET_WITHDRAW_DISCHARGE_ICON}/Third party sources - Duo.svg`,\n iconDisabled: `${ICON_ASSET_WITHDRAW_DISCHARGE_ICON}/Third party sources.svg`,\n isHasWaterCapcity: true,\n },\n [ENUM_TYPES.GROUND_WATER_NON_RENEWABLE]: {\n name: ENUM_TEMPLATES.GROUND_WATER_NON_RENEWABLE,\n iconActive: `${ICON_ASSET_WITHDRAW_DISCHARGE_ICON}/Groundwater - non-renewable - Duo.svg`,\n iconDisabled: `${ICON_ASSET_WITHDRAW_DISCHARGE_ICON}/Groundwater - non-renewable.svg`,\n },\n [ENUM_TYPES.PRODUCED_ENTRAINED]: {\n name: ENUM_TEMPLATES.PRODUCED_ENTRAINED,\n iconActive: `${ICON_ASSET_WITHDRAW_DISCHARGE_ICON}/Groundwater - renewable - Duo.svg`,\n iconDisabled: `${ICON_ASSET_WITHDRAW_DISCHARGE_ICON}/Groundwater - renewable.svg`,\n },\n [ENUM_TYPES.BRACKISH_SURFACE_WATER]: {\n name: ENUM_TEMPLATES.BRACKISH_SURFACE_WATER,\n iconiconActive: `${ICON_ASSET_WITHDRAW_DISCHARGE_ICON}/Brackish surface - Duo.svg`,\n iconDisabled: `${ICON_ASSET_WITHDRAW_DISCHARGE_ICON}/Brackish surface.svg`,\n },\n [ENUM_TYPES.GROUND_WATER_RENEWABLE]: {\n name: ENUM_TEMPLATES.GROUND_WATER_RENEWABLE,\n iconActive: `${ICON_ASSET_WITHDRAW_DISCHARGE_ICON}/Groundwater - renewable - Duo.svg`,\n iconDisabled: `${ICON_ASSET_WITHDRAW_DISCHARGE_ICON}/Groundwater - renewable.svg`,\n },\n };\n\n export const WITHDRAW_DISCHARGE_DIAGRAM_HOME = {\n withdrawSourcesChildren: [\n ENUM_TYPES.WATER_TREATMENT,\n ENUM_TYPES.DEMIN_WATER_TREATMENT,\n ENUM_TYPES.RO_WATER_TREATMENT,\n ],\n dischargeDestinationsChildren: [\n ENUM_TYPES.WASTEWATER_TREATMENT,\n ENUM_TYPES.DAF_WASTEWATER_TREATMENT,\n ENUM_TYPES.ETP_WASTEWATER_TREATMENT,\n ENUM_TYPES.MBR_WASTEWATER_TREATMENT,\n ENUM_TYPES.ZLD_WASTEWATER_TREATMENT,\n ],\n };\n\n export enum ACTION_RIGHT_MENU_GROUP {\n PLANT_TEMPLATES = 'Plant Templates',\n PLANT_CELLS = 'Plant Cell',\n DATA_BOX = 'Measurement',\n SYSTEM_TEMPLATES = 'System Templates',\n WATER_COMPONENT = 'Water Components',\n }\n\n export enum DATA_BOX_NAME_OF_COMPONENT {\n INFLOW = 'Inflow Of',\n OUTFLOW = 'Outflow From',\n }\n\n export enum ACTION_RIGHT_MENU {\n APPLY_TEMPLATE = 'ApplyTemplate',\n NEW_PLANT_CELL = 'NewPlantCell',\n NAME_PLANT_CELL = 'NamePlantCell',\n ADD_COMPONENT = 'AddComponent',\n }\n\n export const DATA_MENU = [\n {\n name: 'Plant Templates',\n componentType: ATO_ECOMPONENT_PLANT_TYPE.WATER,\n isFilterType: true,\n groupType: ACTION_RIGHT_MENU_GROUP.PLANT_TEMPLATES,\n children: [\n {\n name: 'Food and Beverages',\n children: [],\n actionType: ACTION_RIGHT_MENU.APPLY_TEMPLATE,\n isDrag: true,\n },\n {\n name: 'Power plant',\n children: [],\n actionType: ACTION_RIGHT_MENU.APPLY_TEMPLATE,\n isDrag: true,\n },\n ],\n },\n\n // {\n // name: 'Plant Cells',\n // groupType: ACTION_RIGHT_MENU_GROUP.PLANT_CELLS,\n // componentType: E_COMPONENT_PLANT_TYPE.WATER,\n // isFilterType: true,\n // children: [\n // {\n // name: 'Beer Production cell',\n // children: [],\n // actionType: ACTION_RIGHT_MENU.NAME_PLANT_CELL,\n // isDrag: true,\n // isViewMode: true,\n // systemType: ENUM_TYPES.PLANT_CELL,\n // type: ENUM_TYPES.PLANT_CELL,\n // inputType: TYPE_INPUT.TEXT,\n // fc: new FormControl('Beer Production cell', Validators.required),\n // fcBackup: new FormControl('Beer Production cell', Validators.required),\n // },\n // {\n // name: 'New Plant Cell',\n // children: [],\n // actionType: ACTION_RIGHT_MENU.NEW_PLANT_CELL,\n // isDrag: false,\n // },\n // ],\n // },\n ];\n\n export const WATER_USING_SYSTEM = [\n ENUM_TYPES.COOLING_TOWER,\n ENUM_TYPES.BOILER,\n ENUM_TYPES.OTHER,\n ENUM_TYPES.PROCESS,\n ENUM_TYPES.DOMESTIC_USE,\n ENUM_TYPES.LANDSCAPING_IRRIGATION,\n ];\n\n export const PARAM_TABLE_STYLE = {\n [ENUM_COLORS.CERULEAN]: {\n borderTable: ENUM_COLORS.CERULEAN,\n bgColor: ENUM_COLORS.CERULEAN_ALICE_BLUE,\n },\n [ENUM_COLORS.DANUBE]: {\n borderTable: ENUM_COLORS.DANUBE,\n bgColor: ENUM_COLORS.DANUBE_ALICE_BLUE,\n },\n [ENUM_COLORS.FOUNTAIN_BLUE]: {\n borderTable: ENUM_COLORS.FOUNTAIN_BLUE,\n bgColor: ENUM_COLORS.AZURE,\n },\n [ENUM_COLORS.GALLIANO]: {\n borderTable: ENUM_COLORS.GALLIANO,\n bgColor: ENUM_COLORS.OLD_LACE,\n },\n [ENUM_COLORS.WHITE]: {\n borderTable: ENUM_COLORS.WHITE,\n bgColor: ENUM_COLORS.WHITE,\n },\n };\n\n // System type include Water\n export const TYPE_COMPONENT_WATER: string[] = [\n ENUM_TYPES.STORAGE,\n\n ENUM_TYPES.WATER_TREATMENT,\n ENUM_TYPES.DEMIN_WATER_TREATMENT,\n ENUM_TYPES.RO_WATER_TREATMENT,\n\n ENUM_TYPES.PROCESS,\n\n ENUM_TYPES.WASTEWATER_TREATMENT,\n ENUM_TYPES.DAF_WASTEWATER_TREATMENT,\n ENUM_TYPES.ETP_WASTEWATER_TREATMENT,\n ENUM_TYPES.MBR_WASTEWATER_TREATMENT,\n ENUM_TYPES.ZLD_WASTEWATER_TREATMENT,\n\n ENUM_TYPES.DOMESTIC_USE,\n ENUM_TYPES.COOLING_TOWER,\n ENUM_TYPES.BOILER,\n ENUM_TYPES.OTHER,\n ENUM_TYPES.LANDSCAPING_IRRIGATION,\n AtoGojsEditorModel.WaterWithdrawSources,\n AtoGojsEditorModel.WaterDischargeDestinations,\n ];\n\n // Template type includes Water\n export const TYPE_TEMPLATE_WATER_NORMAL: string[] = [\n AtoGojsEditorModel.ENUM_TEMPLATES.PROCESS,\n AtoGojsEditorModel.ENUM_TEMPLATES.BOILER,\n AtoGojsEditorModel.ENUM_TEMPLATES.COOLING_TOWER,\n AtoGojsEditorModel.ENUM_TEMPLATES.ETP_WASTEWATER_TREATMENT,\n AtoGojsEditorModel.ENUM_TEMPLATES.ZLD_WASTEWATER_TREATMENT,\n AtoGojsEditorModel.ENUM_TEMPLATES.MBR_WASTEWATER_TREATMENT,\n AtoGojsEditorModel.ENUM_TEMPLATES.DAF_WASTEWATER_TREATMENT,\n AtoGojsEditorModel.ENUM_TEMPLATES.RO_WATER_TREATMENT,\n AtoGojsEditorModel.ENUM_TEMPLATES.DEMIN_WATER_TREATMENT,\n AtoGojsEditorModel.ENUM_TEMPLATES.STORAGE,\n AtoGojsEditorModel.ENUM_TEMPLATES.DOMESTIC_USE,\n AtoGojsEditorModel.ENUM_TEMPLATES.LANDSCAPING_IRRIGATION,\n AtoGojsEditorModel.ENUM_TEMPLATES.OTHER,\n ];\n // ['Process', 'Boiler', 'Cooling Tower', 'ETP Wastewater Treatment', 'ZLD Wastewater Treatment', 'MBR Wastewater Treatment', 'DAF Wastewater Treatment',\n // 'RO Water Treatment', 'Demin Water Treatment', 'Storage', 'Domestic Use', 'Landscaping/Irrigation', 'Other'];\n export const TYPE_TEMPLATE_WATER_WITHDRAW_OR_DISCHARGE: string[] = [\n AtoGojsEditorModel.ENUM_TEMPLATES.FRESH_SURFACE_WATER,\n AtoGojsEditorModel.ENUM_TEMPLATES.BRACKISH_SURFACE_WATER,\n AtoGojsEditorModel.ENUM_TEMPLATES.GROUND_WATER_RENEWABLE,\n AtoGojsEditorModel.ENUM_TEMPLATES.GROUND_WATER_NON_RENEWABLE,\n AtoGojsEditorModel.ENUM_TEMPLATES.PRODUCED_ENTRAINED,\n AtoGojsEditorModel.ENUM_TEMPLATES.THIRD_PARTY_SOURCES,\n AtoGojsEditorModel.ENUM_TEMPLATES.THIRD_PARTY_DESTINATIONS,\n ];\n // ['Fresh surface water', 'Brackish surface water/ seawater', 'Groundwater - Renewable', 'Groundwater - non-renewable', 'Produced / entrained water', 'Third party sources', 'Third party destinations'];\n export const TYPE_TEMPLATE_ELECTRICITY: string[] = [\n AtoGojsEditorModel.ENUM_TEMPLATES.GRID,\n AtoGojsEditorModel.ENUM_TEMPLATES.DIESEL_GENERATORS,\n AtoGojsEditorModel.ENUM_TEMPLATES.NATURAL_GAS_GENERATORS,\n AtoGojsEditorModel.ENUM_TEMPLATES.SOLAR_POWER,\n AtoGojsEditorModel.ENUM_TEMPLATES.TRANSFORMERS,\n AtoGojsEditorModel.ENUM_TEMPLATES.SWITCH_GEARS,\n AtoGojsEditorModel.ENUM_TEMPLATES.MOTOR_CONTROLS,\n AtoGojsEditorModel.ENUM_TEMPLATES.VARIABLE_FREQUENCY_DRIVERS,\n AtoGojsEditorModel.ENUM_TEMPLATES.POWER_DISTRIBUTION_SYSTEMS,\n AtoGojsEditorModel.ENUM_TEMPLATES.LIGHTINGS,\n AtoGojsEditorModel.ENUM_TEMPLATES.GROUNDING,\n AtoGojsEditorModel.ENUM_TEMPLATES.ELECTRIC_METERS,\n AtoGojsEditorModel.ENUM_TEMPLATES.ELECTRIC_INDUSTRIAL_MOTORS,\n AtoGojsEditorModel.ENUM_TEMPLATES.LIGHTING_SYSTEMS,\n AtoGojsEditorModel.ENUM_TEMPLATES.ELECTRIC_HVAC,\n AtoGojsEditorModel.ENUM_TEMPLATES.REFRIGERATION_COOLING_SYSTEMS,\n AtoGojsEditorModel.ENUM_TEMPLATES.PROCESS_CONTROL_AUTOMATION_SYSTEMS,\n AtoGojsEditorModel.ENUM_TEMPLATES.OFFICE_EQUIPMENT,\n AtoGojsEditorModel.ENUM_TEMPLATES.COMPRESSED_AIR_SYSTEMS,\n AtoGojsEditorModel.ENUM_TEMPLATES.PROCESS_EQUIPMENT_MACHINES,\n AtoGojsEditorModel.ENUM_TEMPLATES.MATERIAL_HANDLING_EQUIPMENT,\n AtoGojsEditorModel.ENUM_TEMPLATES.POWER_DISTRIBUTION_CONTROL_SYSTEMS,\n AtoGojsEditorModel.ENUM_TEMPLATES.BATTERY_ENERGY_STORAGE,\n AtoGojsEditorModel.ENUM_TEMPLATES.ELECTRIC_FLYWHEEL_ENERGY_STORAGE,\n AtoGojsEditorModel.ENUM_TEMPLATES.PUMPED_HYDRO_STORAGE,\n AtoGojsEditorModel.ENUM_TEMPLATES.THERMAL_ENERGY_STORAGE,\n AtoGojsEditorModel.ENUM_TEMPLATES.SUPER_CAPACITOR_ENERGY_STORAGE,\n ];\n // ['Grid', 'Diesel Generators', 'Natural gas generators', 'Solar Power', 'Transformers', 'Switchgears', 'MotorControls', 'VariableFrequencyDrives',\n // 'Power distribution systems', 'Lightings', 'Grounding', 'Electric Meters', 'Industrial motors',\n // 'Lighting systems', 'Heating, ventilation, and air conditioning (HVAC) systems', 'Refrigeration and cooling', 'Process control and automation', 'Office equipment', 'Compressed air',\n // 'Process equipment and machines', 'Material handling equipment', 'Power distribution and control', 'Battery energy storage', 'Flywheel energy storage',\n // 'Pumped hydro storage', 'Thermal energy storage', 'Supercapacitor energy storage'];\n export const TYPE_TEMPLATE_NATURAL_GAS: string[] = [\n AtoGojsEditorModel.ENUM_TEMPLATES.NATURAL_GAS_PIPELINES,\n AtoGojsEditorModel.ENUM_TEMPLATES.LIQUEFIED_NATURAL_GAS,\n AtoGojsEditorModel.ENUM_TEMPLATES.COMPRESSED_NATURAL_GAS_PIPELINE,\n AtoGojsEditorModel.ENUM_TEMPLATES.ON_SITE_PRODUCTION,\n AtoGojsEditorModel.ENUM_TEMPLATES.COMPRESSED_NATURAL_GAS_PRODUCTION,\n AtoGojsEditorModel.ENUM_TEMPLATES.BOILERS_AND_HEATERS,\n AtoGojsEditorModel.ENUM_TEMPLATES.FURNACES,\n AtoGojsEditorModel.ENUM_TEMPLATES.POWER_GENERATION,\n AtoGojsEditorModel.ENUM_TEMPLATES.COGENERATION,\n AtoGojsEditorModel.ENUM_TEMPLATES.COMBINED_CYCLE_POWER_PLANTS,\n AtoGojsEditorModel.ENUM_TEMPLATES.FUEL_FOR_VEHICLES_AND_EQUIPMENT,\n AtoGojsEditorModel.ENUM_TEMPLATES.GAS_METERS,\n AtoGojsEditorModel.ENUM_TEMPLATES.BURNERS,\n AtoGojsEditorModel.ENUM_TEMPLATES.FLUE_GAS_ANALYZERS,\n AtoGojsEditorModel.ENUM_TEMPLATES.COMBUSTION_CONTROL_SYSTEMS,\n AtoGojsEditorModel.ENUM_TEMPLATES.GAS_STORAGE_TANKS,\n AtoGojsEditorModel.ENUM_TEMPLATES.GAS_PRESSURE_REGULATORS,\n ];\n // ['Natural gas pipelines', 'Liquefied natural gas', 'Compressed natural gas pipeline', 'On-site production',\n // 'Compressed natural gas production', 'Boilers and heaters', 'Furnaces', 'Power generation', 'Cogeneration', 'Combined cycle power plants',\n // 'Fuel for vehicles and equipment', 'Gas meters', 'Burners', 'Flue gas analyzers', 'Combustion control systems', 'Gas storage tanks',\n // 'Gas pressure regulators'];\n export const TYPE_TEMPLATE_FUEL: string[] = [\n AtoGojsEditorModel.ENUM_TEMPLATES.DIESEL_FUELS,\n AtoGojsEditorModel.ENUM_TEMPLATES.GASON_LINES,\n AtoGojsEditorModel.ENUM_TEMPLATES.BIODIESELS,\n AtoGojsEditorModel.ENUM_TEMPLATES.KEROSENSE,\n AtoGojsEditorModel.ENUM_TEMPLATES.PROPANES,\n AtoGojsEditorModel.ENUM_TEMPLATES.TANKER_TRUCKS,\n AtoGojsEditorModel.ENUM_TEMPLATES.PIPELINE,\n AtoGojsEditorModel.ENUM_TEMPLATES.INDUSTRIAL_BOILERS,\n AtoGojsEditorModel.ENUM_TEMPLATES.GENERATORS,\n AtoGojsEditorModel.ENUM_TEMPLATES.INDUSTRIAL_FURNACES,\n AtoGojsEditorModel.ENUM_TEMPLATES.INDUSTRIAL_OVENS,\n AtoGojsEditorModel.ENUM_TEMPLATES.INDUSTRIAL_VEHICLES_AND_EQUIPMENT,\n AtoGojsEditorModel.ENUM_TEMPLATES.FUEL_METERS,\n AtoGojsEditorModel.ENUM_TEMPLATES.FUEL_DISPENSERS,\n AtoGojsEditorModel.ENUM_TEMPLATES.FUEL_STRORAGE_TANKS,\n AtoGojsEditorModel.ENUM_TEMPLATES.FUEL_FILTRATIONS,\n AtoGojsEditorModel.ENUM_TEMPLATES.FUEL_MANAGEMENTS,\n ];\n // ['DieselFuels', 'Gasonlines', 'Biodiesels', 'Kerosenes', 'Propanes', 'Tanker Trucks',\n // 'Pipeline', 'Industrial boilers', 'Generators', 'Industrial furnaces', 'Industrial ovens', 'Industrial vehicles and equipment',\n // 'FuelMeters', 'FuelDispensers', 'FuelStorageTanks', 'FuelFiltrations', 'FuelManagements'];\n export const TYPE_TEMPLATE_STEAM: string[] = [\n AtoGojsEditorModel.ENUM_TEMPLATES.STEAM_PIPELINE,\n AtoGojsEditorModel.ENUM_TEMPLATES.VALUES,\n AtoGojsEditorModel.ENUM_TEMPLATES.STEAM_TRAPS,\n AtoGojsEditorModel.ENUM_TEMPLATES.PRESSURE_REGULATORS,\n AtoGojsEditorModel.ENUM_TEMPLATES.SAFETY_VALUES_AND_EQUIPMENT,\n AtoGojsEditorModel.ENUM_TEMPLATES.CONDENSATE_RETURN_SYSTEM,\n AtoGojsEditorModel.ENUM_TEMPLATES.DEAERATORS,\n AtoGojsEditorModel.ENUM_TEMPLATES.FEEDWATER_PUMPS,\n AtoGojsEditorModel.ENUM_TEMPLATES.BLOWDOWN_TANKS,\n AtoGojsEditorModel.ENUM_TEMPLATES.EXPANSION_TANKS,\n AtoGojsEditorModel.ENUM_TEMPLATES.HEAT_EXCHANGERS,\n AtoGojsEditorModel.ENUM_TEMPLATES.TURBINES,\n ];\n // ['Valves', 'Steam Traps', 'Pressure Regulator', 'Safety Valves and Equipment', 'Condensate Return System', 'Deaerators',\n // 'Feedwater Pumps', 'Blowdown Tanks', 'Expansion Tanks', 'Heat Exchangers', 'Turbines'];\n export const TYPE_TEMPLATE_SPECIAL: string[] = [\n AtoGojsEditorModel.ENUM_TEMPLATES.SPECIAL_PROCESS,\n AtoGojsEditorModel.ENUM_TEMPLATES.SPECIAL_STORAGE,\n AtoGojsEditorModel.ENUM_TEMPLATES.SPECIAL_STORE,\n AtoGojsEditorModel.ENUM_TEMPLATES.SPECIAL_DISCHARGE,\n AtoGojsEditorModel.ENUM_TEMPLATES.SPECIAL_OTHER,\n ];\n\n export const TEMPLATE_DUPLICATE: any = {\n [AtoGojsEditorModel.ENUM_TEMPLATES.STEAM_PIPELINE]: AtoGojsEditorModel.ENUM_TEMPLATES.PIPELINE\n};\n}\n","// export const GO_LICENSE_KEY =\n// '73f946e5b26328a800ca0d2b113f69ed1bb37f3b9e8c1bf15e5041f0ea08681c3089ee7d02da8b9481fb1aa91a7ac089d5c46c7b9e4b013ce037d38f44e480fbe13f77b4435f559ea25676c599a87aa0ee6872f3c1b568a0c5788d';\n\nexport const GO_LICENSE_KEY =\n '298647e0b2604cc702d90676423d6bf919a175639c841ba4090310f6ee083806329fbb2801d38d90d4af4efe1c7f93d0d9c16f209248063db730d2db44e084aeb73320e5410b479cb40573939ffa78f1fd6a61f1c3b672bddf678ffb';\n","export enum ATO_ABBREVIATION {\n L = 'L',\n KL = 'KL',\n gal = 'gal',\n kGal='Kgal',\n m3 = 'm3',\n m3_Special = 'm³',\n Wh = 'Wh',\n kWh = 'kWh',\n cf = 'cf',\n th = 'th',\n BTU = 'BTU',\n BTU_UNIT = 'BTU/unit',\n MM_BTU = 'MMBTU',\n m3_unit = 'm3/unit',\n m3_unit_Special = 'm³/unit',\n J = 'J',\n Bbl = 'Bbl',\n mg = 'mg',\n // Currency\n ALL = 'ALL',\n AFN = 'AFN',\n ARS = 'ARS',\n AWG = 'AWG',\n AUD = 'AUD',\n AZN = 'AZN',\n BSD = 'BSD',\n BBD = 'BBD',\n BYN = 'BYN',\n BZD = 'BZD',\n BMD = 'BMD',\n BOB = 'BOB',\n BAM = 'BAM',\n BWP = 'BWP',\n BGN = 'BGN',\n BRL = 'BRL',\n BND = 'BND',\n KHR = 'KHR',\n CAD = 'CAD',\n KYD = 'KYD',\n CLP = 'CLP',\n CNY = 'CNY',\n COP = 'COP',\n CRC = 'CRC',\n HRK = 'HRK',\n CUP = 'CUP',\n CZK = 'CZK',\n DKK = 'DKK',\n DOP = 'DOP',\n XCD = 'XCD',\n EGP = 'EGP',\n SVC = 'SVC',\n EUR = 'EUR',\n FKP = 'FKP',\n FJD = 'FJD',\n GHS = 'GHS',\n GIP = 'GIP',\n GTQ = 'GTQ',\n GGP = 'GGP',\n GYD = 'GYD',\n HNL = 'HNL',\n HKD = 'HKD',\n HUF = 'HUF',\n ISK = 'ISK',\n INR = 'INR',\n IDR = 'IDR',\n IRR = 'IRR',\n IMP = 'IMP',\n ILS = 'ILS',\n JMD = 'JMD',\n JPY = 'JPY',\n JEP = 'JEP',\n KZT = 'KZT',\n KPW = 'KPW',\n KRW = 'KRW',\n KGS = 'KGS',\n LAK = 'LAK',\n LBP = 'LBP',\n LRD = 'LRD',\n MKD = 'MKD',\n MYR = 'MYR',\n MUR = 'MUR',\n MXN = 'MXN',\n MNT = 'MNT',\n MZN = 'MZN',\n NAD = 'NAD',\n NPR = 'NPR',\n ANG = 'ANG',\n NZD = 'NZD',\n NIO = 'NIO',\n NGN = 'NGN',\n NOK = 'NOK',\n OMR = 'OMR',\n PKR = 'PKR',\n PAB = 'PAB',\n PYG = 'PYG',\n PEN = 'PEN',\n PHP = 'PHP',\n PLN = 'PLN',\n QAR = 'QAR',\n RON = 'RON',\n RUB = 'RUB',\n SHP = 'SHP',\n SAR = 'SAR',\n RSD = 'RSD',\n SCR = 'SCR',\n SGD = 'SGD',\n SBD = 'SBD',\n SOS = 'SOS',\n ZAR = 'ZAR',\n LKR = 'LKR',\n SEK = 'SEK',\n CHF = 'CHF',\n SRD = 'SRD',\n SYP = 'SYP',\n TWD = 'TWD',\n THB = 'THB',\n TTD = 'TTD',\n TRY = 'TRY',\n TVD = 'TVD',\n UAH = 'UAH',\n AED = 'AED',\n GBP = 'GBP',\n USD = 'USD',\n UYU = 'UYU',\n UZS = 'UZS',\n VEF = 'VEF',\n VND = 'VND',\n YER = 'YER',\n ZWD = 'ZWD',\n\n\n // For Steam\n g = 'g',\n lbs = 'lbs',\n g_hr = 'g/hr',\n lbs_hr = 'lbs/hr',\n MPa = 'MPa',\n GPa = 'GPa',\n psi = 'psi',\n degC = 'degC',\n degF = 'degF',\n degC_unit_Special = '°C',\n degF_unit_Special = '°F',\n ton = 'ton',\n kg = 'kg',\n\n // Emission\n CO2 = 'CO2',\n CO2_Special = 'CO₂'\n}\n\nexport enum METRIC_PREFIXES {\n K = 'K',\n Mn = 'Mn',\n Bn = 'Bn',\n //\n M = 'M',\n MM = 'MM',\n B = 'B',\n //\n G = 'G', // 1000000000\n}\n\nexport enum ROUNDED_NUMBER {\n THOUSAND = 1000,\n MILLION = 1000000,\n BILLION = 1000000000,\n}\n\nconst PREFIXES_CURRENCY = {\n [ROUNDED_NUMBER.THOUSAND]: METRIC_PREFIXES.K,\n [ROUNDED_NUMBER.MILLION]: METRIC_PREFIXES.Mn,\n [ROUNDED_NUMBER.BILLION]: METRIC_PREFIXES.Bn,\n};\n\nexport const APPLICABLE_PREFIXES: {\n [key in ATO_ABBREVIATION]: any;\n} = {\n [ATO_ABBREVIATION.KL]: {\n [ROUNDED_NUMBER.THOUSAND]: METRIC_PREFIXES.K,\n [ROUNDED_NUMBER.MILLION]: METRIC_PREFIXES.Mn,\n [ROUNDED_NUMBER.BILLION]: METRIC_PREFIXES.Bn,\n },\n [ATO_ABBREVIATION.L]: {\n [ROUNDED_NUMBER.THOUSAND]: METRIC_PREFIXES.K,\n [ROUNDED_NUMBER.MILLION]: METRIC_PREFIXES.Mn,\n [ROUNDED_NUMBER.BILLION]: METRIC_PREFIXES.Bn,\n },\n [ATO_ABBREVIATION.gal]: {\n [ROUNDED_NUMBER.THOUSAND]: METRIC_PREFIXES.K,\n [ROUNDED_NUMBER.MILLION]: METRIC_PREFIXES.Mn,\n [ROUNDED_NUMBER.BILLION]: METRIC_PREFIXES.Bn,\n },\n [ATO_ABBREVIATION.kGal]: {\n [ROUNDED_NUMBER.THOUSAND]: METRIC_PREFIXES.K,\n [ROUNDED_NUMBER.MILLION]: METRIC_PREFIXES.Mn,\n [ROUNDED_NUMBER.BILLION]: METRIC_PREFIXES.Bn,\n },\n [ATO_ABBREVIATION.m3]: {\n [ROUNDED_NUMBER.THOUSAND]: METRIC_PREFIXES.K,\n [ROUNDED_NUMBER.MILLION]: METRIC_PREFIXES.MM,\n [ROUNDED_NUMBER.BILLION]: METRIC_PREFIXES.B,\n },\n [ATO_ABBREVIATION.m3_Special]: {\n [ROUNDED_NUMBER.THOUSAND]: METRIC_PREFIXES.M,\n [ROUNDED_NUMBER.MILLION]: METRIC_PREFIXES.MM,\n [ROUNDED_NUMBER.BILLION]: METRIC_PREFIXES.B,\n },\n\n [ATO_ABBREVIATION.m3_unit]: {\n [ROUNDED_NUMBER.THOUSAND]: METRIC_PREFIXES.M,\n [ROUNDED_NUMBER.MILLION]: METRIC_PREFIXES.MM,\n [ROUNDED_NUMBER.BILLION]: METRIC_PREFIXES.B,\n },\n [ATO_ABBREVIATION.m3_unit_Special]: {\n [ROUNDED_NUMBER.THOUSAND]: METRIC_PREFIXES.M,\n [ROUNDED_NUMBER.MILLION]: METRIC_PREFIXES.MM,\n [ROUNDED_NUMBER.BILLION]: METRIC_PREFIXES.B,\n },\n\n [ATO_ABBREVIATION.Wh]: {\n [ROUNDED_NUMBER.THOUSAND]: METRIC_PREFIXES.K,\n [ROUNDED_NUMBER.MILLION]: METRIC_PREFIXES.M,\n [ROUNDED_NUMBER.BILLION]: METRIC_PREFIXES.G,\n },\n [ATO_ABBREVIATION.kWh]: {\n [ROUNDED_NUMBER.THOUSAND]: METRIC_PREFIXES.K,\n [ROUNDED_NUMBER.MILLION]: METRIC_PREFIXES.M,\n [ROUNDED_NUMBER.BILLION]: METRIC_PREFIXES.G,\n },\n [ATO_ABBREVIATION.cf]: {\n [ROUNDED_NUMBER.THOUSAND]: METRIC_PREFIXES.K,\n [ROUNDED_NUMBER.MILLION]: METRIC_PREFIXES.MM,\n [ROUNDED_NUMBER.BILLION]: METRIC_PREFIXES.B,\n },\n [ATO_ABBREVIATION.th]: {\n [ROUNDED_NUMBER.THOUSAND]: METRIC_PREFIXES.K,\n [ROUNDED_NUMBER.MILLION]: METRIC_PREFIXES.Mn,\n [ROUNDED_NUMBER.BILLION]: METRIC_PREFIXES.Bn,\n },\n\n [ATO_ABBREVIATION.BTU]: {\n [ROUNDED_NUMBER.THOUSAND]: METRIC_PREFIXES.K,\n [ROUNDED_NUMBER.MILLION]: METRIC_PREFIXES.MM,\n [ROUNDED_NUMBER.BILLION]: METRIC_PREFIXES.B,\n },\n [ATO_ABBREVIATION.BTU_UNIT]: {\n [ROUNDED_NUMBER.THOUSAND]: METRIC_PREFIXES.K,\n [ROUNDED_NUMBER.MILLION]: METRIC_PREFIXES.MM,\n [ROUNDED_NUMBER.BILLION]: METRIC_PREFIXES.B,\n },\n [ATO_ABBREVIATION.MM_BTU]: {},\n [ATO_ABBREVIATION.J]: {\n [ROUNDED_NUMBER.THOUSAND]: METRIC_PREFIXES.K,\n [ROUNDED_NUMBER.MILLION]: METRIC_PREFIXES.M,\n [ROUNDED_NUMBER.BILLION]: METRIC_PREFIXES.G,\n },\n [ATO_ABBREVIATION.Bbl]: {\n [ROUNDED_NUMBER.THOUSAND]: METRIC_PREFIXES.K,\n [ROUNDED_NUMBER.MILLION]: METRIC_PREFIXES.Mn,\n [ROUNDED_NUMBER.BILLION]: METRIC_PREFIXES.Bn,\n },\n [ATO_ABBREVIATION.mg]: {\n [ROUNDED_NUMBER.THOUSAND]: METRIC_PREFIXES.K,\n [ROUNDED_NUMBER.MILLION]: METRIC_PREFIXES.M,\n [ROUNDED_NUMBER.BILLION]: METRIC_PREFIXES.B,\n },\n\n // For Steam\n [ATO_ABBREVIATION.g]: {\n [ROUNDED_NUMBER.THOUSAND]: METRIC_PREFIXES.K,\n [ROUNDED_NUMBER.MILLION]: METRIC_PREFIXES.Mn,\n [ROUNDED_NUMBER.BILLION]: METRIC_PREFIXES.Bn,\n },\n [ATO_ABBREVIATION.lbs]: {\n [ROUNDED_NUMBER.THOUSAND]: METRIC_PREFIXES.K,\n [ROUNDED_NUMBER.MILLION]: METRIC_PREFIXES.Mn,\n [ROUNDED_NUMBER.BILLION]: METRIC_PREFIXES.Bn,\n },\n [ATO_ABBREVIATION.g_hr]: {\n [ROUNDED_NUMBER.THOUSAND]: METRIC_PREFIXES.K,\n [ROUNDED_NUMBER.MILLION]: METRIC_PREFIXES.Mn,\n [ROUNDED_NUMBER.BILLION]: METRIC_PREFIXES.Bn,\n },\n [ATO_ABBREVIATION.lbs_hr]: {\n [ROUNDED_NUMBER.THOUSAND]: METRIC_PREFIXES.K,\n [ROUNDED_NUMBER.MILLION]: METRIC_PREFIXES.Mn,\n [ROUNDED_NUMBER.BILLION]: METRIC_PREFIXES.Bn,\n },\n [ATO_ABBREVIATION.MPa]: {\n [ROUNDED_NUMBER.THOUSAND]: METRIC_PREFIXES.K,\n [ROUNDED_NUMBER.MILLION]: METRIC_PREFIXES.Mn,\n [ROUNDED_NUMBER.BILLION]: METRIC_PREFIXES.Bn,\n },\n [ATO_ABBREVIATION.GPa]: {\n [ROUNDED_NUMBER.THOUSAND]: METRIC_PREFIXES.K,\n [ROUNDED_NUMBER.MILLION]: METRIC_PREFIXES.Mn,\n [ROUNDED_NUMBER.BILLION]: METRIC_PREFIXES.Bn,\n },\n [ATO_ABBREVIATION.psi]: {\n [ROUNDED_NUMBER.THOUSAND]: METRIC_PREFIXES.K,\n [ROUNDED_NUMBER.MILLION]: METRIC_PREFIXES.M,\n [ROUNDED_NUMBER.BILLION]: METRIC_PREFIXES.G,\n },\n [ATO_ABBREVIATION.degC]: {\n [ROUNDED_NUMBER.THOUSAND]: METRIC_PREFIXES.K,\n [ROUNDED_NUMBER.MILLION]: METRIC_PREFIXES.Mn,\n [ROUNDED_NUMBER.BILLION]: METRIC_PREFIXES.Bn,\n },\n [ATO_ABBREVIATION.degF]: {\n [ROUNDED_NUMBER.THOUSAND]: METRIC_PREFIXES.K,\n [ROUNDED_NUMBER.MILLION]: METRIC_PREFIXES.Mn,\n [ROUNDED_NUMBER.BILLION]: METRIC_PREFIXES.Bn,\n },\n [ATO_ABBREVIATION.degC_unit_Special]: {\n [ROUNDED_NUMBER.THOUSAND]: METRIC_PREFIXES.K,\n [ROUNDED_NUMBER.MILLION]: METRIC_PREFIXES.Mn,\n [ROUNDED_NUMBER.BILLION]: METRIC_PREFIXES.Bn,\n },\n [ATO_ABBREVIATION.degF_unit_Special]: {\n [ROUNDED_NUMBER.THOUSAND]: METRIC_PREFIXES.K,\n [ROUNDED_NUMBER.MILLION]: METRIC_PREFIXES.Mn,\n [ROUNDED_NUMBER.BILLION]: METRIC_PREFIXES.Bn,\n },\n [ATO_ABBREVIATION.kg]: {\n [ROUNDED_NUMBER.THOUSAND]: METRIC_PREFIXES.K,\n [ROUNDED_NUMBER.MILLION]: METRIC_PREFIXES.Mn,\n [ROUNDED_NUMBER.BILLION]: METRIC_PREFIXES.Bn,\n },\n [ATO_ABBREVIATION.ton]: {\n [ROUNDED_NUMBER.THOUSAND]: METRIC_PREFIXES.K,\n [ROUNDED_NUMBER.MILLION]: METRIC_PREFIXES.Mn,\n [ROUNDED_NUMBER.BILLION]: METRIC_PREFIXES.Bn,\n },\n\n // Currency\n [ATO_ABBREVIATION.ALL]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.AFN]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.ARS]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.AWG]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.AUD]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.AZN]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.BSD]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.BBD]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.BYN]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.BZD]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.BMD]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.BOB]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.BAM]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.BWP]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.BGN]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.BRL]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.BND]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.KHR]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.CAD]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.KYD]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.CLP]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.CNY]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.COP]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.CRC]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.HRK]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.CUP]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.CZK]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.DKK]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.DOP]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.XCD]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.EGP]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.SVC]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.EUR]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.FKP]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.FJD]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.GHS]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.GIP]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.GTQ]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.GGP]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.GYD]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.HNL]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.HKD]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.HUF]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.ISK]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.INR]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.IDR]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.IRR]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.IMP]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.ILS]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.JMD]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.JPY]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.JEP]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.KZT]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.KPW]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.KRW]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.KGS]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.LAK]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.LBP]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.LRD]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.MKD]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.MYR]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.MUR]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.MXN]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.MNT]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.MZN]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.NAD]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.NPR]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.ANG]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.NZD]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.NIO]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.NGN]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.NOK]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.OMR]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.PKR]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.PAB]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.PYG]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.PEN]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.PHP]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.PLN]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.QAR]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.RON]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.RUB]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.SHP]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.SAR]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.RSD]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.SCR]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.SGD]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.SBD]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.SOS]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.ZAR]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.LKR]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.SEK]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.CHF]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.SRD]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.SYP]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.TWD]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.THB]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.TTD]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.TRY]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.TVD]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.UAH]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.AED]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.GBP]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.USD]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.UYU]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.UZS]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.VEF]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.VND]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.YER]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.ZWD]: PREFIXES_CURRENCY,\n\n // Emission\n [ATO_ABBREVIATION.CO2]: null,\n [ATO_ABBREVIATION.CO2_Special]: null,\n};\n","import { DecimalPipe } from '@angular/common';\nimport { Injectable } from '@angular/core';\nimport { ATO_ABBREVIATION, APPLICABLE_PREFIXES, ROUNDED_NUMBER, } from '../../constants/applicable-prefixes-const';\nimport { v4 as uuidV4 } from 'uuid';\nimport _ from 'lodash';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class UtilsService {\n static convertPrefixesData(data: { value: number | string | any; unit: string | any; isChangeUnitKwh?: boolean }): {\n shortenedNumber: number | string | null;\n unitPrefixes: number | null | string;\n } {\n if (!data?.unit || (!+data?.value && data?.value !== '0')) {\n return {\n shortenedNumber: data?.value ?? '0',\n unitPrefixes: '',\n };\n }\n\n const [unitToConvert, suffixUnit] = data?.unit?.split('/');\n\n if (unitToConvert === ATO_ABBREVIATION.kWh) {\n return this.getDataFormatSpecialKwh(data?.value, data?.isChangeUnitKwh);\n }\n\n return this.getDataFormatUnit(data?.value, unitToConvert);\n }\n\n static getDataFormatSpecialKwh(value: any, isChangeUnitKwh: any) {\n const _DecimalPipe = new DecimalPipe('en');\n\n if (!!isChangeUnitKwh) {\n // 1.000.000 KWh => 1 GWh\n if (Math.abs(value) >= ROUNDED_NUMBER.MILLION) {\n return {\n shortenedNumber: _DecimalPipe.transform(+(value / ROUNDED_NUMBER.MILLION) ?? 0, '1.0-2'),\n unitPrefixes: APPLICABLE_PREFIXES?.[ATO_ABBREVIATION.kWh]?.[ROUNDED_NUMBER.BILLION],\n };\n }\n // 1000 KWh => 1 MWh\n if (Math.abs(value) >= ROUNDED_NUMBER.THOUSAND) {\n return {\n shortenedNumber: _DecimalPipe.transform(+(value / ROUNDED_NUMBER.THOUSAND) ?? 0, '1.0-2'),\n unitPrefixes: APPLICABLE_PREFIXES?.[ATO_ABBREVIATION.kWh]?.[ROUNDED_NUMBER.MILLION],\n };\n }\n }\n if (Math.abs(value) >= ROUNDED_NUMBER.BILLION) {\n return {\n shortenedNumber: _DecimalPipe.transform(+(value / ROUNDED_NUMBER.MILLION) ?? 0, '1.0-2'),\n unitPrefixes: APPLICABLE_PREFIXES?.[ATO_ABBREVIATION.kWh]?.[ROUNDED_NUMBER.BILLION],\n };\n }\n if (Math.abs(value) >= ROUNDED_NUMBER.MILLION) {\n return {\n shortenedNumber: _DecimalPipe.transform(+(value / ROUNDED_NUMBER.MILLION) ?? 0, '1.0-2'),\n unitPrefixes: APPLICABLE_PREFIXES?.[ATO_ABBREVIATION.kWh]?.[ROUNDED_NUMBER.MILLION],\n };\n }\n if (Math.abs(value) >= ROUNDED_NUMBER.THOUSAND) {\n return {\n shortenedNumber: _DecimalPipe.transform(+(value / ROUNDED_NUMBER.THOUSAND) ?? 0, '1.0-2'),\n unitPrefixes: APPLICABLE_PREFIXES?.[ATO_ABBREVIATION.kWh]?.[ROUNDED_NUMBER.THOUSAND],\n };\n }\n\n return {\n shortenedNumber: _DecimalPipe.transform(+value ?? 0, '1.0-2') ?? '0',\n unitPrefixes: '',\n };\n }\n\n static getDataFormatUnit(value: any, unit: string) {\n const _DecimalPipe = new DecimalPipe('en');\n\n if (Math.abs(value) >= ROUNDED_NUMBER.BILLION) {\n return {\n shortenedNumber: _DecimalPipe.transform(+(value / ROUNDED_NUMBER.BILLION) ?? 0, '1.0-2'),\n unitPrefixes: (APPLICABLE_PREFIXES as any)?.[unit]?.[ROUNDED_NUMBER.BILLION],\n };\n }\n if (Math.abs(value) >= ROUNDED_NUMBER.MILLION) {\n return {\n shortenedNumber: _DecimalPipe.transform(+(value / ROUNDED_NUMBER.MILLION) ?? 0, '1.0-2'),\n unitPrefixes: (APPLICABLE_PREFIXES as any)?.[unit]?.[ROUNDED_NUMBER.MILLION],\n };\n }\n if (Math.abs(value) >= ROUNDED_NUMBER.THOUSAND) {\n return {\n shortenedNumber: _DecimalPipe.transform(+(value / ROUNDED_NUMBER.THOUSAND) ?? 0, '1.0-2'),\n unitPrefixes: (APPLICABLE_PREFIXES as any)?.[unit]?.[ROUNDED_NUMBER.THOUSAND],\n };\n }\n return {\n shortenedNumber: _DecimalPipe.transform(+value ?? 0, '1.0-2') ?? '0',\n unitPrefixes: '',\n };\n }\n\n static convertSpecialUnit(unit: string, unitPrefixes?: any) {\n switch (unit) {\n case ATO_ABBREVIATION.kWh: {\n return unitPrefixes ? ATO_ABBREVIATION.Wh : ATO_ABBREVIATION.kWh;\n }\n case ATO_ABBREVIATION.m3: {\n return ATO_ABBREVIATION.m3_Special;\n }\n case ATO_ABBREVIATION.m3_unit: {\n return ATO_ABBREVIATION.m3_unit_Special;\n }\n case ATO_ABBREVIATION.degC: {\n return ATO_ABBREVIATION.degC_unit_Special;\n }\n case ATO_ABBREVIATION.degF: {\n return ATO_ABBREVIATION.degF_unit_Special;\n }\n default: {\n unit = UtilsService.replaceAll(unit ?? '', ATO_ABBREVIATION.m3, ATO_ABBREVIATION.m3_Special);\n return UtilsService.replaceAll(unit ?? '', ATO_ABBREVIATION.CO2, ATO_ABBREVIATION.CO2_Special);\n }\n }\n }\n\n static generateUUID() {\n const id = UtilsService.replaceAll(uuidV4(), '-', '').toUpperCase();\n const randomPosition = _.random(0, 32);\n const randomNumber = _.random(0, 9).toString();\n const leftChar = id.slice(0, randomPosition);\n const rightChar = id.slice(randomPosition);\n return `${leftChar}${randomNumber}${rightChar}`;\n }\n\n static replaceAll(text: any, find: any, replace: any): string {\n function escapeRegExp(str: any) {\n return str.replace(/([.*+?^=!:${}()|\\[\\]\\/\\\\])/g, '\\\\$1');\n }\n return text.replace(new RegExp(escapeRegExp(find), 'g'), replace);\n }\n}\n","\nexport enum ATO_EPlantType {\n ENTERPRISE = 'Enterprise',\n DIVISION = 'Division',\n PROXY_PLANT = 'proxy',\n BASIC_PLANT = 'basic',\n PLANT = 'plant',\n}\n\n// const PLANT_TYPE_ACTIVE = {\n// key: E_PlantType.PLANT,\n// iconClassName: 'fa-light fa-industry-windows font-size-18px',\n// keyMapingMenu: 'plants',\n// status: PlantComponentModel.PLANT_STATUS.active,\n// description: 'Complete plant setup. Full HWF functionality available.',\n// hexColor: '#199c69',\n// classColor: 'color-elf-green',\n// };\n\n// export const PLANT_TYPE = {\n// [E_PlantType.ENTERPRISE]: {\n// iconClassName: 'fa-light fa-building-user',\n// keyMapingMenu: 'Enterprise',\n// status: '',\n// },\n// [E_PlantType.DIVISION]: {\n// iconClassName: 'fa-light fa-puzzle',\n// keyMapingMenu: 'divisions',\n// status: '',\n// },\n// [E_PlantType.PROXY_PLANT]: {\n// key: E_PlantType.PROXY_PLANT,\n// iconClassName: 'fa-light fa-calendar-users font-size-18px',\n// keyMapingMenu: 'plants',\n// status: PlantComponentModel.PLANT_STATUS.proxy,\n// description: 'No plant dashboard. Fully enterprise managed plant.',\n// hexColor: '#00aec7',\n// classColor: 'color-iris-blue',\n// },\n// [E_PlantType.BASIC_PLANT]: {\n// key: E_PlantType.BASIC_PLANT,\n// iconClassName: 'basic-plant-icon h-23px',\n// keyMapingMenu: 'plants',\n// status: PlantComponentModel.PLANT_STATUS.basic,\n// description: 'Plant dashboard. No topology needed. Limited functionality.',\n// hexColor: '#E09F25',\n// classColor: 'color-galliano-2',\n// },\n// // Same active\n// [E_PlantType.PLANT]: PLANT_TYPE_ACTIVE,\n// [PlantComponentModel.PLANT_STATUS.active]: PLANT_TYPE_ACTIVE,\n// };\n","export const ICONS_BASE64 = {\n \"uf044\": \"data:image/png;base64,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\"\n}","import { Directive, ElementRef, EventEmitter, Input, OnDestroy, Output, ViewChild } from '@angular/core';\nimport { AtoGojsEditorModel } from './gojs-editor.model';\nimport * as go from 'gojs';\nimport _ from 'lodash';\nimport moment from 'moment';\nimport { GO_LICENSE_KEY } from '../constants/key.const';\nimport { Subject } from 'rxjs';\nimport { UtilsService } from '../services/utils/utils.service';\nimport { ATO_ENUM_FLOW_DIRECTION, ATO_ECOMPONENT_PLANT_TYPE,\n NO_DATA,\n TEXT_UNKNOWN,\n VALUE_NA, } from '../constants/value.const';\nimport { ATO_EPlantType } from '../constants/plant.constant';\n\nconst ICON_ALERT = '/assets/images/icons/Station.svg';\nconst ARROW = '/assets/images/icons/arrow.svg';\nconst ARROW_GRAY = '/assets/images/icons/arrow-gray.svg';\nconst RO_LINE_DIRTY = '/assets/images/icons/ro_line_dirty.svg';\nconst OUTFLOW_LINE_DIRTY = '/assets/images/icons/outflow_line_dirty.png';\nimport { Subscription } from 'rxjs';\nimport { ICONS_BASE64 } from '../constants/icon-base64.const';\n\n@Directive()\nexport class AtoDefaultGojsEditor implements OnDestroy {\n @ViewChild('menuTrigger') menuTrigger: any;\n @Input() linkValidation: (\n fromNode: go.Node,\n fromPort: go.GraphObject,\n toNode: go.Node,\n toPort: go.GraphObject,\n link: go.Link,\n ) => boolean;\n\n actions: any[] = [];\n actionMenuId: string = 'actionMenuId';\n\n myDiagramDiv: any = this.constructor.name + '-' + moment().valueOf();\n myDiagram: any;\n $ = go.GraphObject.make;\n animationInterval: any;\n defaultScaleZoomToFit?: number;\n\n private _initialOptions: any = {\n 'toolManager.hoverDelay': 200,\n // 'draggingTool.isEnabled': false,\n // initialAutoScale: go.Diagram.UniformToFill,\n // autoScrollRegion: AtoGojsEditorModel.GRID_SIZE * 5,\n layout: this.$(go.LayeredDigraphLayout, { direction: 0 }),\n initialContentAlignment: go.Spot.Center,\n initialAutoScale: go.Diagram.Uniform,\n // contentAlignment: go.Spot.Center,\n // this.$(go.ForceDirectedLayout),\n 'undoManager.isEnabled': true, // enable undo & redo\n // \"animationManager.isInitial\": false,\n // \"animationManager.isEnabled\": false,\n // \"draggingTool.isGridSnapEnabled\": true\n dragSelectingTool: this.$(\n go.DragSelectingTool,\n { isPartialInclusion: true, delay: 50 },\n {\n box: this.$(\n go.Part, // replace the magenta box with a red one\n { layerName: 'Tool', selectable: false },\n this.$(go.Shape, {\n name: 'SHAPE',\n fill: 'rgba(255,0,0,0)',\n stroke: '#E95F47',\n strokeWidth: 2,\n }),\n ),\n },\n ),\n 'linkingTool.linkValidation': this.checkLinkCondition.bind(this),\n 'draggingTool.doMouseMove': function () {\n // do the standard behavior by calling the super method\n go.DraggingTool.prototype.doMouseMove.call(this);\n // if dragging-out from the diagram is not allowed, and\n // if mouse is outside of viewport\n if (\n !this.diagram.allowDragOut &&\n !this.diagram.viewportBounds.containsPoint(this.diagram.lastInput.documentPoint)\n ) {\n this.diagram.ensureBounds();\n const vp = this.diagram.lastInput.viewPoint;\n const dp = this.diagram.position.copy();\n if (vp.x < 0) dp.x -= 10;\n else if (vp.x > 0) dp.x += 10;\n if (vp.y < 0) dp.y -= 10;\n else if (vp.y > 0) dp.y += 10;\n this.diagram.position = dp; // scroll in the direction of the mouse\n }\n },\n // LayoutCompleted: () => {\n // this.myDiagram.zoomToFit();\n // this.defaultScaleZoomToFit = this.myDiagram.scale;\n // if (!this.initialOptions.isReadOnly) {\n // const sizeMargin = AtoGojsEditorModel.GRID_SIZE * 15;\n // this.myDiagram.padding = new go.Margin(sizeMargin);\n // }\n // },\n };\n\n checkLinkCondition(\n fromNode: go.Node,\n fromPort: go.GraphObject,\n toNode: go.Node,\n toPort: go.GraphObject,\n link: go.Link,\n ): boolean {\n if (this.linkValidation) {\n return this.linkValidation(fromNode, fromPort, toNode, toPort, link);\n }\n return true; // Mặc định cho trường hợp không có hàm linkValidation được truyền vào\n }\n\n @Input() set initialOptions(v: any) {\n this._initialOptions = _.merge(this._initialOptions, v);\n // _.extend(v, this._initialOptions);\n }\n\n get initialOptions() {\n return this._initialOptions;\n }\n\n private _editor: AtoGojsEditorModel;\n @Input() set editor(v: AtoGojsEditorModel) {\n this._editor = v;\n if (v) {\n setTimeout(() => {\n this.initDiagram();\n }, 100);\n }\n }\n\n get editor(): AtoGojsEditorModel {\n return this._editor;\n }\n\n @Input() isShowNodeInfo: boolean = false;\n @Input() plantSatus: string;\n\n constructor(\n private _elRef: ElementRef,\n ) {\n go.Diagram.licenseKey = GO_LICENSE_KEY;\n }\n\n @Output() onModelChangeListenerEvent: EventEmitter<any> = new EventEmitter<any>();\n @Output() onClickInfoButton: EventEmitter<any> = new EventEmitter<any>();\n @Output() onOpenWizard: EventEmitter<any> = new EventEmitter<any>();\n @Output() onOpenDetail: EventEmitter<any> = new EventEmitter<any>();\n @Output() onOpenAssetParameter: EventEmitter<any> = new EventEmitter<any>();\n @Output() onOpenInsightMapping: EventEmitter<any> = new EventEmitter<any>();\n @Output() onHoverInfoButton: EventEmitter<any> = new EventEmitter<any>();\n @Output() onHoverAlert: EventEmitter<any> = new EventEmitter<any>();\n @Output() onDoubleClickNode: EventEmitter<any> = new EventEmitter<any>();\n @Output() onOpenChangeIcon: EventEmitter<any> = new EventEmitter<any>();\n // Click component\n @Output() onClickCompoent: EventEmitter<any> = new EventEmitter<any>();\n @Output() callbackImageTopology: EventEmitter<any> = new EventEmitter<any>();\n\n // Click param on ParamTable\n @Output() onClikParamOfTable: EventEmitter<any> = new EventEmitter<any>();\n\n // Delete Node\n @Output() onDeleteNode: EventEmitter<any> = new EventEmitter<any>();\n @Output() onUndo: EventEmitter<any> = new EventEmitter<any>();\n // Rename\n @Output() onRename: EventEmitter<any> = new EventEmitter<any>();\n\n isAddedModelChangedListeners: boolean;\n committedTransactionSubject = new Subject<any>();\n\n // AddSub and UnSub\n _subscriptionList: Subscription = new Subscription();\n\n ngOnDestroy() {\n this.unsubscribeAll();\n this.stopAnimation();\n // this.myDiagram?.clear();\n if (!!this.myDiagram?.div) {\n this.myDiagram.div = null;\n }\n if (this.myDiagram) {\n this.myDiagram.clear();\n }\n if (this.myDiagram != null && this.myDiagram.nodeTemplateMap != null) {\n this.myDiagram.nodeTemplateMap.clear();\n }\n\n if (this.myDiagram != null && this.myDiagram.groupTemplateMap != null) {\n this.myDiagram.groupTemplateMap.clear();\n }\n if (this.myDiagram != null && this.myDiagram.linkTemplate != null) {\n for (var key in this.myDiagram.linkTemplateMap.toArray()) {\n this.myDiagram.linkTemplateMap.remove(key);\n }\n }\n this.myDiagram = null;\n }\n\n addOrRemoveCompoentTemplate() {\n // Add Node and Node Group\n _.forEach(this.editor.data?.nodeDataArray, (node) => {\n this.addTemplate(node);\n });\n // Remove Node and Node Group\n _.forEach(this.myDiagram.nodeTemplateMap?.Hb, (temp) => {\n if (temp?.key && !this.editor.data?.nodeDataArray?.some((node) => node?.type === temp?.key)) {\n this.myDiagram.nodeTemplateMap.remove(temp?.key);\n }\n });\n _.forEach(this.myDiagram.groupTemplateMap?.Hb, (temp) => {\n if (temp?.key && !this.editor.data?.nodeDataArray?.some((node) => node?.type === temp?.key)) {\n this.myDiagram.groupTemplateMap.remove(temp?.key);\n }\n });\n }\n\n addTemplate(node) {\n this.addNodeTemplate(node);\n this.addGroupTemplate(node);\n }\n\n addGroupTemplate(node) {\n if (this.myDiagram.groupTemplateMap?.Hb?.[node?.type] || !node?.isGroup) {\n return;\n }\n // Group\n if (node?.type === AtoGojsEditorModel.ENUM_TEMPLATES.RO_WATER_TREATMENT) {\n this.makeGroupROPlantTemplate(\n AtoGojsEditorModel.NODE_TEMPLATES[node?.type].icon,\n AtoGojsEditorModel.NODE_TEMPLATES[node?.type].name,\n );\n return;\n }\n\n if (node?.type === AtoGojsEditorModel.ENUM_TEMPLATES.BOILER) {\n this.makeGroupBoilerTemplate(\n AtoGojsEditorModel.NODE_TEMPLATES[node?.type].icon,\n AtoGojsEditorModel.NODE_TEMPLATES[node?.type].name,\n );\n return;\n }\n\n if (node?.type === AtoGojsEditorModel.ENUM_TEMPLATES.COOLING_TOWER) {\n this.makeGroupCoolingTowerTemplate(\n AtoGojsEditorModel.NODE_TEMPLATES[node?.type].icon,\n AtoGojsEditorModel.NODE_TEMPLATES[node?.type].name,\n );\n return;\n }\n\n if (node?.type === AtoGojsEditorModel.ENUM_TEMPLATES.ZONE) {\n this.makeGroupZoneTemplate();\n return;\n }\n\n if (node?.type === AtoGojsEditorModel.ENUM_TEMPLATES.PLANT_CELL && node?.isGroup) {\n this.groupPlantCellTemplate(\n AtoGojsEditorModel.NODE_TEMPLATES[node?.type].icon,\n AtoGojsEditorModel.NODE_TEMPLATES[node?.type].name,\n );\n return;\n }\n if (node?.type === AtoGojsEditorModel.ENUM_TEMPLATES.PLANT_CELL_INPUT_GROUP) {\n this.groupPCInputOrOutTemplate(\n AtoGojsEditorModel.NODE_TEMPLATES[node?.type].icon,\n AtoGojsEditorModel.NODE_TEMPLATES[node?.type].name,\n new go.Margin(0, 50, 0, 0),\n );\n return;\n }\n if (node?.type === AtoGojsEditorModel.ENUM_TEMPLATES.PLANT_CELL_OUTPUT_GROUP) {\n this.groupPCInputOrOutTemplate(\n AtoGojsEditorModel.NODE_TEMPLATES[node?.type].icon,\n AtoGojsEditorModel.NODE_TEMPLATES[node?.type].name,\n new go.Margin(0, 0, 0, 50),\n );\n return;\n }\n if (node?.type === AtoGojsEditorModel.ENUM_TEMPLATES.GROUP_BASIC_COMPONENT) {\n this.makeGroupBasicComponent(\n AtoGojsEditorModel.NODE_TEMPLATES[node?.type].icon,\n AtoGojsEditorModel.NODE_TEMPLATES[node?.type].name,\n );\n return;\n }\n\n this.makeGroupTemplate(\n AtoGojsEditorModel.NODE_TEMPLATES[node?.type].icon,\n AtoGojsEditorModel.NODE_TEMPLATES[node?.type].name,\n );\n }\n\n addNodeTemplate(node) {\n if (this.myDiagram.nodeTemplateMap?.Hb[node?.type] || node?.isGroup) {\n return;\n }\n // Not Group\n // Component Water Normal\n if (AtoGojsEditorModel.TYPE_TEMPLATE_WATER_NORMAL?.includes(node?.type) && !node?.isGroup) {\n this.makeEntityTemplate(\n AtoGojsEditorModel.NODE_TEMPLATES[node?.type].icon ?? '',\n AtoGojsEditorModel.NODE_TEMPLATES[node?.type].name ?? '',\n );\n }\n // Component Water Withdraw Or Discharge\n if (AtoGojsEditorModel.TYPE_TEMPLATE_WATER_WITHDRAW_OR_DISCHARGE?.includes(node?.type) && !node?.isGroup) {\n this.makeEntityWithdrawOrDischarge(\n AtoGojsEditorModel.NODE_TEMPLATES[node?.type].icon ?? '',\n AtoGojsEditorModel.NODE_TEMPLATES[node?.type].name ?? '',\n );\n }\n\n // Component Energy Normal\n if (\n (AtoGojsEditorModel.TYPE_TEMPLATE_ELECTRICITY?.includes(node?.type) ||\n AtoGojsEditorModel.TYPE_TEMPLATE_NATURAL_GAS?.includes(node?.type) ||\n AtoGojsEditorModel.TYPE_TEMPLATE_FUEL?.includes(node?.type) ||\n AtoGojsEditorModel.TYPE_TEMPLATE_STEAM?.includes(node?.type)) &&\n !node?.isGroup\n ) {\n this.makeEntityTemplateEnergy(\n AtoGojsEditorModel.NODE_TEMPLATES[node?.type].icon ?? '',\n AtoGojsEditorModel.NODE_TEMPLATES[node?.type].name ?? '',\n );\n }\n\n if (node?.type === AtoGojsEditorModel.ENUM_TEMPLATES.IMAGE_TEMPLATE) {\n this.makeImageTemplate();\n }\n if (node?.type === AtoGojsEditorModel.ENUM_TEMPLATES.PARAM_TABLE) {\n this.makeParamTable();\n }\n if (node?.type === AtoGojsEditorModel.ENUM_TEMPLATES.MASS_BALANCE) {\n this.makeMassBalance();\n }\n // Text Node\n if (node?.type === AtoGojsEditorModel.ENUM_TEMPLATES.TEXT_NODE) {\n this.makeTextTemplate();\n }\n // Value Node\n if (node?.type === AtoGojsEditorModel.ENUM_TEMPLATES.VALUE_NODE) {\n this.makeValueNodeTemplate();\n }\n\n // Value Node\n if (node?.type === AtoGojsEditorModel.ENUM_TEMPLATES.EMPTY) {\n this.makeEmptyNodeTemplate();\n }\n\n // Value Label\n if (node?.type === AtoGojsEditorModel.ENUM_TEMPLATES.VALUE_LABEL) {\n this.makeValueLabelTemplate();\n }\n // Label\n if (node?.type === AtoGojsEditorModel.ENUM_TEMPLATES.TEXT_LABEL) {\n this.makeTextLabelTemplate();\n }\n // Zone item\n if (node?.type === AtoGojsEditorModel.ENUM_TEMPLATES.ZONE_ENERGY_ITEM) {\n this.makeZoneItemTemplate();\n }\n // data box\n if (node?.type === AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX) {\n this.makeDataBoxTemplate();\n }\n\n // Special template\n if (AtoGojsEditorModel.TYPE_TEMPLATE_SPECIAL?.includes(node?.type)) {\n this.makeSpecialTemplate(\n AtoGojsEditorModel.NODE_TEMPLATES[node?.type].icon,\n AtoGojsEditorModel.NODE_TEMPLATES[node?.type].name,\n );\n }\n\n // Plant Cell\n if (node?.type === AtoGojsEditorModel.ENUM_TEMPLATES.PLANT_CELL && !node?.isGroup) {\n this.plantCellTemplate(\n AtoGojsEditorModel.NODE_TEMPLATES[node?.type].icon,\n AtoGojsEditorModel.NODE_TEMPLATES[node?.type].name,\n );\n }\n }\n\n initDiagram() {\n if (!!this.myDiagram?.div) {\n // this.myDiagram.div = null;\n if (this.initialOptions?.grid) {\n this.myDiagram['grid'] = this.initialOptions?.grid;\n } else {\n this.myDiagram['grid'] = this.$(go.Panel, 'Grid');\n }\n if (this.initialOptions?.LayoutCompleted) {\n this.myDiagram.addDiagramListener('LayoutCompleted', this.initialOptions?.LayoutCompleted);\n }\n if (this.initialOptions?.LinkReshaped) {\n this.myDiagram.addDiagramListener('LinkReshaped', this.initialOptions?.LinkReshaped);\n }\n if (this.initialOptions?.SelectionMoved) {\n this.myDiagram.addDiagramListener('SelectionMoved', this.initialOptions?.SelectionMoved);\n }\n if (this.initialOptions?.ChangedSelection) {\n this.myDiagram.addDiagramListener('ChangedSelection', this.initialOptions?.ChangedSelection);\n }\n this.myDiagram.dragSelectingTool = this.initialOptions?.dragSelectingTool;\n this.myDiagram.toolManager.draggingTool.isGridSnapEnabled =\n this.initialOptions?.['draggingTool.isGridSnapEnabled'] ?? false;\n if (this.myDiagram.toolManager && this.myDiagram.toolManager.draggingTool) {\n if (this.initialOptions?.['draggingTool.gridSnapCellSize']) {\n this.myDiagram.toolManager.draggingTool.gridSnapCellSize =\n this.initialOptions?.['draggingTool.gridSnapCellSize'];\n }\n // if (this.initialOptions?.['draggingTool.isGridSnapEnabled']) {\n // this.myDiagram.toolManager.draggingTool.isGridSnapEnabled =\n // this.initialOptions?.['draggingTool.isGridSnapEnabled'];\n // }\n if (this.initialOptions?.['draggingTool.doMouseMove']) {\n this.myDiagram.toolManager.draggingTool.doMouseMove =\n this.initialOptions?.['draggingTool.doMouseMove'];\n }\n\n if (this.initialOptions?.['linkingTool.linkValidation']) {\n this.myDiagram.toolManager.linkingTool.linkValidation =\n this.initialOptions?.['linkingTool.linkValidation'];\n }\n }\n this.myDiagram.contentAlignment = this.initialOptions?.contentAlignment ?? go.Spot.Center;\n this.myDiagram.layout = this.initialOptions?.layout;\n // this.myDiagram.minViewportBounds = new go.Rect(0, 0, 1200, 1200);\n if (!!this.editor?.data) {\n this.addOrRemoveCompoentTemplate();\n this.myDiagram.model = go.Model.fromJson(this.editor.data);\n }\n\n return;\n }\n if (this.animationInterval) {\n clearInterval(this.animationInterval);\n }\n\n const diagramDiv = this._elRef.nativeElement.querySelector(`#${this.myDiagramDiv}`);\n this.myDiagram = this.$(go.Diagram, diagramDiv, this.initialOptions);\n // this.myDiagram.initialPosition = new go.Point(0, 0);\n this.addOrRemoveCompoentTemplate();\n\n this.makeLinkTemplate();\n // animation\n this.startAnimation();\n\n setTimeout(() => {\n const self = this;\n // if (!this.isAddedModelChangedListeners) {\n this.isAddedModelChangedListeners = true;\n this.myDiagram.addModelChangedListener(function (e) {\n if (e.change === go.ChangedEvent.Remove && e.propertyName === 'nodeDataArray') {\n const data = e.oldValue;\n self.onDeleteNode.emit(data);\n }\n if (e.isTransactionFinished) {\n self.committedTransactionSubject?.next(e);\n }\n });\n this.myDiagram.commandHandler.undo = function () {\n self.onUndo.emit();\n };\n });\n\n if (!!this.editor) {\n this.myDiagram.model = go.Model.fromJson(this.editor.data);\n }\n }\n\n initGroupTemplateEnergy() {\n // for water\n const {\n STORAGE,\n WATER_TREATMENT,\n DEMIN_WATER_TREATMENT,\n // RO_WATER_TREATMENT,\n PROCESS,\n WASTEWATER_TREATMENT,\n DAF_WASTEWATER_TREATMENT,\n ETP_WASTEWATER_TREATMENT,\n MBR_WASTEWATER_TREATMENT,\n ZLD_WASTEWATER_TREATMENT,\n COOLING_TOWER,\n BOILER,\n OTHER,\n LANDSCAPING_IRRIGATION,\n } = AtoGojsEditorModel.ENUM_TEMPLATES;\n const waterGroups = [\n STORAGE,\n WATER_TREATMENT,\n DEMIN_WATER_TREATMENT,\n // RO_WATER_TREATMENT,\n PROCESS,\n WASTEWATER_TREATMENT,\n DAF_WASTEWATER_TREATMENT,\n ETP_WASTEWATER_TREATMENT,\n MBR_WASTEWATER_TREATMENT,\n ZLD_WASTEWATER_TREATMENT,\n COOLING_TOWER,\n BOILER,\n OTHER,\n LANDSCAPING_IRRIGATION,\n ];\n waterGroups.map((e) => {\n if (!!AtoGojsEditorModel.NODE_TEMPLATES[e]) {\n this.makeGroupTemplate(AtoGojsEditorModel.NODE_TEMPLATES[e].icon, AtoGojsEditorModel.NODE_TEMPLATES[e].name);\n }\n });\n\n // electrical\n this.initElectricGroupTemplate();\n\n // Fuel\n this.initFuelGroupTemplate();\n\n // Gas\n this.initGasGroupTemplate();\n }\n\n initElectricDiagram() {\n const {\n GRID,\n DIESEL_GENERATORS,\n BATTERY_ENERGY_STORAGE,\n LIGHTING_SYSTEMS,\n LIGHTINGS,\n ELECTRIC_METERS,\n TRANSFORMERS,\n ELECTRIC_FLYWHEEL_ENERGY_STORAGE,\n PUMPED_HYDRO_STORAGE,\n THERMAL_ENERGY_STORAGE,\n SUPER_CAPACITOR_ENERGY_STORAGE,\n SWITCH_GEARS,\n PROCESS_CONTROL_AUTOMATION_SYSTEMS,\n PROCESS_EQUIPMENT_MACHINES,\n OFFICE_EQUIPMENT,\n POWER_DISTRIBUTION_CONTROL_SYSTEMS,\n POWER_DISTRIBUTION_SYSTEMS,\n NATURAL_GAS_GENERATORS,\n MOTOR_CONTROLS,\n VARIABLE_FREQUENCY_DRIVERS,\n ELECTRIC_HVAC,\n COMPRESSED_AIR_SYSTEMS,\n REFRIGERATION_COOLING_SYSTEMS,\n MATERIAL_HANDLING_EQUIPMENT,\n WIND_POWER,\n ELECTRIC_INDUSTRIAL_MOTORS,\n GROUNDING,\n } = AtoGojsEditorModel.ENUM_TEMPLATES;\n const ListItemsCreateEntityTemplate = [\n GRID,\n DIESEL_GENERATORS,\n BATTERY_ENERGY_STORAGE,\n LIGHTING_SYSTEMS,\n LIGHTINGS,\n ELECTRIC_METERS,\n TRANSFORMERS,\n ELECTRIC_FLYWHEEL_ENERGY_STORAGE,\n PUMPED_HYDRO_STORAGE,\n THERMAL_ENERGY_STORAGE,\n SUPER_CAPACITOR_ENERGY_STORAGE,\n SWITCH_GEARS,\n PROCESS_CONTROL_AUTOMATION_SYSTEMS,\n PROCESS_EQUIPMENT_MACHINES,\n OFFICE_EQUIPMENT,\n POWER_DISTRIBUTION_CONTROL_SYSTEMS,\n POWER_DISTRIBUTION_SYSTEMS,\n NATURAL_GAS_GENERATORS,\n MOTOR_CONTROLS,\n VARIABLE_FREQUENCY_DRIVERS,\n ELECTRIC_HVAC,\n COMPRESSED_AIR_SYSTEMS,\n REFRIGERATION_COOLING_SYSTEMS,\n MATERIAL_HANDLING_EQUIPMENT,\n WIND_POWER,\n ELECTRIC_INDUSTRIAL_MOTORS,\n GROUNDING,\n ];\n ListItemsCreateEntityTemplate.map((e) => {\n if (!!AtoGojsEditorModel.NODE_TEMPLATES[e]) {\n this.makeEntityTemplateEnergy(\n AtoGojsEditorModel.NODE_TEMPLATES[e].icon,\n AtoGojsEditorModel.NODE_TEMPLATES[e].name,\n );\n }\n });\n }\n\n initElectricGroupTemplate() {\n const listItems = [\n AtoGojsEditorModel.NODE_TEMPLATES[AtoGojsEditorModel.ENUM_TEMPLATES.BATTERY_ENERGY_STORAGE],\n AtoGojsEditorModel.NODE_TEMPLATES[AtoGojsEditorModel.ENUM_TEMPLATES.TRANSFORMERS],\n AtoGojsEditorModel.NODE_TEMPLATES[AtoGojsEditorModel.ENUM_TEMPLATES.ELECTRIC_METERS],\n AtoGojsEditorModel.NODE_TEMPLATES[AtoGojsEditorModel.ENUM_TEMPLATES.LIGHTINGS],\n AtoGojsEditorModel.NODE_TEMPLATES[AtoGojsEditorModel.ENUM_TEMPLATES.POWER_DISTRIBUTION_SYSTEMS],\n AtoGojsEditorModel.NODE_TEMPLATES[AtoGojsEditorModel.ENUM_TEMPLATES.SWITCH_GEARS],\n AtoGojsEditorModel.NODE_TEMPLATES[AtoGojsEditorModel.ENUM_TEMPLATES.ELECTRIC_INDUSTRIAL_MOTORS],\n AtoGojsEditorModel.NODE_TEMPLATES[AtoGojsEditorModel.ENUM_TEMPLATES.GROUNDING],\n AtoGojsEditorModel.NODE_TEMPLATES[AtoGojsEditorModel.ENUM_TEMPLATES.MOTOR_CONTROLS],\n AtoGojsEditorModel.NODE_TEMPLATES[AtoGojsEditorModel.ENUM_TEMPLATES.LIGHTING_SYSTEMS],\n AtoGojsEditorModel.NODE_TEMPLATES[AtoGojsEditorModel.ENUM_TEMPLATES.ELECTRIC_HVAC],\n AtoGojsEditorModel.NODE_TEMPLATES[AtoGojsEditorModel.ENUM_TEMPLATES.REFRIGERATION_COOLING_SYSTEMS],\n AtoGojsEditorModel.NODE_TEMPLATES[AtoGojsEditorModel.ENUM_TEMPLATES.PROCESS_CONTROL_AUTOMATION_SYSTEMS],\n AtoGojsEditorModel.NODE_TEMPLATES[AtoGojsEditorModel.ENUM_TEMPLATES.OFFICE_EQUIPMENT],\n AtoGojsEditorModel.NODE_TEMPLATES[AtoGojsEditorModel.ENUM_TEMPLATES.COMPRESSED_AIR_SYSTEMS],\n AtoGojsEditorModel.NODE_TEMPLATES[AtoGojsEditorModel.ENUM_TEMPLATES.PROCESS_EQUIPMENT_MACHINES],\n AtoGojsEditorModel.NODE_TEMPLATES[AtoGojsEditorModel.ENUM_TEMPLATES.MATERIAL_HANDLING_EQUIPMENT],\n AtoGojsEditorModel.NODE_TEMPLATES[AtoGojsEditorModel.ENUM_TEMPLATES.POWER_DISTRIBUTION_CONTROL_SYSTEMS],\n AtoGojsEditorModel.NODE_TEMPLATES[AtoGojsEditorModel.ENUM_TEMPLATES.BATTERIES],\n AtoGojsEditorModel.NODE_TEMPLATES[AtoGojsEditorModel.ENUM_TEMPLATES.VARIABLE_FREQUENCY_DRIVERS],\n AtoGojsEditorModel.NODE_TEMPLATES[AtoGojsEditorModel.ENUM_TEMPLATES.ELECTRIC_FLYWHEEL_ENERGY_STORAGE],\n AtoGojsEditorModel.NODE_TEMPLATES[AtoGojsEditorModel.ENUM_TEMPLATES.PUMPED_HYDRO_STORAGE],\n AtoGojsEditorModel.NODE_TEMPLATES[AtoGojsEditorModel.ENUM_TEMPLATES.THERMAL_ENERGY_STORAGE],\n AtoGojsEditorModel.NODE_TEMPLATES[AtoGojsEditorModel.ENUM_TEMPLATES.SUPER_CAPACITOR_ENERGY_STORAGE],\n ];\n listItems.forEach((e) => {\n this.makeGroupTemplate(e?.icon, e.name);\n });\n }\n\n initFuelGroupTemplate() {\n const listItems = [\n AtoGojsEditorModel.NODE_TEMPLATES[AtoGojsEditorModel.ENUM_TEMPLATES.DIESEL_FUELS],\n AtoGojsEditorModel.NODE_TEMPLATES[AtoGojsEditorModel.ENUM_TEMPLATES.GASON_LINES],\n\n AtoGojsEditorModel.NODE_TEMPLATES[AtoGojsEditorModel.ENUM_TEMPLATES.BIODIESELS],\n AtoGojsEditorModel.NODE_TEMPLATES[AtoGojsEditorModel.ENUM_TEMPLATES.KEROSENSE],\n AtoGojsEditorModel.NODE_TEMPLATES[AtoGojsEditorModel.ENUM_TEMPLATES.PROPANES],\n AtoGojsEditorModel.NODE_TEMPLATES[AtoGojsEditorModel.ENUM_TEMPLATES.TANKER_TRUCKS],\n AtoGojsEditorModel.NODE_TEMPLATES[AtoGojsEditorModel.ENUM_TEMPLATES.PIPELINE],\n AtoGojsEditorModel.NODE_TEMPLATES[AtoGojsEditorModel.ENUM_TEMPLATES.INDUSTRIAL_BOILERS],\n\n AtoGojsEditorModel.NODE_TEMPLATES[AtoGojsEditorModel.ENUM_TEMPLATES.GENERATORS],\n AtoGojsEditorModel.NODE_TEMPLATES[AtoGojsEditorModel.ENUM_TEMPLATES.INDUSTRIAL_FURNACES],\n AtoGojsEditorModel.NODE_TEMPLATES[AtoGojsEditorModel.ENUM_TEMPLATES.INDUSTRIAL_OVENS],\n AtoGojsEditorModel.NODE_TEMPLATES[AtoGojsEditorModel.ENUM_TEMPLATES.INDUSTRIAL_VEHICLES_AND_EQUIPMENT],\n AtoGojsEditorModel.NODE_TEMPLATES[AtoGojsEditorModel.ENUM_TEMPLATES.FUEL_METERS],\n AtoGojsEditorModel.NODE_TEMPLATES[AtoGojsEditorModel.ENUM_TEMPLATES.FUEL_DISPENSERS],\n AtoGojsEditorModel.NODE_TEMPLATES[AtoGojsEditorModel.ENUM_TEMPLATES.FUEL_STRORAGE_TANKS],\n AtoGojsEditorModel.NODE_TEMPLATES[AtoGojsEditorModel.ENUM_TEMPLATES.ELECTRIC_HVAC],\n AtoGojsEditorModel.NODE_TEMPLATES[AtoGojsEditorModel.ENUM_TEMPLATES.FUEL_FILTRATIONS],\n AtoGojsEditorModel.NODE_TEMPLATES[AtoGojsEditorModel.ENUM_TEMPLATES.FUEL_MANAGEMENTS],\n ];\n\n this.makeGroupTemplate(\n AtoGojsEditorModel.NODE_TEMPLATES[AtoGojsEditorModel.ENUM_TEMPLATES.FUEL_DISPENSERS].icon,\n AtoGojsEditorModel.NODE_TEMPLATES[AtoGojsEditorModel.ENUM_TEMPLATES.FUEL_DISPENSERS].name,\n );\n this.makeGroupTemplate(\n AtoGojsEditorModel.NODE_TEMPLATES[AtoGojsEditorModel.ENUM_TEMPLATES.FUEL_STRORAGE_TANKS].icon,\n AtoGojsEditorModel.NODE_TEMPLATES[AtoGojsEditorModel.ENUM_TEMPLATES.FUEL_STRORAGE_TANKS].name,\n );\n this.makeGroupTemplate(\n AtoGojsEditorModel.NODE_TEMPLATES[AtoGojsEditorModel.ENUM_TEMPLATES.FUEL_FILTRATIONS].icon,\n AtoGojsEditorModel.NODE_TEMPLATES[AtoGojsEditorModel.ENUM_TEMPLATES.FUEL_FILTRATIONS].name,\n );\n this.makeGroupTemplate(\n AtoGojsEditorModel.NODE_TEMPLATES[AtoGojsEditorModel.ENUM_TEMPLATES.FUEL_MANAGEMENTS].icon,\n AtoGojsEditorModel.NODE_TEMPLATES[AtoGojsEditorModel.ENUM_TEMPLATES.FUEL_MANAGEMENTS].name,\n );\n listItems.forEach((e) => {\n this.makeGroupTemplate(e?.icon, e.name);\n });\n }\n\n initGasGroupTemplate() {\n const listItems = [\n AtoGojsEditorModel.NODE_TEMPLATES[AtoGojsEditorModel.ENUM_TEMPLATES.COMPRESSED_NATURAL_GAS_PIPELINE],\n AtoGojsEditorModel.NODE_TEMPLATES[AtoGojsEditorModel.ENUM_TEMPLATES.BOILERS_AND_HEATERS],\n AtoGojsEditorModel.NODE_TEMPLATES[AtoGojsEditorModel.ENUM_TEMPLATES.FURNACES],\n AtoGojsEditorModel.NODE_TEMPLATES[AtoGojsEditorModel.ENUM_TEMPLATES.POWER_GENERATION],\n AtoGojsEditorModel.NODE_TEMPLATES[AtoGojsEditorModel.ENUM_TEMPLATES.COGENERATION],\n AtoGojsEditorModel.NODE_TEMPLATES[AtoGojsEditorModel.ENUM_TEMPLATES.COMBINED_CYCLE_POWER_PLANTS],\n AtoGojsEditorModel.NODE_TEMPLATES[AtoGojsEditorModel.ENUM_TEMPLATES.FUEL_FOR_VEHICLES_AND_EQUIPMENT],\n AtoGojsEditorModel.NODE_TEMPLATES[AtoGojsEditorModel.ENUM_TEMPLATES.GAS_METERS],\n AtoGojsEditorModel.NODE_TEMPLATES[AtoGojsEditorModel.ENUM_TEMPLATES.BURNERS],\n AtoGojsEditorModel.NODE_TEMPLATES[AtoGojsEditorModel.ENUM_TEMPLATES.FLUE_GAS_ANALYZERS],\n AtoGojsEditorModel.NODE_TEMPLATES[AtoGojsEditorModel.ENUM_TEMPLATES.COMBUSTION_CONTROL_SYSTEMS],\n AtoGojsEditorModel.NODE_TEMPLATES[AtoGojsEditorModel.ENUM_TEMPLATES.GAS_STORAGE_TANKS],\n AtoGojsEditorModel.NODE_TEMPLATES[AtoGojsEditorModel.ENUM_TEMPLATES.GAS_PRESSURE_REGULATORS],\n ];\n\n this.makeGroupTemplate(\n AtoGojsEditorModel.NODE_TEMPLATES[AtoGojsEditorModel.ENUM_TEMPLATES.FUEL_DISPENSERS].icon,\n AtoGojsEditorModel.NODE_TEMPLATES[AtoGojsEditorModel.ENUM_TEMPLATES.FUEL_DISPENSERS].name,\n );\n this.makeGroupTemplate(\n AtoGojsEditorModel.NODE_TEMPLATES[AtoGojsEditorModel.ENUM_TEMPLATES.FUEL_STRORAGE_TANKS].icon,\n AtoGojsEditorModel.NODE_TEMPLATES[AtoGojsEditorModel.ENUM_TEMPLATES.FUEL_STRORAGE_TANKS].name,\n );\n this.makeGroupTemplate(\n AtoGojsEditorModel.NODE_TEMPLATES[AtoGojsEditorModel.ENUM_TEMPLATES.FUEL_FILTRATIONS].icon,\n AtoGojsEditorModel.NODE_TEMPLATES[AtoGojsEditorModel.ENUM_TEMPLATES.FUEL_FILTRATIONS].name,\n );\n this.makeGroupTemplate(\n AtoGojsEditorModel.NODE_TEMPLATES[AtoGojsEditorModel.ENUM_TEMPLATES.FUEL_MANAGEMENTS].icon,\n AtoGojsEditorModel.NODE_TEMPLATES[AtoGojsEditorModel.ENUM_TEMPLATES.FUEL_MANAGEMENTS].name,\n );\n listItems.forEach((e) => {\n this.makeGroupTemplate(e?.icon, e.name);\n });\n }\n\n initGasDiagram() {\n const {\n NATURAL_GAS_PIPELINES,\n LIQUEFIED_NATURAL_GAS,\n COMPRESSED_NATURAL_GAS_PIPELINE,\n COMPRESSED_NATURAL_GAS_PRODUCTION,\n BOILERS_AND_HEATERS,\n FURNACES,\n POWER_GENERATION,\n COGENERATION,\n COMBINED_CYCLE_POWER_PLANTS,\n FUEL_FOR_VEHICLES_AND_EQUIPMENT,\n GAS_METERS,\n BURNERS,\n FLUE_GAS_ANALYZERS,\n COMBUSTION_CONTROL_SYSTEMS,\n GAS_STORAGE_TANKS,\n GAS_PRESSURE_REGULATORS,\n NATURAL_GAS,\n } = AtoGojsEditorModel.ENUM_TEMPLATES;\n const ListItemsCreateEntityTemplate = [\n NATURAL_GAS_PIPELINES,\n LIQUEFIED_NATURAL_GAS,\n COMPRESSED_NATURAL_GAS_PIPELINE,\n COMPRESSED_NATURAL_GAS_PRODUCTION,\n BOILERS_AND_HEATERS,\n FURNACES,\n POWER_GENERATION,\n COGENERATION,\n COMBINED_CYCLE_POWER_PLANTS,\n FUEL_FOR_VEHICLES_AND_EQUIPMENT,\n GAS_METERS,\n BURNERS,\n FLUE_GAS_ANALYZERS,\n COMBUSTION_CONTROL_SYSTEMS,\n GAS_STORAGE_TANKS,\n GAS_PRESSURE_REGULATORS,\n NATURAL_GAS,\n ];\n ListItemsCreateEntityTemplate.map((e) => {\n if (!!AtoGojsEditorModel.NODE_TEMPLATES[e]) {\n this.makeEntityTemplateEnergy(\n AtoGojsEditorModel.NODE_TEMPLATES[e].icon,\n AtoGojsEditorModel.NODE_TEMPLATES[e].name,\n );\n }\n });\n }\n\n initFuelDiagram() {\n const {\n DIESEL_FUELS,\n GASON_LINES,\n BIODIESELS,\n KEROSENSE,\n PROPANES,\n TANKER_TRUCKS,\n PIPELINE,\n INDUSTRIAL_BOILERS,\n GENERATORS,\n INDUSTRIAL_FURNACES,\n INDUSTRIAL_OVENS,\n INDUSTRIAL_VEHICLES_AND_EQUIPMENT,\n FUEL_METERS,\n FUEL_DISPENSERS,\n FUEL_STRORAGE_TANKS,\n FUEL_FILTRATIONS,\n FUEL_MANAGEMENTS,\n FUELS,\n } = AtoGojsEditorModel.ENUM_TEMPLATES;\n const ListItemsCreateEntityTemplate = [\n DIESEL_FUELS,\n GASON_LINES,\n BIODIESELS,\n KEROSENSE,\n PROPANES,\n TANKER_TRUCKS,\n PIPELINE,\n INDUSTRIAL_BOILERS,\n GENERATORS,\n INDUSTRIAL_FURNACES,\n INDUSTRIAL_OVENS,\n INDUSTRIAL_VEHICLES_AND_EQUIPMENT,\n FUEL_METERS,\n FUEL_DISPENSERS,\n FUEL_STRORAGE_TANKS,\n FUEL_FILTRATIONS,\n FUEL_MANAGEMENTS,\n FUELS,\n ];\n ListItemsCreateEntityTemplate.map((e) => {\n if (!!AtoGojsEditorModel.NODE_TEMPLATES[e]) {\n this.makeEntityTemplateEnergy(\n AtoGojsEditorModel.NODE_TEMPLATES[e].icon,\n AtoGojsEditorModel.NODE_TEMPLATES[e].name,\n );\n }\n });\n }\n\n initSolarDiagram() {\n const {\n SOLAR_POWER,\n POWER_CONDITIONING_UNIT,\n BATTERIES: BATTERY,\n INVERTERS: INVERTER,\n } = AtoGojsEditorModel.ENUM_TEMPLATES;\n const ListItemsCreateEntityTemplate = [SOLAR_POWER, POWER_CONDITIONING_UNIT, BATTERY, INVERTER];\n ListItemsCreateEntityTemplate.map((e) => {\n if (!!AtoGojsEditorModel.NODE_TEMPLATES[e]) {\n this.makeEntityTemplateEnergy(\n AtoGojsEditorModel.NODE_TEMPLATES[e].icon,\n AtoGojsEditorModel.NODE_TEMPLATES[e].name,\n );\n }\n });\n }\n\n initSteamDiagram() {\n const {\n VALUES,\n STEAM_TRAPS,\n PRESSURE_REGULATORS,\n SAFETY_VALUES_AND_EQUIPMENT,\n CONDENSATE_RETURN_SYSTEM,\n DEAERATORS,\n FEEDWATER_PUMPS,\n BLOWDOWN_TANKS,\n EXPANSION_TANKS,\n HEAT_EXCHANGERS,\n TURBINES,\n } = AtoGojsEditorModel.ENUM_TEMPLATES;\n const ListItemsCreateEntityTemplate = [\n VALUES,\n STEAM_TRAPS,\n PRESSURE_REGULATORS,\n SAFETY_VALUES_AND_EQUIPMENT,\n CONDENSATE_RETURN_SYSTEM,\n DEAERATORS,\n FEEDWATER_PUMPS,\n BLOWDOWN_TANKS,\n EXPANSION_TANKS,\n HEAT_EXCHANGERS,\n TURBINES,\n ];\n ListItemsCreateEntityTemplate.map((e) => {\n if (!!AtoGojsEditorModel.NODE_TEMPLATES[e]) {\n this.makeEntityTemplateEnergy(\n AtoGojsEditorModel.NODE_TEMPLATES[e].icon,\n AtoGojsEditorModel.NODE_TEMPLATES[e].name,\n );\n }\n });\n }\n\n onModelChangeListener(e: go.ChangedEvent) {\n // this.onModelChangeListenerEvent.emit(e);\n }\n\n makeLinkTemplate() {\n const elements: any[] = [];\n // line\n elements.push(\n this.$(\n go.Shape,\n {\n isPanelMain: true,\n stroke: AtoGojsEditorModel.ENUM_COLORS.GRAY,\n strokeWidth: AtoGojsEditorModel.LINK_TEMPLATES[AtoGojsEditorModel.ENUM_LINK_TYPES.SIMPLE]?.strokeWidth,\n // strokeWidth: 0,\n },\n new go.Binding('stroke', 'color'),\n new go.Binding('selectable', 'selectable'),\n new go.Binding('strokeWidth', 'type', (x) => AtoGojsEditorModel.LINK_TEMPLATES[x]?.strokeWidth),\n ),\n );\n\n // animation\n elements.push(\n this.$(go.Shape, {\n ...AtoGojsEditorModel.LINK_TEMPLATES[AtoGojsEditorModel.ENUM_LINK_TYPES.PIPE_ANIMATION]?.animation,\n visible: true,\n fill: 'transparent',\n }),\n );\n\n elements.push(\n this.$(\n go.Panel,\n 'Top',\n {\n height: 38,\n // maxSize: new go.Size(NaN, 36),\n // width: 100,\n // minSize: new go.Size(100, 5), // Đặt kích thước tối thiểu là 100x50\n background: 'transparent',\n // layerName: 'BackgroundLayer',\n // alignment: go.Spot.Top,\n // alignmentFocus: go.Spot.Left,\n // margin: new go.Margin(0, 0, 50, 0),\n // selectable: false,\n },\n new go.Binding('visible', 'textComponent', (x) => {\n return x ? true : false;\n }),\n // this.$(go.Shape, {\n // height: 30,\n // background: 'transparent',\n // fill: 'transparent',\n // // visible: false,\n // }),\n this.$(\n go.TextBlock,\n {\n // margin: new go.Margin(0, 0, 50, 0),\n stroke: '#444444',\n font: 'normal 10pt Arial',\n textAlign: 'left',\n background: 'transparent',\n // editable: false,\n // alignment: go.Spot.Center, // Đảm bảo văn bản nằm ở trung tâm của nút\n // alignmentFocus: go.Spot.Center, // Đảm bảo văn bản không bị dịch chuyển ra khỏi trung tâm\n wrap: go.TextBlock.WrapFit, // Chuyển dòng để văn bản không vượt ra ngoài\n // selectable: true,\n overflow: go.TextBlock.OverflowEllipsis,\n toolTip: this.$(\n 'ToolTip',\n this.$(\n go.TextBlock,\n {\n margin: 4,\n },\n new go.Binding('text', 'textComponent'),\n ),\n ),\n },\n new go.Binding('text', 'textComponent'),\n new go.Binding('background', 'textComponent', (x) => (x ? 'white' : 'transparent')),\n // new go.Binding('margin', 'isFormat', (x) =>\n // x ? new go.Margin(5, 0, 5, 5) : new go.Margin(5, 5, 5, 5),\n // ),\n ),\n ),\n );\n\n // arrow\n elements.push(\n this.$(\n go.Shape, // the \"from\" arrowhead\n { ...AtoGojsEditorModel.LINK_TEMPLATES[AtoGojsEditorModel.ENUM_LINK_TYPES.SIMPLE]?.arrow },\n new go.Binding(\n 'visible',\n 'type',\n (x) =>\n ![\n AtoGojsEditorModel.ENUM_LINK_TYPES.PIPE_ANIMATION,\n AtoGojsEditorModel.ENUM_LINK_TYPES.PIPE,\n AtoGojsEditorModel.ENUM_LINK_TYPES.PIPE_HIDDEN,\n ].includes(x),\n ),\n new go.Binding('fill', 'color'),\n new go.Binding('stroke', 'color'),\n ),\n );\n\n // TODO fix link cannot selected inside group template\n this.myDiagram.linkTemplate = this.$(\n go.Link,\n go.Link.Orthogonal,\n {\n // layerName: 'Background', // link cannot select inside group template\n // curviness: 20,\n // corner: 5,\n routing: go.Link.AvoidsNodes,\n reshapable: true,\n resegmentable: true,\n relinkableFrom: true,\n relinkableTo: true,\n selectable: true,\n toShortLength: AtoGojsEditorModel.LINK_TEMPLATES[AtoGojsEditorModel.ENUM_LINK_TYPES.SIMPLE].toShortLength, // assume arrowhead at \"to\" end, need to avoid bad appearance when path is thick\n },\n new go.Binding('layerName', '', (data) => {\n return data?.textComponent ? 'Background' : '';\n }),\n new go.Binding('zOrder', 'type', (x) => (x === AtoGojsEditorModel.ENUM_LINK_TYPES.PIPE_ANIMATION ? 11 : 10)),\n new go.Binding('toShortLength', 'type', (x) => AtoGojsEditorModel.LINK_TEMPLATES[x].toShortLength || 0),\n new go.Binding('selectable', 'selectable'),\n new go.Binding('visible', 'visible'),\n\n // make sure links come in from the proper direction and go out appropriately\n ...elements,\n );\n }\n\n makeValueNodeTemplate(size: { w: number; h: number } = { w: 82, h: 36 }) {\n const self = this;\n const node = this.$(\n go.Node,\n 'Spot',\n {},\n new go.Binding('location', 'loc', go.Point.parse).makeTwoWay(go.Point.stringify),\n\n this.$(\n go.Panel,\n 'Auto',\n { minSize: new go.Size(size.w, size.h) },\n this.$(go.Shape, 'Rectangle', {\n fill: AtoGojsEditorModel.ENUM_COLORS.LIGHT_BLUE,\n stroke: 'transparent',\n }),\n this.$(\n go.Panel,\n 'Horizontal',\n this.$(\n go.TextBlock,\n {\n row: 2,\n font: 'bold 14px Arial',\n textAlign: 'center',\n stroke: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n },\n new go.Binding('editable', 'isEditable'),\n new go.Binding('text', 'shortenedNumber').makeTwoWay(),\n new go.Binding('stroke', 'color'),\n new go.Binding('margin', 'isFormat', (x) =>\n x ? new go.Margin(5, 0, 5, 5) : new go.Margin(5, 5, 5, 5),\n ),\n new go.Binding('visible', '', function (data) {\n return data.value !== VALUE_NA;\n }),\n ),\n // Icon Err when lack of value\n this.$(\n go.TextBlock,\n {\n margin: new go.Margin(10, 10, 10, 10),\n text: VALUE_NA, // Old version: TEXT_ERROR\n textAlign: 'center',\n font: 'bold 10pt sans-serif',\n stroke: AtoGojsEditorModel.ENUM_COLORS.SALMON,\n wrap: go.TextBlock.WrapFit,\n editable: false,\n isMultiline: false,\n },\n new go.Binding('visible', '', function (data) {\n return data.value === VALUE_NA;\n }),\n ),\n ),\n ),\n );\n this.myDiagram.nodeTemplateMap.set(AtoGojsEditorModel.ENUM_TEMPLATES.VALUE_NODE, node);\n }\n\n makeEmptyNodeTemplate(size: { w: number; h: number } = { w: 0, h: 0 }) {\n const node = this.$(\n go.Node,\n 'Spot',\n {},\n new go.Binding('location', 'loc', go.Point.parse).makeTwoWay(go.Point.stringify),\n );\n this.myDiagram.nodeTemplateMap.set(AtoGojsEditorModel.ENUM_TEMPLATES.EMPTY, node);\n }\n\n makeValueLabelTemplate(size: { w: number; h: number } = { w: 82, h: 36 }) {\n const node = this.$(\n go.Node,\n 'Auto',\n {\n movable: false,\n },\n new go.Binding('location', 'loc', go.Point.parse).makeTwoWay(go.Point.stringify),\n this.$(\n go.Panel,\n 'Auto',\n { minSize: new go.Size(size.w, size.h) },\n this.$(\n go.Panel,\n 'Horizontal',\n {\n margin: new go.Margin(0, 10, 0, 10),\n },\n this.$(\n go.TextBlock,\n {\n margin: new go.Margin(0, 5, 10, 0),\n textAlign: 'center',\n font: 'bold 15px sans-serif',\n wrap: go.TextBlock.WrapFit,\n stroke: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n minSize: new go.Size(150, 30), // Set the width of the text block\n },\n new go.Binding('stroke', 'color'),\n new go.Binding('text', 'data', (x) => {\n if (typeof x?.quantity !== 'number') {\n return '';\n }\n const formatted: any = UtilsService.convertPrefixesData({\n value: x?.quantity,\n unit: UtilsService.convertSpecialUnit(x?.unit),\n });\n\n let retValue =\n formatted.shortenedNumber +\n ' ' +\n formatted.unitPrefixes +\n UtilsService.convertSpecialUnit(x?.unit) ?? '';\n if (x?.percent) {\n retValue += ` (${x?.percent}%)`;\n }\n return retValue;\n }),\n new go.Binding('visible', 'data', (x) => typeof x?.quantity === 'number'),\n ),\n ),\n ),\n );\n this.myDiagram.nodeTemplateMap.set(AtoGojsEditorModel.ENUM_TEMPLATES.VALUE_LABEL, node);\n }\n\n makeTextLabelTemplate(size: { w: number; h: number } = { w: NaN, h: 20 }) {\n const node = this.$(\n go.Node,\n 'Auto',\n {\n movable: false,\n isSelected: false,\n },\n new go.Binding('location', 'loc', go.Point.parse).makeTwoWay(go.Point.stringify),\n this.$(\n go.Panel,\n 'Auto',\n this.$(\n go.Panel,\n 'Horizontal',\n\n this.$(\n go.TextBlock,\n {\n margin: new go.Margin(0, 5, 10, 0),\n textAlign: 'center',\n font: 'bold 16px Arial',\n wrap: go.TextBlock.WrapFit,\n stroke: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n },\n new go.Binding('stroke', 'color'),\n new go.Binding('text', 'name'),\n new go.Binding('visible', 'visible'),\n ),\n ),\n ),\n );\n this.myDiagram.nodeTemplateMap.set(AtoGojsEditorModel.ENUM_TEMPLATES.TEXT_LABEL, node);\n }\n\n makeTextTemplate(\n size: { w: number; h: number } = { w: AtoGojsEditorModel.GRID_SIZE * 5, h: AtoGojsEditorModel.GRID_SIZE * 2 },\n ) {\n const self = this;\n const contextMenu = this.$(\n go.Adornment,\n 'Vertical',\n this.$('ContextMenuButton', this.$(go.TextBlock, 'Option 1'), {\n click: function (e, obj) {\n alert('Option 1 clicked!');\n },\n }),\n this.$('ContextMenuButton', this.$(go.TextBlock, 'Option 2'), {\n click: function (e, obj) {\n alert('Option 2 clicked!');\n },\n }),\n // ... add more options as needed ...\n );\n const node = this.$(\n go.Node,\n 'Spot',\n {\n // fromSpot: go.Spot.RightSide,\n // toSpot: go.Spot.LeftSide,\n locationSpot: go.Spot.Center,\n // selectionChanged: (e) => {\n // if (e?.data.onSelected) {\n // e?.data.onSelected(e?.data);\n // }\n // },\n // mouseHover: (e, obj) => {\n // const node = obj.part;\n // if ((obj as any).part?.ob?.value === VALUE_NA) {\n // self.onHoverInfoButton.emit({\n // left: e?.['Wr']?.x + 8,\n // top: e?.['Wr']?.y,\n // node: node,\n // });\n // }\n // },\n // mouseLeave: (e, obj) => {\n // if ((obj as any).part?.ob?.value === VALUE_NA) {\n // self.onHoverInfoButton.emit(null);\n // }\n // },\n click: (e, obj: any) => {\n const node = obj.part;\n if (node?.ob?.isTypeInflowOfPlantCell) {\n // obj?.data?.onSelected(node?.ob?.nodePlantCellParent);\n // self.onClickCompoent.emit({\n // left: e?.['Wr']?.x,\n // top: e?.['Wr']?.y,\n // node: {\n // ob: node?.ob?.nodePlantCellParent,\n // },\n // component: node?.ob?.nodePlantCellParent,\n // });\n return;\n }\n if (this._initialOptions?.isReadOnly) {\n this.isShowNodeInfo\n ? self.onClickInfoButton.emit({\n left: e?.['Wr']?.x,\n top: e?.['Wr']?.y,\n node: node,\n })\n : null;\n }\n },\n doubleClick: (e, obj: any) => {\n const node = obj.part;\n if (node?.ob?.isTypeInflowOfPlantCell && !this._initialOptions?.isReadOnly) {\n // obj?.data?.onSelected(node?.ob?.nodePlantCellParent);\n // this.isShowNodeInfo\n // ? self.onDoubleClickNode.emit({\n // left: e?.['Wr']?.x,\n // top: e?.['Wr']?.y,\n // node: {\n // ob: node?.ob?.nodePlantCellParent,\n // },\n // })\n // : null;\n return;\n }\n if (!this._initialOptions?.isReadOnly) {\n this.isShowNodeInfo\n ? self.onClickInfoButton.emit({\n left: e?.['Wr']?.x,\n top: e?.['Wr']?.y,\n node: node,\n })\n : null;\n }\n },\n selectionAdornmentTemplate: this.$(\n go.Adornment,\n 'Spot',\n this.$(\n go.Panel,\n 'Auto',\n // { height: 62 },\n this.$(go.Shape, { fill: null, stroke: 'dodgerblue', strokeWidth: 4 }),\n this.$(\n go.Placeholder,\n // { padding: new go.Margin(8, 3, 0, 3) },\n new go.Binding('padding', '', (x) => {\n return x?.isTypeInflowOfPlantCell\n ? x?.flowOfPlantCell === ATO_ENUM_FLOW_DIRECTION.INFLOW\n ? new go.Margin(0, 0, 0, 20)\n : new go.Margin(0, 20, 0, 0)\n : null;\n }),\n ),\n // this.$(go.Placeholder, { padding: 3 }),\n new go.Binding('height', '', (x) => {\n return x?.isTypeInflowOfPlantCell ? x?.height + 10 : null;\n }),\n new go.Binding('width', '', (x) => {\n return x?.isTypeInflowOfPlantCell ? x?.width + 12 : null;\n }),\n ),\n this.$(\n go.Panel,\n 'Horizontal',\n { alignment: go.Spot.TopRight, alignmentFocus: go.Spot.Bottom },\n // more\n !this._initialOptions.isReadOnly\n ? this.generateActionGroup([\n AtoDefaultGojsEditor.ENUM_ACTIONS.RENAME,\n AtoDefaultGojsEditor.ENUM_ACTIONS.INSIGHT,\n AtoDefaultGojsEditor.ENUM_ACTIONS.OUTFLOW,\n AtoDefaultGojsEditor.ENUM_ACTIONS.DELETE,\n ])\n : {},\n ),\n ),\n },\n new go.Binding('fromSpot', 'fromSpot'),\n new go.Binding('toSpot', 'toSpot'),\n new go.Binding('movable', 'movable'),\n new go.Binding('selectable', 'selectable'),\n new go.Binding('location', 'loc', go.Point.parse).makeTwoWay(go.Point.stringify),\n // new go.Binding('alignment', 'alignment', function(loc) {\n // return new go.Spot(0, 0, loc.x, 0);\n // }).ofObject(),\n\n this.$(\n go.Panel,\n 'Auto',\n {\n toolTip: this.$(\n 'ToolTip',\n this.$(\n go.TextBlock,\n {\n margin: 2,\n },\n new go.Binding('text', '', function (data) {\n if (!self._initialOptions.isReadOnly) {\n return data?.name ?? VALUE_NA;\n }\n if (data?.value === VALUE_NA || _.isNil(data?.value)) {\n return NO_DATA;\n // return TEXT_UNKNOWN;\n }\n return _.round(data?.value, 2).toFixed(2);\n }).makeTwoWay(),\n ),\n ),\n },\n this.$(\n go.Panel,\n 'Table',\n this.arrowForPlantCell(size, ATO_ENUM_FLOW_DIRECTION.OUTFLOW),\n this.$(\n go.Panel,\n 'Auto',\n // { width: size.w, height: size.h },\n {\n // minSize: new go.Size(size.w, size.h),\n // maxSize: new go.Size(size.w, size.h),\n desiredSize: new go.Size(size.w, size.h),\n column: 1,\n row: 2,\n },\n new go.Binding('width', 'width'),\n new go.Binding('height', 'height'),\n\n this.$(\n go.Shape,\n 'RoundedRectangle',\n {\n fill: AtoGojsEditorModel.ENUM_COLORS.LIGHT_BLUE,\n stroke: AtoGojsEditorModel.ENUM_COLORS.LINK_WATER,\n name: 'textNodeShape',\n },\n new go.Binding('fill', 'fill'),\n new go.Binding('stroke', 'stroke'),\n ),\n this.$(\n go.Panel,\n 'Vertical',\n this.$(\n go.Panel,\n 'Horizontal',\n { alignment: go.Spot.Center },\n // Alert\n\n this.$(\n go.Panel,\n 'Auto',\n {\n margin: new go.Margin(0, 0, 0, 5),\n visible: false,\n },\n new go.Binding('visible', 'recommendation'),\n this.$(go.Shape, 'Circle', {\n fill: '#E95F47',\n stroke: '#E95F47',\n width: 15,\n height: 15,\n }),\n this.$(go.TextBlock, {\n text: '\\uf649',\n margin: new go.Margin(1.5, 0, 0, 0),\n font: '8px \"Font Awesome 6 Pro\"',\n stroke: '#fff',\n }),\n ),\n this._initialOptions.isReadOnly\n ? this.$(\n go.Panel,\n 'Position',\n {\n width: 18,\n height: 15,\n visible: false,\n alignment: go.Spot.Center,\n margin: new go.Margin(0, 0, 0, 5),\n mouseEnter: (e, obj) => {\n self.onHoverAlert.emit({\n left: e?.['Wr']?.x + 8,\n top: e?.['Wr']?.y,\n messageAlert: (obj as any).part?.ob?.messageAlert,\n });\n },\n mouseLeave: (e, obj) => {\n self.onHoverAlert.emit(null);\n },\n },\n new go.Binding('visible', 'alert'),\n\n this.$(go.Picture, ICON_ALERT, {\n alignment: go.Spot.Center,\n maxSize: new go.Size(30, 30),\n imageStretch: go.GraphObject.Uniform,\n }),\n )\n : '',\n ),\n\n this.$(\n go.Panel,\n 'Auto',\n this.$(\n go.TextBlock,\n {\n name: 'textBlockValue',\n row: 2,\n editable: false,\n desiredSize: new go.Size(size.w - 8, 18),\n font: 'bold 22px Arial',\n textAlign: 'center',\n stroke: AtoGojsEditorModel.ENUM_COLORS.GRAY,\n overflow: go.TextBlock.OverflowEllipsis,\n },\n // new go.Binding('editable', 'isEditable'),\n new go.Binding('angle', 'angle'),\n new go.Binding('margin', '', (data) => {\n if (data?.alert) {\n return new go.Margin(0, 0, 0, 0);\n }\n return new go.Margin(0, 0, 0, 0);\n }),\n new go.Binding('stroke', 'color'),\n new go.Binding('text', '', function (data) {\n return self.getTextDataBox(data);\n }).makeTwoWay(),\n new go.Binding('visible', '', (data) => !data?.isHiddenValue),\n ),\n ),\n ),\n\n this.makePort('T', go.Spot.Top, go.Spot.TopSide, false, true),\n this.makePort('L', go.Spot.Left, go.Spot.LeftSide, false, true),\n this.makePort('R', go.Spot.Right, go.Spot.RightSide, true, false),\n this.makePort('B', go.Spot.Bottom, go.Spot.BottomSide, true, false),\n ),\n this.arrowForPlantCell(size, ATO_ENUM_FLOW_DIRECTION.INFLOW),\n ),\n ),\n );\n this.myDiagram.nodeTemplateMap.set(AtoGojsEditorModel.ENUM_TEMPLATES.TEXT_NODE, node);\n }\n\n arrowForPlantCell(size, flowDirection) {\n return this.$(\n go.Panel,\n 'Table',\n {\n height: size.h,\n },\n new go.Binding('height', 'height'),\n new go.Binding('visible', '', (data) => data?.flowOfPlantCell === flowDirection),\n {\n column: flowDirection === ATO_ENUM_FLOW_DIRECTION.OUTFLOW ? 0 : 2,\n row: 2,\n },\n new go.Binding('itemArray', 'dataLinkArray'),\n {\n itemTemplate: this.$(\n go.Panel,\n new go.Binding('row', 'indexRow'),\n // new go.Binding('height', 'height'),\n this.$(\n go.Picture,\n ARROW,\n {\n alignment: go.Spot.Center,\n maxSize: new go.Size(20, 40),\n // imageStretch: go.GraphObject.Uniform,\n },\n new go.Binding('source', '', (data, panel) => {\n // panel.part?.data?.id\n return data?.isCreated ? panel?.$p : ARROW_GRAY;\n }),\n ),\n ),\n },\n );\n }\n\n getTextDataBox(data) {\n if (data?.value === VALUE_NA) {\n return TEXT_UNKNOWN;\n }\n return `${data?.shortenedNumber}${data?.unitPrefixes ? ' ' + data?.unitPrefixes : ''}`;\n }\n\n makeDataBoxTemplate(\n size: { w: number; h: number } = { w: AtoGojsEditorModel.GRID_SIZE * 5, h: AtoGojsEditorModel.GRID_SIZE * 5 },\n ) {\n const self = this;\n let node = this.$(\n go.Node,\n 'Spot',\n {\n locationSpot: go.Spot.Center,\n mouseOver: function (e, obj) {},\n click: (e, obj: any) => {\n if (obj?.data?.onSelected) {\n obj?.data?.onSelected(obj?.data);\n }\n },\n selectionChanged: (e) => {\n if (!e.isSelected && e?.data?.onSelected) {\n e?.data?.onSelected(null);\n }\n },\n },\n\n new go.Binding('location', 'loc', go.Point.parse).makeTwoWay(go.Point.stringify),\n this.$(\n go.Panel,\n 'Auto',\n this.$(\n go.Panel,\n 'Table',\n {\n mouseHover: (e, obj) => {\n if ((obj as any).part?.ob?.value === VALUE_NA) {\n self.onHoverInfoButton.emit({\n left: e?.['Wr']?.x + 8,\n top: e?.['Wr']?.y,\n node: node,\n });\n }\n },\n mouseLeave: (e, obj) => {\n if ((obj as any).part?.ob?.value === VALUE_NA) {\n self.onHoverInfoButton.emit(null);\n }\n },\n },\n\n this.$(\n go.Panel,\n 'Auto',\n { row: 0, stretch: go.GraphObject.Horizontal },\n this.$(\n go.Shape,\n 'Rectangle',\n {\n fill: AtoGojsEditorModel.ENUM_COLORS.LIGHT_BLUE,\n stroke: AtoGojsEditorModel.ENUM_COLORS.RESOLUTION_BLUE,\n },\n new go.Binding('fill', 'color'),\n ),\n this.$(\n go.TextBlock,\n {\n row: 0,\n margin: new go.Margin(10, 10, 5, 10),\n maxSize: new go.Size(size.w, NaN),\n stroke: 'white',\n font: 'normal 10pt Arial',\n textAlign: 'center',\n spacingBelow: 5,\n },\n new go.Binding('text', 'name').makeTwoWay(),\n ),\n ),\n this.$(\n go.Panel,\n 'Auto',\n { row: 1, stretch: go.GraphObject.Horizontal },\n this.$(go.Shape, 'Rectangle', {\n fill: AtoGojsEditorModel.ENUM_COLORS.LIGHT_BLUE,\n stroke: AtoGojsEditorModel.ENUM_COLORS.RESOLUTION_BLUE,\n }),\n this.$(\n go.Panel,\n 'Horizontal',\n this.$(\n go.TextBlock,\n {\n row: 2,\n // editable: true,\n // maxSize: new go.Size(size.w - 10, 40),\n // minSize: new go.Size(size.w - 10, size.h),\n margin: new go.Margin(5, 0, 5, 5),\n font: 'bold 12pt Arial',\n textAlign: 'center',\n stroke: AtoGojsEditorModel.ENUM_COLORS.GRAY,\n },\n new go.Binding('editable', 'isEditable'),\n new go.Binding('text', 'shortenedNumber').makeTwoWay(),\n new go.Binding('stroke', 'color'),\n new go.Binding('visible', '', function (data) {\n return data.value !== VALUE_NA;\n }),\n ),\n this.$(\n go.TextBlock,\n {\n row: 2,\n // editable: true,\n // maxSize: new go.Size(size.w - 10, 40),\n // minSize: new go.Size(size.w - 10, size.h),\n margin: new go.Margin(5, 5, 5, 0),\n font: 'bold 12pt Arial',\n textAlign: 'center',\n stroke: AtoGojsEditorModel.ENUM_COLORS.GRAY,\n },\n new go.Binding('visible', '', function (data) {\n return data.value !== VALUE_NA;\n }),\n new go.Binding('text', 'unitPrefixes'),\n new go.Binding('stroke', 'color'),\n ),\n // Icon Err when lack of value\n this.$(\n go.TextBlock,\n {\n margin: new go.Margin(10, 10, 10, 10),\n text: VALUE_NA, // Old version: TEXT_ERROR\n textAlign: 'center',\n font: 'bold 10pt sans-serif',\n stroke: AtoGojsEditorModel.ENUM_COLORS.SALMON,\n wrap: go.TextBlock.WrapFit,\n editable: false,\n isMultiline: false,\n },\n new go.Binding('visible', '', function (data) {\n return data.value === VALUE_NA;\n }),\n ),\n ),\n ),\n ),\n ),\n this.$(go.Panel, 'Vertical', {\n alignment: go.Spot.Left,\n alignmentFocus: new go.Spot(0, 0.5, 8, 0),\n }),\n this.$(go.Panel, 'Vertical', {\n alignment: go.Spot.Right,\n alignmentFocus: new go.Spot(1, 0.5, -8, 0),\n }),\n // four named ports, one on each side:\n\n this.makePort('T', go.Spot.Top, go.Spot.TopSide, false, true),\n this.makePort('L', go.Spot.Left, go.Spot.LeftSide, true, true),\n this.makePort('R', go.Spot.Right, go.Spot.RightSide, true, true),\n this.makePort('B', go.Spot.Bottom, go.Spot.BottomSide, true, false),\n );\n this.myDiagram.nodeTemplateMap.set(AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX, node);\n }\n\n showPoint(loc) {\n const docLoc = this.myDiagram.transformDocToView(loc);\n }\n\n makeEntityTemplate(\n icon,\n title,\n size: { w: number; h: number } = { w: AtoGojsEditorModel.GRID_SIZE * 5, h: AtoGojsEditorModel.GRID_SIZE * 5 },\n ) {\n const self = this;\n let node = this.$(\n go.Node,\n 'Spot',\n {\n locationSpot: go.Spot.Center,\n mouseOver: function (e, obj) {\n // self.showPoint(obj?.part?.location);\n },\n click: (e, obj: any) => {\n if (obj?.data?.onSelected) {\n obj?.data?.onSelected(obj?.data);\n self.onClickCompoent.emit({\n left: e?.['Wr']?.x,\n top: e?.['Wr']?.y,\n node: node,\n component: obj?.data,\n });\n }\n },\n selectionChanged: (e) => {\n if (!e.isSelected && e?.data?.onSelected) {\n e?.data?.onSelected(null);\n }\n },\n selectionAdornmentTemplate: this._initialOptions.isReadOnly\n ? null\n : this.$(\n go.Adornment,\n 'Spot',\n {\n shadowVisible: true,\n shadowBlur: 6,\n shadowOffset: new go.Point(0, 2),\n shadowColor: '#00000029',\n },\n this.$(\n go.Panel,\n 'Auto',\n this.$(go.Shape, { fill: null, stroke: 'dodgerblue', strokeWidth: 4 }),\n this.$(go.Placeholder, { padding: 3 }),\n ),\n this.$(\n go.Panel,\n 'Horizontal',\n {\n alignment: go.Spot.TopRight,\n alignmentFocus: go.Spot.Bottom,\n background: 'white',\n },\n // more\n !this._initialOptions.isReadOnly\n ? this.generateActionGroup(\n [\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.RO_WATER_TREATMENT\n ].name,\n AtoGojsEditorModel.NODE_TEMPLATES[AtoGojsEditorModel.ENUM_TEMPLATES.COOLING_TOWER]\n .name,\n ].includes(title)\n ? [\n AtoDefaultGojsEditor.ENUM_ACTIONS.RENAME,\n AtoDefaultGojsEditor.ENUM_ACTIONS.FLOW_DETAILS,\n AtoDefaultGojsEditor.ENUM_ACTIONS.ASSET_PARAMETERS,\n AtoDefaultGojsEditor.ENUM_ACTIONS.OUTFLOW,\n AtoDefaultGojsEditor.ENUM_ACTIONS.DELETE,\n ]\n : [\n AtoDefaultGojsEditor.ENUM_ACTIONS.RENAME,\n AtoDefaultGojsEditor.ENUM_ACTIONS.DETAILS,\n AtoDefaultGojsEditor.ENUM_ACTIONS.OUTFLOW,\n AtoDefaultGojsEditor.ENUM_ACTIONS.DELETE,\n ],\n )\n : {},\n ),\n ),\n },\n // new go.Binding('location', 'loc', go.Point.parse),\n new go.Binding('movable', 'movable'),\n new go.Binding('selectable', 'selectable'),\n new go.Binding('location', 'loc', go.Point.parse).makeTwoWay(go.Point.stringify),\n\n this.$(\n go.Panel,\n 'Auto',\n { width: size.w, height: size.h },\n this.$(go.Shape, 'RoundedRectangle', {\n fill: 'white',\n stroke: AtoGojsEditorModel.ENUM_COLORS.LINK_WATER,\n strokeWidth: 1,\n // strokeDashArray: [5, 5],\n }),\n this.$(\n go.Panel,\n 'Table',\n this.$(go.Picture, icon, {\n row: 1,\n alignment: go.Spot.Center,\n desiredSize: new go.Size(size.w - 20, size.h - 50),\n // maxSize: new go.Size(60, 60),\n imageStretch: go.GraphObject.Uniform,\n toolTip: this.$(\n 'ToolTip',\n this.$(go.TextBlock, {\n margin: 4,\n text: title,\n }),\n ),\n }),\n this.$(\n go.TextBlock,\n {\n row: 2,\n margin: new go.Margin(10, 0, 3, 0),\n editable: true,\n desiredSize: new go.Size(size.w - 20, 15),\n stroke: '#000D42',\n font: 'bold 10pt Arial',\n textAlign: 'center',\n // wrap: go.TextBlock.None,\n overflow: go.TextBlock.OverflowEllipsis,\n toolTip: this.$(\n 'ToolTip',\n this.$(go.TextBlock, { margin: 4 }, new go.Binding('text', 'name')),\n ),\n },\n new go.Binding('text', 'name').makeTwoWay(),\n new go.Binding('editable', '', (data) => {\n return !(\n AtoGojsEditorModel.TYPE_COMPONENT_WATER?.includes(data?.systemType) &&\n data?.topologyType !== ATO_ECOMPONENT_PLANT_TYPE.WATER &&\n data?.topologyType !== ATO_ECOMPONENT_PLANT_TYPE.WATER_PLANT_CELL\n );\n }),\n ),\n ),\n ),\n\n this.$(go.Panel, 'Vertical', {\n alignment: go.Spot.Left,\n alignmentFocus: new go.Spot(0, 0.5, 8, 0),\n }),\n this.$(go.Panel, 'Vertical', {\n alignment: go.Spot.Right,\n alignmentFocus: new go.Spot(1, 0.5, -8, 0),\n }),\n\n this.makePort('T', go.Spot.Top, go.Spot.TopSide, false, true),\n this.makePort('L', go.Spot.Left, go.Spot.LeftSide, false, true),\n this.makePort('R', go.Spot.Right, go.Spot.RightSide, true, false),\n this.makePort('B', go.Spot.Bottom, go.Spot.BottomSide, true, false),\n );\n this.myDiagram.nodeTemplateMap.set(title, node);\n }\n\n makeEntityTemplateEnergy(\n icon,\n title,\n size: { w: number; h: number } = { w: AtoGojsEditorModel.GRID_SIZE * 5, h: AtoGojsEditorModel.GRID_SIZE * 5 },\n ) {\n const self = this;\n let node = this.$(\n go.Node,\n 'Spot',\n {\n locationSpot: go.Spot.Center,\n mouseOver: function (e, obj) {\n // self.showPoint(obj?.part?.location);\n },\n click: (e, obj: any) => {\n if (obj?.data?.onSelected) {\n obj?.data?.onSelected(obj?.data);\n }\n },\n selectionChanged: (e) => {\n if (!e.isSelected && e?.data?.onSelected) {\n e?.data?.onSelected(null);\n }\n },\n selectionAdornmentTemplate: this._initialOptions.isReadOnly\n ? null\n : this.$(\n go.Adornment,\n 'Spot',\n {\n shadowVisible: true,\n shadowBlur: 6,\n shadowOffset: new go.Point(0, 2),\n shadowColor: '#00000029',\n },\n this.$(\n go.Panel,\n 'Auto',\n this.$(go.Shape, { fill: null, stroke: 'dodgerblue', strokeWidth: 4 }),\n this.$(go.Placeholder, { padding: 3 }),\n ),\n this.$(\n go.Panel,\n 'Horizontal',\n {\n alignment: go.Spot.TopRight,\n alignmentFocus: go.Spot.Bottom,\n background: 'white',\n },\n // more\n this.generateActionGroup([\n AtoDefaultGojsEditor.ENUM_ACTIONS.RENAME,\n AtoDefaultGojsEditor.ENUM_ACTIONS.DETAILS,\n AtoDefaultGojsEditor.ENUM_ACTIONS.OUTFLOW,\n AtoDefaultGojsEditor.ENUM_ACTIONS.DELETE,\n ]),\n ),\n ),\n },\n new go.Binding('movable', 'movable'),\n new go.Binding('selectable', 'selectable'),\n new go.Binding('location', 'loc', go.Point.parse).makeTwoWay(go.Point.stringify),\n this.$(\n go.Panel,\n 'Auto',\n { width: size.w, height: size.h },\n this.$(go.Shape, 'RoundedRectangle', {\n fill: 'white',\n stroke: AtoGojsEditorModel.ENUM_COLORS.LINK_WATER,\n // strokeDashArray: [5, 5],\n }),\n this.$(\n go.Panel,\n 'Table',\n this.$(go.TextBlock, AtoGojsEditorModel.TEMPLATE_DUPLICATE[title] ?? title, {\n row: 0,\n margin: new go.Margin(3, 3, 10, 3),\n maxSize: new go.Size(size.w - 20, 15),\n stroke: '#444444',\n font: 'normal 10pt Arial',\n textAlign: 'center',\n toolTip: this.$(\n 'ToolTip',\n this.$(go.TextBlock, {\n margin: 4,\n text: title,\n }),\n ),\n }),\n this.$(go.Picture, icon, {\n row: 1,\n alignment: go.Spot.Center,\n desiredSize: new go.Size(size.w - 20, size.h - 65),\n imageStretch: go.GraphObject.Uniform,\n }),\n this.$(\n go.TextBlock,\n {\n row: 2,\n margin: new go.Margin(10, 3, 3, 3),\n editable: true,\n maxSize: new go.Size(size.w - 20, 15),\n stroke: '#2C2C2C',\n font: 'bold 10pt Arial',\n textAlign: 'center',\n // wrap: go.TextBlock.None,\n overflow: go.TextBlock.OverflowEllipsis,\n toolTip: this.$(\n 'ToolTip',\n this.$(\n go.TextBlock,\n {\n margin: 4,\n },\n new go.Binding('text', 'name').makeTwoWay(),\n ),\n ),\n },\n new go.Binding('text', 'name').makeTwoWay(),\n ),\n ),\n ),\n this.$(go.Panel, 'Vertical', {\n alignment: go.Spot.Left,\n alignmentFocus: new go.Spot(0, 0.5, 8, 0),\n }),\n this.$(go.Panel, 'Vertical', {\n alignment: go.Spot.Right,\n alignmentFocus: new go.Spot(1, 0.5, -8, 0),\n }),\n // four named ports, one on each side:\n\n this.makePort('T', go.Spot.Top, go.Spot.TopSide, false, true),\n this.makePort('L', go.Spot.Left, go.Spot.LeftSide, false, true),\n this.makePort('R', go.Spot.Right, go.Spot.RightSide, true, false),\n this.makePort('B', go.Spot.Bottom, go.Spot.BottomSide, true, false),\n );\n this.myDiagram.nodeTemplateMap.set(title, node);\n }\n\n // Plant Cell\n plantCellTemplate(icon, title, size: { w: number; h: number } = { w: 260, h: AtoGojsEditorModel.PLANT_CELL_HEIGHT }) {\n const self = this;\n let node = this.$(\n go.Group,\n 'Spot',\n {\n locationSpot: go.Spot.Center,\n mouseOver: function (e, obj) {\n // self.showPoint(obj?.part?.location);\n },\n\n mouseEnter: (e, obj) => {\n // self.onHoverAlert.emit({\n // left: e?.['Wr']?.x + 8,\n // top: e?.['Wr']?.y,\n // messageAlert: (obj as any).part?.ob?.messageAlert,\n // });\n const node = obj.part;\n self.onHoverInfoButton.emit({\n left: e?.['Wr']?.x + 8,\n top: e?.['Wr']?.y,\n node: node,\n });\n\n let shape = (node as any)?.findObject('SHAPE_KEY'); // Thay 'SHAPE_KEY' bằng khóa bạn đặt cho hình Shape\n // debugger;\n if (shape) {\n shape.stroke = 'blue'; // Thay đổi màu stroke thành blue\n }\n },\n mouseLeave: (e, obj) => {\n self.onHoverInfoButton.emit(null);\n // self.onHoverAlert.emit(null);\n },\n\n click: (e, obj: any) => {\n if (obj?.data?.onSelected) {\n obj?.data?.onSelected(obj?.data);\n self.onClickCompoent.emit({\n left: e?.['Wr']?.x,\n top: e?.['Wr']?.y,\n node: node,\n component: obj?.data,\n });\n }\n },\n\n doubleClick: (e, obj: any) => {\n if (!this._initialOptions?.isReadOnly) {\n const node = obj.part;\n this.isShowNodeInfo\n ? self.onDoubleClickNode.emit({\n left: e?.['Wr']?.x,\n top: e?.['Wr']?.y,\n node: node,\n })\n : null;\n }\n },\n\n // Todo\n\n selectionChanged: (e) => {\n if (!e.isSelected && e?.data?.onSelected) {\n e?.data?.onSelected(null);\n }\n },\n\n selectionAdornmentTemplate: this._initialOptions.isReadOnly\n ? null\n : this.$(\n go.Adornment,\n 'Spot',\n {\n shadowVisible: true,\n shadowBlur: 6,\n shadowOffset: new go.Point(0, 2),\n shadowColor: '#00000029',\n },\n this.$(\n go.Panel,\n 'Auto',\n { width: 170 },\n this.$(go.Shape, { fill: null, stroke: 'dodgerblue', strokeWidth: 4 }),\n this.$(go.Placeholder, { padding: 3 }),\n ),\n this.$(\n go.Panel,\n 'Horizontal',\n { alignment: go.Spot.TopRight, alignmentFocus: go.Spot.Bottom },\n // more\n this.generateActionGroup([\n AtoDefaultGojsEditor.ENUM_ACTIONS.RENAME,\n AtoDefaultGojsEditor.ENUM_ACTIONS.CHANGE_ICON,\n AtoDefaultGojsEditor.ENUM_ACTIONS.ONLY_DETAILS,\n // DefaultGojsEditor.ENUM_ACTIONS.OUTFLOW,\n AtoDefaultGojsEditor.ENUM_ACTIONS.DELETE,\n ]),\n // new go.Binding('visible', 'isNotAction', (x) => !x),\n ),\n\n // this.$(\n // go.Panel,\n // 'Horizontal',\n // { alignment: go.Spot.TopRight, alignmentFocus: go.Spot.Bottom },\n // this.generateActionGroup([DefaultGojsEditor.ENUM_ACTIONS.ONLY_DETAILS]),\n // new go.Binding('visible', '', (x) => {\n // return x?.isOnlyDetails && !x?.isNotAction ? true : false;\n // }),\n // ),\n ),\n },\n new go.Binding('location', 'loc', go.Point.parse).makeTwoWay(go.Point.stringify),\n this.$(\n go.Panel,\n 'Auto',\n { width: size.w, height: size.h },\n // this.$(go.Shape, 'RoundedRectangle', {\n // fill: 'white',\n // stroke: AtoGojsEditorModel.ENUM_COLORS.LINK_WATER,\n // // strokeDashArray: [5, 5],\n // }),\n // this.$(go.Placeholder, { padding: new go.Margin(0, 0, 0, 0), visible: false }),\n this.$(\n go.Panel,\n 'Auto',\n {\n alignmentFocus: go.Spot.Center,\n margin: new go.Margin(0, 50, 0, 50),\n },\n this.$(go.Shape, 'RoundedRectangle', {\n fill: 'white',\n stroke: AtoGojsEditorModel.ENUM_COLORS.LINK_WATER,\n strokeDashArray: [5, 5],\n }),\n this.$(\n go.Panel,\n 'Table',\n this.$(go.TextBlock, title, {\n row: 0,\n margin: new go.Margin(3, 0, 10, 0),\n desiredSize: new go.Size(size.w - 20, 15),\n stroke: '#444444',\n font: 'normal 10pt Arial',\n textAlign: 'center',\n toolTip: this.$(\n 'ToolTip',\n this.$(go.TextBlock, {\n margin: 4,\n text: title,\n }),\n ),\n }),\n this.$(\n go.Picture,\n icon,\n {\n row: 1,\n alignment: go.Spot.Center,\n desiredSize: new go.Size(size.w - 20, size.h - 65),\n imageStretch: go.GraphObject.Uniform,\n },\n new go.Binding(\n 'source',\n 'pathImage',\n (x) =>\n x ?? AtoGojsEditorModel.NODE_TEMPLATES[AtoGojsEditorModel.ENUM_TEMPLATES.PLANT_CELL].icon,\n ),\n ),\n this.$(\n go.TextBlock,\n {\n row: 2,\n margin: new go.Margin(10, 0, 3, 0),\n editable: true,\n desiredSize: new go.Size(size.w - 20, 15),\n stroke: '#2C2C2C',\n font: 'bold 10pt Arial',\n textAlign: 'center',\n // wrap: go.TextBlock.None,\n overflow: go.TextBlock.OverflowEllipsis,\n toolTip: this.$(\n 'ToolTip',\n this.$(\n go.TextBlock,\n {\n margin: 4,\n },\n new go.Binding('text', 'name').makeTwoWay(),\n ),\n ),\n },\n new go.Binding('text', 'name').makeTwoWay(),\n ),\n ),\n ),\n ),\n\n this.$(go.Panel, 'Vertical', {\n alignment: go.Spot.Left,\n alignmentFocus: new go.Spot(0, 0.5, 8, 0),\n }),\n this.$(go.Panel, 'Vertical', {\n alignment: go.Spot.Right,\n alignmentFocus: new go.Spot(1, 0.5, -8, 0),\n }),\n\n // this.makePort('T', go.Spot.Top, go.Spot.TopSide, false, true),\n // this.makePort('L', go.Spot.Left, go.Spot.LeftSide, false, true),\n // this.makePort('R', go.Spot.Right, go.Spot.RightSide, true, false),\n // this.makePort('B', go.Spot.Bottom, go.Spot.BottomSide, true, false),\n );\n this.myDiagram.nodeTemplateMap.set(title, node);\n }\n\n makeEntityWithdrawOrDischarge(\n icon,\n title,\n size: { w: number; h: number } = { w: AtoGojsEditorModel.GRID_SIZE * 5, h: AtoGojsEditorModel.GRID_SIZE * 5 },\n ) {\n const self = this;\n let node = this.$(\n go.Node,\n 'Spot',\n {\n locationSpot: go.Spot.Center,\n mouseOver: function (e, obj) {\n // self.showPoint(obj?.part?.location);\n },\n click: (e, obj: any) => {\n if (obj?.data?.onSelected) {\n obj?.data?.onSelected(obj?.data);\n }\n },\n selectionChanged: (e) => {\n if (!e.isSelected && e?.data?.onSelected) {\n e?.data?.onSelected(null);\n }\n },\n selectionAdornmentTemplate: this._initialOptions.isReadOnly\n ? null\n : this.$(\n go.Adornment,\n 'Spot',\n this.$(\n go.Panel,\n 'Auto',\n this.$(go.Shape, { fill: null, stroke: 'dodgerblue', strokeWidth: 4 }),\n this.$(go.Placeholder, { padding: 3 }),\n ),\n this.$(\n go.Panel,\n 'Horizontal',\n { alignment: go.Spot.TopRight, alignmentFocus: go.Spot.Bottom },\n this.generateActionGroup([\n AtoDefaultGojsEditor.ENUM_ACTIONS.RENAME,\n AtoDefaultGojsEditor.ENUM_ACTIONS.DETAILS,\n AtoDefaultGojsEditor.ENUM_ACTIONS.OUTFLOW,\n AtoDefaultGojsEditor.ENUM_ACTIONS.DELETE,\n ]),\n ),\n ),\n },\n // new go.Binding('location', 'loc', go.Point.parse),\n new go.Binding('movable', 'movable'),\n new go.Binding('selectable', 'selectable'),\n new go.Binding('location', 'loc', go.Point.parse).makeTwoWay(go.Point.stringify),\n\n this.$(\n go.Panel,\n 'Auto',\n { width: size.w, height: size.h },\n this.$(go.Shape, 'RoundedRectangle', {\n fill: 'white',\n stroke: AtoGojsEditorModel.ENUM_COLORS.LINK_WATER,\n // strokeDashArray: [5, 5],\n }),\n this.$(\n go.Panel,\n 'Table',\n // this.$(go.TextBlock, title, {\n // row: 0,\n // margin: new go.Margin(3, 3, 10, 3),\n // maxSize: new go.Size(size.w - 20, NaN),\n // stroke: '#444444',\n // font: 'normal 10pt Arial',\n // textAlign: 'center',\n // }),\n this.$(go.Picture, icon, {\n row: 1,\n alignment: go.Spot.Center,\n desiredSize: new go.Size(size.w - 20, size.h - 50),\n imageStretch: go.GraphObject.Uniform,\n }),\n this.$(\n go.TextBlock,\n {\n row: 2,\n margin: new go.Margin(10, 0, 3, 0),\n editable: true,\n desiredSize: new go.Size(size.w - 20, 15),\n stroke: '#000D42',\n font: 'bold 10pt Arial',\n textAlign: 'center',\n // wrap: go.TextBlock.None,\n overflow: go.TextBlock.OverflowEllipsis,\n toolTip: this.$(\n 'ToolTip',\n this.$(\n go.TextBlock,\n {\n margin: 4,\n },\n new go.Binding('text', 'name').makeTwoWay(),\n ),\n ),\n },\n new go.Binding('text', 'name').makeTwoWay(),\n // {\n // // define a tooltip for each node that displays the color as text\n // toolTip: this.$(\n // 'ToolTip',\n // this.$(go.TextBlock, { margin: 4 }, new go.Binding('text', 'name')),\n // ), // end of Adornment\n // },\n ),\n ),\n ),\n this.$(go.Panel, 'Vertical', {\n alignment: go.Spot.Left,\n alignmentFocus: new go.Spot(0, 0.5, 8, 0),\n }),\n this.$(go.Panel, 'Vertical', {\n alignment: go.Spot.Right,\n alignmentFocus: new go.Spot(1, 0.5, -8, 0),\n }),\n // four named ports, one on each side:\n\n this.makePort('T', go.Spot.Top, go.Spot.TopSide, false, true),\n this.makePort('L', go.Spot.Left, go.Spot.LeftSide, false, true),\n this.makePort('R', go.Spot.Right, go.Spot.RightSide, true, false),\n this.makePort('B', go.Spot.Bottom, go.Spot.BottomSide, true, false),\n );\n this.myDiagram.nodeTemplateMap.set(title, node);\n }\n\n editTextGroupZone(e, button) {\n const nodeGroup = button.part.adornedPart;\n const diagram = nodeGroup.diagram;\n e.diagram.commandHandler.editTextBlock(nodeGroup.findObject('TEXTBLOCK'));\n }\n\n editText(e, button) {\n const node = button.part.adornedPart;\n e.diagram.commandHandler.editTextBlock(node.findObject('TEXTBLOCK'));\n }\n\n async dragNewNode(e, button) {\n const tool = e.diagram.toolManager.draggingTool;\n\n if (tool.isBeyondDragSize()) {\n const data = button._dragData;\n if (!data) return;\n e.diagram.startTransaction('button drag'); // see doDeactivate, below\n\n const fromnode = button.part.adornedPart;\n const diagram = fromnode.diagram;\n const model = diagram.model;\n const nodedata = { ...model.copyNodeData(data), key: UtilsService.generateUUID() };\n model.addNodeData(nodedata);\n const newnode = diagram.findNodeForData(nodedata);\n const linkdata = model.copyLinkData({});\n model.setFromKeyForLinkData(linkdata, model.getKeyForNodeData(fromnode.data));\n model.setToKeyForLinkData(linkdata, model.getKeyForNodeData(newnode.data));\n model.addLinkData(linkdata);\n diagram.select(newnode);\n // this.createNodeAndLink(data, button.part.adornedPart);\n\n newnode.location = e.diagram.lastInput.documentPoint;\n // don't commitTransaction here, but in tool.doDeactivate, after drag operation finished\n // set tool.currentPart to a selected movable Part and then activate the DraggingTool\n tool.currentPart = newnode;\n e.diagram.currentTool = tool;\n tool.doActivate();\n }\n }\n\n addItemOnGroupZone(e, button) {\n const data = button._dragData;\n if (!data) return;\n e.diagram.startTransaction('Add Item On Group Zone');\n const fromnode = button.part.adornedPart;\n const dragData = button._dragData;\n const diagram = fromnode.diagram;\n const model = diagram.model;\n const nodedata = model.copyNodeData(dragData);\n model.addNodeData({\n ...nodedata,\n type: 'SubSystem',\n name: '[Title...]',\n nameItem: '[Name...]',\n group: fromnode?.ob?.key,\n });\n e.diagram.commitTransaction('Add Item On Group Zone');\n // const newnode = diagram.findNodeForData(nodedata);\n // const linkdata = model.copyLinkData({});\n // model.setFromKeyForLinkData(linkdata, model.getKeyForNodeData(fromnode.data));\n // model.setToKeyForLinkData(linkdata, model.getKeyForNodeData(newnode.data));\n // model.addLinkData(linkdata);\n // diagram.select(newnode);\n\n // newnode.location = new go.Point(fromnode.location.x + 200, fromnode.location.y);\n // e.diagram.commitTransaction('Create Node and Link');\n }\n\n generateActionGroup(actions: AtoDefaultGojsEditor.ENUM_ACTIONS[]) {\n const self = this;\n return this.$(\n 'Button',\n {\n click: function (e, obj) {\n self.openActionMenu();\n const filteredActions = _.filter(obj.part?.['ob']?.actions ?? actions, (action) => {\n // Filter Insight button\n if (action === AtoDefaultGojsEditor.ENUM_ACTIONS.INSIGHT) {\n return !!obj.part?.['ob']?.id;\n }\n if (\n action === AtoDefaultGojsEditor.ENUM_ACTIONS.RENAME &&\n obj.part?.['ob']?.type !== AtoGojsEditorModel.ENUM_TEMPLATES.TEXT_NODE &&\n AtoGojsEditorModel.TYPE_COMPONENT_WATER?.includes(obj.part?.['ob']?.systemType) &&\n obj.part?.['ob']?.topologyType !== ATO_ECOMPONENT_PLANT_TYPE.WATER &&\n obj.part?.['ob']?.topologyType !== ATO_ECOMPONENT_PLANT_TYPE.WATER_PLANT_CELL\n ) {\n return false;\n }\n if (action === AtoDefaultGojsEditor.ENUM_ACTIONS.OUTFLOW &&\n self.plantSatus === ATO_EPlantType.BASIC_PLANT && \n obj.part?.data?.type === AtoGojsEditorModel.ENUM_TEMPLATES.TEXT_NODE\n ) {\n return false;\n }\n return true;\n }).map((e) => {\n if (\n ATO_ECOMPONENT_PLANT_TYPE.STEAM === obj.part?.['ob']?.topologyType &&\n e === AtoDefaultGojsEditor.ENUM_ACTIONS.INSIGHT\n ) {\n return AtoDefaultGojsEditor.ENUM_ACTIONS.DATA_MAPPING;\n }\n if (\n e === AtoDefaultGojsEditor.ENUM_ACTIONS.FLOW_DETAILS &&\n obj?.part?.['ob']?.systemType === AtoGojsEditorModel.ENUM_TYPES.COOLING_TOWER\n ) {\n return AtoDefaultGojsEditor.ENUM_ACTIONS.FLOW_DETAILS_AND_WIZARD;\n }\n return e;\n });\n self.actions = filteredActions.map((action) => {\n let onClickFn = () => {};\n switch (action) {\n case AtoDefaultGojsEditor.ENUM_ACTIONS.INSIGHT:\n case AtoDefaultGojsEditor.ENUM_ACTIONS.DATA_MAPPING:\n onClickFn = () => {\n self.onOpenInsightMapping.emit({\n node: obj.part,\n });\n };\n break;\n case AtoDefaultGojsEditor.ENUM_ACTIONS.DETAILS:\n case AtoDefaultGojsEditor.ENUM_ACTIONS.FLOW_DETAILS:\n case AtoDefaultGojsEditor.ENUM_ACTIONS.FLOW_DETAILS_AND_WIZARD:\n onClickFn = () => {\n self.onOpenDetail.emit({\n node: obj.part,\n });\n };\n break;\n case AtoDefaultGojsEditor.ENUM_ACTIONS.ONLY_DETAILS:\n onClickFn = () => {\n self.onOpenDetail.emit({\n node: obj.part,\n });\n };\n break;\n case AtoDefaultGojsEditor.ENUM_ACTIONS.ASSET_PARAMETERS:\n onClickFn = () => {\n self.onOpenAssetParameter.emit({\n node: obj.part,\n });\n };\n break;\n case AtoDefaultGojsEditor.ENUM_ACTIONS.RENAME:\n onClickFn = () => {\n if (obj.part?.data?.type === AtoGojsEditorModel.ENUM_TEMPLATES.TEXT_NODE) {\n self.onRename.emit({\n left: e?.['Wr']?.x - 50,\n top: e?.['Wr']?.y,\n ...obj.part?.data,\n })\n // LayoutService.setToolTipComponentDataStatic({\n // component: RenameBoxComponent,\n // data: {\n // left: e?.['Wr']?.x - 50,\n // top: e?.['Wr']?.y,\n // ...obj.part?.data,\n // },\n // });\n } else {\n self.editText(e, obj);\n }\n };\n break;\n case AtoDefaultGojsEditor.ENUM_ACTIONS.OUTFLOW:\n onClickFn = () => {\n self.clickNewNode(\n e,\n _.merge(obj, {\n actionMove: self.dragNewNode, // defined below, to support dragging from the button\n _dragData:{\n ...{\n type: AtoGojsEditorModel.ENUM_TEMPLATES.TEXT_NODE,\n name: `${\n AtoGojsEditorModel.ACTION_RIGHT_MENU_GROUP.DATA_BOX\n }_${moment().valueOf()}`,\n color: AtoGojsEditorModel.ENUM_COLORS.BLUE,\n }, \n ...self.setProFOrNewNode(self)\n },\n }),\n );\n };\n break;\n case AtoDefaultGojsEditor.ENUM_ACTIONS.DELETE:\n onClickFn = () => {\n self.deleteNode(e);\n };\n break;\n case AtoDefaultGojsEditor.ENUM_ACTIONS.CHANGE_ICON:\n onClickFn = () => {\n self.onOpenChangeIcon.emit({\n node: obj.part,\n });\n };\n break;\n }\n return {\n ...AtoDefaultGojsEditor.ACTIONS[action],\n onClick: () => {\n onClickFn();\n },\n };\n });\n },\n 'ButtonBorder.strokeWidth': 0,\n 'ButtonBorder.fill': 'white',\n },\n // new go.Binding('visible', 'isNotDragNewNode', (x) => !x),\n // new go.Binding('visible', 'isNotDelete', (x) => !x),\n new go.Binding('visible', 'isNotAction', (x) => !x),\n this.$(go.TextBlock, {\n margin: 4,\n text: '\\ue489',\n font: '20px \"Font Awesome 6 Pro\"',\n cursor: 'pointer',\n }),\n );\n }\n\n async setProFOrNewNode(self) {\n if (self.plantSatus === ATO_EPlantType.BASIC_PLANT) {\n return {\n movable: false,\n isNotAllowConnect: true,\n }\n }\n return {};\n }\n\n async clickNewNode(e, button) {\n const data = button._dragData;\n if (!data) return;\n e.diagram.startTransaction('Create Node and Link');\n const fromnode = button.part.adornedPart;\n\n // this.createNodeAndLink(button._dragData, fromnode);\n const dragData = button._dragData;\n const diagram = fromnode.diagram;\n const model = diagram.model;\n const nodedata = { ...model.copyNodeData(dragData), key: UtilsService.generateUUID() };\n model.addNodeData({\n ...nodedata,\n isEditable: true,\n shortenedNumber: 0,\n isFormat: false,\n dataCollectionMethod: AtoGojsEditorModel.DATA_COLLECTION_METHOD.MANUAL,\n color: AtoGojsEditorModel.COLOR_COLLECTION_METHOD[AtoGojsEditorModel.DATA_COLLECTION_METHOD.MANUAL].color,\n group: fromnode?.ob?.group,\n value: 0,\n });\n const newnode = diagram.findNodeForData(nodedata);\n\n const linkdata = model.copyLinkData({});\n model.setFromKeyForLinkData(linkdata, model.getKeyForNodeData(fromnode.data));\n model.setToKeyForLinkData(linkdata, model.getKeyForNodeData(newnode.data));\n model.addLinkData(linkdata);\n diagram.select(newnode);\n if (nodedata?.movable !== undefined && nodedata?.movable !== null) {\n newnode.movable = nodedata?.movable;\n }\n\n newnode.location = new go.Point(\n fromnode.location.x + 160,\n fromnode.location.y + this.findLocYFromnode(fromnode) * AtoDefaultGojsEditor.DISTANCE_2_OUTPUT,\n );\n e.diagram.commitTransaction('Create Node and Link');\n }\n\n findLocYFromnode(fromnode) {\n // Find location auto right\n const locYFromnode = fromnode.data?.loc?.split(' ')?.[1];\n const locYAlreadyExist: any = [];\n fromnode.findLinksOutOf().each(function (link) {\n const targetNode = link.toNode;\n if (targetNode) {\n locYAlreadyExist.push(targetNode.data?.loc?.split(' ')?.[1] - locYFromnode);\n }\n });\n\n let i = 0;\n while (this.isEmptyYLoc(locYAlreadyExist, i) === null && i < 100) {\n i++;\n }\n return this.isEmptyYLoc(locYAlreadyExist, i);\n }\n\n isEmptyYLoc(locYAlreadyExist, i) {\n if (\n !_.some(\n locYAlreadyExist,\n (x) =>\n x < i * AtoDefaultGojsEditor.DISTANCE_2_OUTPUT + AtoDefaultGojsEditor.DISTANCE_2_OUTPUT / 2 &&\n x > i * AtoDefaultGojsEditor.DISTANCE_2_OUTPUT - AtoDefaultGojsEditor.DISTANCE_2_OUTPUT / 2,\n )\n ) {\n return i;\n }\n if (\n !_.some(\n locYAlreadyExist,\n (x) =>\n x < -i * AtoDefaultGojsEditor.DISTANCE_2_OUTPUT + AtoDefaultGojsEditor.DISTANCE_2_OUTPUT / 2 &&\n x > -i * AtoDefaultGojsEditor.DISTANCE_2_OUTPUT - AtoDefaultGojsEditor.DISTANCE_2_OUTPUT / 2,\n )\n ) {\n return -i;\n }\n return null;\n }\n\n createNewNode(newnode) {\n this.addTemplate(newnode);\n this.myDiagram.startTransaction('add group node');\n this.myDiagram.model.addNodeData(newnode);\n this.myDiagram.commitTransaction('add group node');\n }\n\n deleteNode(e) {\n e.diagram.startTransaction('Delete group node');\n e.diagram.removeParts(e.diagram.selection);\n e.diagram.commitTransaction('Delete group node');\n }\n\n deleteNodeOnDiagram(e) {\n e.startTransaction('Delete group node');\n e.removeParts(e.selection);\n e.commitTransaction('Delete group node');\n }\n\n insightNode(e) {}\n\n drawLink(e, button) {\n const node = button.part.adornedPart;\n const tool = e.diagram.toolManager.linkingTool;\n tool.startObject = node.port;\n e.diagram.currentTool = tool;\n tool.doActivate();\n }\n\n makePortGroup(name, align, spot, output, input) {\n const horizontal = align.equals(go.Spot.Top) || align.equals(go.Spot.Bottom);\n return this.$(\n go.Panel,\n 'Table',\n {\n background: '#919CA5',\n width: 40,\n height: 40,\n alignment: align,\n stretch: horizontal ? go.GraphObject.Horizontal : go.GraphObject.Vertical,\n portId: name,\n fromSpot: spot,\n fromLinkable: output,\n toSpot: spot,\n toLinkable: input,\n cursor: this._initialOptions.isReadOnly ? '' : 'pointer',\n alignmentFocus: go.Spot.Center, // tập trung vào trung tâm của Panel\n // mouseEnter: this._initialOptions.isReadOnly\n // ? null\n // : (e, panel) => {\n // const textBlock = (panel as any)?.findObject('textBlock') as go.TextBlock | null;\n // if (textBlock) {\n // // && output\n // textBlock.visible = true;\n // switch (name) {\n // case 'B':\n // case 'R': {\n // panel.background = 'rgb(243 144 171)';\n // break;\n // }\n // case 'T':\n // case 'L': {\n // panel.background = 'rgb(103,151,207)';\n // break;\n // }\n // default: {\n // panel.background = 'rgb(243 144 171)';\n // }\n // }\n // }\n // },\n\n // mouseLeave: this._initialOptions.isReadOnly\n // ? null\n // : (e, panel) => {\n // const textBlock = (panel as any).findObject('textBlock') as go.TextBlock | null;\n // if (textBlock) {\n // textBlock.visible = false; // Ẩn TextBlock khi rời khỏi Panel\n // }\n // panel.background = 'transparent';\n // },\n },\n\n this.$(go.Shape, 'Ellipse', {\n fill: 'white', // Background color of the circle\n strokeWidth: 2,\n stroke: '#919CA5', // Border color of the circle\n width: 40, // Match the panel's width\n height: 40, // Match the panel's height\n }),\n\n // this.$(\n // go.TextBlock,\n // {\n // name: 'textBlock',\n // margin: 4,\n // text: '\\uf0da', // Mã Unicode tương ứng với fa-caret-left\n // font: '900 12px \"Font Awesome 6 Pro\"',\n // stroke: 'white', // Đặt màu chữ thành màu trắng\n // cursor: 'pointer',\n // visible: false,\n // },\n // new go.Binding('text', 'name', (_) => {\n // switch (name) {\n // case 'T':\n // case 'B': {\n // return '\\uf0d7';\n // }\n // case 'L':\n // case 'R': {\n // return '\\uf0da';\n // }\n // default: {\n // return '\\uf0d7';\n // }\n // }\n // }),\n // ),\n );\n }\n\n makePort(name, align, spot, output, input) {\n // if (this._initialOptions.isReadOnly) {\n // return {};\n // }\n const horizontal = align.equals(go.Spot.Top) || align.equals(go.Spot.Bottom);\n // const vertical = align.equals(go.Spot.Left) || align.equals(go.Spot.Right);\n // the port is basically just a transparent rectangle that stretches along the side of the node,\n // and becomes colored when the mouse passes over it\n return this.$(\n go.Panel,\n 'Table',\n {\n background: 'transparent',\n width: horizontal ? NaN : 8,\n height: !horizontal ? NaN : 8,\n alignment: align,\n stretch: horizontal ? go.GraphObject.Horizontal : go.GraphObject.Vertical,\n portId: name,\n fromSpot: spot,\n fromLinkable: output,\n toSpot: spot,\n toLinkable: input,\n cursor: this._initialOptions.isReadOnly ? '' : 'pointer',\n alignmentFocus: go.Spot.Center, // tập trung vào trung tâm của Panel\n mouseEnter: this._initialOptions.isReadOnly\n ? null\n : (e, panel) => {\n const textBlock = (panel as any)?.findObject('textBlock') as go.TextBlock | null;\n if (textBlock) {\n // && output\n textBlock.visible = true;\n switch (name) {\n case 'B':\n case 'R': {\n panel.background = 'rgb(243 144 171)';\n break;\n }\n case 'T':\n case 'L': {\n panel.background = 'rgb(103,151,207)';\n break;\n }\n default: {\n panel.background = 'rgb(243 144 171)';\n }\n }\n }\n },\n\n mouseLeave: this._initialOptions.isReadOnly\n ? null\n : (e, panel) => {\n const textBlock = (panel as any).findObject('textBlock') as go.TextBlock | null;\n if (textBlock) {\n textBlock.visible = false; // Ẩn TextBlock khi rời khỏi Panel\n }\n panel.background = 'transparent';\n },\n },\n\n new go.Binding('visible', '', function (data) {\n if (data?.isNotAllowConnect) {\n return false;\n }\n if (data?.selectable === false && !data?.isAllowConnect) {\n return false;\n }\n if (data?.flowOfPlantCell) {\n if (data?.flowOfPlantCell === ATO_ENUM_FLOW_DIRECTION.INFLOW && name === 'L') {\n return true;\n }\n if (data?.flowOfPlantCell === ATO_ENUM_FLOW_DIRECTION.OUTFLOW && name === 'R') {\n return true;\n }\n return false;\n }\n switch (name) {\n case 'B':\n case 'R': {\n return !data?.isNotSelectOutput;\n }\n case 'T':\n case 'L': {\n return !data?.isNotSelectInput;\n }\n default: {\n return true;\n }\n }\n }),\n\n this.$(\n go.TextBlock,\n {\n name: 'textBlock',\n margin: 4,\n text: '\\uf0da', // Mã Unicode tương ứng với fa-caret-left\n font: '900 12px \"Font Awesome 6 Pro\"',\n stroke: 'white', // Đặt màu chữ thành màu trắng\n cursor: 'pointer',\n visible: false,\n },\n new go.Binding('text', 'name', (_) => {\n switch (name) {\n case 'T':\n case 'B': {\n return '\\uf0d7';\n }\n case 'L':\n case 'R': {\n return '\\uf0da';\n }\n default: {\n return '\\uf0d7';\n }\n }\n }),\n ),\n );\n\n // return this.$(go.Shape, {\n // fill: 'transparent', // changed to a color in the mouseEnter event handler\n // strokeWidth: 0, // no stroke\n // width: horizontal ? NaN : 8, // if not stretching horizontally, just 8 wide\n // height: !horizontal ? NaN : 8, // if not stretching vertically, just 8 tall\n // alignment: align, // align the port on the main Shape\n // stretch: horizontal ? go.GraphObject.Horizontal : go.GraphObject.Vertical,\n // portId: name, // declare this object to be a \"port\"\n // fromSpot: spot, // declare where links may connect at this port\n // fromLinkable: output, // declare whether the user may draw links from here\n // toSpot: spot, // declare where links may connect at this port\n // toLinkable: input, // declare whether the user may draw links to here\n // cursor: 'pointer', // show a different cursor to indicate potential link point\n // mouseEnter: (e, port) => {\n // // the PORT argument will be this Shape\n // if (!e.diagram.isReadOnly && output) {\n // port.fill = 'rgba(255,0,255,0.5)'\n // };\n // },\n // mouseLeave: (e, port) => {\n // return (port.fill = 'transparent');\n // },\n // });\n }\n\n makeGroupBasicComponent(icon, title, size: { w: number; h: number } = { w: 80, h: 80 }) {\n let node = this.$(\n go.Group,\n 'Spot',\n {\n // layout: this.$(go.LayeredDigraphLayout, { direction: 0 }),\n alignment: go.Spot.Center,\n layout: this.$(go.Layout),\n movable: false,\n selectable: false,\n // movable: true,\n // selectable: true,\n dragComputation: (node, pt, gridpt) => {\n pt.x =\n Math.round(pt.x / AtoGojsEditorModel.BASIC_GRID_SIZE_WIDTH) *\n AtoGojsEditorModel.BASIC_GRID_SIZE_WIDTH;\n pt.y =\n Math.round(pt.y / AtoGojsEditorModel.BASIC_GRID_SIZE_HEIGHT) *\n AtoGojsEditorModel.BASIC_GRID_SIZE_HEIGHT;\n return pt;\n },\n },\n {\n // minSize: new go.Size(AtoGojsEditorModel.BASIC_GRID_SIZE_WIDTH, AtoGojsEditorModel.BASIC_GRID_SIZE_HEIGHT),\n minSize: new go.Size(1, 1),\n maxSize: new go.Size(1, 1),\n // minSize: new go.Size(100, 100),\n },\n new go.Binding('location', 'loc', go.Point.parse).makeTwoWay(go.Point.stringify),\n this.$(\n go.Panel,\n 'Auto',\n this.$(go.Shape, 'RoundedRectangle', {\n fill: 'transparent',\n stroke: 'transparent',\n // stroke: AtoGojsEditorModel.ENUM_COLORS.RESOLUTION_BLUE,\n strokeWidth: 2,\n // strokeDashArray: [5, 5],\n }),\n // this.$(go.Placeholder),\n // this.$(go.Placeholder, { padding: new go.Margin(0, 0, 0, 0) }),\n ),\n // this.$(go.TextBlock, title, {\n // row: 0,\n // margin: new go.Margin(0, 0, 0, 0),\n // stroke: '#444444',\n // font: 'normal 10pt Arial',\n // textAlign: 'center',\n // alignment: go.Spot.Left,\n // },\n // new go.Binding('text', 'key').makeTwoWay(),),\n\n // this.$(\n // go.Panel,\n // 'Table',\n // {\n // alignment: go.Spot.TopLeft,\n // alignmentFocus: new go.Spot(0, 0, -10, -10),\n // // padding: new go.Margin(0, 0, 50, 0),\n // },\n // this.$(\n // go.Panel,\n // 'Horizontal',\n // {\n // row: 0,\n // alignment: go.Spot.Left,\n // },\n // this.$(go.Picture, icon, {\n // row: 0,\n // // alignment: go.Spot.Center,\n // alignment: go.Spot.Left,\n // maxSize: new go.Size(40, 40),\n // imageStretch: go.GraphObject.Uniform,\n // }),\n // this.$(\n // go.Panel,\n // 'Table',\n // {\n // column: 1,\n // defaultAlignment: go.Spot.Left,\n // alignmentFocus: new go.Spot(0, 0, 0, 20),\n // },\n // this.$(go.TextBlock, title, {\n // row: 0,\n // margin: new go.Margin(3, 3, 5, 10),\n // // maxSize: new go.Size(size.w - 20, NaN),\n // stroke: '#444444',\n // font: 'normal 10pt Arial',\n // textAlign: 'center',\n // alignment: go.Spot.Left,\n // }),\n // this.$(\n // go.TextBlock,\n // {\n // row: 1,\n // margin: new go.Margin(0, 3, 3, 10),\n // editable: true,\n // // maxSize: new go.Size(size.w - 20, 40),\n // stroke: '#000D42',\n // font: 'bold 10pt Arial',\n // textAlign: 'center',\n // wrap: go.TextBlock.None,\n // overflow: go.TextBlock.OverflowEllipsis,\n // },\n // new go.Binding('text', 'name').makeTwoWay(),\n // {\n // // define a tooltip for each node that displays the color as text\n // toolTip: this.$(\n // 'ToolTip',\n // this.$(go.TextBlock, { margin: 4 }, new go.Binding('text', 'name')),\n // ), // end of Adornment\n // },\n // ),\n // ),\n // ),\n // ),\n );\n this.myDiagram.groupTemplateMap.set(title, node);\n }\n\n makeGroupTemplate(icon, title, size: { w: number; h: number } = { w: 80, h: 80 }) {\n let node = this.$(\n go.Group,\n 'Spot',\n {\n // // layout: this.$(go.ForceDirectedLayout , {\n // // direction: 0,\n // // setsPortSpots: false,\n // // }),\n\n // layout: this.$(go.LayeredDigraphLayout, {\n // direction: 0,\n // setsPortSpots: false,\n // }),\n\n layout: this.$(go.Layout),\n\n // // // adornment when a group is selected\n // // // selectionAdornmentTemplate: this.$(\n // // // go.Adornment,\n // // // 'Auto',\n // // // this.$(go.Shape, 'Rectangle', { fill: null, stroke: 'dodgerblue', strokeWidth: 8 }),\n // // // this.$(go.Placeholder),\n // // // ),\n },\n\n // new go.Binding('layout', 'layout', (x) =>\n // {\n // return this.$(go.ForceDirectedLayout , {\n // direction: 0,\n // setsPortSpots: false,\n // });\n // }\n // ),\n {\n minSize: new go.Size(400, 400),\n },\n // new go.Binding('location', 'loc', go.Point.parse).makeTwoWay(go.Point.stringify),\n this.$(\n go.Panel,\n 'Auto',\n this.$(go.Shape, 'RoundedRectangle', {\n fill: 'transparent',\n stroke: AtoGojsEditorModel.ENUM_COLORS.RESOLUTION_BLUE,\n strokeWidth: 2,\n // strokeDashArray: [5, 5],\n }),\n this.$(go.Placeholder, { padding: new go.Margin(60, 20, 20, 20) }),\n ),\n\n // this.$(\n // go.Panel,\n // 'Table',\n // {\n // alignment: go.Spot.TopLeft,\n // alignmentFocus: new go.Spot(0, 0, -10, -10),\n // },\n // this.$(go.TextBlock, title, {\n // row: 0,\n // margin: new go.Margin(3, 3, 5, 3),\n // maxSize: new go.Size(size.w - 20, NaN),\n // stroke: '#444444',\n // font: 'normal 8pt Arial',\n // textAlign: 'center',\n // }),\n // this.$(go.Picture, icon, {\n // row: 1,\n // alignment: go.Spot.Center,\n // maxSize: new go.Size(40, 40),\n // imageStretch: go.GraphObject.Uniform,\n // }),\n // this.$(\n // go.TextBlock,\n // {\n // row: 2,\n // margin: new go.Margin(10, 3, 3, 3),\n // editable: true,\n // maxSize: new go.Size(size.w - 20, 40),\n // stroke: '#000D42',\n // font: 'bold 8pt Arial',\n // textAlign: 'center',\n // wrap: go.TextBlock.None,\n // overflow: go.TextBlock.OverflowEllipsis,\n // },\n // new go.Binding('text', 'name').makeTwoWay(),\n // {\n // // define a tooltip for each node that displays the color as text\n // toolTip: this.$('ToolTip', this.$(go.TextBlock, { margin: 4 }, new go.Binding('text', 'name'))), // end of Adornment\n // },\n // ),\n // // new go.Binding('location', 'loc', go.Point.parse).makeTwoWay(go.Point.stringify),\n // ),\n\n this.$(\n go.Panel,\n 'Table',\n {\n alignment: go.Spot.TopLeft,\n alignmentFocus: new go.Spot(0, 0, -10, -10),\n // padding: new go.Margin(0, 0, 50, 0),\n },\n this.$(\n go.Panel,\n 'Horizontal',\n {\n row: 0,\n alignment: go.Spot.Left,\n },\n this.$(go.Picture, icon, {\n row: 0,\n // alignment: go.Spot.Center,\n alignment: go.Spot.Left,\n maxSize: new go.Size(40, 40),\n imageStretch: go.GraphObject.Uniform,\n }),\n this.$(\n go.Panel,\n 'Table',\n {\n column: 1,\n defaultAlignment: go.Spot.Left,\n alignmentFocus: new go.Spot(0, 0, 0, 20),\n },\n this.$(go.TextBlock, title, {\n row: 0,\n margin: new go.Margin(3, 3, 5, 10),\n // maxSize: new go.Size(size.w - 20, NaN),\n stroke: '#444444',\n font: 'normal 10pt Arial',\n textAlign: 'center',\n alignment: go.Spot.Left,\n }),\n this.$(\n go.TextBlock,\n {\n row: 1,\n margin: new go.Margin(0, 3, 3, 10),\n editable: true,\n // maxSize: new go.Size(size.w - 20, 40),\n stroke: '#000D42',\n font: 'bold 10pt Arial',\n textAlign: 'center',\n wrap: go.TextBlock.None,\n overflow: go.TextBlock.OverflowEllipsis,\n },\n new go.Binding('text', 'name').makeTwoWay(),\n {\n // define a tooltip for each node that displays the color as text\n toolTip: this.$(\n 'ToolTip',\n this.$(go.TextBlock, { margin: 4 }, new go.Binding('text', 'name')),\n ), // end of Adornment\n },\n ),\n ),\n ),\n ),\n );\n\n this.myDiagram.groupTemplateMap.set(title, node);\n }\n\n makeImageTemplate() {\n const node = this.$(\n go.Node,\n 'Spot',\n {\n zOrder: 1,\n },\n new go.Binding('selectable', 'selectable'),\n this.$(\n go.Panel,\n 'Horizontal',\n {\n row: 0,\n alignment: go.Spot.Left,\n },\n new go.Binding('location', 'loc', go.Point.parse).makeTwoWay(go.Point.stringify),\n this.$(\n go.Picture,\n AtoGojsEditorModel.IMAGE_RO_WATER_TREATMENT_PATH,\n {\n alignment: go.Spot.Center,\n // maxSize: new go.Size(500, 500),\n // imageStretch: go.GraphObject.Uniform,\n // margin: new go.Margin(130, 0, 0, 0),\n },\n new go.Binding('margin', 'margin'),\n new go.Binding('width', 'width'),\n new go.Binding('height', 'height'),\n new go.Binding('source', '', (data) => {\n return data?.source ? data?.source : AtoGojsEditorModel.IMAGE_RO_WATER_TREATMENT_PATH;\n }),\n ),\n ),\n );\n this.myDiagram.nodeTemplateMap.set(AtoGojsEditorModel.ENUM_TEMPLATES.IMAGE_TEMPLATE, node);\n }\n\n makeParamTable() {\n const self = this;\n const node = this.$(\n go.Part,\n 'Vertical',\n // this.$(go.Shape, { fill: '#E6F0F7', stroke: '#0063A9', strokeWidth: 3, geometryString: 'M 5 0 L 95 0 Q 100 0 100 5 L 100 95 Q 100 100 95 100 L 5 100 Q 0 100 0 95 L 0 5 Q 0 0 5 0' }),\n {\n zOrder: 2,\n // padding: new go.Margin(0, 0, 0, 200),\n },\n\n new go.Binding('padding', 'padding'),\n new go.Binding('selectable', 'selectable'),\n new go.Binding('location', 'loc', go.Point.parse).makeTwoWay(go.Point.stringify),\n new go.Binding('visible', '', (data) => {\n return typeof data?.visible === 'boolean' ? data?.visible : true;\n }),\n // Header\n this.$(\n go.Panel,\n 'Auto',\n {\n stretch: go.GraphObject.Fill,\n minSize: new go.Size(150, 27),\n margin: new go.Margin(0, 0, -6, 0),\n },\n new go.Binding('visible', '', (data) => !!data?.title),\n this.$(\n go.Shape,\n 'RoundedRectangle',\n {\n parameter1: 5,\n },\n new go.Binding('fill', '', (data) => {\n return data?.color;\n }),\n new go.Binding('stroke', '', (data) => {\n return data?.color;\n }),\n ),\n\n this.$(\n go.TextBlock,\n {\n stroke: 'white',\n margin: new go.Margin(0, 0, 0, 5),\n stretch: go.GraphObject.Fill,\n alignment: go.Spot.Left,\n verticalAlignment: go.Spot.Center,\n font: '14px sans-serif',\n },\n new go.Binding('text', 'title'),\n ),\n ),\n this.$(\n go.Shape,\n 'Rectangle',\n {\n height: 6,\n margin: new go.Margin(0, 0, -6, 0),\n stretch: go.GraphObject.Fill,\n },\n new go.Binding('fill', '', (data) => {\n return data?.color;\n }),\n new go.Binding('stroke', '', (data) => {\n return data?.color;\n }),\n new go.Binding('visible', '', (data) => !!data?.title),\n ),\n this.$(\n go.Panel,\n 'Auto',\n this.$(\n go.Shape,\n 'RoundedRectangle',\n { fill: '#E6F0F7', stroke: '#0063A9', strokeWidth: 4, parameter1: 5 },\n new go.Binding('fill', 'bgColor'),\n new go.Binding('stroke', 'borderTable'),\n ),\n this.$(\n go.Panel,\n 'Table',\n // Set defaults for all rows and columns:\n {\n padding: 1.5,\n defaultRowSeparatorStroke: '#0062A9',\n defaultColumnSeparatorStroke: '#0062A9',\n defaultSeparatorPadding: new go.Margin(5, 10, 5, 10),\n },\n new go.Binding('defaultRowSeparatorStroke', 'borderTable'),\n new go.Binding('defaultColumnSeparatorStroke', 'borderTable'),\n // this.$(\n // go.Panel,\n // 'TableRow',\n // { row: 0 },\n // this.$(go.TextBlock, 'row 1 col 1', { column: 0, margin: 2 }),\n // this.$(go.TextBlock, 'row 1 col 2', { column: 1, margin: 2 }),\n // ),\n // this.$(\n // go.Panel,\n // 'TableRow',\n // { row: 1 },\n // this.$(go.TextBlock, 'row 2 col 1', { column: 0, margin: 2 }),\n // this.$(go.TextBlock, 'row 2 col 2', { column: 1, margin: 2 }),\n // ),\n new go.Binding('itemArray', 'dataTable'),\n {\n // itemTemplate: this.$(\n // go.Panel,\n // new go.Binding('row', 'indexRow'),\n // // new go.Binding('height', 'height'),\n // this.$(\n // go.Picture,\n // ARROW,\n // {\n // alignment: go.Spot.Center,\n // maxSize: new go.Size(20, 40),\n // // imageStretch: go.GraphObject.Uniform,\n // },\n // new go.Binding('source', '', (data, panel) => {\n // // panel.part?.data?.id\n // return data?.isCreated ? panel?.$p : ARROW_GRAY;\n // }),\n // ),\n // ),\n\n itemTemplate: this.$(\n go.Panel,\n 'TableRow',\n {\n cursor: 'pointer',\n click: (e, obj: any) => {\n if (obj.panel.part.data?.dataTable[obj.row]?.isEditable === false) {\n return;\n }\n self.onClikParamOfTable.emit({\n ...obj.panel.part.data?.dataTable[obj.row],\n });\n },\n background: 'transparent',\n },\n this.$(\n go.TextBlock,\n '',\n { column: 0, margin: 2, textAlign: 'left', alignment: go.Spot.Left },\n new go.Binding('text', '', (data, panel) => {\n return data?.name;\n }),\n ),\n this.$(\n go.Panel,\n 'Table',\n {\n column: 1,\n margin: 2,\n padding: 0,\n defaultSeparatorPadding: new go.Margin(0, 0, 0, 0),\n stretch: go.GraphObject.Fill,\n },\n new go.Binding('minSize', '', (data, panel) => {\n // return panel.part?.data?.minSizeValue;\n return new go.Size(panel.part?.data?.minSizeValue?.width, NaN);\n }),\n this.$(\n go.TextBlock,\n '',\n {\n column: 0,\n margin: 0,\n alignment: go.Spot.Left,\n overflow: go.TextBlock.OverflowEllipsis,\n cursor: 'pointer',\n toolTip: this.$(\n 'ToolTip',\n this.$(\n go.TextBlock,\n {\n margin: 4,\n },\n new go.Binding('text', '', (data, panel) => {\n return `${\n !!this._initialOptions.isReadOnly\n ? `${data?.tagName || ''} `\n : ''\n }${data?.value}`;\n }),\n new go.Binding('visible', '', (data) => {\n if (!!this._initialOptions.isReadOnly && data?.tagName) {\n return true;\n }\n\n return !!data?.value;\n }),\n ),\n ),\n },\n new go.Binding('text', '', (data, panel) => {\n return data?.value;\n }),\n new go.Binding('stroke', '', (data) => {\n if (!this._initialOptions.isReadOnly) {\n return;\n }\n return data.color;\n }),\n new go.Binding('maxSize', '', (data) => {\n return new go.Size(data?.maxSizeValue || 190, 14);\n }),\n ),\n this.$(\n go.Picture,\n {\n alignment: go.Spot.Right,\n column: 1,\n margin: new go.Margin(0, 0, 0, 5),\n source: ICONS_BASE64[\"uf044\"],\n cursor: 'pointer',\n visible: false,\n toolTip: this.$(\n 'ToolTip',\n this.$(\n go.TextBlock,\n {\n margin: 4,\n },\n new go.Binding('text', '', (data, panel) => {\n return data?.toolTipAction;\n }),\n ),\n new go.Binding('visible', '', (data) => !!data?.toolTipAction),\n ),\n height: 14,\n width: 14,\n },\n new go.Binding('visible', '', (data, panel) => {\n return !this._initialOptions.isReadOnly;\n }),\n new go.Binding('opacity', '', (data, panel) => {\n return data?.isEditable === false ? 0.6 : 1;\n }),\n ),\n ),\n ),\n },\n // new go.Binding('text', 'name')\n ),\n ),\n );\n this.myDiagram.nodeTemplateMap.set(AtoGojsEditorModel.ENUM_TEMPLATES.PARAM_TABLE, node);\n }\n\n makeMassBalance() {\n const self = this;\n const node = this.$(\n go.Part,\n 'Auto',\n {},\n new go.Binding('location', 'loc', go.Point.parse).makeTwoWay(go.Point.stringify),\n new go.Binding('selectable', 'selectable'),\n this.$(\n go.Panel,\n 'Horizontal',\n // Set defaults for all rows and columns:\n {\n padding: 4,\n toolTip: this.$(\n 'ToolTip',\n this.$(\n go.TextBlock,\n {\n margin: 4,\n maxSize: new go.Size(450, 30),\n },\n new go.Binding('text', 'tooltip'),\n ),\n ),\n visible: this._initialOptions.isReadOnly,\n },\n this.$(\n go.TextBlock,\n '',\n {\n margin: new go.Margin(0, 5, 0, 0),\n text: 'Mass Balance:',\n },\n new go.Binding('font', 'font'),\n ),\n this.$(\n go.TextBlock,\n '',\n {\n stroke: AtoGojsEditorModel.ENUM_COLORS.ALIZARIN,\n },\n new go.Binding('font', 'font'),\n new go.Binding('stroke', 'colorValue'),\n new go.Binding('text', '', (data, panel) => {\n return data?.value;\n }),\n ),\n ),\n );\n this.myDiagram.nodeTemplateMap.set(AtoGojsEditorModel.ENUM_TEMPLATES.MASS_BALANCE, node);\n }\n\n makeGroupROPlantTemplate(icon, title, size: { w: number; h: number } = { w: 80, h: 80 }) {\n let node = this.$(\n go.Group,\n 'Spot',\n {\n layout: this.$(go.Layout),\n },\n {\n // minSize: new go.Size(NaN, 600),\n },\n new go.Binding('selectable', 'selectable'),\n new go.Binding('location', 'loc', go.Point.parse).makeTwoWay(go.Point.stringify),\n this.$(\n go.Panel,\n 'Table',\n\n this.$(\n go.Panel,\n 'Auto',\n {\n row: 0,\n padding: new go.Margin(0, 0, 0, 0),\n },\n this.$(go.Shape, 'RoundedRectangle', {\n name: 'SHAPE_KEY',\n fill: '#FCFCFD',\n stroke: AtoGojsEditorModel.ENUM_COLORS.RESOLUTION_BLUE,\n strokeWidth: 2,\n // strokeDashArray: [5, 5],\n }),\n\n this.$(go.Placeholder, { padding: new go.Margin(15, 0, 0, 0) }),\n ),\n this.$(\n go.Picture,\n RO_LINE_DIRTY,\n {\n row: 1,\n },\n new go.Binding('visible', '', (x) => {\n return x?.isViewGeneral && x?.hasOutFlow ? true : false;\n }),\n ),\n ),\n\n this.$(go.Panel, 'Table', {\n width: 0,\n height: 0,\n alignment: new go.Spot(0, 0, 0, 183),\n alignmentFocus: go.Spot.Left,\n // stretch: go.GraphObject.Vertical,\n portId: 'Inflow',\n cursor: this._initialOptions.isReadOnly ? '' : 'pointer',\n // alignmentFocus: new go.Spot(0, 0, 0, 150),\n fromSpot: go.Spot.Left,\n toSpot: go.Spot.Left,\n fromLinkable: true,\n toLinkable: true,\n }),\n this.$(go.Panel, 'Table', {\n width: 0,\n height: 0,\n alignment: new go.Spot(0, 0, 970, 315),\n alignmentFocus: go.Spot.Bottom,\n portId: 'OutFlow_Clean',\n cursor: this._initialOptions.isReadOnly ? '' : 'pointer',\n fromSpot: go.Spot.Bottom,\n toSpot: go.Spot.Bottom,\n fromLinkable: true,\n toLinkable: true,\n }),\n this.$(\n go.Panel,\n 'Table',\n {\n width: 0,\n height: 0,\n // alignment: new go.Spot(0, 0, 480, 525),\n // alignment: new go.Spot(0, 0, 475, 552),\n alignmentFocus: go.Spot.Bottom,\n portId: 'OutFlow_Dirty',\n cursor: this._initialOptions.isReadOnly ? '' : 'pointer',\n fromSpot: go.Spot.Bottom,\n toSpot: go.Spot.Bottom,\n fromLinkable: true,\n toLinkable: true,\n },\n new go.Binding('alignment', '', (x) => {\n return x?.isViewGeneral && x?.hasOutFlow\n ? new go.Spot(0, 0, 475, 552)\n : new go.Spot(0, 0, 480, 525);\n }),\n ),\n );\n\n this.myDiagram.groupTemplateMap.set(title, node);\n }\n\n makeGroupBoilerTemplate(icon, title, size: { w: number; h: number } = { w: 80, h: 80 }) {\n let node = this.$(\n go.Group,\n 'Spot',\n {\n selectable: false,\n },\n {\n // minSize: new go.Size(NaN, 600),\n },\n new go.Binding('selectable', 'selectable'),\n this.$(\n go.Panel,\n 'Auto',\n {\n padding: new go.Margin(0, 0, 0, 0),\n },\n this.$(go.Shape, 'RoundedRectangle', {\n name: 'SHAPE_KEY',\n fill: '#FCFCFD',\n stroke: AtoGojsEditorModel.ENUM_COLORS.RESOLUTION_BLUE,\n strokeWidth: 2,\n }),\n\n this.$(\n go.Placeholder,\n new go.Binding('location', 'loc', go.Point.parse).makeTwoWay(go.Point.stringify),\n { padding: new go.Margin(0, 0, 0, 0) },\n ),\n ),\n\n this.$(go.Panel, 'Spot', {\n width: 0,\n height: 0,\n alignment: new go.Spot(0, 0.5, 0, 83),\n alignmentFocus: go.Spot.Left,\n portId: 'Inflow',\n cursor: this._initialOptions.isReadOnly ? '' : 'pointer',\n fromSpot: go.Spot.Left,\n toSpot: go.Spot.Left,\n fromLinkable: true,\n toLinkable: true,\n }),\n this.$(\n go.Panel,\n 'Spot',\n {\n alignmentFocus: go.Spot.Top,\n alignment: new go.Spot(1, 1, -215, 0),\n },\n this.$(\n go.Picture,\n OUTFLOW_LINE_DIRTY,\n {\n width: 10,\n height: 20,\n },\n new go.Binding('visible', '', (x) => {\n return x?.isViewGeneral && x?.hasOutFlow ? true : false;\n }),\n ),\n this.$(go.Panel, {\n alignment: go.Spot.BottomLeft,\n alignmentFocus: go.Spot.Top,\n portId: 'OutFlow',\n cursor: this._initialOptions.isReadOnly ? '' : 'pointer',\n fromSpot: go.Spot.Bottom,\n fromLinkable: true,\n toLinkable: true,\n }),\n ),\n );\n\n this.myDiagram.groupTemplateMap.set(title, node);\n }\n\n makeGroupCoolingTowerTemplate(icon, title, size: { w: number; h: number } = { w: 80, h: 80 }) {\n let node = this.$(\n go.Group,\n 'Spot',\n {\n selectable: false,\n layout: this.$(go.Layout),\n padding: new go.Margin(0, 30, 0, 0),\n },\n new go.Binding('location', 'loc', go.Point.parse).makeTwoWay(go.Point.stringify),\n this.$(\n go.Panel,\n 'Auto',\n {\n row: 0,\n padding: new go.Margin(0, 0, 0, 0),\n },\n this.$(go.Shape, 'RoundedRectangle', {\n name: 'SHAPE_KEY',\n fill: '#FCFCFD',\n stroke: AtoGojsEditorModel.ENUM_COLORS.RESOLUTION_BLUE,\n strokeWidth: 2,\n strokeDashArray: [5, 5],\n }),\n\n this.$(go.Placeholder, { padding: new go.Margin(0, 0, 0, 0) }),\n ),\n this.$(go.Panel, 'Table', {\n width: 0,\n height: 0,\n alignment: new go.Spot(0, 0, 0, 533),\n alignmentFocus: go.Spot.Bottom,\n portId: 'Inflow',\n cursor: this._initialOptions.isReadOnly ? '' : 'pointer',\n fromSpot: go.Spot.Left,\n toSpot: go.Spot.Left,\n fromLinkable: true,\n toLinkable: true,\n }),\n this.$(\n go.Panel,\n 'Spot',\n {\n alignmentFocus: go.Spot.Top,\n alignment: new go.Spot(0.5, 1, 23, 0),\n },\n this.$(\n go.Picture,\n OUTFLOW_LINE_DIRTY,\n {\n width: 10,\n height: 20,\n },\n new go.Binding('visible', '', (x) => {\n return x?.isViewGeneral && x?.hasOutFlow ? true : false;\n }),\n ),\n this.$(go.Panel, {\n alignment: new go.Spot(0, 0, 0, 18),\n alignmentFocus: go.Spot.Top,\n portId: 'OutFlow',\n cursor: this._initialOptions.isReadOnly ? '' : 'pointer',\n fromSpot: go.Spot.Center,\n toSpot: go.Spot.Right,\n fromLinkable: true,\n toLinkable: true,\n }),\n ),\n );\n\n this.myDiagram.groupTemplateMap.set(title, node);\n }\n\n groupPlantCellTemplate(icon, title, size: { w: number; h: number } = { w: 80, h: 80 }) {\n const self = this;\n let node = this.$(\n go.Group,\n 'Spot',\n {\n // layout: this.$(go.Layout),\n // layout: this.$(go.LayeredDigraphLayout, { direction: 0 }),\n // isSubGraphExpanded: false,\n // background: 'transparent',\n // layerName: 'Foreground',\n // wasSubGraphExpanded: false,\n movable: false,\n selectable: false,\n avoidable: false,\n // resizable: true,\n\n // resizable: false,\n // width: data?.ob?.minWith ?? 50,\n // height: 500,\n\n // isSubGraphExpanded: true, // ensure the group is always expanded\n // computesBoundsAfterDrag: true,\n // handlesDragDropForMembers: true, // handle drag-and-drop events for its member nodes\n\n // maxSize: new go.Size(500, 500),\n // minSize: new go.Size(500, 500),\n\n // isSubGraphExpanded: true,\n // layerName: DIAGRAM.LAYERS.BACKGROUND,\n\n // mouseDrop: function (e, grp) {\n // // disallow dropping anything onto an Adornment\n // if (grp instanceof go.Adornment) return;\n // },\n // dragComputation: function (node, pt, gridPt) {\n // let grp = node.containingGroup;\n // if (grp !== null) {\n // let rect = grp.actualBounds;\n // pt.x = Math.max(rect.left, Math.min(pt.x, rect.right));\n // pt.y = Math.max(rect.top, Math.min(pt.y, rect.bottom));\n // }\n // return pt;\n // },\n\n // dropComputation: function (node, pt, gridPt) {\n // let grp = node.containingGroup;\n // if (grp !== null) {\n // let rect = grp.actualBounds;\n // pt.x = Math.max(rect.left, Math.min(pt.x, rect.right));\n // pt.y = Math.max(rect.top, Math.min(pt.y, rect.bottom));\n // }\n // return pt;\n // },\n\n // dragComputation: function (part, pt, gridpt) {\n // // Get the current group's actual bounds\n // const grp = part.containingGroup;\n // if (grp) {\n // const bnds = grp.actualBounds;\n // const loc = part.location;\n\n // // See if the part's new location would be out of bounds\n // const newx = Math.max(bnds.x, Math.min(pt.x, bnds.right - part.actualBounds.width / 2));\n // const newy = Math.max(bnds.y, Math.min(pt.y, bnds.bottom - part.actualBounds.height / 2));\n\n // // Modify the result point to keep the Part inside the Group\n // return new go.Point(newx, newy);\n // }\n // return pt;\n // },\n click: (e, obj: any) => {\n self.myDiagram?.clearSelection();\n },\n },\n {\n // mouseDragEnter: (e, obj) => {\n // },\n // mouseDrop: (e, obj) => {\n // },\n // mouseEnter: (e, obj) => {\n // const node = obj.part;\n // self.onHoverInfoButton.emit({\n // left: e?.['Wr']?.x + 8,\n // top: e?.['Wr']?.y,\n // node: node,\n // });\n // // let shape = (node as any)?.findObject('SHAPE_KEY');\n // // if (shape) {\n // // shape.stroke = 'blue';\n // // }\n // },\n // mouseLeave: (e, obj) => {\n // self.onHoverInfoButton.emit(null);\n // // let shape = (node as any)?.findObject('SHAPE_KEY');\n // // if (shape) {\n // // shape.stroke = AtoGojsEditorModel.ENUM_COLORS.WHITE;\n // // }\n // },\n },\n new go.Binding('layout', '', function (data, node) {\n // return data?.layoutValue === AtoGojsEditorModel.ENUM_LAYOUT_EDITOR.AUTO\n // ? self.$(go.LayeredDigraphLayout, { direction: 0 })\n // : node?.layout;\n if (data?.layoutValue !== data?.layoutValueClone) {\n data.layoutValueClone = data?.layoutValue;\n return data?.layoutValue === AtoGojsEditorModel.ENUM_LAYOUT_EDITOR.AUTO\n ? self.$(go.LayeredDigraphLayout, { direction: 0 })\n : self.$(go.Layout);\n } else {\n return node?.layout;\n }\n // : self.$(go.Layout);\n // return data?.layout;\n // return data?.previousLayout || self.$(go.LayeredDigraphLayout, { direction: 0 });\n // return self.$(go.LayeredDigraphLayout, { direction: 0 });\n }),\n // new go.Binding('grid', 'grid'),\n new go.Binding('selectable', 'selectable'),\n // new go.Binding('width', '', function (data) {\n // return data?.ob?.minWith ?? 50;\n // }),\n new go.Binding('minSize', '', function (data) {\n return new go.Size(data?.ob?.minWith ?? 50, data?.ob?.minHeight ?? 50); // Customize minSize based on data\n }).ofObject(),\n // new go.Binding('width', '', function (data) {\n // return data?.ob?.minWith ?? 50; // Customize minSize based on data\n // }).ofObject(),\n // new go.Binding('height', '', function (data) {\n // return data?.ob?.minHeight ?? 50; // Customize minSize based on data\n // }).ofObject(),\n new go.Binding('location', 'loc', go.Point.parse).makeTwoWay(go.Point.stringify),\n // new go.Binding('isSubGraphExpanded', 'expanded').makeTwoWay(),\n this.$(\n go.Panel,\n 'Auto',\n {\n padding: new go.Margin(0, 0, 0, 0),\n // margin:new go.Margin(0, 50, 0, 50),\n },\n this.$(go.Shape, 'RoundedRectangle', {\n name: 'SHAPE_KEY',\n fill: 'transparent',\n stroke: AtoGojsEditorModel.ENUM_COLORS.RESOLUTION_BLUE,\n strokeWidth: 2,\n strokeDashArray: [5, 5],\n }),\n this.$(go.Placeholder, { padding: new go.Margin(0, 0, 0, 0) }),\n ),\n );\n\n // node.memberValidation = function (node, group) {\n // if (!group) return true; // allow ungrouping\n // const groupBounds = group.actualBounds;\n // const nodeBounds = node.actualBounds;\n // return groupBounds.containsRect(nodeBounds);\n // };\n this.myDiagram.groupTemplateMap.set(title, node);\n }\n\n groupPCInputOrOutTemplate(icon, title, padding: go.Margin) {\n // let node = this.$(\n // go.Group,\n // 'Spot',\n // {\n // layout: this.$(go.Layout),\n // movable: false,\n // selectable: false,\n // },\n // // {\n // // // minSize: new go.Size(500, 500),\n // // movable: false,\n // // ariaReadOnly: true,\n // // },\n // this.$(\n // go.Panel,\n // 'Auto',\n // {\n // padding: new go.Margin(0, 0, 0, 0),\n // },\n // this.$(go.Shape, 'RoundedRectangle', {\n // fill: 'transparent',\n // // stroke: AtoGojsEditorModel.ENUM_COLORS.RESOLUTION_BLUE,\n // stroke: AtoGojsEditorModel.ENUM_COLORS.WHITE,\n // strokeWidth: 2,\n // strokeDashArray: [5, 5],\n // }),\n // this.$(go.Placeholder, {\n // padding: new go.Margin(0, 0, 0, 0),\n // }),\n // ),\n // );\n let node = this.$(\n go.Group,\n 'Spot',\n {\n layout: this.$(go.LayeredDigraphLayout, { direction: 0 }),\n movable: false,\n selectable: false,\n avoidable: false,\n // isSubGraphExpanded: false,\n // isSubGraphExpanded: false,\n // layerName: 'Foreground',\n },\n new go.Binding('location', 'loc', go.Point.parse).makeTwoWay(go.Point.stringify),\n this.$(\n go.Panel,\n 'Auto',\n {\n padding: padding ?? new go.Margin(0, 0, 0, 0),\n },\n this.$(go.Shape, 'RoundedRectangle', {\n fill: 'transparent',\n stroke: AtoGojsEditorModel.ENUM_COLORS.WHITE,\n // stroke: AtoGojsEditorModel.ENUM_COLORS.ALIZARIN,\n strokeWidth: 2,\n // strokeDashArray: [5, 5],\n }),\n this.$(go.Placeholder, {\n padding: new go.Margin(0, 0, 0, 0),\n }),\n ),\n );\n this.myDiagram.groupTemplateMap.set(title, node);\n }\n\n makeGroupZoneTemplate(\n size: { w: number; h: number } = { w: AtoGojsEditorModel.GRID_SIZE * 14, h: AtoGojsEditorModel.GRID_SIZE * 5 },\n ) {\n const self = this;\n let node = this.$(\n go.Group,\n 'Vertical',\n {\n layout: this.$(go.GridLayout, { wrappingColumn: 1, spacing: new go.Size(0, 0) }),\n },\n\n {\n locationSpot: go.Spot.Center,\n mouseOver: function (e, obj) {\n // self.showPoint(obj?.part?.location);\n },\n click: (e, obj: any) => {\n if (obj?.data?.onSelected) {\n obj?.data?.onSelected(obj?.data);\n }\n },\n selectionChanged: (e) => {\n if (!e.isSelected && e?.data?.onSelected) {\n e?.data?.onSelected(null);\n }\n },\n\n selectionAdornmentTemplate: this._initialOptions.isReadOnly\n ? null\n : this.$(\n go.Adornment,\n 'Spot',\n {\n shadowVisible: true,\n shadowBlur: 6,\n shadowOffset: new go.Point(0, 2),\n shadowColor: '#00000029',\n },\n this.$(\n go.Panel,\n 'Auto',\n this.$(go.Shape, { fill: null, stroke: 'dodgerblue', strokeWidth: 4 }),\n this.$(go.Placeholder, { padding: 3 }),\n ),\n this.$(\n go.Panel,\n 'Horizontal',\n {\n alignment: go.Spot.TopRight,\n alignmentFocus: go.Spot.Bottom,\n background: 'white',\n },\n this.$(\n 'Button',\n {\n _dragData: {\n type: AtoGojsEditorModel.ENUM_TEMPLATES.TEXT_NODE,\n name: 0,\n color: AtoGojsEditorModel.ENUM_COLORS.BLUE,\n },\n click: self.addItemOnGroupZone, // defined below, to support a click on the button\n 'ButtonBorder.strokeWidth': 0,\n 'ButtonBorder.fill': 'white',\n },\n this.$(go.TextBlock, {\n margin: 4,\n text: '\\uf055',\n font: '20px \"Font Awesome 6 Pro\"',\n cursor: 'pointer',\n stroke: '#2c2c2c',\n }),\n ),\n // more\n this.generateActionGroup([\n AtoDefaultGojsEditor.ENUM_ACTIONS.RENAME,\n AtoDefaultGojsEditor.ENUM_ACTIONS.DETAILS,\n AtoDefaultGojsEditor.ENUM_ACTIONS.OUTFLOW,\n AtoDefaultGojsEditor.ENUM_ACTIONS.DELETE,\n ]),\n // this.$(\n // // Edit Text\n // 'Button',\n // {\n // click: self.editTextGroupZone,\n // 'ButtonBorder.strokeWidth': 0,\n // 'ButtonBorder.fill': 'white',\n // },\n // this.$(go.TextBlock, {\n // margin: 4,\n // text: '\\ue1bf',\n // font: '20px \"Font Awesome 6 Pro\"',\n // cursor: 'pointer',\n // stroke: '#2c2c2c',\n // }),\n // ),\n // this.$(\n // // Open Detail\n // 'Button',\n // {\n // click: (e, obj: any) => {\n // const node = obj.part;\n // self.onOpenDetail.emit({\n // node,\n // });\n // },\n // 'ButtonBorder.strokeWidth': 0,\n // 'ButtonBorder.fill': 'white',\n // },\n //\n // this.$(go.TextBlock, {\n // margin: 4,\n // text: '\\ue49a',\n // font: '20px \"Font Awesome 6 Pro\"',\n // cursor: 'pointer',\n // }),\n // ),\n // !this._initialOptions.isReadOnly\n // ? this.$(\n // 'Button',\n // {\n // actionMove: self.dragNewNode, // defined below, to support dragging from the button\n // _dragData: {\n // type: AtoGojsEditorModel.ENUM_TEMPLATES.TEXT_NODE,\n // name: 0,\n // color: AtoGojsEditorModel.ENUM_COLORS.BLUE,\n // },\n // click: self.clickNewNode, // defined below, to support a click on the button\n // 'ButtonBorder.strokeWidth': 0,\n // 'ButtonBorder.fill': 'white',\n // },\n // this.$(go.TextBlock, {\n // margin: 4,\n // text: '\\ue157',\n // font: '20px \"Font Awesome 6 Pro\"',\n // cursor: 'pointer',\n // stroke: '#2c2c2c',\n // }),\n // )\n // : {},\n\n // this.$(\n // 'Button',\n // {\n // click: self.deleteNode,\n // 'ButtonBorder.strokeWidth': 0,\n // 'ButtonBorder.fill': 'white',\n // },\n // this.$(go.TextBlock, {\n // margin: 4,\n // text: '\\uf2ed',\n // font: '20px \"Font Awesome 6 Pro\"',\n // cursor: 'pointer',\n // }),\n // ),\n ),\n ),\n },\n\n this.$(\n go.Panel,\n 'Auto',\n this.$(go.Shape, 'RoundedRectangle', {\n fill: 'transparent',\n stroke: AtoGojsEditorModel.ENUM_COLORS.RESOLUTION_BLUE,\n strokeWidth: 2,\n strokeDashArray: [5, 5],\n maxSize: new go.Size(size.w, NaN),\n }),\n this.$(\n go.Panel,\n 'Table',\n {\n alignment: go.Spot.Top,\n padding: new go.Margin(17, 10, 16, 10),\n },\n this.$(\n go.TextBlock,\n {\n row: 0,\n margin: new go.Margin(5, 0, 10, 0),\n editable: true,\n desiredSize: new go.Size(size.w - 20, 25),\n stroke: AtoGojsEditorModel.ENUM_COLORS.NIGHT_RIDER,\n font: 'bold 16px Arial',\n textAlign: 'center',\n wrap: go.TextBlock.None,\n overflow: go.TextBlock.OverflowEllipsis,\n toolTip: this.$(\n 'ToolTip',\n this.$(\n go.TextBlock,\n {\n margin: 4,\n },\n new go.Binding('text', 'name').makeTwoWay(),\n ),\n ),\n },\n new go.Binding('text', 'name').makeTwoWay(),\n ),\n this.$(go.Placeholder, 'Vertical', {\n row: 1,\n }),\n ),\n\n this.makePort('T', go.Spot.Top, go.Spot.TopSide, false, true),\n this.makePort('L', go.Spot.Left, go.Spot.LeftSide, true, true),\n this.makePort('R', go.Spot.Right, go.Spot.RightSide, true, true),\n this.makePort('B', go.Spot.Bottom, go.Spot.BottomSide, true, false),\n ),\n new go.Binding('location', 'loc', go.Point.parse).makeTwoWay(go.Point.stringify),\n );\n this.myDiagram.groupTemplateMap.set(AtoGojsEditorModel.ENUM_TEMPLATES.ZONE, node);\n }\n\n makeZoneItemTemplate(\n size: { w: number; h: number } = { w: AtoGojsEditorModel.GRID_SIZE * 12, h: AtoGojsEditorModel.GRID_SIZE * 2 },\n ) {\n const self = this;\n const node = this.$(\n go.Node,\n 'Auto',\n // {\n // mouseHover: (e, obj) => {\n // const node = obj.part;\n // if ((obj as any).part?.ob?.value === VALUE_NA) {\n // self.onHoverInfoButton.emit({\n // left: e?.['Wr']?.x + 8,\n // top: e?.['Wr']?.y,\n // node: node\n // });\n // }\n // },\n // mouseLeave: (e, obj) => {\n // if ((obj as any).part?.ob?.value === VALUE_NA) {\n // self.onHoverInfoButton.emit(null);\n // }\n // },\n // click: (e, obj: any) => {\n // const node = obj.part;\n // this.isShowNodeInfo ? self.onClickInfoButton.emit({\n // left: e?.['Wr']?.x,\n // top: e?.['Wr']?.y,\n // node: node\n // }) : null;\n // },\n // },\n // new go.Binding('location', 'loc', go.Point.parse).makeTwoWay(go.Point.stringify),\n {\n movable: false,\n },\n this.$(\n go.Panel,\n 'Auto',\n {\n width: size.w,\n height: size.h,\n },\n this.$(go.Shape, 'Rectangle', {\n fill: AtoGojsEditorModel.ENUM_COLORS.LIGHT_BLUE,\n stroke: AtoGojsEditorModel.ENUM_COLORS.LINK_WATER,\n }),\n this.$(\n go.Panel,\n 'Vertical',\n this.$(\n go.TextBlock,\n {\n editable: true,\n row: 2,\n margin: new go.Margin(10, 0, 5, 0),\n font: 'bold 12px Arial',\n textAlign: 'center',\n stroke: AtoGojsEditorModel.ENUM_COLORS.NIGHT_RIDER,\n toolTip: this.$(\n 'ToolTip',\n this.$(\n go.TextBlock,\n {\n margin: 4,\n },\n new go.Binding('text', 'name').makeTwoWay(),\n ),\n ),\n },\n new go.Binding('text', 'name').makeTwoWay(),\n new go.Binding('visible', 'name', (x) => !!x),\n ),\n this.$(\n go.Panel,\n 'Horizontal',\n\n {\n margin: new go.Margin(0, 10, 0, 10),\n },\n this.$(\n go.TextBlock,\n {\n margin: new go.Margin(0, 5, 10, 0),\n textAlign: 'center',\n font: '12px sans-serif',\n stroke: AtoGojsEditorModel.ENUM_COLORS.NIGHT_RIDER,\n wrap: go.TextBlock.WrapFit,\n editable: true,\n isMultiline: false,\n maxSize: new go.Size(size.w - 100, 15),\n overflow: go.TextBlock.OverflowEllipsis,\n toolTip: this.$(\n 'ToolTip',\n this.$(\n go.TextBlock,\n {\n margin: 4,\n },\n new go.Binding('text', 'nameItem').makeTwoWay(),\n ),\n ),\n },\n new go.Binding('text', 'nameItem').makeTwoWay(),\n new go.Binding('visible', 'nameItem', (x) => !!x),\n ),\n this.$(\n go.TextBlock,\n {\n margin: new go.Margin(0, 5, 10, 0),\n textAlign: 'center',\n font: '12px sans-serif',\n stroke: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n wrap: go.TextBlock.WrapFit,\n text: '< ',\n },\n\n new go.Binding('visible', 'data', (x) => typeof x?.quantity === 'number'),\n ),\n this.$(\n go.TextBlock,\n {\n margin: new go.Margin(0, 5, 10, 0),\n textAlign: 'center',\n font: '12px sans-serif',\n stroke: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n wrap: go.TextBlock.WrapFit,\n },\n new go.Binding('text', 'data', (x) => {\n if (typeof x?.quantity !== 'number') {\n return '';\n }\n const formatted: any = UtilsService.convertPrefixesData({\n value: x?.quantity,\n unit: x?.unit,\n });\n return formatted.shortenedNumber + ' ' + formatted.unitPrefixes + x?.unit ?? '';\n }),\n new go.Binding('visible', 'data', (x) => typeof x?.quantity === 'number'),\n ),\n\n this.$(\n go.TextBlock,\n {\n margin: new go.Margin(0, 5, 10, 0),\n textAlign: 'center',\n font: '12px sans-serif',\n stroke: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n wrap: go.TextBlock.WrapFit,\n text: ' >',\n },\n new go.Binding('visible', 'data', (x) => typeof x?.quantity === 'number'),\n ),\n ),\n ),\n ),\n );\n this.myDiagram.nodeTemplateMap.set(AtoGojsEditorModel.ENUM_TEMPLATES.ZONE_ENERGY_ITEM, node);\n }\n\n makeSpecialTemplate(\n icon,\n title,\n size: { w: number; h: number } = { w: AtoGojsEditorModel.GRID_SIZE * 5, h: AtoGojsEditorModel.GRID_SIZE * 5 },\n ) {\n let node: any = null;\n switch (title) {\n case AtoGojsEditorModel.ENUM_TEMPLATES.SPECIAL_PROCESS:\n node = this.$(\n go.Node,\n 'Spot',\n // {\n // fromSpot: go.Spot.Right, // coming out from middle-right\n // toSpot: go.Spot.Left\n // },\n {\n click: (e, obj: any) => {\n if (obj?.data?.onSelected) {\n obj?.data?.onSelected(obj?.data);\n }\n },\n selectionChanged: (e) => {\n if (!e.isSelected && e?.data?.onSelected) {\n e?.data?.onSelected(null);\n }\n },\n },\n new go.Binding('location', 'loc', go.Point.parse).makeTwoWay(go.Point.stringify),\n this.$(\n go.Panel,\n 'Auto',\n { width: size.w, height: size.h },\n this.$(go.Shape, 'Circle', {\n fill: 'white',\n stroke: '#2D3B77',\n strokeWidth: 2,\n // strokeDashArray: [5, 5],\n }),\n this.$(\n go.Panel,\n 'Table',\n this.$(go.TextBlock, AtoGojsEditorModel.ENUM_TEMPLATES.PROCESS, {\n row: 0,\n margin: new go.Margin(3, 3, 10, 3),\n maxSize: new go.Size(size.w - 20, NaN),\n stroke: '#444444',\n font: 'normal 10pt Arial',\n textAlign: 'center',\n }),\n this.$(go.Picture, icon, {\n row: 1,\n margin: new go.Margin(0, 0, 10, 0),\n alignment: go.Spot.Center,\n maxSize: new go.Size(60, 60),\n imageStretch: go.GraphObject.Uniform,\n }),\n ),\n ),\n\n this.$(go.Panel, 'Vertical', {\n alignment: go.Spot.Left,\n alignmentFocus: new go.Spot(0, 0.5, 8, 0),\n }),\n this.$(go.Panel, 'Vertical', {\n alignment: go.Spot.Right,\n alignmentFocus: new go.Spot(1, 0.5, -8, 0),\n }),\n // four named ports, one on each side:\n\n this.makePort('T', go.Spot.Top, go.Spot.TopSide, false, true),\n this.makePort('L', go.Spot.Left, go.Spot.LeftSide, true, true),\n this.makePort('R', go.Spot.Right, go.Spot.RightSide, true, true),\n this.makePort('B', go.Spot.Bottom, go.Spot.BottomSide, true, false),\n );\n break;\n case AtoGojsEditorModel.ENUM_TEMPLATES.SPECIAL_STORAGE:\n node = this.$(\n go.Node,\n 'Spot',\n {\n click: (e, obj: any) => {\n if (obj?.data?.onSelected) {\n obj?.data?.onSelected(obj?.data);\n }\n },\n selectionChanged: (e) => {\n if (!e.isSelected && e?.data?.onSelected) {\n e?.data?.onSelected(null);\n }\n },\n },\n new go.Binding('location', 'loc', go.Point.parse).makeTwoWay(go.Point.stringify),\n this.$(\n go.Panel,\n 'Auto',\n { width: size.w, height: size.h },\n this.$(go.Shape, 'Circle', {\n fill: 'white',\n stroke: '#2D3B77',\n strokeWidth: 2,\n // strokeDashArray: [5, 5],\n }),\n this.$(\n go.Panel,\n 'Table',\n this.$(go.TextBlock, AtoGojsEditorModel.ENUM_TEMPLATES.STORAGE, {\n row: 0,\n margin: new go.Margin(3, 3, 10, 3),\n maxSize: new go.Size(size.w - 20, NaN),\n stroke: '#444444',\n font: 'normal 10pt Arial',\n textAlign: 'center',\n }),\n this.$(\n go.Picture,\n icon,\n {\n row: 1,\n margin: new go.Margin(0, 0, 10, 0),\n alignment: go.Spot.Center,\n minSize: new go.Size(40, 40),\n maxSize: new go.Size(50, 50),\n imageStretch: go.GraphObject.Uniform,\n },\n new go.Binding('source', 'icon').makeTwoWay(),\n ),\n ),\n ),\n\n this.$(go.Panel, 'Vertical', {\n alignment: go.Spot.Left,\n alignmentFocus: new go.Spot(0, 0.5, 8, 0),\n }),\n this.$(go.Panel, 'Vertical', {\n alignment: go.Spot.Right,\n alignmentFocus: new go.Spot(1, 0.5, -8, 0),\n }),\n // four named ports, one on each side:\n\n this.makePort('T', go.Spot.Top, go.Spot.TopSide, false, true),\n this.makePort('L', go.Spot.Left, go.Spot.LeftSide, true, true),\n this.makePort('R', go.Spot.Right, go.Spot.RightSide, true, true),\n this.makePort('B', go.Spot.Bottom, go.Spot.BottomSide, true, false),\n );\n break;\n case AtoGojsEditorModel.ENUM_TEMPLATES.SPECIAL_STORE:\n node = this.$(\n go.Node,\n 'Spot',\n {\n click: (e, obj: any) => {\n if (obj?.data?.onSelected) {\n obj?.data?.onSelected(obj?.data);\n }\n },\n selectionChanged: (e) => {\n if (!e.isSelected && e?.data?.onSelected) {\n e?.data?.onSelected(null);\n }\n },\n },\n new go.Binding('location', 'loc', go.Point.parse).makeTwoWay(go.Point.stringify),\n this.$(\n go.Panel,\n 'Auto',\n { width: size.w, height: size.h },\n this.$(go.Shape, 'Circle', {\n fill: 'white',\n stroke: '#2D3B77',\n strokeWidth: 2,\n // strokeDashArray: [5, 5],\n }),\n this.$(\n go.Panel,\n 'Table',\n this.$(go.TextBlock, 'Store', {\n row: 0,\n margin: new go.Margin(3, 3, 10, 3),\n maxSize: new go.Size(size.w - 20, NaN),\n stroke: '#444444',\n font: 'normal 10pt Arial',\n textAlign: 'center',\n }),\n this.$(go.Picture, icon, {\n row: 1,\n margin: new go.Margin(0, 0, 10, 0),\n alignment: go.Spot.Center,\n maxSize: new go.Size(60, 60),\n imageStretch: go.GraphObject.Uniform,\n }),\n ),\n ),\n );\n break;\n\n case AtoGojsEditorModel.ENUM_TEMPLATES.SPECIAL_DISCHARGE:\n node = this.$(\n go.Node,\n 'Spot',\n {\n click: (e, obj: any) => {\n if (obj?.data?.onSelected) {\n obj?.data?.onSelected(obj?.data);\n }\n },\n selectionChanged: (e) => {\n if (!e.isSelected && e?.data?.onSelected) {\n e?.data?.onSelected(null);\n }\n },\n },\n new go.Binding('location', 'loc', go.Point.parse).makeTwoWay(go.Point.stringify),\n this.$(\n go.Panel,\n 'Auto',\n { width: size.w, height: size.h },\n this.$(go.Shape, 'Circle', {\n fill: 'white',\n stroke: '#2D3B77',\n strokeWidth: 2,\n // strokeDashArray: [5, 5],\n }),\n this.$(\n go.Panel,\n 'Table',\n this.$(go.TextBlock, 'Discharge', {\n row: 0,\n margin: new go.Margin(3, 3, 10, 3),\n maxSize: new go.Size(size.w - 20, NaN),\n stroke: '#444444',\n font: 'normal 10pt Arial',\n textAlign: 'center',\n }),\n this.$(go.Picture, icon, {\n row: 1,\n margin: new go.Margin(0, 0, 10, 0),\n alignment: go.Spot.Center,\n maxSize: new go.Size(60, 60),\n imageStretch: go.GraphObject.Uniform,\n }),\n ),\n ),\n );\n break;\n\n case AtoGojsEditorModel.ENUM_TEMPLATES.SPECIAL_OTHER:\n node = this.$(\n go.Node,\n 'Spot',\n {\n click: (e, obj: any) => {\n if (obj?.data?.onSelected) {\n obj?.data?.onSelected(obj?.data);\n }\n },\n selectionChanged: (e) => {\n if (!e.isSelected && e?.data?.onSelected) {\n e?.data?.onSelected(null);\n }\n },\n },\n new go.Binding('location', 'loc', go.Point.parse).makeTwoWay(go.Point.stringify),\n this.$(\n go.Panel,\n 'Auto',\n { width: size.w, height: size.h },\n this.$(go.Shape, 'Circle', {\n fill: 'white',\n stroke: '#2D3B77',\n strokeWidth: 2,\n // strokeDashArray: [5, 5],\n }),\n this.$(\n go.Panel,\n 'Table',\n this.$(go.TextBlock, 'Other', {\n row: 0,\n margin: new go.Margin(3, 3, 10, 3),\n maxSize: new go.Size(size.w - 20, NaN),\n stroke: '#444444',\n font: 'normal 10pt Arial',\n textAlign: 'center',\n }),\n this.$(go.Picture, icon, {\n row: 1,\n margin: new go.Margin(0, 0, 10, 0),\n alignment: go.Spot.Center,\n maxSize: new go.Size(60, 60),\n imageStretch: go.GraphObject.Uniform,\n }),\n ),\n ),\n );\n break;\n }\n\n if (node) {\n this.myDiagram.nodeTemplateMap.set(title, node);\n }\n }\n\n startAnimation() {\n const diagram = this.myDiagram;\n // setTimeout(() => {\n // diagram.links.each((link) => {\n // });\n // });\n try {\n this.animationInterval = setInterval(() => {\n const oldskips = diagram.skipsUndoManager;\n diagram.skipsUndoManager = true;\n\n diagram.links.each((link) => {\n const shape = link.findObject('PIPE');\n if (!!shape) {\n // const off = shape?.strokeDashOffset - 3;\n const off = shape?.strokeDashOffset - 9;\n // animate (move) the stroke dash\n shape.strokeDashOffset = off <= 0 ? 60 : off;\n }\n });\n diagram.skipsUndoManager = oldskips;\n }, 600);\n // 60\n } catch (e) {}\n }\n\n stopAnimation() {\n if (this.animationInterval) {\n clearInterval(this.animationInterval);\n }\n }\n\n toDataURL(url, callback) {\n const xhr = new XMLHttpRequest();\n xhr.onload = function () {\n const reader = new FileReader();\n reader.onloadend = function () {\n callback(reader.result);\n };\n reader.readAsDataURL(xhr.response);\n };\n xhr.open('GET', url);\n xhr.responseType = 'blob';\n xhr.send();\n }\n\n getBase64DiagramWithEmptyData() {\n const self = this;\n // Test\n // const newWindow = window.open('', 'newWindow');\n // if (!newWindow) {\n // return;\n // }\n // const newDocument = newWindow?.document;\n if (!this.myDiagram?.model?.nodeDataArray?.length && !this.myDiagram?.model?.linkDataArray?.length) {\n return;\n }\n\n const svg = this.myDiagram.makeSvg({\n scale: this.defaultScaleZoomToFit,\n maxSize: new go.Size(1200, NaN),\n background: 'white',\n padding: 20,\n elementFinished: function (graphObject, svgElement) {\n svgElement.removeAttribute('clip-path');\n // Replace Image URL to base64 -> For showing Picture element\n if (graphObject instanceof go.Picture) {\n self.toDataURL(svgElement.href.baseVal, function (dataUrl) {\n svgElement.setAttribute('href', dataUrl);\n });\n }\n // Make Text Node Shape Border\n if (graphObject?.name === 'textNodeShape') {\n svgElement.setAttribute('stroke', 'rgba(64, 181, 206, 0.6)');\n }\n // Empty Value\n if (graphObject?.name === 'textBlockValue' || graphObject?.name === 'textBlockUnitPrefixes') {\n svgElement.textContent = '';\n }\n if (svgElement.clipPath) {\n svgElement.clipPath = null;\n }\n },\n callback: (svg) => {\n setTimeout(() => {\n const svgStr = new XMLSerializer().serializeToString(svg);\n // For Test\n // newDocument?.body?.appendChild(svg);\n\n const base64Svg = `data:image/svg+xml;base64,${window.btoa(unescape(encodeURIComponent(svgStr)))}`;\n const img = new Image();\n img.src = base64Svg;\n const canvas = document.createElement('canvas');\n // get canvas context for drawing on canvas\n const context = canvas.getContext('2d');\n img.onload = function () {\n const svgWidth = img.width;\n const svgHeight = img.height;\n\n canvas.width = svgWidth;\n canvas.height = svgHeight;\n\n if (context) {\n context.drawImage(img, 0, 0);\n const base64PNG = canvas.toDataURL('image/jpeg');\n self.emitImageTopology(base64PNG.replace('data:image/jpeg;base64,', ''));\n }\n };\n }, 1000);\n },\n });\n }\n\n emitImageTopology(base64) {\n this.callbackImageTopology.emit(base64);\n }\n\n openActionMenu() {\n // When this node is clicked, adjust the menu position\n const mousePt = this.myDiagram.lastInput.viewPoint;\n\n // // When this node is clicked, display the dropdown menu\n const menu = document.getElementById(this.actionMenuId);\n if (menu) {\n menu.style.display = '';\n menu.style.position = 'absolute';\n menu.style.left = mousePt.x + 'px';\n menu.style.top = mousePt.y + 'px';\n\n this.menuTrigger.openMenu();\n }\n }\n\n unsubscribeAll() {\n if (this._subscriptionList) {\n this._subscriptionList.unsubscribe();\n }\n this._subscriptionList = new Subscription();\n }\n\n addSubscribes(...subscriptions: Subscription[]) {\n subscriptions.forEach((el) => {\n this._subscriptionList.add(el);\n });\n }\n}\n\nexport namespace AtoDefaultGojsEditor {\n export enum ENUM_ACTIONS {\n DETAILS = 'Open details & wizard',\n ONLY_DETAILS = 'Open details',\n RENAME = 'Rename this box',\n OUTFLOW = 'Create an outflow',\n DELETE = 'Delete',\n INSIGHT = 'Insight tag mapping',\n DATA_MAPPING = 'Data Mapping',\n MORE = 'More',\n FLOW_DETAILS = 'Flow details',\n FLOW_DETAILS_AND_WIZARD = 'Flow details & wizard', // only now for Cooling Tower\n ASSET_PARAMETERS = 'Asset parameters',\n CHANGE_ICON = 'Change icon',\n }\n\n export const ACTIONS: any = {\n [ENUM_ACTIONS.DETAILS]: {\n name: ENUM_ACTIONS.DETAILS,\n iconClassName: 'far fa-memo-circle-info',\n onClick: () => {},\n },\n [ENUM_ACTIONS.FLOW_DETAILS]: {\n name: ENUM_ACTIONS.FLOW_DETAILS,\n iconClassName: 'far fa-arrow-progress',\n onClick: () => {},\n },\n [ENUM_ACTIONS.FLOW_DETAILS_AND_WIZARD]: {\n name: ENUM_ACTIONS.FLOW_DETAILS_AND_WIZARD,\n iconClassName: 'far fa-arrow-progress',\n onClick: () => {},\n },\n [ENUM_ACTIONS.ASSET_PARAMETERS]: {\n name: ENUM_ACTIONS.ASSET_PARAMETERS,\n iconClassName: 'far fa-box-archive',\n onClick: () => {},\n },\n [ENUM_ACTIONS.ONLY_DETAILS]: {\n name: ENUM_ACTIONS.ONLY_DETAILS,\n iconClassName: 'far fa-memo-circle-info',\n onClick: () => {},\n },\n [ENUM_ACTIONS.RENAME]: {\n name: ENUM_ACTIONS.RENAME,\n iconClassName: 'far fa-input-text',\n onClick: () => {},\n },\n [ENUM_ACTIONS.OUTFLOW]: {\n name: ENUM_ACTIONS.OUTFLOW,\n iconClassName: 'far fa-diagram-nested',\n onClick: () => {},\n },\n [ENUM_ACTIONS.DELETE]: {\n name: ENUM_ACTIONS.DELETE,\n iconClassName: 'fal fa-trash-can',\n onClick: () => {},\n },\n [ENUM_ACTIONS.INSIGHT]: {\n name: ENUM_ACTIONS.INSIGHT,\n iconClassName: 'far fa-tag',\n onClick: () => {},\n },\n [ENUM_ACTIONS.DATA_MAPPING]: {\n name: ENUM_ACTIONS.DATA_MAPPING,\n iconClassName: 'far fa-tag',\n onClick: () => {},\n },\n [ENUM_ACTIONS.MORE]: {\n name: ENUM_ACTIONS.MORE,\n iconClassName: 'fal fa-memo-circle-info',\n onClick: () => {},\n },\n [ENUM_ACTIONS.CHANGE_ICON]: {\n name: ENUM_ACTIONS.CHANGE_ICON,\n iconClassName: 'far fa-image',\n onClick: () => {},\n },\n };\n\n export const DISTANCE_2_OUTPUT = 60;\n}\n","import { Directive, ElementRef, Renderer2, Input, OnChanges, SimpleChanges } from '@angular/core';\n\n@Directive({\n selector: '[atoLoading]'\n})\nexport class AtoLoadingDirective implements OnChanges {\n\n @Input() appLoading: boolean;\n\n private spinnerWrapper: HTMLElement;\n\n constructor(private el: ElementRef, private renderer: Renderer2) {\n this.spinnerWrapper = this.renderer.createElement('div');\n this.renderer.setStyle(this.spinnerWrapper, 'position', 'absolute');\n this.renderer.setStyle(this.spinnerWrapper, 'top', '0');\n this.renderer.setStyle(this.spinnerWrapper, 'left', '0');\n this.renderer.setStyle(this.spinnerWrapper, 'width', '100%');\n this.renderer.setStyle(this.spinnerWrapper, 'height', '100%');\n this.renderer.setStyle(this.spinnerWrapper, 'display', 'flex');\n this.renderer.setStyle(this.spinnerWrapper, 'align-items', 'center');\n this.renderer.setStyle(this.spinnerWrapper, 'justify-content', 'center');\n this.renderer.setStyle(this.spinnerWrapper, 'background', 'rgba(255, 255, 255, 0.7)');\n this.renderer.setStyle(this.spinnerWrapper, 'z-index', '10');\n\n const spinner = this.renderer.createElement('img');\n this.renderer.setAttribute(spinner, 'src', 'data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBzdHlsZT0ibWFyZ2luOiBhdXRvOyBiYWNrZ3JvdW5kOiByZ2IoMjU1LCAyNTUsIDI1NSk7IGRpc3BsYXk6IGJsb2NrOyBzaGFwZS1yZW5kZXJpbmc6IGF1dG87IGFuaW1hdGlvbi1wbGF5LXN0YXRlOiBydW5uaW5nOyBhbmltYXRpb24tZGVsYXk6IDBzOyIgd2lkdGg9Ijg4cHgiIGhlaWdodD0iODhweCIgdmlld0JveD0iMCAwIDEwMCAxMDAiIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaWRZTWlkIj4KPGRlZnMgc3R5bGU9ImFuaW1hdGlvbi1wbGF5LXN0YXRlOiBydW5uaW5nOyBhbmltYXRpb24tZGVsYXk6IDBzOyI+CiAgPG1hc2sgaWQ9ImxkaW8tdmN5YjQ1YmFvdWstbWFzayIgc3R5bGU9ImFuaW1hdGlvbi1wbGF5LXN0YXRlOiBydW5uaW5nOyBhbmltYXRpb24tZGVsYXk6IDBzOyI+CiAgICA8cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMTAwIiBoZWlnaHQ9IjEwMCIgZmlsbD0id2hpdGUiIHN0eWxlPSJhbmltYXRpb24tcGxheS1zdGF0ZTogcnVubmluZzsgYW5pbWF0aW9uLWRlbGF5OiAwczsiPjwvcmVjdD4KICA8L21hc2s+CjwvZGVmcz4KPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEwMCIgaGVpZ2h0PSIxMDAiIGZpbGw9IiM1Y2FhZWEiIHN0eWxlPSJhbmltYXRpb24tcGxheS1zdGF0ZTogcnVubmluZzsgYW5pbWF0aW9uLWRlbGF5OiAwczsiPjwvcmVjdD4KPGcgbWFzaz0idXJsKCNsZGlvLXZjeWI0NWJhb3VrLW1hc2spIiBzdHlsZT0iYW5pbWF0aW9uLXBsYXktc3RhdGU6IHJ1bm5pbmc7IGFuaW1hdGlvbi1kZWxheTogMHM7Ij4KICA8cmVjdCB4PSItMTAwIiB5PSItMjUwIiB3aWR0aD0iMzAwIiBoZWlnaHQ9IjMwMCIgcng9IjkwIiByeT0iOTAiIGZpbGw9IiM4MmNlZmYiIG9wYWNpdHk9IjAuNCIgc3R5bGU9ImFuaW1hdGlvbi1wbGF5LXN0YXRlOiBydW5uaW5nOyBhbmltYXRpb24tZGVsYXk6IDBzOyI+CiAgICA8YW5pbWF0ZVRyYW5zZm9ybSBhdHRyaWJ1dGVOYW1lPSJ0cmFuc2Zvcm0iIHR5cGU9InJvdGF0ZSIgZHVyPSIxcyIgcmVwZWF0Q291bnQ9ImluZGVmaW5pdGUiIHZhbHVlcz0iMCA1MCAtMTAwOzkwIDUwIC0xMDAiIGtleVRpbWVzPSIwOzEiIHN0eWxlPSJhbmltYXRpb24tcGxheS1zdGF0ZTogcnVubmluZzsgYW5pbWF0aW9uLWRlbGF5OiAwczsiPjwvYW5pbWF0ZVRyYW5zZm9ybT4KICA8L3JlY3Q+CgogIDxyZWN0IHg9Ii0xMDAiIHk9Ii0yNjAiIHdpZHRoPSIzMDAiIGhlaWdodD0iMzAwIiByeD0iOTUiIHJ5PSI5NSIgZmlsbD0iI2E1ZGNmZiIgb3BhY2l0eT0iMC40IiBzdHlsZT0iYW5pbWF0aW9uLXBsYXktc3RhdGU6IHJ1bm5pbmc7IGFuaW1hdGlvbi1kZWxheTogMHM7Ij4KICAgIDxhbmltYXRlVHJhbnNmb3JtIGF0dHJpYnV0ZU5hbWU9InRyYW5zZm9ybSIgdHlwZT0icm90YXRlIiBkdXI9IjEuNTE1MTUxNTE1MTUxNTE1MXMiIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiB2YWx1ZXM9IjAgNTAgLTExMDs5MCA1MCAtMTEwIiBrZXlUaW1lcz0iMDsxIiBzdHlsZT0iYW5pbWF0aW9uLXBsYXktc3RhdGU6IHJ1bm5pbmc7IGFuaW1hdGlvbi1kZWxheTogMHM7Ij48L2FuaW1hdGVUcmFuc2Zvcm0+CiAgPC9yZWN0PgoKICA8cmVjdCB4PSItMTAwIiB5PSItMjcwIiB3aWR0aD0iMzAwIiBoZWlnaHQ9IjMwMCIgcng9IjEwMCIgcnk9IjEwMCIgZmlsbD0iI2ZmZmZmZiIgb3BhY2l0eT0iMC40IiBzdHlsZT0iYW5pbWF0aW9uLXBsYXktc3RhdGU6IHJ1bm5pbmc7IGFuaW1hdGlvbi1kZWxheTogMHM7Ij4KICAgIDxhbmltYXRlVHJhbnNmb3JtIGF0dHJpYnV0ZU5hbWU9InRyYW5zZm9ybSIgdHlwZT0icm90YXRlIiBkdXI9IjMuMDMwMzAzMDMwMzAzMDMwM3MiIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiB2YWx1ZXM9IjAgNTAgLTEyMDs5MCA1MCAtMTIwIiBrZXlUaW1lcz0iMDsxIiBzdHlsZT0iYW5pbWF0aW9uLXBsYXktc3RhdGU6IHJ1bm5pbmc7IGFuaW1hdGlvbi1kZWxheTogMHM7Ij48L2FuaW1hdGVUcmFuc2Zvcm0+CiAgPC9yZWN0PgoKPC9nPgo8IS0tIFtsZGlvXSBnZW5lcmF0ZWQgYnkgaHR0cHM6Ly9sb2FkaW5nLmlvLyAtLT48L3N2Zz4=');\n this.renderer.setStyle(spinner, 'width', '30px');\n this.renderer.setStyle(spinner, 'height', '30px');\n this.renderer.setStyle(spinner, 'border-radius', '50%');\n\n this.renderer.appendChild(this.spinnerWrapper, spinner);\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['appLoading']) {\n if (this.appLoading) {\n this.showSpinner();\n } else {\n this.hideSpinner();\n }\n }\n }\n\n private showSpinner(): void {\n this.renderer.setStyle(this.el.nativeElement, 'position', 'relative');\n this.renderer.appendChild(this.el.nativeElement, this.spinnerWrapper);\n }\n\n private hideSpinner(): void {\n if (this.el.nativeElement.contains(this.spinnerWrapper)) {\n this.renderer.removeChild(this.el.nativeElement, this.spinnerWrapper);\n }\n }\n\n}\n","import { Component, ElementRef, Input, OnInit, ViewChild } from '@angular/core';\nimport _ from 'lodash';\n\nimport { AtoDefaultGojsEditor } from '../../models/default-gojs-editor.model';\nimport { AtoGojsEditorModel } from '../../models/gojs-editor.model';\n\n@Component({\n selector: 'ato-flow-diagram-lib',\n templateUrl: './flow-diagram-lib.component.html',\n styleUrls: ['./flow-diagram-lib.component.css']\n})\nexport class AtoFlowDiagramLibComponent extends AtoDefaultGojsEditor implements OnInit {\n @ViewChild('myDiagramDivTemp') myDiagramDivTemp: any;\n _data: any = null;\n @Input() set data(v) {\n this._data = v;\n this.loadDiagram();\n }\n\n @Input() isLoading = false;\n\n get data() {\n return this._data;\n }\n\n constructor(\n _elRef: ElementRef,\n ) {\n super(_elRef);\n this.actions = [\n AtoDefaultGojsEditor.ACTIONS[AtoDefaultGojsEditor.ENUM_ACTIONS.DETAILS],\n AtoDefaultGojsEditor.ACTIONS[AtoDefaultGojsEditor.ENUM_ACTIONS.DELETE],\n ];\n this.unsubscribeAll();\n }\n\n\n\n ngOnInit(): void {\n this.addSubscribes(\n this.committedTransactionSubject?.subscribe((e) => {\n this.onModelChangeListenerEvent.emit(e);\n }),\n // this._GjUtilsService?.updateNameDataBox$?.subscribe((rs) => {\n // if (rs && rs?.key) {\n // const node = this.myDiagram.findNodeForKey(rs?.key);\n // this.myDiagram.model.setDataProperty(node?.data, 'name', rs?.name);\n // }\n // }),\n );\n }\n\n loadDiagram() {\n this.editor = new AtoGojsEditorModel({\n class: 'go.GraphLinksModel',\n nodeCategoryProperty: 'type',\n ...this.data,\n });\n }\n\n findNodeForKey(key: number | string) {\n this.myDiagram.select(this.myDiagram.findNodeForKey(key));\n }\n}\n\n\n\n\n\n","<div class=\"w-100 h-100 gj-flow-diagram-wrapper\" atoLoading [appLoading]=\"data === null || !!isLoading\">\n <div class=\"w-100 h-100 d-flex\">\n <!-- <button\n id=\"actionMenuId\"\n class=\"invisible-btn\"\n mat-button\n [matMenuTriggerFor]=\"menu\"\n #menuTrigger=\"matMenuTrigger\"\n ></button>\n <mat-menu #menu=\"matMenu\">\n <button mat-menu-item *ngFor=\"let item of actions\" (click)=\"item?.onClick($event)\">\n <div class=\"d-flex flex-gap-2\">\n <div><i class=\"{{ item?.iconClassName }}\"></i></div>\n <div>{{ item?.name }}</div>\n </div>\n </button>\n </mat-menu> -->\n\n <div #myDiagramDivTemp [id]=\"myDiagramDiv\" class=\"flex-grow-1\"></div>\n <div *ngIf=\"initialOptions?.isReadOnly && !data?.nodeDataArray?.length\" class=\"empty-data\">\n <!-- <nz-empty nzNotFoundImage=\"simple\"></nz-empty> -->\n No Data\n </div>\n </div>\n</div>\n","import { AtoGojsEditorModel } from '../models/gojs-editor.model';\n\nexport const AtoGoJSBase64 = {\n [AtoGojsEditorModel.ENUM_TYPES.COOLING_TOWER]:\n 'data:image/png;base64,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',\n [AtoGojsEditorModel.ENUM_TYPES.BOILER]:\n 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA/wAAAIJCAYAAAAYiTblAAAAAXNSR0IArs4c6QAAAARzQklUCAgICHwIZIgAACAASURBVHhe7J0HfBRl+sef2Wx6QodQpAqhKP0AETCgIHroCbbzr56Hip7eKXLq2c4T1LMXxHIqNhTRs4L1pChFbCgCQUWadEhPgBRSduf/vLOZzWSzm2yS2ZnZmd/ch1s3O/O+z/N9np2d3zzv+45E2EAABEAABEAABEAABEAABEAABEAABGxHQLKdR3AIBEAABEAABEAABEAABEAABEAABECAIPiRBCAAAiAAAiBgIQL79+8/7ciRIy/k5+d/M3bs2EslSZItZJ5upuzbt+/urKysGQcPHhx2zjnnZOvWMBoyhcDwiRe0TK0iz6pV7xSbYgA6BQEQAAEQCEoAgh+JAQIgAAIgAAIWInDo0KFVBQUFGYWFhXT06NEJZ5555ioLmaebKQcOHFjN/05hPzMmT568RreG0ZAhBMaPH+/2xLYf45HliS6iSSTTcCov67B27SeFhhiATkAABEAABMIiAMEfFibsBAIgAAIgAALGEOCK9+qioqJTuMJPpaWlthXDXOFfzRX+U3JycjKmTJkCwa9Tel1wxQ1927VudVl8rHvkkSPFAyorKpK0TXuJvJ06dthSVnpsS2VV5Rvzn7x/ZbhdDx8+PDaxVY9rZXJNJJLH8+iTVPVYHoay8asV7wwNty3sBwIgAAIgYAwBCH5jOKMXEAABEAABEAiLAFf4V3OFX1S+6bhuPTPbtWs/SNYM6hc/3Nox/hL/IRo/P1KUt+nAgf2DUeEPKy3q3em2ex4dUVZSet/OHXtPKTp8OD5w565dO1NSUhJt3bqjTjuJCfGeHj27be3Qvs1T991183MNWTPm1Auuk1z0VOB+Xpnmff35O7MaOh6fgwAIgAAIGEsAgt9Y3ugNBEAABEAABOoloFb4WfQrgr9N67aDSFX1/CqzuufKqk/lB3mNls+PHs7bxL4ORoW/6V+Iv9501/95PfI9P/30a2/RStu2ralfv97Uv386de/ehbp16xK08dzcfMrPL6QffsikX3/dTvv2HVT2a9WyRfnxx3d7et7Ds2+uzyoh+kmSn+Q89F9HemTvtG8+f29J073BkSAAAiAAApEgAMEfCapoEwRAAARAAASaSEBb4e9yXI/MNm3aDqqoqKBtO37zaXxuV1T4/Vrf4u+TEhKo1/E96thbcrQQFf4m5sjl19/enjzeZdu3/TZENDF02Ik0buwoGj58UJNaFDcAli5dTWvXfkdlZceofVr7I61Tk694+blH3gvW4MmnXjBdcsmviEQUmp9vMslSeVlbzN9vEn4cBAIgAAIRJQDBH1G8aBwEQAAEQAAEGkdAO4e/S9cema1btxlUUFBEj8x9Vsh8Vd5HzWtSUgKN+t1QOn1ihu8uBatEif9XUlyICn/jUkPZ+/rb7v3Hlp+2PnDsWHlM37696aqrLqb27ds2oaW6h5SUltGypStpyZKlyocDT+y35Nkn7p2m3VOIfZeLXuGbT5u4qv9cjCT9hwOb+dXn7yg3H7CBAAiAAAhYiwAEv7XiAWtAAARAAAQcTkBb4e/U+bjM1m3aDfKV9OtqfHVUv9U//8/zr9KJJ/SlU8ac5PejrPQwV/gPYA5/mPkuiugzrr/9i62/7hyfmJjAQv+SJlf0G+pSVPznzXtRGep/XNdO2ScOHzTqzutm7NGK/RJP5fiNq5YUjZ14/mWcnkO/WvHu3xtqF5+DAAiAAAgYTwCC33jm6BEEQAAEQAAEQhLQVvg7d+me2bJVq0GiIi5XV8aj8fWNtxZTmzat6cxJE/x+lJUd2XQIc/jD/ib8+Zpbfty5Y9dQsQDfDTfM0K2qX58Br7/+Pi1fvprS0toXHykpmVNWXPqoqOyrYl89dvjws5PWr/+oNGxnsCMIgAAIgIBhBCD4DUONjkAABEAABECgYQLaCn/HTl1Y8LfxV/g3bd5Ce/bso7JjxxpuyCJ7VHk8lJdXQDf87coai7gkXFFejAp/mDG66rrbf97y644BY8aMoEsuPY+SkxLDPLL5u3355Tp68cVF1Q1JvxRXVYwRlf3mt4wWQAAEQAAEjCAAwW8EZfQBAiAAAiAAAmES0Fb404Tgb9l6kFgYbedvu+nd9z+lAQP6UElJ9BRTW7dqSZMnjfc9XUAdqcD+VBwr2XToEFbpbygtbr7zgS+//fbHsWJhvlk3XNXQ7rp/rgp+MX2EF/Mree7xu9I6duxYontHaBAEQAAEQCAiBCD4I4IVjYIACIAACIBA0whoK/ztO3TiCn/rQZWVlXT3/U/Qv269geIT4kI3rM71D7WHhT6vqizbdBBz+OtNkofmzr/9o0+W3y+G8d9+x0xDK/vCMFXsi/4HDupHn37yBQ0ZcuKGpx+dPaxp2Y2jQAAEQAAEjCYAwW80cfQHAiAAAiAAAvUQUCv8BQUFJAR/aouWSoX//oefor/95c/UokWq+ii0qH71sODnmxuDc3JyMqZMmbIGSVGbwIv/ff/Et15/P1ME+d57bzFkzr7WAq3YV2823H//U7R16w46++yJd956w1/uQ8xAAARAAASsTwCC3/oxgoUgAAIgAAIOIqCt8Ldt3yGzRYvWysPVj/G8/ftY9Hfp3JGyc/KihkinTml08YVTKSU5qbbN3grM4a8nitfdfPePGzf+NHTmzCsjthp/qO6DiX2xr3hs3003zqGEhPjKLt2PO+65R+fkRE0iwlAQAAEQcCgBCH6HBh5ugwAIgAAIWJOAdg5/u/ZpmampLQeJ59eLOfBVVZW0fcdu5Xn2ypx4/6P6rPu+srKKPvxkubJoX4vUZPI9QpANZ8GPCn/wHHzyPy9PfPv9/y3v27c33XHH9YYmaiixrxqxdNkqemPRYr4JMfDzeQ/dNdFQ49AZCIAACIBAowlA8DcaGQ4AARAAARAAgcgR0Fb427RprwzpV6fe1zyST32cvboQnrXff/TpCoqLi6PTJ46rXriPyEVVm/jmxuDCwsKMyZMnY0i/JqWuvv6fv/6yZVvf22+/nvr16x25ZAtouSGxr+5+I1f5S0vLvCmtW3RY/Noz+YYZiI5AAARAAAQaTQCCv9HIcAAIgAAIgAAIRI6AtsLftl37zOTkFlzh5/5Y9YvCuMfjJVeMq7pS7vu79nOxmrr6PvBVHG/056UlZfQsP9btrDNPpX7pvfz9x0heVPiDpNFt9zw6Yu2a79YZXd0PV+wLk9V9x4076aUHZt80I3LfBrQMAiAAAiDQXAIQ/M0liONBAARAIEIELvjsszZyjDRHItfb70yatDZUN39YtqxzrCTPdpFrYX37RchMNKszAW2Fv2WrtjyknwV/tap//qVFyvz9bTt26dxr5Jrrz8PSL7vkXOrapXOtuxPuGIkr/AdQ4Q9Af8vshxZ//dUPU42eu//66+/T8uWrSSwQ2K1bl3oTQszl/+u1t1HPHscVLXxxbuvIZY99Wz585eQ2ZZXyHJfsfbvDwhUhz++5V0zq7PVIsyWvd2F9+9mXFDwDARBoLgEI/uYSxPEgAAIgoDOB8StXuttVVVzLGm8Ol3TbcLl2wruTJq0K7GbKl1+2ji8vu9Ul00z+LDHUfjqbh+YiTEBb4W/Zql1mSkoKr9JP9PzLb9LQQf1pxPAhSqXfN4dfzN33Vf6t+l6MSIjhEQmB9sW6JVT4g+TSBX+6rrSo6HDic889FOFMq938+vWZ9OSTL9HFl0yjyaePb7Dv+fNfp6+++p7OOmP8uNtu/ltIwdpgQw7bQR4/3p3bLe5aryRu5lIblyRNaL/gszrn96KLx7Yudyfeyt/ymfw9Twy1n8PwwV0QAIEmEIDgbwI0HAICIAACkSIwbcWKM1xez1y+wOtX00dtwX/B118nysXFLPLlW1npaaprwW8MRMpWtBsZAtoKf4sWrTKTU1oM8no99OBjz9HtN1/LIefh/ErFX93Ulfui6318XAzm8Aek0Ownnu/2+ccr9gwddiLNuuGqBhPMPwyfK/L9ea5///59qGvXzk16hJ9atW9s3xjW32CY/DvkTJ98hleW50pUc34PFPLyBaMTcxNbzORvOJ/fyX9+h+APnzP2BAEQqE0Agh8ZAQIgAAIWIHDe0qX9WMfN5VrtGXXN8Ql5Uflv46m4wiVLs3kfMT46YIPgt0Aom22CWuEvKCigVBb8SUnJXOGXaOXqb+hQTi6NGDaQvF5evs9f4Vcr/dZ8jY+Lpx7du9SxNz7evSnr0KHBOTk5GVOmTMGifZw5D82df/tHnyy/P9wqu1qVD0y6du3aKIv9iRsAYnh+Q0P01ePvv/8p2rp1B7366rwG8zg3N59uvvkeGjAgffv8J+9Lb/AAB++QN/30fh5Z4vM71Tm/q0JeVP6zu8ddwRfmfH6X6pzfIfgdnEBwHQSaSQCCv5kAcTgIgAAINIeAOk+fpdq1fEJ2B2uriof0u2W5vSzRv3mfei6sIfibEwurHKut8CentshMTkrhOfy+7TOeY33gYDbl5RdaxdwG7UhMiKfBPBUhY+yoWvsmJcahwh9A74Zb71mxfv3m0xqzOr9YMV/cELrttuvo11930pYt22jv3gO0b99Bf+tJiQnUj8W/uAHQnW++iAUBg23qI/fCXT/gmmtupbQO7Ytef+lxzOMPAlSdp8/nbTE0J+j53eXxTJAlic/vrn9zRT/k+R2Cv8FTDXYAARAIQQCCH6kBAiBgSwJbt24tYsdaWtU5D1dn1xUfpS8OH6ZSrzekmWLgdrvYWMqvrGzQlSs7pFGvhIQG98MO1iaQlJRER48epfz8fGrRshXFJyT6HmWnVvR5OH+0vX/9zSWU3rsnjRoxhK332Z8Q7yau7iuP60tA3ipJ+dLri+nrb9bTf559kJKTeFmOMDZ1sb3AmwRiiP6vW7bzDYAdyg0AUbnXbuoIgP79e9NxXbso/Yn9/vWvh2nSpAy69NJzG+xdjAjYt3c/PfXonQ3u66gdPB6K/3EtJaz9jKSyktCu8wne07YDxRTkNIin+JLrqap7nwb3s8kOmeyH/0an6hPf2MpIT0/HaCCbBBluGEcAgt841ugJBEDAQAJWFvxby8ro08ICyquqqlfoiw8bc5KG4DcwwSLYlRD8R44cIX4+PaWkpFJ8YlKtKfv+R+v5r4L5PzRT+q34+eIPl1Pr1i1p/NiR1QsMEgvMeMrKyqL4+HgI/upYPjzvZdq67bewhtSr4VeH1o8ZM4KuvvrSejPz1193KCMAtmzZyeJ+P5WVHfPv37V6HYBly1aT+O9/82r9DW3qFICXnvl3Q7s65nP3zl8occX7FJNfj4hXn43ZiBM8BL9YnBSC3zFfJDiqK4FGnGp07ReNgQAIgEBECaiC/559e6lcubgKvs1I60g9WXCE2l5gQbK7olyX40WFVqid+k68yiPU+f94+H6jxL4wMJjg19P+YBCM5OeU/rUV/goW+x2TU5SKuFD1W7bupP0Hsqi8vKJa5XPlv7pirj66L/DV7M+rPFVUUHiErvjTeSK7/XYLwY8Kf+2sfvjJV7gSv7NRgl+0cOedD1F+XgE9+vicsEcGiONERX/Lr2IUwHbau+cAjyqpmSoSzjx+daX+126/giqP6xXyPJm8cB7F7tsZ8vOSS2dSZbfg0wzEQdFwvDc5lRKWv0+xv20J/dum/S0Sd+Z02uzALyD+SoU/hfPGzXlT/KcbqKrr8RD8OuULmnEeAf3ONs5jB49BAAQsTACC3xccCH79btgYdcNBW+E/xjejOrGQEDph3/6D9MnSVcrQ+JLSUo10DiX1rfH3Vi1SadyYmsq+OgIhNSWJsrNR4dfmVVMFv7pa/4wZl9C4cSObfGYWowXEOgClZaVhPZpPnU4AwT+TIPh1vWEDwd/kbzEOBIG6BCD4kRUgAAK2JKAK/vksKPaUl9OMtDSu5FtjfjuG9Nsy5XRzSlvhT+bqfiyvcl9V5aEnnllAM6+9jOe8xyqLtCkjRqplfzS+F4IfFf7aafPwPK7wb2t8hb+xj9TTK1kxpL8uSQzp1yW7IPh1wYhGQMBHAIIfmQACIGBLAlYW/AI4Fu2zZdrp4pS2wp/AQ/rjWPCL7Zn5i+jSi6ZSyxbJ/n6qZ4lE5fuWLVK4wp+NOfyarFEX7QtnOH1gsj0x7wXa8ONP9Oijd1H79m11ycWGGoHgD0EIi/Y1lDoNfQ7B3xAhfA4CjSAAwd8IWNgVBEAgegiw4Bcr+Y4LrPBbbdEfPJYvenLKKEsPHjy4uqio6JSCggKKjY3PjE9IGCQq+MeOldPT81+njh3aUV4Bz7WuKfBrp8Zb7u9pLD7PmTKREvnRcOpIBPHapnXLTbxo32Cu8mdMmTIFK29zgl1385zPNm78eXJjHsun5uX69Zn05JMv0cWXTAtrOL4e+XwtP5avAx7LFxIlHsvXtCxTf78xh79p/HAUCAQSgOBHToAACNiSQLQIfhX+eUuX9pNcNJeV2xl1AyJNeHfSpFXjV650t/FUXOGSpdm8T+dQ+9kyoA5y6tChQ6tZ7J8iVumPccdnJiTE+x9PVVlZRbv37fet6hglW2VVJa344hu68rLzKDmZnzhQvbVr23oT+zqY/cyYPHkyBD9zuePex/69ZvW3/2zqXPxrWIALxo89Jk4Rkd3UaQQDBqRvn//kfSGfHx9ZK6Kj9bzpp/fzyBKf36nO+d0lSRPaL/hslTx+vDu7e9wV/M3m4El1zu/qftHhcfOshOBvHj8cDQIQ/MgBEAABRxCINsGvBmXaihVnuLyeuVwB7VcTKJ/gV99f8PXXiXJx8UxWfbdyybR1qP0cEWgbOqlW+PPz88ntjsuMi49XKvxizn7dV84C5eEP1v7889XfUqw7hjL4sXyqH+3btUGFPyB/H3j2lR6fvPfprnAesRcs9dVF9O7lR+p140frRXJTRxSMG3fSSw/MvmlGJPuyS9s50yef4ZXlufzUDf/5PVDIyxeMTsxNbDGTv9Z8fif/+d2Jgr+OaMFj+ezyVYAfBhOInhKBwWDQHQiAQHQTiFbBL6iLSn67qoprecj2HFZybVjO1RL8amSmfPll6/jysltdMrH4p8RQ+0V3JJ1nvbbC74qJyYyLS/BX+MV4fa+XyOVSf77Vcf0qJ+u9Lysrp0Vvf0SnZoymXj2ECPXZntahHSr8QdL7vEv/VuqpqkpsSpV+6bJV9MaixTR16mSaNu33Ef3yqI/kG3vKqJEP3nXz9xHtzEaNi0p+bre4a72SNIe/CW1CCfmii8e2Lncn3sq3+WbyDb1ECH7lxmZGeno6RgPZ6PsAV4whAMFvDGf0AgIgYDABVfBHc4VAnd8vkevtdyZNWhsK4R+WLescK8mzXeRaWN9+BocA3TWRgLbCHxPjznTHxnGF31fJf/PdTygvr5B27eFh/VGyHd+zK513zunUMa29ZiSCEPwdNvFj+TCHPyCON9x6z4r16zefNnPmlTR8uOZeTwPxVh/N17VrZ7r9jpmUnMT3ACO4ifn7qS1TS997/T81q0hGsD+7Na3O73fJ3rc7LFwR8vyee8Wkzl6PNFvyehfWt5+d+Njh99tO8YAv0U8Agj/6YwgPQAAEghDABQPSIloJaCv8Mrm4wh/Hqk+m/777KfXr24uGDOzPrkXJin3KiAT2QhmRIP7V2N25U0dU+IMk6QNPvTD+kw+WrWzMsH6jxb7a38ljfrfk4btvnRat3zXYbU0C+P22ZlxgVfQSgOCP3tjBchAAgXoI4IIB6RGtBLQVfhbJmbFc4ffKXnr2pbforzMuYtnMP93VFX9R+Vc1tP8RfdWa2urvheDnx/Khwh8kUS++8u/5e/fsbxPOI/aMFvvC3JtuupuKS0rlMaeN7XH3rL/sjdbvGuy2JgH8flszLrAqeglA8Edv7GA5CIAABD9ywIYEtBV+r9fLgj9+kMyq/rvvN1F2biENPrEvebweTb2cF+zj/9Vof2u9T4iLo86dO9Sx77guXXjRPqzSHyyF73nk6VnLlq6e21CV3wyxry7Wd/LJw799+J7bRtvwKwiXTCYAwW9yANC97QhA8NsupHAIBEBAEMAFA/IgWgmoFX5+NB8LeznTHRMziCe/K5X81V//QNlZeVRw+IjyXp3bHzBa3j963gqfx7Pg79+vF40S89GVuxI+w7se1wUV/nqSdPq1/9i/Y/vuLrfffj3169e7zp5miH3xKL67/vUwlZSUek/9/anH337t5buj9XsGu61LAL/f1o0NLItOAhD80Rk3WA0CINAAAVwwIEWilYC2wl9V5cl0u93hr9xmUacXf/Q5r9B/HA0e2NdvYffu3TCHv5543XjbPUMzf9q+PiUlSbqHH7OnXYTPDLEvTH3hhUW0du06GvG7YfPmPnj7LIumG8yKcgL4/Y7yAMJ8yxGA4LdcSGAQCICAHgRwwaAHRbRhBgHtHH6Px5PpcsXwKv08TJ8r475XtbKvvg98td7ny1d+Qy1TU2jUiEF++4Xgxxz++jPsxtvvn7fu+w0zhw0bSDfc4HvUvVliX+23V6+uu1+b/3hPM74b6NMZBNTf75SF88i9bycVXzqTqrr1xmP5nBF+eBkBAhD8EYCKJkEABMwnAMFvfgxgQdMIaCv8FRUVmfxoPn+Ff8dveykrJ58qKipDN65O5g+1h8Gf800LOnykmM4/Z5LPour+e/bswXP4swYXFhZmTJ48Gc/WDhGvK/56W+a2bTsHjh07kof296EXX1xERj16TzVJnbffsmVqxYH8grSNq5YUNS27cRQINEwAgr9hRtgDBBpDAIK/MbSwLwiAQNQQUC8Y5mdn0Z7ycpqRlkY94xNQIYiaCDrXUG2Fn4U9V/hdSoX/wKEcWrX2B+rZrTOVHStnQNHxaL7UlCQaOXxg9cKCNSMVevXqiQp/GGnOIzukaRdfU5CXW9BK7G6G2H+Rh/J7ibwDT0g/c+6D/1oWhtnYBQSaTACCv8nocCAIBCUAwY/EAAEQsCUBCH5bhtURTmkr/MeOHVOG9FdxlfzVNz6gP110NsXFxdbW+iqV2o+5r3nsvUU/7937eFT4w8zoU6dcMquivGKumM4xevQwuuzPF9aa0x9mM43eTR3Gn5AQL4+fcPIf77zpr+80uhEcAAKNJADB30hg2B0EGiAAwY8UAQEQsCUBCH5bhtURTmkr/OXl5Zk8LGWQxOPgX3/rY5p61qmUnJzI7zRz+pVH8kXf+z59eqPCH0ZGn3zqBdNdLnqFtf5PAwb0abHll+3dunbrQldfdQl149dIbGI1/jcWva8s0NeqVcuqE4YMOPehO2/8KBJ9oU0QCCQAwY+cAAF9CUDw68sTrYEACFiEAAS/RQIBMxpNQFvhLykp4zn80iBR2a2orKSF//2E2rVrRUVF/Fi+KNv69O5OJ48Y7H+UYN++6ajwNxBDv9iXaVOJp3K8mDt/8z8fePfb7348Txx6+ukZNHXambpW+4XIX/T6e1Radox69uq2h28qjLnvzhsPRFm6wdwoJgDBH8XBg+mWJADBb8mwwCgQAIHmEoDgby5BHG8WAbXCX1BQwM87L8nk+fvqA+yJH9NH+w5lk0tZ+S74ps7st9rnKclJ1LZNK/9c/vT0Pptyc3MH5+TkZEyZMgWL9gUELJjYV3e56a4Hz8w+kP3G7j37WyUlJtDkMybQmDEjqH37tk1KW1HR3/DjZlq8+H+Ul1dAiYkJ3kGDT3j2sX/fdl2TGsRBINAMAhD8zYCHQ0EgCAEIfqQFCICALQlA8NsyrI5wSlvhP3q0mOfw+yr8vG5fzTJ9Nng/YEB/VPhDZHR9Yl97yD/ufPg/P/+yZfqRI8WJ4u/9+vWm4cMHKa8NDffPzc2nrVt30pYt2+nH9ZlKRZ/n6nsHnJD+RYeunWfced2MPY74wsFJyxGA4LdcSGBQlBOA4I/yAMJ8EACB4AQg+JEZ0UpAO4e/mCv8/OB6ZZV+Xq2dXfKtzGeH9/369UOFP0SSjjntgo3iI3UYf0O5fNk1N/8lIS7+pl9+2dZHu6+Y65+cpNwLqLX9+uuOWu87pLU72rljp2fXrv/xATxyryHa+DzSBPBY3UgTRvtOIwDB77SIw18QcAgBCH6HBNqGbmor/EeOHMlkF3lIf/BNrfxH4+cDBgzYxMP5BxcWFmZMnjwZQ/o1QRwyfmqrpghvniKROn/BW9fk5heekV9QdHxxcUmb3Jz8VG1+tGiZeqxFasrh1m1a7U1OTv5+QN++z1xx6dRfbPhVgktRSgCCP0oDB7MtSwCC37KhgWEgAALNIYALhubQw7FmEtBW+EtLS20rhg8cOLCafT0Fc/jNzDb0DQLWI4Dfb+vFBBZFNwEI/uiOH6wHARAIQQAXDEiNaCWQlZV1RX5+/mNc+d41ZsyY4Tx8X4zlt93Ggv9uFvwzDh8+PGzixInZtnMQDoEACDSJAH6/m4QNB4FASAIQ/EgOEAABWxLABYMtwwqnQAAEQAAEbE4Av982DzDcM5wABL/hyNEhCICAEQRwwWAEZfQBAiAAAiAAAvoSwO+3vjzRGghA8CMHQAAEbEkAFwy2DCucAgEQAAEQsDkB/H7bPMBwz3ACEPyGI0eHIAACRhDABYMRlNEHCIAACIAACOhLAL/f+vJEayAAwY8cAAEQsCUBXDDYMqxwCgRAAARAwOYE1N/vlIXzyL1vJxVfOpOquvUmXsA0Iz09HY/wtHn84Z7+BCD49WeKFkEABCxAAILfAkGACSAAAiAAAiDQSAIQ/I0Eht1BoAECEPxIERAAAVsSUC8Y5mdn0Z7ycpqRlkY94xNQIbBltOEUCIAACICAXQhA8NslkvDDKgQg+K0SCdgBAiCgKwEIfl1xojEQAAEQAAEQMIQABL8hmNGJgwhA8Dso2HAVBJxEAILfSdGGryAAAiAAAnYhAMFvl0jCD6sQgOC3SiRgBwiAgK4EIPh1xYnGQAAEQAAEQMAQAhD8hmBGJw4iAMHvoGDDVRBwEgEIfidFG76CAAiAAAjYhQAEv10iCT+sQgCC3yqRgB0gGsGBtgAAIABJREFUAAK6EoDg1xUnGgMBEAABEAABQwhA8BuCGZ04iAAEv4OCDVdBwEkEIPidFG34CgIgAAIgYBcCeKyuXSIJP6xCAILfKpGAHSAAAroSgODXFScaAwEQaIDAiSeeKItdfvrpp1rXVieccMJaSZLG8Ecd+bPs5oLk9iZzGyN//vnne0Vb3O9L/HIF/xvM7Wc2t/1gxxvRR2C/wk/m9pksy3epvkbCN7RpPQIQ/NaLCSyKbgIQ/NEdP1gPAiAQggAuGJAaIAACRhIwQvCbJYIh+I3MJPSF32/kAAjoSwCCX1+eaA0EQMAiBHDBYJFAwIwGCbCYGsQ7bQrYMWLVWrUfs8Rjg0CidIfGCH51X+FqYAWb4/Ivrmzfo8HwMlfurwyRJx15v/v5n7/Cr4pzbvcMUSFX29GOPAho60ret4voUxzD1fSlgSEIV/BrRjMoTQT0mcZ/yqovz7VceL8r+d9LqPBH6ReiGWbj97sZ8HAoCAQhAMGPtAABELAlAVww2DKstnOKBY4QamJIdp0tlPjSCwIEv14kfe2EK/gDRXG1FVeyOH5ZjUkQy4T4/YH/Bd4YCin4A9tQhTPbGUx4K7s3R/AHiHVt98pUhhB++28KhPocgl/fPI2G1vD7HQ1Rgo3RRACCP5qiBVtBAATCJoALhrBRYUeTCAQIL39FX1vh1VZIG6ieKvO466vqakWpKjL5tVYFNcgNCP+883Aqx4HV6UCxFk77bNPL1b58xdXmsSaFp9Hd1iN41bY6Mo8hgfPS1bgGzv0XBwXelAl2kyaw+q6JkzL3XXMTQR0poNxk0sZGtb2pgl8TV6WPatuVkQqhBLt2bQPeX9yE2MT7+mMe6EejA4IDopYAfr+jNnQw3KIEIPgtGhiYBQIg0DwCuGBoHj8cHXkCGpGkVHe1PVYLMK3YVhaEC7Ip+2hEX61dtGKroQpqqOqyKkQb6qO+6nR91etQ7UdbZTccwc/BmSLEdn2xFJ8FDt9XWTRG8HMzyk0k9caSKqY1N2Xq3GRqquAP1qbmhpb/JkC1b+oigyoG/40Q/oP/u4ARKJE/B1m1B/x+WzUysCtaCUDwR2vkYDcIgEC9BHDBgASxOgFVJDU0dD+c6mkYVV1lnYD6KqiBq8lrBLwiwsLoQ52eUOcGhohFY9u3evwC7QtnSH8Dgn8wx6eTdgRAcyr8VhP8QeLvf3qBOvIBgj/asj4y9uL3OzJc0apzCUDwOzf28BwEbE0AFwy2Dq8tnAtX8IdTPQ0yrFuZp62p6iqPOKtPUIWqUGvmftd6/Ftg5TjE3HB/Fbmx7UdbkMMR/MGErdbPwDhqckQZnq9W/gOG4wfGpaE4GT6kn3PvA3HDif+p0wq06wiIdQgwpD/aEj6C9qq/3ykL55F7304qvnQmVXXrTZxHGenp6Wsi2DWaBgFbEoDgt2VY4RQIgAAEP3LA6gTqG9JfXQ39qxiSbbbg14i0eoWkyjtwaL/mhkGoaQmqCIz48+QjmRPhCP7q6Rd1OKg3ZhqaNhE41J/9qW/RvqBD+oPdmBH9s5gaE8aQ/joI1WNC3dARUzaC2K1tp95F/aJtakckc8wpbUPwOyXS8NMoAhD8RpFGPyAAAoYSUC8Y5mdn0Z7ycpqRlkY94xNQITA0CuisPgIBwivkon2NGdLP/YUSeWEP6Q+2eJzwo6FRBIG+Bpk7rgzhDrf9aMuecAV/NUu/6NdOswj8rFos8y41i9kFrMXQaMEv+gi4KeN/LJ+aP0FiGTjv3r+L9iZBAwtLap9IoSzsx5tYPND/KMCAmwZ4LF+0fQl0sheCXyeQaAYEqglA8CMVQAAEbEkAgt+WYbWdUxoxH8w3/1z4+qqn4YrxhhbtC2WLpoIb1lDxQEc0Ff6gjyAM1b7tgm0RhzTrAvhXxNfkhv/Gk0XMhRkOJADB78Cgw+WIEoDgjyheNA4CIGAWAQh+s8ij38YSCDHcuY7wCuexfNx30Aq/alNDFdRA0R9QfW1wSH/gY/m438AV2muJ/vrabyxH7B8egfqG14cafRFey9gLBPQhAMGvD0e0AgIqAQh+5AIIgIAtCUDw2zKscAoEQEAHAiEeoeh/DKQOXaAJEGgyAQj+JqPDgSAQlAAEPxIDBEDAlgQg+G0ZVjgFAiAAAiBgcwIQ/DYPMNwznAAEv+HI0SEIgIARBCD4jaCMPkAABEAABEBAXwIQ/PryRGsgAMGPHAABELAlAQh+W4YVToEACIAACNicAB6ra/MAwz3DCUDwG44cHYIACBhBAILfCMroAwRAAARAAAT0JQDBry9PtAYCEPzIARAAAVsSwAWDLcMKp0AABEAABGxOAL/fNg8w3DOcAAS/4cjRIQiAgBEEcMFgBGX0AQIgAAIgAAL6EsDvt7480RoIQPAjB0AABGxJABcMtgwrnAIBEAABELA5Afx+2zzAcM9wAhD8hiNHhyAAAkYQwAWDEZTRBwiAAAiAAAjoSwC/3/ryRGsgAMGPHAABELAlAVww2DKscAoEQAAEQMDmBPD7bfMAwz3DCUDwG44cHYIACBhBABcMRlBGHyAAAiAAAiCgLwH8fuvLE62BAAQ/cgAEQMCWBHDBYMuwwikQAAEQAAGbE1B/v1MWziP3vp1UfOlMqurWmyRJykhPT19jc/fhHgjoTgCCX3ekaBAEQMAKBCD4rRAF2AACIAACIAACjSMAwd84XtgbBBoiAMHfECF8DgIgEJUE1AuG+dlZtKe8nGakpVHP+ARUCKIymjAaBEAABEDAKQQg+J0SafhpFAEIfqNIox8QAAFDCUDwG4obnYEACIAACICALgQg+HXBiEZAwE8Agh/JAAIgYEsCEPy2DCucAgEQAAEQsDkBCH6bBxjuGU4Agt9w5OgQBEDACAIQ/EZQRh8gAAIgAAIgoC8BCH59eaI1EIDgRw6AAAjYkgAEvy3DCqdAAARAAARsTgCC3+YBhnuGE4DgNxw5OgQBEDCCAAS/EZTRBwiAAAiAAAjoSwCCX1+eaA0EIPiRAyAAArYkAMFvy7DCKRAAARAAAZsTwGN1bR5guGc4AQh+w5GjQxAAASMIQPAbQRl9gAAIgAAIgIC+BCD49eWJ1kAAgh85AAIgYEsCuGCwZVjhFAiAAAiAgM0J4Pfb5gGGe4YTgOA3HDk6BAEQMIIALhiMoIw+QAAEQAAEQEBfAvj91pcnWgMBCH7kAAiAgC0J4ILBlmGFUyAAAiAAAjYngN9vmwcY7hlOAILfcOToEARAwAgCuGAwgjL6AAEQAAEQAAF9CeD3W1+eaA0EIPiRAyAAArYkgAsGW4YVToEACIAACNicAH6/bR5guGc4AQh+w5GjQxAAASMI4ILBCMroAwRAwKkE1v28bYjklc4R/nuJhvAFZSsimf9JQ5zKBH6DgF4EZFneLUnSbqU9mTZKEhV5+X1ccswHQ3v2LNKrH7TjDAIQ/M6IM7wEAccRgOB3XMjhMAiAQAQJbNi1q1XV0aoMmeSpLOqnkUQtI9gdmgYBEAhJQN7IHy0gF60eeUK6+G9sIFAvAQh+JAgIgIAtCUDw2zKscAoEQMBgAhu27OpRWVk5myRpurZr2esh8lRx8dFLkpdr/PxfYpM9lQZbiO5AwH4EJFcM31dzKY6J/xbfMEmKIckdV8tZMRKAXK45o07s/ar9KMAjvQhA8OtFEu2AAAhYioAq+OdnZ9Ge8nKakZZGPeMT+AdTykhPT19jKWNhDAiAAAhYjEBQoe+tYnHP/+Qq8no84nxKLDjwCg7IAyO/BzFxJLP4pxi3/6YA327bw3+cNWpQ7yUWO5XAHAsQgOC3QBBgAgiAgP4EIPj1Z4oWQQAE7E9AGbpfXHUDC4gb2dsWSoXRU0EuuZJkruSLC0dRy6/zqopefA4+yA/Dvh/kiiUv3wBQRwMw+tX83ZwzYmCfVfY/W8HDcAlA8IdLCvuBAAhEFQEI/qgKF4wFARCwAAGxEB95pQ/ZlK7CHBdX84XQ5zo+KrhGVnAxYgD51sh881IMeVxC+PukHf//3Sz651jgtAITLEAAgt8CQYAJIAAC+hOA4NefKVoEARCwL4HvMndMdUnyQq7ep4h19+NIDN/nefrVAkLxnEUI3msuncED+WCl7wd/RavITR6Jh/or31fv67GpcddjVX/7nrfD9QyCP1xS2A8EQCCqCEDwR1W4YCwIgICJBNZt3nYDK7cnhAkxsofiYniJMLEQnxAzqqjFK3ggH6Li++Dl+f3lXrHon/L9/Tk2NXYsRL+JJ1gLdA3Bb4EgwAQQAAH9CUDw688ULYIACNiPwPebt7/KdfvLhGexElf2XWI9cGwgAALRTECstnHMIybjuMT0iGK+BzAOj/CL5og2z3YI/ubxw9EgAAIWJQDBb9HAwCwQAAHLEFiXufUtXuzrQnExGB8js9jnufr83yEX5uPP8Dn4ID+i5HvAgSqplMgji0o/lcbGuk8Y2r/nbsucgGCIYQQg+A1DjY5AAASMJADBbyRt9AUCIBBtBNZlbpvOQ35fEXan8lpfMYom8IlZdcN78EA+RP/3obiC5/aL5TdI3uJOiT0Zw/uj7WzdfHsh+JvPEC2AAAhYkIAq+ANN4+dGZ6Snp6+xoMkwCQRAAAQMIcDD+Mfz9f9K0VlynETxbpd/bjIP/+X7ACwNAl7Vufz4HHyQH9H1/RBz+Q+XecjLX3oew/PJqIHpZxlyokEnliEAwW+ZUMAQEAABPQlA8OtJE22BAAjYhYB49J7klb4Uq/EnsNBPiWexL7ZQC7KpjuPz4Au2gQ/yJwq+P2JOf2FJpTKKh7/sT44c2JsX6sTmFAIQ/E6JNPwEAYcRgOB3WMDhLgiAQFgEeEX+jXzBPziOx/C3To4z/HnnVFZMMRu/I8+QUUSJKYb3HzhCQSrMJdevmVR10qlBRzaEGtEQqb+7dv1KdKyMPP2GWMKemB/XkrdTN/J27Gq+PcdKybXhG/IOHU1yQpLp9riK8knaspG8J080PY/DyUcPq/18Mb6fN1mWpo0a1HtJWCcN7BT1BCD4oz6EcAAEQCAYAQh+5AUIgAAI1Cagztt3cbW+fcsEktRh++puBryP+XUDuRc9Q3KnrlRx+c0kJbHoN7B/ZTi6pj/3p/+lmG9WkGfYGKqadrlPRJpoT9wzc0jK2q/YImwy1Z7SYoq/nwvBiUlUccU/SFZFv0l8XL/8SLFvVOcO20Oq6DfJnpiP3yT3t9W5c+4VyggQU+MVRv9llR46XFopiO0dObBPd5wjnUEAgt8ZcYaXIOA4AhD8jgs5HAYBEKiHwIZdu1pVFlft4V1atElJoIRYlzkVUhaR7qdZ1HJ11HvqOeQ57Rxz7KgWR3Rwj2KP2DwzbiVvz76m2iOtXUoxfBNCiOyqmx82vZIds/BJrmJvYC79yHvVreZWsrnCH/PU7Orc+QN5J04z1R5X1l62R82dW0ju1d9Ue4KtrRCs8p99mEeQ8IR+vrf19xEn9nkCJ077E4Dgt3+M4SEIOJIABL8jww6nQQAEQhD4bvP2OXzRNzs+NoY6tEwyl9PP68nFQlKIWu/sZ821hXuXPlpE0lfLiAYMI+9l5k9tds27k+jQPvJOuZho3GRT+UiFeSQJe3iagXfmPUSdTS4KI3eanQ/lXOXPOVwq2jkSm+LujlX7m43U8g1A8Fs+RDAQBECgKQQg+JtCDceAAAjYkUB1dX8v+5basXUKJcS5lUqkf1MX5Kv+g1opjOjnj9+uiFqa9W+iLj18C+IZ2b/Wf64c011/UW5A0N3P+yv8EfW/Hv7EopZe5cLrgOFE02fVLKhoEh/5w9dJjDygsy/hGxBnmM9n7j85dzidRe6IGxBm5K8av7ISvo12jT93RIgM+f408/t7qKCYyiurxPSVu0cN7DPHjuc9+KQ5xQMGCIAACNiRAAS/HaMKn0AABJpCQK3uJ8XHUhoLfits3v+wWPttC0kXXk3SyAzTTfLezGKWN9cdLLTbtDfXnp1byPss82E7FHtM3uSl75G8/H2isWeQa+qfTLaGyJ870/9O0om/M98eNXfunc/CP9l0e8Ix4FhFFR0qOMpr91OxO8XdFVX+cKhF7z6o8Edv7GA5CIBAPQRUwT8/O4v2lJfTjLQ06hnPi1RJUkZ6evoawAMBEAABpxBYt3m7mLvfrUu7FhQbI+buq0+Y8z1PXN1q5gBH/nPvm88Trf+SpEnTiE4/TzHByP6F29pKrHw/V9LF8PVr/klSbzEXu26l1jD7+MkB3vv/7mPyyOumxKeW/9+vJvntF4h4jrp0LfMxOX/oredJ/kHkzrmcO/yvejMsPgH+q7njuvZOnsffz3Q+4cYnq7CYhPDnZL985KD0BU45HzrRTwh+J0YdPoOAAwhA8DsgyHARBECgQQLrft42hLzSBrEyf9f2LULuX2cYcsCeun++jCvGKxYT8cJrQrTp3n4j7afn7uMRB/xIvL/cQXR8/zqcDLfvlupK+sMLa90MCRXAiNrHIw7o+ftZ8Pcj4hsiwbaI9q+5GaT0HZA7yo0R8XQF7TD3Rsa/Wcc3kDum2xeCz9GyCio4WiYE/6ss+Kc3eDLBDlFLAII/akMHw0EABOojAMGP/AABEAABou9/2j6LddDc5Hg3tWuZbJ1VxD9YqCyUJ591CUmnnGG6XTSXhT6vKSDfcC9JvKZAOM81D3dV9EbvJ9YUEPPCExJJ1qwp0Oh2qkVws4/jajq9wxX+4WNJFlMw9Gq3qe28zUPn168luuAqkn83znx7HrxRGR1Ctz1Ocut25tsTJldeqJ/25x0Rp8kj/Ii+ljhf2pcABL99YwvPQMDRBCD4HR1+OA8CIFBNYN3mbRu4/jmkPa/MnxgXI2p99bARw/uN+VwSFWOlon678jgz32Zc/4EQpFsv81nw0Gum85F4bQN6/gGloi6LEQf+zRw+kpi/v2IJj8aYSrIYRh9yM8a+4LljXv7U5M6rhn1/goeg8fwP5B/1PaKPaMKIgX1W4cRpTwIQ/PaMK7wCAccTgOB3fAoAAAg4nkD16vyFAsRx7VLrlfJGw3LN4Qo2P+pNvvUxpSpq6nZwD7mevIvkVu1Ivu0xU01ROv9yKbk+eYPkYaKifpXp9rhem0f0y48knz9DqaibvSF39ItAYXE5FR+rEDcq5o0c2JsXssBmRwIQ/HaMKnwCARAgCH4kAQiAgNMJfL95+3iu+a2Mj42h9i0SLYND4sq+64UHiTp1Jc/Me023y8VrCUiff0Dek08n+eyLzbdn/gMk7dpK3j9dT7J4NJ/JW8zt0xULPHc9Y/oq9MgdfZOhospDOYd5Hj/Rah7WP17f1tGaVQhA8FslErADBEBAVwIQ/LriRGMgAAJRSOC7zB1TJUlenMCCv22q8pQSc+emV/fv+vhNcn29TBHY3rP+z3S73E/dpczfFwLb23+YufaUFpP73uv8AltOSDLVHvp5PcW8/hTJHbuSl9c3MHVtA84f6aNFnDvLOXcm8c2ZS0y3xzXvXyRl7SPPpdcTnTDcdHsaG5/ySg/lHoHgj8LTe6NMhuBvFC7sDAIgEC0EIPijJVKwEwRAIFIEvtu8fQ5f6M1OTYylFolxfjGi9qeKA3XufM173x6R+jyGh88rImnGLdXz931zj43qv5b/vECeKrAr73tZEddm8nFt2eAT2D37UtWMW6vtMY9PzCfi5gwL7FPPIc9p55jOx/3U7OrcuZW8zMgXL5P48M2Z2H+z0Oet6v5XzMlfHfw/UFCi+MAVfujCSJ2MTW4XgTU5AOgeBECg+QTOW770Nr7vzyscNWGT5dySKk/v//3+98pStdhAAARAwC4EVMGfkiAEvztAVAeKJGPeU0EuxT52q7ICfeW/nqnnpoIx9ki8Ar17MYu1/kOpiqu0oW9yGGNPzLsvkmvD1+T5/UXkHcNTDPgRC8FFrTH2uB/5B0lF+VR13WySO3U31R6pMJ/cj95SnTtPm57PrvVfUcz7L1fnjhiVob1pZUx89MiPQ0VKhR+C3y4n/iB+QPDbOLhwDQScQuDMTz+NT4p1b+UTWvfG+szXUte+d/rpzzX2OOwPAiAAAlYnsC5z2wJWi39ulRRXvUK/+Ra7eG66+6WHydtDVLBZvJm8xfDc/ZiVH5Jnwh+UCrbZm/vFh8m1eytVXXmLUsE2e4u780rFhIp/v2S2KYTciUwIsljwi9sTsSnu1kN79iyKTC9o1UwCEPxm0kffIAACuhE4f8XSi0iW3mxMg/wD962rsGjsOxde6GnMcdgXBEAABKKBwLrN21exnRltU+IpNobHQfFVH9/k1MwJN/699MsGin3jGfL2G8IV9etMt8f18X/J/e0Kqjrzj1xR53nhJvOJfXoOD1nfTxV/5XUFOncz155jJRR33w1KRb38n0+Znj8xv24g9yKRO0Op8pK/mW6P+9P/Usw3IncuIs/JE023p6nf74KSCqqo8uLRfNFwUm+ijRD8TQSHw0AABKxH4Lzly77hk9pJ4VrGP2+j35806dtw98d+IAACIBBNBGoEf5wi+EOJWd8c6NDiX8/P3Ru+4iH0C8gzZDRVnnuFZri6Mf3XLFzo6y+Obz64ft1IVdOmU9XQMUFvhujpf2D/NcP1ffYk3D9TeVxhxY0PkJcfExj4eUPH6/k5HdxL8c/yQn382ERhj9n54/pqBcV+9paSO1XnXeG3x8j4aPnG8s0HNXc8w8aYzqep8YHgj6azetNsheBvGjccBQIgYEEC5y5ffpJL9q7lK6SYhsyTSX7rvUmTL2poP3wOAiAAAtFKQBX8bZLjyO3SVvbNW63ftetXinvlMR7Sn04VV/zD9FXN3V98QO5VH1PV+LOoihema+wq53rvH/fyIzykfxtVXH4TD+nvZ7o9CXddpaR/2d3zTX1agOAcw1ziXnlUyZ3yy2823Z7YlR9x7nzEuXM2VU4423R7mvoUjsLSKqr0oMIfref5cOyG4A+HEvYBARCIGgLnL1v2HI9L+0t9BvOFQ7kc4+77/mmn7Ykax2AoCIAACDSSgCr4WyfFKhV+K2wxPD9dEfxcvS7/+/2mmxTL8/eF4BdV44ppl5tuTzwLWiH4K6f+WRlxYPaWOPtqxQQRKxEzMzfkTmToF5ZWsuDnxSGJJowY2GdVZHpBq2YSsMbZ30wC6BsEQMBWBC5Y82l7+VjMDr7V3iKUY16JHnp/4um32cpxOAMCIAACAQRqBL9bqfCLVcSV/1fm8vtWETfjfdIc3z3ZY7OEiGxrqj2iahy/QNyAaKvYYwYPbTxE1Th2NY84GHyS/waEmfGK55szMXt4xME5l/lvQJhpT03u3Oe/AWGWPTG7t2ty5z7Tvk/N9b+oTFT4Ifjt/AMCwW/n6MI3EHAogfoe08fXvEVHK6u64zF8Dk0OuA0CDiKgCv5WiTEs+LXivgaCutCX+hcj3se/+SzFbN1Enn6Dqfyia5W5z0b2H9hf4gOzSCo/RuWnX8CLr51mqj0x2fso4TkhHnkY/V/+yY/C62qqPbHffk5xS9/x3RBheygxyVR7Ev5bkzvH/nitf6E8s/In6cGa3KkafZrp9jTl+1tU5oHgt/nvAgS/zQMM90DAiQTEY/rS4uMOF3u98YH+90pIfOzhceNudiIX+AwCIOAsAlrBL0b0N3WOr97Hufdsp4RXH/eJ2gv/Qt7+Q02dqx7PFfXY1Z+QzKvRl13NIpsXqdN7bn5j2ktkNjHMyNvxOCple/Tm35j2qKyEkuaxDXxDpHLUqVQ++QJT7RGP5kt8ba6SO8f+eA1V9R1sqj1iREbcGl/uHPvLneRp2cZUexqTZ2oeHCn3QvDb/KcBgt/mAYZ7IOAEAucvXzqHL2VnN+SrMoDVt4ytdtdsflhV33cmTTrc0PH4HARAAASiiYAq+FsmuKor/OowfvNfYzd+Q/EfLqSyy/5Onh59xNmZ/5lnV/yS18i9dSOV3nCfIt7MtEfix+ElvjqX7Uiisj/faCoXwcGVtVexRwj+Cl6gzsw4CXtiN35dnTuzOHf6mm5P/JIFnDubOHf+zTFLNt2exsbn8DEP8VP5MIc/mk7ujbQVgr+RwLA7CICA9QhcsHx5S151fytblqa1rmaGqu+vge99f5X+/u6kSU9YzytYBAIgAALNI6AV/DFSjZhWK3uqqMV731MLwMN30wX54Kx8OFIuQ/A371Rr+aMh+C0fIhgIAiAQDoHzly+fxRcqvnF+1Zu2os83BPjudcApT6ZdebGxA1ZNmHAsnD6wDwiAAAhEEwFV8KfGSdWL9kWT9bAVBEDACAJHKyD4jeBsZh8Q/GbSR98gAAK6ERi/cmVCu8rKX1jT96zVKKt+IfbFMP7AE55XpsvfP/30BboZgYZAAARAwEIEagQ/Ue05/GKVfu2cfrwHD+RDzdoGzvo+FFcSKvwWOm9HwhQI/khQRZsgAAKmEDh/xdKLSJberN05y32ZxX7ds91mqbBo6DsXXugxxVh0CgIgAAIRJlBb8GuWwo9wv2geBEAgeggUV0oQ/NETriZZCsHfJGw4CARAwKoEzl++LJNtG9iQfbIkT3tv4uQlDe2Hz0EABEAgWgmogj8llshFXmVutrqaibqaN9775u6Dh2/uPvLBeflQXOkijxjxQzRhxMA+q6L1fAe7QxOA4Ed2gAAI2IrAtBUrzoiRvf9rwKm17046fZytHIczIAACIBBAQBX8yW6Zh/QHq/AHX8q0phl87lvIL9QGPuAT/flRUiWx4FemPULw2/RXBILfpoGFWyDgZALnL1u2in+5Muq51zmBV+bHXWwnJwl8BwEHEKgR/F6u8IsKrjo3Wfuqrsrue2Kp+uTSmld87pvbDT7ID3t+P0o9MRD8Nv89gOC3eYDhHgg4kQA/pm8sz9z/MpjvSS7XutdOmzjKiVzgMwiAgLMIqIL/uZ+8NLmrTIPa+qr8ocSrSkePz3P42SdfH5Joc4FEYlGwTH5Vn43aK1Wmjkk896qNTCd3kqnS1025AAAgAElEQVRDgk9M69m/Kk5VO347KlF2KdFvR3z2iHJmspvo+BYypSUSDW4n00lpMonpD3r4rxXHWdzvt9kSZeZXs+BXZeAAh+P4lsIOERui0R1lxR69+xftCf+/yeI4VNsg3qvxGMRxEH6L/BA2qPEItKM58SmpIvqmmkFgHEQ+pMRx/2zH6I5E4n2wmwvN6V/kwTdZmhgE5GOk+1fzezPz35Tv+z5kl/K/Ml8eiHxQ49CLcyAYh+b4H+r7teKARC3jXdS/NSr8dv51gOC3c3ThGwg4mMAta1bn/VZezpdQtbfTW7a6/OqRIxc4GA1cBwEQcAgBVfDfs85Dm1lkDGpHNLWHT0xEas76iv1ES3ZJtPOwtiKuzpEPLqYndSW6uI+XbwLoN4d8+T6iD3ardtTfv3Z19onHyXRJOrHobf6c9pxjEi3aRrRiP4+vYPUcvEJee3X8nix2L+X+xc0HPebUZ+bLtGi7izLzQo1QqLs6v57xKKmUacluFy3+TaZSHjoe/GZG7fiIPL24t5dvwjQ/H7JLff6LfAiHv7BP3IQ5h78ngoNeaxqI/hdt9910qmtH8PxM45tiozkPpvbSJx+1+VTMj+Kbm+mir/km0L0nuagfBL+tfxUg+G0dXjgHAs4lsCIz84f52VnDvRoEA5OS6P/ad8hIT09f41wy8BwEQMApBPyC/7tKRfCLTVz4dWAhMZUfYCrEbXJsjajylxrVkmMjXlfs94nbHBY02tUC1NZV5qHeiwrzJekyndOzefaodghhpfrbWHuS2RbB52K2x1+KV0vyYbwKkSvE3ZLfao5uyP/Az0XFX/Q/qG3TeIjq8Rvb+WYDC83G+q/uP7WnuPkhcY40jcOK/TLN/7l6REW1g+Hmg9hd3Ji6+gTiERhN63/RNpk+4JtPyoiOJvTfq4Wvf9/ImKbFQYyoeOFnop1Hmp6Pondx8+E0/r42NR9U+0t4Rf4PdombcqRwEV7dPYor/G1jMIffxj8MEPw2Di5cAwEnE9i6deuad/Pzxm0oKVEwuPmW+qxOnalNbCwEv5MTA76DgIMI+AX/txUs+DUVZmagSBi+CjwpTVT+JRrVgYfZJ9esVq+OAKjvVVRsl++T6UMWVVlcSfVXLjXtKxXdRrzvmUo0rZdEp7K4qam8129XTpkYrq6xoxH91WefGHEgRPfEruFxUXm8wTc+FDGlronQDHtO68I3H46XSFT+w+EhKrcf8siGJVxRF8PoG8s/cH8x7WEqx+MPXPFOiQuPw3c8dF/0v7lAv/5P7RJ+fn7BN59e3yqTGMbfXP/F8eL7cXEfFtv8Gs73QsQpM0/mGy6+18bkf0P2DmwjxD9/X8X0kzDjIezJKvHlxfK9YqRFzfdf9HfPSW4Ifpv/LkDw2zzAcA8EnEpACP7CqqpxTxw6SFX8izY6JZXOatNGXDBB8Ds1KeA3CDiMgCr47/7mGP3Mgr+hrQPPZe/VUiJR2RwohlNXFzZPZJGRw3ONRfVeqJfNLGLEiAFxEyFSmxiFMJCr26LKK0RnMosbcTNg11GiEha1Qsz+xtMGIm2H8E9wGd1JIsFBiKz2vOZAx2TBwcdDDBv/lodGCx4lmmqynmxEXET/wg6hYjvwzQhh108sqsV7wUUM24+UDWLUg4iHGG4v4iDuZtTkhS8eov9vs1loV4+u0NN/0dZJHc3tX/AWov9EHn2RxvyTxBoQPPxfTF8RIlrcbBHxECJ/V3VFX28G2vZEPAZyPMRNABGPmrz0rTAp8vIn/p7uPFy/PXePjmXB70aFP5LBMrltCH6TA4DuQQAEIkNACH5uedzHBQW0obREqe6nxvCQNQj+yABHqyAAApYj4K/wf13G4tSrWRivZs6wz2i8V+fYgwfywWnfh7tPjofgt9zZW1+DIPj15YnWQAAELEJAFfxHPR7KZME/JpVLVspNcFT4LRIimAECIBBhAn7B/1UJV/q0K5pEuGM0DwIgEDUE7j45gfq3i0WFP2oi1nhDIfgbzwxHgAAIRAEBVfDzwn20p7ycZqSlUc/4BAj+KIgdTAQBENCHgF/wry2mn/I89cwBV1fPDzVHGZ/7VpcHn+Bz2JEf0Zwfc8Yk0YD2EPz6nHWt2QoEvzXjAqtAAASaSQCCv5kAcTgIgEDUE/DP4f/yMP3CFX7/jPsgi44rC8ypHuPzOouygw/yw67fD5/gj0eFP+rP+KEdgOC3cXDhGgg4mQAEv5OjD99BAAQEAX+Ff01RAxX+8FcfD3eVcuwX3qr64ARO4Tx9IZJ5MmdcCgS/zX8yIPhtHmC4BwJOJQDB79TIw28QAAGVgL/Cv7qAfuEh/eqj+NRSPt77Hp0HHr6MQT44Mx9mj2sBwW/znw0IfpsHGO6BgFMJQPA7NfLwGwRAIFDw37Mqnyv8VWE9xz2SlUSzK5noHyM5kN91R1TMOaUlDejAaxwRTRgxsM8qnEHtRwCC334xhUcgAAJMAIIfaQACIOB0Av4K/8pcrvDzg8KxgQAIgEAAgdmntKIBaYkQ/DbODAh+GwcXroGAkwlA8Ds5+vAdBEBAENAK/p9yRYVfXU29+pX3UYdx+1YZx+e1OITJp3dlLr1xaL4/6V5pcTI922qCEFCm8A1pj0nxtRKfXhW59GZArJ5rPYHMzP91e+/z586axHT6R4cLfPYYlD9zMlrRCRD8tv7RgOC3dXjhHAg4lwAEv3NjD89BAAR8BFTBP/vzHPo51Bx+Daygc7jxuZ9AKD69KnLorewX/Pu9nDqGBf94n9g3gV+v8nrsCVyzwAD7rMTn+Epmk1U3VgKDWfn//b4awb+aBf/N7S5QomJU/tw9HoLf7r8ZEPx2jzD8AwGHElAFf6D7PIczIz09fY1DscBtEAABBxFQBf+/WPD/lOupW8EPrPjiffBKbwNcerOIfFsj+F9iwf9My/Gm8YY9ASNVNPETN0PeyakR/C+qN2eCjXAx6Pvw4/4awb8qIZ1ual9d4Teo/3sntKITUeG39S8DBL+twwvnQMC5BCD4nRt7eA4CIOAjoAr+f67wVfj9JUO1dIhXzbhpTUm1kVyO5wr/u1oRmcKCnyv8ZvGGPRxL/3j42nEVFf5asRI3Z1pwrELsb8TfNwQI/r+35Qq/gfb8myv8J3bEHH47/25A8Ns5uvANBBxMAILfwcGH6yAAArUF//Jc2sxz+I0UEWaJXTP6Pb4qh97XCP4XWPA/baKIhD2hb96ImyHv59ZU+JVY8WgMM/JG/T5uOlhT4V8Zn06zxJD+Rt50as7+953aigZC8Nv6VwOC39bhhXMg4FwCEPzOjT08BwEQqF3hv21ZtjKkX2yaKdx4rxMPUTVenPeiP+3mJ59MTwnBr1P7QvupWzjxgz2hefXhWL2vidULHKsnq2NlVrwyD93vN1gI/pltzm9UvBubH4H7C8E/qFMSVum38Q8HBL+NgwvXQMDJBCD4nRx9+A4CICAIqEP6b/vsEGUqq/TjOeyReA57n6o8WpL/kkbwj6Z5KaeYxhv2hM5zUeH/oOBlf6yeTxrNN2cyeO2Gus+nN+r78nP2Q357vojrw4L/PEPteXBiGxb8yRD8Nv7ZgOC3cXDhGgg4mQAEv5OjD99BAAS0gv+WTw/4hvRjiwiB3lW59GHhghoRmXgSC/5xEekrnEZhT2hKVmMjLP0l9xG/wZ/H9abrW04LJ8y67fPgpLY0uHMKBL9uRK3XEAS/9WICi0AABHQgAMGvA0Q0AQIgYDkCG3/9jZ8yIo0TFUntnHylQsn/k/l/yiu/93j5Hb/+45P9lJlToVSc1bm+akUT7znEymrovgpvU3j09uTRR0Wv+nPlucRR9ETSmCa3B3uaF4/6+PWu5Fgd1sQqYRTfnBnbrPg3N15b8h+rEfyxvem6lucYas9Dk9tD8FvuTK+vQRD8+vJEayAAAhYhAMFvkUDADBAAAV0JZG4Vgp9qyscakSo60l7YlVd6yMui/6aP9tDmHFHhV4ctqybVDGNW7x74hjHjcx+B8Pj0rsylj4++7o/zs/EjFcEf7vHKzZvquzd68Bei9uOjCzX2jGB7xpoWfyvxSffk00dHatg8lzCS5iaerCv/xn5/fi2YqxH8x9NfU/5Q/T68/Gtu/jx0egcaclwqKvy6nqmt1RgEv7XiAWtAAAR0IqAK/vnZWbSnvJxmpKVRz/gEUXHJSE9PFxfM2EAABEBAFwKhbjDq0nhAI0WllVTl9YlR9UHvteca+/4sthh3LP+3i276cDdlZlcoH4Saq6w+gB6fB5/LXR8fISI/KV5US2A/njC61hx+I/kGs2cu22NW/K3ERwzp/7T4DX+s/hP3O9/NGWXEjDnfj+2Hn/Tbs8LdiwX/2XW+p5G079EzO7LgbwHBH4kTtkXahOC3SCBgBgiAgL4EIPj15YnWQAAEQhMwUvAfKjhKxyrqzsdXK8Oq2BfWpqamkptF//M/xpDkTlFGq4faAld/D9zPLp8fKSulr7ftJPGqfZSZOlBC8TvII9Hq+7xPVT79r/TNGhEZ+zt6nOfx69W+/96O2kMD9gWzZy7boxm4UecRjc3xvyH7rMSnD9+c+V+JJlYs+B+PP8l37yxMvo3Nj4b47DjytEbw96RrEqcYGp9Hz+xEQ7u2hOC38Y8cBL+NgwvXQMDJBCD4nRx9+A4CxhJQzzefH+xEueVJITs/tdNB6pBQFvLzcI4/mreHSo5V1Mzx5dZCrSaexiObEuLjadGWltSmRRtjoVi4ty9+3kI/7NxZPce+dmU3sJIazvs+3gL6rOwtv8fPxA6nx+JG6ta+tvIMe5oXL/EEg8+OvV0TK/cwejyBb4b413BoXvvhxCcwnjtLnvXbszxGCP4zDbXnsbOOg+C38PlKD9Mg+PWgiDZAAAQsRwCC33IhgUEgYFsCRgr+goPb6WgpV6e1K/ZpyKqVePHapWtXSkpMguAPyLy9eXn05ldfK38N57n2DT3nvI+ngJaWv+Pv5Wn3UEXw69V+Q/0Hfg57agIeGN++HKvPNLF6hmP1aHWszIrXb6XP1wh+Vw+6OmGy/70e+dlQ/jx2Vlca1q0VKvy2/YWqvbaLjd2EayAAAk4jAMHvtIjDXxAwj4CRQ/p/2bGbjpbwKIHqOceBr9o5+N179KSkpGR69geJXO5k8wBZoOdu7dv7rdibm0tvrF2ryP2Qld3qcdvhfN5XLqRlFe/VCP6YIfQoD+vXq33f0wMCKs/12BfUHjfbo5mjrs43CMe/xvav7K+xz0p8xJD+5ZXv+2P1FMfqsdgRjeIb6F9z+ewpf9FvzzKpO10df3otfs1tv6HjnzinBwS/Bc5RkTQBFf5I0kXbIAACphGA4DcNPToGAccRMFLwb9+9XxH8gcP41QX8tPA7H9eVErnCf93bv1BmVnmwqce1xgkEmRpum8/vOO/cWoJ/0ZovdeMhhvSvqFpcIyJdg+lRFthm8YQ9dabA+/O4L8dqeUCsHuFYaUfGGB23PRUv1RL8M2InGmrP3HO60/DubVDht/EvFwS/jYML10DAyQQg+J0cffgOAsYSMPIxoEs+W7mGxf44WfbyBTpXqMWj4zSVam2Fv1XrNpSUnKwI/o0HeRpAdaVYvVngv0mgqSCLSrIdP//n+edrBH8OLVy12s8jkENj/U+Xi+hzzxKN4B9ED7uG6dZ+Y+3ry/as0NjzpGsQPaKxp7H+Nbb/wPatxCedh/R/7v3AH6snJWbjHl5rxIzRfPZVLfDbs5S60VWxpykjT4z6fj55XjoN69qCYlPcrYf27Flk7NkTvRlBAILfCMroAwRAwHACEPyGI0eHIOBYAkYK/uVfrlvDGn9c7RX3g6y/z3+KT0zkCn8i3bJ4C321u7jWQn8iWP7h3NWRs/P7Oy+80J+fe3KE4F+lm/8Z3v20SP7c3/5+Sqa9UmqNiFQ/UUVchN8nypU0lPJhTxDeiVQVnI3vC1HzTEsD358sZ/ljtZNaUEbMNOW9Ud/HpX8dRinxMTRyYB/oQpv+iiGwNg0s3AIBpxMw8gLc6azhPwg4nYBVzzffbd4+hy/0Zs9f8xu98n1O7REBgSMD1PeBr2rFP8o//9dFF2kEfza9+sUXtUdGNMO/38t76UVpjb/9QN1o9PejrlCsrWOdbI/V2ATGIktOpOGu8+uO3GlGfiojFuo5/pub+RGSvEHwG/3NMK4/CH7jWKMnEAABAwlY9QLcQAToCgRAwCACVj3ffJe5Y6okyYs/2nSQ7lu2R9QM+Z+Zs5XN63/2xZf4s2F3Ngv+z0VFXh97fk976SXpS8sI/sC0N/sGhJXsiQbBP5REhd+Y72nvdgn0+uU8/YRoNQv+8QadMtGNwQQg+A0Gju5AAASMIWDVC3BjvEcvIAACRhKw6vnm+83bx7OkXbl+dz5d+9aWOgv9BS78Z+f3cy65VCP4s+iV5ct149FDKqHHpe+MTDn01UQCSTIP6XcV+I/eJyfx7ZqUJramz2Ht6Zi/oR/lNjSLRvuH82vX5IjE93Ncz1R69IJBEPz6hNKyrUDwWzY0MAwEQKA5BKx6Ad4cn3AsCICANQmo55sVBztTXnkindbpILVPUFbSz0hPT68Z622w+Rt27WpVWVxVKLod9Qg/d15dB0y1w0Hv5wRU+Bd8vsLRPJQUcFD8VX/7URGtcn3q/yY+IZ9AD9Jg33sH8pg1/jj6v5Hd2Hlp3siBvWcZfIpCdwYRgOA3CDS6AQEQMJYABL+xvNEbCDiZgFUFv4jJus3bV/FLxi3v/0Jf7jpavTCZT9yEWgW8ZjRxzfPf/QuaKePDo+/4uwLn8H/+haP8j/b46WW/eCzfSukT/+lqnnwiPeQaWmuV/mjM76byefXSAZSelopH8tn8BwyC3+YBhnsg4FQCEPxOjTz8BgHjCVhZ8H//0/ZZrNHnvr3+AM1bc0CofFWtO+r1zgv/6E8MdZV+vebwox191kIwgqN4ZOHn3g/9ufCkNJAfociC34Hfi46pbnpvhvCdjvD8/ZbGnznRo1EEIPiNIo1+QAAEDCUAwW8obnQGAo4mYGXBv+7nbUPIK20oPlZFZz6/SVPYl6tX7Veljua9Uti31+d3nH++P0f35vJj+VavdpT/Nau0qwMb7BXfcP3r4y2kzz1LagS/axA9GjNcs4q9c/j8cUg7uj6jh/iyvzpyUPp0R5/Ebe48BL/NAwz3QMCpBCD4nRp5+A0CxhOwsuAXNHhYv1iiv9udH2+nNbuKjQdkgR5vP/dcjeDPpUVf1qyqbwHzYIJBBNJ5SP/yysX+3p6KGUyPun9nUO/W6ubli/pQ7/a8YKEsX86Cf4G1rIM1ehKA4NeTJtoCARCwDAH1Anx+dhbtKS+nGWlp1DM+wfRFtCwDCIaAAAjoRsDqgv+7zdvn8AXf7E0HjtLMJb/ptjp9JFYNj9Sq5Leec06N4M/LozfWrnUkh0jxjZZ2+3jyaVn5e/5ceDpmCD0WP9KwVfGtwmlIp0R6YlofweFobIq729CePYt0OyGiIcsRgOC3XEhgEAiAgB4EIPj1oIg2QAAEwiFgdcGvrNZ/tHI/K9zkGz/4jTYcLK1Zr48ddML6fbf84Wx/KPex4P/vN9/41jlziP+SfdZfbOr6dMpx6d58+qzsHX8uPOMepgh+p/GZd053GtQ5VXz37x41sM+ccM5z2Cd6CUDwR2/sYDkIgEA9BCD4kR4gAAJGEbC64Bcc1Cp/5sESuvHjvUpFU1U5aqXezu9vmvL7GsGfn09vffOto/x3WrxD+dunKo/+V/qWPxf+Ezuc5iae5Kjvw7AuSfTIWT2Ez8VxqbFdUd036pfCvH4g+M1jj55BAAQiSACCP4Jw0TQIgEAtAtGwZoio8lccrdzH4j7lnhX76cvdJTWPIlO9UW8C2PD9jWee4Y/Zfhb8b6/73lH+K87bOL7h+tfHU0CfFL/hz4Vn43/Hgn+0771D+Dw/rTv1aiumONLfR5zY5wmczu1PAILf/jGGhyDgSAIQ/I4MO5wGAVMIRIPgF2DWZW6bzlf5r+QUV9I1S/ZSSYW39vDoUMO+bfD3WZNPrxH8BQX0zrofQg/jtoG/mgEc8FMTz96VefTx0UUawT+C5iWf7JjvwfkntqSrRnYQ1f0DowalH2fKCROdGk4Agt9w5OgQBEDACAIQ/EZQRh8gAAKCQLQIfmHrd5u3/SKR1P/znUfokS9z6wmgOrs91C7R9fkNkybWEvzvrd/A78XqBfbwr64X0RUfo+zvzUP6Pypa6O/uucSRLPjHBEkC+/Hr3Taenj7bp/FlWZo2alDvmucT4lRuawIQ/LYOL5wDAecSgOB3buzhOQgYTSCaBP+GLbt6VFZW/cKr1SU+8XUeLdtxVJnLrqweri5hZ8P31586wZ8WBwoL6b0fN9jaX7vHs6n+9a7MpQ8KX/XnwvNJo+jJ1HG2z/9kt0TPnN2FOqS4he/PjhzY569GnyfRn3kEIPjNY4+eQQAEIkgAgj+CcNE0CIBALQLRJPiF4d9v3j6ea9srxX/fsSKbMrPKFX+U1fo1ntnp/d8mZGgEfxEt2bjJ1v7aPZ5N9a8PC/7F+a/4c2F+8kn0VOopts7/5DgXPTSpPfVoHS/8XMpiv2ZBC5zLHUEAgt8RYYaTIOA8AtF2Ae68CMFjELAPgWg836jz+cU8/jtW5NDOwkpbP5f+rxnj/Al3sKiIFm/MtLW/Vnneu9XsOL4ihxbnvawR/KPp6ZYZvgq/OrLFZq83jm5Np/ZKEbf0tsamxJ6EVfnt89sTricQ/OGSwn4gAAJRRSAaL8CjCjCMBQEQ8BOI1vPNd5u2via5XH8qKffQvatyKDOnwrZRvf7U8X7fxJD+9zdssq2vcCw0AWVIf8EC/w7PJ52kDOm345YcK9FNJ7ehk7qx2JflktjY2BOH9u+5246+wqf6CUDwI0NAAARsSSBaL8BtGQw4BQI2JxDN5xse3v8aD93/kwjRY19m07KdJbasdN4w8VR/Fu5nwf/uDz/a0k87V6r1qMALwf9R0Wv+XFAW7UupnsNvo8p+Ek/Vf2RyRzq+XaKYplMsu+RxI09I32jzUzHcC0EAgh+pAQIgYEsC0XwBbsuAwCkQsDEB9Xyz4mBnyitPpNM6HaT2CWVCUGakp6evsbrr3/+0fRaPaJ4r7HwvM4+e+6HIZ7KNJvHfOHlSjeDnx/K9/f16W/lnt3hFyp8+njz65Mjr/lx4NmEEzU2qXqXfJvk+qEMszZl4HKUmxPBXWP4lLiV2DIbxW/0sHFn7IPgjyxetgwAImEQAgt8k8OgWBBxIINoFvwiZspCfLH/MdymSd+SW0NNfZ9PmnCohGJTV7KP99ebfT/Zn5r78Avrvd+ts4Ve0x8Vo+3uz4P+s+A1/LjwT9zuam3hy1Oe34JgS66Jp/VPo8lGdFP9Y5L3uTnFfD7HvwB+lAJch+JEDIAACtiQAwW/LsMIpELAkATsIfgF23c/bhng98iKX5Bog3n+yOZte3VhEOSVeS3JvjFG3nv17/+578/LpzW++a8zh2NcmBNI9+bS07L9+b56OHU6PxZ8U9d5N6pVIV7DQ79RSWYlfDM65e9TAPnOi3jE4oAsBCH5dMKIREAABqxGA4LdaRGAPCNiXgF0Ev4jQhl27WlUUV83iC8Qb+W2q+NuHmw7Sgh8LKa9MrP0VnauZ337OWRrBn0evr/0Gc/htNGc93LwUQ/pXlL/jz4WnYobRo/GjojavT+0RR1eN7kJdWiepPq3h7+7sEQP7rLLvGReeNZYABH9jiWF/EACBqCAAwR8VYYKRIGALAnYS/GpANmzZ1aOysnIOq+I/q3/7aR/Pfd+US5lZFZRbJiY8R89257nn+I3dk5tHC7/8KnqMh6W6EejrLaDPK9/1t/dkzFB62D1Ct/aNaGhkJzeN65lKE/q2o9YpiWqXe2VZumHUoN5LjLABfUQXAQj+6IoXrAUBEAiTgHoBPj87i/aUl9OMtDTqGZ8QNYtohekmdgMBELAAATsK/vqEv/hsb95R+nZHLmUVV9KmrHIqrvDS3qPWGQHg8Xj5fF+THHMuPM//ZndOLi1YpVlLkXcUu+qxCny4lWbsZ9xIEcFa3frJhbTKu9j//glpMD3oGu5/LzJBcvGaFRYYySIeq9edx9h0ahFHaSkxNKxrKo3t27nWGY892yPJ8pyRg9IXWOBUCBMsSgCC36KBgVkgAALNIwDB3zx+OBoEQCB8AnYW/H7hL4b6H/WMl8g7laXxVNZFLcMnZPyelyzcQjvEHITq7e4Lz+X/EgsQyiQq/C+tXKt8IqTgn0ek0d/GdjHeSPRoCIFRc3/093OyfIje937K730S6FHXUHpUGqr8d0pcDD3yh16KsLbyxgv0bXJJ0gJZklfhUXtWjpR1bIPgt04sYAkIgICOBCD4dYSJpkAABOol4ATBHwhALPAne1n4+1TzEC6St6reJ8MK6RIo+Oew4HdJLO+5cgvBb4UIGWdDoOBf7P2fUsEXQ0CE2Bei32qCX6ncE+32UZI2ssgv4kr+7tjU2CVYdd+43LFLTxD8dokk/AABEKhFAIIfCQECIGAUAawZYhTpRvRz+VsbWc8NVo9QK/w8WpvEkH5thZ9vWDxAr/zxjka0jl2jiIB0xVv+Mf2+Cv///NY/xmL/keoKP98DKCLZO40W/N8qvd374eeda5ISYscdLS4h9V9ZaQlVlB+juNhYSkhIoMSkZIqLS8g4bcwwzXwTvS1Be04kAMHvxKjDZxBwAAEIfgcEGS6CgEUIQPBbJBBaMwIEv6/CzzvI3joVfgh+C8ZPR5MCBb9S4Vemd0iK2Fcr/JEV/DtY8Mex4C9mwV9KR48W07FjZVTO/4Tgj2fBn5yUQrFx8RD8OsYeTfkIQPAjE0AABGxJAILflmGFUyBgSQIQ/BYMS4gKf7A5/BD8FoyfjibVrfDXzOE3p8IvRH8JlZWWair8iVzhT0KFX8e4o6kaAhD8yAYQAAFbEk6PUkIAACAASURBVIDgt2VY4RQIWJIABL8Fw4IKvwWDYo5JQSv8QebwG1Lh58r+0ZJSOiIq/GVlLPi5wh8XR/Hx8ZSczBX+WFT4zckSe/cKwW/v+MI7EHAsAQh+x4YejoOA4QQg+A1H3nCHmMPfMCOH7GGFOfzreQ5/on8OP4v+o1zhLyulyopyinW7eQ4/KvwOSUdT3ITgNwU7OgUBEIg0AT0vwLMum/yEJMl/5klQl6ctWLakqbZbrZ2m+oHjQAAEahPQ83wDtjoRQIVfJ5DR30yoCr/EqzoaPYdfVPaLg1T4E+ITKCk5GRX+6E83S3oAwW/JsMAoEACB5hLQ8wLcJ9TpBmGT5PVe3mHh8gVNsc9q7TTFBxwDAiBQl4Ce5xvw1YkA5vDrBDL6m6lvDr9YsE88mk9skRzSLyr8CfHuccUlJTycv4SKxRx+bYU/MZGSElnwY9G+6E84C3oAwW/BoMAkEACB5hPQ+wI860+TZ0kumissi5Oknq0XfLa7KVZarZ2m+IBjQAAEahPQ+3wDvjoQCFbhV5rFKv060I2qJqw0h99X4ReiX53Df4zilTn8qPBHVVJFmbEQ/FEWMJgLAiAQHoFIXICrYp0f6Luq46tLJ4RnSd29rNZOU/3AcSAAAj4C6vlmxcHOlFeeSKd1OkjtE8qIhwxnpKen45naZiRKqAo/X/nuycmll1auVaxSHtAu0wP0yh/vMMNM9Bl5AlaZwy8q/GJ1fvWfqPBXqXP4UeGPfCI4uAcIfgcHH66DgJ0JRELwC15Zl52+SlzEuyRpQvsFn61qKkOrtdNUP3AcCIAABL8lcwBz+C0ZFsONmv5mD8nl2iUrq/ITjZGzaLH3f3yPR+a3xs3hV4b0i0X7xCr9iugPVuEXq/THZZw2ZhhuEhqeKPbuEILf3vGFdyDgWAKREvw5f5o0XXa5XuFrhQ/SXls6tamArdZOU/3AcSAAAhD8lswBzOG3ZFgMM2r629PJJV/J/Y3kyfk8E88neU6WD9H73k/5v3zvH+M5/GLhPrEZMYc/VIU/MTGJEpOSsGifYQnirI4g+J0Vb3gLAo4hECnBXzh9fKsKOb6QLw02pr26zHeV0ITNau00wQUcAgIgUE0AQ/otmAqo8FswKBE2afrbQ1jk/5OV+1k8n8bLFfyk6kkb/o6F4Fcq/ErFX1IW7BML9xkt+MUc/vJjZVRZfoziqufwJyenkBsV/ggniTObh+B3ZtzhNQjYnkCkBL8Al/3nycq0z7RXlzbrHGq1dmyfFHAQBCJEAII/QmCb0yzm8DeHXvQcy0P2WblfQC66hV9T+Ec5IZjxbl6scYJ8gP4mb6aTeFi/uhlV4Vf7i+S1SfQEDZYaTaBZF6tGG4v+QAAEQCBcAuqP6vzsLNpTXk4z0tKoJ6+Cq8ciWur8++as1i/8sFo74bLFfiAAArUJqOebZQe6UEF5Ap3WGYv2mZ4jqPCbHoKIGTB9cSuiyqnk8s5ikd+f+3GxoHEH6+94+TD9Wf6VzpN3UDsqVyr7Yni/+iqG8xtR4Yfgj1g2oOEwCEDwhwEJu4AACEQfASMEPxbui768gMUgEAkC6vnmg73dqczjpnFpWdQlqUSXG4yRsNcRbYacw8+r9Odilf6ozIHpb44nl+tv9Q3ZF361YmE/Tf6NLvJuoyGU5xvV71c8LPY1zguxL4b1iy2Sc/gh+KMy42xjNAS/bUIJR0AABLQEIin4rTYUXy97kEEgAAJNIyDONyVVseM+2tdNaaBrcjGN6ZANwd80nPocFazCr7TsZcGfh8fy6UM58q2IIfsu11Usx6/mzhJ5Xn5yqE7PkPfSH1nkT6E9mkq+mKovkTegsl8zh38IV/iHQfBHPpLowUQCEPwmwkfXIAACkSMQKcGvWWzvMC/ax8MKm7ZZrZ2meYGjQAAEBAFxvvkut8O4XcWpChCXJNOU4/ZRSmxVRnp6Oh6xZUaaYA6/GdT16bPWkH0aIBploR8brPH+ciFdLG+l87w7ech+mWaX6kq+UDpc0q+SXPS5dBxt4r3+IW/w72fUon1qh5jDr0+KoJXGEYDgbxwv7A0CIBAlBCIl+LOnnz6VZGkxVwdWd3xt2fim4rBaO031A8eBAAgQfZ2554cVB7sM1w4V7iaq/Gk5EPxmJQjm8JtFvun9aofsC5EvSUEX4GtDx+gC7w76P3kbDfDm++bkKzcFqtfk18zR/4na0FuuPvSO1JsKeD0//yr9fATfRFAeyeer8MsY0t/0yOFIixOA4Ld4gGAeCIBA0whESvCrC+1JXu/lHRYuX9A062oW7LNKO031A8eBAAgQPbvqaF7OscS2gSwGtSm4fNrIDk0+T4BtMwjUM4d/N8/hf3nlWqVx5SaNTA/QK3+8oxm94dCmElCH7Mv0F5LkhFBD9v+fvS8BjKo8137PTGYm+8KWsCfsCFpwqXUFaqtYb6tURdyDtVrtJve/92rvba/hdlGrrbS1ilYw1qqAC2ir2E1wqXUtqKAsAgk7CZAFssx2zv+858yZzExmMjPJrMl7dJjMnG99vu+cOc/3Pu/7cZT9uWo9LQDJP0/dQzlQ0RhHCNnHN42UR89ZJtBTyiTaopQFtYwJ//Pqy3o+Pu5TRNLf26GTfNmDgBD+7BkraakgIAjEgUAyCH9T9dxKl6btwtNhi11xVZbVrm+Oo0n+pJlWTm/6IHkEAUHAQODOtdrZFsX7Rjg8HIr33TsucJwuWKUBAbHwpwH0GKtkyb4FUfZJQ5R9DZJ9ttGHj7I/VTtKV4PkX+rdTkOVTrbC+6Ps4w+/r74T+/L9xTKWVioTdem+B59DD14iOEvdT6u1V/R8nF8k/TGOmSTLagSE8Gf18EnjBQFBIBICySD8h647vxYPCNfjSeHx8t//pbq36GdaOb3th+QTBAQBosVr3etxX5gVCQsQizk1F9rWC1YpRkB8+FMMeAzVLVxxMa6Va0A+LsN10QGanxcu12Bdsr+drkQAvmnaEV8SnyUfmf2uM/hjg2UYrQDJf94ynprJEbYREOvje86o0Vl0kFara/1l/AJR+lnWz0cqo/TbNt1OltbN5J5+N6nF0yXAZwzTR5L0HgEh/L3HTnIKAoJABiOQ6MA4RpA9O6z7SqldUarKal+p6033M62c3vRB8ggCgoCBQM0r7rmQIK/tCQ8QmzdB+M8RzFKMgFj4Uwx4hOoMyf5/kqZeAVYbUbJvh2T/fEj2r1S30pe0vWTF50CffJ9pX387hED9K+GT/5RlMu1QSiKRfDfi7TDTfxeG/LPNRH4ffl/UfsOHXwh/ZkwWaUWyEBDCnyxkpVxBQBBIKwKJJvwHr73gNgT5vb+vwfoyrZy0DpJULghkOQKw7n8EEnNitG5oCs2ruSBnTbR0cj6BCIgPfwLBjLMoU7KvaT+EX34FFsodPUn2F6qf6FH2S2HZN33rucbAIJidSg69pFQiAN8kWq+M9C0HBLcL6dmYj0K0RqwWPECq43dUO69ZuWGlv6huPvwg+yzr1+vTIBLQ1HlUe+X6OHscc3Lz2UQs/DFDJgkTgIAQ/gSAKEUIAoJA5iGQcMJ/3QV1sBKMxcPLvPLav/T6wf1ghpWTeSMnLRIEsgOBmrWeBbgnPB3UWmYceLLq9nClaR9PPZYzc/58xZsdvesHrQxn4de7pVJ942FaJkH7Ej/ILNknug5S/a+DPLfj+sgPV4ku2fduw3Z6kOybUfZ9PvUGze/yzX9bqdBJPkv2j1PYnfk4RzsyWcDY/0Ca5bdUO39jYL2hhF+X9KfZh18If+Knn5QYGQEh/DI7BAFBoF8ikEjC31g9d7aqaevwfFBf8fs/V/YWsEwrp7f9kHyCwEBHoGYdook7vZ8Ah6pQwq9/DvN0hfvHwpoLc2oHOnYp67/48KcGar9knyDZ1/IUsoDkB9rmjWawZP8CSPavgmT/PHU3IvT50oT45HMgvT1UqJN8luzXK0Vh+wHC7sLCgh3vb5BF+SUtuyLiQnx3C3+XF4748Kdmmkgt6UVACH968ZfaBQFBIEkIJJLwd8nw6Vcg/Igq3Lsj08rpXS8klyAgCNS84r0NNsj7A5HQDYYRyL4v3S7NYT2hZg5CjcuRfATEhz95GPsl++qPMOnLe5Lsz4S6nkk+R9kvI5euueeY/KaF3TTst2EJ4EVY8Z8G0f+HMiLMkoG+jKAioxN1NpBi/Ql5c55lyX60joa18HM78J/48EdDT873BwSE8PeHUZQ+CAKCQDcEEkn4EVW/Bk8od+JBYzGi89f0Fu5MK6e3/ZB8gsBARuDuv2olTq93KzAA0ek6/Ipk31ehn/lrUIxFNXOtSwYyfinru/jwJx7qQMk+ZPQgEeEl+1onXaNu0QPwTdaaurXDsO0bUffftIwAyZ8Msj8OuvycsG3G4kAnkneQqjwLzv8z+NjXxdO5cD78TPa5frHwx4OkpM1WBITwZ+vISbsFAUGgRwQSSfgPXnf+elgkZlkUZc7Q2lfW9xb6TCunt/2QfILAQEYAgfqMBcAeyL5O7sNb/A85rNbJd3xZaRnIGKak72LhTwzM1atmkFW9Cbb1aubIPUv26+gqrIV9WdtNVg1R9tmSb/rk6xTfEPvvQmR9tuQz0d+nFIYn+UROpHdomvInsmjLepLsR+uo+PBHQ0jO93cEhPD39xGW/gkCAxQBIfwDdOCl24JAihH49cuaoyPH2dKp5nTbBHxYXucvbplV+B8pbpJUxwiID3/v54Eu2XdWg51/F6y9HKtXuSDv1nAFztQa6GqQ/EtVSPahtg+MX8GLXuyTz0crvPhXs2TfOpneQSC+cIcu2Sc9yn4DYvD9hFTbc7FI9qN1NLyk38iVLgt/aJvZqDBp0qTXo/VFzgsCvUFACH9vUJM8goAgkPEImIT/kUMHqd7ppBvLy6nKkcsWh7h/VBFZfwmeWb4Pg8Wiiif+3Gs5bqaVk/GDKA0UBLIAgTvXeu+wKNpd4ZoK+2azquaMrfmK0poFXelfTRQLf/zjqUv2le+AtJ+DzN5Ikv1yiO8XgOSzb/5k9ajfJ9/wzWeSbyhcNOxl+yq20FthnUJ/tFSRk8KuGXDaDgT868QCwyp8uDteyX60jkay8HN70+XDL4Q/2qjJ+UQiIIQ/kWhKWYKAIJAxCCSS8Ju+93go6VPQvkwrJ2MGSxoiCGQpAj97WRvqUryfgTcUR+6Cds+dc213ZGkXs7fZ3Sz8l6IvkJnj37rGRlou2/IZYxso2SfFAxKMsPhhouwrKn3NVk9XK1tpjns3KZ3YYVJn92ZqH6XA21aE52NLPkv2Dylh3fy5BkOyT7QGg/J4XyT70SapSfjZveAs9SA9r71srErguM8yk+5TZhr90KiZNHUeFhzWRyuzt+cTqT7sbRsk38BDQAj/wBtz6bEgMCAQSCjhrz7/EpgqVuPBpK7i8T8Hb8MVB5qHMqycOJouSQUBQSAMAovXepaCN9zcIzgaOa126+QfnqfUC4gpRCCchV+vXqX6xsO0bCATfpbsK50LDWu+rq+3gxCEjZh3cu5RuqZgJ12Ws4PKXB2kdXpA1REsn9/Zis/UGSteRzUHPWedSE+B6P9LGRZ2oJHWC1bNqy57kQlR9u3PJ0KyH3FWGVsGwjVBu9PcQuMs7QCtVtf6dwlgss+kXwh/Cq9NqSrlCAjhTznkUqEgIAikAoFEEn5u76Hrz8fWP0pJXwP3ZVo5qRgLqUMQ6I8I1LysfUFRvG+CSITXKQd3euWdc3MW9EccMrZPPfjw1zUMUAt/oGRfQ8x7hfLCjV+53UlXD9lNVxfvoils9NZJPrg6W/V97/y3ByH8/moZA5I/hV6xVGLTPUt4oq/BB4Al+2R5hFTvw4mW7AdVqi9muOCaQN/CtTkTKxIu9BOqBeM4E4T/ebXLwi8+/Bl7BUvDEoiAEP4EgilFCQKCQOYgkGjC7/e/h5XfoThnltWuj7r3bzg0Mq2czBkxaYkgkF0I1Kx1/xOWzS/E2mpNtZ4BX/63Y00v6fqIgPjwGwCyZF9R/xN/zcOidUTJfq4Vkv2KBrqmYjedV4ht7jvduiVfBdlX+L0DpN8F0o/3j51l9JR7Aq2AZP+Ikhue5GN5QI/Ypykvkeb9TTJl8kY/n55NFuVG1Id+ap24NgeFNqwUUQT+Xd1AN2uf6LsH8NZ84sPfx+tMsmcFAkL4s2KYpJGCgCAQLwKJJvxcP3zwN+L55XN4mNhoVyzzympfqYu3XZlYTm/6IHkEgYGMQM1azwJQmafjwQB7ib99wrGcs+fPV2AmlSPpCAxkH36WsitM8OkOUiyF4LYOzNewSpQzylvp2nEH6LKKA1TsdZIGCz7Bes/vumWf/8arscNGK46NpSc6J9InalkEkk8e1MX78W0B+V5CnpzVSZfs50Cy79XYmo9dMpTCUNeEHDRnjraXFmjb6XxtD/YKgDsCWm9uESgW/qRfiVJBBiAghD8DBkGaIAgIAolHIBmEv6H6yzNU1bIGD05jQfqbQfph6Y+f9GdaOYlHX0oUBPovArwNX5OCEOX6fSC+AzbFW2rmWpfGl0tS9wqBgejDv3Dl9cDqGj3Kfg+S/WH5Hrpq4mG6bvIhml7S4rfkB8n2Ycl3wUb/0uFh9GRTJf2lfQTYfHjagMWsNpB8jrL/CILePZISyb6i3goXAV6Ad8NSXxg6R6ZoTXSVtg3bBX5GQ9E0FSxf30XAZ9lHm3UBgvjw9+rqkkxZhoAQ/iwbMGmuICAIxIZAMgg/19xUPbvUpTpq4Y84G4R/Rm8IfyaWExuqkkoQEAR62oYvKjoaNWqadYJs0xcVqb4nGCg+/H7JPkvZEfleUUrDRdl3WDWaO7aNrpzcRF8a1YQofW5E6XPhBaN8gCWfSf97jUX0h30jaeXhUdTstYcdCyxetaMeVg38iVT1gaRL9vX4AzQfr3lYd+gEye8mM2DJ/hXqdrpa20pTNMQeYFs+SH2QSV8n/V1Huiz8tk23k6V1M7mn301q8fRebRnc94tEShgoCAjhHygjLf0UBAYYArL1zQAbcOmuIJBGBOR+k0bwI1Xdn33445DszxzmpssmtdNXq1ppcC4IvuYim8Ug+zbFQxbVpfvo72uy0pM7yunx+pG0va0gAsnXsDqA/fmIPoV1/VekpUCyr1gWYWeFBWDEDtRdGOqawJL9L7JkX91GF9AesmlwSWBSDwu+btH3WfKZ5Tcj3sBbVE5fod3+8/cqMxCl/2S9v6nclk8IfwbeM/pxk4Tw9+PBla4JAgMZAXkAH8ijL30XBFKLgNxvUot3TLX1Rx9+luwr2rVgtGf3JNkfjNj78yZ5aN7EThpX7KQchcm9SfL53a1/9ng99NKuEvr9lmH09wNlkL13pwU6YYYnP+psw/vPIdlflRLJPmmIP0AjUG8OWpUfOuZTdcn+VroMkv3BaJ7pk9+VzrDkexUL/Z1G0UrLRPqzMoZO0w4FRennLflY1i+EP6arShJlKQJC+LN04KTZgoAg0DMC8gAuM0QQEARShYDcb1KFdBz19Bcf/iDJvoYt5iwl4ST7dojrzxljpYsmqHTmSA8k+4Ek34OIfU5859Et+/9qsNPKbcX03I5BdMwdfldJn1++Faz5T7Cs/5Rq52+MA/34k7JkX1EWgJgsgBS/KZxkn4n9ZZDsX4kAfNPUI4YlP8QnX68Y32+iQbQKJH+VMoGOUtdOArwt32p1rd/yfx8s/PfCwq8vGGi8B6E6L5nuCea9Qiz88U8RydF7BITw9x47ySkICAIZjIA8gGfw4EjTBIF+hoB5v/nb/hF02JlH5w3fT0NzO8QvN53jHIbwMz1kl+66hkZavu5NvXW6/Vqju+ixK/47nc0Nqpsl+1brQpjcOfo8AtJpuSDAYTe5nzrURudPsNMXKxUqsRuWe0Ou77Pk++T7Dcc1Wv1ZLq3aVkS7j9nCdhVYuJj1or53SbEuo+Xza5OKCffTAsm+Rgu4jxgcjrIf1E+W7M9V60Hyt9F56h6oFUDxA8Ps84D6xvEwiP2zIPlPKZNoS3cXfz2dQfhf1pcJ+BAf/qSOsBSeIQgI4c+QgZBmCAKCQGIREMKfWDylNEFAEIiMgBD+DJwd2ebDX726lBQXrNyE6PPY/hUmdnDZsJvcD87PodnjC+m88Xk0ukjtIvlM7nUffcOSz5L9v+9S6IXP7PTOAXtQsDpzxECeQZ811sQbkn1VeyYlkn1FwwKLMhy156CfcEIIPqZqR+lqdas/yn6gT77hm4/0eHdpFvqzZawu2f+7MgohCMOui/gWdjQ6i5jwv+JXBtwLOT/L+vVFA7HwZ+CFLE1KBAJC+BOBopQhCAgCGYeAEP6MGxJpkCDQbxEQwp+BQ5stPvzVT8+GlfsmMNBLQDkh2Vcg2e9+OHIs9PkxhTRrXDFNK88lK2LndfnmB1v2P2lw09odhJeFOjwRttIjOo5aclDvi5Ds35VSyT6INbg6dhMIPliyfzlL9kH0p4PwB0bTB7s3EnPQfZzYYBlKK2HJf84yHjp8R9gJ6FMCoJ9aoRGwX9Et/M/Dwg/FhF6+WPgz8NqVJiUcASH8CYdUChQEBIFMQEAIfyaMgrRBEBgYCAjhz8BxzmQf/iDJvsZstSiiZL88n84dX0qnjy6gXJsFNFXVqa8FtmyOsq/L92HZP3K8k/6+00Vrt3voAFP5MAcIrlP/WtXewSLDY8mX7K+aQRbtBjDrGxBsUPVF2Q/iHnb05wJI9heA5H9Z24NYA7wJQECUfZ3kG58PKQUg+ZDsWybTjvDrInr3IFpoBZ7FyPIsgHoSXgCrTTi6+/CLhT8Dr15pUoIREMKfYEClOEFAEMgMBDKR8NfV1V2Ih5bL3W73KV6vd6TH4xmM911459fLeD199tln788MBKUVgoAgECsCQvhjRSqF6boR/ksNspwuH36/ZF/7Duj6iaCl3nDR5xmhQfk2OmdcKV4lVFEMf3t9izn2Ojc8z/ndQl7yep30zu7jtG5HO3100B1Fsq/wMsA9pKrPJV2yT07sJkDfxms4WmtDm7uZ4Fmyv1D9RJfsl2pYh/Azki5qwhb4TixpvGyppBWWSbReGelb7ug+j4CMEzhhj0GE4SfLT0m1raHaec36esENK/1iAT/h9xWRLgt/aA+gPpg1adKk11N4hUhVAwgBIfwDaLClq4LAQELAfAB/5NBBqnc66cbycqpycEyg1P6o7tq1K9dms90Kov+fIPcVbKUA4ceDmpdA8IPe+XtVVV9Amh/NmjXr44E0XtJXQSCbERDCn4Gjlyk+/IGSfQWSfYos2T91TAmdXVVKJ1QUGOQeJJ/JvkUPIW8sVvD7pw3t9PqOFpD9Nur0BAvfzZHoirKv/Z40y0Mpkux/C/XPZuKN39ri0FnBkv353m3YTm8bouwf9lnu9Tddpm/45ut/0DtKOUj+ZHoekv3jFCHIoB5/AKcVrBhotAKZfxFuMSMs4dcXURRKlw+/EP4MvGf04yYJ4e/HgytdEwQGMgKZQPj37ds3mQk8Hiom80MM/tYJvkn2Awm/+Tef40c6HP977rnn/hR5wz/NDeTBlb4LAhmGgBD+DBsQbk5YH37DSl7XmOQo/Ub0eZay3wwyGlGyzw/hk8sL6axxg+g0kP1c7DhveJab1nzjnT83HHfRGztbdKJ/pN0TFnDw304fi/4nVgl+RcuuWJPUkdG3DKRvoH2Q7OvuAqXoUxjJfh1dBcn+lzjKPmz0xo9asE8+k/7dVITge5N0yX69UhSx6ehnCy+c4Gd1FaQOT0frZyjhD/Th54B99yFwn/HDm7pt+YTwJ3VmSuEhCAjhlykhCAgC/RKBdBP++vr6fwNZfzLQysFknkl/qGXf/Oyz8BsWDuN4oaCg4KpTTz21vV8OknRKEOgnCAjhz8CBDLstH9NMleobD9OyRG/L1xVl/weopRKWeBX3/27R5xmpQfl2OmfCYBD9wcQR99mCr8Fyr1vydbm+QfI73V56p74FRL+ZtjV2hAUZ5Jd94xFlX2tAvQ+Qal9mStmTMircT3JWo7HfRvkVeIWV7M/UGkHyt9Cl3s+oDGsB/ij7yBBoyW/TcuhF63h6GkT/H8qIsG4JBiqQBxgh+3ZDsv+zQMl+tH5GsvCzkoDJfjqi9Ie2OdXqw2iYyfn+hYAQ/v41ntIbQUAQ8CGQTsL/2WefTYeM/y38gBfxg435cBPOwh9K/n0Wfj/px0PSY7Nnz75BBlYQEAQyF4FMjBmSuWilqGWp8uFfuIK30luAO/0C3K9bw0nZucccZX/m6EE6yWervknqDbm+T76v75Cn0eaDx+gfO5vo/T2t5PZGkOyTdhxE34oMLNlfmhrJvgVbBmqzwLvhmqB1M8EPhsDgGvVTPcr+FK0p2JJvkHbdrs9hB9+0jND98l+AZL8ddv9wB/DkCH6Q7Ov++SsjSfajzajuhP9lXzSE9EXpF8IfbdTkfCIREMKfSDSlLEFAEMgYBNJF+Lds2TLCbre/Z7VaR5hk3wSFyXwMPvyBZF9fLMBCweI5c+bUZAy40hBBQBAIQkAIfwZOiGT68BuS/UVgjQtAYzk4TCEeqLttAM8P2ROHFdMZ44bSKaNLEWUf/Nwfds5n0ff55h9o6aC3djXRmzuPUktHBMm+psHMr6Ae9R+o/zfRpOx9HhWW7FuUGyEiWMgkHyoCluwHHUaUfUj2vVvofI6yzxw9jE8+k/1dCF/AlvynIdnfpxRGbB4vnKAMOwpagx/Ah+GXv74vfREf/r6gJ3n7AwJC+PvDKEofBAFBoBsC6SL827dvvw1k/3688DxmPP/1ZOEP9ecPY+HnIj7DIsJJZ555ZnhNp4y/ICAIpBUBIfxphT985Yn24e+Ksv/fuKsPB9nPwXpsWMn+4MJckPxh9IXKITS40A6e3GXBNyLtG9H221xuerf+KL0Fkr/rSHjPLRBlXimGZJ8g2SdI9h3LkyvZx2IGKZegvjvwYlZuh3qhW9Q8k6K5+QAAIABJREFUluxfDZJ/mbodUfZ9anv9Bw8vnymf31oRoH81rPhPWycjEB97AIQ/gEg7+skrIpvwo4l+dkXZ7+vs6smHX6L09xVdyZ8NCAjhz4ZRkjYKAoJA3Aiki/BDzr8FRH9yTo4hUWSybx7x+PD7LPt6Vp9P/5Ww8q+IGwjJIAgIAklHQAh/0iGOv4JE+fAHSvaJmnBHLwvXGHuOlU4dO5ROrxpGE4ZB7W765JtkX4+2bwRv3XygBST/MH24r4U8aqQo+1C6M31W1MdJtcLKPX9j/CDEkWPhSmylp1ylS/Y1zYPfoILQ3OWWDrrSsl0PwDe5s1En9jq3D4iuz18geAG9qoyiFdYp9EdLFTz4mcd3P6DYhxzAcgwrIi5kWoqcWMy4si6OVseUVHz4Y4JJEvVjBITw9+PBla4JAgMZgXQQ/m3bts3Ag88Gtu7zy5T099GH3yT9K0H4IR+VQxAQBDINASH8mTYiaE9ffPgNyf6/g/jyPdfRk2R//LBSOn1cOfzzh8BPn6PsM0sPiLQPks+f9zW10T93NdLbu47QcWekKPvUjvz5mqY8TxbtidRI9tX/QCyAeaDunYpiGWRQ+K7Drqj0tfw9dI3jM5oDyb7FCcFBJ7/QB19SM+r+VqVMt+SzZP+Qkh9xUujR8BlXojVYGHmkr5L9HmcfxlKxWHaZac7UDtBqNf0+/LZNt5OldTO5p99NavH0lG8ZnIFXrDQpiQgI4U8iuFK0ICAIpA+BdDyAw3//blj2b2cpfyDhN1Hogw8/Pwy0NjQ0DJ0/f74rfahKzYKAIBAOgXTcb2QkoiAQrw+/Zv85os9fD098BKZjyb5mw303N1wtgwryQPIr6PNVFVSGiPtG4D0zyj6HpONDpTYnJPt1jbDmN9L+5oiSfQ/qcsLKfYgsOT8hT87qpEv2LZDsEyT7xJJ9xYH2douad3JBM11bVkeX5e2iQZ4OUjuwZawLRJ/jCzixMYBO+BU6Clf756zYSg9E/1/KsMgkHx4M7AaB14cA7KFESvbDVnrDqmqMyTcxGKfxxgcYS11mYBD+tf5dA+5NU5R+IfxyB0slAkL4U4m21CUICAIpQyAdD+Cw8L+Ch4oLTAt/An34TVn/VFj5t6QMRKlIEBAEYkIgHfebmBo2kBPF58O/Ayr08Wx5xju2net+OOCmNWNMOX1+3HCqGlLs88P3+ebrsn1jyz+W7H+87yi9s+sQbd7fTGrXNqtBhcJVqw2Z4PyO6POqdm8ypOxBFbJkn+gaNPIcvHtZSRDay3KHk64ZsY+uHlJPU6wtBqnXrfkg+6ZlH++eTpX+4hpJT1mm0CuWSnJ1j1eoFw3Lv7GYQUobPi3F348ltZ8cZFBRf4T6vsLOcFAsIMZCsGKBCf/zsPCzFoPPpMuHXwj/QL45pb7vQvhTj7nUKAgIAilAIB0P4LDwr4eFf1ZPFn5+GAzdis/87Ha79YdFn89+t2j9+P4MEP63UwCfVCEICAJxIJCO+00czRuYSaP48D+67s0uLqiT9e6HHmW/YjCdVjWSpo8cQnZsrceZTIu+HqLFZ9nffaSF3t3VQO/XN1C7K6Jk/ziyFCLLc3Br/0NKJPuK+p9oJST7ihML0ljMCCbAuVZI9sccpmtH76PzShuRii34IZZ8WPRVWPY/bi+hJ9vH0QrPBDpCYcUPJtE/imo4oCEk+8rPkxp/gN0vFMt8KCr+C++8WwK7CnQ7RmN3v5vUzTRXq6MxLDbghRgM4H1i4R+Y94cB1msh/ANswKW7gsBAQSAdD+Co8zWQ/XOT5MPPiwGzzjvvvNcHyhhKPwWBbEHAvN/8bf8IOuzMo/OG76ehuR3il5vOAYzkw4821TU20rJ1b+hW3nDHoIJ8OnXcSDqlcgQNKmBia0bWN97Nz60dTnq/7iC9s/MANRwLv4mKRpobGSDZp0MIvvdT0lIg2VcsIPi+KPsaOcBru0XNO738OF03uYHmjztIxSqM8GEs+Wzhb2yz0Yojo+n3rePoE09Y8YOP5EOxoLFsXnsTxPtJWj6/NqnDrysWtJtCJfuBdZZAezBXqwfR30TT4XzgizCoj5+xTwLR/1pOp0eUaUYfVK0J/349mTEFzHuFWPiTOjuk8BAEhPDLlBAEBIF+iUC6CD/I/rlJ8uEnxAAQwt8vZ6t0KtsREMKfgSMYQPiZoi+e/3XdMo/I8LS78TAIPyz8AQdL9k8aM4JOgTW/cmgZXOrhix/om++Ltu/2emjzvkZ6DyR/66EmvxIrFAHUeZwD4SH6/EpYn+9LrpR9dSkprovR6O8g6v2J3Ci0vZsJfliel+ZPbKarJx+haWWtZFM8ZFFdsOrDgs/yfZ9l3wVHg5cODKU/NIymv7RWkAe++uEOVMOLGShAOQ7+fA95VcQfSHyUfX/d1U/PRjDF76B/FzE/DyfZ57QXguRfqNbTAtru99XXPSt8uwmYgXT/aRlO1ZYvUQviEOiEnxdmVHtFMmMoCOHPwHvFAGiSEP4BMMjSRUFgICKQLsIfaOFPtA+/WPgH4kyWPmcDAkL4M3CUggi/BsJ/md/vni38y0H4mfiNLx9CJ1eOpmmjKshmNaPsG4H32JqvIMo+U8H6w030/q79tKH+IDk98GkPc+h7yZNmQfI/wa39yeRL9pkAKzeD+oLskwutLwmV7DusGn15bCfNn3SM5ow8RnaLC5Hz3CD7brwbf+s++ni9d7CQ/lA3nFZAqdLssUUg+frXR/DKRz+fB0pYzEjiloEs2bdabgJz/ybqKook2Z+uHaErtO30FZD90doxffR8Jn3DicH3sVWx0wplIq1UJtEmBZsSBByw+x+k5QuGJ3M2C+FPJrpSdiQEhPDL3BAEBIF+iUC6CL9p4Ycvv44rP1CaB0fpj9WHn/NxWj7Y15A/i4W/X05V6VQ/QEAIfwYOYpCkX6Ga+fP8JH7f0Sba2dBAM0H0i3N51z2+0XZF2TeVAC3tHfTBrn0g+vvoaFskyb7iRF6sDSifgHz/KunR540tA2/AD8O30Go0nuC3rnBwgaDjc8NUumSiiy6qaqNBDjc0/U6yw6LPJN9mwWfNBfLvoUPQITz56TCq3V5B24/1sJUeacf1KPukwRfC+lRSJfvVfsXCInTqhMAo+4GdZMn+Feo2uhJEf5p6WP+dNAz5+P30/W6av59M8tcqY/VXuANkvwUZq5O9SCOEPwPvFQOgSUL4B8AgSxcFgYGIQLoIv/jwD8TZJn0e6AgI4c/AGRDWh58DteF/JoOmLz4s+Lol3/fZA8n+pj0H6IO6fbTjEBuyux/IzrwSMnZEoNfoYZDvR5MrZfcRYKLvot4TeXUi3JaBwwoU+soEoq9O8FBVcYAlXwHJ91n0+d2DxedX6gpoxbYy+vu+UpDj8OOHr7ENLFYG9C31lHtQbeok+4qCVRQFKxDdG8eS/QUg+l9R63SZfpAlP6Arm5TB9Ihluk7yTdl+hPHkgBu3JnURw1dxOp5NMvDqlCalGAEh/CkGXKoTBASB1CBg/qg+cugg1TuddGN5OVU5cpMaRIuD9okPf2rGV2oRBDIJASH8mTQavraEi9LP5NDvm8/R9kEmfb75Ow8dhlx/j072XREl+8RacRs46Iso56FkBnfTe8E+64oCS77yNXzyoPlFoUjb4YZwbqWd5o630KnDVRB7Jvc+S34AyWfp/sYGKz27vYDW7Cim4+5uogC9aMPXnYPXWRz48DyI/i+SLtm3WCDXRwA+UjjKftjw/yzZv1LbRgu826gEfTSC7GOZxhdt3wjDp9BuKqS12CrwYQTi26N0g8sPnxFMUcG2OPQW+vjvSe1jwKAJ4c/Ae8UAaJIQ/gEwyNJFQWAgIpAuwi8+/ANxtvWPPt9xW02l1+q5H8/Rl2RCj/CAsgYRxRbfe+/PNmZCe3pqgxD+DByhSBZ+5rM+3/yjx47ThrrdeO0hlu+HO3A9IISdnmUzGOZvUiLZt1q+AbP7zagV5Fcnwd2e1ycPzaUvjs+j2ZU2KrazT34Ykg/C33jcS3/8LIee255He44ZrmZh+6lprfieo9e9hpWQpUmVtrNkn9yXYGHh++jZCaiTvSi6NW4MfPHZmn+lupWma4iy7zsCffJNZFZYJsGSX0kvR5Dsc1Ze3sEKQSfytGEsOcjgs0lVZoQBWgh/Bt4rBkCThPAPgEGWLgoCAxGBdBH+aBb+WH349YcT3dQiPvwDcf6mo8//vui/d8FiVumXx/p8YNP8udmr2qqWLKlpTgcmsdYphD9WpFKYLpyF37ijUltnJ6146x3afbiLRAa2DPdeDqACyT7757NkX12WVGLY5bP+fVibp/HyQrjgdIPzc+jc8cU0a1wxjUD4Oj/Jh09+DpT37JvPPvrslrC+zksvfWah9w7khBHFG73Vo9JrHGVfO4SPvyXVUZvMCPW6YsFi+TZ+3P4N9cEtwRJWsm/K9S/S6vw++X5Lvt83n+gtRNl/GsH32KLfo2SfCMEUEUZRV2Yod6XKmh9utgvhT+E9QKryIyCEXyaDICAI9EsE0kX4xYe/X06nft+p2267Y7ZFUdb51LH+/mbCZwiP5/1iyV1rMnkQ5CE+A0cngoWfTfVmlP7QVoNUtoJsw8qtrEHU1IeTLtlfuIK30rtKIct81N2GBbeC0DY5ciz0+TFFdC5I/gnlebopHCHpwF5VyvH75htEf9MhJ/1lB5N9jTqwy164A9c0tiDQsICm5IJ4L8emAljMSHaUfeuNWDS5Ge0p5HrDkY8TIdm/Wf1Y98vnYHy+BQl/rH2zLyzTfxrW/BUg+rt7lOyjEGPR/B2A9sukKhbimP5yr4gDLEmaMASE8CcMSilIEBAEMgmBdBH+aBZ+tlK43W6OuE8ejyfonb9nBUCoZZ+/kyj9mTS7+kdbrr22+jZMx4u5Nw6Ho7SosHSG6RObUe/YQn3JkrtrMhl1eYjPwNEJ68OPdsJ4v7vxMC3Dtnw6qTRIIe+zh+jzlsdTItlXrP8P7uMLUKcp2e8G4NTyAjpnfCl9fnQh5dmw7OWPPWDsJmAhj27hbzjWTut3ttPfdnRSY1uE6Ht6P4lVMvDLh2TfCtXCsiuSt4jWXbLP0RO67fOnS/ZB8G8B0eet9ML55HOPjikOeglS/actk+kfSuRd8wIk+w0o7AHy2hFMcV5GqYPkXpGB94oB0CQh/ANgkKWLgsBARCBdhF98+AfibMu+Pl9zTXUNHq7vNFuekwM/4CK41WbggQeVxUt+/XMh/Bk4NhndpCgW/mWvvuGL8K734kFafsW3k9YfkwBbtP9BHRUg3XYwYPaXDzoG5dvo7HFleJVSRZEtaPcAxb+bAFGHy0Pv7G6l13Ycoy2NzojNBgHuANP3wKJ/EJ19MMWSfS8k+1AsBC9ClMCLgK34F+GlR9k3D46nqP/dFXWfyT2T/JdjlewTPQFHgQeTqljo4yQRwt9HACV7rxAQwt8r2CSTICAIZDoC6SL8poU/J8eIP8QWC/Ngq36sPvz6PsKw7PNh7iOM/LPOO++81zMde2lf5iNwzTULmzHFSsyWMuEvLCj2W9gyycKPC2Dxrx+4ryaTUZWH+AwcnQg+/Iak/zAtXwfCz/dX45+76LEr/jvhvdAl+8o1+BW4DPUcxzsk7cEHS/ZPGVNKZ1eV0tSKQp3ks7M5XNx98eh4NwF8wu/B5oNt9PrOFnpvz3Fye8Nb8/X4A4pi7CZA2jJSLcuTSoCrn64kq1+yH1GxcLa6Xw++9xV1F5UimKDpk+8Lt++Pus9R9pdaT0TwvcqslOxHm0Nyr4iGkJxPBgJC+JOBqpQpCAgCaUcgXYRffPjTPvTSgBgQuPbahUFsgReoCvKLw+TU9+jqocQUnFcsix8Qwh/DqEqSIAQiWfhhKa9raATh90n6E034mQBbcv4DXgJXoOg8+Od3s3LzFTWpvIjOqhpEp40tJQe21uuy4PM1xVvMGa/9rU56c2czvQGi3xzJMV/PoR1FKYNApNdiheCRpEv2FRfHH/g+7g/TjK0NlW6KBZbsM8m/Ci/+2zyCbj5YeWyF2OElWPGXWk6ij5XBESdyNkj2o12F5rOJbdPtZGndTO7pd5NaPD2pWwZHa5Oc7/8ICOHv/2MsPRQEBiQC6VhFR52viQ//gJxuWdfpboTfmkN5ebAu+va17v5u7M+dlvOQ9D/44C9rMhnkdNxvMhmPjGhbRB9+zefDn0ALP0v2LdhmTtN+CBJcgSvFEW6bubJ8O50zYQidWTWYBhfYdMu96ZuvBPjot7u99HZds070dx4Jv12gsU6B6PO6ZJ8g2bfclYL4A4iyr9yKir+K6iHZ7x5k0JTsX+XdQudoB7os+b5JoS8R+u4zay1V9CcQfZbt93To/eSwBVkg2Y8294XwR0NIzicDASH8yUBVyhQEBIG0I5COB3Am/OLDn/ahlwbEgEAo4beC8OfnFfiCWvuoRIAvrW5x1B/SzcJNy37Xe7LOw2q5+MGlS4TwxzCukiQAgRij9PdJ0s+SfbJ8G9b5L+PaQJR9Chtlf+boQXTmuCE0eVhRgCWf22rI9jnqPkvcP9rfSv/Y1UQb97aSR40k2dcDDCLCHaLQq9pKXJu/TO6WgSzZV25EE29GnREl+xdBqm+8EGVfQ1yBMD753GOOsv+Q5URY9Kv6pWQ/2jUohD8aQnI+GQgI4U8GqlKmICAIpB2BdBH+aBb+WH34dcrlY1fiw5/26dTvGgAf/o0gJ58zO4Z5Sw57PshIV1czYUs+vT0KLV669NdC+PvdLExyhyL48PPilRGlv5cW/upVM8iq3gQCXM2ae0j2u+0lz9N2wrBiOmPcMDp5dBnl6lH22RffJ9f3WfbZwr+nqY3e2nmU3gLRP+6MsJce/x6QdhiLX0NQzNOwda9KmWRfg2Rf7yci/IccLNO/xfsR/RuI/mjsaKjfQHxrgIGKoGMWBz2pTKanrJMh2R8SceD7g2Q/2qwWwh8NITmfDASE8CcDVSlTEBAEkobA+vXrzwA5OR8VjAURHgmr4gj8za9BZqVFRUXEPsmNjY26VZLJTKxHYWEh2Wy2XuWNtY5UpetLX6LkrQf2+4DtfvSFXx8C4zVnnnnm0VT1TerpGwJXXVU9w2JR1puB+ywWK+U6eFtuM9CkYV3MhM8W+PAvfSQ7CP/f9o+gw848Om/4fhqa2yF+uX2bpn3LnUgLP0v2lc6FuDq+g0GFZB9R9omMyKwBx+CCXJD8cjq9aigk++zSzsqYLn980zf/eKeb3qk7Asn+YdrX3Bmxn7gK25CHVwEOQElwT0ol+wp5sMDQLchgieKii5Q6uhVE/0RXg7/t3Eud7QeQ/peUKp3kszW/p6M/SfajTVoh/NEQkvPJQEAIfzJQlTIFAUEgYQisWrXKWlFRMRuE8usgmZcwwTct3pHeCwoKdNLe0NCgk33I7GOOPs5ElxcLDh8+rOfhv6PVl6nnU4yDBzi8Dsyew/uas88+mxcC5MhgBKqrq0s9HpqNJs7APK+05divz6To/OZ1BWXzokcf/e2SDIaSzId4IfwZNEqJ8OHXo+zTd8FizwaXVfGTkBfaQ3uOlU4ZOwwkfxhNGFrMyXRnc5brGz76BunnXVo+3t8Ma/5h2rS/BWr8iJJ9N3KB6EOyT+oKFHh/aiT7yk2GZJ8K0exu/OCivL301Zx6uoq2EjnhgtCJdQg33pEh8L7xEQ0GyZ+iE/2W7qKAgAUC9M/A4B0A9cukKhYyaFoK4c+gwRhATRHCP4AGW7oqCGQTAnjYt7z99tvX4n0x2j02nrYz0TUt/Ez2zS3yYimjL3ljKT+VafrSl77k1Z90CQpORfnfM844oy6VfZa6eofAN7956wxN1Tb0LndycykWZebvfvfgxuTW0rfShfD3Db+k5O6thV+X7BMk+1o12uXBfawodC95fngeP6yUPl9VQTPHDCW7HmXf8MU3vFAMq77uPnD0GL29q5HehUW/3dWTZJ8QZZ84yv5TIMDPJJUA64oFjrJP30MTESI+vGT/pPwWuqZkF/2bYw+N8bYaJN8k+04vaS5j69gWRNl/yjqVnhTJftSpLIQ/KkSSIAkICOFPAqhSpCAgCPQeATzsKCD6HAH4p3hN743FMS8vz2/hZ7LPVv5Yy2Giy+nZws+LBawUyFQLfrR2MQ7mwkdvcOD+HzlypC84uID7UpfL9ZNzzz23sfezQnKmAoGFC29eYlGU70ebVyk9T8rjyx5bysQrow8h/Bk4PPH58N+PHuwxrPlUjhdH2e/mCzaoII8+P264TvTL8h1GzAtE1w+Ktg/Sf9zppvd2NdAbnx2ihmM9Rtk/BsJtQyEfkmJZmhrJvuUW/Kh9DX0NK9kvtbnpmoq9dM2gOjrJ1uQn+Sq2BFRA8FWQfgWknz8/pU5ClP0qkezHMf2F8McBliRNGAJC+BMGpRQkCAgCfUXgjTfeKLPb7ctRziV9KSs/P18nqUzamejGY+EPJcnx5O1Lm5ORl/tiLl70Bofe5g3Tl6MYj2tOO+20tcnop5SZGAT+71vfmtmh0suHna6KDmj9+TBj8Js19PQ5D3EADIbU9WjhhWS3Q+Og4sYRa3kOLLoNc9ibC2zWi3744INvJaaHyStFCH/ysO11yZEs/JDX1zU00vJ1b/rnJP6AuZrcIPAsaQ86HPgNmTGmnE4bN4KqhpT4LfemFd8IdAkCrKq0ad8RenfXIdq8v6kHyb7mRiHHkQmSfQUkX61NvmTf8g00KDDKfrfn/6+OaqRrR+2jrw3CVnqdgAMWfPK982diiz7I/sftpfTbjqn0J3VsnyX7TbdVltpcVFn4YF1GK3h6PQfDZExHQOFEtl/Kyk4EhPBn57hJqwWBfofABx98cAp8HFfDIjy6rxbE3Nxcnehy0D620DPZjdXCz4sFnJYt21wGFiCy1sKfYThgWLV7oKC4c9q0aXjQlSOTEPjJzTdfDDL+FOZ+/t7jx+moK/oQDbLYaGSOg8qtdirHu10xPJdDDzcsoIc8LmpQXbTf46RGb/SyS3DdjkE8DTykuHBB3vDDpUufzCS8QtsihD8DR6cHH/56/DYse9Ug/Hy/DyfZn1AxhE6rGknTRg4lR44RZZ998TmtHm1f/0y0+0gLrPkH6YP6hoiSfX3HFUU5jKzY+5KexwLBoyD565OGminZJ+17qDiyZH9wO1036SBdN+4AlagIHsiWe122z+S+i+TvPp5Hf2weTr89NoXqvd3i+Pm70Zso+23fHdfksqpVZUvqmpOGRwYVLIQ/gwZjADVFCP8AGmzpqiCQiQiwhB9kfxHadjdekDb2/WCia1r4mfDzK9bDzMuLBQ6HIy51QKx1pCpdInBglQQveiRQ6fAu+n/5qaeeujtVOEg9PSPw0xtvPMlrtfIeZYg4ptH+9vaIhN8BUj/elkcTbQU0yBr7dRXYglbVQ9vd7bTd1R5k/Q9MU+wj/AapUtyKpn3xh488YjC0DDyE8GfgoMTowx/Y8rKCfDq1ahSdXDmCWL6vW/HNrfR8fvn8XWtHJ71fd5De2XmAGo+1R+w8CHAL5jC2s1M2oqCHUyLZV5Rvob6voVGIP0CIPxB8lNhVWjCpia6Z3EgnD26hHAUxAjm2QCcC8PG2gAHW/Sf2jaQ/Hh1Of2wd2eMA9yXKfsei8dhxUFuct2RnTQbOooQ3SQh/wiGVAmNAQAh/DCBJEkFAEEgOAh999FGZ2+1egdLPj9UCH0s6Jqhsneco/aasPZZ8bIVhksxpmegy4c9mH34TB168MK39mYADxpu377vm5JNPFol/ci6tuEpdfNNNH+NhYLqprNkHwt8UYuFnqf6puSV0gj3YuncY5L0Nkv3jsOIfVt3UjndTts/l5UPmP9iSQ8WKlfKxWDAUqoDAY6urjd5ztpA7JGI5E/7RPrWNr7xdqst1Qk1tbeQ9zOLqdWITC+FPLJ4JKS1GH36W7J84ZgRI/iiqGsq7uxo++VqAbz5/dsPNZfO+BljzD9C2Q0d15Ve4A9+DQSutpPB2eimS7FssN6BB39Kj7GtKIX7Cuj3fXzqxjS6sPE4XjW0im8VDOZoL727sLQgPA5fX75v/YUMe/WZHJb3YWE4tnsiLeuh9QqLsd/zH+PVo7di8e3f0vHdfQiZF+gsRwp/+MRiILRDCPxBHXfosCGQIAv/617/uAAG9K9HNYaLLFn6T6MZj4e9L3kT3o6/lmX0JXLyItcxk44CH4j1oyykg/RLML9ZBSUK6xTfeeAVWuFYEUpcDHR1BhJ+l+7PyyqjUZ9F3gejs9jqpXnWSM4T0wFSHZ3cjPrkhlDY+m4cdf4+xOmgs3ABYLcDHMSwavNbRFCT1LwYJG4UAmnyYgmu8f+/O3/3uN0mAoc9FykN8nyFMfAEBhJ+n6eIrLvVHz6/DIujrn26jmZWjadqo4WTjKPu+qPrmlnrGrFVp9+FmWPP30cb6g+T0xbYIbSz7KxFZGlFIIYj38wjktyylkn1UiN/SbvEHJg/y0vXTOumCyjYaZHfq1nwbXkzycxQQfv3djZ0Ecuj3W8rp9zsqqL69286D/u72RrIfbWA77piwHpjNyrtnx4DgJHKviDYj5HwyEBgQF1cygJMyBQFBoG8IbNy48QI8oLyMUix99dkPzW9GpGcLP/vkx+PDz0TXtPCzVTybffizAIc3PR7PFyHv532n5UgDAjXf/OYruH74WvTHqjjAFn63MSTjIN8/K7cMpEDRo5pt93TSTi8b2Zke+ci94Z8cMdaFvtc2Ozsb8nz/+xiQ/onWPPj+o2yce6+zhT518/bj8C0A4R9pWvjNfNivu+Z3v/tCGmCKWqU8xEeFKPUJevDh5wB7VpjtA33xdcu+j+S3tHfQv3btpffxOtrWY5R9U7K/AZP7kUyQ7A+HCOfcMRpdg1ApY4tcCKTpwjXm8b279XcbPrfDqv9KfRH9Ydtgen1/SY/j0xfJfrSB7/gBCL9CswD/nLy7P1sfLX1VlmcSAAAgAElEQVS2n5d7RbaPYHa2Xwh/do6btFoQyGoENm/ePAMB+l7j5/pkdIQt+kws2MLPhD8eCz+TZFMdEG/eZPSlL2VmCQ4Pn3TSSfA5lSMdCPzvjTdqARZ03cZ5CBb+ZhD+Ux3FNN1huAC3Qrb/Ach4B2TOfDDZN0l/2HaHhuPXUwfWZFjusbEZnYx4AGWQ/fOxA779b8LaX8AWfly7XUoBI70nJ2fUT5cu3ZcOrHqqUx7iM21E0J4wPvw8c3ke+X3zfYH4+DNL9jft3U8bQPJ3NhzR5164AwtkWAEAY1YIq1PaPYh+vybpUfa7JPsOSPaLwkn2zx9vA9Enmj1WhQWfSb1hydffA6z57x200TPbCunlumJqcXXbedDf5URJ9qPNjI4fgfATCL81pyqvZktdtPTZfl7uFdk+gtnZfiH82Tlu0mpBIKsR2LRpEwcIOzvRln2zPPbfZ9LOFn5EhdcJf6y+6+biAMvg2f+f/fiT1c5kl5tFOMw58cQT+aFPjhQiUFNdPUW1Wj/VSbVpocffBzs76XM5hbDu5+utOQTf/A897eSGVVRPZ5L9MJZ9ZlPG16bFHwUEfe5u6Wer6kmoa4TFrte3291B77lbaTiuP/8Sga88q6LMqXn00YybK/IQn8KJG2tVEX34eX6yOB3zGWXtwhZ9G+v26GTf5enaQjKwGsxpTszuR0V6lH1N+QXVzk/eVnL+KPv0XdR5Ijc2nGR/ermDzhvvoHPG5lCJLYDcs0UfPvp2+OhbQfob21Ras91Gz20voD3HjMW1cEcyJPvRhquzZsIGjMiM3JrtfeYkrpqJM+CmUKfUZG7Ef7lXRJsRcj4ZCPT54kpGo6RMQUAQ6L8IfPLJJ5eA6K4ODHhkkgOz1339bEaUZ9LOVnqTtMdSvin/N9UBpsQ/me3ta38j5Q/FgfvCRyz18WIBH4yhuWgSC36xlh+C5+vYqm9W/531mdmzH95442zsAb7OlNmbsvwRqp2qcgw/3r3YQu9jkH1jM7Iuy775l2mC1135Q6UC/gljZDZ3PzP2LTeSG+/GX1NRZxX8+/mo93TQPqvbv9jmdwsguvLHy5ZxoM+MOuQhPqOGw2hMhCj9fMrj9cCHfyuI/m5i+X6kA/Oat4rDqi+9Bv3/Slo+vzapPa1+ejZWq29GfRfjonHj2uymghtaCEv+uCKaM76QRhRqPku+y/DP9/nk83snVDqv79boyU9stOVIZEs+9yeZkv1oeHX+eKIupsj9Ud8Jf8f/TazGjaYy70fbaqLVm67z5r3Ctul2srRuJvf0u0ktxs6JijJr0qRJr6erXVJv/0ZACH//Hl/pnSCQcQiA8H8EsgeLRfIOJqumpL8Qe3nHK+lnMnrkyJFuRDd5LU5OyX3FgVsVjvAno7UYr3knnHDCmmSULWWGR+CH3/jGXBDptX6lCZKVwh443WJE4q9HYL5PQLzVAEu+uShgWvKNd8M337fXuGniD3o3FhX8rvzgTkZ6fvf79qPOSTm5NMFqxB7b5m2jRlgqA9sHNcDCHy9fXptpYyqEP9NGBO0JR/h1y75G9Y2Hafk6Fpp1PzDfeJ89SPYVluz/PHWSfboZ9WGbGCrEIpgRTsB35NutdMqoQpo9vpimDsO2s7hsOKqGIds3fPL1d1j0/7nbRf/Y7aU/fdbzI36qJPs9zYyOuybMhlpCX3TM/cE2xfXTiTPs/7O918oJ512TajB+d1o0mtmXcpI5m4XwJxNdKTsSAkL4ZW4IAoJAyhAA2V+AH+OnY5XX9zaduZWeSVbjCbxnWrbZwl9UVBRXwL/etjdZ+RKBA2PIiybxBD7sZX8+hJV/Rsomo1REP6yunqspin9rRDi+0ExLEQJ8WXQZ/7/gsx9s2Tc4fDDZN4A0Zf6GDiDU1O+LgB5A+k3y32Xl77L0fy4nn0YioB8H8vuXeoycUFObB9q78GdC+GX2xoJABAs/O6VwlP7l697smld6BErlIOYvotdpz5Fq+WVqJPsaJPsKL4B7cXl0C48/tbyAzhlXQqeOLqQCu3EdGdcMgg7ixVZ99tM/2tZJL25pp7d2u+ng8UjRB/Srk/e870QhDejvA+S1P0q181jF0O1w3jPpTsft2xbHAnVoGu3+ylJlUXRZfefdE5egHd/nZmERY6aq0WOaap2X94Pe+fKjzTXo453YErEZKyZz7P/V+8WD3vQ7ljxC+GNBSdIkGgEh/IlGVMoTBASBsAiA6Fs//fTT7ThZxQlikZX3VkZvWrbZh59Je6APv9m4SPWHStnjkcH3tr3JwoP7aCodTByi9d88zzgEKh3icYvoQ3/Eyp/C+8cdIPywsPst/JOUfCqHHz0H5vuHG0QbPvtdFn3Tgt9F+tnyH2jZN+a/j+yblnszmn+YKP2BMv9ASz+Lj8+yF8HMaaUj2NJ8s/d4YIyBhT+rra1NIUwxVSUW/phgSm2iiD782FYSFv5lsPAHzNkdMKr/JBMk+0MK7HTBlMF0Miz6w4ps+gXHFn095oD+1G7sJtDhwqLc3lZ6aUsr7Tzq6RHb3kj2nfdNqsXlW2K3uBbGQt4DG+D6xcRq+//bHvU6RR0b0LYZ3C+VtIUWUh5Ddzc6rK45Zp28eNBJuaV5i6IvAnTcO2W2orCbkq48agZui2JpRyonphD+VKItdfmf+QQKQUAQEARSgQB+5KZgK6RPTXmuWWcyPnPAPj5M6zST1VjrCyTJbNk2ffhjzZ+M/uhyaN8RT/lmvkAcYs1v5jWVDiaGsebvTXtR9krI+hekYj5KHURM+DGzdAt/HijEqdZinVhvhoyf5fyBPvtsANU/B1r4fd/5xzoCqIGWBf7b9Nn3W/d1ebJxmOdHWGw0A9H7+djgPUbHNIPQoPqFd2cw4f/b/hF02JlH5w3fT0NzO8QvN50XWhQLPxN+n/aEJ9Zd9NgV/52U5lY/XQm//BtQR4+S/ZmjiumCyUNo7CB2aWFLvu/lc0PgQIMKLsAP9h2n13e00Ht7jC0sIx1+yb5Gb5NVuZ+WXRHVZarz/on35y7avojLdN0/sRpLDI/hlrDRrnUR8Fgwct4/qQbpNjoWbYtYZ8f9UyoVUncFBAx9AXlm46IpwY1mo51cc/R2KPZ1qmZZBMK/PlrdKHM2tlpcZ/xO+b2Kah23bVsYLW+qzgvhTxXSUk8gAmLhl/kgCAgCKUEA1v078CN8Vy/l3jFH2TfLN7fWY8t2YOC9WOpnQEySnJubm7VR+rkfgRb+LMChBXNkGKT9rpRMygFeCRN+QKBb+CdZCxAl30HHsf3eG65jOrkP9t0P/eyz+Pss+Ayl375vWv55/vm+5yU4Ph/Wdx8nDAumMV8Ni6ZCX7AV6tv1HVKdtEVF4ECjXCH8A3zextz9GH34dQF8ogm/GWVf0b6D2X0irPMcZb+bZH/mqBLi1znjB3VZ8GHJ168H3cvAiDmwp7kTJL+ZXt/ZQu2uLheXUCzikeyH5nX+ZtIluAJXO767Va+94zcgz+QjzxaqdXwndtLc+cDk23ADmZ37vW0os+tw/XbiDK/L2szWetevJ1ZrigUW/S6lkGJR6jRVq/T9Tq9RFMuHmqbeaVUsc2zfjU74WQ3gyrHXoR8lgeXifvIr+3e33hbYls5fT9KgKFhi/95WfYEjVYcQ/lQhLfUEIiCEX+ZDeAQWrlyKQCrYW3b+KxEhumHlI7ih/5Vqr3gWN9fITmOCsSAABLAV39v4ET896Mfdv3WXuYVXYt6Z7PMDgxmlPx7SHsnCn4p2x7IYEU87+oIDT1pz0SRQ6RBP/b3pD1QgSd+ib/Faz1JN0dbUzLVFvr+h/7Gmy6YL/Ae33DLLbK/mdH5e83p/zmT8rJwyGAEV+gB+++y/b1j0zS34DEuZZshk9ezmDd/08feX6QeDcwc/YgRb8QMs/Wzh18m+kZnz8Z+DQfZPB+nnhYd/upvIzV9arXdbHA7/uHV0dHy4pLY2rA9yKsfFfIgXC38qUY9SV4w+/Akl/HqUfQVR9pWLMaldmMmICRB8DC5w0JcmD6OZo0toaAFvGcsXlCHXN636fIV1urH4tqOJ3tjZTPVNnT12tjeS/dACnb+dvAYNuNhxq0H43Q9NmY1rb13Atb0o99atS/hzx0NTKrG5X6XtlvAkHOdnW1RttePbW8sC6+l8cPJtuM9s5HyuhyYvwaUN//0wh7l6SFSHs5X46K872gxzPjilFjeq60NuP2R3OssCXROcD07m4ICfUzR1pv3bqfP1F8IfbQTlfDIQEMKfDFT7Q5kLV67HzZIfDF8h1bqIai/b0q1b/jTa+/iZ+gEtv+Jv/aHr0ofEI4BgfcO9Xu8+kAVwwMSQ+p7K4XPsg84+/LylXDyWbdP/nxcL8rAPeDyLBckmw/GWn404YPbdc9JJJ92R+FnYVeLitW7c35RZeIh8hRTropoLlO73NySPNV0y25rIsu/41rdq0O87/Q/wXi9pnZ1Uodhpqq2IXHj6ftXVgtjfxtO2YeEP9tkP9OnH4ozh468vDcDZt2wwja6sRJBHqGrgRnMU19De3fXUdKTRb7k3XUVCLf2GD3+whZ9XGc52FFMxfPm3e45ji0DEGoPiRskJ2Edc0+o6Oztnppv0C+FP5ExNUFkx+PBzTX0m/CzZt1oX4oL5Fkg++48VhYuy/4WqIXTWuCE0ugwONPp15bPkB7zzZbBhbwu9ubOJPtjT2iMQ8Ur2mYTnRSDoXJFz6WRdB68o3pn2m7Zv7Hx48m34dL+5iwau82a73VmlLKxrdj08pdarUm2k8vTFAkjrLZoyJ3BRwPnwlBquy3HzlhqUvx7lz/KX79sNJNxneBy94Lhpa5BaIBI42mOVpW5Xbh1+L0tMXT/fd9DeOYHt7Vw6md0JKvlWz+1J0KyLWowQ/qgQSYIkICCEPwmg9osiuwg/d4edJx/CjbOGls0/6u9fcBr+1fwbKSqI/5VYAJBDEOhC4MMPP9Slw/rDlU++Z55Nxmcm7fxi/3Mm7PyKtT62apt5mfBnsw8/94Vf5uKFGXgvlpgAoTikwoffN0avfe5zn5udzOvHJPL6fMT9DdblhzTFWlMzV+m6v/FToG9hIFq6ZLY1kWXffsstTfjRL/VfCyD8akcHTcsppHJshVfn24aPzyOAlp4MUbP9pN+w5ndZ+M3PNnsuzfrS+VQxfGTY5h48sJ/++fqr1HYcwfeM4oJ99plkmBZ+Xd5vPJrwv1VWB03NyaMmqA42uFvIEkr4jZvKwruXLq1NJFbxliWEP17EUpA+mRZ+U7JP9G08G52ESejFfM0P7dXnRpXRGeOG0gy889IYX0GQyevv/s/IuKepnf66pRFB+Fiy740ITp8k+49OXuO4MTxpdj0ycYZmsW4wrjvlVzZrR43Lm8uf4WffpehBsxc7vrmlxvnolF2IJ/Ar+zcNi3/o4fwdiL2CaPm+9OZ543tlhuPGTy/hMrqV77vuAyWjZv2qlaryFm6piwQOE31ejODzzkfZPcGy2ryPcHnYqm+O7ZuGIoHTon9NelkhbUz2zJQAn8lGWMoPh4AQfpkX4REIJfNGKjwMazW0s/whWj/Hgz1uTRVAVxm6qUd7FksEP6TfL9gm8AoCjMCGDRuq8Rbsq5dES38o4Y/Hws/bzzHZPXLkiE72s9nC31ccOD8vFqQYh/qZM2dWJvPKCSTyZj14IDyKhZAazW55qGYONrXGEWu6ZLY1EWVffvnl1Xk2229GlJQUBpaneTzkhYX/XPsg7ONt6ZLzY1EOWhxDvo+nBNOXP8inHwXxZ5sjly665DIqRKyMng6Xy0l/+dOL1NJ0RH/CNuX+ZnR+08IfGK2f0w1C8L4zIOvnLfpedx4mBYtwQRZ+lNbmctHB1tb1zzzzzJxE4NWbMoTw9wa1JOdJhg+/Ltm33ISpCUIJyT4HmAs5RpUV0BeqhuE1lAoc2HPCjK6vx6YwyT5uONhKb+PeZhD9Bjrc1nPYkt5I9jsem1IZSJCdj02BzzpI78LuMnz3Y7DIE60zghjyooSyBot+l5hku+tdabYv/LTMhbJwvOC4IfwCAuqqASx3It/j9oVb+PdfP8zv8cta5qJOXoD06YnMd1MxFPq9vtiIQH55c5SFG8NvI/jYlFqUe5t53rV8iv6ManoHoC5/39H+anz/mK/+xY6Fqbfwh84bzKVZkyZNej3JV4UUP0AREMI/QAc+arfDE34jm6ZtIURMBbG/wyf7D1ecB+mWI81iWPz3R61PEvRrBN577z3jxz+JJD9Q7s4E1SSrvCVfoGU7miye05sWfi4nnsWCVPUv1noSgQMTfsYkVTjwM+Gpp57aJclIwpURjsib1eChkuX9i9i/P9Z0SWhiwoq85JJLSjF+uwbl55eW5QcbIJnwOzpddIYDAcNw/A1yfpb1m5Z7/V03KXZZ9s1wYcZ3RF8B2R80eEhM7T165DC9vOaZLrLvy2X67Os+zD5Lv6ECMB5R5jpK9W3I3nU2UZsDC3KYj4GHF64F9U26sW7xqlWr+F6T8kMIf8ohj15hoiz8MUj28+yIN1FVrhP9UWX5Pl98bqLPN19XthlXzdu7DtPGPU2Q7vcceiJeyX4oIM7Hp9Q4rjeIrPuJKbPhUbcO9S+0X7elNjRtwHn9ygtHt7u+p4VI8Jj+2avMtC/8hH3hgw7X41OX4DT887XXUN9s86Tr91Oqke8xwPAr3/kY6gtoD7bss6mOsKTf9fup61HYGvt1n+qqA+cTUy+BCgFWfiM/BE26QsD15AkzsIIILFjthPsdW/h9OEWfVH1PIRb+vmMoJcSPgBJp4sVflOToTwhc+9Rn9O6e4z12qSTXSi0dkJ71sGyUm2Oha08ZQt88fRiV5AX4XfYnsKQvURFob28nF6xw0ch2os4zOWWSyj78/M6vWEkyW/TNxQJ+j2exIFHtT1Q5Jg7s2sDKhWzBoaSEXS+Ttx796oER1NDZLWB20DyuyMOchYb0qLNrS8dwE53TnTz4CBXbMnNjAahr6PnnnycQfiqFdTzwUEH4y5xemmEvISeeev/uBAEB7sEWfcMNx/89CjBJf9WESXTmrC9Gvf4DE7z1+jrauX0LWxD1rw2yb0TpNqPz80pCoOX/LHuR7se/2dlCDQ64qYQQfi5nJxQ5FRUV9O1vfzuu9iQ6cWjQPtxDvjthwoQHEl2PlBcDAn3x4Q+S7BMk+6C2YST7n6+qoBNHDabPjcKilz+6vkHy/Z/x/b7mdvr71gP04d6mniX7+nqbhmAV1IBCHiCv/VGqnderoJSuJ2HhJstt9qs/2eh+GoRfpXUos87mdMwMtZKDBFfjyjZIvHFhGqt94T9vxNczdF97sjQj1RyuI3BE3E9NXY/7xiyuz37Vp1XmOe2xGaVue2cdvuet9yKV33P9GjUjf7c60V++kbyG+mZzfc6nmPCTIetX6DX4blXnqHQ9ErG7gb9/gHyx42qx8MdwRUmSLEZACH8WD14ymx4L4dfrD7hf99QeXhz45unlOvnPtRl7pMsxcBBobW0lt9ttTJkU+PCz7z2TWya6LM9n4ut/4IhSPxN+My8TfibKsfi8x1p+KvpvttfsC1vpGQfuV6z1h+LAeVM1fqWlpTruyTpiIfyBt7dotzl+uJ9Y1ELTSo+Swxp5y6xk9aencl966SV6++23aXhxMUHWH5SUCX+FU6Wp9mL4yHsQCf+4z0cfpN/nq9/lw29a/k2LP8Fv/wIaPdb/LB9T944igN/La57Tn7e7XoYt31ziMbYkMxcDiE6xFVA5pP070L56m0bWMIT/AO4xHbjH/PjHP46pHalKJIQ/VUiHqac3Fv6FKxBdX7kCU/BK/FQ049r2x7wwaxhZVkTnThpFJ4Hk59msuuU+MLq+MZdVampz0j93HaK3dzbSEfzd04F7DCfgW80TpCoPYoekblbzeJF0rYTFG5etfcGnc7TVINpOSGSMK6vWvuATttL7D/fTJ9Rg55I7461DL01RmklV59mu7HIVcK2Yyn3RD9QftHqLc2yBDx+dP/YGrOd+mcldq2C1VzU9BoHN4ShT5m1sdq+YuhqNMAL9cRs1rdtY+tq/2HbFJzUdT0+ptFotpfb53RULsTcrekqx8EfHSFIkHgFFuWGl/6IMV/yW22f0WOuUe3q+J0n+7MQvcOE1rmkX5cl4WGEOfeesCrr0xMGUY1VI5s/AuH6am5tTauFnws+WebbwM/k1SXsslnOO6s/klkkyp+fFgljyxaogSGW6bMVh0KBB+pj9HZb4xh4s8V8cvp+G5XZEvEVFyx/rvc28rUUj/naQ/ekg/RNA/pm0Rqu/r+2PJf+7z91L7Ye2RCT8o5waTYQFvRGE/z33MX4y7mbhD7L4IwVfD+zjH4+cPxDrPzzKMWANDmBY+tm3ObKF/8ScfBpltdNObBlYZ1N7JPw33HADVVUZixDpxp/bIIQ/1qssCeni8+H/GBbuckxMR7it9AYV5NG0kUNp1uTRNAjb6gVb8H1yfVwXTiyifbT3MEh+A21vaOmxU7iOOAaAHfvOv449Me+nZVesSSQKrmemrme/cNSzyH75p0sCPjMBrrVf1kX63c+A8JPWF7e7ZigI5jBZdj479RJc16v9v5sqzQwk0UzOETJkQ19/V7EoOc9x2ac6Zq5np9biNnK9fl9RNWwvqGxEf2pi+r0l7VdYZKmFPxF8+q2LbJdvWp/IcQgtSwh/MtGVsiMhIIRfFizCzg0h/AYssmCVmAUrJvzYLztld2LeNz6QtMdjLTb3nGd1AD+QxJM3ZR2MsaJsxaG8vFxXJCSbsMUIY0hQqci5spHwj4VdcZy9kA6oLkTBb/f565syfl+Ufp2Sh1r4NbrmG7fECmFQuj8sWxpi4TdOd23NZ1r/Dcv/dBD+MSD8e9C+7TkesgYodsyCTQu/EP5eDUn/zBSjhZ87j3t9B8hhNz+fU6pG0PSRw2j6qKF6HAndJx//Bln0YeHf0dBM7+w8SB/tO0IdLj3mZ/hnK6OyDl2yT7SEVEdtbyX70QbNtfoERNKnSm4wrl5ssWf9EG4G7Ltu6HcULATMM/zd3c+dUIMOclR9/dAXN421OP1iNHfM6+k80tUh2stMt+ZEmQrItz//Ytu8T2oC2+t+firL8iHrj718f3ld7X8c7a92r56O+ATqutDzcbQf1n+9HVAAqHNs87oHNYyGdTznhfDHg5akTRQCIulPFJL9rByR9PezAU1zd1paWug4tuQKt6JvNi3SSnxvzjPRZUk6W/i9iNTTk4U/tPxiSJ/Zqs8Wfg+sNSbhT2T7AnHoTf9izc84sNKBFy94z3R2UQjtR6T6GQdz0YQxDHQHiLV+3ffbd8SD38iR4bd3S9Q0HkiS/kcffZTq6+vDWvi9kMAPd2m6pP8wLPzvumDhD+PD383C7xuI8y78GlWMGBHXsLicTlr1B8Rz9bEIcwu+nqL1zwThHw7Cv8N1XLfw5/RA+G+99VYaPnx4XG1KZmKx8CcT3ShlRyD8zGJ3Nx6mZeveCFvAuGGD6JSqUTRtxFDKR5BIBH7zW/T1wJK+QHxNxzvovboDOtHniPs9HT7JPq96P5MoyX40ZF0vnAAhThdbx/14o77vPEvbuwLoLrF9bfMi9wts4TcC65rs3u/+5WP7MX3Gln4o4HqUXxqQvjlHVWcq87bUmW12v3gCfPxpVh/rQ3mWJRgP+OQH1affx2Jqb2h/LZY5tq+KhT/a3JLz2YeAEP7sG7OUtDgWwi9B+1IyFP2ikmPHjtHRo0djJpsmOewNWeQfefYBN0k7xw5g0h7rYgMTXV4sYJLMecOR5L62L1X5OfgdE35evAiHQ0/4Mg7mYgEvfMSzWNCX/rFlf9SoUUmd97EQ/v4StO/VV1+ldevWRST8Qzq9dFJuKbVoXvoHCL9hxze2xuK/9Cj9Ogfo7sN/yhfOpKnTOJ5Z7MeO7VvpnwjcF48P/+nYlm+wJYe2OFtpH8JxhCP8e7Go6MI8FR/+2Mei36eMw8JfVpBPJ1eOAtEfCck+tn70aV2MgJKGjz4fTreLNu1tpNe37aZ9TT0HNvZL9jV6Gdbz3yVash9t/NwvTdND0BurFb4jzGfcr2s1VXkcG9WviyV9tPIinN+Y47LNYd96bon7pRPWo2Gzklif0eEY+h/UXlVJGeG3bbqdLK2byT39blKLp/PzkWzLF21Sy/leIxAUSKPXpUjG/oeAbMvX/8Y0jT3685//fAkefrp8+nyB8/rqwxcpPxN+08LPRJdJZEy+fGhXWVmZnyQ7YY2MtFgQa3npTJelOHw4d+7cnn1J+jiXY91uL9Z0fWxOUrPPnz+fg1atLkNci9Bt+djCn9vupDPzh5AbhOaviILPR7go/eyzbyg2ugL65RUU0tcXXBNX+//68ot0aP8+Q76Pw7Ts83VibsnH3CrQ4j8bCoQ8OP2+336EWvJsYQk/R+lH+1575plnZsfVIEncfxEI68PPJBDbOMLC/9Sbb9PUkRV0ctVoGj9sMM98X+BIjinBK11dlv1P9zeA6DfQe7t63mXYWBczo+xbf0LenGeTJdmPNnDutdP4svVzXpP7hntHxzei5TNiTd+rdEQbczTvPOXCLXXuP09fjxsNLPyxtS9V6XB/m2O7MDUWfiH80WawnE8kAkL4E4lmfyorPOE/iltzDe0sf4jWz/FQuDT8Y6doz5KHfki/X7CtP0Eifek9Ai+88MIIEOe9OltIwcFB30wrfWdnp26djvXoS95Y60hVur70pS95+9i/hy+66KJv9bGMHrOHI/J4Sj8K0lmj2S0P1cxRdCfcWNMls62JKPvyyy+vK8nLGzsEASkDDyb8rmPHaW6RIYFf72qldpAh3bIfaOH3fQ6y/OvfEZ108ql00sxTY2rmls0f0ftvvxVk3eeMxtZ8hiHSJP2GAkAhO15fcpTo5a87foi8+dhFA6qVwMMNl5M9iBMCwr8QhL82psZIov6PQA8W/k5Y6u96z6QAACAASURBVHmOGVH2GYruvvkt2E72za11tGlfAyLu9xyDBiSat9JjXT8k++rPqPbKunQD7PnrNH84JmOpzlDuBLjmmy70vvfUnEdL1qMmXtQtDQ6Impr6e+4/zbF9WQh/uueu1J94BFLy8J34ZkuJSUcgmMzzwy+HVa6hZfNB+n1HKOHX6G+kqD+g5Ve+n/T2SQVZh8CLL774Nhp9eios3kxW87HvOPvwM+HXrYcBPn09KQuGDMHWkZD0swy+HQ98vFiQLCVCssvNRhyAyYUXX3zxK8mc4IFEHg+c2J6ZHtIUa03NXKXr/oYGxJoumW1NRNkg/DMcNtvLo0pKgpzbPSD8HdjO7pyCYVRitdFHCIq3F8H7TFm/Yen3Be7T37vk/jpF8pkKTzkd0v7pPUv7d0LK/9Zrr3aLzm9QfTNKP1v29Y9GOpTPvvsnY1s+J1wO/nLsIOVxQM4Qwn8MSpyGY8d+BbJ/WyLwkjL6CQI9+PAb8wwk3/dufuYo+5/sO0D/2FZH+5taewQi3ZL9aKPk/jtb+E0S3eXTbpB++ez//Q3AAzegObY5QvijzS05n30ICOHPvjFLTYu7yPwrpFoXUe1lW7pV7E+jgeArIPpX/C01jZNashGBNWvW3IF23+UPpOPrRDI+Dxs2zE/aOVhgoIU/Wn1M+HmxgH3429ra/IsFJubR8mfSee4Lb83HixfcF3ZtiLV9oThwXj5izd9LvI65XK4hkKG7kjnHTSIPXvkKKdZFNRco3e9vAYQ/WrpktjWRZd9xyy11KG+sWabH5aI2EP6T8sqo0l6Arfnc2JqvzRjnbj78hkXfWAww/zZK4m/KESjvxJmnUcXw4CB+R48cpo83vE976uv88p5A/33OH1bOz9/jdZJvS74DrnZ6v+Mo5RYVkT2E8KtE837+0EMJ3dIskbhLWWlCoAcLP89a3TffJ9v/FCT/X7v2gOwf7LGxmSTZj4aq57XpXVFToyWW88a9DFsLCuGXydAfERDC3x9HNRF9WrhyKSI1raHa+ZEtbTesfAQmnr9S7RXPGkJMOQSByAg8++yzU/Bg/6n+o+rz4TdTJ/ozE36TtDPhN0lFLPVxXibJR+ATzMEGA5UBseRPRf9ixSsUB91qGiP+vDUeY8iLBa0ghSbhjzW/WVec6VdeeumlC5J9HS1e61mqKdqamrm2HpUEsaZLdnsTVf5/3XIL9sem1WZ5JuEfDCv6WYXD9K/Xsaxf9fqjXHdF7TeuW/9nnke+gszv+b2gqJgKYIXn8T+GedPehusv4Ho3HzoQVUMvwbTkd23JZ1j2+bMNab7oKCaIrun9tiO0DwqEfN5FI4Dwo84P71m6NKkxHxKFv5STYgQWrtyAaeSfG7dddCGVFebrrI4t+gebmmhD3R4Q/d3UCbVLT0dwlP3MkOxHQ9PzJhP+yAJ24wqW84E44NYzx3aOWPijzS05n30ICOHPvjGTFgsCWYvAqlWr2JI6OdkdqKio8JNV3hIwkHxGq9vMyxZ+Jrrx5I1WdqrPZxsOwPpKyM9XpBqngVrfzZdfPhcWzrXc/y8XD6d8RMLf6e2kLZ5Ov6w/0NLP3MCI1m/IhPnwk/4QEE0qYX5tPmwEvhty/mDfff2zz6d/vDWXJufkkgsE7a8t+xEaRl9wWLhU/PQH6pSNr98LVz0Hwv91c5ZWIJjrnGlTqbm9jTbsqqeDzUaQykgH5rgbc9GGOb8WKwSPpDrKfnyd7Z7a888TxRATJ4gY8zm2M4TwxwmbJM8CBITwZ8EgSRMFgf6CwFNPPXUJLMVJj9bPRJf3oGcffib8BqkI8FnsYZeAEdhXnC3bbOHnrQQDZfDJ9rlPdPkmDrx40YygZr3BgS38TbCEpQCHTQsWLDixv8z1bOjHzfPmzYW/y1qed+Nzi3RpP0frfw3b37Env+mjb1jwgy38fD0ZPv1d9jFI64PthYGWfd/1F2rZNyz8wdH6+QsbovLPshWRA+9bOpqxJR+2DGTLv8UihD8bJlcmtPEbKy/BJH0cc6w41uboM1rTOiBabCCy1pBqg9JxnnHzzLLD8+6JAVH6zd8/XUAT8HsonwPxgPJrju00IfxZNtWluTEgIIQ/BpAkiSAgCCQOgSeffPINlHa2WWKoPD20pt6cZ9LOhJ+JLpP2nqz0oeWH5jVJciQEetO+wLKSmZ/7UoDI7EzaI+EQqf5YMUxU+1VVvfDaa69NarC+xM3i/lESE37NYtEt/LyPxRxY+YsQvO8AfPk3BPnyB1j0faZ7fkgOpPuBFv9AkXAgUn7rvo/kd302FgrMAH78fkJOHlVaHeSCe8FfWw/oVn6Di2kLf/f887X9YwSkF0lH4IYVUJUp4zC/bD3V5Zfsa9hlSNN+mglR9vuKjfeDE40wm+aedmaUfv9n32KdnDdWPYAPfodSRvhDxxfjNGvSpEmv93XcJb8gEA4BIfwyLwQBQSClCDzxxBOz8dC+LpmVjhw5korh68sWfrbUx3OMGjVKXyxgksyvbD6yCIc/X3fddXOzGetsbPs3QPhhMdct/PwwUA75/FnF5XpXNnraab/XaTwE+3z3uyz9+td+n/5AH/5IShr2yfcvDpmWf59lX7fc+0gH5x+s5NDn7YgDgGo+OH6Y6lwIntkFsBD+bJxs6Wpz9epSsjg/wIQdgzmUE9iMbJfsR4PUuxGS/qDrzrhufSZ+/3vXdSnnLZpljjJz4/po2Pbl/NatW5nUnxNahhD+vqAqeaMhIIQ/GkJyXhAQBBKOwGOPPcaW3AsSXrCvwDFjxvhJO1v5dUIS48F5ixAJnPPFmzfGKlKWrC84jB49Wl80SQUOXq/3xBtvvHFTyoCRinQEmPDjIWCtvjeZj9Sflj+YxuQW6tL+t1zHqA2W9a7o/OEt/QachoXM3NJPD8hnWhQDfPXNOGF6mFdUG2rZz4WE/yxdyq/QIXcHvdl6yHDy97UPfwnhl/kbPwI3rPgu5t5tIFXj9NmqaZtJsdyXzZL9+EGQHJmAgBD+TBiFgdcGIfwDb8ylx4JA2hF4+OGHx+Tk5LyHh65hsfrWx5OOia5JVtnKD5lezD78lZWV+mIBKwMOHjS2aEq0b32qyssGHGBhvueGG27gLRvlSDECTPhRpS7pN+e53WKl80qGUyGk/Uz233IfI7cupw+29Js+/AFq4B6uE4Oz+6P1+3yIu6L3G4sD7FZwpr2IihSrLuX/c9M+cpIh5TfbByf+hctF0p/imSLVCQKCQKIQEMKfKCSlnHgQEMIfD1qSVhAQBBKGwNKlS88F2WNpv7HBewIPJu0m4WfSHo+FPzDvoUOH9MWCbD3MvrBrwoEDBzIRh7X79+//t5qamuwFOVsnB9pdfcklM3DxbQjtQjHI/hdLRpDNYqFmEO8PPG3k9Fn6gy35ftdX/Wst0Hk/YMcv326QPtbu8yn2KQBMJQBvwXeKrYAGYacAL+p6A5b9RndnN3RRxbxla9asyWLYpemCgCAwgBEQwj+ABz+NXRfCn0bwpWpBYKAj8NBDD90BS+FdgYTctOSb2PTmMxPdUmzBxNZ9JrqBpD1aeePGjdMXC5gk79u3T29GotuXqvKqqqr8OIBYB1lgo+EbioPZ5mj4xXF+KxZ8Tr/55pt73htroF8kSez/dfPmDbZq2uFQn17+PMSeR2cXlZMdpL8dBPxD+PQ3IZifLtsP8ukPv/uFGa4/UJljWvS7Aj3Cdx8J2aI/w5ZPhXj3ouw3Ww7SIWwNGK5dFk07edmLL3ZbpEgiTFK0ICAICAIJQ0AIf8KglILiQEAIfxxgSVJBQBBIPAIPPPDAkyAFVwXK3EPJaKicP9r5CRMmUElJie5/vnfvXmPv8ICt+HrKz0SXFws4LxN++Jd3cweIVn+mnI+EQyztGz9+fEQcYsnPaXpww2jBudNvvfXWrYmfUVJiPAhUX3wxopjT5HB5CmBtP6ekgkpy7PrpXQjit93TQR783RUVo7vvfldZwSb/wCj8+vzAaxICBY635upZ2rxukP1D1Ox1RepCa+0LL5QGVR9PZyWtICAICAJpRkAIf5oHYIBWL4R/gA68dFsQyBQEQMSV3/zmN3ehPbcnyrediW5ZWZlu4d+zZ09Y0h6JjGJbHH2xgC389fX13RYL4oklkKj+9LYcxsFcvMggHLZCcXHxbbfdJmQ/Ay7C6y+++F5M8v/wKzMCouXzvLMiiN6phYOpKs/YyrwT1n4m/ntVF7nZ3YWjgJsB+nyWf1P277fQB5znethXfxS23KvCKx/l87HX2UbvtDbowQIDlQBmwD5f+/7w+IsvXpsBsEkTBAFBQBDoFQJC+HsFm2TqIwJC+PsIoGQXBASBxCBw//33X42SHsErv68lMmlnomuSdrbSx3pwXl4sYAs/E/548sZaR6rS9RUHc7Fg9+7dicLhVavVOu973/tea6owkHp6RuDKr32t3KZpdSDWhpndT9p9+XyfxzgK6bSiIZD4M10nWPk12gdL/F68WjVvgMU/cn0s3R9ptdNovNhnnw8vFg0+bDtKWzt8nh0R6uekmtc744mXXpLdHGRSCwKCQNYiYBJ+26bbydK6mdzT7ya1eDor4mbhN5u37JNDEEg4AkL4Ew6pFCgICAK9ReAXv/jFTFgV/4T8I/piSWeiO2jQIJ2019XVkcfjiTlK/5QpU/TFAo7Sv3PnTt3/v7cW9nTnyzAc7sNWf3fMnz8/9tWX3k4kyRcXAtd+9as/wcPA/wTE2TNd8IPe8yDxn1xQSuNysW2ej/hzRS6Q9GbNo/v6swKAo/vzwdb7PLz4vUTJ0bfaMw+O/L+ro5W2tbdQK6T8EeL9+b/HBfzbJ1588TtxdUwSCwKCgCCQYQgI4c+wARkgzRHCP0AGWropCGQLAnfffXcJyP730N7v431wb0jz1KlTdcLPFv4dO3bo1ulYy2HCby4WMOGPZ7GgL4sUsbYvnnQmDrzwwX1JEw68gLP49ttvfz9b5uBAayd2SbB89v77f8IDwYVdvvndUTBJOZ8Zk1tIlSD+FfZ8PZp/LAdb8w+5O2hX5zHa23FcVwkEHoHlh3z/z7wDB2Y98sEHHDVQDkFAEBAEshYBIfxZO3RZ3XAh/Fk9fNJ4QaD/InDvvfcWuFyuGxDJ/T/Ry9Hc067o3ka/I30+4YQTaPDgwboPPxN+Ju2x5p82bZp/sWD79u1BUvZY6zdHJd3pmfAPGTLEj4PbDUtqgJW1p/YxDuzawIsmn332mY5hrP1BOhXj9jxw+L877rjj4/47S/tPz2766lfzj6vqIxZFuTqeRSWeT4MQ1G8YiP9QWy45rDlBi2tsyT/s6tC32GvAe7yLYsjwN1yElz65dq24gfSf6SY9EQQGLAJC+Afs0Ke140L40wq/VC4ICALREFi1apUVxPtckJCvI+08vEZGyzN9+nSd8LNle9u2bX7CHy3f/2/vfkIkuQ47AFfNek8JcxAkNoFgmVh1yHbWl5AIpDAHBVYHH0LAp5AErcgplxAEA0nkg2yHQZCDAzlqBVFyyz+ID7KJEzxY4OQUiZkgkI3lhDiSDDlscC4bzeRVT7/umtrqmZqZfvW6uz7BspqZ6vfne29k/+q9elX/vA66dUi+zmf7lD/kNbVD3OlwVYerGoYgF96odvqt0L+/DTcH/iasGv9wyL6qazUCv/H5z/9OGMeDUNoTscT2yvsQX4e6/yeE/S//5de+9upqeqYUAgQI5BcQ+POPwRhbIPCPcdT1mcAGC4Qg+XQIl/dCFz4d/vzM7AZA/cz/E3Flsg6rzdAedgr0Xlm8e/fuNCTXz/C/++6751a2r7rymfv6mzrUN03qFf4Ohx8E7zrQ/2f4U//9djjr4O/C2Pz3Bk8tTZ8JfOHevSc+cevWr4el+ufKnZ1fOD05+XT4+ycTz+f/DeX/IPyiHpcnJ/946+OP//qNb3zjI4NCgACBbRIQ+LdpNDenLwL/5oyVlhIg0EPg1VdfPQxh9Feal9an37700ktOv+3hV1/CsCeUywgQIECAwBUEBP4rYLl0ZQIC/8ooFUSAwDoICKs3HwWGNzdUAgECBAgQaAsI/OZEDgGBP4e6OgkQSCYgrN6cluHNDZVAgAABAgSWBf729+udiOFVunYimjJJBAT+JKwKJUAgl4CwenN5hjc3VAIBAgT6CoTzVu6Ha19bcv2LR0dHD65Q1vR9l+Ez0/+PH8o+93XfclyXRiCu8Av8aXyV2i0g8JsZBAhslYCwevPhZHhzQyUQIECgr8Algb9+1eXzx8fHX+9bXvM6gf86auk+I/Cns1XycgGB3+wgQGArBLpCatcddIf3LR9uhlvxq6ATBAhsmEAj8J9bzY/fD4H/iyHwf6nuVvjeJ8NfHzS6+CCs5r8Yv24H/I6v74Zr347XN28mhGvjz+odBfWugxvdbNiwYRikuQL/IMwqaQkI/KYEAQJbISCs3nwYGd7cUAkECBC4qsBlgT+UN70R0Ajk56oIof2tcEPg2dkNgaVb+jtuFsRyPhfKf2dJ+Z8KP/vwqn1yfbeAwG9m5BAQ+HOoq5MAgZULCKs3J2V4c0MlECBA4KoCl2zpn6/gh+vq5/zrlff5ToA7d+58Oxz49kxcqb9ohT9c+3K49pXGtXG3wLSOVuAX9K86kD2uF/h7ILlk5QIC/8pJFUiAAAECBAgQIECgn0CPZ/inW/pjuI8H8tWlh+/dCyH+zXgT4KLA37hhcK5hcYdAc0t/8zGBfr1wVR8Bgb+PkmtWLSDwr1pUeQQIECBAgAABAgR6ClywpX/+vH4d8lMF/rqZdfkCf88Bu8FlAv8N8Hz02gIC/7XpfJAAAQIECBAgQIDAzQT6Bv5VbekPrZ0+s99utcB/s3Hs8+kY+G8f7Rc7D4+LR5OD4mR3UoRdGntVVR32KcM1BK4qIPBfVcz1BAgQIECAAAECBFYk0HdL/7JD+0Izms/5X3Ro37kT+mPz41sABP4VDegFxQj86Y3V8LiAwG9WECBAgAABAgQIEMgk0PfQvrp5CV7L13zl3/y1fJ7hTzMZBP40rkq9WEDgN0MIECBAgAABAgQIECCQWEDgTwys+E4Bgd/EIECAAAECBAgQIECAQGIBgT8xsOIFfnOAAAECBAgQ6Ba44Png+gOdh3yxJECAAIH+AgJ/fytXrk7ACv/qLJVEgAABAgQ2VuCSwF/361Phud4PN7aDGk6AAIHMAgJ/5gEYafUC/0gHXrcJECBAgEBTYNkJ3eHd3y+HV0a9Eq59MQT+B41Xg01X/eMhYuGk77eOj4+fbb5iLHzmtVjH7D3f9+P3wvXPh+u/Xv+8+bqxxs+n5RklAgQIbIuAwL8tI7lZ/RD4N2u8tJYAAQIECCQRSBD4z7WzviEQbhw802r8dNdAI/C3+zZ/3ViSTiuUAAECAwrEwN+uMvy3ca+qqsMBm6KqEQkI/CMabF0lQIAAAQLLBPpu6e+7wt9Y8W+++3u6KyDsGvj2LPzHXQL1ToD7jfeBfzJ8/cGsrR4lMG0JENgKAYF/K4Zx4zoh8G/ckGkwAQIECBBYvcAlgX8euvsG/tDC+AjANLzHGwB1yzvKmAb+8GdeT+NRAgcGrn64lUiAQAYBgT8DuioLgd8kIECAAAECBOoQHlfiL9xGL/CbLAQIELiegMB/PTefupmAwH8zP58mQIAAAQJbIXDVwB8P3YuH9HUd2jc75K/3Cn/c0l+DhnJPZ7C29G/FDNMJAgQEfnMgh4DAn0NdnQQIrIVA4zTxc+1pbj1ei4YuaUS95Tn86F/iSefr3FZtW3+BvoG/sdW+8/emeUr/VQN/h5JD+9Z/6mghAQI9BQT+nlAuW6mAwL9SToURILBJAssCf+xD/Rqxde1PDF3NV5uta1u1azME+gb+ujeNQ/fqL18Mf15bxQp/LKsudFNuvG3G6GolAQLrICDwr8MojK8Na/t/Zsc3FHpMgMDQAu2VyFh/fEa5tb24edJ4HUbm7xDvCEDTEFSvbrbL7Aoyja3L9fXzk8pboWpeZvtGRTMYday+zg88a3xuWs+sbbZLDz3x1PeYQPtcAEQECBDYRgGBfxtHdf37JPCv/xhpIQECiQQuCPznnjkO1zVfEdZsTXzF2MvhFWOvdDTzop/Ptyo3Av+0iPpmQvjrl5aVGX72i+FPfap5vP6tsK3/2WXvMm8/a93+XCJexRLoLSDw96ZyIQECGywQA//to/1i5+Fx8WhyUJzsTorwv/d7VVUdbnDXNH2NBQT+NR4cTSNAIK3AssBf1xpDeL2tv719vnEDoPP54ub14X/E/zUUd+6VZO3XjcW6Ltqe325DR5vmOxDiowjhmnuh/jfbW61tlU47r5R+dQGB/+pmPkGAwOYJCPybN2bb0GKBfxtGUR8IELiWQN/Af8HK+XRlPVbesdX++RC4/yv8/O2uBjZW3qenkXedGdBVZn1IX8cNgGm4D8Wce5QgPhZQl31Rf68F6EMECBAgQIBAbwGBvzeVC1coIPCvEFNRBAhslsAVtvTX2+fjM+/nOtm1A6C1wr808Mdw3txNEAu/bEVf4N+suaa1BAgQIEBA4DcHcggI/DnU1UmAwFoILAv8jTD9xbCa/qX2Fvx249uBPa6q1yv4cUt/+MzS14t1Bf6LyqxX+GPbG7sEem/pjzca1mIQNIIAAQIECIxEQOAfyUCvWTcF/jUbEM0hQGA4gb6v5Wu8ruxc4+Ip/u1D9+JFjTC+bIfA9IT8iwJ/W6PrAL7GM/rL6pkeHmhL/3BzS00ECBAgQKAtIPCbEzkEBP4c6uokQGAtBJYF/q5D7dqh/4JX9tWvvPtq+PN265p2GJ+/Dm9J4G++BvCxMptvDrjGa/nOPee/FoOhEQQIECBAYMsFBP4tH+A17Z7Av6YDo1kECBAgQIAAAQIECGyPgMC/PWO5ST0R+DdptLSVAAECBAgQIECAAIGNFIiBv934cN7PXlVVhxvZKY1eewGBf+2HSAMJECBAgAABAgQIENh0AYF/00dwM9sv8G/muGk1AQIECBAgQIAAAQIbJCDwb9BgbVFTBf4tGkxdIUCAAAECBAgQIEBgPQUE/vUcl21vlcC/7SOsfwQIECBAgAABAgQIZBcQ+LMPwSgbIPCPcth1mgABAgQIECBAgACBIQUE/iG11RUFBH5zgQABAgQIECBAgAABAokFBP7EwIrvFBD4TQwCBAgQIECAAAECBAgkFhD4EwMrXuA3BwgQIECAAAECBAgQIJBDIAb+20f7xc7D4+LR5KA42Z0UZVnuVVV1mKNN6tx+ASv82z/GekiAAAECBAgQIECAQGYBgT/zAIy0eoF/pAOv2wQIECBAgAABAgQIDCcg8A9nraaFgMBvNhAgQIAAAQIECBAgQCCxgMCfGFjxnQICv4lBgAABAgQIECBAgACBxAICf2JgxQv85gABAgQIECBAgAABAgRyCAj8OdTVaYXfHCBAgAABAgQIECBAgEBiAYE/MbDirfCbAwQIECBAgAABAgQIEMghIPDnUFenFX5zgAABAgQIECBAgAABAokFYuBvV1OW5V5VVYeJq1f8SAUE/pEOvG4TIECAAAECBAgQIDCcgMA/nLWaFgICv9lAgAABAgQIECBAgACBxAICf2JgxXcKCPwmBgECBAgQIECAAAECBBILCPyJgRUv8JsDBAgQIECAAAECBAgQyCEg8OdQV6cVfnOAAAECBAgQIECAAAECiQUE/sTAirfCbw4QIECAAAECBAgQIEAgh4DAn0NdnVb4zQECBAgQIECAAAECBAgkFhD4EwMr3gq/OUCAAAECBAgQIECAAIEcAjHw3z7aL3YeHhePJgfFye6kKMtyr6qqwxxtUuf2C1jh3/4x1kMCBAgQIECAAAECBDILCPyZB2Ck1Qv8Ix143SZAgAABAgQIECBAYDgBgX84azUtBAR+s4EAAQIECBAgQIAAAQKJBQT+xMCK7xQQ+E0MAgQIECBAgAABAgQIJBYQ+BMDK17gNwcIECBAgAABAgQIECCQQ0Dgz6GuTiv85gABAgQIECBAgAABAgQSCwj8iYEVb4XfHCBAgAABAgQIECBAgEAOAYE/h7o6rfCbAwQIECBAgAABAgQIEEgsEAN/u5qyLPeqqjpMXL3iRyog8I904HWbAAECBAgQIECAAIHhBAT+4azVtBAQ+M0GAgQIECBAgAABAgQIJBYQ+BMDK75TQOA3MQgQIECAAAECBAgQIJBYIGXgn0wmP1c3/+jo6HuJu6H4DRMQ+DdswDSXAAECBAgQIECAAIHNE0gV+O/cuXMvnAPw5unp6ffC38+E0P/hqnTef/2zR0VR3ukq7/S0uP+Z+++9Xv8sXtf83qra0FXO+68/9Q/h+88Vp8VXnrz/3h+lrOuysr//4LMfBfefOu8xa1/48JMvvDfP3F3XLiv//QdPfbkoi6fD53/1sjZc9HOB/yZ6PkuAAAECBAgQIECAAIEeAikCfzPshyb89vHx8Vs9mtL7kosCf13IrdPi6Z+9/94/jznwd918iMG+Noo3Av7jwVO//HFZfKf+XvMmQOcNjbOw/4fhZ98U+HtPVxcSIECAAAECBAgQIEAgj8CqA38M+2eh8vQLIez/1ap7tizIz28EzFbYu66brVDXoXX2z+kbT77w3d+qvwghOTT59Eefuf/dnz77Ou4kOLtmEY5Pj8PXk+8/eOqFsiwezPr6o7Ci/k7493Mr/Kuq7/S0/JOzuk6Pw+6GD6b1TP9ZtL/p3Kh3Gs6bbW1+bvH9sz7NbxQsfB7ra/xR+8ZKdIh+0XRWX93uelfGtD1W+Ff9W6E8AgQIECBAgAABAgQItARWGfibYT9U82LYxj8Nw6v+57LAH1ev29eFr/88hM7f7GjPNITG6xdB9qnTGFanYXi+wn36xq3T8s/iyvhj5S1uOKysvhD4/yneXGjXF9vb/H68ORFvYCz6fvrGmUEM+NEkfP+0/PfZCn6ritM3uuqv6w0GXwkXIgHRjQAADv5JREFUz24+xI+dlX0+8M9+NrMR+Ff9W6E8AgQIECBAgAABAgQILAn8t4/2i52Hx8WjyUFxsjspwmr1XlVVh33BWiv79XP7f9z3s63rvnXZIX8Xb+lvrtifrdAvbgCcBfiu7exn4fX0d6dhOITScGHow2L1vl61jqvf565tbG+vdwhM+zIP/Kur7/+K4udje2LAv+zZ+/jzWXtfqy2W/XvXOQftXQLtr9s3FWYBf3qOQdu8fa6BwH/N3w4fI0CAAAECBAgQIECAQF+BuMK/gsAftpyXv9+33guu+70Q+L96UTmXPcO/CNyLwP+Jovi3sxX5xepzO6Aurim+Ga774Ww3QPj34rnZavZ3FivmZwfgdR6KFwL/raL4+1XW195632z7skMC4w2Kuo31zYLHVvtDO+OK/vlD/BaPKszG4WwHROsZ/scfE2iMWuumR/t8AIF/Bb8piiBAgAABAgQIECBAgMBFAqsK/Hfv3v2Jk5OTvwh1/Vp9Mv+tW7c+98477/w4hf7SLf2LLfez59GvFvjr0/3rVfG6zSEgfxSCcniWv9yfraxPg3/4M9v+f/PAf5X6rhX4Gx5nz8+f7X5oljX7/plXK9Bf9vWFgX9WV9z1IPCn+E1QJgECBAgQIECAAAECBC4QWFXgr6sYKvRfJ/DX4TqGz2Vb+s9O9l+8uq4R7mfP8i8eB2icBzA/sf6qW/qvUt91An87kLd2I8z7FG8EPH7mwdyiffDf9Ov2IYZd00zg958fAgQIECBAgAABAgQIZBJYZeAfKvRfZ0v/WeBfdmjf4rn/cyG5ddp/3b+4Ut18nd1jQ3fpoX1Xr+86gb9u1/wmRKPtZ9+PbyA4dxNjeuZBx1TsPOm/eR5A+zPtgw+t8Gf6BVctAQIECBAgQIAAAQLjFVh14O8I/W+FV/M9u0rh6x7aNw26i23rsyY9/lq7GJIbr52bnbZ//vn/m76WL5r0qe/6gX/+asH5yfmzwD9/g0AzjLdvELRfVRgPAqzL6HotX/P7zRsOAv8qfwOURYAAAQIECBAgQIAAgR4CKQJ/I/T/6awJfxAO4vuwR3NcMhIBh/aNZKB1kwABAgQIECBAgACBfAKpAn++Hql5EwQE/k0YJW0kQIAAAQIECBAgQGCjBWLgb3civGJvr6qqw43unMavrYDAv7ZDo2EECBAgQIAAAQIECGyLgMC/LSO5Wf0Q+DdrvLSWAAECBAgQIECAAIENFBD4N3DQtqDJAv8WDKIuECBAgAABAgQIECCw3gIC/3qPz7a2TuDf1pHVLwIECBAgQIAAAQIE1kZA4F+boRhVQwT+UQ23zhIgQIAAAQIECBAgkENA4M+hrk6B3xwgQIAAAQIECBAgQIBAYgGBPzGw4jsFBH4TgwABAgQIECBAgAABAokFBP7EwIoX+M0BAgQIECBAgAABAgQI5BCIgf/20X6x8/C4eDQ5KE52J0VZlntVVR3maJM6t1/ACv/2j7EeEiBAgAABAgQIECCQWUDgzzwAI61e4B/pwOs2AQIECBAgQIAAAQLDCQj8w1mraSEg8JsNBAgQIECAAAECBAgQSCwg8CcGVnyngMBvYhAgQIAAAQIECBAgQCCxgMCfGFjxAr85QIAAAQIECBAgQIAAgRwCAn8OdXVa4TcHCBAgQIAAAQIECBAgkFhA4E8MrHgr/OYAAQIECBAgQIAAAQIEcggI/DnU1WmF3xwgQIAAAQIECBAgQIBAYoEY+NvVlGW5V1XVYeLqFT9SAYF/pAOv2wQIECBAgAABAgQIDCcg8A9nraaFgMBvNhAgQIAAAQIECBAgQCCxgMCfGFjxnQICv4lBgAABAgQIECBAgACBxAICf2JgxQv85gABAgQIECBAgAABAgRyCAj8OdTVaYXfHCBAgAABAgQIECBAgEBiAYE/MbDirfCbAwQIECBAgAABAgQIEMghIPDnUFenFX5zgAABAgQIECBAgAABAokFBP7EwIq3wm8OECBAgAABAgQIECBAIIdADPy3j/aLnYfHxaPJQXGyOynKstyrquowR5vUuf0CVvi3f4z1kAABAgQIECBAgACBzAICf+YBGGn1Av9IB163CRAgQIAAAQIECBAYTkDgH85aTQsBgd9sIECAAAECBAgQIECAQGIBgT8xsOI7BQR+E4MAAQIECBAgQIAAAQKJBQT+xMCKF/jNAQIECBAgQIAAAQIECOQQEPhzqKvTCr85QIAAAQIECBAgQIAAgcQCAn9iYMVb4TcHCBAgQIAAAQIECBAgkENA4M+hrk4r/OYAAQIECBAgQIAAAQIEEgvEwN+upizLvaqqDhNXr/iRCgj8Ix143SZAgAABAgQIECBAYDgBgX84azUtBAR+s4EAAQIECBAgQIAAAQKJBQT+xMCK7xQQ+E0MAgQIECBAgAABAgQIJBYQ+BMDK17gNwcIECBAgAABAgQIECCQQ0Dgz6GuTiv85gABAgQIECBAgAABAgQSCwj8iYEVb4XfHCBAgAABAgQIECBAgEAOAYE/h7o6rfCbAwQIECBAgAABAgQIEEgsIPAnBla8FX5zgAABAgQIECBAgAABAjkEYuC/fbRf7Dw8Lh5NDoqT3UlRluVeVVWHOdqkzu0XsMK//WOshwQIECBAgAABAgQIZBYQ+DMPwEirF/hHOvC6TYAAAQIECBAgQIDAcAIC/3DWaloICPxmAwECBAgQIECAAAECBBILCPyJgRXfKSDwmxgECBAgQIAAAQIECBBILCDwJwZWvMBvDhAgQIAAAQIECBAgQCCHgMCfQ12dVvjNAQIECBAgQIAAAQIECCQWEPgTAyveCr85QIAAAQIECBAgQIAAgRwCAn8OdXVa4TcHCBAgQIAAAQIECBAgkFggBv52NWVZ7lVVdZi4esWPVEDgH+nA6zYBAgQIECBAgAABAsMJCPzDWatpISDwmw0ECBAgQIAAAQIECBBILCDwJwZWfKeAwG9iECBAgAABAgQIECBAILGAwJ8YWPECvzlAgAABAgQIECBAgACBHAICfw51dVrhNwcIECBAgAABAgQIECCQWEDgTwyseCv85gABAgQIECBAgAABAgRyCAj8OdTVaYXfHCBAgAABAgQIECBAgEBiAYE/MbDirfCbAwQIECBAgAABAgQIEMghEAP/7aP9YufhcfFoclCc7E6Ksiz3qqo6zNEmdW6/gBX+7R9jPSRAgAABAgQIECBAILOAwJ95AEZavcA/0oHXbQIECBAgQIAAAQIEhhMQ+IezVtNCQOA3GwgQIECAAAECBAgQIJBYQOBPDKz4TgGB38QgQIAAAQIECBAgQIBAYgGBPzGw4gV+c4AAAQIECBAgQIAAAQI5BAT+HOrqtMJvDhAgQIAAAQIECBAgQCCxgMCfGFjxVvjNAQIECBAgQIAAAQIECOQQEPhzqKvTCr85QIAAAQIECBAgQIAAgcQCMfC3qynLcq+qqsPE1St+pAIC/0gHXrcJECBAgAABAgQIEBhOQOAfzlpNCwGB32wgQIAAAQIECBAgQIBAYgGBPzGw4jsFBH4TgwABAgQIECBAgAABAokFBP7EwIoX+M0BAgQIECBAgAABAgQI5BAQ+HOoq9MKvzlAgAABAgQIECBAgACBxAICf2JgxVvhNwcIECBAgAABAgQIECCQQ0Dgz6GuTiv85gABAgQIECBAgAABAgQSCwj8iYEVb4XfHCBAgAABAgQIECBAgEAOgRj4bx/tFzsPj4tHk4PiZHdSlGW5V1XVYY42qXP7Bazwb/8Y6yEBAgQIECBAgAABApkFBP7MAzDS6gX+kQ68bhMgQIAAAQIECBAgMJyAwD+ctZoWAgK/2UCAAAECBAgQIECAAIHEAgJ/YmDFdwoI/CYGAQIECBAgQIAAAQIEEgsI/ImBFS/wmwMECBAgQIAAAQIECBDIISDw51BXpxV+c4AAAQIECBAgQIAAAQKJBQT+xMCKt8JvDhAgQIAAAQIECBAgQCCHgMCfQ12dVvjNAQIECBAgQIAAAQIECCQWiIG/XU1ZlntVVR0mrl7xIxUQ+Ec68LpNgAABAgQIECBAgMBwAgL/cNZqWggI/GYDAQIECBAgQIAAAQIEEgsI/ImBFd8pIPCbGAQIECBAgAABAgQIEEgsIPAnBla8wG8OECBAgAABAgQIECBAIIeAwJ9DXZ1W+M0BAgQIECBAgAABAgQIJBYQ+BMDK94KvzlAgAABAgQIECBAgACBHAICfw51dVrhNwcIECBAgAABAgQIECCQWEDgTwyseCv85gABAgQIECBAgAABAgRyCMTAf/tov9h5eFw8mhwUJ7uToizLvaqqDnO0SZ3bL2CFf/vHWA8JECBAgAABAgQIEMgsIPBnHoCRVi/wj3TgdZsAAQIECBAgQIAAgeEEBP7hrNW0EBD4zQYCBAgQIECAAAECBAgkFhD4EwMrvlNA4DcxCBAgQIAAAQIECBAgkFhA4E8MrHiB3xwgQIAAAQIECBAgQIBADgGBP4e6Oq3wmwMECBAgQIAAAQIECBBILCDwJwZWvBV+c4AAAQIECBAgQIAAAQI5BAT+HOrqtMJvDhAgQIAAAQIECBAgQCCxQAz87WrKstyrquowcfWKH6mAwD/SgddtAgQIECBAgAABAgSGExD4h7NW00JA4DcbCBAgQIAAAQIECBAgkFhA4E8MrPhOAYHfxCBAgAABAgQIECBAgEBiAYE/MbDiBX5zgAABAgQIECBAgAABAjkEBP4c6uq0wm8OECBAgAABAgQIECBAILGAwJ8YWPFW+M0BAgQIECBAgAABAgQI5BAQ+HOoq9MKvzlAgAABAgQIECBAgACBxAICf2JgxVvhNwcIECBAgAABAgQIECCQQyAG/ttH+8XOw+Pi0eSgONmdFGVZ7lVVdZijTercfgEr/Ns/xnpIgAABAgQIECBAgEBmAYE/8wCMtHqBf6QDr9sECBAgQIAAAQIECAwnIPAPZ62mhYDAbzYQIECAAAECBAgQIEAgsYDAnxhY8Z0CAr+JQYAAAQIECBAgQIAAgcQCAn9iYMUL/OYAAQIECBAgQIAAAQIEcggI/DnU1WmF3xwgQIAAAQIECBAgQIBAYgGBPzGw4q3wmwMECBAgQIAAAQIECBDIISDw51BX5/8D0P5ohbCYvMEAAAAASUVORK5CYII=',\n};\n","import * as go from 'gojs';\nimport { AtoGojsEditorModel } from '../models/gojs-editor.model';\n\nexport enum ENUM_ASSET_PARAMETERS {\n FEED_FLOW_RATE = 'Feed Flow Rate',\n FEED_CONDUCTIVITY = 'Feed Conductivity',\n FEED_TEMPERATURE = 'Feed Temperature',\n PRIMARY_PRESSURE = 'Primary Pressure',\n REJECTION_RATE_SALT_PASSAGE = 'Rejection Rate/Salt Passage',\n PRESSURE_DROP = 'Pressure Drop',\n SYSTEM_RECOVERY_RATE = 'System Recovery Rate',\n PERMEATE_FLOW_RATE = 'Permeate Flow Rate',\n PERMEATE_CONDUCTIVITY = 'Permeate Conductivity',\n PERMEATE_PRESSURE = 'Permeate Pressure',\n CONCENTRATE_FLOW_RATE = 'Concentrate Flow Rate',\n CONCENTRATE_PRESSURE = 'Stage2 Concentrate Pressure',\n CONCENTRATE_CONDUCTIVITY = 'Concentrate Conductivity',\n // Makeup Water\n MAKEUP_WATER_FLOW_RATE = 'MakeupWaterFlowRate',\n MAKEUP_WATER_FLOW = 'MakeupWaterFlow',\n MAKEUP_WATER_CONDUCTIVITY = 'MakeupWaterConductivity',\n MAKEUP_WATER_PH = 'MakeupWaterpH',\n MAKEUP_WATER_CALCIUM = 'MakeupWaterCalcium',\n MAKEUP_WATER_TOTAL_IRON = 'MakeupWaterTotalIron',\n SPECIFIC_CONDUCTIVITY = 'Specific Conductivity',\n PH = 'pH',\n SILICA = 'Silica',\n // Evaporation Loss\n EVAPORATION_LOSS_FLOW_RATE = 'EvaporationLossFlowRate',\n EVAPORATION_LOSS_FLOW = 'EvaporationLossFlow',\n // Blowndown Water\n BLOWDOWN_WATER_FLOW_RATE = 'BlowdownWaterFlowRate',\n BLOWDOWN_WATER_FLOW = 'BlowdownWaterFlow',\n // Warmer Water\n WARMER_WATER_FLOW_RATE = 'WarmerWaterFlowRate',\n WARMER_WATER_FLOW = 'WarmerWaterFlow',\n // Cooling Tower Analysis\n ANALYSIS_CONDUCTIVITY = 'AnalysisConductivity',\n ANALYSIS_PH = 'AnalysispH',\n ANALYSIS_CALCIUM = 'AnalysisCalcium',\n ANALYSIS_TOTAL_IRON = 'AnalysisTotalIron',\n // Cooling Tower Chemistry\n CHEMISTRY_PHOSPHATE = 'ChemistryPhosphate',\n CHEMISTRY_CHLORINE = 'ChemistryChlorine',\n CHEMISTRY_STP_RESIDUAL = 'ChemistrySTPResidual',\n CHEMISTRY_CS_CORROSION = 'ChemistryCSCorrosion',\n // Cooling Tower KPI\n KPI_CYCLES = 'KpiCycles',\n KPI_ATP = 'KpiATP',\n // Condensate Return\n TOTAL_IRON = 'Total Iron',\n // Steam\n PHOSPHATE = 'Phosphate',\n M_AKALINITY = 'M-Akalinity'\n}\n\nexport enum WATER_SYSTEMS_NAME {\n EVAPORATION_LOSS = 'Evaporation Loss',\n MAKEUP_WATER = 'Makeup Water', // includes MAKEUP_WATER__FLOW or MAKEUP_WATER__CHEMISTRY\n MAKEUP_WATER__FLOW = 'Makeup Water Flow',\n MAKEUP_WATER__CHEMISTRY = 'Makeup Water Chemistry',\n WARMER_WATER = 'Warmer Water (Recirculation)',\n BLOWDOWN_WATER = 'Blowdown Water',\n COOLING_TOWER_ANALYSIS = 'Cooling Water Analysis',\n COOLING_WATER_CHEMISTRY = 'Cooling Water Chemistry',\n SYSTEM_KPIS = `System KPI's`,\n // For Boiler\n CONDENSATE_RETURN = 'Condensate Return',\n BOILER_FEED_WATER = 'Boiler Feed Water',\n STEAM = 'Steam',\n BOILER_WATER = 'Boiler Water'\n}\n\nexport const DATA_ASSET_PARAMETER_FIELDS = {\n [ENUM_ASSET_PARAMETERS.FEED_FLOW_RATE]: {\n name: ENUM_ASSET_PARAMETERS.FEED_FLOW_RATE,\n key: ENUM_ASSET_PARAMETERS.FEED_FLOW_RATE,\n },\n [ENUM_ASSET_PARAMETERS.FEED_CONDUCTIVITY]: {\n name: ENUM_ASSET_PARAMETERS.FEED_CONDUCTIVITY,\n key: ENUM_ASSET_PARAMETERS.FEED_CONDUCTIVITY,\n },\n [ENUM_ASSET_PARAMETERS.FEED_TEMPERATURE]: {\n name: ENUM_ASSET_PARAMETERS.FEED_TEMPERATURE,\n key: ENUM_ASSET_PARAMETERS.FEED_TEMPERATURE,\n },\n [ENUM_ASSET_PARAMETERS.PRIMARY_PRESSURE]: {\n name: ENUM_ASSET_PARAMETERS.PRIMARY_PRESSURE,\n key: ENUM_ASSET_PARAMETERS.PRIMARY_PRESSURE,\n },\n [ENUM_ASSET_PARAMETERS.REJECTION_RATE_SALT_PASSAGE]: {\n name: ENUM_ASSET_PARAMETERS.REJECTION_RATE_SALT_PASSAGE,\n key: ENUM_ASSET_PARAMETERS.REJECTION_RATE_SALT_PASSAGE,\n },\n [ENUM_ASSET_PARAMETERS.PRESSURE_DROP]: {\n name: ENUM_ASSET_PARAMETERS.PRESSURE_DROP,\n key: ENUM_ASSET_PARAMETERS.PRESSURE_DROP,\n },\n [ENUM_ASSET_PARAMETERS.SYSTEM_RECOVERY_RATE]: {\n name: ENUM_ASSET_PARAMETERS.SYSTEM_RECOVERY_RATE,\n key: ENUM_ASSET_PARAMETERS.SYSTEM_RECOVERY_RATE,\n },\n [ENUM_ASSET_PARAMETERS.PERMEATE_FLOW_RATE]: {\n name: ENUM_ASSET_PARAMETERS.PERMEATE_FLOW_RATE,\n key: ENUM_ASSET_PARAMETERS.PERMEATE_FLOW_RATE,\n },\n [ENUM_ASSET_PARAMETERS.PERMEATE_CONDUCTIVITY]: {\n name: ENUM_ASSET_PARAMETERS.PERMEATE_CONDUCTIVITY,\n key: ENUM_ASSET_PARAMETERS.PERMEATE_CONDUCTIVITY,\n },\n [ENUM_ASSET_PARAMETERS.PERMEATE_PRESSURE]: {\n name: ENUM_ASSET_PARAMETERS.PERMEATE_PRESSURE,\n key: ENUM_ASSET_PARAMETERS.PERMEATE_PRESSURE,\n },\n [ENUM_ASSET_PARAMETERS.CONCENTRATE_FLOW_RATE]: {\n name: ENUM_ASSET_PARAMETERS.CONCENTRATE_FLOW_RATE,\n key: ENUM_ASSET_PARAMETERS.CONCENTRATE_FLOW_RATE,\n },\n [ENUM_ASSET_PARAMETERS.CONCENTRATE_PRESSURE]: {\n name: ENUM_ASSET_PARAMETERS.CONCENTRATE_PRESSURE,\n key: ENUM_ASSET_PARAMETERS.CONCENTRATE_PRESSURE,\n },\n [ENUM_ASSET_PARAMETERS.CONCENTRATE_CONDUCTIVITY]: {\n name: ENUM_ASSET_PARAMETERS.CONCENTRATE_CONDUCTIVITY,\n key: ENUM_ASSET_PARAMETERS.CONCENTRATE_CONDUCTIVITY,\n },\n // Makeup Water\n [ENUM_ASSET_PARAMETERS.MAKEUP_WATER_FLOW_RATE]: {\n name: 'Flow Rate',\n key: ENUM_ASSET_PARAMETERS.MAKEUP_WATER_FLOW_RATE,\n waterSystem: WATER_SYSTEMS_NAME.MAKEUP_WATER,\n },\n [ENUM_ASSET_PARAMETERS.MAKEUP_WATER_FLOW]: {\n name: 'Flow',\n key: ENUM_ASSET_PARAMETERS.MAKEUP_WATER_FLOW,\n waterSystem: WATER_SYSTEMS_NAME.MAKEUP_WATER,\n },\n [ENUM_ASSET_PARAMETERS.MAKEUP_WATER_CONDUCTIVITY]: {\n name: 'Conductivity',\n key: ENUM_ASSET_PARAMETERS.MAKEUP_WATER_CONDUCTIVITY,\n waterSystem: WATER_SYSTEMS_NAME.MAKEUP_WATER,\n },\n [ENUM_ASSET_PARAMETERS.MAKEUP_WATER_PH]: {\n name: 'pH',\n key: ENUM_ASSET_PARAMETERS.MAKEUP_WATER_PH,\n waterSystem: WATER_SYSTEMS_NAME.MAKEUP_WATER,\n },\n [ENUM_ASSET_PARAMETERS.MAKEUP_WATER_CALCIUM]: {\n name: 'Calcium',\n key: ENUM_ASSET_PARAMETERS.MAKEUP_WATER_CALCIUM,\n waterSystem: WATER_SYSTEMS_NAME.MAKEUP_WATER,\n },\n [ENUM_ASSET_PARAMETERS.MAKEUP_WATER_TOTAL_IRON]: {\n name: 'Total Iron',\n key: ENUM_ASSET_PARAMETERS.MAKEUP_WATER_TOTAL_IRON,\n waterSystem: WATER_SYSTEMS_NAME.MAKEUP_WATER,\n },\n // Evaporation Loss\n [ENUM_ASSET_PARAMETERS.EVAPORATION_LOSS_FLOW_RATE]: {\n name: 'Flow Rate',\n key: ENUM_ASSET_PARAMETERS.EVAPORATION_LOSS_FLOW_RATE,\n waterSystem: WATER_SYSTEMS_NAME.EVAPORATION_LOSS,\n },\n [ENUM_ASSET_PARAMETERS.EVAPORATION_LOSS_FLOW]: {\n name: 'Flow',\n key: ENUM_ASSET_PARAMETERS.EVAPORATION_LOSS_FLOW,\n waterSystem: WATER_SYSTEMS_NAME.EVAPORATION_LOSS,\n },\n // Blowndown Water\n [ENUM_ASSET_PARAMETERS.BLOWDOWN_WATER_FLOW_RATE]: {\n name: 'Flow Rate',\n key: ENUM_ASSET_PARAMETERS.BLOWDOWN_WATER_FLOW_RATE,\n waterSystem: WATER_SYSTEMS_NAME.BLOWDOWN_WATER,\n },\n [ENUM_ASSET_PARAMETERS.BLOWDOWN_WATER_FLOW]: {\n name: 'Flow',\n key: ENUM_ASSET_PARAMETERS.BLOWDOWN_WATER_FLOW,\n waterSystem: WATER_SYSTEMS_NAME.BLOWDOWN_WATER,\n },\n // Warmer Water\n [ENUM_ASSET_PARAMETERS.WARMER_WATER_FLOW_RATE]: {\n name: 'Flow Rate',\n key: ENUM_ASSET_PARAMETERS.WARMER_WATER_FLOW_RATE,\n waterSystem: WATER_SYSTEMS_NAME.WARMER_WATER,\n },\n [ENUM_ASSET_PARAMETERS.WARMER_WATER_FLOW]: {\n name: 'Flow',\n key: ENUM_ASSET_PARAMETERS.WARMER_WATER_FLOW,\n waterSystem: WATER_SYSTEMS_NAME.WARMER_WATER,\n },\n // Cooling Tower Analysis\n [ENUM_ASSET_PARAMETERS.ANALYSIS_CONDUCTIVITY]: {\n name: 'Conductivity',\n key: ENUM_ASSET_PARAMETERS.ANALYSIS_CONDUCTIVITY,\n waterSystem: WATER_SYSTEMS_NAME.COOLING_TOWER_ANALYSIS,\n },\n [ENUM_ASSET_PARAMETERS.ANALYSIS_PH]: {\n name: 'pH',\n key: ENUM_ASSET_PARAMETERS.ANALYSIS_PH,\n waterSystem: WATER_SYSTEMS_NAME.COOLING_TOWER_ANALYSIS,\n },\n [ENUM_ASSET_PARAMETERS.ANALYSIS_CALCIUM]: {\n name: 'Calcium',\n key: ENUM_ASSET_PARAMETERS.ANALYSIS_CALCIUM,\n waterSystem: WATER_SYSTEMS_NAME.COOLING_TOWER_ANALYSIS,\n },\n [ENUM_ASSET_PARAMETERS.ANALYSIS_TOTAL_IRON]: {\n name: 'Iron',\n key: ENUM_ASSET_PARAMETERS.ANALYSIS_TOTAL_IRON,\n waterSystem: WATER_SYSTEMS_NAME.COOLING_TOWER_ANALYSIS,\n },\n // Cooling Tower Chemistry\n [ENUM_ASSET_PARAMETERS.CHEMISTRY_PHOSPHATE]: {\n name: 'Phosphate',\n key: ENUM_ASSET_PARAMETERS.CHEMISTRY_PHOSPHATE,\n waterSystem: WATER_SYSTEMS_NAME.COOLING_WATER_CHEMISTRY,\n },\n [ENUM_ASSET_PARAMETERS.CHEMISTRY_CHLORINE]: {\n name: 'Chlorine',\n key: ENUM_ASSET_PARAMETERS.CHEMISTRY_CHLORINE,\n waterSystem: WATER_SYSTEMS_NAME.COOLING_WATER_CHEMISTRY,\n },\n [ENUM_ASSET_PARAMETERS.CHEMISTRY_STP_RESIDUAL]: {\n name: 'STP Residual',\n key: ENUM_ASSET_PARAMETERS.CHEMISTRY_STP_RESIDUAL,\n waterSystem: WATER_SYSTEMS_NAME.COOLING_WATER_CHEMISTRY,\n },\n [ENUM_ASSET_PARAMETERS.CHEMISTRY_CS_CORROSION]: {\n name: 'CS Corrosion',\n key: ENUM_ASSET_PARAMETERS.CHEMISTRY_CS_CORROSION,\n waterSystem: WATER_SYSTEMS_NAME.COOLING_WATER_CHEMISTRY,\n },\n // Cooling Tower KPI\n [ENUM_ASSET_PARAMETERS.KPI_CYCLES]: {\n name: 'Cycles',\n key: ENUM_ASSET_PARAMETERS.KPI_CYCLES,\n waterSystem: WATER_SYSTEMS_NAME.SYSTEM_KPIS,\n },\n [ENUM_ASSET_PARAMETERS.KPI_ATP]: {\n name: 'ATP',\n key: ENUM_ASSET_PARAMETERS.KPI_ATP,\n waterSystem: WATER_SYSTEMS_NAME.SYSTEM_KPIS,\n },\n // Boiler \n [ENUM_ASSET_PARAMETERS.SPECIFIC_CONDUCTIVITY]: {\n name: ENUM_ASSET_PARAMETERS.SPECIFIC_CONDUCTIVITY,\n key: ENUM_ASSET_PARAMETERS.SPECIFIC_CONDUCTIVITY,\n },\n [ENUM_ASSET_PARAMETERS.PH]: {\n name: ENUM_ASSET_PARAMETERS.PH,\n key: ENUM_ASSET_PARAMETERS.PH,\n },\n [ENUM_ASSET_PARAMETERS.SILICA]: {\n name: ENUM_ASSET_PARAMETERS.SILICA,\n key: ENUM_ASSET_PARAMETERS.SILICA,\n },\n [ENUM_ASSET_PARAMETERS.TOTAL_IRON]: {\n name: ENUM_ASSET_PARAMETERS.TOTAL_IRON,\n key: ENUM_ASSET_PARAMETERS.TOTAL_IRON,\n },\n [ENUM_ASSET_PARAMETERS.PHOSPHATE]: {\n name: ENUM_ASSET_PARAMETERS.PHOSPHATE,\n key: ENUM_ASSET_PARAMETERS.PHOSPHATE,\n },\n [ENUM_ASSET_PARAMETERS.M_AKALINITY]: {\n name: ENUM_ASSET_PARAMETERS.M_AKALINITY,\n key: ENUM_ASSET_PARAMETERS.M_AKALINITY,\n },\n};\n\nexport const DATA_WATER_SYSTEMS = {\n [WATER_SYSTEMS_NAME.EVAPORATION_LOSS]: {\n title: WATER_SYSTEMS_NAME.EVAPORATION_LOSS,\n color: AtoGojsEditorModel.ENUM_COLORS.FLAMINGO,\n borderTable: AtoGojsEditorModel.ENUM_COLORS.FLAMINGO,\n bgColor: AtoGojsEditorModel.ENUM_COLORS.SNOW,\n },\n [WATER_SYSTEMS_NAME.WARMER_WATER]: {\n title: WATER_SYSTEMS_NAME.WARMER_WATER,\n color: AtoGojsEditorModel.ENUM_COLORS.CARROT_ORANGE,\n borderTable: AtoGojsEditorModel.ENUM_COLORS.CARROT_ORANGE,\n bgColor: AtoGojsEditorModel.ENUM_COLORS.OLD_LACE,\n },\n [WATER_SYSTEMS_NAME.BLOWDOWN_WATER]: {\n title: WATER_SYSTEMS_NAME.BLOWDOWN_WATER,\n color: AtoGojsEditorModel.ENUM_COLORS.CARROT_ORANGE,\n borderTable: AtoGojsEditorModel.ENUM_COLORS.CARROT_ORANGE,\n bgColor: AtoGojsEditorModel.ENUM_COLORS.OLD_LACE,\n },\n\n [WATER_SYSTEMS_NAME.MAKEUP_WATER__FLOW]: {\n title: WATER_SYSTEMS_NAME.MAKEUP_WATER,\n color: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n borderTable: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n bgColor: AtoGojsEditorModel.ENUM_COLORS.CERULEAN_ALICE_BLUE,\n },\n [WATER_SYSTEMS_NAME.MAKEUP_WATER__CHEMISTRY]: {\n title: WATER_SYSTEMS_NAME.MAKEUP_WATER,\n color: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n borderTable: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n bgColor: AtoGojsEditorModel.ENUM_COLORS.CERULEAN_ALICE_BLUE,\n },\n\n [WATER_SYSTEMS_NAME.COOLING_TOWER_ANALYSIS]: {\n title: WATER_SYSTEMS_NAME.COOLING_TOWER_ANALYSIS,\n color: AtoGojsEditorModel.ENUM_COLORS.FOUNTAIN_BLUE,\n borderTable: AtoGojsEditorModel.ENUM_COLORS.FOUNTAIN_BLUE,\n bgColor: AtoGojsEditorModel.ENUM_COLORS.AZURE,\n },\n [WATER_SYSTEMS_NAME.COOLING_WATER_CHEMISTRY]: {\n title: WATER_SYSTEMS_NAME.COOLING_WATER_CHEMISTRY,\n color: AtoGojsEditorModel.ENUM_COLORS.FOUNTAIN_BLUE,\n borderTable: AtoGojsEditorModel.ENUM_COLORS.FOUNTAIN_BLUE,\n bgColor: AtoGojsEditorModel.ENUM_COLORS.AZURE,\n },\n [WATER_SYSTEMS_NAME.SYSTEM_KPIS]: {\n title: WATER_SYSTEMS_NAME.SYSTEM_KPIS,\n color: AtoGojsEditorModel.ENUM_COLORS.FOUNTAIN_BLUE,\n borderTable: AtoGojsEditorModel.ENUM_COLORS.FOUNTAIN_BLUE,\n bgColor: AtoGojsEditorModel.ENUM_COLORS.AZURE,\n },\n // For Boiler\n [WATER_SYSTEMS_NAME.MAKEUP_WATER]: {\n title: WATER_SYSTEMS_NAME.MAKEUP_WATER,\n color: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n borderTable: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n bgColor: AtoGojsEditorModel.ENUM_COLORS.CERULEAN_ALICE_BLUE,\n },\n [WATER_SYSTEMS_NAME.CONDENSATE_RETURN]: {\n title: WATER_SYSTEMS_NAME.CONDENSATE_RETURN,\n color: AtoGojsEditorModel.ENUM_COLORS.FOUNTAIN_BLUE,\n borderTable: AtoGojsEditorModel.ENUM_COLORS.FOUNTAIN_BLUE,\n bgColor: AtoGojsEditorModel.ENUM_COLORS.AZURE,\n },\n [WATER_SYSTEMS_NAME.STEAM]: {\n title: WATER_SYSTEMS_NAME.STEAM,\n color: AtoGojsEditorModel.ENUM_COLORS.FLAMINGO,\n borderTable: AtoGojsEditorModel.ENUM_COLORS.FLAMINGO,\n bgColor: AtoGojsEditorModel.ENUM_COLORS.SNOW,\n },\n [WATER_SYSTEMS_NAME.BOILER_FEED_WATER]: {\n title: WATER_SYSTEMS_NAME.BOILER_FEED_WATER,\n color: AtoGojsEditorModel.ENUM_COLORS.LIGHT_SKY_BLUE_2,\n borderTable: AtoGojsEditorModel.ENUM_COLORS.LIGHT_SKY_BLUE_2,\n bgColor: AtoGojsEditorModel.ENUM_COLORS.DANUBE_ALICE_BLUE,\n },\n [WATER_SYSTEMS_NAME.BOILER_WATER]: {\n title: WATER_SYSTEMS_NAME.BOILER_WATER,\n color: AtoGojsEditorModel.ENUM_COLORS.REGENT_ST_BLUE,\n borderTable: AtoGojsEditorModel.ENUM_COLORS.REGENT_ST_BLUE,\n bgColor: AtoGojsEditorModel.ENUM_COLORS.AZURE,\n },\n};\n\nexport const ASSET_CATEGORY_PARAMS = {\n [WATER_SYSTEMS_NAME.EVAPORATION_LOSS]: [\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.EVAPORATION_LOSS_FLOW_RATE],\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.EVAPORATION_LOSS_FLOW],\n ],\n [WATER_SYSTEMS_NAME.WARMER_WATER]: [\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.WARMER_WATER_FLOW_RATE],\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.WARMER_WATER_FLOW],\n ],\n [WATER_SYSTEMS_NAME.MAKEUP_WATER__FLOW]: [\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.MAKEUP_WATER_FLOW_RATE],\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.MAKEUP_WATER_FLOW],\n ],\n [WATER_SYSTEMS_NAME.MAKEUP_WATER__CHEMISTRY]: [\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.MAKEUP_WATER_CONDUCTIVITY],\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.MAKEUP_WATER_PH],\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.MAKEUP_WATER_CALCIUM],\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.MAKEUP_WATER_TOTAL_IRON],\n ],\n [WATER_SYSTEMS_NAME.BLOWDOWN_WATER]: [\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.BLOWDOWN_WATER_FLOW_RATE],\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.BLOWDOWN_WATER_FLOW],\n ],\n [WATER_SYSTEMS_NAME.COOLING_TOWER_ANALYSIS]: [\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.ANALYSIS_CONDUCTIVITY],\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.ANALYSIS_PH],\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.ANALYSIS_CALCIUM],\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.ANALYSIS_TOTAL_IRON],\n ],\n [WATER_SYSTEMS_NAME.COOLING_WATER_CHEMISTRY]: [\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.CHEMISTRY_PHOSPHATE],\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.CHEMISTRY_CHLORINE],\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.CHEMISTRY_STP_RESIDUAL],\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.CHEMISTRY_CS_CORROSION],\n ],\n [WATER_SYSTEMS_NAME.SYSTEM_KPIS]: [\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.KPI_CYCLES],\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.KPI_ATP],\n ],\n};\n\n// For Boiler\nexport const ASSET_CATEGORY_PARAMS__BOILER: any = {\n [WATER_SYSTEMS_NAME.MAKEUP_WATER]: [\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.SPECIFIC_CONDUCTIVITY],\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.PH],\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.SILICA],\n ],\n [WATER_SYSTEMS_NAME.CONDENSATE_RETURN]: [\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.SPECIFIC_CONDUCTIVITY],\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.PH],\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.TOTAL_IRON],\n ],\n [WATER_SYSTEMS_NAME.STEAM]: [\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.SPECIFIC_CONDUCTIVITY],\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.PH],\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.SILICA],\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.TOTAL_IRON],\n ],\n [WATER_SYSTEMS_NAME.BOILER_FEED_WATER]: [\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.SPECIFIC_CONDUCTIVITY],\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.PH],\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.TOTAL_IRON],\n ],\n [WATER_SYSTEMS_NAME.BOILER_WATER]: [\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.SPECIFIC_CONDUCTIVITY],\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.PH],\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.PHOSPHATE],\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.SILICA],\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.M_AKALINITY],\n ],\n};\n\n\n\nexport enum COMPONENTS_GROUP_TYPE {\n INFLOW = 'Inflow',\n LOSS = 'Loss',\n OUTFLOW = 'Outflow',\n RECIRCULATED = 'Recirculated',\n EMBODIED = 'Embodied',\n INFLOW_VALUE = 'InFlowValue',\n OUTFLOW_VALUE = 'OutFlowValue',\n LOSS_VALUE = 'LossValue',\n RECIRCULATED_VALUE = 'RecirculatedValue',\n}\n\nexport enum ATO_ASSET_LAYERS {\n FLOW = 'Flow',\n CHEMISTRY = 'Chemistry',\n ANALYTICS = 'Analytics'\n}\n\nexport const ATO_COMPONENTS_GROUP_DATA = {\n [AtoGojsEditorModel.ENUM_TYPES.STORAGE]: {\n nodeDataArray: [\n {\n key: 90,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Inflow',\n value: '0 kl',\n color: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n group: 100,\n loc: '0 130.5',\n },\n {\n key: 91,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Outflow',\n value: '0 kl',\n color: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n group: 100,\n loc: '300 130.5',\n },\n {\n key: 92,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Loss',\n value: 'M',\n color: AtoGojsEditorModel.ENUM_COLORS.BLUE,\n group: 100,\n colorValue: AtoGojsEditorModel.ENUM_COLORS.GRAY,\n loc: '152.5 0',\n },\n {\n key: 99,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.SPECIAL_STORE,\n group: 100,\n loc: '92.5 95',\n },\n { key: 100, type: AtoGojsEditorModel.ENUM_TEMPLATES.STORAGE, isGroup: true, name: 'Group' },\n ],\n linkDataArray: [\n { from: 90, to: 99, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n { from: 99, to: 91, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n { from: 99, to: 92, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n ],\n },\n [AtoGojsEditorModel.ENUM_TYPES.WATER_TREATMENT]: {\n nodeDataArray: [\n {\n key: 90,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Inflow',\n value: '0 kl',\n color: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n group: 100,\n loc: '0 134.5',\n },\n {\n key: 91,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Outflow',\n value: '0 kl',\n color: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n group: 100,\n loc: '333 170',\n },\n {\n key: 92,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Loss',\n value: 'M',\n color: AtoGojsEditorModel.ENUM_COLORS.BLUE,\n group: 100,\n colorValue: AtoGojsEditorModel.ENUM_COLORS.GRAY,\n loc: '160.5 297',\n },\n {\n key: 93,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Recirculated',\n value: 'M',\n color: AtoGojsEditorModel.ENUM_COLORS.VIVID_VIOLET,\n group: 100,\n colorValue: AtoGojsEditorModel.ENUM_COLORS.GRAY,\n loc: '266 32',\n },\n {\n key: 99,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.SPECIAL_PROCESS,\n group: 100,\n loc: '92.5 95',\n },\n { key: 100, type: AtoGojsEditorModel.ENUM_TEMPLATES.WATER_TREATMENT, isGroup: true, name: 'Group' },\n ],\n linkDataArray: [\n { from: 90, to: 99, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n { from: 99, to: 91, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n { from: 99, to: 92, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n { from: 99, to: 93, color: AtoGojsEditorModel.ENUM_COLORS.BLUE, fromPort: 'T', toPort: 'T' },\n { from: 93, to: 99, color: AtoGojsEditorModel.ENUM_COLORS.BLUE, fromPort: 'B', toPort: 'R' },\n ],\n },\n [AtoGojsEditorModel.ENUM_TYPES.DEMIN_WATER_TREATMENT]: {\n nodeDataArray: [\n {\n key: 90,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Inflow',\n value: '0 kl',\n color: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n group: 100,\n loc: '0 134.5',\n },\n {\n key: 91,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Outflow',\n value: '0 kl',\n color: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n group: 100,\n loc: '333 170',\n },\n {\n key: 92,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Loss',\n value: 'M',\n color: AtoGojsEditorModel.ENUM_COLORS.BLUE,\n group: 100,\n colorValue: AtoGojsEditorModel.ENUM_COLORS.GRAY,\n loc: '160.5 297',\n },\n {\n key: 93,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Recirculated',\n value: 'M',\n color: AtoGojsEditorModel.ENUM_COLORS.VIVID_VIOLET,\n group: 100,\n colorValue: AtoGojsEditorModel.ENUM_COLORS.GRAY,\n loc: '266 32',\n },\n {\n key: 99,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.SPECIAL_PROCESS,\n group: 100,\n loc: '125 110',\n },\n { key: 100, type: AtoGojsEditorModel.ENUM_TEMPLATES.WATER_TREATMENT, isGroup: true, name: 'Group' },\n ],\n linkDataArray: [\n { from: 90, to: 99, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n { from: 99, to: 91, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n { from: 99, to: 92, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n { from: 99, to: 93, color: AtoGojsEditorModel.ENUM_COLORS.BLUE, fromPort: 'T', toPort: 'L' },\n { from: 93, to: 99, color: AtoGojsEditorModel.ENUM_COLORS.BLUE, fromPort: 'B', toPort: 'R' },\n ],\n },\n [AtoGojsEditorModel.ENUM_TYPES.RO_WATER_TREATMENT]: {\n nodeDataArray: [\n {\n key: 93,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.MASS_BALANCE,\n group: 100,\n loc: '830 10',\n selectable: false,\n value: 'NA',\n font: 'bold 15px Arial',\n colorValue: '',\n tooltip: '',\n },\n {\n key: 94,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.PARAM_TABLE,\n group: 100,\n loc: '20 10',\n padding: new go.Margin(0, 0, 0, 20),\n ...AtoGojsEditorModel.PARAM_TABLE_STYLE[AtoGojsEditorModel.ENUM_COLORS.CERULEAN],\n minSizeValue: new go.Size(100, NaN),\n selectable: false,\n\n dataTable: [\n {\n key: '',\n name: ENUM_ASSET_PARAMETERS.FEED_FLOW_RATE,\n value: '',\n isEditable: true,\n },\n {\n key: '',\n name: ENUM_ASSET_PARAMETERS.FEED_CONDUCTIVITY,\n value: '',\n isEditable: true,\n },\n {\n key: '',\n name: ENUM_ASSET_PARAMETERS.FEED_TEMPERATURE,\n value: '',\n isEditable: true,\n },\n {\n key: '',\n name: ENUM_ASSET_PARAMETERS.PRIMARY_PRESSURE,\n value: '',\n isEditable: true,\n },\n ],\n },\n {\n key: 95,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.PARAM_TABLE,\n group: 100,\n loc: '420 40',\n ...AtoGojsEditorModel.PARAM_TABLE_STYLE[AtoGojsEditorModel.ENUM_COLORS.DANUBE],\n minSizeValue: new go.Size(100, NaN),\n selectable: false,\n dataTable: [\n {\n key: '',\n name: ENUM_ASSET_PARAMETERS.REJECTION_RATE_SALT_PASSAGE,\n value: '',\n isEditable: true,\n },\n {\n key: '',\n name: ENUM_ASSET_PARAMETERS.PRESSURE_DROP,\n value: '',\n isEditable: true,\n },\n {\n key: '',\n name: ENUM_ASSET_PARAMETERS.SYSTEM_RECOVERY_RATE,\n value: '',\n isEditable: true,\n },\n ],\n },\n {\n key: 96,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.PARAM_TABLE,\n group: 100,\n loc: '590 150',\n ...AtoGojsEditorModel.PARAM_TABLE_STYLE[AtoGojsEditorModel.ENUM_COLORS.FOUNTAIN_BLUE],\n minSizeValue: new go.Size(100, NaN),\n selectable: false,\n dataTable: [\n {\n key: '',\n name: ENUM_ASSET_PARAMETERS.PERMEATE_FLOW_RATE,\n value: '',\n isEditable: true,\n },\n {\n key: '',\n name: ENUM_ASSET_PARAMETERS.PERMEATE_CONDUCTIVITY,\n value: '',\n isEditable: true,\n },\n {\n key: '',\n name: ENUM_ASSET_PARAMETERS.PERMEATE_PRESSURE,\n value: '',\n isEditable: true,\n },\n ],\n },\n {\n key: 97,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.PARAM_TABLE,\n group: 100,\n loc: '30 370',\n ...AtoGojsEditorModel.PARAM_TABLE_STYLE[AtoGojsEditorModel.ENUM_COLORS.GALLIANO],\n minSizeValue: new go.Size(100, NaN),\n selectable: false,\n dataTable: [\n {\n key: '',\n name: ENUM_ASSET_PARAMETERS.CONCENTRATE_FLOW_RATE,\n value: '',\n isEditable: true,\n },\n {\n key: '',\n name: ENUM_ASSET_PARAMETERS.CONCENTRATE_PRESSURE,\n value: '',\n isEditable: true,\n },\n {\n key: '',\n name: ENUM_ASSET_PARAMETERS.CONCENTRATE_CONDUCTIVITY,\n value: '',\n isEditable: true,\n },\n ],\n },\n {\n key: 99,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.IMAGE_TEMPLATE,\n source: AtoGojsEditorModel.IMAGE_RO_WATER_TREATMENT_PATH,\n group: 100,\n loc: '0 0',\n margin: new go.Margin(130, 0, 0, 0),\n selectable: false,\n },\n {\n key: 100,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.RO_WATER_TREATMENT,\n isGroup: true,\n name: 'Grid',\n loc: '0 0',\n selectable: false,\n // isViewGeneral: true,\n },\n ],\n linkDataArray: [],\n },\n [AtoGojsEditorModel.ENUM_TYPES.PROCESS]: {\n nodeDataArray: [\n {\n key: 90,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Inflow',\n value: '0 kl',\n color: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n group: 100,\n loc: '0 134.5',\n },\n {\n key: 91,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Outflow',\n value: '0 kl',\n color: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n group: 100,\n loc: '333 190',\n },\n {\n key: 92,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Loss',\n value: 'M',\n color: AtoGojsEditorModel.ENUM_COLORS.BLUE,\n group: 100,\n colorValue: AtoGojsEditorModel.ENUM_COLORS.GRAY,\n loc: '104 -20',\n },\n {\n key: 93,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Recirculated',\n value: 'M',\n color: AtoGojsEditorModel.ENUM_COLORS.VIVID_VIOLET,\n group: 100,\n colorValue: AtoGojsEditorModel.ENUM_COLORS.GRAY,\n loc: '266 32',\n },\n {\n key: 94,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Embodied',\n value: 'M',\n color: AtoGojsEditorModel.ENUM_COLORS.FOUNTAIN_BLUE,\n group: 100,\n colorValue: AtoGojsEditorModel.ENUM_COLORS.GRAY,\n loc: '144.5 297',\n },\n {\n key: 99,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.SPECIAL_PROCESS,\n group: 100,\n loc: '90 80',\n },\n { key: 100, type: AtoGojsEditorModel.ENUM_TEMPLATES.PROCESS, isGroup: true, name: 'Group' },\n ],\n linkDataArray: [\n { from: 90, to: 99, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n { from: 99, to: 91, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n { from: 99, to: 92, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n { from: 99, to: 94, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n { from: 99, to: 93, color: AtoGojsEditorModel.ENUM_COLORS.BLUE, fromPort: 'T', toPort: 'L' },\n { from: 93, to: 99, color: AtoGojsEditorModel.ENUM_COLORS.BLUE, fromPort: 'B', toPort: 'R' },\n ],\n },\n [AtoGojsEditorModel.ENUM_TYPES.WASTEWATER_TREATMENT]: {\n nodeDataArray: [\n {\n key: 90,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Inflow',\n value: '0 kl',\n color: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n group: 100,\n loc: '0 134.5',\n },\n {\n key: 91,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Outflow',\n value: '126 kl',\n color: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n group: 100,\n loc: '333 170',\n },\n {\n key: 92,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Loss',\n value: 'M',\n color: AtoGojsEditorModel.ENUM_COLORS.BLUE,\n group: 100,\n colorValue: AtoGojsEditorModel.ENUM_COLORS.GRAY,\n loc: '160.5 297',\n },\n {\n key: 93,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Recirculated',\n value: 'M',\n color: AtoGojsEditorModel.ENUM_COLORS.VIVID_VIOLET,\n group: 100,\n colorValue: AtoGojsEditorModel.ENUM_COLORS.GRAY,\n loc: '266 32',\n },\n {\n key: 99,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.SPECIAL_PROCESS,\n group: 100,\n loc: '125 110',\n },\n { key: 100, type: AtoGojsEditorModel.ENUM_TEMPLATES.WASTEWATER_TREATMENT, isGroup: true, name: 'Group' },\n ],\n linkDataArray: [\n { from: 90, to: 99, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n { from: 99, to: 91, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n { from: 99, to: 92, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n { from: 99, to: 93, color: AtoGojsEditorModel.ENUM_COLORS.BLUE, fromPort: 'T', toPort: 'L' },\n { from: 93, to: 99, color: AtoGojsEditorModel.ENUM_COLORS.BLUE, fromPort: 'B', toPort: 'R' },\n ],\n },\n [AtoGojsEditorModel.ENUM_TYPES.DAF_WASTEWATER_TREATMENT]: {\n nodeDataArray: [\n {\n key: 90,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Inflow',\n value: '0 kl',\n color: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n group: 100,\n loc: '0 134.5',\n },\n {\n key: 91,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Outflow',\n value: '126 kl',\n color: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n group: 100,\n loc: '333 170',\n },\n {\n key: 92,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Loss',\n value: 'M',\n color: AtoGojsEditorModel.ENUM_COLORS.BLUE,\n group: 100,\n colorValue: AtoGojsEditorModel.ENUM_COLORS.GRAY,\n loc: '160.5 297',\n },\n {\n key: 93,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Recirculated',\n value: 'M',\n color: AtoGojsEditorModel.ENUM_COLORS.VIVID_VIOLET,\n group: 100,\n colorValue: AtoGojsEditorModel.ENUM_COLORS.GRAY,\n loc: '266 32',\n },\n {\n key: 99,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.SPECIAL_PROCESS,\n group: 100,\n loc: '125 110',\n },\n { key: 100, type: AtoGojsEditorModel.ENUM_TEMPLATES.WASTEWATER_TREATMENT, isGroup: true, name: 'Group' },\n ],\n linkDataArray: [\n { from: 90, to: 99, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n { from: 99, to: 91, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n { from: 99, to: 92, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n { from: 99, to: 93, color: AtoGojsEditorModel.ENUM_COLORS.BLUE, fromPort: 'T', toPort: 'L' },\n { from: 93, to: 99, color: AtoGojsEditorModel.ENUM_COLORS.BLUE, fromPort: 'B', toPort: 'R' },\n ],\n },\n [AtoGojsEditorModel.ENUM_TYPES.ETP_WASTEWATER_TREATMENT]: {\n nodeDataArray: [\n {\n key: 90,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Inflow',\n value: '0 kl',\n color: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n group: 100,\n loc: '0 134.5',\n },\n {\n key: 91,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Outflow',\n value: '126 kl',\n color: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n group: 100,\n loc: '333 170',\n },\n {\n key: 92,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Loss',\n value: 'M',\n color: AtoGojsEditorModel.ENUM_COLORS.BLUE,\n group: 100,\n colorValue: AtoGojsEditorModel.ENUM_COLORS.GRAY,\n loc: '160.5 297',\n },\n {\n key: 93,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Recirculated',\n value: 'M',\n color: AtoGojsEditorModel.ENUM_COLORS.VIVID_VIOLET,\n group: 100,\n colorValue: AtoGojsEditorModel.ENUM_COLORS.GRAY,\n loc: '266 32',\n },\n {\n key: 99,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.SPECIAL_PROCESS,\n group: 100,\n loc: '125 110',\n },\n { key: 100, type: AtoGojsEditorModel.ENUM_TEMPLATES.WASTEWATER_TREATMENT, isGroup: true, name: 'Group' },\n ],\n linkDataArray: [\n { from: 90, to: 99, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n { from: 99, to: 91, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n { from: 99, to: 92, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n { from: 99, to: 93, color: AtoGojsEditorModel.ENUM_COLORS.BLUE, fromPort: 'T', toPort: 'L' },\n { from: 93, to: 99, color: AtoGojsEditorModel.ENUM_COLORS.BLUE, fromPort: 'B', toPort: 'R' },\n ],\n },\n [AtoGojsEditorModel.ENUM_TYPES.MBR_WASTEWATER_TREATMENT]: {\n nodeDataArray: [\n {\n key: 90,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Inflow',\n value: '0 kl',\n color: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n group: 100,\n loc: '0 134.5',\n },\n {\n key: 91,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Outflow',\n value: '126 kl',\n color: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n group: 100,\n loc: '333 170',\n },\n {\n key: 92,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Loss',\n value: 'M',\n color: AtoGojsEditorModel.ENUM_COLORS.BLUE,\n group: 100,\n colorValue: AtoGojsEditorModel.ENUM_COLORS.GRAY,\n loc: '160.5 297',\n },\n {\n key: 93,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Recirculated',\n value: 'M',\n color: AtoGojsEditorModel.ENUM_COLORS.VIVID_VIOLET,\n group: 100,\n colorValue: AtoGojsEditorModel.ENUM_COLORS.GRAY,\n loc: '266 32',\n },\n {\n key: 99,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.SPECIAL_PROCESS,\n group: 100,\n loc: '125 110',\n },\n { key: 100, type: AtoGojsEditorModel.ENUM_TEMPLATES.WASTEWATER_TREATMENT, isGroup: true, name: 'Group' },\n ],\n linkDataArray: [\n { from: 90, to: 99, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n { from: 99, to: 91, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n { from: 99, to: 92, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n { from: 99, to: 93, color: AtoGojsEditorModel.ENUM_COLORS.BLUE, fromPort: 'T', toPort: 'L' },\n { from: 93, to: 99, color: AtoGojsEditorModel.ENUM_COLORS.BLUE, fromPort: 'B', toPort: 'R' },\n ],\n },\n [AtoGojsEditorModel.ENUM_TYPES.ZLD_WASTEWATER_TREATMENT]: {\n nodeDataArray: [\n {\n key: 90,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Inflow',\n value: '0 kl',\n color: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n group: 100,\n loc: '0 134.5',\n },\n {\n key: 91,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Outflow',\n value: '126 kl',\n color: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n group: 100,\n loc: '333 170',\n },\n {\n key: 92,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Loss',\n value: 'M',\n color: AtoGojsEditorModel.ENUM_COLORS.BLUE,\n group: 100,\n colorValue: AtoGojsEditorModel.ENUM_COLORS.GRAY,\n loc: '160.5 297',\n },\n {\n key: 93,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Recirculated',\n value: 'M',\n color: AtoGojsEditorModel.ENUM_COLORS.VIVID_VIOLET,\n group: 100,\n colorValue: AtoGojsEditorModel.ENUM_COLORS.GRAY,\n loc: '266 32',\n },\n {\n key: 99,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.SPECIAL_PROCESS,\n group: 100,\n loc: '125 110',\n },\n { key: 100, type: AtoGojsEditorModel.ENUM_TEMPLATES.WASTEWATER_TREATMENT, isGroup: true, name: 'Group' },\n ],\n linkDataArray: [\n { from: 90, to: 99, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n { from: 99, to: 91, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n { from: 99, to: 92, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n { from: 99, to: 93, color: AtoGojsEditorModel.ENUM_COLORS.BLUE, fromPort: 'T', toPort: 'L' },\n { from: 93, to: 99, color: AtoGojsEditorModel.ENUM_COLORS.BLUE, fromPort: 'B', toPort: 'R' },\n ],\n },\n [AtoGojsEditorModel.ENUM_TYPES.DOMESTIC_USE]: {\n nodeDataArray: [\n {\n key: 90,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Inflow',\n value: '0 kl',\n color: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n group: 100,\n loc: '-20 134.5',\n },\n {\n key: 91,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Outflow',\n value: '0 kl',\n color: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n group: 100,\n loc: '320 134.5',\n },\n {\n key: 92,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Loss',\n value: 'M',\n color: AtoGojsEditorModel.ENUM_COLORS.BLUE,\n group: 100,\n colorValue: AtoGojsEditorModel.ENUM_COLORS.GRAY,\n loc: '150.5 0',\n },\n {\n key: 99,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.SPECIAL_PROCESS,\n group: 100,\n loc: '82.5 95',\n },\n { key: 100, type: AtoGojsEditorModel.ENUM_TEMPLATES.DOMESTIC_USE, isGroup: true, name: 'Group' },\n ],\n linkDataArray: [\n { from: 90, to: 99, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n { from: 99, to: 91, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n { from: 99, to: 92, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n ],\n },\n [AtoGojsEditorModel.ENUM_TYPES.COOLING_TOWER]: {\n nodeDataArray: [\n {\n key: 86,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.EMPTY,\n group: 100,\n loc: '0 0',\n data: {\n quantity: 2222,\n unit: 'm³',\n },\n name: 'top-left-marker',\n color: '#a8438d',\n },\n {\n key: 87,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.EMPTY,\n group: 100,\n data: {\n quantity: 3333,\n unit: 'm³',\n },\n name: 'bottom-right-marker',\n color: '#a8438d',\n extendedData: {\n loc: '1000 700',\n },\n extendedDataResponsive: {\n loc: '700 300',\n }\n },\n {\n key: 88,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.PARAM_TABLE,\n group: 100,\n loc: '320 60',\n padding: new go.Margin(0, 0, 0, 0),\n ...DATA_WATER_SYSTEMS[WATER_SYSTEMS_NAME.EVAPORATION_LOSS],\n minSizeValue: new go.Size(100, NaN),\n selectable: false,\n dataTable: ASSET_CATEGORY_PARAMS[WATER_SYSTEMS_NAME.EVAPORATION_LOSS].map((e) => ({\n ...e,\n value: '',\n isEditable: true,\n maxSizeValue: 140,\n })),\n visible: true,\n assetLayers: ATO_ASSET_LAYERS.FLOW,\n extendedData: {\n visible: true,\n },\n extendedDataResponsive: {\n visible: false,\n }\n },\n {\n key: 89,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.PARAM_TABLE,\n group: 100,\n padding: new go.Margin(0, 0, 0, 0),\n loc: '30 350',\n ...DATA_WATER_SYSTEMS[WATER_SYSTEMS_NAME.MAKEUP_WATER__FLOW],\n minSizeValue: new go.Size(100, NaN),\n selectable: false,\n dataTable: ASSET_CATEGORY_PARAMS[WATER_SYSTEMS_NAME.MAKEUP_WATER__FLOW].map((e) => ({\n ...e,\n value: '',\n isEditable: true,\n maxSizeValue: 120,\n })),\n assetLayers: ATO_ASSET_LAYERS.FLOW,\n extendedData: {\n visible: true,\n },\n extendedDataResponsive: {\n visible: false,\n }\n },\n {\n key: 90,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.PARAM_TABLE,\n group: 100,\n padding: new go.Margin(0, 0, 0, 0),\n loc: '30 270',\n ...DATA_WATER_SYSTEMS[WATER_SYSTEMS_NAME.MAKEUP_WATER__CHEMISTRY],\n minSizeValue: new go.Size(100, NaN),\n selectable: false,\n dataTable: ASSET_CATEGORY_PARAMS[WATER_SYSTEMS_NAME.MAKEUP_WATER__CHEMISTRY].map((e) => ({\n ...e,\n value: '',\n isEditable: true,\n maxSizeValue: 120,\n })),\n assetLayers: ATO_ASSET_LAYERS.CHEMISTRY,\n extendedData: {\n visible: true,\n },\n extendedDataResponsive: {\n visible: false,\n }\n },\n {\n key: 91,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.PARAM_TABLE,\n group: 100,\n padding: new go.Margin(0, 0, 0, 0),\n loc: '570 250',\n ...DATA_WATER_SYSTEMS[WATER_SYSTEMS_NAME.WARMER_WATER],\n minSizeValue: new go.Size(100, NaN),\n selectable: false,\n dataTable: ASSET_CATEGORY_PARAMS[WATER_SYSTEMS_NAME.WARMER_WATER].map((e) => ({\n ...e,\n value: '',\n isEditable: true,\n maxSizeValue: 120,\n })),\n assetLayers: ATO_ASSET_LAYERS.FLOW,\n extendedData: {\n visible: true,\n },\n extendedDataResponsive: {\n visible: false,\n }\n },\n {\n key: 92,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.PARAM_TABLE,\n group: 100,\n padding: new go.Margin(0, 0, 0, 0),\n loc: '570 560',\n ...DATA_WATER_SYSTEMS[WATER_SYSTEMS_NAME.BLOWDOWN_WATER],\n minSizeValue: new go.Size(100, NaN),\n selectable: false,\n dataTable: ASSET_CATEGORY_PARAMS[WATER_SYSTEMS_NAME.BLOWDOWN_WATER].map((e) => ({\n ...e,\n value: '',\n isEditable: true,\n maxSizeValue: 120,\n })),\n assetLayers: ATO_ASSET_LAYERS.FLOW,\n extendedData: {\n visible: true,\n },\n extendedDataResponsive: {\n visible: false,\n }\n },\n {\n key: 93,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.PARAM_TABLE,\n group: 100,\n padding: new go.Margin(0, 0, 0, 0),\n loc: '450 20',\n ...DATA_WATER_SYSTEMS[WATER_SYSTEMS_NAME.COOLING_TOWER_ANALYSIS],\n minSizeValue: new go.Size(100, NaN),\n selectable: false,\n dataTable: ASSET_CATEGORY_PARAMS[WATER_SYSTEMS_NAME.COOLING_TOWER_ANALYSIS].map((e) => ({\n ...e,\n value: '',\n isEditable: true,\n maxSizeValue: 130,\n })),\n assetLayers: ATO_ASSET_LAYERS.CHEMISTRY,\n extendedData: {\n visible: true,\n },\n extendedDataResponsive: {\n visible: false,\n }\n },\n {\n key: 94,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.PARAM_TABLE,\n group: 100,\n padding: new go.Margin(0, 0, 0, 0),\n loc: '730 20',\n ...DATA_WATER_SYSTEMS[WATER_SYSTEMS_NAME.COOLING_WATER_CHEMISTRY],\n minSizeValue: new go.Size(100, NaN),\n selectable: false,\n dataTable: ASSET_CATEGORY_PARAMS[WATER_SYSTEMS_NAME.COOLING_WATER_CHEMISTRY].map((e) => ({\n ...e,\n value: '',\n isEditable: true,\n maxSizeValue: 130,\n })),\n assetLayers: ATO_ASSET_LAYERS.CHEMISTRY,\n extendedData: {\n visible: true,\n },\n extendedDataResponsive: {\n visible: false,\n }\n },\n {\n key: 95,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.PARAM_TABLE,\n group: 100,\n padding: new go.Margin(0, 0, 0, 0),\n loc: '30 20',\n ...DATA_WATER_SYSTEMS[WATER_SYSTEMS_NAME.SYSTEM_KPIS],\n minSizeValue: new go.Size(100, NaN),\n selectable: false,\n dataTable: ASSET_CATEGORY_PARAMS[WATER_SYSTEMS_NAME.SYSTEM_KPIS].map((e) => ({\n ...e,\n value: '',\n isEditable: true,\n maxSizeValue: 130,\n })),\n assetLayers: ATO_ASSET_LAYERS.CHEMISTRY,\n extendedData: {\n visible: true,\n },\n extendedDataResponsive: {\n visible: false,\n }\n },\n {\n key: 96,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.IMAGE_TEMPLATE,\n source: AtoGojsEditorModel.IMAGE_COOLING_TOWER_PATH,\n group: 100,\n loc: '0 0',\n selectable: false,\n extendedData: {\n margin: new go.Margin(195, 20, 0, 0),\n },\n extendedDataResponsive: {\n margin: new go.Margin(20, 20, 0, 0),\n }\n },\n {\n key: 97,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.TEXT_LABEL,\n group: 100,\n loc: '250 25',\n name: 'Evaporation Loss',\n color: AtoGojsEditorModel.ENUM_COLORS.FLAMINGO,\n extendedData: {\n visible: false,\n },\n extendedDataResponsive: {\n visible: true,\n }\n },\n {\n key: 98,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.TEXT_LABEL,\n group: 100,\n loc: '110 290',\n name: 'Makeup Water',\n color: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n extendedData: {\n visible: false,\n },\n extendedDataResponsive: {\n visible: true,\n }\n },\n {\n key: 99,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.TEXT_LABEL,\n group: 100,\n loc: '580 435',\n name: 'Blowdown Water',\n color: AtoGojsEditorModel.ENUM_COLORS.CARROT_ORANGE,\n extendedData: {\n visible: false,\n },\n extendedDataResponsive: {\n visible: true,\n }\n },\n { key: 100, type: AtoGojsEditorModel.ENUM_TEMPLATES.COOLING_TOWER, isGroup: true, name: 'Group' },\n ],\n linkDataArray: [],\n },\n [AtoGojsEditorModel.ENUM_TYPES.BOILER]: {\n nodeDataArray: [\n {\n key: 86,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.EMPTY,\n group: 100,\n loc: '0 0',\n data: {\n quantity: 2222,\n unit: 'm³',\n },\n name: 'top-left-marker',\n color: '#a8438d',\n },\n {\n key: 87,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.EMPTY,\n group: 100,\n data: {\n quantity: 3333,\n unit: 'm³',\n },\n name: 'bottom-right-marker',\n color: '#a8438d',\n extendedData: {\n loc: '1220 660',\n },\n extendedDataResponsive: {\n loc: '700 300',\n }\n },\n {\n key: 88,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.PARAM_TABLE,\n group: 100,\n loc: '13 280',\n padding: new go.Margin(0, 0, 0, 0),\n ...DATA_WATER_SYSTEMS[WATER_SYSTEMS_NAME.MAKEUP_WATER],\n minSizeValue: new go.Size(100, NaN),\n selectable: false,\n dataTable: ASSET_CATEGORY_PARAMS__BOILER[WATER_SYSTEMS_NAME.MAKEUP_WATER].map((e) => ({\n ...e,\n value: '',\n isEditable: true,\n maxSizeValue: 140,\n waterSystem: WATER_SYSTEMS_NAME.MAKEUP_WATER\n })),\n visible: true,\n extendedData: {\n visible: true,\n },\n extendedDataResponsive: {\n visible: false,\n }\n },\n {\n key: 89,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.PARAM_TABLE,\n group: 100,\n loc: '190 20',\n padding: new go.Margin(0, 0, 0, 0),\n ...DATA_WATER_SYSTEMS[WATER_SYSTEMS_NAME.CONDENSATE_RETURN],\n minSizeValue: new go.Size(100, NaN),\n selectable: false,\n dataTable: ASSET_CATEGORY_PARAMS__BOILER[WATER_SYSTEMS_NAME.CONDENSATE_RETURN].map((e) => ({\n ...e,\n value: '',\n isEditable: true,\n maxSizeValue: 140,\n waterSystem: WATER_SYSTEMS_NAME.CONDENSATE_RETURN\n })),\n visible: true,\n extendedData: {\n visible: true,\n },\n extendedDataResponsive: {\n visible: false,\n }\n },\n {\n key: 90,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.PARAM_TABLE,\n group: 100,\n loc: '840 70',\n padding: new go.Margin(0, 0, 0, 0),\n ...DATA_WATER_SYSTEMS[WATER_SYSTEMS_NAME.STEAM],\n minSizeValue: new go.Size(100, NaN),\n selectable: false,\n dataTable: ASSET_CATEGORY_PARAMS__BOILER[WATER_SYSTEMS_NAME.STEAM].map((e) => ({\n ...e,\n value: '',\n isEditable: true,\n maxSizeValue: 140,\n waterSystem: WATER_SYSTEMS_NAME.STEAM\n })),\n visible: true,\n extendedData: {\n visible: true,\n },\n extendedDataResponsive: {\n visible: false,\n }\n },\n {\n key: 91,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.PARAM_TABLE,\n group: 100,\n loc: '400 510',\n padding: new go.Margin(0, 0, 0, 0),\n ...DATA_WATER_SYSTEMS[WATER_SYSTEMS_NAME.BOILER_FEED_WATER],\n minSizeValue: new go.Size(100, NaN),\n selectable: false,\n dataTable: ASSET_CATEGORY_PARAMS__BOILER[WATER_SYSTEMS_NAME.BOILER_FEED_WATER].map((e) => ({\n ...e,\n value: '',\n isEditable: true,\n maxSizeValue: 140,\n waterSystem: WATER_SYSTEMS_NAME.BOILER_FEED_WATER\n })),\n visible: true,\n extendedData: {\n visible: true,\n },\n extendedDataResponsive: {\n visible: false,\n }\n },\n {\n key: 92,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.PARAM_TABLE,\n group: 100,\n loc: '920 270',\n padding: new go.Margin(0, 0, 0, 0),\n ...DATA_WATER_SYSTEMS[WATER_SYSTEMS_NAME.BOILER_WATER],\n minSizeValue: new go.Size(100, NaN),\n selectable: false,\n dataTable: ASSET_CATEGORY_PARAMS__BOILER[WATER_SYSTEMS_NAME.BOILER_WATER].map((e) => ({\n ...e,\n value: '',\n isEditable: true,\n maxSizeValue: 140,\n waterSystem: WATER_SYSTEMS_NAME.BOILER_WATER\n })),\n visible: true,\n extendedData: {\n visible: true,\n },\n extendedDataResponsive: {\n visible: false,\n }\n },\n {\n key: 94,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.IMAGE_TEMPLATE,\n source: AtoGojsEditorModel.IMAGE_BOILER_PATH,\n group: 100,\n loc: '0 0',\n selectable: false,\n extendedData: {\n margin: new go.Margin(140, 160, 0, 0),\n },\n extendedDataResponsive: {\n margin: new go.Margin(20, 20, 0, 0),\n }\n },\n {\n key: 95,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.TEXT_LABEL,\n group: 100,\n loc: '80 280',\n name: WATER_SYSTEMS_NAME.MAKEUP_WATER,\n color: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n extendedData: {\n visible: false,\n },\n extendedDataResponsive: {\n visible: true,\n }\n },\n {\n key: 96,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.TEXT_LABEL,\n group: 100,\n loc: '300 17',\n name: WATER_SYSTEMS_NAME.CONDENSATE_RETURN,\n color: AtoGojsEditorModel.ENUM_COLORS.FOUNTAIN_BLUE,\n extendedData: {\n visible: false,\n },\n extendedDataResponsive: {\n visible: true,\n }\n },\n {\n key: 97,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.TEXT_LABEL,\n group: 100,\n loc: '760 17',\n name: WATER_SYSTEMS_NAME.STEAM,\n color: AtoGojsEditorModel.ENUM_COLORS.FLAMINGO,\n extendedData: {\n visible: false,\n },\n extendedDataResponsive: {\n visible: true,\n }\n },\n {\n key: 98,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.TEXT_LABEL,\n group: 100,\n loc: '460 400',\n name: WATER_SYSTEMS_NAME.BOILER_FEED_WATER,\n color: AtoGojsEditorModel.ENUM_COLORS.LIGHT_SKY_BLUE_2,\n extendedData: {\n visible: false,\n },\n extendedDataResponsive: {\n visible: true,\n }\n },\n {\n key: 99,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.TEXT_LABEL,\n group: 100,\n loc: '920 160',\n name: WATER_SYSTEMS_NAME.BOILER_WATER,\n color: AtoGojsEditorModel.ENUM_COLORS.REGENT_ST_BLUE,\n extendedData: {\n visible: false,\n },\n extendedDataResponsive: {\n visible: true,\n }\n },\n { key: 100, type: AtoGojsEditorModel.ENUM_TEMPLATES.BOILER, isGroup: true, name: 'Group' },\n ],\n linkDataArray: [],\n },\n [AtoGojsEditorModel.ENUM_TYPES.OTHER]: {\n nodeDataArray: [\n {\n key: 90,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Inflow',\n value: '0 kl',\n color: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n group: 100,\n loc: '0 140.5',\n },\n {\n key: 91,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Outflow',\n value: '0 kl',\n color: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n group: 100,\n loc: '300 134.5',\n },\n {\n key: 92,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Loss',\n value: 'M',\n color: AtoGojsEditorModel.ENUM_COLORS.BLUE,\n group: 100,\n colorValue: AtoGojsEditorModel.ENUM_COLORS.GRAY,\n loc: '160.5 0',\n },\n {\n key: 99,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.SPECIAL_OTHER,\n group: 100,\n loc: '92.5 95',\n },\n { key: 100, type: AtoGojsEditorModel.ENUM_TEMPLATES.OTHER, isGroup: true, name: 'Group' },\n ],\n linkDataArray: [\n { from: 90, to: 99, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n { from: 99, to: 91, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n { from: 99, to: 92, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n ],\n },\n [AtoGojsEditorModel.ENUM_TYPES.LANDSCAPING_IRRIGATION]: {\n nodeDataArray: [\n {\n key: 90,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Inflow',\n value: '0 kl',\n color: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n group: 100,\n loc: '0 140.5',\n },\n {\n key: 91,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Loss',\n value: 'M',\n color: AtoGojsEditorModel.ENUM_COLORS.BLUE,\n group: 100,\n colorValue: AtoGojsEditorModel.ENUM_COLORS.GRAY,\n loc: '300 140.5',\n },\n {\n key: 99,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.SPECIAL_DISCHARGE,\n group: 100,\n loc: '92.5 95',\n },\n { key: 100, type: AtoGojsEditorModel.ENUM_TEMPLATES.LANDSCAPING_IRRIGATION, isGroup: true, name: 'Group' },\n ],\n linkDataArray: [\n { from: 90, to: 99, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n { from: 99, to: 91, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n ],\n },\n};\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\n\n@Component({\n selector: 'ato-asset-params-view',\n templateUrl: './asset-params-view.component.html',\n styleUrls: ['./asset-params-view.component.scss']\n})\nexport class AtoAssetParamsViewComponent {\n @Input() isEditView = false;\n @Input() data: any[] = [];\n @Output() clickParamTableRow = new EventEmitter();\n\n onClickRowParam(itemTable) {\n this.clickParamTableRow.emit(itemTable);\n }\n}\n","<div class=\"d-flex flex-column flex-gap-2\">\n <div class=\"\" *ngFor=\"let tableParam of data\">\n <ng-template\n [ngTemplateOutlet]=\"tableParamTemplate\"\n [ngTemplateOutletContext]=\"{\n data: tableParam\n }\"\n ></ng-template>\n </div>\n</div>\n\n<ng-template #tableParamTemplate let-data=\"data\">\n <div\n class=\"d-flex flex-column asset-param-item w-100\"\n [style.backgroundColor]=\"data?.color\"\n >\n <div\n class=\"d-flex align-items-center justify-content-between py-1 pl-1 pr-2 cursor-pointer\"\n (click)=\"data.isCollapsed = !data.isCollapsed\"\n >\n <div class=\"font-size-14px flex-grow-1 text-truncate color-white\">\n {{ data?.title }}\n </div>\n <svg\n *ngIf=\"data.isCollapsed\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 320 512\"\n fill=\"#FFFF\"\n class=\"fa-solid font-size-14px color-white svg-15px\"\n >\n <path\n d=\"M278.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-160 160c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L210.7 256 73.4 118.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l160 160z\"\n />\n </svg>\n <svg\n *ngIf=\"!data.isCollapsed\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 448 512\"\n fill=\"#FFFF\"\n class=\"fa-solid font-size-14px color-white svg-15px\"\n >\n <path\n d=\"M201.4 374.6c12.5 12.5 32.8 12.5 45.3 0l160-160c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L224 306.7 86.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l160 160z\"\n />\n </svg>\n </div>\n <div class=\"px-1 pb-1\" *ngIf=\"!data.isCollapsed\">\n <div\n class=\"table-asset-param-wrapper\"\n [style.backgroundColor]=\"data?.bgColor\"\n >\n <table>\n <tbody>\n <tr\n *ngFor=\"let itemTable of data?.dataTable\"\n (click)=\"onClickRowParam(itemTable)\"\n class=\"cursor-pointer\"\n >\n <td\n class=\"font-size-13px\"\n [style.borderColor]=\"data?.borderTable\"\n >\n {{ itemTable?.name }}\n </td>\n <td\n class=\"font-size-13px\"\n [style.borderColor]=\"data?.borderTable\"\n >\n <div class=\"d-flex align-items-center\">\n <div\n class=\"mr-auto font-size-13px text-truncate flex-grow-1\"\n [style.color]=\"itemTable?.color\"\n >\n {{ itemTable?.value }}\n </div>\n <svg *ngIf=\"isEditView\" class=\"svg-15px\" fill=\"#333333\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><path d=\"M441 58.9L453.1 71c9.4 9.4 9.4 24.6 0 33.9L424 134.1 377.9 88 407 58.9c9.4-9.4 24.6-9.4 33.9 0zM209.8 256.2L344 121.9 390.1 168 255.8 302.2c-2.9 2.9-6.5 5-10.4 6.1l-58.5 16.7 16.7-58.5c1.1-3.9 3.2-7.5 6.1-10.4zM373.1 25L175.8 222.2c-8.7 8.7-15 19.4-18.3 31.1l-28.6 100c-2.4 8.4-.1 17.4 6.1 23.6s15.2 8.5 23.6 6.1l100-28.6c11.8-3.4 22.5-9.7 31.1-18.3L487 138.9c28.1-28.1 28.1-73.7 0-101.8L474.9 25C446.8-3.1 401.2-3.1 373.1 25zM88 64C39.4 64 0 103.4 0 152V424c0 48.6 39.4 88 88 88H360c48.6 0 88-39.4 88-88V312c0-13.3-10.7-24-24-24s-24 10.7-24 24V424c0 22.1-17.9 40-40 40H88c-22.1 0-40-17.9-40-40V152c0-22.1 17.9-40 40-40H200c13.3 0 24-10.7 24-24s-10.7-24-24-24H88z\"/></svg>\n </div>\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n </div>\n </div>\n</ng-template>\n","import {\n Component,\n EventEmitter,\n HostListener,\n Input,\n OnInit,\n Output,\n ViewChild,\n} from '@angular/core';\nimport * as go from 'gojs';\nimport _ from 'lodash';\nimport { AtoGoJSBase64 } from '../../constants/base64.const';\nimport {\n ATO_ASSET_LAYERS,\n ATO_COMPONENTS_GROUP_DATA,\n} from '../../constants/components-group-const';\nimport { AtoDefaultFlowData } from '../../models/ato-asset-flow.model';\nimport { AtoGoJSData } from '../../models/gojs-data.model';\nimport { AtoGojsEditorModel } from '../../models/gojs-editor.model';\nimport { AtoAssetParamsViewComponent } from '../asset-params-view/asset-params-view.component';\nimport { AtoFlowDiagramLibComponent } from '../flow-diagram-lib/flow-diagram-lib.component';\n\n@Component({\n selector: 'ato-asset-flow',\n templateUrl: './asset-flow.component.html',\n styleUrls: ['./asset-flow.component.scss'],\n})\nexport class AssetFlowComponent implements OnInit {\n @Input() assetLayer: ATO_ASSET_LAYERS;\n @ViewChild(AtoFlowDiagramLibComponent)\n gjFlowDiagramTemp: AtoFlowDiagramLibComponent;\n @ViewChild(AtoAssetParamsViewComponent)\n assetParamsViewTemp: AtoAssetParamsViewComponent;\n @Input() selectedComponent: any;\n @Input() systemType: AtoGojsEditorModel.ENUM_TYPES;\n @Output() onClickParamOfTableEvent: EventEmitter<any> =\n new EventEmitter<any>();\n @Input() isUseBase64 = false;\n $ = go.GraphObject.make;\n options = {\n layout: this.$(go.LayeredDigraphLayout, {\n // direction: 0,\n }),\n // isReadOnly: true,\n };\n\n private _flowData: any;\n @Input() set flowData(v: AtoGoJSData) {\n this._flowData = v;\n this.updateDataTableAssetParams({ ...v, assetLayer: this.assetLayer });\n }\n get flowData(): AtoGoJSData {\n return this._flowData;\n }\n\n // Reponsive\n dataTableAssetParams: any[];\n // @Input() isResponsiveView = false;\n get isResponsiveView() {\n return window.innerWidth < 1024;\n }\n @Input() getFlowDataCallBack: Function;\n\n timeoutResizeWindow;\n @HostListener('window:resize', ['$event'])\n onResize(event: Event): void {\n // Now only Support Cooling Tower Responsive\n if (this.timeoutResizeWindow) {\n clearTimeout(this.timeoutResizeWindow);\n }\n this.timeoutResizeWindow = setTimeout(() => {\n this.updateLocationReponsive();\n }, 1000);\n }\n\n updateLocationReponsive() {\n if (!this.flowData?.nodeDataArray) {\n this.flowData = AssetFlowComponent.getDefaultFlowData({\n systemType: this.systemType,\n isUseBase64: this.isUseBase64,\n assetLayer: this.assetLayer,\n });\n }\n _.forEach(this.flowData?.nodeDataArray, (node: any) => {\n node = _.merge(\n node,\n node[`extendedData${this.isResponsiveView ? 'Responsive' : ''}`]\n );\n });\n this.setFlowData(_.cloneDeep(this.flowData));\n }\n\n ngOnInit() {\n this.updateLocationReponsive();\n }\n onClickParamOfTable($event: any) {\n this.onClickParamOfTableEvent.emit($event);\n }\n\n static getDefaultFlowData(defaultData: AtoDefaultFlowData) {\n const flowData = {\n ...defaultData,\n ..._.cloneDeep(ATO_COMPONENTS_GROUP_DATA)[defaultData?.systemType],\n linkFromPortIdProperty: 'fromPort',\n linkToPortIdProperty: 'toPort',\n };\n const isResponsiveView = window.innerWidth < 1024;\n // Reponsive\n _.forEach(flowData?.nodeDataArray, (node: any) => {\n node = _.merge(\n node,\n node[`extendedData${isResponsiveView ? 'Responsive' : ''}`]\n );\n if (node?.assetLayers) {\n node.visible =\n node?.assetLayers === defaultData?.assetLayer &&\n node[`extendedData${isResponsiveView ? 'Responsive' : ''}`]?.visible;\n }\n });\n // assetLayer\n // flowData.nodeDataArray = _.filter(flowData.nodeDataArray, x => !x?.assetLayers || (x?.assetLayers && x?.assetLayers === (defaultData?.assetLayer ?? ATO_ASSET_LAYERS.FLOW)))\n if (defaultData?.isUseBase64) {\n const itemImageTemp = (flowData as AtoGoJSData)?.nodeDataArray?.find(\n (x) => x?.type === 'Image Template'\n );\n if (itemImageTemp) {\n itemImageTemp.source = AtoGoJSBase64[defaultData?.systemType];\n }\n }\n return flowData;\n }\n\n setFlowData(data: AtoGoJSData) {\n _.forEach(data.nodeDataArray, (node) => {\n node = _.merge(\n node,\n node[`extendedData${this.isResponsiveView ? 'Responsive' : ''}`],\n );\n if (node?.assetLayers) {\n node.visible =\n node?.assetLayers === data.assetLayer &&\n node[`extendedData${this.isResponsiveView ? 'Responsive' : ''}`]\n ?.visible;\n }\n });\n this.flowData = {\n ...data,\n };\n this.updateDataTableAssetParams(data);\n }\n\n updateDataTableAssetParams(data: AtoGoJSData) {\n this.dataTableAssetParams = _.forEach(\n this.flowData?.nodeDataArray?.filter(\n (e) =>\n e?.type === AtoGojsEditorModel.ENUM_TEMPLATES.PARAM_TABLE &&\n (data?.assetLayer ? (e?.assetLayers === data?.assetLayer) : true)\n ),\n (x) => {\n if (!data?.isRefresh) {\n x.isCollapsed = this.assetParamsViewTemp?.data?.find(\n (y) => y?.key === x?.key\n )?.isCollapsed;\n }\n }\n );\n }\n}\n","<div class=\"h-100 d-flex flex-column flex-gap-3 flex-grow-1 overflow-auto px-3 pb-3\">\n <div class=\"h-100 d-flex flex-column\" atoLoading [appLoading]=\"flowData === null\">\n <ato-flow-diagram-lib\n *ngIf=\"flowData !== null\"\n #gjFlowDiagramTemp\n [data]=\"flowData\"\n [initialOptions]=\"options\"\n (onClikParamOfTable)=\"onClickParamOfTable($event)\"\n [class]=\"!!isResponsiveView ? 'diagram-responsive-view' : 'flex-grow-1'\"\n ></ato-flow-diagram-lib>\n <div class=\"mt-2\" *ngIf=\"isResponsiveView\">\n <ato-asset-params-view\n #assetParamsViewTemp\n [data]=\"dataTableAssetParams\"\n [isEditView]=\"true\"\n (clickParamTableRow)=\"onClickParamOfTable($event)\"\n ></ato-asset-params-view>\n </div>\n </div>\n</div>\n\n","import { Directive, Input, TemplateRef, ViewContainerRef } from '@angular/core';\n\n@Directive({\n selector: '[ngAtoVar]',\n})\nexport class AtoNgVarDirective {\n @Input()\n set ngAtoVar(context: unknown) {\n this.context.$implicit = this.context.ngAtoVar = context;\n\n if (!this.hasView) {\n this.vcRef.createEmbeddedView(this.templateRef, this.context);\n this.hasView = true;\n }\n }\n\n private context: {\n $implicit: unknown;\n ngAtoVar: unknown;\n } = {\n $implicit: null,\n ngAtoVar: null,\n };\n\n private hasView: boolean = false;\n\n constructor(private templateRef: TemplateRef<any>, private vcRef: ViewContainerRef) {}\n}","import { NgModule } from '@angular/core';\nimport { AtoWaterLibComponent } from './ato-water-lib.component';\nimport { AtoFlowDiagramLibComponent } from './components/flow-diagram-lib/flow-diagram-lib.component';\nimport { AssetFlowComponent } from './components/asset-flow/asset-flow.component';\nimport { CommonModule } from '@angular/common';\nimport { AtoLoadingDirective } from './directive/ato-loading.directive';\nimport { AtoAssetParamsViewComponent } from './components/asset-params-view/asset-params-view.component';\nimport { AtoNgVarDirective } from './directive/ng-var.directive';\n\n@NgModule({\n declarations: [\n AtoWaterLibComponent,\n AtoFlowDiagramLibComponent,\n AssetFlowComponent,\n AtoLoadingDirective,\n AtoAssetParamsViewComponent,\n AtoNgVarDirective,\n ],\n imports: [\n CommonModule,\n ],\n exports: [\n AtoWaterLibComponent,\n AtoFlowDiagramLibComponent,\n AssetFlowComponent,\n AtoLoadingDirective,\n AtoAssetParamsViewComponent,\n AtoNgVarDirective,\n ]\n})\nexport class AtoWaterLibModule { }\n","/*\n * Public API Surface of ato-water-lib\n */\n\nexport * from './lib/ato-water-lib.service';\nexport * from './lib/ato-water-lib.component';\nexport * from './lib/ato-water-lib.module';\n// Component\nexport * from './lib/components/flow-diagram-lib/flow-diagram-lib.component';\nexport * from './lib/components/asset-flow/asset-flow.component';\nexport * from './lib/components/asset-params-view/asset-params-view.component';\n// Directive\nexport * from './lib/directive/ato-loading.directive';\nexport * from './lib/directive/ng-var.directive';\n// Enum\nexport * from './lib/constants/components-group-const';\n// Model\nexport * from './lib/models/gojs-editor.model';\n\n\n\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["uuidV4","i2.AtoLoadingDirective","i2.AtoFlowDiagramLibComponent","i3.AtoLoadingDirective","i4.AtoAssetParamsViewComponent"],"mappings":"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CA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AA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A,CAAA,IAAA,CAAA,GAAA,IAAS,CAAA;;AAET,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;;AAIX,IAAA,gBAAA,CAAA,GAAA,CAAA,GAAA,GAAO,CAAA;AACP,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACb,IAAA,gBAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACjB,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACb,IAAA,gBAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACb,IAAA,gBAAA,CAAA,mBAAA,CAAA,GAAA,SAAwB,CAAA;AACxB,IAAA,gBAAA,CAAA,mBAAA,CAAA,GAAA,SAAwB,CAAA;AACxB,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,IAAA,CAAA,GAAA,IAAS,CAAA;;AAGT,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,aAAA,CAAA,GAAA,UAAmB,CAAA;AACvB,CAAC,EAtJW,gBAAgB,KAAhB,gBAAgB,GAsJ3B,EAAA,CAAA,CAAA,CAAA;AAED,IAAY,eAUX,CAAA;AAVD,CAAA,UAAY,eAAe,EAAA;AACvB,IAAA,eAAA,CAAA,GAAA,CAAA,GAAA,GAAO,CAAA;AACP,IAAA,eAAA,CAAA,IAAA,CAAA,GAAA,IAAS,CAAA;AACT,IAAA,eAAA,CAAA,IAAA,CAAA,GAAA,IAAS,CAAA;;AAET,IAAA,eAAA,CAAA,GAAA,CAAA,GAAA,GAAO,CAAA;AACP,IAAA,eAAA,CAAA,IAAA,CAAA,GAAA,IAAS,CAAA;AACT,IAAA,eAAA,CAAA,GAAA,CAAA,GAAA,GAAO,CAAA;;AAEP,IAAA,eAAA,CAAA,GAAA,CAAA,GAAA,GAAO,CAAA;AACX,CAAC,EAVW,eAAe,KAAf,eAAe,GAU1B,EAAA,CAAA,CAAA,CAAA;AAED,IAAY,cAIX,CAAA;AAJD,CAAA,UAAY,cAAc,EAAA;IACtB,cAAA,CAAA,cAAA,CAAA,UAAA,CAAA,GAAA,IAAA,CAAA,GAAA,UAAe,CAAA;IACf,cAAA,CAAA,cAAA,CAAA,SAAA,CAAA,GAAA,OAAA,CAAA,GAAA,SAAiB,CAAA;IACjB,cAAA,CAAA,cAAA,CAAA,SAAA,CAAA,GAAA,UAAA,CAAA,GAAA,SAAoB,CAAA;AACxB,CAAC,EAJW,cAAc,KAAd,cAAc,GAIzB,EAAA,CAAA,CAAA,CAAA;AAED,MAAM,iBAAiB,GAAG;AACtB,IAAA,CAAC,cAAc,CAAC,QAAQ,GAAG,eAAe,CAAC,CAAC;AAC5C,IAAA,CAAC,cAAc,CAAC,OAAO,GAAG,eAAe,CAAC,EAAE;AAC5C,IAAA,CAAC,cAAc,CAAC,OAAO,GAAG,eAAe,CAAC,EAAE;CAC/C,CAAC;AAEK,MAAM,mBAAmB,GAE5B;AACA,IAAA,CAAC,gBAAgB,CAAC,EAAE,GAAG;AACnB,QAAA,CAAC,cAAc,CAAC,QAAQ,GAAG,eAAe,CAAC,CAAC;AAC5C,QAAA,CAAC,cAAc,CAAC,OAAO,GAAG,eAAe,CAAC,EAAE;AAC5C,QAAA,CAAC,cAAc,CAAC,OAAO,GAAG,eAAe,CAAC,EAAE;AAC/C,KAAA;AACD,IAAA,CAAC,gBAAgB,CAAC,CAAC,GAAG;AAClB,QAAA,CAAC,cAAc,CAAC,QAAQ,GAAG,eAAe,CAAC,CAAC;AAC5C,QAAA,CAAC,cAAc,CAAC,OAAO,GAAG,eAAe,CAAC,EAAE;AAC5C,QAAA,CAAC,cAAc,CAAC,OAAO,GAAG,eAAe,CAAC,EAAE;AAC/C,KAAA;AACD,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG;AACpB,QAAA,CAAC,cAAc,CAAC,QAAQ,GAAG,eAAe,CAAC,CAAC;AAC5C,QAAA,CAAC,cAAc,CAAC,OAAO,GAAG,eAAe,CAAC,EAAE;AAC5C,QAAA,CAAC,cAAc,CAAC,OAAO,GAAG,eAAe,CAAC,EAAE;AAC/C,KAAA;AACD,IAAA,CAAC,gBAAgB,CAAC,IAAI,GAAG;AACrB,QAAA,CAAC,cAAc,CAAC,QAAQ,GAAG,eAAe,CAAC,CAAC;AAC5C,QAAA,CAAC,cAAc,CAAC,OAAO,GAAG,eAAe,CAAC,EAAE;AAC5C,QAAA,CAAC,cAAc,CAAC,OAAO,GAAG,eAAe,CAAC,EAAE;AAC/C,KAAA;AACD,IAAA,CAAC,gBAAgB,CAAC,EAAE,GAAG;AACnB,QAAA,CAAC,cAAc,CAAC,QAAQ,GAAG,eAAe,CAAC,CAAC;AAC5C,QAAA,CAAC,cAAc,CAAC,OAAO,GAAG,eAAe,CAAC,EAAE;AAC5C,QAAA,CAAC,cAAc,CAAC,OAAO,GAAG,eAAe,CAAC,CAAC;AAC9C,KAAA;AACD,IAAA,CAAC,gBAAgB,CAAC,UAAU,GAAG;AAC3B,QAAA,CAAC,cAAc,CAAC,QAAQ,GAAG,eAAe,CAAC,CAAC;AAC5C,QAAA,CAAC,cAAc,CAAC,OAAO,GAAG,eAAe,CAAC,EAAE;AAC5C,QAAA,CAAC,cAAc,CAAC,OAAO,GAAG,eAAe,CAAC,CAAC;AAC9C,KAAA;AAED,IAAA,CAAC,gBAAgB,CAAC,OAAO,GAAG;AACxB,QAAA,CAAC,cAAc,CAAC,QAAQ,GAAG,eAAe,CAAC,CAAC;AAC5C,QAAA,CAAC,cAAc,CAAC,OAAO,GAAG,eAAe,CAAC,EAAE;AAC5C,QAAA,CAAC,cAAc,CAAC,OAAO,GAAG,eAAe,CAAC,CAAC;AAC9C,KAAA;AACD,IAAA,CAAC,gBAAgB,CAAC,eAAe,GAAG;AAChC,QAAA,CAAC,cAAc,CAAC,QAAQ,GAAG,eAAe,CAAC,CAAC;AAC5C,QAAA,CAAC,cAAc,CAAC,OAAO,GAAG,eAAe,CAAC,EAAE;AAC5C,QAAA,CAAC,cAAc,CAAC,OAAO,GAAG,eAAe,CAAC,CAAC;AAC9C,KAAA;AAED,IAAA,CAAC,gBAAgB,CAAC,EAAE,GAAG;AACnB,QAAA,CAAC,cAAc,CAAC,QAAQ,GAAG,eAAe,CAAC,CAAC;AAC5C,QAAA,CAAC,cAAc,CAAC,OAAO,GAAG,eAAe,CAAC,CAAC;AAC3C,QAAA,CAAC,cAAc,CAAC,OAAO,GAAG,eAAe,CAAC,CAAC;AAC9C,KAAA;AACD,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG;AACpB,QAAA,CAAC,cAAc,CAAC,QAAQ,GAAG,eAAe,CAAC,CAAC;AAC5C,QAAA,CAAC,cAAc,CAAC,OAAO,GAAG,eAAe,CAAC,CAAC;AAC3C,QAAA,CAAC,cAAc,CAAC,OAAO,GAAG,eAAe,CAAC,CAAC;AAC9C,KAAA;AACD,IAAA,CAAC,gBAAgB,CAAC,EAAE,GAAG;AACnB,QAAA,CAAC,cAAc,CAAC,QAAQ,GAAG,eAAe,CAAC,CAAC;AAC5C,QAAA,CAAC,cAAc,CAAC,OAAO,GAAG,eAAe,CAAC,EAAE;AAC5C,QAAA,CAAC,cAAc,CAAC,OAAO,GAAG,eAAe,CAAC,CAAC;AAC9C,KAAA;AACD,IAAA,CAAC,gBAAgB,CAAC,EAAE,GAAG;AACnB,QAAA,CAAC,cAAc,CAAC,QAAQ,GAAG,eAAe,CAAC,CAAC;AAC5C,QAAA,CAAC,cAAc,CAAC,OAAO,GAAG,eAAe,CAAC,EAAE;AAC5C,QAAA,CAAC,cAAc,CAAC,OAAO,GAAG,eAAe,CAAC,EAAE;AAC/C,KAAA;AAED,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG;AACpB,QAAA,CAAC,cAAc,CAAC,QAAQ,GAAG,eAAe,CAAC,CAAC;AAC5C,QAAA,CAAC,cAAc,CAAC,OAAO,GAAG,eAAe,CAAC,EAAE;AAC5C,QAAA,CAAC,cAAc,CAAC,OAAO,GAAG,eAAe,CAAC,CAAC;AAC9C,KAAA;AACD,IAAA,CAAC,gBAAgB,CAAC,QAAQ,GAAG;AACzB,QAAA,CAAC,cAAc,CAAC,QAAQ,GAAG,eAAe,CAAC,CAAC;AAC5C,QAAA,CAAC,cAAc,CAAC,OAAO,GAAG,eAAe,CAAC,EAAE;AAC5C,QAAA,CAAC,cAAc,CAAC,OAAO,GAAG,eAAe,CAAC,CAAC;AAC9C,KAAA;AACD,IAAA,CAAC,gBAAgB,CAAC,MAAM,GAAG,EAAE;AAC7B,IAAA,CAAC,gBAAgB,CAAC,CAAC,GAAG;AAClB,QAAA,CAAC,cAAc,CAAC,QAAQ,GAAG,eAAe,CAAC,CAAC;AAC5C,QAAA,CAAC,cAAc,CAAC,OAAO,GAAG,eAAe,CAAC,CAAC;AAC3C,QAAA,CAAC,cAAc,CAAC,OAAO,GAAG,eAAe,CAAC,CAAC;AAC9C,KAAA;AACD,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG;AACpB,QAAA,CAAC,cAAc,CAAC,QAAQ,GAAG,eAAe,CAAC,CAAC;AAC5C,QAAA,CAAC,cAAc,CAAC,OAAO,GAAG,eAAe,CAAC,EAAE;AAC5C,QAAA,CAAC,cAAc,CAAC,OAAO,GAAG,eAAe,CAAC,EAAE;AAC/C,KAAA;AACD,IAAA,CAAC,gBAAgB,CAAC,EAAE,GAAG;AACnB,QAAA,CAAC,cAAc,CAAC,QAAQ,GAAG,eAAe,CAAC,CAAC;AAC5C,QAAA,CAAC,cAAc,CAAC,OAAO,GAAG,eAAe,CAAC,CAAC;AAC3C,QAAA,CAAC,cAAc,CAAC,OAAO,GAAG,eAAe,CAAC,CAAC;AAC9C,KAAA;;AAGD,IAAA,CAAC,gBAAgB,CAAC,CAAC,GAAG;AAClB,QAAA,CAAC,cAAc,CAAC,QAAQ,GAAG,eAAe,CAAC,CAAC;AAC5C,QAAA,CAAC,cAAc,CAAC,OAAO,GAAG,eAAe,CAAC,EAAE;AAC5C,QAAA,CAAC,cAAc,CAAC,OAAO,GAAG,eAAe,CAAC,EAAE;AAC/C,KAAA;AACD,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG;AACpB,QAAA,CAAC,cAAc,CAAC,QAAQ,GAAG,eAAe,CAAC,CAAC;AAC5C,QAAA,CAAC,cAAc,CAAC,OAAO,GAAG,eAAe,CAAC,EAAE;AAC5C,QAAA,CAAC,cAAc,CAAC,OAAO,GAAG,eAAe,CAAC,EAAE;AAC/C,KAAA;AACD,IAAA,CAAC,gBAAgB,CAAC,IAAI,GAAG;AACrB,QAAA,CAAC,cAAc,CAAC,QAAQ,GAAG,eAAe,CAAC,CAAC;AAC5C,QAAA,CAAC,cAAc,CAAC,OAAO,GAAG,eAAe,CAAC,EAAE;AAC5C,QAAA,CAAC,cAAc,CAAC,OAAO,GAAG,eAAe,CAAC,EAAE;AAC/C,KAAA;AACD,IAAA,CAAC,gBAAgB,CAAC,MAAM,GAAG;AACvB,QAAA,CAAC,cAAc,CAAC,QAAQ,GAAG,eAAe,CAAC,CAAC;AAC5C,QAAA,CAAC,cAAc,CAAC,OAAO,GAAG,eAAe,CAAC,EAAE;AAC5C,QAAA,CAAC,cAAc,CAAC,OAAO,GAAG,eAAe,CAAC,EAAE;AAC/C,KAAA;AACD,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG;AACpB,QAAA,CAAC,cAAc,CAAC,QAAQ,GAAG,eAAe,CAAC,CAAC;AAC5C,QAAA,CAAC,cAAc,CAAC,OAAO,GAAG,eAAe,CAAC,EAAE;AAC5C,QAAA,CAAC,cAAc,CAAC,OAAO,GAAG,eAAe,CAAC,EAAE;AAC/C,KAAA;AACD,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG;AACpB,QAAA,CAAC,cAAc,CAAC,QAAQ,GAAG,eAAe,CAAC,CAAC;AAC5C,QAAA,CAAC,cAAc,CAAC,OAAO,GAAG,eAAe,CAAC,EAAE;AAC5C,QAAA,CAAC,cAAc,CAAC,OAAO,GAAG,eAAe,CAAC,EAAE;AAC/C,KAAA;AACD,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG;AACpB,QAAA,CAAC,cAAc,CAAC,QAAQ,GAAG,eAAe,CAAC,CAAC;AAC5C,QAAA,CAAC,cAAc,CAAC,OAAO,GAAG,eAAe,CAAC,CAAC;AAC3C,QAAA,CAAC,cAAc,CAAC,OAAO,GAAG,eAAe,CAAC,CAAC;AAC9C,KAAA;AACD,IAAA,CAAC,gBAAgB,CAAC,IAAI,GAAG;AACrB,QAAA,CAAC,cAAc,CAAC,QAAQ,GAAG,eAAe,CAAC,CAAC;AAC5C,QAAA,CAAC,cAAc,CAAC,OAAO,GAAG,eAAe,CAAC,EAAE;AAC5C,QAAA,CAAC,cAAc,CAAC,OAAO,GAAG,eAAe,CAAC,EAAE;AAC/C,KAAA;AACD,IAAA,CAAC,gBAAgB,CAAC,IAAI,GAAG;AACrB,QAAA,CAAC,cAAc,CAAC,QAAQ,GAAG,eAAe,CAAC,CAAC;AAC5C,QAAA,CAAC,cAAc,CAAC,OAAO,GAAG,eAAe,CAAC,EAAE;AAC5C,QAAA,CAAC,cAAc,CAAC,OAAO,GAAG,eAAe,CAAC,EAAE;AAC/C,KAAA;AACD,IAAA,CAAC,gBAAgB,CAAC,iBAAiB,GAAG;AAClC,QAAA,CAAC,cAAc,CAAC,QAAQ,GAAG,eAAe,CAAC,CAAC;AAC5C,QAAA,CAAC,cAAc,CAAC,OAAO,GAAG,eAAe,CAAC,EAAE;AAC5C,QAAA,CAAC,cAAc,CAAC,OAAO,GAAG,eAAe,CAAC,EAAE;AAC/C,KAAA;AACD,IAAA,CAAC,gBAAgB,CAAC,iBAAiB,GAAG;AAClC,QAAA,CAAC,cAAc,CAAC,QAAQ,GAAG,eAAe,CAAC,CAAC;AAC5C,QAAA,CAAC,cAAc,CAAC,OAAO,GAAG,eAAe,CAAC,EAAE;AAC5C,QAAA,CAAC,cAAc,CAAC,OAAO,GAAG,eAAe,CAAC,EAAE;AAC/C,KAAA;AACD,IAAA,CAAC,gBAAgB,CAAC,EAAE,GAAG;AACnB,QAAA,CAAC,cAAc,CAAC,QAAQ,GAAG,eAAe,CAAC,CAAC;AAC5C,QAAA,CAAC,cAAc,CAAC,OAAO,GAAG,eAAe,CAAC,EAAE;AAC5C,QAAA,CAAC,cAAc,CAAC,OAAO,GAAG,eAAe,CAAC,EAAE;AAC/C,KAAA;AACD,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG;AACpB,QAAA,CAAC,cAAc,CAAC,QAAQ,GAAG,eAAe,CAAC,CAAC;AAC5C,QAAA,CAAC,cAAc,CAAC,OAAO,GAAG,eAAe,CAAC,EAAE;AAC5C,QAAA,CAAC,cAAc,CAAC,OAAO,GAAG,eAAe,CAAC,EAAE;AAC/C,KAAA;;AAGD,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAA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"}
|
1
|
+
{"version":3,"file":"ato-water-lib.mjs","sources":["../../../projects/ato-water-lib/src/lib/ato-water-lib.service.ts","../../../projects/ato-water-lib/src/lib/ato-water-lib.component.ts","../../../projects/ato-water-lib/src/lib/constants/value.const.ts","../../../projects/ato-water-lib/src/lib/models/gojs-editor.model.ts","../../../projects/ato-water-lib/src/lib/constants/key.const.ts","../../../projects/ato-water-lib/src/lib/constants/applicable-prefixes-const.ts","../../../projects/ato-water-lib/src/lib/services/utils/utils.service.ts","../../../projects/ato-water-lib/src/lib/constants/plant.constant.ts","../../../projects/ato-water-lib/src/lib/constants/icon-base64.const.ts","../../../projects/ato-water-lib/src/lib/models/default-gojs-editor.model.ts","../../../projects/ato-water-lib/src/lib/directive/ato-loading.directive.ts","../../../projects/ato-water-lib/src/lib/components/flow-diagram-lib/flow-diagram-lib.component.ts","../../../projects/ato-water-lib/src/lib/components/flow-diagram-lib/flow-diagram-lib.component.html","../../../projects/ato-water-lib/src/lib/constants/base64.const.ts","../../../projects/ato-water-lib/src/lib/constants/components-group-const.ts","../../../projects/ato-water-lib/src/lib/components/asset-params-view/asset-params-view.component.ts","../../../projects/ato-water-lib/src/lib/components/asset-params-view/asset-params-view.component.html","../../../projects/ato-water-lib/src/lib/components/asset-flow/asset-flow.component.ts","../../../projects/ato-water-lib/src/lib/components/asset-flow/asset-flow.component.html","../../../projects/ato-water-lib/src/lib/directive/ng-var.directive.ts","../../../projects/ato-water-lib/src/lib/ato-water-lib.module.ts","../../../projects/ato-water-lib/src/public-api.ts","../../../projects/ato-water-lib/src/ato-water-lib.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AtoWaterLibService {\n\n constructor() { }\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'lib-ato-water-lib',\n template: `\n <p>\n ato-water-lib works!\n </p>\n `,\n styles: [\n ]\n})\nexport class AtoWaterLibComponent {\n\n}\n","// import { AnalyticsService } from '@dashboards-shared/services/analytics.service';\n// import { E_Frequency } from './frequency.enum';\n// import { ENUM_RISK_COLOR } from './information.const';\n// import { ABBREVIATION } from './applicable-prefixes-const';\n\n// export const DEFAULT_NAMES_MAPPING: any = {\n// CMS: 'CMS',\n// ETP: 'ETP',\n// ZLD: 'ZLD',\n// RO: 'RO',\n// CMSLabWashing: 'CMS Lab Washing',\n// };\n\nexport const VALUE_NA = 'NA';\nexport const NO_DATA = 'No Data';\nexport const VALUE_NA_SPECIAL = 'N/A';\nexport const TEXT_UNKNOWN = '?';\nexport const TEXT_ERR = '!Err';\nexport const NO_ENOUGH_DATA = 'Not enough data';\n\n// For Element DOM\nexport const KEY_CREATE_DOM_TO_DOWNLOAD = 'newCreateToDownload';\nexport const NO_HIDDEN = 'noHidden';\n\nexport const GROUP_PLANT_CELL_KEY = 3000;\nexport const GROUP_PC_INPUTS_KEY = 1000;\nexport const GROUP_PC_OUTPUTS_KEY = 2000;\nexport const ENUM_ROLES = 'ROLES';\n\nexport enum E_FILTER_KEY {\n VIEW_MODE = 'viewMode',\n WATER_UNIT = 'waterUnit',\n ENERGY_UNIT = 'energyUnit',\n ELECTRICITY_UNIT = 'electricityUnit',\n NATURAL_GAS_UNIT = 'naturalGasUnit',\n FUEL_UNIT = 'fuelUnit',\n CURRENCY_UNIT = 'currencyUnit',\n}\n\nexport enum ATO_ECOMPONENT_PLANT_TYPE {\n WATER = 'water',\n ENERGY = 'energy',\n ELECTRICITY = 'electricity',\n NATURAL_GAS = 'gas',\n FUEL = 'fuel',\n STEAM = 'steam',\n EMISSION = 'emission',\n COST = 'cost',\n\n WATER_PLANT_CELL = 'water-plant-cell',\n ENERGY_PLANT_CELL = 'energy-plant-cell',\n ELECTRICITY_PLANT_CELL = 'electricity-plant-cell',\n NATURAL_GAS_PLANT_CELL = 'gas-plant-cell',\n FUEL_PLANT_CELL = 'fuel-plant-cell',\n STEAM_PLANT_CELL = 'steam-plant-cell',\n EMISSION_PLANT_CELL = 'emission-plant-cell',\n COST_PLANT_CELL = 'cost-plant-cell',\n}\n\nexport const COMPOTYPE_CALL_PLANT_TOPOLOGY_DETAILS: string[] = [\n ATO_ECOMPONENT_PLANT_TYPE.WATER,\n ATO_ECOMPONENT_PLANT_TYPE.WATER_PLANT_CELL,\n ATO_ECOMPONENT_PLANT_TYPE.ENERGY_PLANT_CELL,\n ATO_ECOMPONENT_PLANT_TYPE.ELECTRICITY_PLANT_CELL,\n ATO_ECOMPONENT_PLANT_TYPE.NATURAL_GAS_PLANT_CELL,\n ATO_ECOMPONENT_PLANT_TYPE.FUEL_PLANT_CELL,\n ATO_ECOMPONENT_PLANT_TYPE.STEAM_PLANT_CELL,\n ATO_ECOMPONENT_PLANT_TYPE.EMISSION_PLANT_CELL,\n ATO_ECOMPONENT_PLANT_TYPE.COST_PLANT_CELL,\n];\n\nexport const COMPONENT_TYPE_OF_PLANT_CELL: string[] = [\n ATO_ECOMPONENT_PLANT_TYPE.WATER_PLANT_CELL,\n ATO_ECOMPONENT_PLANT_TYPE.ENERGY_PLANT_CELL,\n ATO_ECOMPONENT_PLANT_TYPE.ELECTRICITY_PLANT_CELL,\n ATO_ECOMPONENT_PLANT_TYPE.NATURAL_GAS_PLANT_CELL,\n ATO_ECOMPONENT_PLANT_TYPE.FUEL_PLANT_CELL,\n ATO_ECOMPONENT_PLANT_TYPE.STEAM_PLANT_CELL,\n ATO_ECOMPONENT_PLANT_TYPE.EMISSION_PLANT_CELL,\n ATO_ECOMPONENT_PLANT_TYPE.COST_PLANT_CELL,\n];\n\nexport const COMPONENT_TYPE_OF_PLANT_CELL_ENERGY: string[] = [\n ATO_ECOMPONENT_PLANT_TYPE.ENERGY_PLANT_CELL,\n ATO_ECOMPONENT_PLANT_TYPE.ELECTRICITY_PLANT_CELL,\n ATO_ECOMPONENT_PLANT_TYPE.NATURAL_GAS_PLANT_CELL,\n ATO_ECOMPONENT_PLANT_TYPE.FUEL_PLANT_CELL,\n ATO_ECOMPONENT_PLANT_TYPE.STEAM_PLANT_CELL,\n ATO_ECOMPONENT_PLANT_TYPE.EMISSION_PLANT_CELL,\n ATO_ECOMPONENT_PLANT_TYPE.COST_PLANT_CELL,\n];\n\n// export enum E_TOPOLOGY_TYPE {\n// OVER_VIEW = 'over-view',\n// PLANT_CELL = 'plant-cell',\n// }\n\nexport enum E_COMPONENT_DATA_TYPE {\n COMPONENT_WATER_FLOW = 'ComponentWaterFlow',\n COMPONENT_ENERGY_FLOW = 'ComponentEnergyFlow',\n}\n\nexport enum E_FLOW_RECORD {\n INFLOW_WATER_RECORD = 'InflowWaterRecord',\n OUTFLOW_WATER_RECORD = 'OutflowWaterRecord',\n INFLOW_ENERGY_RECORD = 'InflowEnergyRecord',\n OUTFLOW_ENERGY_RECORD = 'OutflowEnergyRecord',\n}\n\n// export enum TAB_DASHBOARD {\n// WATER = 'water',\n// WATER_LABEL = 'Water',\n// ENERGY_EMISSION = 'energy & emissions',\n// ENERGY_EMISSION_LABEL = 'Energy & Emissions',\n// }\n\n// export enum TAB_SETUP_COMPLIANCE {\n// PLANT_LEVEL = 'Plant level',\n// PROCESS_LEVEL = 'Process Level',\n// }\n\n// export enum PLANT_ENERGY_DIAGRAM_TABS_INDEX {\n// ENERGY = 0,\n// ELECTRICITY = 1,\n// NATURAL_GAS = 2,\n// FUEL = 3,\n// EMISSIONS = 4\n// }\n\nexport enum TAG_TYPE {\n WATER = 'Water',\n ELECTRICITY = 'Electricity',\n NATURAL_GAS = 'Natural Gas',\n FUEL = 'Fuel',\n STEAM = 'Steam',\n ENERGY = 'Energy',\n EMISSION = 'Emission',\n COST = 'Cost',\n WATER_ANALYTIC = 'Water Analytic',\n}\n\n// export enum TAB_WS_ENERGY_EMISSION {\n// TABLE = 'table',\n// DIAGRAM = 'diagram',\n// }\n\nexport const PLANT_ENERGY_DIAGRAM_TABS: {\n [key in ATO_ECOMPONENT_PLANT_TYPE]: any;\n} = {\n [ATO_ECOMPONENT_PLANT_TYPE.WATER]: {\n keyUnitFromList: 'Water',\n keyUnit: 'waterUnit',\n keyFlowTopology: 'Water',\n keyTab: 'Water',\n indexTab: -1,\n keyComponent: 'waterComponents',\n keyRoute: 'Water',\n subSystemId: 'subWaterSystemId',\n nameTab: 'Water',\n loc: 'locWater',\n keyToUpdateModel: 'waterData',\n topologyType: 'PlantTopology',\n type: 'water',\n componentFlow: E_COMPONENT_DATA_TYPE.COMPONENT_WATER_FLOW,\n topologyViewType: ATO_ECOMPONENT_PLANT_TYPE.WATER,\n iconClassName: 'fa-regular fa-tank-water font-size-16px',\n tagType: TAG_TYPE.WATER,\n inflowRecord: E_FLOW_RECORD.INFLOW_WATER_RECORD,\n outflowRecord: E_FLOW_RECORD.OUTFLOW_WATER_RECORD,\n keyGroupMenu: 'Water',\n },\n [ATO_ECOMPONENT_PLANT_TYPE.ENERGY]: {\n keyUnitFromList: 'Energy',\n keyUnit: 'energyUnit',\n keyFlowTopology: 'Energy',\n keyTab: 'Energy',\n indexTab: 4,\n keyComponent: '',\n keyRoute: 'energy',\n nameTab: 'Energy',\n loc: 'locEnergy',\n keyToUpdateModel: '',\n type: 'water',\n componentFlow: E_COMPONENT_DATA_TYPE.COMPONENT_ENERGY_FLOW,\n topologyViewType: ATO_ECOMPONENT_PLANT_TYPE.ENERGY,\n tagType: TAG_TYPE.ENERGY,\n inflowRecord: E_FLOW_RECORD.INFLOW_ENERGY_RECORD,\n outflowRecord: E_FLOW_RECORD.OUTFLOW_ENERGY_RECORD,\n },\n [ATO_ECOMPONENT_PLANT_TYPE.ELECTRICITY]: {\n keyUnitFromList: 'Electricity',\n keyUnit: 'electricityUnit',\n keyFlowTopology: 'Electricity',\n keyTab: 'Electricals',\n indexTab: 0,\n keyComponent: 'electricComponents',\n keyRoute: 'electricity',\n subSystemId: 'subElectricSystemId',\n nameTab: 'Electricity',\n loc: 'locElectricity',\n keyToUpdateModel: 'electricData',\n topologyType: 'Electricity',\n type: 'electricity',\n componentFlow: E_COMPONENT_DATA_TYPE.COMPONENT_ENERGY_FLOW,\n topologyViewType: ATO_ECOMPONENT_PLANT_TYPE.ELECTRICITY,\n iconClassName: 'fa-regular fa-bolt font-size-16px',\n tagType: TAG_TYPE.ELECTRICITY,\n inflowRecord: E_FLOW_RECORD.INFLOW_ENERGY_RECORD,\n outflowRecord: E_FLOW_RECORD.OUTFLOW_ENERGY_RECORD,\n keyGroupMenu: 'Electricity',\n },\n [ATO_ECOMPONENT_PLANT_TYPE.NATURAL_GAS]: {\n keyUnitFromList: 'Gas',\n keyUnit: 'naturalGasUnit',\n keyFlowTopology: 'NaturalGas',\n keyTab: 'NaturalGases',\n indexTab: 1,\n keyComponent: 'gasComponents',\n keyRoute: 'gas',\n subSystemId: 'subGasSystemId',\n nameTab: 'Natural Gas',\n loc: 'locGas',\n keyToUpdateModel: 'gasData',\n topologyType: 'NaturalGas',\n type: 'naturalgas',\n componentFlow: E_COMPONENT_DATA_TYPE.COMPONENT_ENERGY_FLOW,\n topologyViewType: ATO_ECOMPONENT_PLANT_TYPE.NATURAL_GAS,\n iconClassName: 'fa-regular fa-fire-flame-curved font-size-16px',\n tagType: TAG_TYPE.NATURAL_GAS,\n inflowRecord: E_FLOW_RECORD.INFLOW_ENERGY_RECORD,\n outflowRecord: E_FLOW_RECORD.OUTFLOW_ENERGY_RECORD,\n keyGroupMenu: 'NaturalGases',\n },\n [ATO_ECOMPONENT_PLANT_TYPE.FUEL]: {\n keyUnitFromList: 'Fuel',\n keyUnit: 'fuelUnit',\n keyFlowTopology: 'Fuel',\n keyTab: 'Fuels',\n indexTab: 2,\n keyComponent: 'fuelComponents',\n keyRoute: 'fuel',\n subSystemId: 'subFuelSystemId',\n nameTab: 'Fuel',\n loc: 'locFuel',\n keyToUpdateModel: 'fuelData',\n topologyType: 'Fuel',\n type: 'fuel',\n componentFlow: E_COMPONENT_DATA_TYPE.COMPONENT_ENERGY_FLOW,\n topologyViewType: ATO_ECOMPONENT_PLANT_TYPE.FUEL,\n iconClassName: 'fa-regular fa-gas-pump font-size-16px',\n tagType: TAG_TYPE.FUEL,\n inflowRecord: E_FLOW_RECORD.INFLOW_ENERGY_RECORD,\n outflowRecord: E_FLOW_RECORD.OUTFLOW_ENERGY_RECORD,\n keyGroupMenu: 'Fuels',\n },\n [ATO_ECOMPONENT_PLANT_TYPE.STEAM]: {\n keyUnitFromList: 'Steam',\n keyUnit: 'steamUnit',\n keyFlowTopology: 'Steam',\n keyTab: 'Steams',\n indexTab: 3,\n keyComponent: 'steamComponents',\n keyRoute: 'steam',\n subSystemId: 'subSteamSystemId',\n nameTab: 'Steam',\n loc: 'locSteam',\n keyToUpdateModel: 'steamData',\n topologyType: 'Steam',\n type: 'steam',\n componentFlow: E_COMPONENT_DATA_TYPE.COMPONENT_ENERGY_FLOW,\n topologyViewType: ATO_ECOMPONENT_PLANT_TYPE.STEAM,\n iconClassName: 'fa-regular fa-heat font-size-16px',\n tagType: TAG_TYPE.STEAM,\n inflowRecord: E_FLOW_RECORD.INFLOW_ENERGY_RECORD,\n outflowRecord: E_FLOW_RECORD.OUTFLOW_ENERGY_RECORD,\n keyGroupMenu: 'Steams',\n },\n [ATO_ECOMPONENT_PLANT_TYPE.EMISSION]: {\n keyUnitFromList: 'Emissions',\n keyUnit: 'Emissions',\n keyFlowTopology: 'Emissions',\n keyTab: 'Emissions',\n indexTab: 5,\n keyComponent: 'emissionComponents',\n keyRoute: 'emission',\n loc: 'locEmission',\n keyToUpdateModel: 'emissionData',\n topologyViewType: ATO_ECOMPONENT_PLANT_TYPE.EMISSION,\n tagType: TAG_TYPE.EMISSION,\n inflowRecord: E_FLOW_RECORD.INFLOW_ENERGY_RECORD,\n outflowRecord: E_FLOW_RECORD.OUTFLOW_ENERGY_RECORD,\n },\n [ATO_ECOMPONENT_PLANT_TYPE.COST]: {\n keyUnitFromList: 'Cost',\n keyUnit: 'Cost',\n keyFlowTopology: 'Cost',\n keyTab: 'Cost',\n indexTab: 4,\n keyComponent: 'costComponents',\n keyRoute: 'cost',\n loc: 'locCost',\n keyToUpdateModel: 'costData',\n type: 'cost',\n topologyViewType: ATO_ECOMPONENT_PLANT_TYPE.COST,\n tagType: TAG_TYPE.COST,\n inflowRecord: E_FLOW_RECORD.INFLOW_ENERGY_RECORD,\n outflowRecord: E_FLOW_RECORD.OUTFLOW_ENERGY_RECORD,\n },\n [ATO_ECOMPONENT_PLANT_TYPE.WATER_PLANT_CELL]: {\n keyUnitFromList: 'Water',\n keyUnit: 'waterUnit',\n keyFlowTopology: 'Water',\n keyTab: 'Water',\n indexTab: -1,\n keyComponent: 'waterComponents_PlantCell',\n keyRoute: 'Water',\n subSystemId: 'subWaterSystemId',\n loc: 'locWater',\n keyToUpdateModel: 'waterDataPlantCell',\n topologyType: 'PlantTopology',\n type: 'water',\n componentFlow: E_COMPONENT_DATA_TYPE.COMPONENT_WATER_FLOW,\n topologyViewType: ATO_ECOMPONENT_PLANT_TYPE.WATER,\n tagType: TAG_TYPE.WATER,\n inflowRecord: E_FLOW_RECORD.INFLOW_WATER_RECORD,\n outflowRecord: E_FLOW_RECORD.OUTFLOW_WATER_RECORD,\n },\n [ATO_ECOMPONENT_PLANT_TYPE.ENERGY_PLANT_CELL]: {\n keyUnitFromList: 'Energy',\n keyUnit: 'energyUnit',\n keyFlowTopology: 'Energy',\n keyTab: 'Energy',\n indexTab: 3,\n keyComponent: '',\n keyRoute: 'energy',\n loc: 'locEnergy',\n keyToUpdateModel: '',\n type: 'water',\n componentFlow: E_COMPONENT_DATA_TYPE.COMPONENT_WATER_FLOW,\n topologyViewType: ATO_ECOMPONENT_PLANT_TYPE.ENERGY,\n tagType: TAG_TYPE.ENERGY,\n inflowRecord: E_FLOW_RECORD.INFLOW_ENERGY_RECORD,\n outflowRecord: E_FLOW_RECORD.OUTFLOW_ENERGY_RECORD,\n },\n [ATO_ECOMPONENT_PLANT_TYPE.ELECTRICITY_PLANT_CELL]: {\n keyUnitFromList: 'Electricity',\n keyUnit: 'electricityUnit',\n keyFlowTopology: 'Electricity',\n keyTab: 'Electricals',\n indexTab: 0,\n keyComponent: 'electricComponents_PlantCell',\n keyRoute: 'electricity',\n subSystemId: 'subElectricSystemId',\n nameTab: 'Electricity',\n loc: 'locElectricity',\n keyToUpdateModel: 'electricDataPlantCell',\n topologyType: 'Electricity',\n type: 'electricity',\n componentFlow: E_COMPONENT_DATA_TYPE.COMPONENT_ENERGY_FLOW,\n topologyViewType: ATO_ECOMPONENT_PLANT_TYPE.ELECTRICITY,\n tagType: TAG_TYPE.ELECTRICITY,\n inflowRecord: E_FLOW_RECORD.INFLOW_ENERGY_RECORD,\n outflowRecord: E_FLOW_RECORD.OUTFLOW_ENERGY_RECORD,\n },\n [ATO_ECOMPONENT_PLANT_TYPE.NATURAL_GAS_PLANT_CELL]: {\n keyUnitFromList: 'Gas',\n keyUnit: 'naturalGasUnit',\n keyFlowTopology: 'NaturalGas',\n keyTab: 'NaturalGases',\n indexTab: 1,\n keyComponent: 'gasComponents_PlantCell',\n keyRoute: 'gas',\n subSystemId: 'subGasSystemId',\n nameTab: 'Natural Gas',\n loc: 'locGas',\n keyToUpdateModel: 'gasDataPlantCell',\n topologyType: 'NaturalGas',\n type: 'naturalgas',\n componentFlow: E_COMPONENT_DATA_TYPE.COMPONENT_ENERGY_FLOW,\n topologyViewType: ATO_ECOMPONENT_PLANT_TYPE.NATURAL_GAS,\n tagType: TAG_TYPE.NATURAL_GAS,\n inflowRecord: E_FLOW_RECORD.INFLOW_ENERGY_RECORD,\n outflowRecord: E_FLOW_RECORD.OUTFLOW_ENERGY_RECORD,\n },\n [ATO_ECOMPONENT_PLANT_TYPE.FUEL_PLANT_CELL]: {\n keyUnitFromList: 'Fuel',\n keyUnit: 'fuelUnit',\n keyFlowTopology: 'Fuel',\n keyTab: 'Fuels',\n indexTab: 2,\n keyComponent: 'fuelComponents_PlantCell',\n keyRoute: 'fuel',\n subSystemId: 'subFuelSystemId',\n nameTab: 'Fuel',\n loc: 'locFuel',\n keyToUpdateModel: 'fuelDataPlantCell',\n topologyType: 'Fuel',\n type: 'fuel',\n componentFlow: E_COMPONENT_DATA_TYPE.COMPONENT_ENERGY_FLOW,\n topologyViewType: ATO_ECOMPONENT_PLANT_TYPE.FUEL,\n tagType: TAG_TYPE.FUEL,\n inflowRecord: E_FLOW_RECORD.INFLOW_ENERGY_RECORD,\n outflowRecord: E_FLOW_RECORD.OUTFLOW_ENERGY_RECORD,\n },\n\n [ATO_ECOMPONENT_PLANT_TYPE.STEAM_PLANT_CELL]: {\n keyUnitFromList: 'Steam',\n keyUnit: 'steamUnit',\n keyFlowTopology: 'Steam',\n keyTab: 'Steams',\n indexTab: 2,\n keyComponent: 'steamComponents_PlantCell',\n keyRoute: 'steam',\n subSystemId: 'subSteamSystemId',\n nameTab: 'Steam',\n loc: 'locSteam',\n keyToUpdateModel: 'steamDataPlantCell',\n topologyType: 'Steam',\n type: 'steam',\n componentFlow: E_COMPONENT_DATA_TYPE.COMPONENT_ENERGY_FLOW,\n topologyViewType: ATO_ECOMPONENT_PLANT_TYPE.STEAM,\n tagType: TAG_TYPE.STEAM,\n inflowRecord: E_FLOW_RECORD.INFLOW_ENERGY_RECORD,\n outflowRecord: E_FLOW_RECORD.OUTFLOW_ENERGY_RECORD,\n },\n\n [ATO_ECOMPONENT_PLANT_TYPE.EMISSION_PLANT_CELL]: {\n keyUnitFromList: 'Emissions',\n keyUnit: 'Emissions',\n keyFlowTopology: 'Emissions',\n keyTab: 'Emissions',\n indexTab: 5,\n keyComponent: '',\n keyRoute: 'emission',\n loc: 'locEmission',\n keyToUpdateModel: '',\n topologyViewType: ATO_ECOMPONENT_PLANT_TYPE.EMISSION,\n tagType: TAG_TYPE.EMISSION,\n inflowRecord: E_FLOW_RECORD.INFLOW_ENERGY_RECORD,\n outflowRecord: E_FLOW_RECORD.OUTFLOW_ENERGY_RECORD,\n },\n [ATO_ECOMPONENT_PLANT_TYPE.COST_PLANT_CELL]: {\n keyUnitFromList: 'Cost',\n keyUnit: 'Cost',\n keyFlowTopology: 'Cost',\n keyTab: 'Cost',\n indexTab: 4,\n keyComponent: 'costComponents_PlantCell',\n keyRoute: 'cost',\n loc: 'locCost',\n keyToUpdateModel: 'costDataPlantCell',\n type: 'cost',\n topologyViewType: ATO_ECOMPONENT_PLANT_TYPE.COST,\n tagType: TAG_TYPE.COST,\n inflowRecord: E_FLOW_RECORD.INFLOW_ENERGY_RECORD,\n outflowRecord: E_FLOW_RECORD.OUTFLOW_ENERGY_RECORD,\n },\n\n // // Add water to plant type\n // [ATO_ECOMPONENT_PLANT_TYPE.WATER]: {\n // keyUnitFromList: 'Water',\n // keyUnit: 'Water',\n // keyFlowTopology: 'Water',\n // keyTab: 'Water',\n // indexTab: 5,\n // keyComponent: 'waterComponents',\n // keyRoute: 'water'\n // },\n};\n\n// export enum TARGET_E_TYPE {\n// TARGET = 'Target',\n// GOAL = 'Goal',\n// PROJECT = 'Project',\n// MILESTONE = 'Milestone',\n// }\n\n// const COLOR_STATUS = {\n// RED: {\n// hexColor: '#EC1B24',\n// classColor: 'color-alizarin',\n// },\n// YELLOW: {\n// hexColor: '#E09F25',\n// classColor: 'color-galliano-2',\n// },\n// GREEN: {\n// hexColor: '#199C69',\n// classColor: 'color-elf-green',\n// },\n// };\n\n// export const TARGET_STATUS_COLOR = {\n// [TARGET_E_TYPE.TARGET]: {\n// 0: COLOR_STATUS.YELLOW,\n// 1: COLOR_STATUS.YELLOW,\n// 2: COLOR_STATUS.YELLOW,\n// 3: COLOR_STATUS.GREEN,\n// 4: COLOR_STATUS.RED,\n// 5: COLOR_STATUS.RED,\n// 6: COLOR_STATUS.RED,\n// },\n// [TARGET_E_TYPE.GOAL]: {\n// 0: COLOR_STATUS.YELLOW,\n// 1: COLOR_STATUS.YELLOW,\n// 2: COLOR_STATUS.YELLOW,\n// 3: COLOR_STATUS.YELLOW,\n// 4: COLOR_STATUS.YELLOW,\n// 5: COLOR_STATUS.RED,\n// 6: COLOR_STATUS.RED,\n// 7: COLOR_STATUS.GREEN,\n// 10: COLOR_STATUS.RED,\n// },\n\n// [TARGET_E_TYPE.PROJECT]: {\n// 0: COLOR_STATUS.YELLOW,\n// 1: COLOR_STATUS.YELLOW,\n// 2: COLOR_STATUS.RED,\n// 3: COLOR_STATUS.GREEN,\n// 4: COLOR_STATUS.RED,\n// 5: COLOR_STATUS.RED,\n// 6: COLOR_STATUS.RED,\n// 10: COLOR_STATUS.RED,\n// },\n// [TARGET_E_TYPE.MILESTONE]: {\n// 0: COLOR_STATUS.YELLOW,\n// 1: COLOR_STATUS.YELLOW,\n// 2: COLOR_STATUS.YELLOW,\n// 3: COLOR_STATUS.RED,\n// 4: COLOR_STATUS.GREEN,\n// 5: COLOR_STATUS.RED,\n// 6: COLOR_STATUS.RED,\n// 10: COLOR_STATUS.RED,\n// },\n// };\n\n// export enum DATA_TYPES {\n// STRING = 'string',\n// NUMBER = 'number',\n// BOOLEAN = 'boolean',\n// DATE = 'Date',\n// VALUE_UNIT = 'valueUnit',\n// VALUE_CURRENCY = 'valueCost',\n// VALUE_CURRENCY_PER_UNIT = 'valueCurrencyPerUnit',\n// // VALUE_WATER = 'valueWater',\n// // VALUE_ELECTRICITY = 'valueElectricity',\n// // VALUE_NATURAL_GAS = 'valueNaturalGas',\n// // VALUE_FUEL = 'valueFuel',\n// // VALUE_CO2e_EMISSION = 'valueCO2eEmission',\n// // VALUE_ENERY = 'valueEnergy',\n// SPECIAL = 'special',\n// }\n\n// export enum E_DATE_PICKER_MODE {\n// DATE = 'date',\n// WEEK = 'week',\n// MONTH = 'month',\n// YEAR = 'year',\n// RAW = 'raw',\n// }\n\n// export const DATE_PICKER_MODE: {\n// [key in string]: any;\n// } = {\n// [E_Frequency.current]: {\n// value: E_DATE_PICKER_MODE.DATE,\n// format: 'MM/DD/YYYY',\n// formatPicker: 'MM/dd/yyyy',\n// index: 0,\n// valueAnalytics: AnalyticsService.ENUM_DATE_TYPE.DAY,\n// },\n// [E_Frequency.daily]: {\n// value: E_DATE_PICKER_MODE.DATE,\n// format: 'MM/DD/YYYY',\n// formatPicker: 'MM/dd/yyyy',\n// index: 0,\n// valueAnalytics: AnalyticsService.ENUM_DATE_TYPE.DAY,\n// },\n// [E_Frequency.weekly]: {\n// value: E_DATE_PICKER_MODE.WEEK,\n// index: 1,\n// // format: 'MM/DD/YYYY'\n// },\n// [E_Frequency.monthly]: {\n// value: E_DATE_PICKER_MODE.MONTH,\n// format: 'MM/YYYY',\n// formatPicker: 'MM/yyyy',\n// index: 2,\n// valueAnalytics: AnalyticsService.ENUM_DATE_TYPE.MONTH,\n// },\n// [E_Frequency.yearly]: {\n// value: E_DATE_PICKER_MODE.YEAR,\n// format: 'YYYY',\n// formatPicker: 'yyyy',\n// index: 3,\n// valueAnalytics: AnalyticsService.ENUM_DATE_TYPE.YEAR,\n// },\n// [E_Frequency.annual]: {\n// value: E_DATE_PICKER_MODE.YEAR,\n// format: 'YYYY',\n// formatPicker: 'yyyy',\n// index: 3,\n// valueAnalytics: AnalyticsService.ENUM_DATE_TYPE.YEAR,\n// },\n// [E_Frequency.raw]: {\n// value: E_DATE_PICKER_MODE.RAW,\n// format: 'MM/DD/YYYY',\n// formatPicker: 'MM/dd/yyyy',\n// index: 0,\n// valueAnalytics: AnalyticsService.ENUM_DATE_TYPE.DAY,\n// },\n// };\n\n// export enum E_PRODUCTION_TYPE {\n// PRODUCT = 'product',\n// PRODUCT_LINE = 'product-line',\n// }\n\n// export enum E_PRODUCTION_MEASUREMENT_TYPE {\n// PRODUCT_WATER_IN_SOURCE = 'ProductWaterInSource',\n// PRODUCT_WATER_OUT_SOURCE = 'ProductWaterOutSource',\n// PRODUCT_ENERGY_IN_SOURCE = 'ProductEnergyInSource',\n// PRODUCT_ENERGY_OUT_SOURCE = 'ProductEnergyOutSource',\n// }\n\n// export const E_PRODUCTION_MEASUREMENT_PAYLOAD = {\n// [E_PRODUCTION_MEASUREMENT_TYPE.PRODUCT_WATER_IN_SOURCE]: {\n// createParentPayload: 'CreateProductWaterInSource',\n// updateParentPayload: 'UpdateProductWaterInSource',\n// payload: 'ProductWaterInSource',\n// keyResponse: 'waterInflows',\n// keyForm: 'waterIntakeMeasurement',\n// keyComponent: ['waterComponents'],\n// textAdd: 'intake measurement',\n// componentType: 'Water',\n// },\n// [E_PRODUCTION_MEASUREMENT_TYPE.PRODUCT_WATER_OUT_SOURCE]: {\n// createParentPayload: 'CreateProductWaterOutSource',\n// updateParentPayload: 'UpdateProductWaterOutSource',\n// payload: 'ProductWaterOutSource',\n// keyResponse: 'waterOutflows',\n// keyForm: 'waterOutputMeasurement',\n// keyComponent: ['waterComponents'],\n// textAdd: 'output measurement',\n// componentType: 'Water',\n// },\n// [E_PRODUCTION_MEASUREMENT_TYPE.PRODUCT_ENERGY_IN_SOURCE]: {\n// createParentPayload: 'CreateProductEnergyInSource',\n// updateParentPayload: 'UpdateProductEnergyInSource',\n// payload: 'ProductEnergyInSource',\n// keyResponse: 'energyInflows',\n// keyForm: 'energyIntakeMeasurement',\n// keyComponent: ['electricComponents', 'fuelComponents', 'gasComponents'],\n// textAdd: 'intake measurement',\n// componentType: 'Energy',\n// },\n// [E_PRODUCTION_MEASUREMENT_TYPE.PRODUCT_ENERGY_OUT_SOURCE]: {\n// createParentPayload: 'CreateProductEnergyOutSource',\n// updateParentPayload: 'UpdateProductEnergyOutSource',\n// payload: 'ProductEnergyOutSource',\n// keyResponse: 'energyOutflows',\n// keyForm: 'energyExportMeasurement',\n// keyComponent: ['electricComponents', 'fuelComponents', 'gasComponents'],\n// textAdd: 'export measurement',\n// componentType: 'Energy',\n// },\n// };\n\n// export enum SORT_DIRECTION {\n// ASCEND = 'ascend',\n// DESCEND = 'descend',\n// }\n\n// export enum ROUTE_COMPONENT_TYPE {\n// COMPONENT = 'component',\n// PLANT_CELL = 'plant-cell',\n// }\n\n// export enum PLACEHOLDER_INPUT {\n// FIELD_FILE = 'Enter the file URL',\n// }\n\n// export enum TYPE_SIZE_CONTROL {\n// NORMAL = 'normal',\n// SMALL = 'small',\n// }\n\n// export enum RATE_WATER_QUALITY_INDEX_INFO {\n// EXCELLENT = 'excellent',\n// GOOD = 'good',\n// AVERAGE = 'average',\n// FAIR = 'fair',\n// POOR = 'poor',\n// }\n\n// // export const COLOR_WATER_QUALITY_INDEX_INFO = {\n// // [RATE_WATER_QUALITY_INDEX_INFO.EXCELLENT]: {\n// // color: ENUM_RISK_COLOR.GREEN,\n// // colorClass: 'color-elf-green',\n// // },\n// // [RATE_WATER_QUALITY_INDEX_INFO.GOOD]: {\n// // color: ENUM_RISK_COLOR.LIGHT_GREEN,\n// // colorClass: 'color-yellow-green',\n// // },\n// // [RATE_WATER_QUALITY_INDEX_INFO.AVERAGE]: {\n// // color: ENUM_RISK_COLOR.YELLOW,\n// // colorClass: 'color-grandis',\n// // },\n// // [RATE_WATER_QUALITY_INDEX_INFO.FAIR]: {\n// // color: ENUM_RISK_COLOR.ORANGE,\n// // colorClass: 'color-carrot-orange',\n// // },\n// // [RATE_WATER_QUALITY_INDEX_INFO.POOR]: {\n// // color: ENUM_RISK_COLOR.RED,\n// // colorClass: 'color-sunset-orange',\n// // },\n// // };\n\n// // export const RANGE_COLOR_WATER_QUALITY_INDEX = [\n// // {\n// // from: 0,\n// // to: 25,\n// // colorInfo: COLOR_WATER_QUALITY_INDEX_INFO[RATE_WATER_QUALITY_INDEX_INFO.POOR],\n// // },\n// // {\n// // from: 25,\n// // to: 50,\n// // colorInfo: COLOR_WATER_QUALITY_INDEX_INFO[RATE_WATER_QUALITY_INDEX_INFO.FAIR],\n// // },\n// // {\n// // from: 50,\n// // to: 70,\n// // colorInfo: COLOR_WATER_QUALITY_INDEX_INFO[RATE_WATER_QUALITY_INDEX_INFO.AVERAGE],\n// // },\n// // {\n// // from: 70,\n// // to: 90,\n// // colorInfo: COLOR_WATER_QUALITY_INDEX_INFO[RATE_WATER_QUALITY_INDEX_INFO.GOOD],\n// // },\n// // {\n// // from: 90,\n// // to: 100,\n// // colorInfo: COLOR_WATER_QUALITY_INDEX_INFO[RATE_WATER_QUALITY_INDEX_INFO.EXCELLENT],\n// // },\n// // ];\n\n// export enum ENUM_INSIGHT_TABS {\n// VOLUME = 'Volume',\n// QUALITY = 'Quality',\n// ASSET_PARAMETERS = 'Asset Parameters',\n// }\n\n// export enum ENUM_INSIGHT_MAPPING_STEP {\n// ASSETS = 'assets',\n// TAGS = 'tags',\n// CONFIGURATION = 'configuration',\n// }\n\n// export enum STEAM_OPTION_KEY {\n// MASS_FLOW = 'massflow',\n// MASS_FLOW_RATE = 'massflowrate',\n// PRESSURE = 'pressure',\n// TEMPERATURE = 'temperature',\n// ENERGY = 'energy',\n// }\n\n// export const STEAM_OPTIONS_FILTER = {\n// [STEAM_OPTION_KEY.MASS_FLOW]: {\n// name: 'Mass Flow',\n// key: STEAM_OPTION_KEY.MASS_FLOW,\n// icon: '',\n// urlIcon: 'assets/images/icons/steam/Mass flow.svg',\n// isDisabled: false,\n// keyUnit: 'SteamMassFlow',\n// keyUnitSetting: 'steamMassFlow',\n// listUnits: [ABBREVIATION.g, ABBREVIATION.lbs],\n// },\n\n// [STEAM_OPTION_KEY.MASS_FLOW_RATE]: {\n// name: 'Mass Flow Rate',\n// key: STEAM_OPTION_KEY.MASS_FLOW_RATE,\n// icon: '',\n// urlIcon: 'assets/images/icons/steam/Mass flow rate.svg',\n// isDisabled: false,\n// keyUnit: 'MassFlowRate',\n// keyUnitSetting: 'steamFlowRate',\n// listUnits: [ABBREVIATION.g_hr, ABBREVIATION.lbs_hr],\n// },\n// [STEAM_OPTION_KEY.PRESSURE]: {\n// name: 'Pressure',\n// key: STEAM_OPTION_KEY.PRESSURE,\n// icon: 'fal fa-gauge-high',\n// isDisabled: false,\n// keyUnit: 'SteamPressure',\n// keyUnitSetting: 'steamPressure',\n// listUnits: [ABBREVIATION.MPa, ABBREVIATION.psi],\n// },\n// [STEAM_OPTION_KEY.TEMPERATURE]: {\n// name: 'Temperature',\n// key: STEAM_OPTION_KEY.TEMPERATURE,\n// icon: 'fal fa-temperature-high',\n// isDisabled: false,\n// keyUnit: 'SteamTemperature',\n// keyUnitSetting: 'steamTemperature',\n// listUnits: [ABBREVIATION.degC, ABBREVIATION.degF],\n// },\n// [STEAM_OPTION_KEY.ENERGY]: {\n// name: 'Energy',\n// key: STEAM_OPTION_KEY.ENERGY,\n// icon: 'fa-regular fa-transformer-bolt',\n// keyUnit: 'Energy',\n// keyUnitSetting: 'energyUnit',\n// isDisabled: false,\n// listUnits: [ABBREVIATION.BTU, ABBREVIATION.J],\n// },\n// };\n\nexport enum ATO_ENUM_FLOW_DIRECTION {\n INFLOW = 'Inflow',\n OUTFLOW = 'Outflow',\n NONE = '',\n}\n","import { ATO_ECOMPONENT_PLANT_TYPE } from '../constants/value.const';\n\nexport class AtoGojsEditorModel {\n initialOptions: any;\n data: any; // FlowGoJsComponentModel\n\n constructor(data: any) {\n this.data = data;\n }\n}\n\nexport namespace AtoGojsEditorModel {\n export const GRID_SIZE = 20;\n export const BASIC_GRID_INTERVAL_X = 24;\n export const BASIC_GRID_INTERVAL_Y = 10;\n export const BASIC_GRID_SIZE_WIDTH = GRID_SIZE * BASIC_GRID_INTERVAL_X;\n export const BASIC_GRID_SIZE_HEIGHT = GRID_SIZE * BASIC_GRID_INTERVAL_Y;\n export const DISTANCE_LAST_TO_ADD = 50;\n export const PLANT_CELL_HEIGHT = 160;\n export enum ENUM_LAYOUT_EDITOR {\n AUTO = 'AUTO ALIGN',\n GRID = 'GRID SUPPORTED',\n FREEFORM = 'FREE FORM',\n }\n\n export const LAYOUT_LIST = [\n {\n name: 'Auto-align',\n key: ENUM_LAYOUT_EDITOR.AUTO,\n },\n {\n name: 'Grid Supported',\n key: ENUM_LAYOUT_EDITOR.GRID,\n },\n {\n name: 'Freeform',\n key: ENUM_LAYOUT_EDITOR.FREEFORM,\n },\n ];\n\n export enum ENUM_COLORS {\n RED = '#EC7C4E',\n ORANGE = '#EBB868',\n BLUE = '#81B8FF',\n LIGHT_BLUE = '#F4F6FB',\n LIGHT_SKY_BLUE = '#cfe7fd',\n WHITE = '#FFFFFF',\n GRAY = '#919CA5',\n CERULEAN = '#0062A9',\n VIVID_VIOLET = '#804180',\n RESOLUTION_BLUE = '#2D3B77',\n CASHMERE = '#D6AB95',\n GALLIANO = '#E09F25',\n FOUNTAIN_BLUE = '#54BBBA',\n ELF_GREEN = '#199C69',\n MEDIUM_RED_VIOLET = '#A8438D',\n GRANDIS = '#FBC96C',\n SALMON = '#F47769',\n NIGHT_RIDER = '#2C2C2C',\n ALIZARIN = '#EC1B24',\n LINK_WATER = '#CAD3DB',\n ZIRCON = '#E5EBEB',\n CERULEAN_ALICE_BLUE = '#E6F0F7',\n DANUBE = '#7197CA',\n DANUBE_ALICE_BLUE = '#F1F5FA',\n AZURE = '#EEF8F8',\n OLD_LACE = '#FCF6EA',\n CARROT_ORANGE = '#F69122',\n FLAMINGO = '#E95F47',\n SNOW = '#FEF7F6',\n LIGHT_SKY_BLUE_2 = '#92B9F9',\n REGENT_ST_BLUE = '#87cee7',\n // 98CDE0\n }\n\n export enum ENUM_LINK_TYPES {\n SIMPLE = 'simple',\n PIPE_ANIMATION = 'pipe animation',\n PIPE = 'pipe',\n PIPE_HIDDEN = 'pipe hidden',\n }\n\n // Components types\n export enum ENUM_TEMPLATES {\n STORAGE = 'Storage',\n COOLING_TOWER = 'Cooling Tower',\n\n WATER_TREATMENT = 'Water Treatment',\n DEMIN_WATER_TREATMENT = 'Demin Water Treatment',\n RO_WATER_TREATMENT = 'RO Water Treatment',\n\n DOMESTIC_USE = 'Domestic Use',\n PROCESS = 'Process',\n BOILER = 'Boiler',\n\n WASTEWATER_TREATMENT = 'Wastewater Treatment',\n DAF_WASTEWATER_TREATMENT = 'DAF Wastewater Treatment',\n ETP_WASTEWATER_TREATMENT = 'ETP Wastewater Treatment',\n MBR_WASTEWATER_TREATMENT = 'MBR Wastewater Treatment',\n ZLD_WASTEWATER_TREATMENT = 'ZLD Wastewater Treatment',\n\n OTHER = 'Other',\n LANDSCAPING_IRRIGATION = 'Landscaping/Irrigation',\n TEXT_NODE = 'TextNode',\n VALUE_NODE = 'ValueNode',\n DATA_BOX = 'DataBox',\n VALUE_LABEL = 'ValueLabel',\n EMPTY = 'Empty',\n\n SPECIAL_PROCESS = 'SPECIAL_PROCESS',\n SPECIAL_STORE = 'SPECIAL_STORE',\n SPECIAL_STORAGE = 'STORAGE',\n SPECIAL_DISCHARGE = 'SPECIAL_DISCHARGE',\n SPECIAL_OTHER = 'SPECIAL_OTHER',\n\n // TANKER = 'Tanker',\n // RAIN_WATER = 'Rainwater',\n FRESH_SURFACE_WATER = 'Fresh surface water', // 'RAIN_WATER',\n THIRD_PARTY_SOURCES = 'Third party sources', // TANKER\n THIRD_PARTY_DESTINATIONS = 'Third party destinations',\n GROUND_WATER_NON_RENEWABLE = 'Groundwater - non-renewable',\n PRODUCED_ENTRAINED = 'Produced / entrained water',\n BRACKISH_SURFACE_WATER = 'Brackish surface water/ seawater',\n\n UTILITY = 'UTILITY',\n GROUND_WATER_RENEWABLE = 'Groundwater - Renewable',\n // Energy\n ZONE = 'EnergyZones',\n ZONE_ENERGY_ITEM = 'SubSystem',\n //Electric\n GRID = 'Grid',\n DIESEL_GENERATORS = 'Diesel Generators',\n ELECTRIC_METERS = 'Electric Meters',\n\n BATTERY_ENERGY_STORAGE = 'Battery energy storage',\n TRANSFORMERS = 'Transformers',\n LIGHTING_SYSTEMS = 'Lighting systems',\n LIGHTINGS = 'Lightings',\n\n ELECTRIC_FLYWHEEL_ENERGY_STORAGE = 'Flywheel energy storage',\n PUMPED_HYDRO_STORAGE = 'Pumped hydro storage',\n THERMAL_ENERGY_STORAGE = 'Thermal energy storage',\n SUPER_CAPACITOR_ENERGY_STORAGE = 'Supercapacitor energy storage',\n SWITCH_GEARS = 'Switchgears',\n MOTOR_CONTROLS = 'MotorControls',\n VARIABLE_FREQUENCY_DRIVERS = 'VariableFrequencyDrives',\n ELECTRIC_HVAC = 'Heating, ventilation, and air conditioning (HVAC) systems',\n COMPRESSED_AIR_SYSTEMS = 'Compressed air',\n REFRIGERATION_COOLING_SYSTEMS = 'Refrigeration and cooling',\n PROCESS_CONTROL_AUTOMATION_SYSTEMS = 'Process control and automation',\n OFFICE_EQUIPMENT = 'Office equipment',\n PROCESS_EQUIPMENT_MACHINES = 'Process equipment and machines',\n MATERIAL_HANDLING_EQUIPMENT = 'Material handling equipment',\n POWER_DISTRIBUTION_CONTROL_SYSTEMS = 'Power distribution and control',\n POWER_DISTRIBUTION_SYSTEMS = 'Power distribution systems',\n WIND_POWER = 'Wind Power',\n NATURAL_GAS_GENERATORS = 'Natural gas generators',\n ELECTRIC_INDUSTRIAL_MOTORS = 'Industrial motors',\n GROUNDING = 'Grounding',\n\n // Fuel\n FUELS = 'Fuels',\n DIESEL_FUELS = 'DieselFuels',\n GASON_LINES = 'Gasonlines',\n BIODIESELS = 'Biodiesels',\n KEROSENSE = 'Kerosenes',\n PROPANES = 'Propanes',\n\n TANKER_TRUCKS = 'Tanker Trucks',\n PIPELINE = 'Pipeline',\n\n INDUSTRIAL_BOILERS = 'Industrial boilers',\n GENERATORS = 'Generators',\n INDUSTRIAL_FURNACES = 'Industrial furnaces',\n INDUSTRIAL_OVENS = 'Industrial ovens',\n INDUSTRIAL_VEHICLES_AND_EQUIPMENT = 'Industrial vehicles and equipment',\n\n FUEL_METERS = 'FuelMeters',\n FUEL_DISPENSERS = 'FuelDispensers',\n FUEL_STRORAGE_TANKS = 'FuelStorageTanks',\n FUEL_FILTRATIONS = 'FuelFiltrations',\n FUEL_MANAGEMENTS = 'FuelManagements',\n\n // Gas\n NATURAL_GAS_PIPELINES = 'Natural gas pipelines',\n LIQUEFIED_NATURAL_GAS = 'Liquefied natural gas',\n COMPRESSED_NATURAL_GAS_PIPELINE = 'Compressed natural gas pipeline',\n ON_SITE_PRODUCTION = 'On-site production',\n COMPRESSED_NATURAL_GAS_PRODUCTION = 'Compressed natural gas production',\n BOILERS_AND_HEATERS = 'Boilers and heaters',\n FURNACES = 'Furnaces',\n POWER_GENERATION = 'Power generation',\n COGENERATION = 'Cogeneration',\n COMBINED_CYCLE_POWER_PLANTS = 'Combined cycle power plants',\n FUEL_FOR_VEHICLES_AND_EQUIPMENT = 'Fuel for vehicles and equipment',\n GAS_METERS = 'Gas meters',\n BURNERS = 'Burners',\n FLUE_GAS_ANALYZERS = 'Flue gas analyzers',\n COMBUSTION_CONTROL_SYSTEMS = 'Combustion control systems',\n GAS_STORAGE_TANKS = 'Gas storage tanks',\n GAS_PRESSURE_REGULATORS = 'Gas pressure regulators',\n NATURAL_GAS = 'Natural Gas',\n // Solar\n SOLAR_POWER = 'Solar Power',\n POWER_CONDITIONING_UNIT = 'Power conditioning unit (PCU)',\n INVERTERS = 'Inverters',\n BATTERIES = 'Batteries',\n\n // Uncategorized of Proxy Plant\n UNCATEGORIZED = 'Uncategorized',\n\n // Plant Cell\n PLANT_CELL = 'Plant Cell',\n INPUT_PLANT_CELL = 'Input Plant Cell',\n OUTPUT_PLANT_CELL = 'Output Plant Cell',\n\n PLANT_CELL_INPUT_GROUP = 'PC Input Group',\n PLANT_CELL_OUTPUT_GROUP = 'PC Output Group',\n\n // Image\n IMAGE_TEMPLATE = 'Image Template',\n PARAM_TABLE = 'Param Table',\n MASS_BALANCE = 'Mass Balance',\n\n // Steam Type\n STEAM_PIPELINE = 'Steam pipeline',\n VALUES = 'Valves',\n STEAM_TRAPS = 'Steam Traps',\n PRESSURE_REGULATORS = 'Pressure Regulator',\n SAFETY_VALUES_AND_EQUIPMENT = 'Safety Valves and Equipment',\n CONDENSATE_RETURN_SYSTEM = 'Condensate Return System',\n DEAERATORS = 'Deaerators',\n FEEDWATER_PUMPS = 'Feedwater Pumps',\n BLOWDOWN_TANKS = 'Blowdown Tanks',\n EXPANSION_TANKS = 'Expansion Tanks',\n HEAT_EXCHANGERS = 'Heat Exchangers',\n TURBINES = 'Turbines',\n\n // Plant Basic\n GROUP_BASIC_COMPONENT = 'Group Basic Component',\n TEXT_LABEL = 'label',\n }\n\n // System Types\n export enum ENUM_TYPES {\n STORAGE = 'WaterStorageTanks',\n\n WATER_TREATMENT = 'WaterTreatmentProcesses',\n DEMIN_WATER_TREATMENT = 'DeminWaterTreatments',\n RO_WATER_TREATMENT = 'ROWaterTreatments',\n\n PROCESS = 'GenericProcesses',\n SPECIAL_STORAGE = 'STORAGE',\n\n WASTEWATER_TREATMENT = 'WasteWaterTreatmentProcesses',\n DAF_WASTEWATER_TREATMENT = 'DAFWasteWaterTreatments',\n ETP_WASTEWATER_TREATMENT = 'ETPWasteWaterTreatments',\n MBR_WASTEWATER_TREATMENT = 'MBRWasteWaterTreatments',\n ZLD_WASTEWATER_TREATMENT = 'ZLDWasteWaterTreatments',\n\n DOMESTIC_USE = 'DomesticUse',\n COOLING_TOWER = 'CoolingTowers',\n BOILER = 'Boilers',\n OTHER = 'OtherWaterUse',\n LANDSCAPING_IRRIGATION = 'IrrigationUse',\n\n FRESH_SURFACE_WATER = 'Fresh surface water', // 'RAIN_WATER',\n THIRD_PARTY_SOURCES = 'Third party sources', // TANKER\n THIRD_PARTY_DESTINATIONS = 'Third party destinations',\n GROUND_WATER_NON_RENEWABLE = 'Groundwater - non-renewable',\n PRODUCED_ENTRAINED = 'Produced / entrained water',\n\n // FRESH_SURFACE_WAER = 'Fresh surface water',\n BRACKISH_SURFACE_WATER = 'Brackish surface water/ seawater',\n GROUND_WATER_RENEWABLE = 'Groundwater - Renewable',\n\n TANKER_WATER = 'Tanker Water',\n // ENERGY\n ZONE = 'EnergyZones',\n // Electric\n ELECTRIC_SOURCES = 'ElectricSources',\n GRID = 'Grid Power',\n DIESEL_GENERATORS = 'Diesel Generators',\n ELECTRIC_METERS = 'ElectricMeters',\n TRANSFORMERS = 'Transformers',\n // Electric New\n BATTERY_ENERGY_STORAGE = 'Battery energy storage',\n ELECTRIC_PRODUCTIONS = 'ElectricProductions',\n ELECTRIC_COMSUMINGS = 'ElectricConsumings',\n ELECTRIC_STORAGES = 'ElectricityStorages',\n ELECTRIC_FLYWHEEL_ENERGY_STORAGE = 'Flywheel energy storage',\n PUMPED_HYDRO_STORAGE = 'Pumped hydro storage',\n THERMAL_ENERGY_STORAGE = 'Thermal energy storage',\n SUPER_CAPACITOR_ENERGY_STORAGE = 'Supercapacitor energy storage',\n SWITCH_GEARS = 'Switchgears',\n MOTOR_CONTROLS = 'MotorControls',\n VARIABLE_FREQUENCY_DRIVERS = 'VariableFrequencyDrives',\n LIGHTING_SYSTEMS = 'Lighting systems',\n LIGHTINGS = 'Lightings',\n ELECTRIC_HVAC = 'Heating, ventilation, and air conditioning (HVAC) systems',\n COMPRESSED_AIR_SYSTEMS = 'Compressed air',\n REFRIGERATION_COOLING_SYSTEMS = 'Refrigeration and cooling',\n PROCESS_CONTROL_AUTOMATION_SYSTEMS = 'Process control and automation',\n PROCESS_EQUIPMENT_MACHINES = 'Process equipment and machines',\n OFFICE_EQUIPMENT = 'Office equipment',\n MATERIAL_HANDLING_EQUIPMENT = 'Material handling equipment',\n POWER_DISTRIBUTION_CONTROL_SYSTEMS = 'Power distribution and control',\n POWER_DISTRIBUTION_SYSTEMS = 'PowerDistributions',\n WIND_POWER = 'Wind Power',\n NATURAL_GAS_GENERATORS = 'Natural gas generators',\n ELECTRIC_INDUSTRIAL_MOTORS = 'Industrial motors',\n GROUNDING = 'Groundings',\n Electricals = 'Electricals',\n\n // Gas\n NATURAL_GAS_PIPELINES = 'Natural gas pipelines',\n LIQUEFIED_NATURAL_GAS = 'Liquefied natural gas (LNG) shipments',\n COMPRESSED_NATURAL_GAS_PIPELINE = 'Compressed natural gas pipeline (CNG)',\n ON_SITE_PRODUCTION = 'On-site production',\n COMPRESSED_NATURAL_GAS_PRODUCTION = 'Compressed natural gas production (CNG)',\n BOILERS_AND_HEATERS = 'Boilers and heaters',\n FURNACES = 'Furnaces',\n POWER_GENERATION = 'Power generation',\n COGENERATION = 'Cogeneration',\n COMBINED_CYCLE_POWER_PLANTS = 'Combined cycle power plants',\n FUEL_FOR_VEHICLES_AND_EQUIPMENT = 'Fuel for vehicles and equipment',\n GAS_METERS = 'GasMeters',\n BURNERS = 'Burners',\n FLUE_GAS_ANALYZERS = 'FlueGasAnalyzers',\n COMBUSTION_CONTROL_SYSTEMS = 'ConbustionControls',\n GAS_STORAGE_TANKS = 'GasStorageTanks',\n GAS_PRESSURE_REGULATORS = 'GasPressureRegulators',\n NATURAL_GAS = 'Natural Gas',\n // TYPE_COMPONENT Gas\n GAS_SOURCE = 'GasSources',\n GAS_PRODUCTION = 'GasProductions',\n GAS_CONSUMINGS = 'GasConsumings',\n NATURAL_GAS_SPECIAL = 'NaturalGases',\n\n // Fuel\n FUELS = 'Fuels',\n DIESEL_FUELS = 'DieselFuels',\n GASON_LINES = 'Gasonlines',\n BIODIESELS = 'Biodiesels',\n KEROSENSE = 'Kerosenes',\n PROPANES = 'Propanes',\n\n FUEL_SOURCES = 'FuelSources',\n\n TANKER_TRUCKS = 'Tanker Trucks',\n PIPELINE = 'Pipeline',\n\n FUEL_CONSUMINGS = 'FuelConsumings',\n\n INDUSTRIAL_BOILERS = 'Industrial boilers',\n GENERATORS = 'Generators',\n INDUSTRIAL_FURNACES = 'Industrial furnaces',\n INDUSTRIAL_OVENS = 'Industrial ovens',\n INDUSTRIAL_VEHICLES_AND_EQUIPMENT = 'Industrial vehicles and equipment',\n\n FUEL_METERS = 'FuelMeters',\n FUEL_DISPENSERS = 'FuelDispensers',\n FUEL_STRORAGE_TANKS = 'FuelStorageTanks',\n FUEL_FILTRATIONS = 'FuelFiltrations',\n FUEL_MANAGEMENTS = 'FuelManagements',\n\n // Solar\n SOLAR_POWER = 'Solar Power',\n POWER_CONDITIONING_UNIT = 'Power conditioning unit (PCU)',\n INVERTERS = 'Inverters',\n BATTERIES = 'Batteries',\n\n // Plant Cell\n PLANT_CELL = 'PlantCells',\n PLANT_CELL_INPUT_GROUP = 'PC Input Group',\n PLANT_CELL_OUTPUT_GROUP = 'PC Output Group',\n\n // Steam\n STEAM_SOURCES = 'SteamSources',\n STEAM_PIPELINE = 'Steam pipeline',\n VALUES = 'Valves',\n STEAM_TRAPS = 'Steam Traps',\n PRESSURE_REGULATORS = 'Pressure Regulator',\n SAFETY_VALUES_AND_EQUIPMENT = 'Safety Valves and Equipment',\n CONDENSATE_RETURN_SYSTEM = 'Condensate Return System',\n DEAERATORS = 'Deaerators',\n FEEDWATER_PUMPS = 'Feedwater Pumps',\n BLOWDOWN_TANKS = 'Blowdown Tanks',\n EXPANSION_TANKS = 'Expansion Tanks',\n HEAT_EXCHANGERS = 'SteamConsumings',\n TURBINES = 'EnergyConverters',\n\n STEAM_COMPONENT = 'SteamComponents',\n STEAM_CONSUMING_SYSTEM = 'SteamConsumings',\n ENERGY_CONVERTER = 'EnergyConverters',\n }\n\n export enum ENUM_CATEGORY {}\n\n export enum DATA_COLLECTION_METHOD {\n MEASURED = 'Measured',\n MANUAL = 'Manual',\n COMPUTED = 'Computed',\n ESTIMATED = 'Estimated',\n WATER_CAPACITY = 'Water Capacity',\n KEY_MODEL_COMPUTED = 'M',\n }\n\n export const COLOR_COLLECTION_METHOD: {\n [key in AtoGojsEditorModel.DATA_COLLECTION_METHOD]: any;\n } = {\n [DATA_COLLECTION_METHOD.MEASURED]: {\n name: DATA_COLLECTION_METHOD.MEASURED,\n color: ENUM_COLORS.RED,\n classNameColor: 'color-burnt-sienna',\n },\n [DATA_COLLECTION_METHOD.MANUAL]: {\n name: DATA_COLLECTION_METHOD.MANUAL,\n color: ENUM_COLORS.ELF_GREEN,\n classNameColor: 'color-elf-green',\n },\n [DATA_COLLECTION_METHOD.COMPUTED]: {\n name: DATA_COLLECTION_METHOD.COMPUTED,\n color: ENUM_COLORS.CERULEAN,\n classNameColor: 'color-cerulean',\n },\n [DATA_COLLECTION_METHOD.ESTIMATED]: {\n name: DATA_COLLECTION_METHOD.ESTIMATED,\n color: ENUM_COLORS.MEDIUM_RED_VIOLET,\n classNameColor: 'color-medium-red-violet',\n },\n [DATA_COLLECTION_METHOD.WATER_CAPACITY]: {\n name: DATA_COLLECTION_METHOD.WATER_CAPACITY,\n color: ENUM_COLORS.VIVID_VIOLET,\n classNameColor: 'color-vivid-violet',\n },\n [DATA_COLLECTION_METHOD.KEY_MODEL_COMPUTED]: {\n name: DATA_COLLECTION_METHOD.KEY_MODEL_COMPUTED,\n color: ENUM_COLORS.GRAY,\n classNameColor: 'color-bali-hai',\n },\n };\n\n // export enum WITH_DRAW_TYPES {\n // TANKER = 'Tanker',\n // RAIN_WATER = 'Rainwater',\n // }\n\n export enum WITH_DRAW_SYSTEM_TYPES {\n WATER_SOURCE = 'WaterSource',\n }\n\n // export enum DISCHARGE_TYPES {\n // GROUND_WATER_RENEWABLE = 'Ground Water Renewable',\n // }\n\n export enum DISCHARGE_TYPES_SYSTEM_TYPES {\n GROUND_WATER_RANEWABLE = 'GroundWaterRenewable',\n }\n\n export const WaterWithdrawSources = 'WaterWithdrawSources';\n export const WaterWithdrawSourcesPath =\n 'GetFlowTopology.Plant.WaterWithdrawSources.ComponentWaterFlow.InFlows.InflowWaterRecord.QuantityParams';\n\n export const WaterDischargeDestinations = 'WaterDischargeDestinations';\n export const WaterDischargeDestinationsPath =\n 'GetFlowTopology.Plant.WaterDischargeDestinations.ComponentWaterFlow.InFlows.InflowWaterRecord.QuantityParams';\n\n export const SOURCES_COMPONENTS = [\n WaterWithdrawSources,\n WaterDischargeDestinations,\n ENUM_TYPES.ELECTRIC_SOURCES,\n ENUM_TYPES.ELECTRIC_PRODUCTIONS,\n ENUM_TYPES.GAS_SOURCE,\n ENUM_TYPES.GAS_PRODUCTION,\n ENUM_TYPES.FUEL_SOURCES,\n // ENUM_TYPES.FUEL_STORAGE_TANKS,\n ];\n\n export const SOURCES_WITHDRAW = [\n WaterWithdrawSources,\n ENUM_TYPES.ELECTRIC_SOURCES,\n ENUM_TYPES.ELECTRIC_PRODUCTIONS,\n ENUM_TYPES.GAS_SOURCE,\n ENUM_TYPES.GAS_PRODUCTION,\n ENUM_TYPES.FUEL_SOURCES,\n // ENUM_TYPES.FUEL_STORAGE_TANKS,\n ];\n\n export const SOURCES_DISCHARGE = [\n WaterDischargeDestinations,\n // ENUM_TYPES.ELECTRIC_SOURCES,\n // ENUM_TYPES.ELECTRIC_PRODUCTIONS,\n // ENUM_TYPES.GAS_SOURCE,\n // ENUM_TYPES.GAS_PRODUCTION,\n // ENUM_TYPES.FUEL_SOURCES,\n ];\n\n export const COMPONENTS_HAVE_SPECIAL_CATEGORY = [\n // Water\n WaterWithdrawSources,\n WaterDischargeDestinations,\n\n // ENUM_TYPES.FRESH_SURFACE_WAER,\n // ENUM_TYPES.THIRD_PARTY_SOURCES,\n // ENUM_TYPES.GROUND_WATER_NON_RENEWABLE,\n // ENUM_TYPES.PRODUCED_ENTRAINED,\n // ENUM_TYPES.BRACKISH_SURFACE_WATER,\n // ENUM_TYPES.GROUND_WATER_RENEWABLE,\n\n // Energy\n ENUM_TYPES.ZONE,\n // Electric===================\n ENUM_TYPES.GRID,\n ENUM_TYPES.ELECTRIC_PRODUCTIONS,\n ENUM_TYPES.DIESEL_GENERATORS,\n ENUM_TYPES.NATURAL_GAS_GENERATORS,\n ENUM_TYPES.SOLAR_POWER,\n ENUM_TYPES.ELECTRIC_SOURCES,\n ENUM_TYPES.Electricals,\n // ENUM_TYPES.ELECTRIC_COMSUMINGS,\n // ENUM_TYPES.ELECTRIC_STORAGES,\n // ENUM_TYPES.PROCESS_CONTROL_AUTOMATION_SYSTEMS,\n // ENUM_TYPES.POWER_DISTRIBUTION_CONTROL_SYSTEMS,\n\n // Gas========================\n // ENUM_TYPES.NATURAL_GAS_PIPELINES,\n ENUM_TYPES.GAS_SOURCE,\n ENUM_TYPES.GAS_PRODUCTION,\n ENUM_TYPES.LIQUEFIED_NATURAL_GAS,\n ENUM_TYPES.ON_SITE_PRODUCTION,\n ENUM_TYPES.NATURAL_GAS_PIPELINES,\n ENUM_TYPES.LIQUEFIED_NATURAL_GAS,\n ENUM_TYPES.COMPRESSED_NATURAL_GAS_PRODUCTION,\n // ENUM_TYPES.COMPRESSED_NATURAL_GAS_PIPELINE,\n // ENUM_TYPES.COMPRESSED_NATURAL_GAS_PRODUCTION,\n // ENUM_TYPES.FURNACES,\n // ENUM_TYPES.POWER_GENERATION,\n // ENUM_TYPES.COGENERATION,\n // ENUM_TYPES.COMBINED_CYCLE_POWER_PLANTS,\n // ENUM_TYPES.FUEL_FOR_VEHICLES_AND_EQUIPMENT,\n ENUM_TYPES.NATURAL_GAS_SPECIAL,\n //Fuel========================\n ENUM_TYPES.FUEL_SOURCES,\n ENUM_TYPES.TANKER_TRUCKS,\n ENUM_TYPES.PIPELINE,\n ENUM_TYPES.FUELS,\n ];\n\n export const WITH_DRAW_TYPE_LIST = [\n ENUM_TYPES.THIRD_PARTY_SOURCES,\n ENUM_TYPES.FRESH_SURFACE_WATER,\n ENUM_TYPES.BRACKISH_SURFACE_WATER,\n ENUM_TYPES.GROUND_WATER_RENEWABLE,\n ENUM_TYPES.GROUND_WATER_NON_RENEWABLE,\n ENUM_TYPES.PRODUCED_ENTRAINED,\n ] as string[];\n export const DISCHARGE_TYPE_LIST = [\n ENUM_TYPES.FRESH_SURFACE_WATER,\n ENUM_TYPES.BRACKISH_SURFACE_WATER,\n ENUM_TYPES.GROUND_WATER_RENEWABLE,\n ENUM_TYPES.THIRD_PARTY_DESTINATIONS,\n ] as string[];\n\n export const WITH_DRAW_SYSTEM_TYPE_LIST = [\n WITH_DRAW_SYSTEM_TYPES.WATER_SOURCE,\n ];\n export const DISCHARGE_SYSTEM_TYPE_LIST = [\n DISCHARGE_TYPES_SYSTEM_TYPES.GROUND_WATER_RANEWABLE,\n ];\n\n // system type\n export const TYPE_COMPONENT = [\n ENUM_TYPES.STORAGE,\n\n ENUM_TYPES.WATER_TREATMENT,\n ENUM_TYPES.DEMIN_WATER_TREATMENT,\n ENUM_TYPES.RO_WATER_TREATMENT,\n\n ENUM_TYPES.PROCESS,\n\n ENUM_TYPES.WASTEWATER_TREATMENT,\n ENUM_TYPES.DAF_WASTEWATER_TREATMENT,\n ENUM_TYPES.ETP_WASTEWATER_TREATMENT,\n ENUM_TYPES.MBR_WASTEWATER_TREATMENT,\n ENUM_TYPES.ZLD_WASTEWATER_TREATMENT,\n\n ENUM_TYPES.DOMESTIC_USE,\n ENUM_TYPES.COOLING_TOWER,\n ENUM_TYPES.BOILER,\n ENUM_TYPES.OTHER,\n ENUM_TYPES.LANDSCAPING_IRRIGATION,\n AtoGojsEditorModel.WaterWithdrawSources,\n AtoGojsEditorModel.WaterDischargeDestinations,\n // Energy\n ENUM_TYPES.ZONE,\n // Electricity==========================\n ENUM_TYPES.GRID,\n ENUM_TYPES.DIESEL_GENERATORS,\n ENUM_TYPES.BATTERY_ENERGY_STORAGE,\n ENUM_TYPES.LIGHTING_SYSTEMS,\n ENUM_TYPES.LIGHTINGS,\n ENUM_TYPES.ELECTRIC_METERS,\n ENUM_TYPES.TRANSFORMERS,\n ENUM_TYPES.ELECTRIC_FLYWHEEL_ENERGY_STORAGE,\n ENUM_TYPES.PUMPED_HYDRO_STORAGE,\n ENUM_TYPES.THERMAL_ENERGY_STORAGE,\n ENUM_TYPES.SUPER_CAPACITOR_ENERGY_STORAGE,\n ENUM_TYPES.SWITCH_GEARS,\n ENUM_TYPES.PROCESS_CONTROL_AUTOMATION_SYSTEMS,\n ENUM_TYPES.PROCESS_EQUIPMENT_MACHINES,\n ENUM_TYPES.OFFICE_EQUIPMENT,\n ENUM_TYPES.POWER_DISTRIBUTION_CONTROL_SYSTEMS,\n ENUM_TYPES.POWER_DISTRIBUTION_SYSTEMS,\n ENUM_TYPES.NATURAL_GAS_GENERATORS,\n ENUM_TYPES.MOTOR_CONTROLS,\n ENUM_TYPES.VARIABLE_FREQUENCY_DRIVERS,\n ENUM_TYPES.ELECTRIC_HVAC,\n ENUM_TYPES.COMPRESSED_AIR_SYSTEMS,\n ENUM_TYPES.REFRIGERATION_COOLING_SYSTEMS,\n ENUM_TYPES.MATERIAL_HANDLING_EQUIPMENT,\n ENUM_TYPES.WIND_POWER,\n ENUM_TYPES.ELECTRIC_INDUSTRIAL_MOTORS,\n ENUM_TYPES.GROUNDING,\n ENUM_TYPES.ELECTRIC_STORAGES,\n ENUM_TYPES.ELECTRIC_COMSUMINGS,\n\n // TEST\n ENUM_TYPES.ELECTRIC_SOURCES,\n // Gas==========================\n ENUM_TYPES.NATURAL_GAS_PIPELINES,\n ENUM_TYPES.LIQUEFIED_NATURAL_GAS,\n ENUM_TYPES.COMPRESSED_NATURAL_GAS_PIPELINE,\n ENUM_TYPES.ON_SITE_PRODUCTION,\n ENUM_TYPES.COMPRESSED_NATURAL_GAS_PRODUCTION,\n ENUM_TYPES.BOILERS_AND_HEATERS,\n ENUM_TYPES.FURNACES,\n ENUM_TYPES.POWER_GENERATION,\n ENUM_TYPES.COGENERATION,\n ENUM_TYPES.COMBINED_CYCLE_POWER_PLANTS,\n ENUM_TYPES.FUEL_FOR_VEHICLES_AND_EQUIPMENT,\n ENUM_TYPES.GAS_METERS,\n ENUM_TYPES.BURNERS,\n ENUM_TYPES.FLUE_GAS_ANALYZERS,\n ENUM_TYPES.COMBUSTION_CONTROL_SYSTEMS,\n ENUM_TYPES.GAS_STORAGE_TANKS,\n ENUM_TYPES.GAS_PRESSURE_REGULATORS,\n ENUM_TYPES.NATURAL_GAS,\n\n ENUM_TYPES.GAS_SOURCE,\n // ENUM_TYPES.GAS_PRODUCTION,\n ENUM_TYPES.GAS_CONSUMINGS,\n\n // Fuel==========================\n ENUM_TYPES.DIESEL_FUELS,\n ENUM_TYPES.GASON_LINES,\n ENUM_TYPES.BIODIESELS,\n ENUM_TYPES.KEROSENSE,\n ENUM_TYPES.PROPANES,\n ENUM_TYPES.FUEL_CONSUMINGS,\n ENUM_TYPES.INDUSTRIAL_BOILERS,\n ENUM_TYPES.GENERATORS,\n ENUM_TYPES.INDUSTRIAL_FURNACES,\n ENUM_TYPES.INDUSTRIAL_OVENS,\n ENUM_TYPES.INDUSTRIAL_VEHICLES_AND_EQUIPMENT,\n ENUM_TYPES.FUEL_METERS,\n ENUM_TYPES.FUEL_DISPENSERS,\n ENUM_TYPES.FUEL_STRORAGE_TANKS,\n ENUM_TYPES.FUEL_FILTRATIONS,\n ENUM_TYPES.FUEL_MANAGEMENTS,\n ENUM_TYPES.FUELS,\n\n // Solar =============================\n ENUM_TYPES.SOLAR_POWER,\n ENUM_TYPES.BATTERIES,\n ENUM_TYPES.INVERTERS,\n ENUM_TYPES.POWER_CONDITIONING_UNIT,\n\n // Plant Cell\n ENUM_TYPES.PLANT_CELL,\n\n // Copy form ENUM_TYPES\n ENUM_TYPES.STORAGE,\n\n ENUM_TYPES.WATER_TREATMENT,\n ENUM_TYPES.DEMIN_WATER_TREATMENT,\n ENUM_TYPES.RO_WATER_TREATMENT,\n\n ENUM_TYPES.PROCESS,\n ENUM_TYPES.SPECIAL_STORAGE,\n\n ENUM_TYPES.WASTEWATER_TREATMENT,\n ENUM_TYPES.DAF_WASTEWATER_TREATMENT,\n ENUM_TYPES.ETP_WASTEWATER_TREATMENT,\n ENUM_TYPES.MBR_WASTEWATER_TREATMENT,\n ENUM_TYPES.ZLD_WASTEWATER_TREATMENT,\n\n ENUM_TYPES.DOMESTIC_USE,\n ENUM_TYPES.COOLING_TOWER,\n ENUM_TYPES.BOILER,\n ENUM_TYPES.OTHER,\n ENUM_TYPES.LANDSCAPING_IRRIGATION,\n\n ENUM_TYPES.FRESH_SURFACE_WATER,\n ENUM_TYPES.THIRD_PARTY_SOURCES,\n ENUM_TYPES.THIRD_PARTY_DESTINATIONS,\n ENUM_TYPES.GROUND_WATER_NON_RENEWABLE,\n ENUM_TYPES.PRODUCED_ENTRAINED,\n\n // FRESH_SURFACE_WAER = 'Fresh surface water',\n ENUM_TYPES.BRACKISH_SURFACE_WATER,\n ENUM_TYPES.GROUND_WATER_RENEWABLE,\n\n ENUM_TYPES.TANKER_WATER,\n // ENERGY\n ENUM_TYPES.ZONE,\n // Electric\n ENUM_TYPES.ELECTRIC_SOURCES,\n ENUM_TYPES.GRID,\n ENUM_TYPES.DIESEL_GENERATORS,\n ENUM_TYPES.ELECTRIC_METERS,\n ENUM_TYPES.TRANSFORMERS,\n // Electric New\n ENUM_TYPES.BATTERY_ENERGY_STORAGE,\n ENUM_TYPES.ELECTRIC_PRODUCTIONS,\n ENUM_TYPES.ELECTRIC_COMSUMINGS,\n ENUM_TYPES.ELECTRIC_STORAGES,\n ENUM_TYPES.ELECTRIC_FLYWHEEL_ENERGY_STORAGE,\n ENUM_TYPES.PUMPED_HYDRO_STORAGE,\n ENUM_TYPES.THERMAL_ENERGY_STORAGE,\n ENUM_TYPES.SUPER_CAPACITOR_ENERGY_STORAGE,\n ENUM_TYPES.SWITCH_GEARS,\n ENUM_TYPES.MOTOR_CONTROLS,\n ENUM_TYPES.VARIABLE_FREQUENCY_DRIVERS,\n ENUM_TYPES.LIGHTING_SYSTEMS,\n ENUM_TYPES.LIGHTINGS,\n ENUM_TYPES.ELECTRIC_HVAC,\n ENUM_TYPES.COMPRESSED_AIR_SYSTEMS,\n ENUM_TYPES.REFRIGERATION_COOLING_SYSTEMS,\n ENUM_TYPES.PROCESS_EQUIPMENT_MACHINES,\n ENUM_TYPES.PROCESS_CONTROL_AUTOMATION_SYSTEMS,\n ENUM_TYPES.OFFICE_EQUIPMENT,\n ENUM_TYPES.MATERIAL_HANDLING_EQUIPMENT,\n ENUM_TYPES.POWER_DISTRIBUTION_CONTROL_SYSTEMS,\n ENUM_TYPES.POWER_DISTRIBUTION_SYSTEMS,\n ENUM_TYPES.WIND_POWER,\n ENUM_TYPES.NATURAL_GAS_GENERATORS,\n ENUM_TYPES.ELECTRIC_INDUSTRIAL_MOTORS,\n ENUM_TYPES.GROUNDING,\n ENUM_TYPES.Electricals,\n\n // Gas\n ENUM_TYPES.NATURAL_GAS_PIPELINES,\n ENUM_TYPES.LIQUEFIED_NATURAL_GAS,\n ENUM_TYPES.COMPRESSED_NATURAL_GAS_PIPELINE,\n ENUM_TYPES.ON_SITE_PRODUCTION,\n ENUM_TYPES.COMPRESSED_NATURAL_GAS_PRODUCTION,\n ENUM_TYPES.BOILERS_AND_HEATERS,\n ENUM_TYPES.FURNACES,\n ENUM_TYPES.POWER_GENERATION,\n ENUM_TYPES.COGENERATION,\n ENUM_TYPES.COMBINED_CYCLE_POWER_PLANTS,\n ENUM_TYPES.FUEL_FOR_VEHICLES_AND_EQUIPMENT,\n ENUM_TYPES.GAS_METERS,\n ENUM_TYPES.BURNERS,\n ENUM_TYPES.FLUE_GAS_ANALYZERS,\n ENUM_TYPES.COMBUSTION_CONTROL_SYSTEMS,\n ENUM_TYPES.GAS_STORAGE_TANKS,\n ENUM_TYPES.GAS_PRESSURE_REGULATORS,\n ENUM_TYPES.NATURAL_GAS,\n // TYPE_COMPONENT Gas\n ENUM_TYPES.GAS_SOURCE,\n ENUM_TYPES.GAS_PRODUCTION,\n ENUM_TYPES.GAS_CONSUMINGS,\n ENUM_TYPES.NATURAL_GAS_SPECIAL,\n\n // Fuel\n ENUM_TYPES.FUELS,\n ENUM_TYPES.DIESEL_FUELS,\n ENUM_TYPES.GASON_LINES,\n ENUM_TYPES.BIODIESELS,\n ENUM_TYPES.KEROSENSE,\n ENUM_TYPES.PROPANES,\n\n ENUM_TYPES.FUEL_SOURCES,\n\n ENUM_TYPES.TANKER_TRUCKS,\n ENUM_TYPES.PIPELINE,\n\n ENUM_TYPES.FUEL_CONSUMINGS,\n\n ENUM_TYPES.INDUSTRIAL_BOILERS,\n ENUM_TYPES.GENERATORS,\n ENUM_TYPES.INDUSTRIAL_FURNACES,\n ENUM_TYPES.INDUSTRIAL_OVENS,\n ENUM_TYPES.INDUSTRIAL_VEHICLES_AND_EQUIPMENT,\n\n ENUM_TYPES.FUEL_METERS,\n ENUM_TYPES.FUEL_DISPENSERS,\n ENUM_TYPES.FUEL_STRORAGE_TANKS,\n ENUM_TYPES.FUEL_FILTRATIONS,\n ENUM_TYPES.FUEL_MANAGEMENTS,\n\n // Solar\n ENUM_TYPES.SOLAR_POWER,\n ENUM_TYPES.POWER_CONDITIONING_UNIT,\n ENUM_TYPES.INVERTERS,\n ENUM_TYPES.BATTERIES,\n\n // Plant Cell\n ENUM_TYPES.PLANT_CELL,\n ENUM_TYPES.PLANT_CELL_INPUT_GROUP,\n ENUM_TYPES.PLANT_CELL_OUTPUT_GROUP,\n\n // Steam\n ENUM_TYPES.VALUES,\n ENUM_TYPES.STEAM_TRAPS,\n ENUM_TYPES.PRESSURE_REGULATORS,\n ENUM_TYPES.SAFETY_VALUES_AND_EQUIPMENT,\n ENUM_TYPES.CONDENSATE_RETURN_SYSTEM,\n ENUM_TYPES.DEAERATORS,\n ENUM_TYPES.FEEDWATER_PUMPS,\n ENUM_TYPES.BLOWDOWN_TANKS,\n ENUM_TYPES.EXPANSION_TANKS,\n ENUM_TYPES.HEAT_EXCHANGERS,\n ENUM_TYPES.TURBINES,\n ENUM_TYPES.STEAM_COMPONENT,\n ENUM_TYPES.STEAM_CONSUMING_SYSTEM,\n ENUM_TYPES.ENERGY_CONVERTER,\n ] as string[];\n\n export const ICON_ASSET_PATH: string = 'assets/images/editor/icons';\n export const ICON_ASSET_WITHDRAW_DISCHARGE_ICON: string =\n '/assets/images/icons/hoskote_plant';\n export const IMAGE_RO_WATER_TREATMENT_PATH =\n '/assets/images/ro-water-treatment/RO_WATER_TREATMENT_BG.png';\n export const IMAGE_BOILER_PATH = 'assets/images/boiler/cms_boiler.png';\n export const IMAGE_COOLING_TOWER_PATH =\n 'assets/images/process-water/cooling-tower-4.png';\n export const SPECIAL_ICON_ASSET_PATH: string = 'assets/images/editor/special';\n export const ENERGY_ICON_ASSET_PATH = 'assets/images/editor/energy';\n export const GAS_ICON_ASSET_PATH = 'assets/images/editor/gas';\n export const FUEL_ICON_ASSET_PATH = 'assets/images/editor/fuel';\n export const STEAM_ICON_ASSET_PATH = 'assets/images/editor/steam';\n export const PLANT_CELL_PATH = 'assets/images/editor/plant-cell';\n export const DATA_BOX = 'assets/images/editor/data-box';\n\n export const LINK_TEMPLATES: {\n [key in AtoGojsEditorModel.ENUM_LINK_TYPES]: any;\n } = {\n [ENUM_LINK_TYPES.SIMPLE]: {\n toShortLength: 8,\n strokeWidth: 8,\n arrow: {\n toArrow: 'Triangle',\n visible: true,\n stroke: AtoGojsEditorModel.ENUM_COLORS.GRAY,\n fill: AtoGojsEditorModel.ENUM_COLORS.GRAY,\n scale: 1.7,\n },\n },\n [ENUM_LINK_TYPES.PIPE]: {\n strokeWidth: 8,\n },\n [ENUM_LINK_TYPES.PIPE_ANIMATION]: {\n strokeWidth: 8,\n animation: {\n isPanelMain: true,\n stroke: 'white',\n strokeWidth: 2,\n name: 'PIPE',\n strokeDashArray: [10, 20],\n visible: false,\n },\n },\n [ENUM_LINK_TYPES.PIPE_HIDDEN]: {\n strokeWidth: 0,\n selectable: false,\n arrow: {\n visible: false,\n },\n },\n };\n\n export interface I_TEMPLATE_ITEM {\n name: AtoGojsEditorModel.ENUM_TEMPLATES;\n icon?: string;\n size?: { w: number; h: number };\n systemType?: string;\n }\n\n export const ATTRNAME_COMPONENT: any[] = [\n 'waterWithdrawName',\n 'waterDischargeName',\n 'wasteWaterProcessName',\n 'waterTreatmentName',\n 'waterStorageTankName',\n 'genericProcessName',\n 'boilerName',\n 'coolingTowerName',\n 'facilityFunctionName',\n 'miscWaterUseName',\n 'plantTopologyName',\n ];\n\n // export enum GROUP_COMPONENT_TYPE {\n // WITHDRAW_SOURCES = 'Withdraw Sources',\n // PROCESSE = 'Processe',\n // WASTEWATER_TREATEMENTS = 'WasteWater Treatements',\n // WATER_TREATMENT = 'Water Treatments',\n // DISCHARGE_DESTINATIONS = 'Discharge Destinations',\n // WATER_STORAGE = 'Water Storage',\n // FACILITY_FUNCTIONS = 'Facility functions',\n // OTHER = 'Other',\n // }\n\n export const NODE_TEMPLATES: {\n [key in AtoGojsEditorModel.ENUM_TEMPLATES]: I_TEMPLATE_ITEM;\n } = {\n [ENUM_TEMPLATES.STORAGE]: {\n name: ENUM_TEMPLATES.STORAGE,\n icon: `${ICON_ASSET_PATH}/Raw Water Tank.svg`,\n systemType: ENUM_TYPES.STORAGE,\n },\n [ENUM_TEMPLATES.COOLING_TOWER]: {\n name: ENUM_TEMPLATES.COOLING_TOWER,\n icon: `${ICON_ASSET_PATH}/cooling_tower.svg`,\n systemType: ENUM_TYPES.COOLING_TOWER,\n },\n\n // WATER_TREATMENT\n [ENUM_TEMPLATES.WATER_TREATMENT]: {\n name: ENUM_TEMPLATES.WATER_TREATMENT,\n icon: `${ICON_ASSET_PATH}/water_treatment.svg`,\n systemType: ENUM_TYPES.WATER_TREATMENT,\n },\n [ENUM_TEMPLATES.DEMIN_WATER_TREATMENT]: {\n name: ENUM_TEMPLATES.DEMIN_WATER_TREATMENT,\n icon: `${ICON_ASSET_PATH}/Demin.svg`,\n systemType: ENUM_TYPES.DEMIN_WATER_TREATMENT,\n },\n [ENUM_TEMPLATES.RO_WATER_TREATMENT]: {\n name: ENUM_TEMPLATES.RO_WATER_TREATMENT,\n icon: `${ICON_ASSET_PATH}/RO.svg`,\n systemType: ENUM_TYPES.RO_WATER_TREATMENT,\n },\n\n [ENUM_TEMPLATES.DOMESTIC_USE]: {\n name: ENUM_TEMPLATES.DOMESTIC_USE,\n icon: `${ICON_ASSET_PATH}/Domestic_new.svg`,\n systemType: ENUM_TYPES.DOMESTIC_USE,\n },\n [ENUM_TEMPLATES.PROCESS]: {\n name: ENUM_TEMPLATES.PROCESS,\n // icon: `${ICON_ASSET_PATH}/process.svg`,\n icon: `${ICON_ASSET_PATH}/Generic Process.svg`,\n systemType: ENUM_TYPES.PROCESS,\n },\n [ENUM_TEMPLATES.SPECIAL_STORAGE]: {\n name: ENUM_TEMPLATES.SPECIAL_STORAGE,\n icon: `${ICON_ASSET_PATH}/process.svg`,\n systemType: ENUM_TYPES.SPECIAL_STORAGE,\n },\n [ENUM_TEMPLATES.BOILER]: {\n name: ENUM_TEMPLATES.BOILER,\n icon: `${ICON_ASSET_PATH}/Boiler.svg`,\n systemType: ENUM_TYPES.BOILER,\n },\n\n // WASTEWATER_TREATMENT\n [ENUM_TEMPLATES.WASTEWATER_TREATMENT]: {\n name: ENUM_TEMPLATES.WASTEWATER_TREATMENT,\n icon: `${ICON_ASSET_PATH}/wastewater_treatment.svg`,\n // size: {\n // w: GRID_SIZE * 8,\n // h: GRID_SIZE * 6,\n // },\n systemType: ENUM_TYPES.WASTEWATER_TREATMENT,\n },\n [ENUM_TEMPLATES.DAF_WASTEWATER_TREATMENT]: {\n name: ENUM_TEMPLATES.DAF_WASTEWATER_TREATMENT,\n icon: `${ICON_ASSET_PATH}/DAF.svg`,\n // size: {\n // w: GRID_SIZE * 8,\n // h: GRID_SIZE * 6,\n // },\n systemType: ENUM_TYPES.DAF_WASTEWATER_TREATMENT,\n },\n [ENUM_TEMPLATES.ETP_WASTEWATER_TREATMENT]: {\n name: ENUM_TEMPLATES.ETP_WASTEWATER_TREATMENT,\n icon: `${ICON_ASSET_PATH}/water_treatment.svg`,\n systemType: ENUM_TYPES.ETP_WASTEWATER_TREATMENT,\n },\n [ENUM_TEMPLATES.MBR_WASTEWATER_TREATMENT]: {\n name: ENUM_TEMPLATES.MBR_WASTEWATER_TREATMENT,\n icon: `${ICON_ASSET_PATH}/MBR.svg`,\n // size: {\n // w: GRID_SIZE * 8,\n // h: GRID_SIZE * 6,\n // },\n systemType: ENUM_TYPES.MBR_WASTEWATER_TREATMENT,\n },\n [ENUM_TEMPLATES.ZLD_WASTEWATER_TREATMENT]: {\n name: ENUM_TEMPLATES.ZLD_WASTEWATER_TREATMENT,\n icon: `${ICON_ASSET_PATH}/ZLD.svg`,\n // size: {\n // w: GRID_SIZE * 8,\n // h: GRID_SIZE * 6,\n // },\n systemType: ENUM_TYPES.ZLD_WASTEWATER_TREATMENT,\n },\n\n [ENUM_TEMPLATES.LANDSCAPING_IRRIGATION]: {\n name: ENUM_TEMPLATES.LANDSCAPING_IRRIGATION,\n icon: `${ICON_ASSET_PATH}/Irrigation.svg`,\n // size: {\n // w: GRID_SIZE * 8,\n // h: GRID_SIZE * 6,\n // },\n systemType: ENUM_TYPES.LANDSCAPING_IRRIGATION,\n },\n [ENUM_TEMPLATES.OTHER]: {\n name: ENUM_TEMPLATES.OTHER,\n icon: `${ICON_ASSET_PATH}/other.svg`,\n systemType: ENUM_TYPES.OTHER,\n },\n [ENUM_TEMPLATES.TEXT_NODE]: {\n name: ENUM_TEMPLATES.TEXT_NODE,\n },\n [ENUM_TEMPLATES.EMPTY]: {\n name: ENUM_TEMPLATES.EMPTY,\n },\n\n [ENUM_TEMPLATES.VALUE_NODE]: {\n name: ENUM_TEMPLATES.VALUE_NODE,\n },\n [ENUM_TEMPLATES.VALUE_LABEL]: {\n name: ENUM_TEMPLATES.VALUE_LABEL,\n },\n [ENUM_TEMPLATES.TEXT_LABEL]: {\n name: ENUM_TEMPLATES.TEXT_LABEL,\n },\n [ENUM_TEMPLATES.DATA_BOX]: {\n name: ENUM_TEMPLATES.DATA_BOX,\n },\n\n [ENUM_TEMPLATES.SPECIAL_PROCESS]: {\n name: ENUM_TEMPLATES.SPECIAL_PROCESS,\n icon: `${SPECIAL_ICON_ASSET_PATH}/process.svg`,\n },\n [ENUM_TEMPLATES.SPECIAL_STORE]: {\n name: ENUM_TEMPLATES.SPECIAL_STORE,\n icon: `${SPECIAL_ICON_ASSET_PATH}/Discharge.svg`,\n },\n [ENUM_TEMPLATES.SPECIAL_DISCHARGE]: {\n name: ENUM_TEMPLATES.SPECIAL_DISCHARGE,\n icon: `${SPECIAL_ICON_ASSET_PATH}/Discharge.svg`,\n },\n\n [ENUM_TEMPLATES.THIRD_PARTY_SOURCES]: {\n name: ENUM_TEMPLATES.THIRD_PARTY_SOURCES,\n // icon: `${ICON_ASSET_PATH}/Intake.svg`,\n icon: `${ICON_ASSET_PATH}/Third Party Sources.svg`,\n systemType: ENUM_TYPES.THIRD_PARTY_SOURCES,\n },\n\n [ENUM_TEMPLATES.THIRD_PARTY_DESTINATIONS]: {\n name: ENUM_TEMPLATES.THIRD_PARTY_DESTINATIONS,\n // icon: `${ICON_ASSET_PATH}/Intake.svg`,\n icon: `${ICON_ASSET_PATH}/Third party destinations.svg`,\n systemType: ENUM_TYPES.THIRD_PARTY_DESTINATIONS,\n },\n\n [ENUM_TEMPLATES.GROUND_WATER_NON_RENEWABLE]: {\n name: ENUM_TEMPLATES.GROUND_WATER_NON_RENEWABLE,\n icon: `${ICON_ASSET_PATH}/Groundwater - Non-Renewable.svg`,\n systemType: ENUM_TYPES.GROUND_WATER_NON_RENEWABLE,\n },\n [ENUM_TEMPLATES.PRODUCED_ENTRAINED]: {\n name: ENUM_TEMPLATES.PRODUCED_ENTRAINED,\n icon: `${ICON_ASSET_PATH}/Produced Entrained Water.svg`,\n systemType: ENUM_TYPES.PRODUCED_ENTRAINED,\n },\n [ENUM_TEMPLATES.BRACKISH_SURFACE_WATER]: {\n name: ENUM_TEMPLATES.BRACKISH_SURFACE_WATER,\n icon: `${ICON_ASSET_PATH}/Brackisk Surface Water Seawater.svg`,\n systemType: ENUM_TYPES.BRACKISH_SURFACE_WATER,\n },\n\n [ENUM_TEMPLATES.FRESH_SURFACE_WATER]: {\n name: ENUM_TEMPLATES.FRESH_SURFACE_WATER,\n icon: `${ICON_ASSET_PATH}/Fresh Surface Water.svg`,\n systemType: ENUM_TYPES.FRESH_SURFACE_WATER,\n },\n [ENUM_TEMPLATES.UTILITY]: {\n name: ENUM_TEMPLATES.UTILITY,\n icon: '',\n // `${ICON_ASSET_PATH}/rain.svg`,\n },\n\n [ENUM_TEMPLATES.GROUND_WATER_RENEWABLE]: {\n name: ENUM_TEMPLATES.GROUND_WATER_RENEWABLE,\n icon: `${ICON_ASSET_PATH}/Groundwater - Renewable.svg`,\n systemType: ENUM_TYPES.GROUND_WATER_RENEWABLE,\n },\n [ENUM_TEMPLATES.SPECIAL_OTHER]: {\n name: ENUM_TEMPLATES.SPECIAL_OTHER,\n icon: `${SPECIAL_ICON_ASSET_PATH}/Discharge.svg`,\n },\n // Energy\n // Electric Node Template ====================================================================\n [ENUM_TEMPLATES.GRID]: {\n name: ENUM_TEMPLATES.GRID,\n icon: `${ENERGY_ICON_ASSET_PATH}/Grid.svg`,\n systemType: ENUM_TYPES.GRID,\n // size: {\n // h: GRID_SIZE * 8,\n // w: GRID_SIZE * 6,\n // },\n },\n [ENUM_TEMPLATES.DIESEL_GENERATORS]: {\n name: ENUM_TEMPLATES.DIESEL_GENERATORS,\n icon: `${ENERGY_ICON_ASSET_PATH}/Diesel Generators.svg`,\n systemType: ENUM_TYPES.DIESEL_GENERATORS,\n // size: {\n // h: GRID_SIZE * 8,\n // w: GRID_SIZE * 6,\n // },\n },\n [ENUM_TEMPLATES.BATTERY_ENERGY_STORAGE]: {\n name: ENUM_TEMPLATES.BATTERY_ENERGY_STORAGE,\n icon: `${ENERGY_ICON_ASSET_PATH}/Battery.svg`,\n systemType: ENUM_TYPES.BATTERY_ENERGY_STORAGE,\n },\n [ENUM_TEMPLATES.LIGHTING_SYSTEMS]: {\n name: ENUM_TEMPLATES.LIGHTING_SYSTEMS,\n icon: `${ENERGY_ICON_ASSET_PATH}/Lighting systems.svg`,\n systemType: ENUM_TYPES.LIGHTING_SYSTEMS,\n },\n [ENUM_TEMPLATES.LIGHTINGS]: {\n name: ENUM_TEMPLATES.LIGHTINGS,\n icon: `${ENERGY_ICON_ASSET_PATH}/Lights.svg`,\n systemType: ENUM_TYPES.LIGHTINGS,\n },\n [ENUM_TEMPLATES.ELECTRIC_METERS]: {\n name: ENUM_TEMPLATES.ELECTRIC_METERS,\n icon: `${ENERGY_ICON_ASSET_PATH}/Meter.svg`,\n systemType: ENUM_TYPES.ELECTRIC_METERS,\n },\n\n [ENUM_TEMPLATES.TRANSFORMERS]: {\n name: ENUM_TEMPLATES.TRANSFORMERS,\n icon: `${ENERGY_ICON_ASSET_PATH}/Transformer.svg`,\n systemType: ENUM_TYPES.TRANSFORMERS,\n },\n [ENUM_TEMPLATES.ELECTRIC_FLYWHEEL_ENERGY_STORAGE]: {\n name: ENUM_TEMPLATES.ELECTRIC_FLYWHEEL_ENERGY_STORAGE,\n icon: `${ENERGY_ICON_ASSET_PATH}/Pumped hydro storage systems.svg`,\n systemType: ENUM_TYPES.ELECTRIC_FLYWHEEL_ENERGY_STORAGE,\n },\n [ENUM_TEMPLATES.PUMPED_HYDRO_STORAGE]: {\n name: ENUM_TEMPLATES.PUMPED_HYDRO_STORAGE,\n icon: `${ENERGY_ICON_ASSET_PATH}/Pumped hydro storage systems.svg`,\n systemType: ENUM_TYPES.PUMPED_HYDRO_STORAGE,\n },\n [ENUM_TEMPLATES.THERMAL_ENERGY_STORAGE]: {\n name: ENUM_TEMPLATES.THERMAL_ENERGY_STORAGE,\n icon: `${ENERGY_ICON_ASSET_PATH}/Thermal energy storage systems.svg`,\n systemType: ENUM_TYPES.THERMAL_ENERGY_STORAGE,\n },\n [ENUM_TEMPLATES.SUPER_CAPACITOR_ENERGY_STORAGE]: {\n name: ENUM_TEMPLATES.SUPER_CAPACITOR_ENERGY_STORAGE,\n icon: `${ENERGY_ICON_ASSET_PATH}/Supercapacitor energy storage systems.svg`,\n systemType: ENUM_TYPES.SUPER_CAPACITOR_ENERGY_STORAGE,\n },\n [ENUM_TEMPLATES.SWITCH_GEARS]: {\n name: ENUM_TEMPLATES.SWITCH_GEARS,\n icon: `${ENERGY_ICON_ASSET_PATH}/Switchgear.svg`,\n systemType: ENUM_TYPES.SWITCH_GEARS,\n },\n [ENUM_TEMPLATES.PROCESS_CONTROL_AUTOMATION_SYSTEMS]: {\n name: ENUM_TEMPLATES.PROCESS_CONTROL_AUTOMATION_SYSTEMS,\n icon: `${ENERGY_ICON_ASSET_PATH}/Process control and automation systems.svg`,\n systemType: ENUM_TYPES.PROCESS_CONTROL_AUTOMATION_SYSTEMS,\n },\n [ENUM_TEMPLATES.PROCESS_EQUIPMENT_MACHINES]: {\n name: ENUM_TEMPLATES.PROCESS_EQUIPMENT_MACHINES,\n icon: `${ENERGY_ICON_ASSET_PATH}/Process equipment and machines.svg`,\n systemType: ENUM_TYPES.PROCESS_EQUIPMENT_MACHINES,\n },\n [ENUM_TEMPLATES.OFFICE_EQUIPMENT]: {\n name: ENUM_TEMPLATES.OFFICE_EQUIPMENT,\n icon: `${ENERGY_ICON_ASSET_PATH}/Office equipment.svg`,\n systemType: ENUM_TYPES.OFFICE_EQUIPMENT,\n },\n [ENUM_TEMPLATES.POWER_DISTRIBUTION_CONTROL_SYSTEMS]: {\n name: ENUM_TEMPLATES.POWER_DISTRIBUTION_CONTROL_SYSTEMS,\n icon: `${ENERGY_ICON_ASSET_PATH}/Power distribution and control systems.svg`,\n systemType: ENUM_TYPES.POWER_DISTRIBUTION_CONTROL_SYSTEMS,\n },\n [ENUM_TEMPLATES.POWER_DISTRIBUTION_SYSTEMS]: {\n name: ENUM_TEMPLATES.POWER_DISTRIBUTION_SYSTEMS,\n icon: `${ENERGY_ICON_ASSET_PATH}/Power distribution systems.svg`,\n systemType: ENUM_TYPES.POWER_DISTRIBUTION_SYSTEMS,\n },\n [ENUM_TEMPLATES.NATURAL_GAS_GENERATORS]: {\n name: ENUM_TEMPLATES.NATURAL_GAS_GENERATORS,\n icon: `${ENERGY_ICON_ASSET_PATH}/Natural gas generators.svg`,\n systemType: ENUM_TYPES.NATURAL_GAS_GENERATORS,\n },\n [ENUM_TEMPLATES.MOTOR_CONTROLS]: {\n name: ENUM_TEMPLATES.MOTOR_CONTROLS,\n icon: `${ENERGY_ICON_ASSET_PATH}/Motor control centers (MCCs).svg`,\n systemType: ENUM_TYPES.MOTOR_CONTROLS,\n },\n [ENUM_TEMPLATES.VARIABLE_FREQUENCY_DRIVERS]: {\n name: ENUM_TEMPLATES.VARIABLE_FREQUENCY_DRIVERS,\n icon: `${ENERGY_ICON_ASSET_PATH}/Variable frequency drives (VFDs).svg`,\n systemType: ENUM_TYPES.VARIABLE_FREQUENCY_DRIVERS,\n },\n [ENUM_TEMPLATES.ELECTRIC_HVAC]: {\n name: ENUM_TEMPLATES.ELECTRIC_HVAC,\n icon: `${ENERGY_ICON_ASSET_PATH}/Gas HVAC.svg`,\n systemType: ENUM_TYPES.ELECTRIC_HVAC,\n },\n [ENUM_TEMPLATES.COMPRESSED_AIR_SYSTEMS]: {\n name: ENUM_TEMPLATES.COMPRESSED_AIR_SYSTEMS,\n icon: `${ENERGY_ICON_ASSET_PATH}/Compressed air.svg`,\n systemType: ENUM_TYPES.COMPRESSED_AIR_SYSTEMS,\n },\n [ENUM_TEMPLATES.REFRIGERATION_COOLING_SYSTEMS]: {\n name: ENUM_TEMPLATES.REFRIGERATION_COOLING_SYSTEMS,\n icon: `${ENERGY_ICON_ASSET_PATH}/Refrigeration and cooling systems.svg`,\n systemType: ENUM_TYPES.REFRIGERATION_COOLING_SYSTEMS,\n },\n\n [ENUM_TEMPLATES.MATERIAL_HANDLING_EQUIPMENT]: {\n name: ENUM_TEMPLATES.MATERIAL_HANDLING_EQUIPMENT,\n icon: `${ENERGY_ICON_ASSET_PATH}/Material handling equipment.svg`,\n systemType: ENUM_TYPES.MATERIAL_HANDLING_EQUIPMENT,\n },\n [ENUM_TEMPLATES.WIND_POWER]: {\n name: ENUM_TEMPLATES.WIND_POWER,\n icon: `${ENERGY_ICON_ASSET_PATH}/Wind Power.svg`,\n systemType: ENUM_TYPES.WIND_POWER,\n },\n\n [ENUM_TEMPLATES.ELECTRIC_INDUSTRIAL_MOTORS]: {\n name: ENUM_TEMPLATES.ELECTRIC_INDUSTRIAL_MOTORS,\n icon: `${ENERGY_ICON_ASSET_PATH}/Industrial motors.svg`,\n systemType: ENUM_TYPES.ELECTRIC_INDUSTRIAL_MOTORS,\n },\n [ENUM_TEMPLATES.GROUNDING]: {\n name: ENUM_TEMPLATES.GROUNDING,\n icon: `${ENERGY_ICON_ASSET_PATH}/Grounding systems.svg`,\n systemType: ENUM_TYPES.GROUNDING,\n },\n // Gas ================================================================================\n\n [ENUM_TEMPLATES.NATURAL_GAS_PIPELINES]: {\n name: ENUM_TEMPLATES.NATURAL_GAS_PIPELINES,\n icon: `${GAS_ICON_ASSET_PATH}/Natural gas pipelines.svg`,\n systemType: ENUM_TYPES.NATURAL_GAS_PIPELINES,\n },\n // [ENUM_TEMPLATES.LIQUEFIED_NATURAL_GAS]: {\n // name: ENUM_TEMPLATES.LIQUEFIED_NATURAL_GAS,\n // icon: `${GAS_ICON_ASSET_PATH}/Liquefied natural gas (LNG) shipments.svg`,\n // systemType: ENUM_TYPES.LIQUEFIED_NATURAL_GAS,\n // },\n [ENUM_TEMPLATES.COMPRESSED_NATURAL_GAS_PIPELINE]: {\n name: ENUM_TEMPLATES.COMPRESSED_NATURAL_GAS_PIPELINE,\n icon: `${GAS_ICON_ASSET_PATH}/Compressed natural gas pipeline (CNG).svg`,\n systemType: ENUM_TYPES.COMPRESSED_NATURAL_GAS_PIPELINE,\n },\n // [ENUM_TEMPLATES.ON_SITE_PRODUCTION]: {\n // name: ENUM_TEMPLATES.ON_SITE_PRODUCTION,\n // icon: `${GAS_ICON_ASSET_PATH}/On-site production.svg`,\n // systemType: ENUM_TYPES.ON_SITE_PRODUCTION,\n // },\n [ENUM_TEMPLATES.COMPRESSED_NATURAL_GAS_PRODUCTION]: {\n name: ENUM_TEMPLATES.COMPRESSED_NATURAL_GAS_PRODUCTION,\n icon: `${GAS_ICON_ASSET_PATH}/Compressed natural gas pipeline (CNG).svg`,\n systemType: ENUM_TYPES.COMPRESSED_NATURAL_GAS_PRODUCTION,\n },\n [ENUM_TEMPLATES.BOILERS_AND_HEATERS]: {\n name: ENUM_TEMPLATES.BOILERS_AND_HEATERS,\n icon: `${GAS_ICON_ASSET_PATH}/Boilers and heaters.svg`,\n systemType: ENUM_TYPES.BOILERS_AND_HEATERS,\n },\n [ENUM_TEMPLATES.FURNACES]: {\n name: ENUM_TEMPLATES.FURNACES,\n icon: `${GAS_ICON_ASSET_PATH}/Furnaces.svg`,\n systemType: ENUM_TYPES.FURNACES,\n },\n [ENUM_TEMPLATES.POWER_GENERATION]: {\n name: ENUM_TEMPLATES.POWER_GENERATION,\n icon: `${GAS_ICON_ASSET_PATH}/Power generation.svg`,\n systemType: ENUM_TYPES.POWER_GENERATION,\n },\n [ENUM_TEMPLATES.COGENERATION]: {\n name: ENUM_TEMPLATES.COGENERATION,\n icon: `${GAS_ICON_ASSET_PATH}/Cogeneration.svg`,\n systemType: ENUM_TYPES.COGENERATION,\n },\n [ENUM_TEMPLATES.COMBINED_CYCLE_POWER_PLANTS]: {\n name: ENUM_TEMPLATES.COMBINED_CYCLE_POWER_PLANTS,\n icon: `${GAS_ICON_ASSET_PATH}/Combined cycle power plants.svg`,\n systemType: ENUM_TYPES.COMBINED_CYCLE_POWER_PLANTS,\n },\n [ENUM_TEMPLATES.FUEL_FOR_VEHICLES_AND_EQUIPMENT]: {\n name: ENUM_TEMPLATES.FUEL_FOR_VEHICLES_AND_EQUIPMENT,\n icon: `${GAS_ICON_ASSET_PATH}/Fuel for vehicles and equipment.svg`,\n systemType: ENUM_TYPES.FUEL_FOR_VEHICLES_AND_EQUIPMENT,\n },\n [ENUM_TEMPLATES.GAS_METERS]: {\n name: ENUM_TEMPLATES.GAS_METERS,\n icon: `${GAS_ICON_ASSET_PATH}/Gas meters.svg`,\n systemType: ENUM_TYPES.GAS_METERS,\n },\n // [ENUM_TEMPLATES.BURNERS]: {\n // name: ENUM_TEMPLATES.BURNERS,\n // icon: `${GAS_ICON_ASSET_PATH}/Burners.svg`,\n // systemType: ENUM_TYPES.BURNERS,\n // },\n // [ENUM_TEMPLATES.FLUE_GAS_ANALYZERS]: {\n // name: ENUM_TEMPLATES.FLUE_GAS_ANALYZERS,\n // icon: `${GAS_ICON_ASSET_PATH}/Flue gas analyzers.svg`,\n // systemType: ENUM_TYPES.FLUE_GAS_ANALYZERS,\n // },\n [ENUM_TEMPLATES.COMBUSTION_CONTROL_SYSTEMS]: {\n name: ENUM_TEMPLATES.COMBUSTION_CONTROL_SYSTEMS,\n icon: `${GAS_ICON_ASSET_PATH}/Combustion control systems.svg`,\n systemType: ENUM_TYPES.COMBUSTION_CONTROL_SYSTEMS,\n },\n [ENUM_TEMPLATES.GAS_STORAGE_TANKS]: {\n name: ENUM_TEMPLATES.GAS_STORAGE_TANKS,\n icon: `${GAS_ICON_ASSET_PATH}/Gas storage tanks.svg`,\n systemType: ENUM_TYPES.GAS_STORAGE_TANKS,\n },\n [ENUM_TEMPLATES.GAS_PRESSURE_REGULATORS]: {\n name: ENUM_TEMPLATES.GAS_PRESSURE_REGULATORS,\n icon: `${GAS_ICON_ASSET_PATH}/Gas pressure regulators.svg`,\n systemType: ENUM_TYPES.GAS_PRESSURE_REGULATORS,\n },\n [ENUM_TEMPLATES.NATURAL_GAS]: {\n name: ENUM_TEMPLATES.NATURAL_GAS,\n icon: `${GAS_ICON_ASSET_PATH}/Natural Gas.svg`,\n systemType: ENUM_TYPES.NATURAL_GAS,\n },\n // Fuel==========================================================\n [ENUM_TEMPLATES.DIESEL_FUELS]: {\n name: ENUM_TEMPLATES.DIESEL_FUELS,\n icon: `${FUEL_ICON_ASSET_PATH}/Diesel fuel.svg`,\n systemType: ENUM_TYPES.DIESEL_FUELS,\n },\n [ENUM_TEMPLATES.GASON_LINES]: {\n name: ENUM_TEMPLATES.GASON_LINES,\n icon: `${FUEL_ICON_ASSET_PATH}/Gasoline.svg`,\n systemType: ENUM_TYPES.GASON_LINES,\n },\n [ENUM_TEMPLATES.BIODIESELS]: {\n name: ENUM_TEMPLATES.BIODIESELS,\n icon: `${FUEL_ICON_ASSET_PATH}/Biodiesel.svg`,\n systemType: ENUM_TYPES.BIODIESELS,\n },\n [ENUM_TEMPLATES.KEROSENSE]: {\n name: ENUM_TEMPLATES.KEROSENSE,\n icon: `${FUEL_ICON_ASSET_PATH}/Kerosene.svg`,\n systemType: ENUM_TYPES.KEROSENSE,\n },\n [ENUM_TEMPLATES.PROPANES]: {\n name: ENUM_TEMPLATES.PROPANES,\n icon: `${FUEL_ICON_ASSET_PATH}/Propane.svg`,\n systemType: ENUM_TYPES.PROPANES,\n },\n [ENUM_TEMPLATES.TANKER_TRUCKS]: {\n name: ENUM_TEMPLATES.TANKER_TRUCKS,\n icon: `${FUEL_ICON_ASSET_PATH}/Tanker Trucks.svg`,\n systemType: ENUM_TYPES.TANKER_TRUCKS,\n },\n [ENUM_TEMPLATES.PIPELINE]: {\n name: ENUM_TEMPLATES.PIPELINE,\n icon: `${FUEL_ICON_ASSET_PATH}/Pipeline.svg`,\n systemType: ENUM_TYPES.PIPELINE,\n },\n\n [ENUM_TEMPLATES.INDUSTRIAL_BOILERS]: {\n name: ENUM_TEMPLATES.INDUSTRIAL_BOILERS,\n icon: `${FUEL_ICON_ASSET_PATH}/Industrial boilers.svg`,\n systemType: ENUM_TYPES.INDUSTRIAL_BOILERS,\n },\n [ENUM_TEMPLATES.GENERATORS]: {\n name: ENUM_TEMPLATES.GENERATORS,\n icon: `${FUEL_ICON_ASSET_PATH}/Generators.svg`,\n systemType: ENUM_TYPES.GENERATORS,\n },\n [ENUM_TEMPLATES.INDUSTRIAL_FURNACES]: {\n name: ENUM_TEMPLATES.INDUSTRIAL_FURNACES,\n icon: `${FUEL_ICON_ASSET_PATH}/Industrial furnaces.svg`,\n systemType: ENUM_TYPES.INDUSTRIAL_FURNACES,\n },\n [ENUM_TEMPLATES.INDUSTRIAL_OVENS]: {\n name: ENUM_TEMPLATES.INDUSTRIAL_OVENS,\n icon: `${FUEL_ICON_ASSET_PATH}/Industrial ovens.svg`,\n systemType: ENUM_TYPES.INDUSTRIAL_OVENS,\n },\n [ENUM_TEMPLATES.INDUSTRIAL_VEHICLES_AND_EQUIPMENT]: {\n name: ENUM_TEMPLATES.INDUSTRIAL_VEHICLES_AND_EQUIPMENT,\n icon: `${FUEL_ICON_ASSET_PATH}/Industrial vehicles and equipment.svg`,\n systemType: ENUM_TYPES.INDUSTRIAL_VEHICLES_AND_EQUIPMENT,\n },\n\n [ENUM_TEMPLATES.FUEL_METERS]: {\n name: ENUM_TEMPLATES.FUEL_METERS,\n icon: `${FUEL_ICON_ASSET_PATH}/Fuel meters.svg`,\n systemType: ENUM_TYPES.FUEL_METERS,\n },\n [ENUM_TEMPLATES.FUEL_DISPENSERS]: {\n name: ENUM_TEMPLATES.FUEL_DISPENSERS,\n icon: `${FUEL_ICON_ASSET_PATH}/Fuel dispensers.svg`,\n systemType: ENUM_TYPES.FUEL_DISPENSERS,\n },\n [ENUM_TEMPLATES.FUEL_STRORAGE_TANKS]: {\n name: ENUM_TEMPLATES.FUEL_STRORAGE_TANKS,\n icon: `${FUEL_ICON_ASSET_PATH}/Fuel storage tanks.svg`,\n systemType: ENUM_TYPES.FUEL_STRORAGE_TANKS,\n },\n [ENUM_TEMPLATES.FUEL_FILTRATIONS]: {\n name: ENUM_TEMPLATES.FUEL_FILTRATIONS,\n icon: `${FUEL_ICON_ASSET_PATH}/Fuel filtration systems.svg`,\n systemType: ENUM_TYPES.FUEL_FILTRATIONS,\n },\n [ENUM_TEMPLATES.FUEL_MANAGEMENTS]: {\n name: ENUM_TEMPLATES.FUEL_MANAGEMENTS,\n icon: `${FUEL_ICON_ASSET_PATH}/Fuel management systems.svg`,\n systemType: ENUM_TYPES.FUEL_MANAGEMENTS,\n },\n\n [ENUM_TEMPLATES.FUELS]: {\n name: ENUM_TEMPLATES.FUELS,\n icon: `${FUEL_ICON_ASSET_PATH}/Diesel fuel.svg`,\n systemType: ENUM_TYPES.FUELS,\n },\n\n // Gas new\n [ENUM_TEMPLATES.LIQUEFIED_NATURAL_GAS]: {\n name: ENUM_TEMPLATES.LIQUEFIED_NATURAL_GAS,\n icon: `${ENERGY_ICON_ASSET_PATH}/Natural gas generators.svg`,\n systemType: ENUM_TYPES.LIQUEFIED_NATURAL_GAS,\n },\n [ENUM_TEMPLATES.ON_SITE_PRODUCTION]: {\n name: ENUM_TEMPLATES.ON_SITE_PRODUCTION,\n icon: `${ENERGY_ICON_ASSET_PATH}/Natural gas generators.svg`,\n systemType: ENUM_TYPES.ON_SITE_PRODUCTION,\n },\n\n [ENUM_TEMPLATES.BURNERS]: {\n name: ENUM_TEMPLATES.BURNERS,\n icon: `${ENERGY_ICON_ASSET_PATH}/Power conditioning unit (PCU).svg`,\n systemType: ENUM_TYPES.BURNERS,\n },\n [ENUM_TEMPLATES.FLUE_GAS_ANALYZERS]: {\n name: ENUM_TEMPLATES.FLUE_GAS_ANALYZERS,\n icon: `${ENERGY_ICON_ASSET_PATH}/Power conditioning unit (PCU).svg`,\n systemType: ENUM_TYPES.FLUE_GAS_ANALYZERS,\n },\n // Solar ==========================================================\n [ENUM_TEMPLATES.SOLAR_POWER]: {\n name: ENUM_TEMPLATES.SOLAR_POWER,\n icon: `${ENERGY_ICON_ASSET_PATH}/Solar.svg`,\n systemType: ENUM_TYPES.SOLAR_POWER,\n },\n [ENUM_TEMPLATES.POWER_CONDITIONING_UNIT]: {\n name: ENUM_TEMPLATES.POWER_CONDITIONING_UNIT,\n icon: `${ENERGY_ICON_ASSET_PATH}/Power conditioning unit (PCU).svg`,\n systemType: ENUM_TYPES.POWER_CONDITIONING_UNIT,\n },\n [ENUM_TEMPLATES.INVERTERS]: {\n name: ENUM_TEMPLATES.INVERTERS,\n icon: `${ENERGY_ICON_ASSET_PATH}/Inverter.svg`,\n systemType: ENUM_TYPES.INVERTERS,\n },\n [ENUM_TEMPLATES.BATTERIES]: {\n name: ENUM_TEMPLATES.BATTERIES,\n icon: `${ENERGY_ICON_ASSET_PATH}/Battery.svg`,\n systemType: ENUM_TYPES.BATTERIES,\n },\n\n [ENUM_TEMPLATES.ZONE]: {\n name: ENUM_TEMPLATES.ZONE,\n // icon: `${ENERGY_ICON_ASSET_PATH}/Battery.svg`,\n },\n [ENUM_TEMPLATES.ZONE_ENERGY_ITEM]: {\n name: ENUM_TEMPLATES.ZONE_ENERGY_ITEM,\n },\n\n // UNCATEGORIZED\n [ENUM_TEMPLATES.UNCATEGORIZED]: {\n name: ENUM_TEMPLATES.UNCATEGORIZED,\n icon: '',\n // `${ICON_ASSET_PATH}/rain.svg`,\n },\n\n // Plant Cell\n [ENUM_TEMPLATES.PLANT_CELL]: {\n name: ENUM_TEMPLATES.PLANT_CELL,\n icon: `${PLANT_CELL_PATH}/Cell.svg`,\n systemType: ENUM_TYPES.PLANT_CELL,\n },\n [ENUM_TEMPLATES.INPUT_PLANT_CELL]: {\n name: ENUM_TEMPLATES.INPUT_PLANT_CELL,\n icon: '',\n },\n [ENUM_TEMPLATES.OUTPUT_PLANT_CELL]: {\n name: ENUM_TEMPLATES.OUTPUT_PLANT_CELL,\n icon: '',\n },\n\n [ENUM_TEMPLATES.PLANT_CELL_INPUT_GROUP]: {\n name: ENUM_TEMPLATES.PLANT_CELL_INPUT_GROUP,\n icon: ``,\n },\n [ENUM_TEMPLATES.PLANT_CELL_OUTPUT_GROUP]: {\n name: ENUM_TEMPLATES.PLANT_CELL_OUTPUT_GROUP,\n icon: ``,\n },\n\n [ENUM_TEMPLATES.IMAGE_TEMPLATE]: {\n name: ENUM_TEMPLATES.IMAGE_TEMPLATE,\n icon: ``,\n },\n [ENUM_TEMPLATES.PARAM_TABLE]: {\n name: ENUM_TEMPLATES.PARAM_TABLE,\n icon: ``,\n },\n [ENUM_TEMPLATES.MASS_BALANCE]: {\n name: ENUM_TEMPLATES.MASS_BALANCE,\n icon: ``,\n },\n\n // STEAM\n [ENUM_TEMPLATES.STEAM_PIPELINE]: {\n name: ENUM_TEMPLATES.STEAM_PIPELINE,\n icon: `${STEAM_ICON_ASSET_PATH}/Pipeline.svg`,\n },\n [ENUM_TEMPLATES.VALUES]: {\n name: ENUM_TEMPLATES.VALUES,\n icon: `${STEAM_ICON_ASSET_PATH}/Steam_Valve.png`,\n },\n [ENUM_TEMPLATES.STEAM_TRAPS]: {\n name: ENUM_TEMPLATES.STEAM_TRAPS,\n icon: `${STEAM_ICON_ASSET_PATH}/Trap.png`,\n },\n [ENUM_TEMPLATES.PRESSURE_REGULATORS]: {\n name: ENUM_TEMPLATES.PRESSURE_REGULATORS,\n icon: `${STEAM_ICON_ASSET_PATH}/Pressure_Regulator.png`,\n },\n [ENUM_TEMPLATES.SAFETY_VALUES_AND_EQUIPMENT]: {\n name: ENUM_TEMPLATES.SAFETY_VALUES_AND_EQUIPMENT,\n icon: `${STEAM_ICON_ASSET_PATH}/safety valve.png`,\n },\n [ENUM_TEMPLATES.CONDENSATE_RETURN_SYSTEM]: {\n name: ENUM_TEMPLATES.CONDENSATE_RETURN_SYSTEM,\n icon: `${STEAM_ICON_ASSET_PATH}/Condensate Return System.png`,\n },\n [ENUM_TEMPLATES.DEAERATORS]: {\n name: ENUM_TEMPLATES.DEAERATORS,\n icon: `${STEAM_ICON_ASSET_PATH}/Deaerators.png`,\n },\n [ENUM_TEMPLATES.FEEDWATER_PUMPS]: {\n name: ENUM_TEMPLATES.FEEDWATER_PUMPS,\n icon: `${STEAM_ICON_ASSET_PATH}/Feed Water Pump.png`,\n },\n [ENUM_TEMPLATES.BLOWDOWN_TANKS]: {\n name: ENUM_TEMPLATES.BLOWDOWN_TANKS,\n icon: `${STEAM_ICON_ASSET_PATH}/Blowdown tank.png`,\n },\n [ENUM_TEMPLATES.EXPANSION_TANKS]: {\n name: ENUM_TEMPLATES.EXPANSION_TANKS,\n icon: `${STEAM_ICON_ASSET_PATH}/Expansion Tanks.png`,\n },\n [ENUM_TEMPLATES.HEAT_EXCHANGERS]: {\n name: ENUM_TEMPLATES.HEAT_EXCHANGERS,\n icon: `${STEAM_ICON_ASSET_PATH}/heat exchangers.png`,\n },\n [ENUM_TEMPLATES.TURBINES]: {\n name: ENUM_TEMPLATES.TURBINES,\n icon: `${STEAM_ICON_ASSET_PATH}/steam turbine.png`,\n },\n\n // Plant Basic\n [ENUM_TEMPLATES.GROUP_BASIC_COMPONENT]: {\n name: ENUM_TEMPLATES.GROUP_BASIC_COMPONENT,\n icon: ``,\n },\n };\n\n export const WITHDRAW_DISCHARGE_ICON: {\n [key in string]: any;\n } = {\n [ENUM_TYPES.FRESH_SURFACE_WATER]: {\n name: ENUM_TEMPLATES.FRESH_SURFACE_WATER,\n iconActive: `${ICON_ASSET_WITHDRAW_DISCHARGE_ICON}/Fresh surface water - Duo.svg`,\n iconDisabled: `${ICON_ASSET_WITHDRAW_DISCHARGE_ICON}/Fresh surface water.svg`,\n },\n [ENUM_TYPES.THIRD_PARTY_SOURCES]: {\n name: ENUM_TEMPLATES.THIRD_PARTY_SOURCES,\n iconActive: `${ICON_ASSET_WITHDRAW_DISCHARGE_ICON}/Third party sources - Duo.svg`,\n iconDisabled: `${ICON_ASSET_WITHDRAW_DISCHARGE_ICON}/Third party sources.svg`,\n isHasWaterCapcity: true,\n },\n [ENUM_TYPES.THIRD_PARTY_DESTINATIONS]: {\n name: ENUM_TEMPLATES.THIRD_PARTY_DESTINATIONS,\n iconActive: `${ICON_ASSET_WITHDRAW_DISCHARGE_ICON}/Third party sources - Duo.svg`,\n iconDisabled: `${ICON_ASSET_WITHDRAW_DISCHARGE_ICON}/Third party sources.svg`,\n isHasWaterCapcity: true,\n },\n [ENUM_TYPES.GROUND_WATER_NON_RENEWABLE]: {\n name: ENUM_TEMPLATES.GROUND_WATER_NON_RENEWABLE,\n iconActive: `${ICON_ASSET_WITHDRAW_DISCHARGE_ICON}/Groundwater - non-renewable - Duo.svg`,\n iconDisabled: `${ICON_ASSET_WITHDRAW_DISCHARGE_ICON}/Groundwater - non-renewable.svg`,\n },\n [ENUM_TYPES.PRODUCED_ENTRAINED]: {\n name: ENUM_TEMPLATES.PRODUCED_ENTRAINED,\n iconActive: `${ICON_ASSET_WITHDRAW_DISCHARGE_ICON}/Groundwater - renewable - Duo.svg`,\n iconDisabled: `${ICON_ASSET_WITHDRAW_DISCHARGE_ICON}/Groundwater - renewable.svg`,\n },\n [ENUM_TYPES.BRACKISH_SURFACE_WATER]: {\n name: ENUM_TEMPLATES.BRACKISH_SURFACE_WATER,\n iconiconActive: `${ICON_ASSET_WITHDRAW_DISCHARGE_ICON}/Brackish surface - Duo.svg`,\n iconDisabled: `${ICON_ASSET_WITHDRAW_DISCHARGE_ICON}/Brackish surface.svg`,\n },\n [ENUM_TYPES.GROUND_WATER_RENEWABLE]: {\n name: ENUM_TEMPLATES.GROUND_WATER_RENEWABLE,\n iconActive: `${ICON_ASSET_WITHDRAW_DISCHARGE_ICON}/Groundwater - renewable - Duo.svg`,\n iconDisabled: `${ICON_ASSET_WITHDRAW_DISCHARGE_ICON}/Groundwater - renewable.svg`,\n },\n };\n\n export const WITHDRAW_DISCHARGE_DIAGRAM_HOME = {\n withdrawSourcesChildren: [\n ENUM_TYPES.WATER_TREATMENT,\n ENUM_TYPES.DEMIN_WATER_TREATMENT,\n ENUM_TYPES.RO_WATER_TREATMENT,\n ],\n dischargeDestinationsChildren: [\n ENUM_TYPES.WASTEWATER_TREATMENT,\n ENUM_TYPES.DAF_WASTEWATER_TREATMENT,\n ENUM_TYPES.ETP_WASTEWATER_TREATMENT,\n ENUM_TYPES.MBR_WASTEWATER_TREATMENT,\n ENUM_TYPES.ZLD_WASTEWATER_TREATMENT,\n ],\n };\n\n export enum ACTION_RIGHT_MENU_GROUP {\n PLANT_TEMPLATES = 'Plant Templates',\n PLANT_CELLS = 'Plant Cell',\n DATA_BOX = 'Measurement',\n SYSTEM_TEMPLATES = 'System Templates',\n WATER_COMPONENT = 'Water Components',\n }\n\n export enum DATA_BOX_NAME_OF_COMPONENT {\n INFLOW = 'Inflow Of',\n OUTFLOW = 'Outflow From',\n }\n\n export enum ACTION_RIGHT_MENU {\n APPLY_TEMPLATE = 'ApplyTemplate',\n NEW_PLANT_CELL = 'NewPlantCell',\n NAME_PLANT_CELL = 'NamePlantCell',\n ADD_COMPONENT = 'AddComponent',\n }\n\n export const DATA_MENU = [\n {\n name: 'Plant Templates',\n componentType: ATO_ECOMPONENT_PLANT_TYPE.WATER,\n isFilterType: true,\n groupType: ACTION_RIGHT_MENU_GROUP.PLANT_TEMPLATES,\n children: [\n {\n name: 'Food and Beverages',\n children: [],\n actionType: ACTION_RIGHT_MENU.APPLY_TEMPLATE,\n isDrag: true,\n },\n {\n name: 'Power plant',\n children: [],\n actionType: ACTION_RIGHT_MENU.APPLY_TEMPLATE,\n isDrag: true,\n },\n ],\n },\n\n // {\n // name: 'Plant Cells',\n // groupType: ACTION_RIGHT_MENU_GROUP.PLANT_CELLS,\n // componentType: E_COMPONENT_PLANT_TYPE.WATER,\n // isFilterType: true,\n // children: [\n // {\n // name: 'Beer Production cell',\n // children: [],\n // actionType: ACTION_RIGHT_MENU.NAME_PLANT_CELL,\n // isDrag: true,\n // isViewMode: true,\n // systemType: ENUM_TYPES.PLANT_CELL,\n // type: ENUM_TYPES.PLANT_CELL,\n // inputType: TYPE_INPUT.TEXT,\n // fc: new FormControl('Beer Production cell', Validators.required),\n // fcBackup: new FormControl('Beer Production cell', Validators.required),\n // },\n // {\n // name: 'New Plant Cell',\n // children: [],\n // actionType: ACTION_RIGHT_MENU.NEW_PLANT_CELL,\n // isDrag: false,\n // },\n // ],\n // },\n ];\n\n export const WATER_USING_SYSTEM = [\n ENUM_TYPES.COOLING_TOWER,\n ENUM_TYPES.BOILER,\n ENUM_TYPES.OTHER,\n ENUM_TYPES.PROCESS,\n ENUM_TYPES.DOMESTIC_USE,\n ENUM_TYPES.LANDSCAPING_IRRIGATION,\n ];\n\n export const PARAM_TABLE_STYLE = {\n [ENUM_COLORS.CERULEAN]: {\n borderTable: ENUM_COLORS.CERULEAN,\n bgColor: ENUM_COLORS.CERULEAN_ALICE_BLUE,\n },\n [ENUM_COLORS.DANUBE]: {\n borderTable: ENUM_COLORS.DANUBE,\n bgColor: ENUM_COLORS.DANUBE_ALICE_BLUE,\n },\n [ENUM_COLORS.FOUNTAIN_BLUE]: {\n borderTable: ENUM_COLORS.FOUNTAIN_BLUE,\n bgColor: ENUM_COLORS.AZURE,\n },\n [ENUM_COLORS.GALLIANO]: {\n borderTable: ENUM_COLORS.GALLIANO,\n bgColor: ENUM_COLORS.OLD_LACE,\n },\n [ENUM_COLORS.WHITE]: {\n borderTable: ENUM_COLORS.WHITE,\n bgColor: ENUM_COLORS.WHITE,\n },\n };\n\n // System type include Water\n export const TYPE_COMPONENT_WATER: string[] = [\n ENUM_TYPES.STORAGE,\n\n ENUM_TYPES.WATER_TREATMENT,\n ENUM_TYPES.DEMIN_WATER_TREATMENT,\n ENUM_TYPES.RO_WATER_TREATMENT,\n\n ENUM_TYPES.PROCESS,\n\n ENUM_TYPES.WASTEWATER_TREATMENT,\n ENUM_TYPES.DAF_WASTEWATER_TREATMENT,\n ENUM_TYPES.ETP_WASTEWATER_TREATMENT,\n ENUM_TYPES.MBR_WASTEWATER_TREATMENT,\n ENUM_TYPES.ZLD_WASTEWATER_TREATMENT,\n\n ENUM_TYPES.DOMESTIC_USE,\n ENUM_TYPES.COOLING_TOWER,\n ENUM_TYPES.BOILER,\n ENUM_TYPES.OTHER,\n ENUM_TYPES.LANDSCAPING_IRRIGATION,\n AtoGojsEditorModel.WaterWithdrawSources,\n AtoGojsEditorModel.WaterDischargeDestinations,\n ];\n\n // Template type includes Water\n export const TYPE_TEMPLATE_WATER_NORMAL: string[] = [\n AtoGojsEditorModel.ENUM_TEMPLATES.PROCESS,\n AtoGojsEditorModel.ENUM_TEMPLATES.BOILER,\n AtoGojsEditorModel.ENUM_TEMPLATES.COOLING_TOWER,\n AtoGojsEditorModel.ENUM_TEMPLATES.ETP_WASTEWATER_TREATMENT,\n AtoGojsEditorModel.ENUM_TEMPLATES.ZLD_WASTEWATER_TREATMENT,\n AtoGojsEditorModel.ENUM_TEMPLATES.MBR_WASTEWATER_TREATMENT,\n AtoGojsEditorModel.ENUM_TEMPLATES.DAF_WASTEWATER_TREATMENT,\n AtoGojsEditorModel.ENUM_TEMPLATES.RO_WATER_TREATMENT,\n AtoGojsEditorModel.ENUM_TEMPLATES.DEMIN_WATER_TREATMENT,\n AtoGojsEditorModel.ENUM_TEMPLATES.STORAGE,\n AtoGojsEditorModel.ENUM_TEMPLATES.DOMESTIC_USE,\n AtoGojsEditorModel.ENUM_TEMPLATES.LANDSCAPING_IRRIGATION,\n AtoGojsEditorModel.ENUM_TEMPLATES.OTHER,\n ];\n // ['Process', 'Boiler', 'Cooling Tower', 'ETP Wastewater Treatment', 'ZLD Wastewater Treatment', 'MBR Wastewater Treatment', 'DAF Wastewater Treatment',\n // 'RO Water Treatment', 'Demin Water Treatment', 'Storage', 'Domestic Use', 'Landscaping/Irrigation', 'Other'];\n export const TYPE_TEMPLATE_WATER_WITHDRAW_OR_DISCHARGE: string[] = [\n AtoGojsEditorModel.ENUM_TEMPLATES.FRESH_SURFACE_WATER,\n AtoGojsEditorModel.ENUM_TEMPLATES.BRACKISH_SURFACE_WATER,\n AtoGojsEditorModel.ENUM_TEMPLATES.GROUND_WATER_RENEWABLE,\n AtoGojsEditorModel.ENUM_TEMPLATES.GROUND_WATER_NON_RENEWABLE,\n AtoGojsEditorModel.ENUM_TEMPLATES.PRODUCED_ENTRAINED,\n AtoGojsEditorModel.ENUM_TEMPLATES.THIRD_PARTY_SOURCES,\n AtoGojsEditorModel.ENUM_TEMPLATES.THIRD_PARTY_DESTINATIONS,\n ];\n // ['Fresh surface water', 'Brackish surface water/ seawater', 'Groundwater - Renewable', 'Groundwater - non-renewable', 'Produced / entrained water', 'Third party sources', 'Third party destinations'];\n export const TYPE_TEMPLATE_ELECTRICITY: string[] = [\n AtoGojsEditorModel.ENUM_TEMPLATES.GRID,\n AtoGojsEditorModel.ENUM_TEMPLATES.DIESEL_GENERATORS,\n AtoGojsEditorModel.ENUM_TEMPLATES.NATURAL_GAS_GENERATORS,\n AtoGojsEditorModel.ENUM_TEMPLATES.SOLAR_POWER,\n AtoGojsEditorModel.ENUM_TEMPLATES.TRANSFORMERS,\n AtoGojsEditorModel.ENUM_TEMPLATES.SWITCH_GEARS,\n AtoGojsEditorModel.ENUM_TEMPLATES.MOTOR_CONTROLS,\n AtoGojsEditorModel.ENUM_TEMPLATES.VARIABLE_FREQUENCY_DRIVERS,\n AtoGojsEditorModel.ENUM_TEMPLATES.POWER_DISTRIBUTION_SYSTEMS,\n AtoGojsEditorModel.ENUM_TEMPLATES.LIGHTINGS,\n AtoGojsEditorModel.ENUM_TEMPLATES.GROUNDING,\n AtoGojsEditorModel.ENUM_TEMPLATES.ELECTRIC_METERS,\n AtoGojsEditorModel.ENUM_TEMPLATES.ELECTRIC_INDUSTRIAL_MOTORS,\n AtoGojsEditorModel.ENUM_TEMPLATES.LIGHTING_SYSTEMS,\n AtoGojsEditorModel.ENUM_TEMPLATES.ELECTRIC_HVAC,\n AtoGojsEditorModel.ENUM_TEMPLATES.REFRIGERATION_COOLING_SYSTEMS,\n AtoGojsEditorModel.ENUM_TEMPLATES.PROCESS_CONTROL_AUTOMATION_SYSTEMS,\n AtoGojsEditorModel.ENUM_TEMPLATES.OFFICE_EQUIPMENT,\n AtoGojsEditorModel.ENUM_TEMPLATES.COMPRESSED_AIR_SYSTEMS,\n AtoGojsEditorModel.ENUM_TEMPLATES.PROCESS_EQUIPMENT_MACHINES,\n AtoGojsEditorModel.ENUM_TEMPLATES.MATERIAL_HANDLING_EQUIPMENT,\n AtoGojsEditorModel.ENUM_TEMPLATES.POWER_DISTRIBUTION_CONTROL_SYSTEMS,\n AtoGojsEditorModel.ENUM_TEMPLATES.BATTERY_ENERGY_STORAGE,\n AtoGojsEditorModel.ENUM_TEMPLATES.ELECTRIC_FLYWHEEL_ENERGY_STORAGE,\n AtoGojsEditorModel.ENUM_TEMPLATES.PUMPED_HYDRO_STORAGE,\n AtoGojsEditorModel.ENUM_TEMPLATES.THERMAL_ENERGY_STORAGE,\n AtoGojsEditorModel.ENUM_TEMPLATES.SUPER_CAPACITOR_ENERGY_STORAGE,\n ];\n // ['Grid', 'Diesel Generators', 'Natural gas generators', 'Solar Power', 'Transformers', 'Switchgears', 'MotorControls', 'VariableFrequencyDrives',\n // 'Power distribution systems', 'Lightings', 'Grounding', 'Electric Meters', 'Industrial motors',\n // 'Lighting systems', 'Heating, ventilation, and air conditioning (HVAC) systems', 'Refrigeration and cooling', 'Process control and automation', 'Office equipment', 'Compressed air',\n // 'Process equipment and machines', 'Material handling equipment', 'Power distribution and control', 'Battery energy storage', 'Flywheel energy storage',\n // 'Pumped hydro storage', 'Thermal energy storage', 'Supercapacitor energy storage'];\n export const TYPE_TEMPLATE_NATURAL_GAS: string[] = [\n AtoGojsEditorModel.ENUM_TEMPLATES.NATURAL_GAS_PIPELINES,\n AtoGojsEditorModel.ENUM_TEMPLATES.LIQUEFIED_NATURAL_GAS,\n AtoGojsEditorModel.ENUM_TEMPLATES.COMPRESSED_NATURAL_GAS_PIPELINE,\n AtoGojsEditorModel.ENUM_TEMPLATES.ON_SITE_PRODUCTION,\n AtoGojsEditorModel.ENUM_TEMPLATES.COMPRESSED_NATURAL_GAS_PRODUCTION,\n AtoGojsEditorModel.ENUM_TEMPLATES.BOILERS_AND_HEATERS,\n AtoGojsEditorModel.ENUM_TEMPLATES.FURNACES,\n AtoGojsEditorModel.ENUM_TEMPLATES.POWER_GENERATION,\n AtoGojsEditorModel.ENUM_TEMPLATES.COGENERATION,\n AtoGojsEditorModel.ENUM_TEMPLATES.COMBINED_CYCLE_POWER_PLANTS,\n AtoGojsEditorModel.ENUM_TEMPLATES.FUEL_FOR_VEHICLES_AND_EQUIPMENT,\n AtoGojsEditorModel.ENUM_TEMPLATES.GAS_METERS,\n AtoGojsEditorModel.ENUM_TEMPLATES.BURNERS,\n AtoGojsEditorModel.ENUM_TEMPLATES.FLUE_GAS_ANALYZERS,\n AtoGojsEditorModel.ENUM_TEMPLATES.COMBUSTION_CONTROL_SYSTEMS,\n AtoGojsEditorModel.ENUM_TEMPLATES.GAS_STORAGE_TANKS,\n AtoGojsEditorModel.ENUM_TEMPLATES.GAS_PRESSURE_REGULATORS,\n ];\n // ['Natural gas pipelines', 'Liquefied natural gas', 'Compressed natural gas pipeline', 'On-site production',\n // 'Compressed natural gas production', 'Boilers and heaters', 'Furnaces', 'Power generation', 'Cogeneration', 'Combined cycle power plants',\n // 'Fuel for vehicles and equipment', 'Gas meters', 'Burners', 'Flue gas analyzers', 'Combustion control systems', 'Gas storage tanks',\n // 'Gas pressure regulators'];\n export const TYPE_TEMPLATE_FUEL: string[] = [\n AtoGojsEditorModel.ENUM_TEMPLATES.DIESEL_FUELS,\n AtoGojsEditorModel.ENUM_TEMPLATES.GASON_LINES,\n AtoGojsEditorModel.ENUM_TEMPLATES.BIODIESELS,\n AtoGojsEditorModel.ENUM_TEMPLATES.KEROSENSE,\n AtoGojsEditorModel.ENUM_TEMPLATES.PROPANES,\n AtoGojsEditorModel.ENUM_TEMPLATES.TANKER_TRUCKS,\n AtoGojsEditorModel.ENUM_TEMPLATES.PIPELINE,\n AtoGojsEditorModel.ENUM_TEMPLATES.INDUSTRIAL_BOILERS,\n AtoGojsEditorModel.ENUM_TEMPLATES.GENERATORS,\n AtoGojsEditorModel.ENUM_TEMPLATES.INDUSTRIAL_FURNACES,\n AtoGojsEditorModel.ENUM_TEMPLATES.INDUSTRIAL_OVENS,\n AtoGojsEditorModel.ENUM_TEMPLATES.INDUSTRIAL_VEHICLES_AND_EQUIPMENT,\n AtoGojsEditorModel.ENUM_TEMPLATES.FUEL_METERS,\n AtoGojsEditorModel.ENUM_TEMPLATES.FUEL_DISPENSERS,\n AtoGojsEditorModel.ENUM_TEMPLATES.FUEL_STRORAGE_TANKS,\n AtoGojsEditorModel.ENUM_TEMPLATES.FUEL_FILTRATIONS,\n AtoGojsEditorModel.ENUM_TEMPLATES.FUEL_MANAGEMENTS,\n ];\n // ['DieselFuels', 'Gasonlines', 'Biodiesels', 'Kerosenes', 'Propanes', 'Tanker Trucks',\n // 'Pipeline', 'Industrial boilers', 'Generators', 'Industrial furnaces', 'Industrial ovens', 'Industrial vehicles and equipment',\n // 'FuelMeters', 'FuelDispensers', 'FuelStorageTanks', 'FuelFiltrations', 'FuelManagements'];\n export const TYPE_TEMPLATE_STEAM: string[] = [\n AtoGojsEditorModel.ENUM_TEMPLATES.STEAM_PIPELINE,\n AtoGojsEditorModel.ENUM_TEMPLATES.VALUES,\n AtoGojsEditorModel.ENUM_TEMPLATES.STEAM_TRAPS,\n AtoGojsEditorModel.ENUM_TEMPLATES.PRESSURE_REGULATORS,\n AtoGojsEditorModel.ENUM_TEMPLATES.SAFETY_VALUES_AND_EQUIPMENT,\n AtoGojsEditorModel.ENUM_TEMPLATES.CONDENSATE_RETURN_SYSTEM,\n AtoGojsEditorModel.ENUM_TEMPLATES.DEAERATORS,\n AtoGojsEditorModel.ENUM_TEMPLATES.FEEDWATER_PUMPS,\n AtoGojsEditorModel.ENUM_TEMPLATES.BLOWDOWN_TANKS,\n AtoGojsEditorModel.ENUM_TEMPLATES.EXPANSION_TANKS,\n AtoGojsEditorModel.ENUM_TEMPLATES.HEAT_EXCHANGERS,\n AtoGojsEditorModel.ENUM_TEMPLATES.TURBINES,\n ];\n // ['Valves', 'Steam Traps', 'Pressure Regulator', 'Safety Valves and Equipment', 'Condensate Return System', 'Deaerators',\n // 'Feedwater Pumps', 'Blowdown Tanks', 'Expansion Tanks', 'Heat Exchangers', 'Turbines'];\n export const TYPE_TEMPLATE_SPECIAL: string[] = [\n AtoGojsEditorModel.ENUM_TEMPLATES.SPECIAL_PROCESS,\n AtoGojsEditorModel.ENUM_TEMPLATES.SPECIAL_STORAGE,\n AtoGojsEditorModel.ENUM_TEMPLATES.SPECIAL_STORE,\n AtoGojsEditorModel.ENUM_TEMPLATES.SPECIAL_DISCHARGE,\n AtoGojsEditorModel.ENUM_TEMPLATES.SPECIAL_OTHER,\n ];\n\n export const TEMPLATE_DUPLICATE: any = {\n [AtoGojsEditorModel.ENUM_TEMPLATES.STEAM_PIPELINE]: AtoGojsEditorModel.ENUM_TEMPLATES.PIPELINE\n};\n}\n","// export const GO_LICENSE_KEY =\n// '73f946e5b26328a800ca0d2b113f69ed1bb37f3b9e8c1bf15e5041f0ea08681c3089ee7d02da8b9481fb1aa91a7ac089d5c46c7b9e4b013ce037d38f44e480fbe13f77b4435f559ea25676c599a87aa0ee6872f3c1b568a0c5788d';\n\nexport const GO_LICENSE_KEY =\n '298647e0b2604cc702d90676423d6bf919a175639c841ba4090310f6ee083806329fbb2801d38d90d4af4efe1c7f93d0d9c16f209248063db730d2db44e084aeb73320e5410b479cb40573939ffa78f1fd6a61f1c3b672bddf678ffb';\n","export enum ATO_ABBREVIATION {\n L = 'L',\n KL = 'KL',\n gal = 'gal',\n kGal='Kgal',\n m3 = 'm3',\n m3_Special = 'm³',\n Wh = 'Wh',\n kWh = 'kWh',\n cf = 'cf',\n th = 'th',\n BTU = 'BTU',\n BTU_UNIT = 'BTU/unit',\n MM_BTU = 'MMBTU',\n m3_unit = 'm3/unit',\n m3_unit_Special = 'm³/unit',\n J = 'J',\n Bbl = 'Bbl',\n mg = 'mg',\n // Currency\n ALL = 'ALL',\n AFN = 'AFN',\n ARS = 'ARS',\n AWG = 'AWG',\n AUD = 'AUD',\n AZN = 'AZN',\n BSD = 'BSD',\n BBD = 'BBD',\n BYN = 'BYN',\n BZD = 'BZD',\n BMD = 'BMD',\n BOB = 'BOB',\n BAM = 'BAM',\n BWP = 'BWP',\n BGN = 'BGN',\n BRL = 'BRL',\n BND = 'BND',\n KHR = 'KHR',\n CAD = 'CAD',\n KYD = 'KYD',\n CLP = 'CLP',\n CNY = 'CNY',\n COP = 'COP',\n CRC = 'CRC',\n HRK = 'HRK',\n CUP = 'CUP',\n CZK = 'CZK',\n DKK = 'DKK',\n DOP = 'DOP',\n XCD = 'XCD',\n EGP = 'EGP',\n SVC = 'SVC',\n EUR = 'EUR',\n FKP = 'FKP',\n FJD = 'FJD',\n GHS = 'GHS',\n GIP = 'GIP',\n GTQ = 'GTQ',\n GGP = 'GGP',\n GYD = 'GYD',\n HNL = 'HNL',\n HKD = 'HKD',\n HUF = 'HUF',\n ISK = 'ISK',\n INR = 'INR',\n IDR = 'IDR',\n IRR = 'IRR',\n IMP = 'IMP',\n ILS = 'ILS',\n JMD = 'JMD',\n JPY = 'JPY',\n JEP = 'JEP',\n KZT = 'KZT',\n KPW = 'KPW',\n KRW = 'KRW',\n KGS = 'KGS',\n LAK = 'LAK',\n LBP = 'LBP',\n LRD = 'LRD',\n MKD = 'MKD',\n MYR = 'MYR',\n MUR = 'MUR',\n MXN = 'MXN',\n MNT = 'MNT',\n MZN = 'MZN',\n NAD = 'NAD',\n NPR = 'NPR',\n ANG = 'ANG',\n NZD = 'NZD',\n NIO = 'NIO',\n NGN = 'NGN',\n NOK = 'NOK',\n OMR = 'OMR',\n PKR = 'PKR',\n PAB = 'PAB',\n PYG = 'PYG',\n PEN = 'PEN',\n PHP = 'PHP',\n PLN = 'PLN',\n QAR = 'QAR',\n RON = 'RON',\n RUB = 'RUB',\n SHP = 'SHP',\n SAR = 'SAR',\n RSD = 'RSD',\n SCR = 'SCR',\n SGD = 'SGD',\n SBD = 'SBD',\n SOS = 'SOS',\n ZAR = 'ZAR',\n LKR = 'LKR',\n SEK = 'SEK',\n CHF = 'CHF',\n SRD = 'SRD',\n SYP = 'SYP',\n TWD = 'TWD',\n THB = 'THB',\n TTD = 'TTD',\n TRY = 'TRY',\n TVD = 'TVD',\n UAH = 'UAH',\n AED = 'AED',\n GBP = 'GBP',\n USD = 'USD',\n UYU = 'UYU',\n UZS = 'UZS',\n VEF = 'VEF',\n VND = 'VND',\n YER = 'YER',\n ZWD = 'ZWD',\n\n\n // For Steam\n g = 'g',\n lbs = 'lbs',\n g_hr = 'g/hr',\n lbs_hr = 'lbs/hr',\n MPa = 'MPa',\n GPa = 'GPa',\n psi = 'psi',\n degC = 'degC',\n degF = 'degF',\n degC_unit_Special = '°C',\n degF_unit_Special = '°F',\n ton = 'ton',\n kg = 'kg',\n\n // Emission\n CO2 = 'CO2',\n CO2_Special = 'CO₂'\n}\n\nexport enum METRIC_PREFIXES {\n K = 'K',\n Mn = 'Mn',\n Bn = 'Bn',\n //\n M = 'M',\n MM = 'MM',\n B = 'B',\n //\n G = 'G', // 1000000000\n}\n\nexport enum ROUNDED_NUMBER {\n THOUSAND = 1000,\n MILLION = 1000000,\n BILLION = 1000000000,\n}\n\nconst PREFIXES_CURRENCY = {\n [ROUNDED_NUMBER.THOUSAND]: METRIC_PREFIXES.K,\n [ROUNDED_NUMBER.MILLION]: METRIC_PREFIXES.Mn,\n [ROUNDED_NUMBER.BILLION]: METRIC_PREFIXES.Bn,\n};\n\nexport const APPLICABLE_PREFIXES: {\n [key in ATO_ABBREVIATION]: any;\n} = {\n [ATO_ABBREVIATION.KL]: {\n [ROUNDED_NUMBER.THOUSAND]: METRIC_PREFIXES.K,\n [ROUNDED_NUMBER.MILLION]: METRIC_PREFIXES.Mn,\n [ROUNDED_NUMBER.BILLION]: METRIC_PREFIXES.Bn,\n },\n [ATO_ABBREVIATION.L]: {\n [ROUNDED_NUMBER.THOUSAND]: METRIC_PREFIXES.K,\n [ROUNDED_NUMBER.MILLION]: METRIC_PREFIXES.Mn,\n [ROUNDED_NUMBER.BILLION]: METRIC_PREFIXES.Bn,\n },\n [ATO_ABBREVIATION.gal]: {\n [ROUNDED_NUMBER.THOUSAND]: METRIC_PREFIXES.K,\n [ROUNDED_NUMBER.MILLION]: METRIC_PREFIXES.Mn,\n [ROUNDED_NUMBER.BILLION]: METRIC_PREFIXES.Bn,\n },\n [ATO_ABBREVIATION.kGal]: {\n [ROUNDED_NUMBER.THOUSAND]: METRIC_PREFIXES.K,\n [ROUNDED_NUMBER.MILLION]: METRIC_PREFIXES.Mn,\n [ROUNDED_NUMBER.BILLION]: METRIC_PREFIXES.Bn,\n },\n [ATO_ABBREVIATION.m3]: {\n [ROUNDED_NUMBER.THOUSAND]: METRIC_PREFIXES.K,\n [ROUNDED_NUMBER.MILLION]: METRIC_PREFIXES.MM,\n [ROUNDED_NUMBER.BILLION]: METRIC_PREFIXES.B,\n },\n [ATO_ABBREVIATION.m3_Special]: {\n [ROUNDED_NUMBER.THOUSAND]: METRIC_PREFIXES.M,\n [ROUNDED_NUMBER.MILLION]: METRIC_PREFIXES.MM,\n [ROUNDED_NUMBER.BILLION]: METRIC_PREFIXES.B,\n },\n\n [ATO_ABBREVIATION.m3_unit]: {\n [ROUNDED_NUMBER.THOUSAND]: METRIC_PREFIXES.M,\n [ROUNDED_NUMBER.MILLION]: METRIC_PREFIXES.MM,\n [ROUNDED_NUMBER.BILLION]: METRIC_PREFIXES.B,\n },\n [ATO_ABBREVIATION.m3_unit_Special]: {\n [ROUNDED_NUMBER.THOUSAND]: METRIC_PREFIXES.M,\n [ROUNDED_NUMBER.MILLION]: METRIC_PREFIXES.MM,\n [ROUNDED_NUMBER.BILLION]: METRIC_PREFIXES.B,\n },\n\n [ATO_ABBREVIATION.Wh]: {\n [ROUNDED_NUMBER.THOUSAND]: METRIC_PREFIXES.K,\n [ROUNDED_NUMBER.MILLION]: METRIC_PREFIXES.M,\n [ROUNDED_NUMBER.BILLION]: METRIC_PREFIXES.G,\n },\n [ATO_ABBREVIATION.kWh]: {\n [ROUNDED_NUMBER.THOUSAND]: METRIC_PREFIXES.K,\n [ROUNDED_NUMBER.MILLION]: METRIC_PREFIXES.M,\n [ROUNDED_NUMBER.BILLION]: METRIC_PREFIXES.G,\n },\n [ATO_ABBREVIATION.cf]: {\n [ROUNDED_NUMBER.THOUSAND]: METRIC_PREFIXES.K,\n [ROUNDED_NUMBER.MILLION]: METRIC_PREFIXES.MM,\n [ROUNDED_NUMBER.BILLION]: METRIC_PREFIXES.B,\n },\n [ATO_ABBREVIATION.th]: {\n [ROUNDED_NUMBER.THOUSAND]: METRIC_PREFIXES.K,\n [ROUNDED_NUMBER.MILLION]: METRIC_PREFIXES.Mn,\n [ROUNDED_NUMBER.BILLION]: METRIC_PREFIXES.Bn,\n },\n\n [ATO_ABBREVIATION.BTU]: {\n [ROUNDED_NUMBER.THOUSAND]: METRIC_PREFIXES.K,\n [ROUNDED_NUMBER.MILLION]: METRIC_PREFIXES.MM,\n [ROUNDED_NUMBER.BILLION]: METRIC_PREFIXES.B,\n },\n [ATO_ABBREVIATION.BTU_UNIT]: {\n [ROUNDED_NUMBER.THOUSAND]: METRIC_PREFIXES.K,\n [ROUNDED_NUMBER.MILLION]: METRIC_PREFIXES.MM,\n [ROUNDED_NUMBER.BILLION]: METRIC_PREFIXES.B,\n },\n [ATO_ABBREVIATION.MM_BTU]: {},\n [ATO_ABBREVIATION.J]: {\n [ROUNDED_NUMBER.THOUSAND]: METRIC_PREFIXES.K,\n [ROUNDED_NUMBER.MILLION]: METRIC_PREFIXES.M,\n [ROUNDED_NUMBER.BILLION]: METRIC_PREFIXES.G,\n },\n [ATO_ABBREVIATION.Bbl]: {\n [ROUNDED_NUMBER.THOUSAND]: METRIC_PREFIXES.K,\n [ROUNDED_NUMBER.MILLION]: METRIC_PREFIXES.Mn,\n [ROUNDED_NUMBER.BILLION]: METRIC_PREFIXES.Bn,\n },\n [ATO_ABBREVIATION.mg]: {\n [ROUNDED_NUMBER.THOUSAND]: METRIC_PREFIXES.K,\n [ROUNDED_NUMBER.MILLION]: METRIC_PREFIXES.M,\n [ROUNDED_NUMBER.BILLION]: METRIC_PREFIXES.B,\n },\n\n // For Steam\n [ATO_ABBREVIATION.g]: {\n [ROUNDED_NUMBER.THOUSAND]: METRIC_PREFIXES.K,\n [ROUNDED_NUMBER.MILLION]: METRIC_PREFIXES.Mn,\n [ROUNDED_NUMBER.BILLION]: METRIC_PREFIXES.Bn,\n },\n [ATO_ABBREVIATION.lbs]: {\n [ROUNDED_NUMBER.THOUSAND]: METRIC_PREFIXES.K,\n [ROUNDED_NUMBER.MILLION]: METRIC_PREFIXES.Mn,\n [ROUNDED_NUMBER.BILLION]: METRIC_PREFIXES.Bn,\n },\n [ATO_ABBREVIATION.g_hr]: {\n [ROUNDED_NUMBER.THOUSAND]: METRIC_PREFIXES.K,\n [ROUNDED_NUMBER.MILLION]: METRIC_PREFIXES.Mn,\n [ROUNDED_NUMBER.BILLION]: METRIC_PREFIXES.Bn,\n },\n [ATO_ABBREVIATION.lbs_hr]: {\n [ROUNDED_NUMBER.THOUSAND]: METRIC_PREFIXES.K,\n [ROUNDED_NUMBER.MILLION]: METRIC_PREFIXES.Mn,\n [ROUNDED_NUMBER.BILLION]: METRIC_PREFIXES.Bn,\n },\n [ATO_ABBREVIATION.MPa]: {\n [ROUNDED_NUMBER.THOUSAND]: METRIC_PREFIXES.K,\n [ROUNDED_NUMBER.MILLION]: METRIC_PREFIXES.Mn,\n [ROUNDED_NUMBER.BILLION]: METRIC_PREFIXES.Bn,\n },\n [ATO_ABBREVIATION.GPa]: {\n [ROUNDED_NUMBER.THOUSAND]: METRIC_PREFIXES.K,\n [ROUNDED_NUMBER.MILLION]: METRIC_PREFIXES.Mn,\n [ROUNDED_NUMBER.BILLION]: METRIC_PREFIXES.Bn,\n },\n [ATO_ABBREVIATION.psi]: {\n [ROUNDED_NUMBER.THOUSAND]: METRIC_PREFIXES.K,\n [ROUNDED_NUMBER.MILLION]: METRIC_PREFIXES.M,\n [ROUNDED_NUMBER.BILLION]: METRIC_PREFIXES.G,\n },\n [ATO_ABBREVIATION.degC]: {\n [ROUNDED_NUMBER.THOUSAND]: METRIC_PREFIXES.K,\n [ROUNDED_NUMBER.MILLION]: METRIC_PREFIXES.Mn,\n [ROUNDED_NUMBER.BILLION]: METRIC_PREFIXES.Bn,\n },\n [ATO_ABBREVIATION.degF]: {\n [ROUNDED_NUMBER.THOUSAND]: METRIC_PREFIXES.K,\n [ROUNDED_NUMBER.MILLION]: METRIC_PREFIXES.Mn,\n [ROUNDED_NUMBER.BILLION]: METRIC_PREFIXES.Bn,\n },\n [ATO_ABBREVIATION.degC_unit_Special]: {\n [ROUNDED_NUMBER.THOUSAND]: METRIC_PREFIXES.K,\n [ROUNDED_NUMBER.MILLION]: METRIC_PREFIXES.Mn,\n [ROUNDED_NUMBER.BILLION]: METRIC_PREFIXES.Bn,\n },\n [ATO_ABBREVIATION.degF_unit_Special]: {\n [ROUNDED_NUMBER.THOUSAND]: METRIC_PREFIXES.K,\n [ROUNDED_NUMBER.MILLION]: METRIC_PREFIXES.Mn,\n [ROUNDED_NUMBER.BILLION]: METRIC_PREFIXES.Bn,\n },\n [ATO_ABBREVIATION.kg]: {\n [ROUNDED_NUMBER.THOUSAND]: METRIC_PREFIXES.K,\n [ROUNDED_NUMBER.MILLION]: METRIC_PREFIXES.Mn,\n [ROUNDED_NUMBER.BILLION]: METRIC_PREFIXES.Bn,\n },\n [ATO_ABBREVIATION.ton]: {\n [ROUNDED_NUMBER.THOUSAND]: METRIC_PREFIXES.K,\n [ROUNDED_NUMBER.MILLION]: METRIC_PREFIXES.Mn,\n [ROUNDED_NUMBER.BILLION]: METRIC_PREFIXES.Bn,\n },\n\n // Currency\n [ATO_ABBREVIATION.ALL]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.AFN]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.ARS]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.AWG]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.AUD]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.AZN]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.BSD]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.BBD]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.BYN]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.BZD]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.BMD]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.BOB]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.BAM]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.BWP]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.BGN]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.BRL]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.BND]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.KHR]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.CAD]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.KYD]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.CLP]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.CNY]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.COP]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.CRC]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.HRK]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.CUP]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.CZK]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.DKK]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.DOP]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.XCD]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.EGP]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.SVC]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.EUR]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.FKP]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.FJD]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.GHS]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.GIP]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.GTQ]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.GGP]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.GYD]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.HNL]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.HKD]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.HUF]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.ISK]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.INR]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.IDR]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.IRR]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.IMP]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.ILS]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.JMD]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.JPY]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.JEP]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.KZT]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.KPW]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.KRW]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.KGS]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.LAK]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.LBP]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.LRD]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.MKD]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.MYR]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.MUR]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.MXN]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.MNT]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.MZN]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.NAD]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.NPR]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.ANG]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.NZD]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.NIO]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.NGN]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.NOK]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.OMR]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.PKR]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.PAB]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.PYG]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.PEN]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.PHP]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.PLN]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.QAR]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.RON]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.RUB]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.SHP]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.SAR]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.RSD]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.SCR]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.SGD]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.SBD]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.SOS]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.ZAR]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.LKR]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.SEK]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.CHF]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.SRD]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.SYP]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.TWD]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.THB]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.TTD]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.TRY]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.TVD]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.UAH]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.AED]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.GBP]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.USD]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.UYU]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.UZS]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.VEF]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.VND]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.YER]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.ZWD]: PREFIXES_CURRENCY,\n\n // Emission\n [ATO_ABBREVIATION.CO2]: null,\n [ATO_ABBREVIATION.CO2_Special]: null,\n};\n","import { DecimalPipe } from '@angular/common';\nimport { Injectable } from '@angular/core';\nimport { ATO_ABBREVIATION, APPLICABLE_PREFIXES, ROUNDED_NUMBER, } from '../../constants/applicable-prefixes-const';\nimport { v4 as uuidV4 } from 'uuid';\nimport _ from 'lodash';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class UtilsService {\n static convertPrefixesData(data: { value: number | string | any; unit: string | any; isChangeUnitKwh?: boolean }): {\n shortenedNumber: number | string | null;\n unitPrefixes: number | null | string;\n } {\n if (!data?.unit || (!+data?.value && data?.value !== '0')) {\n return {\n shortenedNumber: data?.value ?? '0',\n unitPrefixes: '',\n };\n }\n\n const [unitToConvert, suffixUnit] = data?.unit?.split('/');\n\n if (unitToConvert === ATO_ABBREVIATION.kWh) {\n return this.getDataFormatSpecialKwh(data?.value, data?.isChangeUnitKwh);\n }\n\n return this.getDataFormatUnit(data?.value, unitToConvert);\n }\n\n static getDataFormatSpecialKwh(value: any, isChangeUnitKwh: any) {\n const _DecimalPipe = new DecimalPipe('en');\n\n if (!!isChangeUnitKwh) {\n // 1.000.000 KWh => 1 GWh\n if (Math.abs(value) >= ROUNDED_NUMBER.MILLION) {\n return {\n shortenedNumber: _DecimalPipe.transform(+(value / ROUNDED_NUMBER.MILLION) ?? 0, '1.0-2'),\n unitPrefixes: APPLICABLE_PREFIXES?.[ATO_ABBREVIATION.kWh]?.[ROUNDED_NUMBER.BILLION],\n };\n }\n // 1000 KWh => 1 MWh\n if (Math.abs(value) >= ROUNDED_NUMBER.THOUSAND) {\n return {\n shortenedNumber: _DecimalPipe.transform(+(value / ROUNDED_NUMBER.THOUSAND) ?? 0, '1.0-2'),\n unitPrefixes: APPLICABLE_PREFIXES?.[ATO_ABBREVIATION.kWh]?.[ROUNDED_NUMBER.MILLION],\n };\n }\n }\n if (Math.abs(value) >= ROUNDED_NUMBER.BILLION) {\n return {\n shortenedNumber: _DecimalPipe.transform(+(value / ROUNDED_NUMBER.MILLION) ?? 0, '1.0-2'),\n unitPrefixes: APPLICABLE_PREFIXES?.[ATO_ABBREVIATION.kWh]?.[ROUNDED_NUMBER.BILLION],\n };\n }\n if (Math.abs(value) >= ROUNDED_NUMBER.MILLION) {\n return {\n shortenedNumber: _DecimalPipe.transform(+(value / ROUNDED_NUMBER.MILLION) ?? 0, '1.0-2'),\n unitPrefixes: APPLICABLE_PREFIXES?.[ATO_ABBREVIATION.kWh]?.[ROUNDED_NUMBER.MILLION],\n };\n }\n if (Math.abs(value) >= ROUNDED_NUMBER.THOUSAND) {\n return {\n shortenedNumber: _DecimalPipe.transform(+(value / ROUNDED_NUMBER.THOUSAND) ?? 0, '1.0-2'),\n unitPrefixes: APPLICABLE_PREFIXES?.[ATO_ABBREVIATION.kWh]?.[ROUNDED_NUMBER.THOUSAND],\n };\n }\n\n return {\n shortenedNumber: _DecimalPipe.transform(+value ?? 0, '1.0-2') ?? '0',\n unitPrefixes: '',\n };\n }\n\n static getDataFormatUnit(value: any, unit: string) {\n const _DecimalPipe = new DecimalPipe('en');\n\n if (Math.abs(value) >= ROUNDED_NUMBER.BILLION) {\n return {\n shortenedNumber: _DecimalPipe.transform(+(value / ROUNDED_NUMBER.BILLION) ?? 0, '1.0-2'),\n unitPrefixes: (APPLICABLE_PREFIXES as any)?.[unit]?.[ROUNDED_NUMBER.BILLION],\n };\n }\n if (Math.abs(value) >= ROUNDED_NUMBER.MILLION) {\n return {\n shortenedNumber: _DecimalPipe.transform(+(value / ROUNDED_NUMBER.MILLION) ?? 0, '1.0-2'),\n unitPrefixes: (APPLICABLE_PREFIXES as any)?.[unit]?.[ROUNDED_NUMBER.MILLION],\n };\n }\n if (Math.abs(value) >= ROUNDED_NUMBER.THOUSAND) {\n return {\n shortenedNumber: _DecimalPipe.transform(+(value / ROUNDED_NUMBER.THOUSAND) ?? 0, '1.0-2'),\n unitPrefixes: (APPLICABLE_PREFIXES as any)?.[unit]?.[ROUNDED_NUMBER.THOUSAND],\n };\n }\n return {\n shortenedNumber: _DecimalPipe.transform(+value ?? 0, '1.0-2') ?? '0',\n unitPrefixes: '',\n };\n }\n\n static convertSpecialUnit(unit: string, unitPrefixes?: any) {\n switch (unit) {\n case ATO_ABBREVIATION.kWh: {\n return unitPrefixes ? ATO_ABBREVIATION.Wh : ATO_ABBREVIATION.kWh;\n }\n case ATO_ABBREVIATION.m3: {\n return ATO_ABBREVIATION.m3_Special;\n }\n case ATO_ABBREVIATION.m3_unit: {\n return ATO_ABBREVIATION.m3_unit_Special;\n }\n case ATO_ABBREVIATION.degC: {\n return ATO_ABBREVIATION.degC_unit_Special;\n }\n case ATO_ABBREVIATION.degF: {\n return ATO_ABBREVIATION.degF_unit_Special;\n }\n default: {\n unit = UtilsService.replaceAll(unit ?? '', ATO_ABBREVIATION.m3, ATO_ABBREVIATION.m3_Special);\n return UtilsService.replaceAll(unit ?? '', ATO_ABBREVIATION.CO2, ATO_ABBREVIATION.CO2_Special);\n }\n }\n }\n\n static generateUUID() {\n const id = UtilsService.replaceAll(uuidV4(), '-', '').toUpperCase();\n const randomPosition = _.random(0, 32);\n const randomNumber = _.random(0, 9).toString();\n const leftChar = id.slice(0, randomPosition);\n const rightChar = id.slice(randomPosition);\n return `${leftChar}${randomNumber}${rightChar}`;\n }\n\n static replaceAll(text: any, find: any, replace: any): string {\n function escapeRegExp(str: any) {\n return str.replace(/([.*+?^=!:${}()|\\[\\]\\/\\\\])/g, '\\\\$1');\n }\n return text.replace(new RegExp(escapeRegExp(find), 'g'), replace);\n }\n}\n","\nexport enum ATO_EPlantType {\n ENTERPRISE = 'Enterprise',\n DIVISION = 'Division',\n PROXY_PLANT = 'proxy',\n BASIC_PLANT = 'basic',\n PLANT = 'plant',\n}\n\n// const PLANT_TYPE_ACTIVE = {\n// key: E_PlantType.PLANT,\n// iconClassName: 'fa-light fa-industry-windows font-size-18px',\n// keyMapingMenu: 'plants',\n// status: PlantComponentModel.PLANT_STATUS.active,\n// description: 'Complete plant setup. Full HWF functionality available.',\n// hexColor: '#199c69',\n// classColor: 'color-elf-green',\n// };\n\n// export const PLANT_TYPE = {\n// [E_PlantType.ENTERPRISE]: {\n// iconClassName: 'fa-light fa-building-user',\n// keyMapingMenu: 'Enterprise',\n// status: '',\n// },\n// [E_PlantType.DIVISION]: {\n// iconClassName: 'fa-light fa-puzzle',\n// keyMapingMenu: 'divisions',\n// status: '',\n// },\n// [E_PlantType.PROXY_PLANT]: {\n// key: E_PlantType.PROXY_PLANT,\n// iconClassName: 'fa-light fa-calendar-users font-size-18px',\n// keyMapingMenu: 'plants',\n// status: PlantComponentModel.PLANT_STATUS.proxy,\n// description: 'No plant dashboard. Fully enterprise managed plant.',\n// hexColor: '#00aec7',\n// classColor: 'color-iris-blue',\n// },\n// [E_PlantType.BASIC_PLANT]: {\n// key: E_PlantType.BASIC_PLANT,\n// iconClassName: 'basic-plant-icon h-23px',\n// keyMapingMenu: 'plants',\n// status: PlantComponentModel.PLANT_STATUS.basic,\n// description: 'Plant dashboard. No topology needed. Limited functionality.',\n// hexColor: '#E09F25',\n// classColor: 'color-galliano-2',\n// },\n// // Same active\n// [E_PlantType.PLANT]: PLANT_TYPE_ACTIVE,\n// [PlantComponentModel.PLANT_STATUS.active]: PLANT_TYPE_ACTIVE,\n// };\n","export const ICONS_BASE64 = {\n \"uf044\": \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgAAAAIACAMAAADDpiTIAAAC+lBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///91wmGBAAAA/HRSTlMAAQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiMkJSYnKCkqKywtLi8wMTM0NTY3ODk6Ozw9Pj9AQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVpbXF1eX2BhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ent8fX5/gIGCg4WGh4iJiouMjY6PkJGSk5SVlpeYmZqbnJ2en6ChoqOlpqeoqaqrrK2ur7CxsrO0tba3uLm6u7y9vr/AwcLDxMXGx8jJysvMzc7P0NHS09TV1tfY2drb3N3e3+Dh4uPk5ebn6Onq6+zt7u/w8fLz9PX29/j5+vv8/f5h/T8YAAAAAWJLR0T9SwmT6QAAF79JREFUeNrtnft/FtWdx08SCJhwEStguIMREUG6vUlxdVvxClQUFORWFQwIJCHcRVF2La52LQQCBVSoLNtiV6mFCoigVgS5SERB6WIE3ApIQtDmfnvODwu2+3rVPk+S59xmzjnfz+cPON95zvv9nZkzM88MYwiCIAiC2JvWbdq0xixQS9IVQ6ctfnnXnwrr+NepO3Nk10uLsu9IT8Lc+J7Eqx9YdaCC15Py91be3zsRs+RrukxYX8QbTeFvxnfGXPmXXvP283gT2ffwlZgxr871MnZywRyecynmzZN8d20Fl0jFC9/B3Hlw2jfsHS6dt+9MwAy6jX/Ie1wpH47D2tDh3PoBV87BmzGPjuaa17iWbO6DuXQwKQuquabU5LbAfLqWQce5xhy7DTPqVvvncs1Zi52AQxlQwLXn6LWYV1eSUc0NpGYOLgo4kZbruaFswLMDDqTbIW4sH3TB/Nqe75/mBnPqe5hhuzOkjBtN6WDMsc0ZUc0Np2YsZtnejKnhxlM7HvNsaybU8QASmYKZpswfBlDnDwOo84cB1PnDAOr8YQB1/jCAOn8YQJ0/DKDOHwZQ5w8D7MiDofGHATZkUoSHmMgDIEC3/7++NzgSDMLMQxEecqoHgQLd/v/6vTI/AAfK/M8/J9gVJKju///2rDD+NES4/y9kPWCEwT/CrUk2cJDd//91KYATQcr9fz4FLYGEMn/OV4BJkJlsG38euRVUCPf/+RxPBRfK/Dl/EmDc2/9XFhYUFFVpWgn0BhqX+Fe/seCWbl+/Gj6p+21P/LFWfcQ/gI07/N+f/A+vgr4s67DyoANBxxH+u2+J8bafxDvyVa3CO4SMZ4oG/l/cVw+opCnn1Ea+C4AcOP/f0aH+8bu8ozR0PnYB9vf/0w1+E6jpaqXBfwJGlvOP5DRSI2GhSpG3AMlgMjTwn9x4mfEqjxl8F5is7v+J8RSaqFDoV+DkeP8r7gMqLgYp5/krGTARqNznr2LAbgM/PqHjdWPmL1+/4+Cx4mLD78GMdc28+OjW3FFp4fKfGtTxX/08IF3rD2/542nP7yu34Wbn/mltCfFXMGCWtl+dNiovv5bbk/KlXejwlzdAzzGgyfVP5tv31EP5o83I8Jc2INJB+Qcn3biqiNuZQ73J8Jc24KeKv/eaJV9we1M6ggx/WQP+U+XXpo5/l9uduiwy/CUNOCV/S7D9grPc/uQEyT/g9X/U5WeZgldIFuv9QhV3IXUBHgUyw+z/C/kPiYrjpCp1X1nLHUlpbyL9fz6Jr4uXXC5Rp/PqGu5OPmxGpP/Pp0OhcM19wkVS5pRwpzIvEP4TQ+//C5kgXLQsUbDEvZ9xx1LWiUj/XzgI7BUu20OoQNfN3L0sIcOfsduF64p8WS4xq8RB/ry8LRn+LOED0cICl0q6vMndTBaJ4//frkWJVv55/Ef/Lx3lL3GmK5Qsa/r/wvU50QX6i/Fe913LnU2kPRn+jL0tWHtnfMOmf8Adzkgi+/8L+Zlg8Y/iGnXQOZf588Vk+l98HXA6nkFn1TnNn2+mw59dLli+Ko4nflZwx3OUDn/WRPST5I1eCmz5quv8eREd/oyJPqB1USPjXbzLef7x7OZ8OP/7a44LbkLrhodrl+8+f15pK38T3/HRK0CHjzzgb+YQkK3lSWjLDwFtveBv5CQwW9OT8NpPAkUf1mjoJLBNvhf8TSwDs7X9E0KzAekaz49avusHfwMXgrI1/hNGrwGD9V0ISnrFE/5c+5Oh07T+E0rrmeCTgsUP1z/UCl/4R9pZ3P+69wG7BWu/Xf/1X1/48z2W89dpQAfRq/b13g4eXOeNAFNt3v9rPgpMF61c3wMh6ee84V92qfX8te0DEj8WLZxZz/MfH3jDX/MaYJqhf8LrMeAu4br1PBS61h/+pR1d4K/HgCbifds95kDD/eHP52rlb3Kxon4ekC3eHjEvBHb15wSAH0x2hL+GfUAP8ed298Y8k3jLH/4lvZzhr2xA8j7xkstiPufgD/+64Q7xVzQg4VcSFcfGOgCU+CPAVKf4qxnwlEzBWC+I2OxP/+vknxPMZWtpAx6XKXcyxiti7vXn+D/cOf7yBkjx52ujB0r5zBf+B3s5yF/WgMfkisV4Q8wCX67/zE12kr+cAfMlj5HRr1XuXOYF/rLFWq//5QS68eIGPCpZaVf0UKs9oB/Zk6n3/k9O0D9A0IBHZAvNjBqqZ43T6KvOHtm8aITu5z9ygldYyIB50nWi3w+zTsv2f7Eld/KNfXu0SWY+JCeMnZiAAQ9LV3knaqze6k+BlG7I6uPVJwmnh3MYi9uAufJFMqIGe0H1ysvOjJbMr+SEdDSL997gDPkS5VEfjeqg9v7X8rxuzLdM52Elvn3AHIUKa5QfKf7mvv/pyxj4B2zAbJUC3456DqxYYbSXuzDwD9oApSe334gabrz8YJ/ezsA/cANmKo0e/TTgHvn29/IblDk87DR8Jqi2fQei1mp9ZYeqzGbgH7wBits3NGrAJZIjFf7AS/4zNOAz+QoZRf7RO4Akye8/fd4X/V8PvMnj64ztA1SfTxoYNeJAuYE+6oT+r795J5raB6j+P/H30UOukhroBPg3CM6QAar8q6IflmlSKHX87wX+DWMzYoDy++l+Fv2br5cZpwLnf/VBm/T/gxkwQPn7BJ/EeDPUQpmBHgL/xvgbMED5+5SRm2P86vclBnrRS/4arv9989Rd81pA/ft0sf4OlCYx6qetfOQ/U2//a98HTFYe7EhKjJ89SmKg28E/Lv5aDVDnX/W9WL97mfhAL2H/H/elG21HgQfVVYp9ZUn8lZClXdD/MUHFPDPWtA+YpD7Mupg/vKX4x4CfAv/4+WsyQAP/91Njbt6PhAcqvwz8BfjrMUB9iM8767r1sRTH/1iIGvg/8ngLXrxX9v16Nu550ZHquqH/Y93/a6jAxEjY/Ktuq2/b9osO9Tr6X6z/bdgH1Nb7/bzEctGxfuob/1mm+z/8fUDk/no3rJPwGrAl+l+0/8PeBzTk53Wig21A/4v3f7j7gAYfMR4rOlom+l+i/8PcBzTs53zR4frg/q8c/7AMaGT/tFxwuC8SsP9v9Pq/TUeBSEbD2/RbwfG2oP8l+z+cfUCj5yc7BAfMBX95/sEb0Pj56UHBESeD/9/Pr/ApcbAGxLE+EX034EBv+M8O9vgfxnlAY8f/CzlDdREQSv8Huw+I6/qE6Hvmu4K/Gv/gDIjv+pTorYBLwF+Rf1AGxPl9etHngZLBX5V/MAbEyZ+Jjgv+6vyDMCBe/iQFCJ2/eQPi5k9RAAv4mzYgfv4EBbCCv1kDBPjTE0AH/ywdG2LOABH+5ASYaQt/cwYI8acmgEX8TRkgxp+YAFbxN2NARPDNDaQEsIy/CQNE+ZMSwDr++g0Q5k9JAAv56zZAnD8hAazkr9cACf50BLCUv04DZPiTEcBa/voMkOJPRQAd/I29GV2PAXL8iQhgNX89BkjypyGA5fzZhLrQ+JMQAPxpC6CBP5/jK38CAoA/bQFmgT9pAcCftgDgT1sA2/k/qIH/JAYBwB8CmOI/13P+PgsA/rQFAH/aAoA/bQGs5x+xg7+vAoA/bQHAn7YA4E9bAPCnLQD40xZAB/+HyfD3T4DZ4E9aAPCnLQD40xbAdv4ZOj8mDgHAHwKAPwQAfwgA/hAA/IkLoIP/PIL8fREA/GkLQIB/naGPdnshAPjTFsB2/hMt5u+DAOBPW4A54E9aAPCnLQD40xYA/GkLAP60BdDB/xHa/J0WAPxpCwD+tAWwnf8kJ/i7K4Dt/Ke5wd9ZAcCftgDgT1sA8KctAPjTFgD8aQugg/+jJvlzh/g7KMAC8CctAPjTFoAA/9og+bsmwCMa+Jv8/0+OBv7jGASoL1MI9H+w/N0SYGwd+FMW4I4au5//0bH/H8sgQH3pV4L+pyzAtwrs5p/jJH93BGj6pvoEzwd/dwVYavfxf7qLx3+XBLg9gv6nLEDHQvCnLEDiDqvv/zq7/3dGgIfQ/6QFuOwc+JMW4L/Bn7QAg22+/jNDA/8xDAI0kKTDFvf/dLf73wkBHvKc/1gGARpKi1NqE/wY+LstwGP29v9Mx4//TgiQWoT+Jy1ADviTFqDpCfAnLcA4W4//Gr5PWTuaQYDGshv9T1qAq8CftgCLwJ+0AM0KreTvy/HffgGGSE/w4wa3aoY//W+7AKvBn7QASWfAn7QA/wL+tAX4hX38NXyfpnYUgwDx5YiX/T+GQYD40h38aQswWWJ+Iw8Y3KA5vu3/LRdgo8QEz0b/eyNA81LxCV6D/vdHgJvFJ/h4K3ObM9PH/rdaAPEbQZEb0f8eCSC+CHwZ/e+RAOKLwEg/8PdIgMkW7QDmauB/L4MAQtkkPMeD0f8eCdBM+KVwxcng75EA4ovA5wxtycP+7v9tFmCx8CwPRf/7JMCfRLesurWR7ZjlN39rBRBfBO4Af58EEH8x/Czw90kA8UVgH/D3SIDmZaIb9r/g75MAtwjP9Erw90kAGxaBJPjbKoAFi0Aa/C0VwIJFIBH+lgowNfRFoE///3RQgD+EvQicTYW/nQJILAITwN8jAW4Vnu5V4O+TALnC830n+PskwP+Euggkxd9KAcJdBNLib6UAmWEuAonxt1KAV0NcBFLjb6MAYS4CyfG3UYAQF4H0+NsogPgi8C5Nleer868ZoXk2OoxesvVocXV18dGtuaPSSAggvghsZQ//e7RORbucA98cf/+0tt4LkC486294yr/rsoroEuVLu3gugPgiUM9bQeZYdvxvml3PCzLKFzT3WgDxO4F9dZR9zLL+79PAx/IO9fZYgIvKQ1kE2sZ/VIPTUDrCXwFuC2URaNv7PzLrGi4WmemtAEvCuBNoG/84/haT46sAYSwCbdv/j440XrBuhJ8C9AhhEWhb/18d17Xw0t5eChDCIvBxy/q/eZwfy/6wmY8CbA58EWjd+9/iFnKehwIEvwjU0f93a73+VxFv3bJO/gkgvgh8Vq3gAtv6ny2Lv3KufwKILwKV7gQmPG1b/7N2FfGXLm/rnQBHA30ctNk66/pf7JOEWb4JcIXw/L+pUK3nbuv6n7EDItX3+SZAljCAOdK1ErPLLOTfQah8pL1nAgS3CEwcks/t2/+fvwgotgEj/RJAfBH4Z7lFYIecwxrw6+9/4bPgxX4JEMwisFfO9lpuKX+2VWwTNvslgPgicJhghdQhyz/lmlIz3MAUFIhtw1G/BBBeBNYILQJ7ZGys4Npi5v2/Z8U2osgrAUwuAlMG/vvHXGcMvf+5SmwrqrwSINvUIvB861dy7gL/4HnYJMAWYQzXhND6RvmTFkB8EXgyIfjWN8uftAC3610EpgzMPc7NxOD3HygLsFTjnUBTrW+aP2kBPtG0CDTY+sb5Uxagp5ZFoNHWN8+fsgDqi0DTrR8Af8oCKC4Czbd+EPwJC6CyCAyk9QPhT1iAQcIwngu09YPhT1iAPJk7gcG1fkD8CQsgvAisHjBrexUPMtXDGAQw9cOv5NandiSDAMYEmAb+tAXYCv6kBRBfBPrJn6wAg8CftgB54E9bgE/An7QAV4I/bQGsXgRW38kggGEBtoI/aQFSK8CftACD7eVf8RMGAYwLsMxa/qU3MQhgXgBrF4HF1zIIYF4AaxeBR3sxCBCAADmW8v9jWwYBghDgNTv5r2zKIEAQAti5CPzLOMYgQCACWLkI3HcFgwABCWDhIrD2qWQGAYISoMA6/gevZQwCBCVAL9vwly9IZhAgOAEsWwRGftOdMQgQoAB2LQJ3DWAMAgQpQGqlTfgHMQYBghVgiD34dw5hDAIELcByS+h/taIfYxAgeAHsWATuz2jBGAQIQYD08OFH3p11ObMl5AQYE/ai/9WpnZlFISdAqNeBC1be3ZLZFXIC7Aqt9TdnpjP7Qk6AY2h92gKUBA6/Ytuc7zBrQ02ApgHT/2TpbSnM5lATIKEWrU/7EPBlQPQ/tfaoT1yAE0G0/pbsnsyRkBPgdbQ+bQF+Tv6oT1yA0cboFywblMKcCzkB2htZBtTsdK71qQrA3jJx1G/FXA09ATK1wq98LedK5nLoCdD6nDb6x1xufbICsIXEj/rkBWirfj/o2PIhqcyPEBSAZaH1aQuQ+Bbpoz4EYOnFUif822ZcxbwLSQHY9cL/Djq11rfWJy0AGxUR2ISq12f0Zr6GqABsWHn8rd+aeRyqArD+Z+I74U9gfoesAKzbtoYLn1gxtAXzP3QFYAkP1rsYqNo+82pGI4QFYKxF9skYFU97ftSHAH+XlNEbKr7Z+rP6MFIhLsD5tLxp9rrdh06c+vDNddOvS2HUAgGIBwJAAAgAASAABIAAEAACQAAIAAEgAASAABAAAkAACAABIAAEgAAQAAJAAAgAASAABIAAEAACQAAIAAEgAASAABAAAkAACAABIAAEgAAQAAJAAAgAASAABIAAEAACQAAIAAEgAASAABAAAkAACAABIAAEgAAQAAJAAAgAASAAbQFEP9yZDEYm00wQR61yxXLBipcAkslcKoijTLnil4IVuwKSyXQXxFGsXPGMYMU+gGQy1wjiOK1c8TPBigMByWRuFsRxXLni+4IVJwOSyYh+Svs95YrbBSvmApLJ5AnieE254nrBilsAyWS2CeL4L+WKywUrnkkAJXNJLBLEkadccr7opae+wGQu/yRKY55yyTGiJbOAyVxmiNK4V7nkANGSvwMmc9kkSqO/csmOoiXLW4OTqbQSvTDP26ufdpSJ1rwPoExlgiiLEg2n5HtFi24HKFN5S5TFbg1FnxctWtcdpMzk8ogoi1UaqmaLFtWw9kRiZoUwiqkaqv5IuGpFGliZSMdKYRQ3aCjboka47NOAZSKLhEHUtNBR94Bw3TI8FWIg3YXXgHyflsJ5wnX5BuDSn9+Lc1ikpfC94oX5EPDSnTskMAzXUjktIl75GC4Has7Fx8Up1LXVUztfwr3fApnevCQBYa+m2gslavMpYKYz2TIM/lVT8X+WKV7ZH9T0ZUCVDIMfaqrepFCmetFV4KYrV5+VIXA6KbxLkBfyZ1wN0HUJ8IQUAH2X5H8sVZ9/3BnsdKTzx3Lzf4O2LUg8KbcFn+P5QA25Sq7/+ckkfduQK7cJvAhngurnf2clJ/8ZjRvRV3IbeGU2nhJXS0al7Nz31rkZ78puBd/QBhDl02q99MTv1LohD0hvBz+G+wLSueOE/LzrfTQztVh+S/gr3YBSJt03Kkx6UYrejVmosC287JkOwCm8+F9UrjLnT2jenLQqla3hlct7AKlIevyyUmnCK9rr3qI1XDH7s78FrvGl9bhtEcXZXqV9o66qVTWAl2/M6YdVYWMX3b49fVOF8lTX9NS/ZWu5jhS+ljf1pn49LsHb5P4hyZf06Hfz1LxthVqmeY2BLUyv4YgjqTZyxvUcJtaVrDSzLinFzLqREkOr7vmYWjcy19B5ykXHMLcupKC5qTPVuzG5LmSoubXKK5hd+7PJ4GK1y18wv7bnq04mL1dkYoJtzySzFyrfxAzbne2JZq9YdjqLObY5xV1MX7Mehkm2OfeYv2uxBrNsb1aZ58+a78c825r8i4K4cdm1EDNtZ84G9IK+m2ox1zam7tagHl6Yicm2MdOCe3xlKWbbvqwI8PmlpN9hvm3LpqQABWAtdmHG7crOFBZoWmMxaFXeD/wvmJcewqzbkyPtWeBJO4x5tyWHQnk9d5s9mHk78l5bFkpav4O5tyFvh/Za1tSNmP3w80pqeP9nSlqC+Q87K5uE+pe26XVAEGZqp7GQcyseEQoxRbeE/7fWznvBIawcsOIDbRetBolwsqo5syN3FQFG8Dk30p63G3TeAR5BZ3tHm95vkZDxFZAEma+yE5ldSXsJVILLRhtfxD78GMAEk4KhzMokZ+O/owGkdEFzZms6PlsNQGZTvdLut652XYmXiRlM3YvpzPZc+XwlQJlJ5bM9mQtptwAXhgzky9yOzJWk3o9nRTRn530pzKlcvegkqOnK58+4+BHGxOtyT4GdeorWDmnCHE3SgCf24YkRlbP+vf/WP4m5nXb35O7H0lAiNfsW392W+ZEWN2Su2oNXDcedkndXZd6QynxL2g9Hzcv79bb8gqLiEkCOgl5cVJC/7dd580b1T7MI2v8B/uISip5sw2wAAAAASUVORK5CYII=\"\n}","import {\n Directive,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n Output,\n ViewChild,\n} from '@angular/core';\nimport { AtoGojsEditorModel } from './gojs-editor.model';\nimport * as go from 'gojs';\nimport _ from 'lodash';\nimport moment from 'moment';\nimport { GO_LICENSE_KEY } from '../constants/key.const';\nimport { Subject } from 'rxjs';\nimport { UtilsService } from '../services/utils/utils.service';\nimport {\n ATO_ENUM_FLOW_DIRECTION,\n ATO_ECOMPONENT_PLANT_TYPE,\n NO_DATA,\n TEXT_UNKNOWN,\n VALUE_NA,\n} from '../constants/value.const';\nimport { ATO_EPlantType } from '../constants/plant.constant';\n\nconst ICON_ALERT = '/assets/images/icons/Station.svg';\nconst ARROW = '/assets/images/icons/arrow.svg';\nconst ARROW_GRAY = '/assets/images/icons/arrow-gray.svg';\nconst RO_LINE_DIRTY = '/assets/images/icons/ro_line_dirty.svg';\nconst OUTFLOW_LINE_DIRTY = '/assets/images/icons/outflow_line_dirty.png';\nimport { Subscription } from 'rxjs';\nimport { ICONS_BASE64 } from '../constants/icon-base64.const';\n\n@Directive()\nexport class AtoDefaultGojsEditor implements OnDestroy {\n @ViewChild('menuTrigger') menuTrigger: any;\n @Input() linkValidation: (\n fromNode: go.Node,\n fromPort: go.GraphObject,\n toNode: go.Node,\n toPort: go.GraphObject,\n link: go.Link\n ) => boolean;\n\n actions: any[] = [];\n actionMenuId: string = 'actionMenuId';\n\n myDiagramDiv: any = this.constructor.name + '-' + moment().valueOf();\n myDiagram: any;\n $ = go.GraphObject.make;\n animationInterval: any;\n defaultScaleZoomToFit?: number;\n\n private _initialOptions: any = {\n 'toolManager.hoverDelay': 200,\n // 'draggingTool.isEnabled': false,\n // initialAutoScale: go.Diagram.UniformToFill,\n // autoScrollRegion: AtoGojsEditorModel.GRID_SIZE * 5,\n layout: this.$(go.LayeredDigraphLayout, { direction: 0 }),\n initialContentAlignment: go.Spot.Center,\n initialAutoScale: go.Diagram.Uniform,\n // contentAlignment: go.Spot.Center,\n // this.$(go.ForceDirectedLayout),\n 'undoManager.isEnabled': true, // enable undo & redo\n // \"animationManager.isInitial\": false,\n // \"animationManager.isEnabled\": false,\n // \"draggingTool.isGridSnapEnabled\": true\n dragSelectingTool: this.$(\n go.DragSelectingTool,\n { isPartialInclusion: true, delay: 50 },\n {\n box: this.$(\n go.Part, // replace the magenta box with a red one\n { layerName: 'Tool', selectable: false },\n this.$(go.Shape, {\n name: 'SHAPE',\n fill: 'rgba(255,0,0,0)',\n stroke: '#E95F47',\n strokeWidth: 2,\n })\n ),\n }\n ),\n 'linkingTool.linkValidation': this.checkLinkCondition.bind(this),\n 'draggingTool.doMouseMove': function () {\n // do the standard behavior by calling the super method\n go.DraggingTool.prototype.doMouseMove.call(this);\n // if dragging-out from the diagram is not allowed, and\n // if mouse is outside of viewport\n if (\n !this.diagram.allowDragOut &&\n !this.diagram.viewportBounds.containsPoint(\n this.diagram.lastInput.documentPoint\n )\n ) {\n this.diagram.ensureBounds();\n const vp = this.diagram.lastInput.viewPoint;\n const dp = this.diagram.position.copy();\n if (vp.x < 0) dp.x -= 10;\n else if (vp.x > 0) dp.x += 10;\n if (vp.y < 0) dp.y -= 10;\n else if (vp.y > 0) dp.y += 10;\n this.diagram.position = dp; // scroll in the direction of the mouse\n }\n },\n // LayoutCompleted: () => {\n // this.myDiagram.zoomToFit();\n // this.defaultScaleZoomToFit = this.myDiagram.scale;\n // if (!this.initialOptions.isReadOnly) {\n // const sizeMargin = AtoGojsEditorModel.GRID_SIZE * 15;\n // this.myDiagram.padding = new go.Margin(sizeMargin);\n // }\n // },\n };\n\n checkLinkCondition(\n fromNode: go.Node,\n fromPort: go.GraphObject,\n toNode: go.Node,\n toPort: go.GraphObject,\n link: go.Link\n ): boolean {\n if (this.linkValidation) {\n return this.linkValidation(fromNode, fromPort, toNode, toPort, link);\n }\n return true; // Mặc định cho trường hợp không có hàm linkValidation được truyền vào\n }\n\n @Input() set initialOptions(v: any) {\n this._initialOptions = _.merge(this._initialOptions, v);\n // _.extend(v, this._initialOptions);\n }\n\n get initialOptions() {\n return this._initialOptions;\n }\n\n private _editor: AtoGojsEditorModel;\n @Input() set editor(v: AtoGojsEditorModel) {\n this._editor = v;\n if (v) {\n setTimeout(() => {\n this.initDiagram();\n }, 100);\n }\n }\n\n get editor(): AtoGojsEditorModel {\n return this._editor;\n }\n\n @Input() isShowNodeInfo: boolean = false;\n @Input() plantSatus: string;\n\n constructor(private _elRef: ElementRef) {\n go.Diagram.licenseKey = GO_LICENSE_KEY;\n }\n\n @Output() onModelChangeListenerEvent: EventEmitter<any> =\n new EventEmitter<any>();\n @Output() onClickInfoButton: EventEmitter<any> = new EventEmitter<any>();\n @Output() onOpenWizard: EventEmitter<any> = new EventEmitter<any>();\n @Output() onOpenDetail: EventEmitter<any> = new EventEmitter<any>();\n @Output() onOpenAssetParameter: EventEmitter<any> = new EventEmitter<any>();\n @Output() onOpenInsightMapping: EventEmitter<any> = new EventEmitter<any>();\n @Output() onHoverInfoButton: EventEmitter<any> = new EventEmitter<any>();\n @Output() onHoverAlert: EventEmitter<any> = new EventEmitter<any>();\n @Output() onDoubleClickNode: EventEmitter<any> = new EventEmitter<any>();\n @Output() onOpenChangeIcon: EventEmitter<any> = new EventEmitter<any>();\n // Click component\n @Output() onClickCompoent: EventEmitter<any> = new EventEmitter<any>();\n @Output() callbackImageTopology: EventEmitter<any> = new EventEmitter<any>();\n\n // Click param on ParamTable\n @Output() onClikParamOfTable: EventEmitter<any> = new EventEmitter<any>();\n\n // Delete Node\n @Output() onDeleteNode: EventEmitter<any> = new EventEmitter<any>();\n @Output() onUndo: EventEmitter<any> = new EventEmitter<any>();\n // Rename\n @Output() onRename: EventEmitter<any> = new EventEmitter<any>();\n\n isAddedModelChangedListeners: boolean;\n committedTransactionSubject = new Subject<any>();\n\n // AddSub and UnSub\n _subscriptionList: Subscription = new Subscription();\n\n ngOnDestroy() {\n this.unsubscribeAll();\n this.stopAnimation();\n // this.myDiagram?.clear();\n if (!!this.myDiagram?.div) {\n this.myDiagram.div = null;\n }\n if (this.myDiagram) {\n this.myDiagram.clear();\n }\n if (this.myDiagram != null && this.myDiagram.nodeTemplateMap != null) {\n this.myDiagram.nodeTemplateMap.clear();\n }\n\n if (this.myDiagram != null && this.myDiagram.groupTemplateMap != null) {\n this.myDiagram.groupTemplateMap.clear();\n }\n if (this.myDiagram != null && this.myDiagram.linkTemplate != null) {\n for (var key in this.myDiagram.linkTemplateMap.toArray()) {\n this.myDiagram.linkTemplateMap.remove(key);\n }\n }\n this.myDiagram = null;\n }\n\n addOrRemoveCompoentTemplate() {\n // Add Node and Node Group\n _.forEach(this.editor.data?.nodeDataArray, (node) => {\n this.addTemplate(node);\n });\n // Remove Node and Node Group\n _.forEach(this.myDiagram.nodeTemplateMap?.Hb, (temp) => {\n if (\n temp?.key &&\n !this.editor.data?.nodeDataArray?.some(\n (node) => node?.type === temp?.key\n )\n ) {\n this.myDiagram.nodeTemplateMap.remove(temp?.key);\n }\n });\n _.forEach(this.myDiagram.groupTemplateMap?.Hb, (temp) => {\n if (\n temp?.key &&\n !this.editor.data?.nodeDataArray?.some(\n (node) => node?.type === temp?.key\n )\n ) {\n this.myDiagram.groupTemplateMap.remove(temp?.key);\n }\n });\n }\n\n addTemplate(node) {\n this.addNodeTemplate(node);\n this.addGroupTemplate(node);\n }\n\n addGroupTemplate(node) {\n if (this.myDiagram.groupTemplateMap?.Hb?.[node?.type] || !node?.isGroup) {\n return;\n }\n // Group\n if (node?.type === AtoGojsEditorModel.ENUM_TEMPLATES.RO_WATER_TREATMENT) {\n this.makeGroupROPlantTemplate(\n AtoGojsEditorModel.NODE_TEMPLATES[node?.type].icon,\n AtoGojsEditorModel.NODE_TEMPLATES[node?.type].name\n );\n return;\n }\n\n if (node?.type === AtoGojsEditorModel.ENUM_TEMPLATES.BOILER) {\n this.makeGroupBoilerTemplate(\n AtoGojsEditorModel.NODE_TEMPLATES[node?.type].icon,\n AtoGojsEditorModel.NODE_TEMPLATES[node?.type].name\n );\n return;\n }\n\n if (node?.type === AtoGojsEditorModel.ENUM_TEMPLATES.COOLING_TOWER) {\n this.makeGroupCoolingTowerTemplate(\n AtoGojsEditorModel.NODE_TEMPLATES[node?.type].icon,\n AtoGojsEditorModel.NODE_TEMPLATES[node?.type].name\n );\n return;\n }\n\n if (node?.type === AtoGojsEditorModel.ENUM_TEMPLATES.ZONE) {\n this.makeGroupZoneTemplate();\n return;\n }\n\n if (\n node?.type === AtoGojsEditorModel.ENUM_TEMPLATES.PLANT_CELL &&\n node?.isGroup\n ) {\n this.groupPlantCellTemplate(\n AtoGojsEditorModel.NODE_TEMPLATES[node?.type].icon,\n AtoGojsEditorModel.NODE_TEMPLATES[node?.type].name\n );\n return;\n }\n if (\n node?.type === AtoGojsEditorModel.ENUM_TEMPLATES.PLANT_CELL_INPUT_GROUP\n ) {\n this.groupPCInputOrOutTemplate(\n AtoGojsEditorModel.NODE_TEMPLATES[node?.type].icon,\n AtoGojsEditorModel.NODE_TEMPLATES[node?.type].name,\n new go.Margin(0, 50, 0, 0)\n );\n return;\n }\n if (\n node?.type === AtoGojsEditorModel.ENUM_TEMPLATES.PLANT_CELL_OUTPUT_GROUP\n ) {\n this.groupPCInputOrOutTemplate(\n AtoGojsEditorModel.NODE_TEMPLATES[node?.type].icon,\n AtoGojsEditorModel.NODE_TEMPLATES[node?.type].name,\n new go.Margin(0, 0, 0, 50)\n );\n return;\n }\n if (\n node?.type === AtoGojsEditorModel.ENUM_TEMPLATES.GROUP_BASIC_COMPONENT\n ) {\n this.makeGroupBasicComponent(\n AtoGojsEditorModel.NODE_TEMPLATES[node?.type].icon,\n AtoGojsEditorModel.NODE_TEMPLATES[node?.type].name\n );\n return;\n }\n\n this.makeGroupTemplate(\n AtoGojsEditorModel.NODE_TEMPLATES[node?.type].icon,\n AtoGojsEditorModel.NODE_TEMPLATES[node?.type].name\n );\n }\n\n addNodeTemplate(node) {\n if (this.myDiagram.nodeTemplateMap?.Hb[node?.type] || node?.isGroup) {\n return;\n }\n // Not Group\n // Component Water Normal\n if (\n AtoGojsEditorModel.TYPE_TEMPLATE_WATER_NORMAL?.includes(node?.type) &&\n !node?.isGroup\n ) {\n this.makeEntityTemplate(\n AtoGojsEditorModel.NODE_TEMPLATES[node?.type].icon ?? '',\n AtoGojsEditorModel.NODE_TEMPLATES[node?.type].name ?? ''\n );\n }\n // Component Water Withdraw Or Discharge\n if (\n AtoGojsEditorModel.TYPE_TEMPLATE_WATER_WITHDRAW_OR_DISCHARGE?.includes(\n node?.type\n ) &&\n !node?.isGroup\n ) {\n this.makeEntityWithdrawOrDischarge(\n AtoGojsEditorModel.NODE_TEMPLATES[node?.type].icon ?? '',\n AtoGojsEditorModel.NODE_TEMPLATES[node?.type].name ?? ''\n );\n }\n\n // Component Energy Normal\n if (\n (AtoGojsEditorModel.TYPE_TEMPLATE_ELECTRICITY?.includes(node?.type) ||\n AtoGojsEditorModel.TYPE_TEMPLATE_NATURAL_GAS?.includes(node?.type) ||\n AtoGojsEditorModel.TYPE_TEMPLATE_FUEL?.includes(node?.type) ||\n AtoGojsEditorModel.TYPE_TEMPLATE_STEAM?.includes(node?.type)) &&\n !node?.isGroup\n ) {\n this.makeEntityTemplateEnergy(\n AtoGojsEditorModel.NODE_TEMPLATES[node?.type].icon ?? '',\n AtoGojsEditorModel.NODE_TEMPLATES[node?.type].name ?? ''\n );\n }\n\n if (node?.type === AtoGojsEditorModel.ENUM_TEMPLATES.IMAGE_TEMPLATE) {\n this.makeImageTemplate();\n }\n if (node?.type === AtoGojsEditorModel.ENUM_TEMPLATES.PARAM_TABLE) {\n this.makeParamTable();\n }\n if (node?.type === AtoGojsEditorModel.ENUM_TEMPLATES.MASS_BALANCE) {\n this.makeMassBalance();\n }\n // Text Node\n if (node?.type === AtoGojsEditorModel.ENUM_TEMPLATES.TEXT_NODE) {\n this.makeTextTemplate();\n }\n // Value Node\n if (node?.type === AtoGojsEditorModel.ENUM_TEMPLATES.VALUE_NODE) {\n this.makeValueNodeTemplate();\n }\n\n // Value Node\n if (node?.type === AtoGojsEditorModel.ENUM_TEMPLATES.EMPTY) {\n this.makeEmptyNodeTemplate();\n }\n\n // Value Label\n if (node?.type === AtoGojsEditorModel.ENUM_TEMPLATES.VALUE_LABEL) {\n this.makeValueLabelTemplate();\n }\n // Label\n if (node?.type === AtoGojsEditorModel.ENUM_TEMPLATES.TEXT_LABEL) {\n this.makeTextLabelTemplate();\n }\n // Zone item\n if (node?.type === AtoGojsEditorModel.ENUM_TEMPLATES.ZONE_ENERGY_ITEM) {\n this.makeZoneItemTemplate();\n }\n // data box\n if (node?.type === AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX) {\n this.makeDataBoxTemplate();\n }\n\n // Special template\n if (AtoGojsEditorModel.TYPE_TEMPLATE_SPECIAL?.includes(node?.type)) {\n this.makeSpecialTemplate(\n AtoGojsEditorModel.NODE_TEMPLATES[node?.type].icon,\n AtoGojsEditorModel.NODE_TEMPLATES[node?.type].name\n );\n }\n\n // Plant Cell\n if (\n node?.type === AtoGojsEditorModel.ENUM_TEMPLATES.PLANT_CELL &&\n !node?.isGroup\n ) {\n this.plantCellTemplate(\n AtoGojsEditorModel.NODE_TEMPLATES[node?.type].icon,\n AtoGojsEditorModel.NODE_TEMPLATES[node?.type].name\n );\n }\n }\n\n initDiagram() {\n if (!!this.myDiagram?.div) {\n // this.myDiagram.div = null;\n if (this.initialOptions?.grid) {\n this.myDiagram['grid'] = this.initialOptions?.grid;\n } else {\n this.myDiagram['grid'] = this.$(go.Panel, 'Grid');\n }\n if (this.initialOptions?.LayoutCompleted) {\n this.myDiagram.addDiagramListener(\n 'LayoutCompleted',\n this.initialOptions?.LayoutCompleted\n );\n }\n if (this.initialOptions?.LinkReshaped) {\n this.myDiagram.addDiagramListener(\n 'LinkReshaped',\n this.initialOptions?.LinkReshaped\n );\n }\n if (this.initialOptions?.SelectionMoved) {\n this.myDiagram.addDiagramListener(\n 'SelectionMoved',\n this.initialOptions?.SelectionMoved\n );\n }\n if (this.initialOptions?.ChangedSelection) {\n this.myDiagram.addDiagramListener(\n 'ChangedSelection',\n this.initialOptions?.ChangedSelection\n );\n }\n this.myDiagram.dragSelectingTool = this.initialOptions?.dragSelectingTool;\n this.myDiagram.toolManager.draggingTool.isGridSnapEnabled =\n this.initialOptions?.['draggingTool.isGridSnapEnabled'] ?? false;\n if (\n this.myDiagram.toolManager &&\n this.myDiagram.toolManager.draggingTool\n ) {\n if (this.initialOptions?.['draggingTool.gridSnapCellSize']) {\n this.myDiagram.toolManager.draggingTool.gridSnapCellSize =\n this.initialOptions?.['draggingTool.gridSnapCellSize'];\n }\n // if (this.initialOptions?.['draggingTool.isGridSnapEnabled']) {\n // this.myDiagram.toolManager.draggingTool.isGridSnapEnabled =\n // this.initialOptions?.['draggingTool.isGridSnapEnabled'];\n // }\n if (this.initialOptions?.['draggingTool.doMouseMove']) {\n this.myDiagram.toolManager.draggingTool.doMouseMove =\n this.initialOptions?.['draggingTool.doMouseMove'];\n }\n\n if (this.initialOptions?.['linkingTool.linkValidation']) {\n this.myDiagram.toolManager.linkingTool.linkValidation =\n this.initialOptions?.['linkingTool.linkValidation'];\n }\n }\n this.myDiagram.contentAlignment =\n this.initialOptions?.contentAlignment ?? go.Spot.Center;\n this.myDiagram.layout = this.initialOptions?.layout;\n // this.myDiagram.minViewportBounds = new go.Rect(0, 0, 1200, 1200);\n if (!!this.editor?.data) {\n this.addOrRemoveCompoentTemplate();\n this.myDiagram.model = go.Model.fromJson(this.editor.data);\n }\n\n return;\n }\n if (this.animationInterval) {\n clearInterval(this.animationInterval);\n }\n\n const diagramDiv = this._elRef.nativeElement.querySelector(\n `#${this.myDiagramDiv}`\n );\n this.myDiagram = this.$(go.Diagram, diagramDiv, this.initialOptions);\n // this.myDiagram.initialPosition = new go.Point(0, 0);\n this.addOrRemoveCompoentTemplate();\n\n this.makeLinkTemplate();\n // animation\n this.startAnimation();\n\n setTimeout(() => {\n const self = this;\n // if (!this.isAddedModelChangedListeners) {\n this.isAddedModelChangedListeners = true;\n this.myDiagram.addModelChangedListener(function (e) {\n if (\n e.change === go.ChangedEvent.Remove &&\n e.propertyName === 'nodeDataArray'\n ) {\n const data = e.oldValue;\n self.onDeleteNode.emit(data);\n }\n if (e.isTransactionFinished) {\n self.committedTransactionSubject?.next(e);\n }\n });\n this.myDiagram.commandHandler.undo = function () {\n self.onUndo.emit();\n };\n });\n\n if (!!this.editor) {\n this.myDiagram.model = go.Model.fromJson(this.editor.data);\n }\n }\n\n initGroupTemplateEnergy() {\n // for water\n const {\n STORAGE,\n WATER_TREATMENT,\n DEMIN_WATER_TREATMENT,\n // RO_WATER_TREATMENT,\n PROCESS,\n WASTEWATER_TREATMENT,\n DAF_WASTEWATER_TREATMENT,\n ETP_WASTEWATER_TREATMENT,\n MBR_WASTEWATER_TREATMENT,\n ZLD_WASTEWATER_TREATMENT,\n COOLING_TOWER,\n BOILER,\n OTHER,\n LANDSCAPING_IRRIGATION,\n } = AtoGojsEditorModel.ENUM_TEMPLATES;\n const waterGroups = [\n STORAGE,\n WATER_TREATMENT,\n DEMIN_WATER_TREATMENT,\n // RO_WATER_TREATMENT,\n PROCESS,\n WASTEWATER_TREATMENT,\n DAF_WASTEWATER_TREATMENT,\n ETP_WASTEWATER_TREATMENT,\n MBR_WASTEWATER_TREATMENT,\n ZLD_WASTEWATER_TREATMENT,\n COOLING_TOWER,\n BOILER,\n OTHER,\n LANDSCAPING_IRRIGATION,\n ];\n waterGroups.map((e) => {\n if (!!AtoGojsEditorModel.NODE_TEMPLATES[e]) {\n this.makeGroupTemplate(\n AtoGojsEditorModel.NODE_TEMPLATES[e].icon,\n AtoGojsEditorModel.NODE_TEMPLATES[e].name\n );\n }\n });\n\n // electrical\n this.initElectricGroupTemplate();\n\n // Fuel\n this.initFuelGroupTemplate();\n\n // Gas\n this.initGasGroupTemplate();\n }\n\n initElectricDiagram() {\n const {\n GRID,\n DIESEL_GENERATORS,\n BATTERY_ENERGY_STORAGE,\n LIGHTING_SYSTEMS,\n LIGHTINGS,\n ELECTRIC_METERS,\n TRANSFORMERS,\n ELECTRIC_FLYWHEEL_ENERGY_STORAGE,\n PUMPED_HYDRO_STORAGE,\n THERMAL_ENERGY_STORAGE,\n SUPER_CAPACITOR_ENERGY_STORAGE,\n SWITCH_GEARS,\n PROCESS_CONTROL_AUTOMATION_SYSTEMS,\n PROCESS_EQUIPMENT_MACHINES,\n OFFICE_EQUIPMENT,\n POWER_DISTRIBUTION_CONTROL_SYSTEMS,\n POWER_DISTRIBUTION_SYSTEMS,\n NATURAL_GAS_GENERATORS,\n MOTOR_CONTROLS,\n VARIABLE_FREQUENCY_DRIVERS,\n ELECTRIC_HVAC,\n COMPRESSED_AIR_SYSTEMS,\n REFRIGERATION_COOLING_SYSTEMS,\n MATERIAL_HANDLING_EQUIPMENT,\n WIND_POWER,\n ELECTRIC_INDUSTRIAL_MOTORS,\n GROUNDING,\n } = AtoGojsEditorModel.ENUM_TEMPLATES;\n const ListItemsCreateEntityTemplate = [\n GRID,\n DIESEL_GENERATORS,\n BATTERY_ENERGY_STORAGE,\n LIGHTING_SYSTEMS,\n LIGHTINGS,\n ELECTRIC_METERS,\n TRANSFORMERS,\n ELECTRIC_FLYWHEEL_ENERGY_STORAGE,\n PUMPED_HYDRO_STORAGE,\n THERMAL_ENERGY_STORAGE,\n SUPER_CAPACITOR_ENERGY_STORAGE,\n SWITCH_GEARS,\n PROCESS_CONTROL_AUTOMATION_SYSTEMS,\n PROCESS_EQUIPMENT_MACHINES,\n OFFICE_EQUIPMENT,\n POWER_DISTRIBUTION_CONTROL_SYSTEMS,\n POWER_DISTRIBUTION_SYSTEMS,\n NATURAL_GAS_GENERATORS,\n MOTOR_CONTROLS,\n VARIABLE_FREQUENCY_DRIVERS,\n ELECTRIC_HVAC,\n COMPRESSED_AIR_SYSTEMS,\n REFRIGERATION_COOLING_SYSTEMS,\n MATERIAL_HANDLING_EQUIPMENT,\n WIND_POWER,\n ELECTRIC_INDUSTRIAL_MOTORS,\n GROUNDING,\n ];\n ListItemsCreateEntityTemplate.map((e) => {\n if (!!AtoGojsEditorModel.NODE_TEMPLATES[e]) {\n this.makeEntityTemplateEnergy(\n AtoGojsEditorModel.NODE_TEMPLATES[e].icon,\n AtoGojsEditorModel.NODE_TEMPLATES[e].name\n );\n }\n });\n }\n\n initElectricGroupTemplate() {\n const listItems = [\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.BATTERY_ENERGY_STORAGE\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.TRANSFORMERS\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.ELECTRIC_METERS\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.LIGHTINGS\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.POWER_DISTRIBUTION_SYSTEMS\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.SWITCH_GEARS\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.ELECTRIC_INDUSTRIAL_MOTORS\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.GROUNDING\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.MOTOR_CONTROLS\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.LIGHTING_SYSTEMS\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.ELECTRIC_HVAC\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.REFRIGERATION_COOLING_SYSTEMS\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.PROCESS_CONTROL_AUTOMATION_SYSTEMS\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.OFFICE_EQUIPMENT\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.COMPRESSED_AIR_SYSTEMS\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.PROCESS_EQUIPMENT_MACHINES\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.MATERIAL_HANDLING_EQUIPMENT\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.POWER_DISTRIBUTION_CONTROL_SYSTEMS\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.BATTERIES\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.VARIABLE_FREQUENCY_DRIVERS\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.ELECTRIC_FLYWHEEL_ENERGY_STORAGE\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.PUMPED_HYDRO_STORAGE\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.THERMAL_ENERGY_STORAGE\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.SUPER_CAPACITOR_ENERGY_STORAGE\n ],\n ];\n listItems.forEach((e) => {\n this.makeGroupTemplate(e?.icon, e.name);\n });\n }\n\n initFuelGroupTemplate() {\n const listItems = [\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.DIESEL_FUELS\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.GASON_LINES\n ],\n\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.BIODIESELS\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.KEROSENSE\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.PROPANES\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.TANKER_TRUCKS\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.PIPELINE\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.INDUSTRIAL_BOILERS\n ],\n\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.GENERATORS\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.INDUSTRIAL_FURNACES\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.INDUSTRIAL_OVENS\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.INDUSTRIAL_VEHICLES_AND_EQUIPMENT\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.FUEL_METERS\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.FUEL_DISPENSERS\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.FUEL_STRORAGE_TANKS\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.ELECTRIC_HVAC\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.FUEL_FILTRATIONS\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.FUEL_MANAGEMENTS\n ],\n ];\n\n this.makeGroupTemplate(\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.FUEL_DISPENSERS\n ].icon,\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.FUEL_DISPENSERS\n ].name\n );\n this.makeGroupTemplate(\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.FUEL_STRORAGE_TANKS\n ].icon,\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.FUEL_STRORAGE_TANKS\n ].name\n );\n this.makeGroupTemplate(\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.FUEL_FILTRATIONS\n ].icon,\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.FUEL_FILTRATIONS\n ].name\n );\n this.makeGroupTemplate(\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.FUEL_MANAGEMENTS\n ].icon,\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.FUEL_MANAGEMENTS\n ].name\n );\n listItems.forEach((e) => {\n this.makeGroupTemplate(e?.icon, e.name);\n });\n }\n\n initGasGroupTemplate() {\n const listItems = [\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.COMPRESSED_NATURAL_GAS_PIPELINE\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.BOILERS_AND_HEATERS\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.FURNACES\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.POWER_GENERATION\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.COGENERATION\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.COMBINED_CYCLE_POWER_PLANTS\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.FUEL_FOR_VEHICLES_AND_EQUIPMENT\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.GAS_METERS\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.BURNERS\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.FLUE_GAS_ANALYZERS\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.COMBUSTION_CONTROL_SYSTEMS\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.GAS_STORAGE_TANKS\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.GAS_PRESSURE_REGULATORS\n ],\n ];\n\n this.makeGroupTemplate(\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.FUEL_DISPENSERS\n ].icon,\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.FUEL_DISPENSERS\n ].name\n );\n this.makeGroupTemplate(\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.FUEL_STRORAGE_TANKS\n ].icon,\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.FUEL_STRORAGE_TANKS\n ].name\n );\n this.makeGroupTemplate(\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.FUEL_FILTRATIONS\n ].icon,\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.FUEL_FILTRATIONS\n ].name\n );\n this.makeGroupTemplate(\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.FUEL_MANAGEMENTS\n ].icon,\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.FUEL_MANAGEMENTS\n ].name\n );\n listItems.forEach((e) => {\n this.makeGroupTemplate(e?.icon, e.name);\n });\n }\n\n initGasDiagram() {\n const {\n NATURAL_GAS_PIPELINES,\n LIQUEFIED_NATURAL_GAS,\n COMPRESSED_NATURAL_GAS_PIPELINE,\n COMPRESSED_NATURAL_GAS_PRODUCTION,\n BOILERS_AND_HEATERS,\n FURNACES,\n POWER_GENERATION,\n COGENERATION,\n COMBINED_CYCLE_POWER_PLANTS,\n FUEL_FOR_VEHICLES_AND_EQUIPMENT,\n GAS_METERS,\n BURNERS,\n FLUE_GAS_ANALYZERS,\n COMBUSTION_CONTROL_SYSTEMS,\n GAS_STORAGE_TANKS,\n GAS_PRESSURE_REGULATORS,\n NATURAL_GAS,\n } = AtoGojsEditorModel.ENUM_TEMPLATES;\n const ListItemsCreateEntityTemplate = [\n NATURAL_GAS_PIPELINES,\n LIQUEFIED_NATURAL_GAS,\n COMPRESSED_NATURAL_GAS_PIPELINE,\n COMPRESSED_NATURAL_GAS_PRODUCTION,\n BOILERS_AND_HEATERS,\n FURNACES,\n POWER_GENERATION,\n COGENERATION,\n COMBINED_CYCLE_POWER_PLANTS,\n FUEL_FOR_VEHICLES_AND_EQUIPMENT,\n GAS_METERS,\n BURNERS,\n FLUE_GAS_ANALYZERS,\n COMBUSTION_CONTROL_SYSTEMS,\n GAS_STORAGE_TANKS,\n GAS_PRESSURE_REGULATORS,\n NATURAL_GAS,\n ];\n ListItemsCreateEntityTemplate.map((e) => {\n if (!!AtoGojsEditorModel.NODE_TEMPLATES[e]) {\n this.makeEntityTemplateEnergy(\n AtoGojsEditorModel.NODE_TEMPLATES[e].icon,\n AtoGojsEditorModel.NODE_TEMPLATES[e].name\n );\n }\n });\n }\n\n initFuelDiagram() {\n const {\n DIESEL_FUELS,\n GASON_LINES,\n BIODIESELS,\n KEROSENSE,\n PROPANES,\n TANKER_TRUCKS,\n PIPELINE,\n INDUSTRIAL_BOILERS,\n GENERATORS,\n INDUSTRIAL_FURNACES,\n INDUSTRIAL_OVENS,\n INDUSTRIAL_VEHICLES_AND_EQUIPMENT,\n FUEL_METERS,\n FUEL_DISPENSERS,\n FUEL_STRORAGE_TANKS,\n FUEL_FILTRATIONS,\n FUEL_MANAGEMENTS,\n FUELS,\n } = AtoGojsEditorModel.ENUM_TEMPLATES;\n const ListItemsCreateEntityTemplate = [\n DIESEL_FUELS,\n GASON_LINES,\n BIODIESELS,\n KEROSENSE,\n PROPANES,\n TANKER_TRUCKS,\n PIPELINE,\n INDUSTRIAL_BOILERS,\n GENERATORS,\n INDUSTRIAL_FURNACES,\n INDUSTRIAL_OVENS,\n INDUSTRIAL_VEHICLES_AND_EQUIPMENT,\n FUEL_METERS,\n FUEL_DISPENSERS,\n FUEL_STRORAGE_TANKS,\n FUEL_FILTRATIONS,\n FUEL_MANAGEMENTS,\n FUELS,\n ];\n ListItemsCreateEntityTemplate.map((e) => {\n if (!!AtoGojsEditorModel.NODE_TEMPLATES[e]) {\n this.makeEntityTemplateEnergy(\n AtoGojsEditorModel.NODE_TEMPLATES[e].icon,\n AtoGojsEditorModel.NODE_TEMPLATES[e].name\n );\n }\n });\n }\n\n initSolarDiagram() {\n const {\n SOLAR_POWER,\n POWER_CONDITIONING_UNIT,\n BATTERIES: BATTERY,\n INVERTERS: INVERTER,\n } = AtoGojsEditorModel.ENUM_TEMPLATES;\n const ListItemsCreateEntityTemplate = [\n SOLAR_POWER,\n POWER_CONDITIONING_UNIT,\n BATTERY,\n INVERTER,\n ];\n ListItemsCreateEntityTemplate.map((e) => {\n if (!!AtoGojsEditorModel.NODE_TEMPLATES[e]) {\n this.makeEntityTemplateEnergy(\n AtoGojsEditorModel.NODE_TEMPLATES[e].icon,\n AtoGojsEditorModel.NODE_TEMPLATES[e].name\n );\n }\n });\n }\n\n initSteamDiagram() {\n const {\n VALUES,\n STEAM_TRAPS,\n PRESSURE_REGULATORS,\n SAFETY_VALUES_AND_EQUIPMENT,\n CONDENSATE_RETURN_SYSTEM,\n DEAERATORS,\n FEEDWATER_PUMPS,\n BLOWDOWN_TANKS,\n EXPANSION_TANKS,\n HEAT_EXCHANGERS,\n TURBINES,\n } = AtoGojsEditorModel.ENUM_TEMPLATES;\n const ListItemsCreateEntityTemplate = [\n VALUES,\n STEAM_TRAPS,\n PRESSURE_REGULATORS,\n SAFETY_VALUES_AND_EQUIPMENT,\n CONDENSATE_RETURN_SYSTEM,\n DEAERATORS,\n FEEDWATER_PUMPS,\n BLOWDOWN_TANKS,\n EXPANSION_TANKS,\n HEAT_EXCHANGERS,\n TURBINES,\n ];\n ListItemsCreateEntityTemplate.map((e) => {\n if (!!AtoGojsEditorModel.NODE_TEMPLATES[e]) {\n this.makeEntityTemplateEnergy(\n AtoGojsEditorModel.NODE_TEMPLATES[e].icon,\n AtoGojsEditorModel.NODE_TEMPLATES[e].name\n );\n }\n });\n }\n\n onModelChangeListener(e: go.ChangedEvent) {\n // this.onModelChangeListenerEvent.emit(e);\n }\n\n makeLinkTemplate() {\n const elements: any[] = [];\n // line\n elements.push(\n this.$(\n go.Shape,\n {\n isPanelMain: true,\n stroke: AtoGojsEditorModel.ENUM_COLORS.GRAY,\n strokeWidth:\n AtoGojsEditorModel.LINK_TEMPLATES[\n AtoGojsEditorModel.ENUM_LINK_TYPES.SIMPLE\n ]?.strokeWidth,\n // strokeWidth: 0,\n },\n new go.Binding('stroke', 'color'),\n new go.Binding('selectable', 'selectable'),\n new go.Binding(\n 'strokeWidth',\n 'type',\n (x) => AtoGojsEditorModel.LINK_TEMPLATES[x]?.strokeWidth\n )\n )\n );\n\n // animation\n elements.push(\n this.$(go.Shape, {\n ...AtoGojsEditorModel.LINK_TEMPLATES[\n AtoGojsEditorModel.ENUM_LINK_TYPES.PIPE_ANIMATION\n ]?.animation,\n visible: true,\n fill: 'transparent',\n })\n );\n\n elements.push(\n this.$(\n go.Panel,\n 'Top',\n {\n height: 38,\n // maxSize: new go.Size(NaN, 36),\n // width: 100,\n // minSize: new go.Size(100, 5), // Đặt kích thước tối thiểu là 100x50\n background: 'transparent',\n // layerName: 'BackgroundLayer',\n // alignment: go.Spot.Top,\n // alignmentFocus: go.Spot.Left,\n // margin: new go.Margin(0, 0, 50, 0),\n // selectable: false,\n },\n new go.Binding('visible', 'textComponent', (x) => {\n return x ? true : false;\n }),\n // this.$(go.Shape, {\n // height: 30,\n // background: 'transparent',\n // fill: 'transparent',\n // // visible: false,\n // }),\n this.$(\n go.TextBlock,\n {\n // margin: new go.Margin(0, 0, 50, 0),\n stroke: '#444444',\n font: 'normal 10pt Arial',\n textAlign: 'left',\n background: 'transparent',\n // editable: false,\n // alignment: go.Spot.Center, // Đảm bảo văn bản nằm ở trung tâm của nút\n // alignmentFocus: go.Spot.Center, // Đảm bảo văn bản không bị dịch chuyển ra khỏi trung tâm\n wrap: go.TextBlock.WrapFit, // Chuyển dòng để văn bản không vượt ra ngoài\n // selectable: true,\n overflow: go.TextBlock.OverflowEllipsis,\n toolTip: this.$(\n 'ToolTip',\n this.$(\n go.TextBlock,\n {\n margin: 4,\n },\n new go.Binding('text', 'textComponent')\n )\n ),\n },\n new go.Binding('text', 'textComponent'),\n new go.Binding('background', 'textComponent', (x) =>\n x ? 'white' : 'transparent'\n )\n // new go.Binding('margin', 'isFormat', (x) =>\n // x ? new go.Margin(5, 0, 5, 5) : new go.Margin(5, 5, 5, 5),\n // ),\n )\n )\n );\n\n // arrow\n elements.push(\n this.$(\n go.Shape, // the \"from\" arrowhead\n {\n ...AtoGojsEditorModel.LINK_TEMPLATES[\n AtoGojsEditorModel.ENUM_LINK_TYPES.SIMPLE\n ]?.arrow,\n },\n new go.Binding(\n 'visible',\n 'type',\n (x) =>\n ![\n AtoGojsEditorModel.ENUM_LINK_TYPES.PIPE_ANIMATION,\n AtoGojsEditorModel.ENUM_LINK_TYPES.PIPE,\n AtoGojsEditorModel.ENUM_LINK_TYPES.PIPE_HIDDEN,\n ].includes(x)\n ),\n new go.Binding('fill', 'color'),\n new go.Binding('stroke', 'color')\n )\n );\n\n // TODO fix link cannot selected inside group template\n this.myDiagram.linkTemplate = this.$(\n go.Link,\n go.Link.Orthogonal,\n {\n // layerName: 'Background', // link cannot select inside group template\n // curviness: 20,\n // corner: 5,\n routing: go.Link.AvoidsNodes,\n reshapable: true,\n resegmentable: true,\n relinkableFrom: true,\n relinkableTo: true,\n selectable: true,\n toShortLength:\n AtoGojsEditorModel.LINK_TEMPLATES[\n AtoGojsEditorModel.ENUM_LINK_TYPES.SIMPLE\n ].toShortLength, // assume arrowhead at \"to\" end, need to avoid bad appearance when path is thick\n },\n new go.Binding('layerName', '', (data) => {\n return data?.textComponent ? 'Background' : '';\n }),\n new go.Binding('zOrder', 'type', (x) =>\n x === AtoGojsEditorModel.ENUM_LINK_TYPES.PIPE_ANIMATION ? 11 : 10\n ),\n new go.Binding(\n 'toShortLength',\n 'type',\n (x) => AtoGojsEditorModel.LINK_TEMPLATES[x].toShortLength || 0\n ),\n new go.Binding('selectable', 'selectable'),\n new go.Binding('visible', 'visible'),\n\n // make sure links come in from the proper direction and go out appropriately\n ...elements\n );\n }\n\n makeValueNodeTemplate(size: { w: number; h: number } = { w: 82, h: 36 }) {\n const self = this;\n const node = this.$(\n go.Node,\n 'Spot',\n {},\n new go.Binding('location', 'loc', go.Point.parse).makeTwoWay(\n go.Point.stringify\n ),\n\n this.$(\n go.Panel,\n 'Auto',\n { minSize: new go.Size(size.w, size.h) },\n this.$(go.Shape, 'Rectangle', {\n fill: AtoGojsEditorModel.ENUM_COLORS.LIGHT_BLUE,\n stroke: 'transparent',\n }),\n this.$(\n go.Panel,\n 'Horizontal',\n this.$(\n go.TextBlock,\n {\n row: 2,\n font: 'bold 14px Arial',\n textAlign: 'center',\n stroke: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n },\n new go.Binding('editable', 'isEditable'),\n new go.Binding('text', 'shortenedNumber').makeTwoWay(),\n new go.Binding('stroke', 'color'),\n new go.Binding('margin', 'isFormat', (x) =>\n x ? new go.Margin(5, 0, 5, 5) : new go.Margin(5, 5, 5, 5)\n ),\n new go.Binding('visible', '', function (data) {\n return data.value !== VALUE_NA;\n })\n ),\n // Icon Err when lack of value\n this.$(\n go.TextBlock,\n {\n margin: new go.Margin(10, 10, 10, 10),\n text: VALUE_NA, // Old version: TEXT_ERROR\n textAlign: 'center',\n font: 'bold 10pt sans-serif',\n stroke: AtoGojsEditorModel.ENUM_COLORS.SALMON,\n wrap: go.TextBlock.WrapFit,\n editable: false,\n isMultiline: false,\n },\n new go.Binding('visible', '', function (data) {\n return data.value === VALUE_NA;\n })\n )\n )\n )\n );\n this.myDiagram.nodeTemplateMap.set(\n AtoGojsEditorModel.ENUM_TEMPLATES.VALUE_NODE,\n node\n );\n }\n\n makeEmptyNodeTemplate(size: { w: number; h: number } = { w: 0, h: 0 }) {\n const node = this.$(\n go.Node,\n 'Spot',\n {},\n new go.Binding('location', 'loc', go.Point.parse).makeTwoWay(\n go.Point.stringify\n )\n );\n this.myDiagram.nodeTemplateMap.set(\n AtoGojsEditorModel.ENUM_TEMPLATES.EMPTY,\n node\n );\n }\n\n makeValueLabelTemplate(size: { w: number; h: number } = { w: 82, h: 36 }) {\n const node = this.$(\n go.Node,\n 'Auto',\n {\n movable: false,\n },\n new go.Binding('location', 'loc', go.Point.parse).makeTwoWay(\n go.Point.stringify\n ),\n this.$(\n go.Panel,\n 'Auto',\n { minSize: new go.Size(size.w, size.h) },\n this.$(\n go.Panel,\n 'Horizontal',\n {\n margin: new go.Margin(0, 10, 0, 10),\n },\n this.$(\n go.TextBlock,\n {\n margin: new go.Margin(0, 5, 10, 0),\n textAlign: 'center',\n font: 'bold 15px sans-serif',\n wrap: go.TextBlock.WrapFit,\n stroke: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n minSize: new go.Size(150, 30), // Set the width of the text block\n },\n new go.Binding('stroke', 'color'),\n new go.Binding('text', 'data', (x) => {\n if (typeof x?.quantity !== 'number') {\n return '';\n }\n const formatted: any = UtilsService.convertPrefixesData({\n value: x?.quantity,\n unit: UtilsService.convertSpecialUnit(x?.unit),\n });\n\n let retValue =\n formatted.shortenedNumber +\n ' ' +\n formatted.unitPrefixes +\n UtilsService.convertSpecialUnit(x?.unit) ?? '';\n if (x?.percent) {\n retValue += ` (${x?.percent}%)`;\n }\n return retValue;\n }),\n new go.Binding(\n 'visible',\n 'data',\n (x) => typeof x?.quantity === 'number'\n )\n )\n )\n )\n );\n this.myDiagram.nodeTemplateMap.set(\n AtoGojsEditorModel.ENUM_TEMPLATES.VALUE_LABEL,\n node\n );\n }\n\n makeTextLabelTemplate(size: { w: number; h: number } = { w: NaN, h: 20 }) {\n const node = this.$(\n go.Node,\n 'Auto',\n {\n movable: false,\n isSelected: false,\n },\n new go.Binding('location', 'loc', go.Point.parse).makeTwoWay(\n go.Point.stringify\n ),\n this.$(\n go.Panel,\n 'Auto',\n this.$(\n go.Panel,\n 'Horizontal',\n\n this.$(\n go.TextBlock,\n {\n margin: new go.Margin(0, 5, 10, 0),\n textAlign: 'center',\n font: 'bold 16px Arial',\n wrap: go.TextBlock.WrapFit,\n stroke: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n },\n new go.Binding('stroke', 'color'),\n new go.Binding('text', 'name'),\n new go.Binding('visible', 'visible')\n )\n )\n )\n );\n this.myDiagram.nodeTemplateMap.set(\n AtoGojsEditorModel.ENUM_TEMPLATES.TEXT_LABEL,\n node\n );\n }\n\n makeTextTemplate(\n size: { w: number; h: number } = {\n w: AtoGojsEditorModel.GRID_SIZE * 5,\n h: AtoGojsEditorModel.GRID_SIZE * 2,\n }\n ) {\n const self = this;\n const contextMenu = this.$(\n go.Adornment,\n 'Vertical',\n this.$('ContextMenuButton', this.$(go.TextBlock, 'Option 1'), {\n click: function (e, obj) {\n alert('Option 1 clicked!');\n },\n }),\n this.$('ContextMenuButton', this.$(go.TextBlock, 'Option 2'), {\n click: function (e, obj) {\n alert('Option 2 clicked!');\n },\n })\n // ... add more options as needed ...\n );\n const node = this.$(\n go.Node,\n 'Spot',\n {\n // fromSpot: go.Spot.RightSide,\n // toSpot: go.Spot.LeftSide,\n locationSpot: go.Spot.Center,\n // selectionChanged: (e) => {\n // if (e?.data.onSelected) {\n // e?.data.onSelected(e?.data);\n // }\n // },\n // mouseHover: (e, obj) => {\n // const node = obj.part;\n // if ((obj as any).part?.ob?.value === VALUE_NA) {\n // self.onHoverInfoButton.emit({\n // left: e?.['Wr']?.x + 8,\n // top: e?.['Wr']?.y,\n // node: node,\n // });\n // }\n // },\n // mouseLeave: (e, obj) => {\n // if ((obj as any).part?.ob?.value === VALUE_NA) {\n // self.onHoverInfoButton.emit(null);\n // }\n // },\n click: (e, obj: any) => {\n const node = obj.part;\n if (node?.ob?.isTypeInflowOfPlantCell) {\n // obj?.data?.onSelected(node?.ob?.nodePlantCellParent);\n // self.onClickCompoent.emit({\n // left: e?.['Wr']?.x,\n // top: e?.['Wr']?.y,\n // node: {\n // ob: node?.ob?.nodePlantCellParent,\n // },\n // component: node?.ob?.nodePlantCellParent,\n // });\n return;\n }\n if (this._initialOptions?.isReadOnly) {\n this.isShowNodeInfo\n ? self.onClickInfoButton.emit({\n left: e?.['Wr']?.x,\n top: e?.['Wr']?.y,\n node: node,\n })\n : null;\n }\n },\n doubleClick: (e, obj: any) => {\n const node = obj.part;\n if (\n node?.ob?.isTypeInflowOfPlantCell &&\n !this._initialOptions?.isReadOnly\n ) {\n // obj?.data?.onSelected(node?.ob?.nodePlantCellParent);\n // this.isShowNodeInfo\n // ? self.onDoubleClickNode.emit({\n // left: e?.['Wr']?.x,\n // top: e?.['Wr']?.y,\n // node: {\n // ob: node?.ob?.nodePlantCellParent,\n // },\n // })\n // : null;\n return;\n }\n if (!this._initialOptions?.isReadOnly) {\n this.isShowNodeInfo\n ? self.onClickInfoButton.emit({\n left: e?.['Wr']?.x,\n top: e?.['Wr']?.y,\n node: node,\n })\n : null;\n }\n },\n selectionAdornmentTemplate: this.$(\n go.Adornment,\n 'Spot',\n this.$(\n go.Panel,\n 'Auto',\n // { height: 62 },\n this.$(go.Shape, {\n fill: null,\n stroke: 'dodgerblue',\n strokeWidth: 4,\n }),\n this.$(\n go.Placeholder,\n // { padding: new go.Margin(8, 3, 0, 3) },\n new go.Binding('padding', '', (x) => {\n return x?.isTypeInflowOfPlantCell\n ? x?.flowOfPlantCell === ATO_ENUM_FLOW_DIRECTION.INFLOW\n ? new go.Margin(0, 0, 0, 20)\n : new go.Margin(0, 20, 0, 0)\n : null;\n })\n ),\n // this.$(go.Placeholder, { padding: 3 }),\n new go.Binding('height', '', (x) => {\n return x?.isTypeInflowOfPlantCell ? x?.height + 10 : null;\n }),\n new go.Binding('width', '', (x) => {\n return x?.isTypeInflowOfPlantCell ? x?.width + 12 : null;\n })\n ),\n this.$(\n go.Panel,\n 'Horizontal',\n { alignment: go.Spot.TopRight, alignmentFocus: go.Spot.Bottom },\n // more\n !this._initialOptions.isReadOnly\n ? this.generateActionGroup([\n AtoDefaultGojsEditor.ENUM_ACTIONS.RENAME,\n AtoDefaultGojsEditor.ENUM_ACTIONS.INSIGHT,\n AtoDefaultGojsEditor.ENUM_ACTIONS.OUTFLOW,\n AtoDefaultGojsEditor.ENUM_ACTIONS.DELETE,\n ])\n : {}\n )\n ),\n },\n new go.Binding('fromSpot', 'fromSpot'),\n new go.Binding('toSpot', 'toSpot'),\n new go.Binding('movable', 'movable'),\n new go.Binding('selectable', 'selectable'),\n new go.Binding('location', 'loc', go.Point.parse).makeTwoWay(\n go.Point.stringify\n ),\n // new go.Binding('alignment', 'alignment', function(loc) {\n // return new go.Spot(0, 0, loc.x, 0);\n // }).ofObject(),\n\n this.$(\n go.Panel,\n 'Auto',\n {\n toolTip: this.$(\n 'ToolTip',\n this.$(\n go.TextBlock,\n {\n margin: 2,\n },\n new go.Binding('text', '', function (data) {\n if (!self._initialOptions.isReadOnly) {\n return data?.name ?? VALUE_NA;\n }\n if (data?.value === VALUE_NA || _.isNil(data?.value)) {\n return NO_DATA;\n // return TEXT_UNKNOWN;\n }\n return _.round(data?.value, 2).toFixed(2);\n }).makeTwoWay()\n )\n ),\n },\n this.$(\n go.Panel,\n 'Table',\n this.arrowForPlantCell(size, ATO_ENUM_FLOW_DIRECTION.OUTFLOW),\n this.$(\n go.Panel,\n 'Auto',\n // { width: size.w, height: size.h },\n {\n // minSize: new go.Size(size.w, size.h),\n // maxSize: new go.Size(size.w, size.h),\n desiredSize: new go.Size(size.w, size.h),\n column: 1,\n row: 2,\n },\n new go.Binding('width', 'width'),\n new go.Binding('height', 'height'),\n\n this.$(\n go.Shape,\n 'RoundedRectangle',\n {\n fill: AtoGojsEditorModel.ENUM_COLORS.LIGHT_BLUE,\n stroke: AtoGojsEditorModel.ENUM_COLORS.LINK_WATER,\n name: 'textNodeShape',\n },\n new go.Binding('fill', 'fill'),\n new go.Binding('stroke', 'stroke')\n ),\n this.$(\n go.Panel,\n 'Vertical',\n this.$(\n go.Panel,\n 'Horizontal',\n { alignment: go.Spot.Center },\n // Alert\n\n this.$(\n go.Panel,\n 'Auto',\n {\n margin: new go.Margin(0, 0, 0, 5),\n visible: false,\n },\n new go.Binding('visible', 'recommendation'),\n this.$(go.Shape, 'Circle', {\n fill: '#E95F47',\n stroke: '#E95F47',\n width: 15,\n height: 15,\n }),\n this.$(go.TextBlock, {\n text: '\\uf649',\n margin: new go.Margin(1.5, 0, 0, 0),\n font: '8px \"Font Awesome 6 Pro\"',\n stroke: '#fff',\n })\n ),\n this._initialOptions.isReadOnly\n ? this.$(\n go.Panel,\n 'Position',\n {\n width: 18,\n height: 15,\n visible: false,\n alignment: go.Spot.Center,\n margin: new go.Margin(0, 0, 0, 5),\n mouseEnter: (e, obj) => {\n self.onHoverAlert.emit({\n left: e?.['Wr']?.x + 8,\n top: e?.['Wr']?.y,\n messageAlert: (obj as any).part?.ob?.messageAlert,\n });\n },\n mouseLeave: (e, obj) => {\n self.onHoverAlert.emit(null);\n },\n },\n new go.Binding('visible', 'alert'),\n\n this.$(go.Picture, ICON_ALERT, {\n alignment: go.Spot.Center,\n maxSize: new go.Size(30, 30),\n imageStretch: go.GraphObject.Uniform,\n })\n )\n : ''\n ),\n\n this.$(\n go.Panel,\n 'Auto',\n this.$(\n go.TextBlock,\n {\n name: 'textBlockValue',\n row: 2,\n editable: false,\n desiredSize: new go.Size(size.w - 8, 18),\n font: 'bold 22px Arial',\n textAlign: 'center',\n stroke: AtoGojsEditorModel.ENUM_COLORS.GRAY,\n overflow: go.TextBlock.OverflowEllipsis,\n },\n // new go.Binding('editable', 'isEditable'),\n new go.Binding('angle', 'angle'),\n new go.Binding('margin', '', (data) => {\n if (data?.alert) {\n return new go.Margin(0, 0, 0, 0);\n }\n return new go.Margin(0, 0, 0, 0);\n }),\n new go.Binding('stroke', 'color'),\n new go.Binding('text', '', function (data) {\n return self.getTextDataBox(data);\n }).makeTwoWay(),\n new go.Binding('visible', '', (data) => !data?.isHiddenValue)\n )\n )\n ),\n\n this.makePort('T', go.Spot.Top, go.Spot.TopSide, false, true),\n this.makePort('L', go.Spot.Left, go.Spot.LeftSide, false, true),\n this.makePort('R', go.Spot.Right, go.Spot.RightSide, true, false),\n this.makePort('B', go.Spot.Bottom, go.Spot.BottomSide, true, false)\n ),\n this.arrowForPlantCell(size, ATO_ENUM_FLOW_DIRECTION.INFLOW)\n )\n )\n );\n this.myDiagram.nodeTemplateMap.set(\n AtoGojsEditorModel.ENUM_TEMPLATES.TEXT_NODE,\n node\n );\n }\n\n arrowForPlantCell(size, flowDirection) {\n return this.$(\n go.Panel,\n 'Table',\n {\n height: size.h,\n },\n new go.Binding('height', 'height'),\n new go.Binding(\n 'visible',\n '',\n (data) => data?.flowOfPlantCell === flowDirection\n ),\n {\n column: flowDirection === ATO_ENUM_FLOW_DIRECTION.OUTFLOW ? 0 : 2,\n row: 2,\n },\n new go.Binding('itemArray', 'dataLinkArray'),\n {\n itemTemplate: this.$(\n go.Panel,\n new go.Binding('row', 'indexRow'),\n // new go.Binding('height', 'height'),\n this.$(\n go.Picture,\n ARROW,\n {\n alignment: go.Spot.Center,\n maxSize: new go.Size(20, 40),\n // imageStretch: go.GraphObject.Uniform,\n },\n new go.Binding('source', '', (data, panel) => {\n // panel.part?.data?.id\n return data?.isCreated ? panel?.$p : ARROW_GRAY;\n })\n )\n ),\n }\n );\n }\n\n getTextDataBox(data) {\n if (data?.value === VALUE_NA) {\n return TEXT_UNKNOWN;\n }\n return `${data?.shortenedNumber}${\n data?.unitPrefixes ? ' ' + data?.unitPrefixes : ''\n }`;\n }\n\n makeDataBoxTemplate(\n size: { w: number; h: number } = {\n w: AtoGojsEditorModel.GRID_SIZE * 5,\n h: AtoGojsEditorModel.GRID_SIZE * 5,\n }\n ) {\n const self = this;\n let node = this.$(\n go.Node,\n 'Spot',\n {\n locationSpot: go.Spot.Center,\n mouseOver: function (e, obj) {},\n click: (e, obj: any) => {\n if (obj?.data?.onSelected) {\n obj?.data?.onSelected(obj?.data);\n }\n },\n selectionChanged: (e) => {\n if (!e.isSelected && e?.data?.onSelected) {\n e?.data?.onSelected(null);\n }\n },\n },\n\n new go.Binding('location', 'loc', go.Point.parse).makeTwoWay(\n go.Point.stringify\n ),\n this.$(\n go.Panel,\n 'Auto',\n this.$(\n go.Panel,\n 'Table',\n {\n mouseHover: (e, obj) => {\n if ((obj as any).part?.ob?.value === VALUE_NA) {\n self.onHoverInfoButton.emit({\n left: e?.['Wr']?.x + 8,\n top: e?.['Wr']?.y,\n node: node,\n });\n }\n },\n mouseLeave: (e, obj) => {\n if ((obj as any).part?.ob?.value === VALUE_NA) {\n self.onHoverInfoButton.emit(null);\n }\n },\n },\n\n this.$(\n go.Panel,\n 'Auto',\n { row: 0, stretch: go.GraphObject.Horizontal },\n this.$(\n go.Shape,\n 'Rectangle',\n {\n fill: AtoGojsEditorModel.ENUM_COLORS.LIGHT_BLUE,\n stroke: AtoGojsEditorModel.ENUM_COLORS.RESOLUTION_BLUE,\n },\n new go.Binding('fill', 'color')\n ),\n this.$(\n go.TextBlock,\n {\n row: 0,\n margin: new go.Margin(10, 10, 5, 10),\n maxSize: new go.Size(size.w, NaN),\n stroke: 'white',\n font: 'normal 10pt Arial',\n textAlign: 'center',\n spacingBelow: 5,\n },\n new go.Binding('text', 'name').makeTwoWay()\n )\n ),\n this.$(\n go.Panel,\n 'Auto',\n { row: 1, stretch: go.GraphObject.Horizontal },\n this.$(go.Shape, 'Rectangle', {\n fill: AtoGojsEditorModel.ENUM_COLORS.LIGHT_BLUE,\n stroke: AtoGojsEditorModel.ENUM_COLORS.RESOLUTION_BLUE,\n }),\n this.$(\n go.Panel,\n 'Horizontal',\n this.$(\n go.TextBlock,\n {\n row: 2,\n // editable: true,\n // maxSize: new go.Size(size.w - 10, 40),\n // minSize: new go.Size(size.w - 10, size.h),\n margin: new go.Margin(5, 0, 5, 5),\n font: 'bold 12pt Arial',\n textAlign: 'center',\n stroke: AtoGojsEditorModel.ENUM_COLORS.GRAY,\n },\n new go.Binding('editable', 'isEditable'),\n new go.Binding('text', 'shortenedNumber').makeTwoWay(),\n new go.Binding('stroke', 'color'),\n new go.Binding('visible', '', function (data) {\n return data.value !== VALUE_NA;\n })\n ),\n this.$(\n go.TextBlock,\n {\n row: 2,\n // editable: true,\n // maxSize: new go.Size(size.w - 10, 40),\n // minSize: new go.Size(size.w - 10, size.h),\n margin: new go.Margin(5, 5, 5, 0),\n font: 'bold 12pt Arial',\n textAlign: 'center',\n stroke: AtoGojsEditorModel.ENUM_COLORS.GRAY,\n },\n new go.Binding('visible', '', function (data) {\n return data.value !== VALUE_NA;\n }),\n new go.Binding('text', 'unitPrefixes'),\n new go.Binding('stroke', 'color')\n ),\n // Icon Err when lack of value\n this.$(\n go.TextBlock,\n {\n margin: new go.Margin(10, 10, 10, 10),\n text: VALUE_NA, // Old version: TEXT_ERROR\n textAlign: 'center',\n font: 'bold 10pt sans-serif',\n stroke: AtoGojsEditorModel.ENUM_COLORS.SALMON,\n wrap: go.TextBlock.WrapFit,\n editable: false,\n isMultiline: false,\n },\n new go.Binding('visible', '', function (data) {\n return data.value === VALUE_NA;\n })\n )\n )\n )\n )\n ),\n this.$(go.Panel, 'Vertical', {\n alignment: go.Spot.Left,\n alignmentFocus: new go.Spot(0, 0.5, 8, 0),\n }),\n this.$(go.Panel, 'Vertical', {\n alignment: go.Spot.Right,\n alignmentFocus: new go.Spot(1, 0.5, -8, 0),\n }),\n // four named ports, one on each side:\n\n this.makePort('T', go.Spot.Top, go.Spot.TopSide, false, true),\n this.makePort('L', go.Spot.Left, go.Spot.LeftSide, true, true),\n this.makePort('R', go.Spot.Right, go.Spot.RightSide, true, true),\n this.makePort('B', go.Spot.Bottom, go.Spot.BottomSide, true, false)\n );\n this.myDiagram.nodeTemplateMap.set(\n AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n node\n );\n }\n\n showPoint(loc) {\n const docLoc = this.myDiagram.transformDocToView(loc);\n }\n\n makeEntityTemplate(\n icon,\n title,\n size: { w: number; h: number } = {\n w: AtoGojsEditorModel.GRID_SIZE * 5,\n h: AtoGojsEditorModel.GRID_SIZE * 5,\n }\n ) {\n const self = this;\n let node = this.$(\n go.Node,\n 'Spot',\n {\n locationSpot: go.Spot.Center,\n mouseOver: function (e, obj) {\n // self.showPoint(obj?.part?.location);\n },\n click: (e, obj: any) => {\n if (obj?.data?.onSelected) {\n obj?.data?.onSelected(obj?.data);\n self.onClickCompoent.emit({\n left: e?.['Wr']?.x,\n top: e?.['Wr']?.y,\n node: node,\n component: obj?.data,\n });\n }\n },\n selectionChanged: (e) => {\n if (!e.isSelected && e?.data?.onSelected) {\n e?.data?.onSelected(null);\n }\n },\n selectionAdornmentTemplate: this._initialOptions.isReadOnly\n ? null\n : this.$(\n go.Adornment,\n 'Spot',\n {\n shadowVisible: true,\n shadowBlur: 6,\n shadowOffset: new go.Point(0, 2),\n shadowColor: '#00000029',\n },\n this.$(\n go.Panel,\n 'Auto',\n this.$(go.Shape, {\n fill: null,\n stroke: 'dodgerblue',\n strokeWidth: 4,\n }),\n this.$(go.Placeholder, { padding: 3 })\n ),\n this.$(\n go.Panel,\n 'Horizontal',\n {\n alignment: go.Spot.TopRight,\n alignmentFocus: go.Spot.Bottom,\n background: 'white',\n },\n // more\n !this._initialOptions.isReadOnly\n ? this.generateActionGroup(\n [\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.RO_WATER_TREATMENT\n ].name,\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.COOLING_TOWER\n ].name,\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.BOILER\n ].name,\n ].includes(title)\n ? [\n AtoDefaultGojsEditor.ENUM_ACTIONS.RENAME,\n AtoDefaultGojsEditor.ENUM_ACTIONS.FLOW_DETAILS,\n AtoDefaultGojsEditor.ENUM_ACTIONS.ASSET_PARAMETERS,\n AtoDefaultGojsEditor.ENUM_ACTIONS.OUTFLOW,\n AtoDefaultGojsEditor.ENUM_ACTIONS.DELETE,\n ]\n : [\n AtoDefaultGojsEditor.ENUM_ACTIONS.RENAME,\n AtoDefaultGojsEditor.ENUM_ACTIONS.DETAILS,\n AtoDefaultGojsEditor.ENUM_ACTIONS.OUTFLOW,\n AtoDefaultGojsEditor.ENUM_ACTIONS.DELETE,\n ]\n )\n : {}\n )\n ),\n },\n // new go.Binding('location', 'loc', go.Point.parse),\n new go.Binding('movable', 'movable'),\n new go.Binding('selectable', 'selectable'),\n new go.Binding('location', 'loc', go.Point.parse).makeTwoWay(\n go.Point.stringify\n ),\n\n this.$(\n go.Panel,\n 'Auto',\n { width: size.w, height: size.h },\n this.$(go.Shape, 'RoundedRectangle', {\n fill: 'white',\n stroke: AtoGojsEditorModel.ENUM_COLORS.LINK_WATER,\n strokeWidth: 1,\n // strokeDashArray: [5, 5],\n }),\n this.$(\n go.Panel,\n 'Table',\n this.$(go.Picture, icon, {\n row: 1,\n alignment: go.Spot.Center,\n desiredSize: new go.Size(size.w - 20, size.h - 50),\n // maxSize: new go.Size(60, 60),\n imageStretch: go.GraphObject.Uniform,\n toolTip: this.$(\n 'ToolTip',\n this.$(go.TextBlock, {\n margin: 4,\n text: title,\n })\n ),\n }),\n this.$(\n go.TextBlock,\n {\n row: 2,\n margin: new go.Margin(10, 0, 3, 0),\n editable: true,\n desiredSize: new go.Size(size.w - 20, 15),\n stroke: '#000D42',\n font: 'bold 10pt Arial',\n textAlign: 'center',\n // wrap: go.TextBlock.None,\n overflow: go.TextBlock.OverflowEllipsis,\n toolTip: this.$(\n 'ToolTip',\n this.$(\n go.TextBlock,\n { margin: 4 },\n new go.Binding('text', 'name')\n )\n ),\n },\n new go.Binding('text', 'name').makeTwoWay(),\n new go.Binding('editable', '', (data) => {\n return !(\n AtoGojsEditorModel.TYPE_COMPONENT_WATER?.includes(\n data?.systemType\n ) &&\n data?.topologyType !== ATO_ECOMPONENT_PLANT_TYPE.WATER &&\n data?.topologyType !==\n ATO_ECOMPONENT_PLANT_TYPE.WATER_PLANT_CELL\n );\n })\n )\n )\n ),\n\n this.$(go.Panel, 'Vertical', {\n alignment: go.Spot.Left,\n alignmentFocus: new go.Spot(0, 0.5, 8, 0),\n }),\n this.$(go.Panel, 'Vertical', {\n alignment: go.Spot.Right,\n alignmentFocus: new go.Spot(1, 0.5, -8, 0),\n }),\n\n this.makePort('T', go.Spot.Top, go.Spot.TopSide, false, true),\n this.makePort('L', go.Spot.Left, go.Spot.LeftSide, false, true),\n this.makePort('R', go.Spot.Right, go.Spot.RightSide, true, false),\n this.makePort('B', go.Spot.Bottom, go.Spot.BottomSide, true, false)\n );\n this.myDiagram.nodeTemplateMap.set(title, node);\n }\n\n makeEntityTemplateEnergy(\n icon,\n title,\n size: { w: number; h: number } = {\n w: AtoGojsEditorModel.GRID_SIZE * 5,\n h: AtoGojsEditorModel.GRID_SIZE * 5,\n }\n ) {\n const self = this;\n let node = this.$(\n go.Node,\n 'Spot',\n {\n locationSpot: go.Spot.Center,\n mouseOver: function (e, obj) {\n // self.showPoint(obj?.part?.location);\n },\n click: (e, obj: any) => {\n if (obj?.data?.onSelected) {\n obj?.data?.onSelected(obj?.data);\n }\n },\n selectionChanged: (e) => {\n if (!e.isSelected && e?.data?.onSelected) {\n e?.data?.onSelected(null);\n }\n },\n selectionAdornmentTemplate: this._initialOptions.isReadOnly\n ? null\n : this.$(\n go.Adornment,\n 'Spot',\n {\n shadowVisible: true,\n shadowBlur: 6,\n shadowOffset: new go.Point(0, 2),\n shadowColor: '#00000029',\n },\n this.$(\n go.Panel,\n 'Auto',\n this.$(go.Shape, {\n fill: null,\n stroke: 'dodgerblue',\n strokeWidth: 4,\n }),\n this.$(go.Placeholder, { padding: 3 })\n ),\n this.$(\n go.Panel,\n 'Horizontal',\n {\n alignment: go.Spot.TopRight,\n alignmentFocus: go.Spot.Bottom,\n background: 'white',\n },\n // more\n this.generateActionGroup([\n AtoDefaultGojsEditor.ENUM_ACTIONS.RENAME,\n AtoDefaultGojsEditor.ENUM_ACTIONS.DETAILS,\n AtoDefaultGojsEditor.ENUM_ACTIONS.OUTFLOW,\n AtoDefaultGojsEditor.ENUM_ACTIONS.DELETE,\n ])\n )\n ),\n },\n new go.Binding('movable', 'movable'),\n new go.Binding('selectable', 'selectable'),\n new go.Binding('location', 'loc', go.Point.parse).makeTwoWay(\n go.Point.stringify\n ),\n this.$(\n go.Panel,\n 'Auto',\n { width: size.w, height: size.h },\n this.$(go.Shape, 'RoundedRectangle', {\n fill: 'white',\n stroke: AtoGojsEditorModel.ENUM_COLORS.LINK_WATER,\n // strokeDashArray: [5, 5],\n }),\n this.$(\n go.Panel,\n 'Table',\n this.$(\n go.TextBlock,\n AtoGojsEditorModel.TEMPLATE_DUPLICATE[title] ?? title,\n {\n row: 0,\n margin: new go.Margin(3, 3, 10, 3),\n maxSize: new go.Size(size.w - 20, 15),\n stroke: '#444444',\n font: 'normal 10pt Arial',\n textAlign: 'center',\n toolTip: this.$(\n 'ToolTip',\n this.$(go.TextBlock, {\n margin: 4,\n text: title,\n })\n ),\n }\n ),\n this.$(go.Picture, icon, {\n row: 1,\n alignment: go.Spot.Center,\n desiredSize: new go.Size(size.w - 20, size.h - 65),\n imageStretch: go.GraphObject.Uniform,\n }),\n this.$(\n go.TextBlock,\n {\n row: 2,\n margin: new go.Margin(10, 3, 3, 3),\n editable: true,\n maxSize: new go.Size(size.w - 20, 15),\n stroke: '#2C2C2C',\n font: 'bold 10pt Arial',\n textAlign: 'center',\n // wrap: go.TextBlock.None,\n overflow: go.TextBlock.OverflowEllipsis,\n toolTip: this.$(\n 'ToolTip',\n this.$(\n go.TextBlock,\n {\n margin: 4,\n },\n new go.Binding('text', 'name').makeTwoWay()\n )\n ),\n },\n new go.Binding('text', 'name').makeTwoWay()\n )\n )\n ),\n this.$(go.Panel, 'Vertical', {\n alignment: go.Spot.Left,\n alignmentFocus: new go.Spot(0, 0.5, 8, 0),\n }),\n this.$(go.Panel, 'Vertical', {\n alignment: go.Spot.Right,\n alignmentFocus: new go.Spot(1, 0.5, -8, 0),\n }),\n // four named ports, one on each side:\n\n this.makePort('T', go.Spot.Top, go.Spot.TopSide, false, true),\n this.makePort('L', go.Spot.Left, go.Spot.LeftSide, false, true),\n this.makePort('R', go.Spot.Right, go.Spot.RightSide, true, false),\n this.makePort('B', go.Spot.Bottom, go.Spot.BottomSide, true, false)\n );\n this.myDiagram.nodeTemplateMap.set(title, node);\n }\n\n // Plant Cell\n plantCellTemplate(\n icon,\n title,\n size: { w: number; h: number } = {\n w: 260,\n h: AtoGojsEditorModel.PLANT_CELL_HEIGHT,\n }\n ) {\n const self = this;\n let node = this.$(\n go.Group,\n 'Spot',\n {\n locationSpot: go.Spot.Center,\n mouseOver: function (e, obj) {\n // self.showPoint(obj?.part?.location);\n },\n\n mouseEnter: (e, obj) => {\n // self.onHoverAlert.emit({\n // left: e?.['Wr']?.x + 8,\n // top: e?.['Wr']?.y,\n // messageAlert: (obj as any).part?.ob?.messageAlert,\n // });\n const node = obj.part;\n self.onHoverInfoButton.emit({\n left: e?.['Wr']?.x + 8,\n top: e?.['Wr']?.y,\n node: node,\n });\n\n let shape = (node as any)?.findObject('SHAPE_KEY'); // Thay 'SHAPE_KEY' bằng khóa bạn đặt cho hình Shape\n // debugger;\n if (shape) {\n shape.stroke = 'blue'; // Thay đổi màu stroke thành blue\n }\n },\n mouseLeave: (e, obj) => {\n self.onHoverInfoButton.emit(null);\n // self.onHoverAlert.emit(null);\n },\n\n click: (e, obj: any) => {\n if (obj?.data?.onSelected) {\n obj?.data?.onSelected(obj?.data);\n self.onClickCompoent.emit({\n left: e?.['Wr']?.x,\n top: e?.['Wr']?.y,\n node: node,\n component: obj?.data,\n });\n }\n },\n\n doubleClick: (e, obj: any) => {\n if (!this._initialOptions?.isReadOnly) {\n const node = obj.part;\n this.isShowNodeInfo\n ? self.onDoubleClickNode.emit({\n left: e?.['Wr']?.x,\n top: e?.['Wr']?.y,\n node: node,\n })\n : null;\n }\n },\n\n // Todo\n\n selectionChanged: (e) => {\n if (!e.isSelected && e?.data?.onSelected) {\n e?.data?.onSelected(null);\n }\n },\n\n selectionAdornmentTemplate: this._initialOptions.isReadOnly\n ? null\n : this.$(\n go.Adornment,\n 'Spot',\n {\n shadowVisible: true,\n shadowBlur: 6,\n shadowOffset: new go.Point(0, 2),\n shadowColor: '#00000029',\n },\n this.$(\n go.Panel,\n 'Auto',\n { width: 170 },\n this.$(go.Shape, {\n fill: null,\n stroke: 'dodgerblue',\n strokeWidth: 4,\n }),\n this.$(go.Placeholder, { padding: 3 })\n ),\n this.$(\n go.Panel,\n 'Horizontal',\n { alignment: go.Spot.TopRight, alignmentFocus: go.Spot.Bottom },\n // more\n this.generateActionGroup([\n AtoDefaultGojsEditor.ENUM_ACTIONS.RENAME,\n AtoDefaultGojsEditor.ENUM_ACTIONS.CHANGE_ICON,\n AtoDefaultGojsEditor.ENUM_ACTIONS.ONLY_DETAILS,\n // DefaultGojsEditor.ENUM_ACTIONS.OUTFLOW,\n AtoDefaultGojsEditor.ENUM_ACTIONS.DELETE,\n ])\n // new go.Binding('visible', 'isNotAction', (x) => !x),\n )\n\n // this.$(\n // go.Panel,\n // 'Horizontal',\n // { alignment: go.Spot.TopRight, alignmentFocus: go.Spot.Bottom },\n // this.generateActionGroup([DefaultGojsEditor.ENUM_ACTIONS.ONLY_DETAILS]),\n // new go.Binding('visible', '', (x) => {\n // return x?.isOnlyDetails && !x?.isNotAction ? true : false;\n // }),\n // ),\n ),\n },\n new go.Binding('location', 'loc', go.Point.parse).makeTwoWay(\n go.Point.stringify\n ),\n this.$(\n go.Panel,\n 'Auto',\n { width: size.w, height: size.h },\n // this.$(go.Shape, 'RoundedRectangle', {\n // fill: 'white',\n // stroke: AtoGojsEditorModel.ENUM_COLORS.LINK_WATER,\n // // strokeDashArray: [5, 5],\n // }),\n // this.$(go.Placeholder, { padding: new go.Margin(0, 0, 0, 0), visible: false }),\n this.$(\n go.Panel,\n 'Auto',\n {\n alignmentFocus: go.Spot.Center,\n margin: new go.Margin(0, 50, 0, 50),\n },\n this.$(go.Shape, 'RoundedRectangle', {\n fill: 'white',\n stroke: AtoGojsEditorModel.ENUM_COLORS.LINK_WATER,\n strokeDashArray: [5, 5],\n }),\n this.$(\n go.Panel,\n 'Table',\n this.$(go.TextBlock, title, {\n row: 0,\n margin: new go.Margin(3, 0, 10, 0),\n desiredSize: new go.Size(size.w - 20, 15),\n stroke: '#444444',\n font: 'normal 10pt Arial',\n textAlign: 'center',\n toolTip: this.$(\n 'ToolTip',\n this.$(go.TextBlock, {\n margin: 4,\n text: title,\n })\n ),\n }),\n this.$(\n go.Picture,\n icon,\n {\n row: 1,\n alignment: go.Spot.Center,\n desiredSize: new go.Size(size.w - 20, size.h - 65),\n imageStretch: go.GraphObject.Uniform,\n },\n new go.Binding(\n 'source',\n 'pathImage',\n (x) =>\n x ??\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.PLANT_CELL\n ].icon\n )\n ),\n this.$(\n go.TextBlock,\n {\n row: 2,\n margin: new go.Margin(10, 0, 3, 0),\n editable: true,\n desiredSize: new go.Size(size.w - 20, 15),\n stroke: '#2C2C2C',\n font: 'bold 10pt Arial',\n textAlign: 'center',\n // wrap: go.TextBlock.None,\n overflow: go.TextBlock.OverflowEllipsis,\n toolTip: this.$(\n 'ToolTip',\n this.$(\n go.TextBlock,\n {\n margin: 4,\n },\n new go.Binding('text', 'name').makeTwoWay()\n )\n ),\n },\n new go.Binding('text', 'name').makeTwoWay()\n )\n )\n )\n ),\n\n this.$(go.Panel, 'Vertical', {\n alignment: go.Spot.Left,\n alignmentFocus: new go.Spot(0, 0.5, 8, 0),\n }),\n this.$(go.Panel, 'Vertical', {\n alignment: go.Spot.Right,\n alignmentFocus: new go.Spot(1, 0.5, -8, 0),\n })\n\n // this.makePort('T', go.Spot.Top, go.Spot.TopSide, false, true),\n // this.makePort('L', go.Spot.Left, go.Spot.LeftSide, false, true),\n // this.makePort('R', go.Spot.Right, go.Spot.RightSide, true, false),\n // this.makePort('B', go.Spot.Bottom, go.Spot.BottomSide, true, false),\n );\n this.myDiagram.nodeTemplateMap.set(title, node);\n }\n\n makeEntityWithdrawOrDischarge(\n icon,\n title,\n size: { w: number; h: number } = {\n w: AtoGojsEditorModel.GRID_SIZE * 5,\n h: AtoGojsEditorModel.GRID_SIZE * 5,\n }\n ) {\n const self = this;\n let node = this.$(\n go.Node,\n 'Spot',\n {\n locationSpot: go.Spot.Center,\n mouseOver: function (e, obj) {\n // self.showPoint(obj?.part?.location);\n },\n click: (e, obj: any) => {\n if (obj?.data?.onSelected) {\n obj?.data?.onSelected(obj?.data);\n }\n },\n selectionChanged: (e) => {\n if (!e.isSelected && e?.data?.onSelected) {\n e?.data?.onSelected(null);\n }\n },\n selectionAdornmentTemplate: this._initialOptions.isReadOnly\n ? null\n : this.$(\n go.Adornment,\n 'Spot',\n this.$(\n go.Panel,\n 'Auto',\n this.$(go.Shape, {\n fill: null,\n stroke: 'dodgerblue',\n strokeWidth: 4,\n }),\n this.$(go.Placeholder, { padding: 3 })\n ),\n this.$(\n go.Panel,\n 'Horizontal',\n { alignment: go.Spot.TopRight, alignmentFocus: go.Spot.Bottom },\n this.generateActionGroup([\n AtoDefaultGojsEditor.ENUM_ACTIONS.RENAME,\n AtoDefaultGojsEditor.ENUM_ACTIONS.DETAILS,\n AtoDefaultGojsEditor.ENUM_ACTIONS.OUTFLOW,\n AtoDefaultGojsEditor.ENUM_ACTIONS.DELETE,\n ])\n )\n ),\n },\n // new go.Binding('location', 'loc', go.Point.parse),\n new go.Binding('movable', 'movable'),\n new go.Binding('selectable', 'selectable'),\n new go.Binding('location', 'loc', go.Point.parse).makeTwoWay(\n go.Point.stringify\n ),\n\n this.$(\n go.Panel,\n 'Auto',\n { width: size.w, height: size.h },\n this.$(go.Shape, 'RoundedRectangle', {\n fill: 'white',\n stroke: AtoGojsEditorModel.ENUM_COLORS.LINK_WATER,\n // strokeDashArray: [5, 5],\n }),\n this.$(\n go.Panel,\n 'Table',\n // this.$(go.TextBlock, title, {\n // row: 0,\n // margin: new go.Margin(3, 3, 10, 3),\n // maxSize: new go.Size(size.w - 20, NaN),\n // stroke: '#444444',\n // font: 'normal 10pt Arial',\n // textAlign: 'center',\n // }),\n this.$(go.Picture, icon, {\n row: 1,\n alignment: go.Spot.Center,\n desiredSize: new go.Size(size.w - 20, size.h - 50),\n imageStretch: go.GraphObject.Uniform,\n }),\n this.$(\n go.TextBlock,\n {\n row: 2,\n margin: new go.Margin(10, 0, 3, 0),\n editable: true,\n desiredSize: new go.Size(size.w - 20, 15),\n stroke: '#000D42',\n font: 'bold 10pt Arial',\n textAlign: 'center',\n // wrap: go.TextBlock.None,\n overflow: go.TextBlock.OverflowEllipsis,\n toolTip: this.$(\n 'ToolTip',\n this.$(\n go.TextBlock,\n {\n margin: 4,\n },\n new go.Binding('text', 'name').makeTwoWay()\n )\n ),\n },\n new go.Binding('text', 'name').makeTwoWay()\n // {\n // // define a tooltip for each node that displays the color as text\n // toolTip: this.$(\n // 'ToolTip',\n // this.$(go.TextBlock, { margin: 4 }, new go.Binding('text', 'name')),\n // ), // end of Adornment\n // },\n )\n )\n ),\n this.$(go.Panel, 'Vertical', {\n alignment: go.Spot.Left,\n alignmentFocus: new go.Spot(0, 0.5, 8, 0),\n }),\n this.$(go.Panel, 'Vertical', {\n alignment: go.Spot.Right,\n alignmentFocus: new go.Spot(1, 0.5, -8, 0),\n }),\n // four named ports, one on each side:\n\n this.makePort('T', go.Spot.Top, go.Spot.TopSide, false, true),\n this.makePort('L', go.Spot.Left, go.Spot.LeftSide, false, true),\n this.makePort('R', go.Spot.Right, go.Spot.RightSide, true, false),\n this.makePort('B', go.Spot.Bottom, go.Spot.BottomSide, true, false)\n );\n this.myDiagram.nodeTemplateMap.set(title, node);\n }\n\n editTextGroupZone(e, button) {\n const nodeGroup = button.part.adornedPart;\n const diagram = nodeGroup.diagram;\n e.diagram.commandHandler.editTextBlock(nodeGroup.findObject('TEXTBLOCK'));\n }\n\n editText(e, button) {\n const node = button.part.adornedPart;\n e.diagram.commandHandler.editTextBlock(node.findObject('TEXTBLOCK'));\n }\n\n async dragNewNode(e, button) {\n const tool = e.diagram.toolManager.draggingTool;\n\n if (tool.isBeyondDragSize()) {\n const data = button._dragData;\n if (!data) return;\n e.diagram.startTransaction('button drag'); // see doDeactivate, below\n\n const fromnode = button.part.adornedPart;\n const diagram = fromnode.diagram;\n const model = diagram.model;\n const nodedata = {\n ...model.copyNodeData(data),\n key: UtilsService.generateUUID(),\n };\n model.addNodeData(nodedata);\n const newnode = diagram.findNodeForData(nodedata);\n const linkdata = model.copyLinkData({});\n model.setFromKeyForLinkData(\n linkdata,\n model.getKeyForNodeData(fromnode.data)\n );\n model.setToKeyForLinkData(\n linkdata,\n model.getKeyForNodeData(newnode.data)\n );\n model.addLinkData(linkdata);\n diagram.select(newnode);\n // this.createNodeAndLink(data, button.part.adornedPart);\n\n newnode.location = e.diagram.lastInput.documentPoint;\n // don't commitTransaction here, but in tool.doDeactivate, after drag operation finished\n // set tool.currentPart to a selected movable Part and then activate the DraggingTool\n tool.currentPart = newnode;\n e.diagram.currentTool = tool;\n tool.doActivate();\n }\n }\n\n addItemOnGroupZone(e, button) {\n const data = button._dragData;\n if (!data) return;\n e.diagram.startTransaction('Add Item On Group Zone');\n const fromnode = button.part.adornedPart;\n const dragData = button._dragData;\n const diagram = fromnode.diagram;\n const model = diagram.model;\n const nodedata = model.copyNodeData(dragData);\n model.addNodeData({\n ...nodedata,\n type: 'SubSystem',\n name: '[Title...]',\n nameItem: '[Name...]',\n group: fromnode?.ob?.key,\n });\n e.diagram.commitTransaction('Add Item On Group Zone');\n // const newnode = diagram.findNodeForData(nodedata);\n // const linkdata = model.copyLinkData({});\n // model.setFromKeyForLinkData(linkdata, model.getKeyForNodeData(fromnode.data));\n // model.setToKeyForLinkData(linkdata, model.getKeyForNodeData(newnode.data));\n // model.addLinkData(linkdata);\n // diagram.select(newnode);\n\n // newnode.location = new go.Point(fromnode.location.x + 200, fromnode.location.y);\n // e.diagram.commitTransaction('Create Node and Link');\n }\n\n generateActionGroup(actions: AtoDefaultGojsEditor.ENUM_ACTIONS[]) {\n const self = this;\n return this.$(\n 'Button',\n {\n click: function (e, obj) {\n self.openActionMenu();\n const filteredActions = _.filter(\n obj.part?.['ob']?.actions ?? actions,\n (action) => {\n // Filter Insight button\n if (action === AtoDefaultGojsEditor.ENUM_ACTIONS.INSIGHT) {\n return !!obj.part?.['ob']?.id;\n }\n if (\n action === AtoDefaultGojsEditor.ENUM_ACTIONS.RENAME &&\n obj.part?.['ob']?.type !==\n AtoGojsEditorModel.ENUM_TEMPLATES.TEXT_NODE &&\n AtoGojsEditorModel.TYPE_COMPONENT_WATER?.includes(\n obj.part?.['ob']?.systemType\n ) &&\n obj.part?.['ob']?.topologyType !==\n ATO_ECOMPONENT_PLANT_TYPE.WATER &&\n obj.part?.['ob']?.topologyType !==\n ATO_ECOMPONENT_PLANT_TYPE.WATER_PLANT_CELL\n ) {\n return false;\n }\n if (\n action === AtoDefaultGojsEditor.ENUM_ACTIONS.OUTFLOW &&\n self.plantSatus === ATO_EPlantType.BASIC_PLANT &&\n obj.part?.data?.type ===\n AtoGojsEditorModel.ENUM_TEMPLATES.TEXT_NODE\n ) {\n return false;\n }\n return true;\n }\n ).map((e) => {\n if (\n ATO_ECOMPONENT_PLANT_TYPE.STEAM ===\n obj.part?.['ob']?.topologyType &&\n e === AtoDefaultGojsEditor.ENUM_ACTIONS.INSIGHT\n ) {\n return AtoDefaultGojsEditor.ENUM_ACTIONS.DATA_MAPPING;\n }\n if (\n e === AtoDefaultGojsEditor.ENUM_ACTIONS.FLOW_DETAILS &&\n obj?.part?.['ob']?.systemType ===\n AtoGojsEditorModel.ENUM_TYPES.COOLING_TOWER\n ) {\n return AtoDefaultGojsEditor.ENUM_ACTIONS.FLOW_DETAILS_AND_WIZARD;\n }\n return e;\n });\n self.actions = filteredActions.map((action) => {\n let onClickFn = () => {};\n switch (action) {\n case AtoDefaultGojsEditor.ENUM_ACTIONS.INSIGHT:\n case AtoDefaultGojsEditor.ENUM_ACTIONS.DATA_MAPPING:\n onClickFn = () => {\n self.onOpenInsightMapping.emit({\n node: obj.part,\n });\n };\n break;\n case AtoDefaultGojsEditor.ENUM_ACTIONS.DETAILS:\n case AtoDefaultGojsEditor.ENUM_ACTIONS.FLOW_DETAILS:\n case AtoDefaultGojsEditor.ENUM_ACTIONS.FLOW_DETAILS_AND_WIZARD:\n onClickFn = () => {\n self.onOpenDetail.emit({\n node: obj.part,\n });\n };\n break;\n case AtoDefaultGojsEditor.ENUM_ACTIONS.ONLY_DETAILS:\n onClickFn = () => {\n self.onOpenDetail.emit({\n node: obj.part,\n });\n };\n break;\n case AtoDefaultGojsEditor.ENUM_ACTIONS.ASSET_PARAMETERS:\n onClickFn = () => {\n self.onOpenAssetParameter.emit({\n node: obj.part,\n });\n };\n break;\n case AtoDefaultGojsEditor.ENUM_ACTIONS.RENAME:\n onClickFn = () => {\n if (\n obj.part?.data?.type ===\n AtoGojsEditorModel.ENUM_TEMPLATES.TEXT_NODE\n ) {\n self.onRename.emit({\n left: e?.['Wr']?.x - 50,\n top: e?.['Wr']?.y,\n ...obj.part?.data,\n });\n // LayoutService.setToolTipComponentDataStatic({\n // component: RenameBoxComponent,\n // data: {\n // left: e?.['Wr']?.x - 50,\n // top: e?.['Wr']?.y,\n // ...obj.part?.data,\n // },\n // });\n } else {\n self.editText(e, obj);\n }\n };\n break;\n case AtoDefaultGojsEditor.ENUM_ACTIONS.OUTFLOW:\n onClickFn = () => {\n self.clickNewNode(\n e,\n _.merge(obj, {\n actionMove: self.dragNewNode, // defined below, to support dragging from the button\n _dragData: {\n ...{\n type: AtoGojsEditorModel.ENUM_TEMPLATES.TEXT_NODE,\n name: `${\n AtoGojsEditorModel.ACTION_RIGHT_MENU_GROUP.DATA_BOX\n }_${moment().valueOf()}`,\n color: AtoGojsEditorModel.ENUM_COLORS.BLUE,\n },\n ...self.setProFOrNewNode(self),\n },\n })\n );\n };\n break;\n case AtoDefaultGojsEditor.ENUM_ACTIONS.DELETE:\n onClickFn = () => {\n self.deleteNode(e);\n };\n break;\n case AtoDefaultGojsEditor.ENUM_ACTIONS.CHANGE_ICON:\n onClickFn = () => {\n self.onOpenChangeIcon.emit({\n node: obj.part,\n });\n };\n break;\n }\n return {\n ...AtoDefaultGojsEditor.ACTIONS[action],\n onClick: () => {\n onClickFn();\n },\n };\n });\n },\n 'ButtonBorder.strokeWidth': 0,\n 'ButtonBorder.fill': 'white',\n },\n // new go.Binding('visible', 'isNotDragNewNode', (x) => !x),\n // new go.Binding('visible', 'isNotDelete', (x) => !x),\n new go.Binding('visible', 'isNotAction', (x) => !x),\n this.$(go.TextBlock, {\n margin: 4,\n text: '\\ue489',\n font: '20px \"Font Awesome 6 Pro\"',\n cursor: 'pointer',\n })\n );\n }\n\n async setProFOrNewNode(self) {\n if (self.plantSatus === ATO_EPlantType.BASIC_PLANT) {\n return {\n movable: false,\n isNotAllowConnect: true,\n };\n }\n return {};\n }\n\n async clickNewNode(e, button) {\n const data = button._dragData;\n if (!data) return;\n e.diagram.startTransaction('Create Node and Link');\n const fromnode = button.part.adornedPart;\n\n // this.createNodeAndLink(button._dragData, fromnode);\n const dragData = button._dragData;\n const diagram = fromnode.diagram;\n const model = diagram.model;\n const nodedata = {\n ...model.copyNodeData(dragData),\n key: UtilsService.generateUUID(),\n };\n model.addNodeData({\n ...nodedata,\n isEditable: true,\n shortenedNumber: 0,\n isFormat: false,\n dataCollectionMethod: AtoGojsEditorModel.DATA_COLLECTION_METHOD.MANUAL,\n color:\n AtoGojsEditorModel.COLOR_COLLECTION_METHOD[\n AtoGojsEditorModel.DATA_COLLECTION_METHOD.MANUAL\n ].color,\n group: fromnode?.ob?.group,\n value: 0,\n });\n const newnode = diagram.findNodeForData(nodedata);\n\n const linkdata = model.copyLinkData({});\n model.setFromKeyForLinkData(\n linkdata,\n model.getKeyForNodeData(fromnode.data)\n );\n model.setToKeyForLinkData(linkdata, model.getKeyForNodeData(newnode.data));\n model.addLinkData(linkdata);\n diagram.select(newnode);\n if (nodedata?.movable !== undefined && nodedata?.movable !== null) {\n newnode.movable = nodedata?.movable;\n }\n\n newnode.location = new go.Point(\n fromnode.location.x + 160,\n fromnode.location.y +\n this.findLocYFromnode(fromnode) * AtoDefaultGojsEditor.DISTANCE_2_OUTPUT\n );\n e.diagram.commitTransaction('Create Node and Link');\n }\n\n findLocYFromnode(fromnode) {\n // Find location auto right\n const locYFromnode = fromnode.data?.loc?.split(' ')?.[1];\n const locYAlreadyExist: any = [];\n fromnode.findLinksOutOf().each(function (link) {\n const targetNode = link.toNode;\n if (targetNode) {\n locYAlreadyExist.push(\n targetNode.data?.loc?.split(' ')?.[1] - locYFromnode\n );\n }\n });\n\n let i = 0;\n while (this.isEmptyYLoc(locYAlreadyExist, i) === null && i < 100) {\n i++;\n }\n return this.isEmptyYLoc(locYAlreadyExist, i);\n }\n\n isEmptyYLoc(locYAlreadyExist, i) {\n if (\n !_.some(\n locYAlreadyExist,\n (x) =>\n x <\n i * AtoDefaultGojsEditor.DISTANCE_2_OUTPUT +\n AtoDefaultGojsEditor.DISTANCE_2_OUTPUT / 2 &&\n x >\n i * AtoDefaultGojsEditor.DISTANCE_2_OUTPUT -\n AtoDefaultGojsEditor.DISTANCE_2_OUTPUT / 2\n )\n ) {\n return i;\n }\n if (\n !_.some(\n locYAlreadyExist,\n (x) =>\n x <\n -i * AtoDefaultGojsEditor.DISTANCE_2_OUTPUT +\n AtoDefaultGojsEditor.DISTANCE_2_OUTPUT / 2 &&\n x >\n -i * AtoDefaultGojsEditor.DISTANCE_2_OUTPUT -\n AtoDefaultGojsEditor.DISTANCE_2_OUTPUT / 2\n )\n ) {\n return -i;\n }\n return null;\n }\n\n createNewNode(newnode) {\n this.addTemplate(newnode);\n this.myDiagram.startTransaction('add group node');\n this.myDiagram.model.addNodeData(newnode);\n this.myDiagram.commitTransaction('add group node');\n }\n\n deleteNode(e) {\n e.diagram.startTransaction('Delete group node');\n e.diagram.removeParts(e.diagram.selection);\n e.diagram.commitTransaction('Delete group node');\n }\n\n deleteNodeOnDiagram(e) {\n e.startTransaction('Delete group node');\n e.removeParts(e.selection);\n e.commitTransaction('Delete group node');\n }\n\n insightNode(e) {}\n\n drawLink(e, button) {\n const node = button.part.adornedPart;\n const tool = e.diagram.toolManager.linkingTool;\n tool.startObject = node.port;\n e.diagram.currentTool = tool;\n tool.doActivate();\n }\n\n makePortGroup(name, align, spot, output, input) {\n const horizontal =\n align.equals(go.Spot.Top) || align.equals(go.Spot.Bottom);\n return this.$(\n go.Panel,\n 'Table',\n {\n background: '#919CA5',\n width: 40,\n height: 40,\n alignment: align,\n stretch: horizontal\n ? go.GraphObject.Horizontal\n : go.GraphObject.Vertical,\n portId: name,\n fromSpot: spot,\n fromLinkable: output,\n toSpot: spot,\n toLinkable: input,\n cursor: this._initialOptions.isReadOnly ? '' : 'pointer',\n alignmentFocus: go.Spot.Center, // tập trung vào trung tâm của Panel\n // mouseEnter: this._initialOptions.isReadOnly\n // ? null\n // : (e, panel) => {\n // const textBlock = (panel as any)?.findObject('textBlock') as go.TextBlock | null;\n // if (textBlock) {\n // // && output\n // textBlock.visible = true;\n // switch (name) {\n // case 'B':\n // case 'R': {\n // panel.background = 'rgb(243 144 171)';\n // break;\n // }\n // case 'T':\n // case 'L': {\n // panel.background = 'rgb(103,151,207)';\n // break;\n // }\n // default: {\n // panel.background = 'rgb(243 144 171)';\n // }\n // }\n // }\n // },\n\n // mouseLeave: this._initialOptions.isReadOnly\n // ? null\n // : (e, panel) => {\n // const textBlock = (panel as any).findObject('textBlock') as go.TextBlock | null;\n // if (textBlock) {\n // textBlock.visible = false; // Ẩn TextBlock khi rời khỏi Panel\n // }\n // panel.background = 'transparent';\n // },\n },\n\n this.$(go.Shape, 'Ellipse', {\n fill: 'white', // Background color of the circle\n strokeWidth: 2,\n stroke: '#919CA5', // Border color of the circle\n width: 40, // Match the panel's width\n height: 40, // Match the panel's height\n })\n\n // this.$(\n // go.TextBlock,\n // {\n // name: 'textBlock',\n // margin: 4,\n // text: '\\uf0da', // Mã Unicode tương ứng với fa-caret-left\n // font: '900 12px \"Font Awesome 6 Pro\"',\n // stroke: 'white', // Đặt màu chữ thành màu trắng\n // cursor: 'pointer',\n // visible: false,\n // },\n // new go.Binding('text', 'name', (_) => {\n // switch (name) {\n // case 'T':\n // case 'B': {\n // return '\\uf0d7';\n // }\n // case 'L':\n // case 'R': {\n // return '\\uf0da';\n // }\n // default: {\n // return '\\uf0d7';\n // }\n // }\n // }),\n // ),\n );\n }\n\n makePort(name, align, spot, output, input) {\n // if (this._initialOptions.isReadOnly) {\n // return {};\n // }\n const horizontal =\n align.equals(go.Spot.Top) || align.equals(go.Spot.Bottom);\n // const vertical = align.equals(go.Spot.Left) || align.equals(go.Spot.Right);\n // the port is basically just a transparent rectangle that stretches along the side of the node,\n // and becomes colored when the mouse passes over it\n return this.$(\n go.Panel,\n 'Table',\n {\n background: 'transparent',\n width: horizontal ? NaN : 8,\n height: !horizontal ? NaN : 8,\n alignment: align,\n stretch: horizontal\n ? go.GraphObject.Horizontal\n : go.GraphObject.Vertical,\n portId: name,\n fromSpot: spot,\n fromLinkable: output,\n toSpot: spot,\n toLinkable: input,\n cursor: this._initialOptions.isReadOnly ? '' : 'pointer',\n alignmentFocus: go.Spot.Center, // tập trung vào trung tâm của Panel\n mouseEnter: this._initialOptions.isReadOnly\n ? null\n : (e, panel) => {\n const textBlock = (panel as any)?.findObject(\n 'textBlock'\n ) as go.TextBlock | null;\n if (textBlock) {\n // && output\n textBlock.visible = true;\n switch (name) {\n case 'B':\n case 'R': {\n panel.background = 'rgb(243 144 171)';\n break;\n }\n case 'T':\n case 'L': {\n panel.background = 'rgb(103,151,207)';\n break;\n }\n default: {\n panel.background = 'rgb(243 144 171)';\n }\n }\n }\n },\n\n mouseLeave: this._initialOptions.isReadOnly\n ? null\n : (e, panel) => {\n const textBlock = (panel as any).findObject(\n 'textBlock'\n ) as go.TextBlock | null;\n if (textBlock) {\n textBlock.visible = false; // Ẩn TextBlock khi rời khỏi Panel\n }\n panel.background = 'transparent';\n },\n },\n\n new go.Binding('visible', '', function (data) {\n if (data?.isNotAllowConnect) {\n return false;\n }\n if (data?.selectable === false && !data?.isAllowConnect) {\n return false;\n }\n if (data?.flowOfPlantCell) {\n if (\n data?.flowOfPlantCell === ATO_ENUM_FLOW_DIRECTION.INFLOW &&\n name === 'L'\n ) {\n return true;\n }\n if (\n data?.flowOfPlantCell === ATO_ENUM_FLOW_DIRECTION.OUTFLOW &&\n name === 'R'\n ) {\n return true;\n }\n return false;\n }\n switch (name) {\n case 'B':\n case 'R': {\n return !data?.isNotSelectOutput;\n }\n case 'T':\n case 'L': {\n return !data?.isNotSelectInput;\n }\n default: {\n return true;\n }\n }\n }),\n\n this.$(\n go.TextBlock,\n {\n name: 'textBlock',\n margin: 4,\n text: '\\uf0da', // Mã Unicode tương ứng với fa-caret-left\n font: '900 12px \"Font Awesome 6 Pro\"',\n stroke: 'white', // Đặt màu chữ thành màu trắng\n cursor: 'pointer',\n visible: false,\n },\n new go.Binding('text', 'name', (_) => {\n switch (name) {\n case 'T':\n case 'B': {\n return '\\uf0d7';\n }\n case 'L':\n case 'R': {\n return '\\uf0da';\n }\n default: {\n return '\\uf0d7';\n }\n }\n })\n )\n );\n\n // return this.$(go.Shape, {\n // fill: 'transparent', // changed to a color in the mouseEnter event handler\n // strokeWidth: 0, // no stroke\n // width: horizontal ? NaN : 8, // if not stretching horizontally, just 8 wide\n // height: !horizontal ? NaN : 8, // if not stretching vertically, just 8 tall\n // alignment: align, // align the port on the main Shape\n // stretch: horizontal ? go.GraphObject.Horizontal : go.GraphObject.Vertical,\n // portId: name, // declare this object to be a \"port\"\n // fromSpot: spot, // declare where links may connect at this port\n // fromLinkable: output, // declare whether the user may draw links from here\n // toSpot: spot, // declare where links may connect at this port\n // toLinkable: input, // declare whether the user may draw links to here\n // cursor: 'pointer', // show a different cursor to indicate potential link point\n // mouseEnter: (e, port) => {\n // // the PORT argument will be this Shape\n // if (!e.diagram.isReadOnly && output) {\n // port.fill = 'rgba(255,0,255,0.5)'\n // };\n // },\n // mouseLeave: (e, port) => {\n // return (port.fill = 'transparent');\n // },\n // });\n }\n\n makeGroupBasicComponent(\n icon,\n title,\n size: { w: number; h: number } = { w: 80, h: 80 }\n ) {\n let node = this.$(\n go.Group,\n 'Spot',\n {\n // layout: this.$(go.LayeredDigraphLayout, { direction: 0 }),\n alignment: go.Spot.Center,\n layout: this.$(go.Layout),\n movable: false,\n selectable: false,\n // movable: true,\n // selectable: true,\n dragComputation: (node, pt, gridpt) => {\n pt.x =\n Math.round(pt.x / AtoGojsEditorModel.BASIC_GRID_SIZE_WIDTH) *\n AtoGojsEditorModel.BASIC_GRID_SIZE_WIDTH;\n pt.y =\n Math.round(pt.y / AtoGojsEditorModel.BASIC_GRID_SIZE_HEIGHT) *\n AtoGojsEditorModel.BASIC_GRID_SIZE_HEIGHT;\n return pt;\n },\n },\n {\n // minSize: new go.Size(AtoGojsEditorModel.BASIC_GRID_SIZE_WIDTH, AtoGojsEditorModel.BASIC_GRID_SIZE_HEIGHT),\n minSize: new go.Size(1, 1),\n maxSize: new go.Size(1, 1),\n // minSize: new go.Size(100, 100),\n },\n new go.Binding('location', 'loc', go.Point.parse).makeTwoWay(\n go.Point.stringify\n ),\n this.$(\n go.Panel,\n 'Auto',\n this.$(go.Shape, 'RoundedRectangle', {\n fill: 'transparent',\n stroke: 'transparent',\n // stroke: AtoGojsEditorModel.ENUM_COLORS.RESOLUTION_BLUE,\n strokeWidth: 2,\n // strokeDashArray: [5, 5],\n })\n // this.$(go.Placeholder),\n // this.$(go.Placeholder, { padding: new go.Margin(0, 0, 0, 0) }),\n )\n // this.$(go.TextBlock, title, {\n // row: 0,\n // margin: new go.Margin(0, 0, 0, 0),\n // stroke: '#444444',\n // font: 'normal 10pt Arial',\n // textAlign: 'center',\n // alignment: go.Spot.Left,\n // },\n // new go.Binding('text', 'key').makeTwoWay(),),\n\n // this.$(\n // go.Panel,\n // 'Table',\n // {\n // alignment: go.Spot.TopLeft,\n // alignmentFocus: new go.Spot(0, 0, -10, -10),\n // // padding: new go.Margin(0, 0, 50, 0),\n // },\n // this.$(\n // go.Panel,\n // 'Horizontal',\n // {\n // row: 0,\n // alignment: go.Spot.Left,\n // },\n // this.$(go.Picture, icon, {\n // row: 0,\n // // alignment: go.Spot.Center,\n // alignment: go.Spot.Left,\n // maxSize: new go.Size(40, 40),\n // imageStretch: go.GraphObject.Uniform,\n // }),\n // this.$(\n // go.Panel,\n // 'Table',\n // {\n // column: 1,\n // defaultAlignment: go.Spot.Left,\n // alignmentFocus: new go.Spot(0, 0, 0, 20),\n // },\n // this.$(go.TextBlock, title, {\n // row: 0,\n // margin: new go.Margin(3, 3, 5, 10),\n // // maxSize: new go.Size(size.w - 20, NaN),\n // stroke: '#444444',\n // font: 'normal 10pt Arial',\n // textAlign: 'center',\n // alignment: go.Spot.Left,\n // }),\n // this.$(\n // go.TextBlock,\n // {\n // row: 1,\n // margin: new go.Margin(0, 3, 3, 10),\n // editable: true,\n // // maxSize: new go.Size(size.w - 20, 40),\n // stroke: '#000D42',\n // font: 'bold 10pt Arial',\n // textAlign: 'center',\n // wrap: go.TextBlock.None,\n // overflow: go.TextBlock.OverflowEllipsis,\n // },\n // new go.Binding('text', 'name').makeTwoWay(),\n // {\n // // define a tooltip for each node that displays the color as text\n // toolTip: this.$(\n // 'ToolTip',\n // this.$(go.TextBlock, { margin: 4 }, new go.Binding('text', 'name')),\n // ), // end of Adornment\n // },\n // ),\n // ),\n // ),\n // ),\n );\n this.myDiagram.groupTemplateMap.set(title, node);\n }\n\n makeGroupTemplate(\n icon,\n title,\n size: { w: number; h: number } = { w: 80, h: 80 }\n ) {\n let node = this.$(\n go.Group,\n 'Spot',\n {\n // // layout: this.$(go.ForceDirectedLayout , {\n // // direction: 0,\n // // setsPortSpots: false,\n // // }),\n\n // layout: this.$(go.LayeredDigraphLayout, {\n // direction: 0,\n // setsPortSpots: false,\n // }),\n\n layout: this.$(go.Layout),\n\n // // // adornment when a group is selected\n // // // selectionAdornmentTemplate: this.$(\n // // // go.Adornment,\n // // // 'Auto',\n // // // this.$(go.Shape, 'Rectangle', { fill: null, stroke: 'dodgerblue', strokeWidth: 8 }),\n // // // this.$(go.Placeholder),\n // // // ),\n },\n\n // new go.Binding('layout', 'layout', (x) =>\n // {\n // return this.$(go.ForceDirectedLayout , {\n // direction: 0,\n // setsPortSpots: false,\n // });\n // }\n // ),\n {\n minSize: new go.Size(400, 400),\n },\n // new go.Binding('location', 'loc', go.Point.parse).makeTwoWay(go.Point.stringify),\n this.$(\n go.Panel,\n 'Auto',\n this.$(go.Shape, 'RoundedRectangle', {\n fill: 'transparent',\n stroke: AtoGojsEditorModel.ENUM_COLORS.RESOLUTION_BLUE,\n strokeWidth: 2,\n // strokeDashArray: [5, 5],\n }),\n this.$(go.Placeholder, { padding: new go.Margin(60, 20, 20, 20) })\n ),\n\n // this.$(\n // go.Panel,\n // 'Table',\n // {\n // alignment: go.Spot.TopLeft,\n // alignmentFocus: new go.Spot(0, 0, -10, -10),\n // },\n // this.$(go.TextBlock, title, {\n // row: 0,\n // margin: new go.Margin(3, 3, 5, 3),\n // maxSize: new go.Size(size.w - 20, NaN),\n // stroke: '#444444',\n // font: 'normal 8pt Arial',\n // textAlign: 'center',\n // }),\n // this.$(go.Picture, icon, {\n // row: 1,\n // alignment: go.Spot.Center,\n // maxSize: new go.Size(40, 40),\n // imageStretch: go.GraphObject.Uniform,\n // }),\n // this.$(\n // go.TextBlock,\n // {\n // row: 2,\n // margin: new go.Margin(10, 3, 3, 3),\n // editable: true,\n // maxSize: new go.Size(size.w - 20, 40),\n // stroke: '#000D42',\n // font: 'bold 8pt Arial',\n // textAlign: 'center',\n // wrap: go.TextBlock.None,\n // overflow: go.TextBlock.OverflowEllipsis,\n // },\n // new go.Binding('text', 'name').makeTwoWay(),\n // {\n // // define a tooltip for each node that displays the color as text\n // toolTip: this.$('ToolTip', this.$(go.TextBlock, { margin: 4 }, new go.Binding('text', 'name'))), // end of Adornment\n // },\n // ),\n // // new go.Binding('location', 'loc', go.Point.parse).makeTwoWay(go.Point.stringify),\n // ),\n\n this.$(\n go.Panel,\n 'Table',\n {\n alignment: go.Spot.TopLeft,\n alignmentFocus: new go.Spot(0, 0, -10, -10),\n // padding: new go.Margin(0, 0, 50, 0),\n },\n this.$(\n go.Panel,\n 'Horizontal',\n {\n row: 0,\n alignment: go.Spot.Left,\n },\n this.$(go.Picture, icon, {\n row: 0,\n // alignment: go.Spot.Center,\n alignment: go.Spot.Left,\n maxSize: new go.Size(40, 40),\n imageStretch: go.GraphObject.Uniform,\n }),\n this.$(\n go.Panel,\n 'Table',\n {\n column: 1,\n defaultAlignment: go.Spot.Left,\n alignmentFocus: new go.Spot(0, 0, 0, 20),\n },\n this.$(go.TextBlock, title, {\n row: 0,\n margin: new go.Margin(3, 3, 5, 10),\n // maxSize: new go.Size(size.w - 20, NaN),\n stroke: '#444444',\n font: 'normal 10pt Arial',\n textAlign: 'center',\n alignment: go.Spot.Left,\n }),\n this.$(\n go.TextBlock,\n {\n row: 1,\n margin: new go.Margin(0, 3, 3, 10),\n editable: true,\n // maxSize: new go.Size(size.w - 20, 40),\n stroke: '#000D42',\n font: 'bold 10pt Arial',\n textAlign: 'center',\n wrap: go.TextBlock.None,\n overflow: go.TextBlock.OverflowEllipsis,\n },\n new go.Binding('text', 'name').makeTwoWay(),\n {\n // define a tooltip for each node that displays the color as text\n toolTip: this.$(\n 'ToolTip',\n this.$(\n go.TextBlock,\n { margin: 4 },\n new go.Binding('text', 'name')\n )\n ), // end of Adornment\n }\n )\n )\n )\n )\n );\n\n this.myDiagram.groupTemplateMap.set(title, node);\n }\n\n makeImageTemplate() {\n const node = this.$(\n go.Node,\n 'Spot',\n {\n zOrder: 1,\n },\n new go.Binding('selectable', 'selectable'),\n this.$(\n go.Panel,\n 'Horizontal',\n {\n row: 0,\n alignment: go.Spot.Left,\n },\n new go.Binding('location', 'loc', go.Point.parse).makeTwoWay(\n go.Point.stringify\n ),\n this.$(\n go.Picture,\n AtoGojsEditorModel.IMAGE_RO_WATER_TREATMENT_PATH,\n {\n alignment: go.Spot.Center,\n // maxSize: new go.Size(500, 500),\n // imageStretch: go.GraphObject.Uniform,\n // margin: new go.Margin(130, 0, 0, 0),\n },\n new go.Binding('margin', 'margin'),\n new go.Binding('width', 'width'),\n new go.Binding('height', 'height'),\n new go.Binding('source', '', (data) => {\n return data?.source\n ? data?.source\n : AtoGojsEditorModel.IMAGE_RO_WATER_TREATMENT_PATH;\n })\n )\n )\n );\n this.myDiagram.nodeTemplateMap.set(\n AtoGojsEditorModel.ENUM_TEMPLATES.IMAGE_TEMPLATE,\n node\n );\n }\n\n makeParamTable() {\n const self = this;\n const node = this.$(\n go.Part,\n 'Vertical',\n // this.$(go.Shape, { fill: '#E6F0F7', stroke: '#0063A9', strokeWidth: 3, geometryString: 'M 5 0 L 95 0 Q 100 0 100 5 L 100 95 Q 100 100 95 100 L 5 100 Q 0 100 0 95 L 0 5 Q 0 0 5 0' }),\n {\n zOrder: 2,\n // padding: new go.Margin(0, 0, 0, 200),\n },\n\n new go.Binding('padding', 'padding'),\n new go.Binding('selectable', 'selectable'),\n new go.Binding('location', 'loc', go.Point.parse).makeTwoWay(\n go.Point.stringify\n ),\n new go.Binding('visible', '', (data) => {\n return typeof data?.visible === 'boolean' ? data?.visible : true;\n }),\n // Header\n this.$(\n go.Panel,\n 'Auto',\n {\n stretch: go.GraphObject.Fill,\n minSize: new go.Size(150, 27),\n margin: new go.Margin(0, 0, -6, 0),\n },\n new go.Binding('visible', '', (data) => !!data?.title),\n this.$(\n go.Shape,\n 'RoundedRectangle',\n {\n parameter1: 5,\n },\n new go.Binding('fill', '', (data) => {\n return data?.color;\n }),\n new go.Binding('stroke', '', (data) => {\n return data?.color;\n })\n ),\n\n this.$(\n go.TextBlock,\n {\n stroke: 'white',\n margin: new go.Margin(0, 0, 0, 5),\n stretch: go.GraphObject.Fill,\n alignment: go.Spot.Left,\n verticalAlignment: go.Spot.Center,\n font: '14px sans-serif',\n },\n new go.Binding('text', 'title')\n )\n ),\n this.$(\n go.Shape,\n 'Rectangle',\n {\n height: 6,\n margin: new go.Margin(0, 0, -6, 0),\n stretch: go.GraphObject.Fill,\n },\n new go.Binding('fill', '', (data) => {\n return data?.color;\n }),\n new go.Binding('stroke', '', (data) => {\n return data?.color;\n }),\n new go.Binding('visible', '', (data) => !!data?.title)\n ),\n this.$(\n go.Panel,\n 'Auto',\n this.$(\n go.Shape,\n 'RoundedRectangle',\n { fill: '#E6F0F7', stroke: '#0063A9', strokeWidth: 4, parameter1: 5 },\n new go.Binding('fill', 'bgColor'),\n new go.Binding('stroke', 'borderTable')\n ),\n this.$(\n go.Panel,\n 'Table',\n // Set defaults for all rows and columns:\n {\n padding: 1.5,\n defaultRowSeparatorStroke: '#0062A9',\n defaultColumnSeparatorStroke: '#0062A9',\n defaultSeparatorPadding: new go.Margin(5, 10, 5, 10),\n },\n new go.Binding('defaultRowSeparatorStroke', 'borderTable'),\n new go.Binding('defaultColumnSeparatorStroke', 'borderTable'),\n // this.$(\n // go.Panel,\n // 'TableRow',\n // { row: 0 },\n // this.$(go.TextBlock, 'row 1 col 1', { column: 0, margin: 2 }),\n // this.$(go.TextBlock, 'row 1 col 2', { column: 1, margin: 2 }),\n // ),\n // this.$(\n // go.Panel,\n // 'TableRow',\n // { row: 1 },\n // this.$(go.TextBlock, 'row 2 col 1', { column: 0, margin: 2 }),\n // this.$(go.TextBlock, 'row 2 col 2', { column: 1, margin: 2 }),\n // ),\n new go.Binding('itemArray', 'dataTable'),\n {\n // itemTemplate: this.$(\n // go.Panel,\n // new go.Binding('row', 'indexRow'),\n // // new go.Binding('height', 'height'),\n // this.$(\n // go.Picture,\n // ARROW,\n // {\n // alignment: go.Spot.Center,\n // maxSize: new go.Size(20, 40),\n // // imageStretch: go.GraphObject.Uniform,\n // },\n // new go.Binding('source', '', (data, panel) => {\n // // panel.part?.data?.id\n // return data?.isCreated ? panel?.$p : ARROW_GRAY;\n // }),\n // ),\n // ),\n\n itemTemplate: this.$(\n go.Panel,\n 'TableRow',\n {\n cursor: 'pointer',\n click: (e, obj: any) => {\n if (\n obj.panel.part.data?.dataTable[obj.row]?.isEditable ===\n false\n ) {\n return;\n }\n self.onClikParamOfTable.emit({\n ...obj.panel.part.data?.dataTable[obj.row],\n });\n },\n background: 'transparent',\n },\n this.$(\n go.TextBlock,\n '',\n {\n column: 0,\n margin: 2,\n textAlign: 'left',\n alignment: go.Spot.Left,\n },\n new go.Binding('text', '', (data, panel) => {\n return data?.name;\n })\n ),\n this.$(\n go.Panel,\n 'Table',\n {\n column: 1,\n margin: 2,\n padding: 0,\n defaultSeparatorPadding: new go.Margin(0, 0, 0, 0),\n stretch: go.GraphObject.Fill,\n },\n new go.Binding('minSize', '', (data, panel) => {\n // return panel.part?.data?.minSizeValue;\n return new go.Size(\n panel.part?.data?.minSizeValue?.width,\n NaN\n );\n }),\n this.$(\n go.TextBlock,\n '',\n {\n column: 0,\n margin: 0,\n alignment: go.Spot.Left,\n overflow: go.TextBlock.OverflowEllipsis,\n cursor: 'pointer',\n toolTip: this.$(\n 'ToolTip',\n this.$(\n go.TextBlock,\n {\n margin: 4,\n },\n new go.Binding('text', '', (data, panel) => {\n return `${\n !!this._initialOptions.isReadOnly\n ? `${data?.tagName || ''} `\n : ''\n }${data?.value}`;\n }),\n new go.Binding('visible', '', (data) => {\n if (\n !!this._initialOptions.isReadOnly &&\n data?.tagName\n ) {\n return true;\n }\n\n return !!data?.value;\n })\n )\n ),\n },\n new go.Binding('text', '', (data, panel) => {\n return data?.value;\n }),\n new go.Binding('stroke', '', (data) => {\n if (!this._initialOptions.isReadOnly) {\n return;\n }\n return data.color;\n }),\n new go.Binding('maxSize', '', (data) => {\n return new go.Size(data?.maxSizeValue || 190, 14);\n })\n ),\n this.$(\n go.Picture,\n {\n alignment: go.Spot.Right,\n column: 1,\n margin: new go.Margin(0, 0, 0, 5),\n source: ICONS_BASE64['uf044'],\n cursor: 'pointer',\n visible: false,\n toolTip: this.$(\n 'ToolTip',\n this.$(\n go.TextBlock,\n {\n margin: 4,\n },\n new go.Binding('text', '', (data, panel) => {\n return data?.toolTipAction;\n })\n ),\n new go.Binding(\n 'visible',\n '',\n (data) => !!data?.toolTipAction\n )\n ),\n height: 14,\n width: 14,\n },\n new go.Binding('visible', '', (data, panel) => {\n return !this._initialOptions.isReadOnly;\n }),\n new go.Binding('opacity', '', (data, panel) => {\n return data?.isEditable === false ? 0.6 : 1;\n })\n )\n )\n ),\n }\n // new go.Binding('text', 'name')\n )\n )\n );\n this.myDiagram.nodeTemplateMap.set(\n AtoGojsEditorModel.ENUM_TEMPLATES.PARAM_TABLE,\n node\n );\n }\n\n makeMassBalance() {\n const self = this;\n const node = this.$(\n go.Part,\n 'Auto',\n {},\n new go.Binding('location', 'loc', go.Point.parse).makeTwoWay(\n go.Point.stringify\n ),\n new go.Binding('selectable', 'selectable'),\n this.$(\n go.Panel,\n 'Horizontal',\n // Set defaults for all rows and columns:\n {\n padding: 4,\n toolTip: this.$(\n 'ToolTip',\n this.$(\n go.TextBlock,\n {\n margin: 4,\n maxSize: new go.Size(450, 30),\n },\n new go.Binding('text', 'tooltip')\n )\n ),\n visible: this._initialOptions.isReadOnly,\n },\n this.$(\n go.TextBlock,\n '',\n {\n margin: new go.Margin(0, 5, 0, 0),\n text: 'Mass Balance:',\n },\n new go.Binding('font', 'font')\n ),\n this.$(\n go.TextBlock,\n '',\n {\n stroke: AtoGojsEditorModel.ENUM_COLORS.ALIZARIN,\n },\n new go.Binding('font', 'font'),\n new go.Binding('stroke', 'colorValue'),\n new go.Binding('text', '', (data, panel) => {\n return data?.value;\n })\n )\n )\n );\n this.myDiagram.nodeTemplateMap.set(\n AtoGojsEditorModel.ENUM_TEMPLATES.MASS_BALANCE,\n node\n );\n }\n\n makeGroupROPlantTemplate(\n icon,\n title,\n size: { w: number; h: number } = { w: 80, h: 80 }\n ) {\n let node = this.$(\n go.Group,\n 'Spot',\n {\n layout: this.$(go.Layout),\n },\n {\n // minSize: new go.Size(NaN, 600),\n },\n new go.Binding('selectable', 'selectable'),\n new go.Binding('location', 'loc', go.Point.parse).makeTwoWay(\n go.Point.stringify\n ),\n this.$(\n go.Panel,\n 'Table',\n\n this.$(\n go.Panel,\n 'Auto',\n {\n row: 0,\n padding: new go.Margin(0, 0, 0, 0),\n },\n this.$(go.Shape, 'RoundedRectangle', {\n name: 'SHAPE_KEY',\n fill: '#FCFCFD',\n stroke: AtoGojsEditorModel.ENUM_COLORS.RESOLUTION_BLUE,\n strokeWidth: 2,\n // strokeDashArray: [5, 5],\n }),\n\n this.$(go.Placeholder, { padding: new go.Margin(15, 0, 0, 0) })\n ),\n this.$(\n go.Picture,\n RO_LINE_DIRTY,\n {\n row: 1,\n },\n new go.Binding('visible', '', (x) => {\n return x?.isViewGeneral && x?.hasOutFlow ? true : false;\n })\n )\n ),\n\n this.$(go.Panel, 'Table', {\n width: 0,\n height: 0,\n alignment: new go.Spot(0, 0, 0, 183),\n alignmentFocus: go.Spot.Left,\n // stretch: go.GraphObject.Vertical,\n portId: 'Inflow',\n cursor: this._initialOptions.isReadOnly ? '' : 'pointer',\n // alignmentFocus: new go.Spot(0, 0, 0, 150),\n fromSpot: go.Spot.Left,\n toSpot: go.Spot.Left,\n fromLinkable: true,\n toLinkable: true,\n }),\n this.$(go.Panel, 'Table', {\n width: 0,\n height: 0,\n alignment: new go.Spot(0, 0, 970, 315),\n alignmentFocus: go.Spot.Bottom,\n portId: 'OutFlow_Clean',\n cursor: this._initialOptions.isReadOnly ? '' : 'pointer',\n fromSpot: go.Spot.Bottom,\n toSpot: go.Spot.Bottom,\n fromLinkable: true,\n toLinkable: true,\n }),\n this.$(\n go.Panel,\n 'Table',\n {\n width: 0,\n height: 0,\n // alignment: new go.Spot(0, 0, 480, 525),\n // alignment: new go.Spot(0, 0, 475, 552),\n alignmentFocus: go.Spot.Bottom,\n portId: 'OutFlow_Dirty',\n cursor: this._initialOptions.isReadOnly ? '' : 'pointer',\n fromSpot: go.Spot.Bottom,\n toSpot: go.Spot.Bottom,\n fromLinkable: true,\n toLinkable: true,\n },\n new go.Binding('alignment', '', (x) => {\n return x?.isViewGeneral && x?.hasOutFlow\n ? new go.Spot(0, 0, 475, 552)\n : new go.Spot(0, 0, 480, 525);\n })\n )\n );\n\n this.myDiagram.groupTemplateMap.set(title, node);\n }\n\n makeGroupBoilerTemplate(\n icon,\n title,\n size: { w: number; h: number } = { w: 80, h: 80 }\n ) {\n let node = this.$(\n go.Group,\n 'Spot',\n {\n selectable: false,\n },\n {\n // minSize: new go.Size(NaN, 600),\n },\n new go.Binding('selectable', 'selectable'),\n this.$(\n go.Panel,\n 'Auto',\n {\n padding: new go.Margin(0, 0, 0, 0),\n },\n this.$(go.Shape, 'RoundedRectangle', {\n name: 'SHAPE_KEY',\n fill: '#FCFCFD',\n stroke: AtoGojsEditorModel.ENUM_COLORS.RESOLUTION_BLUE,\n strokeWidth: 2,\n }),\n\n this.$(\n go.Placeholder,\n new go.Binding('location', 'loc', go.Point.parse).makeTwoWay(\n go.Point.stringify\n ),\n { padding: new go.Margin(0, 0, 0, 0) }\n )\n ),\n\n this.$(go.Panel, 'Spot', {\n width: 0,\n height: 0,\n alignment: new go.Spot(0, 0.5, 0, 83),\n alignmentFocus: go.Spot.Left,\n portId: 'Inflow',\n cursor: this._initialOptions.isReadOnly ? '' : 'pointer',\n fromSpot: go.Spot.Left,\n toSpot: go.Spot.Left,\n fromLinkable: true,\n toLinkable: true,\n }),\n this.$(\n go.Panel,\n 'Spot',\n {\n alignmentFocus: go.Spot.Top,\n alignment: new go.Spot(1, 1, -215, 0),\n },\n this.$(\n go.Picture,\n OUTFLOW_LINE_DIRTY,\n {\n width: 10,\n height: 20,\n },\n new go.Binding('visible', '', (x) => {\n return x?.isViewGeneral && x?.hasOutFlow ? true : false;\n })\n ),\n this.$(go.Panel, {\n alignment: go.Spot.BottomLeft,\n alignmentFocus: go.Spot.Top,\n portId: 'OutFlow',\n cursor: this._initialOptions.isReadOnly ? '' : 'pointer',\n fromSpot: go.Spot.Bottom,\n fromLinkable: true,\n toLinkable: true,\n })\n )\n );\n\n this.myDiagram.groupTemplateMap.set(title, node);\n }\n\n makeGroupCoolingTowerTemplate(\n icon,\n title,\n size: { w: number; h: number } = { w: 80, h: 80 }\n ) {\n let node = this.$(\n go.Group,\n 'Spot',\n {\n selectable: false,\n layout: this.$(go.Layout),\n padding: new go.Margin(0, 30, 0, 0),\n },\n new go.Binding('location', 'loc', go.Point.parse).makeTwoWay(\n go.Point.stringify\n ),\n this.$(\n go.Panel,\n 'Auto',\n {\n row: 0,\n padding: new go.Margin(0, 0, 0, 0),\n },\n this.$(go.Shape, 'RoundedRectangle', {\n name: 'SHAPE_KEY',\n fill: '#FCFCFD',\n stroke: AtoGojsEditorModel.ENUM_COLORS.RESOLUTION_BLUE,\n strokeWidth: 2,\n strokeDashArray: [5, 5],\n }),\n\n this.$(go.Placeholder, { padding: new go.Margin(0, 0, 0, 0) })\n ),\n this.$(go.Panel, 'Table', {\n width: 0,\n height: 0,\n alignment: new go.Spot(0, 0, 0, 533),\n alignmentFocus: go.Spot.Bottom,\n portId: 'Inflow',\n cursor: this._initialOptions.isReadOnly ? '' : 'pointer',\n fromSpot: go.Spot.Left,\n toSpot: go.Spot.Left,\n fromLinkable: true,\n toLinkable: true,\n }),\n this.$(\n go.Panel,\n 'Spot',\n {\n alignmentFocus: go.Spot.Top,\n alignment: new go.Spot(0.5, 1, 23, 0),\n },\n this.$(\n go.Picture,\n OUTFLOW_LINE_DIRTY,\n {\n width: 10,\n height: 20,\n },\n new go.Binding('visible', '', (x) => {\n return x?.isViewGeneral && x?.hasOutFlow ? true : false;\n })\n ),\n this.$(go.Panel, {\n alignment: new go.Spot(0, 0, 0, 18),\n alignmentFocus: go.Spot.Top,\n portId: 'OutFlow',\n cursor: this._initialOptions.isReadOnly ? '' : 'pointer',\n fromSpot: go.Spot.Center,\n toSpot: go.Spot.Right,\n fromLinkable: true,\n toLinkable: true,\n })\n )\n );\n\n this.myDiagram.groupTemplateMap.set(title, node);\n }\n\n groupPlantCellTemplate(\n icon,\n title,\n size: { w: number; h: number } = { w: 80, h: 80 }\n ) {\n const self = this;\n let node = this.$(\n go.Group,\n 'Spot',\n {\n // layout: this.$(go.Layout),\n // layout: this.$(go.LayeredDigraphLayout, { direction: 0 }),\n // isSubGraphExpanded: false,\n // background: 'transparent',\n // layerName: 'Foreground',\n // wasSubGraphExpanded: false,\n movable: false,\n selectable: false,\n avoidable: false,\n // resizable: true,\n\n // resizable: false,\n // width: data?.ob?.minWith ?? 50,\n // height: 500,\n\n // isSubGraphExpanded: true, // ensure the group is always expanded\n // computesBoundsAfterDrag: true,\n // handlesDragDropForMembers: true, // handle drag-and-drop events for its member nodes\n\n // maxSize: new go.Size(500, 500),\n // minSize: new go.Size(500, 500),\n\n // isSubGraphExpanded: true,\n // layerName: DIAGRAM.LAYERS.BACKGROUND,\n\n // mouseDrop: function (e, grp) {\n // // disallow dropping anything onto an Adornment\n // if (grp instanceof go.Adornment) return;\n // },\n // dragComputation: function (node, pt, gridPt) {\n // let grp = node.containingGroup;\n // if (grp !== null) {\n // let rect = grp.actualBounds;\n // pt.x = Math.max(rect.left, Math.min(pt.x, rect.right));\n // pt.y = Math.max(rect.top, Math.min(pt.y, rect.bottom));\n // }\n // return pt;\n // },\n\n // dropComputation: function (node, pt, gridPt) {\n // let grp = node.containingGroup;\n // if (grp !== null) {\n // let rect = grp.actualBounds;\n // pt.x = Math.max(rect.left, Math.min(pt.x, rect.right));\n // pt.y = Math.max(rect.top, Math.min(pt.y, rect.bottom));\n // }\n // return pt;\n // },\n\n // dragComputation: function (part, pt, gridpt) {\n // // Get the current group's actual bounds\n // const grp = part.containingGroup;\n // if (grp) {\n // const bnds = grp.actualBounds;\n // const loc = part.location;\n\n // // See if the part's new location would be out of bounds\n // const newx = Math.max(bnds.x, Math.min(pt.x, bnds.right - part.actualBounds.width / 2));\n // const newy = Math.max(bnds.y, Math.min(pt.y, bnds.bottom - part.actualBounds.height / 2));\n\n // // Modify the result point to keep the Part inside the Group\n // return new go.Point(newx, newy);\n // }\n // return pt;\n // },\n click: (e, obj: any) => {\n self.myDiagram?.clearSelection();\n },\n },\n {\n // mouseDragEnter: (e, obj) => {\n // },\n // mouseDrop: (e, obj) => {\n // },\n // mouseEnter: (e, obj) => {\n // const node = obj.part;\n // self.onHoverInfoButton.emit({\n // left: e?.['Wr']?.x + 8,\n // top: e?.['Wr']?.y,\n // node: node,\n // });\n // // let shape = (node as any)?.findObject('SHAPE_KEY');\n // // if (shape) {\n // // shape.stroke = 'blue';\n // // }\n // },\n // mouseLeave: (e, obj) => {\n // self.onHoverInfoButton.emit(null);\n // // let shape = (node as any)?.findObject('SHAPE_KEY');\n // // if (shape) {\n // // shape.stroke = AtoGojsEditorModel.ENUM_COLORS.WHITE;\n // // }\n // },\n },\n new go.Binding('layout', '', function (data, node) {\n // return data?.layoutValue === AtoGojsEditorModel.ENUM_LAYOUT_EDITOR.AUTO\n // ? self.$(go.LayeredDigraphLayout, { direction: 0 })\n // : node?.layout;\n if (data?.layoutValue !== data?.layoutValueClone) {\n data.layoutValueClone = data?.layoutValue;\n return data?.layoutValue ===\n AtoGojsEditorModel.ENUM_LAYOUT_EDITOR.AUTO\n ? self.$(go.LayeredDigraphLayout, { direction: 0 })\n : self.$(go.Layout);\n } else {\n return node?.layout;\n }\n // : self.$(go.Layout);\n // return data?.layout;\n // return data?.previousLayout || self.$(go.LayeredDigraphLayout, { direction: 0 });\n // return self.$(go.LayeredDigraphLayout, { direction: 0 });\n }),\n // new go.Binding('grid', 'grid'),\n new go.Binding('selectable', 'selectable'),\n // new go.Binding('width', '', function (data) {\n // return data?.ob?.minWith ?? 50;\n // }),\n new go.Binding('minSize', '', function (data) {\n return new go.Size(data?.ob?.minWith ?? 50, data?.ob?.minHeight ?? 50); // Customize minSize based on data\n }).ofObject(),\n // new go.Binding('width', '', function (data) {\n // return data?.ob?.minWith ?? 50; // Customize minSize based on data\n // }).ofObject(),\n // new go.Binding('height', '', function (data) {\n // return data?.ob?.minHeight ?? 50; // Customize minSize based on data\n // }).ofObject(),\n new go.Binding('location', 'loc', go.Point.parse).makeTwoWay(\n go.Point.stringify\n ),\n // new go.Binding('isSubGraphExpanded', 'expanded').makeTwoWay(),\n this.$(\n go.Panel,\n 'Auto',\n {\n padding: new go.Margin(0, 0, 0, 0),\n // margin:new go.Margin(0, 50, 0, 50),\n },\n this.$(go.Shape, 'RoundedRectangle', {\n name: 'SHAPE_KEY',\n fill: 'transparent',\n stroke: AtoGojsEditorModel.ENUM_COLORS.RESOLUTION_BLUE,\n strokeWidth: 2,\n strokeDashArray: [5, 5],\n }),\n this.$(go.Placeholder, { padding: new go.Margin(0, 0, 0, 0) })\n )\n );\n\n // node.memberValidation = function (node, group) {\n // if (!group) return true; // allow ungrouping\n // const groupBounds = group.actualBounds;\n // const nodeBounds = node.actualBounds;\n // return groupBounds.containsRect(nodeBounds);\n // };\n this.myDiagram.groupTemplateMap.set(title, node);\n }\n\n groupPCInputOrOutTemplate(icon, title, padding: go.Margin) {\n // let node = this.$(\n // go.Group,\n // 'Spot',\n // {\n // layout: this.$(go.Layout),\n // movable: false,\n // selectable: false,\n // },\n // // {\n // // // minSize: new go.Size(500, 500),\n // // movable: false,\n // // ariaReadOnly: true,\n // // },\n // this.$(\n // go.Panel,\n // 'Auto',\n // {\n // padding: new go.Margin(0, 0, 0, 0),\n // },\n // this.$(go.Shape, 'RoundedRectangle', {\n // fill: 'transparent',\n // // stroke: AtoGojsEditorModel.ENUM_COLORS.RESOLUTION_BLUE,\n // stroke: AtoGojsEditorModel.ENUM_COLORS.WHITE,\n // strokeWidth: 2,\n // strokeDashArray: [5, 5],\n // }),\n // this.$(go.Placeholder, {\n // padding: new go.Margin(0, 0, 0, 0),\n // }),\n // ),\n // );\n let node = this.$(\n go.Group,\n 'Spot',\n {\n layout: this.$(go.LayeredDigraphLayout, { direction: 0 }),\n movable: false,\n selectable: false,\n avoidable: false,\n // isSubGraphExpanded: false,\n // isSubGraphExpanded: false,\n // layerName: 'Foreground',\n },\n new go.Binding('location', 'loc', go.Point.parse).makeTwoWay(\n go.Point.stringify\n ),\n this.$(\n go.Panel,\n 'Auto',\n {\n padding: padding ?? new go.Margin(0, 0, 0, 0),\n },\n this.$(go.Shape, 'RoundedRectangle', {\n fill: 'transparent',\n stroke: AtoGojsEditorModel.ENUM_COLORS.WHITE,\n // stroke: AtoGojsEditorModel.ENUM_COLORS.ALIZARIN,\n strokeWidth: 2,\n // strokeDashArray: [5, 5],\n }),\n this.$(go.Placeholder, {\n padding: new go.Margin(0, 0, 0, 0),\n })\n )\n );\n this.myDiagram.groupTemplateMap.set(title, node);\n }\n\n makeGroupZoneTemplate(\n size: { w: number; h: number } = {\n w: AtoGojsEditorModel.GRID_SIZE * 14,\n h: AtoGojsEditorModel.GRID_SIZE * 5,\n }\n ) {\n const self = this;\n let node = this.$(\n go.Group,\n 'Vertical',\n {\n layout: this.$(go.GridLayout, {\n wrappingColumn: 1,\n spacing: new go.Size(0, 0),\n }),\n },\n\n {\n locationSpot: go.Spot.Center,\n mouseOver: function (e, obj) {\n // self.showPoint(obj?.part?.location);\n },\n click: (e, obj: any) => {\n if (obj?.data?.onSelected) {\n obj?.data?.onSelected(obj?.data);\n }\n },\n selectionChanged: (e) => {\n if (!e.isSelected && e?.data?.onSelected) {\n e?.data?.onSelected(null);\n }\n },\n\n selectionAdornmentTemplate: this._initialOptions.isReadOnly\n ? null\n : this.$(\n go.Adornment,\n 'Spot',\n {\n shadowVisible: true,\n shadowBlur: 6,\n shadowOffset: new go.Point(0, 2),\n shadowColor: '#00000029',\n },\n this.$(\n go.Panel,\n 'Auto',\n this.$(go.Shape, {\n fill: null,\n stroke: 'dodgerblue',\n strokeWidth: 4,\n }),\n this.$(go.Placeholder, { padding: 3 })\n ),\n this.$(\n go.Panel,\n 'Horizontal',\n {\n alignment: go.Spot.TopRight,\n alignmentFocus: go.Spot.Bottom,\n background: 'white',\n },\n this.$(\n 'Button',\n {\n _dragData: {\n type: AtoGojsEditorModel.ENUM_TEMPLATES.TEXT_NODE,\n name: 0,\n color: AtoGojsEditorModel.ENUM_COLORS.BLUE,\n },\n click: self.addItemOnGroupZone, // defined below, to support a click on the button\n 'ButtonBorder.strokeWidth': 0,\n 'ButtonBorder.fill': 'white',\n },\n this.$(go.TextBlock, {\n margin: 4,\n text: '\\uf055',\n font: '20px \"Font Awesome 6 Pro\"',\n cursor: 'pointer',\n stroke: '#2c2c2c',\n })\n ),\n // more\n this.generateActionGroup([\n AtoDefaultGojsEditor.ENUM_ACTIONS.RENAME,\n AtoDefaultGojsEditor.ENUM_ACTIONS.DETAILS,\n AtoDefaultGojsEditor.ENUM_ACTIONS.OUTFLOW,\n AtoDefaultGojsEditor.ENUM_ACTIONS.DELETE,\n ])\n // this.$(\n // // Edit Text\n // 'Button',\n // {\n // click: self.editTextGroupZone,\n // 'ButtonBorder.strokeWidth': 0,\n // 'ButtonBorder.fill': 'white',\n // },\n // this.$(go.TextBlock, {\n // margin: 4,\n // text: '\\ue1bf',\n // font: '20px \"Font Awesome 6 Pro\"',\n // cursor: 'pointer',\n // stroke: '#2c2c2c',\n // }),\n // ),\n // this.$(\n // // Open Detail\n // 'Button',\n // {\n // click: (e, obj: any) => {\n // const node = obj.part;\n // self.onOpenDetail.emit({\n // node,\n // });\n // },\n // 'ButtonBorder.strokeWidth': 0,\n // 'ButtonBorder.fill': 'white',\n // },\n //\n // this.$(go.TextBlock, {\n // margin: 4,\n // text: '\\ue49a',\n // font: '20px \"Font Awesome 6 Pro\"',\n // cursor: 'pointer',\n // }),\n // ),\n // !this._initialOptions.isReadOnly\n // ? this.$(\n // 'Button',\n // {\n // actionMove: self.dragNewNode, // defined below, to support dragging from the button\n // _dragData: {\n // type: AtoGojsEditorModel.ENUM_TEMPLATES.TEXT_NODE,\n // name: 0,\n // color: AtoGojsEditorModel.ENUM_COLORS.BLUE,\n // },\n // click: self.clickNewNode, // defined below, to support a click on the button\n // 'ButtonBorder.strokeWidth': 0,\n // 'ButtonBorder.fill': 'white',\n // },\n // this.$(go.TextBlock, {\n // margin: 4,\n // text: '\\ue157',\n // font: '20px \"Font Awesome 6 Pro\"',\n // cursor: 'pointer',\n // stroke: '#2c2c2c',\n // }),\n // )\n // : {},\n\n // this.$(\n // 'Button',\n // {\n // click: self.deleteNode,\n // 'ButtonBorder.strokeWidth': 0,\n // 'ButtonBorder.fill': 'white',\n // },\n // this.$(go.TextBlock, {\n // margin: 4,\n // text: '\\uf2ed',\n // font: '20px \"Font Awesome 6 Pro\"',\n // cursor: 'pointer',\n // }),\n // ),\n )\n ),\n },\n\n this.$(\n go.Panel,\n 'Auto',\n this.$(go.Shape, 'RoundedRectangle', {\n fill: 'transparent',\n stroke: AtoGojsEditorModel.ENUM_COLORS.RESOLUTION_BLUE,\n strokeWidth: 2,\n strokeDashArray: [5, 5],\n maxSize: new go.Size(size.w, NaN),\n }),\n this.$(\n go.Panel,\n 'Table',\n {\n alignment: go.Spot.Top,\n padding: new go.Margin(17, 10, 16, 10),\n },\n this.$(\n go.TextBlock,\n {\n row: 0,\n margin: new go.Margin(5, 0, 10, 0),\n editable: true,\n desiredSize: new go.Size(size.w - 20, 25),\n stroke: AtoGojsEditorModel.ENUM_COLORS.NIGHT_RIDER,\n font: 'bold 16px Arial',\n textAlign: 'center',\n wrap: go.TextBlock.None,\n overflow: go.TextBlock.OverflowEllipsis,\n toolTip: this.$(\n 'ToolTip',\n this.$(\n go.TextBlock,\n {\n margin: 4,\n },\n new go.Binding('text', 'name').makeTwoWay()\n )\n ),\n },\n new go.Binding('text', 'name').makeTwoWay()\n ),\n this.$(go.Placeholder, 'Vertical', {\n row: 1,\n })\n ),\n\n this.makePort('T', go.Spot.Top, go.Spot.TopSide, false, true),\n this.makePort('L', go.Spot.Left, go.Spot.LeftSide, true, true),\n this.makePort('R', go.Spot.Right, go.Spot.RightSide, true, true),\n this.makePort('B', go.Spot.Bottom, go.Spot.BottomSide, true, false)\n ),\n new go.Binding('location', 'loc', go.Point.parse).makeTwoWay(\n go.Point.stringify\n )\n );\n this.myDiagram.groupTemplateMap.set(\n AtoGojsEditorModel.ENUM_TEMPLATES.ZONE,\n node\n );\n }\n\n makeZoneItemTemplate(\n size: { w: number; h: number } = {\n w: AtoGojsEditorModel.GRID_SIZE * 12,\n h: AtoGojsEditorModel.GRID_SIZE * 2,\n }\n ) {\n const self = this;\n const node = this.$(\n go.Node,\n 'Auto',\n // {\n // mouseHover: (e, obj) => {\n // const node = obj.part;\n // if ((obj as any).part?.ob?.value === VALUE_NA) {\n // self.onHoverInfoButton.emit({\n // left: e?.['Wr']?.x + 8,\n // top: e?.['Wr']?.y,\n // node: node\n // });\n // }\n // },\n // mouseLeave: (e, obj) => {\n // if ((obj as any).part?.ob?.value === VALUE_NA) {\n // self.onHoverInfoButton.emit(null);\n // }\n // },\n // click: (e, obj: any) => {\n // const node = obj.part;\n // this.isShowNodeInfo ? self.onClickInfoButton.emit({\n // left: e?.['Wr']?.x,\n // top: e?.['Wr']?.y,\n // node: node\n // }) : null;\n // },\n // },\n // new go.Binding('location', 'loc', go.Point.parse).makeTwoWay(go.Point.stringify),\n {\n movable: false,\n },\n this.$(\n go.Panel,\n 'Auto',\n {\n width: size.w,\n height: size.h,\n },\n this.$(go.Shape, 'Rectangle', {\n fill: AtoGojsEditorModel.ENUM_COLORS.LIGHT_BLUE,\n stroke: AtoGojsEditorModel.ENUM_COLORS.LINK_WATER,\n }),\n this.$(\n go.Panel,\n 'Vertical',\n this.$(\n go.TextBlock,\n {\n editable: true,\n row: 2,\n margin: new go.Margin(10, 0, 5, 0),\n font: 'bold 12px Arial',\n textAlign: 'center',\n stroke: AtoGojsEditorModel.ENUM_COLORS.NIGHT_RIDER,\n toolTip: this.$(\n 'ToolTip',\n this.$(\n go.TextBlock,\n {\n margin: 4,\n },\n new go.Binding('text', 'name').makeTwoWay()\n )\n ),\n },\n new go.Binding('text', 'name').makeTwoWay(),\n new go.Binding('visible', 'name', (x) => !!x)\n ),\n this.$(\n go.Panel,\n 'Horizontal',\n\n {\n margin: new go.Margin(0, 10, 0, 10),\n },\n this.$(\n go.TextBlock,\n {\n margin: new go.Margin(0, 5, 10, 0),\n textAlign: 'center',\n font: '12px sans-serif',\n stroke: AtoGojsEditorModel.ENUM_COLORS.NIGHT_RIDER,\n wrap: go.TextBlock.WrapFit,\n editable: true,\n isMultiline: false,\n maxSize: new go.Size(size.w - 100, 15),\n overflow: go.TextBlock.OverflowEllipsis,\n toolTip: this.$(\n 'ToolTip',\n this.$(\n go.TextBlock,\n {\n margin: 4,\n },\n new go.Binding('text', 'nameItem').makeTwoWay()\n )\n ),\n },\n new go.Binding('text', 'nameItem').makeTwoWay(),\n new go.Binding('visible', 'nameItem', (x) => !!x)\n ),\n this.$(\n go.TextBlock,\n {\n margin: new go.Margin(0, 5, 10, 0),\n textAlign: 'center',\n font: '12px sans-serif',\n stroke: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n wrap: go.TextBlock.WrapFit,\n text: '< ',\n },\n\n new go.Binding(\n 'visible',\n 'data',\n (x) => typeof x?.quantity === 'number'\n )\n ),\n this.$(\n go.TextBlock,\n {\n margin: new go.Margin(0, 5, 10, 0),\n textAlign: 'center',\n font: '12px sans-serif',\n stroke: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n wrap: go.TextBlock.WrapFit,\n },\n new go.Binding('text', 'data', (x) => {\n if (typeof x?.quantity !== 'number') {\n return '';\n }\n const formatted: any = UtilsService.convertPrefixesData({\n value: x?.quantity,\n unit: x?.unit,\n });\n return (\n formatted.shortenedNumber +\n ' ' +\n formatted.unitPrefixes +\n x?.unit ?? ''\n );\n }),\n new go.Binding(\n 'visible',\n 'data',\n (x) => typeof x?.quantity === 'number'\n )\n ),\n\n this.$(\n go.TextBlock,\n {\n margin: new go.Margin(0, 5, 10, 0),\n textAlign: 'center',\n font: '12px sans-serif',\n stroke: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n wrap: go.TextBlock.WrapFit,\n text: ' >',\n },\n new go.Binding(\n 'visible',\n 'data',\n (x) => typeof x?.quantity === 'number'\n )\n )\n )\n )\n )\n );\n this.myDiagram.nodeTemplateMap.set(\n AtoGojsEditorModel.ENUM_TEMPLATES.ZONE_ENERGY_ITEM,\n node\n );\n }\n\n makeSpecialTemplate(\n icon,\n title,\n size: { w: number; h: number } = {\n w: AtoGojsEditorModel.GRID_SIZE * 5,\n h: AtoGojsEditorModel.GRID_SIZE * 5,\n }\n ) {\n let node: any = null;\n switch (title) {\n case AtoGojsEditorModel.ENUM_TEMPLATES.SPECIAL_PROCESS:\n node = this.$(\n go.Node,\n 'Spot',\n // {\n // fromSpot: go.Spot.Right, // coming out from middle-right\n // toSpot: go.Spot.Left\n // },\n {\n click: (e, obj: any) => {\n if (obj?.data?.onSelected) {\n obj?.data?.onSelected(obj?.data);\n }\n },\n selectionChanged: (e) => {\n if (!e.isSelected && e?.data?.onSelected) {\n e?.data?.onSelected(null);\n }\n },\n },\n new go.Binding('location', 'loc', go.Point.parse).makeTwoWay(\n go.Point.stringify\n ),\n this.$(\n go.Panel,\n 'Auto',\n { width: size.w, height: size.h },\n this.$(go.Shape, 'Circle', {\n fill: 'white',\n stroke: '#2D3B77',\n strokeWidth: 2,\n // strokeDashArray: [5, 5],\n }),\n this.$(\n go.Panel,\n 'Table',\n this.$(go.TextBlock, AtoGojsEditorModel.ENUM_TEMPLATES.PROCESS, {\n row: 0,\n margin: new go.Margin(3, 3, 10, 3),\n maxSize: new go.Size(size.w - 20, NaN),\n stroke: '#444444',\n font: 'normal 10pt Arial',\n textAlign: 'center',\n }),\n this.$(go.Picture, icon, {\n row: 1,\n margin: new go.Margin(0, 0, 10, 0),\n alignment: go.Spot.Center,\n maxSize: new go.Size(60, 60),\n imageStretch: go.GraphObject.Uniform,\n })\n )\n ),\n\n this.$(go.Panel, 'Vertical', {\n alignment: go.Spot.Left,\n alignmentFocus: new go.Spot(0, 0.5, 8, 0),\n }),\n this.$(go.Panel, 'Vertical', {\n alignment: go.Spot.Right,\n alignmentFocus: new go.Spot(1, 0.5, -8, 0),\n }),\n // four named ports, one on each side:\n\n this.makePort('T', go.Spot.Top, go.Spot.TopSide, false, true),\n this.makePort('L', go.Spot.Left, go.Spot.LeftSide, true, true),\n this.makePort('R', go.Spot.Right, go.Spot.RightSide, true, true),\n this.makePort('B', go.Spot.Bottom, go.Spot.BottomSide, true, false)\n );\n break;\n case AtoGojsEditorModel.ENUM_TEMPLATES.SPECIAL_STORAGE:\n node = this.$(\n go.Node,\n 'Spot',\n {\n click: (e, obj: any) => {\n if (obj?.data?.onSelected) {\n obj?.data?.onSelected(obj?.data);\n }\n },\n selectionChanged: (e) => {\n if (!e.isSelected && e?.data?.onSelected) {\n e?.data?.onSelected(null);\n }\n },\n },\n new go.Binding('location', 'loc', go.Point.parse).makeTwoWay(\n go.Point.stringify\n ),\n this.$(\n go.Panel,\n 'Auto',\n { width: size.w, height: size.h },\n this.$(go.Shape, 'Circle', {\n fill: 'white',\n stroke: '#2D3B77',\n strokeWidth: 2,\n // strokeDashArray: [5, 5],\n }),\n this.$(\n go.Panel,\n 'Table',\n this.$(go.TextBlock, AtoGojsEditorModel.ENUM_TEMPLATES.STORAGE, {\n row: 0,\n margin: new go.Margin(3, 3, 10, 3),\n maxSize: new go.Size(size.w - 20, NaN),\n stroke: '#444444',\n font: 'normal 10pt Arial',\n textAlign: 'center',\n }),\n this.$(\n go.Picture,\n icon,\n {\n row: 1,\n margin: new go.Margin(0, 0, 10, 0),\n alignment: go.Spot.Center,\n minSize: new go.Size(40, 40),\n maxSize: new go.Size(50, 50),\n imageStretch: go.GraphObject.Uniform,\n },\n new go.Binding('source', 'icon').makeTwoWay()\n )\n )\n ),\n\n this.$(go.Panel, 'Vertical', {\n alignment: go.Spot.Left,\n alignmentFocus: new go.Spot(0, 0.5, 8, 0),\n }),\n this.$(go.Panel, 'Vertical', {\n alignment: go.Spot.Right,\n alignmentFocus: new go.Spot(1, 0.5, -8, 0),\n }),\n // four named ports, one on each side:\n\n this.makePort('T', go.Spot.Top, go.Spot.TopSide, false, true),\n this.makePort('L', go.Spot.Left, go.Spot.LeftSide, true, true),\n this.makePort('R', go.Spot.Right, go.Spot.RightSide, true, true),\n this.makePort('B', go.Spot.Bottom, go.Spot.BottomSide, true, false)\n );\n break;\n case AtoGojsEditorModel.ENUM_TEMPLATES.SPECIAL_STORE:\n node = this.$(\n go.Node,\n 'Spot',\n {\n click: (e, obj: any) => {\n if (obj?.data?.onSelected) {\n obj?.data?.onSelected(obj?.data);\n }\n },\n selectionChanged: (e) => {\n if (!e.isSelected && e?.data?.onSelected) {\n e?.data?.onSelected(null);\n }\n },\n },\n new go.Binding('location', 'loc', go.Point.parse).makeTwoWay(\n go.Point.stringify\n ),\n this.$(\n go.Panel,\n 'Auto',\n { width: size.w, height: size.h },\n this.$(go.Shape, 'Circle', {\n fill: 'white',\n stroke: '#2D3B77',\n strokeWidth: 2,\n // strokeDashArray: [5, 5],\n }),\n this.$(\n go.Panel,\n 'Table',\n this.$(go.TextBlock, 'Store', {\n row: 0,\n margin: new go.Margin(3, 3, 10, 3),\n maxSize: new go.Size(size.w - 20, NaN),\n stroke: '#444444',\n font: 'normal 10pt Arial',\n textAlign: 'center',\n }),\n this.$(go.Picture, icon, {\n row: 1,\n margin: new go.Margin(0, 0, 10, 0),\n alignment: go.Spot.Center,\n maxSize: new go.Size(60, 60),\n imageStretch: go.GraphObject.Uniform,\n })\n )\n )\n );\n break;\n\n case AtoGojsEditorModel.ENUM_TEMPLATES.SPECIAL_DISCHARGE:\n node = this.$(\n go.Node,\n 'Spot',\n {\n click: (e, obj: any) => {\n if (obj?.data?.onSelected) {\n obj?.data?.onSelected(obj?.data);\n }\n },\n selectionChanged: (e) => {\n if (!e.isSelected && e?.data?.onSelected) {\n e?.data?.onSelected(null);\n }\n },\n },\n new go.Binding('location', 'loc', go.Point.parse).makeTwoWay(\n go.Point.stringify\n ),\n this.$(\n go.Panel,\n 'Auto',\n { width: size.w, height: size.h },\n this.$(go.Shape, 'Circle', {\n fill: 'white',\n stroke: '#2D3B77',\n strokeWidth: 2,\n // strokeDashArray: [5, 5],\n }),\n this.$(\n go.Panel,\n 'Table',\n this.$(go.TextBlock, 'Discharge', {\n row: 0,\n margin: new go.Margin(3, 3, 10, 3),\n maxSize: new go.Size(size.w - 20, NaN),\n stroke: '#444444',\n font: 'normal 10pt Arial',\n textAlign: 'center',\n }),\n this.$(go.Picture, icon, {\n row: 1,\n margin: new go.Margin(0, 0, 10, 0),\n alignment: go.Spot.Center,\n maxSize: new go.Size(60, 60),\n imageStretch: go.GraphObject.Uniform,\n })\n )\n )\n );\n break;\n\n case AtoGojsEditorModel.ENUM_TEMPLATES.SPECIAL_OTHER:\n node = this.$(\n go.Node,\n 'Spot',\n {\n click: (e, obj: any) => {\n if (obj?.data?.onSelected) {\n obj?.data?.onSelected(obj?.data);\n }\n },\n selectionChanged: (e) => {\n if (!e.isSelected && e?.data?.onSelected) {\n e?.data?.onSelected(null);\n }\n },\n },\n new go.Binding('location', 'loc', go.Point.parse).makeTwoWay(\n go.Point.stringify\n ),\n this.$(\n go.Panel,\n 'Auto',\n { width: size.w, height: size.h },\n this.$(go.Shape, 'Circle', {\n fill: 'white',\n stroke: '#2D3B77',\n strokeWidth: 2,\n // strokeDashArray: [5, 5],\n }),\n this.$(\n go.Panel,\n 'Table',\n this.$(go.TextBlock, 'Other', {\n row: 0,\n margin: new go.Margin(3, 3, 10, 3),\n maxSize: new go.Size(size.w - 20, NaN),\n stroke: '#444444',\n font: 'normal 10pt Arial',\n textAlign: 'center',\n }),\n this.$(go.Picture, icon, {\n row: 1,\n margin: new go.Margin(0, 0, 10, 0),\n alignment: go.Spot.Center,\n maxSize: new go.Size(60, 60),\n imageStretch: go.GraphObject.Uniform,\n })\n )\n )\n );\n break;\n }\n\n if (node) {\n this.myDiagram.nodeTemplateMap.set(title, node);\n }\n }\n\n startAnimation() {\n const diagram = this.myDiagram;\n // setTimeout(() => {\n // diagram.links.each((link) => {\n // });\n // });\n try {\n this.animationInterval = setInterval(() => {\n const oldskips = diagram.skipsUndoManager;\n diagram.skipsUndoManager = true;\n\n diagram.links.each((link) => {\n const shape = link.findObject('PIPE');\n if (!!shape) {\n // const off = shape?.strokeDashOffset - 3;\n const off = shape?.strokeDashOffset - 9;\n // animate (move) the stroke dash\n shape.strokeDashOffset = off <= 0 ? 60 : off;\n }\n });\n diagram.skipsUndoManager = oldskips;\n }, 600);\n // 60\n } catch (e) {}\n }\n\n stopAnimation() {\n if (this.animationInterval) {\n clearInterval(this.animationInterval);\n }\n }\n\n toDataURL(url, callback) {\n const xhr = new XMLHttpRequest();\n xhr.onload = function () {\n const reader = new FileReader();\n reader.onloadend = function () {\n callback(reader.result);\n };\n reader.readAsDataURL(xhr.response);\n };\n xhr.open('GET', url);\n xhr.responseType = 'blob';\n xhr.send();\n }\n\n getBase64DiagramWithEmptyData() {\n const self = this;\n // Test\n // const newWindow = window.open('', 'newWindow');\n // if (!newWindow) {\n // return;\n // }\n // const newDocument = newWindow?.document;\n if (\n !this.myDiagram?.model?.nodeDataArray?.length &&\n !this.myDiagram?.model?.linkDataArray?.length\n ) {\n return;\n }\n\n const svg = this.myDiagram.makeSvg({\n scale: this.defaultScaleZoomToFit,\n maxSize: new go.Size(1200, NaN),\n background: 'white',\n padding: 20,\n elementFinished: function (graphObject, svgElement) {\n svgElement.removeAttribute('clip-path');\n // Replace Image URL to base64 -> For showing Picture element\n if (graphObject instanceof go.Picture) {\n self.toDataURL(svgElement.href.baseVal, function (dataUrl) {\n svgElement.setAttribute('href', dataUrl);\n });\n }\n // Make Text Node Shape Border\n if (graphObject?.name === 'textNodeShape') {\n svgElement.setAttribute('stroke', 'rgba(64, 181, 206, 0.6)');\n }\n // Empty Value\n if (\n graphObject?.name === 'textBlockValue' ||\n graphObject?.name === 'textBlockUnitPrefixes'\n ) {\n svgElement.textContent = '';\n }\n if (svgElement.clipPath) {\n svgElement.clipPath = null;\n }\n },\n callback: (svg) => {\n setTimeout(() => {\n const svgStr = new XMLSerializer().serializeToString(svg);\n // For Test\n // newDocument?.body?.appendChild(svg);\n\n const base64Svg = `data:image/svg+xml;base64,${window.btoa(\n unescape(encodeURIComponent(svgStr))\n )}`;\n const img = new Image();\n img.src = base64Svg;\n const canvas = document.createElement('canvas');\n // get canvas context for drawing on canvas\n const context = canvas.getContext('2d');\n img.onload = function () {\n const svgWidth = img.width;\n const svgHeight = img.height;\n\n canvas.width = svgWidth;\n canvas.height = svgHeight;\n\n if (context) {\n context.drawImage(img, 0, 0);\n const base64PNG = canvas.toDataURL('image/jpeg');\n self.emitImageTopology(\n base64PNG.replace('data:image/jpeg;base64,', '')\n );\n }\n };\n }, 1000);\n },\n });\n }\n\n emitImageTopology(base64) {\n this.callbackImageTopology.emit(base64);\n }\n\n openActionMenu() {\n // When this node is clicked, adjust the menu position\n const mousePt = this.myDiagram.lastInput.viewPoint;\n\n // // When this node is clicked, display the dropdown menu\n const menu = document.getElementById(this.actionMenuId);\n if (menu) {\n menu.style.display = '';\n menu.style.position = 'absolute';\n menu.style.left = mousePt.x + 'px';\n menu.style.top = mousePt.y + 'px';\n\n this.menuTrigger.openMenu();\n }\n }\n\n unsubscribeAll() {\n if (this._subscriptionList) {\n this._subscriptionList.unsubscribe();\n }\n this._subscriptionList = new Subscription();\n }\n\n addSubscribes(...subscriptions: Subscription[]) {\n subscriptions.forEach((el) => {\n this._subscriptionList.add(el);\n });\n }\n}\n\nexport namespace AtoDefaultGojsEditor {\n export enum ENUM_ACTIONS {\n DETAILS = 'Open details & wizard',\n ONLY_DETAILS = 'Open details',\n RENAME = 'Rename this box',\n OUTFLOW = 'Create an outflow',\n DELETE = 'Delete',\n INSIGHT = 'Insight tag mapping',\n DATA_MAPPING = 'Data Mapping',\n MORE = 'More',\n FLOW_DETAILS = 'Flow details',\n FLOW_DETAILS_AND_WIZARD = 'Flow details & wizard', // only now for Cooling Tower\n ASSET_PARAMETERS = 'Asset parameters',\n CHANGE_ICON = 'Change icon',\n }\n\n export const ACTIONS: any = {\n [ENUM_ACTIONS.DETAILS]: {\n name: ENUM_ACTIONS.DETAILS,\n iconClassName: 'far fa-memo-circle-info',\n onClick: () => {},\n },\n [ENUM_ACTIONS.FLOW_DETAILS]: {\n name: ENUM_ACTIONS.FLOW_DETAILS,\n iconClassName: 'far fa-arrow-progress',\n onClick: () => {},\n },\n [ENUM_ACTIONS.FLOW_DETAILS_AND_WIZARD]: {\n name: ENUM_ACTIONS.FLOW_DETAILS_AND_WIZARD,\n iconClassName: 'far fa-arrow-progress',\n onClick: () => {},\n },\n [ENUM_ACTIONS.ASSET_PARAMETERS]: {\n name: ENUM_ACTIONS.ASSET_PARAMETERS,\n iconClassName: 'far fa-box-archive',\n onClick: () => {},\n },\n [ENUM_ACTIONS.ONLY_DETAILS]: {\n name: ENUM_ACTIONS.ONLY_DETAILS,\n iconClassName: 'far fa-memo-circle-info',\n onClick: () => {},\n },\n [ENUM_ACTIONS.RENAME]: {\n name: ENUM_ACTIONS.RENAME,\n iconClassName: 'far fa-input-text',\n onClick: () => {},\n },\n [ENUM_ACTIONS.OUTFLOW]: {\n name: ENUM_ACTIONS.OUTFLOW,\n iconClassName: 'far fa-diagram-nested',\n onClick: () => {},\n },\n [ENUM_ACTIONS.DELETE]: {\n name: ENUM_ACTIONS.DELETE,\n iconClassName: 'fal fa-trash-can',\n onClick: () => {},\n },\n [ENUM_ACTIONS.INSIGHT]: {\n name: ENUM_ACTIONS.INSIGHT,\n iconClassName: 'far fa-tag',\n onClick: () => {},\n },\n [ENUM_ACTIONS.DATA_MAPPING]: {\n name: ENUM_ACTIONS.DATA_MAPPING,\n iconClassName: 'far fa-tag',\n onClick: () => {},\n },\n [ENUM_ACTIONS.MORE]: {\n name: ENUM_ACTIONS.MORE,\n iconClassName: 'fal fa-memo-circle-info',\n onClick: () => {},\n },\n [ENUM_ACTIONS.CHANGE_ICON]: {\n name: ENUM_ACTIONS.CHANGE_ICON,\n iconClassName: 'far fa-image',\n onClick: () => {},\n },\n };\n\n export const DISTANCE_2_OUTPUT = 60;\n}\n","import { Directive, ElementRef, Renderer2, Input, OnChanges, SimpleChanges } from '@angular/core';\n\n@Directive({\n selector: '[atoLoading]'\n})\nexport class AtoLoadingDirective implements OnChanges {\n\n @Input() appLoading: boolean;\n\n private spinnerWrapper: HTMLElement;\n\n constructor(private el: ElementRef, private renderer: Renderer2) {\n this.spinnerWrapper = this.renderer.createElement('div');\n this.renderer.setStyle(this.spinnerWrapper, 'position', 'absolute');\n this.renderer.setStyle(this.spinnerWrapper, 'top', '0');\n this.renderer.setStyle(this.spinnerWrapper, 'left', '0');\n this.renderer.setStyle(this.spinnerWrapper, 'width', '100%');\n this.renderer.setStyle(this.spinnerWrapper, 'height', '100%');\n this.renderer.setStyle(this.spinnerWrapper, 'display', 'flex');\n this.renderer.setStyle(this.spinnerWrapper, 'align-items', 'center');\n this.renderer.setStyle(this.spinnerWrapper, 'justify-content', 'center');\n this.renderer.setStyle(this.spinnerWrapper, 'background', 'rgba(255, 255, 255, 0.7)');\n this.renderer.setStyle(this.spinnerWrapper, 'z-index', '10');\n\n const spinner = this.renderer.createElement('img');\n this.renderer.setAttribute(spinner, 'src', 'data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBzdHlsZT0ibWFyZ2luOiBhdXRvOyBiYWNrZ3JvdW5kOiByZ2IoMjU1LCAyNTUsIDI1NSk7IGRpc3BsYXk6IGJsb2NrOyBzaGFwZS1yZW5kZXJpbmc6IGF1dG87IGFuaW1hdGlvbi1wbGF5LXN0YXRlOiBydW5uaW5nOyBhbmltYXRpb24tZGVsYXk6IDBzOyIgd2lkdGg9Ijg4cHgiIGhlaWdodD0iODhweCIgdmlld0JveD0iMCAwIDEwMCAxMDAiIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaWRZTWlkIj4KPGRlZnMgc3R5bGU9ImFuaW1hdGlvbi1wbGF5LXN0YXRlOiBydW5uaW5nOyBhbmltYXRpb24tZGVsYXk6IDBzOyI+CiAgPG1hc2sgaWQ9ImxkaW8tdmN5YjQ1YmFvdWstbWFzayIgc3R5bGU9ImFuaW1hdGlvbi1wbGF5LXN0YXRlOiBydW5uaW5nOyBhbmltYXRpb24tZGVsYXk6IDBzOyI+CiAgICA8cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMTAwIiBoZWlnaHQ9IjEwMCIgZmlsbD0id2hpdGUiIHN0eWxlPSJhbmltYXRpb24tcGxheS1zdGF0ZTogcnVubmluZzsgYW5pbWF0aW9uLWRlbGF5OiAwczsiPjwvcmVjdD4KICA8L21hc2s+CjwvZGVmcz4KPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEwMCIgaGVpZ2h0PSIxMDAiIGZpbGw9IiM1Y2FhZWEiIHN0eWxlPSJhbmltYXRpb24tcGxheS1zdGF0ZTogcnVubmluZzsgYW5pbWF0aW9uLWRlbGF5OiAwczsiPjwvcmVjdD4KPGcgbWFzaz0idXJsKCNsZGlvLXZjeWI0NWJhb3VrLW1hc2spIiBzdHlsZT0iYW5pbWF0aW9uLXBsYXktc3RhdGU6IHJ1bm5pbmc7IGFuaW1hdGlvbi1kZWxheTogMHM7Ij4KICA8cmVjdCB4PSItMTAwIiB5PSItMjUwIiB3aWR0aD0iMzAwIiBoZWlnaHQ9IjMwMCIgcng9IjkwIiByeT0iOTAiIGZpbGw9IiM4MmNlZmYiIG9wYWNpdHk9IjAuNCIgc3R5bGU9ImFuaW1hdGlvbi1wbGF5LXN0YXRlOiBydW5uaW5nOyBhbmltYXRpb24tZGVsYXk6IDBzOyI+CiAgICA8YW5pbWF0ZVRyYW5zZm9ybSBhdHRyaWJ1dGVOYW1lPSJ0cmFuc2Zvcm0iIHR5cGU9InJvdGF0ZSIgZHVyPSIxcyIgcmVwZWF0Q291bnQ9ImluZGVmaW5pdGUiIHZhbHVlcz0iMCA1MCAtMTAwOzkwIDUwIC0xMDAiIGtleVRpbWVzPSIwOzEiIHN0eWxlPSJhbmltYXRpb24tcGxheS1zdGF0ZTogcnVubmluZzsgYW5pbWF0aW9uLWRlbGF5OiAwczsiPjwvYW5pbWF0ZVRyYW5zZm9ybT4KICA8L3JlY3Q+CgogIDxyZWN0IHg9Ii0xMDAiIHk9Ii0yNjAiIHdpZHRoPSIzMDAiIGhlaWdodD0iMzAwIiByeD0iOTUiIHJ5PSI5NSIgZmlsbD0iI2E1ZGNmZiIgb3BhY2l0eT0iMC40IiBzdHlsZT0iYW5pbWF0aW9uLXBsYXktc3RhdGU6IHJ1bm5pbmc7IGFuaW1hdGlvbi1kZWxheTogMHM7Ij4KICAgIDxhbmltYXRlVHJhbnNmb3JtIGF0dHJpYnV0ZU5hbWU9InRyYW5zZm9ybSIgdHlwZT0icm90YXRlIiBkdXI9IjEuNTE1MTUxNTE1MTUxNTE1MXMiIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiB2YWx1ZXM9IjAgNTAgLTExMDs5MCA1MCAtMTEwIiBrZXlUaW1lcz0iMDsxIiBzdHlsZT0iYW5pbWF0aW9uLXBsYXktc3RhdGU6IHJ1bm5pbmc7IGFuaW1hdGlvbi1kZWxheTogMHM7Ij48L2FuaW1hdGVUcmFuc2Zvcm0+CiAgPC9yZWN0PgoKICA8cmVjdCB4PSItMTAwIiB5PSItMjcwIiB3aWR0aD0iMzAwIiBoZWlnaHQ9IjMwMCIgcng9IjEwMCIgcnk9IjEwMCIgZmlsbD0iI2ZmZmZmZiIgb3BhY2l0eT0iMC40IiBzdHlsZT0iYW5pbWF0aW9uLXBsYXktc3RhdGU6IHJ1bm5pbmc7IGFuaW1hdGlvbi1kZWxheTogMHM7Ij4KICAgIDxhbmltYXRlVHJhbnNmb3JtIGF0dHJpYnV0ZU5hbWU9InRyYW5zZm9ybSIgdHlwZT0icm90YXRlIiBkdXI9IjMuMDMwMzAzMDMwMzAzMDMwM3MiIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiB2YWx1ZXM9IjAgNTAgLTEyMDs5MCA1MCAtMTIwIiBrZXlUaW1lcz0iMDsxIiBzdHlsZT0iYW5pbWF0aW9uLXBsYXktc3RhdGU6IHJ1bm5pbmc7IGFuaW1hdGlvbi1kZWxheTogMHM7Ij48L2FuaW1hdGVUcmFuc2Zvcm0+CiAgPC9yZWN0PgoKPC9nPgo8IS0tIFtsZGlvXSBnZW5lcmF0ZWQgYnkgaHR0cHM6Ly9sb2FkaW5nLmlvLyAtLT48L3N2Zz4=');\n this.renderer.setStyle(spinner, 'width', '30px');\n this.renderer.setStyle(spinner, 'height', '30px');\n this.renderer.setStyle(spinner, 'border-radius', '50%');\n\n this.renderer.appendChild(this.spinnerWrapper, spinner);\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['appLoading']) {\n if (this.appLoading) {\n this.showSpinner();\n } else {\n this.hideSpinner();\n }\n }\n }\n\n private showSpinner(): void {\n this.renderer.setStyle(this.el.nativeElement, 'position', 'relative');\n this.renderer.appendChild(this.el.nativeElement, this.spinnerWrapper);\n }\n\n private hideSpinner(): void {\n if (this.el.nativeElement.contains(this.spinnerWrapper)) {\n this.renderer.removeChild(this.el.nativeElement, this.spinnerWrapper);\n }\n }\n\n}\n","import { Component, ElementRef, Input, OnInit, ViewChild } from '@angular/core';\nimport _ from 'lodash';\n\nimport { AtoDefaultGojsEditor } from '../../models/default-gojs-editor.model';\nimport { AtoGojsEditorModel } from '../../models/gojs-editor.model';\n\n@Component({\n selector: 'ato-flow-diagram-lib',\n templateUrl: './flow-diagram-lib.component.html',\n styleUrls: ['./flow-diagram-lib.component.css']\n})\nexport class AtoFlowDiagramLibComponent extends AtoDefaultGojsEditor implements OnInit {\n @ViewChild('myDiagramDivTemp') myDiagramDivTemp: any;\n _data: any = null;\n @Input() set data(v) {\n this._data = v;\n this.loadDiagram();\n }\n\n @Input() isLoading = false;\n\n get data() {\n return this._data;\n }\n\n constructor(\n _elRef: ElementRef,\n ) {\n super(_elRef);\n this.actions = [\n AtoDefaultGojsEditor.ACTIONS[AtoDefaultGojsEditor.ENUM_ACTIONS.DETAILS],\n AtoDefaultGojsEditor.ACTIONS[AtoDefaultGojsEditor.ENUM_ACTIONS.DELETE],\n ];\n this.unsubscribeAll();\n }\n\n\n\n ngOnInit(): void {\n this.addSubscribes(\n this.committedTransactionSubject?.subscribe((e) => {\n this.onModelChangeListenerEvent.emit(e);\n }),\n // this._GjUtilsService?.updateNameDataBox$?.subscribe((rs) => {\n // if (rs && rs?.key) {\n // const node = this.myDiagram.findNodeForKey(rs?.key);\n // this.myDiagram.model.setDataProperty(node?.data, 'name', rs?.name);\n // }\n // }),\n );\n }\n\n loadDiagram() {\n this.editor = new AtoGojsEditorModel({\n class: 'go.GraphLinksModel',\n nodeCategoryProperty: 'type',\n ...this.data,\n });\n }\n\n findNodeForKey(key: number | string) {\n this.myDiagram.select(this.myDiagram.findNodeForKey(key));\n }\n}\n\n\n\n\n\n","<div class=\"w-100 h-100 gj-flow-diagram-wrapper\" atoLoading [appLoading]=\"data === null || !!isLoading\">\n <div class=\"w-100 h-100 d-flex\">\n <!-- <button\n id=\"actionMenuId\"\n class=\"invisible-btn\"\n mat-button\n [matMenuTriggerFor]=\"menu\"\n #menuTrigger=\"matMenuTrigger\"\n ></button>\n <mat-menu #menu=\"matMenu\">\n <button mat-menu-item *ngFor=\"let item of actions\" (click)=\"item?.onClick($event)\">\n <div class=\"d-flex flex-gap-2\">\n <div><i class=\"{{ item?.iconClassName }}\"></i></div>\n <div>{{ item?.name }}</div>\n </div>\n </button>\n </mat-menu> -->\n\n <div #myDiagramDivTemp [id]=\"myDiagramDiv\" class=\"flex-grow-1\"></div>\n <div *ngIf=\"initialOptions?.isReadOnly && !data?.nodeDataArray?.length\" class=\"empty-data\">\n <!-- <nz-empty nzNotFoundImage=\"simple\"></nz-empty> -->\n No Data\n </div>\n </div>\n</div>\n","import { AtoGojsEditorModel } from '../models/gojs-editor.model';\n\nexport const AtoGoJSBase64 = {\n [AtoGojsEditorModel.ENUM_TYPES.COOLING_TOWER]:\n 'data:image/png;base64,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',\n [AtoGojsEditorModel.ENUM_TYPES.BOILER]:\n 'data:image/png;base64,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',\n};\n","import * as go from 'gojs';\nimport { AtoGojsEditorModel } from '../models/gojs-editor.model';\n\nexport enum ENUM_ASSET_PARAMETERS {\n FEED_FLOW_RATE = 'Feed Flow Rate',\n FEED_CONDUCTIVITY = 'Feed Conductivity',\n FEED_TEMPERATURE = 'Feed Temperature',\n PRIMARY_PRESSURE = 'Primary Pressure',\n REJECTION_RATE_SALT_PASSAGE = 'Rejection Rate/Salt Passage',\n PRESSURE_DROP = 'Pressure Drop',\n SYSTEM_RECOVERY_RATE = 'System Recovery Rate',\n PERMEATE_FLOW_RATE = 'Permeate Flow Rate',\n PERMEATE_CONDUCTIVITY = 'Permeate Conductivity',\n PERMEATE_PRESSURE = 'Permeate Pressure',\n CONCENTRATE_FLOW_RATE = 'Concentrate Flow Rate',\n CONCENTRATE_PRESSURE = 'Stage2 Concentrate Pressure',\n CONCENTRATE_CONDUCTIVITY = 'Concentrate Conductivity',\n // Makeup Water\n MAKEUP_WATER_FLOW_RATE = 'MakeupWaterFlowRate',\n MAKEUP_WATER_FLOW = 'MakeupWaterFlow',\n MAKEUP_WATER_CONDUCTIVITY = 'MakeupWaterConductivity',\n MAKEUP_WATER_PH = 'MakeupWaterpH',\n MAKEUP_WATER_CALCIUM = 'MakeupWaterCalcium',\n MAKEUP_WATER_TOTAL_IRON = 'MakeupWaterTotalIron',\n SPECIFIC_CONDUCTIVITY = 'Specific Conductivity',\n PH = 'pH',\n SILICA = 'Silica',\n // Evaporation Loss\n EVAPORATION_LOSS_FLOW_RATE = 'EvaporationLossFlowRate',\n EVAPORATION_LOSS_FLOW = 'EvaporationLossFlow',\n // Blowndown Water\n BLOWDOWN_WATER_FLOW_RATE = 'BlowdownWaterFlowRate',\n BLOWDOWN_WATER_FLOW = 'BlowdownWaterFlow',\n // Warmer Water\n WARMER_WATER_FLOW_RATE = 'WarmerWaterFlowRate',\n WARMER_WATER_FLOW = 'WarmerWaterFlow',\n // Cooling Tower Analysis\n ANALYSIS_CONDUCTIVITY = 'AnalysisConductivity',\n ANALYSIS_PH = 'AnalysispH',\n ANALYSIS_CALCIUM = 'AnalysisCalcium',\n ANALYSIS_TOTAL_IRON = 'AnalysisTotalIron',\n // Cooling Tower Chemistry\n CHEMISTRY_PHOSPHATE = 'ChemistryPhosphate',\n CHEMISTRY_CHLORINE = 'ChemistryChlorine',\n CHEMISTRY_STP_RESIDUAL = 'ChemistrySTPResidual',\n CHEMISTRY_CS_CORROSION = 'ChemistryCSCorrosion',\n // Cooling Tower KPI\n KPI_CYCLES = 'KpiCycles',\n KPI_ATP = 'KpiATP',\n // Condensate Return\n TOTAL_IRON = 'Total Iron',\n // Steam\n PHOSPHATE = 'Phosphate',\n M_AKALINITY = 'M-Akalinity',\n // For Boiler - view Flow\n FLOW = 'Flow',\n FLOW_RATE = 'Flow Rate'\n}\n\nexport enum WATER_SYSTEMS_NAME {\n EVAPORATION_LOSS = 'Evaporation Loss',\n MAKEUP_WATER = 'Makeup Water', // includes MAKEUP_WATER__FLOW or MAKEUP_WATER__CHEMISTRY\n MAKEUP_WATER__FLOW = 'Makeup Water Flow',\n MAKEUP_WATER__CHEMISTRY = 'Makeup Water Chemistry',\n WARMER_WATER = 'Warmer Water (Recirculation)',\n BLOWDOWN_WATER = 'Blowdown Water',\n COOLING_TOWER_ANALYSIS = 'Cooling Water Analysis',\n COOLING_WATER_CHEMISTRY = 'Cooling Water Chemistry',\n SYSTEM_KPIS = `System KPI's`,\n // For Boiler\n CONDENSATE_RETURN = 'Condensate Return',\n CONDENSATE_RETURN__FLOW = 'Condensate Return Flow',\n CONDENSATE_RETURN__CHEMISTRY = 'Condensate Return Chemistry',\n\n BOILER_FEED_WATER = 'Boiler Feed Water',\n BOILER_FEED_WATER__FLOW = 'Boiler Feed Water Flow',\n BOILER_FEED_WATER__CHEMISTRY = 'Boiler Feed Water Chemistry',\n\n STEAM = 'Steam',\n STEAM__FLOW = 'Steam Flow',\n STEAM__CHEMISTRY = 'Steam Chemistry',\n\n BOILER_WATER = 'Boiler Water',\n BOILER_WATER__FLOW = 'Boiler Water Flow',\n BOILER_WATER__CHEMISTRY = 'Boiler Water Chemistry',\n\n STEAM_LOSS = 'Steam Loss',\n BLOWDOWN = 'Blowdown',\n}\n\nexport const DATA_ASSET_PARAMETER_FIELDS = {\n [ENUM_ASSET_PARAMETERS.FEED_FLOW_RATE]: {\n name: ENUM_ASSET_PARAMETERS.FEED_FLOW_RATE,\n key: ENUM_ASSET_PARAMETERS.FEED_FLOW_RATE,\n },\n [ENUM_ASSET_PARAMETERS.FEED_CONDUCTIVITY]: {\n name: ENUM_ASSET_PARAMETERS.FEED_CONDUCTIVITY,\n key: ENUM_ASSET_PARAMETERS.FEED_CONDUCTIVITY,\n },\n [ENUM_ASSET_PARAMETERS.FEED_TEMPERATURE]: {\n name: ENUM_ASSET_PARAMETERS.FEED_TEMPERATURE,\n key: ENUM_ASSET_PARAMETERS.FEED_TEMPERATURE,\n },\n [ENUM_ASSET_PARAMETERS.PRIMARY_PRESSURE]: {\n name: ENUM_ASSET_PARAMETERS.PRIMARY_PRESSURE,\n key: ENUM_ASSET_PARAMETERS.PRIMARY_PRESSURE,\n },\n [ENUM_ASSET_PARAMETERS.REJECTION_RATE_SALT_PASSAGE]: {\n name: ENUM_ASSET_PARAMETERS.REJECTION_RATE_SALT_PASSAGE,\n key: ENUM_ASSET_PARAMETERS.REJECTION_RATE_SALT_PASSAGE,\n },\n [ENUM_ASSET_PARAMETERS.PRESSURE_DROP]: {\n name: ENUM_ASSET_PARAMETERS.PRESSURE_DROP,\n key: ENUM_ASSET_PARAMETERS.PRESSURE_DROP,\n },\n [ENUM_ASSET_PARAMETERS.SYSTEM_RECOVERY_RATE]: {\n name: ENUM_ASSET_PARAMETERS.SYSTEM_RECOVERY_RATE,\n key: ENUM_ASSET_PARAMETERS.SYSTEM_RECOVERY_RATE,\n },\n [ENUM_ASSET_PARAMETERS.PERMEATE_FLOW_RATE]: {\n name: ENUM_ASSET_PARAMETERS.PERMEATE_FLOW_RATE,\n key: ENUM_ASSET_PARAMETERS.PERMEATE_FLOW_RATE,\n },\n [ENUM_ASSET_PARAMETERS.PERMEATE_CONDUCTIVITY]: {\n name: ENUM_ASSET_PARAMETERS.PERMEATE_CONDUCTIVITY,\n key: ENUM_ASSET_PARAMETERS.PERMEATE_CONDUCTIVITY,\n },\n [ENUM_ASSET_PARAMETERS.PERMEATE_PRESSURE]: {\n name: ENUM_ASSET_PARAMETERS.PERMEATE_PRESSURE,\n key: ENUM_ASSET_PARAMETERS.PERMEATE_PRESSURE,\n },\n [ENUM_ASSET_PARAMETERS.CONCENTRATE_FLOW_RATE]: {\n name: ENUM_ASSET_PARAMETERS.CONCENTRATE_FLOW_RATE,\n key: ENUM_ASSET_PARAMETERS.CONCENTRATE_FLOW_RATE,\n },\n [ENUM_ASSET_PARAMETERS.CONCENTRATE_PRESSURE]: {\n name: ENUM_ASSET_PARAMETERS.CONCENTRATE_PRESSURE,\n key: ENUM_ASSET_PARAMETERS.CONCENTRATE_PRESSURE,\n },\n [ENUM_ASSET_PARAMETERS.CONCENTRATE_CONDUCTIVITY]: {\n name: ENUM_ASSET_PARAMETERS.CONCENTRATE_CONDUCTIVITY,\n key: ENUM_ASSET_PARAMETERS.CONCENTRATE_CONDUCTIVITY,\n },\n // Makeup Water\n [ENUM_ASSET_PARAMETERS.MAKEUP_WATER_FLOW_RATE]: {\n name: 'Flow Rate',\n key: ENUM_ASSET_PARAMETERS.MAKEUP_WATER_FLOW_RATE,\n waterSystem: WATER_SYSTEMS_NAME.MAKEUP_WATER,\n },\n [ENUM_ASSET_PARAMETERS.MAKEUP_WATER_FLOW]: {\n name: 'Flow',\n key: ENUM_ASSET_PARAMETERS.MAKEUP_WATER_FLOW,\n waterSystem: WATER_SYSTEMS_NAME.MAKEUP_WATER,\n },\n [ENUM_ASSET_PARAMETERS.MAKEUP_WATER_CONDUCTIVITY]: {\n name: 'Conductivity',\n key: ENUM_ASSET_PARAMETERS.MAKEUP_WATER_CONDUCTIVITY,\n waterSystem: WATER_SYSTEMS_NAME.MAKEUP_WATER,\n },\n [ENUM_ASSET_PARAMETERS.MAKEUP_WATER_PH]: {\n name: 'pH',\n key: ENUM_ASSET_PARAMETERS.MAKEUP_WATER_PH,\n waterSystem: WATER_SYSTEMS_NAME.MAKEUP_WATER,\n },\n [ENUM_ASSET_PARAMETERS.MAKEUP_WATER_CALCIUM]: {\n name: 'Calcium',\n key: ENUM_ASSET_PARAMETERS.MAKEUP_WATER_CALCIUM,\n waterSystem: WATER_SYSTEMS_NAME.MAKEUP_WATER,\n },\n [ENUM_ASSET_PARAMETERS.MAKEUP_WATER_TOTAL_IRON]: {\n name: 'Total Iron',\n key: ENUM_ASSET_PARAMETERS.MAKEUP_WATER_TOTAL_IRON,\n waterSystem: WATER_SYSTEMS_NAME.MAKEUP_WATER,\n },\n // Evaporation Loss\n [ENUM_ASSET_PARAMETERS.EVAPORATION_LOSS_FLOW_RATE]: {\n name: 'Flow Rate',\n key: ENUM_ASSET_PARAMETERS.EVAPORATION_LOSS_FLOW_RATE,\n waterSystem: WATER_SYSTEMS_NAME.EVAPORATION_LOSS,\n },\n [ENUM_ASSET_PARAMETERS.EVAPORATION_LOSS_FLOW]: {\n name: 'Flow',\n key: ENUM_ASSET_PARAMETERS.EVAPORATION_LOSS_FLOW,\n waterSystem: WATER_SYSTEMS_NAME.EVAPORATION_LOSS,\n },\n // Blowndown Water\n [ENUM_ASSET_PARAMETERS.BLOWDOWN_WATER_FLOW_RATE]: {\n name: 'Flow Rate',\n key: ENUM_ASSET_PARAMETERS.BLOWDOWN_WATER_FLOW_RATE,\n waterSystem: WATER_SYSTEMS_NAME.BLOWDOWN_WATER,\n },\n [ENUM_ASSET_PARAMETERS.BLOWDOWN_WATER_FLOW]: {\n name: 'Flow',\n key: ENUM_ASSET_PARAMETERS.BLOWDOWN_WATER_FLOW,\n waterSystem: WATER_SYSTEMS_NAME.BLOWDOWN_WATER,\n },\n // Warmer Water\n [ENUM_ASSET_PARAMETERS.WARMER_WATER_FLOW_RATE]: {\n name: 'Flow Rate',\n key: ENUM_ASSET_PARAMETERS.WARMER_WATER_FLOW_RATE,\n waterSystem: WATER_SYSTEMS_NAME.WARMER_WATER,\n },\n [ENUM_ASSET_PARAMETERS.WARMER_WATER_FLOW]: {\n name: 'Flow',\n key: ENUM_ASSET_PARAMETERS.WARMER_WATER_FLOW,\n waterSystem: WATER_SYSTEMS_NAME.WARMER_WATER,\n },\n // Cooling Tower Analysis\n [ENUM_ASSET_PARAMETERS.ANALYSIS_CONDUCTIVITY]: {\n name: 'Conductivity',\n key: ENUM_ASSET_PARAMETERS.ANALYSIS_CONDUCTIVITY,\n waterSystem: WATER_SYSTEMS_NAME.COOLING_TOWER_ANALYSIS,\n },\n [ENUM_ASSET_PARAMETERS.ANALYSIS_PH]: {\n name: 'pH',\n key: ENUM_ASSET_PARAMETERS.ANALYSIS_PH,\n waterSystem: WATER_SYSTEMS_NAME.COOLING_TOWER_ANALYSIS,\n },\n [ENUM_ASSET_PARAMETERS.ANALYSIS_CALCIUM]: {\n name: 'Calcium',\n key: ENUM_ASSET_PARAMETERS.ANALYSIS_CALCIUM,\n waterSystem: WATER_SYSTEMS_NAME.COOLING_TOWER_ANALYSIS,\n },\n [ENUM_ASSET_PARAMETERS.ANALYSIS_TOTAL_IRON]: {\n name: 'Iron',\n key: ENUM_ASSET_PARAMETERS.ANALYSIS_TOTAL_IRON,\n waterSystem: WATER_SYSTEMS_NAME.COOLING_TOWER_ANALYSIS,\n },\n // Cooling Tower Chemistry\n [ENUM_ASSET_PARAMETERS.CHEMISTRY_PHOSPHATE]: {\n name: 'Phosphate',\n key: ENUM_ASSET_PARAMETERS.CHEMISTRY_PHOSPHATE,\n waterSystem: WATER_SYSTEMS_NAME.COOLING_WATER_CHEMISTRY,\n },\n [ENUM_ASSET_PARAMETERS.CHEMISTRY_CHLORINE]: {\n name: 'Chlorine',\n key: ENUM_ASSET_PARAMETERS.CHEMISTRY_CHLORINE,\n waterSystem: WATER_SYSTEMS_NAME.COOLING_WATER_CHEMISTRY,\n },\n [ENUM_ASSET_PARAMETERS.CHEMISTRY_STP_RESIDUAL]: {\n name: 'STP Residual',\n key: ENUM_ASSET_PARAMETERS.CHEMISTRY_STP_RESIDUAL,\n waterSystem: WATER_SYSTEMS_NAME.COOLING_WATER_CHEMISTRY,\n },\n [ENUM_ASSET_PARAMETERS.CHEMISTRY_CS_CORROSION]: {\n name: 'CS Corrosion',\n key: ENUM_ASSET_PARAMETERS.CHEMISTRY_CS_CORROSION,\n waterSystem: WATER_SYSTEMS_NAME.COOLING_WATER_CHEMISTRY,\n },\n // Cooling Tower KPI\n [ENUM_ASSET_PARAMETERS.KPI_CYCLES]: {\n name: 'Cycles',\n key: ENUM_ASSET_PARAMETERS.KPI_CYCLES,\n waterSystem: WATER_SYSTEMS_NAME.SYSTEM_KPIS,\n },\n [ENUM_ASSET_PARAMETERS.KPI_ATP]: {\n name: 'ATP',\n key: ENUM_ASSET_PARAMETERS.KPI_ATP,\n waterSystem: WATER_SYSTEMS_NAME.SYSTEM_KPIS,\n },\n // Boiler for view Chemistry\n [ENUM_ASSET_PARAMETERS.SPECIFIC_CONDUCTIVITY]: {\n name: ENUM_ASSET_PARAMETERS.SPECIFIC_CONDUCTIVITY,\n key: ENUM_ASSET_PARAMETERS.SPECIFIC_CONDUCTIVITY,\n },\n [ENUM_ASSET_PARAMETERS.PH]: {\n name: ENUM_ASSET_PARAMETERS.PH,\n key: ENUM_ASSET_PARAMETERS.PH,\n },\n [ENUM_ASSET_PARAMETERS.SILICA]: {\n name: ENUM_ASSET_PARAMETERS.SILICA,\n key: ENUM_ASSET_PARAMETERS.SILICA,\n },\n [ENUM_ASSET_PARAMETERS.TOTAL_IRON]: {\n name: ENUM_ASSET_PARAMETERS.TOTAL_IRON,\n key: ENUM_ASSET_PARAMETERS.TOTAL_IRON,\n },\n [ENUM_ASSET_PARAMETERS.PHOSPHATE]: {\n name: ENUM_ASSET_PARAMETERS.PHOSPHATE,\n key: ENUM_ASSET_PARAMETERS.PHOSPHATE,\n },\n [ENUM_ASSET_PARAMETERS.M_AKALINITY]: {\n name: ENUM_ASSET_PARAMETERS.M_AKALINITY,\n key: ENUM_ASSET_PARAMETERS.M_AKALINITY,\n },\n // Boiler for view Flow\n [ENUM_ASSET_PARAMETERS.FLOW]: {\n name: ENUM_ASSET_PARAMETERS.FLOW,\n key: ENUM_ASSET_PARAMETERS.FLOW,\n },\n [ENUM_ASSET_PARAMETERS.FLOW_RATE]: {\n name: ENUM_ASSET_PARAMETERS.FLOW_RATE,\n key: ENUM_ASSET_PARAMETERS.FLOW_RATE,\n },\n};\n\nexport const DATA_WATER_SYSTEMS = {\n [WATER_SYSTEMS_NAME.EVAPORATION_LOSS]: {\n title: WATER_SYSTEMS_NAME.EVAPORATION_LOSS,\n color: AtoGojsEditorModel.ENUM_COLORS.FLAMINGO,\n borderTable: AtoGojsEditorModel.ENUM_COLORS.FLAMINGO,\n bgColor: AtoGojsEditorModel.ENUM_COLORS.SNOW,\n },\n [WATER_SYSTEMS_NAME.WARMER_WATER]: {\n title: WATER_SYSTEMS_NAME.WARMER_WATER,\n color: AtoGojsEditorModel.ENUM_COLORS.CARROT_ORANGE,\n borderTable: AtoGojsEditorModel.ENUM_COLORS.CARROT_ORANGE,\n bgColor: AtoGojsEditorModel.ENUM_COLORS.OLD_LACE,\n },\n [WATER_SYSTEMS_NAME.BLOWDOWN_WATER]: {\n title: WATER_SYSTEMS_NAME.BLOWDOWN_WATER,\n color: AtoGojsEditorModel.ENUM_COLORS.CARROT_ORANGE,\n borderTable: AtoGojsEditorModel.ENUM_COLORS.CARROT_ORANGE,\n bgColor: AtoGojsEditorModel.ENUM_COLORS.OLD_LACE,\n },\n\n [WATER_SYSTEMS_NAME.MAKEUP_WATER__FLOW]: {\n title: WATER_SYSTEMS_NAME.MAKEUP_WATER,\n color: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n borderTable: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n bgColor: AtoGojsEditorModel.ENUM_COLORS.CERULEAN_ALICE_BLUE,\n },\n [WATER_SYSTEMS_NAME.MAKEUP_WATER__CHEMISTRY]: {\n title: WATER_SYSTEMS_NAME.MAKEUP_WATER,\n color: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n borderTable: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n bgColor: AtoGojsEditorModel.ENUM_COLORS.CERULEAN_ALICE_BLUE,\n },\n\n [WATER_SYSTEMS_NAME.COOLING_TOWER_ANALYSIS]: {\n title: WATER_SYSTEMS_NAME.COOLING_TOWER_ANALYSIS,\n color: AtoGojsEditorModel.ENUM_COLORS.FOUNTAIN_BLUE,\n borderTable: AtoGojsEditorModel.ENUM_COLORS.FOUNTAIN_BLUE,\n bgColor: AtoGojsEditorModel.ENUM_COLORS.AZURE,\n },\n [WATER_SYSTEMS_NAME.COOLING_WATER_CHEMISTRY]: {\n title: WATER_SYSTEMS_NAME.COOLING_WATER_CHEMISTRY,\n color: AtoGojsEditorModel.ENUM_COLORS.FOUNTAIN_BLUE,\n borderTable: AtoGojsEditorModel.ENUM_COLORS.FOUNTAIN_BLUE,\n bgColor: AtoGojsEditorModel.ENUM_COLORS.AZURE,\n },\n [WATER_SYSTEMS_NAME.SYSTEM_KPIS]: {\n title: WATER_SYSTEMS_NAME.SYSTEM_KPIS,\n color: AtoGojsEditorModel.ENUM_COLORS.FOUNTAIN_BLUE,\n borderTable: AtoGojsEditorModel.ENUM_COLORS.FOUNTAIN_BLUE,\n bgColor: AtoGojsEditorModel.ENUM_COLORS.AZURE,\n },\n // For Boiler\n [WATER_SYSTEMS_NAME.MAKEUP_WATER]: {\n title: WATER_SYSTEMS_NAME.MAKEUP_WATER,\n color: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n borderTable: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n bgColor: AtoGojsEditorModel.ENUM_COLORS.CERULEAN_ALICE_BLUE,\n },\n [WATER_SYSTEMS_NAME.CONDENSATE_RETURN]: {\n title: WATER_SYSTEMS_NAME.CONDENSATE_RETURN,\n color: AtoGojsEditorModel.ENUM_COLORS.FOUNTAIN_BLUE,\n borderTable: AtoGojsEditorModel.ENUM_COLORS.FOUNTAIN_BLUE,\n bgColor: AtoGojsEditorModel.ENUM_COLORS.AZURE,\n },\n [WATER_SYSTEMS_NAME.STEAM]: {\n title: WATER_SYSTEMS_NAME.STEAM,\n color: AtoGojsEditorModel.ENUM_COLORS.FLAMINGO,\n borderTable: AtoGojsEditorModel.ENUM_COLORS.FLAMINGO,\n bgColor: AtoGojsEditorModel.ENUM_COLORS.SNOW,\n },\n [WATER_SYSTEMS_NAME.BOILER_FEED_WATER]: {\n title: WATER_SYSTEMS_NAME.BOILER_FEED_WATER,\n color: AtoGojsEditorModel.ENUM_COLORS.LIGHT_SKY_BLUE_2,\n borderTable: AtoGojsEditorModel.ENUM_COLORS.LIGHT_SKY_BLUE_2,\n bgColor: AtoGojsEditorModel.ENUM_COLORS.DANUBE_ALICE_BLUE,\n },\n [WATER_SYSTEMS_NAME.BOILER_WATER]: {\n title: WATER_SYSTEMS_NAME.BOILER_WATER,\n color: AtoGojsEditorModel.ENUM_COLORS.REGENT_ST_BLUE,\n borderTable: AtoGojsEditorModel.ENUM_COLORS.REGENT_ST_BLUE,\n bgColor: AtoGojsEditorModel.ENUM_COLORS.AZURE,\n },\n\n [WATER_SYSTEMS_NAME.STEAM_LOSS]: {\n title: WATER_SYSTEMS_NAME.STEAM_LOSS,\n color: AtoGojsEditorModel.ENUM_COLORS.FLAMINGO,\n borderTable: AtoGojsEditorModel.ENUM_COLORS.FLAMINGO,\n bgColor: AtoGojsEditorModel.ENUM_COLORS.SNOW,\n },\n [WATER_SYSTEMS_NAME.BLOWDOWN]: {\n title: WATER_SYSTEMS_NAME.BLOWDOWN,\n color: AtoGojsEditorModel.ENUM_COLORS.CARROT_ORANGE,\n borderTable: AtoGojsEditorModel.ENUM_COLORS.CARROT_ORANGE,\n bgColor: AtoGojsEditorModel.ENUM_COLORS.OLD_LACE,\n },\n};\n\nexport const ASSET_CATEGORY_PARAMS = {\n [WATER_SYSTEMS_NAME.EVAPORATION_LOSS]: [\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.EVAPORATION_LOSS_FLOW_RATE],\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.EVAPORATION_LOSS_FLOW],\n ],\n [WATER_SYSTEMS_NAME.WARMER_WATER]: [\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.WARMER_WATER_FLOW_RATE],\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.WARMER_WATER_FLOW],\n ],\n [WATER_SYSTEMS_NAME.MAKEUP_WATER__FLOW]: [\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.MAKEUP_WATER_FLOW_RATE],\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.MAKEUP_WATER_FLOW],\n ],\n [WATER_SYSTEMS_NAME.MAKEUP_WATER__CHEMISTRY]: [\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.MAKEUP_WATER_CONDUCTIVITY],\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.MAKEUP_WATER_PH],\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.MAKEUP_WATER_CALCIUM],\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.MAKEUP_WATER_TOTAL_IRON],\n ],\n [WATER_SYSTEMS_NAME.BLOWDOWN_WATER]: [\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.BLOWDOWN_WATER_FLOW_RATE],\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.BLOWDOWN_WATER_FLOW],\n ],\n [WATER_SYSTEMS_NAME.COOLING_TOWER_ANALYSIS]: [\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.ANALYSIS_CONDUCTIVITY],\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.ANALYSIS_PH],\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.ANALYSIS_CALCIUM],\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.ANALYSIS_TOTAL_IRON],\n ],\n [WATER_SYSTEMS_NAME.COOLING_WATER_CHEMISTRY]: [\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.CHEMISTRY_PHOSPHATE],\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.CHEMISTRY_CHLORINE],\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.CHEMISTRY_STP_RESIDUAL],\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.CHEMISTRY_CS_CORROSION],\n ],\n [WATER_SYSTEMS_NAME.SYSTEM_KPIS]: [\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.KPI_CYCLES],\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.KPI_ATP],\n ],\n};\n\n// For Boiler\nexport const ASSET_CATEGORY_PARAMS__BOILER: any = {\n // For View Chemistry\n [WATER_SYSTEMS_NAME.MAKEUP_WATER__CHEMISTRY]: [\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.SPECIFIC_CONDUCTIVITY],\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.PH],\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.SILICA],\n ],\n [WATER_SYSTEMS_NAME.CONDENSATE_RETURN__CHEMISTRY]: [\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.SPECIFIC_CONDUCTIVITY],\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.PH],\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.TOTAL_IRON],\n ],\n [WATER_SYSTEMS_NAME.STEAM__CHEMISTRY]: [\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.SPECIFIC_CONDUCTIVITY],\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.PH],\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.SILICA],\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.TOTAL_IRON],\n ],\n [WATER_SYSTEMS_NAME.BOILER_FEED_WATER__CHEMISTRY]: [\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.SPECIFIC_CONDUCTIVITY],\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.PH],\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.TOTAL_IRON],\n ],\n [WATER_SYSTEMS_NAME.BOILER_WATER]: [\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.SPECIFIC_CONDUCTIVITY],\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.PH],\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.PHOSPHATE],\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.SILICA],\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.M_AKALINITY],\n ],\n // For View Flow\n [WATER_SYSTEMS_NAME.MAKEUP_WATER__FLOW]: [\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.FLOW],\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.FLOW_RATE],\n ],\n [WATER_SYSTEMS_NAME.CONDENSATE_RETURN__FLOW]: [\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.FLOW],\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.FLOW_RATE],\n ],\n [WATER_SYSTEMS_NAME.STEAM__FLOW]: [\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.FLOW],\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.FLOW_RATE],\n ],\n [WATER_SYSTEMS_NAME.BOILER_FEED_WATER__FLOW]: [\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.FLOW],\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.FLOW_RATE],\n ],\n [WATER_SYSTEMS_NAME.STEAM_LOSS]: [\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.FLOW],\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.FLOW_RATE],\n ],\n [WATER_SYSTEMS_NAME.BLOWDOWN]: [\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.FLOW],\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.FLOW_RATE],\n ],\n};\n\n\n\nexport enum COMPONENTS_GROUP_TYPE {\n INFLOW = 'Inflow',\n LOSS = 'Loss',\n OUTFLOW = 'Outflow',\n RECIRCULATED = 'Recirculated',\n EMBODIED = 'Embodied',\n INFLOW_VALUE = 'InFlowValue',\n OUTFLOW_VALUE = 'OutFlowValue',\n LOSS_VALUE = 'LossValue',\n RECIRCULATED_VALUE = 'RecirculatedValue',\n}\n\nexport enum ATO_ASSET_LAYERS {\n FLOW = 'Flow',\n CHEMISTRY = 'Chemistry',\n ANALYTICS = 'Analytics'\n}\n\nexport const ATO_COMPONENTS_GROUP_DATA = {\n [AtoGojsEditorModel.ENUM_TYPES.STORAGE]: {\n nodeDataArray: [\n {\n key: 90,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Inflow',\n value: '0 kl',\n color: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n group: 100,\n loc: '0 130.5',\n },\n {\n key: 91,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Outflow',\n value: '0 kl',\n color: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n group: 100,\n loc: '300 130.5',\n },\n {\n key: 92,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Loss',\n value: 'M',\n color: AtoGojsEditorModel.ENUM_COLORS.BLUE,\n group: 100,\n colorValue: AtoGojsEditorModel.ENUM_COLORS.GRAY,\n loc: '152.5 0',\n },\n {\n key: 99,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.SPECIAL_STORE,\n group: 100,\n loc: '92.5 95',\n },\n { key: 100, type: AtoGojsEditorModel.ENUM_TEMPLATES.STORAGE, isGroup: true, name: 'Group' },\n ],\n linkDataArray: [\n { from: 90, to: 99, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n { from: 99, to: 91, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n { from: 99, to: 92, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n ],\n },\n [AtoGojsEditorModel.ENUM_TYPES.WATER_TREATMENT]: {\n nodeDataArray: [\n {\n key: 90,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Inflow',\n value: '0 kl',\n color: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n group: 100,\n loc: '0 134.5',\n },\n {\n key: 91,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Outflow',\n value: '0 kl',\n color: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n group: 100,\n loc: '333 170',\n },\n {\n key: 92,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Loss',\n value: 'M',\n color: AtoGojsEditorModel.ENUM_COLORS.BLUE,\n group: 100,\n colorValue: AtoGojsEditorModel.ENUM_COLORS.GRAY,\n loc: '160.5 297',\n },\n {\n key: 93,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Recirculated',\n value: 'M',\n color: AtoGojsEditorModel.ENUM_COLORS.VIVID_VIOLET,\n group: 100,\n colorValue: AtoGojsEditorModel.ENUM_COLORS.GRAY,\n loc: '266 32',\n },\n {\n key: 99,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.SPECIAL_PROCESS,\n group: 100,\n loc: '92.5 95',\n },\n { key: 100, type: AtoGojsEditorModel.ENUM_TEMPLATES.WATER_TREATMENT, isGroup: true, name: 'Group' },\n ],\n linkDataArray: [\n { from: 90, to: 99, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n { from: 99, to: 91, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n { from: 99, to: 92, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n { from: 99, to: 93, color: AtoGojsEditorModel.ENUM_COLORS.BLUE, fromPort: 'T', toPort: 'T' },\n { from: 93, to: 99, color: AtoGojsEditorModel.ENUM_COLORS.BLUE, fromPort: 'B', toPort: 'R' },\n ],\n },\n [AtoGojsEditorModel.ENUM_TYPES.DEMIN_WATER_TREATMENT]: {\n nodeDataArray: [\n {\n key: 90,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Inflow',\n value: '0 kl',\n color: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n group: 100,\n loc: '0 134.5',\n },\n {\n key: 91,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Outflow',\n value: '0 kl',\n color: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n group: 100,\n loc: '333 170',\n },\n {\n key: 92,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Loss',\n value: 'M',\n color: AtoGojsEditorModel.ENUM_COLORS.BLUE,\n group: 100,\n colorValue: AtoGojsEditorModel.ENUM_COLORS.GRAY,\n loc: '160.5 297',\n },\n {\n key: 93,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Recirculated',\n value: 'M',\n color: AtoGojsEditorModel.ENUM_COLORS.VIVID_VIOLET,\n group: 100,\n colorValue: AtoGojsEditorModel.ENUM_COLORS.GRAY,\n loc: '266 32',\n },\n {\n key: 99,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.SPECIAL_PROCESS,\n group: 100,\n loc: '125 110',\n },\n { key: 100, type: AtoGojsEditorModel.ENUM_TEMPLATES.WATER_TREATMENT, isGroup: true, name: 'Group' },\n ],\n linkDataArray: [\n { from: 90, to: 99, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n { from: 99, to: 91, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n { from: 99, to: 92, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n { from: 99, to: 93, color: AtoGojsEditorModel.ENUM_COLORS.BLUE, fromPort: 'T', toPort: 'L' },\n { from: 93, to: 99, color: AtoGojsEditorModel.ENUM_COLORS.BLUE, fromPort: 'B', toPort: 'R' },\n ],\n },\n [AtoGojsEditorModel.ENUM_TYPES.RO_WATER_TREATMENT]: {\n nodeDataArray: [\n {\n key: 93,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.MASS_BALANCE,\n group: 100,\n loc: '830 10',\n selectable: false,\n value: 'NA',\n font: 'bold 15px Arial',\n colorValue: '',\n tooltip: '',\n },\n {\n key: 94,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.PARAM_TABLE,\n group: 100,\n loc: '20 10',\n padding: new go.Margin(0, 0, 0, 20),\n ...AtoGojsEditorModel.PARAM_TABLE_STYLE[AtoGojsEditorModel.ENUM_COLORS.CERULEAN],\n minSizeValue: new go.Size(100, NaN),\n selectable: false,\n\n dataTable: [\n {\n key: '',\n name: ENUM_ASSET_PARAMETERS.FEED_FLOW_RATE,\n value: '',\n isEditable: true,\n },\n {\n key: '',\n name: ENUM_ASSET_PARAMETERS.FEED_CONDUCTIVITY,\n value: '',\n isEditable: true,\n },\n {\n key: '',\n name: ENUM_ASSET_PARAMETERS.FEED_TEMPERATURE,\n value: '',\n isEditable: true,\n },\n {\n key: '',\n name: ENUM_ASSET_PARAMETERS.PRIMARY_PRESSURE,\n value: '',\n isEditable: true,\n },\n ],\n },\n {\n key: 95,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.PARAM_TABLE,\n group: 100,\n loc: '420 40',\n ...AtoGojsEditorModel.PARAM_TABLE_STYLE[AtoGojsEditorModel.ENUM_COLORS.DANUBE],\n minSizeValue: new go.Size(100, NaN),\n selectable: false,\n dataTable: [\n {\n key: '',\n name: ENUM_ASSET_PARAMETERS.REJECTION_RATE_SALT_PASSAGE,\n value: '',\n isEditable: true,\n },\n {\n key: '',\n name: ENUM_ASSET_PARAMETERS.PRESSURE_DROP,\n value: '',\n isEditable: true,\n },\n {\n key: '',\n name: ENUM_ASSET_PARAMETERS.SYSTEM_RECOVERY_RATE,\n value: '',\n isEditable: true,\n },\n ],\n },\n {\n key: 96,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.PARAM_TABLE,\n group: 100,\n loc: '590 150',\n ...AtoGojsEditorModel.PARAM_TABLE_STYLE[AtoGojsEditorModel.ENUM_COLORS.FOUNTAIN_BLUE],\n minSizeValue: new go.Size(100, NaN),\n selectable: false,\n dataTable: [\n {\n key: '',\n name: ENUM_ASSET_PARAMETERS.PERMEATE_FLOW_RATE,\n value: '',\n isEditable: true,\n },\n {\n key: '',\n name: ENUM_ASSET_PARAMETERS.PERMEATE_CONDUCTIVITY,\n value: '',\n isEditable: true,\n },\n {\n key: '',\n name: ENUM_ASSET_PARAMETERS.PERMEATE_PRESSURE,\n value: '',\n isEditable: true,\n },\n ],\n },\n {\n key: 97,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.PARAM_TABLE,\n group: 100,\n loc: '30 370',\n ...AtoGojsEditorModel.PARAM_TABLE_STYLE[AtoGojsEditorModel.ENUM_COLORS.GALLIANO],\n minSizeValue: new go.Size(100, NaN),\n selectable: false,\n dataTable: [\n {\n key: '',\n name: ENUM_ASSET_PARAMETERS.CONCENTRATE_FLOW_RATE,\n value: '',\n isEditable: true,\n },\n {\n key: '',\n name: ENUM_ASSET_PARAMETERS.CONCENTRATE_PRESSURE,\n value: '',\n isEditable: true,\n },\n {\n key: '',\n name: ENUM_ASSET_PARAMETERS.CONCENTRATE_CONDUCTIVITY,\n value: '',\n isEditable: true,\n },\n ],\n },\n {\n key: 99,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.IMAGE_TEMPLATE,\n source: AtoGojsEditorModel.IMAGE_RO_WATER_TREATMENT_PATH,\n group: 100,\n loc: '0 0',\n margin: new go.Margin(130, 0, 0, 0),\n selectable: false,\n },\n {\n key: 100,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.RO_WATER_TREATMENT,\n isGroup: true,\n name: 'Grid',\n loc: '0 0',\n selectable: false,\n // isViewGeneral: true,\n },\n ],\n linkDataArray: [],\n },\n [AtoGojsEditorModel.ENUM_TYPES.PROCESS]: {\n nodeDataArray: [\n {\n key: 90,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Inflow',\n value: '0 kl',\n color: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n group: 100,\n loc: '0 134.5',\n },\n {\n key: 91,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Outflow',\n value: '0 kl',\n color: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n group: 100,\n loc: '333 190',\n },\n {\n key: 92,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Loss',\n value: 'M',\n color: AtoGojsEditorModel.ENUM_COLORS.BLUE,\n group: 100,\n colorValue: AtoGojsEditorModel.ENUM_COLORS.GRAY,\n loc: '104 -20',\n },\n {\n key: 93,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Recirculated',\n value: 'M',\n color: AtoGojsEditorModel.ENUM_COLORS.VIVID_VIOLET,\n group: 100,\n colorValue: AtoGojsEditorModel.ENUM_COLORS.GRAY,\n loc: '266 32',\n },\n {\n key: 94,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Embodied',\n value: 'M',\n color: AtoGojsEditorModel.ENUM_COLORS.FOUNTAIN_BLUE,\n group: 100,\n colorValue: AtoGojsEditorModel.ENUM_COLORS.GRAY,\n loc: '144.5 297',\n },\n {\n key: 99,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.SPECIAL_PROCESS,\n group: 100,\n loc: '90 80',\n },\n { key: 100, type: AtoGojsEditorModel.ENUM_TEMPLATES.PROCESS, isGroup: true, name: 'Group' },\n ],\n linkDataArray: [\n { from: 90, to: 99, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n { from: 99, to: 91, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n { from: 99, to: 92, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n { from: 99, to: 94, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n { from: 99, to: 93, color: AtoGojsEditorModel.ENUM_COLORS.BLUE, fromPort: 'T', toPort: 'L' },\n { from: 93, to: 99, color: AtoGojsEditorModel.ENUM_COLORS.BLUE, fromPort: 'B', toPort: 'R' },\n ],\n },\n [AtoGojsEditorModel.ENUM_TYPES.WASTEWATER_TREATMENT]: {\n nodeDataArray: [\n {\n key: 90,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Inflow',\n value: '0 kl',\n color: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n group: 100,\n loc: '0 134.5',\n },\n {\n key: 91,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Outflow',\n value: '126 kl',\n color: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n group: 100,\n loc: '333 170',\n },\n {\n key: 92,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Loss',\n value: 'M',\n color: AtoGojsEditorModel.ENUM_COLORS.BLUE,\n group: 100,\n colorValue: AtoGojsEditorModel.ENUM_COLORS.GRAY,\n loc: '160.5 297',\n },\n {\n key: 93,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Recirculated',\n value: 'M',\n color: AtoGojsEditorModel.ENUM_COLORS.VIVID_VIOLET,\n group: 100,\n colorValue: AtoGojsEditorModel.ENUM_COLORS.GRAY,\n loc: '266 32',\n },\n {\n key: 99,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.SPECIAL_PROCESS,\n group: 100,\n loc: '125 110',\n },\n { key: 100, type: AtoGojsEditorModel.ENUM_TEMPLATES.WASTEWATER_TREATMENT, isGroup: true, name: 'Group' },\n ],\n linkDataArray: [\n { from: 90, to: 99, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n { from: 99, to: 91, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n { from: 99, to: 92, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n { from: 99, to: 93, color: AtoGojsEditorModel.ENUM_COLORS.BLUE, fromPort: 'T', toPort: 'L' },\n { from: 93, to: 99, color: AtoGojsEditorModel.ENUM_COLORS.BLUE, fromPort: 'B', toPort: 'R' },\n ],\n },\n [AtoGojsEditorModel.ENUM_TYPES.DAF_WASTEWATER_TREATMENT]: {\n nodeDataArray: [\n {\n key: 90,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Inflow',\n value: '0 kl',\n color: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n group: 100,\n loc: '0 134.5',\n },\n {\n key: 91,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Outflow',\n value: '126 kl',\n color: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n group: 100,\n loc: '333 170',\n },\n {\n key: 92,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Loss',\n value: 'M',\n color: AtoGojsEditorModel.ENUM_COLORS.BLUE,\n group: 100,\n colorValue: AtoGojsEditorModel.ENUM_COLORS.GRAY,\n loc: '160.5 297',\n },\n {\n key: 93,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Recirculated',\n value: 'M',\n color: AtoGojsEditorModel.ENUM_COLORS.VIVID_VIOLET,\n group: 100,\n colorValue: AtoGojsEditorModel.ENUM_COLORS.GRAY,\n loc: '266 32',\n },\n {\n key: 99,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.SPECIAL_PROCESS,\n group: 100,\n loc: '125 110',\n },\n { key: 100, type: AtoGojsEditorModel.ENUM_TEMPLATES.WASTEWATER_TREATMENT, isGroup: true, name: 'Group' },\n ],\n linkDataArray: [\n { from: 90, to: 99, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n { from: 99, to: 91, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n { from: 99, to: 92, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n { from: 99, to: 93, color: AtoGojsEditorModel.ENUM_COLORS.BLUE, fromPort: 'T', toPort: 'L' },\n { from: 93, to: 99, color: AtoGojsEditorModel.ENUM_COLORS.BLUE, fromPort: 'B', toPort: 'R' },\n ],\n },\n [AtoGojsEditorModel.ENUM_TYPES.ETP_WASTEWATER_TREATMENT]: {\n nodeDataArray: [\n {\n key: 90,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Inflow',\n value: '0 kl',\n color: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n group: 100,\n loc: '0 134.5',\n },\n {\n key: 91,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Outflow',\n value: '126 kl',\n color: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n group: 100,\n loc: '333 170',\n },\n {\n key: 92,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Loss',\n value: 'M',\n color: AtoGojsEditorModel.ENUM_COLORS.BLUE,\n group: 100,\n colorValue: AtoGojsEditorModel.ENUM_COLORS.GRAY,\n loc: '160.5 297',\n },\n {\n key: 93,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Recirculated',\n value: 'M',\n color: AtoGojsEditorModel.ENUM_COLORS.VIVID_VIOLET,\n group: 100,\n colorValue: AtoGojsEditorModel.ENUM_COLORS.GRAY,\n loc: '266 32',\n },\n {\n key: 99,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.SPECIAL_PROCESS,\n group: 100,\n loc: '125 110',\n },\n { key: 100, type: AtoGojsEditorModel.ENUM_TEMPLATES.WASTEWATER_TREATMENT, isGroup: true, name: 'Group' },\n ],\n linkDataArray: [\n { from: 90, to: 99, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n { from: 99, to: 91, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n { from: 99, to: 92, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n { from: 99, to: 93, color: AtoGojsEditorModel.ENUM_COLORS.BLUE, fromPort: 'T', toPort: 'L' },\n { from: 93, to: 99, color: AtoGojsEditorModel.ENUM_COLORS.BLUE, fromPort: 'B', toPort: 'R' },\n ],\n },\n [AtoGojsEditorModel.ENUM_TYPES.MBR_WASTEWATER_TREATMENT]: {\n nodeDataArray: [\n {\n key: 90,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Inflow',\n value: '0 kl',\n color: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n group: 100,\n loc: '0 134.5',\n },\n {\n key: 91,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Outflow',\n value: '126 kl',\n color: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n group: 100,\n loc: '333 170',\n },\n {\n key: 92,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Loss',\n value: 'M',\n color: AtoGojsEditorModel.ENUM_COLORS.BLUE,\n group: 100,\n colorValue: AtoGojsEditorModel.ENUM_COLORS.GRAY,\n loc: '160.5 297',\n },\n {\n key: 93,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Recirculated',\n value: 'M',\n color: AtoGojsEditorModel.ENUM_COLORS.VIVID_VIOLET,\n group: 100,\n colorValue: AtoGojsEditorModel.ENUM_COLORS.GRAY,\n loc: '266 32',\n },\n {\n key: 99,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.SPECIAL_PROCESS,\n group: 100,\n loc: '125 110',\n },\n { key: 100, type: AtoGojsEditorModel.ENUM_TEMPLATES.WASTEWATER_TREATMENT, isGroup: true, name: 'Group' },\n ],\n linkDataArray: [\n { from: 90, to: 99, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n { from: 99, to: 91, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n { from: 99, to: 92, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n { from: 99, to: 93, color: AtoGojsEditorModel.ENUM_COLORS.BLUE, fromPort: 'T', toPort: 'L' },\n { from: 93, to: 99, color: AtoGojsEditorModel.ENUM_COLORS.BLUE, fromPort: 'B', toPort: 'R' },\n ],\n },\n [AtoGojsEditorModel.ENUM_TYPES.ZLD_WASTEWATER_TREATMENT]: {\n nodeDataArray: [\n {\n key: 90,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Inflow',\n value: '0 kl',\n color: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n group: 100,\n loc: '0 134.5',\n },\n {\n key: 91,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Outflow',\n value: '126 kl',\n color: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n group: 100,\n loc: '333 170',\n },\n {\n key: 92,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Loss',\n value: 'M',\n color: AtoGojsEditorModel.ENUM_COLORS.BLUE,\n group: 100,\n colorValue: AtoGojsEditorModel.ENUM_COLORS.GRAY,\n loc: '160.5 297',\n },\n {\n key: 93,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Recirculated',\n value: 'M',\n color: AtoGojsEditorModel.ENUM_COLORS.VIVID_VIOLET,\n group: 100,\n colorValue: AtoGojsEditorModel.ENUM_COLORS.GRAY,\n loc: '266 32',\n },\n {\n key: 99,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.SPECIAL_PROCESS,\n group: 100,\n loc: '125 110',\n },\n { key: 100, type: AtoGojsEditorModel.ENUM_TEMPLATES.WASTEWATER_TREATMENT, isGroup: true, name: 'Group' },\n ],\n linkDataArray: [\n { from: 90, to: 99, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n { from: 99, to: 91, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n { from: 99, to: 92, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n { from: 99, to: 93, color: AtoGojsEditorModel.ENUM_COLORS.BLUE, fromPort: 'T', toPort: 'L' },\n { from: 93, to: 99, color: AtoGojsEditorModel.ENUM_COLORS.BLUE, fromPort: 'B', toPort: 'R' },\n ],\n },\n [AtoGojsEditorModel.ENUM_TYPES.DOMESTIC_USE]: {\n nodeDataArray: [\n {\n key: 90,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Inflow',\n value: '0 kl',\n color: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n group: 100,\n loc: '-20 134.5',\n },\n {\n key: 91,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Outflow',\n value: '0 kl',\n color: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n group: 100,\n loc: '320 134.5',\n },\n {\n key: 92,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Loss',\n value: 'M',\n color: AtoGojsEditorModel.ENUM_COLORS.BLUE,\n group: 100,\n colorValue: AtoGojsEditorModel.ENUM_COLORS.GRAY,\n loc: '150.5 0',\n },\n {\n key: 99,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.SPECIAL_PROCESS,\n group: 100,\n loc: '82.5 95',\n },\n { key: 100, type: AtoGojsEditorModel.ENUM_TEMPLATES.DOMESTIC_USE, isGroup: true, name: 'Group' },\n ],\n linkDataArray: [\n { from: 90, to: 99, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n { from: 99, to: 91, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n { from: 99, to: 92, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n ],\n },\n [AtoGojsEditorModel.ENUM_TYPES.COOLING_TOWER]: {\n nodeDataArray: [\n {\n key: 86,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.EMPTY,\n group: 100,\n loc: '0 0',\n data: {\n quantity: 2222,\n unit: 'm³',\n },\n name: 'top-left-marker',\n color: '#a8438d',\n },\n {\n key: 87,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.EMPTY,\n group: 100,\n data: {\n quantity: 3333,\n unit: 'm³',\n },\n name: 'bottom-right-marker',\n color: '#a8438d',\n extendedData: {\n loc: '1000 700',\n },\n extendedDataResponsive: {\n loc: '700 300',\n }\n },\n {\n key: 88,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.PARAM_TABLE,\n group: 100,\n loc: '320 60',\n padding: new go.Margin(0, 0, 0, 0),\n ...DATA_WATER_SYSTEMS[WATER_SYSTEMS_NAME.EVAPORATION_LOSS],\n minSizeValue: new go.Size(100, NaN),\n selectable: false,\n dataTable: ASSET_CATEGORY_PARAMS[WATER_SYSTEMS_NAME.EVAPORATION_LOSS].map((e) => ({\n ...e,\n value: '',\n isEditable: true,\n maxSizeValue: 140,\n })),\n visible: true,\n assetLayers: ATO_ASSET_LAYERS.FLOW,\n extendedData: {\n visible: true,\n },\n extendedDataResponsive: {\n visible: false,\n }\n },\n {\n key: 89,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.PARAM_TABLE,\n group: 100,\n padding: new go.Margin(0, 0, 0, 0),\n loc: '30 350',\n ...DATA_WATER_SYSTEMS[WATER_SYSTEMS_NAME.MAKEUP_WATER__FLOW],\n minSizeValue: new go.Size(100, NaN),\n selectable: false,\n dataTable: ASSET_CATEGORY_PARAMS[WATER_SYSTEMS_NAME.MAKEUP_WATER__FLOW].map((e) => ({\n ...e,\n value: '',\n isEditable: true,\n maxSizeValue: 120,\n })),\n assetLayers: ATO_ASSET_LAYERS.FLOW,\n extendedData: {\n visible: true,\n },\n extendedDataResponsive: {\n visible: false,\n }\n },\n {\n key: 90,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.PARAM_TABLE,\n group: 100,\n padding: new go.Margin(0, 0, 0, 0),\n loc: '30 270',\n ...DATA_WATER_SYSTEMS[WATER_SYSTEMS_NAME.MAKEUP_WATER__CHEMISTRY],\n minSizeValue: new go.Size(100, NaN),\n selectable: false,\n dataTable: ASSET_CATEGORY_PARAMS[WATER_SYSTEMS_NAME.MAKEUP_WATER__CHEMISTRY].map((e) => ({\n ...e,\n value: '',\n isEditable: true,\n maxSizeValue: 120,\n })),\n assetLayers: ATO_ASSET_LAYERS.CHEMISTRY,\n extendedData: {\n visible: true,\n },\n extendedDataResponsive: {\n visible: false,\n }\n },\n {\n key: 91,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.PARAM_TABLE,\n group: 100,\n padding: new go.Margin(0, 0, 0, 0),\n loc: '570 250',\n ...DATA_WATER_SYSTEMS[WATER_SYSTEMS_NAME.WARMER_WATER],\n minSizeValue: new go.Size(100, NaN),\n selectable: false,\n dataTable: ASSET_CATEGORY_PARAMS[WATER_SYSTEMS_NAME.WARMER_WATER].map((e) => ({\n ...e,\n value: '',\n isEditable: true,\n maxSizeValue: 120,\n })),\n assetLayers: ATO_ASSET_LAYERS.FLOW,\n extendedData: {\n visible: true,\n },\n extendedDataResponsive: {\n visible: false,\n }\n },\n {\n key: 92,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.PARAM_TABLE,\n group: 100,\n padding: new go.Margin(0, 0, 0, 0),\n loc: '570 560',\n ...DATA_WATER_SYSTEMS[WATER_SYSTEMS_NAME.BLOWDOWN_WATER],\n minSizeValue: new go.Size(100, NaN),\n selectable: false,\n dataTable: ASSET_CATEGORY_PARAMS[WATER_SYSTEMS_NAME.BLOWDOWN_WATER].map((e) => ({\n ...e,\n value: '',\n isEditable: true,\n maxSizeValue: 120,\n })),\n assetLayers: ATO_ASSET_LAYERS.FLOW,\n extendedData: {\n visible: true,\n },\n extendedDataResponsive: {\n visible: false,\n }\n },\n {\n key: 93,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.PARAM_TABLE,\n group: 100,\n padding: new go.Margin(0, 0, 0, 0),\n loc: '450 20',\n ...DATA_WATER_SYSTEMS[WATER_SYSTEMS_NAME.COOLING_TOWER_ANALYSIS],\n minSizeValue: new go.Size(100, NaN),\n selectable: false,\n dataTable: ASSET_CATEGORY_PARAMS[WATER_SYSTEMS_NAME.COOLING_TOWER_ANALYSIS].map((e) => ({\n ...e,\n value: '',\n isEditable: true,\n maxSizeValue: 130,\n })),\n assetLayers: ATO_ASSET_LAYERS.CHEMISTRY,\n extendedData: {\n visible: true,\n },\n extendedDataResponsive: {\n visible: false,\n }\n },\n {\n key: 94,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.PARAM_TABLE,\n group: 100,\n padding: new go.Margin(0, 0, 0, 0),\n loc: '730 20',\n ...DATA_WATER_SYSTEMS[WATER_SYSTEMS_NAME.COOLING_WATER_CHEMISTRY],\n minSizeValue: new go.Size(100, NaN),\n selectable: false,\n dataTable: ASSET_CATEGORY_PARAMS[WATER_SYSTEMS_NAME.COOLING_WATER_CHEMISTRY].map((e) => ({\n ...e,\n value: '',\n isEditable: true,\n maxSizeValue: 130,\n })),\n assetLayers: ATO_ASSET_LAYERS.CHEMISTRY,\n extendedData: {\n visible: true,\n },\n extendedDataResponsive: {\n visible: false,\n }\n },\n {\n key: 95,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.PARAM_TABLE,\n group: 100,\n padding: new go.Margin(0, 0, 0, 0),\n loc: '30 20',\n ...DATA_WATER_SYSTEMS[WATER_SYSTEMS_NAME.SYSTEM_KPIS],\n minSizeValue: new go.Size(100, NaN),\n selectable: false,\n dataTable: ASSET_CATEGORY_PARAMS[WATER_SYSTEMS_NAME.SYSTEM_KPIS].map((e) => ({\n ...e,\n value: '',\n isEditable: true,\n maxSizeValue: 130,\n })),\n assetLayers: ATO_ASSET_LAYERS.CHEMISTRY,\n extendedData: {\n visible: true,\n },\n extendedDataResponsive: {\n visible: false,\n }\n },\n {\n key: 96,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.IMAGE_TEMPLATE,\n source: AtoGojsEditorModel.IMAGE_COOLING_TOWER_PATH,\n group: 100,\n loc: '0 0',\n selectable: false,\n extendedData: {\n margin: new go.Margin(195, 20, 0, 0),\n },\n extendedDataResponsive: {\n margin: new go.Margin(20, 20, 0, 0),\n }\n },\n {\n key: 97,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.TEXT_LABEL,\n group: 100,\n loc: '250 25',\n name: 'Evaporation Loss',\n color: AtoGojsEditorModel.ENUM_COLORS.FLAMINGO,\n extendedData: {\n visible: false,\n },\n extendedDataResponsive: {\n visible: true,\n }\n },\n {\n key: 98,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.TEXT_LABEL,\n group: 100,\n loc: '110 290',\n name: 'Makeup Water',\n color: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n extendedData: {\n visible: false,\n },\n extendedDataResponsive: {\n visible: true,\n }\n },\n {\n key: 99,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.TEXT_LABEL,\n group: 100,\n loc: '580 435',\n name: 'Blowdown Water',\n color: AtoGojsEditorModel.ENUM_COLORS.CARROT_ORANGE,\n extendedData: {\n visible: false,\n },\n extendedDataResponsive: {\n visible: true,\n }\n },\n { key: 100, type: AtoGojsEditorModel.ENUM_TEMPLATES.COOLING_TOWER, isGroup: true, name: 'Group' },\n ],\n linkDataArray: [],\n },\n [AtoGojsEditorModel.ENUM_TYPES.BOILER]: {\n nodeDataArray: [\n {\n type: AtoGojsEditorModel.ENUM_TEMPLATES.EMPTY,\n group: 100,\n loc: '0 0',\n data: {\n quantity: 2222,\n unit: 'm³',\n },\n name: 'top-left-marker',\n color: '#a8438d',\n },\n {\n type: AtoGojsEditorModel.ENUM_TEMPLATES.EMPTY,\n group: 100,\n data: {\n quantity: 3333,\n unit: 'm³',\n },\n name: 'bottom-right-marker',\n color: '#a8438d',\n extendedData: {\n loc: '1220 660',\n },\n extendedDataResponsive: {\n loc: '700 300',\n }\n },\n // For view Chemistry\n {\n type: AtoGojsEditorModel.ENUM_TEMPLATES.PARAM_TABLE,\n group: 100,\n loc: '13 280',\n padding: new go.Margin(0, 0, 0, 0),\n ...DATA_WATER_SYSTEMS[WATER_SYSTEMS_NAME.MAKEUP_WATER],\n minSizeValue: new go.Size(100, NaN),\n selectable: false,\n dataTable: ASSET_CATEGORY_PARAMS__BOILER[WATER_SYSTEMS_NAME.MAKEUP_WATER__CHEMISTRY].map((e) => ({\n ...e,\n value: '',\n isEditable: true,\n maxSizeValue: 140,\n waterSystem: WATER_SYSTEMS_NAME.MAKEUP_WATER\n })),\n assetLayers: ATO_ASSET_LAYERS.CHEMISTRY,\n extendedData: {\n visible: true,\n },\n extendedDataResponsive: {\n visible: false,\n }\n },\n {\n type: AtoGojsEditorModel.ENUM_TEMPLATES.PARAM_TABLE,\n group: 100,\n loc: '190 20',\n padding: new go.Margin(0, 0, 0, 0),\n ...DATA_WATER_SYSTEMS[WATER_SYSTEMS_NAME.CONDENSATE_RETURN],\n minSizeValue: new go.Size(100, NaN),\n selectable: false,\n dataTable: ASSET_CATEGORY_PARAMS__BOILER[WATER_SYSTEMS_NAME.CONDENSATE_RETURN__CHEMISTRY].map((e) => ({\n ...e,\n value: '',\n isEditable: true,\n maxSizeValue: 140,\n waterSystem: WATER_SYSTEMS_NAME.CONDENSATE_RETURN\n })),\n assetLayers: ATO_ASSET_LAYERS.CHEMISTRY,\n extendedData: {\n visible: true,\n },\n extendedDataResponsive: {\n visible: false,\n }\n },\n {\n type: AtoGojsEditorModel.ENUM_TEMPLATES.PARAM_TABLE,\n group: 100,\n loc: '840 70',\n padding: new go.Margin(0, 0, 0, 0),\n ...DATA_WATER_SYSTEMS[WATER_SYSTEMS_NAME.STEAM],\n minSizeValue: new go.Size(100, NaN),\n selectable: false,\n dataTable: ASSET_CATEGORY_PARAMS__BOILER[WATER_SYSTEMS_NAME.STEAM__CHEMISTRY].map((e) => ({\n ...e,\n value: '',\n isEditable: true,\n maxSizeValue: 140,\n waterSystem: WATER_SYSTEMS_NAME.STEAM\n })),\n assetLayers: ATO_ASSET_LAYERS.CHEMISTRY,\n extendedData: {\n visible: true,\n },\n extendedDataResponsive: {\n visible: false,\n }\n },\n {\n type: AtoGojsEditorModel.ENUM_TEMPLATES.PARAM_TABLE,\n group: 100,\n loc: '400 510',\n padding: new go.Margin(0, 0, 0, 0),\n ...DATA_WATER_SYSTEMS[WATER_SYSTEMS_NAME.BOILER_FEED_WATER],\n minSizeValue: new go.Size(100, NaN),\n selectable: false,\n dataTable: ASSET_CATEGORY_PARAMS__BOILER[WATER_SYSTEMS_NAME.BOILER_FEED_WATER__CHEMISTRY].map((e) => ({\n ...e,\n value: '',\n isEditable: true,\n maxSizeValue: 140,\n waterSystem: WATER_SYSTEMS_NAME.BOILER_FEED_WATER\n })),\n assetLayers: ATO_ASSET_LAYERS.CHEMISTRY,\n extendedData: {\n visible: true,\n },\n extendedDataResponsive: {\n visible: false,\n }\n },\n {\n type: AtoGojsEditorModel.ENUM_TEMPLATES.PARAM_TABLE,\n group: 100,\n loc: '920 270',\n padding: new go.Margin(0, 0, 0, 0),\n ...DATA_WATER_SYSTEMS[WATER_SYSTEMS_NAME.BOILER_WATER],\n minSizeValue: new go.Size(100, NaN),\n selectable: false,\n dataTable: ASSET_CATEGORY_PARAMS__BOILER[WATER_SYSTEMS_NAME.BOILER_WATER].map((e) => ({\n ...e,\n value: '',\n isEditable: true,\n maxSizeValue: 140,\n waterSystem: WATER_SYSTEMS_NAME.BOILER_WATER\n })),\n assetLayers: ATO_ASSET_LAYERS.CHEMISTRY,\n extendedData: {\n visible: true,\n },\n extendedDataResponsive: {\n visible: false,\n }\n },\n {\n type: AtoGojsEditorModel.ENUM_TEMPLATES.IMAGE_TEMPLATE,\n source: AtoGojsEditorModel.IMAGE_BOILER_PATH,\n group: 100,\n loc: '0 0',\n selectable: false,\n extendedData: {\n margin: new go.Margin(140, 160, 0, 0),\n },\n extendedDataResponsive: {\n margin: new go.Margin(20, 20, 0, 0),\n }\n },\n {\n type: AtoGojsEditorModel.ENUM_TEMPLATES.TEXT_LABEL,\n group: 100,\n loc: '80 280',\n name: WATER_SYSTEMS_NAME.MAKEUP_WATER,\n color: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n assetLayers: ATO_ASSET_LAYERS.CHEMISTRY,\n extendedData: {\n visible: false,\n },\n extendedDataResponsive: {\n visible: true,\n }\n },\n {\n type: AtoGojsEditorModel.ENUM_TEMPLATES.TEXT_LABEL,\n group: 100,\n loc: '300 17',\n name: WATER_SYSTEMS_NAME.CONDENSATE_RETURN,\n color: AtoGojsEditorModel.ENUM_COLORS.FOUNTAIN_BLUE,\n assetLayers: ATO_ASSET_LAYERS.CHEMISTRY,\n extendedData: {\n visible: false,\n },\n extendedDataResponsive: {\n visible: true,\n }\n },\n {\n type: AtoGojsEditorModel.ENUM_TEMPLATES.TEXT_LABEL,\n group: 100,\n loc: '760 17',\n name: WATER_SYSTEMS_NAME.STEAM,\n color: AtoGojsEditorModel.ENUM_COLORS.FLAMINGO,\n assetLayers: ATO_ASSET_LAYERS.CHEMISTRY,\n extendedData: {\n visible: false,\n },\n extendedDataResponsive: {\n visible: true,\n }\n },\n {\n type: AtoGojsEditorModel.ENUM_TEMPLATES.TEXT_LABEL,\n group: 100,\n loc: '460 400',\n name: WATER_SYSTEMS_NAME.BOILER_FEED_WATER,\n color: AtoGojsEditorModel.ENUM_COLORS.LIGHT_SKY_BLUE_2,\n assetLayers: ATO_ASSET_LAYERS.CHEMISTRY,\n extendedData: {\n visible: false,\n },\n extendedDataResponsive: {\n visible: true,\n }\n },\n {\n type: AtoGojsEditorModel.ENUM_TEMPLATES.TEXT_LABEL,\n group: 100,\n loc: '920 160',\n name: WATER_SYSTEMS_NAME.BOILER_WATER,\n color: AtoGojsEditorModel.ENUM_COLORS.REGENT_ST_BLUE,\n assetLayers: ATO_ASSET_LAYERS.CHEMISTRY,\n extendedData: {\n visible: false,\n },\n extendedDataResponsive: {\n visible: true,\n }\n },\n // For view Flow\n {\n type: AtoGojsEditorModel.ENUM_TEMPLATES.PARAM_TABLE,\n group: 100,\n loc: '15 310',\n padding: new go.Margin(0, 0, 0, 0),\n ...DATA_WATER_SYSTEMS[WATER_SYSTEMS_NAME.MAKEUP_WATER],\n minSizeValue: new go.Size(100, NaN),\n selectable: false,\n dataTable: ASSET_CATEGORY_PARAMS__BOILER[WATER_SYSTEMS_NAME.MAKEUP_WATER__FLOW].map((e) => ({\n ...e,\n value: '',\n isEditable: true,\n maxSizeValue: 140,\n waterSystem: WATER_SYSTEMS_NAME.MAKEUP_WATER\n })),\n assetLayers: ATO_ASSET_LAYERS.FLOW,\n extendedData: {\n visible: true,\n },\n extendedDataResponsive: {\n visible: false,\n }\n },\n {\n type: AtoGojsEditorModel.ENUM_TEMPLATES.PARAM_TABLE,\n group: 100,\n loc: '190 50',\n padding: new go.Margin(0, 0, 0, 0),\n ...DATA_WATER_SYSTEMS[WATER_SYSTEMS_NAME.CONDENSATE_RETURN],\n minSizeValue: new go.Size(100, NaN),\n selectable: false,\n dataTable: ASSET_CATEGORY_PARAMS__BOILER[WATER_SYSTEMS_NAME.CONDENSATE_RETURN__FLOW].map((e) => ({\n ...e,\n value: '',\n isEditable: true,\n maxSizeValue: 140,\n waterSystem: WATER_SYSTEMS_NAME.CONDENSATE_RETURN\n })),\n assetLayers: ATO_ASSET_LAYERS.FLOW,\n extendedData: {\n visible: true,\n },\n extendedDataResponsive: {\n visible: false,\n }\n },\n {\n type: AtoGojsEditorModel.ENUM_TEMPLATES.PARAM_TABLE,\n group: 100,\n loc: '830 70',\n padding: new go.Margin(0, 0, 0, 0),\n ...DATA_WATER_SYSTEMS[WATER_SYSTEMS_NAME.STEAM],\n minSizeValue: new go.Size(100, NaN),\n selectable: false,\n dataTable: ASSET_CATEGORY_PARAMS__BOILER[WATER_SYSTEMS_NAME.STEAM__FLOW].map((e) => ({\n ...e,\n value: '',\n isEditable: true,\n maxSizeValue: 140,\n waterSystem: WATER_SYSTEMS_NAME.STEAM\n })),\n assetLayers: ATO_ASSET_LAYERS.FLOW,\n extendedData: {\n visible: true,\n },\n extendedDataResponsive: {\n visible: false,\n }\n },\n {\n type: AtoGojsEditorModel.ENUM_TEMPLATES.PARAM_TABLE,\n group: 100,\n loc: '400 510',\n padding: new go.Margin(0, 0, 0, 0),\n ...DATA_WATER_SYSTEMS[WATER_SYSTEMS_NAME.BOILER_FEED_WATER],\n minSizeValue: new go.Size(100, NaN),\n selectable: false,\n dataTable: ASSET_CATEGORY_PARAMS__BOILER[WATER_SYSTEMS_NAME.BOILER_FEED_WATER__FLOW].map((e) => ({\n ...e,\n value: '',\n isEditable: true,\n maxSizeValue: 140,\n waterSystem: WATER_SYSTEMS_NAME.BOILER_FEED_WATER\n })),\n assetLayers: ATO_ASSET_LAYERS.FLOW,\n extendedData: {\n visible: true,\n },\n extendedDataResponsive: {\n visible: false,\n }\n },\n {\n type: AtoGojsEditorModel.ENUM_TEMPLATES.PARAM_TABLE,\n group: 100,\n loc: '330 240',\n padding: new go.Margin(0, 0, 0, 0),\n ...DATA_WATER_SYSTEMS[WATER_SYSTEMS_NAME.STEAM_LOSS],\n minSizeValue: new go.Size(100, NaN),\n selectable: false,\n dataTable: ASSET_CATEGORY_PARAMS__BOILER[WATER_SYSTEMS_NAME.STEAM_LOSS].map((e) => ({\n ...e,\n value: '',\n isEditable: true,\n maxSizeValue: 140,\n waterSystem: WATER_SYSTEMS_NAME.STEAM_LOSS\n })),\n assetLayers: ATO_ASSET_LAYERS.FLOW,\n extendedData: {\n visible: true,\n },\n extendedDataResponsive: {\n visible: false,\n }\n },\n {\n type: AtoGojsEditorModel.ENUM_TEMPLATES.PARAM_TABLE,\n group: 100,\n loc: '900 425',\n padding: new go.Margin(0, 0, 0, 0),\n ...DATA_WATER_SYSTEMS[WATER_SYSTEMS_NAME.BLOWDOWN],\n minSizeValue: new go.Size(100, NaN),\n selectable: false,\n dataTable: ASSET_CATEGORY_PARAMS__BOILER[WATER_SYSTEMS_NAME.BLOWDOWN].map((e) => ({\n ...e,\n value: '',\n isEditable: true,\n maxSizeValue: 140,\n waterSystem: WATER_SYSTEMS_NAME.BLOWDOWN\n })),\n assetLayers: ATO_ASSET_LAYERS.FLOW,\n extendedData: {\n visible: true,\n },\n extendedDataResponsive: {\n visible: false,\n }\n },\n\n {\n type: AtoGojsEditorModel.ENUM_TEMPLATES.TEXT_LABEL,\n group: 100,\n loc: '80 280',\n name: WATER_SYSTEMS_NAME.MAKEUP_WATER,\n color: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n assetLayers: ATO_ASSET_LAYERS.FLOW,\n extendedData: {\n visible: false,\n },\n extendedDataResponsive: {\n visible: true,\n }\n },\n {\n type: AtoGojsEditorModel.ENUM_TEMPLATES.TEXT_LABEL,\n group: 100,\n loc: '300 17',\n name: WATER_SYSTEMS_NAME.CONDENSATE_RETURN,\n color: AtoGojsEditorModel.ENUM_COLORS.FOUNTAIN_BLUE,\n assetLayers: ATO_ASSET_LAYERS.FLOW,\n extendedData: {\n visible: false,\n },\n extendedDataResponsive: {\n visible: true,\n }\n },\n {\n type: AtoGojsEditorModel.ENUM_TEMPLATES.TEXT_LABEL,\n group: 100,\n loc: '760 17',\n name: WATER_SYSTEMS_NAME.STEAM,\n color: AtoGojsEditorModel.ENUM_COLORS.FLAMINGO,\n assetLayers: ATO_ASSET_LAYERS.FLOW,\n extendedData: {\n visible: false,\n },\n extendedDataResponsive: {\n visible: true,\n }\n },\n {\n type: AtoGojsEditorModel.ENUM_TEMPLATES.TEXT_LABEL,\n group: 100,\n loc: '460 400',\n name: WATER_SYSTEMS_NAME.BOILER_FEED_WATER,\n color: AtoGojsEditorModel.ENUM_COLORS.LIGHT_SKY_BLUE_2,\n assetLayers: ATO_ASSET_LAYERS.FLOW,\n extendedData: {\n visible: false,\n },\n extendedDataResponsive: {\n visible: true,\n }\n },\n {\n type: AtoGojsEditorModel.ENUM_TEMPLATES.TEXT_LABEL,\n group: 100,\n loc: '325 190',\n name: WATER_SYSTEMS_NAME.STEAM_LOSS,\n color: AtoGojsEditorModel.ENUM_COLORS.FLAMINGO,\n assetLayers: ATO_ASSET_LAYERS.FLOW,\n extendedData: {\n visible: false,\n },\n extendedDataResponsive: {\n visible: true,\n }\n },\n\n { key: 100, type: AtoGojsEditorModel.ENUM_TEMPLATES.BOILER, isGroup: true, name: 'Group' },\n ],\n linkDataArray: [],\n },\n [AtoGojsEditorModel.ENUM_TYPES.OTHER]: {\n nodeDataArray: [\n {\n key: 90,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Inflow',\n value: '0 kl',\n color: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n group: 100,\n loc: '0 140.5',\n },\n {\n key: 91,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Outflow',\n value: '0 kl',\n color: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n group: 100,\n loc: '300 134.5',\n },\n {\n key: 92,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Loss',\n value: 'M',\n color: AtoGojsEditorModel.ENUM_COLORS.BLUE,\n group: 100,\n colorValue: AtoGojsEditorModel.ENUM_COLORS.GRAY,\n loc: '160.5 0',\n },\n {\n key: 99,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.SPECIAL_OTHER,\n group: 100,\n loc: '92.5 95',\n },\n { key: 100, type: AtoGojsEditorModel.ENUM_TEMPLATES.OTHER, isGroup: true, name: 'Group' },\n ],\n linkDataArray: [\n { from: 90, to: 99, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n { from: 99, to: 91, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n { from: 99, to: 92, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n ],\n },\n [AtoGojsEditorModel.ENUM_TYPES.LANDSCAPING_IRRIGATION]: {\n nodeDataArray: [\n {\n key: 90,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Inflow',\n value: '0 kl',\n color: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n group: 100,\n loc: '0 140.5',\n },\n {\n key: 91,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Loss',\n value: 'M',\n color: AtoGojsEditorModel.ENUM_COLORS.BLUE,\n group: 100,\n colorValue: AtoGojsEditorModel.ENUM_COLORS.GRAY,\n loc: '300 140.5',\n },\n {\n key: 99,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.SPECIAL_DISCHARGE,\n group: 100,\n loc: '92.5 95',\n },\n { key: 100, type: AtoGojsEditorModel.ENUM_TEMPLATES.LANDSCAPING_IRRIGATION, isGroup: true, name: 'Group' },\n ],\n linkDataArray: [\n { from: 90, to: 99, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n { from: 99, to: 91, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n ],\n },\n};\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\n\n@Component({\n selector: 'ato-asset-params-view',\n templateUrl: './asset-params-view.component.html',\n styleUrls: ['./asset-params-view.component.scss']\n})\nexport class AtoAssetParamsViewComponent {\n @Input() isEditView = false;\n @Input() data: any[] = [];\n @Output() clickParamTableRow = new EventEmitter();\n\n onClickRowParam(itemTable) {\n this.clickParamTableRow.emit(itemTable);\n }\n}\n","<div class=\"d-flex flex-column flex-gap-2\">\n <div class=\"\" *ngFor=\"let tableParam of data\">\n <ng-template\n [ngTemplateOutlet]=\"tableParamTemplate\"\n [ngTemplateOutletContext]=\"{\n data: tableParam\n }\"\n ></ng-template>\n </div>\n</div>\n\n<ng-template #tableParamTemplate let-data=\"data\">\n <div\n class=\"d-flex flex-column asset-param-item w-100\"\n [style.backgroundColor]=\"data?.color\"\n >\n <div\n class=\"d-flex align-items-center justify-content-between py-1 pl-1 pr-2 cursor-pointer\"\n (click)=\"data.isCollapsed = !data.isCollapsed\"\n >\n <div class=\"font-size-14px flex-grow-1 text-truncate color-white\">\n {{ data?.title }}\n </div>\n <svg\n *ngIf=\"data.isCollapsed\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 320 512\"\n fill=\"#FFFF\"\n class=\"fa-solid font-size-14px color-white svg-15px\"\n >\n <path\n d=\"M278.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-160 160c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L210.7 256 73.4 118.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l160 160z\"\n />\n </svg>\n <svg\n *ngIf=\"!data.isCollapsed\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 448 512\"\n fill=\"#FFFF\"\n class=\"fa-solid font-size-14px color-white svg-15px\"\n >\n <path\n d=\"M201.4 374.6c12.5 12.5 32.8 12.5 45.3 0l160-160c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L224 306.7 86.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l160 160z\"\n />\n </svg>\n </div>\n <div class=\"px-1 pb-1\" *ngIf=\"!data.isCollapsed\">\n <div\n class=\"table-asset-param-wrapper\"\n [style.backgroundColor]=\"data?.bgColor\"\n >\n <table>\n <tbody>\n <tr\n *ngFor=\"let itemTable of data?.dataTable\"\n (click)=\"onClickRowParam(itemTable)\"\n class=\"cursor-pointer\"\n >\n <td\n class=\"font-size-13px\"\n [style.borderColor]=\"data?.borderTable\"\n >\n {{ itemTable?.name }}\n </td>\n <td\n class=\"font-size-13px\"\n [style.borderColor]=\"data?.borderTable\"\n >\n <div class=\"d-flex align-items-center\">\n <div\n class=\"mr-auto font-size-13px text-truncate flex-grow-1\"\n [style.color]=\"itemTable?.color\"\n >\n {{ itemTable?.value }}\n </div>\n <svg *ngIf=\"isEditView\" class=\"svg-15px\" fill=\"#333333\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><path d=\"M441 58.9L453.1 71c9.4 9.4 9.4 24.6 0 33.9L424 134.1 377.9 88 407 58.9c9.4-9.4 24.6-9.4 33.9 0zM209.8 256.2L344 121.9 390.1 168 255.8 302.2c-2.9 2.9-6.5 5-10.4 6.1l-58.5 16.7 16.7-58.5c1.1-3.9 3.2-7.5 6.1-10.4zM373.1 25L175.8 222.2c-8.7 8.7-15 19.4-18.3 31.1l-28.6 100c-2.4 8.4-.1 17.4 6.1 23.6s15.2 8.5 23.6 6.1l100-28.6c11.8-3.4 22.5-9.7 31.1-18.3L487 138.9c28.1-28.1 28.1-73.7 0-101.8L474.9 25C446.8-3.1 401.2-3.1 373.1 25zM88 64C39.4 64 0 103.4 0 152V424c0 48.6 39.4 88 88 88H360c48.6 0 88-39.4 88-88V312c0-13.3-10.7-24-24-24s-24 10.7-24 24V424c0 22.1-17.9 40-40 40H88c-22.1 0-40-17.9-40-40V152c0-22.1 17.9-40 40-40H200c13.3 0 24-10.7 24-24s-10.7-24-24-24H88z\"/></svg>\n </div>\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n </div>\n </div>\n</ng-template>\n","import {\n Component,\n EventEmitter,\n HostListener,\n Input,\n OnInit,\n Output,\n ViewChild,\n} from '@angular/core';\nimport * as go from 'gojs';\nimport _ from 'lodash';\nimport { AtoGoJSBase64 } from '../../constants/base64.const';\nimport {\n ATO_ASSET_LAYERS,\n ATO_COMPONENTS_GROUP_DATA,\n} from '../../constants/components-group-const';\nimport { AtoDefaultFlowData } from '../../models/ato-asset-flow.model';\nimport { AtoGoJSData } from '../../models/gojs-data.model';\nimport { AtoGojsEditorModel } from '../../models/gojs-editor.model';\nimport { AtoAssetParamsViewComponent } from '../asset-params-view/asset-params-view.component';\nimport { AtoFlowDiagramLibComponent } from '../flow-diagram-lib/flow-diagram-lib.component';\n\n@Component({\n selector: 'ato-asset-flow',\n templateUrl: './asset-flow.component.html',\n styleUrls: ['./asset-flow.component.scss'],\n})\nexport class AssetFlowComponent implements OnInit {\n @Input() assetLayer: ATO_ASSET_LAYERS;\n @ViewChild(AtoFlowDiagramLibComponent)\n gjFlowDiagramTemp: AtoFlowDiagramLibComponent;\n @ViewChild(AtoAssetParamsViewComponent)\n assetParamsViewTemp: AtoAssetParamsViewComponent;\n @Input() selectedComponent: any;\n @Input() systemType: AtoGojsEditorModel.ENUM_TYPES;\n @Output() onClickParamOfTableEvent: EventEmitter<any> =\n new EventEmitter<any>();\n @Input() isUseBase64 = false;\n $ = go.GraphObject.make;\n options = {\n layout: this.$(go.LayeredDigraphLayout, {\n // direction: 0,\n }),\n // isReadOnly: true,\n };\n\n private _flowData: any;\n @Input() set flowData(v: AtoGoJSData) {\n this._flowData = v;\n this.updateDataTableAssetParams({ ...v, assetLayer: this.assetLayer });\n }\n get flowData(): AtoGoJSData {\n return this._flowData;\n }\n\n // Reponsive\n dataTableAssetParams: any[];\n // @Input() isResponsiveView = false;\n get isResponsiveView() {\n return window.innerWidth < 1024;\n }\n @Input() getFlowDataCallBack: Function;\n\n timeoutResizeWindow;\n @HostListener('window:resize', ['$event'])\n onResize(event: Event): void {\n // Now only Support Cooling Tower Responsive\n if (this.timeoutResizeWindow) {\n clearTimeout(this.timeoutResizeWindow);\n }\n this.timeoutResizeWindow = setTimeout(() => {\n this.updateLocationReponsive();\n }, 1000);\n }\n\n updateLocationReponsive() {\n if (!this.flowData?.nodeDataArray) {\n this.flowData = AssetFlowComponent.getDefaultFlowData({\n systemType: this.systemType,\n isUseBase64: this.isUseBase64,\n assetLayer: this.assetLayer,\n });\n }\n _.forEach(this.flowData?.nodeDataArray, (node: any) => {\n node = _.merge(\n node,\n node[`extendedData${this.isResponsiveView ? 'Responsive' : ''}`]\n );\n });\n this.setFlowData(_.cloneDeep(this.flowData));\n }\n\n ngOnInit() {\n this.updateLocationReponsive();\n }\n onClickParamOfTable($event: any) {\n this.onClickParamOfTableEvent.emit($event);\n }\n\n static getDefaultFlowData(defaultData: AtoDefaultFlowData) {\n const flowData = {\n ...defaultData,\n ..._.cloneDeep(ATO_COMPONENTS_GROUP_DATA)[defaultData?.systemType],\n linkFromPortIdProperty: 'fromPort',\n linkToPortIdProperty: 'toPort',\n };\n const isResponsiveView = window.innerWidth < 1024;\n // Reponsive\n _.forEach(flowData?.nodeDataArray, (node: any) => {\n node = _.merge(\n node,\n node[`extendedData${isResponsiveView ? 'Responsive' : ''}`]\n );\n if (node?.assetLayers) {\n node.visible =\n node?.assetLayers === defaultData?.assetLayer &&\n node[`extendedData${isResponsiveView ? 'Responsive' : ''}`]?.visible;\n }\n });\n // assetLayer\n // flowData.nodeDataArray = _.filter(flowData.nodeDataArray, x => !x?.assetLayers || (x?.assetLayers && x?.assetLayers === (defaultData?.assetLayer ?? ATO_ASSET_LAYERS.FLOW)))\n if (defaultData?.isUseBase64) {\n const itemImageTemp = (flowData as AtoGoJSData)?.nodeDataArray?.find(\n (x) => x?.type === 'Image Template'\n );\n if (itemImageTemp) {\n itemImageTemp.source = AtoGoJSBase64[defaultData?.systemType];\n }\n }\n return flowData;\n }\n\n setFlowData(data: AtoGoJSData) {\n _.forEach(data.nodeDataArray, (node) => {\n node = _.merge(\n node,\n node[`extendedData${this.isResponsiveView ? 'Responsive' : ''}`],\n );\n if (node?.assetLayers) {\n node.visible =\n node?.assetLayers === data.assetLayer &&\n node[`extendedData${this.isResponsiveView ? 'Responsive' : ''}`]\n ?.visible;\n }\n });\n this.flowData = {\n ...data,\n };\n this.updateDataTableAssetParams(data);\n }\n\n updateDataTableAssetParams(data: AtoGoJSData) {\n this.dataTableAssetParams = _.forEach(\n this.flowData?.nodeDataArray?.filter(\n (e) =>\n e?.type === AtoGojsEditorModel.ENUM_TEMPLATES.PARAM_TABLE &&\n (data?.assetLayer ? (e?.assetLayers === data?.assetLayer) : true)\n ),\n (x) => {\n if (!data?.isRefresh) {\n x.isCollapsed = this.assetParamsViewTemp?.data?.find(\n (y) => y?.key === x?.key\n )?.isCollapsed;\n }\n }\n );\n }\n}\n","<div class=\"h-100 d-flex flex-column flex-gap-3 flex-grow-1 overflow-auto px-3 pb-3\">\n <div class=\"h-100 d-flex flex-column\" atoLoading [appLoading]=\"flowData === null\">\n <ato-flow-diagram-lib\n *ngIf=\"flowData !== null\"\n #gjFlowDiagramTemp\n [data]=\"flowData\"\n [initialOptions]=\"options\"\n (onClikParamOfTable)=\"onClickParamOfTable($event)\"\n [class]=\"!!isResponsiveView ? 'diagram-responsive-view' : 'flex-grow-1'\"\n ></ato-flow-diagram-lib>\n <div class=\"mt-2\" *ngIf=\"isResponsiveView\">\n <ato-asset-params-view\n #assetParamsViewTemp\n [data]=\"dataTableAssetParams\"\n [isEditView]=\"true\"\n (clickParamTableRow)=\"onClickParamOfTable($event)\"\n ></ato-asset-params-view>\n </div>\n </div>\n</div>\n\n","import { Directive, Input, TemplateRef, ViewContainerRef } from '@angular/core';\n\n@Directive({\n selector: '[ngAtoVar]',\n})\nexport class AtoNgVarDirective {\n @Input()\n set ngAtoVar(context: unknown) {\n this.context.$implicit = this.context.ngAtoVar = context;\n\n if (!this.hasView) {\n this.vcRef.createEmbeddedView(this.templateRef, this.context);\n this.hasView = true;\n }\n }\n\n private context: {\n $implicit: unknown;\n ngAtoVar: unknown;\n } = {\n $implicit: null,\n ngAtoVar: null,\n };\n\n private hasView: boolean = false;\n\n constructor(private templateRef: TemplateRef<any>, private vcRef: ViewContainerRef) {}\n}","import { NgModule } from '@angular/core';\nimport { AtoWaterLibComponent } from './ato-water-lib.component';\nimport { AtoFlowDiagramLibComponent } from './components/flow-diagram-lib/flow-diagram-lib.component';\nimport { AssetFlowComponent } from './components/asset-flow/asset-flow.component';\nimport { CommonModule } from '@angular/common';\nimport { AtoLoadingDirective } from './directive/ato-loading.directive';\nimport { AtoAssetParamsViewComponent } from './components/asset-params-view/asset-params-view.component';\nimport { AtoNgVarDirective } from './directive/ng-var.directive';\n\n@NgModule({\n declarations: [\n AtoWaterLibComponent,\n AtoFlowDiagramLibComponent,\n AssetFlowComponent,\n AtoLoadingDirective,\n AtoAssetParamsViewComponent,\n AtoNgVarDirective,\n ],\n imports: [\n CommonModule,\n ],\n exports: [\n AtoWaterLibComponent,\n AtoFlowDiagramLibComponent,\n AssetFlowComponent,\n AtoLoadingDirective,\n AtoAssetParamsViewComponent,\n AtoNgVarDirective,\n ]\n})\nexport class AtoWaterLibModule { }\n","/*\n * Public API Surface of ato-water-lib\n */\n\nexport * from './lib/ato-water-lib.service';\nexport * from './lib/ato-water-lib.component';\nexport * from './lib/ato-water-lib.module';\n// Component\nexport * from './lib/components/flow-diagram-lib/flow-diagram-lib.component';\nexport * from './lib/components/asset-flow/asset-flow.component';\nexport * from './lib/components/asset-params-view/asset-params-view.component';\n// Directive\nexport * from './lib/directive/ato-loading.directive';\nexport * from './lib/directive/ng-var.directive';\n// Enum\nexport * from './lib/constants/components-group-const';\n// Model\nexport * from './lib/models/gojs-editor.model';\n\n\n\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["uuidV4","i2.AtoLoadingDirective","i2.AtoFlowDiagramLibComponent","i3.AtoLoadingDirective","i4.AtoAssetParamsViewComponent"],"mappings":"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CA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AA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A,CAAA,IAAA,CAAA,GAAA,IAAS,CAAA;;AAET,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAA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gB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAA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"}
|