@iobroker/db-base 6.0.1-alpha.0-20240603-3deca26fa → 6.0.1

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.
@@ -7,7 +7,6 @@
7
7
  *
8
8
  */
9
9
  import type { InternalLogger } from '@iobroker/js-controller-common-db/tools';
10
- import type { RedisHandler } from '../lib/redisHandler.js';
11
10
  export interface ConnectionOptions {
12
11
  pass?: string;
13
12
  sentinelName?: string;
@@ -64,25 +63,14 @@ interface Subscription {
64
63
  regex: RegExp;
65
64
  options: any;
66
65
  }
67
- interface SubscriptionClient extends Partial<InstanceType<typeof RedisHandler>> {
68
- _subscribe?: Map<string, Subscription[]>;
69
- }
70
- interface SubscriptionClientRegex {
71
- /** The RegExp object */
72
- regex: RegExp;
73
- /** All clients for this regexp */
74
- clients: {
75
- client: SubscriptionClient;
76
- pattern: string;
77
- }[];
66
+ interface SubscriptionClient {
67
+ _subscribe?: Record<string, Subscription[]>;
78
68
  }
79
69
  /**
80
70
  * The parent of the class structure, which provides basic JSON storage
81
71
  * and general subscription and publish functionality
82
72
  */
83
73
  export declare class InMemoryFileDB {
84
- /** Store all clients per RegExp */
85
- private regExps;
86
74
  private settings;
87
75
  private readonly change;
88
76
  protected dataset: Record<string, any>;
@@ -111,21 +99,10 @@ export declare class InMemoryFileDB {
111
99
  */
112
100
  loadDataset(datasetName: string): Promise<Record<string, any>>;
113
101
  initBackupDir(): void;
114
- /**
115
- * Add client subscribe to a regex for given type
116
- *
117
- * @param options pattern, client and type information
118
- */
119
- private addSubscribeToRegex;
120
- handleSubscribe(client: SubscriptionClient, type: string, pattern: string | string[]): void;
121
- /**
122
- * Remove client subscribe from a regex for given type
123
- *
124
- * @param options pattern, client and type information
125
- */
126
- private removeSubscribeFromRegex;
127
- handleUnsubscribe(client: SubscriptionClient, type: string, pattern: string | string[]): void | Promise<void>;
128
- publishPattern(_patternInformation: SubscriptionClientRegex, _type: string, _id: string, _obj: unknown): number;
102
+ handleSubscribe(client: SubscriptionClient, type: string, pattern: string | string[], cb?: () => void): void;
103
+ handleSubscribe(client: SubscriptionClient, type: string, pattern: string | string[], options: any, cb?: () => void): void;
104
+ handleUnsubscribe(client: SubscriptionClient, type: string, pattern: string | string[], cb?: () => void): void | Promise<void>;
105
+ publishToClients(_client: SubscriptionClient, _type: string, _id: string, _obj: any): number;
129
106
  deleteOldBackupFiles(baseFilename: string): void;
130
107
  getTimeStr(date: number): string;
131
108
  /**
@@ -145,7 +122,7 @@ export declare class InMemoryFileDB {
145
122
  */
146
123
  saveBackup(jsonString: string): void;
147
124
  getStatus(): DbStatus;
148
- getClients(): Map<string, SubscriptionClient>;
125
+ getClients(): Record<string, any>;
149
126
  publishAll(type: string, id: string, obj: any): number;
150
127
  destroy(): Promise<void>;
151
128
  }
@@ -32,7 +32,6 @@ var import_node_path = __toESM(require("node:path"), 1);
32
32
  var import_js_controller_common_db = require("@iobroker/js-controller-common-db");
33
33
  var import_node_zlib = require("node:zlib");
34
34
  class InMemoryFileDB {
35
- regExps = /* @__PURE__ */ new Map();
36
35
  settings;
37
36
  change;
38
37
  dataset;
@@ -152,58 +151,48 @@ class InMemoryFileDB {
152
151
  }
153
152
  import_fs_extra.default.ensureDirSync(this.backupDir);
154
153
  }
155
- addSubscribeToRegex(options) {
156
- const { type, pattern, client } = options;
157
- const regExpsForType = this.regExps.get(type);
158
- const regexStr = import_js_controller_common_db.tools.pattern2RegEx(pattern);
159
- const regex = new RegExp(regexStr);
160
- if (!regExpsForType.has(regexStr)) {
161
- regExpsForType.set(regexStr, { regex, clients: [] });
162
- }
163
- const regExs = regExpsForType.get(regexStr);
164
- const found = !!regExs.clients.find((cl) => cl === client);
165
- if (!found) {
166
- regExs.clients.push({ client, pattern });
167
- }
168
- }
169
- handleSubscribe(client, type, pattern) {
170
- if (!this.regExps.has(type)) {
171
- this.regExps.set(type, /* @__PURE__ */ new Map());
154
+ handleSubscribe(client, type, pattern, options, cb) {
155
+ if (typeof options === "function") {
156
+ cb = options;
157
+ options = void 0;
172
158
  }
159
+ client._subscribe = client._subscribe || {};
160
+ client._subscribe[type] = client._subscribe[type] || [];
161
+ const s = client._subscribe[type];
173
162
  if (pattern instanceof Array) {
174
- for (const patternStr of pattern) {
175
- this.addSubscribeToRegex({ pattern: patternStr, client, type });
176
- }
163
+ pattern.forEach((pattern2) => {
164
+ if (s.find((sub) => sub.pattern === pattern2)) {
165
+ return;
166
+ }
167
+ s.push({ pattern: pattern2, regex: new RegExp(import_js_controller_common_db.tools.pattern2RegEx(pattern2)), options });
168
+ });
177
169
  } else {
178
- this.addSubscribeToRegex({ pattern, client, type });
179
- }
180
- }
181
- removeSubscribeFromRegex(options) {
182
- const { type, pattern, client } = options;
183
- const regExpsForType = this.regExps.get(type);
184
- const regexStr = import_js_controller_common_db.tools.pattern2RegEx(pattern);
185
- const entry = regExpsForType.get(regexStr);
186
- if (!entry) {
187
- return;
188
- }
189
- const clientIndex = entry.clients.findIndex((cl) => cl.client === client);
190
- if (clientIndex > -1) {
191
- entry.clients.splice(clientIndex, 1);
192
- }
193
- if (entry.clients.length === 0) {
194
- regExpsForType.delete(regexStr);
170
+ if (!s.find((sub) => sub.pattern === pattern)) {
171
+ s.push({ pattern, regex: new RegExp(import_js_controller_common_db.tools.pattern2RegEx(pattern)), options });
172
+ }
195
173
  }
174
+ typeof cb === "function" && cb();
196
175
  }
197
- handleUnsubscribe(client, type, pattern) {
198
- if (pattern instanceof Array) {
199
- for (const p of pattern) {
200
- this.removeSubscribeFromRegex({ pattern: p, client, type });
176
+ handleUnsubscribe(client, type, pattern, cb) {
177
+ const s = client?._subscribe?.[type];
178
+ if (s) {
179
+ const removeEntry = (p) => {
180
+ const index = s.findIndex((sub) => sub.pattern === p);
181
+ if (index > -1) {
182
+ s.splice(index, 1);
183
+ }
184
+ };
185
+ if (pattern instanceof Array) {
186
+ pattern.forEach((p) => {
187
+ removeEntry(p);
188
+ });
189
+ } else {
190
+ removeEntry(pattern);
201
191
  }
202
- } else {
203
- this.removeSubscribeFromRegex({ pattern, client, type });
204
192
  }
193
+ return import_js_controller_common_db.tools.maybeCallback(cb);
205
194
  }
206
- publishPattern(_patternInformation, _type, _id, _obj) {
195
+ publishToClients(_client, _type, _id, _obj) {
207
196
  throw new Error("no communication handling implemented");
208
197
  }
209
198
  deleteOldBackupFiles(baseFilename) {
@@ -333,22 +322,22 @@ class InMemoryFileDB {
333
322
  return { type: "file", server: true };
334
323
  }
335
324
  getClients() {
336
- return /* @__PURE__ */ new Map();
325
+ return {};
337
326
  }
338
327
  publishAll(type, id, obj) {
339
328
  if (id === void 0) {
340
329
  this.log.error(`${this.namespace} Can not publish empty ID`);
341
330
  return 0;
342
331
  }
332
+ const clients = this.getClients();
343
333
  let publishCount = 0;
344
- const patternInfo = this.regExps.get(type);
345
- if (patternInfo) {
346
- for (const regex of patternInfo.values()) {
347
- publishCount += this.publishPattern(regex, type, id, obj);
334
+ if (clients && typeof clients === "object") {
335
+ for (const i of Object.keys(clients)) {
336
+ publishCount += this.publishToClients(clients[i], type, id, obj);
348
337
  }
349
338
  }
350
- if (this.change && this.callbackSubscriptionClient._subscribe && this.callbackSubscriptionClient._subscribe.has(type)) {
351
- for (const entry of this.callbackSubscriptionClient._subscribe.get(type)) {
339
+ if (this.change && this.callbackSubscriptionClient._subscribe && this.callbackSubscriptionClient._subscribe[type]) {
340
+ for (const entry of this.callbackSubscriptionClient._subscribe[type]) {
352
341
  if (entry.regex.test(id)) {
353
342
  setImmediate(() => this.change(id, obj));
354
343
  break;
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/lib/inMemFileDB.ts"],
4
- "sourcesContent": ["/**\n * States DB in memory - Server\n *\n * Copyright 2013-2022 bluefox <dogafox@gmail.com>\n *\n * MIT License\n *\n */\n\nimport fs from 'fs-extra';\nimport path from 'node:path';\nimport { tools } from '@iobroker/js-controller-common-db';\nimport type { InternalLogger } from '@iobroker/js-controller-common-db/tools';\nimport { createGzip } from 'node:zlib';\nimport type { RedisHandler } from '@/lib/redisHandler.js';\n\n// settings = {\n// change: function (id, state) {},\n// connected: function (nameOfServer) {},\n// logger: {\n// silly: function (msg) {},\n// debug: function (msg) {},\n// info: function (msg) {},\n// warn: function (msg) {},\n// error: function (msg) {}\n// },\n// connection: {\n// dataDir: 'relative path'\n// },\n// auth: null, //unused\n// secure: true/false,\n// certificates: as required by createServer\n// port: 9000,\n// host: localhost\n// };\n//\n\nexport interface ConnectionOptions {\n pass?: string;\n sentinelName?: string;\n /** array on sentinel */\n host: string | string[];\n /** array on sentinel */\n port: number | number[];\n options: Record<string, any>;\n maxQueue?: number;\n enhancedLogging?: boolean;\n backup?: BackupOptions;\n /** relative path to the data dir */\n dataDir: string;\n}\n\ntype ChangeFunction = (id: string, state: any) => void;\n\nexport interface DbStatus {\n type: string;\n server: boolean;\n}\n\ninterface BackupOptions {\n /** deactivates backup if true */\n disabled: boolean;\n /** minimum number of files */\n files: number;\n hours: number;\n /** minutes */\n period: number;\n path: string;\n}\n\nexport interface DbOptions {\n backupDirName: string;\n fileName: string;\n}\n\ninterface FileDbSettings {\n fileDB: DbOptions;\n jsonlDB: DbOptions;\n backup: BackupOptions;\n change?: ChangeFunction;\n connected: (nameOfServer: string) => void;\n logger: InternalLogger;\n connection: ConnectionOptions;\n /** unused */\n auth?: null;\n secure: boolean;\n /** as required by createServer TODO: if createServer is typed, add type */\n certificates: any;\n port: number;\n host: string;\n /** logging namespace */\n namespace?: string;\n}\n\ninterface Subscription {\n pattern: string;\n regex: RegExp;\n options: any;\n}\n\ninterface SubscriptionClient extends Partial<InstanceType<typeof RedisHandler>> {\n _subscribe?: Map<string, Subscription[]>;\n}\n\ninterface SubscriptionClientRegex {\n /** The RegExp object */\n regex: RegExp;\n /** All clients for this regexp */\n clients: { client: SubscriptionClient; pattern: string }[];\n}\n\ninterface AddRemoveRegexOptions {\n /** The type of subscription to remove */\n type: string;\n /** The pattern to remove */\n pattern: string;\n /** The client to remove */\n client: SubscriptionClient;\n}\n\n/** Nested map, outer map for type, inner for regexp */\ntype RegExpsClients = Map<string, Map<string, SubscriptionClientRegex>>;\n\n/**\n * The parent of the class structure, which provides basic JSON storage\n * and general subscription and publish functionality\n */\nexport class InMemoryFileDB {\n /** Store all clients per RegExp */\n private regExps: RegExpsClients = new Map();\n private settings: FileDbSettings;\n private readonly change: ChangeFunction | undefined;\n protected dataset: Record<string, any>;\n private readonly namespace: string;\n private lastSave: null | number;\n private stateTimer: NodeJS.Timeout | null;\n private callbackSubscriptionClient: SubscriptionClient;\n private readonly dataDir: string;\n private readonly datasetName: string;\n private log: InternalLogger;\n private readonly backupDir: string;\n\n constructor(settings: FileDbSettings) {\n this.settings = settings || {};\n\n this.change = this.settings.change;\n\n this.dataset = {};\n\n this.namespace = this.settings.namespace || '';\n this.lastSave = null;\n this.callbackSubscriptionClient = {};\n\n this.settings.backup = this.settings.connection.backup || {\n disabled: false, // deactivates\n files: 24, // minimum number of files\n hours: 48, // hours\n period: 120, // minutes\n path: '' // use default path\n };\n\n this.dataDir = this.settings.connection.dataDir || tools.getDefaultDataDir();\n if (!path.isAbsolute(this.dataDir)) {\n this.dataDir = path.normalize(path.join(tools.getControllerDir(), this.dataDir));\n }\n this.dataDir = this.dataDir.replace(/\\\\/g, '/');\n\n const fileName = this.settings.jsonlDB ? this.settings.jsonlDB.fileName : this.settings.fileDB.fileName;\n this.datasetName = path.join(this.dataDir, fileName);\n const parts = path.dirname(this.datasetName);\n fs.ensureDirSync(parts);\n\n this.stateTimer = null;\n\n this.backupDir = this.settings.backup.path || path.join(this.dataDir, this.settings.fileDB.backupDirName);\n\n this.log = tools.getLogger(this.settings.logger);\n\n if (!this.settings.backup.disabled) {\n try {\n this.initBackupDir();\n } catch (e) {\n this.log.error(\n `Database backups are disabled, because backup directory could not be initialized: ${e.message}`\n );\n this.log.error(\n 'This leads to an increased risk of data loss, please check that the configured backup directory is available and restart the controller'\n );\n this.settings.backup.disabled = true;\n }\n }\n\n this.log.debug(`${this.namespace} Data File: ${this.datasetName}`);\n }\n\n async open(): Promise<void> {\n // load values from file\n this.dataset = await this.loadDataset(this.datasetName);\n }\n\n /**\n * Loads a dataset file\n *\n * @param datasetName Filename of the file to load\n * @returns obj read data, normally as object\n */\n async loadDatasetFile(datasetName: string): Promise<Record<string, any>> {\n if (!(await fs.pathExists(datasetName))) {\n throw new Error(`Database file ${datasetName} does not exists.`);\n }\n return fs.readJSON(datasetName);\n }\n\n /**\n * Loads the dataset including pot. Fallback handling\n *\n * @param datasetName Filename of the file to load\n * @returns obj dataset read as object\n */\n async loadDataset(datasetName: string): Promise<Record<string, any>> {\n let ret = {};\n try {\n ret = await this.loadDatasetFile(datasetName);\n\n // loading worked, make sure that \"bak\" File is not broken\n try {\n await fs.readJSON(`${datasetName}.bak`);\n } catch (e) {\n this.log.info(\n `${this.namespace} Rewrite bak file, because error on verify ${datasetName}.bak: ${e.message}`\n );\n try {\n const jsonString = JSON.stringify(ret);\n await fs.writeFile(`${datasetName}.bak`, jsonString);\n } catch (e) {\n this.log.error(`${this.namespace} Cannot save ${datasetName}.bak: ${e.message}`);\n }\n }\n } catch (err) {\n this.log.error(`${this.namespace} Cannot load ${datasetName}: ${err.message}. We try last Backup!`);\n\n try {\n ret = await this.loadDatasetFile(`${datasetName}.bak`);\n\n // it worked, lets overwrite old file and store the broken one for pot. forensic check\n try {\n if (await fs.pathExists(datasetName)) {\n try {\n await fs.move(datasetName, `${datasetName}.broken`, { overwrite: true });\n } catch (e) {\n this.log.error(\n `${this.namespace} Cannot copy the broken file ${datasetName} to ${datasetName}.broken ${e.message}`\n );\n }\n try {\n await fs.writeFile(datasetName, JSON.stringify(ret));\n } catch (e) {\n this.log.error(\n `${this.namespace} Cannot restore backup file as new main ${datasetName}: ${e.message}`\n );\n }\n }\n } catch {\n // ignore, file does not exist\n }\n } catch (err) {\n this.log.error(\n `${this.namespace} Cannot load ${datasetName}.bak: ${err.message}. Continue with empty dataset!`\n );\n this.log.error(\n `${this.namespace} If this is no Migration or initial start please restore the last backup from ${this.backupDir}`\n );\n }\n }\n return ret;\n }\n\n initBackupDir(): void {\n // Interval in minutes => to milliseconds\n this.settings.backup.period =\n this.settings.backup.period === undefined ? 120 : parseInt(String(this.settings.backup.period));\n if (isNaN(this.settings.backup.period)) {\n this.settings.backup.period = 120;\n }\n // Node.js timeouts overflow after roughly 24 days, defaulting to 1 millisecond, which causes chaos.\n // If a user configured the backup this way, we use our default of 120 minutes instead.\n const maxTimeoutMinutes = Math.floor((2 ** 31 - 1) / 60000);\n if (this.settings.backup.period > maxTimeoutMinutes) {\n this.log.warn(\n `${this.namespace} Configured backup period ${this.settings.backup.period} is larger than the supported maximum of ${maxTimeoutMinutes} minutes. Defaulting to 120 minutes.`\n );\n this.settings.backup.period = 120;\n }\n this.settings.backup.period *= 60_000;\n\n this.settings.backup.files =\n this.settings.backup.files === undefined ? 24 : parseInt(String(this.settings.backup.files));\n if (isNaN(this.settings.backup.files)) {\n this.settings.backup.files = 24;\n }\n\n this.settings.backup.hours =\n this.settings.backup.hours === undefined ? 48 : parseInt(String(this.settings.backup.hours));\n if (isNaN(this.settings.backup.hours)) {\n this.settings.backup.hours = 48;\n }\n // Create backup directory\n fs.ensureDirSync(this.backupDir);\n }\n\n /**\n * Add client subscribe to a regex for given type\n *\n * @param options pattern, client and type information\n */\n private addSubscribeToRegex(options: AddRemoveRegexOptions): void {\n const { type, pattern, client } = options;\n\n const regExpsForType = this.regExps.get(type)!;\n const regexStr = tools.pattern2RegEx(pattern);\n const regex = new RegExp(regexStr);\n\n if (!regExpsForType.has(regexStr)) {\n regExpsForType.set(regexStr, { regex, clients: [] });\n }\n\n const regExs = regExpsForType.get(regexStr)!;\n\n const found = !!regExs.clients.find(cl => cl === client);\n if (!found) {\n regExs.clients.push({ client, pattern });\n }\n }\n\n handleSubscribe(client: SubscriptionClient, type: string, pattern: string | string[]): void {\n if (!this.regExps.has(type)) {\n this.regExps.set(type, new Map());\n }\n\n if (pattern instanceof Array) {\n for (const patternStr of pattern) {\n this.addSubscribeToRegex({ pattern: patternStr, client, type });\n }\n } else {\n this.addSubscribeToRegex({ pattern, client, type });\n }\n }\n\n /**\n * Remove client subscribe from a regex for given type\n *\n * @param options pattern, client and type information\n */\n private removeSubscribeFromRegex(options: AddRemoveRegexOptions): void {\n const { type, pattern, client } = options;\n\n const regExpsForType = this.regExps.get(type)!;\n const regexStr = tools.pattern2RegEx(pattern);\n\n const entry = regExpsForType.get(regexStr);\n\n if (!entry) {\n return;\n }\n\n const clientIndex = entry.clients.findIndex(cl => cl.client === client);\n\n if (clientIndex > -1) {\n entry.clients.splice(clientIndex, 1);\n }\n\n if (entry.clients.length === 0) {\n regExpsForType.delete(regexStr);\n }\n }\n\n handleUnsubscribe(client: SubscriptionClient, type: string, pattern: string | string[]): void | Promise<void> {\n if (pattern instanceof Array) {\n for (const p of pattern) {\n this.removeSubscribeFromRegex({ pattern: p, client, type });\n }\n } else {\n this.removeSubscribeFromRegex({ pattern, client, type });\n }\n }\n\n publishPattern(_patternInformation: SubscriptionClientRegex, _type: string, _id: string, _obj: unknown): number {\n throw new Error('no communication handling implemented');\n }\n\n deleteOldBackupFiles(baseFilename: string): void {\n // delete files only if settings.backupNumber is not 0\n let files = fs.readdirSync(this.backupDir);\n files.sort();\n const limit = Date.now() - this.settings.backup.hours * 3600000;\n\n files = files.filter(f => f.endsWith(baseFilename + '.gz'));\n\n while (files.length > this.settings.backup.files) {\n const file = files.shift();\n if (!file) {\n continue;\n }\n // extract time\n const ms = new Date(`${file.substring(0, 10)} ${file.substring(11, 16).replace('-', ':')}:00`).getTime();\n if (limit > ms) {\n try {\n fs.unlinkSync(path.join(this.backupDir, file));\n } catch (e) {\n this.log.error(\n `${this.namespace} Cannot delete file \"${path.join(this.backupDir, file)}: ${e.message}`\n );\n }\n }\n }\n }\n\n getTimeStr(date: number): string {\n const dateObj = new Date(date);\n\n let text = dateObj.getFullYear().toString() + '-';\n let v = dateObj.getMonth() + 1;\n if (v < 10) {\n text += '0';\n }\n text += v.toString() + '-';\n\n v = dateObj.getDate();\n if (v < 10) {\n text += '0';\n }\n text += v.toString() + '_';\n\n v = dateObj.getHours();\n if (v < 10) {\n text += '0';\n }\n text += v.toString() + '-';\n\n v = dateObj.getMinutes();\n if (v < 10) {\n text += '0';\n }\n text += v.toString();\n\n return text;\n }\n\n /**\n * Handle saving the dataset incl. backups\n */\n async saveState(): Promise<void> {\n try {\n const jsonString = await this.saveDataset();\n\n if (!this.settings.backup.disabled && jsonString) {\n this.saveBackup(jsonString);\n }\n } finally {\n if (this.stateTimer) {\n clearTimeout(this.stateTimer);\n this.stateTimer = null;\n }\n }\n }\n\n /**\n * Saves the dataset into File incl. handling of a fallback backup file\n *\n * @returns dataset JSON string of the complete dataset to also be stored into a compressed backup file\n */\n async saveDataset(): Promise<string> {\n const jsonString = JSON.stringify(this.dataset);\n\n try {\n await fs.writeFile(`${this.datasetName}.new`, jsonString);\n } catch (e) {\n this.log.error(`${this.namespace} Cannot save Dataset to ${this.datasetName}.new: ${e.message}`);\n return jsonString;\n }\n\n let bakOk = true;\n try {\n if (await fs.pathExists(this.datasetName)) {\n try {\n await fs.move(this.datasetName, `${this.datasetName}.bak`, { overwrite: true });\n } catch (e) {\n bakOk = false;\n this.log.error(`${this.namespace} Cannot backup file ${this.datasetName}.bak: ${e.message}`);\n }\n } else {\n bakOk = false;\n }\n } catch {\n bakOk = false;\n // ignore, file does not exist\n }\n\n try {\n await fs.move(`${this.datasetName}.new`, this.datasetName, { overwrite: true });\n } catch (e) {\n this.log.error(\n `${this.namespace} Cannot move ${this.datasetName}.new to ${this.datasetName}: ${e.message}. Try direct write as fallback`\n );\n try {\n await fs.writeFile(this.datasetName, jsonString);\n } catch (e) {\n this.log.error(`${this.namespace} Cannot directly write Dataset to ${this.datasetName}: ${e.message}`);\n return jsonString;\n }\n }\n\n if (!bakOk) {\n // it seems the bak File is not successfully there, write current content again\n try {\n await fs.writeFile(`${this.datasetName}.bak`, jsonString);\n } catch (e) {\n this.log.error(`${this.namespace} Cannot save ${this.datasetName}.bak: ${e.message}`);\n }\n }\n\n return jsonString;\n }\n\n /**\n * Stores a compressed backup of the DB in definable intervals\n *\n * @param jsonString JSON string of the complete dataset to also be stored into a compressed backup file\n */\n saveBackup(jsonString: string): void {\n // save files for the last x hours\n const now = Date.now();\n\n // makes backups only if settings.backupInterval is not 0\n if (this.settings.backup.period && (!this.lastSave || now - this.lastSave > this.settings.backup.period)) {\n this.lastSave = now;\n const backFileName = path.join(\n this.backupDir,\n this.getTimeStr(now) + '_' + this.settings.fileDB.fileName + '.gz'\n );\n\n try {\n if (!fs.existsSync(backFileName)) {\n const output = fs.createWriteStream(backFileName);\n output.on('error', err => {\n this.log.error(`${this.namespace} Cannot save ${this.datasetName}: ${err.stack}`);\n });\n\n const compress = createGzip();\n /* The following line will pipe everything written into compress to the file stream */\n compress.pipe(output);\n /* Since we're piped through the file stream, the following line will do:\n 'Hello World!'->gzip compression->file which is the desired effect */\n compress.write(jsonString);\n compress.end();\n\n // analyse older files\n this.deleteOldBackupFiles(this.settings.fileDB.fileName);\n }\n } catch (e) {\n this.log.error(`${this.namespace} Cannot save backup ${backFileName}: ${e.message}`);\n }\n }\n }\n\n getStatus(): DbStatus {\n return { type: 'file', server: true };\n }\n\n getClients(): Map<string, SubscriptionClient> {\n return new Map();\n }\n\n publishAll(type: string, id: string, obj: any): number {\n if (id === undefined) {\n this.log.error(`${this.namespace} Can not publish empty ID`);\n return 0;\n }\n\n let publishCount = 0;\n\n const patternInfo = this.regExps.get(type);\n\n if (patternInfo) {\n for (const regex of patternInfo.values()) {\n publishCount += this.publishPattern(regex, type, id, obj);\n }\n }\n\n // local subscriptions\n if (\n this.change &&\n this.callbackSubscriptionClient._subscribe &&\n this.callbackSubscriptionClient._subscribe.has(type)\n ) {\n for (const entry of this.callbackSubscriptionClient._subscribe.get(type)!) {\n if (entry.regex.test(id)) {\n // @ts-expect-error we have checked 3 lines above\n setImmediate(() => this.change(id, obj));\n break;\n }\n }\n }\n\n return publishCount;\n }\n\n // Destructor of the class. Called by shutting down.\n async destroy(): Promise<void> {\n if (this.stateTimer) {\n clearTimeout(this.stateTimer);\n await this.saveState();\n }\n }\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;AASA,sBAAe;AACf,uBAAiB;AACjB,qCAAsB;AAEtB,uBAA2B;AAkHrB,MAAO,eAAc;EAEf,UAA0B,oBAAI,IAAG;EACjC;EACS;EACP;EACO;EACT;EACA;EACA;EACS;EACA;EACT;EACS;EAEjB,YAAY,UAAwB;AAChC,SAAK,WAAW,YAAY,CAAA;AAE5B,SAAK,SAAS,KAAK,SAAS;AAE5B,SAAK,UAAU,CAAA;AAEf,SAAK,YAAY,KAAK,SAAS,aAAa;AAC5C,SAAK,WAAW;AAChB,SAAK,6BAA6B,CAAA;AAElC,SAAK,SAAS,SAAS,KAAK,SAAS,WAAW,UAAU;MACtD,UAAU;MACV,OAAO;MACP,OAAO;MACP,QAAQ;MACR,MAAM;;AAGV,SAAK,UAAU,KAAK,SAAS,WAAW,WAAW,qCAAM,kBAAiB;AAC1E,QAAI,CAAC,iBAAAA,QAAK,WAAW,KAAK,OAAO,GAAG;AAChC,WAAK,UAAU,iBAAAA,QAAK,UAAU,iBAAAA,QAAK,KAAK,qCAAM,iBAAgB,GAAI,KAAK,OAAO,CAAC;IACnF;AACA,SAAK,UAAU,KAAK,QAAQ,QAAQ,OAAO,GAAG;AAE9C,UAAM,WAAW,KAAK,SAAS,UAAU,KAAK,SAAS,QAAQ,WAAW,KAAK,SAAS,OAAO;AAC/F,SAAK,cAAc,iBAAAA,QAAK,KAAK,KAAK,SAAS,QAAQ;AACnD,UAAM,QAAQ,iBAAAA,QAAK,QAAQ,KAAK,WAAW;AAC3C,oBAAAC,QAAG,cAAc,KAAK;AAEtB,SAAK,aAAa;AAElB,SAAK,YAAY,KAAK,SAAS,OAAO,QAAQ,iBAAAD,QAAK,KAAK,KAAK,SAAS,KAAK,SAAS,OAAO,aAAa;AAExG,SAAK,MAAM,qCAAM,UAAU,KAAK,SAAS,MAAM;AAE/C,QAAI,CAAC,KAAK,SAAS,OAAO,UAAU;AAChC,UAAI;AACA,aAAK,cAAa;MACtB,SAAS,GAAP;AACE,aAAK,IAAI,MACL,qFAAqF,EAAE,SAAS;AAEpG,aAAK,IAAI,MACL,yIAAyI;AAE7I,aAAK,SAAS,OAAO,WAAW;MACpC;IACJ;AAEA,SAAK,IAAI,MAAM,GAAG,KAAK,wBAAwB,KAAK,aAAa;EACrE;EAEA,MAAM,OAAI;AAEN,SAAK,UAAU,MAAM,KAAK,YAAY,KAAK,WAAW;EAC1D;EAQA,MAAM,gBAAgB,aAAmB;AACrC,QAAI,CAAE,MAAM,gBAAAC,QAAG,WAAW,WAAW,GAAI;AACrC,YAAM,IAAI,MAAM,iBAAiB,8BAA8B;IACnE;AACA,WAAO,gBAAAA,QAAG,SAAS,WAAW;EAClC;EAQA,MAAM,YAAY,aAAmB;AACjC,QAAI,MAAM,CAAA;AACV,QAAI;AACA,YAAM,MAAM,KAAK,gBAAgB,WAAW;AAG5C,UAAI;AACA,cAAM,gBAAAA,QAAG,SAAS,GAAG,iBAAiB;MAC1C,SAAS,GAAP;AACE,aAAK,IAAI,KACL,GAAG,KAAK,uDAAuD,oBAAoB,EAAE,SAAS;AAElG,YAAI;AACA,gBAAM,aAAa,KAAK,UAAU,GAAG;AACrC,gBAAM,gBAAAA,QAAG,UAAU,GAAG,mBAAmB,UAAU;QACvD,SAASC,IAAP;AACE,eAAK,IAAI,MAAM,GAAG,KAAK,yBAAyB,oBAAoBA,GAAE,SAAS;QACnF;MACJ;IACJ,SAAS,KAAP;AACE,WAAK,IAAI,MAAM,GAAG,KAAK,yBAAyB,gBAAgB,IAAI,8BAA8B;AAElG,UAAI;AACA,cAAM,MAAM,KAAK,gBAAgB,GAAG,iBAAiB;AAGrD,YAAI;AACA,cAAI,MAAM,gBAAAD,QAAG,WAAW,WAAW,GAAG;AAClC,gBAAI;AACA,oBAAM,gBAAAA,QAAG,KAAK,aAAa,GAAG,sBAAsB,EAAE,WAAW,KAAI,CAAE;YAC3E,SAAS,GAAP;AACE,mBAAK,IAAI,MACL,GAAG,KAAK,yCAAyC,kBAAkB,sBAAsB,EAAE,SAAS;YAE5G;AACA,gBAAI;AACA,oBAAM,gBAAAA,QAAG,UAAU,aAAa,KAAK,UAAU,GAAG,CAAC;YACvD,SAAS,GAAP;AACE,mBAAK,IAAI,MACL,GAAG,KAAK,oDAAoD,gBAAgB,EAAE,SAAS;YAE/F;UACJ;QACJ,QAAE;QAEF;MACJ,SAASE,MAAP;AACE,aAAK,IAAI,MACL,GAAG,KAAK,yBAAyB,oBAAoBA,KAAI,uCAAuC;AAEpG,aAAK,IAAI,MACL,GAAG,KAAK,0FAA0F,KAAK,WAAW;MAE1H;IACJ;AACA,WAAO;EACX;EAEA,gBAAa;AAET,SAAK,SAAS,OAAO,SACjB,KAAK,SAAS,OAAO,WAAW,SAAY,MAAM,SAAS,OAAO,KAAK,SAAS,OAAO,MAAM,CAAC;AAClG,QAAI,MAAM,KAAK,SAAS,OAAO,MAAM,GAAG;AACpC,WAAK,SAAS,OAAO,SAAS;IAClC;AAGA,UAAM,oBAAoB,KAAK,OAAO,KAAK,KAAK,KAAK,GAAK;AAC1D,QAAI,KAAK,SAAS,OAAO,SAAS,mBAAmB;AACjD,WAAK,IAAI,KACL,GAAG,KAAK,sCAAsC,KAAK,SAAS,OAAO,kDAAkD,uDAAuD;AAEhL,WAAK,SAAS,OAAO,SAAS;IAClC;AACA,SAAK,SAAS,OAAO,UAAU;AAE/B,SAAK,SAAS,OAAO,QACjB,KAAK,SAAS,OAAO,UAAU,SAAY,KAAK,SAAS,OAAO,KAAK,SAAS,OAAO,KAAK,CAAC;AAC/F,QAAI,MAAM,KAAK,SAAS,OAAO,KAAK,GAAG;AACnC,WAAK,SAAS,OAAO,QAAQ;IACjC;AAEA,SAAK,SAAS,OAAO,QACjB,KAAK,SAAS,OAAO,UAAU,SAAY,KAAK,SAAS,OAAO,KAAK,SAAS,OAAO,KAAK,CAAC;AAC/F,QAAI,MAAM,KAAK,SAAS,OAAO,KAAK,GAAG;AACnC,WAAK,SAAS,OAAO,QAAQ;IACjC;AAEA,oBAAAF,QAAG,cAAc,KAAK,SAAS;EACnC;EAOQ,oBAAoB,SAA8B;AACtD,UAAM,EAAE,MAAM,SAAS,OAAM,IAAK;AAElC,UAAM,iBAAiB,KAAK,QAAQ,IAAI,IAAI;AAC5C,UAAM,WAAW,qCAAM,cAAc,OAAO;AAC5C,UAAM,QAAQ,IAAI,OAAO,QAAQ;AAEjC,QAAI,CAAC,eAAe,IAAI,QAAQ,GAAG;AAC/B,qBAAe,IAAI,UAAU,EAAE,OAAO,SAAS,CAAA,EAAE,CAAE;IACvD;AAEA,UAAM,SAAS,eAAe,IAAI,QAAQ;AAE1C,UAAM,QAAQ,CAAC,CAAC,OAAO,QAAQ,KAAK,QAAM,OAAO,MAAM;AACvD,QAAI,CAAC,OAAO;AACR,aAAO,QAAQ,KAAK,EAAE,QAAQ,QAAO,CAAE;IAC3C;EACJ;EAEA,gBAAgB,QAA4B,MAAc,SAA0B;AAChF,QAAI,CAAC,KAAK,QAAQ,IAAI,IAAI,GAAG;AACzB,WAAK,QAAQ,IAAI,MAAM,oBAAI,IAAG,CAAE;IACpC;AAEA,QAAI,mBAAmB,OAAO;AAC1B,iBAAW,cAAc,SAAS;AAC9B,aAAK,oBAAoB,EAAE,SAAS,YAAY,QAAQ,KAAI,CAAE;MAClE;IACJ,OAAO;AACH,WAAK,oBAAoB,EAAE,SAAS,QAAQ,KAAI,CAAE;IACtD;EACJ;EAOQ,yBAAyB,SAA8B;AAC3D,UAAM,EAAE,MAAM,SAAS,OAAM,IAAK;AAElC,UAAM,iBAAiB,KAAK,QAAQ,IAAI,IAAI;AAC5C,UAAM,WAAW,qCAAM,cAAc,OAAO;AAE5C,UAAM,QAAQ,eAAe,IAAI,QAAQ;AAEzC,QAAI,CAAC,OAAO;AACR;IACJ;AAEA,UAAM,cAAc,MAAM,QAAQ,UAAU,QAAM,GAAG,WAAW,MAAM;AAEtE,QAAI,cAAc,IAAI;AAClB,YAAM,QAAQ,OAAO,aAAa,CAAC;IACvC;AAEA,QAAI,MAAM,QAAQ,WAAW,GAAG;AAC5B,qBAAe,OAAO,QAAQ;IAClC;EACJ;EAEA,kBAAkB,QAA4B,MAAc,SAA0B;AAClF,QAAI,mBAAmB,OAAO;AAC1B,iBAAW,KAAK,SAAS;AACrB,aAAK,yBAAyB,EAAE,SAAS,GAAG,QAAQ,KAAI,CAAE;MAC9D;IACJ,OAAO;AACH,WAAK,yBAAyB,EAAE,SAAS,QAAQ,KAAI,CAAE;IAC3D;EACJ;EAEA,eAAe,qBAA8C,OAAe,KAAa,MAAa;AAClG,UAAM,IAAI,MAAM,uCAAuC;EAC3D;EAEA,qBAAqB,cAAoB;AAErC,QAAI,QAAQ,gBAAAA,QAAG,YAAY,KAAK,SAAS;AACzC,UAAM,KAAI;AACV,UAAM,QAAQ,KAAK,IAAG,IAAK,KAAK,SAAS,OAAO,QAAQ;AAExD,YAAQ,MAAM,OAAO,OAAK,EAAE,SAAS,eAAe,KAAK,CAAC;AAE1D,WAAO,MAAM,SAAS,KAAK,SAAS,OAAO,OAAO;AAC9C,YAAM,OAAO,MAAM,MAAK;AACxB,UAAI,CAAC,MAAM;AACP;MACJ;AAEA,YAAM,KAAK,IAAI,KAAK,GAAG,KAAK,UAAU,GAAG,EAAE,KAAK,KAAK,UAAU,IAAI,EAAE,EAAE,QAAQ,KAAK,GAAG,MAAM,EAAE,QAAO;AACtG,UAAI,QAAQ,IAAI;AACZ,YAAI;AACA,0BAAAA,QAAG,WAAW,iBAAAD,QAAK,KAAK,KAAK,WAAW,IAAI,CAAC;QACjD,SAAS,GAAP;AACE,eAAK,IAAI,MACL,GAAG,KAAK,iCAAiC,iBAAAA,QAAK,KAAK,KAAK,WAAW,IAAI,MAAM,EAAE,SAAS;QAEhG;MACJ;IACJ;EACJ;EAEA,WAAW,MAAY;AACnB,UAAM,UAAU,IAAI,KAAK,IAAI;AAE7B,QAAI,OAAO,QAAQ,YAAW,EAAG,SAAQ,IAAK;AAC9C,QAAI,IAAI,QAAQ,SAAQ,IAAK;AAC7B,QAAI,IAAI,IAAI;AACR,cAAQ;IACZ;AACA,YAAQ,EAAE,SAAQ,IAAK;AAEvB,QAAI,QAAQ,QAAO;AACnB,QAAI,IAAI,IAAI;AACR,cAAQ;IACZ;AACA,YAAQ,EAAE,SAAQ,IAAK;AAEvB,QAAI,QAAQ,SAAQ;AACpB,QAAI,IAAI,IAAI;AACR,cAAQ;IACZ;AACA,YAAQ,EAAE,SAAQ,IAAK;AAEvB,QAAI,QAAQ,WAAU;AACtB,QAAI,IAAI,IAAI;AACR,cAAQ;IACZ;AACA,YAAQ,EAAE,SAAQ;AAElB,WAAO;EACX;EAKA,MAAM,YAAS;AACX,QAAI;AACA,YAAM,aAAa,MAAM,KAAK,YAAW;AAEzC,UAAI,CAAC,KAAK,SAAS,OAAO,YAAY,YAAY;AAC9C,aAAK,WAAW,UAAU;MAC9B;IACJ;AACI,UAAI,KAAK,YAAY;AACjB,qBAAa,KAAK,UAAU;AAC5B,aAAK,aAAa;MACtB;IACJ;EACJ;EAOA,MAAM,cAAW;AACb,UAAM,aAAa,KAAK,UAAU,KAAK,OAAO;AAE9C,QAAI;AACA,YAAM,gBAAAC,QAAG,UAAU,GAAG,KAAK,mBAAmB,UAAU;IAC5D,SAAS,GAAP;AACE,WAAK,IAAI,MAAM,GAAG,KAAK,oCAAoC,KAAK,oBAAoB,EAAE,SAAS;AAC/F,aAAO;IACX;AAEA,QAAI,QAAQ;AACZ,QAAI;AACA,UAAI,MAAM,gBAAAA,QAAG,WAAW,KAAK,WAAW,GAAG;AACvC,YAAI;AACA,gBAAM,gBAAAA,QAAG,KAAK,KAAK,aAAa,GAAG,KAAK,mBAAmB,EAAE,WAAW,KAAI,CAAE;QAClF,SAAS,GAAP;AACE,kBAAQ;AACR,eAAK,IAAI,MAAM,GAAG,KAAK,gCAAgC,KAAK,oBAAoB,EAAE,SAAS;QAC/F;MACJ,OAAO;AACH,gBAAQ;MACZ;IACJ,QAAE;AACE,cAAQ;IAEZ;AAEA,QAAI;AACA,YAAM,gBAAAA,QAAG,KAAK,GAAG,KAAK,mBAAmB,KAAK,aAAa,EAAE,WAAW,KAAI,CAAE;IAClF,SAAS,GAAP;AACE,WAAK,IAAI,MACL,GAAG,KAAK,yBAAyB,KAAK,sBAAsB,KAAK,gBAAgB,EAAE,uCAAuC;AAE9H,UAAI;AACA,cAAM,gBAAAA,QAAG,UAAU,KAAK,aAAa,UAAU;MACnD,SAASC,IAAP;AACE,aAAK,IAAI,MAAM,GAAG,KAAK,8CAA8C,KAAK,gBAAgBA,GAAE,SAAS;AACrG,eAAO;MACX;IACJ;AAEA,QAAI,CAAC,OAAO;AAER,UAAI;AACA,cAAM,gBAAAD,QAAG,UAAU,GAAG,KAAK,mBAAmB,UAAU;MAC5D,SAAS,GAAP;AACE,aAAK,IAAI,MAAM,GAAG,KAAK,yBAAyB,KAAK,oBAAoB,EAAE,SAAS;MACxF;IACJ;AAEA,WAAO;EACX;EAOA,WAAW,YAAkB;AAEzB,UAAM,MAAM,KAAK,IAAG;AAGpB,QAAI,KAAK,SAAS,OAAO,WAAW,CAAC,KAAK,YAAY,MAAM,KAAK,WAAW,KAAK,SAAS,OAAO,SAAS;AACtG,WAAK,WAAW;AAChB,YAAM,eAAe,iBAAAD,QAAK,KACtB,KAAK,WACL,KAAK,WAAW,GAAG,IAAI,MAAM,KAAK,SAAS,OAAO,WAAW,KAAK;AAGtE,UAAI;AACA,YAAI,CAAC,gBAAAC,QAAG,WAAW,YAAY,GAAG;AAC9B,gBAAM,SAAS,gBAAAA,QAAG,kBAAkB,YAAY;AAChD,iBAAO,GAAG,SAAS,SAAM;AACrB,iBAAK,IAAI,MAAM,GAAG,KAAK,yBAAyB,KAAK,gBAAgB,IAAI,OAAO;UACpF,CAAC;AAED,gBAAM,eAAW,6BAAU;AAE3B,mBAAS,KAAK,MAAM;AAGpB,mBAAS,MAAM,UAAU;AACzB,mBAAS,IAAG;AAGZ,eAAK,qBAAqB,KAAK,SAAS,OAAO,QAAQ;QAC3D;MACJ,SAAS,GAAP;AACE,aAAK,IAAI,MAAM,GAAG,KAAK,gCAAgC,iBAAiB,EAAE,SAAS;MACvF;IACJ;EACJ;EAEA,YAAS;AACL,WAAO,EAAE,MAAM,QAAQ,QAAQ,KAAI;EACvC;EAEA,aAAU;AACN,WAAO,oBAAI,IAAG;EAClB;EAEA,WAAW,MAAc,IAAY,KAAQ;AACzC,QAAI,OAAO,QAAW;AAClB,WAAK,IAAI,MAAM,GAAG,KAAK,oCAAoC;AAC3D,aAAO;IACX;AAEA,QAAI,eAAe;AAEnB,UAAM,cAAc,KAAK,QAAQ,IAAI,IAAI;AAEzC,QAAI,aAAa;AACb,iBAAW,SAAS,YAAY,OAAM,GAAI;AACtC,wBAAgB,KAAK,eAAe,OAAO,MAAM,IAAI,GAAG;MAC5D;IACJ;AAGA,QACI,KAAK,UACL,KAAK,2BAA2B,cAChC,KAAK,2BAA2B,WAAW,IAAI,IAAI,GACrD;AACE,iBAAW,SAAS,KAAK,2BAA2B,WAAW,IAAI,IAAI,GAAI;AACvE,YAAI,MAAM,MAAM,KAAK,EAAE,GAAG;AAEtB,uBAAa,MAAM,KAAK,OAAO,IAAI,GAAG,CAAC;AACvC;QACJ;MACJ;IACJ;AAEA,WAAO;EACX;EAGA,MAAM,UAAO;AACT,QAAI,KAAK,YAAY;AACjB,mBAAa,KAAK,UAAU;AAC5B,YAAM,KAAK,UAAS;IACxB;EACJ;;",
6
- "names": ["path", "fs", "e", "err"]
4
+ "sourcesContent": ["/**\n * States DB in memory - Server\n *\n * Copyright 2013-2022 bluefox <dogafox@gmail.com>\n *\n * MIT License\n *\n */\n\nimport fs from 'fs-extra';\nimport path from 'node:path';\nimport { tools } from '@iobroker/js-controller-common-db';\nimport type { InternalLogger } from '@iobroker/js-controller-common-db/tools';\nimport { createGzip } from 'node:zlib';\n\n// settings = {\n// change: function (id, state) {},\n// connected: function (nameOfServer) {},\n// logger: {\n// silly: function (msg) {},\n// debug: function (msg) {},\n// info: function (msg) {},\n// warn: function (msg) {},\n// error: function (msg) {}\n// },\n// connection: {\n// dataDir: 'relative path'\n// },\n// auth: null, //unused\n// secure: true/false,\n// certificates: as required by createServer\n// port: 9000,\n// host: localhost\n// };\n//\n\nexport interface ConnectionOptions {\n pass?: string;\n sentinelName?: string;\n /** array on sentinel */\n host: string | string[];\n /** array on sentinel */\n port: number | number[];\n options: Record<string, any>;\n maxQueue?: number;\n enhancedLogging?: boolean;\n backup?: BackupOptions;\n /** relative path to the data dir */\n dataDir: string;\n}\n\ntype ChangeFunction = (id: string, state: any) => void;\n\nexport interface DbStatus {\n type: string;\n server: boolean;\n}\n\ninterface BackupOptions {\n /** deactivates backup if true */\n disabled: boolean;\n /** minimum number of files */\n files: number;\n hours: number;\n /** minutes */\n period: number;\n path: string;\n}\n\nexport interface DbOptions {\n backupDirName: string;\n fileName: string;\n}\n\ninterface FileDbSettings {\n fileDB: DbOptions;\n jsonlDB: DbOptions;\n backup: BackupOptions;\n change?: ChangeFunction;\n connected: (nameOfServer: string) => void;\n logger: InternalLogger;\n connection: ConnectionOptions;\n /** unused */\n auth?: null;\n secure: boolean;\n /** as required by createServer TODO: if createServer is typed, add type */\n certificates: any;\n port: number;\n host: string;\n /** logging namespace */\n namespace?: string;\n}\n\ninterface Subscription {\n pattern: string;\n regex: RegExp;\n options: any;\n}\n\ninterface SubscriptionClient {\n _subscribe?: Record<string, Subscription[]>;\n}\n\n/**\n * The parent of the class structure, which provides basic JSON storage\n * and general subscription and publish functionality\n */\nexport class InMemoryFileDB {\n private settings: FileDbSettings;\n private readonly change: ChangeFunction | undefined;\n protected dataset: Record<string, any>;\n private readonly namespace: string;\n private lastSave: null | number;\n private stateTimer: NodeJS.Timeout | null;\n private callbackSubscriptionClient: SubscriptionClient;\n private readonly dataDir: string;\n private readonly datasetName: string;\n private log: InternalLogger;\n private readonly backupDir: string;\n\n constructor(settings: FileDbSettings) {\n this.settings = settings || {};\n\n this.change = this.settings.change;\n\n this.dataset = {};\n\n this.namespace = this.settings.namespace || '';\n this.lastSave = null;\n this.callbackSubscriptionClient = {};\n\n this.settings.backup = this.settings.connection.backup || {\n disabled: false, // deactivates\n files: 24, // minimum number of files\n hours: 48, // hours\n period: 120, // minutes\n path: '' // use default path\n };\n\n this.dataDir = this.settings.connection.dataDir || tools.getDefaultDataDir();\n if (!path.isAbsolute(this.dataDir)) {\n this.dataDir = path.normalize(path.join(tools.getControllerDir(), this.dataDir));\n }\n this.dataDir = this.dataDir.replace(/\\\\/g, '/');\n\n const fileName = this.settings.jsonlDB ? this.settings.jsonlDB.fileName : this.settings.fileDB.fileName;\n this.datasetName = path.join(this.dataDir, fileName);\n const parts = path.dirname(this.datasetName);\n fs.ensureDirSync(parts);\n\n this.stateTimer = null;\n\n this.backupDir = this.settings.backup.path || path.join(this.dataDir, this.settings.fileDB.backupDirName);\n\n this.log = tools.getLogger(this.settings.logger);\n\n if (!this.settings.backup.disabled) {\n try {\n this.initBackupDir();\n } catch (e) {\n this.log.error(\n `Database backups are disabled, because backup directory could not be initialized: ${e.message}`\n );\n this.log.error(\n 'This leads to an increased risk of data loss, please check that the configured backup directory is available and restart the controller'\n );\n this.settings.backup.disabled = true;\n }\n }\n\n this.log.debug(`${this.namespace} Data File: ${this.datasetName}`);\n }\n\n async open(): Promise<void> {\n // load values from file\n this.dataset = await this.loadDataset(this.datasetName);\n }\n\n /**\n * Loads a dataset file\n *\n * @param datasetName Filename of the file to load\n * @returns obj read data, normally as object\n */\n async loadDatasetFile(datasetName: string): Promise<Record<string, any>> {\n if (!(await fs.pathExists(datasetName))) {\n throw new Error(`Database file ${datasetName} does not exists.`);\n }\n return fs.readJSON(datasetName);\n }\n\n /**\n * Loads the dataset including pot. Fallback handling\n *\n * @param datasetName Filename of the file to load\n * @returns obj dataset read as object\n */\n async loadDataset(datasetName: string): Promise<Record<string, any>> {\n let ret = {};\n try {\n ret = await this.loadDatasetFile(datasetName);\n\n // loading worked, make sure that \"bak\" File is not broken\n try {\n await fs.readJSON(`${datasetName}.bak`);\n } catch (e) {\n this.log.info(\n `${this.namespace} Rewrite bak file, because error on verify ${datasetName}.bak: ${e.message}`\n );\n try {\n const jsonString = JSON.stringify(ret);\n await fs.writeFile(`${datasetName}.bak`, jsonString);\n } catch (e) {\n this.log.error(`${this.namespace} Cannot save ${datasetName}.bak: ${e.message}`);\n }\n }\n } catch (err) {\n this.log.error(`${this.namespace} Cannot load ${datasetName}: ${err.message}. We try last Backup!`);\n\n try {\n ret = await this.loadDatasetFile(`${datasetName}.bak`);\n\n // it worked, lets overwrite old file and store the broken one for pot. forensic check\n try {\n if (await fs.pathExists(datasetName)) {\n try {\n await fs.move(datasetName, `${datasetName}.broken`, { overwrite: true });\n } catch (e) {\n this.log.error(\n `${this.namespace} Cannot copy the broken file ${datasetName} to ${datasetName}.broken ${e.message}`\n );\n }\n try {\n await fs.writeFile(datasetName, JSON.stringify(ret));\n } catch (e) {\n this.log.error(\n `${this.namespace} Cannot restore backup file as new main ${datasetName}: ${e.message}`\n );\n }\n }\n } catch {\n // ignore, file does not exist\n }\n } catch (err) {\n this.log.error(\n `${this.namespace} Cannot load ${datasetName}.bak: ${err.message}. Continue with empty dataset!`\n );\n this.log.error(\n `${this.namespace} If this is no Migration or initial start please restore the last backup from ${this.backupDir}`\n );\n }\n }\n return ret;\n }\n\n initBackupDir(): void {\n // Interval in minutes => to milliseconds\n this.settings.backup.period =\n this.settings.backup.period === undefined ? 120 : parseInt(String(this.settings.backup.period));\n if (isNaN(this.settings.backup.period)) {\n this.settings.backup.period = 120;\n }\n // Node.js timeouts overflow after roughly 24 days, defaulting to 1 millisecond, which causes chaos.\n // If a user configured the backup this way, we use our default of 120 minutes instead.\n const maxTimeoutMinutes = Math.floor((2 ** 31 - 1) / 60000);\n if (this.settings.backup.period > maxTimeoutMinutes) {\n this.log.warn(\n `${this.namespace} Configured backup period ${this.settings.backup.period} is larger than the supported maximum of ${maxTimeoutMinutes} minutes. Defaulting to 120 minutes.`\n );\n this.settings.backup.period = 120;\n }\n this.settings.backup.period *= 60_000;\n\n this.settings.backup.files =\n this.settings.backup.files === undefined ? 24 : parseInt(String(this.settings.backup.files));\n if (isNaN(this.settings.backup.files)) {\n this.settings.backup.files = 24;\n }\n\n this.settings.backup.hours =\n this.settings.backup.hours === undefined ? 48 : parseInt(String(this.settings.backup.hours));\n if (isNaN(this.settings.backup.hours)) {\n this.settings.backup.hours = 48;\n }\n // Create backup directory\n fs.ensureDirSync(this.backupDir);\n }\n\n handleSubscribe(client: SubscriptionClient, type: string, pattern: string | string[], cb?: () => void): void;\n handleSubscribe(\n client: SubscriptionClient,\n type: string,\n pattern: string | string[],\n options: any,\n cb?: () => void\n ): void;\n\n handleSubscribe(\n client: SubscriptionClient,\n type: string,\n pattern: string | string[],\n options: any,\n cb?: () => void\n ): void {\n if (typeof options === 'function') {\n cb = options;\n options = undefined;\n }\n client._subscribe = client._subscribe || {};\n client._subscribe[type] = client._subscribe[type] || [];\n\n const s = client._subscribe[type];\n\n if (pattern instanceof Array) {\n pattern.forEach(pattern => {\n if (s.find(sub => sub.pattern === pattern)) {\n return;\n }\n\n s.push({ pattern, regex: new RegExp(tools.pattern2RegEx(pattern)), options });\n });\n } else {\n if (!s.find(sub => sub.pattern === pattern)) {\n s.push({ pattern, regex: new RegExp(tools.pattern2RegEx(pattern)), options });\n }\n }\n\n typeof cb === 'function' && cb();\n }\n\n handleUnsubscribe(\n client: SubscriptionClient,\n type: string,\n pattern: string | string[],\n cb?: () => void\n ): void | Promise<void> {\n const s = client?._subscribe?.[type];\n if (s) {\n const removeEntry = (p: string): void => {\n const index = s.findIndex(sub => sub.pattern === p);\n if (index > -1) {\n s.splice(index, 1);\n }\n };\n\n if (pattern instanceof Array) {\n pattern.forEach(p => {\n removeEntry(p);\n });\n } else {\n removeEntry(pattern);\n }\n }\n\n return tools.maybeCallback(cb);\n }\n\n publishToClients(_client: SubscriptionClient, _type: string, _id: string, _obj: any): number {\n throw new Error('no communication handling implemented');\n }\n\n deleteOldBackupFiles(baseFilename: string): void {\n // delete files only if settings.backupNumber is not 0\n let files = fs.readdirSync(this.backupDir);\n files.sort();\n const limit = Date.now() - this.settings.backup.hours * 3600000;\n\n files = files.filter(f => f.endsWith(baseFilename + '.gz'));\n\n while (files.length > this.settings.backup.files) {\n const file = files.shift();\n if (!file) {\n continue;\n }\n // extract time\n const ms = new Date(`${file.substring(0, 10)} ${file.substring(11, 16).replace('-', ':')}:00`).getTime();\n if (limit > ms) {\n try {\n fs.unlinkSync(path.join(this.backupDir, file));\n } catch (e) {\n this.log.error(\n `${this.namespace} Cannot delete file \"${path.join(this.backupDir, file)}: ${e.message}`\n );\n }\n }\n }\n }\n\n getTimeStr(date: number): string {\n const dateObj = new Date(date);\n\n let text = dateObj.getFullYear().toString() + '-';\n let v = dateObj.getMonth() + 1;\n if (v < 10) {\n text += '0';\n }\n text += v.toString() + '-';\n\n v = dateObj.getDate();\n if (v < 10) {\n text += '0';\n }\n text += v.toString() + '_';\n\n v = dateObj.getHours();\n if (v < 10) {\n text += '0';\n }\n text += v.toString() + '-';\n\n v = dateObj.getMinutes();\n if (v < 10) {\n text += '0';\n }\n text += v.toString();\n\n return text;\n }\n\n /**\n * Handle saving the dataset incl. backups\n */\n async saveState(): Promise<void> {\n try {\n const jsonString = await this.saveDataset();\n\n if (!this.settings.backup.disabled && jsonString) {\n this.saveBackup(jsonString);\n }\n } finally {\n if (this.stateTimer) {\n clearTimeout(this.stateTimer);\n this.stateTimer = null;\n }\n }\n }\n\n /**\n * Saves the dataset into File incl. handling of a fallback backup file\n *\n * @returns dataset JSON string of the complete dataset to also be stored into a compressed backup file\n */\n async saveDataset(): Promise<string> {\n const jsonString = JSON.stringify(this.dataset);\n\n try {\n await fs.writeFile(`${this.datasetName}.new`, jsonString);\n } catch (e) {\n this.log.error(`${this.namespace} Cannot save Dataset to ${this.datasetName}.new: ${e.message}`);\n return jsonString;\n }\n\n let bakOk = true;\n try {\n if (await fs.pathExists(this.datasetName)) {\n try {\n await fs.move(this.datasetName, `${this.datasetName}.bak`, { overwrite: true });\n } catch (e) {\n bakOk = false;\n this.log.error(`${this.namespace} Cannot backup file ${this.datasetName}.bak: ${e.message}`);\n }\n } else {\n bakOk = false;\n }\n } catch {\n bakOk = false;\n // ignore, file does not exist\n }\n\n try {\n await fs.move(`${this.datasetName}.new`, this.datasetName, { overwrite: true });\n } catch (e) {\n this.log.error(\n `${this.namespace} Cannot move ${this.datasetName}.new to ${this.datasetName}: ${e.message}. Try direct write as fallback`\n );\n try {\n await fs.writeFile(this.datasetName, jsonString);\n } catch (e) {\n this.log.error(`${this.namespace} Cannot directly write Dataset to ${this.datasetName}: ${e.message}`);\n return jsonString;\n }\n }\n\n if (!bakOk) {\n // it seems the bak File is not successfully there, write current content again\n try {\n await fs.writeFile(`${this.datasetName}.bak`, jsonString);\n } catch (e) {\n this.log.error(`${this.namespace} Cannot save ${this.datasetName}.bak: ${e.message}`);\n }\n }\n\n return jsonString;\n }\n\n /**\n * Stores a compressed backup of the DB in definable intervals\n *\n * @param jsonString JSON string of the complete dataset to also be stored into a compressed backup file\n */\n saveBackup(jsonString: string): void {\n // save files for the last x hours\n const now = Date.now();\n\n // makes backups only if settings.backupInterval is not 0\n if (this.settings.backup.period && (!this.lastSave || now - this.lastSave > this.settings.backup.period)) {\n this.lastSave = now;\n const backFileName = path.join(\n this.backupDir,\n this.getTimeStr(now) + '_' + this.settings.fileDB.fileName + '.gz'\n );\n\n try {\n if (!fs.existsSync(backFileName)) {\n const output = fs.createWriteStream(backFileName);\n output.on('error', err => {\n this.log.error(`${this.namespace} Cannot save ${this.datasetName}: ${err.stack}`);\n });\n\n const compress = createGzip();\n /* The following line will pipe everything written into compress to the file stream */\n compress.pipe(output);\n /* Since we're piped through the file stream, the following line will do:\n 'Hello World!'->gzip compression->file which is the desired effect */\n compress.write(jsonString);\n compress.end();\n\n // analyse older files\n this.deleteOldBackupFiles(this.settings.fileDB.fileName);\n }\n } catch (e) {\n this.log.error(`${this.namespace} Cannot save backup ${backFileName}: ${e.message}`);\n }\n }\n }\n\n getStatus(): DbStatus {\n return { type: 'file', server: true };\n }\n\n getClients(): Record<string, any> {\n return {};\n }\n\n publishAll(type: string, id: string, obj: any): number {\n if (id === undefined) {\n this.log.error(`${this.namespace} Can not publish empty ID`);\n return 0;\n }\n\n const clients = this.getClients();\n let publishCount = 0;\n\n if (clients && typeof clients === 'object') {\n for (const i of Object.keys(clients)) {\n publishCount += this.publishToClients(clients[i], type, id, obj);\n }\n }\n\n // local subscriptions\n if (\n this.change &&\n this.callbackSubscriptionClient._subscribe &&\n this.callbackSubscriptionClient._subscribe[type]\n ) {\n for (const entry of this.callbackSubscriptionClient._subscribe[type]) {\n if (entry.regex.test(id)) {\n // @ts-expect-error we have checked 3 lines above\n setImmediate(() => this.change(id, obj));\n break;\n }\n }\n }\n\n return publishCount;\n }\n\n // Destructor of the class. Called by shutting down.\n async destroy(): Promise<void> {\n if (this.stateTimer) {\n clearTimeout(this.stateTimer);\n await this.saveState();\n }\n }\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["path", "fs", "e", "err", "pattern"]
7
7
  }
@@ -7,7 +7,6 @@
7
7
  *
8
8
  */
9
9
  import type { InternalLogger } from '@iobroker/js-controller-common-db/tools';
10
- import type { RedisHandler } from '../lib/redisHandler.js';
11
10
  export interface ConnectionOptions {
12
11
  pass?: string;
13
12
  sentinelName?: string;
@@ -64,25 +63,14 @@ interface Subscription {
64
63
  regex: RegExp;
65
64
  options: any;
66
65
  }
67
- interface SubscriptionClient extends Partial<InstanceType<typeof RedisHandler>> {
68
- _subscribe?: Map<string, Subscription[]>;
69
- }
70
- interface SubscriptionClientRegex {
71
- /** The RegExp object */
72
- regex: RegExp;
73
- /** All clients for this regexp */
74
- clients: {
75
- client: SubscriptionClient;
76
- pattern: string;
77
- }[];
66
+ interface SubscriptionClient {
67
+ _subscribe?: Record<string, Subscription[]>;
78
68
  }
79
69
  /**
80
70
  * The parent of the class structure, which provides basic JSON storage
81
71
  * and general subscription and publish functionality
82
72
  */
83
73
  export declare class InMemoryFileDB {
84
- /** Store all clients per RegExp */
85
- private regExps;
86
74
  private settings;
87
75
  private readonly change;
88
76
  protected dataset: Record<string, any>;
@@ -111,21 +99,10 @@ export declare class InMemoryFileDB {
111
99
  */
112
100
  loadDataset(datasetName: string): Promise<Record<string, any>>;
113
101
  initBackupDir(): void;
114
- /**
115
- * Add client subscribe to a regex for given type
116
- *
117
- * @param options pattern, client and type information
118
- */
119
- private addSubscribeToRegex;
120
- handleSubscribe(client: SubscriptionClient, type: string, pattern: string | string[]): void;
121
- /**
122
- * Remove client subscribe from a regex for given type
123
- *
124
- * @param options pattern, client and type information
125
- */
126
- private removeSubscribeFromRegex;
127
- handleUnsubscribe(client: SubscriptionClient, type: string, pattern: string | string[]): void | Promise<void>;
128
- publishPattern(_patternInformation: SubscriptionClientRegex, _type: string, _id: string, _obj: unknown): number;
102
+ handleSubscribe(client: SubscriptionClient, type: string, pattern: string | string[], cb?: () => void): void;
103
+ handleSubscribe(client: SubscriptionClient, type: string, pattern: string | string[], options: any, cb?: () => void): void;
104
+ handleUnsubscribe(client: SubscriptionClient, type: string, pattern: string | string[], cb?: () => void): void | Promise<void>;
105
+ publishToClients(_client: SubscriptionClient, _type: string, _id: string, _obj: any): number;
129
106
  deleteOldBackupFiles(baseFilename: string): void;
130
107
  getTimeStr(date: number): string;
131
108
  /**
@@ -145,7 +122,7 @@ export declare class InMemoryFileDB {
145
122
  */
146
123
  saveBackup(jsonString: string): void;
147
124
  getStatus(): DbStatus;
148
- getClients(): Map<string, SubscriptionClient>;
125
+ getClients(): Record<string, any>;
149
126
  publishAll(type: string, id: string, obj: any): number;
150
127
  destroy(): Promise<void>;
151
128
  }
@@ -1 +1 @@
1
- {"version":3,"file":"inMemFileDB.d.ts","sourceRoot":"","sources":["../../../src/lib/inMemFileDB.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"inMemFileDB.d.ts","sourceRoot":"","sources":["../../../src/lib/inMemFileDB.ts"],"names":[],"mappings":"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"}
@@ -15,8 +15,6 @@ import { createGzip } from 'node:zlib';
15
15
  * and general subscription and publish functionality
16
16
  */
17
17
  export class InMemoryFileDB {
18
- /** Store all clients per RegExp */
19
- regExps = new Map();
20
18
  settings;
21
19
  change;
22
20
  dataset;
@@ -167,70 +165,50 @@ export class InMemoryFileDB {
167
165
  // Create backup directory
168
166
  fs.ensureDirSync(this.backupDir);
169
167
  }
170
- /**
171
- * Add client subscribe to a regex for given type
172
- *
173
- * @param options pattern, client and type information
174
- */
175
- addSubscribeToRegex(options) {
176
- const { type, pattern, client } = options;
177
- const regExpsForType = this.regExps.get(type);
178
- const regexStr = tools.pattern2RegEx(pattern);
179
- const regex = new RegExp(regexStr);
180
- if (!regExpsForType.has(regexStr)) {
181
- regExpsForType.set(regexStr, { regex, clients: [] });
182
- }
183
- const regExs = regExpsForType.get(regexStr);
184
- const found = !!regExs.clients.find(cl => cl === client);
185
- if (!found) {
186
- regExs.clients.push({ client, pattern });
187
- }
188
- }
189
- handleSubscribe(client, type, pattern) {
190
- if (!this.regExps.has(type)) {
191
- this.regExps.set(type, new Map());
192
- }
168
+ handleSubscribe(client, type, pattern, options, cb) {
169
+ if (typeof options === 'function') {
170
+ cb = options;
171
+ options = undefined;
172
+ }
173
+ client._subscribe = client._subscribe || {};
174
+ client._subscribe[type] = client._subscribe[type] || [];
175
+ const s = client._subscribe[type];
193
176
  if (pattern instanceof Array) {
194
- for (const patternStr of pattern) {
195
- this.addSubscribeToRegex({ pattern: patternStr, client, type });
196
- }
177
+ pattern.forEach(pattern => {
178
+ if (s.find(sub => sub.pattern === pattern)) {
179
+ return;
180
+ }
181
+ s.push({ pattern, regex: new RegExp(tools.pattern2RegEx(pattern)), options });
182
+ });
197
183
  }
198
184
  else {
199
- this.addSubscribeToRegex({ pattern, client, type });
200
- }
201
- }
202
- /**
203
- * Remove client subscribe from a regex for given type
204
- *
205
- * @param options pattern, client and type information
206
- */
207
- removeSubscribeFromRegex(options) {
208
- const { type, pattern, client } = options;
209
- const regExpsForType = this.regExps.get(type);
210
- const regexStr = tools.pattern2RegEx(pattern);
211
- const entry = regExpsForType.get(regexStr);
212
- if (!entry) {
213
- return;
214
- }
215
- const clientIndex = entry.clients.findIndex(cl => cl.client === client);
216
- if (clientIndex > -1) {
217
- entry.clients.splice(clientIndex, 1);
218
- }
219
- if (entry.clients.length === 0) {
220
- regExpsForType.delete(regexStr);
185
+ if (!s.find(sub => sub.pattern === pattern)) {
186
+ s.push({ pattern, regex: new RegExp(tools.pattern2RegEx(pattern)), options });
187
+ }
221
188
  }
189
+ typeof cb === 'function' && cb();
222
190
  }
223
- handleUnsubscribe(client, type, pattern) {
224
- if (pattern instanceof Array) {
225
- for (const p of pattern) {
226
- this.removeSubscribeFromRegex({ pattern: p, client, type });
191
+ handleUnsubscribe(client, type, pattern, cb) {
192
+ const s = client?._subscribe?.[type];
193
+ if (s) {
194
+ const removeEntry = (p) => {
195
+ const index = s.findIndex(sub => sub.pattern === p);
196
+ if (index > -1) {
197
+ s.splice(index, 1);
198
+ }
199
+ };
200
+ if (pattern instanceof Array) {
201
+ pattern.forEach(p => {
202
+ removeEntry(p);
203
+ });
204
+ }
205
+ else {
206
+ removeEntry(pattern);
227
207
  }
228
208
  }
229
- else {
230
- this.removeSubscribeFromRegex({ pattern, client, type });
231
- }
209
+ return tools.maybeCallback(cb);
232
210
  }
233
- publishPattern(_patternInformation, _type, _id, _obj) {
211
+ publishToClients(_client, _type, _id, _obj) {
234
212
  throw new Error('no communication handling implemented');
235
213
  }
236
214
  deleteOldBackupFiles(baseFilename) {
@@ -393,25 +371,25 @@ export class InMemoryFileDB {
393
371
  return { type: 'file', server: true };
394
372
  }
395
373
  getClients() {
396
- return new Map();
374
+ return {};
397
375
  }
398
376
  publishAll(type, id, obj) {
399
377
  if (id === undefined) {
400
378
  this.log.error(`${this.namespace} Can not publish empty ID`);
401
379
  return 0;
402
380
  }
381
+ const clients = this.getClients();
403
382
  let publishCount = 0;
404
- const patternInfo = this.regExps.get(type);
405
- if (patternInfo) {
406
- for (const regex of patternInfo.values()) {
407
- publishCount += this.publishPattern(regex, type, id, obj);
383
+ if (clients && typeof clients === 'object') {
384
+ for (const i of Object.keys(clients)) {
385
+ publishCount += this.publishToClients(clients[i], type, id, obj);
408
386
  }
409
387
  }
410
388
  // local subscriptions
411
389
  if (this.change &&
412
390
  this.callbackSubscriptionClient._subscribe &&
413
- this.callbackSubscriptionClient._subscribe.has(type)) {
414
- for (const entry of this.callbackSubscriptionClient._subscribe.get(type)) {
391
+ this.callbackSubscriptionClient._subscribe[type]) {
392
+ for (const entry of this.callbackSubscriptionClient._subscribe[type]) {
415
393
  if (entry.regex.test(id)) {
416
394
  // @ts-expect-error we have checked 3 lines above
417
395
  setImmediate(() => this.change(id, obj));
@@ -1 +1 @@
1
- {"version":3,"file":"inMemFileDB.js","sourceRoot":"","sources":["../../../src/lib/inMemFileDB.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"inMemFileDB.js","sourceRoot":"","sources":["../../../src/lib/inMemFileDB.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"program":{"fileNames":["../../../node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/typescript/lib/lib.es2022.d.ts","../../../node_modules/typescript/lib/lib.es2023.d.ts","../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.array.d.ts","../../../node_modules/typescript/lib/lib.es2022.error.d.ts","../../../node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.object.d.ts","../../../node_modules/typescript/lib/lib.es2022.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2022.string.d.ts","../../../node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2023.array.d.ts","../../../node_modules/typescript/lib/lib.es2023.collection.d.ts","../../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../node_modules/@types/node/assert.d.ts","../../../node_modules/@types/node/assert/strict.d.ts","../../../node_modules/buffer/index.d.ts","../../../node_modules/undici-types/header.d.ts","../../../node_modules/undici-types/readable.d.ts","../../../node_modules/undici-types/file.d.ts","../../../node_modules/undici-types/fetch.d.ts","../../../node_modules/undici-types/formdata.d.ts","../../../node_modules/undici-types/connector.d.ts","../../../node_modules/undici-types/client.d.ts","../../../node_modules/undici-types/errors.d.ts","../../../node_modules/undici-types/dispatcher.d.ts","../../../node_modules/undici-types/global-dispatcher.d.ts","../../../node_modules/undici-types/global-origin.d.ts","../../../node_modules/undici-types/pool-stats.d.ts","../../../node_modules/undici-types/pool.d.ts","../../../node_modules/undici-types/handlers.d.ts","../../../node_modules/undici-types/balanced-pool.d.ts","../../../node_modules/undici-types/agent.d.ts","../../../node_modules/undici-types/mock-interceptor.d.ts","../../../node_modules/undici-types/mock-agent.d.ts","../../../node_modules/undici-types/mock-client.d.ts","../../../node_modules/undici-types/mock-pool.d.ts","../../../node_modules/undici-types/mock-errors.d.ts","../../../node_modules/undici-types/proxy-agent.d.ts","../../../node_modules/undici-types/api.d.ts","../../../node_modules/undici-types/cookies.d.ts","../../../node_modules/undici-types/patch.d.ts","../../../node_modules/undici-types/filereader.d.ts","../../../node_modules/undici-types/diagnostics-channel.d.ts","../../../node_modules/undici-types/websocket.d.ts","../../../node_modules/undici-types/content-type.d.ts","../../../node_modules/undici-types/cache.d.ts","../../../node_modules/undici-types/interceptors.d.ts","../../../node_modules/undici-types/index.d.ts","../../../node_modules/@types/node/globals.d.ts","../../../node_modules/@types/node/async_hooks.d.ts","../../../node_modules/@types/node/buffer.d.ts","../../../node_modules/@types/node/child_process.d.ts","../../../node_modules/@types/node/cluster.d.ts","../../../node_modules/@types/node/console.d.ts","../../../node_modules/@types/node/constants.d.ts","../../../node_modules/@types/node/crypto.d.ts","../../../node_modules/@types/node/dgram.d.ts","../../../node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/@types/node/dns.d.ts","../../../node_modules/@types/node/dns/promises.d.ts","../../../node_modules/@types/node/domain.d.ts","../../../node_modules/@types/node/dom-events.d.ts","../../../node_modules/@types/node/events.d.ts","../../../node_modules/@types/node/fs.d.ts","../../../node_modules/@types/node/fs/promises.d.ts","../../../node_modules/@types/node/http.d.ts","../../../node_modules/@types/node/http2.d.ts","../../../node_modules/@types/node/https.d.ts","../../../node_modules/@types/node/inspector.d.ts","../../../node_modules/@types/node/module.d.ts","../../../node_modules/@types/node/net.d.ts","../../../node_modules/@types/node/os.d.ts","../../../node_modules/@types/node/path.d.ts","../../../node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/@types/node/process.d.ts","../../../node_modules/@types/node/punycode.d.ts","../../../node_modules/@types/node/querystring.d.ts","../../../node_modules/@types/node/readline.d.ts","../../../node_modules/@types/node/readline/promises.d.ts","../../../node_modules/@types/node/repl.d.ts","../../../node_modules/@types/node/stream.d.ts","../../../node_modules/@types/node/stream/promises.d.ts","../../../node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/@types/node/stream/web.d.ts","../../../node_modules/@types/node/string_decoder.d.ts","../../../node_modules/@types/node/test.d.ts","../../../node_modules/@types/node/timers.d.ts","../../../node_modules/@types/node/timers/promises.d.ts","../../../node_modules/@types/node/tls.d.ts","../../../node_modules/@types/node/trace_events.d.ts","../../../node_modules/@types/node/tty.d.ts","../../../node_modules/@types/node/url.d.ts","../../../node_modules/@types/node/util.d.ts","../../../node_modules/@types/node/v8.d.ts","../../../node_modules/@types/node/vm.d.ts","../../../node_modules/@types/node/wasi.d.ts","../../../node_modules/@types/node/worker_threads.d.ts","../../../node_modules/@types/node/zlib.d.ts","../../../node_modules/@types/node/globals.global.d.ts","../../../node_modules/@types/node/index.d.ts","../../../node_modules/@types/jsonfile/index.d.ts","../../../node_modules/@types/jsonfile/utils.d.ts","../../../node_modules/@types/fs-extra/index.d.ts","../../types-dev/objects.d.ts","../../types-dev/config.d.ts","../../types-dev/index.d.ts","../../../node_modules/promisify-child-process/index.d.ts","../../../node_modules/execa/index.d.ts","../../../node_modules/@alcalzone/pak/build/lib/package-managers/package-manager.d.ts","../../../node_modules/@alcalzone/pak/build/lib/package-managers/npm/index.d.ts","../../../node_modules/@alcalzone/pak/build/lib/package-managers/yarn-berry/index.d.ts","../../../node_modules/@alcalzone/pak/build/lib/package-managers/yarn-classic/index.d.ts","../../../node_modules/@alcalzone/pak/build/lib/pak.d.ts","../../../node_modules/@alcalzone/pak/build/index.d.ts","../../common-db/build/esm/lib/common/maybeCallback.d.ts","../../common-db/build/esm/lib/common/tools.d.ts","../../common-db/build/esm/lib/common/exitCodes.d.ts","../../common-db/build/esm/lib/common/password.d.ts","../../../node_modules/@types/triple-beam/index.d.ts","../../../node_modules/logform/index.d.ts","../../../node_modules/winston-transport/index.d.ts","../../../node_modules/winston/lib/winston/config/index.d.ts","../../../node_modules/winston/lib/winston/transports/index.d.ts","../../../node_modules/winston/index.d.ts","../../common-db/build/esm/lib/common/logger.d.ts","../../common-db/build/esm/lib/common/interview.d.ts","../../common-db/build/esm/lib/common/session.d.ts","../../common-db/build/esm/lib/common/constants.d.ts","../../common-db/build/esm/index.d.ts","../src/lib/constants.ts","../src/lib/redisHandler.ts","../src/lib/inMemFileDB.ts","../src/index.ts","../../../node_modules/@types/argparse/index.d.ts","../../../node_modules/@types/chai/index.d.ts","../../../node_modules/@types/chai-as-promised/index.d.ts","../../../node_modules/@types/ms/index.d.ts","../../../node_modules/@types/debug/index.d.ts","../../../node_modules/@types/eslint/helpers.d.ts","../../../node_modules/@types/estree/index.d.ts","../../../node_modules/@types/json-schema/index.d.ts","../../../node_modules/@types/eslint/index.d.ts","../../../node_modules/@types/event-stream/index.d.ts","../../../node_modules/@types/glossy/index.d.ts","../../../node_modules/@types/ioredis/index.d.ts","../../../node_modules/@types/jsonwebtoken/index.d.ts","../../../node_modules/@types/mime-types/index.d.ts","../../../node_modules/@types/minimatch/index.d.ts","../../../node_modules/@types/minimist/index.d.ts","../../../node_modules/@types/mocha/index.d.ts","../../../node_modules/@types/node-forge/index.d.ts","../../../node_modules/@types/node-schedule/index.d.ts","../../../node_modules/@types/normalize-package-data/index.d.ts","../../../node_modules/@types/pidusage/index.d.ts","../../../node_modules/@types/revalidator/index.d.ts","../../../node_modules/@types/prompt/index.d.ts","../../../node_modules/@types/readline-sync/index.d.ts","../../../node_modules/@types/semver/classes/semver.d.ts","../../../node_modules/@types/semver/functions/parse.d.ts","../../../node_modules/@types/semver/functions/valid.d.ts","../../../node_modules/@types/semver/functions/clean.d.ts","../../../node_modules/@types/semver/functions/inc.d.ts","../../../node_modules/@types/semver/functions/diff.d.ts","../../../node_modules/@types/semver/functions/major.d.ts","../../../node_modules/@types/semver/functions/minor.d.ts","../../../node_modules/@types/semver/functions/patch.d.ts","../../../node_modules/@types/semver/functions/prerelease.d.ts","../../../node_modules/@types/semver/functions/compare.d.ts","../../../node_modules/@types/semver/functions/rcompare.d.ts","../../../node_modules/@types/semver/functions/compare-loose.d.ts","../../../node_modules/@types/semver/functions/compare-build.d.ts","../../../node_modules/@types/semver/functions/sort.d.ts","../../../node_modules/@types/semver/functions/rsort.d.ts","../../../node_modules/@types/semver/functions/gt.d.ts","../../../node_modules/@types/semver/functions/lt.d.ts","../../../node_modules/@types/semver/functions/eq.d.ts","../../../node_modules/@types/semver/functions/neq.d.ts","../../../node_modules/@types/semver/functions/gte.d.ts","../../../node_modules/@types/semver/functions/lte.d.ts","../../../node_modules/@types/semver/functions/cmp.d.ts","../../../node_modules/@types/semver/functions/coerce.d.ts","../../../node_modules/@types/semver/classes/comparator.d.ts","../../../node_modules/@types/semver/classes/range.d.ts","../../../node_modules/@types/semver/functions/satisfies.d.ts","../../../node_modules/@types/semver/ranges/max-satisfying.d.ts","../../../node_modules/@types/semver/ranges/min-satisfying.d.ts","../../../node_modules/@types/semver/ranges/to-comparators.d.ts","../../../node_modules/@types/semver/ranges/min-version.d.ts","../../../node_modules/@types/semver/ranges/valid.d.ts","../../../node_modules/@types/semver/ranges/outside.d.ts","../../../node_modules/@types/semver/ranges/gtr.d.ts","../../../node_modules/@types/semver/ranges/ltr.d.ts","../../../node_modules/@types/semver/ranges/intersects.d.ts","../../../node_modules/@types/semver/ranges/simplify.d.ts","../../../node_modules/@types/semver/ranges/subset.d.ts","../../../node_modules/@types/semver/internals/identifiers.d.ts","../../../node_modules/@types/semver/index.d.ts","../../../node_modules/@types/sinonjs__fake-timers/index.d.ts","../../../node_modules/@types/sinon/index.d.ts","../../../node_modules/@types/sinon-chai/index.d.ts","../../../node_modules/minipass/index.d.ts","../../../node_modules/@types/tar/index.d.ts","../../../node_modules/@types/winston-syslog/index.d.ts","../../../node_modules/@types/yargs-parser/index.d.ts","../../../node_modules/@types/yargs/index.d.ts"],"fileInfos":[{"version":"824cb491a40f7e8fdeb56f1df5edf91b23f3e3ee6b4cde84d4a99be32338faee","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"9a68c0c07ae2fa71b44384a839b7b8d81662a236d4b9ac30916718f7510b1b2d","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","impliedFormat":1},{"version":"5514e54f17d6d74ecefedc73c504eadffdeda79c7ea205cf9febead32d45c4bc","impliedFormat":1},{"version":"1c0cdb8dc619bc549c3e5020643e7cf7ae7940058e8c7e5aefa5871b6d86f44b","impliedFormat":1},{"version":"138fb588d26538783b78d1e3b2c2cc12d55840b97bf5e08bca7f7a174fbe2f17","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"4443e68b35f3332f753eacc66a04ac1d2053b8b035a0e0ac1d455392b5e243b3","affectsGlobalScope":true,"impliedFormat":1},{"version":"bc47685641087c015972a3f072480889f0d6c65515f12bd85222f49a98952ed7","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"93495ff27b8746f55d19fcbcdbaccc99fd95f19d057aed1bd2c0cafe1335fbf0","affectsGlobalScope":true,"impliedFormat":1},{"version":"6fc23bb8c3965964be8c597310a2878b53a0306edb71d4b5a4dfe760186bcc01","affectsGlobalScope":true,"impliedFormat":1},{"version":"ea011c76963fb15ef1cdd7ce6a6808b46322c527de2077b6cfdf23ae6f5f9ec7","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"bb42a7797d996412ecdc5b2787720de477103a0b2e53058569069a0e2bae6c7e","affectsGlobalScope":true,"impliedFormat":1},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true,"impliedFormat":1},{"version":"61c37c1de663cf4171e1192466e52c7a382afa58da01b1dc75058f032ddf0839","affectsGlobalScope":true,"impliedFormat":1},{"version":"b541a838a13f9234aba650a825393ffc2292dc0fc87681a5d81ef0c96d281e7a","affectsGlobalScope":true,"impliedFormat":1},{"version":"b20fe0eca9a4e405f1a5ae24a2b3290b37cf7f21eba6cbe4fc3fab979237d4f3","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"49ed889be54031e1044af0ad2c603d627b8bda8b50c1a68435fe85583901d072","affectsGlobalScope":true,"impliedFormat":1},{"version":"e93d098658ce4f0c8a0779e6cab91d0259efb88a318137f686ad76f8410ca270","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true,"impliedFormat":1},{"version":"5e07ed3809d48205d5b985642a59f2eba47c402374a7cf8006b686f79efadcbd","affectsGlobalScope":true,"impliedFormat":1},{"version":"2b72d528b2e2fe3c57889ca7baef5e13a56c957b946906d03767c642f386bbc3","affectsGlobalScope":true,"impliedFormat":1},{"version":"8073890e29d2f46fdbc19b8d6d2eb9ea58db9a2052f8640af20baff9afbc8640","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"51e547984877a62227042850456de71a5c45e7fe86b7c975c6e68896c86fa23b","affectsGlobalScope":true,"impliedFormat":1},{"version":"956d27abdea9652e8368ce029bb1e0b9174e9678a273529f426df4b3d90abd60","affectsGlobalScope":true,"impliedFormat":1},{"version":"4fa6ed14e98aa80b91f61b9805c653ee82af3502dc21c9da5268d3857772ca05","affectsGlobalScope":true,"impliedFormat":1},{"version":"e6633e05da3ff36e6da2ec170d0d03ccf33de50ca4dc6f5aeecb572cedd162fb","affectsGlobalScope":true,"impliedFormat":1},{"version":"d8670852241d4c6e03f2b89d67497a4bbefe29ecaa5a444e2c11a9b05e6fccc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true,"impliedFormat":1},{"version":"caccc56c72713969e1cfe5c3d44e5bab151544d9d2b373d7dbe5a1e4166652be","affectsGlobalScope":true,"impliedFormat":1},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true,"impliedFormat":1},{"version":"50d53ccd31f6667aff66e3d62adf948879a3a16f05d89882d1188084ee415bbc","affectsGlobalScope":true,"impliedFormat":1},{"version":"08a58483392df5fcc1db57d782e87734f77ae9eab42516028acbfe46f29a3ef7","affectsGlobalScope":true,"impliedFormat":1},{"version":"436aaf437562f276ec2ddbee2f2cdedac7664c1e4c1d2c36839ddd582eeb3d0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"13f6e6380c78e15e140243dc4be2fa546c287c6d61f4729bc2dd7cf449605471","affectsGlobalScope":true,"impliedFormat":1},{"version":"33358442698bb565130f52ba79bfd3d4d484ac85fe33f3cb1759c54d18201393","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"3846d0dcf468a1d1a07e6d00eaa37ec542956fb5fe0357590a6407af20d2ff90","impliedFormat":1},{"version":"7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","impliedFormat":1},{"version":"8e9c23ba78aabc2e0a27033f18737a6df754067731e69dc5f52823957d60a4b6","impliedFormat":1},{"version":"5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","impliedFormat":1},{"version":"7180c03fd3cb6e22f911ce9ba0f8a7008b1a6ddbe88ccf16a9c8140ef9ac1686","impliedFormat":1},{"version":"25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","impliedFormat":1},{"version":"54cb85a47d760da1c13c00add10d26b5118280d44d58e6908d8e89abbd9d7725","impliedFormat":1},{"version":"3e4825171442666d31c845aeb47fcd34b62e14041bb353ae2b874285d78482aa","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"a967bfe3ad4e62243eb604bf956101e4c740f5921277c60debaf325c1320bf88","impliedFormat":1},{"version":"e9775e97ac4877aebf963a0289c81abe76d1ec9a2a7778dbe637e5151f25c5f3","impliedFormat":1},{"version":"471e1da5a78350bc55ef8cef24eb3aca6174143c281b8b214ca2beda51f5e04a","impliedFormat":1},{"version":"cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","impliedFormat":1},{"version":"385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","impliedFormat":1},{"version":"9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","impliedFormat":1},{"version":"db3435f3525cd785bf21ec6769bf8da7e8a776be1a99e2e7efb5f244a2ef5fee","impliedFormat":1},{"version":"c3b170c45fc031db31f782e612adf7314b167e60439d304b49e704010e7bafe5","impliedFormat":1},{"version":"40383ebef22b943d503c6ce2cb2e060282936b952a01bea5f9f493d5fb487cc7","impliedFormat":1},{"version":"4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","impliedFormat":1},{"version":"3a84b7cb891141824bd00ef8a50b6a44596aded4075da937f180c90e362fe5f6","impliedFormat":1},{"version":"13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","impliedFormat":1},{"version":"9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","impliedFormat":1},{"version":"4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","impliedFormat":1},{"version":"24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","impliedFormat":1},{"version":"33203609eba548914dc83ddf6cadbc0bcb6e8ef89f6d648ca0908ae887f9fcc5","impliedFormat":1},{"version":"0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","impliedFormat":1},{"version":"89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","impliedFormat":1},{"version":"e53a3c2a9f624d90f24bf4588aacd223e7bec1b9d0d479b68d2f4a9e6011147f","impliedFormat":1},{"version":"339dc5265ee5ed92e536a93a04c4ebbc2128f45eeec6ed29f379e0085283542c","impliedFormat":1},{"version":"9f0a92164925aa37d4a5d9dd3e0134cff8177208dba55fd2310cd74beea40ee2","impliedFormat":1},{"version":"8bfdb79bf1a9d435ec48d9372dc93291161f152c0865b81fc0b2694aedb4578d","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"d32275be3546f252e3ad33976caf8c5e842c09cb87d468cb40d5f4cf092d1acc","impliedFormat":1},{"version":"4a0c3504813a3289f7fb1115db13967c8e004aa8e4f8a9021b95285502221bd1","impliedFormat":1},{"version":"49026435d21e3d7559d723af3ae48f73ec28f9cba651b41bd2ac991012836122","affectsGlobalScope":true,"impliedFormat":1},{"version":"39b1a50d543770780b0409a4caacb87f3ff1d510aedfeb7dc06ed44188256f89","impliedFormat":1},{"version":"dafc58ee47fa25dbc68b27c638bd6153dd7659021c164f64b7760757e9f5a6ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"16b872cf5432818bdbf405428b4a1d77bb2a7ab908e8bd6609f9a541cea92f81","impliedFormat":1},{"version":"304504c854c47a55ab4a89111a27a2daf8a3614740bd787cc1f2c51e5574239c","impliedFormat":1},{"version":"95f9129a37dcace36e17b061a8484952586ecfe928c9c8ce526de1a2f4aaefa7","affectsGlobalScope":true,"impliedFormat":1},{"version":"a40826e8476694e90da94aa008283a7de50d1dafd37beada623863f1901cb7fb","impliedFormat":1},{"version":"ed3db4eb7ad0466e19df82d9ee5c057d78df954283004783932d75e8fa4058c5","impliedFormat":1},{"version":"278fe296432b9840660d6e0d1778b4b4897a591d4b910a5f7ac8db0b476a8af7","impliedFormat":1},{"version":"1c611ff373ce1958aafc40b328048ac2540ba5c7f373cf2897e0d9aeaabe90a0","impliedFormat":1},{"version":"fd7a7fc2bb1f38ba0cded7bd8088c99033365859e03ba974f7de072e9d989fde","impliedFormat":1},{"version":"6cf42fc3765241c59339047a45855c506a2f94ee5e734bbded94ddcafc66e4c5","impliedFormat":1},{"version":"c6cf9428f45f3d78b07df7d7aab1569994c177d36549e3a962f952d89f026bc4","impliedFormat":1},{"version":"ee1ee365d88c4c6c0c0a5a5701d66ebc27ccd0bcfcfaa482c6e2e7fe7b98edf7","affectsGlobalScope":true,"impliedFormat":1},{"version":"cce14dcba2c2cb1059977ad65cf9caef890118cb20e35c4cf420bf1c83f27c1a","affectsGlobalScope":true,"impliedFormat":1},{"version":"9d604e6f853b64692415a61662d8490cc6057596ce7fb52a3a2ce878e376586c","impliedFormat":1},{"version":"021ca24be8eb8c46f99b4e03ebf872931f590c9b07b88d715c68bd30495b6c44","impliedFormat":1},{"version":"fb862b9a2e78754cf44b770ba6f194987d63c8d4cd103c6c05534faa4120ae98","impliedFormat":1},{"version":"91479d2a9bc09df0091b5e24af57cb462cd223e56498d16e9efdaebd587fa81d","impliedFormat":1},{"version":"e3baa0c5780c2c805ec33a999722a2f740b572eb3746fd0a5f93a0a5c3dbf7f6","impliedFormat":1},{"version":"c6f77efcc19f51c8759779b6b6ee0d88046c15c15dadac8ffed729a6620daf39","impliedFormat":1},{"version":"089867511b37a534ae71f3d9bc97acc0b925b7f5dbec113f98c4b49224c694eb","affectsGlobalScope":true,"impliedFormat":1},{"version":"e0cc19f50900706e7aae038565e825f2014ac5325b99b3daabf8ecd5d3d09f1a","impliedFormat":1},{"version":"f5ce35485541e817c2d4105d3eb78e3e538bbb009515ed014694363fa3e94ceb","impliedFormat":1},{"version":"323506ce173f7f865f42f493885ee3dacd18db6359ea1141d57676d3781ce10c","impliedFormat":1},{"version":"bd88055918cf8bf30ad7c9269177f7ebeafd4c5f0d28919edccd1c1d24f7e73c","affectsGlobalScope":true,"impliedFormat":1},{"version":"645baafeaed6855c8796fcbae4e813021c65f36eaa3f6178535457a2366f6849","affectsGlobalScope":true,"impliedFormat":1},{"version":"ea3ab3727cd6c222d94003ecafa30e8550c61eadcdabbf59514aee76e86211a5","impliedFormat":1},{"version":"d3cdd41693c5ed6bec4f1a1c399d9501372b14bd341bc46eedacf2854c5df5a7","impliedFormat":1},{"version":"2de7a21c92226fb8abbeed7a0a9bd8aa6d37e4c68a8c7ff7938c644267e9fcc1","impliedFormat":1},{"version":"6d6070c5c81ba0bfe58988c69e3ba3149fc86421fd383f253aeb071cbf29cd41","impliedFormat":1},{"version":"48dab0d6e633b8052e7eaa0efb0bb3d58a733777b248765eafcb0b0349439834","impliedFormat":1},{"version":"d3e22aaa84d935196f465fff6645f88bb41352736c3130285eea0f2489c5f183","impliedFormat":1},{"version":"269929a24b2816343a178008ac9ae9248304d92a8ba8e233055e0ed6dbe6ef71","impliedFormat":1},{"version":"93452d394fdd1dc551ec62f5042366f011a00d342d36d50793b3529bfc9bd633","impliedFormat":1},{"version":"5195aeb0de306d1c5ca8033457fbcab5987657112fa6d4971cfeb7644493a369","impliedFormat":1},{"version":"c5dbf0003bc9f0f643e54cd00a3868d1afe85497fecb56be6f2373dc85102924","impliedFormat":1},{"version":"5a6fc2089f515b39aaa208339421669f61935cd661e356ebee49240be85091fd","affectsGlobalScope":true,"impliedFormat":1},{"version":"300f8e9de0b0c3482be3e749462b6ebc3dab8a316801f1da0def94aed0cd2018","affectsGlobalScope":true,"impliedFormat":1},{"version":"4e228e78c1e9b0a75c70588d59288f63a6258e8b1fe4a67b0c53fe03461421d9","impliedFormat":1},{"version":"3df5b34f3449733bc4831b8d670f958a045e7a3f5d7b0e21991ef95408dbec13","impliedFormat":1},{"version":"76a89af04f2ba1807309320dab5169c0d1243b80738b4a2005989e40a136733e","impliedFormat":1},{"version":"c045b664abf3fc2a4750fa96117ab2735e4ed45ddd571b2a6a91b9917e231a02","impliedFormat":1},{"version":"068b8ee5c2cd90d7a50f2efadbbe353cb10196a41189a48bf4b2a867363012b4","affectsGlobalScope":true,"impliedFormat":1},{"version":"0c312a7c5dec6c616f754d3a4b16318ce8d1cb912dfb3dfa0e808f45e66cbb21","affectsGlobalScope":true,"impliedFormat":1},{"version":"6f44a190351ab5e1811abebe007cf60518044772ccc08244f9f241706afa767f","impliedFormat":1},{"version":"fecdf44bec4ee9c5188e5f2f58c292c9689c02520900dceaaa6e76594de6da90","impliedFormat":1},{"version":"cf45d0510b661f1da461479851ff902f188edb111777c37055eff12fa986a23a","impliedFormat":1},{"version":"6a4a80787c57c10b3ea8314c80d9cc6e1deb99d20adca16106a337825f582420","affectsGlobalScope":true,"impliedFormat":1},{"version":"f2b9440f98d6f94c8105883a2b65aee2fce0248f71f41beafd0a80636f3a565d","impliedFormat":1},{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true,"impliedFormat":1},{"version":"b510d0a18e3db42ac9765d26711083ec1e8b4e21caaca6dc4d25ae6e8623f447","impliedFormat":1},{"version":"211440ce81e87b3491cdf07155881344b0a61566df6e749acff0be7e8b9d1a07","impliedFormat":1},{"version":"5d9a0b6e6be8dbb259f64037bce02f34692e8c1519f5cd5d467d7fa4490dced4","impliedFormat":1},{"version":"880da0e0f3ebca42f9bd1bc2d3e5e7df33f2619d85f18ee0ed4bd16d1800bc32","impliedFormat":1},{"version":"e709b2e54b76c56496851d384b266e09cac33ee8a2f9f273b57d1ce17238cce6","affectsGlobalScope":true,"impliedFormat":1},{"version":"a9621d2b5371e49264a6586dafd19156baf08b7edca936ebb0692561931eadfb","impliedFormat":1},{"version":"cbf3004a12c73995c84ab8ebc7e01f05848051d02dc795387bdd2585c882258e","affectsGlobalScope":true,"impliedFormat":1},{"version":"45e2f08258e671e67a177bd9057e785956c23b2542308f9559db037fe1114105","impliedFormat":1},{"version":"088703b7810394a5af823ac753cca116931df81a97183725ae1e2c4e6038268d","impliedFormat":1},{"version":"6cf45d4fd013b7c4ba1cd422555a3170946dc1d3804e135b5c4a971dbe4c1aa7","impliedFormat":1},{"version":"2fd34e1921bb7e6706b8d9fcb5d4d9f2f3e23e742e38bdb3094c83668ca09070","impliedFormat":1},{"version":"be2ab41bbfa1db74d67df1a5cb0c00b5f6d4badc0bc35cff2984880e2698bc1b","impliedFormat":1},{"version":"746b7007f5959dc155f54964ce3d1f8289e914ad480f1f7ff64f54515415a637","impliedFormat":1},{"version":"41e1718c5738cd9261acc61439f2156ed3b8a3267de9805e55b3cf7d839f5063","impliedFormat":1},{"version":"4e20f9be439bf149c8f336a7d9efb1dcc785a29d8cbb73efa279f8bf883a7058","impliedFormat":1},{"version":"07e25f754a8435121d3ba0012458e3e10ae6f3fddeffebb2b1054a0579fad3ea","impliedFormat":99},{"version":"639f04da5e3f128214cf980ab636bbe6a625ff54a2724c6cd16e1787b5b53d8c","impliedFormat":99},{"version":"da77aa3d854b204e47ef742c4ecd71cd0b020f802e13b6a7e719367e8b9ccd18","impliedFormat":99},{"version":"04f395b82f656953ae6ccff3b26c55adb6a75e9e345991a10401696e593b0bb0","impliedFormat":99},{"version":"908217c4f2244ec402b73533ebfcc46d6dcd34fc1c807ff403d7f98702abb3bc","impliedFormat":1},{"version":"201ced2ca97d71fe47afdaebc656c2fa63ef2784256e4dfc9eb83930f7aac2c2","impliedFormat":1},{"version":"d8b8a5a6bf623239d5374ad4a7ff6f3b195ab5ee61293f59f1957e90d2a22809","impliedFormat":1},{"version":"35d283eca7dc0a0c7b099f5fbbf0678b87f3d837572cd5e539ba297ad9837e68","impliedFormat":1},{"version":"03852330113bfc10a497a653f39ad9f4ee8e4ed31a44cb9981de6d9d662c5354","impliedFormat":1},{"version":"26ec2c615ee349154b9cdb180a9bbd2d3e28a2646242e936cf79c1a44847ade7","impliedFormat":1},{"version":"56471ec726edfb50d4bc87b83e52f97de74f5d385db3db214f6e3ec2d02a3fb6","impliedFormat":99},{"version":"86a6eee8858453e02abc1196b611b348f9b157d19dcd47660246ede5b6a82676","impliedFormat":99},{"version":"129c10790c7de83509b3d852a79189b475a40b128e0726bd469f96b3d5749811","impliedFormat":99},{"version":"98763329166c62fa0ca9cfc0042bf924605c78bab880dc8b06ec83a445d3d67a","impliedFormat":99},{"version":"54cb16297ded2864aa5a752ac9ff205a85931492c3bdbe8a2ec9e584acb10048","impliedFormat":99},{"version":"dca08d0fcf13a1f796b10e8cc030ccffe2cdb64fff36f3492bfe3af22902b328","signature":"13458c06afd7d41f97955a72b84bb51b059e7a15d1547e9b11411a8ef82f60fa","impliedFormat":99},{"version":"59e8d01870b4924cebd032092e930b024b9d807c6270da9e93ed456e94f5f728","signature":"617b2e0fa917ace5e1b19dcef2eae8a5888732a390c94e0b97f1afa3b6c5b52c","impliedFormat":99},{"version":"2479930501b87515cbf000d9fefaf1c3ab53e266cbe613e5af46c15b312e63a4","signature":"b72814e8f6aba33fda82b0bc65684ab8b7287ea9ba692b2f6bb08729d21f5f10","impliedFormat":99},{"version":"ad739669b8527bacfaf8493ea4552216843afd0f9a2e583dec20ee7f4e2ead6e","impliedFormat":99},{"version":"dc3b172ee27054dbcedcf5007b78c256021db936f6313a9ce9a3ecbb503fd646","impliedFormat":1},{"version":"eef204f061321360559bd19235ea32a9d55b3ec22a362cc78d14ef50d4db4490","affectsGlobalScope":true,"impliedFormat":1},{"version":"86e56d97b13ef0a58bc9c59aee782ae7d47d63802b5b32129ec5e5d62c20dbfa","affectsGlobalScope":true,"impliedFormat":1},{"version":"68cc8d6fcc2f270d7108f02f3ebc59480a54615be3e09a47e14527f349e9d53e","impliedFormat":1},{"version":"3eb11dbf3489064a47a2e1cf9d261b1f100ef0b3b50ffca6c44dd99d6dd81ac1","impliedFormat":1},{"version":"64d4b35c5456adf258d2cf56c341e203a073253f229ef3208fc0d5020253b241","affectsGlobalScope":true,"impliedFormat":1},{"version":"ee7d8894904b465b072be0d2e4b45cf6b887cdba16a467645c4e200982ece7ea","impliedFormat":1},{"version":"f3d8c757e148ad968f0d98697987db363070abada5f503da3c06aefd9d4248c1","impliedFormat":1},{"version":"7852500a7dc3f9cb6b73d619f6e0249119211ea662fd5e16c59ee5aba3deeb80","impliedFormat":1},{"version":"c3ae6bb11d6666d56efb16b56903895ba5320c2c2b0fecaf27784ef4599ac632","impliedFormat":1},{"version":"3b43f7224c99344262753af8fc1bb66cf0dc36fb15de92a190af88502c6256f6","impliedFormat":1},{"version":"be00321090ed100e3bd1e566c0408004137e73feb19d6380eba57d68519ff6c5","impliedFormat":1},{"version":"bb4ed283cfb3db7ec1d4bb79c37f5e96d39b340f1f4de995c4b0b836c8d5fa05","impliedFormat":1},{"version":"169cc96316cacf8b489aaab4ac6bcef7b33e8779a8902bce57c737b4aa372d16","impliedFormat":1},{"version":"8841e2aa774b89bd23302dede20663306dc1b9902431ac64b24be8b8d0e3f649","impliedFormat":1},{"version":"fbca5ffaebf282ec3cdac47b0d1d4a138a8b0bb32105251a38acb235087d3318","impliedFormat":1},{"version":"0ea93d01083b3d5863cc98cb589b5d0eac55d14417487f9e5e455dfa0b17c660","affectsGlobalScope":true,"impliedFormat":1},{"version":"8b5402ae709d042c3530ed3506c135a967159f42aed3221267e70c5b7240b577","impliedFormat":1},{"version":"4f5269c28ed792a21efe3e2733a3398cb83f84384ccd9c5cd5a0950fdb211342","impliedFormat":1},{"version":"22293bd6fa12747929f8dfca3ec1684a3fe08638aa18023dd286ab337e88a592","impliedFormat":1},{"version":"327fddc7dd391f1e62262dafe41fc9cabedb4a5758a5cfce979cebab1456abb8","impliedFormat":1},{"version":"ec596fa2357df1b2702e42bcba645422eb727ab5c81136f78590f21a100286e1","affectsGlobalScope":true,"impliedFormat":1},{"version":"ff2ceda3a4b66023a83964a4e2674b9778ce5255f87c5eefefd6d0f7f1967d56","impliedFormat":1},{"version":"a016d2f6c0a2c15069ec69661ad37c86a450deb629ce96a592f15f01d3a5746e","impliedFormat":1},{"version":"cf3d384d082b933d987c4e2fe7bfb8710adfd9dc8155190056ed6695a25a559e","impliedFormat":1},{"version":"9871b7ee672bc16c78833bdab3052615834b08375cb144e4d2cba74473f4a589","impliedFormat":1},{"version":"c863198dae89420f3c552b5a03da6ed6d0acfa3807a64772b895db624b0de707","impliedFormat":1},{"version":"8b03a5e327d7db67112ebbc93b4f744133eda2c1743dbb0a990c61a8007823ef","impliedFormat":1},{"version":"86c73f2ee1752bac8eeeece234fd05dfcf0637a4fbd8032e4f5f43102faa8eec","impliedFormat":1},{"version":"42fad1f540271e35ca37cecda12c4ce2eef27f0f5cf0f8dd761d723c744d3159","impliedFormat":1},{"version":"ff3743a5de32bee10906aff63d1de726f6a7fd6ee2da4b8229054dfa69de2c34","impliedFormat":1},{"version":"83acd370f7f84f203e71ebba33ba61b7f1291ca027d7f9a662c6307d74e4ac22","impliedFormat":1},{"version":"1445cec898f90bdd18b2949b9590b3c012f5b7e1804e6e329fb0fe053946d5ec","impliedFormat":1},{"version":"0e5318ec2275d8da858b541920d9306650ae6ac8012f0e872fe66eb50321a669","impliedFormat":1},{"version":"cf530297c3fb3a92ec9591dd4fa229d58b5981e45fe6702a0bd2bea53a5e59be","impliedFormat":1},{"version":"c1f6f7d08d42148ddfe164d36d7aba91f467dbcb3caa715966ff95f55048b3a4","impliedFormat":1},{"version":"f4e9bf9103191ef3b3612d3ec0044ca4044ca5be27711fe648ada06fad4bcc85","impliedFormat":1},{"version":"0c1ee27b8f6a00097c2d6d91a21ee4d096ab52c1e28350f6362542b55380059a","impliedFormat":1},{"version":"7677d5b0db9e020d3017720f853ba18f415219fb3a9597343b1b1012cfd699f7","impliedFormat":1},{"version":"bc1c6bc119c1784b1a2be6d9c47addec0d83ef0d52c8fbe1f14a51b4dfffc675","impliedFormat":1},{"version":"52cf2ce99c2a23de70225e252e9822a22b4e0adb82643ab0b710858810e00bf1","impliedFormat":1},{"version":"770625067bb27a20b9826255a8d47b6b5b0a2d3dfcbd21f89904c731f671ba77","impliedFormat":1},{"version":"d1ed6765f4d7906a05968fb5cd6d1db8afa14dbe512a4884e8ea5c0f5e142c80","impliedFormat":1},{"version":"799c0f1b07c092626cf1efd71d459997635911bb5f7fc1196efe449bba87e965","impliedFormat":1},{"version":"2a184e4462b9914a30b1b5c41cf80c6d3428f17b20d3afb711fff3f0644001fd","impliedFormat":1},{"version":"9eabde32a3aa5d80de34af2c2206cdc3ee094c6504a8d0c2d6d20c7c179503cc","impliedFormat":1},{"version":"397c8051b6cfcb48aa22656f0faca2553c5f56187262135162ee79d2b2f6c966","impliedFormat":1},{"version":"a8ead142e0c87dcd5dc130eba1f8eeed506b08952d905c47621dc2f583b1bff9","impliedFormat":1},{"version":"a02f10ea5f73130efca046429254a4e3c06b5475baecc8f7b99a0014731be8b3","impliedFormat":1},{"version":"c2576a4083232b0e2d9bd06875dd43d371dee2e090325a9eac0133fd5650c1cb","impliedFormat":1},{"version":"4c9a0564bb317349de6a24eb4efea8bb79898fa72ad63a1809165f5bd42970dd","impliedFormat":1},{"version":"f40ac11d8859092d20f953aae14ba967282c3bb056431a37fced1866ec7a2681","impliedFormat":1},{"version":"cc11e9e79d4746cc59e0e17473a59d6f104692fd0eeea1bdb2e206eabed83b03","impliedFormat":1},{"version":"b444a410d34fb5e98aa5ee2b381362044f4884652e8bc8a11c8fe14bbd85518e","impliedFormat":1},{"version":"c35808c1f5e16d2c571aa65067e3cb95afeff843b259ecfa2fc107a9519b5392","impliedFormat":1},{"version":"14d5dc055143e941c8743c6a21fa459f961cbc3deedf1bfe47b11587ca4b3ef5","impliedFormat":1},{"version":"a3ad4e1fc542751005267d50a6298e6765928c0c3a8dce1572f2ba6ca518661c","impliedFormat":1},{"version":"f237e7c97a3a89f4591afd49ecb3bd8d14f51a1c4adc8fcae3430febedff5eb6","impliedFormat":1},{"version":"3ffdfbec93b7aed71082af62b8c3e0cc71261cc68d796665faa1e91604fbae8f","impliedFormat":1},{"version":"662201f943ed45b1ad600d03a90dffe20841e725203ced8b708c91fcd7f9379a","impliedFormat":1},{"version":"c9ef74c64ed051ea5b958621e7fb853fe3b56e8787c1587aefc6ea988b3c7e79","impliedFormat":1},{"version":"2462ccfac5f3375794b861abaa81da380f1bbd9401de59ffa43119a0b644253d","impliedFormat":1},{"version":"34baf65cfee92f110d6653322e2120c2d368ee64b3c7981dff08ed105c4f19b0","impliedFormat":1},{"version":"7d8ddf0f021c53099e34ee831a06c394d50371816caa98684812f089b4c6b3d4","impliedFormat":1},{"version":"7d2a0ba1297be385a89b5515b88cd31b4a1eeef5236f710166dc1b36b1741e1b","impliedFormat":1},{"version":"5adc55aaebfb20914e274a1202b5c78638260364997d724dec52d7b2704b461c","impliedFormat":1},{"version":"525b52b38b44420fb1758c0917e7b67cf379f7f9477d2ba7343f3d5f50a44258","affectsGlobalScope":true,"impliedFormat":1},{"version":"58b63c0f3bfac04d639c31a9fe094089c0bdcc8cda7bc35f1f23828677aa7926","impliedFormat":1},{"version":"d51d662a37aa1f1b97ed4caf4f1c25832047b9bfffcc707b53aedd07cd245303","impliedFormat":1},{"version":"b9d02ff98f8c5da182f415c7152b0da746346b0a15e6a93d772eff0c72165b9d","impliedFormat":1},{"version":"bae8d023ef6b23df7da26f51cea44321f95817c190342a36882e93b80d07a960","impliedFormat":1},{"version":"5d30d04a14ed8527ac5d654dc345a4db11b593334c11a65efb6e4facc5484a0e","impliedFormat":1}],"root":[[178,181]],"options":{"allowJs":false,"checkJs":false,"composite":true,"declaration":true,"declarationMap":true,"esModuleInterop":true,"inlineSourceMap":false,"module":199,"outDir":"./esm","rootDir":"../src","skipLibCheck":true,"sourceMap":true,"strict":true,"target":9,"useUnknownInCatchVariables":false},"fileIdsList":[[157,161],[157],[129,148,156],[157,158,159,160],[183],[185],[187,188,189],[129,148],[112,148,149,150],[148],[111,129,137,148],[112,140,148],[111,148],[62],[98],[99,104,132],[100,111,112,119,129,140],[100,101,111,119],[102,141],[103,104,112,120],[104,129,137],[105,107,111,119],[98,106],[107,108],[111],[109,111],[98,111],[111,112,113,129,140],[111,112,113,126,129,132],[96,145],[107,111,114,119,129,140],[111,112,114,115,119,129,137,140],[114,116,129,137,140],[62,63,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147],[111,117],[118,140,145],[107,111,119,129],[120],[121],[98,122],[123,139,145],[124],[125],[111,126,127],[126,128,141,143],[99,111,129,130,131,132],[99,129,131],[129,130],[132],[133],[98,129],[111,135,136],[135,136],[104,119,129,137],[138],[119,139],[99,114,125,140],[104,141],[129,142],[118,143],[144],[99,104,111,113,122,129,140,143,145],[129,146],[111,139,148,203],[206,245],[206,230,245],[245],[206],[206,231,245],[206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244],[231,245],[183,247],[246],[112,129,146,148,249],[105,119,148,169,192],[252],[100,129,148],[167],[111,129,148],[100],[73,77,140],[73,129,140],[68],[70,73,137,140],[119,137],[68,148],[70,73,119,140],[65,66,69,72,99,111,129,140],[65,71],[69,73,99,132,140,148],[99,148],[89,99,148],[67,68,148],[73],[67,68,69,70,71,72,73,74,75,77,78,79,80,81,82,83,84,85,86,87,88,90,91,92,93,94,95],[73,80,81],[71,73,81,82],[72],[65,68,73],[73,77,81,82],[77],[71,73,76,140],[65,70,71,73,77,80],[99,129],[68,73,89,99,145,148],[129,148,168],[129,148,168,169,170,171],[114,148,169],[164,165,166,173,174,175,176],[154],[172],[100,148,154,155,162,163],[177,179,180],[121,146,151,164,177,179],[111,119,164,178],[112,152,153],[164,179],[111,119,164]],"referencedMap":[[162,1],[158,2],[157,3],[159,2],[160,2],[161,4],[184,5],[186,6],[190,7],[191,8],[151,9],[192,10],[193,11],[149,12],[194,10],[199,10],[200,13],[62,14],[63,14],[98,15],[99,16],[100,17],[101,18],[102,19],[103,20],[104,21],[105,22],[106,23],[107,24],[108,24],[110,25],[109,26],[111,27],[112,28],[113,29],[97,30],[114,31],[115,32],[116,33],[148,34],[117,35],[118,36],[119,37],[120,38],[121,39],[122,40],[123,41],[124,42],[125,43],[126,44],[127,44],[128,45],[129,46],[131,47],[130,48],[132,49],[133,50],[134,51],[135,52],[136,53],[137,54],[138,55],[139,56],[140,57],[141,58],[142,59],[143,60],[144,61],[145,62],[146,63],[204,64],[230,65],[231,66],[206,67],[209,67],[228,65],[229,65],[219,65],[218,68],[216,65],[211,65],[224,65],[222,65],[226,65],[210,65],[223,65],[227,65],[212,65],[213,65],[225,65],[207,65],[214,65],[215,65],[217,65],[221,65],[232,69],[220,65],[208,65],[245,70],[239,69],[241,71],[240,69],[233,69],[234,69],[236,69],[238,69],[242,71],[243,71],[235,71],[237,71],[248,72],[247,73],[250,74],[251,75],[253,76],[156,77],[168,78],[249,79],[155,80],[80,81],[87,82],[79,81],[94,83],[71,84],[70,85],[93,10],[88,86],[91,87],[73,88],[72,89],[68,90],[67,91],[90,92],[69,93],[74,94],[78,94],[96,95],[95,94],[82,96],[83,97],[85,98],[81,99],[84,100],[89,10],[76,101],[77,102],[86,103],[66,104],[92,105],[169,106],[172,107],[170,10],[171,108],[177,109],[174,110],[173,111],[164,112],[181,113],[180,114],[179,115],[154,116],[152,38]],"exportedModulesMap":[[162,1],[158,2],[157,3],[159,2],[160,2],[161,4],[184,5],[186,6],[190,7],[191,8],[151,9],[192,10],[193,11],[149,12],[194,10],[199,10],[200,13],[62,14],[63,14],[98,15],[99,16],[100,17],[101,18],[102,19],[103,20],[104,21],[105,22],[106,23],[107,24],[108,24],[110,25],[109,26],[111,27],[112,28],[113,29],[97,30],[114,31],[115,32],[116,33],[148,34],[117,35],[118,36],[119,37],[120,38],[121,39],[122,40],[123,41],[124,42],[125,43],[126,44],[127,44],[128,45],[129,46],[131,47],[130,48],[132,49],[133,50],[134,51],[135,52],[136,53],[137,54],[138,55],[139,56],[140,57],[141,58],[142,59],[143,60],[144,61],[145,62],[146,63],[204,64],[230,65],[231,66],[206,67],[209,67],[228,65],[229,65],[219,65],[218,68],[216,65],[211,65],[224,65],[222,65],[226,65],[210,65],[223,65],[227,65],[212,65],[213,65],[225,65],[207,65],[214,65],[215,65],[217,65],[221,65],[232,69],[220,65],[208,65],[245,70],[239,69],[241,71],[240,69],[233,69],[234,69],[236,69],[238,69],[242,71],[243,71],[235,71],[237,71],[248,72],[247,73],[250,74],[251,75],[253,76],[156,77],[168,78],[249,79],[155,80],[80,81],[87,82],[79,81],[94,83],[71,84],[70,85],[93,10],[88,86],[91,87],[73,88],[72,89],[68,90],[67,91],[90,92],[69,93],[74,94],[78,94],[96,95],[95,94],[82,96],[83,97],[85,98],[81,99],[84,100],[89,10],[76,101],[77,102],[86,103],[66,104],[92,105],[169,106],[172,107],[170,10],[171,108],[177,109],[174,110],[173,111],[164,112],[181,113],[180,117],[179,118],[154,116],[152,38]],"semanticDiagnosticsPerFile":[162,158,157,159,160,161,182,184,183,186,187,190,188,191,151,192,193,189,149,150,194,195,196,197,198,185,199,200,62,63,98,99,100,101,102,103,104,105,106,107,108,110,109,111,112,113,97,147,114,115,116,148,117,118,119,120,121,122,123,124,125,126,127,128,129,131,130,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,201,202,204,205,203,230,231,206,209,228,229,219,218,216,211,224,222,226,210,223,227,212,213,225,207,214,215,217,221,232,220,208,245,244,239,241,240,233,234,236,238,242,243,235,237,248,247,246,250,167,251,252,253,64,156,168,249,155,60,61,12,11,2,13,14,15,16,17,18,19,20,3,21,4,22,26,23,24,25,27,28,29,5,30,31,32,33,6,37,34,35,36,38,7,39,44,45,40,41,42,43,8,49,46,47,48,50,9,51,52,53,56,54,55,57,58,10,1,59,80,87,79,94,71,70,93,88,91,73,72,68,67,90,69,74,75,78,65,96,95,82,83,85,81,84,89,76,77,86,66,92,169,172,170,171,177,176,165,174,173,163,166,175,164,181,178,180,179,153,154,152],"latestChangedDtsFile":"./esm/index.d.ts"},"version":"5.4.5"}
1
+ {"program":{"fileNames":["../../../node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/typescript/lib/lib.es2022.d.ts","../../../node_modules/typescript/lib/lib.es2023.d.ts","../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.array.d.ts","../../../node_modules/typescript/lib/lib.es2022.error.d.ts","../../../node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.object.d.ts","../../../node_modules/typescript/lib/lib.es2022.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2022.string.d.ts","../../../node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2023.array.d.ts","../../../node_modules/typescript/lib/lib.es2023.collection.d.ts","../../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../node_modules/@types/node/assert.d.ts","../../../node_modules/@types/node/assert/strict.d.ts","../../../node_modules/buffer/index.d.ts","../../../node_modules/undici-types/header.d.ts","../../../node_modules/undici-types/readable.d.ts","../../../node_modules/undici-types/file.d.ts","../../../node_modules/undici-types/fetch.d.ts","../../../node_modules/undici-types/formdata.d.ts","../../../node_modules/undici-types/connector.d.ts","../../../node_modules/undici-types/client.d.ts","../../../node_modules/undici-types/errors.d.ts","../../../node_modules/undici-types/dispatcher.d.ts","../../../node_modules/undici-types/global-dispatcher.d.ts","../../../node_modules/undici-types/global-origin.d.ts","../../../node_modules/undici-types/pool-stats.d.ts","../../../node_modules/undici-types/pool.d.ts","../../../node_modules/undici-types/handlers.d.ts","../../../node_modules/undici-types/balanced-pool.d.ts","../../../node_modules/undici-types/agent.d.ts","../../../node_modules/undici-types/mock-interceptor.d.ts","../../../node_modules/undici-types/mock-agent.d.ts","../../../node_modules/undici-types/mock-client.d.ts","../../../node_modules/undici-types/mock-pool.d.ts","../../../node_modules/undici-types/mock-errors.d.ts","../../../node_modules/undici-types/proxy-agent.d.ts","../../../node_modules/undici-types/api.d.ts","../../../node_modules/undici-types/cookies.d.ts","../../../node_modules/undici-types/patch.d.ts","../../../node_modules/undici-types/filereader.d.ts","../../../node_modules/undici-types/diagnostics-channel.d.ts","../../../node_modules/undici-types/websocket.d.ts","../../../node_modules/undici-types/content-type.d.ts","../../../node_modules/undici-types/cache.d.ts","../../../node_modules/undici-types/interceptors.d.ts","../../../node_modules/undici-types/index.d.ts","../../../node_modules/@types/node/globals.d.ts","../../../node_modules/@types/node/async_hooks.d.ts","../../../node_modules/@types/node/buffer.d.ts","../../../node_modules/@types/node/child_process.d.ts","../../../node_modules/@types/node/cluster.d.ts","../../../node_modules/@types/node/console.d.ts","../../../node_modules/@types/node/constants.d.ts","../../../node_modules/@types/node/crypto.d.ts","../../../node_modules/@types/node/dgram.d.ts","../../../node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/@types/node/dns.d.ts","../../../node_modules/@types/node/dns/promises.d.ts","../../../node_modules/@types/node/domain.d.ts","../../../node_modules/@types/node/dom-events.d.ts","../../../node_modules/@types/node/events.d.ts","../../../node_modules/@types/node/fs.d.ts","../../../node_modules/@types/node/fs/promises.d.ts","../../../node_modules/@types/node/http.d.ts","../../../node_modules/@types/node/http2.d.ts","../../../node_modules/@types/node/https.d.ts","../../../node_modules/@types/node/inspector.d.ts","../../../node_modules/@types/node/module.d.ts","../../../node_modules/@types/node/net.d.ts","../../../node_modules/@types/node/os.d.ts","../../../node_modules/@types/node/path.d.ts","../../../node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/@types/node/process.d.ts","../../../node_modules/@types/node/punycode.d.ts","../../../node_modules/@types/node/querystring.d.ts","../../../node_modules/@types/node/readline.d.ts","../../../node_modules/@types/node/readline/promises.d.ts","../../../node_modules/@types/node/repl.d.ts","../../../node_modules/@types/node/stream.d.ts","../../../node_modules/@types/node/stream/promises.d.ts","../../../node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/@types/node/stream/web.d.ts","../../../node_modules/@types/node/string_decoder.d.ts","../../../node_modules/@types/node/test.d.ts","../../../node_modules/@types/node/timers.d.ts","../../../node_modules/@types/node/timers/promises.d.ts","../../../node_modules/@types/node/tls.d.ts","../../../node_modules/@types/node/trace_events.d.ts","../../../node_modules/@types/node/tty.d.ts","../../../node_modules/@types/node/url.d.ts","../../../node_modules/@types/node/util.d.ts","../../../node_modules/@types/node/v8.d.ts","../../../node_modules/@types/node/vm.d.ts","../../../node_modules/@types/node/wasi.d.ts","../../../node_modules/@types/node/worker_threads.d.ts","../../../node_modules/@types/node/zlib.d.ts","../../../node_modules/@types/node/globals.global.d.ts","../../../node_modules/@types/node/index.d.ts","../../../node_modules/@types/jsonfile/index.d.ts","../../../node_modules/@types/jsonfile/utils.d.ts","../../../node_modules/@types/fs-extra/index.d.ts","../../types-dev/objects.d.ts","../../types-dev/config.d.ts","../../types-dev/index.d.ts","../../../node_modules/promisify-child-process/index.d.ts","../../../node_modules/execa/index.d.ts","../../../node_modules/@alcalzone/pak/build/lib/package-managers/package-manager.d.ts","../../../node_modules/@alcalzone/pak/build/lib/package-managers/npm/index.d.ts","../../../node_modules/@alcalzone/pak/build/lib/package-managers/yarn-berry/index.d.ts","../../../node_modules/@alcalzone/pak/build/lib/package-managers/yarn-classic/index.d.ts","../../../node_modules/@alcalzone/pak/build/lib/pak.d.ts","../../../node_modules/@alcalzone/pak/build/index.d.ts","../../common-db/build/esm/lib/common/maybeCallback.d.ts","../../common-db/build/esm/lib/common/tools.d.ts","../../common-db/build/esm/lib/common/exitCodes.d.ts","../../common-db/build/esm/lib/common/password.d.ts","../../../node_modules/@types/triple-beam/index.d.ts","../../../node_modules/logform/index.d.ts","../../../node_modules/winston-transport/index.d.ts","../../../node_modules/winston/lib/winston/config/index.d.ts","../../../node_modules/winston/lib/winston/transports/index.d.ts","../../../node_modules/winston/index.d.ts","../../common-db/build/esm/lib/common/logger.d.ts","../../common-db/build/esm/lib/common/interview.d.ts","../../common-db/build/esm/lib/common/session.d.ts","../../common-db/build/esm/lib/common/constants.d.ts","../../common-db/build/esm/index.d.ts","../src/lib/inMemFileDB.ts","../src/lib/constants.ts","../src/lib/redisHandler.ts","../src/index.ts","../../../node_modules/@types/argparse/index.d.ts","../../../node_modules/@types/chai/index.d.ts","../../../node_modules/@types/chai-as-promised/index.d.ts","../../../node_modules/@types/ms/index.d.ts","../../../node_modules/@types/debug/index.d.ts","../../../node_modules/@types/eslint/helpers.d.ts","../../../node_modules/@types/estree/index.d.ts","../../../node_modules/@types/json-schema/index.d.ts","../../../node_modules/@types/eslint/index.d.ts","../../../node_modules/@types/event-stream/index.d.ts","../../../node_modules/@types/glossy/index.d.ts","../../../node_modules/@types/ioredis/index.d.ts","../../../node_modules/@types/jsonwebtoken/index.d.ts","../../../node_modules/@types/mime-types/index.d.ts","../../../node_modules/@types/minimatch/index.d.ts","../../../node_modules/@types/minimist/index.d.ts","../../../node_modules/@types/mocha/index.d.ts","../../../node_modules/@types/node-forge/index.d.ts","../../../node_modules/@types/node-schedule/index.d.ts","../../../node_modules/@types/normalize-package-data/index.d.ts","../../../node_modules/@types/pidusage/index.d.ts","../../../node_modules/@types/revalidator/index.d.ts","../../../node_modules/@types/prompt/index.d.ts","../../../node_modules/@types/readline-sync/index.d.ts","../../../node_modules/@types/semver/classes/semver.d.ts","../../../node_modules/@types/semver/functions/parse.d.ts","../../../node_modules/@types/semver/functions/valid.d.ts","../../../node_modules/@types/semver/functions/clean.d.ts","../../../node_modules/@types/semver/functions/inc.d.ts","../../../node_modules/@types/semver/functions/diff.d.ts","../../../node_modules/@types/semver/functions/major.d.ts","../../../node_modules/@types/semver/functions/minor.d.ts","../../../node_modules/@types/semver/functions/patch.d.ts","../../../node_modules/@types/semver/functions/prerelease.d.ts","../../../node_modules/@types/semver/functions/compare.d.ts","../../../node_modules/@types/semver/functions/rcompare.d.ts","../../../node_modules/@types/semver/functions/compare-loose.d.ts","../../../node_modules/@types/semver/functions/compare-build.d.ts","../../../node_modules/@types/semver/functions/sort.d.ts","../../../node_modules/@types/semver/functions/rsort.d.ts","../../../node_modules/@types/semver/functions/gt.d.ts","../../../node_modules/@types/semver/functions/lt.d.ts","../../../node_modules/@types/semver/functions/eq.d.ts","../../../node_modules/@types/semver/functions/neq.d.ts","../../../node_modules/@types/semver/functions/gte.d.ts","../../../node_modules/@types/semver/functions/lte.d.ts","../../../node_modules/@types/semver/functions/cmp.d.ts","../../../node_modules/@types/semver/functions/coerce.d.ts","../../../node_modules/@types/semver/classes/comparator.d.ts","../../../node_modules/@types/semver/classes/range.d.ts","../../../node_modules/@types/semver/functions/satisfies.d.ts","../../../node_modules/@types/semver/ranges/max-satisfying.d.ts","../../../node_modules/@types/semver/ranges/min-satisfying.d.ts","../../../node_modules/@types/semver/ranges/to-comparators.d.ts","../../../node_modules/@types/semver/ranges/min-version.d.ts","../../../node_modules/@types/semver/ranges/valid.d.ts","../../../node_modules/@types/semver/ranges/outside.d.ts","../../../node_modules/@types/semver/ranges/gtr.d.ts","../../../node_modules/@types/semver/ranges/ltr.d.ts","../../../node_modules/@types/semver/ranges/intersects.d.ts","../../../node_modules/@types/semver/ranges/simplify.d.ts","../../../node_modules/@types/semver/ranges/subset.d.ts","../../../node_modules/@types/semver/internals/identifiers.d.ts","../../../node_modules/@types/semver/index.d.ts","../../../node_modules/@types/sinonjs__fake-timers/index.d.ts","../../../node_modules/@types/sinon/index.d.ts","../../../node_modules/@types/sinon-chai/index.d.ts","../../../node_modules/minipass/index.d.ts","../../../node_modules/@types/tar/index.d.ts","../../../node_modules/@types/winston-syslog/index.d.ts","../../../node_modules/@types/yargs-parser/index.d.ts","../../../node_modules/@types/yargs/index.d.ts"],"fileInfos":[{"version":"824cb491a40f7e8fdeb56f1df5edf91b23f3e3ee6b4cde84d4a99be32338faee","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"9a68c0c07ae2fa71b44384a839b7b8d81662a236d4b9ac30916718f7510b1b2d","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","impliedFormat":1},{"version":"5514e54f17d6d74ecefedc73c504eadffdeda79c7ea205cf9febead32d45c4bc","impliedFormat":1},{"version":"1c0cdb8dc619bc549c3e5020643e7cf7ae7940058e8c7e5aefa5871b6d86f44b","impliedFormat":1},{"version":"138fb588d26538783b78d1e3b2c2cc12d55840b97bf5e08bca7f7a174fbe2f17","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"4443e68b35f3332f753eacc66a04ac1d2053b8b035a0e0ac1d455392b5e243b3","affectsGlobalScope":true,"impliedFormat":1},{"version":"bc47685641087c015972a3f072480889f0d6c65515f12bd85222f49a98952ed7","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"93495ff27b8746f55d19fcbcdbaccc99fd95f19d057aed1bd2c0cafe1335fbf0","affectsGlobalScope":true,"impliedFormat":1},{"version":"6fc23bb8c3965964be8c597310a2878b53a0306edb71d4b5a4dfe760186bcc01","affectsGlobalScope":true,"impliedFormat":1},{"version":"ea011c76963fb15ef1cdd7ce6a6808b46322c527de2077b6cfdf23ae6f5f9ec7","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"bb42a7797d996412ecdc5b2787720de477103a0b2e53058569069a0e2bae6c7e","affectsGlobalScope":true,"impliedFormat":1},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true,"impliedFormat":1},{"version":"61c37c1de663cf4171e1192466e52c7a382afa58da01b1dc75058f032ddf0839","affectsGlobalScope":true,"impliedFormat":1},{"version":"b541a838a13f9234aba650a825393ffc2292dc0fc87681a5d81ef0c96d281e7a","affectsGlobalScope":true,"impliedFormat":1},{"version":"b20fe0eca9a4e405f1a5ae24a2b3290b37cf7f21eba6cbe4fc3fab979237d4f3","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"49ed889be54031e1044af0ad2c603d627b8bda8b50c1a68435fe85583901d072","affectsGlobalScope":true,"impliedFormat":1},{"version":"e93d098658ce4f0c8a0779e6cab91d0259efb88a318137f686ad76f8410ca270","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true,"impliedFormat":1},{"version":"5e07ed3809d48205d5b985642a59f2eba47c402374a7cf8006b686f79efadcbd","affectsGlobalScope":true,"impliedFormat":1},{"version":"2b72d528b2e2fe3c57889ca7baef5e13a56c957b946906d03767c642f386bbc3","affectsGlobalScope":true,"impliedFormat":1},{"version":"8073890e29d2f46fdbc19b8d6d2eb9ea58db9a2052f8640af20baff9afbc8640","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"51e547984877a62227042850456de71a5c45e7fe86b7c975c6e68896c86fa23b","affectsGlobalScope":true,"impliedFormat":1},{"version":"956d27abdea9652e8368ce029bb1e0b9174e9678a273529f426df4b3d90abd60","affectsGlobalScope":true,"impliedFormat":1},{"version":"4fa6ed14e98aa80b91f61b9805c653ee82af3502dc21c9da5268d3857772ca05","affectsGlobalScope":true,"impliedFormat":1},{"version":"e6633e05da3ff36e6da2ec170d0d03ccf33de50ca4dc6f5aeecb572cedd162fb","affectsGlobalScope":true,"impliedFormat":1},{"version":"d8670852241d4c6e03f2b89d67497a4bbefe29ecaa5a444e2c11a9b05e6fccc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true,"impliedFormat":1},{"version":"caccc56c72713969e1cfe5c3d44e5bab151544d9d2b373d7dbe5a1e4166652be","affectsGlobalScope":true,"impliedFormat":1},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true,"impliedFormat":1},{"version":"50d53ccd31f6667aff66e3d62adf948879a3a16f05d89882d1188084ee415bbc","affectsGlobalScope":true,"impliedFormat":1},{"version":"08a58483392df5fcc1db57d782e87734f77ae9eab42516028acbfe46f29a3ef7","affectsGlobalScope":true,"impliedFormat":1},{"version":"436aaf437562f276ec2ddbee2f2cdedac7664c1e4c1d2c36839ddd582eeb3d0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"13f6e6380c78e15e140243dc4be2fa546c287c6d61f4729bc2dd7cf449605471","affectsGlobalScope":true,"impliedFormat":1},{"version":"33358442698bb565130f52ba79bfd3d4d484ac85fe33f3cb1759c54d18201393","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"3846d0dcf468a1d1a07e6d00eaa37ec542956fb5fe0357590a6407af20d2ff90","impliedFormat":1},{"version":"7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","impliedFormat":1},{"version":"8e9c23ba78aabc2e0a27033f18737a6df754067731e69dc5f52823957d60a4b6","impliedFormat":1},{"version":"5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","impliedFormat":1},{"version":"7180c03fd3cb6e22f911ce9ba0f8a7008b1a6ddbe88ccf16a9c8140ef9ac1686","impliedFormat":1},{"version":"25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","impliedFormat":1},{"version":"54cb85a47d760da1c13c00add10d26b5118280d44d58e6908d8e89abbd9d7725","impliedFormat":1},{"version":"3e4825171442666d31c845aeb47fcd34b62e14041bb353ae2b874285d78482aa","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"a967bfe3ad4e62243eb604bf956101e4c740f5921277c60debaf325c1320bf88","impliedFormat":1},{"version":"e9775e97ac4877aebf963a0289c81abe76d1ec9a2a7778dbe637e5151f25c5f3","impliedFormat":1},{"version":"471e1da5a78350bc55ef8cef24eb3aca6174143c281b8b214ca2beda51f5e04a","impliedFormat":1},{"version":"cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","impliedFormat":1},{"version":"385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","impliedFormat":1},{"version":"9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","impliedFormat":1},{"version":"db3435f3525cd785bf21ec6769bf8da7e8a776be1a99e2e7efb5f244a2ef5fee","impliedFormat":1},{"version":"c3b170c45fc031db31f782e612adf7314b167e60439d304b49e704010e7bafe5","impliedFormat":1},{"version":"40383ebef22b943d503c6ce2cb2e060282936b952a01bea5f9f493d5fb487cc7","impliedFormat":1},{"version":"4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","impliedFormat":1},{"version":"3a84b7cb891141824bd00ef8a50b6a44596aded4075da937f180c90e362fe5f6","impliedFormat":1},{"version":"13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","impliedFormat":1},{"version":"9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","impliedFormat":1},{"version":"4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","impliedFormat":1},{"version":"24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","impliedFormat":1},{"version":"33203609eba548914dc83ddf6cadbc0bcb6e8ef89f6d648ca0908ae887f9fcc5","impliedFormat":1},{"version":"0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","impliedFormat":1},{"version":"89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","impliedFormat":1},{"version":"e53a3c2a9f624d90f24bf4588aacd223e7bec1b9d0d479b68d2f4a9e6011147f","impliedFormat":1},{"version":"339dc5265ee5ed92e536a93a04c4ebbc2128f45eeec6ed29f379e0085283542c","impliedFormat":1},{"version":"9f0a92164925aa37d4a5d9dd3e0134cff8177208dba55fd2310cd74beea40ee2","impliedFormat":1},{"version":"8bfdb79bf1a9d435ec48d9372dc93291161f152c0865b81fc0b2694aedb4578d","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"d32275be3546f252e3ad33976caf8c5e842c09cb87d468cb40d5f4cf092d1acc","impliedFormat":1},{"version":"4a0c3504813a3289f7fb1115db13967c8e004aa8e4f8a9021b95285502221bd1","impliedFormat":1},{"version":"49026435d21e3d7559d723af3ae48f73ec28f9cba651b41bd2ac991012836122","affectsGlobalScope":true,"impliedFormat":1},{"version":"39b1a50d543770780b0409a4caacb87f3ff1d510aedfeb7dc06ed44188256f89","impliedFormat":1},{"version":"dafc58ee47fa25dbc68b27c638bd6153dd7659021c164f64b7760757e9f5a6ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"16b872cf5432818bdbf405428b4a1d77bb2a7ab908e8bd6609f9a541cea92f81","impliedFormat":1},{"version":"304504c854c47a55ab4a89111a27a2daf8a3614740bd787cc1f2c51e5574239c","impliedFormat":1},{"version":"95f9129a37dcace36e17b061a8484952586ecfe928c9c8ce526de1a2f4aaefa7","affectsGlobalScope":true,"impliedFormat":1},{"version":"a40826e8476694e90da94aa008283a7de50d1dafd37beada623863f1901cb7fb","impliedFormat":1},{"version":"ed3db4eb7ad0466e19df82d9ee5c057d78df954283004783932d75e8fa4058c5","impliedFormat":1},{"version":"278fe296432b9840660d6e0d1778b4b4897a591d4b910a5f7ac8db0b476a8af7","impliedFormat":1},{"version":"1c611ff373ce1958aafc40b328048ac2540ba5c7f373cf2897e0d9aeaabe90a0","impliedFormat":1},{"version":"fd7a7fc2bb1f38ba0cded7bd8088c99033365859e03ba974f7de072e9d989fde","impliedFormat":1},{"version":"6cf42fc3765241c59339047a45855c506a2f94ee5e734bbded94ddcafc66e4c5","impliedFormat":1},{"version":"c6cf9428f45f3d78b07df7d7aab1569994c177d36549e3a962f952d89f026bc4","impliedFormat":1},{"version":"ee1ee365d88c4c6c0c0a5a5701d66ebc27ccd0bcfcfaa482c6e2e7fe7b98edf7","affectsGlobalScope":true,"impliedFormat":1},{"version":"cce14dcba2c2cb1059977ad65cf9caef890118cb20e35c4cf420bf1c83f27c1a","affectsGlobalScope":true,"impliedFormat":1},{"version":"9d604e6f853b64692415a61662d8490cc6057596ce7fb52a3a2ce878e376586c","impliedFormat":1},{"version":"021ca24be8eb8c46f99b4e03ebf872931f590c9b07b88d715c68bd30495b6c44","impliedFormat":1},{"version":"fb862b9a2e78754cf44b770ba6f194987d63c8d4cd103c6c05534faa4120ae98","impliedFormat":1},{"version":"91479d2a9bc09df0091b5e24af57cb462cd223e56498d16e9efdaebd587fa81d","impliedFormat":1},{"version":"e3baa0c5780c2c805ec33a999722a2f740b572eb3746fd0a5f93a0a5c3dbf7f6","impliedFormat":1},{"version":"c6f77efcc19f51c8759779b6b6ee0d88046c15c15dadac8ffed729a6620daf39","impliedFormat":1},{"version":"089867511b37a534ae71f3d9bc97acc0b925b7f5dbec113f98c4b49224c694eb","affectsGlobalScope":true,"impliedFormat":1},{"version":"e0cc19f50900706e7aae038565e825f2014ac5325b99b3daabf8ecd5d3d09f1a","impliedFormat":1},{"version":"f5ce35485541e817c2d4105d3eb78e3e538bbb009515ed014694363fa3e94ceb","impliedFormat":1},{"version":"323506ce173f7f865f42f493885ee3dacd18db6359ea1141d57676d3781ce10c","impliedFormat":1},{"version":"bd88055918cf8bf30ad7c9269177f7ebeafd4c5f0d28919edccd1c1d24f7e73c","affectsGlobalScope":true,"impliedFormat":1},{"version":"645baafeaed6855c8796fcbae4e813021c65f36eaa3f6178535457a2366f6849","affectsGlobalScope":true,"impliedFormat":1},{"version":"ea3ab3727cd6c222d94003ecafa30e8550c61eadcdabbf59514aee76e86211a5","impliedFormat":1},{"version":"d3cdd41693c5ed6bec4f1a1c399d9501372b14bd341bc46eedacf2854c5df5a7","impliedFormat":1},{"version":"2de7a21c92226fb8abbeed7a0a9bd8aa6d37e4c68a8c7ff7938c644267e9fcc1","impliedFormat":1},{"version":"6d6070c5c81ba0bfe58988c69e3ba3149fc86421fd383f253aeb071cbf29cd41","impliedFormat":1},{"version":"48dab0d6e633b8052e7eaa0efb0bb3d58a733777b248765eafcb0b0349439834","impliedFormat":1},{"version":"d3e22aaa84d935196f465fff6645f88bb41352736c3130285eea0f2489c5f183","impliedFormat":1},{"version":"269929a24b2816343a178008ac9ae9248304d92a8ba8e233055e0ed6dbe6ef71","impliedFormat":1},{"version":"93452d394fdd1dc551ec62f5042366f011a00d342d36d50793b3529bfc9bd633","impliedFormat":1},{"version":"5195aeb0de306d1c5ca8033457fbcab5987657112fa6d4971cfeb7644493a369","impliedFormat":1},{"version":"c5dbf0003bc9f0f643e54cd00a3868d1afe85497fecb56be6f2373dc85102924","impliedFormat":1},{"version":"5a6fc2089f515b39aaa208339421669f61935cd661e356ebee49240be85091fd","affectsGlobalScope":true,"impliedFormat":1},{"version":"300f8e9de0b0c3482be3e749462b6ebc3dab8a316801f1da0def94aed0cd2018","affectsGlobalScope":true,"impliedFormat":1},{"version":"4e228e78c1e9b0a75c70588d59288f63a6258e8b1fe4a67b0c53fe03461421d9","impliedFormat":1},{"version":"3df5b34f3449733bc4831b8d670f958a045e7a3f5d7b0e21991ef95408dbec13","impliedFormat":1},{"version":"76a89af04f2ba1807309320dab5169c0d1243b80738b4a2005989e40a136733e","impliedFormat":1},{"version":"c045b664abf3fc2a4750fa96117ab2735e4ed45ddd571b2a6a91b9917e231a02","impliedFormat":1},{"version":"068b8ee5c2cd90d7a50f2efadbbe353cb10196a41189a48bf4b2a867363012b4","affectsGlobalScope":true,"impliedFormat":1},{"version":"0c312a7c5dec6c616f754d3a4b16318ce8d1cb912dfb3dfa0e808f45e66cbb21","affectsGlobalScope":true,"impliedFormat":1},{"version":"6f44a190351ab5e1811abebe007cf60518044772ccc08244f9f241706afa767f","impliedFormat":1},{"version":"fecdf44bec4ee9c5188e5f2f58c292c9689c02520900dceaaa6e76594de6da90","impliedFormat":1},{"version":"cf45d0510b661f1da461479851ff902f188edb111777c37055eff12fa986a23a","impliedFormat":1},{"version":"6a4a80787c57c10b3ea8314c80d9cc6e1deb99d20adca16106a337825f582420","affectsGlobalScope":true,"impliedFormat":1},{"version":"f2b9440f98d6f94c8105883a2b65aee2fce0248f71f41beafd0a80636f3a565d","impliedFormat":1},{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true,"impliedFormat":1},{"version":"b510d0a18e3db42ac9765d26711083ec1e8b4e21caaca6dc4d25ae6e8623f447","impliedFormat":1},{"version":"211440ce81e87b3491cdf07155881344b0a61566df6e749acff0be7e8b9d1a07","impliedFormat":1},{"version":"5d9a0b6e6be8dbb259f64037bce02f34692e8c1519f5cd5d467d7fa4490dced4","impliedFormat":1},{"version":"880da0e0f3ebca42f9bd1bc2d3e5e7df33f2619d85f18ee0ed4bd16d1800bc32","impliedFormat":1},{"version":"e709b2e54b76c56496851d384b266e09cac33ee8a2f9f273b57d1ce17238cce6","affectsGlobalScope":true,"impliedFormat":1},{"version":"a9621d2b5371e49264a6586dafd19156baf08b7edca936ebb0692561931eadfb","impliedFormat":1},{"version":"cbf3004a12c73995c84ab8ebc7e01f05848051d02dc795387bdd2585c882258e","affectsGlobalScope":true,"impliedFormat":1},{"version":"45e2f08258e671e67a177bd9057e785956c23b2542308f9559db037fe1114105","impliedFormat":1},{"version":"088703b7810394a5af823ac753cca116931df81a97183725ae1e2c4e6038268d","impliedFormat":1},{"version":"6cf45d4fd013b7c4ba1cd422555a3170946dc1d3804e135b5c4a971dbe4c1aa7","impliedFormat":1},{"version":"2fd34e1921bb7e6706b8d9fcb5d4d9f2f3e23e742e38bdb3094c83668ca09070","impliedFormat":1},{"version":"be2ab41bbfa1db74d67df1a5cb0c00b5f6d4badc0bc35cff2984880e2698bc1b","impliedFormat":1},{"version":"746b7007f5959dc155f54964ce3d1f8289e914ad480f1f7ff64f54515415a637","impliedFormat":1},{"version":"41e1718c5738cd9261acc61439f2156ed3b8a3267de9805e55b3cf7d839f5063","impliedFormat":1},{"version":"4e20f9be439bf149c8f336a7d9efb1dcc785a29d8cbb73efa279f8bf883a7058","impliedFormat":1},{"version":"07e25f754a8435121d3ba0012458e3e10ae6f3fddeffebb2b1054a0579fad3ea","impliedFormat":99},{"version":"639f04da5e3f128214cf980ab636bbe6a625ff54a2724c6cd16e1787b5b53d8c","impliedFormat":99},{"version":"da77aa3d854b204e47ef742c4ecd71cd0b020f802e13b6a7e719367e8b9ccd18","impliedFormat":99},{"version":"04f395b82f656953ae6ccff3b26c55adb6a75e9e345991a10401696e593b0bb0","impliedFormat":99},{"version":"908217c4f2244ec402b73533ebfcc46d6dcd34fc1c807ff403d7f98702abb3bc","impliedFormat":1},{"version":"201ced2ca97d71fe47afdaebc656c2fa63ef2784256e4dfc9eb83930f7aac2c2","impliedFormat":1},{"version":"d8b8a5a6bf623239d5374ad4a7ff6f3b195ab5ee61293f59f1957e90d2a22809","impliedFormat":1},{"version":"35d283eca7dc0a0c7b099f5fbbf0678b87f3d837572cd5e539ba297ad9837e68","impliedFormat":1},{"version":"03852330113bfc10a497a653f39ad9f4ee8e4ed31a44cb9981de6d9d662c5354","impliedFormat":1},{"version":"26ec2c615ee349154b9cdb180a9bbd2d3e28a2646242e936cf79c1a44847ade7","impliedFormat":1},{"version":"56471ec726edfb50d4bc87b83e52f97de74f5d385db3db214f6e3ec2d02a3fb6","impliedFormat":99},{"version":"86a6eee8858453e02abc1196b611b348f9b157d19dcd47660246ede5b6a82676","impliedFormat":99},{"version":"129c10790c7de83509b3d852a79189b475a40b128e0726bd469f96b3d5749811","impliedFormat":99},{"version":"98763329166c62fa0ca9cfc0042bf924605c78bab880dc8b06ec83a445d3d67a","impliedFormat":99},{"version":"54cb16297ded2864aa5a752ac9ff205a85931492c3bdbe8a2ec9e584acb10048","impliedFormat":99},{"version":"afca813f160aee341fc9bf4e9fe2ef7ab0ce2f7fd437043bdd7b9ead58933147","signature":"1b6c1c1e0bb011297c88478ceb30804e15ddb86c0fb83788e3d1403202c09c48","impliedFormat":99},{"version":"dca08d0fcf13a1f796b10e8cc030ccffe2cdb64fff36f3492bfe3af22902b328","signature":"13458c06afd7d41f97955a72b84bb51b059e7a15d1547e9b11411a8ef82f60fa","impliedFormat":99},{"version":"59e8d01870b4924cebd032092e930b024b9d807c6270da9e93ed456e94f5f728","signature":"617b2e0fa917ace5e1b19dcef2eae8a5888732a390c94e0b97f1afa3b6c5b52c","impliedFormat":99},{"version":"ad739669b8527bacfaf8493ea4552216843afd0f9a2e583dec20ee7f4e2ead6e","impliedFormat":99},{"version":"dc3b172ee27054dbcedcf5007b78c256021db936f6313a9ce9a3ecbb503fd646","impliedFormat":1},{"version":"eef204f061321360559bd19235ea32a9d55b3ec22a362cc78d14ef50d4db4490","affectsGlobalScope":true,"impliedFormat":1},{"version":"86e56d97b13ef0a58bc9c59aee782ae7d47d63802b5b32129ec5e5d62c20dbfa","affectsGlobalScope":true,"impliedFormat":1},{"version":"68cc8d6fcc2f270d7108f02f3ebc59480a54615be3e09a47e14527f349e9d53e","impliedFormat":1},{"version":"3eb11dbf3489064a47a2e1cf9d261b1f100ef0b3b50ffca6c44dd99d6dd81ac1","impliedFormat":1},{"version":"64d4b35c5456adf258d2cf56c341e203a073253f229ef3208fc0d5020253b241","affectsGlobalScope":true,"impliedFormat":1},{"version":"ee7d8894904b465b072be0d2e4b45cf6b887cdba16a467645c4e200982ece7ea","impliedFormat":1},{"version":"f3d8c757e148ad968f0d98697987db363070abada5f503da3c06aefd9d4248c1","impliedFormat":1},{"version":"7852500a7dc3f9cb6b73d619f6e0249119211ea662fd5e16c59ee5aba3deeb80","impliedFormat":1},{"version":"c3ae6bb11d6666d56efb16b56903895ba5320c2c2b0fecaf27784ef4599ac632","impliedFormat":1},{"version":"3b43f7224c99344262753af8fc1bb66cf0dc36fb15de92a190af88502c6256f6","impliedFormat":1},{"version":"be00321090ed100e3bd1e566c0408004137e73feb19d6380eba57d68519ff6c5","impliedFormat":1},{"version":"bb4ed283cfb3db7ec1d4bb79c37f5e96d39b340f1f4de995c4b0b836c8d5fa05","impliedFormat":1},{"version":"169cc96316cacf8b489aaab4ac6bcef7b33e8779a8902bce57c737b4aa372d16","impliedFormat":1},{"version":"8841e2aa774b89bd23302dede20663306dc1b9902431ac64b24be8b8d0e3f649","impliedFormat":1},{"version":"fbca5ffaebf282ec3cdac47b0d1d4a138a8b0bb32105251a38acb235087d3318","impliedFormat":1},{"version":"0ea93d01083b3d5863cc98cb589b5d0eac55d14417487f9e5e455dfa0b17c660","affectsGlobalScope":true,"impliedFormat":1},{"version":"8b5402ae709d042c3530ed3506c135a967159f42aed3221267e70c5b7240b577","impliedFormat":1},{"version":"4f5269c28ed792a21efe3e2733a3398cb83f84384ccd9c5cd5a0950fdb211342","impliedFormat":1},{"version":"22293bd6fa12747929f8dfca3ec1684a3fe08638aa18023dd286ab337e88a592","impliedFormat":1},{"version":"327fddc7dd391f1e62262dafe41fc9cabedb4a5758a5cfce979cebab1456abb8","impliedFormat":1},{"version":"ec596fa2357df1b2702e42bcba645422eb727ab5c81136f78590f21a100286e1","affectsGlobalScope":true,"impliedFormat":1},{"version":"ff2ceda3a4b66023a83964a4e2674b9778ce5255f87c5eefefd6d0f7f1967d56","impliedFormat":1},{"version":"a016d2f6c0a2c15069ec69661ad37c86a450deb629ce96a592f15f01d3a5746e","impliedFormat":1},{"version":"cf3d384d082b933d987c4e2fe7bfb8710adfd9dc8155190056ed6695a25a559e","impliedFormat":1},{"version":"9871b7ee672bc16c78833bdab3052615834b08375cb144e4d2cba74473f4a589","impliedFormat":1},{"version":"c863198dae89420f3c552b5a03da6ed6d0acfa3807a64772b895db624b0de707","impliedFormat":1},{"version":"8b03a5e327d7db67112ebbc93b4f744133eda2c1743dbb0a990c61a8007823ef","impliedFormat":1},{"version":"86c73f2ee1752bac8eeeece234fd05dfcf0637a4fbd8032e4f5f43102faa8eec","impliedFormat":1},{"version":"42fad1f540271e35ca37cecda12c4ce2eef27f0f5cf0f8dd761d723c744d3159","impliedFormat":1},{"version":"ff3743a5de32bee10906aff63d1de726f6a7fd6ee2da4b8229054dfa69de2c34","impliedFormat":1},{"version":"83acd370f7f84f203e71ebba33ba61b7f1291ca027d7f9a662c6307d74e4ac22","impliedFormat":1},{"version":"1445cec898f90bdd18b2949b9590b3c012f5b7e1804e6e329fb0fe053946d5ec","impliedFormat":1},{"version":"0e5318ec2275d8da858b541920d9306650ae6ac8012f0e872fe66eb50321a669","impliedFormat":1},{"version":"cf530297c3fb3a92ec9591dd4fa229d58b5981e45fe6702a0bd2bea53a5e59be","impliedFormat":1},{"version":"c1f6f7d08d42148ddfe164d36d7aba91f467dbcb3caa715966ff95f55048b3a4","impliedFormat":1},{"version":"f4e9bf9103191ef3b3612d3ec0044ca4044ca5be27711fe648ada06fad4bcc85","impliedFormat":1},{"version":"0c1ee27b8f6a00097c2d6d91a21ee4d096ab52c1e28350f6362542b55380059a","impliedFormat":1},{"version":"7677d5b0db9e020d3017720f853ba18f415219fb3a9597343b1b1012cfd699f7","impliedFormat":1},{"version":"bc1c6bc119c1784b1a2be6d9c47addec0d83ef0d52c8fbe1f14a51b4dfffc675","impliedFormat":1},{"version":"52cf2ce99c2a23de70225e252e9822a22b4e0adb82643ab0b710858810e00bf1","impliedFormat":1},{"version":"770625067bb27a20b9826255a8d47b6b5b0a2d3dfcbd21f89904c731f671ba77","impliedFormat":1},{"version":"d1ed6765f4d7906a05968fb5cd6d1db8afa14dbe512a4884e8ea5c0f5e142c80","impliedFormat":1},{"version":"799c0f1b07c092626cf1efd71d459997635911bb5f7fc1196efe449bba87e965","impliedFormat":1},{"version":"2a184e4462b9914a30b1b5c41cf80c6d3428f17b20d3afb711fff3f0644001fd","impliedFormat":1},{"version":"9eabde32a3aa5d80de34af2c2206cdc3ee094c6504a8d0c2d6d20c7c179503cc","impliedFormat":1},{"version":"397c8051b6cfcb48aa22656f0faca2553c5f56187262135162ee79d2b2f6c966","impliedFormat":1},{"version":"a8ead142e0c87dcd5dc130eba1f8eeed506b08952d905c47621dc2f583b1bff9","impliedFormat":1},{"version":"a02f10ea5f73130efca046429254a4e3c06b5475baecc8f7b99a0014731be8b3","impliedFormat":1},{"version":"c2576a4083232b0e2d9bd06875dd43d371dee2e090325a9eac0133fd5650c1cb","impliedFormat":1},{"version":"4c9a0564bb317349de6a24eb4efea8bb79898fa72ad63a1809165f5bd42970dd","impliedFormat":1},{"version":"f40ac11d8859092d20f953aae14ba967282c3bb056431a37fced1866ec7a2681","impliedFormat":1},{"version":"cc11e9e79d4746cc59e0e17473a59d6f104692fd0eeea1bdb2e206eabed83b03","impliedFormat":1},{"version":"b444a410d34fb5e98aa5ee2b381362044f4884652e8bc8a11c8fe14bbd85518e","impliedFormat":1},{"version":"c35808c1f5e16d2c571aa65067e3cb95afeff843b259ecfa2fc107a9519b5392","impliedFormat":1},{"version":"14d5dc055143e941c8743c6a21fa459f961cbc3deedf1bfe47b11587ca4b3ef5","impliedFormat":1},{"version":"a3ad4e1fc542751005267d50a6298e6765928c0c3a8dce1572f2ba6ca518661c","impliedFormat":1},{"version":"f237e7c97a3a89f4591afd49ecb3bd8d14f51a1c4adc8fcae3430febedff5eb6","impliedFormat":1},{"version":"3ffdfbec93b7aed71082af62b8c3e0cc71261cc68d796665faa1e91604fbae8f","impliedFormat":1},{"version":"662201f943ed45b1ad600d03a90dffe20841e725203ced8b708c91fcd7f9379a","impliedFormat":1},{"version":"c9ef74c64ed051ea5b958621e7fb853fe3b56e8787c1587aefc6ea988b3c7e79","impliedFormat":1},{"version":"2462ccfac5f3375794b861abaa81da380f1bbd9401de59ffa43119a0b644253d","impliedFormat":1},{"version":"34baf65cfee92f110d6653322e2120c2d368ee64b3c7981dff08ed105c4f19b0","impliedFormat":1},{"version":"7d8ddf0f021c53099e34ee831a06c394d50371816caa98684812f089b4c6b3d4","impliedFormat":1},{"version":"7d2a0ba1297be385a89b5515b88cd31b4a1eeef5236f710166dc1b36b1741e1b","impliedFormat":1},{"version":"5adc55aaebfb20914e274a1202b5c78638260364997d724dec52d7b2704b461c","impliedFormat":1},{"version":"525b52b38b44420fb1758c0917e7b67cf379f7f9477d2ba7343f3d5f50a44258","affectsGlobalScope":true,"impliedFormat":1},{"version":"58b63c0f3bfac04d639c31a9fe094089c0bdcc8cda7bc35f1f23828677aa7926","impliedFormat":1},{"version":"d51d662a37aa1f1b97ed4caf4f1c25832047b9bfffcc707b53aedd07cd245303","impliedFormat":1},{"version":"b9d02ff98f8c5da182f415c7152b0da746346b0a15e6a93d772eff0c72165b9d","impliedFormat":1},{"version":"bae8d023ef6b23df7da26f51cea44321f95817c190342a36882e93b80d07a960","impliedFormat":1},{"version":"5d30d04a14ed8527ac5d654dc345a4db11b593334c11a65efb6e4facc5484a0e","impliedFormat":1}],"root":[[178,181]],"options":{"allowJs":false,"checkJs":false,"composite":true,"declaration":true,"declarationMap":true,"esModuleInterop":true,"inlineSourceMap":false,"module":199,"outDir":"./esm","rootDir":"../src","skipLibCheck":true,"sourceMap":true,"strict":true,"target":9,"useUnknownInCatchVariables":false},"fileIdsList":[[157,161],[157],[129,148,156],[157,158,159,160],[183],[185],[187,188,189],[129,148],[112,148,149,150],[148],[111,129,137,148],[112,140,148],[111,148],[62],[98],[99,104,132],[100,111,112,119,129,140],[100,101,111,119],[102,141],[103,104,112,120],[104,129,137],[105,107,111,119],[98,106],[107,108],[111],[109,111],[98,111],[111,112,113,129,140],[111,112,113,126,129,132],[96,145],[107,111,114,119,129,140],[111,112,114,115,119,129,137,140],[114,116,129,137,140],[62,63,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147],[111,117],[118,140,145],[107,111,119,129],[120],[121],[98,122],[123,139,145],[124],[125],[111,126,127],[126,128,141,143],[99,111,129,130,131,132],[99,129,131],[129,130],[132],[133],[98,129],[111,135,136],[135,136],[104,119,129,137],[138],[119,139],[99,114,125,140],[104,141],[129,142],[118,143],[144],[99,104,111,113,122,129,140,143,145],[129,146],[111,139,148,203],[206,245],[206,230,245],[245],[206],[206,231,245],[206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244],[231,245],[183,247],[246],[112,129,146,148,249],[105,119,148,169,192],[252],[100,129,148],[167],[111,129,148],[100],[73,77,140],[73,129,140],[68],[70,73,137,140],[119,137],[68,148],[70,73,119,140],[65,66,69,72,99,111,129,140],[65,71],[69,73,99,132,140,148],[99,148],[89,99,148],[67,68,148],[73],[67,68,69,70,71,72,73,74,75,77,78,79,80,81,82,83,84,85,86,87,88,90,91,92,93,94,95],[73,80,81],[71,73,81,82],[72],[65,68,73],[73,77,81,82],[77],[71,73,76,140],[65,70,71,73,77,80],[99,129],[68,73,89,99,145,148],[129,148,168],[129,148,168,169,170,171],[114,148,169],[164,165,166,173,174,175,176],[154],[172],[100,148,154,155,162,163],[177,178,180],[121,146,151,164,177],[111,119,164,179],[112,152,153],[164],[111,119,164]],"referencedMap":[[162,1],[158,2],[157,3],[159,2],[160,2],[161,4],[184,5],[186,6],[190,7],[191,8],[151,9],[192,10],[193,11],[149,12],[194,10],[199,10],[200,13],[62,14],[63,14],[98,15],[99,16],[100,17],[101,18],[102,19],[103,20],[104,21],[105,22],[106,23],[107,24],[108,24],[110,25],[109,26],[111,27],[112,28],[113,29],[97,30],[114,31],[115,32],[116,33],[148,34],[117,35],[118,36],[119,37],[120,38],[121,39],[122,40],[123,41],[124,42],[125,43],[126,44],[127,44],[128,45],[129,46],[131,47],[130,48],[132,49],[133,50],[134,51],[135,52],[136,53],[137,54],[138,55],[139,56],[140,57],[141,58],[142,59],[143,60],[144,61],[145,62],[146,63],[204,64],[230,65],[231,66],[206,67],[209,67],[228,65],[229,65],[219,65],[218,68],[216,65],[211,65],[224,65],[222,65],[226,65],[210,65],[223,65],[227,65],[212,65],[213,65],[225,65],[207,65],[214,65],[215,65],[217,65],[221,65],[232,69],[220,65],[208,65],[245,70],[239,69],[241,71],[240,69],[233,69],[234,69],[236,69],[238,69],[242,71],[243,71],[235,71],[237,71],[248,72],[247,73],[250,74],[251,75],[253,76],[156,77],[168,78],[249,79],[155,80],[80,81],[87,82],[79,81],[94,83],[71,84],[70,85],[93,10],[88,86],[91,87],[73,88],[72,89],[68,90],[67,91],[90,92],[69,93],[74,94],[78,94],[96,95],[95,94],[82,96],[83,97],[85,98],[81,99],[84,100],[89,10],[76,101],[77,102],[86,103],[66,104],[92,105],[169,106],[172,107],[170,10],[171,108],[177,109],[174,110],[173,111],[164,112],[181,113],[178,114],[180,115],[154,116],[152,38]],"exportedModulesMap":[[162,1],[158,2],[157,3],[159,2],[160,2],[161,4],[184,5],[186,6],[190,7],[191,8],[151,9],[192,10],[193,11],[149,12],[194,10],[199,10],[200,13],[62,14],[63,14],[98,15],[99,16],[100,17],[101,18],[102,19],[103,20],[104,21],[105,22],[106,23],[107,24],[108,24],[110,25],[109,26],[111,27],[112,28],[113,29],[97,30],[114,31],[115,32],[116,33],[148,34],[117,35],[118,36],[119,37],[120,38],[121,39],[122,40],[123,41],[124,42],[125,43],[126,44],[127,44],[128,45],[129,46],[131,47],[130,48],[132,49],[133,50],[134,51],[135,52],[136,53],[137,54],[138,55],[139,56],[140,57],[141,58],[142,59],[143,60],[144,61],[145,62],[146,63],[204,64],[230,65],[231,66],[206,67],[209,67],[228,65],[229,65],[219,65],[218,68],[216,65],[211,65],[224,65],[222,65],[226,65],[210,65],[223,65],[227,65],[212,65],[213,65],[225,65],[207,65],[214,65],[215,65],[217,65],[221,65],[232,69],[220,65],[208,65],[245,70],[239,69],[241,71],[240,69],[233,69],[234,69],[236,69],[238,69],[242,71],[243,71],[235,71],[237,71],[248,72],[247,73],[250,74],[251,75],[253,76],[156,77],[168,78],[249,79],[155,80],[80,81],[87,82],[79,81],[94,83],[71,84],[70,85],[93,10],[88,86],[91,87],[73,88],[72,89],[68,90],[67,91],[90,92],[69,93],[74,94],[78,94],[96,95],[95,94],[82,96],[83,97],[85,98],[81,99],[84,100],[89,10],[76,101],[77,102],[86,103],[66,104],[92,105],[169,106],[172,107],[170,10],[171,108],[177,109],[174,110],[173,111],[164,112],[181,113],[178,117],[180,118],[154,116],[152,38]],"semanticDiagnosticsPerFile":[162,158,157,159,160,161,182,184,183,186,187,190,188,191,151,192,193,189,149,150,194,195,196,197,198,185,199,200,62,63,98,99,100,101,102,103,104,105,106,107,108,110,109,111,112,113,97,147,114,115,116,148,117,118,119,120,121,122,123,124,125,126,127,128,129,131,130,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,201,202,204,205,203,230,231,206,209,228,229,219,218,216,211,224,222,226,210,223,227,212,213,225,207,214,215,217,221,232,220,208,245,244,239,241,240,233,234,236,238,242,243,235,237,248,247,246,250,167,251,252,253,64,156,168,249,155,60,61,12,11,2,13,14,15,16,17,18,19,20,3,21,4,22,26,23,24,25,27,28,29,5,30,31,32,33,6,37,34,35,36,38,7,39,44,45,40,41,42,43,8,49,46,47,48,50,9,51,52,53,56,54,55,57,58,10,1,59,80,87,79,94,71,70,93,88,91,73,72,68,67,90,69,74,75,78,65,96,95,82,83,85,81,84,89,76,77,86,66,92,169,172,170,171,177,176,165,174,173,163,166,175,164,181,179,178,180,153,154,152],"latestChangedDtsFile":"./esm/index.d.ts"},"version":"5.4.5"}
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@iobroker/db-base",
3
3
  "type": "module",
4
- "version": "6.0.1-alpha.0-20240603-3deca26fa",
4
+ "version": "6.0.1",
5
5
  "engines": {
6
6
  "node": ">=18.0.0"
7
7
  },
8
8
  "dependencies": {
9
- "@iobroker/js-controller-common-db": "6.0.1-alpha.0-20240603-3deca26fa",
9
+ "@iobroker/js-controller-common-db": "6.0.1",
10
10
  "deep-clone": "^3.0.3",
11
11
  "fs-extra": "^11.1.0",
12
12
  "respjs": "^4.2.0"
@@ -27,7 +27,7 @@
27
27
  "url": "https://github.com/ioBroker/ioBroker.js-controller/tree/master/packages/db-base"
28
28
  },
29
29
  "scripts": {
30
- "build": "tsc -b tsconfig.build.json && tsc-alias",
30
+ "build": "tsc -b tsconfig.build.json",
31
31
  "postbuild": "esm2cjs --in build/esm --out build/cjs -l error -t node18 && cpy ./**/*.d.ts ./build/cjs/ --cwd=build/esm/"
32
32
  },
33
33
  "main": "build/cjs/index.js",
@@ -53,5 +53,5 @@
53
53
  "files": [
54
54
  "build/"
55
55
  ],
56
- "gitHead": "59c191f7ef1995375ade77815af6d3cf5b6efadf"
56
+ "gitHead": "c5edb83f9bd96eb2d27841ca94e215a01d769fb4"
57
57
  }