matterbridge 3.0.3-dev-20250520-e6e7257 → 3.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (162) hide show
  1. package/dist/cli.d.ts +29 -0
  2. package/dist/cli.d.ts.map +1 -0
  3. package/dist/cli.js +37 -2
  4. package/dist/cli.js.map +1 -0
  5. package/dist/cluster/export.d.ts +2 -0
  6. package/dist/cluster/export.d.ts.map +1 -0
  7. package/dist/cluster/export.js +2 -0
  8. package/dist/cluster/export.js.map +1 -0
  9. package/dist/defaultConfigSchema.d.ts +27 -0
  10. package/dist/defaultConfigSchema.d.ts.map +1 -0
  11. package/dist/defaultConfigSchema.js +23 -0
  12. package/dist/defaultConfigSchema.js.map +1 -0
  13. package/dist/deviceManager.d.ts +114 -0
  14. package/dist/deviceManager.d.ts.map +1 -0
  15. package/dist/deviceManager.js +94 -1
  16. package/dist/deviceManager.js.map +1 -0
  17. package/dist/frontend.d.ts +241 -0
  18. package/dist/frontend.d.ts.map +1 -0
  19. package/dist/frontend.js +333 -15
  20. package/dist/frontend.js.map +1 -0
  21. package/dist/helpers.d.ts +47 -0
  22. package/dist/helpers.d.ts.map +1 -0
  23. package/dist/helpers.js +50 -0
  24. package/dist/helpers.js.map +1 -0
  25. package/dist/index.d.ts +35 -0
  26. package/dist/index.d.ts.map +1 -0
  27. package/dist/index.js +27 -1
  28. package/dist/index.js.map +1 -0
  29. package/dist/logger/export.d.ts +2 -0
  30. package/dist/logger/export.d.ts.map +1 -0
  31. package/dist/logger/export.js +1 -0
  32. package/dist/logger/export.js.map +1 -0
  33. package/dist/matter/behaviors.d.ts +2 -0
  34. package/dist/matter/behaviors.d.ts.map +1 -0
  35. package/dist/matter/behaviors.js +2 -0
  36. package/dist/matter/behaviors.js.map +1 -0
  37. package/dist/matter/clusters.d.ts +2 -0
  38. package/dist/matter/clusters.d.ts.map +1 -0
  39. package/dist/matter/clusters.js +2 -0
  40. package/dist/matter/clusters.js.map +1 -0
  41. package/dist/matter/devices.d.ts +2 -0
  42. package/dist/matter/devices.d.ts.map +1 -0
  43. package/dist/matter/devices.js +2 -0
  44. package/dist/matter/devices.js.map +1 -0
  45. package/dist/matter/endpoints.d.ts +2 -0
  46. package/dist/matter/endpoints.d.ts.map +1 -0
  47. package/dist/matter/endpoints.js +2 -0
  48. package/dist/matter/endpoints.js.map +1 -0
  49. package/dist/matter/export.d.ts +5 -0
  50. package/dist/matter/export.d.ts.map +1 -0
  51. package/dist/matter/export.js +2 -0
  52. package/dist/matter/export.js.map +1 -0
  53. package/dist/matter/types.d.ts +3 -0
  54. package/dist/matter/types.d.ts.map +1 -0
  55. package/dist/matter/types.js +2 -0
  56. package/dist/matter/types.js.map +1 -0
  57. package/dist/matterbridge.d.ts +445 -0
  58. package/dist/matterbridge.d.ts.map +1 -0
  59. package/dist/matterbridge.js +747 -47
  60. package/dist/matterbridge.js.map +1 -0
  61. package/dist/matterbridgeAccessoryPlatform.d.ts +40 -0
  62. package/dist/matterbridgeAccessoryPlatform.d.ts.map +1 -0
  63. package/dist/matterbridgeAccessoryPlatform.js +34 -0
  64. package/dist/matterbridgeAccessoryPlatform.js.map +1 -0
  65. package/dist/matterbridgeBehaviors.d.ts +1201 -0
  66. package/dist/matterbridgeBehaviors.d.ts.map +1 -0
  67. package/dist/matterbridgeBehaviors.js +60 -4
  68. package/dist/matterbridgeBehaviors.js.map +1 -0
  69. package/dist/matterbridgeDeviceTypes.d.ts +629 -0
  70. package/dist/matterbridgeDeviceTypes.d.ts.map +1 -0
  71. package/dist/matterbridgeDeviceTypes.js +563 -15
  72. package/dist/matterbridgeDeviceTypes.js.map +1 -0
  73. package/dist/matterbridgeDynamicPlatform.d.ts +40 -0
  74. package/dist/matterbridgeDynamicPlatform.d.ts.map +1 -0
  75. package/dist/matterbridgeDynamicPlatform.js +34 -0
  76. package/dist/matterbridgeDynamicPlatform.js.map +1 -0
  77. package/dist/matterbridgeEndpoint.d.ts +967 -0
  78. package/dist/matterbridgeEndpoint.d.ts.map +1 -0
  79. package/dist/matterbridgeEndpoint.js +807 -11
  80. package/dist/matterbridgeEndpoint.js.map +1 -0
  81. package/dist/matterbridgeEndpointHelpers.d.ts +2728 -0
  82. package/dist/matterbridgeEndpointHelpers.d.ts.map +1 -0
  83. package/dist/matterbridgeEndpointHelpers.js +149 -10
  84. package/dist/matterbridgeEndpointHelpers.js.map +1 -0
  85. package/dist/matterbridgePlatform.d.ts +294 -0
  86. package/dist/matterbridgePlatform.d.ts.map +1 -0
  87. package/dist/matterbridgePlatform.js +225 -7
  88. package/dist/matterbridgePlatform.js.map +1 -0
  89. package/dist/matterbridgeTypes.d.ts +188 -0
  90. package/dist/matterbridgeTypes.d.ts.map +1 -0
  91. package/dist/matterbridgeTypes.js +24 -0
  92. package/dist/matterbridgeTypes.js.map +1 -0
  93. package/dist/pluginManager.d.ts +273 -0
  94. package/dist/pluginManager.d.ts.map +1 -0
  95. package/dist/pluginManager.js +264 -3
  96. package/dist/pluginManager.js.map +1 -0
  97. package/dist/roboticVacuumCleaner.d.ts +82 -0
  98. package/dist/roboticVacuumCleaner.d.ts.map +1 -0
  99. package/dist/roboticVacuumCleaner.js +78 -3
  100. package/dist/roboticVacuumCleaner.js.map +1 -0
  101. package/dist/shelly.d.ts +153 -0
  102. package/dist/shelly.d.ts.map +1 -0
  103. package/dist/shelly.js +155 -7
  104. package/dist/shelly.js.map +1 -0
  105. package/dist/storage/export.d.ts +2 -0
  106. package/dist/storage/export.d.ts.map +1 -0
  107. package/dist/storage/export.js +1 -0
  108. package/dist/storage/export.js.map +1 -0
  109. package/dist/update.d.ts +58 -0
  110. package/dist/update.d.ts.map +1 -0
  111. package/dist/update.js +53 -0
  112. package/dist/update.js.map +1 -0
  113. package/dist/utils/colorUtils.d.ts +61 -0
  114. package/dist/utils/colorUtils.d.ts.map +1 -0
  115. package/dist/utils/colorUtils.js +205 -2
  116. package/dist/utils/colorUtils.js.map +1 -0
  117. package/dist/utils/commandLine.d.ts +58 -0
  118. package/dist/utils/commandLine.d.ts.map +1 -0
  119. package/dist/utils/commandLine.js +53 -0
  120. package/dist/utils/commandLine.js.map +1 -0
  121. package/dist/utils/copyDirectory.d.ts +32 -0
  122. package/dist/utils/copyDirectory.d.ts.map +1 -0
  123. package/dist/utils/copyDirectory.js +37 -1
  124. package/dist/utils/copyDirectory.js.map +1 -0
  125. package/dist/utils/createZip.d.ts +38 -0
  126. package/dist/utils/createZip.d.ts.map +1 -0
  127. package/dist/utils/createZip.js +42 -2
  128. package/dist/utils/createZip.js.map +1 -0
  129. package/dist/utils/deepCopy.d.ts +31 -0
  130. package/dist/utils/deepCopy.d.ts.map +1 -0
  131. package/dist/utils/deepCopy.js +38 -0
  132. package/dist/utils/deepCopy.js.map +1 -0
  133. package/dist/utils/deepEqual.d.ts +53 -0
  134. package/dist/utils/deepEqual.d.ts.map +1 -0
  135. package/dist/utils/deepEqual.js +71 -1
  136. package/dist/utils/deepEqual.js.map +1 -0
  137. package/dist/utils/export.d.ts +11 -0
  138. package/dist/utils/export.d.ts.map +1 -0
  139. package/dist/utils/export.js +1 -0
  140. package/dist/utils/export.js.map +1 -0
  141. package/dist/utils/hex.d.ts +48 -0
  142. package/dist/utils/hex.d.ts.map +1 -0
  143. package/dist/utils/hex.js +57 -0
  144. package/dist/utils/hex.js.map +1 -0
  145. package/dist/utils/isvalid.d.ts +102 -0
  146. package/dist/utils/isvalid.d.ts.map +1 -0
  147. package/dist/utils/isvalid.js +100 -0
  148. package/dist/utils/isvalid.js.map +1 -0
  149. package/dist/utils/network.d.ts +69 -0
  150. package/dist/utils/network.d.ts.map +1 -0
  151. package/dist/utils/network.js +76 -5
  152. package/dist/utils/network.js.map +1 -0
  153. package/dist/utils/wait.d.ts +52 -0
  154. package/dist/utils/wait.d.ts.map +1 -0
  155. package/dist/utils/wait.js +58 -9
  156. package/dist/utils/wait.js.map +1 -0
  157. package/dist/waterHeater.d.ts +75 -0
  158. package/dist/waterHeater.d.ts.map +1 -0
  159. package/dist/waterHeater.js +52 -0
  160. package/dist/waterHeater.js.map +1 -0
  161. package/npm-shrinkwrap.json +2 -2
  162. package/package.json +2 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"matterbridgeEndpointHelpers.d.ts","sourceRoot":"","sources":["../src/matterbridgeEndpointHelpers.ts"],"names":[],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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"}
