node-switchbot 4.0.0-beta.11 → 4.0.0-beta.13

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 (269) hide show
  1. package/dist/ble.d.ts +10 -0
  2. package/dist/ble.d.ts.map +1 -1
  3. package/dist/ble.js +157 -29
  4. package/dist/ble.js.map +1 -1
  5. package/dist/devices/base.d.ts +45 -0
  6. package/dist/devices/base.d.ts.map +1 -1
  7. package/dist/devices/base.js +116 -0
  8. package/dist/devices/base.js.map +1 -1
  9. package/dist/devices/index.d.ts +7 -0
  10. package/dist/devices/index.d.ts.map +1 -1
  11. package/dist/devices/index.js +7 -0
  12. package/dist/devices/index.js.map +1 -1
  13. package/dist/devices/wo-ai-hub.d.ts +6 -0
  14. package/dist/devices/wo-ai-hub.d.ts.map +1 -0
  15. package/dist/devices/wo-ai-hub.js +7 -0
  16. package/dist/devices/wo-ai-hub.js.map +1 -0
  17. package/dist/devices/wo-air-purifier-pm25.d.ts +6 -0
  18. package/dist/devices/wo-air-purifier-pm25.d.ts.map +1 -0
  19. package/dist/devices/wo-air-purifier-pm25.js +7 -0
  20. package/dist/devices/wo-air-purifier-pm25.js.map +1 -0
  21. package/dist/devices/wo-air-purifier.d.ts +18 -1
  22. package/dist/devices/wo-air-purifier.d.ts.map +1 -1
  23. package/dist/devices/wo-air-purifier.js +74 -10
  24. package/dist/devices/wo-air-purifier.js.map +1 -1
  25. package/dist/devices/wo-blind-tilt.d.ts +1 -0
  26. package/dist/devices/wo-blind-tilt.d.ts.map +1 -1
  27. package/dist/devices/wo-blind-tilt.js +41 -2
  28. package/dist/devices/wo-blind-tilt.js.map +1 -1
  29. package/dist/devices/wo-bulb.d.ts +27 -1
  30. package/dist/devices/wo-bulb.d.ts.map +1 -1
  31. package/dist/devices/wo-bulb.js +124 -34
  32. package/dist/devices/wo-bulb.js.map +1 -1
  33. package/dist/devices/wo-candle-warmer-lamp.d.ts +6 -0
  34. package/dist/devices/wo-candle-warmer-lamp.d.ts.map +1 -0
  35. package/dist/devices/wo-candle-warmer-lamp.js +7 -0
  36. package/dist/devices/wo-candle-warmer-lamp.js.map +1 -0
  37. package/dist/devices/wo-curtain.d.ts +17 -1
  38. package/dist/devices/wo-curtain.d.ts.map +1 -1
  39. package/dist/devices/wo-curtain.js +106 -2
  40. package/dist/devices/wo-curtain.js.map +1 -1
  41. package/dist/devices/wo-hand.d.ts +1 -1
  42. package/dist/devices/wo-hand.d.ts.map +1 -1
  43. package/dist/devices/wo-hand.js +1 -2
  44. package/dist/devices/wo-hand.js.map +1 -1
  45. package/dist/devices/wo-humi.d.ts +17 -1
  46. package/dist/devices/wo-humi.d.ts.map +1 -1
  47. package/dist/devices/wo-humi.js +42 -2
  48. package/dist/devices/wo-humi.js.map +1 -1
  49. package/dist/devices/wo-humi2.d.ts +0 -12
  50. package/dist/devices/wo-humi2.d.ts.map +1 -1
  51. package/dist/devices/wo-humi2.js +0 -18
  52. package/dist/devices/wo-humi2.js.map +1 -1
  53. package/dist/devices/wo-pan-tilt-cam-plus-3k.d.ts +6 -0
  54. package/dist/devices/wo-pan-tilt-cam-plus-3k.d.ts.map +1 -0
  55. package/dist/devices/wo-pan-tilt-cam-plus-3k.js +7 -0
  56. package/dist/devices/wo-pan-tilt-cam-plus-3k.js.map +1 -0
  57. package/dist/devices/wo-relay-switch-1.d.ts +14 -0
  58. package/dist/devices/wo-relay-switch-1.d.ts.map +1 -1
  59. package/dist/devices/wo-relay-switch-1.js +47 -10
  60. package/dist/devices/wo-relay-switch-1.js.map +1 -1
  61. package/dist/devices/wo-relay-switch-2pm.d.ts.map +1 -1
  62. package/dist/devices/wo-relay-switch-2pm.js +4 -6
  63. package/dist/devices/wo-relay-switch-2pm.js.map +1 -1
  64. package/dist/devices/wo-remote-with-screen.d.ts +6 -0
  65. package/dist/devices/wo-remote-with-screen.d.ts.map +1 -0
  66. package/dist/devices/wo-remote-with-screen.js +7 -0
  67. package/dist/devices/wo-remote-with-screen.js.map +1 -0
  68. package/dist/devices/wo-rgbic-neon-wire-rope-light.d.ts +6 -0
  69. package/dist/devices/wo-rgbic-neon-wire-rope-light.d.ts.map +1 -0
  70. package/dist/devices/wo-rgbic-neon-wire-rope-light.js +7 -0
  71. package/dist/devices/wo-rgbic-neon-wire-rope-light.js.map +1 -0
  72. package/dist/devices/wo-water-detector.d.ts +6 -0
  73. package/dist/devices/wo-water-detector.d.ts.map +1 -0
  74. package/dist/devices/wo-water-detector.js +7 -0
  75. package/dist/devices/wo-water-detector.js.map +1 -0
  76. package/dist/errors.d.ts +20 -0
  77. package/dist/errors.d.ts.map +1 -1
  78. package/dist/errors.js +31 -1
  79. package/dist/errors.js.map +1 -1
  80. package/dist/index.d.ts +2 -2
  81. package/dist/index.d.ts.map +1 -1
  82. package/dist/index.js +1 -1
  83. package/dist/index.js.map +1 -1
  84. package/dist/settings.d.ts +5 -0
  85. package/dist/settings.d.ts.map +1 -1
  86. package/dist/settings.js +17 -1
  87. package/dist/settings.js.map +1 -1
  88. package/dist/switchbot.d.ts.map +1 -1
  89. package/dist/switchbot.js +14 -0
  90. package/dist/switchbot.js.map +1 -1
  91. package/dist/types/device.d.ts +28 -3
  92. package/dist/types/device.d.ts.map +1 -1
  93. package/dist/utils/index.d.ts +5 -0
  94. package/dist/utils/index.d.ts.map +1 -1
  95. package/dist/utils/index.js +9 -0
  96. package/dist/utils/index.js.map +1 -1
  97. package/dist/utils/relay-encryption.d.ts +10 -0
  98. package/dist/utils/relay-encryption.d.ts.map +1 -0
  99. package/dist/utils/relay-encryption.js +23 -0
  100. package/dist/utils/relay-encryption.js.map +1 -0
  101. package/dist/utils/retry.d.ts.map +1 -1
  102. package/dist/utils/retry.js +49 -6
  103. package/dist/utils/retry.js.map +1 -1
  104. package/docs/assets/hierarchy.js +1 -1
  105. package/docs/assets/navigation.js +1 -1
  106. package/docs/assets/search.js +1 -1
  107. package/docs/classes/APIError.html +2 -2
  108. package/docs/classes/APINotAvailableError.html +2 -2
  109. package/docs/classes/BLEConnection.html +11 -9
  110. package/docs/classes/BLENotAvailableError.html +2 -2
  111. package/docs/classes/BLEScanner.html +9 -9
  112. package/docs/classes/CommandFailedError.html +2 -2
  113. package/docs/classes/ConnectionTimeoutError.html +2 -2
  114. package/docs/classes/DeviceManager.html +13 -13
  115. package/docs/classes/DeviceNotFoundError.html +2 -2
  116. package/docs/classes/DeviceOverrideStateDuringConnection.html +55 -28
  117. package/docs/classes/DiscoveryError.html +2 -2
  118. package/docs/classes/OpenAPIClient.html +24 -24
  119. package/docs/classes/SequenceDevice.html +56 -29
  120. package/docs/classes/SwitchBot.html +11 -11
  121. package/docs/classes/SwitchBotDevice.html +55 -28
  122. package/docs/classes/SwitchBotError.html +2 -2
  123. package/docs/classes/ValidationError.html +2 -2
  124. package/docs/classes/WoAIHub.html +83 -0
  125. package/docs/classes/WoAirPurifier.html +56 -33
  126. package/docs/classes/WoAirPurifierPM25.html +83 -0
  127. package/docs/classes/WoAirPurifierTable.html +56 -33
  128. package/docs/classes/WoArtFrame.html +67 -35
  129. package/docs/classes/WoBlindTilt.html +63 -34
  130. package/docs/classes/WoBulb.html +67 -35
  131. package/docs/classes/WoCandleWarmerLamp.html +83 -0
  132. package/docs/classes/WoCeilingLight.html +67 -35
  133. package/docs/classes/WoCirculatorFan.html +56 -33
  134. package/docs/classes/WoClimatePanel.html +56 -33
  135. package/docs/classes/WoContact.html +55 -28
  136. package/docs/classes/WoCurtain.html +64 -32
  137. package/docs/classes/WoFloorLamp.html +67 -35
  138. package/docs/classes/WoGarageDoorOpener.html +62 -32
  139. package/docs/classes/WoHand.html +56 -38
  140. package/docs/classes/WoHub2.html +55 -28
  141. package/docs/classes/WoHub3.html +55 -28
  142. package/docs/classes/WoHubMiniMatter.html +55 -28
  143. package/docs/classes/WoHumi.html +58 -32
  144. package/docs/classes/WoHumi2.html +58 -38
  145. package/docs/classes/WoIOSensorTH.html +55 -28
  146. package/docs/classes/WoKeypad.html +55 -28
  147. package/docs/classes/WoKeypadVision.html +55 -28
  148. package/docs/classes/WoKeypadVisionPro.html +55 -28
  149. package/docs/classes/WoLeak.html +55 -28
  150. package/docs/classes/WoPanTiltCamPlus3K.html +83 -0
  151. package/docs/classes/WoPlugMiniJP.html +58 -31
  152. package/docs/classes/WoPlugMiniUS.html +58 -31
  153. package/docs/classes/WoPresence.html +55 -28
  154. package/docs/classes/WoRGBICBulb.html +69 -37
  155. package/docs/classes/WoRGBICNeonWireRopeLight.html +83 -0
  156. package/docs/classes/WoRGBICWWFloorLamp.html +69 -37
  157. package/docs/classes/WoRGBICWWStripLight.html +69 -37
  158. package/docs/classes/WoRelaySwitch1.html +62 -32
  159. package/docs/classes/WoRelaySwitch1PM.html +62 -32
  160. package/docs/classes/WoRelaySwitch2PM.html +64 -34
  161. package/docs/classes/WoRemote.html +55 -28
  162. package/docs/classes/WoRemoteWithScreen.html +83 -0
  163. package/docs/classes/WoRollerShade.html +64 -32
  164. package/docs/classes/WoSensorTH.html +55 -28
  165. package/docs/classes/WoSensorTHPlus.html +55 -28
  166. package/docs/classes/WoSensorTHPro.html +55 -28
  167. package/docs/classes/WoSensorTHProCO2.html +55 -28
  168. package/docs/classes/WoSmartLock.html +58 -31
  169. package/docs/classes/WoSmartLockLite.html +58 -31
  170. package/docs/classes/WoSmartLockPro.html +60 -33
  171. package/docs/classes/WoSmartLockProWiFi.html +60 -33
  172. package/docs/classes/WoSmartLockVision.html +58 -31
  173. package/docs/classes/WoSmartLockVisionPro.html +60 -33
  174. package/docs/classes/WoSmartThermostatRadiator.html +56 -33
  175. package/docs/classes/WoStrip.html +67 -35
  176. package/docs/classes/WoStripLight3.html +67 -35
  177. package/docs/classes/WoVacuum.html +63 -36
  178. package/docs/classes/WoVacuumK10Plus.html +63 -36
  179. package/docs/classes/WoVacuumK10Pro.html +63 -36
  180. package/docs/classes/WoVacuumK10ProCombo.html +63 -36
  181. package/docs/classes/WoVacuumK11Plus.html +63 -36
  182. package/docs/classes/WoVacuumK20.html +63 -36
  183. package/docs/classes/WoVacuumS10.html +63 -36
  184. package/docs/classes/WoVacuumS20.html +63 -36
  185. package/docs/classes/WoWaterDetector.html +83 -0
  186. package/docs/enums/LogLevel.html +2 -2
  187. package/docs/enums/SwitchBotBLEModel.html +2 -2
  188. package/docs/enums/SwitchBotBLEModelName.html +2 -2
  189. package/docs/functions/updateBaseURL.html +1 -1
  190. package/docs/hierarchy.html +1 -1
  191. package/docs/interfaces/APICommandRequest.html +2 -2
  192. package/docs/interfaces/APICommandResponse.html +2 -2
  193. package/docs/interfaces/APIDevice.html +2 -2
  194. package/docs/interfaces/APIDeviceStatus.html +2 -2
  195. package/docs/interfaces/APIErrorResponse.html +2 -2
  196. package/docs/interfaces/APIResponse.html +2 -2
  197. package/docs/interfaces/AirPurifierCommands.html +3 -2
  198. package/docs/interfaces/AirPurifierServiceData.html +14 -14
  199. package/docs/interfaces/AirPurifierStatus.html +7 -7
  200. package/docs/interfaces/BLEAdvertisement.html +2 -2
  201. package/docs/interfaces/BLEScanOptions.html +5 -5
  202. package/docs/interfaces/BLEServiceData.html +14 -14
  203. package/docs/interfaces/BlindTiltCommands.html +2 -2
  204. package/docs/interfaces/BlindTiltServiceData.html +14 -14
  205. package/docs/interfaces/BlindTiltStatus.html +7 -6
  206. package/docs/interfaces/BotCommands.html +2 -2
  207. package/docs/interfaces/BotServiceData.html +14 -14
  208. package/docs/interfaces/BotStatus.html +6 -6
  209. package/docs/interfaces/BulbCommands.html +4 -2
  210. package/docs/interfaces/BulbServiceData.html +14 -14
  211. package/docs/interfaces/BulbStatus.html +6 -6
  212. package/docs/interfaces/CeilingLightCommands.html +4 -2
  213. package/docs/interfaces/CeilingLightServiceData.html +14 -14
  214. package/docs/interfaces/CeilingLightStatus.html +6 -6
  215. package/docs/interfaces/CommandResult.html +6 -6
  216. package/docs/interfaces/ContactServiceData.html +14 -14
  217. package/docs/interfaces/ContactStatus.html +6 -6
  218. package/docs/interfaces/CurtainCommands.html +5 -2
  219. package/docs/interfaces/CurtainExtendedInfo.html +4 -0
  220. package/docs/interfaces/CurtainServiceData.html +14 -14
  221. package/docs/interfaces/CurtainStatus.html +6 -6
  222. package/docs/interfaces/DeviceInfo.html +18 -18
  223. package/docs/interfaces/DeviceListResponse.html +2 -2
  224. package/docs/interfaces/DeviceStatus.html +6 -6
  225. package/docs/interfaces/DiscoveryOptions.html +7 -7
  226. package/docs/interfaces/HubServiceData.html +14 -14
  227. package/docs/interfaces/HubStatus.html +6 -6
  228. package/docs/interfaces/HumidifierCommands.html +6 -2
  229. package/docs/interfaces/HumidifierServiceData.html +15 -15
  230. package/docs/interfaces/HumidifierStatus.html +6 -6
  231. package/docs/interfaces/KeypadStatus.html +6 -6
  232. package/docs/interfaces/LeakServiceData.html +14 -14
  233. package/docs/interfaces/LeakStatus.html +6 -6
  234. package/docs/interfaces/LockCommands.html +2 -2
  235. package/docs/interfaces/LockServiceData.html +15 -15
  236. package/docs/interfaces/LockStatus.html +6 -6
  237. package/docs/interfaces/MeterServiceData.html +14 -14
  238. package/docs/interfaces/MeterStatus.html +6 -6
  239. package/docs/interfaces/MotionServiceData.html +14 -14
  240. package/docs/interfaces/MotionStatus.html +6 -6
  241. package/docs/interfaces/PlugCommands.html +2 -2
  242. package/docs/interfaces/PlugServiceData.html +14 -14
  243. package/docs/interfaces/PlugStatus.html +6 -6
  244. package/docs/interfaces/PresenceServiceData.html +14 -14
  245. package/docs/interfaces/PresenceStatus.html +6 -6
  246. package/docs/interfaces/RelaySwitchCommands.html +2 -2
  247. package/docs/interfaces/RelaySwitchServiceData.html +14 -14
  248. package/docs/interfaces/RelaySwitchStatus.html +6 -6
  249. package/docs/interfaces/RemoteStatus.html +6 -6
  250. package/docs/interfaces/SceneListResponse.html +2 -2
  251. package/docs/interfaces/StripCommands.html +4 -2
  252. package/docs/interfaces/StripServiceData.html +14 -14
  253. package/docs/interfaces/StripStatus.html +6 -6
  254. package/docs/interfaces/SwitchBotConfig.html +15 -15
  255. package/docs/interfaces/VacuumCommands.html +2 -2
  256. package/docs/interfaces/VacuumStatus.html +6 -6
  257. package/docs/interfaces/WebhookConfig.html +2 -2
  258. package/docs/interfaces/WebhookDetails.html +2 -2
  259. package/docs/interfaces/WebhookQueryResponse.html +2 -2
  260. package/docs/interfaces/WebhookSetupResponse.html +2 -2
  261. package/docs/modules.html +1 -1
  262. package/docs/types/ConnectionType.html +1 -1
  263. package/docs/types/PhysicalDeviceType.html +1 -1
  264. package/docs/types/VirtualDeviceType.html +1 -1
  265. package/docs/variables/urls.html +1 -1
  266. package/package.json +2 -2
  267. package/todo/PYSWITCHBOT_COMPARISON.md +5 -9
  268. package/todo/completed.md +179 -0
  269. package/todo/todo.md +54 -122
