@doctorus/common 0.0.6 → 0.0.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/audit/index.d.ts +2 -0
- package/lib/audit/index.js +19 -0
- package/lib/audit/types.d.ts +47 -0
- package/lib/audit/types.js +3 -0
- package/lib/audit/utils.d.ts +10 -0
- package/lib/audit/utils.js +92 -0
- package/lib/index.d.ts +1 -0
- package/lib/index.js +2 -1
- package/lib/operations/predefined.d.ts +1 -0
- package/lib/operations/predefined.js +2 -1
- package/package.json +1 -1
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./types"), exports);
|
|
18
|
+
__exportStar(require("./utils"), exports);
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXVkaXQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDBDQUF3QjtBQUN4QiwwQ0FBd0IiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3R5cGVzJztcbmV4cG9ydCAqIGZyb20gJy4vdXRpbHMnO1xuIl19
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { OPERATION } from '../operations';
|
|
2
|
+
export type ISODateTime = string;
|
|
3
|
+
export type UUID = string;
|
|
4
|
+
export type FieldChange<T, K extends keyof T> = {
|
|
5
|
+
from: T[K];
|
|
6
|
+
to: T[K];
|
|
7
|
+
};
|
|
8
|
+
export type ModifiedChanges<T> = {
|
|
9
|
+
[K in keyof T]?: FieldChange<T, K>;
|
|
10
|
+
};
|
|
11
|
+
export type ModifiedChangesAlt<T> = {
|
|
12
|
+
[K in keyof T]?: {
|
|
13
|
+
from: T[K];
|
|
14
|
+
to: T[K];
|
|
15
|
+
};
|
|
16
|
+
};
|
|
17
|
+
export interface AuditLogRecord<T = Record<string, any>, I = {
|
|
18
|
+
graphql?: {
|
|
19
|
+
fieldName: string;
|
|
20
|
+
typeName: string;
|
|
21
|
+
};
|
|
22
|
+
userInfo?: any;
|
|
23
|
+
}> {
|
|
24
|
+
PK: string;
|
|
25
|
+
SK: string;
|
|
26
|
+
timestamp: ISODateTime;
|
|
27
|
+
userId: string;
|
|
28
|
+
operation: OPERATION;
|
|
29
|
+
objectId: string;
|
|
30
|
+
eventId: UUID;
|
|
31
|
+
lastKnownState?: T;
|
|
32
|
+
info?: I;
|
|
33
|
+
changed?: {
|
|
34
|
+
full?: Record<string, any>;
|
|
35
|
+
added?: Record<string, any>;
|
|
36
|
+
modified?: ModifiedChanges<T>;
|
|
37
|
+
removed?: Record<string, any>;
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
export interface PublishedEvent<T = Record<string, any>> {
|
|
41
|
+
accountId: string;
|
|
42
|
+
userId: string;
|
|
43
|
+
at: ISODateTime;
|
|
44
|
+
object?: T;
|
|
45
|
+
operation: string;
|
|
46
|
+
changed?: T;
|
|
47
|
+
}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXVkaXQvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9QRVJBVElPTiB9IGZyb20gJy4uL29wZXJhdGlvbnMnO1xuXG5leHBvcnQgdHlwZSBJU09EYXRlVGltZSA9IHN0cmluZztcbmV4cG9ydCB0eXBlIFVVSUQgPSBzdHJpbmc7XG5cbmV4cG9ydCB0eXBlIEZpZWxkQ2hhbmdlPFQsIEsgZXh0ZW5kcyBrZXlvZiBUPiA9IHtcbiAgZnJvbTogVFtLXTtcbiAgdG86IFRbS107XG59O1xuXG5leHBvcnQgdHlwZSBNb2RpZmllZENoYW5nZXM8VD4gPSB7XG4gIFtLIGluIGtleW9mIFRdPzogRmllbGRDaGFuZ2U8VCwgSz47XG59O1xuXG5leHBvcnQgdHlwZSBNb2RpZmllZENoYW5nZXNBbHQ8VD4gPSB7XG4gIFtLIGluIGtleW9mIFRdPzogeyBmcm9tOiBUW0tdOyB0bzogVFtLXSB9O1xufTtcblxuZXhwb3J0IGludGVyZmFjZSBBdWRpdExvZ1JlY29yZDxcbiAgVCA9IFJlY29yZDxzdHJpbmcsIGFueT4sXG4gIEkgPSB7IGdyYXBocWw/OiB7IGZpZWxkTmFtZTogc3RyaW5nOyB0eXBlTmFtZTogc3RyaW5nIH07IHVzZXJJbmZvPzogYW55IH0sXG4+IHtcbiAgUEs6IHN0cmluZztcbiAgU0s6IHN0cmluZztcbiAgdGltZXN0YW1wOiBJU09EYXRlVGltZTtcbiAgdXNlcklkOiBzdHJpbmc7XG4gIG9wZXJhdGlvbjogT1BFUkFUSU9OO1xuICBvYmplY3RJZDogc3RyaW5nO1xuICBldmVudElkOiBVVUlEO1xuICBsYXN0S25vd25TdGF0ZT86IFQ7XG4gIGluZm8/OiBJO1xuICBjaGFuZ2VkPzoge1xuICAgIGZ1bGw/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuICAgIGFkZGVkPzogUmVjb3JkPHN0cmluZywgYW55PjtcbiAgICBtb2RpZmllZD86IE1vZGlmaWVkQ2hhbmdlczxUPjtcbiAgICByZW1vdmVkPzogUmVjb3JkPHN0cmluZywgYW55PjtcbiAgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQdWJsaXNoZWRFdmVudDxUID0gUmVjb3JkPHN0cmluZywgYW55Pj4ge1xuICBhY2NvdW50SWQ6IHN0cmluZztcbiAgdXNlcklkOiBzdHJpbmc7XG4gIGF0OiBJU09EYXRlVGltZTtcbiAgb2JqZWN0PzogVDtcbiAgb3BlcmF0aW9uOiBzdHJpbmc7XG4gIGNoYW5nZWQ/OiBUO1xufVxuIl19
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export declare function calculateChangedData(newData?: Record<string, any> | null, oldData?: Record<string, any> | null): {
|
|
2
|
+
added?: Record<string, any>;
|
|
3
|
+
modified?: Record<string, {
|
|
4
|
+
from: any;
|
|
5
|
+
to: any;
|
|
6
|
+
}>;
|
|
7
|
+
removed?: Record<string, any>;
|
|
8
|
+
full?: Record<string, any>;
|
|
9
|
+
};
|
|
10
|
+
export declare function changedDataIncludesField(changedData: ReturnType<typeof calculateChangedData>, fieldName: string): boolean;
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.calculateChangedData = calculateChangedData;
|
|
4
|
+
exports.changedDataIncludesField = changedDataIncludesField;
|
|
5
|
+
function isSystemField(key) {
|
|
6
|
+
const systemFields = [
|
|
7
|
+
'updatedAt',
|
|
8
|
+
'lastModified',
|
|
9
|
+
'modifiedAt',
|
|
10
|
+
'lastUpdated',
|
|
11
|
+
'version',
|
|
12
|
+
'etag',
|
|
13
|
+
'ttl',
|
|
14
|
+
];
|
|
15
|
+
return systemFields.includes(key);
|
|
16
|
+
}
|
|
17
|
+
function deepEqual(obj1, obj2) {
|
|
18
|
+
if (obj1 === obj2)
|
|
19
|
+
return true;
|
|
20
|
+
if (obj1 == null ||
|
|
21
|
+
obj2 == null ||
|
|
22
|
+
typeof obj1 !== 'object' ||
|
|
23
|
+
typeof obj2 !== 'object') {
|
|
24
|
+
return false;
|
|
25
|
+
}
|
|
26
|
+
if (Array.isArray(obj1) !== Array.isArray(obj2))
|
|
27
|
+
return false;
|
|
28
|
+
const keys1 = Object.keys(obj1);
|
|
29
|
+
const keys2 = Object.keys(obj2);
|
|
30
|
+
if (keys1.length !== keys2.length)
|
|
31
|
+
return false;
|
|
32
|
+
for (const key of keys1) {
|
|
33
|
+
if (!keys2.includes(key) || !deepEqual(obj1[key], obj2[key])) {
|
|
34
|
+
return false;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
return true;
|
|
38
|
+
}
|
|
39
|
+
function calculateDifferences(oldData, newData) {
|
|
40
|
+
const added = {};
|
|
41
|
+
const modified = {};
|
|
42
|
+
const removed = {};
|
|
43
|
+
const allKeys = new Set([...Object.keys(oldData), ...Object.keys(newData)]);
|
|
44
|
+
for (const key of allKeys) {
|
|
45
|
+
if (isSystemField(key))
|
|
46
|
+
continue;
|
|
47
|
+
const oldValue = oldData[key];
|
|
48
|
+
const newValue = newData[key];
|
|
49
|
+
if (!(key in oldData) && key in newData) {
|
|
50
|
+
added[key] = newValue;
|
|
51
|
+
}
|
|
52
|
+
else if (key in oldData && !(key in newData)) {
|
|
53
|
+
removed[key] = oldValue;
|
|
54
|
+
}
|
|
55
|
+
else if (key in oldData &&
|
|
56
|
+
key in newData &&
|
|
57
|
+
!deepEqual(oldValue, newValue)) {
|
|
58
|
+
modified[key] = { from: oldValue, to: newValue };
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
const result = {};
|
|
62
|
+
if (Object.keys(added).length > 0)
|
|
63
|
+
result.added = added;
|
|
64
|
+
if (Object.keys(modified).length > 0)
|
|
65
|
+
result.modified = modified;
|
|
66
|
+
if (Object.keys(removed).length > 0)
|
|
67
|
+
result.removed = removed;
|
|
68
|
+
return result;
|
|
69
|
+
}
|
|
70
|
+
function calculateChangedData(newData, oldData) {
|
|
71
|
+
if (!oldData && newData)
|
|
72
|
+
return { full: newData };
|
|
73
|
+
if (!newData && oldData)
|
|
74
|
+
return { full: oldData };
|
|
75
|
+
if (oldData && newData) {
|
|
76
|
+
return {
|
|
77
|
+
...calculateDifferences(oldData, newData),
|
|
78
|
+
full: newData,
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
return { full: newData || oldData || {} };
|
|
82
|
+
}
|
|
83
|
+
function changedDataIncludesField(changedData, fieldName) {
|
|
84
|
+
if (!changedData)
|
|
85
|
+
return false;
|
|
86
|
+
const { added, modified, removed } = changedData;
|
|
87
|
+
return ((added && fieldName in added) ||
|
|
88
|
+
(modified && fieldName in modified) ||
|
|
89
|
+
(removed && fieldName in removed) ||
|
|
90
|
+
false);
|
|
91
|
+
}
|
|
92
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXVkaXQvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUE4RUEsb0RBa0JDO0FBRUQsNERBWUM7QUE5R0QsU0FBUyxhQUFhLENBQUMsR0FBVztJQUNoQyxNQUFNLFlBQVksR0FBRztRQUNuQixXQUFXO1FBQ1gsY0FBYztRQUNkLFlBQVk7UUFDWixhQUFhO1FBQ2IsU0FBUztRQUNULE1BQU07UUFDTixLQUFLO0tBQ04sQ0FBQztJQUNGLE9BQU8sWUFBWSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUNwQyxDQUFDO0FBRUQsU0FBUyxTQUFTLENBQUMsSUFBUyxFQUFFLElBQVM7SUFDckMsSUFBSSxJQUFJLEtBQUssSUFBSTtRQUFFLE9BQU8sSUFBSSxDQUFDO0lBQy9CLElBQ0UsSUFBSSxJQUFJLElBQUk7UUFDWixJQUFJLElBQUksSUFBSTtRQUNaLE9BQU8sSUFBSSxLQUFLLFFBQVE7UUFDeEIsT0FBTyxJQUFJLEtBQUssUUFBUSxFQUN4QixDQUFDO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBQ0QsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO1FBQUUsT0FBTyxLQUFLLENBQUM7SUFFOUQsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNoQyxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2hDLElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxLQUFLLENBQUMsTUFBTTtRQUFFLE9BQU8sS0FBSyxDQUFDO0lBRWhELEtBQUssTUFBTSxHQUFHLElBQUksS0FBSyxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLElB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QUNwRCxTQUFpQjtJQUVqQixJQUFJLENBQUMsV0FBVztRQUFFLE9BQU8sS0FBSyxDQUFDO0lBQy9CLE1BQU0sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxHQUFHLFdBQVcsQ0FBQztJQUNqRCxPQUFPLENBQ0wsQ0FBQyxLQUFLLElBQUksU0FBUyxJQUFJLEtBQUssQ0FBQztRQUM3QixDQUFDLFFBQVEsSUFBSSxTQUFTLElBQUksUUFBUSxDQUFDO1FBQ25DLENBQUMsT0FBTyxJQUFJLFNBQVMsSUFBSSxPQUFPLENBQUM7UUFDakMsS0FBSyxDQUNOLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZnVuY3Rpb24gaXNTeXN0ZW1GaWVsZChrZXk6IHN0cmluZyk6IGJvb2xlYW4ge1xuICBjb25zdCBzeXN0ZW1GaWVsZHMgPSBbXG4gICAgJ3VwZGF0ZWRBdCcsXG4gICAgJ2xhc3RNb2RpZmllZCcsXG4gICAgJ21vZGlmaWVkQXQnLFxuICAgICdsYXN0VXBkYXRlZCcsXG4gICAgJ3ZlcnNpb24nLFxuICAgICdldGFnJyxcbiAgICAndHRsJyxcbiAgXTtcbiAgcmV0dXJuIHN5c3RlbUZpZWxkcy5pbmNsdWRlcyhrZXkpO1xufVxuXG5mdW5jdGlvbiBkZWVwRXF1YWwob2JqMTogYW55LCBvYmoyOiBhbnkpOiBib29sZWFuIHtcbiAgaWYgKG9iajEgPT09IG9iajIpIHJldHVybiB0cnVlO1xuICBpZiAoXG4gICAgb2JqMSA9PSBudWxsIHx8XG4gICAgb2JqMiA9PSBudWxsIHx8XG4gICAgdHlwZW9mIG9iajEgIT09ICdvYmplY3QnIHx8XG4gICAgdHlwZW9mIG9iajIgIT09ICdvYmplY3QnXG4gICkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICBpZiAoQXJyYXkuaXNBcnJheShvYmoxKSAhPT0gQXJyYXkuaXNBcnJheShvYmoyKSkgcmV0dXJuIGZhbHNlO1xuXG4gIGNvbnN0IGtleXMxID0gT2JqZWN0LmtleXMob2JqMSk7XG4gIGNvbnN0IGtleXMyID0gT2JqZWN0LmtleXMob2JqMik7XG4gIGlmIChrZXlzMS5sZW5ndGggIT09IGtleXMyLmxlbmd0aCkgcmV0dXJuIGZhbHNlO1xuXG4gIGZvciAoY29uc3Qga2V5IG9mIGtleXMxKSB7XG4gICAgaWYgKCFrZXlzMi5pbmNsdWRlcyhrZXkpIHx8ICFkZWVwRXF1YWwob2JqMVtrZXldLCBvYmoyW2tleV0pKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG4gIHJldHVybiB0cnVlO1xufVxuXG5mdW5jdGlvbiBjYWxjdWxhdGVEaWZmZXJlbmNlcyhcbiAgb2xkRGF0YTogUmVjb3JkPHN0cmluZywgYW55PixcbiAgbmV3RGF0YTogUmVjb3JkPHN0cmluZywgYW55Pixcbik6IHtcbiAgYWRkZWQ/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuICBtb2RpZmllZD86IFJlY29yZDxzdHJpbmcsIHsgZnJvbTogYW55OyB0bzogYW55IH0+O1xuICByZW1vdmVkPzogUmVjb3JkPHN0cmluZywgYW55Pjtcbn0ge1xuICBjb25zdCBhZGRlZDogUmVjb3JkPHN0cmluZywgYW55PiA9IHt9O1xuICBjb25zdCBtb2RpZmllZDogUmVjb3JkPHN0cmluZywgeyBmcm9tOiBhbnk7IHRvOiBhbnkgfT4gPSB7fTtcbiAgY29uc3QgcmVtb3ZlZDogUmVjb3JkPHN0cmluZywgYW55PiA9IHt9O1xuXG4gIGNvbnN0IGFsbEtleXMgPSBuZXcgU2V0KFsuLi5PYmplY3Qua2V5cyhvbGREYXRhKSwgLi4uT2JqZWN0LmtleXMobmV3RGF0YSldKTtcblxuICBmb3IgKGNvbnN0IGtleSBvZiBhbGxLZXlzKSB7XG4gICAgaWYgKGlzU3lzdGVtRmllbGQoa2V5KSkgY29udGludWU7XG5cbiAgICBjb25zdCBvbGRWYWx1ZSA9IG9sZERhdGFba2V5XTtcbiAgICBjb25zdCBuZXdWYWx1ZSA9IG5ld0RhdGFba2V5XTtcblxuICAgIGlmICghKGtleSBpbiBvbGREYXRhKSAmJiBrZXkgaW4gbmV3RGF0YSkge1xuICAgICAgYWRkZWRba2V5XSA9IG5ld1ZhbHVlO1xuICAgIH0gZWxzZSBpZiAoa2V5IGluIG9sZERhdGEgJiYgIShrZXkgaW4gbmV3RGF0YSkpIHtcbiAgICAgIHJlbW92ZWRba2V5XSA9IG9sZFZhbHVlO1xuICAgIH0gZWxzZSBpZiAoXG4gICAgICBrZXkgaW4gb2xkRGF0YSAmJlxuICAgICAga2V5IGluIG5ld0RhdGEgJiZcbiAgICAgICFkZWVwRXF1YWwob2xkVmFsdWUsIG5ld1ZhbHVlKVxuICAgICkge1xuICAgICAgbW9kaWZpZWRba2V5XSA9IHsgZnJvbTogb2xkVmFsdWUsIHRvOiBuZXdWYWx1ZSB9O1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0IHJlc3VsdDogUmV0dXJuVHlwZTx0eXBlb2YgY2FsY3VsYXRlRGlmZmVyZW5jZXM+ID0ge307XG4gIGlmIChPYmplY3Qua2V5cyhhZGRlZCkubGVuZ3RoID4gMCkgcmVzdWx0LmFkZGVkID0gYWRkZWQ7XG4gIGlmIChPYmplY3Qua2V5cyhtb2RpZmllZCkubGVuZ3RoID4gMCkgcmVzdWx0Lm1vZGlmaWVkID0gbW9kaWZpZWQ7XG4gIGlmIChPYmplY3Qua2V5cyhyZW1vdmVkKS5sZW5ndGggPiAwKSByZXN1bHQucmVtb3ZlZCA9IHJlbW92ZWQ7XG5cbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNhbGN1bGF0ZUNoYW5nZWREYXRhKFxuICBuZXdEYXRhPzogUmVjb3JkPHN0cmluZywgYW55PiB8IG51bGwsXG4gIG9sZERhdGE/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+IHwgbnVsbCxcbik6IHtcbiAgYWRkZWQ/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuICBtb2RpZmllZD86IFJlY29yZDxzdHJpbmcsIHsgZnJvbTogYW55OyB0bzogYW55IH0+O1xuICByZW1vdmVkPzogUmVjb3JkPHN0cmluZywgYW55PjtcbiAgZnVsbD86IFJlY29yZDxzdHJpbmcsIGFueT47XG59IHtcbiAgaWYgKCFvbGREYXRhICYmIG5ld0RhdGEpIHJldHVybiB7IGZ1bGw6IG5ld0RhdGEgfTtcbiAgaWYgKCFuZXdEYXRhICYmIG9sZERhdGEpIHJldHVybiB7IGZ1bGw6IG9sZERhdGEgfTtcbiAgaWYgKG9sZERhdGEgJiYgbmV3RGF0YSkge1xuICAgIHJldHVybiB7XG4gICAgICAuLi5jYWxjdWxhdGVEaWZmZXJlbmNlcyhvbGREYXRhLCBuZXdEYXRhKSxcbiAgICAgIGZ1bGw6IG5ld0RhdGEsXG4gICAgfTtcbiAgfVxuICByZXR1cm4geyBmdWxsOiBuZXdEYXRhIHx8IG9sZERhdGEgfHwge30gfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNoYW5nZWREYXRhSW5jbHVkZXNGaWVsZChcbiAgY2hhbmdlZERhdGE6IFJldHVyblR5cGU8dHlwZW9mIGNhbGN1bGF0ZUNoYW5nZWREYXRhPixcbiAgZmllbGROYW1lOiBzdHJpbmcsXG4pOiBib29sZWFuIHtcbiAgaWYgKCFjaGFuZ2VkRGF0YSkgcmV0dXJuIGZhbHNlO1xuICBjb25zdCB7IGFkZGVkLCBtb2RpZmllZCwgcmVtb3ZlZCB9ID0gY2hhbmdlZERhdGE7XG4gIHJldHVybiAoXG4gICAgKGFkZGVkICYmIGZpZWxkTmFtZSBpbiBhZGRlZCkgfHxcbiAgICAobW9kaWZpZWQgJiYgZmllbGROYW1lIGluIG1vZGlmaWVkKSB8fFxuICAgIChyZW1vdmVkICYmIGZpZWxkTmFtZSBpbiByZW1vdmVkKSB8fFxuICAgIGZhbHNlXG4gICk7XG59XG4iXX0=
|
package/lib/index.d.ts
CHANGED
package/lib/index.js
CHANGED
|
@@ -16,4 +16,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./ssm"), exports);
|
|
18
18
|
__exportStar(require("./operations"), exports);
|
|
19
|
-
|
|
19
|
+
__exportStar(require("./audit"), exports);
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHdDQUFzQjtBQUN0QiwrQ0FBNkI7QUFDN0IsMENBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zc20nO1xuZXhwb3J0ICogZnJvbSAnLi9vcGVyYXRpb25zJztcbmV4cG9ydCAqIGZyb20gJy4vYXVkaXQnO1xuIl19
|
|
@@ -10,6 +10,7 @@ export declare const Operations: {
|
|
|
10
10
|
readonly ACCOUNT_UPDATE: Operation;
|
|
11
11
|
readonly ACCOUNT_DELETE: Operation;
|
|
12
12
|
readonly ACCOUNT_MANAGE: Operation;
|
|
13
|
+
readonly ACCOUNT_OWNERSHIP_TRANSFER: Operation;
|
|
13
14
|
readonly PATIENT_CREATE: Operation;
|
|
14
15
|
readonly PATIENT_READ: Operation;
|
|
15
16
|
readonly PATIENT_UPDATE: Operation;
|
|
@@ -17,6 +17,7 @@ exports.Operations = {
|
|
|
17
17
|
ACCOUNT_UPDATE: new operation_1.Operation(resources_1.Resource.ACCOUNT, actions_1.Action.UPDATE),
|
|
18
18
|
ACCOUNT_DELETE: new operation_1.Operation(resources_1.Resource.ACCOUNT, actions_1.Action.DELETE),
|
|
19
19
|
ACCOUNT_MANAGE: new operation_1.Operation(resources_1.Resource.ACCOUNT, actions_1.Action.MANAGE),
|
|
20
|
+
ACCOUNT_OWNERSHIP_TRANSFER: new operation_1.Operation(resources_1.Resource.ACCOUNT_OWNERSHIP, actions_1.Action.UPDATE),
|
|
20
21
|
// Patient operations
|
|
21
22
|
PATIENT_CREATE: new operation_1.Operation(resources_1.Resource.PATIENT, actions_1.Action.CREATE),
|
|
22
23
|
PATIENT_READ: new operation_1.Operation(resources_1.Resource.PATIENT, actions_1.Action.READ),
|
|
@@ -109,4 +110,4 @@ function getOperationsByResource(resource) {
|
|
|
109
110
|
function getOperationsByAction(action) {
|
|
110
111
|
return getAllOperations().filter((op) => op.action === action);
|
|
111
112
|
}
|
|
112
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlZGVmaW5lZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9vcGVyYXRpb25zL3ByZWRlZmluZWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBK0pBLDRDQUVDO0FBS0QsMERBRUM7QUFLRCxzREFFQztBQS9LRCx1Q0FBbUM7QUFDbkMsMkNBQXdDO0FBQ3hDLDJDQUF1QztBQUV2Qzs7R0FFRztBQUNVLFFBQUEsVUFBVSxHQUFHO0lBQ3hCLHFCQUFxQjtJQUNyQixjQUFjLEVBQUUsSUFBSSxxQkFBUyxDQUFDLG9CQUFRLENBQUMsT0FBTyxFQUFFLGdCQUFNLENBQUMsTUFBTSxDQUFDO0lBQzlELFlBQVksRUFBRSxJQUFJLHFCQUFTLENBQUMsb0JBQVEsQ0FBQyxPQUFPLEVBQUUsZ0JBQU0sQ0FBQyxJQUFJLENBQUM7SUFDMUQsY0FBYyxFQUFFLElBQUkscUJBQVMsQ0FBQyxvQkFBUSxDQUFDLE9BQU8sRUFBRSxnQkFBTSxDQUFDLE1BQU0sQ0FBQztJQUM5RCxjQUFjLEVBQUUsSUFBSSxxQkFBUyxDQUFDLG9CQUFRLENBQUMsT0FBTyxFQUFFLGdCQUFNLENBQUMsTUFBTSxDQUFDO0lBQzlELGNBQWMsRUFBRSxJQUFJLHFCQUFTLENBQUMsb0JBQVEsQ0FBQyxPQUFPLEVBQUUsZ0JBQU0sQ0FBQyxNQUFNLENBQUM7SUFFOUQscUJBQXFCO0lBQ3JCLGNBQWMsRUFBRSxJQUFJLHFCQUFTLENBQUMsb0JBQVEsQ0FBQyxPQUFPLEVBQUUsZ0JBQU0sQ0FBQyxNQUFNLENBQUM7SUFDOUQsWUFBWSxFQUFFLElBQUkscUJBQVMsQ0FBQyxvQkFBUSxDQUFDLE9BQU8sRUFBRSxnQkFBTSxDQUFDLElBQUksQ0FBQztJQUMxRCxjQUFjLEVBQUUsSUFBSSxxQkFBUyxDQUFDLG9CQUFRLENBQUMsT0FBTyxFQUFFLGdCQUFNLENBQUMsTUFBTSxDQUFDO0lBQzlELGNBQWMsRUFBRSxJQUFJLHFCQUFTLENBQUMsb0JBQVEsQ0FBQyxPQUFPLEVB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QU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxrQkFBVSxDQUFDLENBQUM7QUFDbkMsQ0FBQztBQUVEOztHQUVHO0FBQ0gsU0FBZ0IsdUJBQXVCLENBQUMsUUFBa0I7SUFDeEQsT0FBTyxnQkFBZ0IsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLFFBQVEsS0FBSyxRQUFRLENBQUMsQ0FBQztBQUNyRSxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxTQUFnQixxQkFBcUIsQ0FBQyxNQUFjO0lBQ2xELE9BQU8sZ0JBQWdCLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxNQUFNLEtBQUssTUFBTSxDQUFDLENBQUM7QUFDakUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjdGlvbiB9IGZyb20gJy4vYWN0aW9ucyc7XG5pbXBvcnQgeyBPcGVyYXRpb24gfSBmcm9tICcuL29wZXJhdGlvbic7XG5pbXBvcnQgeyBSZXNvdXJjZSB9IGZyb20gJy4vcmVzb3VyY2VzJztcblxuLyoqXG4gKiBQcmVkZWZpbmVkIGNvbW1vbiBvcGVyYXRpb25zIGZvciBjb252ZW5pZW5jZVxuICovXG5leHBvcnQgY29uc3QgT3BlcmF0aW9ucyA9IHtcbiAgLy8gQWNjb3VudCBvcGVyYXRpb25zXG4gIEFDQ09VTlRfQ1JFQVRFOiBuZXcgT3BlcmF0aW9uKFJlc291cmNlLkFDQ09VTlQsIEFjdGlvbi5DUkVBVEUpLFxuICBBQ0NPVU5UX1JFQUQ6IG5ldyBPcGVyYXRpb24oUmVzb3VyY2UuQUNDT1VOVCwgQWN0aW9uLlJFQUQpLFxuICBBQ0NPVU5UX1VQREFURTogbmV3IE9wZXJhdGlvbihSZXNvdXJjZS5BQ0NPVU5ULCBBY3Rpb24uVVBEQVRFKSxcbiAgQUNDT1VOVF9ERUxFVEU6IG5ldyBPcGVyYXRpb24oUmVzb3VyY2UuQUNDT1VOVCwgQWN0aW9uLkRFTEVURSksXG4gIEFDQ09VTlRfTUFOQUdFOiBuZXcgT3BlcmF0aW9uKFJlc291cmNlLkFDQ09VTlQsIEFjdGlvbi5NQU5BR0UpLFxuXG4gIC8vIFBhdGllbnQgb3BlcmF0aW9uc1xuICBQQVRJRU5UX0NSRUFURTogbmV3IE9wZXJhdGlvbihSZXNvdXJjZS5QQVRJRU5ULCBBY3Rpb24uQ1JFQVRFKSxcbiAgUEFUSUVOVF9SRUFEOiBuZXcgT3BlcmF0aW9uKFJlc291cmNlLlBBVElFTlQsIEFjdGlvbi5SRUFEKSxcbiAgUEFUSUVOVF9VUERBVEU6IG5ldyBPcGVyYXRpb24oUmVzb3VyY2UuUEFUSUVOVCwgQWN0aW9uLlVQREFURSksXG4gIFBBVElFTlRfREVMRVRFOiBuZXcgT3BlcmF0aW9uKFJlc291cmNlLlBBVElFTlQsIEFjdGlvbi5ERUxFVEUpLFxuICBQQVRJRU5UX0xJU1Q6IG5ldyBPcGVyYXRpb24oUmVzb3VyY2UuUEFUSUVOVCwgQWN0aW9uLkxJU1QpLFxuICBQQVRJRU5UX1ZJRVc6IG5ldyBPcGVyYXRpb24oUmVzb3VyY2UuUEFUSUVOVCwgQWN0aW9uLlZJRVdfUEFUSUVOVFMpLFxuICBQQVRJRU5UX1VQREFURV9TVEFUVVM6IG5ldyBPcGVyYXRpb24oUmVzb3VyY2UuUEFUSUVOVCwgQWN0aW9uLlVQREFURV9TVEFUVVMpLFxuXG4gIC8vIFBhdGllbnQgcGF5bWVudCBvcGVyYXRpb25zXG4gIFBBVElFTlRfUEFZTUVOVF9QVVQ6IG5ldyBPcGVyYXRpb24oXG4gICAgUmVzb3VyY2UuUEFUSUVOVF9QQVlNRU5ULFxuICAgIEFjdGlvbi5QVVRfUEFUSUVOVF9QQVlNRU5ULFxuICApLFxuICBQQVRJRU5UX1BBWU1FTlRfREVMRVRFOiBuZXcgT3BlcmF0aW9uKFxuICAgIFJlc291cmNlLlBBVElFTlRfUEFZTUVOVCxcbiAgICBBY3Rpb24uREVMRVRFX1BBVElFTlRfUEFZTUVOVCxcbiAgKSxcblxuICAvLyBNZWRpY2FsIHNlcnZpY2Ugb3BlcmF0aW9uc1xuICBNRURJQ0FMX1NFUlZJQ0VfQ1JFQVRFOiBuZXcgT3BlcmF0aW9uKFxuICAgIFJlc291cmNlLk1FRElDQUxfU0VSVklDRSxcbiAgICBBY3Rpb24uQ1JFQVRFLFxuICApLFxuICBNRURJQ0FMX1NFUlZJQ0VfUkVBRDogbmV3IE9wZXJhdGlvbihSZXNvdXJjZS5NRURJQ0FMX1NFUlZJQ0UsIEFjdGlvbi5SRUFEKSxcbiAgTUVESUNBTF9TRVJWSUNFX1VQREFURTogbmV3IE9wZXJhdGlvbihcbiAgICBSZXNvdXJjZS5NRURJQ0FMX1NFUlZJQ0UsXG4gICAgQWN0aW9uLlVQREFURSxcbiAgKSxcbiAgTUVESUNBTF9TRVJWSUNFX0RFTEVURTogbmV3IE9wZXJhdGlvbihcbiAgICBSZXNvdXJjZS5NRURJQ0FMX1NFUlZJQ0UsXG4gICAgQWN0aW9uLkRFTEVURSxcbiAgKSxcbiAgTUVESUNBTF9TRVJWSUNFX01BTkFHRTogbmV3IE9wZXJhdGlvbihcbiAgICBSZXNvdXJjZS5NRURJQ0FMX1NFUlZJQ0UsXG4gICAgQWN0aW9uLk1BTkFHRSxcbiAgKSxcbiAgTUVESUNBTF9TRVJWSUNFX1NFVF9TVEFUVVM6IG5ldyBPcGVyYXRpb24oXG4gICAgUmVzb3VyY2UuTUVESUNBTF9TRVJWSUNFX1NUQVRVUyxcbiAgICBBY3Rpb24uU0VUX01FRElDQUxfU0VSVklDRV9TVEFUVVMsXG4gICksXG4gIE1FRElDQUxfU0VSVklDRV9TRVRfRkVFUzogbmV3IE9wZXJhdGlvbihcbiAgICBSZXNvdXJjZS5NRURJQ0FMX1NFUlZJQ0VfRkVFUyxcbiAgICBBY3Rpb24uU0VUX01FRElDQUxfU0VSVklDRV9GRUVTLFxuICApLFxuXG4gIC8vIE1lZGljYWwgcmVjb3JkIG9wZXJhdGlvbnNcbiAgTUVESUNBTF9SRUNPUkRfQ1JFQVRFOiBuZXcgT3BlcmF0aW9uKFJlc291cmNlLk1FRElDQUxfUkVDT1JELCBBY3Rpb24uQ1JFQVRFKSxcbiAgTUVESUNBTF9SRUNPUkRfUkVBRDogbmV3IE9wZXJhdGlvbihSZXNvdXJjZS5NRURJQ0FMX1JFQ09SRCwgQWN0aW9uLlJFQUQpLFxuICBNRURJQ0FMX1JFQ09SRF9VUERBVEU6IG5ldyBPcGVyYXRpb24oUmVzb3VyY2UuTUVESUNBTF9SRUNPUkQsIEFjdGlvbi5VUERBVEUpLFxuICBNRURJQ0FMX1JFQ09SRF9ERUxFVEU6IG5ldyBPcGVyYXRpb24oUmVzb3VyY2UuTUVESUNBTF9SRUNPUkQsIEFjdGlvbi5ERUxFVEUpLFxuICBNRURJQ0FMX1JFQ09SRF9TSEFSRTogbmV3IE9wZXJhdGlvbihSZXNvdXJjZS5NRURJQ0FMX1JFQ09SRCwgQWN0aW9uLlNIQVJFKSxcbiAgTUVESUNBTF9SRUNPUkRfRVhQT1JUOiBuZXcgT3BlcmF0aW9uKFJlc291cmNlLk1FRElDQUxfUkVDT1JELCBBY3Rpb24uRVhQT1JUKSxcblxuICAvLyBQcmVzY3JpcHRpb24gb3BlcmF0aW9uc1xuICBQUkVTQ1JJUFRJT05fQ1JFQVRFOiBuZXcgT3BlcmF0aW9uKFJlc291cmNlLlBSRVNDUklQVElPTiwgQWN0aW9uLkNSRUFURSksXG4gIFBSRVNDUklQVElPTl9SRUFEOiBuZXcgT3BlcmF0aW9uKFJlc291cmNlLlBSRVNDUklQVElPTiwgQWN0aW9uLlJFQUQpLFxuICBQUkVTQ1JJUFRJT05fVVBEQVRFOiBuZXcgT3BlcmF0aW9uKFJlc291cmNlLlBSRVNDUklQVElPTiwgQWN0aW9uLlVQREFURSksXG4gIFBSRVNDUklQVElPTl9TSUdOOiBuZXcgT3BlcmF0aW9uKFJlc291cmNlLlBSRVNDUklQVElPTiwgQWN0aW9uLlNJR04pLFxuICBQUkVTQ1JJUFRJT05fUFJFU0NSSUJFOiBuZXcgT3BlcmF0aW9uKFxuICAgIFJlc291cmNlLlBSRVNDUklQVElPTixcbiAgICBBY3Rpb24uUFJFU0NSSUJFLFxuICApLFxuXG4gIC8vIERpYWdub3NpcyBvcGVyYXRpb25zXG4gIERJQUdOT1NJU19DUkVBVEU6IG5ldyBPcGVyYXRpb24oUmVzb3VyY2UuRElBR05PU0lTLCBBY3Rpb24uQ1JFQVRFKSxcbiAgRElBR05PU0lTX1JFQUQ6IG5ldyBPcGVyYXRpb24oUmVzb3VyY2UuRElBR05PU0lTLCBBY3Rpb24uUkVBRCksXG4gIERJQUdOT1NJU19VUERBVEU6IG5ldyBPcGVyYXRpb24oUmVzb3VyY2UuRElBR05PU0lTLCBBY3Rpb24uVVBEQVRFKSxcbiAgRElBR05PU0lTX0RJQUdOT1NFOiBuZXcgT3BlcmF0aW9uKFJlc291cmNlLkRJQUdOT1NJUywgQWN0aW9uLkRJQUdOT1NFKSxcbiAgRElBR05PU0lTX1ZFUklGWTogbmV3IE9wZXJhdGlvbihSZXNvdXJjZS5ESUFHTk9TSVMsIEFjdGlvbi5WRVJJRlkpLFxuXG4gIC8vIE1lZGljYWwgaGlzdG9yeSBvcGVyYXRpb25zXG4gIE1FRElDQUxfSElTVE9SWV9DUkVBVEU6IG5ldyBPcGVyYXRpb24oXG4gICAgUmVzb3VyY2UuTUVESUNBTF9ISVNUT1JZLFxuICAgIEFjdGlvbi5DUkVBVEUsXG4gICksXG4gIE1FRElDQUxfSElTVE9SWV9SRUFEOiBuZXcgT3BlcmF0aW9uKFJlc291cmNlLk1FRElDQUxfSElTVE9SWSwgQWN0aW9uLlJFQUQpLFxuICBNRURJQ0FMX0hJU1RPUllfVVBEQVRFOiBuZXcgT3BlcmF0aW9uKFxuICAgIFJlc291cmNlLk1FRElDQUxfSElTVE9SWSxcbiAgICBBY3Rpb24uVVBEQVRFLFxuICApLFxuXG4gIC8vIERvY3VtZW50IG9wZXJhdGlvbnNcbiAgVVBMT0FERURfRE9DVU1FTlRfQ1JFQVRFOiBuZXcgT3BlcmF0aW9uKFxuICAgIFJlc291cmNlLlVQTE9BREVEX0RPQ1VNRU5ULFxuICAgIEFjdGlvbi5DUkVBVEUsXG4gICksXG4gIFVQTE9BREVEX0RPQ1VNRU5UX1JFQUQ6IG5ldyBPcGVyYXRpb24oXG4gICAgUmVzb3VyY2UuVVBMT0FERURfRE9DVU1FTlQsXG4gICAgQWN0aW9uLlJFQUQsXG4gICksXG4gIFVQTE9BREVEX0RPQ1VNRU5UX0RFTEVURTogbmV3IE9wZXJhdGlvbihcbiAgICBSZXNvdXJjZS5VUExPQURFRF9ET0NVTUVOVCxcbiAgICBBY3Rpb24uREVMRVRFLFxuICApLFxuICBHRU5FUkFURURfRE9DVU1FTlRfQ1JFQVRFOiBuZXcgT3BlcmF0aW9uKFxuICAgIFJlc291cmNlLkdFTkVSQVRFRF9ET0NVTUVOVCxcbiAgICBBY3Rpb24uQ1JFQVRFLFxuICApLFxuICBHRU5FUkFURURfRE9DVU1FTlRfUkVBRDogbmV3IE9wZXJhdGlvbihcbiAgICBSZXNvdXJjZS5HRU5FUkFURURfRE9DVU1FTlQsXG4gICAgQWN0aW9uLlJFQUQsXG4gICksXG5cbiAgLy8gTWVkaWNhbCBzZXJ2aWNlIHNjaGVkdWxpbmcgb3BlcmF0aW9ucyAoYXBwb2ludG1lbnRzKVxuICBNRURJQ0FMX1NFUlZJQ0VfU0NIRURVTEU6IG5ldyBPcGVyYXRpb24oXG4gICAgUmVzb3VyY2UuTUVESUNBTF9TRVJWSUNFLFxuICAgIEFjdGlvbi5TQ0hFRFVMRSxcbiAgKSxcbiAgTUVESUNBTF9TRVJWSUNFX0NBTkNFTDogbmV3IE9wZXJhdGlvbihcbiAgICBSZXNvdXJjZS5NRURJQ0FMX1NFUlZJQ0UsXG4gICAgQWN0aW9uLkNBTkNFTCxcbiAgKSxcbiAgTUVESUNBTF9TRVJWSUNFX0xJU1Q6IG5ldyBPcGVyYXRpb24oUmVzb3VyY2UuTUVESUNBTF9TRVJWSUNFLCBBY3Rpb24uTElTVCksXG5cbiAgLy8gVXNlciBvcGVyYXRpb25zXG4gIFVTRVJfQ1JFQVRFOiBuZXcgT3BlcmF0aW9uKFJlc291cmNlLlVTRVIsIEFjdGlvbi5DUkVBVEUpLFxuICBVU0VSX1JFQUQ6IG5ldyBPcGVyYXRpb24oUmVzb3VyY2UuVVNFUiwgQWN0aW9uLlJFQUQpLFxuICBVU0VSX1VQREFURTogbmV3IE9wZXJhdGlvbihSZXNvdXJjZS5VU0VSLCBBY3Rpb24uVVBEQVRFKSxcbiAgVVNFUl9ERUxFVEU6IG5ldyBPcGVyYXRpb24oUmVzb3VyY2UuVVNFUiwgQWN0aW9uLkRFTEVURSksXG4gIFVTRVJfTElTVDogbmV3IE9wZXJhdGlvbihSZXNvdXJjZS5VU0VSLCBBY3Rpb24uTElTVCksXG4gIFVTRVJfTE9HSU46IG5ldyBPcGVyYXRpb24oUmVzb3VyY2UuVVNFUiwgQWN0aW9uLkxPR0lOKSxcbiAgVVNFUl9MT0dPVVQ6IG5ldyBPcGVyYXRpb24oUmVzb3VyY2UuVVNFUiwgQWN0aW9uLkxPR09VVCksXG5cbiAgLy8gTWVtYmVyc2hpcCBvcGVyYXRpb25zXG4gIE1FTUJFUlNISVBfQ1JFQVRFOiBuZXcgT3BlcmF0aW9uKFJlc291cmNlLk1FTUJFUlNISVAsIEFjdGlvbi5DUkVBVEUpLFxuICBNRU1CRVJTSElQX1JFQUQ6IG5ldyBPcGVyYXRpb24oUmVzb3VyY2UuTUVNQkVSU0hJUCwgQWN0aW9uLlJFQUQpLFxuICBNRU1CRVJTSElQX1VQREFURTogbmV3IE9wZXJhdGlvbihSZXNvdXJjZS5NRU1CRVJTSElQLCBBY3Rpb24uVVBEQVRFKSxcbiAgTUVNQkVSU0hJUF9ERUxFVEU6IG5ldyBPcGVyYXRpb24oUmVzb3VyY2UuTUVNQkVSU0hJUCwgQWN0aW9uLkRFTEVURSksXG5cbiAgLy8gQXVkaXQgbG9nIG9wZXJhdGlvbnNcbiAgQVVESVRfTE9HX0NSRUFURTogbmV3IE9wZXJhdGlvbihSZXNvdXJjZS5BVURJVF9MT0csIEFjdGlvbi5DUkVBVEUpLFxuICBBVURJVF9MT0dfUkVBRDogbmV3IE9wZXJhdGlvbihSZXNvdXJjZS5BVURJVF9MT0csIEFjdGlvbi5SRUFEKSxcbiAgQVVESVRfTE9HX0xJU1Q6IG5ldyBPcGVyYXRpb24oUmVzb3VyY2UuQVVESVRfTE9HLCBBY3Rpb24uTElTVCksXG4gIEFVRElUX0xPR19BVURJVDogbmV3IE9wZXJhdGlvbihSZXNvdXJjZS5BVURJVF9MT0csIEFjdGlvbi5BVURJVCksXG5cbiAgLy8gU3lzdGVtIG9wZXJhdGlvbnNcbiAgU1lTVEVNX0NPTkZJR1VSRTogbmV3IE9wZXJhdGlvbihSZXNvdXJjZS5TWVNURU0sIEFjdGlvbi5DT05GSUdVUkUpLFxuICBTWVNURU1fQVVESVQ6IG5ldyBPcGVyYXRpb24oUmVzb3VyY2UuU1lTVEVNLCBBY3Rpb24uQVVESVQpLFxufSBhcyBjb25zdDtcblxuLyoqXG4gKiBHZXQgYWxsIHByZWRlZmluZWQgb3BlcmF0aW9ucyBhcyBhbiBhcnJheVxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0QWxsT3BlcmF0aW9ucygpOiBPcGVyYXRpb25bXSB7XG4gIHJldHVybiBPYmplY3QudmFsdWVzKE9wZXJhdGlvbnMpO1xufVxuXG4vKipcbiAqIEdldCBhbGwgb3BlcmF0aW9ucyBmb3IgYSBzcGVjaWZpYyByZXNvdXJjZVxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0T3BlcmF0aW9uc0J5UmVzb3VyY2UocmVzb3VyY2U6IFJlc291cmNlKTogT3BlcmF0aW9uW10ge1xuICByZXR1cm4gZ2V0QWxsT3BlcmF0aW9ucygpLmZpbHRlcigob3ApID0+IG9wLnJlc291cmNlID09PSByZXNvdXJjZSk7XG59XG5cbi8qKlxuICogR2V0IGFsbCBvcGVyYXRpb25zIGZvciBhIHNwZWNpZmljIGFjdGlvblxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0T3BlcmF0aW9uc0J5QWN0aW9uKGFjdGlvbjogQWN0aW9uKTogT3BlcmF0aW9uW10ge1xuICByZXR1cm4gZ2V0QWxsT3BlcmF0aW9ucygpLmZpbHRlcigob3ApID0+IG9wLmFjdGlvbiA9PT0gYWN0aW9uKTtcbn1cbiJdfQ==
|
|
113
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlZGVmaW5lZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9vcGVyYXRpb25zL3ByZWRlZmluZWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBbUtBLDRDQUVDO0FBS0QsMERBRUM7QUFLRCxzREFFQztBQW5MRCx1Q0FBbUM7QUFDbkMsMkNBQXdDO0FBQ3hDLDJDQUF1QztBQUV2Qzs7R0FFRztBQUNVLFFBQUEsVUFBVSxHQUFHO0lBQ3hCLHFCQUFxQjtJQUNyQixjQUFjLEVBQUUsSUFBSSxxQkFBUyxDQUFDLG9CQUFRLENBQUMsT0FBTyxFQUFFLGdCQUFNLENBQUMsTUFBTSxDQUFDO0lBQzlELFlBQVksRUFBRSxJQUFJLHFCQUFTLENBQUMsb0JBQVEsQ0FBQyxPQUFPLEVBQUUsZ0JBQU0sQ0FBQyxJQUFJLENBQUM7SUFDMUQsY0FBYyxFQUFFLElBQUkscUJBQVMsQ0FBQyxvQkFBUSxDQUFDLE9BQU8sRUFBRSxnQkFBTSxDQUFDLE1BQU0sQ0FBQztJQUM5RCxjQUFjLEVBQUUsSUFBSSxxQkFBUyxDQUFDLG9CQUFRLENBQUMsT0FBTyxFQUFFLGdCQUFNLENBQUMsTUFBTSxDQUFDO0lBQzlELGNBQWMsRUFBRSxJQUFJLHFCQUFTLENBQUMsb0JBQVEsQ0FBQyxPQUFPLEVBQUUsZ0JBQU0sQ0FBQyxNQUFNLENBQUM7SUFDOUQsMEJBQTBCLEVBQUUsSUFBSSxxQkFBUyxDQUN2QyxvQkFBUSxDQUFDLGlCQUFpQixFQUMxQixnQkFBTSxDQUFDLE1BQU0sQ0FDZDtJQUVELHFCQUFxQjtJQUNyQixjQUFjLEVBQUUsSUFBSSxxQkFBUyxDQUFDLG9CQUFRLENBQUMsT0FBTyxFQUFFLGdCQUFNLENBQUMsTUFBTSxDQUFDO0lBQzlELFlBQVksRUFBRSxJQUFJLHFCQUFTLENBQUMsb0JBQVEsQ0FBQyxPQUFPLEVBQUUsZ0JBQU0sQ0FBQyxJQUFJLENBQUM7SUFDMUQsY0FBYyxFQUFFLElBQUkscUJBQVMsQ0FBQyxvQkFBUSxDQUFDLE9B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TUFBTSxFQUFFLGdCQUFNLENBQUMsS0FBSyxDQUFDO0NBQ2xELENBQUM7QUFFWDs7R0FFRztBQUNILFNBQWdCLGdCQUFnQjtJQUM5QixPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsa0JBQVUsQ0FBQyxDQUFDO0FBQ25DLENBQUM7QUFFRDs7R0FFRztBQUNILFNBQWdCLHVCQUF1QixDQUFDLFFBQWtCO0lBQ3hELE9BQU8sZ0JBQWdCLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxRQUFRLEtBQUssUUFBUSxDQUFDLENBQUM7QUFDckUsQ0FBQztBQUVEOztHQUVHO0FBQ0gsU0FBZ0IscUJBQXFCLENBQUMsTUFBYztJQUNsRCxPQUFPLGdCQUFnQixFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsTUFBTSxLQUFLLE1BQU0sQ0FBQyxDQUFDO0FBQ2pFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBY3Rpb24gfSBmcm9tICcuL2FjdGlvbnMnO1xuaW1wb3J0IHsgT3BlcmF0aW9uIH0gZnJvbSAnLi9vcGVyYXRpb24nO1xuaW1wb3J0IHsgUmVzb3VyY2UgfSBmcm9tICcuL3Jlc291cmNlcyc7XG5cbi8qKlxuICogUHJlZGVmaW5lZCBjb21tb24gb3BlcmF0aW9ucyBmb3IgY29udmVuaWVuY2VcbiAqL1xuZXhwb3J0IGNvbnN0IE9wZXJhdGlvbnMgPSB7XG4gIC8vIEFjY291bnQgb3BlcmF0aW9uc1xuICBBQ0NPVU5UX0NSRUFURTogbmV3IE9wZXJhdGlvbihSZXNvdXJjZS5BQ0NPVU5ULCBBY3Rpb24uQ1JFQVRFKSxcbiAgQUNDT1VOVF9SRUFEOiBuZXcgT3BlcmF0aW9uKFJlc291cmNlLkFDQ09VTlQsIEFjdGlvbi5SRUFEKSxcbiAgQUNDT1VOVF9VUERBVEU6IG5ldyBPcGVyYXRpb24oUmVzb3VyY2UuQUNDT1VOVCwgQWN0aW9uLlVQREFURSksXG4gIEFDQ09VTlRfREVMRVRFOiBuZXcgT3BlcmF0aW9uKFJlc291cmNlLkFDQ09VTlQsIEFjdGlvbi5ERUxFVEUpLFxuICBBQ0NPVU5UX01BTkFHRTogbmV3IE9wZXJhdGlvbihSZXNvdXJjZS5BQ0NPVU5ULCBBY3Rpb24uTUFOQUdFKSxcbiAgQUNDT1VOVF9PV05FUlNISVBfVFJBTlNGRVI6IG5ldyBPcGVyYXRpb24oXG4gICAgUmVzb3VyY2UuQUNDT1VOVF9PV05FUlNISVAsXG4gICAgQWN0aW9uLlVQREFURSxcbiAgKSxcblxuICAvLyBQYXRpZW50IG9wZXJhdGlvbnNcbiAgUEFUSUVOVF9DUkVBVEU6IG5ldyBPcGVyYXRpb24oUmVzb3VyY2UuUEFUSUVOVCwgQWN0aW9uLkNSRUFURSksXG4gIFBBVElFTlRfUkVBRDogbmV3IE9wZXJhdGlvbihSZXNvdXJjZS5QQVRJRU5ULCBBY3Rpb24uUkVBRCksXG4gIFBBVElFTlRfVVBEQVRFOiBuZXcgT3BlcmF0aW9uKFJlc291cmNlLlBBVElFTlQsIEFjdGlvbi5VUERBVEUpLFxuICBQQVRJRU5UX0RFTEVURTogbmV3IE9wZXJhdGlvbihSZXNvdXJjZS5QQVRJRU5ULCBBY3Rpb24uREVMRVRFKSxcbiAgUEFUSUVOVF9MSVNUOiBuZXcgT3BlcmF0aW9uKFJlc291cmNlLlBBVElFTlQsIEFjdGlvbi5MSVNUKSxcbiAgUEFUSUVOVF9WSUVXOiBuZXcgT3BlcmF0aW9uKFJlc291cmNlLlBBVElFTlQsIEFjdGlvbi5WSUVXX1BBVElFTlRTKSxcbiAgUEFUSUVOVF9VUERBVEVfU1RBVFVTOiBuZXcgT3BlcmF0aW9uKFJlc291cmNlLlBBVElFTlQsIEFjdGlvbi5VUERBVEVfU1RBVFVTKSxcblxuICAvLyBQYXRpZW50IHBheW1lbnQgb3BlcmF0aW9uc1xuICBQQVRJRU5UX1BBWU1FTlRfUFVUOiBuZXcgT3BlcmF0aW9uKFxuICAgIFJlc291cmNlLlBBVElFTlRfUEFZTUVOVCxcbiAgICBBY3Rpb24uUFVUX1BBVElFTlRfUEFZTUVOVCxcbiAgKSxcbiAgUEFUSUVOVF9QQVlNRU5UX0RFTEVURTogbmV3IE9wZXJhdGlvbihcbiAgICBSZXNvdXJjZS5QQVRJRU5UX1BBWU1FTlQsXG4gICAgQWN0aW9uLkRFTEVURV9QQVRJRU5UX1BBWU1FTlQsXG4gICksXG5cbiAgLy8gTWVkaWNhbCBzZXJ2aWNlIG9wZXJhdGlvbnNcbiAgTUVESUNBTF9TRVJWSUNFX0NSRUFURTogbmV3IE9wZXJhdGlvbihcbiAgICBSZXNvdXJjZS5NRURJQ0FMX1NFUlZJQ0UsXG4gICAgQWN0aW9uLkNSRUFURSxcbiAgKSxcbiAgTUVESUNBTF9TRVJWSUNFX1JFQUQ6IG5ldyBPcGVyYXRpb24oUmVzb3VyY2UuTUVESUNBTF9TRVJWSUNFLCBBY3Rpb24uUkVBRCksXG4gIE1FRElDQUxfU0VSVklDRV9VUERBVEU6IG5ldyBPcGVyYXRpb24oXG4gICAgUmVzb3VyY2UuTUVESUNBTF9TRVJWSUNFLFxuICAgIEFjdGlvbi5VUERBVEUsXG4gICksXG4gIE1FRElDQUxfU0VSVklDRV9ERUxFVEU6IG5ldyBPcGVyYXRpb24oXG4gICAgUmVzb3VyY2UuTUVESUNBTF9TRVJWSUNFLFxuICAgIEFjdGlvbi5ERUxFVEUsXG4gICksXG4gIE1FRElDQUxfU0VSVklDRV9NQU5BR0U6IG5ldyBPcGVyYXRpb24oXG4gICAgUmVzb3VyY2UuTUVESUNBTF9TRVJWSUNFLFxuICAgIEFjdGlvbi5NQU5BR0UsXG4gICksXG4gIE1FRElDQUxfU0VSVklDRV9TRVRfU1RBVFVTOiBuZXcgT3BlcmF0aW9uKFxuICAgIFJlc291cmNlLk1FRElDQUxfU0VSVklDRV9TVEFUVVMsXG4gICAgQWN0aW9uLlNFVF9NRURJQ0FMX1NFUlZJQ0VfU1RBVFVTLFxuICApLFxuICBNRURJQ0FMX1NFUlZJQ0VfU0VUX0ZFRVM6IG5ldyBPcGVyYXRpb24oXG4gICAgUmVzb3VyY2UuTUVESUNBTF9TRVJWSUNFX0ZFRVMsXG4gICAgQWN0aW9uLlNFVF9NRURJQ0FMX1NFUlZJQ0VfRkVFUyxcbiAgKSxcblxuICAvLyBNZWRpY2FsIHJlY29yZCBvcGVyYXRpb25zXG4gIE1FRElDQUxfUkVDT1JEX0NSRUFURTogbmV3IE9wZXJhdGlvbihSZXNvdXJjZS5NRURJQ0FMX1JFQ09SRCwgQWN0aW9uLkNSRUFURSksXG4gIE1FRElDQUxfUkVDT1JEX1JFQUQ6IG5ldyBPcGVyYXRpb24oUmVzb3VyY2UuTUVESUNBTF9SRUNPUkQsIEFjdGlvbi5SRUFEKSxcbiAgTUVESUNBTF9SRUNPUkRfVVBEQVRFOiBuZXcgT3BlcmF0aW9uKFJlc291cmNlLk1FRElDQUxfUkVDT1JELCBBY3Rpb24uVVBEQVRFKSxcbiAgTUVESUNBTF9SRUNPUkRfREVMRVRFOiBuZXcgT3BlcmF0aW9uKFJlc291cmNlLk1FRElDQUxfUkVDT1JELCBBY3Rpb24uREVMRVRFKSxcbiAgTUVESUNBTF9SRUNPUkRfU0hBUkU6IG5ldyBPcGVyYXRpb24oUmVzb3VyY2UuTUVESUNBTF9SRUNPUkQsIEFjdGlvbi5TSEFSRSksXG4gIE1FRElDQUxfUkVDT1JEX0VYUE9SVDogbmV3IE9wZXJhdGlvbihSZXNvdXJjZS5NRURJQ0FMX1JFQ09SRCwgQWN0aW9uLkVYUE9SVCksXG5cbiAgLy8gUHJlc2NyaXB0aW9uIG9wZXJhdGlvbnNcbiAgUFJFU0NSSVBUSU9OX0NSRUFURTogbmV3IE9wZXJhdGlvbihSZXNvdXJjZS5QUkVTQ1JJUFRJT04sIEFjdGlvbi5DUkVBVEUpLFxuICBQUkVTQ1JJUFRJT05fUkVBRDogbmV3IE9wZXJhdGlvbihSZXNvdXJjZS5QUkVTQ1JJUFRJT04sIEFjdGlvbi5SRUFEKSxcbiAgUFJFU0NSSVBUSU9OX1VQREFURTogbmV3IE9wZXJhdGlvbihSZXNvdXJjZS5QUkVTQ1JJUFRJT04sIEFjdGlvbi5VUERBVEUpLFxuICBQUkVTQ1JJUFRJT05fU0lHTjogbmV3IE9wZXJhdGlvbihSZXNvdXJjZS5QUkVTQ1JJUFRJT04sIEFjdGlvbi5TSUdOKSxcbiAgUFJFU0NSSVBUSU9OX1BSRVNDUklCRTogbmV3IE9wZXJhdGlvbihcbiAgICBSZXNvdXJjZS5QUkVTQ1JJUFRJT04sXG4gICAgQWN0aW9uLlBSRVNDUklCRSxcbiAgKSxcblxuICAvLyBEaWFnbm9zaXMgb3BlcmF0aW9uc1xuICBESUFHTk9TSVNfQ1JFQVRFOiBuZXcgT3BlcmF0aW9uKFJlc291cmNlLkRJQUdOT1NJUywgQWN0aW9uLkNSRUFURSksXG4gIERJQUdOT1NJU19SRUFEOiBuZXcgT3BlcmF0aW9uKFJlc291cmNlLkRJQUdOT1NJUywgQWN0aW9uLlJFQUQpLFxuICBESUFHTk9TSVNfVVBEQVRFOiBuZXcgT3BlcmF0aW9uKFJlc291cmNlLkRJQUdOT1NJUywgQWN0aW9uLlVQREFURSksXG4gIERJQUdOT1NJU19ESUFHTk9TRTogbmV3IE9wZXJhdGlvbihSZXNvdXJjZS5ESUFHTk9TSVMsIEFjdGlvbi5ESUFHTk9TRSksXG4gIERJQUdOT1NJU19WRVJJRlk6IG5ldyBPcGVyYXRpb24oUmVzb3VyY2UuRElBR05PU0lTLCBBY3Rpb24uVkVSSUZZKSxcblxuICAvLyBNZWRpY2FsIGhpc3Rvcnkgb3BlcmF0aW9uc1xuICBNRURJQ0FMX0hJU1RPUllfQ1JFQVRFOiBuZXcgT3BlcmF0aW9uKFxuICAgIFJlc291cmNlLk1FRElDQUxfSElTVE9SWSxcbiAgICBBY3Rpb24uQ1JFQVRFLFxuICApLFxuICBNRURJQ0FMX0hJU1RPUllfUkVBRDogbmV3IE9wZXJhdGlvbihSZXNvdXJjZS5NRURJQ0FMX0hJU1RPUlksIEFjdGlvbi5SRUFEKSxcbiAgTUVESUNBTF9ISVNUT1JZX1VQREFURTogbmV3IE9wZXJhdGlvbihcbiAgICBSZXNvdXJjZS5NRURJQ0FMX0hJU1RPUlksXG4gICAgQWN0aW9uLlVQREFURSxcbiAgKSxcblxuICAvLyBEb2N1bWVudCBvcGVyYXRpb25zXG4gIFVQTE9BREVEX0RPQ1VNRU5UX0NSRUFURTogbmV3IE9wZXJhdGlvbihcbiAgICBSZXNvdXJjZS5VUExPQURFRF9ET0NVTUVOVCxcbiAgICBBY3Rpb24uQ1JFQVRFLFxuICApLFxuICBVUExPQURFRF9ET0NVTUVOVF9SRUFEOiBuZXcgT3BlcmF0aW9uKFxuICAgIFJlc291cmNlLlVQTE9BREVEX0RPQ1VNRU5ULFxuICAgIEFjdGlvbi5SRUFELFxuICApLFxuICBVUExPQURFRF9ET0NVTUVOVF9ERUxFVEU6IG5ldyBPcGVyYXRpb24oXG4gICAgUmVzb3VyY2UuVVBMT0FERURfRE9DVU1FTlQsXG4gICAgQWN0aW9uLkRFTEVURSxcbiAgKSxcbiAgR0VORVJBVEVEX0RPQ1VNRU5UX0NSRUFURTogbmV3IE9wZXJhdGlvbihcbiAgICBSZXNvdXJjZS5HRU5FUkFURURfRE9DVU1FTlQsXG4gICAgQWN0aW9uLkNSRUFURSxcbiAgKSxcbiAgR0VORVJBVEVEX0RPQ1VNRU5UX1JFQUQ6IG5ldyBPcGVyYXRpb24oXG4gICAgUmVzb3VyY2UuR0VORVJBVEVEX0RPQ1VNRU5ULFxuICAgIEFjdGlvbi5SRUFELFxuICApLFxuXG4gIC8vIE1lZGljYWwgc2VydmljZSBzY2hlZHVsaW5nIG9wZXJhdGlvbnMgKGFwcG9pbnRtZW50cylcbiAgTUVESUNBTF9TRVJWSUNFX1NDSEVEVUxFOiBuZXcgT3BlcmF0aW9uKFxuICAgIFJlc291cmNlLk1FRElDQUxfU0VSVklDRSxcbiAgICBBY3Rpb24uU0NIRURVTEUsXG4gICksXG4gIE1FRElDQUxfU0VSVklDRV9DQU5DRUw6IG5ldyBPcGVyYXRpb24oXG4gICAgUmVzb3VyY2UuTUVESUNBTF9TRVJWSUNFLFxuICAgIEFjdGlvbi5DQU5DRUwsXG4gICksXG4gIE1FRElDQUxfU0VSVklDRV9MSVNUOiBuZXcgT3BlcmF0aW9uKFJlc291cmNlLk1FRElDQUxfU0VSVklDRSwgQWN0aW9uLkxJU1QpLFxuXG4gIC8vIFVzZXIgb3BlcmF0aW9uc1xuICBVU0VSX0NSRUFURTogbmV3IE9wZXJhdGlvbihSZXNvdXJjZS5VU0VSLCBBY3Rpb24uQ1JFQVRFKSxcbiAgVVNFUl9SRUFEOiBuZXcgT3BlcmF0aW9uKFJlc291cmNlLlVTRVIsIEFjdGlvbi5SRUFEKSxcbiAgVVNFUl9VUERBVEU6IG5ldyBPcGVyYXRpb24oUmVzb3VyY2UuVVNFUiwgQWN0aW9uLlVQREFURSksXG4gIFVTRVJfREVMRVRFOiBuZXcgT3BlcmF0aW9uKFJlc291cmNlLlVTRVIsIEFjdGlvbi5ERUxFVEUpLFxuICBVU0VSX0xJU1Q6IG5ldyBPcGVyYXRpb24oUmVzb3VyY2UuVVNFUiwgQWN0aW9uLkxJU1QpLFxuICBVU0VSX0xPR0lOOiBuZXcgT3BlcmF0aW9uKFJlc291cmNlLlVTRVIsIEFjdGlvbi5MT0dJTiksXG4gIFVTRVJfTE9HT1VUOiBuZXcgT3BlcmF0aW9uKFJlc291cmNlLlVTRVIsIEFjdGlvbi5MT0dPVVQpLFxuXG4gIC8vIE1lbWJlcnNoaXAgb3BlcmF0aW9uc1xuICBNRU1CRVJTSElQX0NSRUFURTogbmV3IE9wZXJhdGlvbihSZXNvdXJjZS5NRU1CRVJTSElQLCBBY3Rpb24uQ1JFQVRFKSxcbiAgTUVNQkVSU0hJUF9SRUFEOiBuZXcgT3BlcmF0aW9uKFJlc291cmNlLk1FTUJFUlNISVAsIEFjdGlvbi5SRUFEKSxcbiAgTUVNQkVSU0hJUF9VUERBVEU6IG5ldyBPcGVyYXRpb24oUmVzb3VyY2UuTUVNQkVSU0hJUCwgQWN0aW9uLlVQREFURSksXG4gIE1FTUJFUlNISVBfREVMRVRFOiBuZXcgT3BlcmF0aW9uKFJlc291cmNlLk1FTUJFUlNISVAsIEFjdGlvbi5ERUxFVEUpLFxuXG4gIC8vIEF1ZGl0IGxvZyBvcGVyYXRpb25zXG4gIEFVRElUX0xPR19DUkVBVEU6IG5ldyBPcGVyYXRpb24oUmVzb3VyY2UuQVVESVRfTE9HLCBBY3Rpb24uQ1JFQVRFKSxcbiAgQVVESVRfTE9HX1JFQUQ6IG5ldyBPcGVyYXRpb24oUmVzb3VyY2UuQVVESVRfTE9HLCBBY3Rpb24uUkVBRCksXG4gIEFVRElUX0xPR19MSVNUOiBuZXcgT3BlcmF0aW9uKFJlc291cmNlLkFVRElUX0xPRywgQWN0aW9uLkxJU1QpLFxuICBBVURJVF9MT0dfQVVESVQ6IG5ldyBPcGVyYXRpb24oUmVzb3VyY2UuQVVESVRfTE9HLCBBY3Rpb24uQVVESVQpLFxuXG4gIC8vIFN5c3RlbSBvcGVyYXRpb25zXG4gIFNZU1RFTV9DT05GSUdVUkU6IG5ldyBPcGVyYXRpb24oUmVzb3VyY2UuU1lTVEVNLCBBY3Rpb24uQ09ORklHVVJFKSxcbiAgU1lTVEVNX0FVRElUOiBuZXcgT3BlcmF0aW9uKFJlc291cmNlLlNZU1RFTSwgQWN0aW9uLkFVRElUKSxcbn0gYXMgY29uc3Q7XG5cbi8qKlxuICogR2V0IGFsbCBwcmVkZWZpbmVkIG9wZXJhdGlvbnMgYXMgYW4gYXJyYXlcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEFsbE9wZXJhdGlvbnMoKTogT3BlcmF0aW9uW10ge1xuICByZXR1cm4gT2JqZWN0LnZhbHVlcyhPcGVyYXRpb25zKTtcbn1cblxuLyoqXG4gKiBHZXQgYWxsIG9wZXJhdGlvbnMgZm9yIGEgc3BlY2lmaWMgcmVzb3VyY2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldE9wZXJhdGlvbnNCeVJlc291cmNlKHJlc291cmNlOiBSZXNvdXJjZSk6IE9wZXJhdGlvbltdIHtcbiAgcmV0dXJuIGdldEFsbE9wZXJhdGlvbnMoKS5maWx0ZXIoKG9wKSA9PiBvcC5yZXNvdXJjZSA9PT0gcmVzb3VyY2UpO1xufVxuXG4vKipcbiAqIEdldCBhbGwgb3BlcmF0aW9ucyBmb3IgYSBzcGVjaWZpYyBhY3Rpb25cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldE9wZXJhdGlvbnNCeUFjdGlvbihhY3Rpb246IEFjdGlvbik6IE9wZXJhdGlvbltdIHtcbiAgcmV0dXJuIGdldEFsbE9wZXJhdGlvbnMoKS5maWx0ZXIoKG9wKSA9PiBvcC5hY3Rpb24gPT09IGFjdGlvbik7XG59XG4iXX0=
|