@google/gemini-cli 0.3.2 → 0.4.0-preview
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/google-gemini-cli-0.3.1.tgz +0 -0
- package/dist/package.json +3 -6
- package/dist/src/commands/extensions/enable.js +1 -1
- package/dist/src/commands/extensions/enable.js.map +1 -1
- package/dist/src/commands/extensions/examples/context/GEMINI.md +8 -0
- package/dist/src/commands/extensions/examples/context/gemini-extension.json +5 -0
- package/dist/src/commands/extensions/examples/custom-commands/commands/fs/grep-code.toml +6 -0
- package/dist/src/commands/extensions/examples/custom-commands/gemini-extension.json +4 -0
- package/dist/src/commands/extensions/examples/exclude-tools/gemini-extension.json +5 -0
- package/dist/src/commands/extensions/examples/mcp-server/example.d.ts +6 -0
- package/dist/src/commands/extensions/examples/mcp-server/example.js +46 -0
- package/dist/src/commands/extensions/examples/mcp-server/example.js.map +1 -0
- package/dist/src/commands/extensions/examples/mcp-server/example.ts +60 -0
- package/dist/src/commands/extensions/examples/mcp-server/gemini-extension.json +10 -0
- package/dist/src/commands/extensions/install.js +35 -7
- package/dist/src/commands/extensions/install.js.map +1 -1
- package/dist/src/commands/extensions/install.test.js +20 -2
- package/dist/src/commands/extensions/install.test.js.map +1 -1
- package/dist/src/commands/extensions/link.d.ts +12 -0
- package/dist/src/commands/extensions/link.js +37 -0
- package/dist/src/commands/extensions/link.js.map +1 -0
- package/dist/src/commands/extensions/new.d.ts +7 -0
- package/dist/src/commands/extensions/new.js +70 -0
- package/dist/src/commands/extensions/new.js.map +1 -0
- package/dist/src/commands/extensions/new.test.d.ts +6 -0
- package/dist/src/commands/extensions/new.test.js +50 -0
- package/dist/src/commands/extensions/new.test.js.map +1 -0
- package/dist/src/commands/extensions/update.d.ts +2 -1
- package/dist/src/commands/extensions/update.js +36 -15
- package/dist/src/commands/extensions/update.js.map +1 -1
- package/dist/src/commands/extensions.js +4 -0
- package/dist/src/commands/extensions.js.map +1 -1
- package/dist/src/commands/mcp/add.js +1 -1
- package/dist/src/commands/mcp/add.js.map +1 -1
- package/dist/src/commands/mcp/list.js +2 -2
- package/dist/src/commands/mcp/list.js.map +1 -1
- package/dist/src/commands/mcp/remove.js +1 -1
- package/dist/src/commands/mcp/remove.js.map +1 -1
- package/dist/src/config/auth.d.ts +1 -1
- package/dist/src/config/auth.js +4 -4
- package/dist/src/config/auth.js.map +1 -1
- package/dist/src/config/auth.test.js +15 -7
- package/dist/src/config/auth.test.js.map +1 -1
- package/dist/src/config/config.d.ts +4 -1
- package/dist/src/config/config.js +32 -18
- package/dist/src/config/config.js.map +1 -1
- package/dist/src/config/extension.d.ts +7 -4
- package/dist/src/config/extension.js +76 -24
- package/dist/src/config/extension.js.map +1 -1
- package/dist/src/config/keyBindings.d.ts +1 -0
- package/dist/src/config/keyBindings.js +6 -25
- package/dist/src/config/keyBindings.js.map +1 -1
- package/dist/src/config/settings.d.ts +5 -5
- package/dist/src/config/settings.js +93 -224
- package/dist/src/config/settings.js.map +1 -1
- package/dist/src/config/settingsSchema.d.ts +113 -13
- package/dist/src/config/settingsSchema.js +112 -13
- package/dist/src/config/settingsSchema.js.map +1 -1
- package/dist/src/config/trustedFolders.d.ts +12 -2
- package/dist/src/config/trustedFolders.js +59 -40
- package/dist/src/config/trustedFolders.js.map +1 -1
- package/dist/src/config/trustedFolders.test.js +81 -2
- package/dist/src/config/trustedFolders.test.js.map +1 -1
- package/dist/src/gemini.d.ts +1 -1
- package/dist/src/gemini.js +52 -26
- package/dist/src/gemini.js.map +1 -1
- package/dist/src/gemini.test.js +2 -30
- package/dist/src/gemini.test.js.map +1 -1
- package/dist/src/generated/git-commit.d.ts +2 -2
- package/dist/src/generated/git-commit.js +2 -2
- package/dist/src/generated/git-commit.js.map +1 -1
- package/dist/src/services/BuiltinCommandLoader.js +1 -1
- package/dist/src/services/BuiltinCommandLoader.js.map +1 -1
- package/dist/src/services/BuiltinCommandLoader.test.js +3 -3
- package/dist/src/services/BuiltinCommandLoader.test.js.map +1 -1
- package/dist/src/services/FileCommandLoader.d.ts +2 -0
- package/dist/src/services/FileCommandLoader.js +7 -0
- package/dist/src/services/FileCommandLoader.js.map +1 -1
- package/dist/src/ui/App.js +109 -47
- package/dist/src/ui/App.js.map +1 -1
- package/dist/src/ui/commands/aboutCommand.js +9 -3
- package/dist/src/ui/commands/aboutCommand.js.map +1 -1
- package/dist/src/ui/commands/bugCommand.js +9 -4
- package/dist/src/ui/commands/bugCommand.js.map +1 -1
- package/dist/src/ui/commands/directoryCommand.js +1 -1
- package/dist/src/ui/commands/directoryCommand.js.map +1 -1
- package/dist/src/ui/commands/ideCommand.d.ts +1 -2
- package/dist/src/ui/commands/ideCommand.js +16 -7
- package/dist/src/ui/commands/ideCommand.js.map +1 -1
- package/dist/src/ui/commands/mcpCommand.js +6 -4
- package/dist/src/ui/commands/mcpCommand.js.map +1 -1
- package/dist/src/ui/commands/memoryCommand.js +1 -1
- package/dist/src/ui/commands/memoryCommand.js.map +1 -1
- package/dist/src/ui/components/AuthDialog.js +8 -2
- package/dist/src/ui/components/AuthDialog.js.map +1 -1
- package/dist/src/ui/components/AuthDialog.test.js +41 -10
- package/dist/src/ui/components/AuthDialog.test.js.map +1 -1
- package/dist/src/ui/components/FolderTrustDialog.js +3 -1
- package/dist/src/ui/components/FolderTrustDialog.js.map +1 -1
- package/dist/src/ui/components/FolderTrustDialog.test.js +19 -4
- package/dist/src/ui/components/FolderTrustDialog.test.js.map +1 -1
- package/dist/src/ui/components/Footer.d.ts +3 -0
- package/dist/src/ui/components/Footer.js +4 -3
- package/dist/src/ui/components/Footer.js.map +1 -1
- package/dist/src/ui/components/InputPrompt.js +34 -24
- package/dist/src/ui/components/InputPrompt.js.map +1 -1
- package/dist/src/ui/components/MemoryUsageDisplay.js +1 -1
- package/dist/src/ui/components/MemoryUsageDisplay.js.map +1 -1
- package/dist/src/ui/components/ProQuotaDialog.d.ts +13 -0
- package/dist/src/ui/components/ProQuotaDialog.js +21 -0
- package/dist/src/ui/components/ProQuotaDialog.js.map +1 -0
- package/dist/src/ui/components/ProQuotaDialog.test.d.ts +6 -0
- package/dist/src/ui/components/ProQuotaDialog.test.js +56 -0
- package/dist/src/ui/components/ProQuotaDialog.test.js.map +1 -0
- package/dist/src/ui/components/SettingsDialog.test.js +2 -2
- package/dist/src/ui/components/SettingsDialog.test.js.map +1 -1
- package/dist/src/ui/components/messages/ToolConfirmationMessage.js +3 -3
- package/dist/src/ui/components/messages/ToolConfirmationMessage.js.map +1 -1
- package/dist/src/ui/components/messages/ToolConfirmationMessage.test.js +0 -8
- package/dist/src/ui/components/messages/ToolConfirmationMessage.test.js.map +1 -1
- package/dist/src/ui/components/shared/MaxSizedBox.js.map +1 -1
- package/dist/src/ui/components/shared/text-buffer.js +35 -51
- package/dist/src/ui/components/shared/text-buffer.js.map +1 -1
- package/dist/src/ui/contexts/KeypressContext.js +255 -42
- package/dist/src/ui/contexts/KeypressContext.js.map +1 -1
- package/dist/src/ui/contexts/KeypressContext.test.js +115 -1
- package/dist/src/ui/contexts/KeypressContext.test.js.map +1 -1
- package/dist/src/ui/hooks/slashCommandProcessor.js +11 -6
- package/dist/src/ui/hooks/slashCommandProcessor.js.map +1 -1
- package/dist/src/ui/hooks/useFolderTrust.js +6 -4
- package/dist/src/ui/hooks/useFolderTrust.js.map +1 -1
- package/dist/src/ui/hooks/useGeminiStream.d.ts +3 -2
- package/dist/src/ui/hooks/useGeminiStream.js +31 -3
- package/dist/src/ui/hooks/useGeminiStream.js.map +1 -1
- package/dist/src/ui/hooks/useIdeTrustListener.d.ts +14 -0
- package/dist/src/ui/hooks/useIdeTrustListener.js +39 -0
- package/dist/src/ui/hooks/useIdeTrustListener.js.map +1 -0
- package/dist/src/ui/hooks/useInputHistoryStore.d.ts +19 -0
- package/dist/src/ui/hooks/useInputHistoryStore.js +81 -0
- package/dist/src/ui/hooks/useInputHistoryStore.js.map +1 -0
- package/dist/src/ui/hooks/useInputHistoryStore.test.d.ts +6 -0
- package/dist/src/ui/hooks/useInputHistoryStore.test.js +234 -0
- package/dist/src/ui/hooks/useInputHistoryStore.test.js.map +1 -0
- package/dist/src/ui/hooks/useLoadingIndicator.d.ts +1 -1
- package/dist/src/ui/hooks/useLoadingIndicator.js +2 -2
- package/dist/src/ui/hooks/useLoadingIndicator.js.map +1 -1
- package/dist/src/ui/hooks/useLoadingIndicator.test.js +2 -2
- package/dist/src/ui/hooks/useLoadingIndicator.test.js.map +1 -1
- package/dist/src/ui/hooks/usePhraseCycler.d.ts +1 -1
- package/dist/src/ui/hooks/usePhraseCycler.js +11 -8
- package/dist/src/ui/hooks/usePhraseCycler.js.map +1 -1
- package/dist/src/ui/hooks/usePrivacySettings.d.ts +1 -1
- package/dist/src/ui/hooks/usePrivacySettings.js +8 -13
- package/dist/src/ui/hooks/usePrivacySettings.js.map +1 -1
- package/dist/src/ui/hooks/usePrivacySettings.test.js +33 -97
- package/dist/src/ui/hooks/usePrivacySettings.test.js.map +1 -1
- package/dist/src/ui/hooks/useSlashCompletion.js +263 -67
- package/dist/src/ui/hooks/useSlashCompletion.js.map +1 -1
- package/dist/src/ui/hooks/useSlashCompletion.test.d.ts +4 -1
- package/dist/src/ui/hooks/useSlashCompletion.test.js +452 -59
- package/dist/src/ui/hooks/useSlashCompletion.test.js.map +1 -1
- package/dist/src/ui/hooks/useToolScheduler.test.js +57 -59
- package/dist/src/ui/hooks/useToolScheduler.test.js.map +1 -1
- package/dist/src/ui/keyMatchers.test.js +9 -0
- package/dist/src/ui/keyMatchers.test.js.map +1 -1
- package/dist/src/ui/utils/MarkdownDisplay.test.js +2 -2
- package/dist/src/ui/utils/MarkdownDisplay.test.js.map +1 -1
- package/dist/src/ui/utils/highlight.d.ts +10 -0
- package/dist/src/ui/utils/highlight.js +41 -0
- package/dist/src/ui/utils/highlight.js.map +1 -0
- package/dist/src/ui/utils/highlight.test.d.ts +6 -0
- package/dist/src/ui/utils/highlight.test.js +93 -0
- package/dist/src/ui/utils/highlight.test.js.map +1 -0
- package/dist/src/ui/utils/platformConstants.d.ts +24 -1
- package/dist/src/ui/utils/platformConstants.js +26 -1
- package/dist/src/ui/utils/platformConstants.js.map +1 -1
- package/dist/src/utils/deepMerge.d.ts +10 -0
- package/dist/src/utils/deepMerge.js +58 -0
- package/dist/src/utils/deepMerge.js.map +1 -0
- package/dist/src/utils/deepMerge.test.d.ts +6 -0
- package/dist/src/utils/deepMerge.test.js +143 -0
- package/dist/src/utils/deepMerge.test.js.map +1 -0
- package/dist/src/utils/envVarResolver.d.ts +39 -0
- package/dist/src/utils/envVarResolver.js +97 -0
- package/dist/src/utils/envVarResolver.js.map +1 -0
- package/dist/src/utils/envVarResolver.test.d.ts +6 -0
- package/dist/src/utils/envVarResolver.test.js +221 -0
- package/dist/src/utils/envVarResolver.test.js.map +1 -0
- package/dist/src/utils/userStartupWarnings.d.ts +1 -1
- package/dist/src/utils/userStartupWarnings.js +1 -1
- package/dist/src/utils/userStartupWarnings.js.map +1 -1
- package/dist/src/validateNonInterActiveAuth.d.ts +2 -1
- package/dist/src/validateNonInterActiveAuth.js +11 -2
- package/dist/src/validateNonInterActiveAuth.js.map +1 -1
- package/dist/src/zed-integration/zedIntegration.js +7 -5
- package/dist/src/zed-integration/zedIntegration.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +4 -7
|
@@ -7,65 +7,93 @@ import * as fs from 'node:fs';
|
|
|
7
7
|
import * as path from 'node:path';
|
|
8
8
|
import { homedir, platform } from 'node:os';
|
|
9
9
|
import * as dotenv from 'dotenv';
|
|
10
|
-
import
|
|
10
|
+
import process from 'node:process';
|
|
11
|
+
import { FatalConfigError, GEMINI_CONFIG_DIR as GEMINI_DIR, getErrorMessage, Storage, } from '@google/gemini-cli-core';
|
|
11
12
|
import stripJsonComments from 'strip-json-comments';
|
|
12
13
|
import { DefaultLight } from '../ui/themes/default-light.js';
|
|
13
14
|
import { DefaultDark } from '../ui/themes/default.js';
|
|
14
15
|
import { isWorkspaceTrusted } from './trustedFolders.js';
|
|
15
|
-
import {
|
|
16
|
+
import { SETTINGS_SCHEMA, } from './settingsSchema.js';
|
|
17
|
+
import { resolveEnvVarsInObject } from '../utils/envVarResolver.js';
|
|
18
|
+
import { customDeepMerge } from '../utils/deepMerge.js';
|
|
19
|
+
function getMergeStrategyForPath(path) {
|
|
20
|
+
let current = undefined;
|
|
21
|
+
let currentSchema = SETTINGS_SCHEMA;
|
|
22
|
+
for (const key of path) {
|
|
23
|
+
if (!currentSchema || !currentSchema[key]) {
|
|
24
|
+
return undefined;
|
|
25
|
+
}
|
|
26
|
+
current = currentSchema[key];
|
|
27
|
+
currentSchema = current.properties;
|
|
28
|
+
}
|
|
29
|
+
return current?.mergeStrategy;
|
|
30
|
+
}
|
|
16
31
|
export const SETTINGS_DIRECTORY_NAME = '.gemini';
|
|
17
32
|
export const USER_SETTINGS_PATH = Storage.getGlobalSettingsPath();
|
|
18
33
|
export const USER_SETTINGS_DIR = path.dirname(USER_SETTINGS_PATH);
|
|
19
34
|
export const DEFAULT_EXCLUDED_ENV_VARS = ['DEBUG', 'DEBUG_MODE'];
|
|
20
35
|
const MIGRATE_V2_OVERWRITE = false;
|
|
21
36
|
const MIGRATION_MAP = {
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
37
|
+
accessibility: 'ui.accessibility',
|
|
38
|
+
allowedTools: 'tools.allowed',
|
|
39
|
+
allowMCPServers: 'mcp.allowed',
|
|
40
|
+
autoAccept: 'tools.autoAccept',
|
|
41
|
+
autoConfigureMaxOldSpaceSize: 'advanced.autoConfigureMemory',
|
|
42
|
+
bugCommand: 'advanced.bugCommand',
|
|
43
|
+
chatCompression: 'model.chatCompression',
|
|
26
44
|
checkpointing: 'general.checkpointing',
|
|
27
|
-
|
|
45
|
+
coreTools: 'tools.core',
|
|
46
|
+
contextFileName: 'context.fileName',
|
|
28
47
|
customThemes: 'ui.customThemes',
|
|
48
|
+
debugKeystrokeLogging: 'general.debugKeystrokeLogging',
|
|
49
|
+
disableAutoUpdate: 'general.disableAutoUpdate',
|
|
50
|
+
disableUpdateNag: 'general.disableUpdateNag',
|
|
51
|
+
dnsResolutionOrder: 'advanced.dnsResolutionOrder',
|
|
52
|
+
enablePromptCompletion: 'general.enablePromptCompletion',
|
|
53
|
+
enforcedAuthType: 'security.auth.enforcedType',
|
|
54
|
+
excludeTools: 'tools.exclude',
|
|
55
|
+
excludeMCPServers: 'mcp.excluded',
|
|
56
|
+
excludedProjectEnvVars: 'advanced.excludedEnvVars',
|
|
57
|
+
extensionManagement: 'advanced.extensionManagement',
|
|
58
|
+
extensions: 'extensions',
|
|
59
|
+
fileFiltering: 'context.fileFiltering',
|
|
60
|
+
folderTrustFeature: 'security.folderTrust.featureEnabled',
|
|
61
|
+
folderTrust: 'security.folderTrust.enabled',
|
|
62
|
+
hasSeenIdeIntegrationNudge: 'ide.hasSeenNudge',
|
|
29
63
|
hideWindowTitle: 'ui.hideWindowTitle',
|
|
30
64
|
hideTips: 'ui.hideTips',
|
|
31
65
|
hideBanner: 'ui.hideBanner',
|
|
32
66
|
hideFooter: 'ui.hideFooter',
|
|
67
|
+
hideCWD: 'ui.footer.hideCWD',
|
|
68
|
+
hideSandboxStatus: 'ui.footer.hideSandboxStatus',
|
|
69
|
+
hideModelInfo: 'ui.footer.hideModelInfo',
|
|
70
|
+
hideContextSummary: 'ui.hideContextSummary',
|
|
33
71
|
showMemoryUsage: 'ui.showMemoryUsage',
|
|
34
72
|
showLineNumbers: 'ui.showLineNumbers',
|
|
35
|
-
|
|
73
|
+
showCitations: 'ui.showCitations',
|
|
36
74
|
ideMode: 'ide.enabled',
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
telemetry: 'telemetry',
|
|
40
|
-
model: 'model.name',
|
|
75
|
+
includeDirectories: 'context.includeDirectories',
|
|
76
|
+
loadMemoryFromIncludeDirectories: 'context.loadFromIncludeDirectories',
|
|
41
77
|
maxSessionTurns: 'model.maxSessionTurns',
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
skipNextSpeakerCheck: 'model.skipNextSpeakerCheck',
|
|
45
|
-
contextFileName: 'context.fileName',
|
|
78
|
+
mcpServers: 'mcpServers',
|
|
79
|
+
mcpServerCommand: 'mcp.serverCommand',
|
|
46
80
|
memoryImportFormat: 'context.importFormat',
|
|
47
81
|
memoryDiscoveryMaxDirs: 'context.discoveryMaxDirs',
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
fileFiltering: 'context.fileFiltering',
|
|
82
|
+
model: 'model.name',
|
|
83
|
+
preferredEditor: 'general.preferredEditor',
|
|
51
84
|
sandbox: 'tools.sandbox',
|
|
85
|
+
selectedAuthType: 'security.auth.selectedType',
|
|
52
86
|
shouldUseNodePtyShell: 'tools.usePty',
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
87
|
+
skipNextSpeakerCheck: 'model.skipNextSpeakerCheck',
|
|
88
|
+
summarizeToolOutput: 'model.summarizeToolOutput',
|
|
89
|
+
telemetry: 'telemetry',
|
|
90
|
+
theme: 'ui.theme',
|
|
56
91
|
toolDiscoveryCommand: 'tools.discoveryCommand',
|
|
57
92
|
toolCallCommand: 'tools.callCommand',
|
|
58
|
-
|
|
59
|
-
allowMCPServers: 'mcp.allowed',
|
|
60
|
-
excludeMCPServers: 'mcp.excluded',
|
|
61
|
-
folderTrustFeature: 'security.folderTrust.featureEnabled',
|
|
62
|
-
folderTrust: 'security.folderTrust.enabled',
|
|
63
|
-
selectedAuthType: 'security.auth.selectedType',
|
|
93
|
+
usageStatisticsEnabled: 'privacy.usageStatisticsEnabled',
|
|
64
94
|
useExternalAuth: 'security.auth.useExternal',
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
excludedProjectEnvVars: 'advanced.excludedEnvVars',
|
|
68
|
-
bugCommand: 'advanced.bugCommand',
|
|
95
|
+
useRipgrep: 'tools.useRipgrep',
|
|
96
|
+
vimMode: 'general.vimMode',
|
|
69
97
|
};
|
|
70
98
|
export function getSystemSettingsPath() {
|
|
71
99
|
if (process.env['GEMINI_CLI_SYSTEM_SETTINGS_PATH']) {
|
|
@@ -115,8 +143,24 @@ function setNestedProperty(obj, path, value) {
|
|
|
115
143
|
}
|
|
116
144
|
current[lastKey] = value;
|
|
117
145
|
}
|
|
118
|
-
function needsMigration(settings) {
|
|
119
|
-
|
|
146
|
+
export function needsMigration(settings) {
|
|
147
|
+
// A file needs migration if it contains any top-level key that is moved to a
|
|
148
|
+
// nested location in V2.
|
|
149
|
+
const hasV1Keys = Object.entries(MIGRATION_MAP).some(([v1Key, v2Path]) => {
|
|
150
|
+
if (v1Key === v2Path || !(v1Key in settings)) {
|
|
151
|
+
return false;
|
|
152
|
+
}
|
|
153
|
+
// If a key exists that is both a V1 key and a V2 container (like 'model'),
|
|
154
|
+
// we need to check the type. If it's an object, it's a V2 container and not
|
|
155
|
+
// a V1 key that needs migration.
|
|
156
|
+
if (KNOWN_V2_CONTAINERS.has(v1Key) &&
|
|
157
|
+
typeof settings[v1Key] === 'object' &&
|
|
158
|
+
settings[v1Key] !== null) {
|
|
159
|
+
return false;
|
|
160
|
+
}
|
|
161
|
+
return true;
|
|
162
|
+
});
|
|
163
|
+
return hasV1Keys;
|
|
120
164
|
}
|
|
121
165
|
function migrateSettingsToV2(flatSettings) {
|
|
122
166
|
if (!needsMigration(flatSettings)) {
|
|
@@ -200,7 +244,6 @@ function mergeSettings(system, systemDefaults, user, workspace, isTrusted) {
|
|
|
200
244
|
}
|
|
201
245
|
: {
|
|
202
246
|
...restOfWorkspace,
|
|
203
|
-
security: {},
|
|
204
247
|
};
|
|
205
248
|
// Settings are merged with the following precedence (last one wins for
|
|
206
249
|
// single values):
|
|
@@ -208,144 +251,15 @@ function mergeSettings(system, systemDefaults, user, workspace, isTrusted) {
|
|
|
208
251
|
// 2. User Settings
|
|
209
252
|
// 3. Workspace Settings
|
|
210
253
|
// 4. System Settings (as overrides)
|
|
211
|
-
//
|
|
212
|
-
|
|
213
|
-
// are concatenated. For objects (e.g., customThemes), they are merged.
|
|
214
|
-
return {
|
|
215
|
-
...systemDefaults,
|
|
216
|
-
...user,
|
|
217
|
-
...safeWorkspaceWithoutFolderTrust,
|
|
218
|
-
...system,
|
|
219
|
-
general: {
|
|
220
|
-
...(systemDefaults.general || {}),
|
|
221
|
-
...(user.general || {}),
|
|
222
|
-
...(safeWorkspaceWithoutFolderTrust.general || {}),
|
|
223
|
-
...(system.general || {}),
|
|
224
|
-
},
|
|
225
|
-
ui: {
|
|
226
|
-
...(systemDefaults.ui || {}),
|
|
227
|
-
...(user.ui || {}),
|
|
228
|
-
...(safeWorkspaceWithoutFolderTrust.ui || {}),
|
|
229
|
-
...(system.ui || {}),
|
|
230
|
-
customThemes: {
|
|
231
|
-
...(systemDefaults.ui?.customThemes || {}),
|
|
232
|
-
...(user.ui?.customThemes || {}),
|
|
233
|
-
...(safeWorkspaceWithoutFolderTrust.ui?.customThemes || {}),
|
|
234
|
-
...(system.ui?.customThemes || {}),
|
|
235
|
-
},
|
|
236
|
-
},
|
|
237
|
-
ide: {
|
|
238
|
-
...(systemDefaults.ide || {}),
|
|
239
|
-
...(user.ide || {}),
|
|
240
|
-
...(safeWorkspaceWithoutFolderTrust.ide || {}),
|
|
241
|
-
...(system.ide || {}),
|
|
242
|
-
},
|
|
243
|
-
privacy: {
|
|
244
|
-
...(systemDefaults.privacy || {}),
|
|
245
|
-
...(user.privacy || {}),
|
|
246
|
-
...(safeWorkspaceWithoutFolderTrust.privacy || {}),
|
|
247
|
-
...(system.privacy || {}),
|
|
248
|
-
},
|
|
249
|
-
telemetry: {
|
|
250
|
-
...(systemDefaults.telemetry || {}),
|
|
251
|
-
...(user.telemetry || {}),
|
|
252
|
-
...(safeWorkspaceWithoutFolderTrust.telemetry || {}),
|
|
253
|
-
...(system.telemetry || {}),
|
|
254
|
-
},
|
|
255
|
-
security: {
|
|
256
|
-
...(systemDefaults.security || {}),
|
|
257
|
-
...(user.security || {}),
|
|
258
|
-
...(safeWorkspaceWithoutFolderTrust.security || {}),
|
|
259
|
-
...(system.security || {}),
|
|
260
|
-
},
|
|
261
|
-
mcp: {
|
|
262
|
-
...(systemDefaults.mcp || {}),
|
|
263
|
-
...(user.mcp || {}),
|
|
264
|
-
...(safeWorkspaceWithoutFolderTrust.mcp || {}),
|
|
265
|
-
...(system.mcp || {}),
|
|
266
|
-
},
|
|
267
|
-
mcpServers: {
|
|
268
|
-
...(systemDefaults.mcpServers || {}),
|
|
269
|
-
...(user.mcpServers || {}),
|
|
270
|
-
...(safeWorkspaceWithoutFolderTrust.mcpServers || {}),
|
|
271
|
-
...(system.mcpServers || {}),
|
|
272
|
-
},
|
|
273
|
-
tools: {
|
|
274
|
-
...(systemDefaults.tools || {}),
|
|
275
|
-
...(user.tools || {}),
|
|
276
|
-
...(safeWorkspaceWithoutFolderTrust.tools || {}),
|
|
277
|
-
...(system.tools || {}),
|
|
278
|
-
},
|
|
279
|
-
context: {
|
|
280
|
-
...(systemDefaults.context || {}),
|
|
281
|
-
...(user.context || {}),
|
|
282
|
-
...(safeWorkspaceWithoutFolderTrust.context || {}),
|
|
283
|
-
...(system.context || {}),
|
|
284
|
-
includeDirectories: [
|
|
285
|
-
...(systemDefaults.context?.includeDirectories || []),
|
|
286
|
-
...(user.context?.includeDirectories || []),
|
|
287
|
-
...(safeWorkspaceWithoutFolderTrust.context?.includeDirectories || []),
|
|
288
|
-
...(system.context?.includeDirectories || []),
|
|
289
|
-
],
|
|
290
|
-
},
|
|
291
|
-
model: {
|
|
292
|
-
...(systemDefaults.model || {}),
|
|
293
|
-
...(user.model || {}),
|
|
294
|
-
...(safeWorkspaceWithoutFolderTrust.model || {}),
|
|
295
|
-
...(system.model || {}),
|
|
296
|
-
chatCompression: {
|
|
297
|
-
...(systemDefaults.model?.chatCompression || {}),
|
|
298
|
-
...(user.model?.chatCompression || {}),
|
|
299
|
-
...(safeWorkspaceWithoutFolderTrust.model?.chatCompression || {}),
|
|
300
|
-
...(system.model?.chatCompression || {}),
|
|
301
|
-
},
|
|
302
|
-
},
|
|
303
|
-
advanced: {
|
|
304
|
-
...(systemDefaults.advanced || {}),
|
|
305
|
-
...(user.advanced || {}),
|
|
306
|
-
...(safeWorkspaceWithoutFolderTrust.advanced || {}),
|
|
307
|
-
...(system.advanced || {}),
|
|
308
|
-
excludedEnvVars: [
|
|
309
|
-
...new Set([
|
|
310
|
-
...(systemDefaults.advanced?.excludedEnvVars || []),
|
|
311
|
-
...(user.advanced?.excludedEnvVars || []),
|
|
312
|
-
...(safeWorkspaceWithoutFolderTrust.advanced?.excludedEnvVars || []),
|
|
313
|
-
...(system.advanced?.excludedEnvVars || []),
|
|
314
|
-
]),
|
|
315
|
-
],
|
|
316
|
-
},
|
|
317
|
-
extensions: {
|
|
318
|
-
...(systemDefaults.extensions || {}),
|
|
319
|
-
...(user.extensions || {}),
|
|
320
|
-
...(safeWorkspaceWithoutFolderTrust.extensions || {}),
|
|
321
|
-
...(system.extensions || {}),
|
|
322
|
-
disabled: [
|
|
323
|
-
...new Set([
|
|
324
|
-
...(systemDefaults.extensions?.disabled || []),
|
|
325
|
-
...(user.extensions?.disabled || []),
|
|
326
|
-
...(safeWorkspaceWithoutFolderTrust.extensions?.disabled || []),
|
|
327
|
-
...(system.extensions?.disabled || []),
|
|
328
|
-
]),
|
|
329
|
-
],
|
|
330
|
-
workspacesWithMigrationNudge: [
|
|
331
|
-
...new Set([
|
|
332
|
-
...(systemDefaults.extensions?.workspacesWithMigrationNudge || []),
|
|
333
|
-
...(user.extensions?.workspacesWithMigrationNudge || []),
|
|
334
|
-
...(safeWorkspaceWithoutFolderTrust.extensions
|
|
335
|
-
?.workspacesWithMigrationNudge || []),
|
|
336
|
-
...(system.extensions?.workspacesWithMigrationNudge || []),
|
|
337
|
-
]),
|
|
338
|
-
],
|
|
339
|
-
},
|
|
340
|
-
};
|
|
254
|
+
return customDeepMerge(getMergeStrategyForPath, {}, // Start with an empty object
|
|
255
|
+
systemDefaults, user, safeWorkspaceWithoutFolderTrust, system);
|
|
341
256
|
}
|
|
342
257
|
export class LoadedSettings {
|
|
343
|
-
constructor(system, systemDefaults, user, workspace,
|
|
258
|
+
constructor(system, systemDefaults, user, workspace, isTrusted, migratedInMemorScopes) {
|
|
344
259
|
this.system = system;
|
|
345
260
|
this.systemDefaults = systemDefaults;
|
|
346
261
|
this.user = user;
|
|
347
262
|
this.workspace = workspace;
|
|
348
|
-
this.errors = errors;
|
|
349
263
|
this.isTrusted = isTrusted;
|
|
350
264
|
this.migratedInMemorScopes = migratedInMemorScopes;
|
|
351
265
|
this._merged = this.computeMergedSettings();
|
|
@@ -354,7 +268,6 @@ export class LoadedSettings {
|
|
|
354
268
|
systemDefaults;
|
|
355
269
|
user;
|
|
356
270
|
workspace;
|
|
357
|
-
errors;
|
|
358
271
|
isTrusted;
|
|
359
272
|
migratedInMemorScopes;
|
|
360
273
|
_merged;
|
|
@@ -385,40 +298,6 @@ export class LoadedSettings {
|
|
|
385
298
|
saveSettings(settingsFile);
|
|
386
299
|
}
|
|
387
300
|
}
|
|
388
|
-
function resolveEnvVarsInString(value) {
|
|
389
|
-
const envVarRegex = /\$(?:(\w+)|{([^}]+)})/g; // Find $VAR_NAME or ${VAR_NAME}
|
|
390
|
-
return value.replace(envVarRegex, (match, varName1, varName2) => {
|
|
391
|
-
const varName = varName1 || varName2;
|
|
392
|
-
if (process && process.env && typeof process.env[varName] === 'string') {
|
|
393
|
-
return process.env[varName];
|
|
394
|
-
}
|
|
395
|
-
return match;
|
|
396
|
-
});
|
|
397
|
-
}
|
|
398
|
-
function resolveEnvVarsInObject(obj) {
|
|
399
|
-
if (obj === null ||
|
|
400
|
-
obj === undefined ||
|
|
401
|
-
typeof obj === 'boolean' ||
|
|
402
|
-
typeof obj === 'number') {
|
|
403
|
-
return obj;
|
|
404
|
-
}
|
|
405
|
-
if (typeof obj === 'string') {
|
|
406
|
-
return resolveEnvVarsInString(obj);
|
|
407
|
-
}
|
|
408
|
-
if (Array.isArray(obj)) {
|
|
409
|
-
return obj.map((item) => resolveEnvVarsInObject(item));
|
|
410
|
-
}
|
|
411
|
-
if (typeof obj === 'object') {
|
|
412
|
-
const newObj = { ...obj };
|
|
413
|
-
for (const key in newObj) {
|
|
414
|
-
if (Object.prototype.hasOwnProperty.call(newObj, key)) {
|
|
415
|
-
newObj[key] = resolveEnvVarsInObject(newObj[key]);
|
|
416
|
-
}
|
|
417
|
-
}
|
|
418
|
-
return newObj;
|
|
419
|
-
}
|
|
420
|
-
return obj;
|
|
421
|
-
}
|
|
422
301
|
function findEnvFile(startDir) {
|
|
423
302
|
let currentDir = path.resolve(startDir);
|
|
424
303
|
while (true) {
|
|
@@ -472,33 +351,20 @@ export function setUpCloudShellEnvironment(envFilePath) {
|
|
|
472
351
|
}
|
|
473
352
|
export function loadEnvironment(settings) {
|
|
474
353
|
const envFilePath = findEnvFile(process.cwd());
|
|
354
|
+
if (!isWorkspaceTrusted(settings)) {
|
|
355
|
+
return;
|
|
356
|
+
}
|
|
475
357
|
// Cloud Shell environment variable handling
|
|
476
358
|
if (process.env['CLOUD_SHELL'] === 'true') {
|
|
477
359
|
setUpCloudShellEnvironment(envFilePath);
|
|
478
360
|
}
|
|
479
|
-
// If no settings provided, try to load workspace settings for exclusions
|
|
480
|
-
let resolvedSettings = settings;
|
|
481
|
-
if (!resolvedSettings) {
|
|
482
|
-
const workspaceSettingsPath = new Storage(process.cwd()).getWorkspaceSettingsPath();
|
|
483
|
-
try {
|
|
484
|
-
if (fs.existsSync(workspaceSettingsPath)) {
|
|
485
|
-
const workspaceContent = fs.readFileSync(workspaceSettingsPath, 'utf-8');
|
|
486
|
-
const parsedWorkspaceSettings = JSON.parse(stripJsonComments(workspaceContent));
|
|
487
|
-
resolvedSettings = resolveEnvVarsInObject(parsedWorkspaceSettings);
|
|
488
|
-
}
|
|
489
|
-
}
|
|
490
|
-
catch (_e) {
|
|
491
|
-
// Ignore errors loading workspace settings
|
|
492
|
-
}
|
|
493
|
-
}
|
|
494
361
|
if (envFilePath) {
|
|
495
362
|
// Manually parse and load environment variables to handle exclusions correctly.
|
|
496
363
|
// This avoids modifying environment variables that were already set from the shell.
|
|
497
364
|
try {
|
|
498
365
|
const envFileContent = fs.readFileSync(envFilePath, 'utf-8');
|
|
499
366
|
const parsedEnv = dotenv.parse(envFileContent);
|
|
500
|
-
const excludedVars =
|
|
501
|
-
DEFAULT_EXCLUDED_ENV_VARS;
|
|
367
|
+
const excludedVars = settings?.advanced?.excludedEnvVars || DEFAULT_EXCLUDED_ENV_VARS;
|
|
502
368
|
const isProjectEnvFile = !envFilePath.includes(GEMINI_DIR);
|
|
503
369
|
for (const key in parsedEnv) {
|
|
504
370
|
if (Object.hasOwn(parsedEnv, key)) {
|
|
@@ -522,7 +388,7 @@ export function loadEnvironment(settings) {
|
|
|
522
388
|
* Loads settings from user and workspace directories.
|
|
523
389
|
* Project settings override user settings.
|
|
524
390
|
*/
|
|
525
|
-
export function loadSettings(workspaceDir) {
|
|
391
|
+
export function loadSettings(workspaceDir = process.cwd()) {
|
|
526
392
|
let systemSettings = {};
|
|
527
393
|
let systemDefaultSettings = {};
|
|
528
394
|
let userSettings = {};
|
|
@@ -609,7 +475,7 @@ export function loadSettings(workspaceDir) {
|
|
|
609
475
|
workspaceSettings.ui.theme = DefaultDark.name;
|
|
610
476
|
}
|
|
611
477
|
// For the initial trust check, we can only use user and system settings.
|
|
612
|
-
const initialTrustCheckSettings =
|
|
478
|
+
const initialTrustCheckSettings = customDeepMerge(getMergeStrategyForPath, {}, systemSettings, userSettings);
|
|
613
479
|
const isTrusted = isWorkspaceTrusted(initialTrustCheckSettings) ?? true;
|
|
614
480
|
// Create a temporary merged settings object to pass to loadEnvironment.
|
|
615
481
|
const tempMergedSettings = mergeSettings(systemSettings, systemDefaultSettings, userSettings, workspaceSettings, isTrusted);
|
|
@@ -621,7 +487,11 @@ export function loadSettings(workspaceDir) {
|
|
|
621
487
|
userSettings = resolveEnvVarsInObject(userSettings);
|
|
622
488
|
workspaceSettings = resolveEnvVarsInObject(workspaceSettings);
|
|
623
489
|
// Create LoadedSettings first
|
|
624
|
-
|
|
490
|
+
if (settingsErrors.length > 0) {
|
|
491
|
+
const errorMessages = settingsErrors.map((error) => `Error in ${error.path}: ${error.message}`);
|
|
492
|
+
throw new FatalConfigError(`${errorMessages.join('\n')}\nPlease fix the configuration file(s) and try again.`);
|
|
493
|
+
}
|
|
494
|
+
return new LoadedSettings({
|
|
625
495
|
path: systemSettingsPath,
|
|
626
496
|
settings: systemSettings,
|
|
627
497
|
}, {
|
|
@@ -633,8 +503,7 @@ export function loadSettings(workspaceDir) {
|
|
|
633
503
|
}, {
|
|
634
504
|
path: workspaceSettingsPath,
|
|
635
505
|
settings: workspaceSettings,
|
|
636
|
-
},
|
|
637
|
-
return loadedSettings;
|
|
506
|
+
}, isTrusted, migratedInMemorScopes);
|
|
638
507
|
}
|
|
639
508
|
export function saveSettings(settingsFile) {
|
|
640
509
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settings.js","sourceRoot":"","sources":["../../../src/config/settings.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AACjC,OAAO,EACL,iBAAiB,IAAI,UAAU,EAC/B,eAAe,EACf,OAAO,GACR,MAAM,yBAAyB,CAAC;AACjC,OAAO,iBAAiB,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAEzD,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAItC,MAAM,CAAC,MAAM,uBAAuB,GAAG,SAAS,CAAC;AAEjD,MAAM,CAAC,MAAM,kBAAkB,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC;AAClE,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;AAClE,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;AAEjE,MAAM,oBAAoB,GAAG,KAAK,CAAC;AAEnC,MAAM,aAAa,GAA2B;IAC5C,eAAe,EAAE,yBAAyB;IAC1C,OAAO,EAAE,iBAAiB;IAC1B,iBAAiB,EAAE,2BAA2B;IAC9C,gBAAgB,EAAE,0BAA0B;IAC5C,aAAa,EAAE,uBAAuB;IACtC,KAAK,EAAE,UAAU;IACjB,YAAY,EAAE,iBAAiB;IAC/B,eAAe,EAAE,oBAAoB;IACrC,QAAQ,EAAE,aAAa;IACvB,UAAU,EAAE,eAAe;IAC3B,UAAU,EAAE,eAAe;IAC3B,eAAe,EAAE,oBAAoB;IACrC,eAAe,EAAE,oBAAoB;IACrC,aAAa,EAAE,kBAAkB;IACjC,OAAO,EAAE,aAAa;IACtB,0BAA0B,EAAE,kBAAkB;IAC9C,sBAAsB,EAAE,gCAAgC;IACxD,SAAS,EAAE,WAAW;IACtB,KAAK,EAAE,YAAY;IACnB,eAAe,EAAE,uBAAuB;IACxC,mBAAmB,EAAE,2BAA2B;IAChD,eAAe,EAAE,uBAAuB;IACxC,oBAAoB,EAAE,4BAA4B;IAClD,eAAe,EAAE,kBAAkB;IACnC,kBAAkB,EAAE,sBAAsB;IAC1C,sBAAsB,EAAE,0BAA0B;IAClD,kBAAkB,EAAE,4BAA4B;IAChD,gCAAgC,EAAE,oCAAoC;IACtE,aAAa,EAAE,uBAAuB;IACtC,OAAO,EAAE,eAAe;IACxB,qBAAqB,EAAE,cAAc;IACrC,YAAY,EAAE,eAAe;IAC7B,SAAS,EAAE,YAAY;IACvB,YAAY,EAAE,eAAe;IAC7B,oBAAoB,EAAE,wBAAwB;IAC9C,eAAe,EAAE,mBAAmB;IACpC,gBAAgB,EAAE,mBAAmB;IACrC,eAAe,EAAE,aAAa;IAC9B,iBAAiB,EAAE,cAAc;IACjC,kBAAkB,EAAE,qCAAqC;IACzD,WAAW,EAAE,8BAA8B;IAC3C,gBAAgB,EAAE,4BAA4B;IAC9C,eAAe,EAAE,2BAA2B;IAC5C,4BAA4B,EAAE,8BAA8B;IAC5D,kBAAkB,EAAE,6BAA6B;IACjD,sBAAsB,EAAE,0BAA0B;IAClD,UAAU,EAAE,qBAAqB;CAClC,CAAC;AAEF,MAAM,UAAU,qBAAqB;IACnC,IAAI,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,EAAE,CAAC;QACnD,OAAO,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;IACxD,CAAC;IACD,IAAI,QAAQ,EAAE,KAAK,QAAQ,EAAE,CAAC;QAC5B,OAAO,sDAAsD,CAAC;IAChE,CAAC;SAAM,IAAI,QAAQ,EAAE,KAAK,OAAO,EAAE,CAAC;QAClC,OAAO,4CAA4C,CAAC;IACtD,CAAC;SAAM,CAAC;QACN,OAAO,+BAA+B,CAAC;IACzC,CAAC;AACH,CAAC;AAED,MAAM,UAAU,qBAAqB;IACnC,IAAI,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,EAAE,CAAC;QACnD,OAAO,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;IACxD,CAAC;IACD,OAAO,IAAI,CAAC,IAAI,CACd,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC,EACrC,sBAAsB,CACvB,CAAC;AACJ,CAAC;AAID,MAAM,CAAN,IAAY,YAKX;AALD,WAAY,YAAY;IACtB,6BAAa,CAAA;IACb,uCAAuB,CAAA;IACvB,iCAAiB,CAAA;IACjB,iDAAiC,CAAA;AACnC,CAAC,EALW,YAAY,KAAZ,YAAY,QAKvB;AAyBD,SAAS,iBAAiB,CACxB,GAA4B,EAC5B,IAAY,EACZ,KAAc;IAEd,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC7B,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC3B,IAAI,CAAC,OAAO;QAAE,OAAO;IAErB,IAAI,OAAO,GAA4B,GAAG,CAAC;IAC3C,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE,CAAC;YAC/B,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;QACpB,CAAC;QACD,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;QAC1B,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAC9C,OAAO,GAAG,IAA+B,CAAC;QAC5C,CAAC;aAAM,CAAC;YACN,oCAAoC;YACpC,OAAO;QACT,CAAC;IACH,CAAC;IACD,OAAO,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC;AAC3B,CAAC;AAED,SAAS,cAAc,CAAC,QAAiC;IACvD,OAAO,CAAC,CAAC,SAAS,IAAI,QAAQ,CAAC,CAAC;AAClC,CAAC;AAED,SAAS,mBAAmB,CAC1B,YAAqC;IAErC,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,EAAE,CAAC;QAClC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,UAAU,GAA4B,EAAE,CAAC;IAC/C,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;IAEpD,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;QAC9D,IAAI,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YACzB,iBAAiB,CAAC,UAAU,EAAE,OAAO,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;YAC7D,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,uCAAuC;IACvC,IAAI,YAAY,CAAC,YAAY,CAAC,EAAE,CAAC;QAC/B,UAAU,CAAC,YAAY,CAAC,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC;QACtD,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAChC,CAAC;IAED,mCAAmC;IACnC,KAAK,MAAM,YAAY,IAAI,QAAQ,EAAE,CAAC;QACpC,UAAU,CAAC,YAAY,CAAC,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC;IACxD,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,iBAAiB,CACxB,GAA4B,EAC5B,IAAY;IAEZ,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC7B,IAAI,OAAO,GAAY,GAAG,CAAC;IAC3B,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,IAAI,CAAC,CAAC,GAAG,IAAI,OAAO,CAAC,EAAE,CAAC;YACzE,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,GAAI,OAAmC,CAAC,GAAG,CAAC,CAAC;IACtD,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,qBAAqB,GAA2B,MAAM,CAAC,WAAW,CACtE,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAClE,CAAC;AAEF,2EAA2E;AAC3E,MAAM,mBAAmB,GAAG,IAAI,GAAG,CACjC,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAC/D,CAAC;AAEF,MAAM,UAAU,mBAAmB,CACjC,UAAmC;IAEnC,MAAM,UAAU,GAA4B,EAAE,CAAC;IAC/C,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IAEhD,KAAK,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,qBAAqB,CAAC,EAAE,CAAC;QACtE,MAAM,KAAK,GAAG,iBAAiB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QACrD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,UAAU,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC;YAC3B,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAED,uCAAuC;IACvC,IAAI,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAC7B,UAAU,CAAC,YAAY,CAAC,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;QACpD,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAC9B,CAAC;IAED,mCAAmC;IACnC,KAAK,MAAM,YAAY,IAAI,MAAM,EAAE,CAAC;QAClC,MAAM,KAAK,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;QACvC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,SAAS;QACX,CAAC;QAED,kFAAkF;QAClF,IACE,mBAAmB,CAAC,GAAG,CAAC,YAAY,CAAC;YACrC,OAAO,KAAK,KAAK,QAAQ;YACzB,KAAK,KAAK,IAAI;YACd,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;YACrB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,EAC/B,CAAC;YACD,SAAS;QACX,CAAC;QAED,UAAU,CAAC,YAAY,CAAC,GAAG,KAAK,CAAC;IACnC,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,aAAa,CACpB,MAAgB,EAChB,cAAwB,EACxB,IAAc,EACd,SAAmB,EACnB,SAAkB;IAElB,MAAM,aAAa,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAE,EAAe,CAAC;IAE/D,mDAAmD;IACnD,MAAM,EAAE,QAAQ,EAAE,GAAG,eAAe,EAAE,GAAG,aAAa,CAAC;IACvD,MAAM,+BAA+B,GAAG,QAAQ;QAC9C,CAAC,CAAC;YACE,GAAG,eAAe;YAClB,6DAA6D;YAC7D,QAAQ,EAAE,CAAC,CAAC,EAAE,WAAW,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC;SACzD;QACH,CAAC,CAAC;YACE,GAAG,eAAe;YAClB,QAAQ,EAAE,EAAE;SACb,CAAC;IAEN,uEAAuE;IACvE,kBAAkB;IAClB,qBAAqB;IACrB,mBAAmB;IACnB,wBAAwB;IACxB,oCAAoC;IACpC,EAAE;IACF,wEAAwE;IACxE,uEAAuE;IACvE,OAAO;QACL,GAAG,cAAc;QACjB,GAAG,IAAI;QACP,GAAG,+BAA+B;QAClC,GAAG,MAAM;QACT,OAAO,EAAE;YACP,GAAG,CAAC,cAAc,CAAC,OAAO,IAAI,EAAE,CAAC;YACjC,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;YACvB,GAAG,CAAC,+BAA+B,CAAC,OAAO,IAAI,EAAE,CAAC;YAClD,GAAG,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;SAC1B;QACD,EAAE,EAAE;YACF,GAAG,CAAC,cAAc,CAAC,EAAE,IAAI,EAAE,CAAC;YAC5B,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC;YAClB,GAAG,CAAC,+BAA+B,CAAC,EAAE,IAAI,EAAE,CAAC;YAC7C,GAAG,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC;YACpB,YAAY,EAAE;gBACZ,GAAG,CAAC,cAAc,CAAC,EAAE,EAAE,YAAY,IAAI,EAAE,CAAC;gBAC1C,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,YAAY,IAAI,EAAE,CAAC;gBAChC,GAAG,CAAC,+BAA+B,CAAC,EAAE,EAAE,YAAY,IAAI,EAAE,CAAC;gBAC3D,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,YAAY,IAAI,EAAE,CAAC;aACnC;SACF;QACD,GAAG,EAAE;YACH,GAAG,CAAC,cAAc,CAAC,GAAG,IAAI,EAAE,CAAC;YAC7B,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC;YACnB,GAAG,CAAC,+BAA+B,CAAC,GAAG,IAAI,EAAE,CAAC;YAC9C,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC;SACtB;QACD,OAAO,EAAE;YACP,GAAG,CAAC,cAAc,CAAC,OAAO,IAAI,EAAE,CAAC;YACjC,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;YACvB,GAAG,CAAC,+BAA+B,CAAC,OAAO,IAAI,EAAE,CAAC;YAClD,GAAG,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;SAC1B;QACD,SAAS,EAAE;YACT,GAAG,CAAC,cAAc,CAAC,SAAS,IAAI,EAAE,CAAC;YACnC,GAAG,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC;YACzB,GAAG,CAAC,+BAA+B,CAAC,SAAS,IAAI,EAAE,CAAC;YACpD,GAAG,CAAC,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC;SAC5B;QACD,QAAQ,EAAE;YACR,GAAG,CAAC,cAAc,CAAC,QAAQ,IAAI,EAAE,CAAC;YAClC,GAAG,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC;YACxB,GAAG,CAAC,+BAA+B,CAAC,QAAQ,IAAI,EAAE,CAAC;YACnD,GAAG,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC;SAC3B;QACD,GAAG,EAAE;YACH,GAAG,CAAC,cAAc,CAAC,GAAG,IAAI,EAAE,CAAC;YAC7B,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC;YACnB,GAAG,CAAC,+BAA+B,CAAC,GAAG,IAAI,EAAE,CAAC;YAC9C,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC;SACtB;QACD,UAAU,EAAE;YACV,GAAG,CAAC,cAAc,CAAC,UAAU,IAAI,EAAE,CAAC;YACpC,GAAG,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC;YAC1B,GAAG,CAAC,+BAA+B,CAAC,UAAU,IAAI,EAAE,CAAC;YACrD,GAAG,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC;SAC7B;QACD,KAAK,EAAE;YACL,GAAG,CAAC,cAAc,CAAC,KAAK,IAAI,EAAE,CAAC;YAC/B,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;YACrB,GAAG,CAAC,+BAA+B,CAAC,KAAK,IAAI,EAAE,CAAC;YAChD,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;SACxB;QACD,OAAO,EAAE;YACP,GAAG,CAAC,cAAc,CAAC,OAAO,IAAI,EAAE,CAAC;YACjC,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;YACvB,GAAG,CAAC,+BAA+B,CAAC,OAAO,IAAI,EAAE,CAAC;YAClD,GAAG,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;YACzB,kBAAkB,EAAE;gBAClB,GAAG,CAAC,cAAc,CAAC,OAAO,EAAE,kBAAkB,IAAI,EAAE,CAAC;gBACrD,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,kBAAkB,IAAI,EAAE,CAAC;gBAC3C,GAAG,CAAC,+BAA+B,CAAC,OAAO,EAAE,kBAAkB,IAAI,EAAE,CAAC;gBACtE,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,kBAAkB,IAAI,EAAE,CAAC;aAC9C;SACF;QACD,KAAK,EAAE;YACL,GAAG,CAAC,cAAc,CAAC,KAAK,IAAI,EAAE,CAAC;YAC/B,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;YACrB,GAAG,CAAC,+BAA+B,CAAC,KAAK,IAAI,EAAE,CAAC;YAChD,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;YACvB,eAAe,EAAE;gBACf,GAAG,CAAC,cAAc,CAAC,KAAK,EAAE,eAAe,IAAI,EAAE,CAAC;gBAChD,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,eAAe,IAAI,EAAE,CAAC;gBACtC,GAAG,CAAC,+BAA+B,CAAC,KAAK,EAAE,eAAe,IAAI,EAAE,CAAC;gBACjE,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,eAAe,IAAI,EAAE,CAAC;aACzC;SACF;QACD,QAAQ,EAAE;YACR,GAAG,CAAC,cAAc,CAAC,QAAQ,IAAI,EAAE,CAAC;YAClC,GAAG,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC;YACxB,GAAG,CAAC,+BAA+B,CAAC,QAAQ,IAAI,EAAE,CAAC;YACnD,GAAG,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC;YAC1B,eAAe,EAAE;gBACf,GAAG,IAAI,GAAG,CAAC;oBACT,GAAG,CAAC,cAAc,CAAC,QAAQ,EAAE,eAAe,IAAI,EAAE,CAAC;oBACnD,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,eAAe,IAAI,EAAE,CAAC;oBACzC,GAAG,CAAC,+BAA+B,CAAC,QAAQ,EAAE,eAAe,IAAI,EAAE,CAAC;oBACpE,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,eAAe,IAAI,EAAE,CAAC;iBAC5C,CAAC;aACH;SACF;QACD,UAAU,EAAE;YACV,GAAG,CAAC,cAAc,CAAC,UAAU,IAAI,EAAE,CAAC;YACpC,GAAG,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC;YAC1B,GAAG,CAAC,+BAA+B,CAAC,UAAU,IAAI,EAAE,CAAC;YACrD,GAAG,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC;YAC5B,QAAQ,EAAE;gBACR,GAAG,IAAI,GAAG,CAAC;oBACT,GAAG,CAAC,cAAc,CAAC,UAAU,EAAE,QAAQ,IAAI,EAAE,CAAC;oBAC9C,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,IAAI,EAAE,CAAC;oBACpC,GAAG,CAAC,+BAA+B,CAAC,UAAU,EAAE,QAAQ,IAAI,EAAE,CAAC;oBAC/D,GAAG,CAAC,MAAM,CAAC,UAAU,EAAE,QAAQ,IAAI,EAAE,CAAC;iBACvC,CAAC;aACH;YACD,4BAA4B,EAAE;gBAC5B,GAAG,IAAI,GAAG,CAAC;oBACT,GAAG,CAAC,cAAc,CAAC,UAAU,EAAE,4BAA4B,IAAI,EAAE,CAAC;oBAClE,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,4BAA4B,IAAI,EAAE,CAAC;oBACxD,GAAG,CAAC,+BAA+B,CAAC,UAAU;wBAC5C,EAAE,4BAA4B,IAAI,EAAE,CAAC;oBACvC,GAAG,CAAC,MAAM,CAAC,UAAU,EAAE,4BAA4B,IAAI,EAAE,CAAC;iBAC3D,CAAC;aACH;SACF;KACF,CAAC;AACJ,CAAC;AAED,MAAM,OAAO,cAAc;IACzB,YACE,MAAoB,EACpB,cAA4B,EAC5B,IAAkB,EAClB,SAAuB,EACvB,MAAuB,EACvB,SAAkB,EAClB,qBAAwC;QAExC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,qBAAqB,GAAG,qBAAqB,CAAC;QACnD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;IAC9C,CAAC;IAEQ,MAAM,CAAe;IACrB,cAAc,CAAe;IAC7B,IAAI,CAAe;IACnB,SAAS,CAAe;IACxB,MAAM,CAAkB;IACxB,SAAS,CAAU;IACnB,qBAAqB,CAAoB;IAE1C,OAAO,CAAW;IAE1B,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAEO,qBAAqB;QAC3B,OAAO,aAAa,CAClB,IAAI,CAAC,MAAM,CAAC,QAAQ,EACpB,IAAI,CAAC,cAAc,CAAC,QAAQ,EAC5B,IAAI,CAAC,IAAI,CAAC,QAAQ,EAClB,IAAI,CAAC,SAAS,CAAC,QAAQ,EACvB,IAAI,CAAC,SAAS,CACf,CAAC;IACJ,CAAC;IAED,QAAQ,CAAC,KAAmB;QAC1B,QAAQ,KAAK,EAAE,CAAC;YACd,KAAK,YAAY,CAAC,IAAI;gBACpB,OAAO,IAAI,CAAC,IAAI,CAAC;YACnB,KAAK,YAAY,CAAC,SAAS;gBACzB,OAAO,IAAI,CAAC,SAAS,CAAC;YACxB,KAAK,YAAY,CAAC,MAAM;gBACtB,OAAO,IAAI,CAAC,MAAM,CAAC;YACrB,KAAK,YAAY,CAAC,cAAc;gBAC9B,OAAO,IAAI,CAAC,cAAc,CAAC;YAC7B;gBACE,MAAM,IAAI,KAAK,CAAC,kBAAkB,KAAK,EAAE,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IAED,QAAQ,CAAC,KAAmB,EAAE,GAAW,EAAE,KAAc;QACvD,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC1C,iBAAiB,CAAC,YAAY,CAAC,QAAQ,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;QACrD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC5C,YAAY,CAAC,YAAY,CAAC,CAAC;IAC7B,CAAC;CACF;AAED,SAAS,sBAAsB,CAAC,KAAa;IAC3C,MAAM,WAAW,GAAG,wBAAwB,CAAC,CAAC,gCAAgC;IAC9E,OAAO,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE;QAC9D,MAAM,OAAO,GAAG,QAAQ,IAAI,QAAQ,CAAC;QACrC,IAAI,OAAO,IAAI,OAAO,CAAC,GAAG,IAAI,OAAO,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;YACvE,OAAO,OAAO,CAAC,GAAG,CAAC,OAAO,CAAE,CAAC;QAC/B,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,sBAAsB,CAAI,GAAM;IACvC,IACE,GAAG,KAAK,IAAI;QACZ,GAAG,KAAK,SAAS;QACjB,OAAO,GAAG,KAAK,SAAS;QACxB,OAAO,GAAG,KAAK,QAAQ,EACvB,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC5B,OAAO,sBAAsB,CAAC,GAAG,CAAiB,CAAC;IACrD,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACvB,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAiB,CAAC;IACzE,CAAC;IAED,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAG,EAAE,GAAG,GAAG,EAAO,CAAC;QAC/B,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;YACzB,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC;gBACtD,MAAM,CAAC,GAAG,CAAC,GAAG,sBAAsB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YACpD,CAAC;QACH,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,WAAW,CAAC,QAAgB;IACnC,IAAI,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACxC,OAAO,IAAI,EAAE,CAAC;QACZ,+CAA+C;QAC/C,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;QAChE,IAAI,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;YACjC,OAAO,aAAa,CAAC;QACvB,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QAC9C,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3B,OAAO,OAAO,CAAC;QACjB,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAC3C,IAAI,SAAS,KAAK,UAAU,IAAI,CAAC,SAAS,EAAE,CAAC;YAC3C,2EAA2E;YAC3E,MAAM,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;YACnE,IAAI,EAAE,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,CAAC;gBACrC,OAAO,iBAAiB,CAAC;YAC3B,CAAC;YACD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,MAAM,CAAC,CAAC;YACjD,IAAI,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC/B,OAAO,WAAW,CAAC;YACrB,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,UAAU,GAAG,SAAS,CAAC;IACzB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,WAA0B;IACnE,4DAA4D;IAC5D,iEAAiE;IACjE,sEAAsE;IACtE,uEAAuE;IACvE,uEAAuE;IACvE,IAAI,WAAW,IAAI,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAC9C,MAAM,cAAc,GAAG,EAAE,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;QACpD,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAC/C,IAAI,SAAS,CAAC,sBAAsB,CAAC,EAAE,CAAC;YACtC,4CAA4C;YAC5C,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,GAAG,SAAS,CAAC,sBAAsB,CAAC,CAAC;QAC1E,CAAC;aAAM,CAAC;YACN,qDAAqD;YACrD,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,GAAG,gBAAgB,CAAC;QACzD,CAAC;IACH,CAAC;SAAM,CAAC;QACN,sDAAsD;QACtD,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,GAAG,gBAAgB,CAAC;IACzD,CAAC;AACH,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,QAAmB;IACjD,MAAM,WAAW,GAAG,WAAW,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAE/C,4CAA4C;IAC5C,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,KAAK,MAAM,EAAE,CAAC;QAC1C,0BAA0B,CAAC,WAAW,CAAC,CAAC;IAC1C,CAAC;IAED,yEAAyE;IACzE,IAAI,gBAAgB,GAAG,QAAQ,CAAC;IAChC,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACtB,MAAM,qBAAqB,GAAG,IAAI,OAAO,CACvC,OAAO,CAAC,GAAG,EAAE,CACd,CAAC,wBAAwB,EAAE,CAAC;QAC7B,IAAI,CAAC;YACH,IAAI,EAAE,CAAC,UAAU,CAAC,qBAAqB,CAAC,EAAE,CAAC;gBACzC,MAAM,gBAAgB,GAAG,EAAE,CAAC,YAAY,CACtC,qBAAqB,EACrB,OAAO,CACR,CAAC;gBACF,MAAM,uBAAuB,GAAG,IAAI,CAAC,KAAK,CACxC,iBAAiB,CAAC,gBAAgB,CAAC,CACxB,CAAC;gBACd,gBAAgB,GAAG,sBAAsB,CAAC,uBAAuB,CAAC,CAAC;YACrE,CAAC;QACH,CAAC;QAAC,OAAO,EAAE,EAAE,CAAC;YACZ,2CAA2C;QAC7C,CAAC;IACH,CAAC;IAED,IAAI,WAAW,EAAE,CAAC;QAChB,gFAAgF;QAChF,oFAAoF;QACpF,IAAI,CAAC;YACH,MAAM,cAAc,GAAG,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;YAC7D,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;YAE/C,MAAM,YAAY,GAChB,gBAAgB,EAAE,QAAQ,EAAE,eAAe;gBAC3C,yBAAyB,CAAC;YAC5B,MAAM,gBAAgB,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YAE3D,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;gBAC5B,IAAI,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,EAAE,CAAC;oBAClC,gEAAgE;oBAChE,IAAI,gBAAgB,IAAI,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;wBACnD,SAAS;oBACX,CAAC;oBAED,iEAAiE;oBACjE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;wBACrC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;oBACpC,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,EAAE,EAAE,CAAC;YACZ,gFAAgF;QAClF,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,YAAoB;IAC/C,IAAI,cAAc,GAAa,EAAE,CAAC;IAClC,IAAI,qBAAqB,GAAa,EAAE,CAAC;IACzC,IAAI,YAAY,GAAa,EAAE,CAAC;IAChC,IAAI,iBAAiB,GAAa,EAAE,CAAC;IACrC,MAAM,cAAc,GAAoB,EAAE,CAAC;IAC3C,MAAM,kBAAkB,GAAG,qBAAqB,EAAE,CAAC;IACnD,MAAM,kBAAkB,GAAG,qBAAqB,EAAE,CAAC;IACnD,MAAM,qBAAqB,GAAG,IAAI,GAAG,EAAgB,CAAC;IAEtD,qEAAqE;IACrE,MAAM,oBAAoB,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IACxD,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IAEhD,IAAI,gBAAgB,GAAG,oBAAoB,CAAC;IAC5C,IAAI,CAAC;QACH,+DAA+D;QAC/D,gBAAgB,GAAG,EAAE,CAAC,YAAY,CAAC,oBAAoB,CAAC,CAAC;IAC3D,CAAC;IAAC,OAAO,EAAE,EAAE,CAAC;QACZ,wEAAwE;IAC1E,CAAC;IAED,uDAAuD;IACvD,MAAM,WAAW,GAAG,EAAE,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;IAErD,MAAM,qBAAqB,GAAG,IAAI,OAAO,CACvC,YAAY,CACb,CAAC,wBAAwB,EAAE,CAAC;IAE7B,MAAM,cAAc,GAAG,CAAC,QAAgB,EAAE,KAAmB,EAAY,EAAE;QACzE,IAAI,CAAC;YACH,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC5B,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;gBACnD,MAAM,WAAW,GAAY,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC;gBAEpE,IACE,OAAO,WAAW,KAAK,QAAQ;oBAC/B,WAAW,KAAK,IAAI;oBACpB,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAC1B,CAAC;oBACD,cAAc,CAAC,IAAI,CAAC;wBAClB,OAAO,EAAE,2CAA2C;wBACpD,IAAI,EAAE,QAAQ;qBACf,CAAC,CAAC;oBACH,OAAO,EAAE,CAAC;gBACZ,CAAC;gBAED,IAAI,cAAc,GAAG,WAAsC,CAAC;gBAC5D,IAAI,cAAc,CAAC,cAAc,CAAC,EAAE,CAAC;oBACnC,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,cAAc,CAAC,CAAC;oBAC7D,IAAI,gBAAgB,EAAE,CAAC;wBACrB,IAAI,oBAAoB,EAAE,CAAC;4BACzB,IAAI,CAAC;gCACH,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,GAAG,QAAQ,OAAO,CAAC,CAAC;gCAC5C,EAAE,CAAC,aAAa,CACd,QAAQ,EACR,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE,IAAI,EAAE,CAAC,CAAC,EACzC,OAAO,CACR,CAAC;4BACJ,CAAC;4BAAC,OAAO,CAAC,EAAE,CAAC;gCACX,OAAO,CAAC,KAAK,CACX,0CAA0C,eAAe,CACvD,CAAC,CACF,EAAE,CACJ,CAAC;4BACJ,CAAC;wBACH,CAAC;6BAAM,CAAC;4BACN,qBAAqB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;wBACnC,CAAC;wBACD,cAAc,GAAG,gBAAgB,CAAC;oBACpC,CAAC;gBACH,CAAC;gBACD,OAAO,cAA0B,CAAC;YACpC,CAAC;QACH,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,cAAc,CAAC,IAAI,CAAC;gBAClB,OAAO,EAAE,eAAe,CAAC,KAAK,CAAC;gBAC/B,IAAI,EAAE,QAAQ;aACf,CAAC,CAAC;QACL,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC;IAEF,cAAc,GAAG,cAAc,CAAC,kBAAkB,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;IACzE,qBAAqB,GAAG,cAAc,CACpC,kBAAkB,EAClB,YAAY,CAAC,cAAc,CAC5B,CAAC;IACF,YAAY,GAAG,cAAc,CAAC,kBAAkB,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC;IAErE,IAAI,gBAAgB,KAAK,WAAW,EAAE,CAAC;QACrC,iBAAiB,GAAG,cAAc,CAChC,qBAAqB,EACrB,YAAY,CAAC,SAAS,CACvB,CAAC;IACJ,CAAC;IAED,6BAA6B;IAC7B,IAAI,YAAY,CAAC,EAAE,EAAE,KAAK,KAAK,IAAI,EAAE,CAAC;QACpC,YAAY,CAAC,EAAE,CAAC,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC;IAC5C,CAAC;SAAM,IAAI,YAAY,CAAC,EAAE,EAAE,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC/C,YAAY,CAAC,EAAE,CAAC,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC;IAC3C,CAAC;IACD,IAAI,iBAAiB,CAAC,EAAE,EAAE,KAAK,KAAK,IAAI,EAAE,CAAC;QACzC,iBAAiB,CAAC,EAAE,CAAC,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC;IACjD,CAAC;SAAM,IAAI,iBAAiB,CAAC,EAAE,EAAE,KAAK,KAAK,QAAQ,EAAE,CAAC;QACpD,iBAAiB,CAAC,EAAE,CAAC,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC;IAChD,CAAC;IAED,yEAAyE;IACzE,MAAM,yBAAyB,GAAG,SAAS,CAAC,EAAE,EAAE,cAAc,EAAE,YAAY,CAAC,CAAC;IAC9E,MAAM,SAAS,GACb,kBAAkB,CAAC,yBAAqC,CAAC,IAAI,IAAI,CAAC;IAEpE,wEAAwE;IACxE,MAAM,kBAAkB,GAAG,aAAa,CACtC,cAAc,EACd,qBAAqB,EACrB,YAAY,EACZ,iBAAiB,EACjB,SAAS,CACV,CAAC;IAEF,4EAA4E;IAC5E,gCAAgC;IAChC,eAAe,CAAC,kBAAkB,CAAC,CAAC;IAEpC,yEAAyE;IACzE,cAAc,GAAG,sBAAsB,CAAC,cAAc,CAAC,CAAC;IACxD,YAAY,GAAG,sBAAsB,CAAC,YAAY,CAAC,CAAC;IACpD,iBAAiB,GAAG,sBAAsB,CAAC,iBAAiB,CAAC,CAAC;IAE9D,8BAA8B;IAC9B,MAAM,cAAc,GAAG,IAAI,cAAc,CACvC;QACE,IAAI,EAAE,kBAAkB;QACxB,QAAQ,EAAE,cAAc;KACzB,EACD;QACE,IAAI,EAAE,kBAAkB;QACxB,QAAQ,EAAE,qBAAqB;KAChC,EACD;QACE,IAAI,EAAE,kBAAkB;QACxB,QAAQ,EAAE,YAAY;KACvB,EACD;QACE,IAAI,EAAE,qBAAqB;QAC3B,QAAQ,EAAE,iBAAiB;KAC5B,EACD,cAAc,EACd,SAAS,EACT,qBAAqB,CACtB,CAAC;IAEF,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,YAA0B;IACrD,IAAI,CAAC;QACH,8BAA8B;QAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAChD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5B,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7C,CAAC;QAED,IAAI,cAAc,GAAG,YAAY,CAAC,QAAQ,CAAC;QAC3C,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC1B,cAAc,GAAG,mBAAmB,CAClC,cAAyC,CAC9B,CAAC;QAChB,CAAC;QAED,EAAE,CAAC,aAAa,CACd,YAAY,CAAC,IAAI,EACjB,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC,EACvC,OAAO,CACR,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,kCAAkC,EAAE,KAAK,CAAC,CAAC;IAC3D,CAAC;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"settings.js","sourceRoot":"","sources":["../../../src/config/settings.ts"],"names":[],"mappings":"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"}
|