@@ -3,6 +3,30 @@
3
3
  * utils/retry.ts: SwitchBot v4.0.0 - Retry Logic with Exponential Backoff
4
4
  */
5
5
  import { Logger } from './index.js';
6
+ // BLEAK_RETRY_EXCEPTIONS: error messages/types that should trigger a retry
7
+ const BLEAK_RETRY_EXCEPTIONS = [
8
+ 'Device with address',
9
+ 'Failed to connect to peripheral',
10
+ 'org.freedesktop.DBus.Error',
11
+ 'org.bluez.Error',
12
+ 'Connection was reset',
13
+ 'Connection timed out',
14
+ 'Operation already in progress',
15
+ 'Operation failed',
16
+ 'Not connected',
17
+ 'No such device',
18
+ 'Resource temporarily unavailable',
19
+ 'Software caused connection abort',
20
+ 'Connection refused',
21
+ 'Connection reset by peer',
22
+ 'Connection aborted',
23
+ 'Connection error',
24
+ 'TimeoutError',
25
+ ];
26
+ /**
27
+ * DBus/BlueZ error regex (moved to module scope for performance)
28
+ */
29
+ const DBUS_ERROR_REGEX = /org\.freedesktop\.DBus|org\.bluez|DBus|BlueZ/i;
6
30
  /**
7
31
  * Retry executor with exponential backoff
8
32
  */