@@ -1,5 +1,8 @@
1
+ // src\matterbridgeEndpointHelpers.ts
2
+ // @matter
1
3
  import { Lifecycle } from '@matter/main';
2
4
  import { getClusterNameById } from '@matter/main/types';
5
+ // @matter clusters
3
6
  import { PowerSource } from '@matter/main/clusters/power-source';
4
7
  import { UserLabel } from '@matter/main/clusters/user-label';
5
8
  import { FixedLabel } from '@matter/main/clusters/fixed-label';
@@ -42,6 +45,7 @@ import { Pm10ConcentrationMeasurement } from '@matter/main/clusters/pm10-concent
42
45
  import { RadonConcentrationMeasurement } from '@matter/main/clusters/radon-concentration-measurement';
43
46
  import { TotalVolatileOrganicCompoundsConcentrationMeasurement } from '@matter/main/clusters/total-volatile-organic-compounds-concentration-measurement';
44
47
  import { OperationalState } from '@matter/main/clusters/operational-state';
48
+ // @matter behaviors
45
49
  import { PowerSourceServer } from '@matter/main/behaviors/power-source';
46
50
  import { UserLabelServer } from '@matter/main/behaviors/user-label';
47
51
  import { FixedLabelServer } from '@matter/main/behaviors/fixed-label';
@@ -71,8 +75,10 @@ import { Pm25ConcentrationMeasurementServer } from '@matter/main/behaviors/pm25-
71
75
  import { Pm10ConcentrationMeasurementServer } from '@matter/main/behaviors/pm10-concentration-measurement';
72
76
  import { RadonConcentrationMeasurementServer } from '@matter/main/behaviors/radon-concentration-measurement';
73
77
  import { TotalVolatileOrganicCompoundsConcentrationMeasurementServer } from '@matter/main/behaviors/total-volatile-organic-compounds-concentration-measurement';
78
+ // Other modules
74
79
  import { createHash } from 'node:crypto';
75
80
  import { BLUE, CYAN, db, debugStringify, er, hk, or, YELLOW, zb } from 'node-ansi-logger';
81
+ // Matterbridge
76
82
  import { deepCopy, deepEqual, isValidArray } from './utils/export.js';
77
83
  import { MatterbridgeIdentifyServer, MatterbridgeOnOffServer, MatterbridgeLevelControlServer, MatterbridgeColorControlServer, MatterbridgeWindowCoveringServer, MatterbridgeThermostatServer, MatterbridgeFanControlServer, MatterbridgeDoorLockServer, MatterbridgeModeSelectServer, MatterbridgeValveConfigurationAndControlServer, MatterbridgeSmokeCoAlarmServer, MatterbridgeBooleanStateConfigurationServer, MatterbridgeOperationalStateServer, } from './matterbridgeBehaviors.js';
