mongodb-data-service 21.18.0 → 21.21.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/lib/connect-mongo-client.d.ts +7 -6
- package/lib/connect-mongo-client.d.ts.map +1 -1
- package/lib/connect-mongo-client.js +44 -11
- package/lib/connect-mongo-client.js.map +1 -1
- package/lib/connect.d.ts +1 -1
- package/lib/connect.d.ts.map +1 -1
- package/lib/connect.js +2 -5
- package/lib/connect.js.map +1 -1
- package/lib/connection-options.d.ts +7 -0
- package/lib/connection-options.d.ts.map +1 -1
- package/lib/connection-secrets.d.ts +2 -0
- package/lib/connection-secrets.d.ts.map +1 -1
- package/lib/connection-secrets.js +21 -1
- package/lib/connection-secrets.js.map +1 -1
- package/lib/connection-storage.d.ts +2 -1
- package/lib/connection-storage.d.ts.map +1 -1
- package/lib/connection-storage.js +56 -12
- package/lib/connection-storage.js.map +1 -1
- package/lib/connection-title.d.ts.map +1 -1
- package/lib/connection-title.js +0 -3
- package/lib/connection-title.js.map +1 -1
- package/lib/csfle-collection-tracker.d.ts +39 -0
- package/lib/csfle-collection-tracker.d.ts.map +1 -0
- package/lib/csfle-collection-tracker.js +205 -0
- package/lib/csfle-collection-tracker.js.map +1 -0
- package/lib/data-service.d.ts +129 -12
- package/lib/data-service.d.ts.map +1 -1
- package/lib/data-service.js +217 -68
- package/lib/data-service.js.map +1 -1
- package/lib/index.d.ts +3 -2
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +5 -3
- package/lib/index.js.map +1 -1
- package/lib/instance-detail-helper.d.ts +10 -2
- package/lib/instance-detail-helper.d.ts.map +1 -1
- package/lib/instance-detail-helper.js +31 -2
- package/lib/instance-detail-helper.js.map +1 -1
- package/lib/legacy/legacy-connection-model.d.ts.map +1 -1
- package/lib/legacy/legacy-connection-model.js +25 -1
- package/lib/legacy/legacy-connection-model.js.map +1 -1
- package/package.json +21 -17
|
@@ -0,0 +1,205 @@
|
|
|
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.CSFLECollectionTrackerImpl = void 0;
|
|
7
|
+
const mongodb_ns_1 = __importDefault(require("mongodb-ns"));
|
|
8
|
+
const lodash_1 = __importDefault(require("lodash"));
|
|
9
|
+
const compass_logging_1 = __importDefault(require("@mongodb-js/compass-logging"));
|
|
10
|
+
const { log, mongoLogId } = (0, compass_logging_1.default)('COMPASS-DATA-SERVICE');
|
|
11
|
+
function extractEncryptedFieldsFromSchema(schema) {
|
|
12
|
+
var _a;
|
|
13
|
+
if (schema === null || schema === void 0 ? void 0 : schema.encrypt) {
|
|
14
|
+
return [[]];
|
|
15
|
+
}
|
|
16
|
+
const fields = [];
|
|
17
|
+
for (const [key, subschema] of Object.entries((_a = schema === null || schema === void 0 ? void 0 : schema.properties) !== null && _a !== void 0 ? _a : {})) {
|
|
18
|
+
for (const subfield of extractEncryptedFieldsFromSchema(subschema)) {
|
|
19
|
+
fields.push([key, ...subfield]);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
return fields;
|
|
23
|
+
}
|
|
24
|
+
function extractEncryptedFieldsFromEncryptedFieldsConfig(encryptedFields) {
|
|
25
|
+
var _a;
|
|
26
|
+
return ((_a = encryptedFields === null || encryptedFields === void 0 ? void 0 : encryptedFields.fields) !== null && _a !== void 0 ? _a : []).map((field) => field.path.split('.'));
|
|
27
|
+
}
|
|
28
|
+
function extractEncrytedFieldFromAutoEncryptionOptions(ns, autoEncryption) {
|
|
29
|
+
var _a, _b;
|
|
30
|
+
return [
|
|
31
|
+
...extractEncryptedFieldsFromSchema((_a = autoEncryption.schemaMap) === null || _a === void 0 ? void 0 : _a[ns]),
|
|
32
|
+
...extractEncryptedFieldsFromEncryptedFieldsConfig((_b = autoEncryption === null || autoEncryption === void 0 ? void 0 : autoEncryption.encryptedFieldsMap) === null || _b === void 0 ? void 0 : _b[ns]),
|
|
33
|
+
];
|
|
34
|
+
}
|
|
35
|
+
function extractEncryptedFieldsFromListCollectionsResult(options) {
|
|
36
|
+
var _a;
|
|
37
|
+
const schema = (_a = options === null || options === void 0 ? void 0 : options.validator) === null || _a === void 0 ? void 0 : _a.$jsonSchema;
|
|
38
|
+
const encryptedFieldsConfig = options === null || options === void 0 ? void 0 : options.encryptedFields;
|
|
39
|
+
return [
|
|
40
|
+
...extractEncryptedFieldsFromSchema(schema),
|
|
41
|
+
...extractEncryptedFieldsFromEncryptedFieldsConfig(encryptedFieldsConfig),
|
|
42
|
+
];
|
|
43
|
+
}
|
|
44
|
+
function extractEncryptedFieldsFromDocument(doc) {
|
|
45
|
+
var _a;
|
|
46
|
+
const decryptedFields = ((_a = doc === null || doc === void 0 ? void 0 : doc[Symbol.for('@@mdb.decryptedKeys')]) !== null && _a !== void 0 ? _a : []).map((field) => [field]);
|
|
47
|
+
for (const [key, value] of Object.entries(doc)) {
|
|
48
|
+
if (!value || typeof value !== 'object') {
|
|
49
|
+
continue;
|
|
50
|
+
}
|
|
51
|
+
const nestedFields = extractEncryptedFieldsFromDocument(value);
|
|
52
|
+
decryptedFields.push(...nestedFields.map((path) => [key, ...path]));
|
|
53
|
+
}
|
|
54
|
+
return decryptedFields;
|
|
55
|
+
}
|
|
56
|
+
function isOlderThan1Minute(oldDate) {
|
|
57
|
+
return Date.now() - oldDate.getTime() >= 60000;
|
|
58
|
+
}
|
|
59
|
+
class CSFLECollectionTrackerImpl {
|
|
60
|
+
constructor(dataService, crudClient) {
|
|
61
|
+
this._nsToInfo = new Map();
|
|
62
|
+
this._dataService = dataService;
|
|
63
|
+
this._crudClient = crudClient;
|
|
64
|
+
this._dataService.on('collectionInfoFetched', this._updateCollectionInfoFromDataService.bind(this));
|
|
65
|
+
this._processClientSchemaDefinitions();
|
|
66
|
+
const { autoEncrypter } = this._crudClient.options;
|
|
67
|
+
if (autoEncrypter) {
|
|
68
|
+
log.info(mongoLogId(1001000118), 'CSFLECollectionTracker', 'Hooking AutoEncrypter metaDataClient property');
|
|
69
|
+
autoEncrypter._metaDataClient = this._createHookedMetadataClient(autoEncrypter._metaDataClient);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
async isUpdateAllowed(ns, originalDocument) {
|
|
73
|
+
var _a, _b;
|
|
74
|
+
const originalDocEncryptedFields = extractEncryptedFieldsFromDocument(originalDocument);
|
|
75
|
+
if (originalDocEncryptedFields.length === 0) {
|
|
76
|
+
return true;
|
|
77
|
+
}
|
|
78
|
+
const info = await this._fetchCSFLECollectionInfo(ns);
|
|
79
|
+
const collectionEncryptedFields = [
|
|
80
|
+
...((_a = info.serverEnforcedEncryptedFields) !== null && _a !== void 0 ? _a : []),
|
|
81
|
+
...((_b = info.clientEnforcedEncryptedFields) !== null && _b !== void 0 ? _b : []),
|
|
82
|
+
];
|
|
83
|
+
for (const originalDocPath of originalDocEncryptedFields) {
|
|
84
|
+
if (!collectionEncryptedFields.some((path) => lodash_1.default.isEqual(originalDocPath, path))) {
|
|
85
|
+
return false;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
return true;
|
|
89
|
+
}
|
|
90
|
+
async knownSchemaForCollection(ns) {
|
|
91
|
+
var _a, _b, _c, _d;
|
|
92
|
+
const info = await this._fetchCSFLECollectionInfo(ns);
|
|
93
|
+
const hasSchema = !!(info.hasServerSchema ||
|
|
94
|
+
((_a = info.clientEnforcedEncryptedFields) === null || _a === void 0 ? void 0 : _a.length) ||
|
|
95
|
+
((_b = info.serverEnforcedEncryptedFields) === null || _b === void 0 ? void 0 : _b.length));
|
|
96
|
+
const encryptedFields = [
|
|
97
|
+
...((_c = info.clientEnforcedEncryptedFields) !== null && _c !== void 0 ? _c : []),
|
|
98
|
+
...((_d = info.serverEnforcedEncryptedFields) !== null && _d !== void 0 ? _d : []),
|
|
99
|
+
].map((fieldPath) => fieldPath.join('.'));
|
|
100
|
+
return { hasSchema, encryptedFields };
|
|
101
|
+
}
|
|
102
|
+
_processClientSchemaDefinitions() {
|
|
103
|
+
var _a, _b;
|
|
104
|
+
const { autoEncryption } = this._crudClient.options;
|
|
105
|
+
for (const ns of [
|
|
106
|
+
...Object.keys((_a = autoEncryption === null || autoEncryption === void 0 ? void 0 : autoEncryption.schemaMap) !== null && _a !== void 0 ? _a : {}),
|
|
107
|
+
...Object.keys((_b = autoEncryption === null || autoEncryption === void 0 ? void 0 : autoEncryption.encryptedFieldsMap) !== null && _b !== void 0 ? _b : {}),
|
|
108
|
+
]) {
|
|
109
|
+
log.info(mongoLogId(1001000119), 'CSFLECollectionTracker', 'Processing client-side schema information', { ns });
|
|
110
|
+
const info = this._getCSFLECollectionInfo(ns);
|
|
111
|
+
info.clientEnforcedEncryptedFields =
|
|
112
|
+
extractEncrytedFieldFromAutoEncryptionOptions(ns, autoEncryption);
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
async _fetchCSFLECollectionInfo(ns) {
|
|
116
|
+
const parsedNs = (0, mongodb_ns_1.default)(ns);
|
|
117
|
+
const info = this._getCSFLECollectionInfo(ns);
|
|
118
|
+
if (!info.serverEnforcedEncryptedFields ||
|
|
119
|
+
!info.lastUpdated ||
|
|
120
|
+
isOlderThan1Minute(info.lastUpdated)) {
|
|
121
|
+
log.info(mongoLogId(1001000120), 'CSFLECollectionTracker', 'Refreshing listCollections cache', { ns });
|
|
122
|
+
await this._dataService.listCollections(parsedNs.database, {
|
|
123
|
+
name: parsedNs.collection,
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
return info;
|
|
127
|
+
}
|
|
128
|
+
_getCSFLECollectionInfo(ns) {
|
|
129
|
+
const existing = this._nsToInfo.get(ns);
|
|
130
|
+
if (existing)
|
|
131
|
+
return existing;
|
|
132
|
+
const info = {};
|
|
133
|
+
this._nsToInfo.set(ns, info);
|
|
134
|
+
return info;
|
|
135
|
+
}
|
|
136
|
+
_updateCollectionInfoFromDataService(opts, result) {
|
|
137
|
+
var _a, _b;
|
|
138
|
+
if (opts.nameOnly) {
|
|
139
|
+
return;
|
|
140
|
+
}
|
|
141
|
+
const ns = `${opts.databaseName}.${result.name}`;
|
|
142
|
+
log.info(mongoLogId(1001000121), 'CSFLECollectionTracker', 'Processing listCollections update', { ns });
|
|
143
|
+
const info = this._getCSFLECollectionInfo(ns);
|
|
144
|
+
info.serverEnforcedEncryptedFields =
|
|
145
|
+
extractEncryptedFieldsFromListCollectionsResult(result.options);
|
|
146
|
+
info.hasServerSchema = !!((_b = (_a = result.options) === null || _a === void 0 ? void 0 : _a.validator) === null || _b === void 0 ? void 0 : _b.$jsonSchema);
|
|
147
|
+
info.lastUpdated = new Date();
|
|
148
|
+
}
|
|
149
|
+
_createHookedMetadataClient(wrappedClient) {
|
|
150
|
+
return {
|
|
151
|
+
db: (dbName) => {
|
|
152
|
+
return {
|
|
153
|
+
listCollections: (filter, opts) => {
|
|
154
|
+
return {
|
|
155
|
+
toArray: (callback) => {
|
|
156
|
+
wrappedClient
|
|
157
|
+
.db(dbName)
|
|
158
|
+
.listCollections(filter, opts)
|
|
159
|
+
.toArray((err, collectionInfos) => {
|
|
160
|
+
if (!err) {
|
|
161
|
+
err = this._checkListCollectionsForLibmongocryptResult(dbName, filter, (collectionInfos !== null && collectionInfos !== void 0 ? collectionInfos : []));
|
|
162
|
+
if (err) {
|
|
163
|
+
log.error(mongoLogId(1001000122), 'CSFLECollectionTracker', 'Rejecting listCollections in hooked metaDataClient', { error: err.message });
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
if (err) {
|
|
167
|
+
callback(err);
|
|
168
|
+
return;
|
|
169
|
+
}
|
|
170
|
+
callback(err, collectionInfos);
|
|
171
|
+
});
|
|
172
|
+
},
|
|
173
|
+
};
|
|
174
|
+
},
|
|
175
|
+
};
|
|
176
|
+
},
|
|
177
|
+
};
|
|
178
|
+
}
|
|
179
|
+
_checkListCollectionsForLibmongocryptResult(dbName, filter, collectionInfos) {
|
|
180
|
+
var _a, _b;
|
|
181
|
+
if (typeof (filter === null || filter === void 0 ? void 0 : filter.name) !== 'string' || collectionInfos.length > 1) {
|
|
182
|
+
return new Error(`[Compass] Unexpected listCollections request on '${dbName}' with name: '${filter === null || filter === void 0 ? void 0 : filter.name}'`);
|
|
183
|
+
}
|
|
184
|
+
const ns = `${dbName}.${filter.name}`;
|
|
185
|
+
const existingInfo = this._getCSFLECollectionInfo(ns);
|
|
186
|
+
if (collectionInfos.length === 0) {
|
|
187
|
+
if ((_a = existingInfo.serverEnforcedEncryptedFields) === null || _a === void 0 ? void 0 : _a.length) {
|
|
188
|
+
return new Error(`[Compass] Missing encrypted field information of collection '${ns}'`);
|
|
189
|
+
}
|
|
190
|
+
return;
|
|
191
|
+
}
|
|
192
|
+
const [info] = collectionInfos;
|
|
193
|
+
if (filter.name !== info.name) {
|
|
194
|
+
return new Error(`[Compass] Unexpected listCollections name mismatch: got ${info.name}, expected ${filter.name}`);
|
|
195
|
+
}
|
|
196
|
+
const newInfo = extractEncryptedFieldsFromListCollectionsResult(info.options);
|
|
197
|
+
for (const expectedEncryptedField of (_b = existingInfo.serverEnforcedEncryptedFields) !== null && _b !== void 0 ? _b : []) {
|
|
198
|
+
if (!newInfo.some((field) => lodash_1.default.isEqual(field, expectedEncryptedField))) {
|
|
199
|
+
return new Error(`[Compass] Missing encrypted field '${expectedEncryptedField.join('.')}' of collection '${ns}' in listCollections result`);
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
exports.CSFLECollectionTrackerImpl = CSFLECollectionTrackerImpl;
|
|
205
|
+
//# sourceMappingURL=csfle-collection-tracker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"csfle-collection-tracker.js","sourceRoot":"","sources":["../src/csfle-collection-tracker.ts"],"names":[],"mappings":"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"}
|
package/lib/data-service.d.ts
CHANGED
|
@@ -1,23 +1,132 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
import { EventEmitter } from 'events';
|
|
3
|
-
import type { AggregateOptions, AggregationCursor, BulkWriteOptions, ClientSession, Collection, CountDocumentsOptions, CreateCollectionOptions, CreateIndexesOptions, DeleteOptions, DeleteResult, Document, EstimatedDocumentCountOptions,
|
|
3
|
+
import type { AggregateOptions, AggregationCursor, BulkWriteOptions, ClientSession, Collection, CountDocumentsOptions, CreateCollectionOptions, CreateIndexesOptions, DeleteOptions, DeleteResult, Document, EstimatedDocumentCountOptions, Filter, FindCursor, FindOneAndReplaceOptions, FindOneAndUpdateOptions, FindOptions, IndexSpecification, InsertManyResult, InsertOneOptions, InsertOneResult, MongoClientOptions, ServerClosedEvent, ReadPreferenceLike, ServerDescriptionChangedEvent, ServerHeartbeatFailedEvent, ServerHeartbeatSucceededEvent, ServerOpeningEvent, TopologyClosedEvent, TopologyDescription, TopologyDescriptionChangedEvent, TopologyOpeningEvent, TopologyType, UpdateFilter, UpdateOptions, UpdateResult } from 'mongodb';
|
|
4
4
|
import ConnectionStringUrl from 'mongodb-connection-string-url';
|
|
5
|
-
import type { ConnectionOptions } from './connection-options';
|
|
5
|
+
import type { ConnectionFleOptions, ConnectionOptions } from './connection-options';
|
|
6
6
|
import type { InstanceDetails } from './instance-detail-helper';
|
|
7
7
|
import { adaptCollectionInfo, adaptDatabaseInfo } from './instance-detail-helper';
|
|
8
|
+
import type { CollectionInfo, CollectionInfoNameOnly } from './run-command';
|
|
8
9
|
import type { Callback, CollectionStats } from './types';
|
|
9
10
|
import type { ConnectionStatusWithPrivileges } from './run-command';
|
|
10
|
-
|
|
11
|
+
import type { CSFLECollectionTracker } from './csfle-collection-tracker';
|
|
12
|
+
import type { ClientEncryption as ClientEncryptionType, ClientEncryptionDataKeyProvider, ClientEncryptionCreateDataKeyProviderOptions } from 'mongodb-client-encryption';
|
|
13
|
+
declare type ClientType = 'CRUD' | 'META';
|
|
14
|
+
declare const kSessionClientType: unique symbol;
|
|
15
|
+
interface CompassClientSession extends ClientSession {
|
|
16
|
+
[kSessionClientType]: ClientType;
|
|
17
|
+
}
|
|
18
|
+
export interface DataServiceEventMap {
|
|
19
|
+
serverDescriptionChanged: (evt: ServerDescriptionChangedEvent) => void;
|
|
20
|
+
serverOpening: (evt: ServerOpeningEvent) => void;
|
|
21
|
+
serverClosed: (evt: ServerClosedEvent) => void;
|
|
22
|
+
topologyOpening: (evt: TopologyOpeningEvent) => void;
|
|
23
|
+
topologyClosed: (evt: TopologyClosedEvent) => void;
|
|
24
|
+
topologyDescriptionChanged: (evt: TopologyDescriptionChangedEvent) => void;
|
|
25
|
+
serverHeartbeatSucceeded: (evt: ServerHeartbeatSucceededEvent) => void;
|
|
26
|
+
serverHeartbeatFailed: (evt: ServerHeartbeatFailedEvent) => void;
|
|
27
|
+
collectionInfoFetched: (opts: {
|
|
28
|
+
databaseName: string;
|
|
29
|
+
nameOnly?: boolean;
|
|
30
|
+
}, result: CollectionInfoNameOnly & Partial<CollectionInfo>) => void;
|
|
31
|
+
}
|
|
32
|
+
export interface DataService {
|
|
33
|
+
on<K extends keyof DataServiceEventMap>(event: K, listener: DataServiceEventMap[K]): this;
|
|
34
|
+
once<K extends keyof DataServiceEventMap>(event: K, listener: DataServiceEventMap[K]): this;
|
|
35
|
+
emit<K extends keyof DataServiceEventMap>(event: K, ...args: DataServiceEventMap[K] extends (...args: infer P) => any ? P : never): unknown;
|
|
36
|
+
getMongoClientConnectionOptions(): {
|
|
37
|
+
url: string;
|
|
38
|
+
options: MongoClientOptions;
|
|
39
|
+
} | undefined;
|
|
40
|
+
getConnectionOptions(): Readonly<ConnectionOptions>;
|
|
41
|
+
getConnectionString(): ConnectionStringUrl;
|
|
42
|
+
getReadPreference(): ReadPreferenceLike;
|
|
43
|
+
setCSFLEEnabled(enabled: boolean): void;
|
|
44
|
+
configuredKMSProviders(): string[];
|
|
45
|
+
collection(ns: string, options: unknown, callback: Callback<Document>): void;
|
|
46
|
+
collections(databaseName: string, callback: Callback<CollectionStats[]>): void;
|
|
47
|
+
collectionStats(databaseName: string, collectionName: string, callback: Callback<CollectionStats>): void;
|
|
48
|
+
collectionInfo(dbName: string, collName: string): Promise<ReturnType<typeof adaptCollectionInfo> | null>;
|
|
49
|
+
command(databaseName: string, comm: Document, callback: Callback<Document>): void;
|
|
50
|
+
isWritable(): boolean;
|
|
51
|
+
isMongos(): boolean;
|
|
52
|
+
currentTopologyType(): TopologyType;
|
|
53
|
+
connectionStatus(): Promise<ConnectionStatusWithPrivileges>;
|
|
54
|
+
listCollections(databaseName: string, filter?: Document, options?: {
|
|
55
|
+
nameOnly?: true;
|
|
56
|
+
privileges?: ConnectionStatusWithPrivileges['authInfo']['authenticatedUserPrivileges'] | null;
|
|
57
|
+
}): Promise<ReturnType<typeof adaptCollectionInfo>[]>;
|
|
58
|
+
listDatabases(options?: {
|
|
59
|
+
nameOnly?: true;
|
|
60
|
+
privileges?: ConnectionStatusWithPrivileges['authInfo']['authenticatedUserPrivileges'] | null;
|
|
61
|
+
roles?: ConnectionStatusWithPrivileges['authInfo']['authenticatedUserRoles'] | null;
|
|
62
|
+
}): Promise<{
|
|
63
|
+
_id: string;
|
|
64
|
+
name: string;
|
|
65
|
+
}[]>;
|
|
66
|
+
connect(): Promise<void>;
|
|
67
|
+
estimatedCount(ns: string, options: EstimatedDocumentCountOptions, callback: Callback<number>): void;
|
|
68
|
+
count(ns: string, filter: Filter<Document>, options: CountDocumentsOptions, callback: Callback<number>): void;
|
|
69
|
+
createCollection(ns: string, options: CreateCollectionOptions, callback: Callback<Collection<Document>>): void;
|
|
70
|
+
createIndex(ns: string, spec: IndexSpecification, options: CreateIndexesOptions, callback: Callback<string>): void;
|
|
71
|
+
database(name: string, options: unknown, callback: Callback<Document>): void;
|
|
72
|
+
deleteOne(ns: string, filter: Filter<Document>, options: DeleteOptions, callback: Callback<DeleteResult>): void;
|
|
73
|
+
deleteMany(ns: string, filter: Filter<Document>, options: DeleteOptions, callback: Callback<DeleteResult>): void;
|
|
74
|
+
disconnect(): Promise<void>;
|
|
75
|
+
dropCollection(ns: string, callback: Callback<boolean>): void;
|
|
76
|
+
dropDatabase(name: string, callback: Callback<boolean>): void;
|
|
77
|
+
dropIndex(ns: string, name: string, callback: Callback<Document>): void;
|
|
78
|
+
aggregate(ns: string, pipeline: Document[], options?: AggregateOptions): AggregationCursor;
|
|
79
|
+
aggregate(ns: string, pipeline: Document[], callback: Callback<AggregationCursor>): void;
|
|
80
|
+
aggregate(ns: string, pipeline: Document[], options: AggregateOptions | undefined, callback: Callback<AggregationCursor>): void;
|
|
81
|
+
find(ns: string, filter: Filter<Document>, options: FindOptions, callback: Callback<Document[]>): void;
|
|
82
|
+
fetch(ns: string, filter: Filter<Document>, options: FindOptions): FindCursor;
|
|
83
|
+
findOneAndReplace(ns: string, filter: Filter<Document>, replacement: Document, options: FindOneAndReplaceOptions, callback: Callback<Document>): void;
|
|
84
|
+
findOneAndUpdate(ns: string, filter: Filter<Document>, update: Document, options: FindOneAndUpdateOptions, callback: Callback<Document>): void;
|
|
85
|
+
explain(ns: string, filter: Filter<Document>, options: FindOptions, callback: Callback<Document>): void;
|
|
86
|
+
indexes(ns: string, options: unknown, callback: Callback<Document>): void;
|
|
87
|
+
instance(): Promise<InstanceDetails>;
|
|
88
|
+
insertOne(ns: string, doc: Document, options: InsertOneOptions, callback: Callback<InsertOneResult<Document>>): void;
|
|
89
|
+
insertMany(ns: string, docs: Document[], options: BulkWriteOptions, callback: Callback<InsertManyResult<Document>>): void;
|
|
90
|
+
putMany(ns: string, docs: Document[], options: BulkWriteOptions): Promise<InsertManyResult<Document>>;
|
|
91
|
+
updateCollection(ns: string, flags: Document & {
|
|
92
|
+
collMod?: never;
|
|
93
|
+
}, callback: Callback<Document>): void;
|
|
94
|
+
updateOne(ns: string, filter: Filter<Document>, update: Document | UpdateFilter<Document>, options: UpdateOptions, callback: Callback<Document>): void;
|
|
95
|
+
updateMany(ns: string, filter: Filter<Document>, update: UpdateFilter<Document>, options: UpdateOptions, callback: Callback<Document | UpdateResult>): void;
|
|
96
|
+
currentOp(includeAll: boolean, callback: Callback<Document>): void;
|
|
97
|
+
getLastSeenTopology(): null | TopologyDescription;
|
|
98
|
+
serverstats(callback: Callback<Document>): void;
|
|
99
|
+
top(callback: Callback<Document>): void;
|
|
100
|
+
createView(name: string, sourceNs: string, pipeline: Document[], options: CreateCollectionOptions, callback: Callback<Collection<Document>>): void;
|
|
101
|
+
updateView(name: string, sourceNs: string, pipeline: Document[], options: Document, callback: Callback<Document>): void;
|
|
102
|
+
dropView(ns: string, callback: Callback<boolean>): void;
|
|
103
|
+
sample(ns: string, args?: {
|
|
104
|
+
query?: Filter<Document>;
|
|
105
|
+
size?: number;
|
|
106
|
+
fields?: Document;
|
|
107
|
+
}, options?: AggregateOptions): AggregationCursor;
|
|
108
|
+
startSession(clientType: ClientType): CompassClientSession;
|
|
109
|
+
killSessions(sessions: CompassClientSession | CompassClientSession[]): Promise<Document>;
|
|
110
|
+
isConnected(): boolean;
|
|
111
|
+
databaseStats(name: string): Promise<ReturnType<typeof adaptDatabaseInfo> & {
|
|
112
|
+
name: string;
|
|
113
|
+
}>;
|
|
114
|
+
createDataKey(provider: string, options?: unknown): Promise<Document>;
|
|
115
|
+
}
|
|
116
|
+
export declare class DataServiceImpl extends EventEmitter implements DataService {
|
|
11
117
|
private readonly _connectionOptions;
|
|
12
118
|
private _isConnecting;
|
|
13
119
|
private _mongoClientConnectionOptions?;
|
|
14
|
-
private
|
|
120
|
+
private _metadataClient?;
|
|
121
|
+
private _crudClient?;
|
|
122
|
+
private _useCRUDClient;
|
|
123
|
+
private _csfleCollectionTracker?;
|
|
15
124
|
private _tunnel?;
|
|
16
125
|
private _lastSeenTopology;
|
|
17
126
|
private _isWritable;
|
|
18
127
|
private _topologyType;
|
|
19
128
|
private _id;
|
|
20
|
-
constructor(connectionOptions: ConnectionOptions);
|
|
129
|
+
constructor(connectionOptions: Readonly<ConnectionOptions>);
|
|
21
130
|
getMongoClientConnectionOptions(): {
|
|
22
131
|
url: string;
|
|
23
132
|
options: MongoClientOptions;
|
|
@@ -26,6 +135,8 @@ declare class DataService extends EventEmitter {
|
|
|
26
135
|
getConnectionOptions(): Readonly<ConnectionOptions>;
|
|
27
136
|
getConnectionString(): ConnectionStringUrl;
|
|
28
137
|
getReadPreference(): ReadPreferenceLike;
|
|
138
|
+
setCSFLEEnabled(enabled: boolean): void;
|
|
139
|
+
getCSFLEMode(): 'enabled' | 'disabled' | 'unavailable';
|
|
29
140
|
collection(ns: string, options: unknown, callback: Callback<Document>): void;
|
|
30
141
|
collections(databaseName: string, callback: Callback<CollectionStats[]>): void;
|
|
31
142
|
collectionStats(databaseName: string, collectionName: string, callback: Callback<CollectionStats>): void;
|
|
@@ -36,13 +147,15 @@ declare class DataService extends EventEmitter {
|
|
|
36
147
|
currentTopologyType(): TopologyType;
|
|
37
148
|
connectionStatus(): Promise<ConnectionStatusWithPrivileges>;
|
|
38
149
|
private _getPrivilegesOrFallback;
|
|
150
|
+
private _getRolesOrFallback;
|
|
39
151
|
listCollections(databaseName: string, filter?: Document, { nameOnly, privileges, }?: {
|
|
40
152
|
nameOnly?: true;
|
|
41
153
|
privileges?: ConnectionStatusWithPrivileges['authInfo']['authenticatedUserPrivileges'] | null;
|
|
42
154
|
}): Promise<ReturnType<typeof adaptCollectionInfo>[]>;
|
|
43
|
-
listDatabases({ nameOnly, privileges, }?: {
|
|
155
|
+
listDatabases({ nameOnly, privileges, roles, }?: {
|
|
44
156
|
nameOnly?: true;
|
|
45
157
|
privileges?: ConnectionStatusWithPrivileges['authInfo']['authenticatedUserPrivileges'] | null;
|
|
158
|
+
roles?: ConnectionStatusWithPrivileges['authInfo']['authenticatedUserRoles'] | null;
|
|
46
159
|
}): Promise<{
|
|
47
160
|
_id: string;
|
|
48
161
|
name: string;
|
|
@@ -66,7 +179,7 @@ declare class DataService extends EventEmitter {
|
|
|
66
179
|
fetch(ns: string, filter: Filter<Document>, options: FindOptions): FindCursor;
|
|
67
180
|
findOneAndReplace(ns: string, filter: Filter<Document>, replacement: Document, options: FindOneAndReplaceOptions, callback: Callback<Document>): void;
|
|
68
181
|
findOneAndUpdate(ns: string, filter: Filter<Document>, update: Document, options: FindOneAndUpdateOptions, callback: Callback<Document>): void;
|
|
69
|
-
explain(ns: string, filter: Filter<Document>, options:
|
|
182
|
+
explain(ns: string, filter: Filter<Document>, options: FindOptions, callback: Callback<Document>): void;
|
|
70
183
|
indexes(ns: string, options: unknown, callback: Callback<Document>): void;
|
|
71
184
|
instance(): Promise<InstanceDetails>;
|
|
72
185
|
insertOne(ns: string, doc: Document, options: InsertOneOptions, callback: Callback<InsertOneResult<Document>>): void;
|
|
@@ -89,19 +202,19 @@ declare class DataService extends EventEmitter {
|
|
|
89
202
|
size?: number;
|
|
90
203
|
fields?: Document;
|
|
91
204
|
}, options?: AggregateOptions): AggregationCursor;
|
|
92
|
-
startSession():
|
|
93
|
-
killSessions(sessions:
|
|
205
|
+
startSession(clientType: ClientType): CompassClientSession;
|
|
206
|
+
killSessions(sessions: CompassClientSession | CompassClientSession[]): Promise<Document>;
|
|
94
207
|
isConnected(): boolean;
|
|
95
208
|
private setupListeners;
|
|
96
|
-
private
|
|
97
|
-
|
|
209
|
+
private _initializedClient;
|
|
210
|
+
getCSFLECollectionTracker(): CSFLECollectionTracker;
|
|
98
211
|
databaseStats(name: string): Promise<ReturnType<typeof adaptDatabaseInfo> & {
|
|
99
212
|
name: string;
|
|
100
213
|
}>;
|
|
101
214
|
private _buildCollectionDetail;
|
|
102
215
|
private _buildCollectionStats;
|
|
103
216
|
private _buildDatabaseDetail;
|
|
104
|
-
_collection(ns: string): Collection;
|
|
217
|
+
_collection(ns: string, type: ClientType): Collection;
|
|
105
218
|
private _collectionNames;
|
|
106
219
|
private _collectionName;
|
|
107
220
|
private _databaseName;
|
|
@@ -109,6 +222,10 @@ declare class DataService extends EventEmitter {
|
|
|
109
222
|
private _translateMessage;
|
|
110
223
|
private _cleanup;
|
|
111
224
|
private _startLogOp;
|
|
225
|
+
configuredKMSProviders(): string[];
|
|
226
|
+
_csfleLogInformation(fleOptions?: Readonly<ConnectionFleOptions>): null | Record<string, unknown>;
|
|
227
|
+
createDataKey(provider: ClientEncryptionDataKeyProvider, options?: ClientEncryptionCreateDataKeyProviderOptions): Promise<Document>;
|
|
228
|
+
_getClientEncryption(): ClientEncryptionType;
|
|
112
229
|
}
|
|
113
230
|
export default DataService;
|
|
114
231
|
//# sourceMappingURL=data-service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-service.d.ts","sourceRoot":"","sources":["../src/data-service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"data-service.d.ts","sourceRoot":"","sources":["../src/data-service.ts"],"names":[],"mappings":";AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEtC,OAAO,KAAK,EACV,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,aAAa,EACb,UAAU,EAIV,qBAAqB,EACrB,uBAAuB,EACvB,oBAAoB,EACpB,aAAa,EACb,YAAY,EACZ,QAAQ,EACR,6BAA6B,EAC7B,MAAM,EACN,UAAU,EACV,wBAAwB,EACxB,uBAAuB,EACvB,WAAW,EACX,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EAEf,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAElB,6BAA6B,EAC7B,0BAA0B,EAC1B,6BAA6B,EAC7B,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,+BAA+B,EAC/B,oBAAoB,EACpB,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,YAAY,EACb,MAAM,SAAS,CAAC;AACjB,OAAO,mBAAmB,MAAM,+BAA+B,CAAC;AAEhE,OAAO,KAAK,EACV,oBAAoB,EACpB,iBAAiB,EAClB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EAMlB,MAAM,0BAA0B,CAAC;AAGlC,OAAO,KAAK,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAC5E,OAAO,KAAK,EACV,QAAQ,EAER,eAAe,EAEhB,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,eAAe,CAAC;AAEpE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAOzE,OAAO,KAAK,EACV,gBAAgB,IAAI,oBAAoB,EACxC,+BAA+B,EAC/B,4CAA4C,EAC7C,MAAM,2BAA2B,CAAC;AA0BnC,aAAK,UAAU,GAAG,MAAM,GAAG,MAAM,CAAC;AAClC,QAAA,MAAM,kBAAkB,eAA+B,CAAC;AACxD,UAAU,oBAAqB,SAAQ,aAAa;IAClD,CAAC,kBAAkB,CAAC,EAAE,UAAU,CAAC;CAClC;AAED,MAAM,WAAW,mBAAmB;IAClC,wBAAwB,EAAE,CAAC,GAAG,EAAE,6BAA6B,KAAK,IAAI,CAAC;IACvE,aAAa,EAAE,CAAC,GAAG,EAAE,kBAAkB,KAAK,IAAI,CAAC;IACjD,YAAY,EAAE,CAAC,GAAG,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAC/C,eAAe,EAAE,CAAC,GAAG,EAAE,oBAAoB,KAAK,IAAI,CAAC;IACrD,cAAc,EAAE,CAAC,GAAG,EAAE,mBAAmB,KAAK,IAAI,CAAC;IACnD,0BAA0B,EAAE,CAAC,GAAG,EAAE,+BAA+B,KAAK,IAAI,CAAC;IAC3E,wBAAwB,EAAE,CAAC,GAAG,EAAE,6BAA6B,KAAK,IAAI,CAAC;IACvE,qBAAqB,EAAE,CAAC,GAAG,EAAE,0BAA0B,KAAK,IAAI,CAAC;IACjE,qBAAqB,EAAE,CACrB,IAAI,EAAE;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,EAClD,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,cAAc,CAAC,KACrD,IAAI,CAAC;CACX;AAED,MAAM,WAAW,WAAW;IAE1B,EAAE,CAAC,CAAC,SAAS,MAAM,mBAAmB,EACpC,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAC/B,IAAI,CAAC;IACR,IAAI,CAAC,CAAC,SAAS,MAAM,mBAAmB,EACtC,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAC/B,IAAI,CAAC;IACR,IAAI,CAAC,CAAC,SAAS,MAAM,mBAAmB,EACtC,KAAK,EAAE,CAAC,EACR,GAAG,IAAI,EAAE,mBAAmB,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,KAAK,GAAG,GAC7D,CAAC,GACD,KAAK,GACR,OAAO,CAAC;IAEX,+BAA+B,IAC3B;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,kBAAkB,CAAA;KAAE,GAC5C,SAAS,CAAC;IACd,oBAAoB,IAAI,QAAQ,CAAC,iBAAiB,CAAC,CAAC;IACpD,mBAAmB,IAAI,mBAAmB,CAAC;IAC3C,iBAAiB,IAAI,kBAAkB,CAAC;IACxC,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACxC,sBAAsB,IAAI,MAAM,EAAE,CAAC;IASnC,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;IAQ7E,WAAW,CACT,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,QAAQ,CAAC,eAAe,EAAE,CAAC,GACpC,IAAI,CAAC;IASR,eAAe,CACb,YAAY,EAAE,MAAM,EACpB,cAAc,EAAE,MAAM,EACtB,QAAQ,EAAE,QAAQ,CAAC,eAAe,CAAC,GAClC,IAAI,CAAC;IASR,cAAc,CACZ,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,UAAU,CAAC,OAAO,mBAAmB,CAAC,GAAG,IAAI,CAAC,CAAC;IAS1D,OAAO,CACL,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,QAAQ,EACd,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAC3B,IAAI,CAAC;IAOR,UAAU,IAAI,OAAO,CAAC;IAOtB,QAAQ,IAAI,OAAO,CAAC;IAQpB,mBAAmB,IAAI,YAAY,CAAC;IAEpC,gBAAgB,IAAI,OAAO,CAAC,8BAA8B,CAAC,CAAC;IAK5D,eAAe,CACb,YAAY,EAAE,MAAM,EACpB,MAAM,CAAC,EAAE,QAAQ,EACjB,OAAO,CAAC,EAAE;QACR,QAAQ,CAAC,EAAE,IAAI,CAAC;QAChB,UAAU,CAAC,EACP,8BAA8B,CAAC,UAAU,CAAC,CAAC,6BAA6B,CAAC,GACzE,IAAI,CAAC;KACV,GACA,OAAO,CAAC,UAAU,CAAC,OAAO,mBAAmB,CAAC,EAAE,CAAC,CAAC;IAKrD,aAAa,CAAC,OAAO,CAAC,EAAE;QACtB,QAAQ,CAAC,EAAE,IAAI,CAAC;QAChB,UAAU,CAAC,EACP,8BAA8B,CAAC,UAAU,CAAC,CAAC,6BAA6B,CAAC,GACzE,IAAI,CAAC;QACT,KAAK,CAAC,EACF,8BAA8B,CAAC,UAAU,CAAC,CAAC,wBAAwB,CAAC,GACpE,IAAI,CAAC;KACV,GAAG,OAAO,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC,CAAC;IAE7C,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IASzB,cAAc,CACZ,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,6BAA6B,EACtC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,GACzB,IAAI,CAAC;IAUR,KAAK,CACH,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,EACxB,OAAO,EAAE,qBAAqB,EAC9B,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,GACzB,IAAI,CAAC;IASR,gBAAgB,CACd,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,uBAAuB,EAChC,QAAQ,EAAE,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,GACvC,IAAI,CAAC;IAUR,WAAW,CACT,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,kBAAkB,EACxB,OAAO,EAAE,oBAAoB,EAC7B,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,GACzB,IAAI,CAAC;IASR,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;IAU7E,SAAS,CACP,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,EACxB,OAAO,EAAE,aAAa,EACtB,QAAQ,EAAE,QAAQ,CAAC,YAAY,CAAC,GAC/B,IAAI,CAAC;IAUR,UAAU,CACR,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,EACxB,OAAO,EAAE,aAAa,EACtB,QAAQ,EAAE,QAAQ,CAAC,YAAY,CAAC,GAC/B,IAAI,CAAC;IAMR,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAQ5B,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;IAQ9D,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;IAS9D,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;IAYxE,SAAS,CACP,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,QAAQ,EAAE,EACpB,OAAO,CAAC,EAAE,gBAAgB,GACzB,iBAAiB,CAAC;IACrB,SAAS,CACP,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,QAAQ,EAAE,EACpB,QAAQ,EAAE,QAAQ,CAAC,iBAAiB,CAAC,GACpC,IAAI,CAAC;IACR,SAAS,CACP,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,QAAQ,EAAE,EACpB,OAAO,EAAE,gBAAgB,GAAG,SAAS,EACrC,QAAQ,EAAE,QAAQ,CAAC,iBAAiB,CAAC,GACpC,IAAI,CAAC;IAUR,IAAI,CACF,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,EACxB,OAAO,EAAE,WAAW,EACpB,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC,GAC7B,IAAI,CAAC;IASR,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,WAAW,GAAG,UAAU,CAAC;IAW9E,iBAAiB,CACf,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,EACxB,WAAW,EAAE,QAAQ,EACrB,OAAO,EAAE,wBAAwB,EACjC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAC3B,IAAI,CAAC;IAWR,gBAAgB,CACd,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,EACxB,MAAM,EAAE,QAAQ,EAChB,OAAO,EAAE,uBAAuB,EAChC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAC3B,IAAI,CAAC;IAUR,OAAO,CACL,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,EACxB,OAAO,EAAE,WAAW,EACpB,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAC3B,IAAI,CAAC;IASR,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;IAK1E,QAAQ,IAAI,OAAO,CAAC,eAAe,CAAC,CAAC;IAUrC,SAAS,CACP,EAAE,EAAE,MAAM,EACV,GAAG,EAAE,QAAQ,EACb,OAAO,EAAE,gBAAgB,EACzB,QAAQ,EAAE,QAAQ,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,GAC5C,IAAI,CAAC;IAUR,UAAU,CACR,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,QAAQ,EAAE,EAChB,OAAO,EAAE,gBAAgB,EACzB,QAAQ,EAAE,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,GAC7C,IAAI,CAAC;IAUR,OAAO,CACL,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,QAAQ,EAAE,EAChB,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC;IASvC,gBAAgB,CACd,EAAE,EAAE,MAAM,EAIV,KAAK,EAAE,QAAQ,GAAG;QAAE,OAAO,CAAC,EAAE,KAAK,CAAA;KAAE,EACrC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAC3B,IAAI,CAAC;IAWR,SAAS,CACP,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,EACxB,MAAM,EAAE,QAAQ,GAAG,YAAY,CAAC,QAAQ,CAAC,EACzC,OAAO,EAAE,aAAa,EACtB,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAC3B,IAAI,CAAC;IAWR,UAAU,CACR,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,EACxB,MAAM,EAAE,YAAY,CAAC,QAAQ,CAAC,EAC9B,OAAO,EAAE,aAAa,EACtB,QAAQ,EAAE,QAAQ,CAAC,QAAQ,GAAG,YAAY,CAAC,GAC1C,IAAI,CAAC;IAQR,SAAS,CAAC,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;IAMnE,mBAAmB,IAAI,IAAI,GAAG,mBAAmB,CAAC;IAKlD,WAAW,CAAC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;IAOhD,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;IAWxC,UAAU,CACR,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,QAAQ,EAAE,EACpB,OAAO,EAAE,uBAAuB,EAChC,QAAQ,EAAE,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,GACvC,IAAI,CAAC;IAWR,UAAU,CACR,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,QAAQ,EAAE,EACpB,OAAO,EAAE,QAAQ,EACjB,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAC3B,IAAI,CAAC;IAQR,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;IASxD,MAAM,CACJ,EAAE,EAAE,MAAM,EACV,IAAI,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,QAAQ,CAAA;KAAE,EACrE,OAAO,CAAC,EAAE,gBAAgB,GACzB,iBAAiB,CAAC;IAKrB,YAAY,CAAC,UAAU,EAAE,UAAU,GAAG,oBAAoB,CAAC;IAM3D,YAAY,CACV,QAAQ,EAAE,oBAAoB,GAAG,oBAAoB,EAAE,GACtD,OAAO,CAAC,QAAQ,CAAC,CAAC;IAErB,WAAW,IAAI,OAAO,CAAC;IAQvB,aAAa,CACX,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,UAAU,CAAC,OAAO,iBAAiB,CAAC,GAAG;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAMpE,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;CACvE;AAED,qBAAa,eAAgB,SAAQ,YAAa,YAAW,WAAW;IACtE,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAA8B;IACjE,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,6BAA6B,CAAC,CAGpC;IAOF,OAAO,CAAC,eAAe,CAAC,CAAc;IACtC,OAAO,CAAC,WAAW,CAAC,CAAc;IAClC,OAAO,CAAC,cAAc,CAAQ;IAC9B,OAAO,CAAC,uBAAuB,CAAC,CAAyB;IAEzD,OAAO,CAAC,OAAO,CAAC,CAAY;IAM5B,OAAO,CAAC,iBAAiB,CAAoC;IAE7D,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,aAAa,CAA2B;IAChD,OAAO,CAAC,GAAG,CAAS;gBAER,iBAAiB,EAAE,QAAQ,CAAC,iBAAiB,CAAC;IAM1D,+BAA+B,IAC3B;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,kBAAkB,CAAA;KAAE,GAC5C,SAAS;IAIb,OAAO,CAAC,OAAO;IAIf,oBAAoB,IAAI,QAAQ,CAAC,iBAAiB,CAAC;IAInD,mBAAmB,IAAI,mBAAmB;IAI1C,iBAAiB,IAAI,kBAAkB;IAIvC,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAOvC,YAAY,IAAI,SAAS,GAAG,UAAU,GAAG,aAAa;IAYtD,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI;IAwB5E,WAAW,CACT,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,QAAQ,CAAC,eAAe,EAAE,CAAC,GACpC,IAAI;IAqBP,eAAe,CACb,YAAY,EAAE,MAAM,EACpB,cAAc,EAAE,MAAM,EACtB,QAAQ,EAAE,QAAQ,CAAC,eAAe,CAAC,GAClC,IAAI;IAwBD,cAAc,CAClB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,UAAU,CAAC,OAAO,mBAAmB,CAAC,GAAG,IAAI,CAAC;IASzD,OAAO,CACL,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,QAAQ,EACd,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAC3B,IAAI;IAWP,UAAU,IAAI,OAAO;IAIrB,QAAQ,IAAI,OAAO;IAInB,mBAAmB,IAAI,YAAY;IAI7B,gBAAgB,IAAI,OAAO,CAAC,8BAA8B,CAAC;YAmBnD,wBAAwB;YAcxB,mBAAmB;IAe3B,eAAe,CACnB,YAAY,EAAE,MAAM,EACpB,MAAM,GAAE,QAAa,EACrB,EACE,QAAQ,EACR,UAAiB,GAClB,GAAE;QACD,QAAQ,CAAC,EAAE,IAAI,CAAC;QAChB,UAAU,CAAC,EACP,8BAA8B,CAAC,UAAU,CAAC,CAAC,6BAA6B,CAAC,GACzE,IAAI,CAAC;KACL,GACL,OAAO,CAAC,UAAU,CAAC,OAAO,mBAAmB,CAAC,EAAE,CAAC;IAyF9C,aAAa,CAAC,EAClB,QAAQ,EACR,UAAiB,EACjB,KAAY,GACb,GAAE;QACD,QAAQ,CAAC,EAAE,IAAI,CAAC;QAChB,UAAU,CAAC,EACP,8BAA8B,CAAC,UAAU,CAAC,CAAC,6BAA6B,CAAC,GACzE,IAAI,CAAC;QACT,KAAK,CAAC,EACF,8BAA8B,CAAC,UAAU,CAAC,CAAC,wBAAwB,CAAC,GACpE,IAAI,CAAC;KACL,GAAG,OAAO,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IA8F3C,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IA+C9B,cAAc,CACZ,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,6BAA6B,EACtC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,GACzB,IAAI;IAeP,KAAK,CACH,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,EACxB,OAAO,EAAE,qBAAqB,EAC9B,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,GACzB,IAAI;IAgBP,gBAAgB,CACd,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,uBAAuB,EAChC,QAAQ,EAAE,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,GACvC,IAAI;IAmBP,WAAW,CACT,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,kBAAkB,EACxB,OAAO,EAAE,oBAAoB,EAC7B,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,GACzB,IAAI;IAgBP,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI;IAc5E,SAAS,CACP,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,EACxB,OAAO,EAAE,aAAa,EACtB,QAAQ,EAAE,QAAQ,CAAC,YAAY,CAAC,GAC/B,IAAI;IAgBP,UAAU,CACR,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,EACxB,OAAO,EAAE,aAAa,EACtB,QAAQ,EAAE,QAAQ,CAAC,YAAY,CAAC,GAC/B,IAAI;IAoBD,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAsBjC,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,IAAI;IAgB7D,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,IAAI;IAkB7D,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI;IAgBvE,SAAS,CACP,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,QAAQ,EAAE,EACpB,OAAO,CAAC,EAAE,gBAAgB,GACzB,iBAAiB;IACpB,SAAS,CACP,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,QAAQ,EAAE,EACpB,QAAQ,EAAE,QAAQ,CAAC,iBAAiB,CAAC,GACpC,IAAI;IACP,SAAS,CACP,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,QAAQ,EAAE,EACpB,OAAO,EAAE,gBAAgB,GAAG,SAAS,EACrC,QAAQ,EAAE,QAAQ,CAAC,iBAAiB,CAAC,GACpC,IAAI;IAyBP,IAAI,CACF,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,EACxB,OAAO,EAAE,WAAW,EACpB,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC,GAC7B,IAAI;IAeP,KAAK,CACH,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,EACxB,OAAO,EAAE,WAAW,GACnB,UAAU;IAYb,iBAAiB,CACf,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,EACxB,WAAW,EAAE,QAAQ,EACrB,OAAO,EAAE,wBAAwB,EACjC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAC3B,IAAI;IAqBP,gBAAgB,CACd,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,EACxB,MAAM,EAAE,QAAQ,EAChB,OAAO,EAAE,uBAAuB,EAChC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAC3B,IAAI;IAqBP,OAAO,CACL,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,EACxB,OAAO,EAAE,WAAW,EACpB,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAC3B,IAAI;IAoBP,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI;IAoBnE,QAAQ,IAAI,OAAO,CAAC,eAAe,CAAC;IA0B1C,SAAS,CACP,EAAE,EAAE,MAAM,EACV,GAAG,EAAE,QAAQ,EACb,OAAO,EAAE,gBAAgB,EACzB,QAAQ,EAAE,QAAQ,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,GAC5C,IAAI;IAgBP,UAAU,CACR,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,QAAQ,EAAE,EAChB,OAAO,EAAE,gBAAgB,EACzB,QAAQ,EAAE,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,GAC7C,IAAI;IAmBP,OAAO,CACL,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,QAAQ,EAAE,EAChB,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAItC,gBAAgB,CACd,EAAE,EAAE,MAAM,EAIV,KAAK,EAAE,QAAQ,GAAG;QAAE,OAAO,CAAC,EAAE,KAAK,CAAA;KAAE,EACrC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAC3B,IAAI;IAwBP,SAAS,CACP,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,EACxB,MAAM,EAAE,QAAQ,GAAG,YAAY,CAAC,QAAQ,CAAC,EACzC,OAAO,EAAE,aAAa,EACtB,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAC3B,IAAI;IAqBP,UAAU,CACR,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,EACxB,MAAM,EAAE,YAAY,CAAC,QAAQ,CAAC,EAC9B,OAAO,EAAE,aAAa,EACtB,QAAQ,EAAE,QAAQ,CAAC,QAAQ,GAAG,YAAY,CAAC,GAC1C,IAAI;IAqBP,SAAS,CAAC,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI;IA+BlE,mBAAmB,IAAI,IAAI,GAAG,mBAAmB;IAIjD,WAAW,CAAC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI;IAoB/C,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI;IAevC,UAAU,CACR,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,QAAQ,EAAE,EACpB,OAAO,EAAE,uBAAuB,EAChC,QAAQ,EAAE,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,GACvC,IAAI;IA2BP,UAAU,CACR,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,QAAQ,EAAE,EACpB,OAAO,EAAE,QAAQ,EACjB,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAC3B,IAAI;IA8BP,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,IAAI;IAIvD,MAAM,CACJ,EAAE,EAAE,MAAM,EACV,EACE,KAAK,EACL,IAAI,EACJ,MAAM,GACP,GAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,QAAQ,CAAA;KAAO,EACtE,OAAO,GAAE,gBAAqB,GAC7B,iBAAiB;IA2BpB,YAAY,CAAC,UAAU,EAAE,UAAU,GAAG,oBAAoB;IAQ1D,YAAY,CACV,QAAQ,EAAE,oBAAoB,GAAG,oBAAoB,EAAE,GACtD,OAAO,CAAC,QAAQ,CAAC;IAoBpB,WAAW,IAAI,OAAO;IAYtB,OAAO,CAAC,cAAc;IA2KtB,OAAO,CAAC,kBAAkB;IAc1B,yBAAyB,IAAI,sBAAsB;IAO7C,aAAa,CACjB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,UAAU,CAAC,OAAO,iBAAiB,CAAC,GAAG;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAuBnE,OAAO,CAAC,sBAAsB;IAkB9B,OAAO,CAAC,qBAAqB;IAqC7B,OAAO,CAAC,oBAAoB;IAe5B,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,UAAU;IAYrD,OAAO,CAAC,gBAAgB;IA0BxB,OAAO,CAAC,eAAe;IASvB,OAAO,CAAC,aAAa;IAWrB,OAAO,CAAC,gBAAgB;IAaxB,OAAO,CAAC,iBAAiB;IASzB,OAAO,CAAC,QAAQ;IAYhB,OAAO,CAAC,WAAW;IA+BnB,sBAAsB,IAAI,MAAM,EAAE;IAMlC,oBAAoB,CAClB,UAAU,CAAC,EAAE,QAAQ,CAAC,oBAAoB,CAAC,GAC1C,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAe3B,aAAa,CACjB,QAAQ,EAAE,+BAA+B,EACzC,OAAO,CAAC,EAAE,4CAA4C,GACrD,OAAO,CAAC,QAAQ,CAAC;IAmBpB,oBAAoB,IAAI,oBAAoB;CAoB7C;AAED,eAAe,WAAW,CAAC"}
|