@@ -54,23 +78,42 @@ export class RetryExecutor {
54
78
  }
55
79
  catch (error) {
56
80
  lastError = error instanceof Error ? error : new Error(String(error));
81
+ const errorMsg = lastError.message || String(lastError);
82
+ const isDBusError = DBUS_ERROR_REGEX.test(errorMsg);
83
+ const isBleakRetry = BLEAK_RETRY_EXCEPTIONS.some(msg => errorMsg.includes(msg));
57
84
  const elapsedMs = Date.now() - (Date.now() - totalTimeMs);
58
85
  totalTimeMs += elapsedMs;
59
- if (attemptNumber < this.config.maxAttempts) {
86
+ if (attemptNumber < this.config.maxAttempts && (isDBusError || isBleakRetry || attemptNumber < this.config.maxAttempts)) {
87
+ // DBus error: always backoff 0.25s (250ms) before normal backoff
88
+ if (isDBusError) {
89
+ this.logger.warn(`${description} DBus error detected on attempt ${attemptNumber}, applying 250ms backoff`, { error: errorMsg });
90
+ await new Promise(resolve => setTimeout(resolve, 250));
91
+ }
60
92
  const delayMs = this.calculateDelay(attemptNumber);
61
- this.logger.warn(`${description} failed on attempt ${attemptNumber}/${this.config.maxAttempts}, retrying in ${delayMs}ms`, { error: lastError.message });
62
- // Wait before retrying
93
+ this.logger.warn(`${description} failed on attempt ${attemptNumber}/${this.config.maxAttempts}, retrying in ${delayMs}ms`, {
94
+ error: errorMsg,
95
+ attempt: attemptNumber,
96
+ errorType: lastError.name,
97
+ isDBusError,
98
+ isBleakRetry,
99
+ });
63
100
  await new Promise(resolve => setTimeout(resolve, delayMs));
64
101
  }
65
102
  else {
66
- this.logger.error(`${description} failed after ${attemptNumber} attempts`, { error: lastError.message });
103
+ this.logger.error(`${description} failed after ${attemptNumber} attempts`, {
104
+ error: errorMsg,
105
+ attempt: attemptNumber,
106
+ errorType: lastError.name,
107
+ isDBusError,
108
+ isBleakRetry,
109
+ });
67
110
  }
68
111
  }
69
112
  }