78
84
  export function capitalizeFirstLetter(name) {
@@ -87,19 +93,19 @@ export function lowercaseFirstLetter(name) {
87
93
  }
88
94
  export function checkNotLatinCharacters(deviceName) {
89
95
  const nonLatinRegexList = [
90
- /[\u0400-\u04FF\u0500-\u052F]/,
91
- /[\u2E80-\u9FFF]/,
92
- /[\uAC00-\uD7AF]/,
93
- /[\u0600-\u06FF\u0750-\u077F]/,
94
- /[\u0590-\u05FF]/,
95
- /[\u0900-\u097F]/,
96
- /[\u0E00-\u0E7F]/,
97
- /[\u1200-\u137F]/,
96
+ /[\u0400-\u04FF\u0500-\u052F]/, // Cyrillic
97
+ /[\u2E80-\u9FFF]/, // CJK (Chinese, Japanese, Korean)
98
+ /[\uAC00-\uD7AF]/, // Korean Hangul
99
+ /[\u0600-\u06FF\u0750-\u077F]/, // Arabic, Persian
100
+ /[\u0590-\u05FF]/, // Hebrew
101
+ /[\u0900-\u097F]/, // Devanagari (Hindi, Sanskrit)
102
+ /[\u0E00-\u0E7F]/, // Thai
103
+ /[\u1200-\u137F]/, // Ethiopic (Amharic, Tigrinya)
98
104
  ];
99
105
  return nonLatinRegexList.some((regex) => regex.test(deviceName));
100
106
  }
101
107
  export function generateUniqueId(deviceName) {
102
- return createHash('md5').update(deviceName).digest('hex');
108
+ return createHash('md5').update(deviceName).digest('hex'); // MD5 hash of the device name
103
109
  }
104
110
  export function createUniqueId(param1, param2, param3, param4) {
105
111
  const hash = createHash('md5');
@@ -107,6 +113,7 @@ export function createUniqueId(param1, param2, param3, param4) {
107
113
  return hash.digest('hex');
108
114
  }
109
115
  export function getBehaviourTypesFromClusterServerIds(clusterServerList) {
116
+ // Map Server ClusterId to Behavior.Type
110
117
  const behaviorTypes = [];
111
118
  clusterServerList.forEach((clusterId) => {
112
119
  behaviorTypes.push(getBehaviourTypeFromClusterServerId(clusterId));
@@ -114,12 +121,15 @@ export function getBehaviourTypesFromClusterServerIds(clusterServerList) {
114
121
  return behaviorTypes;
115
122
  }
116
123
  export function getBehaviourTypesFromClusterClientIds(clusterClientList) {
124
+ // Map Client ClusterId to Behavior.Type
117
125
  const behaviorTypes = [];
118
126
  clusterClientList.forEach((_clusterId) => {
127
+ // behaviorTypes.push(getBehaviourTypeFromClusterClientId(clusterId));
119
128
  });
120
129
  return behaviorTypes;
121
130
  }
122
131
  export function getBehaviourTypeFromClusterServerId(clusterId) {
132
+ // Map ClusterId to Server Behavior.Type
123
133
  if (clusterId === PowerSource.Cluster.id)
124
134
  return PowerSourceServer.with(PowerSource.Feature.Wired);
125
135
  if (clusterId === UserLabel.Cluster.id)
@@ -207,6 +217,8 @@ export function getBehaviourTypeFromClusterServerId(clusterId) {
207
217
  return MatterbridgeIdentifyServer;
208
218
  }
209
219
  export function getBehaviourTypeFromClusterClientId(_clusterId) {
220
+ // Map ClusterId to Client Behavior.Type
221
+ // return IdentifyClient;
210
222
  }
211
223
  export function getBehavior(endpoint, cluster) {
212
224
  let behavior;
@@ -231,6 +243,7 @@ export async function invokeBehaviorCommand(endpoint, cluster, command, params)
231
243
  return false;
232
244
  }
233
245
  await endpoint.act((agent) => {
246
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-function-type
234
247
  const behavior = agent[behaviorId];
235
248
  if (!(command in behavior) || typeof behavior[command] !== 'function') {
236
249
  endpoint.log?.error(`invokeBehaviorCommand error: command ${hk}${command}${er} not found on agent for endpoint ${or}${endpoint.maybeId}${er}:${or}${endpoint.maybeNumber}${er}`);
@@ -268,6 +281,13 @@ export function addOptionalClusterServers(endpoint) {
268
281
  });
269
282
  addClusterServers(endpoint, optionalServerList);
270
283
  }
284
+ /**
285
+ * Adds cluster servers to the specified endpoint based on the provided server list.
286
+ *
287
+ * @param {MatterbridgeEndpoint} endpoint - The endpoint to add the cluster servers to.
288
+ * @param {ClusterId[]} serverList - The list of cluster IDs to add.
289
+ * @returns void
290
+ */
271
291
  export function addClusterServers(endpoint, serverList) {
272
292
  if (serverList.includes(PowerSource.Cluster.id))
273
293
  endpoint.createDefaultPowerSourceWiredClusterServer();
@@ -343,7 +363,16 @@ export function addClusterServers(endpoint, serverList) {
343
363
  endpoint.createDefaultRadonConcentrationMeasurementClusterServer();
344
364
  if (serverList.includes(TotalVolatileOrganicCompoundsConcentrationMeasurement.Cluster.id))
345
365
  endpoint.createDefaultTvocMeasurementClusterServer();
366
+ // if (serverList.includes(DeviceEnergyManagement.Cluster.id)) endpoint.createDefaultDeviceEnergyManagementClusterServer();
367
+ // if (serverList.includes(DeviceEnergyManagementMode.Cluster.id)) endpoint.createDefaultDeviceEnergyManagementModeClusterServer();
346
368
  }
369
+ /**
370
+ * Adds a fixed label to the FixedLabel cluster. The FixedLabel cluster is created if it does not exist.
371
+ *
372
+ * @param {MatterbridgeEndpoint} endpoint - The endpoint to add the cluster servers to.
373
+ * @param {string} label - The label to add.
374
+ * @param {string} value - The value of the label.
375
+ */
347
376
  export async function addFixedLabel(endpoint, label, value) {
348
377
  if (!endpoint.hasClusterServer(FixedLabel.Cluster.id)) {
349
378
  endpoint.log.debug(`addFixedLabel: add cluster ${hk}FixedLabel${db}:${hk}fixedLabel${db} with label ${CYAN}${label}${db} value ${CYAN}${value}${db}`);
@@ -360,6 +389,13 @@ export async function addFixedLabel(endpoint, label, value) {
360
389
  await endpoint.setAttribute(FixedLabel.Cluster.id, 'labelList', labelList, endpoint.log);
361
390
  }
362
391
  }
392
+ /**
393
+ * Adds a user label to the UserLabel cluster. The UserLabel cluster is created if it does not exist.
394
+ *
395
+ * @param {MatterbridgeEndpoint} endpoint - The endpoint to add the cluster servers to.
396
+ * @param {string} label - The label to add.
397
+ * @param {string} value - The value of the label.
398
+ */
363
399
  export async function addUserLabel(endpoint, label, value) {
364
400
  if (!endpoint.hasClusterServer(UserLabel.Cluster.id)) {
365
401
  endpoint.log.debug(`addUserLabel: add cluster ${hk}UserLabel${db}:${hk}userLabel${db} with label ${CYAN}${label}${db} value ${CYAN}${value}${db}`);
@@ -437,6 +473,16 @@ export function getAttributeId(endpoint, cluster, attribute) {
437
473
  return endpoint.behaviors.supported[lowercaseFirstLetter(cluster)]?.schema?.children?.find((child) => child.name === capitalizeFirstLetter(attribute))?.id;
438
474
  }
439
475
  }
476
+ /**
477
+ * Retrieves the value of the provided attribute from the given cluster.
478
+ *
479
+ * @param {MatterbridgeEndpoint} endpoint - The endpoint to retrieve the attribute from.
480
+ * @param {Behavior.Type | ClusterType | ClusterId | string} cluster - The cluster to retrieve the attribute from.
481
+ * @param {string} attribute - The name of the attribute to retrieve.
482
+ * @param {AnsiLogger} [log] - (Optional) The logger to use for logging the retrieve. Errors are logged to the endpoint logger.
483
+ * @returns {any} The value of the attribute, or undefined if the attribute is not found.
484
+ */
485
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
440
486
  export function getAttribute(endpoint, cluster, attribute, log) {
441
487
  const clusterName = getBehavior(endpoint, cluster)?.id;
442
488
  if (!clusterName) {
@@ -459,6 +505,16 @@ export function getAttribute(endpoint, cluster, attribute, log) {
459
505
  log?.info(`${db}Get endpoint ${or}${endpoint.id}${db}:${or}${endpoint.number}${db} attribute ${hk}${capitalizeFirstLetter(clusterName)}${db}.${hk}${attribute}${db} value ${YELLOW}${value !== null && typeof value === 'object' ? debugStringify(value) : value}${db}`);
460
506
  return value;
461
507
  }
508
+ /**
509
+ * Sets the value of an attribute on a cluster server.
510
+ *
511
+ * @param {MatterbridgeEndpoint} endpoint - The endpoint to set the attribute on.
512
+ * @param {Behavior.Type | ClusterType | ClusterId | string} cluster - The cluster to set the attribute on.
513
+ * @param {string} attribute - The name of the attribute.
514
+ * @param {boolean | number | bigint | string | object | null} value - The value to set for the attribute.
515
+ * @param {AnsiLogger} [log] - (Optional) The logger to use for logging the set. Errors are logged to the endpoint logger.
516
+ * @returns {Promise<boolean>} - A promise that resolves to a boolean indicating whether the attribute was successfully set.
517
+ */
462
518
  export async function setAttribute(endpoint, cluster, attribute, value, log) {
463
519
  const clusterName = getBehavior(endpoint, cluster)?.id;
464
520
  if (!clusterName) {
@@ -484,6 +540,16 @@ export async function setAttribute(endpoint, cluster, attribute, value, log) {
484
540
  `to ${YELLOW}${value !== null && typeof value === 'object' ? debugStringify(value) : value}${db}`);
485
541
  return true;
486
542
  }
543
+ /**
544
+ * Sets the value of an attribute on a cluster server.
545
+ *
546
+ * @param {MatterbridgeEndpoint} endpoint - The endpoint to update the attribute on.
547
+ * @param {Behavior.Type | ClusterType | ClusterId | string} cluster - The cluster to update the attribute on.
548
+ * @param {string} attribute - The name of the attribute.
549
+ * @param {boolean | number | bigint | string | object | null} value - The value to set for the attribute.
550
+ * @param {AnsiLogger} [log] - (Optional) The logger to use for logging the update. Errors are logged to the endpoint logger.
551
+ * @returns {Promise<boolean>} - A promise that resolves to a boolean indicating whether the attribute was successfully set.
552
+ */
487
553
  export async function updateAttribute(endpoint, cluster, attribute, value, log) {
488
554
  const clusterName = getBehavior(endpoint, cluster)?.id;
489
555
  if (!clusterName) {
@@ -514,7 +580,19 @@ export async function updateAttribute(endpoint, cluster, attribute, value, log)
514
580
  `to ${YELLOW}${value !== null && typeof value === 'object' ? debugStringify(value) : value}${db}`);
515
581
  return true;
516
582
  }
517
- export async function subscribeAttribute(endpoint, cluster, attribute, listener, log) {
583
+ /**
584
+ * Subscribes to the provided attribute on a cluster.
585
+ *
586
+ * @param {MatterbridgeEndpoint} endpoint - The endpoint to subscribe the attribute to.
587
+ * @param {Behavior.Type | ClusterType | ClusterId | string} cluster - The cluster to subscribe the attribute to.
588
+ * @param {string} attribute - The name of the attribute to subscribe to.
589
+ * @param {(newValue: any, oldValue: any, context?: any) => void} listener - A callback function that will be called when the attribute value changes.
590
+ * @param {AnsiLogger} [log] - Optional logger for logging errors and information.
591
+ * @returns {boolean} - A boolean indicating whether the subscription was successful.
592
+ */
593
+ export async function subscribeAttribute(endpoint, cluster, attribute,
594
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
595
+ listener, log) {
518
596
  const clusterName = getBehavior(endpoint, cluster)?.id;
519
597
  if (!clusterName) {
520
598
  endpoint.log.error(`subscribeAttribute ${hk}${attribute}${er} error: cluster not found on endpoint ${or}${endpoint.maybeId}${er}:${or}${endpoint.maybeNumber}${er}`);
@@ -524,6 +602,7 @@ export async function subscribeAttribute(endpoint, cluster, attribute, listener,
524
602
  endpoint.log.debug(`subscribeAttribute ${hk}${clusterName}.${attribute}${db}: Endpoint ${or}${endpoint.maybeId}${db}:${or}${endpoint.maybeNumber}${db} is in the ${BLUE}${endpoint.construction.status}${db} state`);
525
603
  await endpoint.construction.ready;
526
604
  }
605
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
527
606
  const events = endpoint.events;
528
607
  attribute = lowercaseFirstLetter(attribute) + '$Changed';
529
608
  if (!(clusterName in events) || !(attribute in events[clusterName])) {
@@ -534,6 +613,11 @@ export async function subscribeAttribute(endpoint, cluster, attribute, listener,
534
613
  log?.info(`${db}Subscribed endpoint ${or}${endpoint.id}${db}:${or}${endpoint.number}${db} attribute ${hk}${capitalizeFirstLetter(clusterName)}${db}.${hk}${attribute}${db}`);
535
614
  return true;
536
615
  }
616
+ /**
617
+ * Get the default OperationalState Cluster Server.
618
+ *
619
+ * @param {OperationalState.OperationalStateEnum} operationalState - The initial operational state.
620
+ */
537
621
  export function getDefaultOperationalStateClusterServer(operationalState = OperationalState.OperationalStateEnum.Stopped) {
538
622
  return optionsFor(MatterbridgeOperationalStateServer, {
539
623
  phaseList: [],
@@ -548,6 +632,13 @@ export function getDefaultOperationalStateClusterServer(operationalState = Opera
548
632
  operationalError: { errorStateId: OperationalState.ErrorState.NoError, errorStateLabel: 'No error', errorStateDetails: 'Fully operational' },
549
633
  });
550
634
  }
635
+ /**
636
+ * Get the default TemperatureMeasurement cluster server options.
637
+ *
638
+ * @param {number | null} measuredValue - The measured value of the temperature x 100.
639
+ * @param {number | null} minMeasuredValue - The minimum measured value of the temperature x 100.
640
+ * @param {number | null} maxMeasuredValue - The maximum measured value of the temperature x 100.
641
+ */
551
642
  export function getDefaultTemperatureMeasurementClusterServer(measuredValue = null, minMeasuredValue = null, maxMeasuredValue = null) {
552
643
  return optionsFor(TemperatureMeasurementServer, {
553
644
  measuredValue,
@@ -556,6 +647,13 @@ export function getDefaultTemperatureMeasurementClusterServer(measuredValue = nu
556
647
  tolerance: 0,
557
648
  });
558
649
  }
650
+ /**
651
+ * Get the default RelativeHumidityMeasurement cluster server options.
652
+ *
653
+ * @param {number | null} measuredValue - The measured value of the relative humidity x 100.
654
+ * @param {number | null} minMeasuredValue - The minimum measured value of the relative humidity x 100.
655
+ * @param {number | null} maxMeasuredValue - The maximum measured value of the relative humidity x 100.
656
+ */
559
657
  export function getDefaultRelativeHumidityMeasurementClusterServer(measuredValue = null, minMeasuredValue = null, maxMeasuredValue = null) {
560
658
  return optionsFor(RelativeHumidityMeasurementServer, {
561
659
  measuredValue,
@@ -564,6 +662,13 @@ export function getDefaultRelativeHumidityMeasurementClusterServer(measuredValue
564
662
  tolerance: 0,
565
663
  });
566
664
  }
665
+ /**
666
+ * Get the default PressureMeasurement cluster server options.
667
+ *
668
+ * @param {number | null} measuredValue - The measured value for the pressure.
669
+ * @param {number | null} minMeasuredValue - The minimum measured value for the pressure.
670
+ * @param {number | null} maxMeasuredValue - The maximum measured value for the pressure.
671
+ */
567
672
  export function getDefaultPressureMeasurementClusterServer(measuredValue = null, minMeasuredValue = null, maxMeasuredValue = null) {
568
673
  return optionsFor(PressureMeasurementServer, {
569
674
  measuredValue,
@@ -572,6 +677,19 @@ export function getDefaultPressureMeasurementClusterServer(measuredValue = null,
572
677
  tolerance: 0,
573
678
  });
574
679
  }
680
+ /**
681
+ * Get the default IlluminanceMeasurement cluster server options.
682
+ *
683
+ * @param {number | null} measuredValue - The measured value of illuminance.
684
+ * @param {number | null} minMeasuredValue - The minimum measured value of illuminance.
685
+ * @param {number | null} maxMeasuredValue - The maximum measured value of illuminance.
686
+ * @remark The default value for the illuminance measurement is null.
687
+ * This attribute SHALL indicate the illuminance in Lux (symbol lx) as follows:
688
+ * • MeasuredValue = 10,000 x log10(illuminance) + 1,
689
+ * where 1 lx <= illuminance <= 3.576 Mlx, corresponding to a MeasuredValue in the range 1 to 0xFFFE.
690
+ * • 0 indicates a value of illuminance that is too low to be measured
691
+ * • null indicates that the illuminance measurement is invalid.
692
+ */
575
693
  export function getDefaultIlluminanceMeasurementClusterServer(measuredValue = null, minMeasuredValue = null, maxMeasuredValue = null) {
576
694
  return optionsFor(IlluminanceMeasurementServer, {
577
695
  measuredValue,
@@ -580,6 +698,13 @@ export function getDefaultIlluminanceMeasurementClusterServer(measuredValue = nu
580
698
  tolerance: 0,
581
699
  });
582
700
  }
701
+ /**
702
+ * Get the default FlowMeasurement cluster server options.
703
+ *
704
+ * @param {number | null} measuredValue - The measured value of the flow in 10 x m3/h.
705
+ * @param {number | null} minMeasuredValue - The minimum measured value of the flow in 10 x m3/h.
706
+ * @param {number | null} maxMeasuredValue - The maximum measured value of the flow in 10 x m3/h.
707
+ */
583
708
  export function getDefaultFlowMeasurementClusterServer(measuredValue = null, minMeasuredValue = null, maxMeasuredValue = null) {
584
709
  return optionsFor(FlowMeasurementServer, {
585
710
  measuredValue,
@@ -588,6 +713,19 @@ export function getDefaultFlowMeasurementClusterServer(measuredValue = null, min
588
713
  tolerance: 0,
589
714
  });
590
715
  }
716
+ /**
717
+ * Get the default OccupancySensing cluster server options.
718
+ *
719
+ * @param {boolean} occupied - A boolean indicating whether the occupancy is occupied or not. Default is false.
720
+ * @param {number} holdTime - The hold time in seconds. Default is 30.
721
+ * @param {number} holdTimeMin - The minimum hold time in seconds. Default is 1.
722
+ * @param {number} holdTimeMax - The maximum hold time in seconds. Default is 300.
723
+ *
724
+ * @remark The default value for the occupancy sensor type is PIR.
725
+ * Servers SHALL set these attributes for backward compatibility with clients implementing a cluster revision <= 4 as
726
+ * described in OccupancySensorType and OccupancySensorTypeBitmap Attributes.
727
+ * This replaces the 9 legacy attributes PIROccupiedToUnoccupiedDelay through PhysicalContactUnoccupiedToOccupiedThreshold.
728
+ */
591
729
  export function getDefaultOccupancySensingClusterServer(occupied = false, holdTime = 30, holdTimeMin = 1, holdTimeMax = 300) {
592
730
  return optionsFor(OccupancySensingServer.with(OccupancySensing.Feature.PassiveInfrared), {
593
731
  occupancy: { occupied },
@@ -599,3 +737,4 @@ export function getDefaultOccupancySensingClusterServer(occupied = false, holdTi
599
737
  holdTimeLimits: { holdTimeMin, holdTimeMax, holdTimeDefault: holdTime },
600
738
  });
601
739
  }
740
+ //# sourceMappingURL=matterbridgeEndpointHelpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"matterbridgeEndpointHelpers.js","sourceRoot":"","sources":["../src/matterbridgeEndpointHelpers.ts"],"names":[],"mappings":"AAAA,qCAAqC;AAErC,UAAU;AACV,OAAO,EAAiC,SAAS,EAAE,MAAM,cAAc,CAAC;AACxE,OAAO,EAAe,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAErE,mBAAmB;AACnB,OAAO,EAAE,WAAW,EAAE,MAAM,oCAAoC,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAC;AAC3E,OAAO,EAAE,6BAA6B,EAAE,MAAM,wDAAwD,CAAC;AACvG,OAAO,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAC1D,OAAO,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AACtD,OAAO,EAAE,KAAK,EAAE,MAAM,8BAA8B,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAC;AAC/D,OAAO,EAAE,4BAA4B,EAAE,MAAM,uDAAuD,CAAC;AACrG,OAAO,EAAE,2BAA2B,EAAE,MAAM,sDAAsD,CAAC;AACnG,OAAO,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AACpE,OAAO,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AACnE,OAAO,EAAE,yBAAyB,EAAE,MAAM,mDAAmD,CAAC;AAC9F,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,0BAA0B,EAAE,MAAM,oDAAoD,CAAC;AAChG,OAAO,EAAE,2BAA2B,EAAE,MAAM,qDAAqD,CAAC;AAClG,OAAO,EAAE,sBAAsB,EAAE,MAAM,+CAA+C,CAAC;AACvF,OAAO,EAAE,2BAA2B,EAAE,MAAM,qDAAqD,CAAC;AAClG,OAAO,EAAE,mBAAmB,EAAE,MAAM,4CAA4C,CAAC;AACjF,OAAO,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAC;AACzE,OAAO,EAAE,sBAAsB,EAAE,MAAM,+CAA+C,CAAC;AACvF,OAAO,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAC;AAC3E,OAAO,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAC;AAC/D,OAAO,EAAE,sCAAsC,EAAE,MAAM,iEAAiE,CAAC;AACzH,OAAO,EAAE,qCAAqC,EAAE,MAAM,gEAAgE,CAAC;AACvH,OAAO,EAAE,uCAAuC,EAAE,MAAM,kEAAkE,CAAC;AAC3H,OAAO,EAAE,6BAA6B,EAAE,MAAM,uDAAuD,CAAC;AACtG,OAAO,EAAE,oCAAoC,EAAE,MAAM,8DAA8D,CAAC;AACpH,OAAO,EAAE,2BAA2B,EAAE,MAAM,qDAAqD,CAAC;AAClG,OAAO,EAAE,4BAA4B,EAAE,MAAM,sDAAsD,CAAC;AACpG,OAAO,EAAE,4BAA4B,EAAE,MAAM,sDAAsD,CAAC;AACpG,OAAO,EAAE,6BAA6B,EAAE,MAAM,uDAAuD,CAAC;AACtG,OAAO,EAAE,qDAAqD,EAAE,MAAM,kFAAkF,CAAC;AACzJ,OAAO,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAC;AAE3E,oBAAoB;AACpB,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AACtE,OAAO,EAAE,sBAAsB,EAAE,MAAM,0CAA0C,CAAC;AAClF,OAAO,EAAE,mCAAmC,EAAE,MAAM,yDAAyD,CAAC;AAC9G,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,iCAAiC,EAAE,MAAM,uDAAuD,CAAC;AAC1G,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAC1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAC5E,OAAO,EAAE,gCAAgC,EAAE,MAAM,qDAAqD,CAAC;AACvG,OAAO,EAAE,iCAAiC,EAAE,MAAM,sDAAsD,CAAC;AACzG,OAAO,EAAE,4BAA4B,EAAE,MAAM,gDAAgD,CAAC;AAC9F,OAAO,EAAE,iCAAiC,EAAE,MAAM,sDAAsD,CAAC;AACzG,OAAO,EAAE,yBAAyB,EAAE,MAAM,6CAA6C,CAAC;AACxF,OAAO,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;AAChF,OAAO,EAAE,4BAA4B,EAAE,MAAM,gDAAgD,CAAC;AAC9F,OAAO,EAAE,sBAAsB,EAAE,MAAM,0CAA0C,CAAC;AAClF,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AACtE,OAAO,EAAE,4CAA4C,EAAE,MAAM,kEAAkE,CAAC;AAChI,OAAO,EAAE,2CAA2C,EAAE,MAAM,iEAAiE,CAAC;AAC9H,OAAO,EAAE,6CAA6C,EAAE,MAAM,mEAAmE,CAAC;AAClI,OAAO,EAAE,mCAAmC,EAAE,MAAM,wDAAwD,CAAC;AAC7G,OAAO,EAAE,0CAA0C,EAAE,MAAM,+DAA+D,CAAC;AAC3H,OAAO,EAAE,iCAAiC,EAAE,MAAM,sDAAsD,CAAC;AACzG,OAAO,EAAE,kCAAkC,EAAE,MAAM,uDAAuD,CAAC;AAC3G,OAAO,EAAE,kCAAkC,EAAE,MAAM,uDAAuD,CAAC;AAC3G,OAAO,EAAE,mCAAmC,EAAE,MAAM,wDAAwD,CAAC;AAC7G,OAAO,EAAE,2DAA2D,EAAE,MAAM,mFAAmF,CAAC;AAEhK,gBAAgB;AAChB,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAc,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,cAAc,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AAEtG,eAAe;AACf,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEtE,OAAO,EACL,0BAA0B,EAC1B,uBAAuB,EACvB,8BAA8B,EAC9B,8BAA8B,EAC9B,gCAAgC,EAChC,4BAA4B,EAC5B,4BAA4B,EAC5B,0BAA0B,EAC1B,4BAA4B,EAC5B,8CAA8C,EAC9C,8BAA8B,EAC9B,2CAA2C,EAC3C,kCAAkC,GACnC,MAAM,4BAA4B,CAAC;AAEpC,MAAM,UAAU,qBAAqB,CAAC,IAAY;IAChD,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IACvB,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,IAAY;IAC/C,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IACvB,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,UAAkB;IACxD,MAAM,iBAAiB,GAAG;QACxB,8BAA8B,EAAE,WAAW;QAC3C,iBAAiB,EAAE,kCAAkC;QACrD,iBAAiB,EAAE,gBAAgB;QACnC,8BAA8B,EAAE,kBAAkB;QAClD,iBAAiB,EAAE,SAAS;QAC5B,iBAAiB,EAAE,+BAA+B;QAClD,iBAAiB,EAAE,OAAO;QAC1B,iBAAiB,EAAE,+BAA+B;KACnD,CAAC;IACF,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;AACnE,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,UAAkB;IACjD,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,8BAA8B;AAC3F,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,MAAc,EAAE,MAAc,EAAE,MAAc,EAAE,MAAc;IAC3F,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IAC/B,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC,CAAC;IAC/C,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,qCAAqC,CAAC,iBAA8B;IAClF,wCAAwC;IACxC,MAAM,aAAa,GAAoB,EAAE,CAAC;IAC1C,iBAAiB,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;QACtC,aAAa,CAAC,IAAI,CAAC,mCAAmC,CAAC,SAAS,CAAC,CAAC,CAAC;IACrE,CAAC,CAAC,CAAC;IACH,OAAO,aAAa,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,qCAAqC,CAAC,iBAA8B;IAClF,wCAAwC;IACxC,MAAM,aAAa,GAAoB,EAAE,CAAC;IAC1C,iBAAiB,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE;QACvC,sEAAsE;IACxE,CAAC,CAAC,CAAC;IACH,OAAO,aAAa,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,mCAAmC,CAAC,SAAoB;IACtE,wCAAwC;IACxC,IAAI,SAAS,KAAK,WAAW,CAAC,OAAO,CAAC,EAAE;QAAE,OAAO,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACnG,IAAI,SAAS,KAAK,SAAS,CAAC,OAAO,CAAC,EAAE;QAAE,OAAO,eAAe,CAAC;IAC/D,IAAI,SAAS,KAAK,UAAU,CAAC,OAAO,CAAC,EAAE;QAAE,OAAO,gBAAgB,CAAC;IACjE,IAAI,SAAS,KAAK,gBAAgB,CAAC,OAAO,CAAC,EAAE;QAAE,OAAO,sBAAsB,CAAC;IAC7E,IAAI,SAAS,KAAK,6BAA6B,CAAC,OAAO,CAAC,EAAE;QAAE,OAAO,mCAAmC,CAAC;IACvG,IAAI,SAAS,KAAK,QAAQ,CAAC,OAAO,CAAC,EAAE;QAAE,OAAO,0BAA0B,CAAC;IACzE,IAAI,SAAS,KAAK,MAAM,CAAC,OAAO,CAAC,EAAE;QAAE,OAAO,YAAY,CAAC;IACzD,IAAI,SAAS,KAAK,KAAK,CAAC,OAAO,CAAC,EAAE;QAAE,OAAO,uBAAuB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACpF,IAAI,SAAS,KAAK,YAAY,CAAC,OAAO,CAAC,EAAE;QAAE,OAAO,8BAA8B,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IAC3G,IAAI,SAAS,KAAK,YAAY,CAAC,OAAO,CAAC,EAAE;QAAE,OAAO,8BAA8B,CAAC;IACjF,IAAI,SAAS,KAAK,cAAc,CAAC,OAAO,CAAC,EAAE;QAAE,OAAO,gCAAgC,CAAC,IAAI,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IACvH,IAAI,SAAS,KAAK,UAAU,CAAC,OAAO,CAAC,EAAE;QAAE,OAAO,4BAA4B,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IACpH,IAAI,SAAS,KAAK,UAAU,CAAC,OAAO,CAAC,EAAE;QAAE,OAAO,4BAA4B,CAAC;IAC7E,IAAI,SAAS,KAAK,QAAQ,CAAC,OAAO,CAAC,EAAE;QAAE,OAAO,0BAA0B,CAAC;IACzE,IAAI,SAAS,KAAK,UAAU,CAAC,OAAO,CAAC,EAAE;QAAE,OAAO,4BAA4B,CAAC;IAC7E,IAAI,SAAS,KAAK,4BAA4B,CAAC,OAAO,CAAC,EAAE;QAAE,OAAO,8CAA8C,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC/H,IAAI,SAAS,KAAK,2BAA2B,CAAC,OAAO,CAAC,EAAE;QAAE,OAAO,iCAAiC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IACzH,IAAI,SAAS,KAAK,YAAY,CAAC,OAAO,CAAC,EAAE;QAAE,OAAO,8BAA8B,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;IAC/G,IAAI,SAAS,KAAK,MAAM,CAAC,OAAO,CAAC,EAAE;QAAE,OAAO,YAAY,CAAC,IAAI,CAAC,iBAAiB,EAAE,wBAAwB,EAAE,0BAA0B,EAAE,2BAA2B,CAAC,CAAC;IACpK,IAAI,SAAS,KAAK,gBAAgB,CAAC,OAAO,CAAC,EAAE;QAAE,OAAO,kCAAkC,CAAC;IACzF,IAAI,SAAS,KAAK,YAAY,CAAC,OAAO,CAAC,EAAE;QAAE,OAAO,kBAAkB,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IAC/G,IAAI,SAAS,KAAK,yBAAyB,CAAC,OAAO,CAAC,EAAE;QAAE,OAAO,2CAA2C,CAAC;IAC3G,IAAI,SAAS,KAAK,aAAa,CAAC,OAAO,CAAC,EAAE;QAAE,OAAO,mBAAmB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC5F,IAAI,SAAS,KAAK,0BAA0B,CAAC,OAAO,CAAC,EAAE;QAAE,OAAO,gCAAgC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IAC5H,IAAI,SAAS,KAAK,2BAA2B,CAAC,OAAO,CAAC,EAAE;QAAE,OAAO,iCAAiC,CAAC,IAAI,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,kBAAkB,CAAC,CAAC;IAChK,IAAI,SAAS,KAAK,sBAAsB,CAAC,OAAO,CAAC,EAAE;QAAE,OAAO,4BAA4B,CAAC;IACzF,IAAI,SAAS,KAAK,2BAA2B,CAAC,OAAO,CAAC,EAAE;QAAE,OAAO,iCAAiC,CAAC;IACnG,IAAI,SAAS,KAAK,mBAAmB,CAAC,OAAO,CAAC,EAAE;QAAE,OAAO,yBAAyB,CAAC;IACnF,IAAI,SAAS,KAAK,eAAe,CAAC,OAAO,CAAC,EAAE;QAAE,OAAO,qBAAqB,CAAC;IAC3E,IAAI,SAAS,KAAK,sBAAsB,CAAC,OAAO,CAAC,EAAE;QAAE,OAAO,4BAA4B,CAAC;IACzF,IAAI,SAAS,KAAK,gBAAgB,CAAC,OAAO,CAAC,EAAE;QAAE,OAAO,sBAAsB,CAAC;IAC7E,IAAI,SAAS,KAAK,UAAU,CAAC,OAAO,CAAC,EAAE;QAAE,OAAO,gBAAgB,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,eAAe,CAAC,CAAC;IACvH,IAAI,SAAS,KAAK,sCAAsC,CAAC,OAAO,CAAC,EAAE;QAAE,OAAO,4CAA4C,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IACpJ,IAAI,SAAS,KAAK,qCAAqC,CAAC,OAAO,CAAC,EAAE;QAAE,OAAO,2CAA2C,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IAClJ,IAAI,SAAS,KAAK,uCAAuC,CAAC,OAAO,CAAC,EAAE;QAAE,OAAO,6CAA6C,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IACtJ,IAAI,SAAS,KAAK,6BAA6B,CAAC,OAAO,CAAC,EAAE;QAAE,OAAO,mCAAmC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IAClI,IAAI,SAAS,KAAK,oCAAoC,CAAC,OAAO,CAAC,EAAE;QAAE,OAAO,0CAA0C,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IAChJ,IAAI,SAAS,KAAK,2BAA2B,CAAC,OAAO,CAAC,EAAE;QAAE,OAAO,iCAAiC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IAC9H,IAAI,SAAS,KAAK,4BAA4B,CAAC,OAAO,CAAC,EAAE;QAAE,OAAO,kCAAkC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IAChI,IAAI,SAAS,KAAK,4BAA4B,CAAC,OAAO,CAAC,EAAE;QAAE,OAAO,kCAAkC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IAChI,IAAI,SAAS,KAAK,6BAA6B,CAAC,OAAO,CAAC,EAAE;QAAE,OAAO,mCAAmC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IAClI,IAAI,SAAS,KAAK,qDAAqD,CAAC,OAAO,CAAC,EAAE;QAAE,OAAO,2DAA2D,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IAElL,OAAO,0BAA0B,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,mCAAmC,CAAC,UAAqB;IACvE,wCAAwC;IACxC,yBAAyB;AAC3B,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,QAA8B,EAAE,OAAyD;IACnH,IAAI,QAAmC,CAAC;IACxC,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAChC,QAAQ,GAAG,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC;IACzE,CAAC;SAAM,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QACvC,QAAQ,GAAG,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC7F,CAAC;SAAM,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QACvC,QAAQ,GAAG,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,oBAAoB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9E,CAAC;SAAM,IAAI,OAAO,OAAO,KAAK,UAAU,EAAE,CAAC;QACzC,QAAQ,GAAG,OAAO,CAAC;IACrB,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,QAA8B,EAC9B,OAAyD,EACzD,OAA2C,EAC3C,MAA2E;IAE3E,MAAM,UAAU,GAAG,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC;IACtD,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,wCAAwC,EAAE,GAAG,OAAO,GAAG,EAAE,0BAA0B,EAAE,GAAG,QAAQ,CAAC,OAAO,GAAG,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAC,WAAW,GAAG,EAAE,EAAE,CAAC,CAAC;QACvK,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QAC3B,sEAAsE;QACtE,MAAM,QAAQ,GAAI,KAA6D,CAAC,UAAU,CAAC,CAAC;QAC5F,IAAI,CAAC,CAAC,OAAO,IAAI,QAAQ,CAAC,IAAI,OAAO,QAAQ,CAAC,OAAO,CAAC,KAAK,UAAU,EAAE,CAAC;YACtE,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,wCAAwC,EAAE,GAAG,OAAO,GAAG,EAAE,oCAAoC,EAAE,GAAG,QAAQ,CAAC,OAAO,GAAG,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAC,WAAW,GAAG,EAAE,EAAE,CAAC,CAAC;YACjL,OAAO,KAAK,CAAC;QACf,CAAC;QACD,QAAQ,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC,CAAC,CAAC;IACH,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,QAA8B;IACtE,MAAM,kBAAkB,GAAgB,EAAE,CAAC;IAC3C,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,iCAAiC,IAAI,GAAG,QAAQ,CAAC,OAAO,GAAG,EAAE,EAAE,CAAC,CAAC;IACpF,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE;QAC/D,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,qBAAqB,EAAE,GAAG,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,UAAU,CAAC,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC;QACvI,UAAU,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;YACtD,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,SAAS,CAAC,EAAE,CAAC;gBACrF,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACnC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,cAAc,EAAE,GAAG,IAAI,GAAG,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,kBAAkB,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAC1I,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IACH,iBAAiB,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC;AAClD,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,QAA8B;IACtE,MAAM,kBAAkB,GAAgB,EAAE,CAAC;IAC3C,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,iCAAiC,IAAI,GAAG,QAAQ,CAAC,OAAO,GAAG,EAAE,EAAE,CAAC,CAAC;IACpF,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE;QAC/D,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,qBAAqB,EAAE,GAAG,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,UAAU,CAAC,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC;QACvI,UAAU,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;YACtD,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,SAAS,CAAC,EAAE,CAAC;gBACrF,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACnC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,cAAc,EAAE,GAAG,IAAI,GAAG,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,kBAAkB,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAC1I,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IACH,iBAAiB,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC;AAClD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAAC,QAA8B,EAAE,UAAuB;IACvF,IAAI,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;QAAE,QAAQ,CAAC,0CAA0C,EAAE,CAAC;IACvG,IAAI,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QAAE,QAAQ,CAAC,kCAAkC,EAAE,CAAC;IAC5F,IAAI,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;QAAE,QAAQ,CAAC,gCAAgC,EAAE,CAAC;IACxF,IAAI,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;QAAE,QAAQ,CAAC,+BAA+B,EAAE,CAAC;IACtF,IAAI,UAAU,CAAC,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;QAAE,QAAQ,CAAC,sCAAsC,EAAE,CAAC;IACpG,IAAI,UAAU,CAAC,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;QAAE,QAAQ,CAAC,sCAAsC,EAAE,CAAC;IACpG,IAAI,UAAU,CAAC,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC;QAAE,QAAQ,CAAC,wCAAwC,EAAE,CAAC;IACxG,IAAI,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAAE,QAAQ,CAAC,oCAAoC,EAAE,CAAC;IAChG,IAAI,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAAE,QAAQ,CAAC,oCAAoC,EAAE,CAAC;IAChG,IAAI,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QAAE,QAAQ,CAAC,kCAAkC,EAAE,CAAC;IAC5F,IAAI,UAAU,CAAC,QAAQ,CAAC,4BAA4B,CAAC,OAAO,CAAC,EAAE,CAAC;QAAE,QAAQ,CAAC,sDAAsD,EAAE,CAAC;IACpI,IAAI,UAAU,CAAC,QAAQ,CAAC,2BAA2B,CAAC,OAAO,CAAC,EAAE,CAAC;QAAE,QAAQ,CAAC,qDAAqD,EAAE,CAAC;IAClI,IAAI,UAAU,CAAC,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;QAAE,QAAQ,CAAC,sCAAsC,EAAE,CAAC;IACpG,IAAI,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;QAAE,QAAQ,CAAC,gCAAgC,EAAE,CAAC;IACxF,IAAI,UAAU,CAAC,QAAQ,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC;QAAE,QAAQ,CAAC,0CAA0C,EAAE,CAAC;IAC5G,IAAI,UAAU,CAAC,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;QAAE,QAAQ,CAAC,sCAAsC,EAAE,CAAC;IACpG,IAAI,UAAU,CAAC,QAAQ,CAAC,yBAAyB,CAAC,OAAO,CAAC,EAAE,CAAC;QAAE,QAAQ,CAAC,mDAAmD,EAAE,CAAC;IAC9H,IAAI,UAAU,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;QAAE,QAAQ,CAAC,uCAAuC,EAAE,CAAC;IACtG,IAAI,UAAU,CAAC,QAAQ,CAAC,0BAA0B,CAAC,OAAO,CAAC,EAAE,CAAC;QAAE,QAAQ,CAAC,oDAAoD,EAAE,CAAC;IAChI,IAAI,UAAU,CAAC,QAAQ,CAAC,2BAA2B,CAAC,OAAO,CAAC,EAAE,CAAC;QAAE,QAAQ,CAAC,qDAAqD,EAAE,CAAC;IAClI,IAAI,UAAU,CAAC,QAAQ,CAAC,sBAAsB,CAAC,OAAO,CAAC,EAAE,CAAC;QAAE,QAAQ,CAAC,gDAAgD,EAAE,CAAC;IACxH,IAAI,UAAU,CAAC,QAAQ,CAAC,2BAA2B,CAAC,OAAO,CAAC,EAAE,CAAC;QAAE,QAAQ,CAAC,qDAAqD,EAAE,CAAC;IAClI,IAAI,UAAU,CAAC,QAAQ,CAAC,mBAAmB,CAAC,OAAO,CAAC,EAAE,CAAC;QAAE,QAAQ,CAAC,6CAA6C,EAAE,CAAC;IAClH,IAAI,UAAU,CAAC,QAAQ,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC;QAAE,QAAQ,CAAC,yCAAyC,EAAE,CAAC;IAC1G,IAAI,UAAU,CAAC,QAAQ,CAAC,sBAAsB,CAAC,OAAO,CAAC,EAAE,CAAC;QAAE,QAAQ,CAAC,gDAAgD,EAAE,CAAC;IACxH,IAAI,UAAU,CAAC,QAAQ,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC;QAAE,QAAQ,CAAC,0CAA0C,EAAE,CAAC;IAC5G,IAAI,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAAE,QAAQ,CAAC,oCAAoC,EAAE,CAAC;IAChG,IAAI,UAAU,CAAC,QAAQ,CAAC,sCAAsC,CAAC,OAAO,CAAC,EAAE,CAAC;QAAE,QAAQ,CAAC,gEAAgE,EAAE,CAAC;IACxJ,IAAI,UAAU,CAAC,QAAQ,CAAC,qCAAqC,CAAC,OAAO,CAAC,EAAE,CAAC;QAAE,QAAQ,CAAC,+DAA+D,EAAE,CAAC;IACtJ,IAAI,UAAU,CAAC,QAAQ,CAAC,uCAAuC,CAAC,OAAO,CAAC,EAAE,CAAC;QAAE,QAAQ,CAAC,iEAAiE,EAAE,CAAC;IAC1J,IAAI,UAAU,CAAC,QAAQ,CAAC,6BAA6B,CAAC,OAAO,CAAC,EAAE,CAAC;QAAE,QAAQ,CAAC,uDAAuD,EAAE,CAAC;IACtI,IAAI,UAAU,CAAC,QAAQ,CAAC,oCAAoC,CAAC,OAAO,CAAC,EAAE,CAAC;QAAE,QAAQ,CAAC,8DAA8D,EAAE,CAAC;IACpJ,IAAI,UAAU,CAAC,QAAQ,CAAC,2BAA2B,CAAC,OAAO,CAAC,EAAE,CAAC;QAAE,QAAQ,CAAC,qDAAqD,EAAE,CAAC;IAClI,IAAI,UAAU,CAAC,QAAQ,CAAC,4BAA4B,CAAC,OAAO,CAAC,EAAE,CAAC;QAAE,QAAQ,CAAC,sDAAsD,EAAE,CAAC;IACpI,IAAI,UAAU,CAAC,QAAQ,CAAC,4BAA4B,CAAC,OAAO,CAAC,EAAE,CAAC;QAAE,QAAQ,CAAC,sDAAsD,EAAE,CAAC;IACpI,IAAI,UAAU,CAAC,QAAQ,CAAC,6BAA6B,CAAC,OAAO,CAAC,EAAE,CAAC;QAAE,QAAQ,CAAC,uDAAuD,EAAE,CAAC;IACtI,IAAI,UAAU,CAAC,QAAQ,CAAC,qDAAqD,CAAC,OAAO,CAAC,EAAE,CAAC;QAAE,QAAQ,CAAC,yCAAyC,EAAE,CAAC;IAChJ,2HAA2H;IAC3H,mIAAmI;AACrI,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,QAA8B,EAAE,KAAa,EAAE,KAAa;IAC9F,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC;QACtD,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,8BAA8B,EAAE,aAAa,EAAE,IAAI,EAAE,aAAa,EAAE,eAAe,IAAI,GAAG,KAAK,GAAG,EAAE,UAAU,IAAI,GAAG,KAAK,GAAG,EAAE,EAAE,CAAC,CAAC;QACtJ,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,gBAAgB,EAAE;YAC3C,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;SAC9B,CAAC,CAAC;QACH,OAAO;IACT,CAAC;IACD,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,4BAA4B,IAAI,GAAG,KAAK,GAAG,EAAE,UAAU,IAAI,GAAG,KAAK,GAAG,EAAE,EAAE,CAAC,CAAC;IAC/F,IAAI,SAAS,GAAG,QAAQ,CAAC,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,EAAE,WAAW,EAAE,QAAQ,CAAC,GAAG,CAAuC,CAAC;IAC9H,IAAI,YAAY,CAAC,SAAS,CAAC,EAAE,CAAC;QAC5B,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC;QAC/D,SAAS,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QACjC,MAAM,QAAQ,CAAC,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC3F,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,QAA8B,EAAE,KAAa,EAAE,KAAa;IAC7F,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC;QACrD,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,6BAA6B,EAAE,YAAY,EAAE,IAAI,EAAE,YAAY,EAAE,eAAe,IAAI,GAAG,KAAK,GAAG,EAAE,UAAU,IAAI,GAAG,KAAK,GAAG,EAAE,EAAE,CAAC,CAAC;QACnJ,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,eAAe,EAAE;YAC1C,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;SAC9B,CAAC,CAAC;QACH,OAAO;IACT,CAAC;IACD,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,2BAA2B,IAAI,GAAG,KAAK,GAAG,EAAE,UAAU,IAAI,GAAG,KAAK,GAAG,EAAE,EAAE,CAAC,CAAC;IAC9F,IAAI,SAAS,GAAG,QAAQ,CAAC,YAAY,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,EAAE,WAAW,EAAE,QAAQ,CAAC,GAAG,CAAuC,CAAC;IAC7H,IAAI,YAAY,CAAC,SAAS,CAAC,EAAE,CAAC;QAC5B,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC;QAC/D,SAAS,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QACjC,MAAM,QAAQ,CAAC,YAAY,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC1F,CAAC;AACH,CAAC;AAED,MAAM,UAAU,UAAU,CAA0B,IAAO,EAAE,OAA4B;IACvF,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,QAAkB,EAAE,OAAe;IAC9D,OAAO,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC;AACjF,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,QAAkB,EAAE,OAAe,EAAE,SAAiB;IACnF,IAAI,SAAS,KAAK,eAAe;QAAE,OAAO,MAAM,CAAC;SAC5C,IAAI,SAAS,KAAK,YAAY;QAAE,OAAO,MAAM,CAAC;SAC9C,IAAI,SAAS,KAAK,WAAW;QAAE,OAAO,MAAM,CAAC;SAC7C,IAAI,SAAS,KAAK,sBAAsB;QAAE,OAAO,MAAM,CAAC;SACxD,IAAI,SAAS,KAAK,qBAAqB;QAAE,OAAO,MAAM,CAAC;SACvD,IAAI,SAAS,KAAK,iBAAiB;QAAE,OAAO,MAAM,CAAC;SACnD,CAAC;QACJ,IAAI,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,KAAK,0BAA0B,EAAE,CAAC;YAC7G,IAAI,SAAS,KAAK,eAAe;gBAAE,OAAO,GAAG,CAAC;iBACzC,IAAI,SAAS,KAAK,kBAAkB;gBAAE,OAAO,GAAG,CAAC;iBACjD,IAAI,SAAS,KAAK,kBAAkB;gBAAE,OAAO,GAAG,CAAC;iBACjD,IAAI,SAAS,KAAK,mBAAmB;gBAAE,OAAO,GAAG,CAAC;iBAClD,IAAI,SAAS,KAAK,yBAAyB;gBAAE,OAAO,GAAG,CAAC;iBACxD,IAAI,SAAS,KAAK,sBAAsB;gBAAE,OAAO,GAAG,CAAC;iBACrD,IAAI,SAAS,KAAK,4BAA4B;gBAAE,OAAO,GAAG,CAAC;iBAC3D,IAAI,SAAS,KAAK,aAAa;gBAAE,OAAO,GAAG,CAAC;iBAC5C,IAAI,SAAS,KAAK,iBAAiB;gBAAE,OAAO,GAAG,CAAC;iBAChD,IAAI,SAAS,KAAK,mBAAmB;gBAAE,OAAO,GAAG,CAAC;iBAClD,IAAI,SAAS,KAAK,YAAY;gBAAE,OAAO,GAAG,CAAC;QAClD,CAAC;QACD,IAAI,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,KAAK,kBAAkB,EAAE,CAAC;YACrG,IAAI,SAAS,KAAK,WAAW;gBAAE,OAAO,GAAG,CAAC;iBACrC,IAAI,SAAS,KAAK,cAAc;gBAAE,OAAO,GAAG,CAAC;iBAC7C,IAAI,SAAS,KAAK,eAAe;gBAAE,OAAO,GAAG,CAAC;iBAC9C,IAAI,SAAS,KAAK,sBAAsB;gBAAE,OAAO,GAAG,CAAC;iBACrD,IAAI,SAAS,KAAK,kBAAkB;gBAAE,OAAO,GAAG,CAAC;iBACjD,IAAI,SAAS,KAAK,kBAAkB;gBAAE,OAAO,GAAG,CAAC;QACxD,CAAC;QACD,OAAO,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,qBAAqB,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC;IAC7J,CAAC;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,8DAA8D;AAC9D,MAAM,UAAU,YAAY,CAAC,QAA8B,EAAE,OAAyD,EAAE,SAAiB,EAAE,GAAgB;IACzJ,MAAM,WAAW,GAAG,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC;IACvD,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,gBAAgB,EAAE,GAAG,SAAS,GAAG,EAAE,yCAAyC,EAAE,GAAG,QAAQ,CAAC,OAAO,GAAG,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAC,WAAW,GAAG,EAAE,EAAE,CAAC,CAAC;QAC/J,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,QAAQ,CAAC,YAAY,CAAC,MAAM,KAAK,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QAC7D,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,gBAAgB,EAAE,GAAG,WAAW,IAAI,SAAS,GAAG,EAAE,oBAAoB,EAAE,GAAG,QAAQ,CAAC,OAAO,GAAG,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAC,WAAW,GAAG,EAAE,cAAc,IAAI,GAAG,QAAQ,CAAC,YAAY,CAAC,MAAM,GAAG,EAAE,QAAQ,CAAC,CAAC;QACrN,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,KAAK,GAAG,QAAQ,CAAC,KAA2F,CAAC;IACnH,SAAS,GAAG,oBAAoB,CAAC,SAAS,CAAC,CAAC;IAC5C,IAAI,CAAC,CAAC,SAAS,IAAI,KAAK,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC;QACvC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAChB,iCAAiC,EAAE,GAAG,SAAS,GAAG,EAAE,yBAAyB,IAAI,GAAG,YAAY,CAAC,QAAQ,EAAE,WAAW,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,WAAW,gBAAgB,EAAE,GAAG,QAAQ,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAC,MAAM,GAAG,EAAE,EAAE,CAC1O,CAAC;QACF,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,KAAK,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,CAAC;IAC1C,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACvD,GAAG,EAAE,IAAI,CACP,GAAG,EAAE,gBAAgB,EAAE,GAAG,QAAQ,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAC,MAAM,GAAG,EAAE,cAAc,EAAE,GAAG,qBAAqB,CAAC,WAAW,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,SAAS,GAAG,EAAE,UAAU,MAAM,GAAG,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,EAAE,CAC9P,CAAC;IACF,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,QAA8B,EAAE,OAAyD,EAAE,SAAiB,EAAE,KAAyD,EAAE,GAAgB;IAC1N,MAAM,WAAW,GAAG,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC;IACvD,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,gBAAgB,EAAE,GAAG,SAAS,GAAG,EAAE,yCAAyC,EAAE,GAAG,QAAQ,CAAC,OAAO,GAAG,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAC,WAAW,GAAG,EAAE,EAAE,CAAC,CAAC;QAC/J,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,QAAQ,CAAC,YAAY,CAAC,MAAM,KAAK,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QAC7D,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,gBAAgB,EAAE,GAAG,WAAW,IAAI,SAAS,GAAG,EAAE,oBAAoB,EAAE,GAAG,QAAQ,CAAC,OAAO,GAAG,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAC,WAAW,GAAG,EAAE,cAAc,IAAI,GAAG,QAAQ,CAAC,YAAY,CAAC,MAAM,GAAG,EAAE,QAAQ,CAAC,CAAC;QACrN,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,KAAK,GAAG,QAAQ,CAAC,KAA2F,CAAC;IACnH,SAAS,GAAG,oBAAoB,CAAC,SAAS,CAAC,CAAC;IAC5C,IAAI,CAAC,CAAC,SAAS,IAAI,KAAK,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC;QACvC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAChB,iCAAiC,EAAE,GAAG,SAAS,GAAG,EAAE,yBAAyB,IAAI,GAAG,YAAY,CAAC,QAAQ,EAAE,WAAW,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,WAAW,gBAAgB,EAAE,GAAG,QAAQ,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAC,MAAM,GAAG,EAAE,EAAE,CAC1O,CAAC;QACF,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,QAAQ,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,CAAC;IAC7C,IAAI,OAAO,QAAQ,KAAK,QAAQ;QAAE,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAChE,MAAM,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAC7F,GAAG,EAAE,IAAI,CACP,GAAG,EAAE,gBAAgB,EAAE,GAAG,QAAQ,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAC,MAAM,GAAG,EAAE,cAAc,EAAE,GAAG,qBAAqB,CAAC,WAAW,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,SAAS,GAAG,EAAE,GAAG;QACzJ,QAAQ,MAAM,GAAG,QAAQ,KAAK,IAAI,IAAI,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,EAAE,GAAG;QAChH,MAAM,MAAM,GAAG,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,EAAE,CACpG,CAAC;IACF,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,QAA8B,EAAE,OAAyD,EAAE,SAAiB,EAAE,KAAyD,EAAE,GAAgB;IAC7N,MAAM,WAAW,GAAG,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC;IACvD,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,mBAAmB,EAAE,GAAG,SAAS,GAAG,EAAE,yCAAyC,EAAE,GAAG,QAAQ,CAAC,OAAO,GAAG,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAC,WAAW,GAAG,EAAE,EAAE,CAAC,CAAC;QAClK,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,QAAQ,CAAC,YAAY,CAAC,MAAM,KAAK,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QAC7D,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,mBAAmB,EAAE,GAAG,WAAW,IAAI,SAAS,GAAG,EAAE,oBAAoB,EAAE,GAAG,QAAQ,CAAC,OAAO,GAAG,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAC,WAAW,GAAG,EAAE,cAAc,IAAI,GAAG,QAAQ,CAAC,YAAY,CAAC,MAAM,GAAG,EAAE,QAAQ,CAAC,CAAC;QACxN,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,KAAK,GAAG,QAAQ,CAAC,KAA2F,CAAC;IACnH,SAAS,GAAG,oBAAoB,CAAC,SAAS,CAAC,CAAC;IAC5C,IAAI,CAAC,CAAC,SAAS,IAAI,KAAK,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC;QACvC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAChB,oCAAoC,EAAE,GAAG,SAAS,GAAG,EAAE,yBAAyB,IAAI,GAAG,YAAY,CAAC,QAAQ,EAAE,WAAW,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,WAAW,gBAAgB,EAAE,GAAG,QAAQ,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAC,MAAM,GAAG,EAAE,EAAE,CAC7O,CAAC;QACF,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,QAAQ,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,CAAC;IAC7C,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACjC,IAAI,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QAC7C,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAChC,CAAC;SAAM,IAAI,QAAQ,KAAK,KAAK;QAAE,OAAO,KAAK,CAAC;IAC5C,MAAM,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAC7F,GAAG,EAAE,IAAI,CACP,GAAG,EAAE,mBAAmB,EAAE,GAAG,QAAQ,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAC,MAAM,GAAG,EAAE,cAAc,EAAE,GAAG,qBAAqB,CAAC,WAAW,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,SAAS,GAAG,EAAE,GAAG;QAC5J,QAAQ,MAAM,GAAG,QAAQ,KAAK,IAAI,IAAI,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,EAAE,GAAG;QAChH,MAAM,MAAM,GAAG,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,EAAE,CACpG,CAAC;IACF,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,QAA8B,EAC9B,OAAyD,EACzD,SAAiB;AACjB,8DAA8D;AAC9D,QAA+D,EAC/D,GAAgB;IAEhB,MAAM,WAAW,GAAG,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC;IACvD,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,sBAAsB,EAAE,GAAG,SAAS,GAAG,EAAE,yCAAyC,EAAE,GAAG,QAAQ,CAAC,OAAO,GAAG,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAC,WAAW,GAAG,EAAE,EAAE,CAAC,CAAC;QACrK,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,QAAQ,CAAC,YAAY,CAAC,MAAM,KAAK,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QAC7D,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,sBAAsB,EAAE,GAAG,WAAW,IAAI,SAAS,GAAG,EAAE,cAAc,EAAE,GAAG,QAAQ,CAAC,OAAO,GAAG,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAC,WAAW,GAAG,EAAE,cAAc,IAAI,GAAG,QAAQ,CAAC,YAAY,CAAC,MAAM,GAAG,EAAE,QAAQ,CAAC,CAAC;QACrN,MAAM,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC;IACpC,CAAC;IAED,8DAA8D;IAC9D,MAAM,MAAM,GAAG,QAAQ,CAAC,MAA6C,CAAC;IACtE,SAAS,GAAG,oBAAoB,CAAC,SAAS,CAAC,GAAG,UAAU,CAAC;IACzD,IAAI,CAAC,CAAC,WAAW,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,IAAI,MAAM,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC;QACpE,QAAQ,CAAC,GAAG,CAAC,KAAK,CAChB,uCAAuC,EAAE,GAAG,SAAS,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,GAAG,EAAE,yBAAyB,IAAI,GAAG,YAAY,CAAC,QAAQ,EAAE,WAAW,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,WAAW,gBAAgB,EAAE,GAAG,QAAQ,CAAC,OAAO,GAAG,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAC,WAAW,GAAG,EAAE,EAAE,CAClR,CAAC;QACF,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;IAC5C,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,uBAAuB,EAAE,GAAG,QAAQ,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAC,MAAM,GAAG,EAAE,cAAc,EAAE,GAAG,qBAAqB,CAAC,WAAW,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,SAAS,GAAG,EAAE,EAAE,CAAC,CAAC;IAC7K,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,uCAAuC,CAAC,mBAA0D,gBAAgB,CAAC,oBAAoB,CAAC,OAAO;IAC7J,OAAO,UAAU,CAAC,kCAAkC,EAAE;QACpD,SAAS,EAAE,EAAE;QACb,YAAY,EAAE,IAAI;QAClB,oBAAoB,EAAE;YACpB,EAAE,kBAAkB,EAAE,gBAAgB,CAAC,oBAAoB,CAAC,OAAO,EAAE,qBAAqB,EAAE,SAAS,EAAE;YACvG,EAAE,kBAAkB,EAAE,gBAAgB,CAAC,oBAAoB,CAAC,OAAO,EAAE,qBAAqB,EAAE,SAAS,EAAE;YACvG,EAAE,kBAAkB,EAAE,gBAAgB,CAAC,oBAAoB,CAAC,MAAM,EAAE,qBAAqB,EAAE,QAAQ,EAAE;YACrG,EAAE,kBAAkB,EAAE,gBAAgB,CAAC,oBAAoB,CAAC,KAAK,EAAE,qBAAqB,EAAE,OAAO,EAAE;SACpG;QACD,gBAAgB;QAChB,gBAAgB,EAAE,EAAE,YAAY,EAAE,gBAAgB,CAAC,UAAU,CAAC,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,iBAAiB,EAAE,mBAAmB,EAAE;KAC7I,CAAC,CAAC;AACL,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,6CAA6C,CAAC,gBAA+B,IAAI,EAAE,mBAAkC,IAAI,EAAE,mBAAkC,IAAI;IAC/K,OAAO,UAAU,CAAC,4BAA4B,EAAE;QAC9C,aAAa;QACb,gBAAgB;QAChB,gBAAgB;QAChB,SAAS,EAAE,CAAC;KACb,CAAC,CAAC;AACL,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,kDAAkD,CAAC,gBAA+B,IAAI,EAAE,mBAAkC,IAAI,EAAE,mBAAkC,IAAI;IACpL,OAAO,UAAU,CAAC,iCAAiC,EAAE;QACnD,aAAa;QACb,gBAAgB;QAChB,gBAAgB;QAChB,SAAS,EAAE,CAAC;KACb,CAAC,CAAC;AACL,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,0CAA0C,CAAC,gBAA+B,IAAI,EAAE,mBAAkC,IAAI,EAAE,mBAAkC,IAAI;IAC5K,OAAO,UAAU,CAAC,yBAAyB,EAAE;QAC3C,aAAa;QACb,gBAAgB;QAChB,gBAAgB;QAChB,SAAS,EAAE,CAAC;KACb,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,6CAA6C,CAAC,gBAA+B,IAAI,EAAE,mBAAkC,IAAI,EAAE,mBAAkC,IAAI;IAC/K,OAAO,UAAU,CAAC,4BAA4B,EAAE;QAC9C,aAAa;QACb,gBAAgB;QAChB,gBAAgB;QAChB,SAAS,EAAE,CAAC;KACb,CAAC,CAAC;AACL,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,sCAAsC,CAAC,gBAA+B,IAAI,EAAE,mBAAkC,IAAI,EAAE,mBAAkC,IAAI;IACxK,OAAO,UAAU,CAAC,qBAAqB,EAAE;QACvC,aAAa;QACb,gBAAgB;QAChB,gBAAgB;QAChB,SAAS,EAAE,CAAC;KACb,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,uCAAuC,CAAC,QAAQ,GAAG,KAAK,EAAE,QAAQ,GAAG,EAAE,EAAE,WAAW,GAAG,CAAC,EAAE,WAAW,GAAG,GAAG;IACzH,OAAO,UAAU,CAAC,sBAAsB,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE;QACvF,SAAS,EAAE,EAAE,QAAQ,EAAE;QACvB,mBAAmB,EAAE,gBAAgB,CAAC,mBAAmB,CAAC,GAAG;QAC7D,yBAAyB,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE;QACnF,4BAA4B,EAAE,QAAQ;QACtC,4BAA4B,EAAE,QAAQ;QACtC,QAAQ;QACR,cAAc,EAAE,EAAE,WAAW,EAAE,WAAW,EAAE,eAAe,EAAE,QAAQ,EAAE;KACxE,CAAC,CAAC;AACL,CAAC"}