homebridge-config-ui-x 5.6.0 → 5.6.1-beta.0

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 (178) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/dist/core/auth/auth.controller.d.ts +2 -0
  3. package/dist/core/config/config.interfaces.d.ts +118 -0
  4. package/dist/core/config/config.interfaces.js +3 -0
  5. package/dist/core/config/config.interfaces.js.map +1 -0
  6. package/dist/core/config/config.service.d.ts +6 -74
  7. package/dist/core/config/config.service.js +5 -0
  8. package/dist/core/config/config.service.js.map +1 -1
  9. package/dist/core/config/config.startup.d.ts +2 -12
  10. package/dist/core/config/config.startup.js +12 -0
  11. package/dist/core/config/config.startup.js.map +1 -1
  12. package/dist/core/spa/spa-html.service.d.ts +5 -0
  13. package/dist/core/spa/spa-html.service.js +38 -0
  14. package/dist/core/spa/spa-html.service.js.map +1 -0
  15. package/dist/core/spa/spa.filter.d.ts +3 -0
  16. package/dist/core/spa/spa.filter.js +22 -2
  17. package/dist/core/spa/spa.filter.js.map +1 -1
  18. package/dist/globalDefaults.js +3 -0
  19. package/dist/globalDefaults.js.map +1 -1
  20. package/dist/main.js +18 -3
  21. package/dist/main.js.map +1 -1
  22. package/dist/modules/backup/backup.service.js +4 -1
  23. package/dist/modules/backup/backup.service.js.map +1 -1
  24. package/dist/modules/config-editor/config-editor.controller.d.ts +3 -3
  25. package/dist/modules/config-editor/config-editor.service.d.ts +3 -2
  26. package/dist/modules/config-editor/config-editor.service.js +36 -13
  27. package/dist/modules/config-editor/config-editor.service.js.map +1 -1
  28. package/dist/modules/custom-plugins/plugins-settings-ui/plugins-settings-ui.service.d.ts +1 -1
  29. package/dist/modules/custom-plugins/plugins-settings-ui/plugins-settings-ui.service.js +2 -1
  30. package/dist/modules/custom-plugins/plugins-settings-ui/plugins-settings-ui.service.js.map +1 -1
  31. package/dist/modules/log/log.gateway.d.ts +1 -1
  32. package/dist/modules/log/log.interfaces.d.ts +4 -0
  33. package/dist/modules/log/log.interfaces.js +3 -0
  34. package/dist/modules/log/log.interfaces.js.map +1 -0
  35. package/dist/modules/log/log.service.d.ts +1 -4
  36. package/dist/modules/log/log.service.js.map +1 -1
  37. package/dist/modules/platform-tools/terminal/terminal.gateway.d.ts +1 -1
  38. package/dist/modules/platform-tools/terminal/terminal.interfaces.d.ts +8 -0
  39. package/dist/modules/platform-tools/terminal/terminal.interfaces.js +3 -0
  40. package/dist/modules/platform-tools/terminal/terminal.interfaces.js.map +1 -0
  41. package/dist/modules/platform-tools/terminal/terminal.service.d.ts +1 -8
  42. package/dist/modules/platform-tools/terminal/terminal.service.js.map +1 -1
  43. package/dist/modules/plugins/plugins.controller.d.ts +5 -5
  44. package/dist/modules/plugins/plugins.interfaces.d.ts +211 -0
  45. package/dist/modules/plugins/plugins.interfaces.js +3 -0
  46. package/dist/modules/plugins/plugins.interfaces.js.map +1 -0
  47. package/dist/modules/plugins/plugins.service.d.ts +1 -1
  48. package/dist/modules/plugins/plugins.service.js +6 -0
  49. package/dist/modules/plugins/plugins.service.js.map +1 -1
  50. package/dist/modules/server/server.controller.d.ts +3 -0
  51. package/dist/modules/server/server.controller.js +13 -0
  52. package/dist/modules/server/server.controller.js.map +1 -1
  53. package/dist/modules/server/server.service.js +5 -3
  54. package/dist/modules/server/server.service.js.map +1 -1
  55. package/dist/modules/status/status.controller.d.ts +2 -2
  56. package/dist/modules/status/status.gateway.d.ts +5 -5
  57. package/dist/modules/status/status.interfaces.d.ts +27 -0
  58. package/dist/modules/status/status.interfaces.js +10 -0
  59. package/dist/modules/status/status.interfaces.js.map +1 -0
  60. package/dist/modules/status/status.service.d.ts +2 -29
  61. package/dist/modules/status/status.service.js +4 -9
  62. package/dist/modules/status/status.service.js.map +1 -1
  63. package/package.json +1 -1
  64. package/public/3rdpartylicenses.txt +13 -13
  65. package/public/{chunk-R6UTID3Z.js → chunk-3KZ2CQME.js} +1 -1
  66. package/public/{chunk-AXPU54UR.js → chunk-3RRGKSPT.js} +1 -1
  67. package/public/{chunk-2KX534PL.js → chunk-4DK3FKYT.js} +2 -2
  68. package/public/{chunk-4MEUIWY4.js → chunk-5N45B6R7.js} +1 -1
  69. package/public/{chunk-WVUXQTE4.js → chunk-5TSHBP5C.js} +1 -1
  70. package/public/chunk-6RX2BRBU.js +49 -0
  71. package/public/chunk-6WJAO3GJ.js +1 -0
  72. package/public/chunk-6WL6JBW6.js +40 -0
  73. package/public/chunk-7B34LSFR.js +1 -0
  74. package/public/chunk-7RTQINLX.js +1 -0
  75. package/public/{chunk-5DLJ5232.js → chunk-AT26KEEX.js} +1 -1
  76. package/public/chunk-BYZTDI6B.js +1 -0
  77. package/public/{chunk-GCUB4KBA.js → chunk-CGPMZGNR.js} +1 -1
  78. package/public/chunk-CGSU6LWR.js +1 -0
  79. package/public/{chunk-I4PCV2JL.js → chunk-CL4IO7CM.js} +1 -1
  80. package/public/{chunk-4HV5VBUX.js → chunk-D2RHA7X2.js} +1 -1
  81. package/public/chunk-DCXKKXB4.js +1 -0
  82. package/public/{chunk-45O7A76J.js → chunk-FYMNQKSS.js} +1 -1
  83. package/public/chunk-GAKPDISY.js +1 -0
  84. package/public/chunk-GI6U2XR2.js +1 -0
  85. package/public/chunk-GZLH72PR.js +1 -0
  86. package/public/{chunk-YCD2MWRV.js → chunk-HIWFIZVC.js} +1 -1
  87. package/public/chunk-I2CB6FNC.js +1 -0
  88. package/public/{chunk-FXRCC47A.js → chunk-IDU7UYST.js} +1 -1
  89. package/public/chunk-IGJCCPMK.js +1 -0
  90. package/public/{chunk-YIC5UWBJ.js → chunk-IHGRCBAQ.js} +1 -1
  91. package/public/chunk-J73TLQUR.js +1 -0
  92. package/public/chunk-JFGBC67H.js +1 -0
  93. package/public/{chunk-6YLT7NDE.js → chunk-L3SI6T5C.js} +1 -1
  94. package/public/{chunk-B7ACJ247.js → chunk-LHQCUFCP.js} +1 -1
  95. package/public/chunk-LOWN3NM6.js +1 -0
  96. package/public/chunk-LV5TYHZ7.js +1 -0
  97. package/public/chunk-M5NNILBO.js +1 -0
  98. package/public/{chunk-732ZZPJC.js → chunk-MD7IQ7EC.js} +1 -1
  99. package/public/{chunk-YBEY6H6T.js → chunk-MGYPZDF6.js} +1 -1
  100. package/public/chunk-N2C6CZAF.js +1 -0
  101. package/public/{chunk-6HYJYHLY.js → chunk-ODGGUANG.js} +1 -1
  102. package/public/{chunk-5SA6BZRC.js → chunk-OQM4FTFW.js} +1 -1
  103. package/public/{chunk-A2HWJ2G5.js → chunk-OUVAQ37U.js} +1 -1
  104. package/public/{chunk-2JOEE6TH.js → chunk-PFIRHRM5.js} +1 -1
  105. package/public/chunk-PPIXBDS7.js +1 -0
  106. package/public/{chunk-AJTGODYF.js → chunk-QHDPBN4J.js} +1 -1
  107. package/public/chunk-RCXQRRQJ.js +1 -0
  108. package/public/chunk-RHAKODUV.js +1 -0
  109. package/public/chunk-S4XJ2W2R.js +1 -0
  110. package/public/chunk-SKNG2LDC.js +1 -0
  111. package/public/chunk-SZPZVJCY.js +1 -0
  112. package/public/chunk-TH354Y65.js +1 -0
  113. package/public/chunk-TUN7H57E.js +1 -0
  114. package/public/chunk-TUNQYUAE.js +2 -0
  115. package/public/chunk-U35I6VGA.js +19 -0
  116. package/public/{chunk-CWBLLOU5.js → chunk-UERLDONE.js} +1 -1
  117. package/public/chunk-UVVKDQFR.js +1 -0
  118. package/public/{chunk-WIM4XI75.js → chunk-V4K2YYFC.js} +1 -1
  119. package/public/{chunk-IJKIT7A3.js → chunk-VAMR4YGW.js} +1 -1
  120. package/public/{chunk-22PVDFCE.js → chunk-VC3QRLND.js} +1 -1
  121. package/public/chunk-VKQXCRDO.js +1 -0
  122. package/public/chunk-VVLYWC4A.js +1 -0
  123. package/public/chunk-WFHNWAZU.js +1 -0
  124. package/public/chunk-WJBYM3CK.js +1 -0
  125. package/public/chunk-X34FKKHJ.js +1 -0
  126. package/public/chunk-YA5P53NT.js +1 -0
  127. package/public/chunk-YHHN4XHF.js +1 -0
  128. package/public/chunk-YMPR6QRX.js +1 -0
  129. package/public/chunk-YO4MD7AK.js +1 -0
  130. package/public/{chunk-26EI4TMU.js → chunk-YRDGMK4T.js} +1 -1
  131. package/public/chunk-ZF77F3NH.js +1 -0
  132. package/public/chunk-ZHRPBG7M.js +5 -0
  133. package/public/index.html +2 -2
  134. package/public/main-EG2GJFYG.js +1 -0
  135. package/public/{styles-KAER7B5R.css → styles-5R4ZLUK4.css} +1 -1
  136. package/public/chunk-2GCOJOK2.js +0 -1
  137. package/public/chunk-3GLEK5PO.js +0 -1
  138. package/public/chunk-3ZPDIOJP.js +0 -1
  139. package/public/chunk-4GCXGGZP.js +0 -1
  140. package/public/chunk-5UJGNWVZ.js +0 -1
  141. package/public/chunk-5Y3BIPLQ.js +0 -1
  142. package/public/chunk-6WXBZOVI.js +0 -1
  143. package/public/chunk-72ATQTM5.js +0 -1
  144. package/public/chunk-76EY53FS.js +0 -1
  145. package/public/chunk-AZL6ANIU.js +0 -1
  146. package/public/chunk-BE6EVQ43.js +0 -1
  147. package/public/chunk-E6EWEG2S.js +0 -19
  148. package/public/chunk-EPPQKARO.js +0 -1
  149. package/public/chunk-FGRA3MLA.js +0 -1
  150. package/public/chunk-HDYZCMHI.js +0 -1
  151. package/public/chunk-HI24UXUI.js +0 -1
  152. package/public/chunk-IZEKCAEE.js +0 -1
  153. package/public/chunk-JQ3FUL2I.js +0 -2
  154. package/public/chunk-K2Y72XZA.js +0 -1
  155. package/public/chunk-LONAPMLE.js +0 -1
  156. package/public/chunk-N6G4A6CB.js +0 -1
  157. package/public/chunk-NDJSUPAE.js +0 -1
  158. package/public/chunk-O3XTJPLY.js +0 -2
  159. package/public/chunk-OROL2MAP.js +0 -1
  160. package/public/chunk-PHI3ALNA.js +0 -1
  161. package/public/chunk-QPGZQSFV.js +0 -1
  162. package/public/chunk-R3FDPMAX.js +0 -1
  163. package/public/chunk-RN4HC5ZG.js +0 -1
  164. package/public/chunk-RQLIZDI7.js +0 -1
  165. package/public/chunk-TEITZMYK.js +0 -1
  166. package/public/chunk-TGFJLZZI.js +0 -1
  167. package/public/chunk-UAPZPQGY.js +0 -49
  168. package/public/chunk-UF5PIS5O.js +0 -1
  169. package/public/chunk-ULG3QICO.js +0 -1
  170. package/public/chunk-UPC5PDCF.js +0 -40
  171. package/public/chunk-UXOQX4NL.js +0 -1
  172. package/public/chunk-VT4775CA.js +0 -4
  173. package/public/chunk-WI7OEFPB.js +0 -1
  174. package/public/chunk-XV3GV4GK.js +0 -1
  175. package/public/chunk-YQ4ML5HX.js +0 -1
  176. package/public/chunk-Z2RK3DTY.js +0 -1
  177. package/public/chunk-Z6T4OYIT.js +0 -1
  178. package/public/main-JE3N6ZQT.js +0 -1