70
113
  return {
71
114
  success: false,
72
- error: lastError || new Error('Unknown error'),
73
- attemptsCount: attemptNumber,
115
+ error: new Error(`Retry failed after ${attemptNumber - 1} attempts. Last error: ${lastError?.name || 'Unknown'}: ${lastError?.message || 'Unknown error'}`),
116
+ attemptsCount: attemptNumber - 1,
74
117
  totalTimeMs,
75
118
  };
76
119
  }
@@ -1 +1 @@
1
- {"version":3,"file":"retry.js","sourceRoot":"","sources":["../../src/utils/retry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"retry.js","sourceRoot":"","sources":["../../src/utils/retry.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- window.hierarchyData = "eJydm1tz27YSx78Ln7enuF/8Fit1k9ZuNJGbPHTyQEuMzSlF5lBUzmQ6/u5nVpRlgqSERV8UM/oDP+wuLguA+idrm6bbZVd/Oe4cWOslOMEVOKHwL6vBSWvAGWPAKS7BKa3AaWbBaalBGgtWOw3OMPsFsrb4WhXrrmzqXXb1TyaNxX/qfFtkV9nqf2W3frpuurfF93JdZJD9Xdab7IoLB9m+rbKrbF3lu12x+3kk/c9Tt60y6L/OrrJut/kJy/7U/wdk66ey2rRFnV39pZwDwxhw5i1wIRhwKyVwpyQIqTUI4zRIpgRIaQVIyx0owTgoZ/yXZ8iUc4NW9y348L1o23JTrLq8K97u27J+XDR13dt6yRJC8RTrhOAWpGEMG2oYG7q3+O++qNcFwbuBMgVvuQfphAMtmQetrQQrvcbGWO4HjfncvCnb5b4tv5ZFe6ktgTClKU5x4Mp54IZz0E4dWuEUP9eK+/yhuuiWqTrSnmfIvJEhr+1uWny4zDmq4vVjLw4A11VZb+7LqrtMOMkICCFYiNhXD5Ha99VDSqy8kcBx7HFvNCjJORghORhpDlHD74ImLIqyKuvH2/LxKWLoUEmwVbmwly7Kdr2v8q5pb/KL43gkJaAMD7vioiq3eVcs87qoIqSBkgCyMuyDi6bu8nXMb72IUL1To+r3bZeXMWf1oqSJ2yp76AzehJ3hpmqa9jbffruMPMniNgnmw27wa97mj8Xbpmk/fCvq2Iw1VhOAgofD+F1eby5DUEGoeDxy3u0fRKTi/YNIWnKU0SC0PYxUfBjzZJQnCYZoO6n4rqzLu7zrYvEIpASUcWPUtowRtmWSzxzr3eXYFBWNz7aMBQir9lIEVb//sCrqXdPev7tc/6suDsE0KYD8Xvz4lkd6bq9JcZfkWoAURqDP8GGG+ancRVKtUEkwTpjzoGXb0FnLtiHgpA1xt0X+92UGKggVKxdWvKz2jzggflterv5VR4CEyeZr4T9XNMifq6QeoVzfGSx3IbYtdpi7RqBHFcEuJ0LAx6LKf/T7D34ZMlQmTQ7Me5Bee1DMHpY8fDjbiOUdvRnLu7jFCD0HEwkwQYIJxkewbdNFotdrCJXLUYr18dfr94t4+nqSJaUnSltQhh26JT5MyZ8/E1OVsZpgqmFiDrjq2vIbIU2eyAlIq0Y2NlVVtKunfBOL36uQgHEm7Pu0VYy4hoUDz0sBylsPmjkPmvt+v+/tfAuW1X5HawUq46YidR4UW2wGQgKG+7OYxYdI9hFqCTDJRrBt3na3zTqytJ1kKQHUSknQ3hwmTXyYJ9+WsRkmkBKM1PYMKh65gTLJVIubZOZ7U+1oohvW+rm8iWSvYzXBYKf0FHj/VLTbZtfl3cd8U+JOmMCdFiLgvbHz9lKywJE4jjPjQ5ZRDfQgJ6SDeAASQnFujnBQQqhajjZpr9N+ZK82EBIwajTPfMrX+/32d87iE2cgJaCMsGdQbbNotg+RAE3kBKQd7ayHddBpBJBzchbE6W7kNDdaNppHjuUFI2EEIyC4nOsUK05CrDgFIcxcZ1jRrFiRrJB+LviU+lMmeRxBgH0bsLcB9gTAGAF6EdDOw8m6lsMtypvl+1/a9vLc+6IhWKqDLO/N8v0fTffme15WeABOAU30FGiwxb++/SUJOqcnQYeWLprtNq83N3lZFZsocqqmAI0JgC8XPvfltmj2HQE6V4ICDtKV/prnj6a7afZ13NQZOQkZXJqVu3XzvWh/xGmBkgIKDu9OF4VRUKhMuvTS0gGOE8B+ix/4lzFgD/df2uK3nvdD1Q8n2E95VW5yDGC0eSMpwRE2WOQHV1erosUIvs27/EQU2rwQy7or2q/5GkfvbKGz7FPJnu9lOIbp3FBM4IXxsEaDdcyBdcKAxZtA65wF65kG64UC65UE640A6zE83mtwDO+vmeTgmBbgWH/bixUN7Xi5OEuwZqYI0YdODGeI6yaF2vwbXnA9ikcgCcBQnRw1ZxQ45volzRk1nBoHl3j0Bp0pRXWFC1eDw3VYAnxSgMj1wY3A8Z4sgTspQOWKocff7RMiH4qpvGB3jpcam8TZabYMlR4c7eM5Op07UlOJwQKIm8EEYqimEoMc9a7oUpw7ltOYOIcOmQ0uWAnQsZ5KDbbKeKNAZ47UVGKQoL5cJyRQpyWo5OA4dHDeTofPF6Lyg3nxcCBAJ4/lRCYP3rgaZCXHtHtHz2NeSiQvT/yQDTjB5Jmsqsu7fUJDej3RAYKruRyEaP5En2o8P54zOiFn20GyfaSmWh4sE9cN2ebmX1uLL2P01gbnCJhQkexsEi0MXmzALIpq4kCaHFF88dFJwcFpc9iaOMnsOPcjmXsSprbBSS3BaS97vOBnMj6iO+aKEEMgtTyXbVJcMC1A5Zq5HJOEHGqpNGummSXVuaE6ubs5dYxysCl8SVZJFg+1RIsVG+e0FNJJR6Xw+UyW6NppgeQJy7jjy63BuwqD/JhmdiinWq+G7330b72QeEMpmWXHWTuF9CqkcrQa5erEWA6lqVE8vTLdh9Lx8XaBZOpJSDXVs8kmgQIaKMkkP90akFADKZGlg7UMU3xiAIfS1AC+vHbvNB/TSXa+CqlWBpdepy0FiRWIqTyp57ceROfOlEj2sROu97E60xaS+RM91QM6pOJ7SETgq5TKMny80SL6OdBSacHC3O/TKIYNlESSCcZmfylGNCwUJ2/hjr9EcUbySQtIxg6lVGuDO57+7oTEGkqTM2vB8OdZEn+oZSxgag+YbALmX4BpEWCuALh444cFXG8AFwP88IBTGOD8AjjQAPs9oNu+PD8//x9gZ4x2"
1
+ window.hierarchyData = "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"
@@ -1 +1 @@
1
- window.navigationData = "eJyVml134jYQhv8L13uaQLrbNneBJJt0IaFxPi56eiFsBXRiS1SWaDk9+997jPmQ7NHM7C3vM080si05gj//Gzj5rxtcDqZmOZUbWQ4+DdbCrQaXA6l9VZ8dPv9p5aom/FC6GFz++v3TsTL7R7l8NTZuPL2ZmaKv6AE/4HoQlSR9DZR2Xs3vb6w19qTJS1HXsj47JHHtcNSpfjDuaiNUKRalTJt6FGYdT28mRmuZO2V0XxfFhIcxOogirFkutJawa59hhompKqGLW6FKWSRG1Wdw42E+nlUljXdJK8Rh5mu5UbmcCS2WUMNRTHsejLs1XqeaBiDa+biR1qpCZk44ee2t0kvs7mEUoX9T1bnZSLtNtRDlmOlxLfXV/H5SKqldXxTFmCeTf3upc9k21hfFOWo6LB2A5BCx6pNDiQGWKzHPcY6ZXkWpCtFc14SqA2CuN3Ol7Nxb9a6gpyGK2Z7nZtkhZDuGMFp3a6MNITDtM9wwLpUunlUJXP8gJBy+XIDlvlzglROpSqWXU7VcgQMIc8KkbO5L4Yy9FcAK0AEIV6kq4eRc6HDrDlRBTpiMdiKHW2sjot5bJxTcTxvh9belMXYqqjVkOIa446uwYimvjbHN8gQ/Al0GN94JXUCW5nOi0i9GYKVfjMjKi0TlBVk5U1rNhHNw8xFAuSoFKypFVyZarxTR+/1jJnVt7PMdJDiluOWb3K4FeN3ahFP9qmpwg45zvmluDSWbW4P7plJ8QJLmc7xyXvplc+V/n0P1p5Rneckwy0tGWKysmx0fdOwz3PAkS7Ftt9ghZAlzvmk+o1zzGds2Im0j2lYZB85SmxDVX8f3k9R2dwwZjrc3dGnuMixj5qxaJ7fSHkQ4TVlKm61EAU/WKcY92MrDW3cO1Lz0NWZpcqYJXjWCmO2ZPIKLckwQtkpYNzU5uAgdQ6ZjquCbOwKYrtQ0BTnf9KZuwZ2vyzCN6Y2kg/yQj+qYuaPs+OeVtJWpnXBPolDNe2dS3UcJf/MMg7YmYNTunn/wdSiIcc+ryL2vIEWbcKq/Dc9TD3UEcF3w1QtzvmliqgWp20E855DqdMjudHSOeEbnHEc2RBzZkOfAxpHh4wj+y90fegVzo7ST9l3kzSlin4u1o89fYG0mbXPccC2coMwBypU74Tw54pZClfP7fVtPzYFN7WBll+Iq67XRtSSdLUZIu8c7sQs620kosLmLGUK3O7ihmowgQki5OJrx9Oaq2EjrVC2r6IwvcHUhQticLj+um7MqeNpihJIRz0WMoLLD4RD6BPcolpIcJQDyxOm7r8OgOkM0bXjtGrpRw27RoM0ZTlu+XOB9BQAlIjuLGVKH9HaMMUl4lIg2CYFcMdV0gmXr05PQx1Dpce33JbxGRQSu2p1jkp33MI4U6TckUFV7Topf8phh6Mh2exhHirQbEpiq3UDv9bsBPaeYlkxV7dA9sY/RUqRH7t5//LoN2xS7ECa88+RqFSOULN3jMcUVlSrol+M+xpPSvQIkU411HkOYsD2/RWQhgImaM1yq3Q5D6tKjOsWoxOQf6HUNAUpENhczpA5p7hhjkpl09A3WhWhhelhBjmpMswqQA+tSDCUytADARM0RP3pDhAAlolrsMKQu3d4pRiX77x7IcfU5lhYZX4RgsuD7A/Q6ABxTS3UPo1x5eg56FK5svgBBbScAE2W51PTbQ49Clc25JHpxIoJUURekC9HC9LQFOao5/LplYvS7WsKqmMF07TkcOmUxQsuQHkMAE73JxcqYD6TFiGCorqUTqoRHFSMM2R9e2i1610IgQ5xJ59cccQQS/yIdfta3XQdKt13HP/rbrrue899+GX4ehavpalurXJTtGzjk6xOU81VZ5zFlD6CM3oaXeSOsan4gVZ81n8e1F1HZuhBOjkUtX56mp/p3r3fzU59FQCz68vP3v/4HnPkMNQ=="
1
+ window.navigationData = "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"