@portel/photon-core 2.2.0 → 2.3.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.
package/dist/base.d.ts CHANGED
@@ -86,7 +86,7 @@ export declare class PhotonMCP {
86
86
  static getMCPName(): string;
87
87
  /**
88
88
  * Get all tool methods from this class
89
- * Returns all public async methods except lifecycle hooks
89
+ * Returns all public async methods except lifecycle hooks and configuration methods
90
90
  */
91
91
  static getToolMethods(): string[];
92
92
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../src/base.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AAEH,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAkB,MAAM,aAAa,CAAC;AAK1E;;;;;;GAMG;AACH,qBAAa,SAAS;IACpB;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,GAAG,IAAI;IA0B/B;;;OAGG;IACH,SAAS,CAAC,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAEzC;;;OAGG;IACH,OAAO,CAAC,WAAW,CAAsF;IAEzG;;;OAGG;IACH,MAAM,CAAC,UAAU,IAAI,MAAM;IAQ3B;;;OAGG;IACH,MAAM,CAAC,cAAc,IAAI,MAAM,EAAE;IA0BjC;;OAEG;IACG,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE;QAAE,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,CAAA;KAAE,GAAG,OAAO,CAAC,GAAG,CAAC;IAkBrH;;OAEG;IACG,YAAY,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC;IAC9B,UAAU,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC;IAElC;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IAoBhF;;;;;OAKG;IACH,aAAa,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI;IAM9C;;OAEG;IACH,YAAY,IAAI,OAAO;IAIvB;;;OAGG;IACG,cAAc,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAOzC;;;;;;;;;;;;;;;;;;;;;OAqBG;cACa,QAAQ,CAAC,CAAC,EACxB,QAAQ,EAAE,MAAM,EAChB,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACpB,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,CAAC,CAAC;CAGd"}
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../src/base.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AAEH,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAkB,MAAM,aAAa,CAAC;AAK1E;;;;;;GAMG;AACH,qBAAa,SAAS;IACpB;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,GAAG,IAAI;IA0B/B;;;OAGG;IACH,SAAS,CAAC,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAEzC;;;OAGG;IACH,OAAO,CAAC,WAAW,CAAsF;IAEzG;;;OAGG;IACH,MAAM,CAAC,UAAU,IAAI,MAAM;IAQ3B;;;OAGG;IACH,MAAM,CAAC,cAAc,IAAI,MAAM,EAAE;IAiCjC;;OAEG;IACG,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE;QAAE,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,CAAA;KAAE,GAAG,OAAO,CAAC,GAAG,CAAC;IAkBrH;;OAEG;IACG,YAAY,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC;IAC9B,UAAU,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC;IAElC;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IAoBhF;;;;;OAKG;IACH,aAAa,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI;IAM9C;;OAEG;IACH,YAAY,IAAI,OAAO;IAIvB;;;OAGG;IACG,cAAc,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAOzC;;;;;;;;;;;;;;;;;;;;;OAqBG;cACa,QAAQ,CAAC,CAAC,EACxB,QAAQ,EAAE,MAAM,EAChB,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACpB,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,CAAC,CAAC;CAGd"}
package/dist/base.js CHANGED
@@ -118,20 +118,26 @@ export class PhotonMCP {
118
118
  }
119
119
  /**
120
120
  * Get all tool methods from this class
121
- * Returns all public async methods except lifecycle hooks
121
+ * Returns all public async methods except lifecycle hooks and configuration methods
122
122
  */
123
123
  static getToolMethods() {
124
124
  const prototype = this.prototype;
125
125
  const methods = [];
126
+ // Methods that are conventions, not tools
127
+ const conventionMethods = new Set([
128
+ 'constructor',
129
+ 'onInitialize', // Lifecycle hook
130
+ 'onShutdown', // Lifecycle hook
131
+ 'configure', // Configuration convention
132
+ 'getConfig', // Configuration convention
133
+ ]);
126
134
  // Get all property names from prototype chain
127
135
  let current = prototype;
128
136
  while (current && current !== PhotonMCP.prototype) {
129
137
  Object.getOwnPropertyNames(current).forEach((name) => {
130
- // Skip constructor, private methods (starting with _), and lifecycle hooks
131
- if (name !== 'constructor' &&
132
- !name.startsWith('_') &&
133
- name !== 'onInitialize' &&
134
- name !== 'onShutdown' &&
138
+ // Skip private methods (starting with _) and convention methods
139
+ if (!name.startsWith('_') &&
140
+ !conventionMethods.has(name) &&
135
141
  typeof prototype[name] === 'function' &&
136
142
  !methods.includes(name)) {
137
143
  methods.push(name);
package/dist/base.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"base.js","sourceRoot":"","sources":["../src/base.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../src/base.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,63 @@
1
+ /**
2
+ * Photon Configuration Utilities
3
+ *
4
+ * Provides standard config storage for photons that implement the configure() convention.
5
+ * Config is stored at ~/.photon/{photonName}/config.json
6
+ *
7
+ * Usage in a Photon:
8
+ * ```typescript
9
+ * import { loadPhotonConfig, savePhotonConfig, getPhotonConfigPath } from '@portel/photon-core';
10
+ *
11
+ * export default class MyPhoton extends PhotonMCP {
12
+ * async configure(params: { apiKey: string }) {
13
+ * savePhotonConfig('my-photon', params);
14
+ * return { success: true, config: params };
15
+ * }
16
+ *
17
+ * async getConfig() {
18
+ * return loadPhotonConfig('my-photon');
19
+ * }
20
+ * }
21
+ * ```
22
+ */
23
+ /**
24
+ * Get the config directory for photons
25
+ * Default: ~/.photon/
26
+ */
27
+ export declare function getPhotonConfigDir(): string;
28
+ /**
29
+ * Get the config file path for a specific photon
30
+ * @param photonName The photon name (kebab-case)
31
+ * @returns Path to config.json for this photon
32
+ */
33
+ export declare function getPhotonConfigPath(photonName: string): string;
34
+ /**
35
+ * Load configuration for a photon
36
+ * @param photonName The photon name (kebab-case)
37
+ * @param defaults Default values if config doesn't exist
38
+ * @returns The config object or defaults
39
+ */
40
+ export declare function loadPhotonConfig<T extends Record<string, any>>(photonName: string, defaults?: T): T;
41
+ /**
42
+ * Save configuration for a photon
43
+ * @param photonName The photon name (kebab-case)
44
+ * @param config The configuration object to save
45
+ */
46
+ export declare function savePhotonConfig<T extends Record<string, any>>(photonName: string, config: T): void;
47
+ /**
48
+ * Check if a photon has been configured
49
+ * @param photonName The photon name (kebab-case)
50
+ * @returns true if config file exists
51
+ */
52
+ export declare function hasPhotonConfig(photonName: string): boolean;
53
+ /**
54
+ * Delete configuration for a photon
55
+ * @param photonName The photon name (kebab-case)
56
+ */
57
+ export declare function deletePhotonConfig(photonName: string): void;
58
+ /**
59
+ * List all configured photons
60
+ * @returns Array of photon names that have config
61
+ */
62
+ export declare function listConfiguredPhotons(): string[];
63
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAMH;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CAE3C;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAG9D;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC5D,UAAU,EAAE,MAAM,EAClB,QAAQ,CAAC,EAAE,CAAC,GACX,CAAC,CAkBH;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC5D,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,CAAC,GACR,IAAI,CAUN;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAE3D;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAK3D;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,EAAE,CAehD"}
package/dist/config.js ADDED
@@ -0,0 +1,117 @@
1
+ /**
2
+ * Photon Configuration Utilities
3
+ *
4
+ * Provides standard config storage for photons that implement the configure() convention.
5
+ * Config is stored at ~/.photon/{photonName}/config.json
6
+ *
7
+ * Usage in a Photon:
8
+ * ```typescript
9
+ * import { loadPhotonConfig, savePhotonConfig, getPhotonConfigPath } from '@portel/photon-core';
10
+ *
11
+ * export default class MyPhoton extends PhotonMCP {
12
+ * async configure(params: { apiKey: string }) {
13
+ * savePhotonConfig('my-photon', params);
14
+ * return { success: true, config: params };
15
+ * }
16
+ *
17
+ * async getConfig() {
18
+ * return loadPhotonConfig('my-photon');
19
+ * }
20
+ * }
21
+ * ```
22
+ */
23
+ import * as fs from 'fs';
24
+ import * as path from 'path';
25
+ import * as os from 'os';
26
+ /**
27
+ * Get the config directory for photons
28
+ * Default: ~/.photon/
29
+ */
30
+ export function getPhotonConfigDir() {
31
+ return process.env.PHOTON_CONFIG_DIR || path.join(os.homedir(), '.photon');
32
+ }
33
+ /**
34
+ * Get the config file path for a specific photon
35
+ * @param photonName The photon name (kebab-case)
36
+ * @returns Path to config.json for this photon
37
+ */
38
+ export function getPhotonConfigPath(photonName) {
39
+ const safeName = photonName.replace(/[^a-zA-Z0-9_-]/g, '_');
40
+ return path.join(getPhotonConfigDir(), safeName, 'config.json');
41
+ }
42
+ /**
43
+ * Load configuration for a photon
44
+ * @param photonName The photon name (kebab-case)
45
+ * @param defaults Default values if config doesn't exist
46
+ * @returns The config object or defaults
47
+ */
48
+ export function loadPhotonConfig(photonName, defaults) {
49
+ const configPath = getPhotonConfigPath(photonName);
50
+ try {
51
+ if (fs.existsSync(configPath)) {
52
+ const content = fs.readFileSync(configPath, 'utf-8');
53
+ const config = JSON.parse(content);
54
+ // Merge with defaults
55
+ return defaults ? { ...defaults, ...config } : config;
56
+ }
57
+ }
58
+ catch (error) {
59
+ // Log but don't throw - return defaults
60
+ if (process.env.PHOTON_DEBUG) {
61
+ console.error(`Failed to load config for ${photonName}:`, error);
62
+ }
63
+ }
64
+ return defaults || {};
65
+ }
66
+ /**
67
+ * Save configuration for a photon
68
+ * @param photonName The photon name (kebab-case)
69
+ * @param config The configuration object to save
70
+ */
71
+ export function savePhotonConfig(photonName, config) {
72
+ const configPath = getPhotonConfigPath(photonName);
73
+ const configDir = path.dirname(configPath);
74
+ // Ensure directory exists
75
+ if (!fs.existsSync(configDir)) {
76
+ fs.mkdirSync(configDir, { recursive: true });
77
+ }
78
+ fs.writeFileSync(configPath, JSON.stringify(config, null, 2));
79
+ }
80
+ /**
81
+ * Check if a photon has been configured
82
+ * @param photonName The photon name (kebab-case)
83
+ * @returns true if config file exists
84
+ */
85
+ export function hasPhotonConfig(photonName) {
86
+ return fs.existsSync(getPhotonConfigPath(photonName));
87
+ }
88
+ /**
89
+ * Delete configuration for a photon
90
+ * @param photonName The photon name (kebab-case)
91
+ */
92
+ export function deletePhotonConfig(photonName) {
93
+ const configPath = getPhotonConfigPath(photonName);
94
+ if (fs.existsSync(configPath)) {
95
+ fs.unlinkSync(configPath);
96
+ }
97
+ }
98
+ /**
99
+ * List all configured photons
100
+ * @returns Array of photon names that have config
101
+ */
102
+ export function listConfiguredPhotons() {
103
+ const configDir = getPhotonConfigDir();
104
+ if (!fs.existsSync(configDir)) {
105
+ return [];
106
+ }
107
+ try {
108
+ return fs.readdirSync(configDir, { withFileTypes: true })
109
+ .filter(entry => entry.isDirectory())
110
+ .filter(entry => fs.existsSync(path.join(configDir, entry.name, 'config.json')))
111
+ .map(entry => entry.name);
112
+ }
113
+ catch {
114
+ return [];
115
+ }
116
+ }
117
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
@@ -72,6 +72,64 @@ export declare const fontWeight: {
72
72
  readonly semibold: "600";
73
73
  readonly bold: "700";
74
74
  };
75
+ export declare const colorsDark: {
76
+ readonly surface: "#0d0d0d";
77
+ readonly surfaceContainer: "#1a1a1a";
78
+ readonly surfaceContainerHigh: "#262626";
79
+ readonly surfaceContainerHighest: "#333333";
80
+ readonly surfaceBright: "#f2f2f2";
81
+ readonly onSurface: "#e6e6e6";
82
+ readonly onSurfaceVariant: "#b3b3b3";
83
+ readonly onSurfaceMuted: "#808080";
84
+ readonly primary: "#79aef0";
85
+ readonly primaryContainer: "#00497d";
86
+ readonly onPrimary: "#001d36";
87
+ readonly onPrimaryContainer: "#d1e4ff";
88
+ readonly success: "#4cc760";
89
+ readonly successContainer: "#003910";
90
+ readonly onSuccess: "#002106";
91
+ readonly onSuccessContainer: "#98ffa0";
92
+ readonly warning: "#d89e00";
93
+ readonly warningContainer: "#402d00";
94
+ readonly onWarning: "#261900";
95
+ readonly onWarningContainer: "#ffdf9e";
96
+ readonly error: "#ff897d";
97
+ readonly errorContainer: "#690005";
98
+ readonly onError: "#410002";
99
+ readonly onErrorContainer: "#ffdad6";
100
+ readonly outline: "#4d4d4d";
101
+ readonly outlineVariant: "#333333";
102
+ readonly scrim: "rgba(0, 0, 0, 0.5)";
103
+ };
104
+ export declare const colorsLight: {
105
+ surface: "#ffffff";
106
+ surfaceContainer: "#f2f2f2";
107
+ surfaceContainerHigh: "#e6e6e6";
108
+ surfaceContainerHighest: "#cccccc";
109
+ surfaceBright: "#ffffff";
110
+ onSurface: "#1a1a1a";
111
+ onSurfaceVariant: "#4d4d4d";
112
+ onSurfaceMuted: "#808080";
113
+ primary: "#0061a4";
114
+ primaryContainer: "#d1e4ff";
115
+ onPrimary: "#ffffff";
116
+ onPrimaryContainer: "#001d36";
117
+ success: "#006e25";
118
+ successContainer: "#98ffa0";
119
+ onSuccess: "#ffffff";
120
+ onSuccessContainer: "#002106";
121
+ warning: "#7a5900";
122
+ warningContainer: "#ffdf9e";
123
+ onWarning: "#ffffff";
124
+ onWarningContainer: "#261900";
125
+ error: "#ba1a1a";
126
+ errorContainer: "#ffdad6";
127
+ onError: "#ffffff";
128
+ onErrorContainer: "#410002";
129
+ outline: "#808080";
130
+ outlineVariant: "#cccccc";
131
+ scrim: "rgba(0, 0, 0, 0.3)";
132
+ };
75
133
  export declare const colors: {
76
134
  readonly surface: "#0d0d0d";
77
135
  readonly surfaceContainer: "#1a1a1a";
@@ -101,6 +159,9 @@ export declare const colors: {
101
159
  readonly outlineVariant: "#333333";
102
160
  readonly scrim: "rgba(0, 0, 0, 0.5)";
103
161
  };
162
+ export type ThemeMode = 'light' | 'dark' | 'system';
163
+ export type ThemeColors = typeof colorsDark | typeof colorsLight;
164
+ export declare function getThemeColors(theme: 'light' | 'dark'): ThemeColors;
104
165
  export declare const elevation: {
105
166
  readonly '0': "none";
106
167
  readonly '1': "0px 1px 2px 0px rgba(0, 0, 0, 0.30), 0px 1px 3px 1px rgba(0, 0, 0, 0.15)";
@@ -146,4 +207,9 @@ export declare const zIndex: {
146
207
  readonly toast: "500";
147
208
  };
148
209
  export declare function generateTokensCSS(): string;
210
+ /**
211
+ * Get theme tokens as a flat object for MCP Apps ui/initialize
212
+ * Compatible with OpenAI Apps SDK and MCP Apps Extension (SEP-1865)
213
+ */
214
+ export declare function getThemeTokens(theme: 'light' | 'dark'): Record<string, string>;
149
215
  //# sourceMappingURL=tokens.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../src/design-system/tokens.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH,eAAO,MAAM,OAAO;;;;;;;;;;;CAYV,CAAC;AAGX,eAAO,MAAM,cAAc;;;;;;;;CAQjB,CAAC;AAMX,eAAO,MAAM,UAAU;;;CAGb,CAAC;AAEX,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;CAyBX,CAAC;AAEX,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;CAgBb,CAAC;AAEX,eAAO,MAAM,UAAU;;;;;CAKb,CAAC;AAoFX,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2CT,CAAC;AAMX,eAAO,MAAM,SAAS;;;;;;;CAOZ,CAAC;AAMX,eAAO,MAAM,MAAM;;;;;;;CAOT,CAAC;AAMX,eAAO,MAAM,QAAQ;;;;;;CAMX,CAAC;AAEX,eAAO,MAAM,MAAM;;;;;;;CAOT,CAAC;AAMX,eAAO,MAAM,WAAW;;;;CAId,CAAC;AAMX,eAAO,MAAM,MAAM;;;;;;;CAOT,CAAC;AAMX,wBAAgB,iBAAiB,IAAI,MAAM,CAqJ1C"}
1
+ {"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../src/design-system/tokens.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH,eAAO,MAAM,OAAO;;;;;;;;;;;CAYV,CAAC;AAGX,eAAO,MAAM,cAAc;;;;;;;;CAQjB,CAAC;AAMX,eAAO,MAAM,UAAU;;;CAGb,CAAC;AAEX,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;CAyBX,CAAC;AAEX,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;CAgBb,CAAC;AAEX,eAAO,MAAM,UAAU;;;;;CAKb,CAAC;AAoFX,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2Cb,CAAC;AAGX,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2CvB,CAAC;AAGF,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAa,CAAC;AAGjC,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC;AAGpD,MAAM,MAAM,WAAW,GAAG,OAAO,UAAU,GAAG,OAAO,WAAW,CAAC;AAGjE,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,WAAW,CAEnE;AAMD,eAAO,MAAM,SAAS;;;;;;;CAOZ,CAAC;AAMX,eAAO,MAAM,MAAM;;;;;;;CAOT,CAAC;AAMX,eAAO,MAAM,QAAQ;;;;;;CAMX,CAAC;AAEX,eAAO,MAAM,MAAM;;;;;;;CAOT,CAAC;AAMX,eAAO,MAAM,WAAW;;;;CAId,CAAC;AAMX,eAAO,MAAM,MAAM;;;;;;;CAOT,CAAC;AAuDX,wBAAgB,iBAAiB,IAAI,MAAM,CA2H1C;AAMD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAuO9E"}