package/CHANGELOG.md CHANGED
@@ -2,6 +2,26 @@
2
2
 
3
3
  All notable changes to `homebridge-config-ui-x` will be documented in this file. This project tries to adhere to [Semantic Versioning](http://semver.org/).
4
4
 
5
+ ## v5.6.1 (Unreleased)
6
+
7
+ ### UI Changes
8
+
9
+ - refreshed icons: heater, cooler, de/humidifier + thermostat
10
+ - put services types into translatable strings
11
+ - added config option to configure a webroot to access the UI from
12
+ - prevent url-based settings from being changed from a pwa
13
+
14
+ ### Other Changes
15
+
16
+ - preserve custom service info for undiscovered accessories
17
+ - improvements to backend types and organisation
18
+
19
+ ### Homebridge Dependencies
20
+
21
+ - `@homebridge/hap-client` @ `v3.1.1`
22
+ - `@homebridge/node-pty-prebuilt-multiarch` @ `v0.13.1`
23
+ - `@homebridge/plugin-ui-utils` @ `v2.1.0`
24
+
5
25
  ## v5.6.0 (2025-09-06)
6
26
 
7
27
  ### UI Changes
@@ -88,6 +88,8 @@ export declare class AuthController {
88
88
  menuMode: "default" | "freeze";
89
89
  wallpaper: string;
90
90
  host: string;
91
+ webroot: string;
92
+ originalWebroot: string;
91
93
  proxyHost: string;
92
94
  homebridgePackagePath: string;
93
95
  disableServerMetricsMonitoring: boolean;
@@ -0,0 +1,118 @@
1
+ import type { Buffer } from 'node:buffer';
2
+ export interface StartupConfig {
3
+ host?: '::' | '0.0.0.0' | string;
4
+ httpsOptions?: {
5
+ key?: Buffer;
6
+ cert?: Buffer;
7
+ pfx?: Buffer;
8
+ passphrase?: string;
9
+ };
10
+ cspWsOverride?: string;
11
+ debug?: boolean;
12
+ webroot?: string;
13
+ }
14
+ interface PluginChildBridge {
15
+ username: string;
16
+ port?: number;
17
+ pin?: string;
18
+ name?: string;
19
+ manufacturer?: string;
20
+ model?: string;
21
+ firmwareRevision?: string;
22
+ env?: {
23
+ DEBUG?: string;
24
+ NODE_OPTIONS?: string;
25
+ };
26
+ }
27
+ export interface PlatformConfig {
28
+ platform: string;
29
+ name?: string;
30
+ _bridge?: PluginChildBridge;
31
+ [key: string]: any;
32
+ }
33
+ export interface AccessoryConfig {
34
+ accessory: string;
35
+ name: string;
36
+ _bridge?: PluginChildBridge;
37
+ [key: string]: any;
38
+ }
39
+ export interface HomebridgeConfig {
40
+ bridge: {
41
+ username: string;
42
+ pin: string;
43
+ name: string;
44
+ port: number;
45
+ advertiser?: 'avahi' | 'resolved' | 'ciao' | 'bonjour-hap';
46
+ bind?: string | string[];
47
+ manufacturer?: string;
48
+ model?: string;
49
+ firmwareRevision?: string;
50
+ };
51
+ mdns?: {
52
+ interface?: string | string[];
53
+ legacyAdvertiser?: boolean;
54
+ };
55
+ ports?: {
56
+ start?: number;
57
+ end?: number;
58
+ };
59
+ platforms?: PlatformConfig[];
60
+ accessories?: AccessoryConfig[];
61
+ plugins?: string[];
62
+ disabledPlugins?: string[];
63
+ }
64
+ export interface HomebridgeUiConfig {
65
+ name: string;
66
+ port: number;
67
+ host?: '::' | '0.0.0.0' | string;
68
+ webroot?: string;
69
+ proxyHost?: string;
70
+ auth: 'form' | 'none';
71
+ theme: string;
72
+ lightingMode: 'auto' | 'light' | 'dark';
73
+ menuMode?: 'default' | 'freeze';
74
+ sudo?: boolean;
75
+ restart?: string;
76
+ lang?: string;
77
+ log?: {
78
+ method?: 'file' | 'custom' | 'systemd' | 'native';
79
+ command?: string;
80
+ path?: string;
81
+ service?: string;
82
+ maxSize?: number;
83
+ truncateSize?: number;
84
+ };
85
+ ssl?: {
86
+ key?: string;
87
+ cert?: string;
88
+ pfx?: string;
89
+ passphrase?: string;
90
+ };
91
+ accessoryControl?: {
92
+ debug?: boolean;
93
+ instanceBlacklist?: string[];
94
+ };
95
+ plugins?: {
96
+ hideUpdatesFor?: string[];
97
+ alwaysShowBetas?: boolean;
98
+ };
99
+ temp?: string;
100
+ tempUnits?: string;
101
+ wallpaper?: string;
102
+ linux?: {
103
+ shutdown?: string;
104
+ restart?: string;
105
+ };
106
+ debug?: boolean;
107
+ sessionTimeout?: number;
108
+ homebridgePackagePath?: string;
109
+ scheduledBackupPath?: string;
110
+ scheduledBackupDisable?: boolean;
111
+ disableServerMetricsMonitoring?: boolean;
112
+ terminal?: {
113
+ persistence?: boolean;
114
+ hideWarning?: boolean;
115
+ bufferSize?: number;
116
+ };
117
+ }
118
+ export {};
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=config.interfaces.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.interfaces.js","sourceRoot":"","sources":["../../../src/core/config/config.interfaces.ts"],"names":[],"mappings":""}
@@ -1,4 +1,5 @@
1
1
  import type { ReadStream } from 'fs-extra';
2
+ import type { HomebridgeConfig, HomebridgeUiConfig } from './config.interfaces';
2
3
  export declare class ConfigService {
3
4
  name: string;
4
5
  configPath: string;
@@ -19,6 +20,7 @@ export declare class ConfigService {
19
20
  runningInLinux: boolean;
20
21
  runningInFreeBSD: boolean;
21
22
  canShutdownRestartHost: boolean;
23
+ originalWebroot: string;
22
24
  enableTerminalAccess: boolean;
23
25
  usePluginBundles: boolean;
24
26
  recommendChildBridges: boolean;
@@ -31,59 +33,7 @@ export declare class ConfigService {
31
33
  customWallpaperHash: string;
32
34
  hbServiceUiRestartRequired: boolean;
33
35
  homebridgeConfig: HomebridgeConfig;
34
- ui: {
35
- name: string;
36
- port: number;
37
- host?: '::' | '0.0.0.0' | string;
38
- proxyHost?: string;
39
- auth: 'form' | 'none';
40
- theme: string;
41
- lightingMode: 'auto' | 'light' | 'dark';
42
- menuMode?: 'default' | 'freeze';
43
- sudo?: boolean;
44
- restart?: string;
45
- lang?: string;
46
- log?: {
47
- method?: 'file' | 'custom' | 'systemd' | 'native';
48
- command?: string;
49
- path?: string;
50
- service?: string;
51
- maxSize?: number;
52
- truncateSize?: number;
53
- };
54
- ssl?: {
55
- key?: string;
56
- cert?: string;
57
- pfx?: string;
58
- passphrase?: string;
59
- };
60
- accessoryControl?: {
61
- debug?: boolean;
62
- instanceBlacklist?: string[];
63
- };
64
- plugins?: {
65
- hideUpdatesFor?: string[];
66
- alwaysShowBetas?: boolean;
67
- };
68
- temp?: string;
69
- tempUnits?: string;
70
- wallpaper?: string;
71
- linux?: {
72
- shutdown?: string;
73
- restart?: string;
74
- };
75
- debug?: boolean;
76
- sessionTimeout?: number;
77
- homebridgePackagePath?: string;
78
- scheduledBackupPath?: string;
79
- scheduledBackupDisable?: boolean;
80
- disableServerMetricsMonitoring?: boolean;
81
- terminal?: {
82
- persistence?: boolean;
83
- hideWarning?: boolean;
84
- bufferSize?: number;
85
- };
86
- };
36
+ ui: HomebridgeUiConfig;
87
37
  private bridgeFreeze;
88
38
  private uiFreeze;
89
39
  secrets: {
@@ -174,6 +124,8 @@ export declare class ConfigService {
174
124
  menuMode: "default" | "freeze";
175
125
  wallpaper: string;
176
126
  host: string;
127
+ webroot: string;
128
+ originalWebroot: string;
177
129
  proxyHost: string;
178
130
  homebridgePackagePath: string;
179
131
  disableServerMetricsMonitoring: boolean;
@@ -184,6 +136,7 @@ export declare class ConfigService {
184
136
  serverTimestamp: string;
185
137
  theme: string;
186
138
  };
139
+ setOriginalWebroot(webroot: string): void;
187
140
  uiRestartRequired(): Promise<boolean>;
188
141
  private freezeUiSettings;
189
142
  private setConfigForDocker;
@@ -196,24 +149,3 @@ export declare class ConfigService {
196
149
  streamCustomWallpaper(): ReadStream;
197
150
  private checkIfRunningOnRaspberryPi;
198
151
  }
199
- export interface HomebridgeConfig {
200
- bridge: {
201
- username: string;
202
- pin: string;
203
- name: string;
204
- port: number;
205
- advertiser?: 'avahi' | 'resolved' | 'ciao' | 'bonjour-hap';
206
- bind?: string | string[];
207
- };
208
- mdns?: {
209
- interface?: string | string[];
210
- };
211
- ports?: {
212
- start?: number;
213
- end?: number;
214
- };
215
- platforms: Record<string, any>[];
216
- accessories: Record<string, any>[];
217
- plugins?: string[];
218
- disabledPlugins?: string[];
219
- }
@@ -168,12 +168,17 @@ let ConfigService = class ConfigService {
168
168
  menuMode: this.ui.menuMode || 'default',
169
169
  wallpaper: this.ui.wallpaper,
170
170
  host: this.ui.host || '',
171
+ webroot: this.ui.webroot || '',
172
+ originalWebroot: this.originalWebroot || '',
171
173
  proxyHost: this.ui.proxyHost || '',
172
174
  homebridgePackagePath: this.ui.homebridgePackagePath,
173
175
  disableServerMetricsMonitoring: this.ui.disableServerMetricsMonitoring,
174
176
  keepOrphans: this.hbStartupSettings?.keepOrphans || false,
175
177
  };
176
178
  }
179
+ setOriginalWebroot(webroot) {
180
+ this.originalWebroot = webroot;
181
+ }
177
182
  async uiRestartRequired() {
178
183
  if (this.hbServiceUiRestartRequired) {
179
184
  return true;
@@ -1 +1 @@
1
- {"version":3,"file":"config.service.js","sourceRoot":"","sources":["../../../src/core/config/config.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAEA,6CAAqD;AACrD,qCAAqD;AACrD,yCAAmC;AACnC,gEAAkC;AAElC,2CAA2C;AAC3C,uCASiB;AACjB,mCAAgC;AAChC,mCAAkC;AAG3B,IAAM,aAAa,GAAnB,MAAM,aAAa;IA4HxB;QA3HO,SAAI,GAAG,wBAAwB,CAAA;QAG/B,eAAU,GAAG,sBAAO,CAAC,GAAG,CAAC,eAAe,IAAI,IAAA,mBAAO,EAAC,IAAA,iBAAO,GAAE,EAAE,yBAAyB,CAAC,CAAA;QACzF,gBAAW,GAAG,sBAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,IAAA,mBAAO,EAAC,IAAA,iBAAO,GAAE,EAAE,aAAa,CAAC,CAAA;QAC/E,qBAAgB,GAAG,sBAAO,CAAC,GAAG,CAAC,sBAAsB,CAAA;QACrD,2BAAsB,GAAG,CAAC,sBAAO,CAAC,GAAG,CAAC,4BAA4B,KAAK,GAAG,CAAC,CAAA;QAC3E,eAAU,GAAG,IAAA,mBAAO,EAAC,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,CAAA;QACtD,aAAQ,GAAG,IAAA,mBAAO,EAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAA;QACjD,wBAAmB,GAAG,IAAA,mBAAO,EAAC,IAAI,CAAC,WAAW,EAAE,aAAa,EAAE,0BAA0B,CAAC,CAAA;QAC1F,qBAAgB,GAAG,IAAA,mBAAO,EAAC,IAAI,CAAC,WAAW,EAAE,wBAAwB,CAAC,CAAA;QACtE,uBAAkB,GAAG,IAAA,mBAAO,EAAC,IAAI,CAAC,WAAW,EAAE,0BAA0B,CAAC,CAAA;QAC1E,2BAAsB,GAAG,OAAO,CAAC,sBAAO,CAAC,GAAG,CAAC,iBAAiB,KAAK,GAAG,CAAC,CAAA;QAIvE,uBAAkB,GAAG,SAAS,CAAA;QAC9B,oBAAe,GAAG,OAAO,CAAC,sBAAO,CAAC,GAAG,CAAC,oBAAoB,KAAK,GAAG,CAAC,CAAA;QACnE,6BAAwB,GAAG,OAAO,CAAC,sBAAO,CAAC,GAAG,CAAC,2BAA2B,KAAK,GAAG,CAAC,CAAA;QACnF,yBAAoB,GAAG,OAAO,CAAC,sBAAO,CAAC,GAAG,CAAC,sBAAsB,KAAK,GAAG,CAAC,CAAA;QAC1E,mBAAc,GAAG,CAAC,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,IAAI,CAAC,wBAAwB,IAAI,CAAC,IAAI,CAAC,oBAAoB,IAAI,IAAA,kBAAQ,GAAE,KAAK,OAAO,CAAC,CAAA;QAClI,qBAAgB,GAAG,CAAC,IAAA,kBAAQ,GAAE,KAAK,SAAS,CAAC,CAAA;QAC7C,2BAAsB,GAAG,CAAC,IAAI,CAAC,cAAc,IAAI,sBAAO,CAAC,GAAG,CAAC,6BAA6B,KAAK,GAAG,CAAC,CAAA;QACnG,yBAAoB,GAAG,CAAC,IAAI,CAAC,eAAe,IAAI,sBAAO,CAAC,GAAG,CAAC,6BAA6B,KAAK,GAAG,CAAC;eACpG,CAAC,IAAI,CAAC,oBAAoB,IAAI,sBAAO,CAAC,GAAG,CAAC,6BAA6B,KAAK,GAAG,CAAC;eAChF,IAAI,CAAC,wBAAwB;eAC7B,OAAO,CAAC,sBAAO,CAAC,GAAG,CAAC,6BAA6B,KAAK,GAAG,CAAC,CAAA;QAGxD,qBAAgB,GAAG,CAAC,sBAAO,CAAC,GAAG,CAAC,sBAAsB,KAAK,GAAG,CAAC,CAAA;QAG/D,0BAAqB,GAAG,CAAC,IAAA,kBAAQ,GAAE,GAAG,IAAI,CAAC,CAAA;QAG3C,yBAAoB,GAAG,KAAK,CAAA;QAG5B,kBAAa,GAAG,IAAA,mBAAO,EAAC,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,CAAA;QACvD,wBAAmB,GAAG,IAAI,CAAC,eAAe,IAAI,IAAA,kBAAS,EAAC,sBAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,kBAAkB,EAAE,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC,CAAA;QAGvI,YAAO,GAAG,IAAA,uBAAY,EAAC,IAAA,mBAAO,EAAC,sBAAO,CAAC,GAAG,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC,CAAA;QAG1E,sBAAiB,GAAG,IAAA,yBAAc,EAAC,IAAA,mBAAO,EAAC,IAAI,CAAC,WAAW,EAAE,yCAAyC,CAAC,CAAC;YAC7G,CAAC,CAAC,IAAA,uBAAY,EAAC,IAAA,mBAAO,EAAC,IAAI,CAAC,WAAW,EAAE,yCAAyC,CAAC,CAAC;YACpF,CAAC,CAAC,EAAE,CAAA;QAGC,wBAAmB,GAAG,IAAI,CAAA;QAM1B,+BAA0B,GAAG,KAAK,CAAA;QAoEvC,MAAM,gBAAgB,GAAG,IAAA,uBAAY,EAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QACtD,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAA;QAClC,IAAI,CAAC,2BAA2B,EAAE,CAAA;IACpC,CAAC;IAKM,WAAW,CAAC,gBAAkC;QACnD,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAA;QAExC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC;YAClC,IAAI,CAAC,gBAAgB,CAAC,MAAM,GAAG,EAAwC,CAAA;QACzE,CAAC;QAED,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAgB,CAAA;QAEhJ,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;YACb,IAAI,CAAC,EAAE,GAAG;gBACR,IAAI,EAAE,QAAQ;aACR,CAAA;QACV,CAAC;QAED,sBAAO,CAAC,GAAG,CAAC,eAAe,GAAG,IAAI,CAAC,EAAE,CAAC,IAAI,IAAI,wBAAwB,CAAA;QAEtE,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,IAAI,CAAC,kBAAkB,EAAE,CAAA;QAC3B,CAAC;QAED,IAAI,CAAC,SAAS,EAAE,CAAA;QAEhB,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;YAClB,IAAI,CAAC,EAAE,CAAC,IAAI,GAAG,IAAI,CAAA;QACrB,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,cAAc,EAAE,CAAC;YAC5B,IAAI,CAAC,EAAE,CAAC,cAAc,GAAG,IAAI,CAAC,EAAE,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAA;QACpE,CAAC;QAED,IAAI,IAAI,CAAC,EAAE,CAAC,mBAAmB,EAAE,CAAC;YAChC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,EAAE,CAAC,mBAAmB,CAAA;QACvD,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,kBAAkB,GAAG,IAAA,mBAAO,EAAC,IAAI,CAAC,WAAW,EAAE,0BAA0B,CAAC,CAAA;QACjF,CAAC;QAED,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAA;QAChC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAA;QAEtC,IAAI,CAAC,gBAAgB,EAAE,CAAA;QACvB,IAAI,CAAC,sBAAsB,EAAE,CAAA;IAC/B,CAAC;IAMM,UAAU,CAAC,aAAsB,KAAK;QAC3C,MAAM,QAAQ,GAAG;YACf,GAAG,EAAE;gBACH,sBAAsB,EAAE,IAAI,CAAC,sBAAsB;gBACnD,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;gBAC7C,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;gBAC7C,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,IAAI,IAAI;gBACjD,sBAAsB,EAAE,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI;gBACzD,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI;gBACnD,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI;gBAC9B,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO;gBACpC,QAAQ,EAAE,IAAA,kBAAQ,GAAE;gBACpB,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI;gBAClB,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;gBAC7C,sBAAsB,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,sBAAsB,CAAC;gBAC/D,mBAAmB,EAAE,IAAI,CAAC,EAAE,CAAC,mBAAmB,IAAI,IAAI,CAAC,kBAAkB;aAC5E;YACD,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,KAAK,MAAM,CAAC;YAC1C,cAAc,EAAE,IAAI,CAAC,EAAE,CAAC,cAAc,IAAI,KAAK;YAC/C,YAAY,EAAE,IAAI,CAAC,EAAE,CAAC,YAAY,IAAI,MAAM;YAC5C,eAAe,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACzC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,IAAI,aAAa;YACrC,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC,QAAQ,IAAI,SAAS;SACxC,CAAA;QAED,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO,QAAQ,CAAA;QACjB,CAAC;QAED,OAAO;YACL,GAAG,QAAQ;YACX,GAAG,EAAE;gBACH,GAAG,QAAQ,CAAC,GAAG;gBACf,iBAAiB,EAAE,IAAI,CAAC,sBAAsB;gBAC9C,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;gBAC/C,WAAW,EAAE,sBAAO,CAAC,OAAO;gBAC5B,qBAAqB,EAAE,IAAI,CAAC,qBAAqB;gBACjD,eAAe,EAAE,IAAI,CAAC,eAAe;gBACrC,wBAAwB,EAAE,IAAI,CAAC,wBAAwB;gBACvD,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;gBAC/C,cAAc,EAAE,IAAI,CAAC,cAAc;gBACnC,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;gBACvC,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;gBAC/C,gBAAgB,EAAE,IAAI,CAAC,EAAE,CAAC,SAAS,IAAI,GAAG;gBAC1C,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI;gBAClB,GAAG,EAAE;oBACH,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO;oBAC7B,YAAY,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,YAAY;iBACxC;gBACD,GAAG,EAAE;oBACH,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG;oBACrB,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI;oBACvB,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG;oBACrB,UAAU,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,UAAU;iBACpC;gBACD,gBAAgB,EAAE;oBAChB,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,gBAAgB,EAAE,KAAK;oBACtC,iBAAiB,EAAE,IAAI,CAAC,EAAE,CAAC,gBAAgB,EAAE,iBAAiB,IAAI,EAAE;iBACrE;gBACD,OAAO,EAAE;oBACP,cAAc,EAAE,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,cAAc,IAAI,EAAE;oBACrD,eAAe,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,eAAe,CAAC;iBAC3D;gBACD,KAAK,EAAE;oBACL,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ;oBACjC,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO;iBAChC;gBACD,QAAQ,EAAE;oBACR,WAAW,EAAE,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,WAAW;oBAC1C,WAAW,EAAE,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,WAAW;oBAC1C,UAAU,EAAE,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,UAAU,IAAI,UAAU,CAAC,QAAQ,CAAC,UAAU;iBAC3E;aACF;YACD,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC,QAAQ,IAAI,SAAS;YACvC,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC,SAAS;YAC5B,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,IAAI,EAAE;YACxB,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC,SAAS,IAAI,EAAE;YAClC,qBAAqB,EAAE,IAAI,CAAC,EAAE,CAAC,qBAAqB;YACpD,8BAA8B,EAAE,IAAI,CAAC,EAAE,CAAC,8BAA8B;YACtE,WAAW,EAAE,IAAI,CAAC,iBAAiB,EAAE,WAAW,IAAI,KAAK;SAC1D,CAAA;IACH,CAAC;IAKM,KAAK,CAAC,iBAAiB;QAE5B,IAAI,IAAI,CAAC,0BAA0B,EAAE,CAAC;YACpC,OAAO,IAAI,CAAA;QACb,CAAC;QAGD,MAAM,cAAc,GAAG,MAAM,IAAA,mBAAQ,EAAC,IAAA,mBAAO,EAAC,sBAAO,CAAC,GAAG,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC,CAAA;QACzF,IAAI,cAAc,CAAC,OAAO,KAAK,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YACpD,OAAO,IAAI,CAAA;QACb,CAAC;QAGD,OAAO,CAAC,CAAC,IAAA,gBAAO,EAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAA,gBAAO,EAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,CAAA;IACvG,CAAC;IAKO,gBAAgB;QACtB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YAEnB,IAAI,CAAC,QAAQ,GAAG,EAAgB,CAAA;YAChC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC,CAAA;QACvC,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YAEvB,IAAI,CAAC,YAAY,GAAG,EAAwC,CAAA;YAC5D,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAA;QAChE,CAAC;IACH,CAAC;IAKO,kBAAkB;QAExB,IAAI,CAAC,EAAE,CAAC,OAAO,GAAG,oGAAoG,CAAA;QACtH,IAAI,CAAC,sBAAsB,GAAG,OAAO,CAAC,sBAAO,CAAC,GAAG,CAAC,mBAAmB,KAAK,GAAG,CAAC,CAAA;QAC9E,IAAI,CAAC,EAAE,CAAC,IAAI,GAAG,KAAK,CAAA;QACpB,IAAI,CAAC,EAAE,CAAC,GAAG,GAAG;YACZ,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,iCAAiC;YACvC,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO;YAC7B,YAAY,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,YAAY;SACxC,CAAA;QAGD,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,IAAI,sBAAO,CAAC,GAAG,CAAC,yBAAyB,EAAE,CAAC;YAC3D,IAAI,CAAC,EAAE,CAAC,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,sBAAO,CAAC,GAAG,CAAC,yBAAyB,EAAE,EAAE,CAAC,CAAA;QAC3E,CAAC;QACD,IAAI,CAAC,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,IAAI,sBAAO,CAAC,GAAG,CAAC,0BAA0B,IAAI,aAAa,CAAA;QACxF,IAAI,CAAC,EAAE,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,IAAI,IAAI,sBAAO,CAAC,GAAG,CAAC,yBAA4C,IAAI,MAAM,CAAA;QACjG,IAAI,CAAC,EAAE,CAAC,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC,SAAS,IAAI,sBAAO,CAAC,GAAG,CAAC,oCAAoC,IAAI,SAAS,CAAA;IACxG,CAAC;IAKO,SAAS;QACf,IAAI,CAAC,sBAAsB,GAAG,OAAO,CAAC,sBAAO,CAAC,GAAG,CAAC,iBAAiB,KAAK,GAAG,CAAC,CAAA;QAC5E,IAAI,CAAC,EAAE,CAAC,OAAO,GAAG,SAAS,CAAA;QAC3B,IAAI,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,IAAA,kBAAQ,GAAE,KAAK,OAAO,IAAI,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,IAAI,CAAC,wBAAwB,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,IAAA,kBAAQ,GAAE,KAAK,SAAS,CAAA;QAC5J,IAAI,CAAC,EAAE,CAAC,GAAG,GAAG;YACZ,MAAM,EAAE,QAAQ;YAChB,IAAI,EAAE,IAAA,mBAAO,EAAC,IAAI,CAAC,WAAW,EAAE,gBAAgB,CAAC;YACjD,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO;YAC7B,YAAY,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,YAAY;SACxC,CAAA;IACH,CAAC;IAKO,UAAU;QAChB,IAAI,IAAA,yBAAc,EAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YACpC,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,IAAA,uBAAY,EAAC,IAAI,CAAC,UAAU,CAAC,CAAA;gBAC7C,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;oBACvB,OAAO,IAAI,CAAC,mBAAmB,EAAE,CAAA;gBACnC,CAAC;qBAAM,CAAC;oBACN,OAAO,OAAO,CAAA;gBAChB,CAAC;YACH,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,OAAO,IAAI,CAAC,mBAAmB,EAAE,CAAA;YACnC,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,IAAI,CAAC,mBAAmB,EAAE,CAAA;QACnC,CAAC;IACH,CAAC;IAKO,mBAAmB;QACzB,MAAM,OAAO,GAAG;YACd,SAAS,EAAE,IAAA,yBAAW,EAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;SAC3C,CAAA;QAED,IAAA,wBAAa,EAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;QAEvC,OAAO,OAAO,CAAA;IAChB,CAAC;IAKO,aAAa;QACnB,OAAO,IAAA,wBAAU,EAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IAC1E,CAAC;IAKO,KAAK,CAAC,sBAAsB;QAClC,IAAI,CAAC;YACH,IAAI,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC;gBACtB,MAAM,QAAQ,GAAG,IAAA,mBAAO,EAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,CAAA;gBAC7D,MAAM,QAAQ,GAAG,MAAM,IAAA,eAAI,EAAC,QAAQ,CAAC,CAAA;gBACrC,MAAM,IAAI,GAAG,IAAA,wBAAU,EAAC,QAAQ,CAAC,CAAA;gBACjC,IAAI,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC,SAAS,GAAG,QAAQ,CAAC,KAAK,GAAG,QAAQ,CAAC,IAAI,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAA;gBACvF,IAAI,CAAC,mBAAmB,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAA;YACxD,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;QAEb,CAAC;IACH,CAAC;IAEM,oBAAoB;QACzB,IAAI,CAAC,mBAAmB,GAAG,SAAS,CAAA;IACtC,CAAC;IAKM,qBAAqB;QAC1B,OAAO,IAAA,2BAAgB,EAAC,IAAA,mBAAO,EAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAA;IACvE,CAAC;IAKO,KAAK,CAAC,2BAA2B;QACvC,IAAI,CAAC;YACH,IAAI,CAAC,oBAAoB,GAAG,MAAM,IAAA,qBAAU,EAAC,mBAAmB,CAAC,IAAI,MAAM,IAAA,qBAAU,EAAC,uBAAuB,CAAC,CAAA;QAChH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAA;QACnC,CAAC;IACH,CAAC;CACF,CAAA;AAlaY,sCAAa;wBAAb,aAAa;IADzB,IAAA,mBAAU,GAAE;;GACA,aAAa,CAkazB"}
1
+ {"version":3,"file":"config.service.js","sourceRoot":"","sources":["../../../src/core/config/config.service.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,2 @@
1
- import type { Buffer } from 'node:buffer';
2
- export declare function getStartupConfig(): Promise<{
3
- host?: "::" | "0.0.0.0" | string;
4
- httpsOptions?: {
5
- key?: Buffer;
6
- cert?: Buffer;
7
- pfx?: Buffer;
8
- passphrase?: string;
9
- };
10
- cspWsOverride?: string;
11
- debug?: boolean;
12
- }>;
1
+ import type { StartupConfig } from './config.interfaces';
2
+ export declare function getStartupConfig(): Promise<StartupConfig>;
@@ -19,6 +19,7 @@ async function getStartupConfig() {
19
19
  return addresses.find(x => x.family === 'IPv6');
20
20
  }).length;
21
21
  config.host = ipv6 ? '::' : '0.0.0.0';
22
+ config.webroot = '';
22
23
  if (!ui) {
23
24
  return config;
24
25
  }
@@ -57,6 +58,17 @@ async function getStartupConfig() {
57
58
  config.debug = false;
58
59
  node_process_1.default.env.UIX_DEBUG_LOGGING = '0';
59
60
  }
61
+ if (ui.webroot && node_process_1.default.env.UIX_DEVELOPMENT !== '1') {
62
+ let webroot = `/${ui.webroot.toString().trim()}`.replace(/\/+/g, '/').replace(/\/$/, '');
63
+ if (webroot === '/') {
64
+ webroot = '';
65
+ }
66
+ config.webroot = webroot;
67
+ logger.log(`Setting up the UI on webroot: ${webroot}`);
68
+ }
69
+ else {
70
+ config.webroot = '';
71
+ }
60
72
  return config;
61
73
  }
62
74
  //# sourceMappingURL=config.startup.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.startup.js","sourceRoot":"","sources":["../../../src/core/config/config.startup.ts"],"names":[],"mappings":";;;;;AAaA,4CA2EC;AAtFD,qCAAoD;AACpD,yCAAmC;AACnC,gEAAkC;AAElC,uCAAmD;AAEnD,6DAAiD;AAK1C,KAAK,UAAU,gBAAgB;IACpC,MAAM,MAAM,GAAG,IAAI,uBAAM,EAAE,CAAA;IAE3B,MAAM,UAAU,GAAG,sBAAO,CAAC,GAAG,CAAC,eAAe,IAAI,IAAA,mBAAO,EAAC,IAAA,iBAAO,GAAE,EAAE,yBAAyB,CAAC,CAAA;IAE/F,MAAM,gBAAgB,GAAG,MAAM,IAAA,mBAAQ,EAAC,UAAU,CAAC,CAAA;IACnD,MAAM,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAEvI,MAAM,MAAM,GAAG,EAUd,CAAA;IAGD,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,IAAA,2BAAiB,GAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,EAAE,EAAE;QACxE,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAA;IACjD,CAAC,CAAC,CAAC,MAAM,CAAA;IAET,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAA;IAGrC,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,OAAO,MAAM,CAAA;IACf,CAAC;IAGD,IAAI,EAAE,CAAC,IAAI,IAAI,sBAAO,CAAC,GAAG,CAAC,eAAe,KAAK,GAAG,EAAE,CAAC;QACnD,MAAM,CAAC,IAAI,GAAG,EAAE,CAAC,IAAI,CAAA;IACvB,CAAC;IAGD,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,sBAAO,CAAC,GAAG,CAAC,eAAe,KAAK,GAAG,EAAE,CAAC;QACjG,KAAK,MAAM,SAAS,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC;YAC/C,IAAI,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;gBACtB,IAAI,CAAC,CAAC,MAAM,CAAC,IAAA,eAAI,EAAC,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;oBAChD,MAAM,CAAC,KAAK,CAAC,4BAA4B,SAAS,KAAK,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,uBAAuB,CAAC,CAAA;gBAClG,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,CAAC;YACH,MAAM,CAAC,YAAY,GAAG;gBACpB,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,IAAA,mBAAQ,EAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS;gBACxD,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,IAAA,mBAAQ,EAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;gBAC3D,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,IAAA,mBAAQ,EAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS;gBACxD,UAAU,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU;aAC9B,CAAA;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC,OAAO,GAAG,CAAC,CAAA;YACxE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;QACjB,CAAC;IACH,CAAC;IAGD,IAAI,EAAE,CAAC,SAAS,IAAI,sBAAO,CAAC,GAAG,CAAC,eAAe,KAAK,GAAG,EAAE,CAAC;QACxD,MAAM,CAAC,aAAa,GAAG,SAAS,EAAE,CAAC,SAAS,SAAS,EAAE,CAAC,SAAS,EAAE,CAAA;IACrE,CAAC;IAGD,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC;QACb,MAAM,CAAC,KAAK,GAAG,IAAI,CAAA;QACnB,sBAAO,CAAC,GAAG,CAAC,iBAAiB,GAAG,GAAG,CAAA;IACrC,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,KAAK,GAAG,KAAK,CAAA;QACpB,sBAAO,CAAC,GAAG,CAAC,iBAAiB,GAAG,GAAG,CAAA;IACrC,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC"}
1
+ {"version":3,"file":"config.startup.js","sourceRoot":"","sources":["../../../src/core/config/config.startup.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export declare class SpaHtmlService {
2
+ static updateIndexHtml(webroot: string): Promise<void>;
3
+ private static normalizeWebroot;
4
+ private static transformHtmlForWebroot;
5
+ }
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.SpaHtmlService = void 0;
7
+ const node_path_1 = require("node:path");
8
+ const node_process_1 = __importDefault(require("node:process"));
9
+ const fs_extra_1 = require("fs-extra");
10
+ class SpaHtmlService {
11
+ static async updateIndexHtml(webroot) {
12
+ const indexPath = (0, node_path_1.resolve)(node_process_1.default.env.UIX_BASE_PATH, 'public/index.html');
13
+ if (!(await (0, fs_extra_1.exists)(indexPath))) {
14
+ return;
15
+ }
16
+ const originalHtml = await (0, fs_extra_1.readFile)(indexPath, 'utf-8');
17
+ const normalizedWebroot = this.normalizeWebroot(webroot);
18
+ const modifiedHtml = this.transformHtmlForWebroot(originalHtml, normalizedWebroot);
19
+ await (0, fs_extra_1.writeFile)(indexPath, modifiedHtml);
20
+ }
21
+ static normalizeWebroot(webroot) {
22
+ if (!webroot || webroot === '/') {
23
+ return '';
24
+ }
25
+ return webroot.replace(/\/+/g, '/').replace(/^\/+|\/+$/g, '');
26
+ }
27
+ static transformHtmlForWebroot(html, webroot) {
28
+ const baseHref = webroot ? `/${webroot}/` : '/';
29
+ return html
30
+ .replace(/<base href="[^"]*"(\s*)\/?>/g, `<base href="${baseHref}"$1/>`)
31
+ .replace(/href="\/(?:.*?\/)?assets\//g, 'href="assets/')
32
+ .replace(/href="\/(?:.*?\/)?favicon\.ico"/g, 'href="favicon.ico"')
33
+ .replace(/href="\/(?:.*?\/)?([^"/]+\.(png|svg|webmanifest))"/g, 'href="$1"')
34
+ .replace(/src="\/(?:.*?\/)?assets\//g, 'src="assets/');
35
+ }
36
+ }
37
+ exports.SpaHtmlService = SpaHtmlService;
38
+ //# sourceMappingURL=spa-html.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spa-html.service.js","sourceRoot":"","sources":["../../../src/core/spa/spa-html.service.ts"],"names":[],"mappings":";;;;;;AAAA,yCAAmC;AACnC,gEAAkC;AAElC,uCAAsD;AAEtD,MAAa,cAAc;IAKzB,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,OAAe;QAC1C,MAAM,SAAS,GAAG,IAAA,mBAAO,EAAC,sBAAO,CAAC,GAAG,CAAC,aAAa,EAAE,mBAAmB,CAAC,CAAA;QACzE,IAAI,CAAC,CAAC,MAAM,IAAA,iBAAM,EAAC,SAAS,CAAC,CAAC,EAAE,CAAC;YAC/B,OAAM;QACR,CAAC;QACD,MAAM,YAAY,GAAG,MAAM,IAAA,mBAAQ,EAAC,SAAS,EAAE,OAAO,CAAC,CAAA;QACvD,MAAM,iBAAiB,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAA;QACxD,MAAM,YAAY,GAAG,IAAI,CAAC,uBAAuB,CAAC,YAAY,EAAE,iBAAiB,CAAC,CAAA;QAClF,MAAM,IAAA,oBAAS,EAAC,SAAS,EAAE,YAAY,CAAC,CAAA;IAC1C,CAAC;IAOO,MAAM,CAAC,gBAAgB,CAAC,OAAe;QAC7C,IAAI,CAAC,OAAO,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC;YAChC,OAAO,EAAE,CAAA;QACX,CAAC;QAED,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAA;IAC/D,CAAC;IAQO,MAAM,CAAC,uBAAuB,CAAC,IAAY,EAAE,OAAe;QAClE,MAAM,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,CAAA;QAE/C,OAAO,IAAI;aACR,OAAO,CAAC,8BAA8B,EAAE,eAAe,QAAQ,OAAO,CAAC;aACvE,OAAO,CAAC,6BAA6B,EAAE,eAAe,CAAC;aACvD,OAAO,CAAC,kCAAkC,EAAE,oBAAoB,CAAC;aACjE,OAAO,CAAC,qDAAqD,EAAE,WAAW,CAAC;aAC3E,OAAO,CAAC,4BAA4B,EAAE,cAAc,CAAC,CAAA;IAC1D,CAAC;CACF;AA7CD,wCA6CC"}
@@ -1,4 +1,7 @@
1
1
  import type { ArgumentsHost, ExceptionFilter, HttpException } from '@nestjs/common';
2
+ import '../../globalDefaults';
2
3
  export declare class SpaFilter implements ExceptionFilter {
4
+ private readonly webroot;
5
+ constructor();
3
6
  catch(_exception: HttpException, host: ArgumentsHost): any;
4
7
  }
@@ -5,6 +5,9 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
5
5
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
6
  return c > 3 && r && Object.defineProperty(target, key, r), r;
7
7
  };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
8
11
  var __importDefault = (this && this.__importDefault) || function (mod) {
9
12
  return (mod && mod.__esModule) ? mod : { "default": mod };
10
13
  };
@@ -14,12 +17,27 @@ const node_path_1 = require("node:path");
14
17
  const node_process_1 = __importDefault(require("node:process"));
15
18
  const common_1 = require("@nestjs/common");
16
19
  const fs_extra_1 = require("fs-extra");
20
+ require("../../globalDefaults");
17
21
  let SpaFilter = class SpaFilter {
22
+ constructor() {
23
+ const envWebroot = node_process_1.default.env.UIX_ORIGINAL_WEBROOT;
24
+ this.webroot = (envWebroot && envWebroot !== globalThis.webroot.errorCode)
25
+ ? envWebroot
26
+ : '';
27
+ }
18
28
  catch(_exception, host) {
19
29
  const ctx = host.switchToHttp();
20
30
  const req = ctx.getRequest();
21
31
  const res = ctx.getResponse();
22
- if (req.url.startsWith('/api/') || req.url.startsWith('/socket.io') || req.url.startsWith('/assets')) {
32
+ const urlWithoutWebroot = this.webroot ? req.url.replace(new RegExp(`^${this.webroot}`), '') : req.url;
33
+ if (urlWithoutWebroot.startsWith('/api/')
34
+ || urlWithoutWebroot.startsWith('/socket.io')
35
+ || urlWithoutWebroot.startsWith('/assets')
36
+ || urlWithoutWebroot.startsWith('/swagger')
37
+ || urlWithoutWebroot.match(/\.(js|css|png|jpg|jpeg|gif|svg|ico|woff|woff2|ttf|eot|webmanifest)$/)) {
38
+ return res.code(404).send('Not Found');
39
+ }
40
+ if (this.webroot && !req.url.startsWith(this.webroot)) {
23
41
  return res.code(404).send('Not Found');
24
42
  }
25
43
  const file = (0, fs_extra_1.readFileSync)((0, node_path_1.resolve)(node_process_1.default.env.UIX_BASE_PATH, 'public/index.html'), 'utf-8');
@@ -27,11 +45,13 @@ let SpaFilter = class SpaFilter {
27
45
  res.header('Cache-Control', 'no-cache, no-store, must-revalidate');
28
46
  res.header('Pragma', 'no-cache');
29
47
  res.header('Expires', '0');
48
+ res.header('Origin-Agent-Cluster', '?1');
30
49
  res.send(file);
31
50
  }
32
51
  };
33
52
  exports.SpaFilter = SpaFilter;
34
53
  exports.SpaFilter = SpaFilter = __decorate([
35
- (0, common_1.Catch)(common_1.NotFoundException)
54
+ (0, common_1.Catch)(common_1.NotFoundException),
55
+ __metadata("design:paramtypes", [])
36
56
  ], SpaFilter);
37
57
  //# sourceMappingURL=spa.filter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"spa.filter.js","sourceRoot":"","sources":["../../../src/core/spa/spa.filter.ts"],"names":[],"mappings":";;;;;;;;;;;;AAEA,yCAAmC;AACnC,gEAAkC;AAElC,2CAAyD;AACzD,uCAAuC;AAGhC,IAAM,SAAS,GAAf,MAAM,SAAS;IACpB,KAAK,CAAC,UAAyB,EAAE,IAAmB;QAClD,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,EAAE,CAAA;QAC/B,MAAM,GAAG,GAAG,GAAG,CAAC,UAAU,EAAE,CAAA;QAC5B,MAAM,GAAG,GAAG,GAAG,CAAC,WAAW,EAAE,CAAA;QAE7B,IAAI,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YACrG,OAAO,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;QACxC,CAAC;QAED,MAAM,IAAI,GAAG,IAAA,uBAAY,EAAC,IAAA,mBAAO,EAAC,sBAAO,CAAC,GAAG,CAAC,aAAa,EAAE,mBAAmB,CAAC,EAAE,OAAO,CAAC,CAAA;QAC3F,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;QACrB,GAAG,CAAC,MAAM,CAAC,eAAe,EAAE,qCAAqC,CAAC,CAAA;QAClE,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAA;QAChC,GAAG,CAAC,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,CAAA;QAC1B,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAChB,CAAC;CACF,CAAA;AAjBY,8BAAS;oBAAT,SAAS;IADrB,IAAA,cAAK,EAAC,0BAAiB,CAAC;GACZ,SAAS,CAiBrB"}
1
+ {"version":3,"file":"spa.filter.js","sourceRoot":"","sources":["../../../src/core/spa/spa.filter.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAEA,yCAAmC;AACnC,gEAAkC;AAElC,2CAAyD;AACzD,uCAAuC;AAEvC,gCAA6B;AAGtB,IAAM,SAAS,GAAf,MAAM,SAAS;IAGpB;QACE,MAAM,UAAU,GAAG,sBAAO,CAAC,GAAG,CAAC,oBAAoB,CAAA;QACnD,IAAI,CAAC,OAAO,GAAG,CAAC,UAAU,IAAI,UAAU,KAAK,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC;YACxE,CAAC,CAAC,UAAU;YACZ,CAAC,CAAC,EAAE,CAAA;IACR,CAAC;IAED,KAAK,CAAC,UAAyB,EAAE,IAAmB;QAClD,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,EAAE,CAAA;QAC/B,MAAM,GAAG,GAAG,GAAG,CAAC,UAAU,EAAE,CAAA;QAC5B,MAAM,GAAG,GAAG,GAAG,CAAC,WAAW,EAAE,CAAA;QAG7B,MAAM,iBAAiB,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAA;QAEtG,IAAI,iBAAiB,CAAC,UAAU,CAAC,OAAO,CAAC;eACpC,iBAAiB,CAAC,UAAU,CAAC,YAAY,CAAC;eAC1C,iBAAiB,CAAC,UAAU,CAAC,SAAS,CAAC;eACvC,iBAAiB,CAAC,UAAU,CAAC,UAAU,CAAC;eACxC,iBAAiB,CAAC,KAAK,CAAC,qEAAqE,CAAC,EAAE,CAAC;YACpG,OAAO,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;QACxC,CAAC;QAGD,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YACtD,OAAO,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;QACxC,CAAC;QAED,MAAM,IAAI,GAAG,IAAA,uBAAY,EAAC,IAAA,mBAAO,EAAC,sBAAO,CAAC,GAAG,CAAC,aAAa,EAAE,mBAAmB,CAAC,EAAE,OAAO,CAAC,CAAA;QAC3F,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;QACrB,GAAG,CAAC,MAAM,CAAC,eAAe,EAAE,qCAAqC,CAAC,CAAA;QAClE,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAA;QAChC,GAAG,CAAC,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,CAAA;QAC1B,GAAG,CAAC,MAAM,CAAC,sBAAsB,EAAE,IAAI,CAAC,CAAA;QACxC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAChB,CAAC;CACF,CAAA;AAvCY,8BAAS;oBAAT,SAAS;IADrB,IAAA,cAAK,EAAC,0BAAiB,CAAC;;GACZ,SAAS,CAuCrB"}
@@ -7,4 +7,7 @@ globalThis.backup = {
7
7
  globalThis.terminal = {
8
8
  bufferSize: 50000,
9
9
  };
10
+ globalThis.webroot = {
11
+ errorCode: 'EACCES',
12
+ };
10
13
  //# sourceMappingURL=globalDefaults.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"globalDefaults.js","sourceRoot":"","sources":["../src/globalDefaults.ts"],"names":[],"mappings":"AACA,UAAU,CAAC,MAAM,GAAG;IAElB,aAAa,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI;IAC/B,iBAAiB,EAAE,MAAM;IAEzB,iBAAiB,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI;IACnC,qBAAqB,EAAE,MAAM;CAC9B,CAAA;AAED,UAAU,CAAC,QAAQ,GAAG;IAEpB,UAAU,EAAE,KAAK;CAClB,CAAA"}
1
+ {"version":3,"file":"globalDefaults.js","sourceRoot":"","sources":["../src/globalDefaults.ts"],"names":[],"mappings":"AACA,UAAU,CAAC,MAAM,GAAG;IAElB,aAAa,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI;IAC/B,iBAAiB,EAAE,MAAM;IAGzB,iBAAiB,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI;IACnC,qBAAqB,EAAE,MAAM;CAC9B,CAAA;AAED,UAAU,CAAC,QAAQ,GAAG;IAEpB,UAAU,EAAE,KAAK;CAClB,CAAA;AAED,UAAU,CAAC,OAAO,GAAG;IAEnB,SAAS,EAAE,QAAQ;CACpB,CAAA"}
package/dist/main.js CHANGED
@@ -17,6 +17,7 @@ const app_module_1 = require("./app.module");
17
17
  const config_service_1 = require("./core/config/config.service");
18
18
  const config_startup_1 = require("./core/config/config.startup");
19
19
  const logger_service_1 = require("./core/logger/logger.service");
20
+ const spa_html_service_1 = require("./core/spa/spa-html.service");
20
21
  const spa_filter_1 = require("./core/spa/spa.filter");
21
22
  require("./self-check");
22
23
  require("./globalDefaults");
@@ -71,11 +72,24 @@ async function bootstrap() {
71
72
  });
72
73
  const configService = app.get(config_service_1.ConfigService);
73
74
  const logger = app.get(logger_service_1.Logger);
74
- app.getHttpAdapter().get('/', async (req, res) => {
75
+ let realWebroot = startupConfig.webroot || '';
76
+ try {
77
+ await spa_html_service_1.SpaHtmlService.updateIndexHtml(startupConfig.webroot);
78
+ node_process_1.default.env.UIX_ORIGINAL_WEBROOT = startupConfig.webroot;
79
+ configService.setOriginalWebroot(startupConfig.webroot);
80
+ }
81
+ catch (error) {
82
+ logger.warn(`Could not update index.html with webroot ${startupConfig.webroot}: ${error.message}`);
83
+ realWebroot = '';
84
+ node_process_1.default.env.UIX_ORIGINAL_WEBROOT = globalThis.webroot.errorCode;
85
+ configService.setOriginalWebroot(globalThis.webroot.errorCode);
86
+ }
87
+ app.getHttpAdapter().get(realWebroot || '/', async (req, res) => {
75
88
  res.type('text/html');
76
89
  res.header('Cache-Control', 'no-cache, no-store, must-revalidate');
77
90
  res.header('Pragma', 'no-cache');
78
91
  res.header('Expires', '0');
92
+ res.header('Origin-Agent-Cluster', '?1');
79
93
  res.send(await (0, fs_extra_1.readFile)((0, node_path_1.resolve)(node_process_1.default.env.UIX_BASE_PATH, 'public/index.html')));
80
94
  });
81
95
  app.useStaticAssets({
@@ -83,8 +97,9 @@ async function bootstrap() {
83
97
  setHeaders(res) {
84
98
  res.setHeader('Cache-Control', 'public,max-age=31536000,immutable');
85
99
  },
100
+ ...realWebroot ? { prefix: realWebroot } : {},
86
101
  });
87
- app.setGlobalPrefix('/api');
102
+ app.setGlobalPrefix(`${realWebroot || ''}/api`);
88
103
  app.enableCors({
89
104
  origin: ['http://localhost:8080', 'http://localhost:4200'],
90
105
  methods: ['GET', 'POST', 'PUT', 'PATCH', 'DELETE', 'OPTIONS'],
@@ -107,7 +122,7 @@ async function bootstrap() {
107
122
  })
108
123
  .build();
109
124
  const document = swagger_1.SwaggerModule.createDocument(app, options);
110
- swagger_1.SwaggerModule.setup('swagger', app, document);
125
+ swagger_1.SwaggerModule.setup(`${realWebroot}/swagger`.replace(/^\//, ''), app, document);
111
126
  app.useGlobalFilters(new spa_filter_1.SpaFilter());
112
127
  logger.warn(`Homebridge UI v${configService.package.version} is listening on ${startupConfig.host} port ${configService.ui.port}.`);
113
128
  await app.listen(configService.ui.port, startupConfig.host);
package/dist/main.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
@@ -530,7 +530,10 @@ let BackupService = class BackupService {
530
530
  if (targetConfig.bridge.bind) {
531
531
  this.checkBridgeBindConfig(targetConfig);
532
532
  }
533
- targetConfig.platforms.push(this.configService.ui);
533
+ targetConfig.platforms.push({
534
+ ...this.configService.ui,
535
+ platform: 'config',
536
+ });
534
537
  await (0, fs_extra_1.writeJson)(this.configService.configPath, targetConfig, { spaces: 4 });
535
538
  await this.removeRestoreDirectory();
536
539
  client.emit('stdout', (0, bash_color_1.green)('\r\nRestore Complete!\r\n'));