@roit/roit-data-firestore 0.0.32 → 0.0.33-alpha
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +13 -0
- package/dist/firestore-read-audit/FirestoreReadAuditResolver.d.ts +9 -0
- package/dist/firestore-read-audit/FirestoreReadAuditResolver.js +42 -0
- package/dist/firestore-read-audit/providers/BigQueryFirestoreReadAuditProvider.d.ts +12 -0
- package/dist/firestore-read-audit/providers/BigQueryFirestoreReadAuditProvider.js +118 -0
- package/dist/model/PersistFirestoreReadProps.d.ts +6 -0
- package/dist/model/PersistFirestoreReadProps.js +2 -0
- package/dist/platform/PlatformTools.js +2 -0
- package/dist/query/ManualQueryHelper.js +7 -0
- package/dist/query/QueryPredicateFunctionTransform.js +4 -2
- package/dist/query/operator/CreateFunction.js +13 -0
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +5 -4
- package/src/firestore-read-audit/FirestoreReadAuditResolver.ts +37 -0
- package/src/firestore-read-audit/providers/BigQueryFirestoreReadAuditProvider.ts +127 -0
- package/src/model/PersistFirestoreReadProps.ts +6 -0
- package/src/platform/PlatformTools.ts +2 -0
- package/src/query/ManualQueryHelper.ts +11 -0
- package/src/query/QueryPredicateFunctionTransform.ts +4 -2
- package/src/query/operator/CreateFunction.ts +18 -0
- package/template/FunctionQueryTemplate.txt +8 -1
package/README.md
CHANGED
|
@@ -249,3 +249,16 @@ export class Repository1 extends BaseRepository<User> {
|
|
|
249
249
|
}
|
|
250
250
|
}
|
|
251
251
|
```
|
|
252
|
+
|
|
253
|
+
## Firestore read auditing with Big Query
|
|
254
|
+
|
|
255
|
+
GCP Firestore does not provide a way to visualize the number of reads per collection, so with this functionality it is possible to save all the reads of a Firestore collection into a BigQuery table for further analysis.
|
|
256
|
+
|
|
257
|
+
Example (using env.yaml):
|
|
258
|
+
|
|
259
|
+
```
|
|
260
|
+
firestore:
|
|
261
|
+
enableReadAudit: true
|
|
262
|
+
readAuditEndAt: '2023-01-19 15:02:10' (optional - after this date, queries will not be saved in BigQuery)
|
|
263
|
+
```
|
|
264
|
+
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { PersistFirestoreReadProps } from "../model/PersistFirestoreReadProps";
|
|
2
|
+
export declare class FirestoreReadAuditResolver {
|
|
3
|
+
private static instance;
|
|
4
|
+
private provider;
|
|
5
|
+
constructor();
|
|
6
|
+
static getInstance(): FirestoreReadAuditResolver;
|
|
7
|
+
private isReadAuditTimeEnded;
|
|
8
|
+
persistFirestoreRead(props: PersistFirestoreReadProps): Promise<void>;
|
|
9
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.FirestoreReadAuditResolver = void 0;
|
|
13
|
+
const roit_environment_1 = require("roit-environment");
|
|
14
|
+
const BigQueryFirestoreReadAuditProvider_1 = require("./providers/BigQueryFirestoreReadAuditProvider");
|
|
15
|
+
class FirestoreReadAuditResolver {
|
|
16
|
+
constructor() {
|
|
17
|
+
if (roit_environment_1.Environment.getProperty('firestore.enableReadAudit') && !this.isReadAuditTimeEnded()) {
|
|
18
|
+
this.provider = new BigQueryFirestoreReadAuditProvider_1.BigQueryFirestoreReadAuditProvider();
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
static getInstance() {
|
|
22
|
+
return this.instance;
|
|
23
|
+
}
|
|
24
|
+
isReadAuditTimeEnded() {
|
|
25
|
+
const readAuditEndAt = roit_environment_1.Environment.getProperty('firestore.readAuditEndAt');
|
|
26
|
+
if (readAuditEndAt) {
|
|
27
|
+
return new Date(readAuditEndAt) < new Date();
|
|
28
|
+
}
|
|
29
|
+
return false;
|
|
30
|
+
}
|
|
31
|
+
persistFirestoreRead(props) {
|
|
32
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
33
|
+
if (this.provider) {
|
|
34
|
+
if (!this.isReadAuditTimeEnded()) {
|
|
35
|
+
yield this.provider.persistFirestoreRead(props);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
exports.FirestoreReadAuditResolver = FirestoreReadAuditResolver;
|
|
42
|
+
FirestoreReadAuditResolver.instance = new FirestoreReadAuditResolver();
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { PersistFirestoreReadProps } from '../../model/PersistFirestoreReadProps';
|
|
2
|
+
export declare class BigQueryFirestoreReadAuditProvider {
|
|
3
|
+
/**
|
|
4
|
+
* Big Query module instance loaded dynamically
|
|
5
|
+
*/
|
|
6
|
+
private bigQuery;
|
|
7
|
+
private tableIsCreated;
|
|
8
|
+
constructor();
|
|
9
|
+
private createFirestoreAuditDatasetAndTableIfNecessary;
|
|
10
|
+
persistFirestoreRead({ collection, repositoryClassName, functionSignature, params }: PersistFirestoreReadProps): Promise<void>;
|
|
11
|
+
private loadBigQuery;
|
|
12
|
+
}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.BigQueryFirestoreReadAuditProvider = void 0;
|
|
13
|
+
const roit_environment_1 = require("roit-environment");
|
|
14
|
+
const RepositorySystemException_1 = require("../../exception/RepositorySystemException");
|
|
15
|
+
const PlatformTools_1 = require("../../platform/PlatformTools");
|
|
16
|
+
const dataset = 'firestore_read_audit';
|
|
17
|
+
const table = `${dataset}_table`;
|
|
18
|
+
class BigQueryFirestoreReadAuditProvider {
|
|
19
|
+
constructor() {
|
|
20
|
+
this.tableIsCreated = false;
|
|
21
|
+
if (roit_environment_1.Environment.acceptedEnv(roit_environment_1.Env.TEST))
|
|
22
|
+
return;
|
|
23
|
+
if (!this.bigQuery) {
|
|
24
|
+
const projectId = roit_environment_1.Environment.getProperty("firestore.projectId");
|
|
25
|
+
if (!projectId) {
|
|
26
|
+
throw new RepositorySystemException_1.RepositorySystemException(`projectId is required in env.yaml {firestore.projectId}`);
|
|
27
|
+
}
|
|
28
|
+
try {
|
|
29
|
+
const { BigQuery } = this.loadBigQuery();
|
|
30
|
+
this.bigQuery = new BigQuery({
|
|
31
|
+
projectId
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
catch (err) {
|
|
35
|
+
console.error(err);
|
|
36
|
+
throw new RepositorySystemException_1.RepositorySystemException(`Error in initializeApp: ${err}`);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
createFirestoreAuditDatasetAndTableIfNecessary() {
|
|
41
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
42
|
+
const TWO_DAYS_IN_MS = '172800000';
|
|
43
|
+
const schema = [
|
|
44
|
+
{ name: 'collection', type: 'STRING' },
|
|
45
|
+
{ name: 'service', type: 'STRING' },
|
|
46
|
+
{ name: 'env', type: 'STRING' },
|
|
47
|
+
{ name: 'repositoryClassName', type: 'STRING' },
|
|
48
|
+
{ name: 'functionSignature', type: 'STRING' },
|
|
49
|
+
{ name: 'params', type: 'STRING' },
|
|
50
|
+
{ name: 'insertAt', type: 'DATETIME' },
|
|
51
|
+
];
|
|
52
|
+
const options = {
|
|
53
|
+
schema,
|
|
54
|
+
location: 'US',
|
|
55
|
+
timePartitioning: {
|
|
56
|
+
type: 'DAY',
|
|
57
|
+
expirationMS: TWO_DAYS_IN_MS,
|
|
58
|
+
field: 'insertAt'
|
|
59
|
+
}
|
|
60
|
+
};
|
|
61
|
+
const handleBigQueryError = (e) => {
|
|
62
|
+
if (!JSON.stringify(e.errors).includes('Exists')) {
|
|
63
|
+
console.log('Error [createFirestoreAuditDatasetAndTableIfNecessary]', e);
|
|
64
|
+
}
|
|
65
|
+
};
|
|
66
|
+
try {
|
|
67
|
+
yield this.bigQuery.createDataset(dataset);
|
|
68
|
+
}
|
|
69
|
+
catch (e) {
|
|
70
|
+
handleBigQueryError(e);
|
|
71
|
+
}
|
|
72
|
+
try {
|
|
73
|
+
yield this.bigQuery
|
|
74
|
+
.dataset(dataset)
|
|
75
|
+
.createTable(table, options);
|
|
76
|
+
}
|
|
77
|
+
catch (e) {
|
|
78
|
+
handleBigQueryError(e);
|
|
79
|
+
}
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
persistFirestoreRead({ collection, repositoryClassName, functionSignature, params }) {
|
|
83
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
84
|
+
try {
|
|
85
|
+
if (!this.tableIsCreated) {
|
|
86
|
+
yield this.createFirestoreAuditDatasetAndTableIfNecessary();
|
|
87
|
+
}
|
|
88
|
+
this.tableIsCreated = true;
|
|
89
|
+
const response = yield this.bigQuery
|
|
90
|
+
.dataset(dataset)
|
|
91
|
+
.table(table)
|
|
92
|
+
.insert([{
|
|
93
|
+
collection,
|
|
94
|
+
repositoryClassName,
|
|
95
|
+
functionSignature,
|
|
96
|
+
params,
|
|
97
|
+
env: roit_environment_1.Environment.currentEnv(),
|
|
98
|
+
insertAt: this.bigQuery.datetime(new Date().toISOString()),
|
|
99
|
+
service: roit_environment_1.Environment.getProperty('service')
|
|
100
|
+
}]);
|
|
101
|
+
console.log("inserted", response);
|
|
102
|
+
}
|
|
103
|
+
catch (error) {
|
|
104
|
+
console.log(JSON.stringify(error.errors));
|
|
105
|
+
}
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
loadBigQuery() {
|
|
109
|
+
try {
|
|
110
|
+
return PlatformTools_1.PlatformTools.load("bigquery");
|
|
111
|
+
}
|
|
112
|
+
catch (e) {
|
|
113
|
+
console.log(e);
|
|
114
|
+
throw new Error(`Cannot use Firestore Read Audit because BigQuery is not installed. Please run "npm i @google-cloud/bigquery@6.0.3 --save-exact".`);
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
exports.BigQueryFirestoreReadAuditProvider = BigQueryFirestoreReadAuditProvider;
|
|
@@ -53,6 +53,13 @@ class ManualQueryHelper {
|
|
|
53
53
|
}
|
|
54
54
|
const data = this.getData(snapshot);
|
|
55
55
|
yield cacheResolver.cacheResult(className, 'any', data, JSON.stringify(config));
|
|
56
|
+
const firestoreReadAuditResolver = global.instances.firestoreReadAuditResolver;
|
|
57
|
+
yield firestoreReadAuditResolver.persistFirestoreRead({
|
|
58
|
+
collection: repositoryOptions.collection,
|
|
59
|
+
repositoryClassName: className,
|
|
60
|
+
functionSignature: 'manual-query',
|
|
61
|
+
params: JSON.stringify(config)
|
|
62
|
+
});
|
|
56
63
|
return data;
|
|
57
64
|
}
|
|
58
65
|
}
|
|
@@ -4,6 +4,7 @@ exports.QueryPredicateFunctionTransform = void 0;
|
|
|
4
4
|
const class_validator_jsonschema_1 = require("class-validator-jsonschema");
|
|
5
5
|
const CacheResolver_1 = require("../cache/CacheResolver");
|
|
6
6
|
const ValidatorDataHandle_1 = require("../exception/handle/ValidatorDataHandle");
|
|
7
|
+
const FirestoreReadAuditResolver_1 = require("../firestore-read-audit/FirestoreReadAuditResolver");
|
|
7
8
|
const EnvironmentUtil_1 = require("../util/EnvironmentUtil");
|
|
8
9
|
const CreateFunction_1 = require("./operator/CreateFunction");
|
|
9
10
|
const QueryCreatorConfig_1 = require("./QueryCreatorConfig");
|
|
@@ -26,7 +27,8 @@ class QueryPredicateFunctionTransform {
|
|
|
26
27
|
Environment,
|
|
27
28
|
queryCreatorConfig: new QueryCreatorConfig_1.QueryCreatorConfig,
|
|
28
29
|
cacheResolver: CacheResolver_1.CacheResolver.getInstance(),
|
|
29
|
-
environmentUtil: new EnvironmentUtil_1.EnvironmentUtil
|
|
30
|
+
environmentUtil: new EnvironmentUtil_1.EnvironmentUtil,
|
|
31
|
+
firestoreReadAuditResolver: FirestoreReadAuditResolver_1.FirestoreReadAuditResolver.getInstance()
|
|
30
32
|
};
|
|
31
33
|
if (!(options === null || options === void 0 ? void 0 : options.collection)) {
|
|
32
34
|
throw new Error(`Collection is required`);
|
|
@@ -44,7 +46,7 @@ class QueryPredicateFunctionTransform {
|
|
|
44
46
|
.replace(methodSignature, 'async function')
|
|
45
47
|
.replace('return __awaiter(this, void 0, void 0, function* () {', '')
|
|
46
48
|
.replace(/yield/g, 'await')
|
|
47
|
-
.replace(
|
|
49
|
+
.replace(/<COLLECTION_REPLACE>/g, options.collection)
|
|
48
50
|
.replace("let modelName = ''", `let modelName = '${modelName}'`)
|
|
49
51
|
.replace("let validatorOptions", `let validatorOptions = ${(options === null || options === void 0 ? void 0 : options.validatorOptions) ? JSON.stringify(options === null || options === void 0 ? void 0 : options.validatorOptions) : undefined}`)
|
|
50
52
|
.replace("let repositoryClassName = ''", `let repositoryClassName = '${repositoryClassName}'`)
|
|
@@ -222,6 +222,12 @@ class CreateFunction {
|
|
|
222
222
|
items.push(Object.assign({}, data));
|
|
223
223
|
});
|
|
224
224
|
yield cacheResolver.cacheResult(repositoryClassName, methodSignature, items, 'Any');
|
|
225
|
+
const firestoreReadAuditResolver = global.instances.firestoreReadAuditResolver;
|
|
226
|
+
yield firestoreReadAuditResolver.persistFirestoreRead({
|
|
227
|
+
collection: '<COLLECTION_REPLACE>',
|
|
228
|
+
repositoryClassName,
|
|
229
|
+
functionSignature: methodSignature
|
|
230
|
+
});
|
|
225
231
|
return items;
|
|
226
232
|
});
|
|
227
233
|
}
|
|
@@ -244,6 +250,13 @@ class CreateFunction {
|
|
|
244
250
|
const response = yield collection.doc(id).get();
|
|
245
251
|
const item = response.data();
|
|
246
252
|
yield cacheResolver.cacheResult(repositoryClassName, methodSignature, item, id);
|
|
253
|
+
const firestoreReadAuditResolver = global.instances.firestoreReadAuditResolver;
|
|
254
|
+
yield firestoreReadAuditResolver.persistFirestoreRead({
|
|
255
|
+
collection: '<COLLECTION_REPLACE>',
|
|
256
|
+
repositoryClassName,
|
|
257
|
+
functionSignature: methodSignature,
|
|
258
|
+
params: id
|
|
259
|
+
});
|
|
247
260
|
return item;
|
|
248
261
|
});
|
|
249
262
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"program":{"fileNames":["../node_modules/typescript/lib/lib.es6.d.ts","../node_modules/typescript/lib/lib.es5.d.ts","../node_modules/typescript/lib/lib.es2015.d.ts","../node_modules/typescript/lib/lib.dom.d.ts","../node_modules/typescript/lib/lib.dom.iterable.d.ts","../node_modules/typescript/lib/lib.webworker.importscripts.d.ts","../node_modules/typescript/lib/lib.scripthost.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/reflect-metadata/index.d.ts","../src/model/CacheProviders.ts","../src/model/CacheableOptions.ts","../src/cache/providers/CacheProvider.ts","../node_modules/roit-environment/src/Env.ts","../node_modules/@types/dot-object/index.d.ts","../node_modules/roit-environment/node_modules/chalk/types/index.d.ts","../node_modules/roit-environment/src/EnvOptions.ts","../node_modules/@types/yamljs/index.d.ts","../node_modules/roit-environment/src/Environment.ts","../node_modules/roit-environment/src/index.ts","../node_modules/@types/node/base.d.ts","../node_modules/@types/node/index.d.ts","../node_modules/node-cache/index.d.ts","../src/cache/providers/InMemoryCacheProvider.ts","../src/cache/providers/index.ts","../src/platform/PlatformTools.ts","../src/cache/providers/RedisCacheProvider.ts","../src/cache/CacheResolver.ts","../src/config/ClassMethodQueryMap.ts","../node_modules/class-validator/types/validation/ValidationError.d.ts","../node_modules/class-validator/types/validation/ValidatorOptions.d.ts","../node_modules/class-validator/types/validation-schema/ValidationSchema.d.ts","../node_modules/class-validator/types/container.d.ts","../node_modules/class-validator/types/validation/ValidationArguments.d.ts","../node_modules/class-validator/types/decorator/ValidationOptions.d.ts","../node_modules/class-validator/types/decorator/common/Allow.d.ts","../node_modules/class-validator/types/decorator/common/IsDefined.d.ts","../node_modules/class-validator/types/decorator/common/IsOptional.d.ts","../node_modules/class-validator/types/decorator/common/Validate.d.ts","../node_modules/class-validator/types/validation/ValidatorConstraintInterface.d.ts","../node_modules/class-validator/types/decorator/common/ValidateBy.d.ts","../node_modules/class-validator/types/decorator/common/ValidateIf.d.ts","../node_modules/class-validator/types/decorator/common/ValidateNested.d.ts","../node_modules/class-validator/types/decorator/common/ValidatePromise.d.ts","../node_modules/class-validator/types/decorator/common/IsLatLong.d.ts","../node_modules/class-validator/types/decorator/common/IsLatitude.d.ts","../node_modules/class-validator/types/decorator/common/IsLongitude.d.ts","../node_modules/class-validator/types/decorator/common/Equals.d.ts","../node_modules/class-validator/types/decorator/common/NotEquals.d.ts","../node_modules/class-validator/types/decorator/common/IsEmpty.d.ts","../node_modules/class-validator/types/decorator/common/IsNotEmpty.d.ts","../node_modules/class-validator/types/decorator/common/IsIn.d.ts","../node_modules/class-validator/types/decorator/common/IsNotIn.d.ts","../node_modules/class-validator/types/decorator/number/IsDivisibleBy.d.ts","../node_modules/class-validator/types/decorator/number/IsPositive.d.ts","../node_modules/class-validator/types/decorator/number/IsNegative.d.ts","../node_modules/class-validator/types/decorator/number/Max.d.ts","../node_modules/class-validator/types/decorator/number/Min.d.ts","../node_modules/class-validator/types/decorator/date/MinDate.d.ts","../node_modules/class-validator/types/decorator/date/MaxDate.d.ts","../node_modules/class-validator/types/decorator/string/Contains.d.ts","../node_modules/class-validator/types/decorator/string/NotContains.d.ts","../node_modules/@types/validator/index.d.ts","../node_modules/class-validator/types/decorator/string/IsAlpha.d.ts","../node_modules/class-validator/types/decorator/string/IsAlphanumeric.d.ts","../node_modules/class-validator/types/decorator/string/IsDecimal.d.ts","../node_modules/class-validator/types/decorator/string/IsAscii.d.ts","../node_modules/class-validator/types/decorator/string/IsBase64.d.ts","../node_modules/class-validator/types/decorator/string/IsByteLength.d.ts","../node_modules/class-validator/types/decorator/string/IsCreditCard.d.ts","../node_modules/class-validator/types/decorator/string/IsCurrency.d.ts","../node_modules/class-validator/types/decorator/string/IsEmail.d.ts","../node_modules/class-validator/types/decorator/string/IsFQDN.d.ts","../node_modules/class-validator/types/decorator/string/IsFullWidth.d.ts","../node_modules/class-validator/types/decorator/string/IsHalfWidth.d.ts","../node_modules/class-validator/types/decorator/string/IsVariableWidth.d.ts","../node_modules/class-validator/types/decorator/string/IsHexColor.d.ts","../node_modules/class-validator/types/decorator/string/IsHexadecimal.d.ts","../node_modules/class-validator/types/decorator/string/IsMacAddress.d.ts","../node_modules/class-validator/types/decorator/string/IsIP.d.ts","../node_modules/class-validator/types/decorator/string/IsPort.d.ts","../node_modules/class-validator/types/decorator/string/IsISBN.d.ts","../node_modules/class-validator/types/decorator/string/IsISIN.d.ts","../node_modules/class-validator/types/decorator/string/IsISO8601.d.ts","../node_modules/class-validator/types/decorator/string/IsJSON.d.ts","../node_modules/class-validator/types/decorator/string/IsJWT.d.ts","../node_modules/class-validator/types/decorator/string/IsLowercase.d.ts","../node_modules/class-validator/types/decorator/string/IsMobilePhone.d.ts","../node_modules/class-validator/types/decorator/string/IsISO31661Alpha2.d.ts","../node_modules/class-validator/types/decorator/string/IsISO31661Alpha3.d.ts","../node_modules/class-validator/types/decorator/string/IsMongoId.d.ts","../node_modules/class-validator/types/decorator/string/IsMultibyte.d.ts","../node_modules/class-validator/types/decorator/string/IsSurrogatePair.d.ts","../node_modules/class-validator/types/decorator/string/IsUrl.d.ts","../node_modules/class-validator/types/decorator/string/IsUUID.d.ts","../node_modules/class-validator/types/decorator/string/IsFirebasePushId.d.ts","../node_modules/class-validator/types/decorator/string/IsUppercase.d.ts","../node_modules/class-validator/types/decorator/string/Length.d.ts","../node_modules/class-validator/types/decorator/string/MaxLength.d.ts","../node_modules/class-validator/types/decorator/string/MinLength.d.ts","../node_modules/class-validator/types/decorator/string/Matches.d.ts","../node_modules/class-validator/types/decorator/string/IsPhoneNumber.d.ts","../node_modules/class-validator/types/decorator/string/IsMilitaryTime.d.ts","../node_modules/class-validator/types/decorator/string/IsHash.d.ts","../node_modules/class-validator/types/decorator/string/IsISSN.d.ts","../node_modules/class-validator/types/decorator/string/IsDateString.d.ts","../node_modules/class-validator/types/decorator/string/IsBooleanString.d.ts","../node_modules/class-validator/types/decorator/string/IsNumberString.d.ts","../node_modules/class-validator/types/decorator/string/IsBase32.d.ts","../node_modules/class-validator/types/decorator/string/IsBIC.d.ts","../node_modules/class-validator/types/decorator/string/IsBtcAddress.d.ts","../node_modules/class-validator/types/decorator/string/IsDataURI.d.ts","../node_modules/class-validator/types/decorator/string/IsEAN.d.ts","../node_modules/class-validator/types/decorator/string/IsEthereumAddress.d.ts","../node_modules/class-validator/types/decorator/string/IsHSL.d.ts","../node_modules/class-validator/types/decorator/string/IsIBAN.d.ts","../node_modules/class-validator/types/decorator/string/IsIdentityCard.d.ts","../node_modules/class-validator/types/decorator/string/IsISRC.d.ts","../node_modules/class-validator/types/decorator/string/IsLocale.d.ts","../node_modules/class-validator/types/decorator/string/IsMagnetURI.d.ts","../node_modules/class-validator/types/decorator/string/IsMimeType.d.ts","../node_modules/class-validator/types/decorator/string/IsOctal.d.ts","../node_modules/class-validator/types/decorator/string/IsPassportNumber.d.ts","../node_modules/class-validator/types/decorator/string/IsPostalCode.d.ts","../node_modules/class-validator/types/decorator/string/IsRFC3339.d.ts","../node_modules/class-validator/types/decorator/string/IsRgbColor.d.ts","../node_modules/class-validator/types/decorator/string/IsSemVer.d.ts","../node_modules/class-validator/types/decorator/typechecker/IsBoolean.d.ts","../node_modules/class-validator/types/decorator/typechecker/IsDate.d.ts","../node_modules/class-validator/types/decorator/typechecker/IsNumber.d.ts","../node_modules/class-validator/types/decorator/typechecker/IsEnum.d.ts","../node_modules/class-validator/types/decorator/typechecker/IsInt.d.ts","../node_modules/class-validator/types/decorator/typechecker/IsString.d.ts","../node_modules/class-validator/types/decorator/typechecker/IsArray.d.ts","../node_modules/class-validator/types/decorator/typechecker/IsObject.d.ts","../node_modules/class-validator/types/decorator/array/ArrayContains.d.ts","../node_modules/class-validator/types/decorator/array/ArrayNotContains.d.ts","../node_modules/class-validator/types/decorator/array/ArrayNotEmpty.d.ts","../node_modules/class-validator/types/decorator/array/ArrayMinSize.d.ts","../node_modules/class-validator/types/decorator/array/ArrayMaxSize.d.ts","../node_modules/class-validator/types/decorator/array/ArrayUnique.d.ts","../node_modules/class-validator/types/decorator/object/IsNotEmptyObject.d.ts","../node_modules/class-validator/types/decorator/object/IsInstance.d.ts","../node_modules/class-validator/types/decorator/decorators.d.ts","../node_modules/class-validator/types/validation/ValidationTypes.d.ts","../node_modules/class-validator/types/validation/Validator.d.ts","../node_modules/class-validator/types/register-decorator.d.ts","../node_modules/class-validator/types/metadata/ValidationMetadataArgs.d.ts","../node_modules/class-validator/types/metadata/ValidationMetadata.d.ts","../node_modules/class-validator/types/metadata/ConstraintMetadata.d.ts","../node_modules/class-validator/types/metadata/MetadataStorage.d.ts","../node_modules/class-validator/types/index.d.ts","../src/model/RepositoryOptions.ts","../node_modules/openapi3-ts/dist/model/SpecificationExtension.d.ts","../node_modules/openapi3-ts/dist/model/OpenApi.d.ts","../node_modules/openapi3-ts/dist/model/Server.d.ts","../node_modules/openapi3-ts/dist/model/index.d.ts","../node_modules/openapi3-ts/dist/dsl/OpenApiBuilder.d.ts","../node_modules/openapi3-ts/dist/dsl/index.d.ts","../node_modules/openapi3-ts/dist/index.d.ts","../node_modules/class-transformer/types/interfaces/decorator-options/expose-options.interface.d.ts","../node_modules/class-transformer/types/interfaces/decorator-options/exclude-options.interface.d.ts","../node_modules/class-transformer/types/interfaces/decorator-options/transform-options.interface.d.ts","../node_modules/class-transformer/types/interfaces/decorator-options/type-discriminator-descriptor.interface.d.ts","../node_modules/class-transformer/types/interfaces/decorator-options/type-options.interface.d.ts","../node_modules/class-transformer/types/interfaces/metadata/exclude-metadata.interface.d.ts","../node_modules/class-transformer/types/interfaces/metadata/expose-metadata.interface.d.ts","../node_modules/class-transformer/types/enums/transformation-type.enum.d.ts","../node_modules/class-transformer/types/enums/index.d.ts","../node_modules/class-transformer/types/interfaces/target-map.interface.d.ts","../node_modules/class-transformer/types/interfaces/class-transformer-options.interface.d.ts","../node_modules/class-transformer/types/interfaces/metadata/transform-fn-params.interface.d.ts","../node_modules/class-transformer/types/interfaces/metadata/transform-metadata.interface.d.ts","../node_modules/class-transformer/types/interfaces/metadata/type-metadata.interface.d.ts","../node_modules/class-transformer/types/interfaces/class-constructor.type.d.ts","../node_modules/class-transformer/types/interfaces/type-help-options.interface.d.ts","../node_modules/class-transformer/types/interfaces/index.d.ts","../node_modules/class-transformer/types/MetadataStorage.d.ts","../node_modules/class-validator-jsonschema/build/defaultConverters.d.ts","../node_modules/class-validator-jsonschema/build/options.d.ts","../node_modules/class-validator-jsonschema/build/decorators.d.ts","../node_modules/class-validator-jsonschema/build/index.d.ts","../src/exception/RepositoryException.ts","../src/exception/RepositorySystemException.ts","../src/exception/RepositoryBusinessException.ts","../src/exception/RepositoryValidationException.ts","../src/exception/handle/ValidatorDataHandle.ts","../src/model/QueryPredicate.ts","../src/util/EnvironmentUtil.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/metadata.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/call-credentials.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/constants.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/filter.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/filter-stack.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/channel-credentials.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/compression-algorithms.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/channel-options.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/client-interceptors.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/client.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/server-credentials.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/connectivity-state.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/node_modules/protobufjs/index.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/node_modules/protobufjs/ext/descriptor/index.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/node_modules/@grpc/proto-loader/build/src/util.d.ts","../node_modules/@types/long/index.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/node_modules/@grpc/proto-loader/build/src/index.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/Timestamp.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ChannelRef.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SubchannelRef.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ChannelTraceEvent.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ChannelTrace.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/subchannel-address.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetChannelRequest.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ChannelConnectivityState.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ChannelData.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketRef.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Channel.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetChannelResponse.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServerRequest.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ServerRef.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ServerData.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Server.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServerResponse.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServerSocketsRequest.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServerSocketsResponse.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServersRequest.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServersResponse.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetSocketRequest.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/Int64Value.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/Any.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketOption.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketData.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Address.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Security.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Socket.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetSocketResponse.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetSubchannelRequest.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Subchannel.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetSubchannelResponse.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetTopChannelsRequest.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetTopChannelsResponse.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Channelz.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/channelz.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/server.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/make-client.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/events.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/object-stream.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/server-call.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/channel.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/uri-parser.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/subchannel-interface.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/subchannel.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/call-stream.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/call.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/status-builder.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/admin.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/logging.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/duration.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/picker.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/load-balancer.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/service-config.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/resolver.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/backoff-timeout.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/load-balancer-child-handler.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/load-balancer-outlier-detection.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/experimental.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/index.d.ts","../node_modules/protobufjs/index.d.ts","../node_modules/protobufjs/ext/descriptor/index.d.ts","../node_modules/@grpc/proto-loader/build/src/util.d.ts","../node_modules/@grpc/proto-loader/build/src/index.d.ts","../node_modules/event-target-shim/index.d.ts","../node_modules/abort-controller/dist/abort-controller.d.ts","../node_modules/gaxios/build/src/common.d.ts","../node_modules/gaxios/build/src/gaxios.d.ts","../node_modules/gaxios/build/src/index.d.ts","../node_modules/google-auth-library/build/src/transporters.d.ts","../node_modules/google-auth-library/build/src/crypto/crypto.d.ts","../node_modules/google-auth-library/build/src/auth/credentials.d.ts","../node_modules/google-auth-library/build/src/auth/authclient.d.ts","../node_modules/google-auth-library/build/src/auth/loginticket.d.ts","../node_modules/google-auth-library/build/src/auth/oauth2client.d.ts","../node_modules/google-auth-library/build/src/auth/computeclient.d.ts","../node_modules/google-auth-library/build/src/auth/idtokenclient.d.ts","../node_modules/google-auth-library/build/src/auth/envDetect.d.ts","../node_modules/gtoken/build/src/index.d.ts","../node_modules/google-auth-library/build/src/auth/jwtclient.d.ts","../node_modules/google-auth-library/build/src/auth/refreshclient.d.ts","../node_modules/google-auth-library/build/src/auth/impersonated.d.ts","../node_modules/google-auth-library/build/src/auth/baseexternalclient.d.ts","../node_modules/google-auth-library/build/src/auth/identitypoolclient.d.ts","../node_modules/google-auth-library/build/src/auth/awsclient.d.ts","../node_modules/google-auth-library/build/src/auth/externalclient.d.ts","../node_modules/google-auth-library/build/src/auth/googleauth.d.ts","../node_modules/google-auth-library/build/src/auth/iam.d.ts","../node_modules/google-auth-library/build/src/auth/jwtaccess.d.ts","../node_modules/google-auth-library/build/src/auth/downscopedclient.d.ts","../node_modules/google-auth-library/build/src/index.d.ts","../node_modules/google-gax/build/src/call.d.ts","../node_modules/google-gax/build/src/status.d.ts","../node_modules/google-gax/build/src/googleError.d.ts","../node_modules/google-gax/build/src/streamingCalls/streaming.d.ts","../node_modules/google-gax/build/src/apiCaller.d.ts","../node_modules/google-gax/build/src/paginationCalls/pageDescriptor.d.ts","../node_modules/google-gax/build/src/streamingCalls/streamDescriptor.d.ts","../node_modules/google-gax/build/src/normalCalls/normalApiCaller.d.ts","../node_modules/google-gax/build/src/bundlingCalls/bundleApiCaller.d.ts","../node_modules/google-gax/build/src/bundlingCalls/bundleDescriptor.d.ts","../node_modules/google-gax/build/src/descriptor.d.ts","../node_modules/google-gax/build/protos/operations.d.ts","../node_modules/google-gax/build/src/clientInterface.d.ts","../node_modules/google-gax/build/src/routingHeader.d.ts","../node_modules/google-gax/build/src/pathTemplate.d.ts","../node_modules/protobufjs/minimal.d.ts","../node_modules/google-gax/build/src/streamArrayParser.d.ts","../node_modules/google-gax/build/src/fallbackServiceStub.d.ts","../node_modules/google-gax/build/src/fallback.d.ts","../node_modules/google-gax/build/src/operationsClient.d.ts","../node_modules/google-gax/build/src/longRunningCalls/longRunningApiCaller.d.ts","../node_modules/google-gax/build/src/longRunningCalls/longRunningDescriptor.d.ts","../node_modules/google-gax/build/src/longRunningCalls/longrunning.d.ts","../node_modules/google-gax/build/src/apitypes.d.ts","../node_modules/google-gax/build/src/bundlingCalls/task.d.ts","../node_modules/google-gax/build/src/bundlingCalls/bundleExecutor.d.ts","../node_modules/google-gax/build/src/gax.d.ts","../node_modules/google-gax/build/src/grpc.d.ts","../node_modules/google-gax/build/protos/iam_service.d.ts","../node_modules/google-gax/build/protos/locations.d.ts","../node_modules/google-gax/build/src/createApiCall.d.ts","../node_modules/google-gax/build/src/iamService.d.ts","../node_modules/google-gax/build/src/locationService.d.ts","../node_modules/google-gax/build/src/warnings.d.ts","../node_modules/proto3-json-serializer/build/src/types.d.ts","../node_modules/proto3-json-serializer/build/src/toproto3json.d.ts","../node_modules/proto3-json-serializer/build/src/fromproto3json.d.ts","../node_modules/proto3-json-serializer/build/src/index.d.ts","../node_modules/google-gax/build/src/index.d.ts","../node_modules/@google-cloud/firestore/types/protos/firestore_v1beta1_proto_api.d.ts","../node_modules/@google-cloud/firestore/types/v1beta1/firestore_client.d.ts","../node_modules/@google-cloud/firestore/types/protos/firestore_v1_proto_api.d.ts","../node_modules/@google-cloud/firestore/types/v1/firestore_client.d.ts","../node_modules/@google-cloud/firestore/types/protos/firestore_admin_v1_proto_api.d.ts","../node_modules/@google-cloud/firestore/types/v1/firestore_admin_client.d.ts","../node_modules/@google-cloud/firestore/types/firestore.d.ts","../src/model/Paging.ts","../src/query/QueryCreatorConfig.ts","../src/query/operator/CreateFunction.ts","../src/query/QueryPredicateFunctionTransform.ts","../src/query/operator/OperatorMap.ts","../src/query/TransformMethodFromQuery.ts","../src/decorators/Repository.ts","../src/decorators/Query.ts","../src/decorators/Cacheable.ts","../src/model/MQuery.ts","../src/config/FirestoreInstance.ts","../src/query/ManualQueryHelper.ts","../src/config/BaseRepository.ts","../src/config/ReadonlyRepository.ts","../src/index.ts","../src/config/ClassCollectionMap.ts","../node_modules/@types/minimatch/index.d.ts","../node_modules/@types/glob/index.d.ts","../node_modules/@types/shelljs/index.d.ts","../src/emulator/FirestoreEmuator.ts","../src/util/TemplateLoading.ts","../node_modules/@babel/types/lib/index.d.ts","../node_modules/@types/babel__generator/index.d.ts","../node_modules/@babel/parser/typings/babel-parser.d.ts","../node_modules/@types/babel__template/index.d.ts","../node_modules/@types/babel__traverse/index.d.ts","../node_modules/@types/babel__core/index.d.ts","../node_modules/@types/graceful-fs/index.d.ts","../node_modules/@types/istanbul-lib-coverage/index.d.ts","../node_modules/@types/istanbul-lib-report/index.d.ts","../node_modules/@types/istanbul-reports/index.d.ts","../node_modules/chalk/index.d.ts","../node_modules/jest-diff/build/cleanupSemantic.d.ts","../node_modules/pretty-format/build/types.d.ts","../node_modules/pretty-format/build/index.d.ts","../node_modules/jest-diff/build/types.d.ts","../node_modules/jest-diff/build/diffLines.d.ts","../node_modules/jest-diff/build/printDiffs.d.ts","../node_modules/jest-diff/build/index.d.ts","../node_modules/jest-matcher-utils/build/index.d.ts","../node_modules/@types/jest/index.d.ts","../node_modules/@types/prettier/index.d.ts","../node_modules/@types/stack-utils/index.d.ts","../node_modules/@types/uuid/index.d.ts","../node_modules/@types/yargs-parser/index.d.ts","../node_modules/@types/yargs/index.d.ts"],"fileInfos":["721cec59c3fef87aaf480047d821fb758b3ec9482c4129a54631e6e25e432a31",{"version":"aa9fb4c70f369237c2f45f9d969c9a59e0eae9a192962eb48581fe864aa609db","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6",{"version":"e54c8715a4954cfdc66cd69489f2b725c09ebf37492dbd91cff0a1688b1159e8","affectsGlobalScope":true},{"version":"e34eb9339171ec45da2801c1967e4d378bd61a1dceaa1b1b4e1b6d28cb9ca962","affectsGlobalScope":true},{"version":"7fac8cb5fc820bc2a59ae11ef1c5b38d3832c6d0dfaec5acdb5569137d09a481","affectsGlobalScope":true},{"version":"097a57355ded99c68e6df1b738990448e0bf170e606707df5a7c0481ff2427cd","affectsGlobalScope":true},{"version":"51b8b27c21c066bf877646e320bf6a722b80d1ade65e686923cd9d4494aef1ca","affectsGlobalScope":true},{"version":"43fb1d932e4966a39a41b464a12a81899d9ae5f2c829063f5571b6b87e6d2f9c","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"2c8c5ee58f30e7c944e04ab1fb5506fdbb4dd507c9efa6972cf4b91cec90c503","affectsGlobalScope":true},{"version":"2bb4b3927299434052b37851a47bf5c39764f2ba88a888a107b32262e9292b7c","affectsGlobalScope":true},{"version":"810627a82ac06fb5166da5ada4159c4ec11978dfbb0805fe804c86406dab8357","affectsGlobalScope":true},{"version":"62d80405c46c3f4c527ee657ae9d43fda65a0bf582292429aea1e69144a522a6","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"75ec0bdd727d887f1b79ed6619412ea72ba3c81d92d0787ccb64bab18d261f14","affectsGlobalScope":true},{"version":"8d6d51a5118d000ed3bfe6e1dd1335bebfff3fef23cd2af2f84a24d30f90cc90","affectsGlobalScope":true},"b37a842dd3f6691d92264cf037cfcfd7b5febc9a28f37a207b5bdfcd96e72441","d223d2ebd552348d3751df9c96bc5761065fc14a575792490402cf41fb7dc3d2",{"version":"09891d8e03208bb67b2a85a2d15429bd959392288b828b864eb3f94cdad55bfc","signature":"34655455d402808d709b592192a3f649294b7da60a4765f932e57196d68f0f9b"},"69241d6be17babef52695a5e97084da44475e972dea649cfb3352ead8d566e41",{"version":"4a680a54c322402fb396df7012eaecfd866ee73a990e96a486e1603ca762af36","affectsGlobalScope":true},"091f417275a51ab3c47b949723e9e8a193012157ecc64a96e2d7b1505e82f395","1ad480dc0a8ae84b35939b701b055c941eb1ea50a71294bc81e8a2546954c8d6","bbe2107a96f15b2cfebcfebfc8933619cb285c43bf1ef6946f78fd92b2de6893","d511bac43e17db592bfb9977e691b095243fdc2e9262e87b1f6a79fcb994d290","d61d2d9ac04b86e0027ed05ff3f194c33f4d0110e52d30cd1e8b2ea18d7c7d4d",{"version":"2b4c1c2edab174e69cb47aa5fa242f271af0364301dec441bc4784039bedf707","affectsGlobalScope":true},"9bd7ca40555e47a583419e7bee28a299ead570dde06345c00b90b6dfbb36cb59","6f4e4e5a046171e70dfb4b1f3e6212de786bf2c1e2c4383ae0e61c4726fdd168",{"version":"1118439febc4afedb2a04744aee490e3125fff779bd17933a4e58548718c5d0a","signature":"0c54704aec06d3e617d48304a3cc659b9bbe0e2620c5f4f616935fed2826bfec"},{"version":"50a375ea6f7cafd0e737a7e759cf3cff97581f32c3431fad8d08dbc6fa00a511","signature":"3828e4444896ba50d8630a5530280c03c00d857b86d9c76b7449397bfa325d22"},"b53ec53e80a4383a89779f18480b71f2d9df3a8707ab991c99667c5cfd29fad5",{"version":"aca51beb4c35da24ed5de33fefc06346905fa3bcd9d8438e38b8f3eddee4727a","signature":"de13bcd2a1fbaf08bc2b0bf95fd8d29c47854eb444c643e8c3d434950a1f32cd"},{"version":"36a8ea30f8062fb07f836b63974b29904f14471afc5f401ab0078dc6c452c1d1","signature":"a19c92f08942dfd6c45d72483ef3e13b5333a50355046f0d72b3daae3ba086bf"},"292fd57ecc8da377035cc069faad7f98d54aada57217a7cd7868f6cb41a7e627","d224f2ef464cf2a544dcf6be6b416db5563aa5ca4c94e2a1d93bf3765c1f77cb","d3c0c471c298dc7115ada6c07f78d4fafb088523a301cb539c5cb44dae009954","86f89124a90fae1b90421bcce1e0ba58614383ca72403bfc03ff89761b050a4d","5a6fbec8c8e62c37e9685a91a6ef0f6ecaddb1ee90f7b2c2b71b454b40a0d9a6","f049af45e62625e0be51a3badd311110abf1ac8b23f56689e1d850923f6d9aac","84520c7da490e46a85f23aaeb2dbd02214f2c2eb7466cfa37f67b4e8486a3333","79ddbca11e8f46788b24e5f21e6db1b2a2f53609d931d52d0009d506f23612e9","8f9aee3462ad88fc6db8dc5afd8c6179fa7a805e1c023f27870bc792631c8345","b6e72a3614ea86784a0e067e612d7deb6e60139b522f3d90289b5e5b3c6adf87","a98ec21c1df89d5d5ed12c2e3441f1d80d72b3ce987467d31ecd3bd0e5afb6cc","8e7c8386c3700086085770ac298d37de34bd290db95938f5c77f1ab83fa67c52","9e5b8bb29f0e3ea3f2768bc073c9d979a9003a0588ecc8f8b070f52f0ee88457","c978beece24d0989cb2c82347587fe01ef5b768ce19582e450730d9fe748d1cd","6a64f52076638c5f170233050ac536dce1e5bca590019d488a8ea3ef8ba6306c","74645e4af7d3b2e7cd2c8bb0f6b4cd216dcf7387a7b63afc573206efe414522f","609c998f93521eaa6fd0ef12dbb2a64858ab09be15af9a62734fb65c64fd1c1e","622663a9039cfabf20fb0fd510fd5cb0cb4dcb7263d6919da1f23f6708bdfd5e","a362d189a45351ec80c492c630f3224e044e330d1efd8d67120c0217578a6630","877b2776294304fbc216977e1e278da726caf6269aeef63a805079bfcb2b07f7","dba7fd6142211dc70a91c3143533fac5067491a31512516d6bb090042dede4ca","e70e32a2b2cab598a449ddb510051c56dab5f1afad5ee4fa8df2148237b4ffdb","ff504dfbee8a8f4b5e0bb0a32c292ce0b152ea3abbf6752869e712cbde06bce9","b4c7d5c3949676c15da5455ca3724291a2a0d52aff243f2c8d01a72db7626a22","d8f256c8940bf0c866635aea13c1dbdee4198d8cd84e5be14acaf31df53e1497","056a46b665d629debf54b188ccff671214cb8460b1cf7ba99b60ef1526b961e8","b982d48019d8454b3034d8b5b06502b216908e644d430878d7818bfb96b7e8df","268056633de1e35b4c3747609844cae9dddf61c6dd7f87d90e8158736c117950","2809c8068fa8a780546d760ceb4d197243891fff0f107786e359b2497f11988d","46108c7ea7f7f7fe6291bf35f99c33036b347236cde33ee40c4410d9a2918730","dc390eaa414ee4e31ea90c5c3fdd321d8b89f7dfbf331db62e28d8e7bb31f0f2","c828fc02687f3794288bbaa813ec940ffb2ea86017fca59f47f39c4c5458ec95","0f48751b76dbdc60831ee6350bf7e52dadf2207903541b07e610b17a1ab91f18","332133b486037098c00d4dfa627ed8d312dc5f9a5a9693d86c489010e9749d91","3ff2dd07f8aa032e6eb7ffacd8f4e1f0b8dac4ba02c1f6ea1413187aef947ec9","1a99dd108fb76343c751f256d1892bc77741b984e7cd628e8c3a3c4e4054249f","edbc32662fd13b65ce92a5ffd68b57ddc1c6a2b4260894c85b35c2ebb3621c4f","8829c118c1abb01eed918bb4b996689cd6000e7e1dc51d6f5bef316c6c033090","890e75d39abff90ddf172e40201d1f2759830bb8b258698346d50f735c831225","115effbd878a17a8f6587a11594f1c56cf7d75efa90dbef086a6ef5aedb14b18","67cecb9adb483649b173000d1554b2708c5dbd52c10f6c52d10dd5568b6447ad","c67b4e78c6f4b36288a269e39bab4104a77f44352af53413a9c0d4d2a07789ed","ac376230d4fb370209ab531abd2a96c050c3182323ff5cd63f53f5ddf02e1616","3743f0fcbe90e3fc7c68913730263bf3b4fb29658b05695dfca50ea2812064fc","df127c6b901e2b622d8bc1c7fbb39db5ca1195727fc098f4d76127e2fad037c3","82bf6be5217035ebc5df8a551657b9998f07f40062c5d37f67a42dd884d56696","28a770a61db7c4f074b5ad13101dee11332d1d0720f97ca4855967b366086d81","0a4673ab6ddccd462225041e8c5ff108190ab2cfaf4a3c3b908466031c8e0866","7309a8ab83349bfc2adf7cda1834a4d4b0a923069ab95a6f098ff5e59c242932","016f0542c1a7e8508cb0123789d99271226454de7216c79837aea247c523a8ef","1429d42a27973ccf263889b852bc56174c488427a74697879751e45145527310","547e84b4791541dc2510b1a09454c5cd2cc1f90ac7aff66a7d6a9b162fa52ce9","fbfecc0238fff6c035b5fc098de559d21e2e1ff2214814d0ae9fd234a5e6d4f4","f2aae906e0494829e99185278b73c818eb6019a9b87bb3f51c405afc0382e8f5","f78cc3174fa71470f8eb01e9fdd73701cb8c92c389dec36852c8b73ed700cd0b","ff2ff324c2074f9420cdc02fb96f7f1bc3dc2bea1f46d9d25b052a3ba886a4ee","023710033c47af573c6647a8bc0894a75352460472bc28bcee06ab61651527d2","c3388c11eb52973d762ce92f41644d7205b171d9b24dbd5224b7cde7d527000d","356df04d29b5af772353acf56db5a65ab24ea8ce7bd1bbfff3eb173f459ab9db","1a665c362bbba84e89f6f7098d891dc14c20a9a748daf8be70c0ba7347c44aea","5c0633aed1ae93dd204159f5c80418bcb6b79ca3c5ced980d9f72e67e1c9e9ed","b05c76b104b6bc31d2acf590e85777c19c8d7dc4d374a70755693822ac6fd931","ccee8306cbca68f71bb2bd783975cd1c0051faae69cf39087106bc71ed53fc1b","bd9fa48bfdff39ab7371212f41aed2ea3149a715bd0efd6f3d4781fb2a3d136e","c260de8a899c8212def174496b37e5da1ef58321e0a5e398221d1ee8715c48d5","b45e16f34d11ce0183bfc936fbcb9801dbd30476f5701922f3e57e16f0dbea31","a8a197688403685e32bf99924c917b09ae19242be1d49ae5c3a35cf39f93088d","62184bc7c84b4df42caf05c4a709a89d921908595b476aa4f35d98846ca515e3","a82d35729dc511416f90479df5979b18afa59cc2972b89224f3582905663af1c","f08b724b61c71963f3902eb0974ecb4636f10628be53f8e6103183409c63f495","5ca69cef58fce948f89317741a5fa59d9ca22ae705eafd03fb3e4db4675900ba","8f2b2e5bcb20ed1ceff79d8caebd79697486aefd4ea452347dda192f373833a8","7038448102f09f54c645e8ee85fd8678e741b98d764a28149fc9bd8e803aadbb","ff207060c4f40f1de5d91872b05321cdba145146d6fe09bba048cbe33b830343","71db384f85832776db0380055e76f1cd1b41ea4c3066485c7cb9a0ce1cf7eb04","0492ac6a4a28d38ebae62509d0f01cfe70964ebeef8abd655161aad22bd28887","286789bb419383ff71ee57dd2a46790e6eff9870723f0e32058f425077c8debc","eb75965a983d174b61533493ed172d9df34b08570ed68a71562a5cb42bc40314","def4d3842e4847172281543a13fd6a902a1a5ba6e0d1f036e0529f3b7da18189","ad69818e3b1428edb40ac14f8279d949a121c8f506d44c546e4f9db3dd7f0a2a","7fdceecdee5835963b3fa3e3dfdc032f5b83e951ac8f08ea254a9b05c91b9034","69c795c8afb241763fcb603933fac8f34bec02cea939c40ca0b4ea2cce089402","283d333afe327d778d2af74735414a2a78abe0664f929fc6f220e8fa1c7342fa","d42578a8ba6a4b36b146eac7a7799c3bed6032c1ace7f83188e0edec264cfe72","50b8f7f132eed0b748aaa90cdeef18f6445908e58bc74e15291bb74425f1e9e3","4d8fc6373fe56eca2522244ddc0550cb0fc002209e76a752f94f5acc0d608c6a","68872f2a798516e617886b36971fa09180662017dccff4e835a31a8a164f2d7f","4ac8ddbe514f264702bb974a41a76954617f18fd43d5236bb0eb6e683af0fc4a","d91f48ceb2329ae017d2f6bf7fa8431a299b691b6495e22da4ee8af65d9b748c","1cfc8bdca30bb45d9965f3c60637f079d91a1e5546cf1340df0979f07c6123d9","b08778ca2cdf180eaf1f0c36981a509703e2460f502736fcc47e53e49d055def","adfd518e05d1ee1166986ec0cbd543786e033edfdc8144abc40ef78f85023ee7","cb01a81cddc90d064f6f1d2c502d04907c74cc5683933ecc5befcb312398b559","2b66e13af93391d05dfd4ca7eef3c43903b60e41dfa52b9be7dcf176e6df6395","8ff4402c5fb4866e02ec8584bbc4aff376562b5b721c160745546f812b29b84e","5ffb293a73418aced30688b02aa52f644a40bde6432dcfc10b64d80360b8cf67","8f4f9f281e42e7a72e0da0486a9a2c242fb8b3e081ff38fc00bafe18b3b7670f","003e2334b9027963b4d87a6e6d6769b6e83eb9b3f5d89c8a093de14f8fb9c4f5","3d9d811ce9a24290710966125d6851d96f33b9d19b451e6eb5dd38df0c968e4a","63a73f7d785b12a25f7356bd96b7dda12ab0fc0227a41eb6ed3a02910b22952d","38161011da6ca54bf0b4447d64db7e7aaf797a9e7a1132c914078d8a911211ea","b81e737e6d7003eaa010d1c6e67b138def60b0312f9d7c0aa0f556694e8c42d1","774dff81140ac6e9a7afb3d7d9bd0b12e4333e1c50aba99c85254f59eea14ed9","a7bbe9f3a96bea352e4e8898f3b260f33fcf003240b7da7431f30f4f23fa8be1","da9d576677e820f2a942f99ef3a15573f9ccdd73e2c39bfc43ea2aa31c5400c0","0b6744dec894641d7135709bb4b3b3520c6e324de853380b3a56f82a64c68616","567c49ba2988909079b9c504929192243f696db2211b8bd5d27ac2d5f939e4ac","6382d4f1298acb23919bfd100827d32510c830fd7670e771a9176aafb3972659","eeb6e2ba25bfa49402a38886aa782341ec612ef88d399249515513bd215bead0","a89e758512ad2dbeff724d5adf9bccda211a67390e8a87fdc67323f417f9a3ba","82595d6e8ee2d9a040fae439a705745bdd2ab2d09bc8ce203bf99c2e2667f0f9","2bfd7ff1210b33d9f468df551f04b7636895df6b1ce0f8f4adfddf79c7ba5750","a9a895f5e06c7d1f35ec0adc86f10c120d99bee81b9a4c70583df3bd2be035d0","ce4576ba53c48929ebe6cfc6e1c7f033825f24b31301808b5cc6d6dd28ceabed","651aac145c06589addd934be8f93acd7619c0f9a14efb17deaaab4416efb7702","9f098a0d7545b68be569dea9ca42d0a18fb3e622e25a6805a0780182e537ef17","b4f3b4e20e2193179481ab325b8bd0871b986e1e8a8ed2961ce020c2dba7c02d","c3527a55a9d355d5019ae948f9622690408e921a8bbf7b37bdad9f09feed7590","7a22ccbd71ad35fb9f292e00297b8df7ab033c411cbe7106d39065f26b4209db","8f29f65ce09040175a948aeb38af31f34367123903c49b556a76097bcb8fe813","8be85fd3849c702cd34aee594b4e9773dceca300cc358c63d75a3118720b12fe","bb71811f328b358d990e298006492de623964862240de7eb6342e5efb8aafae9","2b2201068a1be0cd0a6211b6175c263425431c9da9fb4c06a429a985aeb0bcd6","1d5f30cbd06ffa2aab22346b087e140f069851c17b91189be8d1e168d53f9f93","decae8f6edbe21a53afdc86107d16214e718dcee1baeeeb2ae57be9cc04ef286","9508fcc6616ea31bf848463f161571bcb0c8726b267a43e231f21fca775007e7","daf44d045f41c7dc023520708443bc42f914178fbaeb193a59b6acbe3183dc7e","e54119a21539e5c1d0c2e2bcb74fc42303cec7d28c00cddd2c5fef9686caca8b","ab135130c2e2f34a2bd54f69331a1a7773fcdb4d9cfdff9a23831dc4eb6c0a21","f5f9b4e141a2fb1baaa7c3256261292fda87bceb2d27adfd7c407d4750575ec1","1037017fc5dc0109d84ce24aa65eefff6cc9728c608cd1fc54212e4c2db18baa","2fd1f5f37a7da7c28e6e4ec088cca5c6882fe41cd2e4d512cd583ad35f11dcc7","b6e995b5ef6661f5636ff738e67e4ec90150768ef119ad74b473c404304408a1","5d470930bf6142d7cbda81c157869024527dc7911ba55d90b8387ef6e1585aa1","074483fdbf20b30bd450e54e6892e96ea093430c313e61be5fdfe51588baa2d6","b7e6a6a3495301360edb9e1474702db73d18be7803b3f5c6c05571212acccd16","aa7527285c94043f21baf6e337bc60a92c20b6efaa90859473f6476954ac5f79","dd3be6d9dcd79e46d192175a756546630f2dc89dab28073823c936557b977f26","8d0566152618a1da6536c75a5659c139522d67c63a9ae27e8228d76ab0420584","ba06bf784edafe0db0e2bd1f6ecf3465b81f6b1819871bf190a0e0137b5b7f18","a0500233cb989bcb78f5f1a81f51eabc06b5c39e3042c560a7489f022f1f55a3","220508b3fb6b773f49d8fb0765b04f90ef15caacf0f3d260e3412ed38f71ef09","1ad113089ad5c188fec4c9a339cb53d1bcbb65682407d6937557bb23a6e1d4e5","e56427c055602078cbf0e58e815960541136388f4fc62554813575508def98b6","1f58b0676a80db38df1ce19d15360c20ce9e983b35298a5d0b4aa4eb4fb67e0f","3d67e7eb73c6955ee27f1d845cae88923f75c8b0830d4b5440eea2339958e8ec","11fec302d58b56033ab07290a3abc29e9908e29d504db9468544b15c4cd7670d","c66d6817c931633650edf19a8644eea61aeeb84190c7219911cefa8ddea8bd9a","ab1359707e4fc610c5f37f1488063af65cda3badca6b692d44b95e8380e0f6c2","86f4f26e7e2e216f49db89fe0e5f66dc6966edb34b6bb3d0e93608a223b1fed8","4a62e901bdc1d3d523871a38ee07dacc0effe7fd8215c21d6a51fc2093322b48","3cfef0a604c9dfc2c07224b8cecbeeef9c2d5ccbd50b3d0e1eeab4fb68520bfd","605ea258c6c3b91cb0ecd5e4919a5b2a9bbe2f23ec3f142b5ad35a21346ffcd2","40cdf91e74e7c77dac9a17722a4a3b15b4f871e826cbe69526427b8506576ae0","38f2df96177845e42488a11d158b384ae8181c2b12ae0bc5330f1b533d90fd91","9df5edd54d4afc9bb695688921a05cebd8870619538c927cac7d395f4b6ec800","1cfadb9c4a495fad01ed62596448f4e18b0683dcc49762c2c3398b1b03a48806","bf3384492d133b72050ad33351cf775d9f7f52a5257a03b556da3c18f437dd73",{"version":"033d57edce704430d2e4ec84d7ec4f01924b04cfbc2f61a8378543d149bee2a4","signature":"5ba04081d5f823f0208b19da4e77b80cd823c95bdbd46970bed4c5f8f46d20e8"},"152b81b748a92d98dd7c46545e6ba1c44dc5be517534395e0d9fef82554b64b8","a7607ef485c11c0381cf58624f91e63346bcb41709b8e880b5cb1961e4b9de51","9e3cd884f7eac19b502dd0edfe29ae6b3021a491cd7eb8a530d63c34c367a783","3c0a3b2401dfd932551257b4cff1fe61e36da660ed359c565a56db1877773a77","181694d1f7a579e57c55efb1418904efc513ebce0b08601e94f288674104359e","f26f7ce74fc73d3176941bb4172450cd97e34787ae584de49c2d16c191cb37fc","e7f5e282da2ddeee8bbc6671459c35dd3144e0ab23a0abaaf77db598cfa896ee","4801a5fb4f8b7f0897189c79cd6d3fedb99a43a4604e9dd76c0cd92d4eb269ee","eed0cfbd238f0f9def37d26d793393c8cfb59afe28ecd1a4639a58905abdadf1","79cda812e4d3e249cbf90015a050ab333aaa41af08f143276aa0862dde976dbe","9a12e92309c84ef3d701bb9d01813e4bdb1a850136710be03f745fdc77df7ff3","1f4b26b6651d390085bc11e982a36d21e57a0fb34ad9e2910041851f47a02773","93b6c52c6e42184dae94619aeda58da74219cbef411e2aca4301c8da7647340b","416eec23b202526964d0f5ebf0ca9e0d8c08e4260bc0946143b66f1a1e17b787","688c9dfd2b7114f5f01022abb5b179659f990d5af5924f185c2644ca99fe7b77","f17c007d95f666ecf664ff13ca8efc196980597c4ca152a0baaa82b2525e2328","02ff761f690163463a4e7594d666e4c73995c4f72746a5967b3477d9ecf62c4e","0e60e0cbf2283adfd5a15430ae548cd2f662d581b5da6ecd98220203e7067c70","473d9269f1f277be1e222b80b5912b26f924efe13c1f418e569617ec34342720","f5b284ceadf71472a8fbf555dbd91079cce0ce7ba54f65dd63d18deec84cd11d","11f848107bc2f7535adccd37b55f018a0f18abbf5a1cd276f5776779618c37ed","8f47ed340254a8ccdf37035d9cba70f53a4d899804da840b47f4c3b07a7b2063","e5bd26052c0f4b600728cc41f03f00c20776d5dc53e8226600e0bf1dbcd66220","50b54f6dac82c34e8c12b35eac220ccc178f51e84813179826da0e3e96283af9","0c112f7206883caa95fa6b4558f3d05141d61910c05379660e1493b716a88656","6fd6fcadeab3b973ea52c2dbfcc960f23e086ea3bc07aaa0e1c6d0d690f8e776","6dbc7c87a2dfb95c594c5da54f7a8081f3019bb1bf6dcd72eeb6239ee0e243cb","a59fdd5525468b9afe1fef2238f5b990c640723bd430c589b4c963d576209be8","23c0f554c1fab508370678aca41cf9b1d6a6a00069e499d803d43387067fea9d","016f140691ab5fea3357a89c6a254ff8ada91173d22d36921bb8295fe5d828ab","ee219b4332439451cbf9ee34584e8a7e67be35d8ed3d1b292769a09483a102ce","305c2373ff739ceca5780a204766c76617e74b551f6fc646a358b5f687a77333","61c5821b70e113b15f24593e7061e6302635448ae700d813f06560ca5f140727","1e127052ae269b7f278b828978b962eb93bbc6134c0bda8b03e3f39df5c3865d","716cb84b8b410c52de9e7b310b2125cbc390a7c59e929a5c0a29514345b9ba9f","edabf50cfd2310b9af7214ecb821e0af6c43f66d8b5fb297d532f27bba242088","1687d528ca6c51a635f9a4022973f472221700464be83810788238a595cb588c","32162214c3f25748f784283a3f6059ad3d09d845faccc52b5c2cf521eace6bd6","4a13f78f265e7deb260bd0cc9063b9927a39f99f7cc8bb62b0310aa3a1df3efd","c04c509a58cc86b654326592aca64d7ceab81a208735c391dd171ca438114ea9","74c6a2352b00e41d352cc23e98e8d6313d5631738a5ea734f1c7bff0192b0f47","fc94bcfb823846ba8b4c1727520a3d509c9f517d4e803dfb45e6a71b41000eb8","93f9f2f55cc8393683048c720e30bc416bc3589a5d3f04a24d8bdc2d29c08589","e4c09f8a818679f80931fae1d0ca3dec192708c510c9f33fe56d71abe8337c59","b1cc0dfdc0455283ccf003185dbbc51e2c15299aff343413310eaf45c4572323","196f3c5da872983f8f0d2242c2cecc4fae85684d887ae1eef6be6b13b4138233","970c9e6d3c4184ca0c36d86dc29cc3e7b151d6aa4c1f2185fb97650b05a07055","af4beeac0e879b673f8b874e5fe013bdebfb17f0213142e5037ac90aea86d636","c620ccd98c18e71d7e39a79bea47b4f4724c3a1f30f78d2cdd03cf707ae64e4d","150f375c7f5c01a15d531c961468f1a04a1c21dc4e4a372ca4661700d66cc9c2","8aabc7d8676ba6098fc30c95eca03a331df41ac4c08213207a9329998f32d1b0","9d8464e1c6b7f30c4121d28b11c112da81c496c65e65948fbc7d5b5f23b50cdc","6b88a632af960a4140730527eb670c3d3e6eae0da573f0df2849909d9bb3e5f3","ab2f4f2d874d18918f0abb55e5a89a36ab875e01e3e9efa6e19efbd65295800b","2212906ab48ae8891080a68a19ba3ab53a4927d360feb34120051aff4ae980ae","57fb7ca63631577603d247484cb716a44aaef2fed76ff4d39db23391fc469695","ccc635892c2121c569281e8605f63b964d9067d8c560fdd0d8c0305aa3436b0a","56abe182c8ac81afc695eeefc9dbf6a637c8a8365b672053746678a3bfc6ca7c","df4b5e6fe2a91140a1ed2f8f94e01d4c836a069cee23a2d0a83a00cf649f8505","a43ee2d0bc49ad3cdc9a12c9e284adca7ecd30688dbffdbbd4b75244af498231","480afcb2c1ea07d5a33101f39ee49c4e433df5279bcc901c86299ed51df066c7","58add5da26530fecb38667d08702a6ce8c0387ebb1d685f35caba5559d365bc5","9bbcda8e62203eae2ff2f7ff61fb443222974c125f6e0e8a280ab8765d55b5f3","1cd3a865010365344f689258ccc229341c5610bd036cdf51a0369e78a2cc297f","2babba65e6d8e6b0303d5e7ba9ad221c89bda004d2e703eebb8884e342bfba27","52946a32d09191026f3c889bdfc1e0fce88dda141472a8d8a60aef9d83502b7f","2300d5812cfd6747c34de25950a11a84c0cb93dd5613b46a74cf1422d61d3c9f","febbe46be2865dfc342fc690fc91311eacf3f4f6c4f83fa9ca32c27581c016bf","f64fff46fcd20e44ed057398a9872269bb547d85eb6a40050f8b6794d2ef093f","bc5626a4f279345cc49bca110c83adb6885d74044f818abcfdc11802c569ba1b","baef294f6ea8cfd7e45932669b7cbc6aa1621d3ae6d2c9515acc3ea484fb4be0","7e6aa4667eefa889cbd66fa1cc50f432f674d32a6e9f58a7d2beedd34c9f44a6","c97e0165511e0fa9e4da49681b649c9b846200811da3101d41876c1df166287a","3fb1a6b4a14f2a08fc360d0891db68a4643b393262af448a0811d4acd150490b","79c15e25133240ab56678614a2705cba30578b93c0c2ea6c07e86d87c7ce26d1","fde15ccf34319bfbbd71a8453a9121f4161908668caf13740fa38af176e41a00","76ead0d03259ad18a7263ffbc74f38f74799ee98d46dbaabbb2db35f15d0adae","64377a93588b37bc8e0a09166b7078e7ddfa59010b15710941c3c29475728097","e2ac01d9d3742f9514c692d9ebe96af7f7c7df07ca38f40e456d214f72f475db","a7022bab77511e11e629442479fb478b3433ae15af2b70d02d5d4fdb1f2a38d1","1558c642e03689d42843e7b047b9c20e77ee09ab388ff854484db5dcfbed11da","f17c007d95f666ecf664ff13ca8efc196980597c4ca152a0baaa82b2525e2328","02ff761f690163463a4e7594d666e4c73995c4f72746a5967b3477d9ecf62c4e","473d9269f1f277be1e222b80b5912b26f924efe13c1f418e569617ec34342720","2859adaa4f2db3d4f0fc37ad86f056045341496b58fba0dbc16a222f9d5d55b1","655ed305e8f4cb95d3f578040301a4e4d6ace112b1bd8824cd32bda66c3677d1","f4ab8874e2d8fcfa22d239e84c59d00b7f4f3a4a14f4f06d7974b9512c59e9c3","8da65c108ea40f3009b7c00ac811efa43e77e7a2afb2471a69526ca9192e9849","cb789da1f75dc9d53848949aed3bb1d521de13c6340e5792a6b3f2c5e0c53e29","82b70e72d3e16b95c6f933b0d146240214ef01dfe8e270f6e50f349223b0615d","e4f1aa581dce6c84a244b5b5f1160f6e7465d0c6d48948ff6f1069a630fe9925","60b042f1a2a32d4d5e065e7fb229399562b9949984e63e09fd6a42dbc8e22c35","5f07468c2f5315f463874d73b8293cb135b228f59280e164a840e5d919b565fa","f025aff69699033567ebb4925578dedb18f63b4aa185f85005451cfd5fc53343","9b9e004c2bee844a5a58e8803a1ae0c8075a2caab3d567f69a6eec72f154626a","64cc158e07ce953307a95ee711b67fc8cd980380d12aee33670d483ba6f642f3","01b8fe09ea0b18ceba458308fd349bd2545227995c1b370a6897ea7c8f4ae577","a24a9c59b7baecbb85c0ace2c07c9c5b7c2330bb5a2ae5d766f6bbf68f75e727","2ee6c6e12729bd41bf99cd5a1158650d3afe9cd435e2d3ce6746de2dbf93a2ad","4484870aac79f12400497cea19aba493150811f10eb720f4cd52095d928ebe6f","e9203259c5f820618a0c10df0e0e28df87f2469770461540919b23d864b0e2f8","faa0ccaee1e4151600c618b91f22e29d7c3090555841fbc7cfcba0bb8dc78dda","23809dc5154c50a704bf5903da3cca5e2d8770f9a8ac77217d5cebc494eebeeb","363b99235b46cfdd75b8308c71c1ff2d492e383593350b33f307e0746aca3789","6df3174b7fff6ce47402ffa987624c82c772afc5bcbc68d7cecc3d08406278a2","9d47eb88df11d4e049b2bb0b7236944cf4a517444f805e0c2f9f00b5b8a722ce","42c3d521301dba91d2841f7f176b8803e5524c6cf7ce6a90b6708385f2ece433","71725ba9235f9d2aa02839162b1df2df59fd9dd91c110a54ea02112243d7a4d9","2260e58465ee7adc7184c7e3011bd6f69e5dfa4c9847e1f1c5d2c5fe39b5c50c","e38903e3ceaa0b1ad18686596cb633f37112b4c1e421dbeec709a0393abab34e","f0cfc87e830959608e727239836d9e0c759894b419758961839d308c42b79b09","6ae375916cb1ab039b0d8191a1b2a4c5ee7d54ca55523edf9c648751d9bf4f3f","75efaf7dee18ee6d8f78255e370175a788984656170872fd7c6dfba9ed78e456","dd8bd6e49db072bb7f67a50fcfc2ed85da25216e8357f69662785ec9cff6805a","0532ceeb57a03056a1db9ef93c44e2b6868047b9e77e3ce94a82cfad3ac764be","5b016a20523753fb55e44223ad7e4f2728a3d6b83771e8f2b52a3212d612f494","fc831788d78ccee85562cbbdca8dbf955dc1540d9bc33525b7cfee9be2732de7","e73d6e940ebcd5418bc881ec9f3eb2c9beaf089673a1dda5ec9d74f8f3a674e3","f9a8a74a3277dba5994b7830faa0a72ccbbdde4edc546579ea5f3bfdd833f1c3","6396e07ac9d5653e2ea225c491e7d5b548165eddb49e4293dcad42445fdd2b5b","4356f53b3bcd48f4253465746ccdb0baa38c6bf929712349bffea5426e59c2f4","c07dcc52ff4bf2fe6b9027067089b2696ea8debfab01c5a89567b57c85a8143a","01c7b17b4106823329939ac4971770aa720b35749401312a9c6610ba61a689f3","bd950bd6332b0ad5bc3705374665c44bd87f3018774aa62c05bcd89788fed40a","6ff08a01c33e70289d44268bb3954c9f3c71162085b829dc323279fbf3a70b2a","25f989f57da0150fc531eb60696097517c300e41c48f9a35cf8c39a2884e9e9e","932cade1c5802123b5831f332ad8a6297f0f7d14d0ee04f5a774408f393e2200","fb22796881ca27b61f649e17d8511814ec740e0b53cc6a1c7d3ddb4e37ca840f","33336c1c320134b37d9f2981944a0a20807adc566419f2c2f864faf090886d1b","29e9716dd95e62c62d4a1bc945947978f3fbaa74a58b74e2ee295f98819cf2dc","3143e9ab69bc3de6addad59d87d6ec39287c3ace7573aafedd711b446060dcdc","b97c43cc5c758375c762546242bd2e5dfecea495d11e7ab8670cdf7800a78a55","76e8204d6c3f2411c8b0f3e0db34e190880acbc525be4facf882abac3c6e9868","cf09d50994d492c9b49980e8a1e8b6296f8c3b7cfba248fb0a0705fcbd0066de","a7d8688d9233bd072030b3cbb02a32c045f21703d83a9588f9e0da388554c099","75191cd4f498eecaa71d357b68f198aabff6e9aeb094783bc2e88224f2440e91","68ab7ba45dd13e321f9b4ffa2cc9092c66c8a32eac53f8268ef992c9d83bddae","b0eca460992491df024ff9e11c06c57f83d8f389edfc37f343abbf1760133020","571feed5f3992f4e5f52368891259c9675f387e062be59b4fe4064c4fa12189f","88ab5c0465b89250245fb97b17192adbd7d3ee26b26e29f948a410c4dc554663","e2b2b5211b339ddcd1f1c80a80ac970090a969770b7931ab6fb6641d0321c0d2","d5547676ace66ee69a2f115546f63c8df3aa08924dfe3c5330adc309f9e88db0","35f382d45192c13ffc63e6b7349bf9eb02d62db2b4ee12b5cf3806d7fc7268f7","d3cfab7286ea31393cc979667efd26fe307af4f0ad8c5df262c8be322a2cbef5","95874c2af12afd52e7042a326aef0303f3a6f66733c7f18a88a9c6f3fa78d2ee","8d5ad6a07dc84c0fba4041cba09bfc9c75bc06b04e8843405e3fb2456c721438","e680ff882bccd2bb6574128a17e1a32d7a49b8eb161a9a739dd60f8362e3d4d9","a4d6781f2d709fe9f1378181deb3f457036c7ebc7968a233f7bc16f343b98ced","aa7d0095b9763a3b47c1851036d87152872a3d7f1733732b0a0e14655b0ee34b","74c58bc6847528c4349c884453f3c604b7d1cf4f9df2ba4816ea1b35e0ddea3d","650e65e5459ca1f2ac14e3159f698a75e44025e0cf736aabc120962b6027b243","51143dd06200d0d0670f19cf38bb0c8cc9e0c2a0b1ad86dc517d68e8fdcaec89","d52e8b1f1b5eec0aa771eeb11b56c5ee3bc310b40619c9aa5e9dfd47cd294c7f","df36b61b42f520aae6a0648a0113c9b5fc8edf20ffe1b38c2143f6bc3777bc6b","aa8b0c5153f089b9d1ebd06eefd5223728e52df664ca5c64abe2736fd3c15b95","8cab00e89567640fcfccaa32fe0ce060e87ba452730c1d609005cf1e577eb262",{"version":"1ace17751d70faeb553e6c2ebf24b6a966c624530c5a329cd43fbb4ba9791dd8","affectsGlobalScope":true},"57c088bde14f28759bbe0592b144e721cc4157e0a56e8525a21f73aa6a8a1895","8d1daa090c8d6ef835bd07b8624d77c6fc72b550f64f8f48a8275d79aa024dd2",{"version":"daa4cf75b1aafc5227314bc8b0cf998242c04534fedf22e4bd2a3ac8681c2cc9","signature":"60de895c7cce0f4f695797a2ff1669bbb65c41eec3df0e44a8c3f137de84d2a6"},{"version":"f723fef3f8f481cdc6237e72a267c05f1ad7bc86641e7c5293129395dca3dfb7","signature":"634c3acd4420c2714a9d9995ab90bb51d6ac87b875b72b11af3acb9bfb78a14e"},"eedf623d3dc5b1868d1262188b2539b4cee3565a0efab4b13fa2f63de2b74eb6","ac202c5534a939893a35623bd55dcbd2883f4b95f68d0b2b9e38d8726be857c3",{"version":"b52b80d11f309bccb1c5fc968f24039fa3c6f94886ae65a6778ac89e1de7578c","signature":"4e5f84c36f03a3255abdfe9601e0111a63866daaa6c05b7e2b92939f21591671"},"48104d634621ad9262978a994ca2cd4a8c85b967db9d55e792f9aab35a4d6eb6","2e7eb8626a2b1fc1af21fb1d2bd319f0b5734e9c61e8623c10fb966ba3ed63d2","e4a3f8a2d17619a682f316b297172bbfc7b9f37cc10a7b1c8dc667d03157cc99","85dfc66d7717ca206042bd0ea7dfe8f7304cd94a5687ba6c786320f0c3d4a851",{"version":"ac3fe74e1625a7c9d491b6a7ce0f83821b42fc14a538eac854f590b40dc8bdde","signature":"5039123e48dc32f1efe557fe6a7f23db63d9dda69b8e04781fc47f3e52b5a204"},{"version":"68a2099f7616c8289ec91a19a417f1db2a4b974e7b3b6fc1313e23a2dc46e54c","signature":"8260cd48afa94d36503d9d4cd02970ec9ba86b6eea9efbb87bee0168937560df"},{"version":"d11bda81ace04f45754586a2eed55006f0b8558f85af7b570c81a1167ebb919d","signature":"a4f7274c26f563078d2cd8ad2ead4f6719c9c5b50d98b0a30ab376f9c335b4cd"},{"version":"d55d2c5bc75e60302ac506f2140219b1facbfc752d1cb28f1777f41aa90fbb3c","signature":"d1d57fc8a97d965cef996bec8643333af963cabb0161760dd7818eba1c4465d1"},"a06034f1c97c900e3b04aa259e6e44b83a6d806c4ef7370d97230e209639aba1","963d59066dd6742da1918a6213a209bcc205b8ee53b1876ee2b4e6d80f97c85e","a55ca8b5f8c6a8535bb26fac1e10132a5338234ca3d5b9ed739fbc8ef41c8075","639158c94f9813ac0ef48abc5e24788b5acce74e961ad6d9ac30c18273965bfe","40644bd969bb2ed15b52a94216ff5e8a5d6e42c92d7172a585813e2ff429fa37","ec0f7e00b3a3aba82da9aba482c5717e7b4b9b70f3966bcdb16f2be374417437","760cb9b76ab53a2f704ee0e731e162bcfc6af609f5e400a668efe2cc7923e4f4","cc957354aa3c94c9961ebf46282cfde1e81d107fc5785a61f62c67f1dd3ac2eb","7ec238b220ea991b6643e24191b1f552a65956d5f6de4c6144e700b9985265d8","93de1c6dab503f053efe8d304cb522bb3a89feab8c98f307a674a4fae04773e9","dae3d1adc67ac3dbd1cd471889301339ec439837b5df565982345be20c8fca9a","5426e62886b7be7806312d31a00e8f7dccd6fe63ba9bbefe99ee2eab29cc48a3","3ebae8c00411116a66fca65b08228ea0cf0b72724701f9b854442100aab55aba","8b06ac3faeacb8484d84ddb44571d8f410697f98d7bfa86c0fda60373a9f5215","7eb06594824ada538b1d8b48c3925a83e7db792f47a081a62cf3e5c4e23cf0ee","f5638f7c2f12a9a1a57b5c41b3c1ea7db3876c003bab68e6a57afd6bcc169af0","0d14fa22c41fdc7277e6f71473b20ebc07f40f00e38875142335d5b63cdfc9d2","d8aab31ba8e618cc3eea10b0945de81cb93b7e8150a013a482332263b9305322","462bccdf75fcafc1ae8c30400c9425e1a4681db5d605d1a0edb4f990a54d8094","5923d8facbac6ecf7c84739a5c701a57af94a6f6648d6229a6c768cf28f0f8cb","7adecb2c3238794c378d336a8182d4c3dd2c4fa6fa1785e2797a3db550edea62","dc12dc0e5aa06f4e1a7692149b78f89116af823b9e1f1e4eae140cd3e0e674e6","1bfc6565b90c8771615cd8cfcf9b36efc0275e5e83ac7d9181307e96eb495161","8a8a96898906f065f296665e411f51010b51372fa260d5373bf9f64356703190","7f82ef88bdb67d9a850dd1c7cd2d690f33e0f0acd208e3c9eba086f3670d4f73",{"version":"ccfd8774cd9b929f63ff7dcf657977eb0652e3547f1fcac1b3a1dc5db22d4d58","affectsGlobalScope":true},"93c4fc5b5237c09bc9ed65cb8f0dc1d89034406ab40500b89701341994897142","b0d10e46cfe3f6c476b69af02eaa38e4ccc7430221ce3109ae84bb9fb8282298","fab58e600970e66547644a44bc9918e3223aa2cbd9e8763cec004b2cfb48827e","70e9a18da08294f75bf23e46c7d69e67634c0765d355887b9b41f0d959e1426e","6ba73232c9d3267ca36ddb83e335d474d2c0e167481e3dec416c782894e11438"],"options":{"declaration":true,"emitDecoratorMetadata":true,"esModuleInterop":true,"experimentalDecorators":true,"module":1,"noImplicitAny":true,"noImplicitReturns":true,"noImplicitThis":true,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./","skipLibCheck":true,"strictNullChecks":true,"strictPropertyInitialization":false,"target":2},"fileIdsList":[[373],[346,348,350],[275,278],[28,29,344,349],[28,29,344,347],[28,29,344,345],[29,212,275,276,277,278],[373,374,375,376,377],[373,375],[28,29,368],[28,29],[380],[381],[386,391],[28],[28,29,369],[396],[279],[176,184],[175],[177],[184],[171],[168,169,170,171,172,173,174,177,178,179,180,181,182,183],[176,178],[179,184],[17,167,187],[17,156,167,187],[156,167,187,188],[159,185,186],[41],[42],[41,42,47],[43,44,45,46,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,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,148,149,150],[42,70],[37,38,39,40,41,42,47,151,152,153,154,158],[47],[39,156,157],[41,155],[42,47],[37,38],[28,29,280],[28,29,281],[281,282],[28,29,283,284,286,289],[289,297],[283,284,286,287,289],[283,289],[289,297,298,299],[28,29,283,284,286,287,289,290,291,292,294,295,296,297,300],[289],[287,289],[28,29,286,289],[28,29,286,289,291,293],[283,284,285,286,287,288],[29],[284,286,287,288,289,290,291,292,294,295,296,297,298,299,300,301,302,303,304],[283],[212,275,278],[306,308,309,316,329,332],[28,29,306,308,328,332],[306,308,310,329,331,332],[313,314,316,332],[315,329,330],[329],[305,316,317,328,332,333],[316,329,332],[310,311,312,315,327,332],[28,29,275,278,305,308,309,316,319,320,321,323,325,329,332,333],[29,322,324],[331],[29,275,278,307,333],[28,29,206,274,275,278,305,332],[301,305,318,324,332,333,334],[274,275,278,305,306,307,308,309,316,317,318,319,320,321,324,325,328,329,332,333,334,335,336,337,338,339,343],[305,318,324,332,333,335],[306,308,310,327,329,332],[275,278,316,325,326],[28,29,306,308,317,327,329,332,333],[306,308,310,329],[28,29,301,305,306,316,317,318,324,329,332,333],[28,29,310,316,329,332],[309,310,316,332],[28,29,329,332],[251,252],[197],[29,197,198,199,200,201,255,256,259],[28,29,197,205,253,254,260],[28,29,198],[203],[197,202,204,208,250,255,260],[29,208,218,219,249],[197,198,199,206,252,256,260],[29,197,198,202,204,205,252,255,256,260,261],[200,201,219,257,258,260,263,264,265,266,267,268,269,270,271,272],[29,197,200,260],[29,197,260],[29,213],[213],[29,237],[215,216,222,223],[213,214,218,221],[213,214,217],[214,215,216],[213,220,225,226,230,231,232,233,234,235,243,244,246,247,248,274],[224],[229],[223],[242],[245],[223,227,228],[213,214,218],[223,239,240,241],[213,214,236,238],[237],[29,197,198,199,202,203,204,205,206,207,208,250,251,252,255,256,260,261,262,263,273],[219,267],[219,267,273],[204,208,219,250,258,266],[29,199],[29,202,204,206,251],[28,29,253],[197,200,258,260,267],[197,199,200,204,219,257,260,268],[28,29,197,204,252,254,260],[204,207,250,252,255],[265,267],[197,199,260],[208,250,259],[197,200,202,204,208,219,250,257,258,260],[29,209,210,211,212,213],[209,213],[384,387],[384,387,388,389],[386],[383,390],[164],[165],[164,166],[161],[162],[161,162,163],[385],[275,278,340],[340,341,342],[27],[21,22,23,24,25,28],[21,24,26],[18,19,27,32,34],[20,27,30],[20,27,33],[20,31],[352,359,361,363],[27,191,351],[19,35],[17,36],[35,36,160,355,357],[27,370],[190],[190,192],[159,191,193,355],[17,18,358,359,360,362,364,365],[18],[351],[159],[35,160,351,355,361,362],[351,352],[35,160,189,194,195,196,353,354],[195,356],[35,192,194,196,351,352,353],[19],[20],[352,361],[160],[361],[160,195],[352]],"referencedMap":[[375,1],[351,2],[349,3],[347,3],[345,3],[350,4],[348,5],[346,6],[278,7],[277,3],[378,8],[374,1],[376,9],[377,1],[369,10],[379,11],[381,12],[382,13],[392,14],[28,15],[29,15],[370,16],[397,17],[280,18],[185,19],[176,20],[178,21],[171,22],[172,23],[184,24],[173,22],[174,22],[179,25],[180,26],[181,22],[188,27],[186,28],[189,29],[187,30],[42,31],[143,32],[147,32],[146,32],[144,32],[145,32],[148,32],[43,32],[55,32],[44,32],[57,32],[59,32],[52,32],[53,32],[54,32],[58,32],[60,32],[45,32],[56,32],[46,32],[48,33],[49,32],[50,32],[51,32],[67,32],[66,32],[151,34],[61,32],[63,32],[62,32],[64,32],[65,32],[150,32],[149,32],[68,32],[71,35],[72,35],[74,32],[117,32],[116,32],[75,32],[114,32],[118,32],[76,32],[77,32],[78,35],[119,32],[113,32],[73,35],[120,32],[79,35],[121,32],[80,35],[103,32],[81,32],[122,32],[82,32],[111,35],[84,32],[85,32],[123,32],[87,32],[89,32],[90,32],[96,32],[97,32],[91,35],[125,32],[112,35],[124,35],[92,32],[93,32],[126,32],[94,32],[86,35],[127,32],[110,32],[128,32],[95,35],[98,32],[99,32],[115,35],[129,32],[130,32],[109,32],[88,32],[131,35],[132,32],[133,32],[134,32],[100,32],[102,32],[104,32],[101,35],[83,32],[105,32],[108,32],[106,32],[107,32],[69,32],[141,32],[135,32],[136,32],[138,32],[139,32],[137,32],[142,32],[140,32],[159,36],[157,37],[158,38],[156,39],[155,32],[154,40],[153,41],[47,31],[281,42],[282,43],[283,44],[287,45],[299,46],[297,47],[290,48],[304,47],[300,49],[301,50],[298,46],[291,51],[296,52],[303,53],[294,54],[289,55],[295,53],[285,56],[305,57],[284,58],[334,59],[335,3],[317,59],[310,60],[329,61],[314,62],[315,63],[331,64],[330,65],[306,65],[318,66],[336,67],[316,68],[324,69],[323,70],[332,71],[308,72],[333,73],[337,74],[344,75],[338,76],[326,77],[327,78],[328,79],[313,80],[325,81],[311,82],[322,11],[312,83],[309,84],[263,85],[198,86],[260,87],[261,88],[202,89],[204,90],[256,91],[250,92],[205,93],[206,94],[273,95],[201,96],[200,97],[237,98],[236,99],[214,99],[240,100],[224,101],[222,102],[215,99],[218,103],[217,104],[249,105],[220,99],[225,106],[226,99],[230,107],[231,99],[232,108],[233,99],[234,107],[235,99],[243,109],[244,99],[246,110],[247,99],[248,106],[241,100],[229,111],[228,112],[227,99],[242,113],[239,114],[238,115],[223,99],[245,101],[216,99],[274,116],[271,117],[272,118],[267,119],[264,120],[252,121],[197,56],[254,122],[266,123],[269,124],[255,125],[207,56],[251,126],[268,127],[262,128],[258,129],[259,130],[213,131],[211,132],[210,132],[388,133],[390,134],[389,133],[387,135],[391,136],[30,11],[165,137],[166,138],[167,139],[162,140],[163,141],[164,142],[386,143],[342,144],[343,145],[341,144],[340,56],[276,3],[321,3],[24,146],[26,147],[27,148],[35,149],[31,150],[34,151],[32,152],[364,153],[362,154],[365,153],[360,155],[359,156],[358,157],[371,158],[192,159],[191,159],[193,160],[194,161],[366,162],[19,163],[361,164],[160,165],[33,15],[363,166],[353,167],[355,168],[357,169],[354,170],[372,15]],"exportedModulesMap":[[375,1],[351,2],[349,3],[347,3],[345,3],[350,4],[348,5],[346,6],[278,7],[277,3],[378,8],[374,1],[376,9],[377,1],[369,10],[379,11],[381,12],[382,13],[392,14],[28,15],[29,15],[370,16],[397,17],[280,18],[185,19],[176,20],[178,21],[171,22],[172,23],[184,24],[173,22],[174,22],[179,25],[180,26],[181,22],[188,27],[186,28],[189,29],[187,30],[42,31],[143,32],[147,32],[146,32],[144,32],[145,32],[148,32],[43,32],[55,32],[44,32],[57,32],[59,32],[52,32],[53,32],[54,32],[58,32],[60,32],[45,32],[56,32],[46,32],[48,33],[49,32],[50,32],[51,32],[67,32],[66,32],[151,34],[61,32],[63,32],[62,32],[64,32],[65,32],[150,32],[149,32],[68,32],[71,35],[72,35],[74,32],[117,32],[116,32],[75,32],[114,32],[118,32],[76,32],[77,32],[78,35],[119,32],[113,32],[73,35],[120,32],[79,35],[121,32],[80,35],[103,32],[81,32],[122,32],[82,32],[111,35],[84,32],[85,32],[123,32],[87,32],[89,32],[90,32],[96,32],[97,32],[91,35],[125,32],[112,35],[124,35],[92,32],[93,32],[126,32],[94,32],[86,35],[127,32],[110,32],[128,32],[95,35],[98,32],[99,32],[115,35],[129,32],[130,32],[109,32],[88,32],[131,35],[132,32],[133,32],[134,32],[100,32],[102,32],[104,32],[101,35],[83,32],[105,32],[108,32],[106,32],[107,32],[69,32],[141,32],[135,32],[136,32],[138,32],[139,32],[137,32],[142,32],[140,32],[159,36],[157,37],[158,38],[156,39],[155,32],[154,40],[153,41],[47,31],[281,42],[282,43],[283,44],[287,45],[299,46],[297,47],[290,48],[304,47],[300,49],[301,50],[298,46],[291,51],[296,52],[303,53],[294,54],[289,55],[295,53],[285,56],[305,57],[284,58],[334,59],[335,3],[317,59],[310,60],[329,61],[314,62],[315,63],[331,64],[330,65],[306,65],[318,66],[336,67],[316,68],[324,69],[323,70],[332,71],[308,72],[333,73],[337,74],[344,75],[338,76],[326,77],[327,78],[328,79],[313,80],[325,81],[311,82],[322,11],[312,83],[309,84],[263,85],[198,86],[260,87],[261,88],[202,89],[204,90],[256,91],[250,92],[205,93],[206,94],[273,95],[201,96],[200,97],[237,98],[236,99],[214,99],[240,100],[224,101],[222,102],[215,99],[218,103],[217,104],[249,105],[220,99],[225,106],[226,99],[230,107],[231,99],[232,108],[233,99],[234,107],[235,99],[243,109],[244,99],[246,110],[247,99],[248,106],[241,100],[229,111],[228,112],[227,99],[242,113],[239,114],[238,115],[223,99],[245,101],[216,99],[274,116],[271,117],[272,118],[267,119],[264,120],[252,121],[197,56],[254,122],[266,123],[269,124],[255,125],[207,56],[251,126],[268,127],[262,128],[258,129],[259,130],[213,131],[211,132],[210,132],[388,133],[390,134],[389,133],[387,135],[391,136],[30,11],[165,137],[166,138],[167,139],[162,140],[163,141],[164,142],[386,143],[342,144],[343,145],[341,144],[340,56],[276,3],[321,3],[24,146],[26,147],[27,148],[35,171],[31,172],[34,172],[32,152],[364,173],[362,154],[365,173],[360,155],[359,156],[358,174],[371,158],[192,159],[191,159],[193,160],[194,165],[366,162],[19,163],[361,164],[160,165],[33,15],[363,175],[353,167],[355,176],[357,169],[354,177],[372,15]],"semanticDiagnosticsPerFile":[375,373,351,349,347,345,350,348,346,278,277,378,374,376,377,22,369,379,380,381,382,392,212,368,28,29,393,370,394,395,70,25,396,397,280,383,185,176,175,182,178,169,168,170,171,172,184,173,174,179,180,181,177,183,188,186,189,187,40,42,143,147,146,144,145,148,43,55,44,57,59,52,53,54,58,60,45,56,46,48,49,50,51,67,66,151,61,63,62,64,65,150,149,68,71,72,74,117,116,75,114,118,76,77,78,119,113,73,120,79,121,80,103,81,122,82,111,84,85,123,87,89,90,96,97,91,125,112,124,92,93,126,94,86,127,110,128,95,98,99,115,129,130,109,88,131,132,133,134,100,102,104,101,83,105,108,106,107,69,141,135,136,138,139,137,142,140,159,157,158,156,155,154,39,41,37,152,153,47,38,279,281,282,283,287,299,297,290,286,304,292,300,301,302,298,291,296,303,294,288,289,295,285,305,284,334,335,317,310,329,314,315,331,330,306,318,336,316,324,323,332,308,333,337,344,338,326,327,328,313,325,311,320,319,307,322,312,309,339,263,270,198,260,261,202,204,256,250,205,206,203,208,199,265,253,273,201,200,237,236,214,240,224,221,222,215,218,217,249,220,225,226,230,231,232,233,234,235,243,244,246,247,248,241,229,228,227,242,239,238,223,245,216,274,271,272,267,264,252,197,254,266,269,255,207,251,268,262,219,258,259,257,213,211,210,209,293,384,388,390,389,387,391,30,165,166,167,162,163,161,164,386,385,342,343,341,340,276,275,321,17,23,21,24,26,27,4,5,9,8,3,10,11,12,13,14,15,16,2,1,7,6,35,20,31,34,32,364,367,36,362,365,360,359,358,371,192,190,191,193,194,366,18,19,361,352,195,160,33,363,353,355,357,354,356,196,372]},"version":"4.4.4"}
|
|
1
|
+
{"program":{"fileNames":["../node_modules/typescript/lib/lib.es6.d.ts","../node_modules/typescript/lib/lib.es5.d.ts","../node_modules/typescript/lib/lib.es2015.d.ts","../node_modules/typescript/lib/lib.dom.d.ts","../node_modules/typescript/lib/lib.dom.iterable.d.ts","../node_modules/typescript/lib/lib.webworker.importscripts.d.ts","../node_modules/typescript/lib/lib.scripthost.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/reflect-metadata/index.d.ts","../src/model/CacheProviders.ts","../src/model/CacheableOptions.ts","../src/cache/providers/CacheProvider.ts","../node_modules/roit-environment/src/Env.ts","../node_modules/@types/dot-object/index.d.ts","../node_modules/roit-environment/node_modules/chalk/types/index.d.ts","../node_modules/roit-environment/src/EnvOptions.ts","../node_modules/@types/yamljs/index.d.ts","../node_modules/roit-environment/src/Environment.ts","../node_modules/roit-environment/src/index.ts","../node_modules/@types/node/base.d.ts","../node_modules/@types/node/index.d.ts","../node_modules/node-cache/index.d.ts","../src/cache/providers/InMemoryCacheProvider.ts","../src/cache/providers/index.ts","../src/platform/PlatformTools.ts","../src/cache/providers/RedisCacheProvider.ts","../src/cache/CacheResolver.ts","../src/config/ClassMethodQueryMap.ts","../node_modules/class-validator/types/validation/ValidationError.d.ts","../node_modules/class-validator/types/validation/ValidatorOptions.d.ts","../node_modules/class-validator/types/validation-schema/ValidationSchema.d.ts","../node_modules/class-validator/types/container.d.ts","../node_modules/class-validator/types/validation/ValidationArguments.d.ts","../node_modules/class-validator/types/decorator/ValidationOptions.d.ts","../node_modules/class-validator/types/decorator/common/Allow.d.ts","../node_modules/class-validator/types/decorator/common/IsDefined.d.ts","../node_modules/class-validator/types/decorator/common/IsOptional.d.ts","../node_modules/class-validator/types/decorator/common/Validate.d.ts","../node_modules/class-validator/types/validation/ValidatorConstraintInterface.d.ts","../node_modules/class-validator/types/decorator/common/ValidateBy.d.ts","../node_modules/class-validator/types/decorator/common/ValidateIf.d.ts","../node_modules/class-validator/types/decorator/common/ValidateNested.d.ts","../node_modules/class-validator/types/decorator/common/ValidatePromise.d.ts","../node_modules/class-validator/types/decorator/common/IsLatLong.d.ts","../node_modules/class-validator/types/decorator/common/IsLatitude.d.ts","../node_modules/class-validator/types/decorator/common/IsLongitude.d.ts","../node_modules/class-validator/types/decorator/common/Equals.d.ts","../node_modules/class-validator/types/decorator/common/NotEquals.d.ts","../node_modules/class-validator/types/decorator/common/IsEmpty.d.ts","../node_modules/class-validator/types/decorator/common/IsNotEmpty.d.ts","../node_modules/class-validator/types/decorator/common/IsIn.d.ts","../node_modules/class-validator/types/decorator/common/IsNotIn.d.ts","../node_modules/class-validator/types/decorator/number/IsDivisibleBy.d.ts","../node_modules/class-validator/types/decorator/number/IsPositive.d.ts","../node_modules/class-validator/types/decorator/number/IsNegative.d.ts","../node_modules/class-validator/types/decorator/number/Max.d.ts","../node_modules/class-validator/types/decorator/number/Min.d.ts","../node_modules/class-validator/types/decorator/date/MinDate.d.ts","../node_modules/class-validator/types/decorator/date/MaxDate.d.ts","../node_modules/class-validator/types/decorator/string/Contains.d.ts","../node_modules/class-validator/types/decorator/string/NotContains.d.ts","../node_modules/@types/validator/index.d.ts","../node_modules/class-validator/types/decorator/string/IsAlpha.d.ts","../node_modules/class-validator/types/decorator/string/IsAlphanumeric.d.ts","../node_modules/class-validator/types/decorator/string/IsDecimal.d.ts","../node_modules/class-validator/types/decorator/string/IsAscii.d.ts","../node_modules/class-validator/types/decorator/string/IsBase64.d.ts","../node_modules/class-validator/types/decorator/string/IsByteLength.d.ts","../node_modules/class-validator/types/decorator/string/IsCreditCard.d.ts","../node_modules/class-validator/types/decorator/string/IsCurrency.d.ts","../node_modules/class-validator/types/decorator/string/IsEmail.d.ts","../node_modules/class-validator/types/decorator/string/IsFQDN.d.ts","../node_modules/class-validator/types/decorator/string/IsFullWidth.d.ts","../node_modules/class-validator/types/decorator/string/IsHalfWidth.d.ts","../node_modules/class-validator/types/decorator/string/IsVariableWidth.d.ts","../node_modules/class-validator/types/decorator/string/IsHexColor.d.ts","../node_modules/class-validator/types/decorator/string/IsHexadecimal.d.ts","../node_modules/class-validator/types/decorator/string/IsMacAddress.d.ts","../node_modules/class-validator/types/decorator/string/IsIP.d.ts","../node_modules/class-validator/types/decorator/string/IsPort.d.ts","../node_modules/class-validator/types/decorator/string/IsISBN.d.ts","../node_modules/class-validator/types/decorator/string/IsISIN.d.ts","../node_modules/class-validator/types/decorator/string/IsISO8601.d.ts","../node_modules/class-validator/types/decorator/string/IsJSON.d.ts","../node_modules/class-validator/types/decorator/string/IsJWT.d.ts","../node_modules/class-validator/types/decorator/string/IsLowercase.d.ts","../node_modules/class-validator/types/decorator/string/IsMobilePhone.d.ts","../node_modules/class-validator/types/decorator/string/IsISO31661Alpha2.d.ts","../node_modules/class-validator/types/decorator/string/IsISO31661Alpha3.d.ts","../node_modules/class-validator/types/decorator/string/IsMongoId.d.ts","../node_modules/class-validator/types/decorator/string/IsMultibyte.d.ts","../node_modules/class-validator/types/decorator/string/IsSurrogatePair.d.ts","../node_modules/class-validator/types/decorator/string/IsUrl.d.ts","../node_modules/class-validator/types/decorator/string/IsUUID.d.ts","../node_modules/class-validator/types/decorator/string/IsFirebasePushId.d.ts","../node_modules/class-validator/types/decorator/string/IsUppercase.d.ts","../node_modules/class-validator/types/decorator/string/Length.d.ts","../node_modules/class-validator/types/decorator/string/MaxLength.d.ts","../node_modules/class-validator/types/decorator/string/MinLength.d.ts","../node_modules/class-validator/types/decorator/string/Matches.d.ts","../node_modules/class-validator/types/decorator/string/IsPhoneNumber.d.ts","../node_modules/class-validator/types/decorator/string/IsMilitaryTime.d.ts","../node_modules/class-validator/types/decorator/string/IsHash.d.ts","../node_modules/class-validator/types/decorator/string/IsISSN.d.ts","../node_modules/class-validator/types/decorator/string/IsDateString.d.ts","../node_modules/class-validator/types/decorator/string/IsBooleanString.d.ts","../node_modules/class-validator/types/decorator/string/IsNumberString.d.ts","../node_modules/class-validator/types/decorator/string/IsBase32.d.ts","../node_modules/class-validator/types/decorator/string/IsBIC.d.ts","../node_modules/class-validator/types/decorator/string/IsBtcAddress.d.ts","../node_modules/class-validator/types/decorator/string/IsDataURI.d.ts","../node_modules/class-validator/types/decorator/string/IsEAN.d.ts","../node_modules/class-validator/types/decorator/string/IsEthereumAddress.d.ts","../node_modules/class-validator/types/decorator/string/IsHSL.d.ts","../node_modules/class-validator/types/decorator/string/IsIBAN.d.ts","../node_modules/class-validator/types/decorator/string/IsIdentityCard.d.ts","../node_modules/class-validator/types/decorator/string/IsISRC.d.ts","../node_modules/class-validator/types/decorator/string/IsLocale.d.ts","../node_modules/class-validator/types/decorator/string/IsMagnetURI.d.ts","../node_modules/class-validator/types/decorator/string/IsMimeType.d.ts","../node_modules/class-validator/types/decorator/string/IsOctal.d.ts","../node_modules/class-validator/types/decorator/string/IsPassportNumber.d.ts","../node_modules/class-validator/types/decorator/string/IsPostalCode.d.ts","../node_modules/class-validator/types/decorator/string/IsRFC3339.d.ts","../node_modules/class-validator/types/decorator/string/IsRgbColor.d.ts","../node_modules/class-validator/types/decorator/string/IsSemVer.d.ts","../node_modules/class-validator/types/decorator/typechecker/IsBoolean.d.ts","../node_modules/class-validator/types/decorator/typechecker/IsDate.d.ts","../node_modules/class-validator/types/decorator/typechecker/IsNumber.d.ts","../node_modules/class-validator/types/decorator/typechecker/IsEnum.d.ts","../node_modules/class-validator/types/decorator/typechecker/IsInt.d.ts","../node_modules/class-validator/types/decorator/typechecker/IsString.d.ts","../node_modules/class-validator/types/decorator/typechecker/IsArray.d.ts","../node_modules/class-validator/types/decorator/typechecker/IsObject.d.ts","../node_modules/class-validator/types/decorator/array/ArrayContains.d.ts","../node_modules/class-validator/types/decorator/array/ArrayNotContains.d.ts","../node_modules/class-validator/types/decorator/array/ArrayNotEmpty.d.ts","../node_modules/class-validator/types/decorator/array/ArrayMinSize.d.ts","../node_modules/class-validator/types/decorator/array/ArrayMaxSize.d.ts","../node_modules/class-validator/types/decorator/array/ArrayUnique.d.ts","../node_modules/class-validator/types/decorator/object/IsNotEmptyObject.d.ts","../node_modules/class-validator/types/decorator/object/IsInstance.d.ts","../node_modules/class-validator/types/decorator/decorators.d.ts","../node_modules/class-validator/types/validation/ValidationTypes.d.ts","../node_modules/class-validator/types/validation/Validator.d.ts","../node_modules/class-validator/types/register-decorator.d.ts","../node_modules/class-validator/types/metadata/ValidationMetadataArgs.d.ts","../node_modules/class-validator/types/metadata/ValidationMetadata.d.ts","../node_modules/class-validator/types/metadata/ConstraintMetadata.d.ts","../node_modules/class-validator/types/metadata/MetadataStorage.d.ts","../node_modules/class-validator/types/index.d.ts","../src/model/RepositoryOptions.ts","../node_modules/openapi3-ts/dist/model/SpecificationExtension.d.ts","../node_modules/openapi3-ts/dist/model/OpenApi.d.ts","../node_modules/openapi3-ts/dist/model/Server.d.ts","../node_modules/openapi3-ts/dist/model/index.d.ts","../node_modules/openapi3-ts/dist/dsl/OpenApiBuilder.d.ts","../node_modules/openapi3-ts/dist/dsl/index.d.ts","../node_modules/openapi3-ts/dist/index.d.ts","../node_modules/class-transformer/types/interfaces/decorator-options/expose-options.interface.d.ts","../node_modules/class-transformer/types/interfaces/decorator-options/exclude-options.interface.d.ts","../node_modules/class-transformer/types/interfaces/decorator-options/transform-options.interface.d.ts","../node_modules/class-transformer/types/interfaces/decorator-options/type-discriminator-descriptor.interface.d.ts","../node_modules/class-transformer/types/interfaces/decorator-options/type-options.interface.d.ts","../node_modules/class-transformer/types/interfaces/metadata/exclude-metadata.interface.d.ts","../node_modules/class-transformer/types/interfaces/metadata/expose-metadata.interface.d.ts","../node_modules/class-transformer/types/enums/transformation-type.enum.d.ts","../node_modules/class-transformer/types/enums/index.d.ts","../node_modules/class-transformer/types/interfaces/target-map.interface.d.ts","../node_modules/class-transformer/types/interfaces/class-transformer-options.interface.d.ts","../node_modules/class-transformer/types/interfaces/metadata/transform-fn-params.interface.d.ts","../node_modules/class-transformer/types/interfaces/metadata/transform-metadata.interface.d.ts","../node_modules/class-transformer/types/interfaces/metadata/type-metadata.interface.d.ts","../node_modules/class-transformer/types/interfaces/class-constructor.type.d.ts","../node_modules/class-transformer/types/interfaces/type-help-options.interface.d.ts","../node_modules/class-transformer/types/interfaces/index.d.ts","../node_modules/class-transformer/types/MetadataStorage.d.ts","../node_modules/class-validator-jsonschema/build/defaultConverters.d.ts","../node_modules/class-validator-jsonschema/build/options.d.ts","../node_modules/class-validator-jsonschema/build/decorators.d.ts","../node_modules/class-validator-jsonschema/build/index.d.ts","../src/exception/RepositoryException.ts","../src/exception/RepositorySystemException.ts","../src/exception/RepositoryBusinessException.ts","../src/exception/RepositoryValidationException.ts","../src/exception/handle/ValidatorDataHandle.ts","../src/model/PersistFirestoreReadProps.ts","../src/firestore-read-audit/providers/BigQueryFirestoreReadAuditProvider.ts","../src/firestore-read-audit/FirestoreReadAuditResolver.ts","../src/model/QueryPredicate.ts","../src/util/EnvironmentUtil.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/metadata.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/call-credentials.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/constants.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/filter.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/filter-stack.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/channel-credentials.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/compression-algorithms.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/channel-options.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/client-interceptors.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/client.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/server-credentials.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/connectivity-state.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/node_modules/protobufjs/index.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/node_modules/protobufjs/ext/descriptor/index.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/node_modules/@grpc/proto-loader/build/src/util.d.ts","../node_modules/@types/long/index.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/node_modules/@grpc/proto-loader/build/src/index.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/Timestamp.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ChannelRef.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SubchannelRef.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ChannelTraceEvent.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ChannelTrace.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/subchannel-address.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetChannelRequest.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ChannelConnectivityState.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ChannelData.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketRef.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Channel.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetChannelResponse.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServerRequest.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ServerRef.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ServerData.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Server.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServerResponse.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServerSocketsRequest.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServerSocketsResponse.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServersRequest.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServersResponse.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetSocketRequest.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/Int64Value.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/Any.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketOption.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketData.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Address.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Security.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Socket.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetSocketResponse.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetSubchannelRequest.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Subchannel.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetSubchannelResponse.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetTopChannelsRequest.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetTopChannelsResponse.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Channelz.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/channelz.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/server.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/make-client.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/events.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/object-stream.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/server-call.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/channel.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/uri-parser.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/subchannel-interface.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/subchannel.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/call-stream.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/call.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/status-builder.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/admin.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/logging.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/duration.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/picker.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/load-balancer.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/service-config.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/resolver.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/backoff-timeout.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/load-balancer-child-handler.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/load-balancer-outlier-detection.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/experimental.d.ts","../node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/index.d.ts","../node_modules/protobufjs/index.d.ts","../node_modules/protobufjs/ext/descriptor/index.d.ts","../node_modules/@grpc/proto-loader/build/src/util.d.ts","../node_modules/@grpc/proto-loader/build/src/index.d.ts","../node_modules/event-target-shim/index.d.ts","../node_modules/abort-controller/dist/abort-controller.d.ts","../node_modules/gaxios/build/src/common.d.ts","../node_modules/gaxios/build/src/gaxios.d.ts","../node_modules/gaxios/build/src/index.d.ts","../node_modules/google-auth-library/build/src/transporters.d.ts","../node_modules/google-auth-library/build/src/crypto/crypto.d.ts","../node_modules/google-auth-library/build/src/auth/credentials.d.ts","../node_modules/google-auth-library/build/src/auth/authclient.d.ts","../node_modules/google-auth-library/build/src/auth/loginticket.d.ts","../node_modules/google-auth-library/build/src/auth/oauth2client.d.ts","../node_modules/google-auth-library/build/src/auth/computeclient.d.ts","../node_modules/google-auth-library/build/src/auth/idtokenclient.d.ts","../node_modules/google-auth-library/build/src/auth/envDetect.d.ts","../node_modules/gtoken/build/src/index.d.ts","../node_modules/google-auth-library/build/src/auth/jwtclient.d.ts","../node_modules/google-auth-library/build/src/auth/refreshclient.d.ts","../node_modules/google-auth-library/build/src/auth/impersonated.d.ts","../node_modules/google-auth-library/build/src/auth/baseexternalclient.d.ts","../node_modules/google-auth-library/build/src/auth/identitypoolclient.d.ts","../node_modules/google-auth-library/build/src/auth/awsclient.d.ts","../node_modules/google-auth-library/build/src/auth/externalclient.d.ts","../node_modules/google-auth-library/build/src/auth/googleauth.d.ts","../node_modules/google-auth-library/build/src/auth/iam.d.ts","../node_modules/google-auth-library/build/src/auth/jwtaccess.d.ts","../node_modules/google-auth-library/build/src/auth/downscopedclient.d.ts","../node_modules/google-auth-library/build/src/index.d.ts","../node_modules/google-gax/build/src/call.d.ts","../node_modules/google-gax/build/src/status.d.ts","../node_modules/google-gax/build/src/googleError.d.ts","../node_modules/google-gax/build/src/streamingCalls/streaming.d.ts","../node_modules/google-gax/build/src/apiCaller.d.ts","../node_modules/google-gax/build/src/paginationCalls/pageDescriptor.d.ts","../node_modules/google-gax/build/src/streamingCalls/streamDescriptor.d.ts","../node_modules/google-gax/build/src/normalCalls/normalApiCaller.d.ts","../node_modules/google-gax/build/src/bundlingCalls/bundleApiCaller.d.ts","../node_modules/google-gax/build/src/bundlingCalls/bundleDescriptor.d.ts","../node_modules/google-gax/build/src/descriptor.d.ts","../node_modules/google-gax/build/protos/operations.d.ts","../node_modules/google-gax/build/src/clientInterface.d.ts","../node_modules/google-gax/build/src/routingHeader.d.ts","../node_modules/google-gax/build/src/pathTemplate.d.ts","../node_modules/protobufjs/minimal.d.ts","../node_modules/google-gax/build/src/streamArrayParser.d.ts","../node_modules/google-gax/build/src/fallbackServiceStub.d.ts","../node_modules/google-gax/build/src/fallback.d.ts","../node_modules/google-gax/build/src/operationsClient.d.ts","../node_modules/google-gax/build/src/longRunningCalls/longRunningApiCaller.d.ts","../node_modules/google-gax/build/src/longRunningCalls/longRunningDescriptor.d.ts","../node_modules/google-gax/build/src/longRunningCalls/longrunning.d.ts","../node_modules/google-gax/build/src/apitypes.d.ts","../node_modules/google-gax/build/src/bundlingCalls/task.d.ts","../node_modules/google-gax/build/src/bundlingCalls/bundleExecutor.d.ts","../node_modules/google-gax/build/src/gax.d.ts","../node_modules/google-gax/build/src/grpc.d.ts","../node_modules/google-gax/build/protos/iam_service.d.ts","../node_modules/google-gax/build/protos/locations.d.ts","../node_modules/google-gax/build/src/createApiCall.d.ts","../node_modules/google-gax/build/src/iamService.d.ts","../node_modules/google-gax/build/src/locationService.d.ts","../node_modules/google-gax/build/src/warnings.d.ts","../node_modules/proto3-json-serializer/build/src/types.d.ts","../node_modules/proto3-json-serializer/build/src/toproto3json.d.ts","../node_modules/proto3-json-serializer/build/src/fromproto3json.d.ts","../node_modules/proto3-json-serializer/build/src/index.d.ts","../node_modules/google-gax/build/src/index.d.ts","../node_modules/@google-cloud/firestore/types/protos/firestore_v1beta1_proto_api.d.ts","../node_modules/@google-cloud/firestore/types/v1beta1/firestore_client.d.ts","../node_modules/@google-cloud/firestore/types/protos/firestore_v1_proto_api.d.ts","../node_modules/@google-cloud/firestore/types/v1/firestore_client.d.ts","../node_modules/@google-cloud/firestore/types/protos/firestore_admin_v1_proto_api.d.ts","../node_modules/@google-cloud/firestore/types/v1/firestore_admin_client.d.ts","../node_modules/@google-cloud/firestore/types/firestore.d.ts","../src/model/Paging.ts","../src/query/QueryCreatorConfig.ts","../src/query/operator/CreateFunction.ts","../src/query/QueryPredicateFunctionTransform.ts","../src/query/operator/OperatorMap.ts","../src/query/TransformMethodFromQuery.ts","../src/decorators/Repository.ts","../src/decorators/Query.ts","../src/decorators/Cacheable.ts","../src/model/MQuery.ts","../src/config/FirestoreInstance.ts","../src/query/ManualQueryHelper.ts","../src/config/BaseRepository.ts","../src/config/ReadonlyRepository.ts","../src/index.ts","../src/config/ClassCollectionMap.ts","../node_modules/@types/minimatch/index.d.ts","../node_modules/@types/glob/index.d.ts","../node_modules/@types/shelljs/index.d.ts","../src/emulator/FirestoreEmuator.ts","../src/util/TemplateLoading.ts","../node_modules/@babel/types/lib/index.d.ts","../node_modules/@types/babel__generator/index.d.ts","../node_modules/@babel/parser/typings/babel-parser.d.ts","../node_modules/@types/babel__template/index.d.ts","../node_modules/@types/babel__traverse/index.d.ts","../node_modules/@types/babel__core/index.d.ts","../node_modules/@types/graceful-fs/index.d.ts","../node_modules/@types/istanbul-lib-coverage/index.d.ts","../node_modules/@types/istanbul-lib-report/index.d.ts","../node_modules/@types/istanbul-reports/index.d.ts","../node_modules/chalk/index.d.ts","../node_modules/jest-diff/build/cleanupSemantic.d.ts","../node_modules/pretty-format/build/types.d.ts","../node_modules/pretty-format/build/index.d.ts","../node_modules/jest-diff/build/types.d.ts","../node_modules/jest-diff/build/diffLines.d.ts","../node_modules/jest-diff/build/printDiffs.d.ts","../node_modules/jest-diff/build/index.d.ts","../node_modules/jest-matcher-utils/build/index.d.ts","../node_modules/@types/jest/index.d.ts","../node_modules/@types/prettier/index.d.ts","../node_modules/@types/stack-utils/index.d.ts","../node_modules/@types/uuid/index.d.ts","../node_modules/@types/yargs-parser/index.d.ts","../node_modules/@types/yargs/index.d.ts"],"fileInfos":["721cec59c3fef87aaf480047d821fb758b3ec9482c4129a54631e6e25e432a31",{"version":"aa9fb4c70f369237c2f45f9d969c9a59e0eae9a192962eb48581fe864aa609db","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6",{"version":"e54c8715a4954cfdc66cd69489f2b725c09ebf37492dbd91cff0a1688b1159e8","affectsGlobalScope":true},{"version":"e34eb9339171ec45da2801c1967e4d378bd61a1dceaa1b1b4e1b6d28cb9ca962","affectsGlobalScope":true},{"version":"7fac8cb5fc820bc2a59ae11ef1c5b38d3832c6d0dfaec5acdb5569137d09a481","affectsGlobalScope":true},{"version":"097a57355ded99c68e6df1b738990448e0bf170e606707df5a7c0481ff2427cd","affectsGlobalScope":true},{"version":"51b8b27c21c066bf877646e320bf6a722b80d1ade65e686923cd9d4494aef1ca","affectsGlobalScope":true},{"version":"43fb1d932e4966a39a41b464a12a81899d9ae5f2c829063f5571b6b87e6d2f9c","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"2c8c5ee58f30e7c944e04ab1fb5506fdbb4dd507c9efa6972cf4b91cec90c503","affectsGlobalScope":true},{"version":"2bb4b3927299434052b37851a47bf5c39764f2ba88a888a107b32262e9292b7c","affectsGlobalScope":true},{"version":"810627a82ac06fb5166da5ada4159c4ec11978dfbb0805fe804c86406dab8357","affectsGlobalScope":true},{"version":"62d80405c46c3f4c527ee657ae9d43fda65a0bf582292429aea1e69144a522a6","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"75ec0bdd727d887f1b79ed6619412ea72ba3c81d92d0787ccb64bab18d261f14","affectsGlobalScope":true},{"version":"8d6d51a5118d000ed3bfe6e1dd1335bebfff3fef23cd2af2f84a24d30f90cc90","affectsGlobalScope":true},"b37a842dd3f6691d92264cf037cfcfd7b5febc9a28f37a207b5bdfcd96e72441","d223d2ebd552348d3751df9c96bc5761065fc14a575792490402cf41fb7dc3d2","09891d8e03208bb67b2a85a2d15429bd959392288b828b864eb3f94cdad55bfc","69241d6be17babef52695a5e97084da44475e972dea649cfb3352ead8d566e41",{"version":"4a680a54c322402fb396df7012eaecfd866ee73a990e96a486e1603ca762af36","affectsGlobalScope":true},"091f417275a51ab3c47b949723e9e8a193012157ecc64a96e2d7b1505e82f395","1ad480dc0a8ae84b35939b701b055c941eb1ea50a71294bc81e8a2546954c8d6","bbe2107a96f15b2cfebcfebfc8933619cb285c43bf1ef6946f78fd92b2de6893","d511bac43e17db592bfb9977e691b095243fdc2e9262e87b1f6a79fcb994d290","d61d2d9ac04b86e0027ed05ff3f194c33f4d0110e52d30cd1e8b2ea18d7c7d4d",{"version":"2b4c1c2edab174e69cb47aa5fa242f271af0364301dec441bc4784039bedf707","affectsGlobalScope":true},"9bd7ca40555e47a583419e7bee28a299ead570dde06345c00b90b6dfbb36cb59","6f4e4e5a046171e70dfb4b1f3e6212de786bf2c1e2c4383ae0e61c4726fdd168","1118439febc4afedb2a04744aee490e3125fff779bd17933a4e58548718c5d0a","50a375ea6f7cafd0e737a7e759cf3cff97581f32c3431fad8d08dbc6fa00a511",{"version":"c9c57f8270a4601e464e243188983c01438f32b6b6335591c6a1570fd841b104","signature":"5ef5cb76d5020332e7b7e97a99e8850901700f425642066797bd218337371be0"},{"version":"aca51beb4c35da24ed5de33fefc06346905fa3bcd9d8438e38b8f3eddee4727a","signature":"de13bcd2a1fbaf08bc2b0bf95fd8d29c47854eb444c643e8c3d434950a1f32cd"},{"version":"36a8ea30f8062fb07f836b63974b29904f14471afc5f401ab0078dc6c452c1d1","signature":"a19c92f08942dfd6c45d72483ef3e13b5333a50355046f0d72b3daae3ba086bf"},"292fd57ecc8da377035cc069faad7f98d54aada57217a7cd7868f6cb41a7e627","d224f2ef464cf2a544dcf6be6b416db5563aa5ca4c94e2a1d93bf3765c1f77cb","d3c0c471c298dc7115ada6c07f78d4fafb088523a301cb539c5cb44dae009954","86f89124a90fae1b90421bcce1e0ba58614383ca72403bfc03ff89761b050a4d","5a6fbec8c8e62c37e9685a91a6ef0f6ecaddb1ee90f7b2c2b71b454b40a0d9a6","f049af45e62625e0be51a3badd311110abf1ac8b23f56689e1d850923f6d9aac","84520c7da490e46a85f23aaeb2dbd02214f2c2eb7466cfa37f67b4e8486a3333","79ddbca11e8f46788b24e5f21e6db1b2a2f53609d931d52d0009d506f23612e9","8f9aee3462ad88fc6db8dc5afd8c6179fa7a805e1c023f27870bc792631c8345","b6e72a3614ea86784a0e067e612d7deb6e60139b522f3d90289b5e5b3c6adf87","a98ec21c1df89d5d5ed12c2e3441f1d80d72b3ce987467d31ecd3bd0e5afb6cc","8e7c8386c3700086085770ac298d37de34bd290db95938f5c77f1ab83fa67c52","9e5b8bb29f0e3ea3f2768bc073c9d979a9003a0588ecc8f8b070f52f0ee88457","c978beece24d0989cb2c82347587fe01ef5b768ce19582e450730d9fe748d1cd","6a64f52076638c5f170233050ac536dce1e5bca590019d488a8ea3ef8ba6306c","74645e4af7d3b2e7cd2c8bb0f6b4cd216dcf7387a7b63afc573206efe414522f","609c998f93521eaa6fd0ef12dbb2a64858ab09be15af9a62734fb65c64fd1c1e","622663a9039cfabf20fb0fd510fd5cb0cb4dcb7263d6919da1f23f6708bdfd5e","a362d189a45351ec80c492c630f3224e044e330d1efd8d67120c0217578a6630","877b2776294304fbc216977e1e278da726caf6269aeef63a805079bfcb2b07f7","dba7fd6142211dc70a91c3143533fac5067491a31512516d6bb090042dede4ca","e70e32a2b2cab598a449ddb510051c56dab5f1afad5ee4fa8df2148237b4ffdb","ff504dfbee8a8f4b5e0bb0a32c292ce0b152ea3abbf6752869e712cbde06bce9","b4c7d5c3949676c15da5455ca3724291a2a0d52aff243f2c8d01a72db7626a22","d8f256c8940bf0c866635aea13c1dbdee4198d8cd84e5be14acaf31df53e1497","056a46b665d629debf54b188ccff671214cb8460b1cf7ba99b60ef1526b961e8","b982d48019d8454b3034d8b5b06502b216908e644d430878d7818bfb96b7e8df","268056633de1e35b4c3747609844cae9dddf61c6dd7f87d90e8158736c117950","2809c8068fa8a780546d760ceb4d197243891fff0f107786e359b2497f11988d","46108c7ea7f7f7fe6291bf35f99c33036b347236cde33ee40c4410d9a2918730","dc390eaa414ee4e31ea90c5c3fdd321d8b89f7dfbf331db62e28d8e7bb31f0f2","c828fc02687f3794288bbaa813ec940ffb2ea86017fca59f47f39c4c5458ec95","0f48751b76dbdc60831ee6350bf7e52dadf2207903541b07e610b17a1ab91f18","332133b486037098c00d4dfa627ed8d312dc5f9a5a9693d86c489010e9749d91","3ff2dd07f8aa032e6eb7ffacd8f4e1f0b8dac4ba02c1f6ea1413187aef947ec9","1a99dd108fb76343c751f256d1892bc77741b984e7cd628e8c3a3c4e4054249f","edbc32662fd13b65ce92a5ffd68b57ddc1c6a2b4260894c85b35c2ebb3621c4f","8829c118c1abb01eed918bb4b996689cd6000e7e1dc51d6f5bef316c6c033090","890e75d39abff90ddf172e40201d1f2759830bb8b258698346d50f735c831225","115effbd878a17a8f6587a11594f1c56cf7d75efa90dbef086a6ef5aedb14b18","67cecb9adb483649b173000d1554b2708c5dbd52c10f6c52d10dd5568b6447ad","c67b4e78c6f4b36288a269e39bab4104a77f44352af53413a9c0d4d2a07789ed","ac376230d4fb370209ab531abd2a96c050c3182323ff5cd63f53f5ddf02e1616","3743f0fcbe90e3fc7c68913730263bf3b4fb29658b05695dfca50ea2812064fc","df127c6b901e2b622d8bc1c7fbb39db5ca1195727fc098f4d76127e2fad037c3","82bf6be5217035ebc5df8a551657b9998f07f40062c5d37f67a42dd884d56696","28a770a61db7c4f074b5ad13101dee11332d1d0720f97ca4855967b366086d81","0a4673ab6ddccd462225041e8c5ff108190ab2cfaf4a3c3b908466031c8e0866","7309a8ab83349bfc2adf7cda1834a4d4b0a923069ab95a6f098ff5e59c242932","016f0542c1a7e8508cb0123789d99271226454de7216c79837aea247c523a8ef","1429d42a27973ccf263889b852bc56174c488427a74697879751e45145527310","547e84b4791541dc2510b1a09454c5cd2cc1f90ac7aff66a7d6a9b162fa52ce9","fbfecc0238fff6c035b5fc098de559d21e2e1ff2214814d0ae9fd234a5e6d4f4","f2aae906e0494829e99185278b73c818eb6019a9b87bb3f51c405afc0382e8f5","f78cc3174fa71470f8eb01e9fdd73701cb8c92c389dec36852c8b73ed700cd0b","ff2ff324c2074f9420cdc02fb96f7f1bc3dc2bea1f46d9d25b052a3ba886a4ee","023710033c47af573c6647a8bc0894a75352460472bc28bcee06ab61651527d2","c3388c11eb52973d762ce92f41644d7205b171d9b24dbd5224b7cde7d527000d","356df04d29b5af772353acf56db5a65ab24ea8ce7bd1bbfff3eb173f459ab9db","1a665c362bbba84e89f6f7098d891dc14c20a9a748daf8be70c0ba7347c44aea","5c0633aed1ae93dd204159f5c80418bcb6b79ca3c5ced980d9f72e67e1c9e9ed","b05c76b104b6bc31d2acf590e85777c19c8d7dc4d374a70755693822ac6fd931","ccee8306cbca68f71bb2bd783975cd1c0051faae69cf39087106bc71ed53fc1b","bd9fa48bfdff39ab7371212f41aed2ea3149a715bd0efd6f3d4781fb2a3d136e","c260de8a899c8212def174496b37e5da1ef58321e0a5e398221d1ee8715c48d5","b45e16f34d11ce0183bfc936fbcb9801dbd30476f5701922f3e57e16f0dbea31","a8a197688403685e32bf99924c917b09ae19242be1d49ae5c3a35cf39f93088d","62184bc7c84b4df42caf05c4a709a89d921908595b476aa4f35d98846ca515e3","a82d35729dc511416f90479df5979b18afa59cc2972b89224f3582905663af1c","f08b724b61c71963f3902eb0974ecb4636f10628be53f8e6103183409c63f495","5ca69cef58fce948f89317741a5fa59d9ca22ae705eafd03fb3e4db4675900ba","8f2b2e5bcb20ed1ceff79d8caebd79697486aefd4ea452347dda192f373833a8","7038448102f09f54c645e8ee85fd8678e741b98d764a28149fc9bd8e803aadbb","ff207060c4f40f1de5d91872b05321cdba145146d6fe09bba048cbe33b830343","71db384f85832776db0380055e76f1cd1b41ea4c3066485c7cb9a0ce1cf7eb04","0492ac6a4a28d38ebae62509d0f01cfe70964ebeef8abd655161aad22bd28887","286789bb419383ff71ee57dd2a46790e6eff9870723f0e32058f425077c8debc","eb75965a983d174b61533493ed172d9df34b08570ed68a71562a5cb42bc40314","def4d3842e4847172281543a13fd6a902a1a5ba6e0d1f036e0529f3b7da18189","ad69818e3b1428edb40ac14f8279d949a121c8f506d44c546e4f9db3dd7f0a2a","7fdceecdee5835963b3fa3e3dfdc032f5b83e951ac8f08ea254a9b05c91b9034","69c795c8afb241763fcb603933fac8f34bec02cea939c40ca0b4ea2cce089402","283d333afe327d778d2af74735414a2a78abe0664f929fc6f220e8fa1c7342fa","d42578a8ba6a4b36b146eac7a7799c3bed6032c1ace7f83188e0edec264cfe72","50b8f7f132eed0b748aaa90cdeef18f6445908e58bc74e15291bb74425f1e9e3","4d8fc6373fe56eca2522244ddc0550cb0fc002209e76a752f94f5acc0d608c6a","68872f2a798516e617886b36971fa09180662017dccff4e835a31a8a164f2d7f","4ac8ddbe514f264702bb974a41a76954617f18fd43d5236bb0eb6e683af0fc4a","d91f48ceb2329ae017d2f6bf7fa8431a299b691b6495e22da4ee8af65d9b748c","1cfc8bdca30bb45d9965f3c60637f079d91a1e5546cf1340df0979f07c6123d9","b08778ca2cdf180eaf1f0c36981a509703e2460f502736fcc47e53e49d055def","adfd518e05d1ee1166986ec0cbd543786e033edfdc8144abc40ef78f85023ee7","cb01a81cddc90d064f6f1d2c502d04907c74cc5683933ecc5befcb312398b559","2b66e13af93391d05dfd4ca7eef3c43903b60e41dfa52b9be7dcf176e6df6395","8ff4402c5fb4866e02ec8584bbc4aff376562b5b721c160745546f812b29b84e","5ffb293a73418aced30688b02aa52f644a40bde6432dcfc10b64d80360b8cf67","8f4f9f281e42e7a72e0da0486a9a2c242fb8b3e081ff38fc00bafe18b3b7670f","003e2334b9027963b4d87a6e6d6769b6e83eb9b3f5d89c8a093de14f8fb9c4f5","3d9d811ce9a24290710966125d6851d96f33b9d19b451e6eb5dd38df0c968e4a","63a73f7d785b12a25f7356bd96b7dda12ab0fc0227a41eb6ed3a02910b22952d","38161011da6ca54bf0b4447d64db7e7aaf797a9e7a1132c914078d8a911211ea","b81e737e6d7003eaa010d1c6e67b138def60b0312f9d7c0aa0f556694e8c42d1","774dff81140ac6e9a7afb3d7d9bd0b12e4333e1c50aba99c85254f59eea14ed9","a7bbe9f3a96bea352e4e8898f3b260f33fcf003240b7da7431f30f4f23fa8be1","da9d576677e820f2a942f99ef3a15573f9ccdd73e2c39bfc43ea2aa31c5400c0","0b6744dec894641d7135709bb4b3b3520c6e324de853380b3a56f82a64c68616","567c49ba2988909079b9c504929192243f696db2211b8bd5d27ac2d5f939e4ac","6382d4f1298acb23919bfd100827d32510c830fd7670e771a9176aafb3972659","eeb6e2ba25bfa49402a38886aa782341ec612ef88d399249515513bd215bead0","a89e758512ad2dbeff724d5adf9bccda211a67390e8a87fdc67323f417f9a3ba","82595d6e8ee2d9a040fae439a705745bdd2ab2d09bc8ce203bf99c2e2667f0f9","2bfd7ff1210b33d9f468df551f04b7636895df6b1ce0f8f4adfddf79c7ba5750","a9a895f5e06c7d1f35ec0adc86f10c120d99bee81b9a4c70583df3bd2be035d0","ce4576ba53c48929ebe6cfc6e1c7f033825f24b31301808b5cc6d6dd28ceabed","651aac145c06589addd934be8f93acd7619c0f9a14efb17deaaab4416efb7702","9f098a0d7545b68be569dea9ca42d0a18fb3e622e25a6805a0780182e537ef17","b4f3b4e20e2193179481ab325b8bd0871b986e1e8a8ed2961ce020c2dba7c02d","c3527a55a9d355d5019ae948f9622690408e921a8bbf7b37bdad9f09feed7590","7a22ccbd71ad35fb9f292e00297b8df7ab033c411cbe7106d39065f26b4209db","8f29f65ce09040175a948aeb38af31f34367123903c49b556a76097bcb8fe813","8be85fd3849c702cd34aee594b4e9773dceca300cc358c63d75a3118720b12fe","bb71811f328b358d990e298006492de623964862240de7eb6342e5efb8aafae9","2b2201068a1be0cd0a6211b6175c263425431c9da9fb4c06a429a985aeb0bcd6","1d5f30cbd06ffa2aab22346b087e140f069851c17b91189be8d1e168d53f9f93","decae8f6edbe21a53afdc86107d16214e718dcee1baeeeb2ae57be9cc04ef286","9508fcc6616ea31bf848463f161571bcb0c8726b267a43e231f21fca775007e7","daf44d045f41c7dc023520708443bc42f914178fbaeb193a59b6acbe3183dc7e","e54119a21539e5c1d0c2e2bcb74fc42303cec7d28c00cddd2c5fef9686caca8b","ab135130c2e2f34a2bd54f69331a1a7773fcdb4d9cfdff9a23831dc4eb6c0a21","f5f9b4e141a2fb1baaa7c3256261292fda87bceb2d27adfd7c407d4750575ec1","1037017fc5dc0109d84ce24aa65eefff6cc9728c608cd1fc54212e4c2db18baa","2fd1f5f37a7da7c28e6e4ec088cca5c6882fe41cd2e4d512cd583ad35f11dcc7","b6e995b5ef6661f5636ff738e67e4ec90150768ef119ad74b473c404304408a1","5d470930bf6142d7cbda81c157869024527dc7911ba55d90b8387ef6e1585aa1","074483fdbf20b30bd450e54e6892e96ea093430c313e61be5fdfe51588baa2d6","b7e6a6a3495301360edb9e1474702db73d18be7803b3f5c6c05571212acccd16","aa7527285c94043f21baf6e337bc60a92c20b6efaa90859473f6476954ac5f79","dd3be6d9dcd79e46d192175a756546630f2dc89dab28073823c936557b977f26","8d0566152618a1da6536c75a5659c139522d67c63a9ae27e8228d76ab0420584","ba06bf784edafe0db0e2bd1f6ecf3465b81f6b1819871bf190a0e0137b5b7f18","a0500233cb989bcb78f5f1a81f51eabc06b5c39e3042c560a7489f022f1f55a3","220508b3fb6b773f49d8fb0765b04f90ef15caacf0f3d260e3412ed38f71ef09","1ad113089ad5c188fec4c9a339cb53d1bcbb65682407d6937557bb23a6e1d4e5","e56427c055602078cbf0e58e815960541136388f4fc62554813575508def98b6","1f58b0676a80db38df1ce19d15360c20ce9e983b35298a5d0b4aa4eb4fb67e0f","3d67e7eb73c6955ee27f1d845cae88923f75c8b0830d4b5440eea2339958e8ec","11fec302d58b56033ab07290a3abc29e9908e29d504db9468544b15c4cd7670d","c66d6817c931633650edf19a8644eea61aeeb84190c7219911cefa8ddea8bd9a","ab1359707e4fc610c5f37f1488063af65cda3badca6b692d44b95e8380e0f6c2","86f4f26e7e2e216f49db89fe0e5f66dc6966edb34b6bb3d0e93608a223b1fed8","4a62e901bdc1d3d523871a38ee07dacc0effe7fd8215c21d6a51fc2093322b48","3cfef0a604c9dfc2c07224b8cecbeeef9c2d5ccbd50b3d0e1eeab4fb68520bfd","605ea258c6c3b91cb0ecd5e4919a5b2a9bbe2f23ec3f142b5ad35a21346ffcd2","40cdf91e74e7c77dac9a17722a4a3b15b4f871e826cbe69526427b8506576ae0","38f2df96177845e42488a11d158b384ae8181c2b12ae0bc5330f1b533d90fd91","9df5edd54d4afc9bb695688921a05cebd8870619538c927cac7d395f4b6ec800","1cfadb9c4a495fad01ed62596448f4e18b0683dcc49762c2c3398b1b03a48806","bf3384492d133b72050ad33351cf775d9f7f52a5257a03b556da3c18f437dd73",{"version":"033d57edce704430d2e4ec84d7ec4f01924b04cfbc2f61a8378543d149bee2a4","signature":"5ba04081d5f823f0208b19da4e77b80cd823c95bdbd46970bed4c5f8f46d20e8"},"ffb8f678245c8807cde1e6fb7cf2f2be05958c3865e8d3196e88292ce9fcf56a",{"version":"efb3cb1128420e634f8ff7c437e69bda1c64feae78fb61937e4042e5bf0f2ed4","signature":"387f8b492fc626791f902029aa9483172a7a223304bb21b0efe4a49ca32a219c"},{"version":"73a0da7ab212401ab26a349c331660dae8034beb75bd23cb08afe86a86094296","signature":"268fa8fb8891026a3b8092af9e4c27072abb20ece8d21d17c94289eef5443144"},"152b81b748a92d98dd7c46545e6ba1c44dc5be517534395e0d9fef82554b64b8","a7607ef485c11c0381cf58624f91e63346bcb41709b8e880b5cb1961e4b9de51","9e3cd884f7eac19b502dd0edfe29ae6b3021a491cd7eb8a530d63c34c367a783","3c0a3b2401dfd932551257b4cff1fe61e36da660ed359c565a56db1877773a77","181694d1f7a579e57c55efb1418904efc513ebce0b08601e94f288674104359e","f26f7ce74fc73d3176941bb4172450cd97e34787ae584de49c2d16c191cb37fc","e7f5e282da2ddeee8bbc6671459c35dd3144e0ab23a0abaaf77db598cfa896ee","4801a5fb4f8b7f0897189c79cd6d3fedb99a43a4604e9dd76c0cd92d4eb269ee","eed0cfbd238f0f9def37d26d793393c8cfb59afe28ecd1a4639a58905abdadf1","79cda812e4d3e249cbf90015a050ab333aaa41af08f143276aa0862dde976dbe","9a12e92309c84ef3d701bb9d01813e4bdb1a850136710be03f745fdc77df7ff3","1f4b26b6651d390085bc11e982a36d21e57a0fb34ad9e2910041851f47a02773","93b6c52c6e42184dae94619aeda58da74219cbef411e2aca4301c8da7647340b","416eec23b202526964d0f5ebf0ca9e0d8c08e4260bc0946143b66f1a1e17b787","688c9dfd2b7114f5f01022abb5b179659f990d5af5924f185c2644ca99fe7b77","f17c007d95f666ecf664ff13ca8efc196980597c4ca152a0baaa82b2525e2328","02ff761f690163463a4e7594d666e4c73995c4f72746a5967b3477d9ecf62c4e","0e60e0cbf2283adfd5a15430ae548cd2f662d581b5da6ecd98220203e7067c70","473d9269f1f277be1e222b80b5912b26f924efe13c1f418e569617ec34342720","f5b284ceadf71472a8fbf555dbd91079cce0ce7ba54f65dd63d18deec84cd11d","11f848107bc2f7535adccd37b55f018a0f18abbf5a1cd276f5776779618c37ed","8f47ed340254a8ccdf37035d9cba70f53a4d899804da840b47f4c3b07a7b2063","e5bd26052c0f4b600728cc41f03f00c20776d5dc53e8226600e0bf1dbcd66220","50b54f6dac82c34e8c12b35eac220ccc178f51e84813179826da0e3e96283af9","0c112f7206883caa95fa6b4558f3d05141d61910c05379660e1493b716a88656","6fd6fcadeab3b973ea52c2dbfcc960f23e086ea3bc07aaa0e1c6d0d690f8e776","6dbc7c87a2dfb95c594c5da54f7a8081f3019bb1bf6dcd72eeb6239ee0e243cb","a59fdd5525468b9afe1fef2238f5b990c640723bd430c589b4c963d576209be8","23c0f554c1fab508370678aca41cf9b1d6a6a00069e499d803d43387067fea9d","016f140691ab5fea3357a89c6a254ff8ada91173d22d36921bb8295fe5d828ab","ee219b4332439451cbf9ee34584e8a7e67be35d8ed3d1b292769a09483a102ce","305c2373ff739ceca5780a204766c76617e74b551f6fc646a358b5f687a77333","61c5821b70e113b15f24593e7061e6302635448ae700d813f06560ca5f140727","1e127052ae269b7f278b828978b962eb93bbc6134c0bda8b03e3f39df5c3865d","716cb84b8b410c52de9e7b310b2125cbc390a7c59e929a5c0a29514345b9ba9f","edabf50cfd2310b9af7214ecb821e0af6c43f66d8b5fb297d532f27bba242088","1687d528ca6c51a635f9a4022973f472221700464be83810788238a595cb588c","32162214c3f25748f784283a3f6059ad3d09d845faccc52b5c2cf521eace6bd6","4a13f78f265e7deb260bd0cc9063b9927a39f99f7cc8bb62b0310aa3a1df3efd","c04c509a58cc86b654326592aca64d7ceab81a208735c391dd171ca438114ea9","74c6a2352b00e41d352cc23e98e8d6313d5631738a5ea734f1c7bff0192b0f47","fc94bcfb823846ba8b4c1727520a3d509c9f517d4e803dfb45e6a71b41000eb8","93f9f2f55cc8393683048c720e30bc416bc3589a5d3f04a24d8bdc2d29c08589","e4c09f8a818679f80931fae1d0ca3dec192708c510c9f33fe56d71abe8337c59","b1cc0dfdc0455283ccf003185dbbc51e2c15299aff343413310eaf45c4572323","196f3c5da872983f8f0d2242c2cecc4fae85684d887ae1eef6be6b13b4138233","970c9e6d3c4184ca0c36d86dc29cc3e7b151d6aa4c1f2185fb97650b05a07055","af4beeac0e879b673f8b874e5fe013bdebfb17f0213142e5037ac90aea86d636","c620ccd98c18e71d7e39a79bea47b4f4724c3a1f30f78d2cdd03cf707ae64e4d","150f375c7f5c01a15d531c961468f1a04a1c21dc4e4a372ca4661700d66cc9c2","8aabc7d8676ba6098fc30c95eca03a331df41ac4c08213207a9329998f32d1b0","9d8464e1c6b7f30c4121d28b11c112da81c496c65e65948fbc7d5b5f23b50cdc","6b88a632af960a4140730527eb670c3d3e6eae0da573f0df2849909d9bb3e5f3","ab2f4f2d874d18918f0abb55e5a89a36ab875e01e3e9efa6e19efbd65295800b","2212906ab48ae8891080a68a19ba3ab53a4927d360feb34120051aff4ae980ae","57fb7ca63631577603d247484cb716a44aaef2fed76ff4d39db23391fc469695","ccc635892c2121c569281e8605f63b964d9067d8c560fdd0d8c0305aa3436b0a","56abe182c8ac81afc695eeefc9dbf6a637c8a8365b672053746678a3bfc6ca7c","df4b5e6fe2a91140a1ed2f8f94e01d4c836a069cee23a2d0a83a00cf649f8505","a43ee2d0bc49ad3cdc9a12c9e284adca7ecd30688dbffdbbd4b75244af498231","480afcb2c1ea07d5a33101f39ee49c4e433df5279bcc901c86299ed51df066c7","58add5da26530fecb38667d08702a6ce8c0387ebb1d685f35caba5559d365bc5","9bbcda8e62203eae2ff2f7ff61fb443222974c125f6e0e8a280ab8765d55b5f3","1cd3a865010365344f689258ccc229341c5610bd036cdf51a0369e78a2cc297f","2babba65e6d8e6b0303d5e7ba9ad221c89bda004d2e703eebb8884e342bfba27","52946a32d09191026f3c889bdfc1e0fce88dda141472a8d8a60aef9d83502b7f","2300d5812cfd6747c34de25950a11a84c0cb93dd5613b46a74cf1422d61d3c9f","febbe46be2865dfc342fc690fc91311eacf3f4f6c4f83fa9ca32c27581c016bf","f64fff46fcd20e44ed057398a9872269bb547d85eb6a40050f8b6794d2ef093f","bc5626a4f279345cc49bca110c83adb6885d74044f818abcfdc11802c569ba1b","baef294f6ea8cfd7e45932669b7cbc6aa1621d3ae6d2c9515acc3ea484fb4be0","7e6aa4667eefa889cbd66fa1cc50f432f674d32a6e9f58a7d2beedd34c9f44a6","c97e0165511e0fa9e4da49681b649c9b846200811da3101d41876c1df166287a","3fb1a6b4a14f2a08fc360d0891db68a4643b393262af448a0811d4acd150490b","79c15e25133240ab56678614a2705cba30578b93c0c2ea6c07e86d87c7ce26d1","fde15ccf34319bfbbd71a8453a9121f4161908668caf13740fa38af176e41a00","76ead0d03259ad18a7263ffbc74f38f74799ee98d46dbaabbb2db35f15d0adae","64377a93588b37bc8e0a09166b7078e7ddfa59010b15710941c3c29475728097","e2ac01d9d3742f9514c692d9ebe96af7f7c7df07ca38f40e456d214f72f475db","a7022bab77511e11e629442479fb478b3433ae15af2b70d02d5d4fdb1f2a38d1","1558c642e03689d42843e7b047b9c20e77ee09ab388ff854484db5dcfbed11da","f17c007d95f666ecf664ff13ca8efc196980597c4ca152a0baaa82b2525e2328","02ff761f690163463a4e7594d666e4c73995c4f72746a5967b3477d9ecf62c4e","473d9269f1f277be1e222b80b5912b26f924efe13c1f418e569617ec34342720","2859adaa4f2db3d4f0fc37ad86f056045341496b58fba0dbc16a222f9d5d55b1","655ed305e8f4cb95d3f578040301a4e4d6ace112b1bd8824cd32bda66c3677d1","f4ab8874e2d8fcfa22d239e84c59d00b7f4f3a4a14f4f06d7974b9512c59e9c3","8da65c108ea40f3009b7c00ac811efa43e77e7a2afb2471a69526ca9192e9849","cb789da1f75dc9d53848949aed3bb1d521de13c6340e5792a6b3f2c5e0c53e29","82b70e72d3e16b95c6f933b0d146240214ef01dfe8e270f6e50f349223b0615d","e4f1aa581dce6c84a244b5b5f1160f6e7465d0c6d48948ff6f1069a630fe9925","60b042f1a2a32d4d5e065e7fb229399562b9949984e63e09fd6a42dbc8e22c35","5f07468c2f5315f463874d73b8293cb135b228f59280e164a840e5d919b565fa","f025aff69699033567ebb4925578dedb18f63b4aa185f85005451cfd5fc53343","9b9e004c2bee844a5a58e8803a1ae0c8075a2caab3d567f69a6eec72f154626a","64cc158e07ce953307a95ee711b67fc8cd980380d12aee33670d483ba6f642f3","01b8fe09ea0b18ceba458308fd349bd2545227995c1b370a6897ea7c8f4ae577","a24a9c59b7baecbb85c0ace2c07c9c5b7c2330bb5a2ae5d766f6bbf68f75e727","2ee6c6e12729bd41bf99cd5a1158650d3afe9cd435e2d3ce6746de2dbf93a2ad","4484870aac79f12400497cea19aba493150811f10eb720f4cd52095d928ebe6f","e9203259c5f820618a0c10df0e0e28df87f2469770461540919b23d864b0e2f8","faa0ccaee1e4151600c618b91f22e29d7c3090555841fbc7cfcba0bb8dc78dda","23809dc5154c50a704bf5903da3cca5e2d8770f9a8ac77217d5cebc494eebeeb","363b99235b46cfdd75b8308c71c1ff2d492e383593350b33f307e0746aca3789","6df3174b7fff6ce47402ffa987624c82c772afc5bcbc68d7cecc3d08406278a2","9d47eb88df11d4e049b2bb0b7236944cf4a517444f805e0c2f9f00b5b8a722ce","42c3d521301dba91d2841f7f176b8803e5524c6cf7ce6a90b6708385f2ece433","71725ba9235f9d2aa02839162b1df2df59fd9dd91c110a54ea02112243d7a4d9","2260e58465ee7adc7184c7e3011bd6f69e5dfa4c9847e1f1c5d2c5fe39b5c50c","e38903e3ceaa0b1ad18686596cb633f37112b4c1e421dbeec709a0393abab34e","f0cfc87e830959608e727239836d9e0c759894b419758961839d308c42b79b09","6ae375916cb1ab039b0d8191a1b2a4c5ee7d54ca55523edf9c648751d9bf4f3f","75efaf7dee18ee6d8f78255e370175a788984656170872fd7c6dfba9ed78e456","dd8bd6e49db072bb7f67a50fcfc2ed85da25216e8357f69662785ec9cff6805a","0532ceeb57a03056a1db9ef93c44e2b6868047b9e77e3ce94a82cfad3ac764be","5b016a20523753fb55e44223ad7e4f2728a3d6b83771e8f2b52a3212d612f494","fc831788d78ccee85562cbbdca8dbf955dc1540d9bc33525b7cfee9be2732de7","e73d6e940ebcd5418bc881ec9f3eb2c9beaf089673a1dda5ec9d74f8f3a674e3","f9a8a74a3277dba5994b7830faa0a72ccbbdde4edc546579ea5f3bfdd833f1c3","6396e07ac9d5653e2ea225c491e7d5b548165eddb49e4293dcad42445fdd2b5b","4356f53b3bcd48f4253465746ccdb0baa38c6bf929712349bffea5426e59c2f4","c07dcc52ff4bf2fe6b9027067089b2696ea8debfab01c5a89567b57c85a8143a","01c7b17b4106823329939ac4971770aa720b35749401312a9c6610ba61a689f3","bd950bd6332b0ad5bc3705374665c44bd87f3018774aa62c05bcd89788fed40a","6ff08a01c33e70289d44268bb3954c9f3c71162085b829dc323279fbf3a70b2a","25f989f57da0150fc531eb60696097517c300e41c48f9a35cf8c39a2884e9e9e","932cade1c5802123b5831f332ad8a6297f0f7d14d0ee04f5a774408f393e2200","fb22796881ca27b61f649e17d8511814ec740e0b53cc6a1c7d3ddb4e37ca840f","33336c1c320134b37d9f2981944a0a20807adc566419f2c2f864faf090886d1b","29e9716dd95e62c62d4a1bc945947978f3fbaa74a58b74e2ee295f98819cf2dc","3143e9ab69bc3de6addad59d87d6ec39287c3ace7573aafedd711b446060dcdc","b97c43cc5c758375c762546242bd2e5dfecea495d11e7ab8670cdf7800a78a55","76e8204d6c3f2411c8b0f3e0db34e190880acbc525be4facf882abac3c6e9868","cf09d50994d492c9b49980e8a1e8b6296f8c3b7cfba248fb0a0705fcbd0066de","a7d8688d9233bd072030b3cbb02a32c045f21703d83a9588f9e0da388554c099","75191cd4f498eecaa71d357b68f198aabff6e9aeb094783bc2e88224f2440e91","68ab7ba45dd13e321f9b4ffa2cc9092c66c8a32eac53f8268ef992c9d83bddae","b0eca460992491df024ff9e11c06c57f83d8f389edfc37f343abbf1760133020","571feed5f3992f4e5f52368891259c9675f387e062be59b4fe4064c4fa12189f","88ab5c0465b89250245fb97b17192adbd7d3ee26b26e29f948a410c4dc554663","e2b2b5211b339ddcd1f1c80a80ac970090a969770b7931ab6fb6641d0321c0d2","d5547676ace66ee69a2f115546f63c8df3aa08924dfe3c5330adc309f9e88db0","35f382d45192c13ffc63e6b7349bf9eb02d62db2b4ee12b5cf3806d7fc7268f7","d3cfab7286ea31393cc979667efd26fe307af4f0ad8c5df262c8be322a2cbef5","95874c2af12afd52e7042a326aef0303f3a6f66733c7f18a88a9c6f3fa78d2ee","8d5ad6a07dc84c0fba4041cba09bfc9c75bc06b04e8843405e3fb2456c721438","e680ff882bccd2bb6574128a17e1a32d7a49b8eb161a9a739dd60f8362e3d4d9","a4d6781f2d709fe9f1378181deb3f457036c7ebc7968a233f7bc16f343b98ced","aa7d0095b9763a3b47c1851036d87152872a3d7f1733732b0a0e14655b0ee34b","74c58bc6847528c4349c884453f3c604b7d1cf4f9df2ba4816ea1b35e0ddea3d","650e65e5459ca1f2ac14e3159f698a75e44025e0cf736aabc120962b6027b243","51143dd06200d0d0670f19cf38bb0c8cc9e0c2a0b1ad86dc517d68e8fdcaec89","d52e8b1f1b5eec0aa771eeb11b56c5ee3bc310b40619c9aa5e9dfd47cd294c7f","df36b61b42f520aae6a0648a0113c9b5fc8edf20ffe1b38c2143f6bc3777bc6b","aa8b0c5153f089b9d1ebd06eefd5223728e52df664ca5c64abe2736fd3c15b95","8cab00e89567640fcfccaa32fe0ce060e87ba452730c1d609005cf1e577eb262",{"version":"1ace17751d70faeb553e6c2ebf24b6a966c624530c5a329cd43fbb4ba9791dd8","affectsGlobalScope":true},"57c088bde14f28759bbe0592b144e721cc4157e0a56e8525a21f73aa6a8a1895","8d1daa090c8d6ef835bd07b8624d77c6fc72b550f64f8f48a8275d79aa024dd2",{"version":"f33af9895a0887691445245d0178741daf9ed37fbcdf1ed9110231db761d4f7b","signature":"60de895c7cce0f4f695797a2ff1669bbb65c41eec3df0e44a8c3f137de84d2a6"},{"version":"a667b8f2c267e624c2a62ad5eef6606ff89736529bc45283b239b34120e349ed","signature":"634c3acd4420c2714a9d9995ab90bb51d6ac87b875b72b11af3acb9bfb78a14e"},"eedf623d3dc5b1868d1262188b2539b4cee3565a0efab4b13fa2f63de2b74eb6","ac202c5534a939893a35623bd55dcbd2883f4b95f68d0b2b9e38d8726be857c3",{"version":"b52b80d11f309bccb1c5fc968f24039fa3c6f94886ae65a6778ac89e1de7578c","signature":"4e5f84c36f03a3255abdfe9601e0111a63866daaa6c05b7e2b92939f21591671"},"48104d634621ad9262978a994ca2cd4a8c85b967db9d55e792f9aab35a4d6eb6",{"version":"2e7eb8626a2b1fc1af21fb1d2bd319f0b5734e9c61e8623c10fb966ba3ed63d2","signature":"fff67f7e81d74a0179e1c1160928403f66642fe5319ebf627dc8c8f2a596636b"},"e4a3f8a2d17619a682f316b297172bbfc7b9f37cc10a7b1c8dc667d03157cc99","85dfc66d7717ca206042bd0ea7dfe8f7304cd94a5687ba6c786320f0c3d4a851",{"version":"36151afd482bced5b154ae9282975605f79730b7988291e5825962317cf31d2e","signature":"5039123e48dc32f1efe557fe6a7f23db63d9dda69b8e04781fc47f3e52b5a204"},{"version":"68a2099f7616c8289ec91a19a417f1db2a4b974e7b3b6fc1313e23a2dc46e54c","signature":"8260cd48afa94d36503d9d4cd02970ec9ba86b6eea9efbb87bee0168937560df"},{"version":"d11bda81ace04f45754586a2eed55006f0b8558f85af7b570c81a1167ebb919d","signature":"a4f7274c26f563078d2cd8ad2ead4f6719c9c5b50d98b0a30ab376f9c335b4cd"},{"version":"d55d2c5bc75e60302ac506f2140219b1facbfc752d1cb28f1777f41aa90fbb3c","signature":"d1d57fc8a97d965cef996bec8643333af963cabb0161760dd7818eba1c4465d1"},"a06034f1c97c900e3b04aa259e6e44b83a6d806c4ef7370d97230e209639aba1","963d59066dd6742da1918a6213a209bcc205b8ee53b1876ee2b4e6d80f97c85e","a55ca8b5f8c6a8535bb26fac1e10132a5338234ca3d5b9ed739fbc8ef41c8075","639158c94f9813ac0ef48abc5e24788b5acce74e961ad6d9ac30c18273965bfe","40644bd969bb2ed15b52a94216ff5e8a5d6e42c92d7172a585813e2ff429fa37","ec0f7e00b3a3aba82da9aba482c5717e7b4b9b70f3966bcdb16f2be374417437","760cb9b76ab53a2f704ee0e731e162bcfc6af609f5e400a668efe2cc7923e4f4","cc957354aa3c94c9961ebf46282cfde1e81d107fc5785a61f62c67f1dd3ac2eb","7ec238b220ea991b6643e24191b1f552a65956d5f6de4c6144e700b9985265d8","93de1c6dab503f053efe8d304cb522bb3a89feab8c98f307a674a4fae04773e9","dae3d1adc67ac3dbd1cd471889301339ec439837b5df565982345be20c8fca9a","5426e62886b7be7806312d31a00e8f7dccd6fe63ba9bbefe99ee2eab29cc48a3","3ebae8c00411116a66fca65b08228ea0cf0b72724701f9b854442100aab55aba","8b06ac3faeacb8484d84ddb44571d8f410697f98d7bfa86c0fda60373a9f5215","7eb06594824ada538b1d8b48c3925a83e7db792f47a081a62cf3e5c4e23cf0ee","f5638f7c2f12a9a1a57b5c41b3c1ea7db3876c003bab68e6a57afd6bcc169af0","0d14fa22c41fdc7277e6f71473b20ebc07f40f00e38875142335d5b63cdfc9d2","d8aab31ba8e618cc3eea10b0945de81cb93b7e8150a013a482332263b9305322","462bccdf75fcafc1ae8c30400c9425e1a4681db5d605d1a0edb4f990a54d8094","5923d8facbac6ecf7c84739a5c701a57af94a6f6648d6229a6c768cf28f0f8cb","7adecb2c3238794c378d336a8182d4c3dd2c4fa6fa1785e2797a3db550edea62","dc12dc0e5aa06f4e1a7692149b78f89116af823b9e1f1e4eae140cd3e0e674e6","1bfc6565b90c8771615cd8cfcf9b36efc0275e5e83ac7d9181307e96eb495161","8a8a96898906f065f296665e411f51010b51372fa260d5373bf9f64356703190","7f82ef88bdb67d9a850dd1c7cd2d690f33e0f0acd208e3c9eba086f3670d4f73",{"version":"ccfd8774cd9b929f63ff7dcf657977eb0652e3547f1fcac1b3a1dc5db22d4d58","affectsGlobalScope":true},"93c4fc5b5237c09bc9ed65cb8f0dc1d89034406ab40500b89701341994897142","b0d10e46cfe3f6c476b69af02eaa38e4ccc7430221ce3109ae84bb9fb8282298","fab58e600970e66547644a44bc9918e3223aa2cbd9e8763cec004b2cfb48827e","70e9a18da08294f75bf23e46c7d69e67634c0765d355887b9b41f0d959e1426e","6ba73232c9d3267ca36ddb83e335d474d2c0e167481e3dec416c782894e11438"],"options":{"declaration":true,"emitDecoratorMetadata":true,"esModuleInterop":true,"experimentalDecorators":true,"module":1,"noImplicitAny":true,"noImplicitReturns":true,"noImplicitThis":true,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./","skipLibCheck":true,"strictNullChecks":true,"strictPropertyInitialization":false,"target":2},"fileIdsList":[[376],[349,351,353],[278,281],[28,29,347,352],[28,29,347,350],[28,29,347,348],[29,215,278,279,280,281],[376,377,378,379,380],[376,378],[28,29,371],[28,29],[383],[384],[389,394],[28],[28,29,372],[399],[282],[176,184],[175],[177],[184],[171],[168,169,170,171,172,173,174,177,178,179,180,181,182,183],[176,178],[179,184],[17,167,187],[17,156,167,187],[156,167,187,188],[159,185,186],[41],[42],[41,42,47],[43,44,45,46,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,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,148,149,150],[42,70],[37,38,39,40,41,42,47,151,152,153,154,158],[47],[39,156,157],[41,155],[42,47],[37,38],[28,29,283],[28,29,284],[284,285],[28,29,286,287,289,292],[292,300],[286,287,289,290,292],[286,292],[292,300,301,302],[28,29,286,287,289,290,292,293,294,295,297,298,299,300,303],[292],[290,292],[28,29,289,292],[28,29,289,292,294,296],[286,287,288,289,290,291],[29],[287,289,290,291,292,293,294,295,297,298,299,300,301,302,303,304,305,306,307],[286],[215,278,281],[309,311,312,319,332,335],[28,29,309,311,331,335],[309,311,313,332,334,335],[316,317,319,335],[318,332,333],[332],[308,319,320,331,335,336],[319,332,335],[313,314,315,318,330,335],[28,29,278,281,308,311,312,319,322,323,324,326,328,332,335,336],[29,325,327],[334],[29,278,281,310,336],[28,29,209,277,278,281,308,335],[304,308,321,327,335,336,337],[277,278,281,308,309,310,311,312,319,320,321,322,323,324,327,328,331,332,335,336,337,338,339,340,341,342,346],[308,321,327,335,336,338],[309,311,313,330,332,335],[278,281,319,328,329],[28,29,309,311,320,330,332,335,336],[309,311,313,332],[28,29,304,308,309,319,320,321,327,332,335,336],[28,29,313,319,332,335],[312,313,319,335],[28,29,332,335],[254,255],[200],[29,200,201,202,203,204,258,259,262],[28,29,200,208,256,257,263],[28,29,201],[206],[200,205,207,211,253,258,263],[29,211,221,222,252],[200,201,202,209,255,259,263],[29,200,201,205,207,208,255,258,259,263,264],[203,204,222,260,261,263,266,267,268,269,270,271,272,273,274,275],[29,200,203,263],[29,200,263],[29,216],[216],[29,240],[218,219,225,226],[216,217,221,224],[216,217,220],[217,218,219],[216,223,228,229,233,234,235,236,237,238,246,247,249,250,251,277],[227],[232],[226],[245],[248],[226,230,231],[216,217,221],[226,242,243,244],[216,217,239,241],[240],[29,200,201,202,205,206,207,208,209,210,211,253,254,255,258,259,263,264,265,266,276],[222,270],[222,270,276],[207,211,222,253,261,269],[29,202],[29,205,207,209,254],[28,29,256],[200,203,261,263,270],[200,202,203,207,222,260,263,271],[28,29,200,207,255,257,263],[207,210,253,255,258],[268,270],[200,202,263],[211,253,262],[200,203,205,207,211,222,253,260,261,263],[29,212,213,214,215,216],[212,216],[387,390],[387,390,391,392],[389],[386,393],[164],[165],[164,166],[161],[162],[161,162,163],[388],[278,281,343],[343,344,345],[27],[21,22,23,24,25,28],[21,24,26],[18,19,27,32,34],[20,27,30],[20,27,33],[20,31],[355,362,364,366],[27,191,354],[19,35],[17,36],[35,36,160,358,360],[27,373],[190],[190,192],[159,191,193,358],[27,195,196],[27,33,191,195],[17,18,361,362,363,365,367,368],[18],[354],[159],[35,160,197,354,358,364,365],[354,355],[35,160,189,194,197,198,199,356,357],[198,359],[35,192,194,197,199,354,355,356],[19],[20],[355,364],[160],[195],[364],[160,198],[355]],"referencedMap":[[378,1],[354,2],[352,3],[350,3],[348,3],[353,4],[351,5],[349,6],[281,7],[280,3],[381,8],[377,1],[379,9],[380,1],[372,10],[382,11],[384,12],[385,13],[395,14],[28,15],[29,15],[373,16],[400,17],[283,18],[185,19],[176,20],[178,21],[171,22],[172,23],[184,24],[173,22],[174,22],[179,25],[180,26],[181,22],[188,27],[186,28],[189,29],[187,30],[42,31],[143,32],[147,32],[146,32],[144,32],[145,32],[148,32],[43,32],[55,32],[44,32],[57,32],[59,32],[52,32],[53,32],[54,32],[58,32],[60,32],[45,32],[56,32],[46,32],[48,33],[49,32],[50,32],[51,32],[67,32],[66,32],[151,34],[61,32],[63,32],[62,32],[64,32],[65,32],[150,32],[149,32],[68,32],[71,35],[72,35],[74,32],[117,32],[116,32],[75,32],[114,32],[118,32],[76,32],[77,32],[78,35],[119,32],[113,32],[73,35],[120,32],[79,35],[121,32],[80,35],[103,32],[81,32],[122,32],[82,32],[111,35],[84,32],[85,32],[123,32],[87,32],[89,32],[90,32],[96,32],[97,32],[91,35],[125,32],[112,35],[124,35],[92,32],[93,32],[126,32],[94,32],[86,35],[127,32],[110,32],[128,32],[95,35],[98,32],[99,32],[115,35],[129,32],[130,32],[109,32],[88,32],[131,35],[132,32],[133,32],[134,32],[100,32],[102,32],[104,32],[101,35],[83,32],[105,32],[108,32],[106,32],[107,32],[69,32],[141,32],[135,32],[136,32],[138,32],[139,32],[137,32],[142,32],[140,32],[159,36],[157,37],[158,38],[156,39],[155,32],[154,40],[153,41],[47,31],[284,42],[285,43],[286,44],[290,45],[302,46],[300,47],[293,48],[307,47],[303,49],[304,50],[301,46],[294,51],[299,52],[306,53],[297,54],[292,55],[298,53],[288,56],[308,57],[287,58],[337,59],[338,3],[320,59],[313,60],[332,61],[317,62],[318,63],[334,64],[333,65],[309,65],[321,66],[339,67],[319,68],[327,69],[326,70],[335,71],[311,72],[336,73],[340,74],[347,75],[341,76],[329,77],[330,78],[331,79],[316,80],[328,81],[314,82],[325,11],[315,83],[312,84],[266,85],[201,86],[263,87],[264,88],[205,89],[207,90],[259,91],[253,92],[208,93],[209,94],[276,95],[204,96],[203,97],[240,98],[239,99],[217,99],[243,100],[227,101],[225,102],[218,99],[221,103],[220,104],[252,105],[223,99],[228,106],[229,99],[233,107],[234,99],[235,108],[236,99],[237,107],[238,99],[246,109],[247,99],[249,110],[250,99],[251,106],[244,100],[232,111],[231,112],[230,99],[245,113],[242,114],[241,115],[226,99],[248,101],[219,99],[277,116],[274,117],[275,118],[270,119],[267,120],[255,121],[200,56],[257,122],[269,123],[272,124],[258,125],[210,56],[254,126],[271,127],[265,128],[261,129],[262,130],[216,131],[214,132],[213,132],[391,133],[393,134],[392,133],[390,135],[394,136],[30,11],[165,137],[166,138],[167,139],[162,140],[163,141],[164,142],[389,143],[345,144],[346,145],[344,144],[343,56],[279,3],[324,3],[24,146],[26,147],[27,148],[35,149],[31,150],[34,151],[32,152],[367,153],[365,154],[368,153],[363,155],[362,156],[361,157],[374,158],[192,159],[191,159],[193,160],[194,161],[197,162],[196,163],[369,164],[19,165],[364,166],[160,167],[33,15],[366,168],[356,169],[358,170],[360,171],[357,172],[375,15]],"exportedModulesMap":[[378,1],[354,2],[352,3],[350,3],[348,3],[353,4],[351,5],[349,6],[281,7],[280,3],[381,8],[377,1],[379,9],[380,1],[372,10],[382,11],[384,12],[385,13],[395,14],[28,15],[29,15],[373,16],[400,17],[283,18],[185,19],[176,20],[178,21],[171,22],[172,23],[184,24],[173,22],[174,22],[179,25],[180,26],[181,22],[188,27],[186,28],[189,29],[187,30],[42,31],[143,32],[147,32],[146,32],[144,32],[145,32],[148,32],[43,32],[55,32],[44,32],[57,32],[59,32],[52,32],[53,32],[54,32],[58,32],[60,32],[45,32],[56,32],[46,32],[48,33],[49,32],[50,32],[51,32],[67,32],[66,32],[151,34],[61,32],[63,32],[62,32],[64,32],[65,32],[150,32],[149,32],[68,32],[71,35],[72,35],[74,32],[117,32],[116,32],[75,32],[114,32],[118,32],[76,32],[77,32],[78,35],[119,32],[113,32],[73,35],[120,32],[79,35],[121,32],[80,35],[103,32],[81,32],[122,32],[82,32],[111,35],[84,32],[85,32],[123,32],[87,32],[89,32],[90,32],[96,32],[97,32],[91,35],[125,32],[112,35],[124,35],[92,32],[93,32],[126,32],[94,32],[86,35],[127,32],[110,32],[128,32],[95,35],[98,32],[99,32],[115,35],[129,32],[130,32],[109,32],[88,32],[131,35],[132,32],[133,32],[134,32],[100,32],[102,32],[104,32],[101,35],[83,32],[105,32],[108,32],[106,32],[107,32],[69,32],[141,32],[135,32],[136,32],[138,32],[139,32],[137,32],[142,32],[140,32],[159,36],[157,37],[158,38],[156,39],[155,32],[154,40],[153,41],[47,31],[284,42],[285,43],[286,44],[290,45],[302,46],[300,47],[293,48],[307,47],[303,49],[304,50],[301,46],[294,51],[299,52],[306,53],[297,54],[292,55],[298,53],[288,56],[308,57],[287,58],[337,59],[338,3],[320,59],[313,60],[332,61],[317,62],[318,63],[334,64],[333,65],[309,65],[321,66],[339,67],[319,68],[327,69],[326,70],[335,71],[311,72],[336,73],[340,74],[347,75],[341,76],[329,77],[330,78],[331,79],[316,80],[328,81],[314,82],[325,11],[315,83],[312,84],[266,85],[201,86],[263,87],[264,88],[205,89],[207,90],[259,91],[253,92],[208,93],[209,94],[276,95],[204,96],[203,97],[240,98],[239,99],[217,99],[243,100],[227,101],[225,102],[218,99],[221,103],[220,104],[252,105],[223,99],[228,106],[229,99],[233,107],[234,99],[235,108],[236,99],[237,107],[238,99],[246,109],[247,99],[249,110],[250,99],[251,106],[244,100],[232,111],[231,112],[230,99],[245,113],[242,114],[241,115],[226,99],[248,101],[219,99],[277,116],[274,117],[275,118],[270,119],[267,120],[255,121],[200,56],[257,122],[269,123],[272,124],[258,125],[210,56],[254,126],[271,127],[265,128],[261,129],[262,130],[216,131],[214,132],[213,132],[391,133],[393,134],[392,133],[390,135],[394,136],[30,11],[165,137],[166,138],[167,139],[162,140],[163,141],[164,142],[389,143],[345,144],[346,145],[344,144],[343,56],[279,3],[324,3],[24,146],[26,147],[27,148],[35,173],[31,150],[34,174],[32,152],[367,175],[365,154],[368,175],[363,173],[362,156],[361,176],[374,158],[192,159],[191,159],[193,160],[194,167],[197,177],[196,177],[369,164],[19,165],[364,166],[160,167],[366,178],[356,169],[358,179],[360,171],[357,180],[375,15]],"semanticDiagnosticsPerFile":[378,376,354,352,350,348,353,351,349,281,280,381,377,379,380,22,372,382,383,384,385,395,215,371,28,29,396,373,397,398,70,25,399,400,283,386,185,176,175,182,178,169,168,170,171,172,184,173,174,179,180,181,177,183,188,186,189,187,40,42,143,147,146,144,145,148,43,55,44,57,59,52,53,54,58,60,45,56,46,48,49,50,51,67,66,151,61,63,62,64,65,150,149,68,71,72,74,117,116,75,114,118,76,77,78,119,113,73,120,79,121,80,103,81,122,82,111,84,85,123,87,89,90,96,97,91,125,112,124,92,93,126,94,86,127,110,128,95,98,99,115,129,130,109,88,131,132,133,134,100,102,104,101,83,105,108,106,107,69,141,135,136,138,139,137,142,140,159,157,158,156,155,154,39,41,37,152,153,47,38,282,284,285,286,290,302,300,293,289,307,295,303,304,305,301,294,299,306,297,291,292,298,288,308,287,337,338,320,313,332,317,318,334,333,309,321,339,319,327,326,335,311,336,340,347,341,329,330,331,316,328,314,323,322,310,325,315,312,342,266,273,201,263,264,205,207,259,253,208,209,206,211,202,268,256,276,204,203,240,239,217,243,227,224,225,218,221,220,252,223,228,229,233,234,235,236,237,238,246,247,249,250,251,244,232,231,230,245,242,241,226,248,219,277,274,275,270,267,255,200,257,269,272,258,210,254,271,265,222,261,262,260,216,214,213,212,296,387,391,393,392,390,394,30,165,166,167,162,163,161,164,389,388,345,346,344,343,279,278,324,17,23,21,24,26,27,4,5,9,8,3,10,11,12,13,14,15,16,2,1,7,6,35,20,31,34,32,367,370,36,365,368,363,362,361,374,192,190,191,193,194,197,196,369,18,19,364,355,195,198,160,33,366,356,358,360,357,359,199,375]},"version":"4.4.4"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@roit/roit-data-firestore",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.33-alpha",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"types": "src/index.ts",
|
|
6
6
|
"scripts": {
|
|
@@ -10,15 +10,16 @@
|
|
|
10
10
|
},
|
|
11
11
|
"author": "Author",
|
|
12
12
|
"devDependencies": {
|
|
13
|
+
"@google-cloud/bigquery": "6.0.3",
|
|
13
14
|
"@types/jest": "^27.0.2",
|
|
14
15
|
"@types/node": "^6.0.46",
|
|
15
16
|
"@types/shelljs": "^0.8.9",
|
|
16
17
|
"@types/uuid": "^8.3.1",
|
|
17
18
|
"jest": "^27.3.1",
|
|
19
|
+
"redis": "4.0.6",
|
|
18
20
|
"ts-jest": "^27.0.7",
|
|
19
21
|
"ts-node": "^8.3.0",
|
|
20
|
-
"typescript": "4.4.4"
|
|
21
|
-
"redis": "4.0.6"
|
|
22
|
+
"typescript": "4.4.4"
|
|
22
23
|
},
|
|
23
24
|
"dependencies": {
|
|
24
25
|
"@google-cloud/firestore": "4.10.1",
|
|
@@ -51,4 +52,4 @@
|
|
|
51
52
|
"testEnvironment": "node"
|
|
52
53
|
},
|
|
53
54
|
"keywords": []
|
|
54
|
-
}
|
|
55
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { Environment } from "roit-environment"
|
|
2
|
+
import { PersistFirestoreReadProps } from "../model/PersistFirestoreReadProps"
|
|
3
|
+
import { BigQueryFirestoreReadAuditProvider } from "./providers/BigQueryFirestoreReadAuditProvider"
|
|
4
|
+
|
|
5
|
+
export class FirestoreReadAuditResolver {
|
|
6
|
+
|
|
7
|
+
private static instance: FirestoreReadAuditResolver = new FirestoreReadAuditResolver()
|
|
8
|
+
|
|
9
|
+
private provider: BigQueryFirestoreReadAuditProvider
|
|
10
|
+
|
|
11
|
+
constructor() {
|
|
12
|
+
if (Environment.getProperty('firestore.enableReadAudit') && !this.isReadAuditTimeEnded()) {
|
|
13
|
+
this.provider = new BigQueryFirestoreReadAuditProvider()
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
static getInstance(): FirestoreReadAuditResolver {
|
|
18
|
+
return this.instance
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
private isReadAuditTimeEnded() {
|
|
22
|
+
const readAuditEndAt = Environment.getProperty('firestore.readAuditEndAt')
|
|
23
|
+
if (readAuditEndAt) {
|
|
24
|
+
return new Date(readAuditEndAt) < new Date()
|
|
25
|
+
}
|
|
26
|
+
return false
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
async persistFirestoreRead(props: PersistFirestoreReadProps) {
|
|
30
|
+
if (this.provider) {
|
|
31
|
+
if (!this.isReadAuditTimeEnded()) {
|
|
32
|
+
await this.provider.persistFirestoreRead(props)
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
import { Env, Environment } from 'roit-environment'
|
|
2
|
+
import { RepositorySystemException } from "../../exception/RepositorySystemException";
|
|
3
|
+
import { PersistFirestoreReadProps } from '../../model/PersistFirestoreReadProps';
|
|
4
|
+
import { PlatformTools } from '../../platform/PlatformTools';
|
|
5
|
+
|
|
6
|
+
const dataset = 'firestore_read_audit'
|
|
7
|
+
const table = `${dataset}_table`
|
|
8
|
+
|
|
9
|
+
export class BigQueryFirestoreReadAuditProvider {
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Big Query module instance loaded dynamically
|
|
13
|
+
*/
|
|
14
|
+
private bigQuery: any
|
|
15
|
+
|
|
16
|
+
private tableIsCreated: boolean = false
|
|
17
|
+
|
|
18
|
+
constructor() {
|
|
19
|
+
if (Environment.acceptedEnv(Env.TEST)) return
|
|
20
|
+
|
|
21
|
+
if (!this.bigQuery) {
|
|
22
|
+
const projectId = Environment.getProperty("firestore.projectId")
|
|
23
|
+
|
|
24
|
+
if (!projectId) {
|
|
25
|
+
throw new RepositorySystemException(`projectId is required in env.yaml {firestore.projectId}`)
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
try {
|
|
29
|
+
const { BigQuery } = this.loadBigQuery()
|
|
30
|
+
this.bigQuery = new BigQuery({
|
|
31
|
+
projectId
|
|
32
|
+
})
|
|
33
|
+
} catch (err) {
|
|
34
|
+
console.error(err)
|
|
35
|
+
throw new RepositorySystemException(`Error in initializeApp: ${err}`)
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
private async createFirestoreAuditDatasetAndTableIfNecessary() {
|
|
42
|
+
const TWO_DAYS_IN_MS = '172800000'
|
|
43
|
+
|
|
44
|
+
const schema = [
|
|
45
|
+
{ name: 'collection', type: 'STRING' },
|
|
46
|
+
{ name: 'service', type: 'STRING' },
|
|
47
|
+
{ name: 'env', type: 'STRING' },
|
|
48
|
+
{ name: 'repositoryClassName', type: 'STRING' },
|
|
49
|
+
{ name: 'functionSignature', type: 'STRING' },
|
|
50
|
+
{ name: 'params', type: 'STRING' },
|
|
51
|
+
{ name: 'insertAt', type: 'DATETIME' },
|
|
52
|
+
]
|
|
53
|
+
|
|
54
|
+
const options = {
|
|
55
|
+
schema,
|
|
56
|
+
location: 'US',
|
|
57
|
+
timePartitioning: {
|
|
58
|
+
type: 'DAY',
|
|
59
|
+
expirationMS: TWO_DAYS_IN_MS,
|
|
60
|
+
field: 'insertAt'
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
const handleBigQueryError = (e: any) => {
|
|
65
|
+
if (!JSON.stringify(e.errors).includes('Exists')) {
|
|
66
|
+
console.log('Error [createFirestoreAuditDatasetAndTableIfNecessary]', e)
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
try {
|
|
71
|
+
await this.bigQuery.createDataset(dataset)
|
|
72
|
+
} catch (e) {
|
|
73
|
+
handleBigQueryError(e)
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
try {
|
|
77
|
+
await this.bigQuery
|
|
78
|
+
.dataset(dataset)
|
|
79
|
+
.createTable(table, options)
|
|
80
|
+
} catch (e) {
|
|
81
|
+
handleBigQueryError(e)
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
async persistFirestoreRead({
|
|
86
|
+
collection,
|
|
87
|
+
repositoryClassName,
|
|
88
|
+
functionSignature,
|
|
89
|
+
params
|
|
90
|
+
}: PersistFirestoreReadProps) {
|
|
91
|
+
try {
|
|
92
|
+
if (!this.tableIsCreated) {
|
|
93
|
+
await this.createFirestoreAuditDatasetAndTableIfNecessary()
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
this.tableIsCreated = true
|
|
97
|
+
|
|
98
|
+
const response = await this.bigQuery
|
|
99
|
+
.dataset(dataset)
|
|
100
|
+
.table(table)
|
|
101
|
+
.insert([{
|
|
102
|
+
collection,
|
|
103
|
+
repositoryClassName,
|
|
104
|
+
functionSignature,
|
|
105
|
+
params,
|
|
106
|
+
env: Environment.currentEnv(),
|
|
107
|
+
insertAt: this.bigQuery.datetime(new Date().toISOString()),
|
|
108
|
+
service: Environment.getProperty('service')
|
|
109
|
+
}])
|
|
110
|
+
console.log("inserted", response)
|
|
111
|
+
} catch (error) {
|
|
112
|
+
console.log(JSON.stringify(error.errors))
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
private loadBigQuery(): any {
|
|
117
|
+
try {
|
|
118
|
+
return PlatformTools.load("bigquery")
|
|
119
|
+
} catch (e) {
|
|
120
|
+
console.log(e)
|
|
121
|
+
throw new Error(
|
|
122
|
+
`Cannot use Firestore Read Audit because BigQuery is not installed. Please run "npm i @google-cloud/bigquery@6.0.3 --save-exact".`,
|
|
123
|
+
)
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
}
|
|
@@ -4,6 +4,7 @@ import { QueryPredicateFunctionTransform } from './QueryPredicateFunctionTransfo
|
|
|
4
4
|
import { RepositoryOptions } from '../model/RepositoryOptions';
|
|
5
5
|
import { MQuery, MQuerySimple, Config } from '../model/MQuery';
|
|
6
6
|
import { CacheResolver } from "../cache/CacheResolver";
|
|
7
|
+
import { FirestoreReadAuditResolver } from "../firestore-read-audit/FirestoreReadAuditResolver";
|
|
7
8
|
|
|
8
9
|
export class ManualQueryHelper {
|
|
9
10
|
|
|
@@ -65,6 +66,16 @@ export class ManualQueryHelper {
|
|
|
65
66
|
const data = this.getData(snapshot);
|
|
66
67
|
|
|
67
68
|
await cacheResolver.cacheResult(className, 'any', data, JSON.stringify(config))
|
|
69
|
+
|
|
70
|
+
const firestoreReadAuditResolver: FirestoreReadAuditResolver = (global as any).instances.firestoreReadAuditResolver
|
|
71
|
+
|
|
72
|
+
await firestoreReadAuditResolver.persistFirestoreRead({
|
|
73
|
+
collection: repositoryOptions.collection,
|
|
74
|
+
repositoryClassName: className,
|
|
75
|
+
functionSignature: 'manual-query',
|
|
76
|
+
params: JSON.stringify(config)
|
|
77
|
+
})
|
|
78
|
+
|
|
68
79
|
return data
|
|
69
80
|
}
|
|
70
81
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { targetConstructorToSchema } from 'class-validator-jsonschema';
|
|
2
2
|
import { CacheResolver } from '../cache/CacheResolver';
|
|
3
3
|
import { ValidatorDataHandle } from '../exception/handle/ValidatorDataHandle';
|
|
4
|
+
import { FirestoreReadAuditResolver } from '../firestore-read-audit/FirestoreReadAuditResolver';
|
|
4
5
|
import { QueryPredicate } from "../model/QueryPredicate";
|
|
5
6
|
import { RepositoryOptions } from "../model/RepositoryOptions";
|
|
6
7
|
import { EnvironmentUtil } from '../util/EnvironmentUtil';
|
|
@@ -33,7 +34,8 @@ export class QueryPredicateFunctionTransform {
|
|
|
33
34
|
Environment,
|
|
34
35
|
queryCreatorConfig: new QueryCreatorConfig,
|
|
35
36
|
cacheResolver: CacheResolver.getInstance(),
|
|
36
|
-
environmentUtil: new EnvironmentUtil
|
|
37
|
+
environmentUtil: new EnvironmentUtil,
|
|
38
|
+
firestoreReadAuditResolver: FirestoreReadAuditResolver.getInstance()
|
|
37
39
|
}
|
|
38
40
|
|
|
39
41
|
if (!options?.collection) {
|
|
@@ -60,7 +62,7 @@ export class QueryPredicateFunctionTransform {
|
|
|
60
62
|
.replace(methodSignature, 'async function')
|
|
61
63
|
.replace('return __awaiter(this, void 0, void 0, function* () {', '')
|
|
62
64
|
.replace(/yield/g, 'await')
|
|
63
|
-
.replace(
|
|
65
|
+
.replace(/<COLLECTION_REPLACE>/g, options.collection)
|
|
64
66
|
.replace("let modelName = ''", `let modelName = '${modelName}'`)
|
|
65
67
|
.replace("let validatorOptions", `let validatorOptions = ${options?.validatorOptions ? JSON.stringify(options?.validatorOptions) : undefined}`)
|
|
66
68
|
.replace("let repositoryClassName = ''", `let repositoryClassName = '${repositoryClassName}'`)
|
|
@@ -2,6 +2,7 @@ import { Firestore } from "@google-cloud/firestore";
|
|
|
2
2
|
import { CacheResolver } from "../../cache/CacheResolver";
|
|
3
3
|
import { ValidatorDataHandle } from "../../exception/handle/ValidatorDataHandle";
|
|
4
4
|
import { RepositoryBusinessException } from "../../exception/RepositoryBusinessException";
|
|
5
|
+
import { FirestoreReadAuditResolver } from "../../firestore-read-audit/FirestoreReadAuditResolver";
|
|
5
6
|
import { Paging } from "../../model/Paging";
|
|
6
7
|
import { EnvironmentUtil } from "../../util/EnvironmentUtil";
|
|
7
8
|
import { QueryCreatorConfig } from "../QueryCreatorConfig";
|
|
@@ -285,6 +286,14 @@ export class CreateFunction {
|
|
|
285
286
|
|
|
286
287
|
await cacheResolver.cacheResult(repositoryClassName, methodSignature, items, 'Any')
|
|
287
288
|
|
|
289
|
+
const firestoreReadAuditResolver: FirestoreReadAuditResolver = (global as any).instances.firestoreReadAuditResolver
|
|
290
|
+
|
|
291
|
+
await firestoreReadAuditResolver.persistFirestoreRead({
|
|
292
|
+
collection: '<COLLECTION_REPLACE>',
|
|
293
|
+
repositoryClassName,
|
|
294
|
+
functionSignature: methodSignature
|
|
295
|
+
})
|
|
296
|
+
|
|
288
297
|
return items
|
|
289
298
|
}
|
|
290
299
|
|
|
@@ -316,6 +325,15 @@ export class CreateFunction {
|
|
|
316
325
|
|
|
317
326
|
await cacheResolver.cacheResult(repositoryClassName, methodSignature, item, id)
|
|
318
327
|
|
|
328
|
+
const firestoreReadAuditResolver: FirestoreReadAuditResolver = (global as any).instances.firestoreReadAuditResolver
|
|
329
|
+
|
|
330
|
+
await firestoreReadAuditResolver.persistFirestoreRead({
|
|
331
|
+
collection: '<COLLECTION_REPLACE>',
|
|
332
|
+
repositoryClassName,
|
|
333
|
+
functionSignature: methodSignature,
|
|
334
|
+
params: id
|
|
335
|
+
})
|
|
336
|
+
|
|
319
337
|
return item
|
|
320
338
|
}
|
|
321
339
|
}
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
const db = global.instances.globalDbFile.FirestoreInstance.getInstance()
|
|
8
8
|
const cacheResolver = global.instances.cacheResolver
|
|
9
|
+
const firestoreReadAuditResolver = global.instances.firestoreReadAuditResolver
|
|
9
10
|
|
|
10
11
|
const environmentUtil = global.instances.environmentUtil
|
|
11
12
|
if(environmentUtil.areWeTesting()) {
|
|
@@ -21,7 +22,6 @@
|
|
|
21
22
|
|
|
22
23
|
const collection = db.collection('<collection_name_replace>')
|
|
23
24
|
|
|
24
|
-
|
|
25
25
|
if(Number(global.instances.Environment.getProperty('firestore.debug'))) { console.debug('[DEBUG] Executing query >', "<query_predicate_replace>") }
|
|
26
26
|
const documentRef = global.instances.queryCreatorConfig.buildPaging(collection, paging)
|
|
27
27
|
const snapshot = await documentRef<query_predicate_replace>.get()
|
|
@@ -35,5 +35,12 @@
|
|
|
35
35
|
|
|
36
36
|
await cacheResolver.cacheResult(repositoryClassName, methodSignature, items, <params_replace>)
|
|
37
37
|
|
|
38
|
+
await firestoreReadAuditResolver.persistFirestoreRead({
|
|
39
|
+
collection: '<collection_name_replace>',
|
|
40
|
+
repositoryClassName: repositoryClassName,
|
|
41
|
+
functionSignature: methodSignature,
|
|
42
|
+
params: <params_replace>
|
|
43
|
+
})
|
|
44
|
+
|
|
38
45
|
return items
|
|
39
46
|
}
|