@payloadcms/db-postgres 0.8.6 → 0.8.7
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/find/buildFindManyArgs.d.ts.map +1 -1
- package/dist/find/buildFindManyArgs.js +2 -1
- package/dist/find/traverseFields.d.ts +2 -1
- package/dist/find/traverseFields.d.ts.map +1 -1
- package/dist/find/traverseFields.js +9 -3
- package/dist/queries/getTableColumnFromPath.d.ts.map +1 -1
- package/dist/queries/getTableColumnFromPath.js +4 -3
- package/dist/upsertRow/insertArrays.d.ts.map +1 -1
- package/dist/upsertRow/insertArrays.js +5 -2
- package/package.json +3 -3
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"buildFindManyArgs.d.ts","sourceRoot":"","sources":["../../src/find/buildFindManyArgs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAChD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AAE1C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAI/C,KAAK,kBAAkB,GAAG;IACxB,OAAO,EAAE,eAAe,CAAA;IACxB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;AAI1D,eAAO,MAAM,iBAAiB,2CAK3B,kBAAkB,KAAG,OAAO,MAAM,EAAE,OAAO,
|
1
|
+
{"version":3,"file":"buildFindManyArgs.d.ts","sourceRoot":"","sources":["../../src/find/buildFindManyArgs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAChD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AAE1C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAI/C,KAAK,kBAAkB,GAAG;IACxB,OAAO,EAAE,eAAe,CAAA;IACxB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;AAI1D,eAAO,MAAM,iBAAiB,2CAK3B,kBAAkB,KAAG,OAAO,MAAM,EAAE,OAAO,CA4D7C,CAAA"}
|
@@ -63,10 +63,11 @@ const buildFindManyArgs = ({ adapter, depth, fields, tableName })=>{
|
|
63
63
|
depth,
|
64
64
|
fields,
|
65
65
|
path: '',
|
66
|
+
tablePath: '',
|
66
67
|
topLevelArgs: result,
|
67
68
|
topLevelTableName: tableName
|
68
69
|
});
|
69
70
|
return result;
|
70
71
|
};
|
71
72
|
|
72
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9maW5kL2J1aWxkRmluZE1hbnlBcmdzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgREJRdWVyeUNvbmZpZyB9IGZyb20gJ2RyaXp6bGUtb3JtJ1xuaW1wb3J0IHR5cGUgeyBGaWVsZCB9IGZyb20gJ3BheWxvYWQvdHlwZXMnXG5cbmltcG9ydCB0eXBlIHsgUG9zdGdyZXNBZGFwdGVyIH0gZnJvbSAnLi4vdHlwZXMnXG5cbmltcG9ydCB7IHRyYXZlcnNlRmllbGRzIH0gZnJvbSAnLi90cmF2ZXJzZUZpZWxkcydcblxudHlwZSBCdWlsZEZpbmRRdWVyeUFyZ3MgPSB7XG4gIGFkYXB0ZXI6IFBvc3RncmVzQWRhcHRlclxuICBkZXB0aDogbnVtYmVyXG4gIGZpZWxkczogRmllbGRbXVxuICB0YWJsZU5hbWU6IHN0cmluZ1xufVxuXG5leHBvcnQgdHlwZSBSZXN1bHQgPSBEQlF1ZXJ5Q29uZmlnPCdtYW55JywgdHJ1ZSwgYW55LCBhbnk+
|
73
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9maW5kL2J1aWxkRmluZE1hbnlBcmdzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgREJRdWVyeUNvbmZpZyB9IGZyb20gJ2RyaXp6bGUtb3JtJ1xuaW1wb3J0IHR5cGUgeyBGaWVsZCB9IGZyb20gJ3BheWxvYWQvdHlwZXMnXG5cbmltcG9ydCB0eXBlIHsgUG9zdGdyZXNBZGFwdGVyIH0gZnJvbSAnLi4vdHlwZXMnXG5cbmltcG9ydCB7IHRyYXZlcnNlRmllbGRzIH0gZnJvbSAnLi90cmF2ZXJzZUZpZWxkcydcblxudHlwZSBCdWlsZEZpbmRRdWVyeUFyZ3MgPSB7XG4gIGFkYXB0ZXI6IFBvc3RncmVzQWRhcHRlclxuICBkZXB0aDogbnVtYmVyXG4gIGZpZWxkczogRmllbGRbXVxuICB0YWJsZU5hbWU6IHN0cmluZ1xufVxuXG5leHBvcnQgdHlwZSBSZXN1bHQgPSBEQlF1ZXJ5Q29uZmlnPCdtYW55JywgdHJ1ZSwgYW55LCBhbnk+XG5cbi8vIEdlbmVyYXRlIHRoZSBEcml6emxlIHF1ZXJ5IGZvciBmaW5kTWFueSBiYXNlZCBvblxuLy8gYSBjb2xsZWN0aW9uIGZpZWxkIHN0cnVjdHVyZVxuZXhwb3J0IGNvbnN0IGJ1aWxkRmluZE1hbnlBcmdzID0gKHtcbiAgYWRhcHRlcixcbiAgZGVwdGgsXG4gIGZpZWxkcyxcbiAgdGFibGVOYW1lLFxufTogQnVpbGRGaW5kUXVlcnlBcmdzKTogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPT4ge1xuICBjb25zdCByZXN1bHQ6IFJlc3VsdCA9IHtcbiAgICB3aXRoOiB7fSxcbiAgfVxuXG4gIGNvbnN0IF9sb2NhbGVzOiBSZXN1bHQgPSB7XG4gICAgY29sdW1uczoge1xuICAgICAgaWQ6IGZhbHNlLFxuICAgICAgX3BhcmVudElEOiBmYWxzZSxcbiAgICB9LFxuICB9XG5cbiAgaWYgKGFkYXB0ZXIudGFibGVzW2Ake3RhYmxlTmFtZX1fdGV4dHNgXSkge1xuICAgIHJlc3VsdC53aXRoLl90ZXh0cyA9IHtcbiAgICAgIGNvbHVtbnM6IHtcbiAgICAgICAgaWQ6IGZhbHNlLFxuICAgICAgICBwYXJlbnQ6IGZhbHNlLFxuICAgICAgfSxcbiAgICAgIG9yZGVyQnk6ICh7IG9yZGVyIH0sIHsgYXNjOiBBU0MgfSkgPT4gW0FTQyhvcmRlcildLFxuICAgIH1cbiAgfVxuXG4gIGlmIChhZGFwdGVyLnRhYmxlc1tgJHt0YWJsZU5hbWV9X251bWJlcnNgXSkge1xuICAgIHJlc3VsdC53aXRoLl9udW1iZXJzID0ge1xuICAgICAgY29sdW1uczoge1xuICAgICAgICBpZDogZmFsc2UsXG4gICAgICAgIHBhcmVudDogZmFsc2UsXG4gICAgICB9LFxuICAgICAgb3JkZXJCeTogKHsgb3JkZXIgfSwgeyBhc2M6IEFTQyB9KSA9PiBbQVNDKG9yZGVyKV0sXG4gICAgfVxuICB9XG5cbiAgaWYgKGFkYXB0ZXIudGFibGVzW2Ake3RhYmxlTmFtZX0ke2FkYXB0ZXIucmVsYXRpb25zaGlwc1N1ZmZpeH1gXSkge1xuICAgIHJlc3VsdC53aXRoLl9yZWxzID0ge1xuICAgICAgY29sdW1uczoge1xuICAgICAgICBpZDogZmFsc2UsXG4gICAgICAgIHBhcmVudDogZmFsc2UsXG4gICAgICB9LFxuICAgICAgb3JkZXJCeTogKHsgb3JkZXIgfSwgeyBhc2M6IEFTQyB9KSA9PiBbQVNDKG9yZGVyKV0sXG4gICAgfVxuICB9XG5cbiAgaWYgKGFkYXB0ZXIudGFibGVzW2Ake3RhYmxlTmFtZX0ke2FkYXB0ZXIubG9jYWxlc1N1ZmZpeH1gXSkge1xuICAgIHJlc3VsdC53aXRoLl9sb2NhbGVzID0gX2xvY2FsZXNcbiAgfVxuXG4gIHRyYXZlcnNlRmllbGRzKHtcbiAgICBfbG9jYWxlcyxcbiAgICBhZGFwdGVyLFxuICAgIGN1cnJlbnRBcmdzOiByZXN1bHQsXG4gICAgY3VycmVudFRhYmxlTmFtZTogdGFibGVOYW1lLFxuICAgIGRlcHRoLFxuICAgIGZpZWxkcyxcbiAgICBwYXRoOiAnJyxcbiAgICB0YWJsZVBhdGg6ICcnLFxuICAgIHRvcExldmVsQXJnczogcmVzdWx0LFxuICAgIHRvcExldmVsVGFibGVOYW1lOiB0YWJsZU5hbWUsXG4gIH0pXG5cbiAgcmV0dXJuIHJlc3VsdFxufVxuIl0sIm5hbWVzIjpbImJ1aWxkRmluZE1hbnlBcmdzIiwiYWRhcHRlciIsImRlcHRoIiwiZmllbGRzIiwidGFibGVOYW1lIiwicmVzdWx0Iiwid2l0aCIsIl9sb2NhbGVzIiwiY29sdW1ucyIsImlkIiwiX3BhcmVudElEIiwidGFibGVzIiwiX3RleHRzIiwicGFyZW50Iiwib3JkZXJCeSIsIm9yZGVyIiwiYXNjIiwiQVNDIiwiX251bWJlcnMiLCJyZWxhdGlvbnNoaXBzU3VmZml4IiwiX3JlbHMiLCJsb2NhbGVzU3VmZml4IiwidHJhdmVyc2VGaWVsZHMiLCJjdXJyZW50QXJncyIsImN1cnJlbnRUYWJsZU5hbWUiLCJwYXRoIiwidGFibGVQYXRoIiwidG9wTGV2ZWxBcmdzIiwidG9wTGV2ZWxUYWJsZU5hbWUiXSwicmFuZ2VNYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzsiLCJtYXBwaW5ncyI6Ijs7OzsrQkFrQmFBOzs7ZUFBQUE7OztnQ0Fia0I7QUFheEIsTUFBTUEsb0JBQW9CLENBQUMsRUFDaENDLE9BQU8sRUFDUEMsS0FBSyxFQUNMQyxNQUFNLEVBQ05DLFNBQVMsRUFDVTtJQUNuQixNQUFNQyxTQUFpQjtRQUNyQkMsTUFBTSxDQUFDO0lBQ1Q7SUFFQSxNQUFNQyxXQUFtQjtRQUN2QkMsU0FBUztZQUNQQyxJQUFJO1lBQ0pDLFdBQVc7UUFDYjtJQUNGO0lBRUEsSUFBSVQsUUFBUVUsTUFBTSxDQUFDLENBQUMsRUFBRVAsVUFBVSxNQUFNLENBQUMsQ0FBQyxFQUFFO1FBQ3hDQyxPQUFPQyxJQUFJLENBQUNNLE1BQU0sR0FBRztZQUNuQkosU0FBUztnQkFDUEMsSUFBSTtnQkFDSkksUUFBUTtZQUNWO1lBQ0FDLFNBQVMsQ0FBQyxFQUFFQyxLQUFLLEVBQUUsRUFBRSxFQUFFQyxLQUFLQyxHQUFHLEVBQUUsR0FBSztvQkFBQ0EsSUFBSUY7aUJBQU87UUFDcEQ7SUFDRjtJQUVBLElBQUlkLFFBQVFVLE1BQU0sQ0FBQyxDQUFDLEVBQUVQLFVBQVUsUUFBUSxDQUFDLENBQUMsRUFBRTtRQUMxQ0MsT0FBT0MsSUFBSSxDQUFDWSxRQUFRLEdBQUc7WUFDckJWLFNBQVM7Z0JBQ1BDLElBQUk7Z0JBQ0pJLFFBQVE7WUFDVjtZQUNBQyxTQUFTLENBQUMsRUFBRUMsS0FBSyxFQUFFLEVBQUUsRUFBRUMsS0FBS0MsR0FBRyxFQUFFLEdBQUs7b0JBQUNBLElBQUlGO2lCQUFPO1FBQ3BEO0lBQ0Y7SUFFQSxJQUFJZCxRQUFRVSxNQUFNLENBQUMsQ0FBQyxFQUFFUCxVQUFVLEVBQUVILFFBQVFrQixtQkFBbUIsQ0FBQyxDQUFDLENBQUMsRUFBRTtRQUNoRWQsT0FBT0MsSUFBSSxDQUFDYyxLQUFLLEdBQUc7WUFDbEJaLFNBQVM7Z0JBQ1BDLElBQUk7Z0JBQ0pJLFFBQVE7WUFDVjtZQUNBQyxTQUFTLENBQUMsRUFBRUMsS0FBSyxFQUFFLEVBQUUsRUFBRUMsS0FBS0MsR0FBRyxFQUFFLEdBQUs7b0JBQUNBLElBQUlGO2lCQUFPO1FBQ3BEO0lBQ0Y7SUFFQSxJQUFJZCxRQUFRVSxNQUFNLENBQUMsQ0FBQyxFQUFFUCxVQUFVLEVBQUVILFFBQVFvQixhQUFhLENBQUMsQ0FBQyxDQUFDLEVBQUU7UUFDMURoQixPQUFPQyxJQUFJLENBQUNDLFFBQVEsR0FBR0E7SUFDekI7SUFFQWUsSUFBQUEsOEJBQWMsRUFBQztRQUNiZjtRQUNBTjtRQUNBc0IsYUFBYWxCO1FBQ2JtQixrQkFBa0JwQjtRQUNsQkY7UUFDQUM7UUFDQXNCLE1BQU07UUFDTkMsV0FBVztRQUNYQyxjQUFjdEI7UUFDZHVCLG1CQUFtQnhCO0lBQ3JCO0lBRUEsT0FBT0M7QUFDVCJ9
|
@@ -8,9 +8,10 @@ type TraverseFieldArgs = {
|
|
8
8
|
depth?: number;
|
9
9
|
fields: Field[];
|
10
10
|
path: string;
|
11
|
+
tablePath: string;
|
11
12
|
topLevelArgs: Record<string, unknown>;
|
12
13
|
topLevelTableName: string;
|
13
14
|
};
|
14
|
-
export declare const traverseFields: ({ _locales, adapter, currentArgs, currentTableName, depth, fields, path, topLevelArgs, topLevelTableName, }: TraverseFieldArgs) => Record<string, unknown>;
|
15
|
+
export declare const traverseFields: ({ _locales, adapter, currentArgs, currentTableName, depth, fields, path, tablePath, topLevelArgs, topLevelTableName, }: TraverseFieldArgs) => Record<string, unknown>;
|
15
16
|
export {};
|
16
17
|
//# sourceMappingURL=traverseFields.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"traverseFields.d.ts","sourceRoot":"","sources":["../../src/find/traverseFields.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AAK1C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAG/C,KAAK,iBAAiB,GAAG;IACvB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACjC,OAAO,EAAE,eAAe,CAAA;IACxB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACpC,gBAAgB,EAAE,MAAM,CAAA;IACxB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACrC,iBAAiB,EAAE,MAAM,CAAA;CAC1B,CAAA;AAED,eAAO,MAAM,cAAc,
|
1
|
+
{"version":3,"file":"traverseFields.d.ts","sourceRoot":"","sources":["../../src/find/traverseFields.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AAK1C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAG/C,KAAK,iBAAiB,GAAG;IACvB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACjC,OAAO,EAAE,eAAe,CAAA;IACxB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACpC,gBAAgB,EAAE,MAAM,CAAA;IACxB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,MAAM,CAAA;IACjB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACrC,iBAAiB,EAAE,MAAM,CAAA;CAC1B,CAAA;AAED,eAAO,MAAM,cAAc,2HAWxB,iBAAiB,4BA6JnB,CAAA"}
|
@@ -15,7 +15,7 @@ function _interop_require_default(obj) {
|
|
15
15
|
default: obj
|
16
16
|
};
|
17
17
|
}
|
18
|
-
const traverseFields = ({ _locales, adapter, currentArgs, currentTableName, depth, fields, path, topLevelArgs, topLevelTableName })=>{
|
18
|
+
const traverseFields = ({ _locales, adapter, currentArgs, currentTableName, depth, fields, path, tablePath, topLevelArgs, topLevelTableName })=>{
|
19
19
|
fields.forEach((field)=>{
|
20
20
|
if (field.type === 'collapsible' || field.type === 'row') {
|
21
21
|
traverseFields({
|
@@ -24,6 +24,7 @@ const traverseFields = ({ _locales, adapter, currentArgs, currentTableName, dept
|
|
24
24
|
currentArgs,
|
25
25
|
currentTableName,
|
26
26
|
depth,
|
27
|
+
tablePath,
|
27
28
|
fields: field.fields,
|
28
29
|
path,
|
29
30
|
topLevelArgs,
|
@@ -34,6 +35,7 @@ const traverseFields = ({ _locales, adapter, currentArgs, currentTableName, dept
|
|
34
35
|
if (field.type === 'tabs') {
|
35
36
|
field.tabs.forEach((tab)=>{
|
36
37
|
const tabPath = (0, _types.tabHasName)(tab) ? `${path}${tab.name}_` : path;
|
38
|
+
const tabTablePath = (0, _types.tabHasName)(tab) ? `${tablePath}${(0, _tosnakecase.default)(tab.name)}_` : tablePath;
|
37
39
|
traverseFields({
|
38
40
|
_locales,
|
39
41
|
adapter,
|
@@ -42,6 +44,7 @@ const traverseFields = ({ _locales, adapter, currentArgs, currentTableName, dept
|
|
42
44
|
depth,
|
43
45
|
fields: tab.fields,
|
44
46
|
path: tabPath,
|
47
|
+
tablePath: tabTablePath,
|
45
48
|
topLevelArgs,
|
46
49
|
topLevelTableName
|
47
50
|
});
|
@@ -61,7 +64,7 @@ const traverseFields = ({ _locales, adapter, currentArgs, currentTableName, dept
|
|
61
64
|
],
|
62
65
|
with: {}
|
63
66
|
};
|
64
|
-
const arrayTableName = adapter.tableNameMap.get(`${currentTableName}_${
|
67
|
+
const arrayTableName = adapter.tableNameMap.get(`${currentTableName}_${tablePath}${(0, _tosnakecase.default)(field.name)}`);
|
65
68
|
const arrayTableNameWithLocales = `${arrayTableName}${adapter.localesSuffix}`;
|
66
69
|
if (adapter.tables[arrayTableNameWithLocales]) withArray.with._locales = _locales;
|
67
70
|
currentArgs.with[`${path}${field.name}`] = withArray;
|
@@ -73,6 +76,7 @@ const traverseFields = ({ _locales, adapter, currentArgs, currentTableName, dept
|
|
73
76
|
depth,
|
74
77
|
fields: field.fields,
|
75
78
|
path: '',
|
79
|
+
tablePath: '',
|
76
80
|
topLevelArgs,
|
77
81
|
topLevelTableName
|
78
82
|
});
|
@@ -119,6 +123,7 @@ const traverseFields = ({ _locales, adapter, currentArgs, currentTableName, dept
|
|
119
123
|
currentArgs: withBlock,
|
120
124
|
currentTableName: tableName,
|
121
125
|
depth,
|
126
|
+
tablePath: '',
|
122
127
|
fields: block.fields,
|
123
128
|
path: '',
|
124
129
|
topLevelArgs,
|
@@ -133,6 +138,7 @@ const traverseFields = ({ _locales, adapter, currentArgs, currentTableName, dept
|
|
133
138
|
adapter,
|
134
139
|
currentArgs,
|
135
140
|
currentTableName,
|
141
|
+
tablePath: `${tablePath}${(0, _tosnakecase.default)(field.name)}_`,
|
136
142
|
depth,
|
137
143
|
fields: field.fields,
|
138
144
|
path: `${path}${field.name}_`,
|
@@ -150,4 +156,4 @@ const traverseFields = ({ _locales, adapter, currentArgs, currentTableName, dept
|
|
150
156
|
return topLevelArgs;
|
151
157
|
};
|
152
158
|
|
153
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9maW5kL3RyYXZlcnNlRmllbGRzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG5vLXBhcmFtLXJlYXNzaWduICovXG5pbXBvcnQgdHlwZSB7IEZpZWxkIH0gZnJvbSAncGF5bG9hZC90eXBlcydcblxuaW1wb3J0IHsgZmllbGRBZmZlY3RzRGF0YSwgdGFiSGFzTmFtZSB9IGZyb20gJ3BheWxvYWQvdHlwZXMnXG5pbXBvcnQgdG9TbmFrZUNhc2UgZnJvbSAndG8tc25ha2UtY2FzZSdcblxuaW1wb3J0IHR5cGUgeyBQb3N0Z3Jlc0FkYXB0ZXIgfSBmcm9tICcuLi90eXBlcydcbmltcG9ydCB0eXBlIHsgUmVzdWx0IH0gZnJvbSAnLi9idWlsZEZpbmRNYW55QXJncydcblxudHlwZSBUcmF2ZXJzZUZpZWxkQXJncyA9IHtcbiAgX2xvY2FsZXM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+XG4gIGFkYXB0ZXI6IFBvc3RncmVzQWRhcHRlclxuICBjdXJyZW50QXJnczogUmVjb3JkPHN0cmluZywgdW5rbm93bj5cbiAgY3VycmVudFRhYmxlTmFtZTogc3RyaW5nXG4gIGRlcHRoPzogbnVtYmVyXG4gIGZpZWxkczogRmllbGRbXVxuICBwYXRoOiBzdHJpbmdcbiAgdG9wTGV2ZWxBcmdzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPlxuICB0b3BMZXZlbFRhYmxlTmFtZTogc3RyaW5nXG59XG5cbmV4cG9ydCBjb25zdCB0cmF2ZXJzZUZpZWxkcyA9ICh7XG4gIF9sb2NhbGVzLFxuICBhZGFwdGVyLFxuICBjdXJyZW50QXJncyxcbiAgY3VycmVudFRhYmxlTmFtZSxcbiAgZGVwdGgsXG4gIGZpZWxkcyxcbiAgcGF0aCxcbiAgdG9wTGV2ZWxBcmdzLFxuICB0b3BMZXZlbFRhYmxlTmFtZSxcbn06IFRyYXZlcnNlRmllbGRBcmdzKSA9PiB7XG4gIGZpZWxkcy5mb3JFYWNoKChmaWVsZCkgPT4ge1xuICAgIGlmIChmaWVsZC50eXBlID09PSAnY29sbGFwc2libGUnIHx8IGZpZWxkLnR5cGUgPT09ICdyb3cnKSB7XG4gICAgICB0cmF2ZXJzZUZpZWxkcyh7XG4gICAgICAgIF9sb2NhbGVzLFxuICAgICAgICBhZGFwdGVyLFxuICAgICAgICBjdXJyZW50QXJncyxcbiAgICAgICAgY3VycmVudFRhYmxlTmFtZSxcbiAgICAgICAgZGVwdGgsXG4gICAgICAgIGZpZWxkczogZmllbGQuZmllbGRzLFxuICAgICAgICBwYXRoLFxuICAgICAgICB0b3BMZXZlbEFyZ3MsXG4gICAgICAgIHRvcExldmVsVGFibGVOYW1lLFxuICAgICAgfSlcblxuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgaWYgKGZpZWxkLnR5cGUgPT09ICd0YWJzJykge1xuICAgICAgZmllbGQudGFicy5mb3JFYWNoKCh0YWIpID0+IHtcbiAgICAgICAgY29uc3QgdGFiUGF0aCA9IHRhYkhhc05hbWUodGFiKSA/IGAke3BhdGh9JHt0YWIubmFtZX1fYCA6IHBhdGhcblxuICAgICAgICB0cmF2ZXJzZUZpZWxkcyh7XG4gICAgICAgICAgX2xvY2FsZXMsXG4gICAgICAgICAgYWRhcHRlcixcbiAgICAgICAgICBjdXJyZW50QXJncyxcbiAgICAgICAgICBjdXJyZW50VGFibGVOYW1lLFxuICAgICAgICAgIGRlcHRoLFxuICAgICAgICAgIGZpZWxkczogdGFiLmZpZWxkcyxcbiAgICAgICAgICBwYXRoOiB0YWJQYXRoLFxuICAgICAgICAgIHRvcExldmVsQXJncyxcbiAgICAgICAgICB0b3BMZXZlbFRhYmxlTmFtZSxcbiAgICAgICAgfSlcbiAgICAgIH0pXG5cbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIGlmIChmaWVsZEFmZmVjdHNEYXRhKGZpZWxkKSkge1xuICAgICAgc3dpdGNoIChmaWVsZC50eXBlKSB7XG4gICAgICAgIGNhc2UgJ2FycmF5Jzoge1xuICAgICAgICAgIGNvbnN0IHdpdGhBcnJheTogUmVzdWx0ID0ge1xuICAgICAgICAgICAgY29sdW1uczoge1xuICAgICAgICAgICAgICBfcGFyZW50SUQ6IGZhbHNlLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIG9yZGVyQnk6ICh7IF9vcmRlciB9LCB7IGFzYyB9KSA9PiBbYXNjKF9vcmRlcildLFxuICAgICAgICAgICAgd2l0aDoge30sXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY29uc3QgYXJyYXlUYWJsZU5hbWUgPSBhZGFwdGVyLnRhYmxlTmFtZU1hcC5nZXQoXG4gICAgICAgICAgICBgJHtjdXJyZW50VGFibGVOYW1lfV8ke3BhdGh9JHt0b1NuYWtlQ2FzZShmaWVsZC5uYW1lKX1gLFxuICAgICAgICAgIClcblxuICAgICAgICAgIGNvbnN0IGFycmF5VGFibGVOYW1lV2l0aExvY2FsZXMgPSBgJHthcnJheVRhYmxlTmFtZX0ke2FkYXB0ZXIubG9jYWxlc1N1ZmZpeH1gXG5cbiAgICAgICAgICBpZiAoYWRhcHRlci50YWJsZXNbYXJyYXlUYWJsZU5hbWVXaXRoTG9jYWxlc10pIHdpdGhBcnJheS53aXRoLl9sb2NhbGVzID0gX2xvY2FsZXNcbiAgICAgICAgICBjdXJyZW50QXJncy53aXRoW2Ake3BhdGh9JHtmaWVsZC5uYW1lfWBdID0gd2l0aEFycmF5XG5cbiAgICAgICAgICB0cmF2ZXJzZUZpZWxkcyh7XG4gICAgICAgICAgICBfbG9jYWxlcyxcbiAgICAgICAgICAgIGFkYXB0ZXIsXG4gICAgICAgICAgICBjdXJyZW50QXJnczogd2l0aEFycmF5LFxuICAgICAgICAgICAgY3VycmVudFRhYmxlTmFtZTogYXJyYXlUYWJsZU5hbWUsXG4gICAgICAgICAgICBkZXB0aCxcbiAgICAgICAgICAgIGZpZWxkczogZmllbGQuZmllbGRzLFxuICAgICAgICAgICAgcGF0aDogJycsXG4gICAgICAgICAgICB0b3BMZXZlbEFyZ3MsXG4gICAgICAgICAgICB0b3BMZXZlbFRhYmxlTmFtZSxcbiAgICAgICAgICB9KVxuXG4gICAgICAgICAgYnJlYWtcbiAgICAgICAgfVxuXG4gICAgICAgIGNhc2UgJ3NlbGVjdCc6IHtcbiAgICAgICAgICBpZiAoZmllbGQuaGFzTWFueSkge1xuICAgICAgICAgICAgY29uc3Qgd2l0aFNlbGVjdDogUmVzdWx0ID0ge1xuICAgICAgICAgICAgICBjb2x1bW5zOiB7XG4gICAgICAgICAgICAgICAgaWQ6IGZhbHNlLFxuICAgICAgICAgICAgICAgIG9yZGVyOiBmYWxzZSxcbiAgICAgICAgICAgICAgICBwYXJlbnQ6IGZhbHNlLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBvcmRlckJ5OiAoeyBvcmRlciB9LCB7IGFzYyB9KSA9PiBbYXNjKG9yZGVyKV0sXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGN1cnJlbnRBcmdzLndpdGhbYCR7cGF0aH0ke2ZpZWxkLm5hbWV9YF0gPSB3aXRoU2VsZWN0XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgYnJlYWtcbiAgICAgICAgfVxuXG4gICAgICAgIGNhc2UgJ2Jsb2Nrcyc6XG4gICAgICAgICAgZmllbGQuYmxvY2tzLmZvckVhY2goKGJsb2NrKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBibG9ja0tleSA9IGBfYmxvY2tzXyR7YmxvY2suc2x1Z31gXG5cbiAgICAgICAgICAgIGlmICghdG9wTGV2ZWxBcmdzW2Jsb2NrS2V5XSkge1xuICAgICAgICAgICAgICBjb25zdCB3aXRoQmxvY2s6IFJlc3VsdCA9IHtcbiAgICAgICAgICAgICAgICBjb2x1bW5zOiB7XG4gICAgICAgICAgICAgICAgICBfcGFyZW50SUQ6IGZhbHNlLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgb3JkZXJCeTogKHsgX29yZGVyIH0sIHsgYXNjIH0pID0+IFthc2MoX29yZGVyKV0sXG4gICAgICAgICAgICAgICAgd2l0aDoge30sXG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBjb25zdCB0YWJsZU5hbWUgPSBhZGFwdGVyLnRhYmxlTmFtZU1hcC5nZXQoXG4gICAgICAgICAgICAgICAgYCR7dG9wTGV2ZWxUYWJsZU5hbWV9X2Jsb2Nrc18ke3RvU25ha2VDYXNlKGJsb2NrLnNsdWcpfWAsXG4gICAgICAgICAgICAgIClcblxuICAgICAgICAgICAgICBpZiAoYWRhcHRlci50YWJsZXNbYCR7dGFibGVOYW1lfSR7YWRhcHRlci5sb2NhbGVzU3VmZml4fWBdKSB7XG4gICAgICAgICAgICAgICAgd2l0aEJsb2NrLndpdGguX2xvY2FsZXMgPSBfbG9jYWxlc1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIHRvcExldmVsQXJncy53aXRoW2Jsb2NrS2V5XSA9IHdpdGhCbG9ja1xuXG4gICAgICAgICAgICAgIHRyYXZlcnNlRmllbGRzKHtcbiAgICAgICAgICAgICAgICBfbG9jYWxlcyxcbiAgICAgICAgICAgICAgICBhZGFwdGVyLFxuICAgICAgICAgICAgICAgIGN1cnJlbnRBcmdzOiB3aXRoQmxvY2ssXG4gICAgICAgICAgICAgICAgY3VycmVudFRhYmxlTmFtZTogdGFibGVOYW1lLFxuICAgICAgICAgICAgICAgIGRlcHRoLFxuICAgICAgICAgICAgICAgIGZpZWxkczogYmxvY2suZmllbGRzLFxuICAgICAgICAgICAgICAgIHBhdGg6ICcnLFxuICAgICAgICAgICAgICAgIHRvcExldmVsQXJncyxcbiAgICAgICAgICAgICAgICB0b3BMZXZlbFRhYmxlTmFtZSxcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KVxuXG4gICAgICAgICAgYnJlYWtcblxuICAgICAgICBjYXNlICdncm91cCc6XG4gICAgICAgICAgdHJhdmVyc2VGaWVsZHMoe1xuICAgICAgICAgICAgX2xvY2FsZXMsXG4gICAgICAgICAgICBhZGFwdGVyLFxuICAgICAgICAgICAgY3VycmVudEFyZ3MsXG4gICAgICAgICAgICBjdXJyZW50VGFibGVOYW1lLFxuICAgICAgICAgICAgZGVwdGgsXG4gICAgICAgICAgICBmaWVsZHM6IGZpZWxkLmZpZWxkcyxcbiAgICAgICAgICAgIHBhdGg6IGAke3BhdGh9JHtmaWVsZC5uYW1lfV9gLFxuICAgICAgICAgICAgdG9wTGV2ZWxBcmdzLFxuICAgICAgICAgICAgdG9wTGV2ZWxUYWJsZU5hbWUsXG4gICAgICAgICAgfSlcblxuICAgICAgICAgIGJyZWFrXG5cbiAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgIGJyZWFrXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH0pXG5cbiAgcmV0dXJuIHRvcExldmVsQXJnc1xufVxuIl0sIm5hbWVzIjpbInRyYXZlcnNlRmllbGRzIiwiX2xvY2FsZXMiLCJhZGFwdGVyIiwiY3VycmVudEFyZ3MiLCJjdXJyZW50VGFibGVOYW1lIiwiZGVwdGgiLCJmaWVsZHMiLCJwYXRoIiwidG9wTGV2ZWxBcmdzIiwidG9wTGV2ZWxUYWJsZU5hbWUiLCJmb3JFYWNoIiwiZmllbGQiLCJ0eXBlIiwidGFicyIsInRhYiIsInRhYlBhdGgiLCJ0YWJIYXNOYW1lIiwibmFtZSIsImZpZWxkQWZmZWN0c0RhdGEiLCJ3aXRoQXJyYXkiLCJjb2x1bW5zIiwiX3BhcmVudElEIiwib3JkZXJCeSIsIl9vcmRlciIsImFzYyIsIndpdGgiLCJhcnJheVRhYmxlTmFtZSIsInRhYmxlTmFtZU1hcCIsImdldCIsInRvU25ha2VDYXNlIiwiYXJyYXlUYWJsZU5hbWVXaXRoTG9jYWxlcyIsImxvY2FsZXNTdWZmaXgiLCJ0YWJsZXMiLCJoYXNNYW55Iiwid2l0aFNlbGVjdCIsImlkIiwib3JkZXIiLCJwYXJlbnQiLCJibG9ja3MiLCJibG9jayIsImJsb2NrS2V5Iiwic2x1ZyIsIndpdGhCbG9jayIsInRhYmxlTmFtZSJdLCJyYW5nZU1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7IiwibWFwcGlu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
|
159
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9maW5kL3RyYXZlcnNlRmllbGRzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG5vLXBhcmFtLXJlYXNzaWduICovXG5pbXBvcnQgdHlwZSB7IEZpZWxkIH0gZnJvbSAncGF5bG9hZC90eXBlcydcblxuaW1wb3J0IHsgZmllbGRBZmZlY3RzRGF0YSwgdGFiSGFzTmFtZSB9IGZyb20gJ3BheWxvYWQvdHlwZXMnXG5pbXBvcnQgdG9TbmFrZUNhc2UgZnJvbSAndG8tc25ha2UtY2FzZSdcblxuaW1wb3J0IHR5cGUgeyBQb3N0Z3Jlc0FkYXB0ZXIgfSBmcm9tICcuLi90eXBlcydcbmltcG9ydCB0eXBlIHsgUmVzdWx0IH0gZnJvbSAnLi9idWlsZEZpbmRNYW55QXJncydcblxudHlwZSBUcmF2ZXJzZUZpZWxkQXJncyA9IHtcbiAgX2xvY2FsZXM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+XG4gIGFkYXB0ZXI6IFBvc3RncmVzQWRhcHRlclxuICBjdXJyZW50QXJnczogUmVjb3JkPHN0cmluZywgdW5rbm93bj5cbiAgY3VycmVudFRhYmxlTmFtZTogc3RyaW5nXG4gIGRlcHRoPzogbnVtYmVyXG4gIGZpZWxkczogRmllbGRbXVxuICBwYXRoOiBzdHJpbmdcbiAgdGFibGVQYXRoOiBzdHJpbmdcbiAgdG9wTGV2ZWxBcmdzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPlxuICB0b3BMZXZlbFRhYmxlTmFtZTogc3RyaW5nXG59XG5cbmV4cG9ydCBjb25zdCB0cmF2ZXJzZUZpZWxkcyA9ICh7XG4gIF9sb2NhbGVzLFxuICBhZGFwdGVyLFxuICBjdXJyZW50QXJncyxcbiAgY3VycmVudFRhYmxlTmFtZSxcbiAgZGVwdGgsXG4gIGZpZWxkcyxcbiAgcGF0aCxcbiAgdGFibGVQYXRoLFxuICB0b3BMZXZlbEFyZ3MsXG4gIHRvcExldmVsVGFibGVOYW1lLFxufTogVHJhdmVyc2VGaWVsZEFyZ3MpID0+IHtcbiAgZmllbGRzLmZvckVhY2goKGZpZWxkKSA9PiB7XG4gICAgaWYgKGZpZWxkLnR5cGUgPT09ICdjb2xsYXBzaWJsZScgfHwgZmllbGQudHlwZSA9PT0gJ3JvdycpIHtcbiAgICAgIHRyYXZlcnNlRmllbGRzKHtcbiAgICAgICAgX2xvY2FsZXMsXG4gICAgICAgIGFkYXB0ZXIsXG4gICAgICAgIGN1cnJlbnRBcmdzLFxuICAgICAgICBjdXJyZW50VGFibGVOYW1lLFxuICAgICAgICBkZXB0aCxcbiAgICAgICAgdGFibGVQYXRoLFxuICAgICAgICBmaWVsZHM6IGZpZWxkLmZpZWxkcyxcbiAgICAgICAgcGF0aCxcbiAgICAgICAgdG9wTGV2ZWxBcmdzLFxuICAgICAgICB0b3BMZXZlbFRhYmxlTmFtZSxcbiAgICAgIH0pXG5cbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIGlmIChmaWVsZC50eXBlID09PSAndGFicycpIHtcbiAgICAgIGZpZWxkLnRhYnMuZm9yRWFjaCgodGFiKSA9PiB7XG4gICAgICAgIGNvbnN0IHRhYlBhdGggPSB0YWJIYXNOYW1lKHRhYikgPyBgJHtwYXRofSR7dGFiLm5hbWV9X2AgOiBwYXRoXG4gICAgICAgIGNvbnN0IHRhYlRhYmxlUGF0aCA9IHRhYkhhc05hbWUodGFiKSA/IGAke3RhYmxlUGF0aH0ke3RvU25ha2VDYXNlKHRhYi5uYW1lKX1fYCA6IHRhYmxlUGF0aFxuXG4gICAgICAgIHRyYXZlcnNlRmllbGRzKHtcbiAgICAgICAgICBfbG9jYWxlcyxcbiAgICAgICAgICBhZGFwdGVyLFxuICAgICAgICAgIGN1cnJlbnRBcmdzLFxuICAgICAgICAgIGN1cnJlbnRUYWJsZU5hbWUsXG4gICAgICAgICAgZGVwdGgsXG4gICAgICAgICAgZmllbGRzOiB0YWIuZmllbGRzLFxuICAgICAgICAgIHBhdGg6IHRhYlBhdGgsXG4gICAgICAgICAgdGFibGVQYXRoOiB0YWJUYWJsZVBhdGgsXG4gICAgICAgICAgdG9wTGV2ZWxBcmdzLFxuICAgICAgICAgIHRvcExldmVsVGFibGVOYW1lLFxuICAgICAgICB9KVxuICAgICAgfSlcblxuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgaWYgKGZpZWxkQWZmZWN0c0RhdGEoZmllbGQpKSB7XG4gICAgICBzd2l0Y2ggKGZpZWxkLnR5cGUpIHtcbiAgICAgICAgY2FzZSAnYXJyYXknOiB7XG4gICAgICAgICAgY29uc3Qgd2l0aEFycmF5OiBSZXN1bHQgPSB7XG4gICAgICAgICAgICBjb2x1bW5zOiB7XG4gICAgICAgICAgICAgIF9wYXJlbnRJRDogZmFsc2UsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgb3JkZXJCeTogKHsgX29yZGVyIH0sIHsgYXNjIH0pID0+IFthc2MoX29yZGVyKV0sXG4gICAgICAgICAgICB3aXRoOiB7fSxcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjb25zdCBhcnJheVRhYmxlTmFtZSA9IGFkYXB0ZXIudGFibGVOYW1lTWFwLmdldChcbiAgICAgICAgICAgIGAke2N1cnJlbnRUYWJsZU5hbWV9XyR7dGFibGVQYXRofSR7dG9TbmFrZUNhc2UoZmllbGQubmFtZSl9YCxcbiAgICAgICAgICApXG5cbiAgICAgICAgICBjb25zdCBhcnJheVRhYmxlTmFtZVdpdGhMb2NhbGVzID0gYCR7YXJyYXlUYWJsZU5hbWV9JHthZGFwdGVyLmxvY2FsZXNTdWZmaXh9YFxuXG4gICAgICAgICAgaWYgKGFkYXB0ZXIudGFibGVzW2FycmF5VGFibGVOYW1lV2l0aExvY2FsZXNdKSB3aXRoQXJyYXkud2l0aC5fbG9jYWxlcyA9IF9sb2NhbGVzXG4gICAgICAgICAgY3VycmVudEFyZ3Mud2l0aFtgJHtwYXRofSR7ZmllbGQubmFtZX1gXSA9IHdpdGhBcnJheVxuXG4gICAgICAgICAgdHJhdmVyc2VGaWVsZHMoe1xuICAgICAgICAgICAgX2xvY2FsZXMsXG4gICAgICAgICAgICBhZGFwdGVyLFxuICAgICAgICAgICAgY3VycmVudEFyZ3M6IHdpdGhBcnJheSxcbiAgICAgICAgICAgIGN1cnJlbnRUYWJsZU5hbWU6IGFycmF5VGFibGVOYW1lLFxuICAgICAgICAgICAgZGVwdGgsXG4gICAgICAgICAgICBmaWVsZHM6IGZpZWxkLmZpZWxkcyxcbiAgICAgICAgICAgIHBhdGg6ICcnLFxuICAgICAgICAgICAgdGFibGVQYXRoOiAnJyxcbiAgICAgICAgICAgIHRvcExldmVsQXJncyxcbiAgICAgICAgICAgIHRvcExldmVsVGFibGVOYW1lLFxuICAgICAgICAgIH0pXG5cbiAgICAgICAgICBicmVha1xuICAgICAgICB9XG5cbiAgICAgICAgY2FzZSAnc2VsZWN0Jzoge1xuICAgICAgICAgIGlmIChmaWVsZC5oYXNNYW55KSB7XG4gICAgICAgICAgICBjb25zdCB3aXRoU2VsZWN0OiBSZXN1bHQgPSB7XG4gICAgICAgICAgICAgIGNvbHVtbnM6IHtcbiAgICAgICAgICAgICAgICBpZDogZmFsc2UsXG4gICAgICAgICAgICAgICAgb3JkZXI6IGZhbHNlLFxuICAgICAgICAgICAgICAgIHBhcmVudDogZmFsc2UsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIG9yZGVyQnk6ICh7IG9yZGVyIH0sIHsgYXNjIH0pID0+IFthc2Mob3JkZXIpXSxcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY3VycmVudEFyZ3Mud2l0aFtgJHtwYXRofSR7ZmllbGQubmFtZX1gXSA9IHdpdGhTZWxlY3RcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBicmVha1xuICAgICAgICB9XG5cbiAgICAgICAgY2FzZSAnYmxvY2tzJzpcbiAgICAgICAgICBmaWVsZC5ibG9ja3MuZm9yRWFjaCgoYmxvY2spID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGJsb2NrS2V5ID0gYF9ibG9ja3NfJHtibG9jay5zbHVnfWBcblxuICAgICAgICAgICAgaWYgKCF0b3BMZXZlbEFyZ3NbYmxvY2tLZXldKSB7XG4gICAgICAgICAgICAgIGNvbnN0IHdpdGhCbG9jazogUmVzdWx0ID0ge1xuICAgICAgICAgICAgICAgIGNvbHVtbnM6IHtcbiAgICAgICAgICAgICAgICAgIF9wYXJlbnRJRDogZmFsc2UsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBvcmRlckJ5OiAoeyBfb3JkZXIgfSwgeyBhc2MgfSkgPT4gW2FzYyhfb3JkZXIpXSxcbiAgICAgICAgICAgICAgICB3aXRoOiB7fSxcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIGNvbnN0IHRhYmxlTmFtZSA9IGFkYXB0ZXIudGFibGVOYW1lTWFwLmdldChcbiAgICAgICAgICAgICAgICBgJHt0b3BMZXZlbFRhYmxlTmFtZX1fYmxvY2tzXyR7dG9TbmFrZUNhc2UoYmxvY2suc2x1Zyl9YCxcbiAgICAgICAgICAgICAgKVxuXG4gICAgICAgICAgICAgIGlmIChhZGFwdGVyLnRhYmxlc1tgJHt0YWJsZU5hbWV9JHthZGFwdGVyLmxvY2FsZXNTdWZmaXh9YF0pIHtcbiAgICAgICAgICAgICAgICB3aXRoQmxvY2sud2l0aC5fbG9jYWxlcyA9IF9sb2NhbGVzXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgdG9wTGV2ZWxBcmdzLndpdGhbYmxvY2tLZXldID0gd2l0aEJsb2NrXG5cbiAgICAgICAgICAgICAgdHJhdmVyc2VGaWVsZHMoe1xuICAgICAgICAgICAgICAgIF9sb2NhbGVzLFxuICAgICAgICAgICAgICAgIGFkYXB0ZXIsXG4gICAgICAgICAgICAgICAgY3VycmVudEFyZ3M6IHdpdGhCbG9jayxcbiAgICAgICAgICAgICAgICBjdXJyZW50VGFibGVOYW1lOiB0YWJsZU5hbWUsXG4gICAgICAgICAgICAgICAgZGVwdGgsXG4gICAgICAgICAgICAgICAgdGFibGVQYXRoOiAnJyxcbiAgICAgICAgICAgICAgICBmaWVsZHM6IGJsb2NrLmZpZWxkcyxcbiAgICAgICAgICAgICAgICBwYXRoOiAnJyxcbiAgICAgICAgICAgICAgICB0b3BMZXZlbEFyZ3MsXG4gICAgICAgICAgICAgICAgdG9wTGV2ZWxUYWJsZU5hbWUsXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSlcblxuICAgICAgICAgIGJyZWFrXG5cbiAgICAgICAgY2FzZSAnZ3JvdXAnOlxuICAgICAgICAgIHRyYXZlcnNlRmllbGRzKHtcbiAgICAgICAgICAgIF9sb2NhbGVzLFxuICAgICAgICAgICAgYWRhcHRlcixcbiAgICAgICAgICAgIGN1cnJlbnRBcmdzLFxuICAgICAgICAgICAgY3VycmVudFRhYmxlTmFtZSxcbiAgICAgICAgICAgIHRhYmxlUGF0aDogYCR7dGFibGVQYXRofSR7dG9TbmFrZUNhc2UoZmllbGQubmFtZSl9X2AsXG4gICAgICAgICAgICBkZXB0aCxcbiAgICAgICAgICAgIGZpZWxkczogZmllbGQuZmllbGRzLFxuICAgICAgICAgICAgcGF0aDogYCR7cGF0aH0ke2ZpZWxkLm5hbWV9X2AsXG4gICAgICAgICAgICB0b3BMZXZlbEFyZ3MsXG4gICAgICAgICAgICB0b3BMZXZlbFRhYmxlTmFtZSxcbiAgICAgICAgICB9KVxuXG4gICAgICAgICAgYnJlYWtcblxuICAgICAgICBkZWZhdWx0OiB7XG4gICAgICAgICAgYnJlYWtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfSlcblxuICByZXR1cm4gdG9wTGV2ZWxBcmdzXG59XG4iXSwibmFtZXMiOlsidHJhdmVyc2VGaWVsZHMiLCJfbG9jYWxlcyIsImFkYXB0ZXIiLCJjdXJyZW50QXJncyIsImN1cnJlbnRUYWJsZU5hbWUiLCJkZXB0aCIsImZpZWxkcyIsInBhdGgiLCJ0YWJsZVBhdGgiLCJ0b3BMZXZlbEFyZ3MiLCJ0b3BMZXZlbFRhYmxlTmFtZSIsImZvckVhY2giLCJmaWVsZCIsInR5cGUiLCJ0YWJzIiwidGFiIiwidGFiUGF0aCIsInRhYkhhc05hbWUiLCJuYW1lIiwidGFiVGFibGVQYXRoIiwidG9TbmFrZUNhc2UiLCJmaWVsZEFmZmVjdHNEYXRhIiwid2l0aEFycmF5IiwiY29sdW1ucyIsIl9wYXJlbnRJRCIsIm9yZGVyQnkiLCJfb3JkZXIiLCJhc2MiLCJ3aXRoIiwiYXJyYXlUYWJsZU5hbWUiLCJ0YWJsZU5hbWVNYXAiLCJnZXQiLCJhcnJheVRhYmxlTmFtZVdpdGhMb2NhbGVzIiwibG9jYWxlc1N1ZmZpeCIsInRhYmxlcyIsImhhc01hbnkiLCJ3aXRoU2VsZWN0IiwiaWQiLCJvcmRlciIsInBhcmVudCIsImJsb2NrcyIsImJsb2NrIiwiYmxvY2tLZXkiLCJzbHVnIiwid2l0aEJsb2NrIiwidGFibGVOYW1lIl0sInJhbmdlTWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzsiLCJtYXBwaW5ncyI6IkFBQUEsb0NBQW9DOzs7OytCQXNCdkJBOzs7ZUFBQUE7Ozt1QkFuQmdDO29FQUNyQjs7Ozs7O0FBa0JqQixNQUFNQSxpQkFBaUIsQ0FBQyxFQUM3QkMsUUFBUSxFQUNSQyxPQUFPLEVBQ1BDLFdBQVcsRUFDWEMsZ0JBQWdCLEVBQ2hCQyxLQUFLLEVBQ0xDLE1BQU0sRUFDTkMsSUFBSSxFQUNKQyxTQUFTLEVBQ1RDLFlBQVksRUFDWkMsaUJBQWlCLEVBQ0M7SUFDbEJKLE9BQU9LLE9BQU8sQ0FBQyxDQUFDQztRQUNkLElBQUlBLE1BQU1DLElBQUksS0FBSyxpQkFBaUJELE1BQU1DLElBQUksS0FBSyxPQUFPO1lBQ3hEYixlQUFlO2dCQUNiQztnQkFDQUM7Z0JBQ0FDO2dCQUNBQztnQkFDQUM7Z0JBQ0FHO2dCQUNBRixRQUFRTSxNQUFNTixNQUFNO2dCQUNwQkM7Z0JBQ0FFO2dCQUNBQztZQUNGO1lBRUE7UUFDRjtRQUVBLElBQUlFLE1BQU1DLElBQUksS0FBSyxRQUFRO1lBQ3pCRCxNQUFNRSxJQUFJLENBQUNILE9BQU8sQ0FBQyxDQUFDSTtnQkFDbEIsTUFBTUMsVUFBVUMsSUFBQUEsaUJBQVUsRUFBQ0YsT0FBTyxDQUFDLEVBQUVSLEtBQUssRUFBRVEsSUFBSUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHWDtnQkFDMUQsTUFBTVksZUFBZUYsSUFBQUEsaUJBQVUsRUFBQ0YsT0FBTyxDQUFDLEVBQUVQLFVBQVUsRUFBRVksSUFBQUEsb0JBQVcsRUFBQ0wsSUFBSUcsSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHVjtnQkFFakZSLGVBQWU7b0JBQ2JDO29CQUNBQztvQkFDQUM7b0JBQ0FDO29CQUNBQztvQkFDQUMsUUFBUVMsSUFBSVQsTUFBTTtvQkFDbEJDLE1BQU1TO29CQUNOUixXQUFXVztvQkFDWFY7b0JBQ0FDO2dCQUNGO1lBQ0Y7WUFFQTtRQUNGO1FBRUEsSUFBSVcsSUFBQUEsdUJBQWdCLEVBQUNULFFBQVE7WUFDM0IsT0FBUUEsTUFBTUMsSUFBSTtnQkFDaEIsS0FBSztvQkFBUzt3QkFDWixNQUFNUyxZQUFvQjs0QkFDeEJDLFNBQVM7Z0NBQ1BDLFdBQVc7NEJBQ2I7NEJBQ0FDLFNBQVMsQ0FBQyxFQUFFQyxNQUFNLEVBQUUsRUFBRSxFQUFFQyxHQUFHLEVBQUUsR0FBSztvQ0FBQ0EsSUFBSUQ7aUNBQVE7NEJBQy9DRSxNQUFNLENBQUM7d0JBQ1Q7d0JBRUEsTUFBTUMsaUJBQWlCM0IsUUFBUTRCLFlBQVksQ0FBQ0MsR0FBRyxDQUM3QyxDQUFDLEVBQUUzQixpQkFBaUIsQ0FBQyxFQUFFSSxVQUFVLEVBQUVZLElBQUFBLG9CQUFXLEVBQUNSLE1BQU1NLElBQUksRUFBRSxDQUFDO3dCQUc5RCxNQUFNYyw0QkFBNEIsQ0FBQyxFQUFFSCxlQUFlLEVBQUUzQixRQUFRK0IsYUFBYSxDQUFDLENBQUM7d0JBRTdFLElBQUkvQixRQUFRZ0MsTUFBTSxDQUFDRiwwQkFBMEIsRUFBRVYsVUFBVU0sSUFBSSxDQUFDM0IsUUFBUSxHQUFHQTt3QkFDekVFLFlBQVl5QixJQUFJLENBQUMsQ0FBQyxFQUFFckIsS0FBSyxFQUFFSyxNQUFNTSxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUdJO3dCQUUzQ3RCLGVBQWU7NEJBQ2JDOzRCQUNBQzs0QkFDQUMsYUFBYW1COzRCQUNibEIsa0JBQWtCeUI7NEJBQ2xCeEI7NEJBQ0FDLFFBQVFNLE1BQU1OLE1BQU07NEJBQ3BCQyxNQUFNOzRCQUNOQyxXQUFXOzRCQUNYQzs0QkFDQUM7d0JBQ0Y7d0JBRUE7b0JBQ0Y7Z0JBRUEsS0FBSztvQkFBVTt3QkFDYixJQUFJRSxNQUFNdUIsT0FBTyxFQUFFOzRCQUNqQixNQUFNQyxhQUFxQjtnQ0FDekJiLFNBQVM7b0NBQ1BjLElBQUk7b0NBQ0pDLE9BQU87b0NBQ1BDLFFBQVE7Z0NBQ1Y7Z0NBQ0FkLFNBQVMsQ0FBQyxFQUFFYSxLQUFLLEVBQUUsRUFBRSxFQUFFWCxHQUFHLEVBQUUsR0FBSzt3Q0FBQ0EsSUFBSVc7cUNBQU87NEJBQy9DOzRCQUVBbkMsWUFBWXlCLElBQUksQ0FBQyxDQUFDLEVBQUVyQixLQUFLLEVBQUVLLE1BQU1NLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBR2tCO3dCQUM3Qzt3QkFFQTtvQkFDRjtnQkFFQSxLQUFLO29CQUNIeEIsTUFBTTRCLE1BQU0sQ0FBQzdCLE9BQU8sQ0FBQyxDQUFDOEI7d0JBQ3BCLE1BQU1DLFdBQVcsQ0FBQyxRQUFRLEVBQUVELE1BQU1FLElBQUksQ0FBQyxDQUFDO3dCQUV4QyxJQUFJLENBQUNsQyxZQUFZLENBQUNpQyxTQUFTLEVBQUU7NEJBQzNCLE1BQU1FLFlBQW9CO2dDQUN4QnJCLFNBQVM7b0NBQ1BDLFdBQVc7Z0NBQ2I7Z0NBQ0FDLFNBQVMsQ0FBQyxFQUFFQyxNQUFNLEVBQUUsRUFBRSxFQUFFQyxHQUFHLEVBQUUsR0FBSzt3Q0FBQ0EsSUFBSUQ7cUNBQVE7Z0NBQy9DRSxNQUFNLENBQUM7NEJBQ1Q7NEJBRUEsTUFBTWlCLFlBQVkzQyxRQUFRNEIsWUFBWSxDQUFDQyxHQUFHLENBQ3hDLENBQUMsRUFBRXJCLGtCQUFrQixRQUFRLEVBQUVVLElBQUFBLG9CQUFXLEVBQUNxQixNQUFNRSxJQUFJLEVBQUUsQ0FBQzs0QkFHMUQsSUFBSXpDLFFBQVFnQyxNQUFNLENBQUMsQ0FBQyxFQUFFVyxVQUFVLEVBQUUzQyxRQUFRK0IsYUFBYSxDQUFDLENBQUMsQ0FBQyxFQUFFO2dDQUMxRFcsVUFBVWhCLElBQUksQ0FBQzNCLFFBQVEsR0FBR0E7NEJBQzVCOzRCQUNBUSxhQUFhbUIsSUFBSSxDQUFDYyxTQUFTLEdBQUdFOzRCQUU5QjVDLGVBQWU7Z0NBQ2JDO2dDQUNBQztnQ0FDQUMsYUFBYXlDO2dDQUNieEMsa0JBQWtCeUM7Z0NBQ2xCeEM7Z0NBQ0FHLFdBQVc7Z0NBQ1hGLFFBQVFtQyxNQUFNbkMsTUFBTTtnQ0FDcEJDLE1BQU07Z0NBQ05FO2dDQUNBQzs0QkFDRjt3QkFDRjtvQkFDRjtvQkFFQTtnQkFFRixLQUFLO29CQUNIVixlQUFlO3dCQUNiQzt3QkFDQUM7d0JBQ0FDO3dCQUNBQzt3QkFDQUksV0FBVyxDQUFDLEVBQUVBLFVBQVUsRUFBRVksSUFBQUEsb0JBQVcsRUFBQ1IsTUFBTU0sSUFBSSxFQUFFLENBQUMsQ0FBQzt3QkFDcERiO3dCQUNBQyxRQUFRTSxNQUFNTixNQUFNO3dCQUNwQkMsTUFBTSxDQUFDLEVBQUVBLEtBQUssRUFBRUssTUFBTU0sSUFBSSxDQUFDLENBQUMsQ0FBQzt3QkFDN0JUO3dCQUNBQztvQkFDRjtvQkFFQTtnQkFFRjtvQkFBUzt3QkFDUDtvQkFDRjtZQUNGO1FBQ0Y7SUFDRjtJQUVBLE9BQU9EO0FBQ1QifQ==
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"getTableColumnFromPath.d.ts","sourceRoot":"","sources":["../../src/queries/getTableColumnFromPath.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AAC7D,OAAO,KAAK,EAAE,KAAK,EAAE,kBAAkB,EAAe,UAAU,EAAa,MAAM,eAAe,CAAA;AAUlG,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAC5E,OAAO,KAAK,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAE1E,KAAK,UAAU,GAAG;IAChB,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,YAAY,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAA;IAC7C,KAAK,EAAE,OAAO,CAAA;CACf,CAAA;AAED,KAAK,WAAW,GAAG;IACjB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,UAAU,EAAE,CAAA;IACzB,KAAK,EAAE,kBAAkB,CAAA;IACzB,uBAAuB,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,MAAM,CAAA;IAClD,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;IACvB,SAAS,CAAC,EAAE,GAAG,CAAA;IACf,KAAK,EAAE,YAAY,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAA;CAC9C,CAAA;AAED,KAAK,IAAI,GAAG;IACV,OAAO,EAAE,eAAe,CAAA;IACxB,UAAU,CAAC,EAAE,YAAY,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAA;IACnD,cAAc,EAAE,MAAM,CAAA;IACtB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,WAAW,CAAC,EAAE,UAAU,EAAE,CAAA;IAC1B,MAAM,EAAE,CAAC,KAAK,GAAG,UAAU,CAAC,EAAE,CAAA;IAC9B,WAAW,EAAE,qBAAqB,CAAA;IAClC,KAAK,EAAE,eAAe,CAAA;IACtB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,YAAY,EAAE,MAAM,EAAE,CAAA;IACtB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;IAC3C,SAAS,EAAE,MAAM,CAAA;IACjB;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB;;OAEG;IACH,KAAK,EAAE,OAAO,CAAA;CACf,CAAA;AACD;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,2RAiBhC,IAAI,KAAG,
|
1
|
+
{"version":3,"file":"getTableColumnFromPath.d.ts","sourceRoot":"","sources":["../../src/queries/getTableColumnFromPath.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AAC7D,OAAO,KAAK,EAAE,KAAK,EAAE,kBAAkB,EAAe,UAAU,EAAa,MAAM,eAAe,CAAA;AAUlG,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAC5E,OAAO,KAAK,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAE1E,KAAK,UAAU,GAAG;IAChB,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,YAAY,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAA;IAC7C,KAAK,EAAE,OAAO,CAAA;CACf,CAAA;AAED,KAAK,WAAW,GAAG;IACjB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,UAAU,EAAE,CAAA;IACzB,KAAK,EAAE,kBAAkB,CAAA;IACzB,uBAAuB,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,MAAM,CAAA;IAClD,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;IACvB,SAAS,CAAC,EAAE,GAAG,CAAA;IACf,KAAK,EAAE,YAAY,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAA;CAC9C,CAAA;AAED,KAAK,IAAI,GAAG;IACV,OAAO,EAAE,eAAe,CAAA;IACxB,UAAU,CAAC,EAAE,YAAY,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAA;IACnD,cAAc,EAAE,MAAM,CAAA;IACtB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,WAAW,CAAC,EAAE,UAAU,EAAE,CAAA;IAC1B,MAAM,EAAE,CAAC,KAAK,GAAG,UAAU,CAAC,EAAE,CAAA;IAC9B,WAAW,EAAE,qBAAqB,CAAA;IAClC,KAAK,EAAE,eAAe,CAAA;IACtB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,YAAY,EAAE,MAAM,EAAE,CAAA;IACtB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;IAC3C,SAAS,EAAE,MAAM,CAAA;IACjB;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB;;OAEG;IACH,KAAK,EAAE,OAAO,CAAA;CACf,CAAA;AACD;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,2RAiBhC,IAAI,KAAG,WA2fT,CAAA"}
|
@@ -214,9 +214,10 @@ const getTableColumnFromPath = ({ adapter, aliasTable, collectionPath, columnPre
|
|
214
214
|
case 'array':
|
215
215
|
{
|
216
216
|
newTableName = adapter.tableNameMap.get(`${tableName}_${tableNameSuffix}${(0, _tosnakecase.default)(field.name)}`);
|
217
|
+
const arrayParentTable = aliasTable || adapter.tables[tableName];
|
217
218
|
constraintPath = `${constraintPath}${field.name}.%.`;
|
218
219
|
if (locale && field.localized && adapter.payload.config.localization) {
|
219
|
-
joins[newTableName] = (0, _drizzleorm.and)((0, _drizzleorm.eq)(
|
220
|
+
joins[newTableName] = (0, _drizzleorm.and)((0, _drizzleorm.eq)(arrayParentTable.id, adapter.tables[newTableName]._parentID), (0, _drizzleorm.eq)(adapter.tables[newTableName]._locale, locale));
|
220
221
|
if (locale !== 'all') {
|
221
222
|
constraints.push({
|
222
223
|
columnName: '_locale',
|
@@ -225,7 +226,7 @@ const getTableColumnFromPath = ({ adapter, aliasTable, collectionPath, columnPre
|
|
225
226
|
});
|
226
227
|
}
|
227
228
|
} else {
|
228
|
-
joins[newTableName] = (0, _drizzleorm.eq)(
|
229
|
+
joins[newTableName] = (0, _drizzleorm.eq)(arrayParentTable.id, adapter.tables[newTableName]._parentID);
|
229
230
|
}
|
230
231
|
return getTableColumnFromPath({
|
231
232
|
adapter,
|
@@ -453,4 +454,4 @@ const getTableColumnFromPath = ({ adapter, aliasTable, collectionPath, columnPre
|
|
453
454
|
throw new _errors.APIError(`Cannot find field for path at ${fieldPath}`);
|
454
455
|
};
|
455
456
|
|
456
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9xdWVyaWVzL2dldFRhYmxlQ29sdW1uRnJvbVBhdGgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tcGFyYW0tcmVhc3NpZ24gKi9cbmltcG9ydCB0eXBlIHsgU1FMIH0gZnJvbSAnZHJpenpsZS1vcm0nXG5pbXBvcnQgdHlwZSB7IFBnVGFibGVXaXRoQ29sdW1ucyB9IGZyb20gJ2RyaXp6bGUtb3JtL3BnLWNvcmUnXG5pbXBvcnQgdHlwZSB7IEZpZWxkLCBGaWVsZEFmZmVjdGluZ0RhdGEsIE51bWJlckZpZWxkLCBUYWJBc0ZpZWxkLCBUZXh0RmllbGQgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5pbXBvcnQgeyBhbmQsIGVxLCBsaWtlLCBzcWwgfSBmcm9tICdkcml6emxlLW9ybSdcbmltcG9ydCB7IGFsaWFzIH0gZnJvbSAnZHJpenpsZS1vcm0vcGctY29yZSdcbmltcG9ydCB7IEFQSUVycm9yIH0gZnJvbSAncGF5bG9hZC9lcnJvcnMnXG5pbXBvcnQgeyBmaWVsZEFmZmVjdHNEYXRhLCB0YWJIYXNOYW1lIH0gZnJvbSAncGF5bG9hZC90eXBlcydcbmltcG9ydCB7IGZsYXR0ZW5Ub3BMZXZlbEZpZWxkcyB9IGZyb20gJ3BheWxvYWQvdXRpbGl0aWVzJ1xuaW1wb3J0IHRvU25ha2VDYXNlIGZyb20gJ3RvLXNuYWtlLWNhc2UnXG5pbXBvcnQgeyB2NCBhcyB1dWlkIH0gZnJvbSAndXVpZCdcblxuaW1wb3J0IHR5cGUgeyBHZW5lcmljQ29sdW1uLCBHZW5lcmljVGFibGUsIFBvc3RncmVzQWRhcHRlciB9IGZyb20gJy4uL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBCdWlsZFF1ZXJ5Sm9pbkFsaWFzZXMsIEJ1aWxkUXVlcnlKb2lucyB9IGZyb20gJy4vYnVpbGRRdWVyeSdcblxudHlwZSBDb25zdHJhaW50ID0ge1xuICBjb2x1bW5OYW1lOiBzdHJpbmdcbiAgdGFibGU6IEdlbmVyaWNUYWJsZSB8IFBnVGFibGVXaXRoQ29sdW1uczxhbnk+XG4gIHZhbHVlOiB1bmtub3duXG59XG5cbnR5cGUgVGFibGVDb2x1bW4gPSB7XG4gIGNvbHVtbk5hbWU/OiBzdHJpbmdcbiAgY29uc3RyYWludHM6IENvbnN0cmFpbnRbXVxuICBmaWVsZDogRmllbGRBZmZlY3RpbmdEYXRhXG4gIGdldE5vdE51bGxDb2x1bW5CeVZhbHVlPzogKHZhbDogdW5rbm93bikgPT4gc3RyaW5nXG4gIHBhdGhTZWdtZW50cz86IHN0cmluZ1tdXG4gIHJhd0NvbHVtbj86IFNRTFxuICB0YWJsZTogR2VuZXJpY1RhYmxlIHwgUGdUYWJsZVdpdGhDb2x1bW5zPGFueT5cbn1cblxudHlwZSBBcmdzID0ge1xuICBhZGFwdGVyOiBQb3N0Z3Jlc0FkYXB0ZXJcbiAgYWxpYXNUYWJsZT86IEdlbmVyaWNUYWJsZSB8IFBnVGFibGVXaXRoQ29sdW1uczxhbnk+XG4gIGNvbGxlY3Rpb25QYXRoOiBzdHJpbmdcbiAgY29sdW1uUHJlZml4Pzogc3RyaW5nXG4gIGNvbnN0cmFpbnRQYXRoPzogc3RyaW5nXG4gIGNvbnN0cmFpbnRzPzogQ29uc3RyYWludFtdXG4gIGZpZWxkczogKEZpZWxkIHwgVGFiQXNGaWVsZClbXVxuICBqb2luQWxpYXNlczogQnVpbGRRdWVyeUpvaW5BbGlhc2VzXG4gIGpvaW5zOiBCdWlsZFF1ZXJ5Sm9pbnNcbiAgbG9jYWxlPzogc3RyaW5nXG4gIHBhdGhTZWdtZW50czogc3RyaW5nW11cbiAgcm9vdFRhYmxlTmFtZT86IHN0cmluZ1xuICBzZWxlY3RGaWVsZHM6IFJlY29yZDxzdHJpbmcsIEdlbmVyaWNDb2x1bW4+XG4gIHRhYmxlTmFtZTogc3RyaW5nXG4gIC8qKlxuICAgKiBJZiBjcmVhdGluZyBhIG5ldyB0YWJsZSBuYW1lIGZvciBhcnJheXMgYW5kIGJsb2NrcywgdGhpcyBzdWZmaXggc2hvdWxkIGJlIGFwcGVuZGVkIHRvIHRoZSB0YWJsZSBuYW1lXG4gICAqL1xuICB0YWJsZU5hbWVTdWZmaXg/OiBzdHJpbmdcbiAgLyoqXG4gICAqIFRoZSByYXcgdmFsdWUgb2YgdGhlIHF1ZXJ5IGJlZm9yZSBzYW5pdGl6YXRpb25cbiAgICovXG4gIHZhbHVlOiB1bmtub3duXG59XG4vKipcbiAqIFRyYW5zZm9ybXMgcGF0aCB0byB0YWJsZSBhbmQgY29sdW1uIG5hbWVcbiAqIEFkZHMgdGFibGVzIHRvIGBqb2luYFxuICogQHJldHVybnMgVGFibGVDb2x1bW5cbiAqL1xuZXhwb3J0IGNvbnN0IGdldFRhYmxlQ29sdW1uRnJvbVBhdGggPSAoe1xuICBhZGFwdGVyLFxuICBhbGlhc1RhYmxlLFxuICBjb2xsZWN0aW9uUGF0aCxcbiAgY29sdW1uUHJlZml4ID0gJycsXG4gIGNvbnN0cmFpbnRQYXRoOiBpbmNvbWluZ0NvbnN0cmFpbnRQYXRoLFxuICBjb25zdHJhaW50cyA9IFtdLFxuICBmaWVsZHMsXG4gIGpvaW5BbGlhc2VzLFxuICBqb2lucyxcbiAgbG9jYWxlOiBpbmNvbWluZ0xvY2FsZSxcbiAgcGF0aFNlZ21lbnRzOiBpbmNvbWluZ1NlZ21lbnRzLFxuICByb290VGFibGVOYW1lOiBpbmNvbWluZ1Jvb3RUYWJsZU5hbWUsXG4gIHNlbGVjdEZpZWxkcyxcbiAgdGFibGVOYW1lLFxuICB0YWJsZU5hbWVTdWZmaXggPSAnJyxcbiAgdmFsdWUsXG59OiBBcmdzKTogVGFibGVDb2x1bW4gPT4ge1xuICBjb25zdCBmaWVsZFBhdGggPSBpbmNvbWluZ1NlZ21lbnRzWzBdXG4gIGxldCBsb2NhbGUgPSBpbmNvbWluZ0xvY2FsZVxuICBjb25zdCByb290VGFibGVOYW1lID0gaW5jb21pbmdSb290VGFibGVOYW1lIHx8IHRhYmxlTmFtZVxuICBsZXQgY29uc3RyYWludFBhdGggPSBpbmNvbWluZ0NvbnN0cmFpbnRQYXRoIHx8ICcnXG5cbiAgY29uc3QgZmllbGQgPSBmbGF0dGVuVG9wTGV2ZWxGaWVsZHMoZmllbGRzIGFzIEZpZWxkW10pLmZpbmQoXG4gICAgKGZpZWxkVG9GaW5kKSA9PiBmaWVsZEFmZmVjdHNEYXRhKGZpZWxkVG9GaW5kKSAmJiBmaWVsZFRvRmluZC5uYW1lID09PSBmaWVsZFBhdGgsXG4gICkgYXMgRmllbGQgfCBUYWJBc0ZpZWxkXG4gIGxldCBuZXdUYWJsZU5hbWUgPSB0YWJsZU5hbWVcblxuICBpZiAoIWZpZWxkICYmIGZpZWxkUGF0aCA9PT0gJ2lkJykge1xuICAgIHNlbGVjdEZpZWxkcy5pZCA9IGFkYXB0ZXIudGFibGVzW25ld1RhYmxlTmFtZV0uaWRcbiAgICByZXR1cm4ge1xuICAgICAgY29sdW1uTmFtZTogJ2lkJyxcbiAgICAgIGNvbnN0cmFpbnRzLFxuICAgICAgZmllbGQ6IHtcbiAgICAgICAgbmFtZTogJ2lkJyxcbiAgICAgICAgdHlwZTogYWRhcHRlci5pZFR5cGUgPT09ICd1dWlkJyA/ICd0ZXh0JyA6ICdudW1iZXInLFxuICAgICAgfSBhcyBOdW1iZXJGaWVsZCB8IFRleHRGaWVsZCxcbiAgICAgIHRhYmxlOiBhZGFwdGVyLnRhYmxlc1tuZXdUYWJsZU5hbWVdLFxuICAgIH1cbiAgfVxuXG4gIGlmIChmaWVsZCkge1xuICAgIGNvbnN0IHBhdGhTZWdtZW50cyA9IFsuLi5pbmNvbWluZ1NlZ21lbnRzXVxuXG4gICAgLy8gSWYgbmV4dCBzZWdtZW50IGlzIGEgbG9jYWxlLFxuICAgIC8vIHdlIG5lZWQgdG8gdGFrZSBpdCBvdXQgYW5kIHVzZSBpdCBhcyB0aGUgbG9jYWxlIGZyb20gdGhpcyBwb2ludCBvblxuICAgIGlmICgnbG9jYWxpemVkJyBpbiBmaWVsZCAmJiBmaWVsZC5sb2NhbGl6ZWQgJiYgYWRhcHRlci5wYXlsb2FkLmNvbmZpZy5sb2NhbGl6YXRpb24pIHtcbiAgICAgIGNvbnN0IG1hdGNoZWRMb2NhbGUgPSBhZGFwdGVyLnBheWxvYWQuY29uZmlnLmxvY2FsaXphdGlvbi5sb2NhbGVDb2Rlcy5maW5kKFxuICAgICAgICAobG9jYWxlKSA9PiBsb2NhbGUgPT09IHBhdGhTZWdtZW50c1sxXSxcbiAgICAgIClcblxuICAgICAgaWYgKG1hdGNoZWRMb2NhbGUpIHtcbiAgICAgICAgbG9jYWxlID0gbWF0Y2hlZExvY2FsZVxuICAgICAgICBwYXRoU2VnbWVudHMuc3BsaWNlKDEsIDEpXG4gICAgICB9XG4gICAgfVxuXG4gICAgc3dpdGNoIChmaWVsZC50eXBlKSB7XG4gICAgICBjYXNlICd0YWJzJzoge1xuICAgICAgICByZXR1cm4gZ2V0VGFibGVDb2x1bW5Gcm9tUGF0aCh7XG4gICAgICAgICAgYWRhcHRlcixcbiAgICAgICAgICBhbGlhc1RhYmxlLFxuICAgICAgICAgIGNvbGxlY3Rpb25QYXRoLFxuICAgICAgICAgIGNvbHVtblByZWZpeCxcbiAgICAgICAgICBjb25zdHJhaW50UGF0aCxcbiAgICAgICAgICBjb25zdHJhaW50cyxcbiAgICAgICAgICBmaWVsZHM6IGZpZWxkLnRhYnMubWFwKCh0YWIpID0+ICh7XG4gICAgICAgICAgICAuLi50YWIsXG4gICAgICAgICAgICB0eXBlOiAndGFiJyxcbiAgICAgICAgICB9KSksXG4gICAgICAgICAgam9pbkFsaWFzZXMsXG4gICAgICAgICAgam9pbnMsXG4gICAgICAgICAgbG9jYWxlLFxuICAgICAgICAgIHBhdGhTZWdtZW50czogcGF0aFNlZ21lbnRzLnNsaWNlKDEpLFxuICAgICAgICAgIHJvb3RUYWJsZU5hbWUsXG4gICAgICAgICAgc2VsZWN0RmllbGRzLFxuICAgICAgICAgIHRhYmxlTmFtZTogbmV3VGFibGVOYW1lLFxuICAgICAgICAgIHRhYmxlTmFtZVN1ZmZpeCxcbiAgICAgICAgICB2YWx1ZSxcbiAgICAgICAgfSlcbiAgICAgIH1cbiAgICAgIGNhc2UgJ3RhYic6IHtcbiAgICAgICAgaWYgKHRhYkhhc05hbWUoZmllbGQpKSB7XG4gICAgICAgICAgcmV0dXJuIGdldFRhYmxlQ29sdW1uRnJvbVBhdGgoe1xuICAgICAgICAgICAgYWRhcHRlcixcbiAgICAgICAgICAgIGFsaWFzVGFibGUsXG4gICAgICAgICAgICBjb2xsZWN0aW9uUGF0aCxcbiAgICAgICAgICAgIGNvbHVtblByZWZpeDogYCR7Y29sdW1uUHJlZml4fSR7ZmllbGQubmFtZX1fYCxcbiAgICAgICAgICAgIGNvbnN0cmFpbnRQYXRoOiBgJHtjb25zdHJhaW50UGF0aH0ke2ZpZWxkLm5hbWV9LmAsXG4gICAgICAgICAgICBjb25zdHJhaW50cyxcbiAgICAgICAgICAgIGZpZWxkczogZmllbGQuZmllbGRzLFxuICAgICAgICAgICAgam9pbkFsaWFzZXMsXG4gICAgICAgICAgICBqb2lucyxcbiAgICAgICAgICAgIGxvY2FsZSxcbiAgICAgICAgICAgIHBhdGhTZWdtZW50czogcGF0aFNlZ21lbnRzLnNsaWNlKDEpLFxuICAgICAgICAgICAgcm9vdFRhYmxlTmFtZSxcbiAgICAgICAgICAgIHNlbGVjdEZpZWxkcyxcbiAgICAgICAgICAgIHRhYmxlTmFtZTogbmV3VGFibGVOYW1lLFxuICAgICAgICAgICAgdGFibGVOYW1lU3VmZml4OiBgJHt0YWJsZU5hbWVTdWZmaXh9JHt0b1NuYWtlQ2FzZShmaWVsZC5uYW1lKX1fYCxcbiAgICAgICAgICAgIHZhbHVlLFxuICAgICAgICAgIH0pXG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGdldFRhYmxlQ29sdW1uRnJvbVBhdGgoe1xuICAgICAgICAgIGFkYXB0ZXIsXG4gICAgICAgICAgYWxpYXNUYWJsZSxcbiAgICAgICAgICBjb2xsZWN0aW9uUGF0aCxcbiAgICAgICAgICBjb2x1bW5QcmVmaXgsXG4gICAgICAgICAgY29uc3RyYWludFBhdGgsXG4gICAgICAgICAgY29uc3RyYWludHMsXG4gICAgICAgICAgZmllbGRzOiBmaWVsZC5maWVsZHMsXG4gICAgICAgICAgam9pbkFsaWFzZXMsXG4gICAgICAgICAgam9pbnMsXG4gICAgICAgICAgbG9jYWxlLFxuICAgICAgICAgIHBhdGhTZWdtZW50czogcGF0aFNlZ21lbnRzLnNsaWNlKDEpLFxuICAgICAgICAgIHJvb3RUYWJsZU5hbWUsXG4gICAgICAgICAgc2VsZWN0RmllbGRzLFxuICAgICAgICAgIHRhYmxlTmFtZTogbmV3VGFibGVOYW1lLFxuICAgICAgICAgIHRhYmxlTmFtZVN1ZmZpeCxcbiAgICAgICAgICB2YWx1ZSxcbiAgICAgICAgfSlcbiAgICAgIH1cblxuICAgICAgY2FzZSAnZ3JvdXAnOiB7XG4gICAgICAgIGlmIChsb2NhbGUgJiYgZmllbGQubG9jYWxpemVkICYmIGFkYXB0ZXIucGF5bG9hZC5jb25maWcubG9jYWxpemF0aW9uKSB7XG4gICAgICAgICAgbmV3VGFibGVOYW1lID0gYCR7dGFibGVOYW1lfSR7YWRhcHRlci5sb2NhbGVzU3VmZml4fWBcblxuICAgICAgICAgIGpvaW5zW3RhYmxlTmFtZV0gPSBlcShcbiAgICAgICAgICAgIGFkYXB0ZXIudGFibGVzW3RhYmxlTmFtZV0uaWQsXG4gICAgICAgICAgICBhZGFwdGVyLnRhYmxlc1tuZXdUYWJsZU5hbWVdLl9wYXJlbnRJRCxcbiAgICAgICAgICApXG4gICAgICAgICAgaWYgKGxvY2FsZSAhPT0gJ2FsbCcpIHtcbiAgICAgICAgICAgIGNvbnN0cmFpbnRzLnB1c2goe1xuICAgICAgICAgICAgICBjb2x1bW5OYW1lOiAnX2xvY2FsZScsXG4gICAgICAgICAgICAgIHRhYmxlOiBhZGFwdGVyLnRhYmxlc1tuZXdUYWJsZU5hbWVdLFxuICAgICAgICAgICAgICB2YWx1ZTogbG9jYWxlLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGdldFRhYmxlQ29sdW1uRnJvbVBhdGgoe1xuICAgICAgICAgIGFkYXB0ZXIsXG4gICAgICAgICAgYWxpYXNUYWJsZSxcbiAgICAgICAgICBjb2xsZWN0aW9uUGF0aCxcbiAgICAgICAgICBjb2x1bW5QcmVmaXg6IGAke2NvbHVtblByZWZpeH0ke2ZpZWxkLm5hbWV9X2AsXG4gICAgICAgICAgY29uc3RyYWludFBhdGg6IGAke2NvbnN0cmFpbnRQYXRofSR7ZmllbGQubmFtZX0uYCxcbiAgICAgICAgICBjb25zdHJhaW50cyxcbiAgICAgICAgICBmaWVsZHM6IGZpZWxkLmZpZWxkcyxcbiAgICAgICAgICBqb2luQWxpYXNlcyxcbiAgICAgICAgICBqb2lucyxcbiAgICAgICAgICBsb2NhbGUsXG4gICAgICAgICAgcGF0aFNlZ21lbnRzOiBwYXRoU2VnbWVudHMuc2xpY2UoMSksXG4gICAgICAgICAgcm9vdFRhYmxlTmFtZSxcbiAgICAgICAgICBzZWxlY3RGaWVsZHMsXG4gICAgICAgICAgdGFibGVOYW1lOiBuZXdUYWJsZU5hbWUsXG4gICAgICAgICAgdGFibGVOYW1lU3VmZml4OiBgJHt0YWJsZU5hbWVTdWZmaXh9JHt0b1NuYWtlQ2FzZShmaWVsZC5uYW1lKX1fYCxcbiAgICAgICAgICB2YWx1ZSxcbiAgICAgICAgfSlcbiAgICAgIH1cblxuICAgICAgY2FzZSAnc2VsZWN0Jzoge1xuICAgICAgICBpZiAoZmllbGQuaGFzTWFueSkge1xuICAgICAgICAgIGNvbnN0IG5ld1RhYmxlTmFtZSA9IGFkYXB0ZXIudGFibGVOYW1lTWFwLmdldChcbiAgICAgICAgICAgIGAke3RhYmxlTmFtZX1fJHt0YWJsZU5hbWVTdWZmaXh9JHt0b1NuYWtlQ2FzZShmaWVsZC5uYW1lKX1gLFxuICAgICAgICAgIClcblxuICAgICAgICAgIGlmIChsb2NhbGUgJiYgZmllbGQubG9jYWxpemVkICYmIGFkYXB0ZXIucGF5bG9hZC5jb25maWcubG9jYWxpemF0aW9uKSB7XG4gICAgICAgICAgICBqb2luc1tuZXdUYWJsZU5hbWVdID0gYW5kKFxuICAgICAgICAgICAgICBlcShhZGFwdGVyLnRhYmxlc1t0YWJsZU5hbWVdLmlkLCBhZGFwdGVyLnRhYmxlc1tuZXdUYWJsZU5hbWVdLnBhcmVudCksXG4gICAgICAgICAgICAgIGVxKGFkYXB0ZXIudGFibGVzW25ld1RhYmxlTmFtZV0uX2xvY2FsZSwgbG9jYWxlKSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIGlmIChsb2NhbGUgIT09ICdhbGwnKSB7XG4gICAgICAgICAgICAgIGNvbnN0cmFpbnRzLnB1c2goe1xuICAgICAgICAgICAgICAgIGNvbHVtbk5hbWU6ICdfbG9jYWxlJyxcbiAgICAgICAgICAgICAgICB0YWJsZTogYWRhcHRlci50YWJsZXNbbmV3VGFibGVOYW1lXSxcbiAgICAgICAgICAgICAgICB2YWx1ZTogbG9jYWxlLFxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBqb2luc1tuZXdUYWJsZU5hbWVdID0gZXEoXG4gICAgICAgICAgICAgIGFkYXB0ZXIudGFibGVzW3RhYmxlTmFtZV0uaWQsXG4gICAgICAgICAgICAgIGFkYXB0ZXIudGFibGVzW25ld1RhYmxlTmFtZV0ucGFyZW50LFxuICAgICAgICAgICAgKVxuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBjb2x1bW5OYW1lOiAndmFsdWUnLFxuICAgICAgICAgICAgY29uc3RyYWludHMsXG4gICAgICAgICAgICBmaWVsZCxcbiAgICAgICAgICAgIHRhYmxlOiBhZGFwdGVyLnRhYmxlc1tuZXdUYWJsZU5hbWVdLFxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBicmVha1xuICAgICAgfVxuXG4gICAgICBjYXNlICd0ZXh0JzpcbiAgICAgIGNhc2UgJ251bWJlcic6IHtcbiAgICAgICAgaWYgKGZpZWxkLmhhc01hbnkpIHtcbiAgICAgICAgICBsZXQgdGFibGVUeXBlID0gJ3RleHRzJ1xuICAgICAgICAgIGxldCBjb2x1bW5OYW1lID0gJ3RleHQnXG4gICAgICAgICAgaWYgKGZpZWxkLnR5cGUgPT09ICdudW1iZXInKSB7XG4gICAgICAgICAgICB0YWJsZVR5cGUgPSAnbnVtYmVycydcbiAgICAgICAgICAgIGNvbHVtbk5hbWUgPSAnbnVtYmVyJ1xuICAgICAgICAgIH1cbiAgICAgICAgICBuZXdUYWJsZU5hbWUgPSBgJHtyb290VGFibGVOYW1lfV8ke3RhYmxlVHlwZX1gXG4gICAgICAgICAgY29uc3Qgam9pbkNvbnN0cmFpbnRzID0gW1xuICAgICAgICAgICAgZXEoYWRhcHRlci50YWJsZXNbcm9vdFRhYmxlTmFtZV0uaWQsIGFkYXB0ZXIudGFibGVzW25ld1RhYmxlTmFtZV0ucGFyZW50KSxcbiAgICAgICAgICAgIGxpa2UoYWRhcHRlci50YWJsZXNbbmV3VGFibGVOYW1lXS5wYXRoLCBgJHtjb25zdHJhaW50UGF0aH0ke2ZpZWxkLm5hbWV9YCksXG4gICAgICAgICAgXVxuXG4gICAgICAgICAgaWYgKGxvY2FsZSAmJiBmaWVsZC5sb2NhbGl6ZWQgJiYgYWRhcHRlci5wYXlsb2FkLmNvbmZpZy5sb2NhbGl6YXRpb24pIHtcbiAgICAgICAgICAgIGpvaW5zW25ld1RhYmxlTmFtZV0gPSBhbmQoXG4gICAgICAgICAgICAgIC4uLmpvaW5Db25zdHJhaW50cyxcbiAgICAgICAgICAgICAgZXEoYWRhcHRlci50YWJsZXNbbmV3VGFibGVOYW1lXS5fbG9jYWxlLCBsb2NhbGUpLFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgaWYgKGxvY2FsZSAhPT0gJ2FsbCcpIHtcbiAgICAgICAgICAgICAgY29uc3RyYWludHMucHVzaCh7XG4gICAgICAgICAgICAgICAgY29sdW1uTmFtZTogJ2xvY2FsZScsXG4gICAgICAgICAgICAgICAgdGFibGU6IGFkYXB0ZXIudGFibGVzW25ld1RhYmxlTmFtZV0sXG4gICAgICAgICAgICAgICAgdmFsdWU6IGxvY2FsZSxcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgam9pbnNbbmV3VGFibGVOYW1lXSA9IGFuZCguLi5qb2luQ29uc3RyYWludHMpXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGNvbHVtbk5hbWUsXG4gICAgICAgICAgICBjb25zdHJhaW50cyxcbiAgICAgICAgICAgIGZpZWxkLFxuICAgICAgICAgICAgdGFibGU6IGFkYXB0ZXIudGFibGVzW25ld1RhYmxlTmFtZV0sXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGJyZWFrXG4gICAgICB9XG5cbiAgICAgIGNhc2UgJ2FycmF5Jzoge1xuICAgICAgICBuZXdUYWJsZU5hbWUgPSBhZGFwdGVyLnRhYmxlTmFtZU1hcC5nZXQoXG4gICAgICAgICAgYCR7dGFibGVOYW1lfV8ke3RhYmxlTmFtZVN1ZmZpeH0ke3RvU25ha2VDYXNlKGZpZWxkLm5hbWUpfWAsXG4gICAgICAgIClcblxuICAgICAgICBjb25zdHJhaW50UGF0aCA9IGAke2NvbnN0cmFpbnRQYXRofSR7ZmllbGQubmFtZX0uJS5gXG4gICAgICAgIGlmIChsb2NhbGUgJiYgZmllbGQubG9jYWxpemVkICYmIGFkYXB0ZXIucGF5bG9hZC5jb25maWcubG9jYWxpemF0aW9uKSB7XG4gICAgICAgICAgam9pbnNbbmV3VGFibGVOYW1lXSA9IGFuZChcbiAgICAgICAgICAgIGVxKGFkYXB0ZXIudGFibGVzW3RhYmxlTmFtZV0uaWQsIGFkYXB0ZXIudGFibGVzW25ld1RhYmxlTmFtZV0uX3BhcmVudElEKSxcbiAgICAgICAgICAgIGVxKGFkYXB0ZXIudGFibGVzW25ld1RhYmxlTmFtZV0uX2xvY2FsZSwgbG9jYWxlKSxcbiAgICAgICAgICApXG4gICAgICAgICAgaWYgKGxvY2FsZSAhPT0gJ2FsbCcpIHtcbiAgICAgICAgICAgIGNvbnN0cmFpbnRzLnB1c2goe1xuICAgICAgICAgICAgICBjb2x1bW5OYW1lOiAnX2xvY2FsZScsXG4gICAgICAgICAgICAgIHRhYmxlOiBhZGFwdGVyLnRhYmxlc1tuZXdUYWJsZU5hbWVdLFxuICAgICAgICAgICAgICB2YWx1ZTogbG9jYWxlLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgam9pbnNbbmV3VGFibGVOYW1lXSA9IGVxKFxuICAgICAgICAgICAgYWRhcHRlci50YWJsZXNbdGFibGVOYW1lXS5pZCxcbiAgICAgICAgICAgIGFkYXB0ZXIudGFibGVzW25ld1RhYmxlTmFtZV0uX3BhcmVudElELFxuICAgICAgICAgIClcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZ2V0VGFibGVDb2x1bW5Gcm9tUGF0aCh7XG4gICAgICAgICAgYWRhcHRlcixcbiAgICAgICAgICBjb2xsZWN0aW9uUGF0aCxcbiAgICAgICAgICBjb25zdHJhaW50UGF0aCxcbiAgICAgICAgICBjb25zdHJhaW50cyxcbiAgICAgICAgICBmaWVsZHM6IGZpZWxkLmZpZWxkcyxcbiAgICAgICAgICBqb2luQWxpYXNlcyxcbiAgICAgICAgICBqb2lucyxcbiAgICAgICAgICBsb2NhbGUsXG4gICAgICAgICAgcGF0aFNlZ21lbnRzOiBwYXRoU2VnbWVudHMuc2xpY2UoMSksXG4gICAgICAgICAgcm9vdFRhYmxlTmFtZSxcbiAgICAgICAgICBzZWxlY3RGaWVsZHMsXG4gICAgICAgICAgdGFibGVOYW1lOiBuZXdUYWJsZU5hbWUsXG4gICAgICAgICAgdmFsdWUsXG4gICAgICAgIH0pXG4gICAgICB9XG5cbiAgICAgIGNhc2UgJ2Jsb2Nrcyc6IHtcbiAgICAgICAgbGV0IGJsb2NrVGFibGVDb2x1bW46IFRhYmxlQ29sdW1uXG4gICAgICAgIGxldCBuZXdUYWJsZU5hbWU6IHN0cmluZ1xuXG4gICAgICAgIC8vIGhhbmRsZSBibG9ja1R5cGUgcXVlcmllc1xuICAgICAgICBpZiAocGF0aFNlZ21lbnRzWzFdID09PSAnYmxvY2tUeXBlJykge1xuICAgICAgICAgIC8vIGZpbmQgdGhlIGJsb2NrIGNvbmZpZyB1c2luZyB0aGUgdmFsdWVcbiAgICAgICAgICBjb25zdCBibG9ja1R5cGVzID0gQXJyYXkuaXNBcnJheSh2YWx1ZSkgPyB2YWx1ZSA6IFt2YWx1ZV1cbiAgICAgICAgICBibG9ja1R5cGVzLmZvckVhY2goKGJsb2NrVHlwZSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgYmxvY2sgPSBmaWVsZC5ibG9ja3MuZmluZCgoYmxvY2spID0+IGJsb2NrLnNsdWcgPT09IGJsb2NrVHlwZSlcblxuICAgICAgICAgICAgbmV3VGFibGVOYW1lID0gYWRhcHRlci50YWJsZU5hbWVNYXAuZ2V0KFxuICAgICAgICAgICAgICBgJHt0YWJsZU5hbWV9X2Jsb2Nrc18ke3RvU25ha2VDYXNlKGJsb2NrLnNsdWcpfWAsXG4gICAgICAgICAgICApXG5cbiAgICAgICAgICAgIGpvaW5zW25ld1RhYmxlTmFtZV0gPSBlcShcbiAgICAgICAgICAgICAgYWRhcHRlci50YWJsZXNbdGFibGVOYW1lXS5pZCxcbiAgICAgICAgICAgICAgYWRhcHRlci50YWJsZXNbbmV3VGFibGVOYW1lXS5fcGFyZW50SUQsXG4gICAgICAgICAgICApXG4gICAgICAgICAgICBjb25zdHJhaW50cy5wdXNoKHtcbiAgICAgICAgICAgICAgY29sdW1uTmFtZTogJ19wYXRoJyxcbiAgICAgICAgICAgICAgdGFibGU6IGFkYXB0ZXIudGFibGVzW25ld1RhYmxlTmFtZV0sXG4gICAgICAgICAgICAgIHZhbHVlOiBwYXRoU2VnbWVudHNbMF0sXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIH0pXG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGNvbnN0cmFpbnRzLFxuICAgICAgICAgICAgZmllbGQsXG4gICAgICAgICAgICBnZXROb3ROdWxsQ29sdW1uQnlWYWx1ZTogKCkgPT4gJ2lkJyxcbiAgICAgICAgICAgIHRhYmxlOiBhZGFwdGVyLnRhYmxlc1t0YWJsZU5hbWVdLFxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGhhc0Jsb2NrRmllbGQgPSBmaWVsZC5ibG9ja3Muc29tZSgoYmxvY2spID0+IHtcbiAgICAgICAgICBuZXdUYWJsZU5hbWUgPSBhZGFwdGVyLnRhYmxlTmFtZU1hcC5nZXQoYCR7dGFibGVOYW1lfV9ibG9ja3NfJHt0b1NuYWtlQ2FzZShibG9jay5zbHVnKX1gKVxuICAgICAgICAgIGNvbnN0cmFpbnRQYXRoID0gYCR7Y29uc3RyYWludFBhdGh9JHtmaWVsZC5uYW1lfS4lLmBcblxuICAgICAgICAgIGxldCByZXN1bHRcbiAgICAgICAgICBjb25zdCBibG9ja0NvbnN0cmFpbnRzID0gW11cbiAgICAgICAgICBjb25zdCBibG9ja1NlbGVjdEZpZWxkcyA9IHt9XG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHJlc3VsdCA9IGdldFRhYmxlQ29sdW1uRnJvbVBhdGgoe1xuICAgICAgICAgICAgICBhZGFwdGVyLFxuICAgICAgICAgICAgICBjb2xsZWN0aW9uUGF0aCxcbiAgICAgICAgICAgICAgY29uc3RyYWludFBhdGgsXG4gICAgICAgICAgICAgIGNvbnN0cmFpbnRzOiBibG9ja0NvbnN0cmFpbnRzLFxuICAgICAgICAgICAgICBmaWVsZHM6IGJsb2NrLmZpZWxkcyxcbiAgICAgICAgICAgICAgam9pbkFsaWFzZXMsXG4gICAgICAgICAgICAgIGpvaW5zLFxuICAgICAgICAgICAgICBsb2NhbGUsXG4gICAgICAgICAgICAgIHBhdGhTZWdtZW50czogcGF0aFNlZ21lbnRzLnNsaWNlKDEpLFxuICAgICAgICAgICAgICByb290VGFibGVOYW1lLFxuICAgICAgICAgICAgICBzZWxlY3RGaWVsZHM6IGJsb2NrU2VsZWN0RmllbGRzLFxuICAgICAgICAgICAgICB0YWJsZU5hbWU6IG5ld1RhYmxlTmFtZSxcbiAgICAgICAgICAgICAgdmFsdWUsXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICAvLyB0aGlzIGlzIGZpbmUsIG5vdCBldmVyeSBibG9jayB3aWxsIGhhdmUgdGhlIGZpZWxkXG4gICAgICAgICAgfVxuICAgICAgICAgIGlmICghcmVzdWx0KSB7XG4gICAgICAgICAgICByZXR1cm5cbiAgICAgICAgICB9XG4gICAgICAgICAgYmxvY2tUYWJsZUNvbHVtbiA9IHJlc3VsdFxuICAgICAgICAgIGNvbnN0cmFpbnRzID0gY29uc3RyYWludHMuY29uY2F0KGJsb2NrQ29uc3RyYWludHMpXG4gICAgICAgICAgc2VsZWN0RmllbGRzID0geyAuLi5zZWxlY3RGaWVsZHMsIC4uLmJsb2NrU2VsZWN0RmllbGRzIH1cbiAgICAgICAgICBpZiAoZmllbGQubG9jYWxpemVkICYmIGFkYXB0ZXIucGF5bG9hZC5jb25maWcubG9jYWxpemF0aW9uKSB7XG4gICAgICAgICAgICBqb2luc1tuZXdUYWJsZU5hbWVdID0gYW5kKFxuICAgICAgICAgICAgICBlcShhZGFwdGVyLnRhYmxlc1t0YWJsZU5hbWVdLmlkLCBhZGFwdGVyLnRhYmxlc1tuZXdUYWJsZU5hbWVdLl9wYXJlbnRJRCksXG4gICAgICAgICAgICAgIGVxKGFkYXB0ZXIudGFibGVzW25ld1RhYmxlTmFtZV0uX2xvY2FsZSwgbG9jYWxlKSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIGlmIChsb2NhbGUpIHtcbiAgICAgICAgICAgICAgY29uc3RyYWludHMucHVzaCh7XG4gICAgICAgICAgICAgICAgY29sdW1uTmFtZTogJ19sb2NhbGUnLFxuICAgICAgICAgICAgICAgIHRhYmxlOiBhZGFwdGVyLnRhYmxlc1tuZXdUYWJsZU5hbWVdLFxuICAgICAgICAgICAgICAgIHZhbHVlOiBsb2NhbGUsXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGpvaW5zW25ld1RhYmxlTmFtZV0gPSBlcShcbiAgICAgICAgICAgICAgYWRhcHRlci50YWJsZXNbdGFibGVOYW1lXS5pZCxcbiAgICAgICAgICAgICAgYWRhcHRlci50YWJsZXNbbmV3VGFibGVOYW1lXS5fcGFyZW50SUQsXG4gICAgICAgICAgICApXG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiB0cnVlXG4gICAgICAgIH0pXG4gICAgICAgIGlmIChoYXNCbG9ja0ZpZWxkKSB7XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGNvbHVtbk5hbWU6IGJsb2NrVGFibGVDb2x1bW4uY29sdW1uTmFtZSxcbiAgICAgICAgICAgIGNvbnN0cmFpbnRzLFxuICAgICAgICAgICAgZmllbGQ6IGJsb2NrVGFibGVDb2x1bW4uZmllbGQsXG4gICAgICAgICAgICBwYXRoU2VnbWVudHM6IHBhdGhTZWdtZW50cy5zbGljZSgxKSxcbiAgICAgICAgICAgIHJhd0NvbHVtbjogYmxvY2tUYWJsZUNvbHVtbi5yYXdDb2x1bW4sXG4gICAgICAgICAgICB0YWJsZTogYmxvY2tUYWJsZUNvbHVtbi50YWJsZSxcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWtcbiAgICAgIH1cblxuICAgICAgY2FzZSAncmVsYXRpb25zaGlwJzpcbiAgICAgIGNhc2UgJ3VwbG9hZCc6IHtcbiAgICAgICAgbGV0IHJlbGF0aW9uc2hpcEZpZWxkc1xuICAgICAgICBjb25zdCByZWxhdGlvblRhYmxlTmFtZSA9IGAke3Jvb3RUYWJsZU5hbWV9JHthZGFwdGVyLnJlbGF0aW9uc2hpcHNTdWZmaXh9YFxuICAgICAgICBjb25zdCBuZXdDb2xsZWN0aW9uUGF0aCA9IHBhdGhTZWdtZW50cy5zbGljZSgxKS5qb2luKCcuJylcbiAgICAgICAgY29uc3QgYWxpYXNSZWxhdGlvbnNoaXBUYWJsZU5hbWUgPSB1dWlkKClcbiAgICAgICAgY29uc3QgYWxpYXNSZWxhdGlvbnNoaXBUYWJsZSA9IGFsaWFzKFxuICAgICAgICAgIGFkYXB0ZXIudGFibGVzW3JlbGF0aW9uVGFibGVOYW1lXSxcbiAgICAgICAgICBhbGlhc1JlbGF0aW9uc2hpcFRhYmxlTmFtZSxcbiAgICAgICAgKVxuXG4gICAgICAgIC8vIEpvaW4gaW4gdGhlIHJlbGF0aW9uc2hpcHMgdGFibGVcbiAgICAgICAgaWYgKGxvY2FsZSAmJiBmaWVsZC5sb2NhbGl6ZWQgJiYgYWRhcHRlci5wYXlsb2FkLmNvbmZpZy5sb2NhbGl6YXRpb24pIHtcbiAgICAgICAgICBqb2luQWxpYXNlcy5wdXNoKHtcbiAgICAgICAgICAgIGNvbmRpdGlvbjogYW5kKFxuICAgICAgICAgICAgICBlcSgoYWxpYXNUYWJsZSB8fCBhZGFwdGVyLnRhYmxlc1tyb290VGFibGVOYW1lXSkuaWQsIGFsaWFzUmVsYXRpb25zaGlwVGFibGUucGFyZW50KSxcbiAgICAgICAgICAgICAgZXEoYWxpYXNSZWxhdGlvbnNoaXBUYWJsZS5sb2NhbGUsIGxvY2FsZSksXG4gICAgICAgICAgICAgIGxpa2UoYWxpYXNSZWxhdGlvbnNoaXBUYWJsZS5wYXRoLCBgJHtjb25zdHJhaW50UGF0aH0ke2ZpZWxkLm5hbWV9YCksXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgdGFibGU6IGFsaWFzUmVsYXRpb25zaGlwVGFibGUsXG4gICAgICAgICAgfSlcbiAgICAgICAgICBpZiAobG9jYWxlICE9PSAnYWxsJykge1xuICAgICAgICAgICAgY29uc3RyYWludHMucHVzaCh7XG4gICAgICAgICAgICAgIGNvbHVtbk5hbWU6ICdsb2NhbGUnLFxuICAgICAgICAgICAgICB0YWJsZTogYWxpYXNSZWxhdGlvbnNoaXBUYWJsZSxcbiAgICAgICAgICAgICAgdmFsdWU6IGxvY2FsZSxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIC8vIEpvaW4gaW4gdGhlIHJlbGF0aW9uc2hpcHMgdGFibGVcbiAgICAgICAgICBqb2luQWxpYXNlcy5wdXNoKHtcbiAgICAgICAgICAgIGNvbmRpdGlvbjogYW5kKFxuICAgICAgICAgICAgICBlcSgoYWxpYXNUYWJsZSB8fCBhZGFwdGVyLnRhYmxlc1tyb290VGFibGVOYW1lXSkuaWQsIGFsaWFzUmVsYXRpb25zaGlwVGFibGUucGFyZW50KSxcbiAgICAgICAgICAgICAgbGlrZShhbGlhc1JlbGF0aW9uc2hpcFRhYmxlLnBhdGgsIGAke2NvbnN0cmFpbnRQYXRofSR7ZmllbGQubmFtZX1gKSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICB0YWJsZTogYWxpYXNSZWxhdGlvbnNoaXBUYWJsZSxcbiAgICAgICAgICB9KVxuICAgICAgICB9XG5cbiAgICAgICAgc2VsZWN0RmllbGRzW2Ake3JlbGF0aW9uVGFibGVOYW1lfS5wYXRoYF0gPSBhbGlhc1JlbGF0aW9uc2hpcFRhYmxlLnBhdGhcblxuICAgICAgICBsZXQgbmV3QWxpYXNUYWJsZVxuXG4gICAgICAgIGlmICh0eXBlb2YgZmllbGQucmVsYXRpb25UbyA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICBjb25zdCByZWxhdGlvbnNoaXBDb25maWcgPSBhZGFwdGVyLnBheWxvYWQuY29sbGVjdGlvbnNbZmllbGQucmVsYXRpb25Ub10uY29uZmlnXG5cbiAgICAgICAgICBuZXdUYWJsZU5hbWUgPSBhZGFwdGVyLnRhYmxlTmFtZU1hcC5nZXQodG9TbmFrZUNhc2UocmVsYXRpb25zaGlwQ29uZmlnLnNsdWcpKVxuXG4gICAgICAgICAgLy8gcGFyZW50IHRvIHJlbGF0aW9uc2hpcCBqb2luIHRhYmxlXG4gICAgICAgICAgcmVsYXRpb25zaGlwRmllbGRzID0gcmVsYXRpb25zaGlwQ29uZmlnLmZpZWxkc1xuXG4gICAgICAgICAgbmV3QWxpYXNUYWJsZSA9IGFsaWFzKGFkYXB0ZXIudGFibGVzW25ld1RhYmxlTmFtZV0sIHRvU25ha2VDYXNlKHV1aWQoKSkpXG5cbiAgICAgICAgICBqb2luQWxpYXNlcy5wdXNoKHtcbiAgICAgICAgICAgIGNvbmRpdGlvbjogZXEobmV3QWxpYXNUYWJsZS5pZCwgYWxpYXNSZWxhdGlvbnNoaXBUYWJsZVtgJHtmaWVsZC5yZWxhdGlvblRvfUlEYF0pLFxuICAgICAgICAgICAgdGFibGU6IG5ld0FsaWFzVGFibGUsXG4gICAgICAgICAgfSlcblxuICAgICAgICAgIGlmIChuZXdDb2xsZWN0aW9uUGF0aCA9PT0gJycgfHwgbmV3Q29sbGVjdGlvblBhdGggPT09ICdpZCcpIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgIGNvbHVtbk5hbWU6IGAke2ZpZWxkLnJlbGF0aW9uVG99SURgLFxuICAgICAgICAgICAgICBjb25zdHJhaW50cyxcbiAgICAgICAgICAgICAgZmllbGQsXG4gICAgICAgICAgICAgIHRhYmxlOiBhbGlhc1JlbGF0aW9uc2hpcFRhYmxlLFxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIGlmIChuZXdDb2xsZWN0aW9uUGF0aCA9PT0gJ3ZhbHVlJykge1xuICAgICAgICAgIGNvbnN0IHRhYmxlQ29sdW1uc05hbWVzID0gZmllbGQucmVsYXRpb25Uby5tYXAoKHJlbGF0aW9uVG8pID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHJlbGF0aW9uVGFibGVOYW1lID0gYWRhcHRlci50YWJsZU5hbWVNYXAuZ2V0KFxuICAgICAgICAgICAgICB0b1NuYWtlQ2FzZShhZGFwdGVyLnBheWxvYWQuY29sbGVjdGlvbnNbcmVsYXRpb25Ub10uY29uZmlnLnNsdWcpLFxuICAgICAgICAgICAgKVxuXG4gICAgICAgICAgICByZXR1cm4gYFwiJHthbGlhc1JlbGF0aW9uc2hpcFRhYmxlTmFtZX1cIi5cIiR7cmVsYXRpb25UYWJsZU5hbWV9X2lkXCJgXG4gICAgICAgICAgfSlcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgY29uc3RyYWludHMsXG4gICAgICAgICAgICBmaWVsZCxcbiAgICAgICAgICAgIHJhd0NvbHVtbjogc3FsLnJhdyhgQ09BTEVTQ0UoJHt0YWJsZUNvbHVtbnNOYW1lcy5qb2luKCcsICcpfSlgKSxcbiAgICAgICAgICAgIHRhYmxlOiBhbGlhc1JlbGF0aW9uc2hpcFRhYmxlLFxuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIGlmIChuZXdDb2xsZWN0aW9uUGF0aCA9PT0gJ3JlbGF0aW9uVG8nKSB7XG4gICAgICAgICAgY29uc3QgcmVsYXRpb25UbyA9IEFycmF5LmlzQXJyYXkoZmllbGQucmVsYXRpb25UbykgPyBmaWVsZC5yZWxhdGlvblRvIDogW2ZpZWxkLnJlbGF0aW9uVG9dXG5cbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgY29uc3RyYWludHMsXG4gICAgICAgICAgICBmaWVsZCxcbiAgICAgICAgICAgIGdldE5vdE51bGxDb2x1bW5CeVZhbHVlOiAodmFsKSA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IG1hdGNoZWRSZWxhdGlvbiA9IHJlbGF0aW9uVG8uZmluZCgocmVsYXRpb24pID0+IHJlbGF0aW9uID09PSB2YWwpXG4gICAgICAgICAgICAgIGlmIChtYXRjaGVkUmVsYXRpb24pIHJldHVybiBgJHttYXRjaGVkUmVsYXRpb259SURgXG4gICAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWRcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB0YWJsZTogYWxpYXNSZWxhdGlvbnNoaXBUYWJsZSxcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEFQSUVycm9yKCdOb3Qgc3VwcG9ydGVkJylcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBnZXRUYWJsZUNvbHVtbkZyb21QYXRoKHtcbiAgICAgICAgICBhZGFwdGVyLFxuICAgICAgICAgIGFsaWFzVGFibGU6IG5ld0FsaWFzVGFibGUsXG4gICAgICAgICAgY29sbGVjdGlvblBhdGg6IG5ld0NvbGxlY3Rpb25QYXRoLFxuICAgICAgICAgIGNvbnN0cmFpbnRzLFxuICAgICAgICAgIGZpZWxkczogcmVsYXRpb25zaGlwRmllbGRzLFxuICAgICAgICAgIGpvaW5BbGlhc2VzLFxuICAgICAgICAgIGpvaW5zLFxuICAgICAgICAgIGxvY2FsZSxcbiAgICAgICAgICBwYXRoU2VnbWVudHM6IHBhdGhTZWdtZW50cy5zbGljZSgxKSxcbiAgICAgICAgICByb290VGFibGVOYW1lOiBuZXdUYWJsZU5hbWUsXG4gICAgICAgICAgc2VsZWN0RmllbGRzLFxuICAgICAgICAgIHRhYmxlTmFtZTogbmV3VGFibGVOYW1lLFxuICAgICAgICAgIHZhbHVlLFxuICAgICAgICB9KVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChmaWVsZEFmZmVjdHNEYXRhKGZpZWxkKSkge1xuICAgICAgaWYgKGZpZWxkLmxvY2FsaXplZCAmJiBhZGFwdGVyLnBheWxvYWQuY29uZmlnLmxvY2FsaXphdGlvbikge1xuICAgICAgICAvLyBJZiBsb2NhbGl6ZWQsIHdlIGdvIHRvIGxvY2FsaXplZCB0YWJsZSBhbmQgc2V0IGFsaWFzVGFibGUgdG8gdW5kZWZpbmVkXG4gICAgICAgIC8vIHNvIGl0IGlzIG5vdCBwaWNrZWQgdXAgYmVsb3cgdG8gYmUgdXNlZCBhcyB0YXJnZXRUYWJsZVxuICAgICAgICBuZXdUYWJsZU5hbWUgPSBgJHt0YWJsZU5hbWV9JHthZGFwdGVyLmxvY2FsZXNTdWZmaXh9YFxuXG4gICAgICAgIGNvbnN0IHBhcmVudFRhYmxlID0gYWxpYXNUYWJsZSB8fCBhZGFwdGVyLnRhYmxlc1t0YWJsZU5hbWVdXG5cbiAgICAgICAgam9pbnNbbmV3VGFibGVOYW1lXSA9IGVxKHBhcmVudFRhYmxlLmlkLCBhZGFwdGVyLnRhYmxlc1tuZXdUYWJsZU5hbWVdLl9wYXJlbnRJRClcblxuICAgICAgICBhbGlhc1RhYmxlID0gdW5kZWZpbmVkXG5cbiAgICAgICAgaWYgKGxvY2FsZSAhPT0gJ2FsbCcpIHtcbiAgICAgICAgICBjb25zdHJhaW50cy5wdXNoKHtcbiAgICAgICAgICAgIGNvbHVtbk5hbWU6ICdfbG9jYWxlJyxcbiAgICAgICAgICAgIHRhYmxlOiBhZGFwdGVyLnRhYmxlc1tuZXdUYWJsZU5hbWVdLFxuICAgICAgICAgICAgdmFsdWU6IGxvY2FsZSxcbiAgICAgICAgICB9KVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHRhcmdldFRhYmxlID0gYWxpYXNUYWJsZSB8fCBhZGFwdGVyLnRhYmxlc1tuZXdUYWJsZU5hbWVdXG5cbiAgICAgIHNlbGVjdEZpZWxkc1tgJHtuZXdUYWJsZU5hbWV9LiR7Y29sdW1uUHJlZml4fSR7ZmllbGQubmFtZX1gXSA9XG4gICAgICAgIHRhcmdldFRhYmxlW2Ake2NvbHVtblByZWZpeH0ke2ZpZWxkLm5hbWV9YF1cblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgY29sdW1uTmFtZTogYCR7Y29sdW1uUHJlZml4fSR7ZmllbGQubmFtZX1gLFxuICAgICAgICBjb25zdHJhaW50cyxcbiAgICAgICAgZmllbGQsXG4gICAgICAgIHBhdGhTZWdtZW50cyxcbiAgICAgICAgdGFibGU6IHRhcmdldFRhYmxlLFxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHRocm93IG5ldyBBUElFcnJvcihgQ2Fubm90IGZpbmQgZmllbGQgZm9yIHBhdGggYXQgJHtmaWVsZFBhdGh9YClcbn1cbiJdLCJuYW1lcyI6WyJnZXRUYWJsZUNvbHVtbkZyb21QYXRoIiwiYWRhcHRlciIsImFsaWFzVGFibGUiLCJjb2xsZWN0aW9uUGF0aCIsImNvbHVtblByZWZpeCIsImNvbnN0cmFpbnRQYXRoIiwiaW5jb21pbmdDb25zdHJhaW50UGF0aCIsImNvbnN0cmFpbnRzIiwiZmllbGRzIiwiam9pbkFsaWFzZXMiLCJqb2lucyIsImxvY2FsZSIsImluY29taW5nTG9jYWxlIiwicGF0aFNlZ21lbnRzIiwiaW5jb21pbmdTZWdtZW50cyIsInJvb3RUYWJsZU5hbWUiLCJpbmNvbWluZ1Jvb3RUYWJsZU5hbWUiLCJzZWxlY3RGaWVsZHMiLCJ0YWJsZU5hbWUiLCJ0YWJsZU5hbWVTdWZmaXgiLCJ2YWx1ZSIsImZpZWxkUGF0aCIsImZpZWxkIiwiZmxhdHRlblRvcExldmVsRmllbGRzIiwiZmluZCIsImZpZWxkVG9GaW5kIiwiZmllbGRBZmZlY3RzRGF0YSIsIm5hbWUiLCJuZXdUYWJsZU5hbWUiLCJpZCIsInRhYmxlcyIsImNvbHVtbk5hbWUiLCJ0eXBlIiwiaWRUeXBlIiwidGFibGUiLCJsb2NhbGl6ZWQiLCJwYXlsb2FkIiwiY29uZmlnIiwibG9jYWxpemF0aW9uIiwibWF0Y2hlZExvY2FsZSIsImxvY2FsZUNvZGVzIiwic3BsaWNlIiwidGFicyIsIm1hcCIsInRhYiIsInNsaWNlIiwidGFiSGFzTmFtZSIsInRvU25ha2VDYXNlIiwibG9jYWxlc1N1ZmZpeCIsImVxIiwiX3BhcmVudElEIiwicHVzaCIsImhhc01hbnkiLCJ0YWJsZU5hbWVNYXAiLCJnZXQiLCJhbmQiLCJwYXJlbnQiLCJfbG9jYWxlIiwidGFibGVUeXBlIiwiam9pbkNvbnN0cmFpbnRzIiwibGlrZSIsInBhdGgiLCJibG9ja1RhYmxlQ29sdW1uIiwiYmxvY2tUeXBlcyIsIkFycmF5IiwiaXNBcnJheSIsImZvckVhY2giLCJibG9ja1R5cGUiLCJibG9jayIsImJsb2NrcyIsInNsdWciLCJnZXROb3ROdWxsQ29sdW1uQnlWYWx1ZSIsImhhc0Jsb2NrRmllbGQiLCJzb21lIiwicmVzdWx0IiwiYmxvY2tDb25zdHJhaW50cyIsImJsb2NrU2VsZWN0RmllbGRzIiwiZXJyb3IiLCJjb25jYXQiLCJyYXdDb2x1bW4iLCJyZWxhdGlvbnNoaXBGaWVsZHMiLCJyZWxhdGlvblRhYmxlTmFtZSIsInJlbGF0aW9uc2hpcHNTdWZmaXgiLCJuZXdDb2xsZWN0aW9uUGF0aCIsImpvaW4iLCJhbGlhc1JlbGF0aW9uc2hpcFRhYmxlTmFtZSIsInV1aWQiLCJhbGlhc1JlbGF0aW9uc2hpcFRhYmxlIiwiYWxpYXMiLCJjb25kaXRpb24iLCJuZXdBbGlhc1RhYmxlIiwicmVsYXRpb25UbyIsInJlbGF0aW9uc2hpcENvbmZpZyIsImNvbGxlY3Rpb25zIiwidGFibGVDb2x1bW5zTmFtZXMiLCJzcWwiLCJyYXciLCJ2YWwiLCJtYXRjaGVkUmVsYXRpb24iLCJyZWxhdGlvbiIsInVuZGVmaW5lZCIsIkFQSUVycm9yIiwicGFyZW50VGFibGUiLCJ0YXJnZXRUYWJsZSJdLCJyYW5nZU1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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
|
457
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9xdWVyaWVzL2dldFRhYmxlQ29sdW1uRnJvbVBhdGgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tcGFyYW0tcmVhc3NpZ24gKi9cbmltcG9ydCB0eXBlIHsgU1FMIH0gZnJvbSAnZHJpenpsZS1vcm0nXG5pbXBvcnQgdHlwZSB7IFBnVGFibGVXaXRoQ29sdW1ucyB9IGZyb20gJ2RyaXp6bGUtb3JtL3BnLWNvcmUnXG5pbXBvcnQgdHlwZSB7IEZpZWxkLCBGaWVsZEFmZmVjdGluZ0RhdGEsIE51bWJlckZpZWxkLCBUYWJBc0ZpZWxkLCBUZXh0RmllbGQgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5pbXBvcnQgeyBhbmQsIGVxLCBsaWtlLCBzcWwgfSBmcm9tICdkcml6emxlLW9ybSdcbmltcG9ydCB7IGFsaWFzIH0gZnJvbSAnZHJpenpsZS1vcm0vcGctY29yZSdcbmltcG9ydCB7IEFQSUVycm9yIH0gZnJvbSAncGF5bG9hZC9lcnJvcnMnXG5pbXBvcnQgeyBmaWVsZEFmZmVjdHNEYXRhLCB0YWJIYXNOYW1lIH0gZnJvbSAncGF5bG9hZC90eXBlcydcbmltcG9ydCB7IGZsYXR0ZW5Ub3BMZXZlbEZpZWxkcyB9IGZyb20gJ3BheWxvYWQvdXRpbGl0aWVzJ1xuaW1wb3J0IHRvU25ha2VDYXNlIGZyb20gJ3RvLXNuYWtlLWNhc2UnXG5pbXBvcnQgeyB2NCBhcyB1dWlkIH0gZnJvbSAndXVpZCdcblxuaW1wb3J0IHR5cGUgeyBHZW5lcmljQ29sdW1uLCBHZW5lcmljVGFibGUsIFBvc3RncmVzQWRhcHRlciB9IGZyb20gJy4uL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBCdWlsZFF1ZXJ5Sm9pbkFsaWFzZXMsIEJ1aWxkUXVlcnlKb2lucyB9IGZyb20gJy4vYnVpbGRRdWVyeSdcblxudHlwZSBDb25zdHJhaW50ID0ge1xuICBjb2x1bW5OYW1lOiBzdHJpbmdcbiAgdGFibGU6IEdlbmVyaWNUYWJsZSB8IFBnVGFibGVXaXRoQ29sdW1uczxhbnk+XG4gIHZhbHVlOiB1bmtub3duXG59XG5cbnR5cGUgVGFibGVDb2x1bW4gPSB7XG4gIGNvbHVtbk5hbWU/OiBzdHJpbmdcbiAgY29uc3RyYWludHM6IENvbnN0cmFpbnRbXVxuICBmaWVsZDogRmllbGRBZmZlY3RpbmdEYXRhXG4gIGdldE5vdE51bGxDb2x1bW5CeVZhbHVlPzogKHZhbDogdW5rbm93bikgPT4gc3RyaW5nXG4gIHBhdGhTZWdtZW50cz86IHN0cmluZ1tdXG4gIHJhd0NvbHVtbj86IFNRTFxuICB0YWJsZTogR2VuZXJpY1RhYmxlIHwgUGdUYWJsZVdpdGhDb2x1bW5zPGFueT5cbn1cblxudHlwZSBBcmdzID0ge1xuICBhZGFwdGVyOiBQb3N0Z3Jlc0FkYXB0ZXJcbiAgYWxpYXNUYWJsZT86IEdlbmVyaWNUYWJsZSB8IFBnVGFibGVXaXRoQ29sdW1uczxhbnk+XG4gIGNvbGxlY3Rpb25QYXRoOiBzdHJpbmdcbiAgY29sdW1uUHJlZml4Pzogc3RyaW5nXG4gIGNvbnN0cmFpbnRQYXRoPzogc3RyaW5nXG4gIGNvbnN0cmFpbnRzPzogQ29uc3RyYWludFtdXG4gIGZpZWxkczogKEZpZWxkIHwgVGFiQXNGaWVsZClbXVxuICBqb2luQWxpYXNlczogQnVpbGRRdWVyeUpvaW5BbGlhc2VzXG4gIGpvaW5zOiBCdWlsZFF1ZXJ5Sm9pbnNcbiAgbG9jYWxlPzogc3RyaW5nXG4gIHBhdGhTZWdtZW50czogc3RyaW5nW11cbiAgcm9vdFRhYmxlTmFtZT86IHN0cmluZ1xuICBzZWxlY3RGaWVsZHM6IFJlY29yZDxzdHJpbmcsIEdlbmVyaWNDb2x1bW4+XG4gIHRhYmxlTmFtZTogc3RyaW5nXG4gIC8qKlxuICAgKiBJZiBjcmVhdGluZyBhIG5ldyB0YWJsZSBuYW1lIGZvciBhcnJheXMgYW5kIGJsb2NrcywgdGhpcyBzdWZmaXggc2hvdWxkIGJlIGFwcGVuZGVkIHRvIHRoZSB0YWJsZSBuYW1lXG4gICAqL1xuICB0YWJsZU5hbWVTdWZmaXg/OiBzdHJpbmdcbiAgLyoqXG4gICAqIFRoZSByYXcgdmFsdWUgb2YgdGhlIHF1ZXJ5IGJlZm9yZSBzYW5pdGl6YXRpb25cbiAgICovXG4gIHZhbHVlOiB1bmtub3duXG59XG4vKipcbiAqIFRyYW5zZm9ybXMgcGF0aCB0byB0YWJsZSBhbmQgY29sdW1uIG5hbWVcbiAqIEFkZHMgdGFibGVzIHRvIGBqb2luYFxuICogQHJldHVybnMgVGFibGVDb2x1bW5cbiAqL1xuZXhwb3J0IGNvbnN0IGdldFRhYmxlQ29sdW1uRnJvbVBhdGggPSAoe1xuICBhZGFwdGVyLFxuICBhbGlhc1RhYmxlLFxuICBjb2xsZWN0aW9uUGF0aCxcbiAgY29sdW1uUHJlZml4ID0gJycsXG4gIGNvbnN0cmFpbnRQYXRoOiBpbmNvbWluZ0NvbnN0cmFpbnRQYXRoLFxuICBjb25zdHJhaW50cyA9IFtdLFxuICBmaWVsZHMsXG4gIGpvaW5BbGlhc2VzLFxuICBqb2lucyxcbiAgbG9jYWxlOiBpbmNvbWluZ0xvY2FsZSxcbiAgcGF0aFNlZ21lbnRzOiBpbmNvbWluZ1NlZ21lbnRzLFxuICByb290VGFibGVOYW1lOiBpbmNvbWluZ1Jvb3RUYWJsZU5hbWUsXG4gIHNlbGVjdEZpZWxkcyxcbiAgdGFibGVOYW1lLFxuICB0YWJsZU5hbWVTdWZmaXggPSAnJyxcbiAgdmFsdWUsXG59OiBBcmdzKTogVGFibGVDb2x1bW4gPT4ge1xuICBjb25zdCBmaWVsZFBhdGggPSBpbmNvbWluZ1NlZ21lbnRzWzBdXG4gIGxldCBsb2NhbGUgPSBpbmNvbWluZ0xvY2FsZVxuICBjb25zdCByb290VGFibGVOYW1lID0gaW5jb21pbmdSb290VGFibGVOYW1lIHx8IHRhYmxlTmFtZVxuICBsZXQgY29uc3RyYWludFBhdGggPSBpbmNvbWluZ0NvbnN0cmFpbnRQYXRoIHx8ICcnXG5cbiAgY29uc3QgZmllbGQgPSBmbGF0dGVuVG9wTGV2ZWxGaWVsZHMoZmllbGRzIGFzIEZpZWxkW10pLmZpbmQoXG4gICAgKGZpZWxkVG9GaW5kKSA9PiBmaWVsZEFmZmVjdHNEYXRhKGZpZWxkVG9GaW5kKSAmJiBmaWVsZFRvRmluZC5uYW1lID09PSBmaWVsZFBhdGgsXG4gICkgYXMgRmllbGQgfCBUYWJBc0ZpZWxkXG4gIGxldCBuZXdUYWJsZU5hbWUgPSB0YWJsZU5hbWVcblxuICBpZiAoIWZpZWxkICYmIGZpZWxkUGF0aCA9PT0gJ2lkJykge1xuICAgIHNlbGVjdEZpZWxkcy5pZCA9IGFkYXB0ZXIudGFibGVzW25ld1RhYmxlTmFtZV0uaWRcbiAgICByZXR1cm4ge1xuICAgICAgY29sdW1uTmFtZTogJ2lkJyxcbiAgICAgIGNvbnN0cmFpbnRzLFxuICAgICAgZmllbGQ6IHtcbiAgICAgICAgbmFtZTogJ2lkJyxcbiAgICAgICAgdHlwZTogYWRhcHRlci5pZFR5cGUgPT09ICd1dWlkJyA/ICd0ZXh0JyA6ICdudW1iZXInLFxuICAgICAgfSBhcyBOdW1iZXJGaWVsZCB8IFRleHRGaWVsZCxcbiAgICAgIHRhYmxlOiBhZGFwdGVyLnRhYmxlc1tuZXdUYWJsZU5hbWVdLFxuICAgIH1cbiAgfVxuXG4gIGlmIChmaWVsZCkge1xuICAgIGNvbnN0IHBhdGhTZWdtZW50cyA9IFsuLi5pbmNvbWluZ1NlZ21lbnRzXVxuXG4gICAgLy8gSWYgbmV4dCBzZWdtZW50IGlzIGEgbG9jYWxlLFxuICAgIC8vIHdlIG5lZWQgdG8gdGFrZSBpdCBvdXQgYW5kIHVzZSBpdCBhcyB0aGUgbG9jYWxlIGZyb20gdGhpcyBwb2ludCBvblxuICAgIGlmICgnbG9jYWxpemVkJyBpbiBmaWVsZCAmJiBmaWVsZC5sb2NhbGl6ZWQgJiYgYWRhcHRlci5wYXlsb2FkLmNvbmZpZy5sb2NhbGl6YXRpb24pIHtcbiAgICAgIGNvbnN0IG1hdGNoZWRMb2NhbGUgPSBhZGFwdGVyLnBheWxvYWQuY29uZmlnLmxvY2FsaXphdGlvbi5sb2NhbGVDb2Rlcy5maW5kKFxuICAgICAgICAobG9jYWxlKSA9PiBsb2NhbGUgPT09IHBhdGhTZWdtZW50c1sxXSxcbiAgICAgIClcblxuICAgICAgaWYgKG1hdGNoZWRMb2NhbGUpIHtcbiAgICAgICAgbG9jYWxlID0gbWF0Y2hlZExvY2FsZVxuICAgICAgICBwYXRoU2VnbWVudHMuc3BsaWNlKDEsIDEpXG4gICAgICB9XG4gICAgfVxuXG4gICAgc3dpdGNoIChmaWVsZC50eXBlKSB7XG4gICAgICBjYXNlICd0YWJzJzoge1xuICAgICAgICByZXR1cm4gZ2V0VGFibGVDb2x1bW5Gcm9tUGF0aCh7XG4gICAgICAgICAgYWRhcHRlcixcbiAgICAgICAgICBhbGlhc1RhYmxlLFxuICAgICAgICAgIGNvbGxlY3Rpb25QYXRoLFxuICAgICAgICAgIGNvbHVtblByZWZpeCxcbiAgICAgICAgICBjb25zdHJhaW50UGF0aCxcbiAgICAgICAgICBjb25zdHJhaW50cyxcbiAgICAgICAgICBmaWVsZHM6IGZpZWxkLnRhYnMubWFwKCh0YWIpID0+ICh7XG4gICAgICAgICAgICAuLi50YWIsXG4gICAgICAgICAgICB0eXBlOiAndGFiJyxcbiAgICAgICAgICB9KSksXG4gICAgICAgICAgam9pbkFsaWFzZXMsXG4gICAgICAgICAgam9pbnMsXG4gICAgICAgICAgbG9jYWxlLFxuICAgICAgICAgIHBhdGhTZWdtZW50czogcGF0aFNlZ21lbnRzLnNsaWNlKDEpLFxuICAgICAgICAgIHJvb3RUYWJsZU5hbWUsXG4gICAgICAgICAgc2VsZWN0RmllbGRzLFxuICAgICAgICAgIHRhYmxlTmFtZTogbmV3VGFibGVOYW1lLFxuICAgICAgICAgIHRhYmxlTmFtZVN1ZmZpeCxcbiAgICAgICAgICB2YWx1ZSxcbiAgICAgICAgfSlcbiAgICAgIH1cbiAgICAgIGNhc2UgJ3RhYic6IHtcbiAgICAgICAgaWYgKHRhYkhhc05hbWUoZmllbGQpKSB7XG4gICAgICAgICAgcmV0dXJuIGdldFRhYmxlQ29sdW1uRnJvbVBhdGgoe1xuICAgICAgICAgICAgYWRhcHRlcixcbiAgICAgICAgICAgIGFsaWFzVGFibGUsXG4gICAgICAgICAgICBjb2xsZWN0aW9uUGF0aCxcbiAgICAgICAgICAgIGNvbHVtblByZWZpeDogYCR7Y29sdW1uUHJlZml4fSR7ZmllbGQubmFtZX1fYCxcbiAgICAgICAgICAgIGNvbnN0cmFpbnRQYXRoOiBgJHtjb25zdHJhaW50UGF0aH0ke2ZpZWxkLm5hbWV9LmAsXG4gICAgICAgICAgICBjb25zdHJhaW50cyxcbiAgICAgICAgICAgIGZpZWxkczogZmllbGQuZmllbGRzLFxuICAgICAgICAgICAgam9pbkFsaWFzZXMsXG4gICAgICAgICAgICBqb2lucyxcbiAgICAgICAgICAgIGxvY2FsZSxcbiAgICAgICAgICAgIHBhdGhTZWdtZW50czogcGF0aFNlZ21lbnRzLnNsaWNlKDEpLFxuICAgICAgICAgICAgcm9vdFRhYmxlTmFtZSxcbiAgICAgICAgICAgIHNlbGVjdEZpZWxkcyxcbiAgICAgICAgICAgIHRhYmxlTmFtZTogbmV3VGFibGVOYW1lLFxuICAgICAgICAgICAgdGFibGVOYW1lU3VmZml4OiBgJHt0YWJsZU5hbWVTdWZmaXh9JHt0b1NuYWtlQ2FzZShmaWVsZC5uYW1lKX1fYCxcbiAgICAgICAgICAgIHZhbHVlLFxuICAgICAgICAgIH0pXG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGdldFRhYmxlQ29sdW1uRnJvbVBhdGgoe1xuICAgICAgICAgIGFkYXB0ZXIsXG4gICAgICAgICAgYWxpYXNUYWJsZSxcbiAgICAgICAgICBjb2xsZWN0aW9uUGF0aCxcbiAgICAgICAgICBjb2x1bW5QcmVmaXgsXG4gICAgICAgICAgY29uc3RyYWludFBhdGgsXG4gICAgICAgICAgY29uc3RyYWludHMsXG4gICAgICAgICAgZmllbGRzOiBmaWVsZC5maWVsZHMsXG4gICAgICAgICAgam9pbkFsaWFzZXMsXG4gICAgICAgICAgam9pbnMsXG4gICAgICAgICAgbG9jYWxlLFxuICAgICAgICAgIHBhdGhTZWdtZW50czogcGF0aFNlZ21lbnRzLnNsaWNlKDEpLFxuICAgICAgICAgIHJvb3RUYWJsZU5hbWUsXG4gICAgICAgICAgc2VsZWN0RmllbGRzLFxuICAgICAgICAgIHRhYmxlTmFtZTogbmV3VGFibGVOYW1lLFxuICAgICAgICAgIHRhYmxlTmFtZVN1ZmZpeCxcbiAgICAgICAgICB2YWx1ZSxcbiAgICAgICAgfSlcbiAgICAgIH1cblxuICAgICAgY2FzZSAnZ3JvdXAnOiB7XG4gICAgICAgIGlmIChsb2NhbGUgJiYgZmllbGQubG9jYWxpemVkICYmIGFkYXB0ZXIucGF5bG9hZC5jb25maWcubG9jYWxpemF0aW9uKSB7XG4gICAgICAgICAgbmV3VGFibGVOYW1lID0gYCR7dGFibGVOYW1lfSR7YWRhcHRlci5sb2NhbGVzU3VmZml4fWBcblxuICAgICAgICAgIGpvaW5zW3RhYmxlTmFtZV0gPSBlcShcbiAgICAgICAgICAgIGFkYXB0ZXIudGFibGVzW3RhYmxlTmFtZV0uaWQsXG4gICAgICAgICAgICBhZGFwdGVyLnRhYmxlc1tuZXdUYWJsZU5hbWVdLl9wYXJlbnRJRCxcbiAgICAgICAgICApXG4gICAgICAgICAgaWYgKGxvY2FsZSAhPT0gJ2FsbCcpIHtcbiAgICAgICAgICAgIGNvbnN0cmFpbnRzLnB1c2goe1xuICAgICAgICAgICAgICBjb2x1bW5OYW1lOiAnX2xvY2FsZScsXG4gICAgICAgICAgICAgIHRhYmxlOiBhZGFwdGVyLnRhYmxlc1tuZXdUYWJsZU5hbWVdLFxuICAgICAgICAgICAgICB2YWx1ZTogbG9jYWxlLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGdldFRhYmxlQ29sdW1uRnJvbVBhdGgoe1xuICAgICAgICAgIGFkYXB0ZXIsXG4gICAgICAgICAgYWxpYXNUYWJsZSxcbiAgICAgICAgICBjb2xsZWN0aW9uUGF0aCxcbiAgICAgICAgICBjb2x1bW5QcmVmaXg6IGAke2NvbHVtblByZWZpeH0ke2ZpZWxkLm5hbWV9X2AsXG4gICAgICAgICAgY29uc3RyYWludFBhdGg6IGAke2NvbnN0cmFpbnRQYXRofSR7ZmllbGQubmFtZX0uYCxcbiAgICAgICAgICBjb25zdHJhaW50cyxcbiAgICAgICAgICBmaWVsZHM6IGZpZWxkLmZpZWxkcyxcbiAgICAgICAgICBqb2luQWxpYXNlcyxcbiAgICAgICAgICBqb2lucyxcbiAgICAgICAgICBsb2NhbGUsXG4gICAgICAgICAgcGF0aFNlZ21lbnRzOiBwYXRoU2VnbWVudHMuc2xpY2UoMSksXG4gICAgICAgICAgcm9vdFRhYmxlTmFtZSxcbiAgICAgICAgICBzZWxlY3RGaWVsZHMsXG4gICAgICAgICAgdGFibGVOYW1lOiBuZXdUYWJsZU5hbWUsXG4gICAgICAgICAgdGFibGVOYW1lU3VmZml4OiBgJHt0YWJsZU5hbWVTdWZmaXh9JHt0b1NuYWtlQ2FzZShmaWVsZC5uYW1lKX1fYCxcbiAgICAgICAgICB2YWx1ZSxcbiAgICAgICAgfSlcbiAgICAgIH1cblxuICAgICAgY2FzZSAnc2VsZWN0Jzoge1xuICAgICAgICBpZiAoZmllbGQuaGFzTWFueSkge1xuICAgICAgICAgIGNvbnN0IG5ld1RhYmxlTmFtZSA9IGFkYXB0ZXIudGFibGVOYW1lTWFwLmdldChcbiAgICAgICAgICAgIGAke3RhYmxlTmFtZX1fJHt0YWJsZU5hbWVTdWZmaXh9JHt0b1NuYWtlQ2FzZShmaWVsZC5uYW1lKX1gLFxuICAgICAgICAgIClcblxuICAgICAgICAgIGlmIChsb2NhbGUgJiYgZmllbGQubG9jYWxpemVkICYmIGFkYXB0ZXIucGF5bG9hZC5jb25maWcubG9jYWxpemF0aW9uKSB7XG4gICAgICAgICAgICBqb2luc1tuZXdUYWJsZU5hbWVdID0gYW5kKFxuICAgICAgICAgICAgICBlcShhZGFwdGVyLnRhYmxlc1t0YWJsZU5hbWVdLmlkLCBhZGFwdGVyLnRhYmxlc1tuZXdUYWJsZU5hbWVdLnBhcmVudCksXG4gICAgICAgICAgICAgIGVxKGFkYXB0ZXIudGFibGVzW25ld1RhYmxlTmFtZV0uX2xvY2FsZSwgbG9jYWxlKSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIGlmIChsb2NhbGUgIT09ICdhbGwnKSB7XG4gICAgICAgICAgICAgIGNvbnN0cmFpbnRzLnB1c2goe1xuICAgICAgICAgICAgICAgIGNvbHVtbk5hbWU6ICdfbG9jYWxlJyxcbiAgICAgICAgICAgICAgICB0YWJsZTogYWRhcHRlci50YWJsZXNbbmV3VGFibGVOYW1lXSxcbiAgICAgICAgICAgICAgICB2YWx1ZTogbG9jYWxlLFxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBqb2luc1tuZXdUYWJsZU5hbWVdID0gZXEoXG4gICAgICAgICAgICAgIGFkYXB0ZXIudGFibGVzW3RhYmxlTmFtZV0uaWQsXG4gICAgICAgICAgICAgIGFkYXB0ZXIudGFibGVzW25ld1RhYmxlTmFtZV0ucGFyZW50LFxuICAgICAgICAgICAgKVxuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBjb2x1bW5OYW1lOiAndmFsdWUnLFxuICAgICAgICAgICAgY29uc3RyYWludHMsXG4gICAgICAgICAgICBmaWVsZCxcbiAgICAgICAgICAgIHRhYmxlOiBhZGFwdGVyLnRhYmxlc1tuZXdUYWJsZU5hbWVdLFxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBicmVha1xuICAgICAgfVxuXG4gICAgICBjYXNlICd0ZXh0JzpcbiAgICAgIGNhc2UgJ251bWJlcic6IHtcbiAgICAgICAgaWYgKGZpZWxkLmhhc01hbnkpIHtcbiAgICAgICAgICBsZXQgdGFibGVUeXBlID0gJ3RleHRzJ1xuICAgICAgICAgIGxldCBjb2x1bW5OYW1lID0gJ3RleHQnXG4gICAgICAgICAgaWYgKGZpZWxkLnR5cGUgPT09ICdudW1iZXInKSB7XG4gICAgICAgICAgICB0YWJsZVR5cGUgPSAnbnVtYmVycydcbiAgICAgICAgICAgIGNvbHVtbk5hbWUgPSAnbnVtYmVyJ1xuICAgICAgICAgIH1cbiAgICAgICAgICBuZXdUYWJsZU5hbWUgPSBgJHtyb290VGFibGVOYW1lfV8ke3RhYmxlVHlwZX1gXG4gICAgICAgICAgY29uc3Qgam9pbkNvbnN0cmFpbnRzID0gW1xuICAgICAgICAgICAgZXEoYWRhcHRlci50YWJsZXNbcm9vdFRhYmxlTmFtZV0uaWQsIGFkYXB0ZXIudGFibGVzW25ld1RhYmxlTmFtZV0ucGFyZW50KSxcbiAgICAgICAgICAgIGxpa2UoYWRhcHRlci50YWJsZXNbbmV3VGFibGVOYW1lXS5wYXRoLCBgJHtjb25zdHJhaW50UGF0aH0ke2ZpZWxkLm5hbWV9YCksXG4gICAgICAgICAgXVxuXG4gICAgICAgICAgaWYgKGxvY2FsZSAmJiBmaWVsZC5sb2NhbGl6ZWQgJiYgYWRhcHRlci5wYXlsb2FkLmNvbmZpZy5sb2NhbGl6YXRpb24pIHtcbiAgICAgICAgICAgIGpvaW5zW25ld1RhYmxlTmFtZV0gPSBhbmQoXG4gICAgICAgICAgICAgIC4uLmpvaW5Db25zdHJhaW50cyxcbiAgICAgICAgICAgICAgZXEoYWRhcHRlci50YWJsZXNbbmV3VGFibGVOYW1lXS5fbG9jYWxlLCBsb2NhbGUpLFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgaWYgKGxvY2FsZSAhPT0gJ2FsbCcpIHtcbiAgICAgICAgICAgICAgY29uc3RyYWludHMucHVzaCh7XG4gICAgICAgICAgICAgICAgY29sdW1uTmFtZTogJ2xvY2FsZScsXG4gICAgICAgICAgICAgICAgdGFibGU6IGFkYXB0ZXIudGFibGVzW25ld1RhYmxlTmFtZV0sXG4gICAgICAgICAgICAgICAgdmFsdWU6IGxvY2FsZSxcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgam9pbnNbbmV3VGFibGVOYW1lXSA9IGFuZCguLi5qb2luQ29uc3RyYWludHMpXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGNvbHVtbk5hbWUsXG4gICAgICAgICAgICBjb25zdHJhaW50cyxcbiAgICAgICAgICAgIGZpZWxkLFxuICAgICAgICAgICAgdGFibGU6IGFkYXB0ZXIudGFibGVzW25ld1RhYmxlTmFtZV0sXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGJyZWFrXG4gICAgICB9XG5cbiAgICAgIGNhc2UgJ2FycmF5Jzoge1xuICAgICAgICBuZXdUYWJsZU5hbWUgPSBhZGFwdGVyLnRhYmxlTmFtZU1hcC5nZXQoXG4gICAgICAgICAgYCR7dGFibGVOYW1lfV8ke3RhYmxlTmFtZVN1ZmZpeH0ke3RvU25ha2VDYXNlKGZpZWxkLm5hbWUpfWAsXG4gICAgICAgIClcblxuICAgICAgICBjb25zdCBhcnJheVBhcmVudFRhYmxlID0gYWxpYXNUYWJsZSB8fCBhZGFwdGVyLnRhYmxlc1t0YWJsZU5hbWVdXG5cbiAgICAgICAgY29uc3RyYWludFBhdGggPSBgJHtjb25zdHJhaW50UGF0aH0ke2ZpZWxkLm5hbWV9LiUuYFxuICAgICAgICBpZiAobG9jYWxlICYmIGZpZWxkLmxvY2FsaXplZCAmJiBhZGFwdGVyLnBheWxvYWQuY29uZmlnLmxvY2FsaXphdGlvbikge1xuICAgICAgICAgIGpvaW5zW25ld1RhYmxlTmFtZV0gPSBhbmQoXG4gICAgICAgICAgICBlcShhcnJheVBhcmVudFRhYmxlLmlkLCBhZGFwdGVyLnRhYmxlc1tuZXdUYWJsZU5hbWVdLl9wYXJlbnRJRCksXG4gICAgICAgICAgICBlcShhZGFwdGVyLnRhYmxlc1tuZXdUYWJsZU5hbWVdLl9sb2NhbGUsIGxvY2FsZSksXG4gICAgICAgICAgKVxuICAgICAgICAgIGlmIChsb2NhbGUgIT09ICdhbGwnKSB7XG4gICAgICAgICAgICBjb25zdHJhaW50cy5wdXNoKHtcbiAgICAgICAgICAgICAgY29sdW1uTmFtZTogJ19sb2NhbGUnLFxuICAgICAgICAgICAgICB0YWJsZTogYWRhcHRlci50YWJsZXNbbmV3VGFibGVOYW1lXSxcbiAgICAgICAgICAgICAgdmFsdWU6IGxvY2FsZSxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGpvaW5zW25ld1RhYmxlTmFtZV0gPSBlcShhcnJheVBhcmVudFRhYmxlLmlkLCBhZGFwdGVyLnRhYmxlc1tuZXdUYWJsZU5hbWVdLl9wYXJlbnRJRClcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZ2V0VGFibGVDb2x1bW5Gcm9tUGF0aCh7XG4gICAgICAgICAgYWRhcHRlcixcbiAgICAgICAgICBjb2xsZWN0aW9uUGF0aCxcbiAgICAgICAgICBjb25zdHJhaW50UGF0aCxcbiAgICAgICAgICBjb25zdHJhaW50cyxcbiAgICAgICAgICBmaWVsZHM6IGZpZWxkLmZpZWxkcyxcbiAgICAgICAgICBqb2luQWxpYXNlcyxcbiAgICAgICAgICBqb2lucyxcbiAgICAgICAgICBsb2NhbGUsXG4gICAgICAgICAgcGF0aFNlZ21lbnRzOiBwYXRoU2VnbWVudHMuc2xpY2UoMSksXG4gICAgICAgICAgcm9vdFRhYmxlTmFtZSxcbiAgICAgICAgICBzZWxlY3RGaWVsZHMsXG4gICAgICAgICAgdGFibGVOYW1lOiBuZXdUYWJsZU5hbWUsXG4gICAgICAgICAgdmFsdWUsXG4gICAgICAgIH0pXG4gICAgICB9XG5cbiAgICAgIGNhc2UgJ2Jsb2Nrcyc6IHtcbiAgICAgICAgbGV0IGJsb2NrVGFibGVDb2x1bW46IFRhYmxlQ29sdW1uXG4gICAgICAgIGxldCBuZXdUYWJsZU5hbWU6IHN0cmluZ1xuXG4gICAgICAgIC8vIGhhbmRsZSBibG9ja1R5cGUgcXVlcmllc1xuICAgICAgICBpZiAocGF0aFNlZ21lbnRzWzFdID09PSAnYmxvY2tUeXBlJykge1xuICAgICAgICAgIC8vIGZpbmQgdGhlIGJsb2NrIGNvbmZpZyB1c2luZyB0aGUgdmFsdWVcbiAgICAgICAgICBjb25zdCBibG9ja1R5cGVzID0gQXJyYXkuaXNBcnJheSh2YWx1ZSkgPyB2YWx1ZSA6IFt2YWx1ZV1cbiAgICAgICAgICBibG9ja1R5cGVzLmZvckVhY2goKGJsb2NrVHlwZSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgYmxvY2sgPSBmaWVsZC5ibG9ja3MuZmluZCgoYmxvY2spID0+IGJsb2NrLnNsdWcgPT09IGJsb2NrVHlwZSlcblxuICAgICAgICAgICAgbmV3VGFibGVOYW1lID0gYWRhcHRlci50YWJsZU5hbWVNYXAuZ2V0KFxuICAgICAgICAgICAgICBgJHt0YWJsZU5hbWV9X2Jsb2Nrc18ke3RvU25ha2VDYXNlKGJsb2NrLnNsdWcpfWAsXG4gICAgICAgICAgICApXG5cbiAgICAgICAgICAgIGpvaW5zW25ld1RhYmxlTmFtZV0gPSBlcShcbiAgICAgICAgICAgICAgYWRhcHRlci50YWJsZXNbdGFibGVOYW1lXS5pZCxcbiAgICAgICAgICAgICAgYWRhcHRlci50YWJsZXNbbmV3VGFibGVOYW1lXS5fcGFyZW50SUQsXG4gICAgICAgICAgICApXG4gICAgICAgICAgICBjb25zdHJhaW50cy5wdXNoKHtcbiAgICAgICAgICAgICAgY29sdW1uTmFtZTogJ19wYXRoJyxcbiAgICAgICAgICAgICAgdGFibGU6IGFkYXB0ZXIudGFibGVzW25ld1RhYmxlTmFtZV0sXG4gICAgICAgICAgICAgIHZhbHVlOiBwYXRoU2VnbWVudHNbMF0sXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIH0pXG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGNvbnN0cmFpbnRzLFxuICAgICAgICAgICAgZmllbGQsXG4gICAgICAgICAgICBnZXROb3ROdWxsQ29sdW1uQnlWYWx1ZTogKCkgPT4gJ2lkJyxcbiAgICAgICAgICAgIHRhYmxlOiBhZGFwdGVyLnRhYmxlc1t0YWJsZU5hbWVdLFxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGhhc0Jsb2NrRmllbGQgPSBmaWVsZC5ibG9ja3Muc29tZSgoYmxvY2spID0+IHtcbiAgICAgICAgICBuZXdUYWJsZU5hbWUgPSBhZGFwdGVyLnRhYmxlTmFtZU1hcC5nZXQoYCR7dGFibGVOYW1lfV9ibG9ja3NfJHt0b1NuYWtlQ2FzZShibG9jay5zbHVnKX1gKVxuICAgICAgICAgIGNvbnN0cmFpbnRQYXRoID0gYCR7Y29uc3RyYWludFBhdGh9JHtmaWVsZC5uYW1lfS4lLmBcblxuICAgICAgICAgIGxldCByZXN1bHRcbiAgICAgICAgICBjb25zdCBibG9ja0NvbnN0cmFpbnRzID0gW11cbiAgICAgICAgICBjb25zdCBibG9ja1NlbGVjdEZpZWxkcyA9IHt9XG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHJlc3VsdCA9IGdldFRhYmxlQ29sdW1uRnJvbVBhdGgoe1xuICAgICAgICAgICAgICBhZGFwdGVyLFxuICAgICAgICAgICAgICBjb2xsZWN0aW9uUGF0aCxcbiAgICAgICAgICAgICAgY29uc3RyYWludFBhdGgsXG4gICAgICAgICAgICAgIGNvbnN0cmFpbnRzOiBibG9ja0NvbnN0cmFpbnRzLFxuICAgICAgICAgICAgICBmaWVsZHM6IGJsb2NrLmZpZWxkcyxcbiAgICAgICAgICAgICAgam9pbkFsaWFzZXMsXG4gICAgICAgICAgICAgIGpvaW5zLFxuICAgICAgICAgICAgICBsb2NhbGUsXG4gICAgICAgICAgICAgIHBhdGhTZWdtZW50czogcGF0aFNlZ21lbnRzLnNsaWNlKDEpLFxuICAgICAgICAgICAgICByb290VGFibGVOYW1lLFxuICAgICAgICAgICAgICBzZWxlY3RGaWVsZHM6IGJsb2NrU2VsZWN0RmllbGRzLFxuICAgICAgICAgICAgICB0YWJsZU5hbWU6IG5ld1RhYmxlTmFtZSxcbiAgICAgICAgICAgICAgdmFsdWUsXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICAvLyB0aGlzIGlzIGZpbmUsIG5vdCBldmVyeSBibG9jayB3aWxsIGhhdmUgdGhlIGZpZWxkXG4gICAgICAgICAgfVxuICAgICAgICAgIGlmICghcmVzdWx0KSB7XG4gICAgICAgICAgICByZXR1cm5cbiAgICAgICAgICB9XG4gICAgICAgICAgYmxvY2tUYWJsZUNvbHVtbiA9IHJlc3VsdFxuICAgICAgICAgIGNvbnN0cmFpbnRzID0gY29uc3RyYWludHMuY29uY2F0KGJsb2NrQ29uc3RyYWludHMpXG4gICAgICAgICAgc2VsZWN0RmllbGRzID0geyAuLi5zZWxlY3RGaWVsZHMsIC4uLmJsb2NrU2VsZWN0RmllbGRzIH1cbiAgICAgICAgICBpZiAoZmllbGQubG9jYWxpemVkICYmIGFkYXB0ZXIucGF5bG9hZC5jb25maWcubG9jYWxpemF0aW9uKSB7XG4gICAgICAgICAgICBqb2luc1tuZXdUYWJsZU5hbWVdID0gYW5kKFxuICAgICAgICAgICAgICBlcShhZGFwdGVyLnRhYmxlc1t0YWJsZU5hbWVdLmlkLCBhZGFwdGVyLnRhYmxlc1tuZXdUYWJsZU5hbWVdLl9wYXJlbnRJRCksXG4gICAgICAgICAgICAgIGVxKGFkYXB0ZXIudGFibGVzW25ld1RhYmxlTmFtZV0uX2xvY2FsZSwgbG9jYWxlKSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIGlmIChsb2NhbGUpIHtcbiAgICAgICAgICAgICAgY29uc3RyYWludHMucHVzaCh7XG4gICAgICAgICAgICAgICAgY29sdW1uTmFtZTogJ19sb2NhbGUnLFxuICAgICAgICAgICAgICAgIHRhYmxlOiBhZGFwdGVyLnRhYmxlc1tuZXdUYWJsZU5hbWVdLFxuICAgICAgICAgICAgICAgIHZhbHVlOiBsb2NhbGUsXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGpvaW5zW25ld1RhYmxlTmFtZV0gPSBlcShcbiAgICAgICAgICAgICAgYWRhcHRlci50YWJsZXNbdGFibGVOYW1lXS5pZCxcbiAgICAgICAgICAgICAgYWRhcHRlci50YWJsZXNbbmV3VGFibGVOYW1lXS5fcGFyZW50SUQsXG4gICAgICAgICAgICApXG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiB0cnVlXG4gICAgICAgIH0pXG4gICAgICAgIGlmIChoYXNCbG9ja0ZpZWxkKSB7XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGNvbHVtbk5hbWU6IGJsb2NrVGFibGVDb2x1bW4uY29sdW1uTmFtZSxcbiAgICAgICAgICAgIGNvbnN0cmFpbnRzLFxuICAgICAgICAgICAgZmllbGQ6IGJsb2NrVGFibGVDb2x1bW4uZmllbGQsXG4gICAgICAgICAgICBwYXRoU2VnbWVudHM6IHBhdGhTZWdtZW50cy5zbGljZSgxKSxcbiAgICAgICAgICAgIHJhd0NvbHVtbjogYmxvY2tUYWJsZUNvbHVtbi5yYXdDb2x1bW4sXG4gICAgICAgICAgICB0YWJsZTogYmxvY2tUYWJsZUNvbHVtbi50YWJsZSxcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWtcbiAgICAgIH1cblxuICAgICAgY2FzZSAncmVsYXRpb25zaGlwJzpcbiAgICAgIGNhc2UgJ3VwbG9hZCc6IHtcbiAgICAgICAgbGV0IHJlbGF0aW9uc2hpcEZpZWxkc1xuICAgICAgICBjb25zdCByZWxhdGlvblRhYmxlTmFtZSA9IGAke3Jvb3RUYWJsZU5hbWV9JHthZGFwdGVyLnJlbGF0aW9uc2hpcHNTdWZmaXh9YFxuICAgICAgICBjb25zdCBuZXdDb2xsZWN0aW9uUGF0aCA9IHBhdGhTZWdtZW50cy5zbGljZSgxKS5qb2luKCcuJylcbiAgICAgICAgY29uc3QgYWxpYXNSZWxhdGlvbnNoaXBUYWJsZU5hbWUgPSB1dWlkKClcbiAgICAgICAgY29uc3QgYWxpYXNSZWxhdGlvbnNoaXBUYWJsZSA9IGFsaWFzKFxuICAgICAgICAgIGFkYXB0ZXIudGFibGVzW3JlbGF0aW9uVGFibGVOYW1lXSxcbiAgICAgICAgICBhbGlhc1JlbGF0aW9uc2hpcFRhYmxlTmFtZSxcbiAgICAgICAgKVxuXG4gICAgICAgIC8vIEpvaW4gaW4gdGhlIHJlbGF0aW9uc2hpcHMgdGFibGVcbiAgICAgICAgaWYgKGxvY2FsZSAmJiBmaWVsZC5sb2NhbGl6ZWQgJiYgYWRhcHRlci5wYXlsb2FkLmNvbmZpZy5sb2NhbGl6YXRpb24pIHtcbiAgICAgICAgICBqb2luQWxpYXNlcy5wdXNoKHtcbiAgICAgICAgICAgIGNvbmRpdGlvbjogYW5kKFxuICAgICAgICAgICAgICBlcSgoYWxpYXNUYWJsZSB8fCBhZGFwdGVyLnRhYmxlc1tyb290VGFibGVOYW1lXSkuaWQsIGFsaWFzUmVsYXRpb25zaGlwVGFibGUucGFyZW50KSxcbiAgICAgICAgICAgICAgZXEoYWxpYXNSZWxhdGlvbnNoaXBUYWJsZS5sb2NhbGUsIGxvY2FsZSksXG4gICAgICAgICAgICAgIGxpa2UoYWxpYXNSZWxhdGlvbnNoaXBUYWJsZS5wYXRoLCBgJHtjb25zdHJhaW50UGF0aH0ke2ZpZWxkLm5hbWV9YCksXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgdGFibGU6IGFsaWFzUmVsYXRpb25zaGlwVGFibGUsXG4gICAgICAgICAgfSlcbiAgICAgICAgICBpZiAobG9jYWxlICE9PSAnYWxsJykge1xuICAgICAgICAgICAgY29uc3RyYWludHMucHVzaCh7XG4gICAgICAgICAgICAgIGNvbHVtbk5hbWU6ICdsb2NhbGUnLFxuICAgICAgICAgICAgICB0YWJsZTogYWxpYXNSZWxhdGlvbnNoaXBUYWJsZSxcbiAgICAgICAgICAgICAgdmFsdWU6IGxvY2FsZSxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIC8vIEpvaW4gaW4gdGhlIHJlbGF0aW9uc2hpcHMgdGFibGVcbiAgICAgICAgICBqb2luQWxpYXNlcy5wdXNoKHtcbiAgICAgICAgICAgIGNvbmRpdGlvbjogYW5kKFxuICAgICAgICAgICAgICBlcSgoYWxpYXNUYWJsZSB8fCBhZGFwdGVyLnRhYmxlc1tyb290VGFibGVOYW1lXSkuaWQsIGFsaWFzUmVsYXRpb25zaGlwVGFibGUucGFyZW50KSxcbiAgICAgICAgICAgICAgbGlrZShhbGlhc1JlbGF0aW9uc2hpcFRhYmxlLnBhdGgsIGAke2NvbnN0cmFpbnRQYXRofSR7ZmllbGQubmFtZX1gKSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICB0YWJsZTogYWxpYXNSZWxhdGlvbnNoaXBUYWJsZSxcbiAgICAgICAgICB9KVxuICAgICAgICB9XG5cbiAgICAgICAgc2VsZWN0RmllbGRzW2Ake3JlbGF0aW9uVGFibGVOYW1lfS5wYXRoYF0gPSBhbGlhc1JlbGF0aW9uc2hpcFRhYmxlLnBhdGhcblxuICAgICAgICBsZXQgbmV3QWxpYXNUYWJsZVxuXG4gICAgICAgIGlmICh0eXBlb2YgZmllbGQucmVsYXRpb25UbyA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICBjb25zdCByZWxhdGlvbnNoaXBDb25maWcgPSBhZGFwdGVyLnBheWxvYWQuY29sbGVjdGlvbnNbZmllbGQucmVsYXRpb25Ub10uY29uZmlnXG5cbiAgICAgICAgICBuZXdUYWJsZU5hbWUgPSBhZGFwdGVyLnRhYmxlTmFtZU1hcC5nZXQodG9TbmFrZUNhc2UocmVsYXRpb25zaGlwQ29uZmlnLnNsdWcpKVxuXG4gICAgICAgICAgLy8gcGFyZW50IHRvIHJlbGF0aW9uc2hpcCBqb2luIHRhYmxlXG4gICAgICAgICAgcmVsYXRpb25zaGlwRmllbGRzID0gcmVsYXRpb25zaGlwQ29uZmlnLmZpZWxkc1xuXG4gICAgICAgICAgbmV3QWxpYXNUYWJsZSA9IGFsaWFzKGFkYXB0ZXIudGFibGVzW25ld1RhYmxlTmFtZV0sIHRvU25ha2VDYXNlKHV1aWQoKSkpXG5cbiAgICAgICAgICBqb2luQWxpYXNlcy5wdXNoKHtcbiAgICAgICAgICAgIGNvbmRpdGlvbjogZXEobmV3QWxpYXNUYWJsZS5pZCwgYWxpYXNSZWxhdGlvbnNoaXBUYWJsZVtgJHtmaWVsZC5yZWxhdGlvblRvfUlEYF0pLFxuICAgICAgICAgICAgdGFibGU6IG5ld0FsaWFzVGFibGUsXG4gICAgICAgICAgfSlcblxuICAgICAgICAgIGlmIChuZXdDb2xsZWN0aW9uUGF0aCA9PT0gJycgfHwgbmV3Q29sbGVjdGlvblBhdGggPT09ICdpZCcpIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgIGNvbHVtbk5hbWU6IGAke2ZpZWxkLnJlbGF0aW9uVG99SURgLFxuICAgICAgICAgICAgICBjb25zdHJhaW50cyxcbiAgICAgICAgICAgICAgZmllbGQsXG4gICAgICAgICAgICAgIHRhYmxlOiBhbGlhc1JlbGF0aW9uc2hpcFRhYmxlLFxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIGlmIChuZXdDb2xsZWN0aW9uUGF0aCA9PT0gJ3ZhbHVlJykge1xuICAgICAgICAgIGNvbnN0IHRhYmxlQ29sdW1uc05hbWVzID0gZmllbGQucmVsYXRpb25Uby5tYXAoKHJlbGF0aW9uVG8pID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHJlbGF0aW9uVGFibGVOYW1lID0gYWRhcHRlci50YWJsZU5hbWVNYXAuZ2V0KFxuICAgICAgICAgICAgICB0b1NuYWtlQ2FzZShhZGFwdGVyLnBheWxvYWQuY29sbGVjdGlvbnNbcmVsYXRpb25Ub10uY29uZmlnLnNsdWcpLFxuICAgICAgICAgICAgKVxuXG4gICAgICAgICAgICByZXR1cm4gYFwiJHthbGlhc1JlbGF0aW9uc2hpcFRhYmxlTmFtZX1cIi5cIiR7cmVsYXRpb25UYWJsZU5hbWV9X2lkXCJgXG4gICAgICAgICAgfSlcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgY29uc3RyYWludHMsXG4gICAgICAgICAgICBmaWVsZCxcbiAgICAgICAgICAgIHJhd0NvbHVtbjogc3FsLnJhdyhgQ09BTEVTQ0UoJHt0YWJsZUNvbHVtbnNOYW1lcy5qb2luKCcsICcpfSlgKSxcbiAgICAgICAgICAgIHRhYmxlOiBhbGlhc1JlbGF0aW9uc2hpcFRhYmxlLFxuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIGlmIChuZXdDb2xsZWN0aW9uUGF0aCA9PT0gJ3JlbGF0aW9uVG8nKSB7XG4gICAgICAgICAgY29uc3QgcmVsYXRpb25UbyA9IEFycmF5LmlzQXJyYXkoZmllbGQucmVsYXRpb25UbykgPyBmaWVsZC5yZWxhdGlvblRvIDogW2ZpZWxkLnJlbGF0aW9uVG9dXG5cbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgY29uc3RyYWludHMsXG4gICAgICAgICAgICBmaWVsZCxcbiAgICAgICAgICAgIGdldE5vdE51bGxDb2x1bW5CeVZhbHVlOiAodmFsKSA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IG1hdGNoZWRSZWxhdGlvbiA9IHJlbGF0aW9uVG8uZmluZCgocmVsYXRpb24pID0+IHJlbGF0aW9uID09PSB2YWwpXG4gICAgICAgICAgICAgIGlmIChtYXRjaGVkUmVsYXRpb24pIHJldHVybiBgJHttYXRjaGVkUmVsYXRpb259SURgXG4gICAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWRcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB0YWJsZTogYWxpYXNSZWxhdGlvbnNoaXBUYWJsZSxcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEFQSUVycm9yKCdOb3Qgc3VwcG9ydGVkJylcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBnZXRUYWJsZUNvbHVtbkZyb21QYXRoKHtcbiAgICAgICAgICBhZGFwdGVyLFxuICAgICAgICAgIGFsaWFzVGFibGU6IG5ld0FsaWFzVGFibGUsXG4gICAgICAgICAgY29sbGVjdGlvblBhdGg6IG5ld0NvbGxlY3Rpb25QYXRoLFxuICAgICAgICAgIGNvbnN0cmFpbnRzLFxuICAgICAgICAgIGZpZWxkczogcmVsYXRpb25zaGlwRmllbGRzLFxuICAgICAgICAgIGpvaW5BbGlhc2VzLFxuICAgICAgICAgIGpvaW5zLFxuICAgICAgICAgIGxvY2FsZSxcbiAgICAgICAgICBwYXRoU2VnbWVudHM6IHBhdGhTZWdtZW50cy5zbGljZSgxKSxcbiAgICAgICAgICByb290VGFibGVOYW1lOiBuZXdUYWJsZU5hbWUsXG4gICAgICAgICAgc2VsZWN0RmllbGRzLFxuICAgICAgICAgIHRhYmxlTmFtZTogbmV3VGFibGVOYW1lLFxuICAgICAgICAgIHZhbHVlLFxuICAgICAgICB9KVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChmaWVsZEFmZmVjdHNEYXRhKGZpZWxkKSkge1xuICAgICAgaWYgKGZpZWxkLmxvY2FsaXplZCAmJiBhZGFwdGVyLnBheWxvYWQuY29uZmlnLmxvY2FsaXphdGlvbikge1xuICAgICAgICAvLyBJZiBsb2NhbGl6ZWQsIHdlIGdvIHRvIGxvY2FsaXplZCB0YWJsZSBhbmQgc2V0IGFsaWFzVGFibGUgdG8gdW5kZWZpbmVkXG4gICAgICAgIC8vIHNvIGl0IGlzIG5vdCBwaWNrZWQgdXAgYmVsb3cgdG8gYmUgdXNlZCBhcyB0YXJnZXRUYWJsZVxuICAgICAgICBuZXdUYWJsZU5hbWUgPSBgJHt0YWJsZU5hbWV9JHthZGFwdGVyLmxvY2FsZXNTdWZmaXh9YFxuXG4gICAgICAgIGNvbnN0IHBhcmVudFRhYmxlID0gYWxpYXNUYWJsZSB8fCBhZGFwdGVyLnRhYmxlc1t0YWJsZU5hbWVdXG5cbiAgICAgICAgam9pbnNbbmV3VGFibGVOYW1lXSA9IGVxKHBhcmVudFRhYmxlLmlkLCBhZGFwdGVyLnRhYmxlc1tuZXdUYWJsZU5hbWVdLl9wYXJlbnRJRClcblxuICAgICAgICBhbGlhc1RhYmxlID0gdW5kZWZpbmVkXG5cbiAgICAgICAgaWYgKGxvY2FsZSAhPT0gJ2FsbCcpIHtcbiAgICAgICAgICBjb25zdHJhaW50cy5wdXNoKHtcbiAgICAgICAgICAgIGNvbHVtbk5hbWU6ICdfbG9jYWxlJyxcbiAgICAgICAgICAgIHRhYmxlOiBhZGFwdGVyLnRhYmxlc1tuZXdUYWJsZU5hbWVdLFxuICAgICAgICAgICAgdmFsdWU6IGxvY2FsZSxcbiAgICAgICAgICB9KVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHRhcmdldFRhYmxlID0gYWxpYXNUYWJsZSB8fCBhZGFwdGVyLnRhYmxlc1tuZXdUYWJsZU5hbWVdXG5cbiAgICAgIHNlbGVjdEZpZWxkc1tgJHtuZXdUYWJsZU5hbWV9LiR7Y29sdW1uUHJlZml4fSR7ZmllbGQubmFtZX1gXSA9XG4gICAgICAgIHRhcmdldFRhYmxlW2Ake2NvbHVtblByZWZpeH0ke2ZpZWxkLm5hbWV9YF1cblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgY29sdW1uTmFtZTogYCR7Y29sdW1uUHJlZml4fSR7ZmllbGQubmFtZX1gLFxuICAgICAgICBjb25zdHJhaW50cyxcbiAgICAgICAgZmllbGQsXG4gICAgICAgIHBhdGhTZWdtZW50cyxcbiAgICAgICAgdGFibGU6IHRhcmdldFRhYmxlLFxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHRocm93IG5ldyBBUElFcnJvcihgQ2Fubm90IGZpbmQgZmllbGQgZm9yIHBhdGggYXQgJHtmaWVsZFBhdGh9YClcbn1cbiJdLCJuYW1lcyI6WyJnZXRUYWJsZUNvbHVtbkZyb21QYXRoIiwiYWRhcHRlciIsImFsaWFzVGFibGUiLCJjb2xsZWN0aW9uUGF0aCIsImNvbHVtblByZWZpeCIsImNvbnN0cmFpbnRQYXRoIiwiaW5jb21pbmdDb25zdHJhaW50UGF0aCIsImNvbnN0cmFpbnRzIiwiZmllbGRzIiwiam9pbkFsaWFzZXMiLCJqb2lucyIsImxvY2FsZSIsImluY29taW5nTG9jYWxlIiwicGF0aFNlZ21lbnRzIiwiaW5jb21pbmdTZWdtZW50cyIsInJvb3RUYWJsZU5hbWUiLCJpbmNvbWluZ1Jvb3RUYWJsZU5hbWUiLCJzZWxlY3RGaWVsZHMiLCJ0YWJsZU5hbWUiLCJ0YWJsZU5hbWVTdWZmaXgiLCJ2YWx1ZSIsImZpZWxkUGF0aCIsImZpZWxkIiwiZmxhdHRlblRvcExldmVsRmllbGRzIiwiZmluZCIsImZpZWxkVG9GaW5kIiwiZmllbGRBZmZlY3RzRGF0YSIsIm5hbWUiLCJuZXdUYWJsZU5hbWUiLCJpZCIsInRhYmxlcyIsImNvbHVtbk5hbWUiLCJ0eXBlIiwiaWRUeXBlIiwidGFibGUiLCJsb2NhbGl6ZWQiLCJwYXlsb2FkIiwiY29uZmlnIiwibG9jYWxpemF0aW9uIiwibWF0Y2hlZExvY2FsZSIsImxvY2FsZUNvZGVzIiwic3BsaWNlIiwidGFicyIsIm1hcCIsInRhYiIsInNsaWNlIiwidGFiSGFzTmFtZSIsInRvU25ha2VDYXNlIiwibG9jYWxlc1N1ZmZpeCIsImVxIiwiX3BhcmVudElEIiwicHVzaCIsImhhc01hbnkiLCJ0YWJsZU5hbWVNYXAiLCJnZXQiLCJhbmQiLCJwYXJlbnQiLCJfbG9jYWxlIiwidGFibGVUeXBlIiwiam9pbkNvbnN0cmFpbnRzIiwibGlrZSIsInBhdGgiLCJhcnJheVBhcmVudFRhYmxlIiwiYmxvY2tUYWJsZUNvbHVtbiIsImJsb2NrVHlwZXMiLCJBcnJheSIsImlzQXJyYXkiLCJmb3JFYWNoIiwiYmxvY2tUeXBlIiwiYmxvY2siLCJibG9ja3MiLCJzbHVnIiwiZ2V0Tm90TnVsbENvbHVtbkJ5VmFsdWUiLCJoYXNCbG9ja0ZpZWxkIiwic29tZSIsInJlc3VsdCIsImJsb2NrQ29uc3RyYWludHMiLCJibG9ja1NlbGVjdEZpZWxkcyIsImVycm9yIiwiY29uY2F0IiwicmF3Q29sdW1uIiwicmVsYXRpb25zaGlwRmllbGRzIiwicmVsYXRpb25UYWJsZU5hbWUiLCJyZWxhdGlvbnNoaXBzU3VmZml4IiwibmV3Q29sbGVjdGlvblBhdGgiLCJqb2luIiwiYWxpYXNSZWxhdGlvbnNoaXBUYWJsZU5hbWUiLCJ1dWlkIiwiYWxpYXNSZWxhdGlvbnNoaXBUYWJsZSIsImFsaWFzIiwiY29uZGl0aW9uIiwibmV3QWxpYXNUYWJsZSIsInJlbGF0aW9uVG8iLCJyZWxhdGlvbnNoaXBDb25maWciLCJjb2xsZWN0aW9ucyIsInRhYmxlQ29sdW1uc05hbWVzIiwic3FsIiwicmF3IiwidmFsIiwibWF0Y2hlZFJlbGF0aW9uIiwicmVsYXRpb24iLCJ1bmRlZmluZWQiLCJBUElFcnJvciIsInBhcmVudFRhYmxlIiwidGFyZ2V0VGFibGUiXSwicmFuZ2VNYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzsiLCJtYXBwaW5ncyI6IkFBQUEsb0NBQW9DOzs7OytCQTZEdkJBOzs7ZUFBQUE7Ozs0QkF4RHNCO3dCQUNiO3dCQUNHO3VCQUNvQjsyQkFDUDtvRUFDZDtzQkFDRzs7Ozs7O0FBa0RwQixNQUFNQSx5QkFBeUIsQ0FBQyxFQUNyQ0MsT0FBTyxFQUNQQyxVQUFVLEVBQ1ZDLGNBQWMsRUFDZEMsZUFBZSxFQUFFLEVBQ2pCQyxnQkFBZ0JDLHNCQUFzQixFQUN0Q0MsY0FBYyxFQUFFLEVBQ2hCQyxNQUFNLEVBQ05DLFdBQVcsRUFDWEMsS0FBSyxFQUNMQyxRQUFRQyxjQUFjLEVBQ3RCQyxjQUFjQyxnQkFBZ0IsRUFDOUJDLGVBQWVDLHFCQUFxQixFQUNwQ0MsWUFBWSxFQUNaQyxTQUFTLEVBQ1RDLGtCQUFrQixFQUFFLEVBQ3BCQyxLQUFLLEVBQ0E7SUFDTCxNQUFNQyxZQUFZUCxnQkFBZ0IsQ0FBQyxFQUFFO0lBQ3JDLElBQUlILFNBQVNDO0lBQ2IsTUFBTUcsZ0JBQWdCQyx5QkFBeUJFO0lBQy9DLElBQUliLGlCQUFpQkMsMEJBQTBCO0lBRS9DLE1BQU1nQixRQUFRQyxJQUFBQSxnQ0FBcUIsRUFBQ2YsUUFBbUJnQixJQUFJLENBQ3pELENBQUNDLGNBQWdCQyxJQUFBQSx1QkFBZ0IsRUFBQ0QsZ0JBQWdCQSxZQUFZRSxJQUFJLEtBQUtOO0lBRXpFLElBQUlPLGVBQWVWO0lBRW5CLElBQUksQ0FBQ0ksU0FBU0QsY0FBYyxNQUFNO1FBQ2hDSixhQUFhWSxFQUFFLEdBQUc1QixRQUFRNkIsTUFBTSxDQUFDRixhQUFhLENBQUNDLEVBQUU7UUFDakQsT0FBTztZQUNMRSxZQUFZO1lBQ1p4QjtZQUNBZSxPQUFPO2dCQUNMSyxNQUFNO2dCQUNOSyxNQUFNL0IsUUFBUWdDLE1BQU0sS0FBSyxTQUFTLFNBQVM7WUFDN0M7WUFDQUMsT0FBT2pDLFFBQVE2QixNQUFNLENBQUNGLGFBQWE7UUFDckM7SUFDRjtJQUVBLElBQUlOLE9BQU87UUFDVCxNQUFNVCxlQUFlO2VBQUlDO1NBQWlCO1FBRTFDLCtCQUErQjtRQUMvQixxRUFBcUU7UUFDckUsSUFBSSxlQUFlUSxTQUFTQSxNQUFNYSxTQUFTLElBQUlsQyxRQUFRbUMsT0FBTyxDQUFDQyxNQUFNLENBQUNDLFlBQVksRUFBRTtZQUNsRixNQUFNQyxnQkFBZ0J0QyxRQUFRbUMsT0FBTyxDQUFDQyxNQUFNLENBQUNDLFlBQVksQ0FBQ0UsV0FBVyxDQUFDaEIsSUFBSSxDQUN4RSxDQUFDYixTQUFXQSxXQUFXRSxZQUFZLENBQUMsRUFBRTtZQUd4QyxJQUFJMEIsZUFBZTtnQkFDakI1QixTQUFTNEI7Z0JBQ1QxQixhQUFhNEIsTUFBTSxDQUFDLEdBQUc7WUFDekI7UUFDRjtRQUVBLE9BQVFuQixNQUFNVSxJQUFJO1lBQ2hCLEtBQUs7Z0JBQVE7b0JBQ1gsT0FBT2hDLHVCQUF1Qjt3QkFDNUJDO3dCQUNBQzt3QkFDQUM7d0JBQ0FDO3dCQUNBQzt3QkFDQUU7d0JBQ0FDLFFBQVFjLE1BQU1vQixJQUFJLENBQUNDLEdBQUcsQ0FBQyxDQUFDQyxNQUFTLENBQUE7Z0NBQy9CLEdBQUdBLEdBQUc7Z0NBQ05aLE1BQU07NEJBQ1IsQ0FBQTt3QkFDQXZCO3dCQUNBQzt3QkFDQUM7d0JBQ0FFLGNBQWNBLGFBQWFnQyxLQUFLLENBQUM7d0JBQ2pDOUI7d0JBQ0FFO3dCQUNBQyxXQUFXVTt3QkFDWFQ7d0JBQ0FDO29CQUNGO2dCQUNGO1lBQ0EsS0FBSztnQkFBTztvQkFDVixJQUFJMEIsSUFBQUEsaUJBQVUsRUFBQ3hCLFFBQVE7d0JBQ3JCLE9BQU90Qix1QkFBdUI7NEJBQzVCQzs0QkFDQUM7NEJBQ0FDOzRCQUNBQyxjQUFjLENBQUMsRUFBRUEsYUFBYSxFQUFFa0IsTUFBTUssSUFBSSxDQUFDLENBQUMsQ0FBQzs0QkFDN0N0QixnQkFBZ0IsQ0FBQyxFQUFFQSxlQUFlLEVBQUVpQixNQUFNSyxJQUFJLENBQUMsQ0FBQyxDQUFDOzRCQUNqRHBCOzRCQUNBQyxRQUFRYyxNQUFNZCxNQUFNOzRCQUNwQkM7NEJBQ0FDOzRCQUNBQzs0QkFDQUUsY0FBY0EsYUFBYWdDLEtBQUssQ0FBQzs0QkFDakM5Qjs0QkFDQUU7NEJBQ0FDLFdBQVdVOzRCQUNYVCxpQkFBaUIsQ0FBQyxFQUFFQSxnQkFBZ0IsRUFBRTRCLElBQUFBLG9CQUFXLEVBQUN6QixNQUFNSyxJQUFJLEVBQUUsQ0FBQyxDQUFDOzRCQUNoRVA7d0JBQ0Y7b0JBQ0Y7b0JBQ0EsT0FBT3BCLHVCQUF1Qjt3QkFDNUJDO3dCQUNBQzt3QkFDQUM7d0JBQ0FDO3dCQUNBQzt3QkFDQUU7d0JBQ0FDLFFBQVFjLE1BQU1kLE1BQU07d0JBQ3BCQzt3QkFDQUM7d0JBQ0FDO3dCQUNBRSxjQUFjQSxhQUFhZ0MsS0FBSyxDQUFDO3dCQUNqQzlCO3dCQUNBRTt3QkFDQUMsV0FBV1U7d0JBQ1hUO3dCQUNBQztvQkFDRjtnQkFDRjtZQUVBLEtBQUs7Z0JBQVM7b0JBQ1osSUFBSVQsVUFBVVcsTUFBTWEsU0FBUyxJQUFJbEMsUUFBUW1DLE9BQU8sQ0FBQ0MsTUFBTSxDQUFDQyxZQUFZLEVBQUU7d0JBQ3BFVixlQUFlLENBQUMsRUFBRVYsVUFBVSxFQUFFakIsUUFBUStDLGFBQWEsQ0FBQyxDQUFDO3dCQUVyRHRDLEtBQUssQ0FBQ1EsVUFBVSxHQUFHK0IsSUFBQUEsY0FBRSxFQUNuQmhELFFBQVE2QixNQUFNLENBQUNaLFVBQVUsQ0FBQ1csRUFBRSxFQUM1QjVCLFFBQVE2QixNQUFNLENBQUNGLGFBQWEsQ0FBQ3NCLFNBQVM7d0JBRXhDLElBQUl2QyxXQUFXLE9BQU87NEJBQ3BCSixZQUFZNEMsSUFBSSxDQUFDO2dDQUNmcEIsWUFBWTtnQ0FDWkcsT0FBT2pDLFFBQVE2QixNQUFNLENBQUNGLGFBQWE7Z0NBQ25DUixPQUFPVDs0QkFDVDt3QkFDRjtvQkFDRjtvQkFDQSxPQUFPWCx1QkFBdUI7d0JBQzVCQzt3QkFDQUM7d0JBQ0FDO3dCQUNBQyxjQUFjLENBQUMsRUFBRUEsYUFBYSxFQUFFa0IsTUFBTUssSUFBSSxDQUFDLENBQUMsQ0FBQzt3QkFDN0N0QixnQkFBZ0IsQ0FBQyxFQUFFQSxlQUFlLEVBQUVpQixNQUFNSyxJQUFJLENBQUMsQ0FBQyxDQUFDO3dCQUNqRHBCO3dCQUNBQyxRQUFRYyxNQUFNZCxNQUFNO3dCQUNwQkM7d0JBQ0FDO3dCQUNBQzt3QkFDQUUsY0FBY0EsYUFBYWdDLEtBQUssQ0FBQzt3QkFDakM5Qjt3QkFDQUU7d0JBQ0FDLFdBQVdVO3dCQUNYVCxpQkFBaUIsQ0FBQyxFQUFFQSxnQkFBZ0IsRUFBRTRCLElBQUFBLG9CQUFXLEVBQUN6QixNQUFNSyxJQUFJLEVBQUUsQ0FBQyxDQUFDO3dCQUNoRVA7b0JBQ0Y7Z0JBQ0Y7WUFFQSxLQUFLO2dCQUFVO29CQUNiLElBQUlFLE1BQU04QixPQUFPLEVBQUU7d0JBQ2pCLE1BQU14QixlQUFlM0IsUUFBUW9ELFlBQVksQ0FBQ0MsR0FBRyxDQUMzQyxDQUFDLEVBQUVwQyxVQUFVLENBQUMsRUFBRUMsZ0JBQWdCLEVBQUU0QixJQUFBQSxvQkFBVyxFQUFDekIsTUFBTUssSUFBSSxFQUFFLENBQUM7d0JBRzdELElBQUloQixVQUFVVyxNQUFNYSxTQUFTLElBQUlsQyxRQUFRbUMsT0FBTyxDQUFDQyxNQUFNLENBQUNDLFlBQVksRUFBRTs0QkFDcEU1QixLQUFLLENBQUNrQixhQUFhLEdBQUcyQixJQUFBQSxlQUFHLEVBQ3ZCTixJQUFBQSxjQUFFLEVBQUNoRCxRQUFRNkIsTUFBTSxDQUFDWixVQUFVLENBQUNXLEVBQUUsRUFBRTVCLFFBQVE2QixNQUFNLENBQUNGLGFBQWEsQ0FBQzRCLE1BQU0sR0FDcEVQLElBQUFBLGNBQUUsRUFBQ2hELFFBQVE2QixNQUFNLENBQUNGLGFBQWEsQ0FBQzZCLE9BQU8sRUFBRTlDOzRCQUUzQyxJQUFJQSxXQUFXLE9BQU87Z0NBQ3BCSixZQUFZNEMsSUFBSSxDQUFDO29DQUNmcEIsWUFBWTtvQ0FDWkcsT0FBT2pDLFFBQVE2QixNQUFNLENBQUNGLGFBQWE7b0NBQ25DUixPQUFPVDtnQ0FDVDs0QkFDRjt3QkFDRixPQUFPOzRCQUNMRCxLQUFLLENBQUNrQixhQUFhLEdBQUdxQixJQUFBQSxjQUFFLEVBQ3RCaEQsUUFBUTZCLE1BQU0sQ0FBQ1osVUFBVSxDQUFDVyxFQUFFLEVBQzVCNUIsUUFBUTZCLE1BQU0sQ0FBQ0YsYUFBYSxDQUFDNEIsTUFBTTt3QkFFdkM7d0JBRUEsT0FBTzs0QkFDTHpCLFlBQVk7NEJBQ1p4Qjs0QkFDQWU7NEJBQ0FZLE9BQU9qQyxRQUFRNkIsTUFBTSxDQUFDRixhQUFhO3dCQUNyQztvQkFDRjtvQkFDQTtnQkFDRjtZQUVBLEtBQUs7WUFDTCxLQUFLO2dCQUFVO29CQUNiLElBQUlOLE1BQU04QixPQUFPLEVBQUU7d0JBQ2pCLElBQUlNLFlBQVk7d0JBQ2hCLElBQUkzQixhQUFhO3dCQUNqQixJQUFJVCxNQUFNVSxJQUFJLEtBQUssVUFBVTs0QkFDM0IwQixZQUFZOzRCQUNaM0IsYUFBYTt3QkFDZjt3QkFDQUgsZUFBZSxDQUFDLEVBQUViLGNBQWMsQ0FBQyxFQUFFMkMsVUFBVSxDQUFDO3dCQUM5QyxNQUFNQyxrQkFBa0I7NEJBQ3RCVixJQUFBQSxjQUFFLEVBQUNoRCxRQUFRNkIsTUFBTSxDQUFDZixjQUFjLENBQUNjLEVBQUUsRUFBRTVCLFFBQVE2QixNQUFNLENBQUNGLGFBQWEsQ0FBQzRCLE1BQU07NEJBQ3hFSSxJQUFBQSxnQkFBSSxFQUFDM0QsUUFBUTZCLE1BQU0sQ0FBQ0YsYUFBYSxDQUFDaUMsSUFBSSxFQUFFLENBQUMsRUFBRXhELGVBQWUsRUFBRWlCLE1BQU1LLElBQUksQ0FBQyxDQUFDO3lCQUN6RTt3QkFFRCxJQUFJaEIsVUFBVVcsTUFBTWEsU0FBUyxJQUFJbEMsUUFBUW1DLE9BQU8sQ0FBQ0MsTUFBTSxDQUFDQyxZQUFZLEVBQUU7NEJBQ3BFNUIsS0FBSyxDQUFDa0IsYUFBYSxHQUFHMkIsSUFBQUEsZUFBRyxLQUNwQkksaUJBQ0hWLElBQUFBLGNBQUUsRUFBQ2hELFFBQVE2QixNQUFNLENBQUNGLGFBQWEsQ0FBQzZCLE9BQU8sRUFBRTlDOzRCQUUzQyxJQUFJQSxXQUFXLE9BQU87Z0NBQ3BCSixZQUFZNEMsSUFBSSxDQUFDO29DQUNmcEIsWUFBWTtvQ0FDWkcsT0FBT2pDLFFBQVE2QixNQUFNLENBQUNGLGFBQWE7b0NBQ25DUixPQUFPVDtnQ0FDVDs0QkFDRjt3QkFDRixPQUFPOzRCQUNMRCxLQUFLLENBQUNrQixhQUFhLEdBQUcyQixJQUFBQSxlQUFHLEtBQUlJO3dCQUMvQjt3QkFFQSxPQUFPOzRCQUNMNUI7NEJBQ0F4Qjs0QkFDQWU7NEJBQ0FZLE9BQU9qQyxRQUFRNkIsTUFBTSxDQUFDRixhQUFhO3dCQUNyQztvQkFDRjtvQkFDQTtnQkFDRjtZQUVBLEtBQUs7Z0JBQVM7b0JBQ1pBLGVBQWUzQixRQUFRb0QsWUFBWSxDQUFDQyxHQUFHLENBQ3JDLENBQUMsRUFBRXBDLFVBQVUsQ0FBQyxFQUFFQyxnQkFBZ0IsRUFBRTRCLElBQUFBLG9CQUFXLEVBQUN6QixNQUFNSyxJQUFJLEVBQUUsQ0FBQztvQkFHN0QsTUFBTW1DLG1CQUFtQjVELGNBQWNELFFBQVE2QixNQUFNLENBQUNaLFVBQVU7b0JBRWhFYixpQkFBaUIsQ0FBQyxFQUFFQSxlQUFlLEVBQUVpQixNQUFNSyxJQUFJLENBQUMsR0FBRyxDQUFDO29CQUNwRCxJQUFJaEIsVUFBVVcsTUFBTWEsU0FBUyxJQUFJbEMsUUFBUW1DLE9BQU8sQ0FBQ0MsTUFBTSxDQUFDQyxZQUFZLEVBQUU7d0JBQ3BFNUIsS0FBSyxDQUFDa0IsYUFBYSxHQUFHMkIsSUFBQUEsZUFBRyxFQUN2Qk4sSUFBQUEsY0FBRSxFQUFDYSxpQkFBaUJqQyxFQUFFLEVBQUU1QixRQUFRNkIsTUFBTSxDQUFDRixhQUFhLENBQUNzQixTQUFTLEdBQzlERCxJQUFBQSxjQUFFLEVBQUNoRCxRQUFRNkIsTUFBTSxDQUFDRixhQUFhLENBQUM2QixPQUFPLEVBQUU5Qzt3QkFFM0MsSUFBSUEsV0FBVyxPQUFPOzRCQUNwQkosWUFBWTRDLElBQUksQ0FBQztnQ0FDZnBCLFlBQVk7Z0NBQ1pHLE9BQU9qQyxRQUFRNkIsTUFBTSxDQUFDRixhQUFhO2dDQUNuQ1IsT0FBT1Q7NEJBQ1Q7d0JBQ0Y7b0JBQ0YsT0FBTzt3QkFDTEQsS0FBSyxDQUFDa0IsYUFBYSxHQUFHcUIsSUFBQUEsY0FBRSxFQUFDYSxpQkFBaUJqQyxFQUFFLEVBQUU1QixRQUFRNkIsTUFBTSxDQUFDRixhQUFhLENBQUNzQixTQUFTO29CQUN0RjtvQkFDQSxPQUFPbEQsdUJBQXVCO3dCQUM1QkM7d0JBQ0FFO3dCQUNBRTt3QkFDQUU7d0JBQ0FDLFFBQVFjLE1BQU1kLE1BQU07d0JBQ3BCQzt3QkFDQUM7d0JBQ0FDO3dCQUNBRSxjQUFjQSxhQUFhZ0MsS0FBSyxDQUFDO3dCQUNqQzlCO3dCQUNBRTt3QkFDQUMsV0FBV1U7d0JBQ1hSO29CQUNGO2dCQUNGO1lBRUEsS0FBSztnQkFBVTtvQkFDYixJQUFJMkM7b0JBQ0osSUFBSW5DO29CQUVKLDJCQUEyQjtvQkFDM0IsSUFBSWYsWUFBWSxDQUFDLEVBQUUsS0FBSyxhQUFhO3dCQUNuQyx3Q0FBd0M7d0JBQ3hDLE1BQU1tRCxhQUFhQyxNQUFNQyxPQUFPLENBQUM5QyxTQUFTQSxRQUFROzRCQUFDQTt5QkFBTTt3QkFDekQ0QyxXQUFXRyxPQUFPLENBQUMsQ0FBQ0M7NEJBQ2xCLE1BQU1DLFFBQVEvQyxNQUFNZ0QsTUFBTSxDQUFDOUMsSUFBSSxDQUFDLENBQUM2QyxRQUFVQSxNQUFNRSxJQUFJLEtBQUtIOzRCQUUxRHhDLGVBQWUzQixRQUFRb0QsWUFBWSxDQUFDQyxHQUFHLENBQ3JDLENBQUMsRUFBRXBDLFVBQVUsUUFBUSxFQUFFNkIsSUFBQUEsb0JBQVcsRUFBQ3NCLE1BQU1FLElBQUksRUFBRSxDQUFDOzRCQUdsRDdELEtBQUssQ0FBQ2tCLGFBQWEsR0FBR3FCLElBQUFBLGNBQUUsRUFDdEJoRCxRQUFRNkIsTUFBTSxDQUFDWixVQUFVLENBQUNXLEVBQUUsRUFDNUI1QixRQUFRNkIsTUFBTSxDQUFDRixhQUFhLENBQUNzQixTQUFTOzRCQUV4QzNDLFlBQVk0QyxJQUFJLENBQUM7Z0NBQ2ZwQixZQUFZO2dDQUNaRyxPQUFPakMsUUFBUTZCLE1BQU0sQ0FBQ0YsYUFBYTtnQ0FDbkNSLE9BQU9QLFlBQVksQ0FBQyxFQUFFOzRCQUN4Qjt3QkFDRjt3QkFDQSxPQUFPOzRCQUNMTjs0QkFDQWU7NEJBQ0FrRCx5QkFBeUIsSUFBTTs0QkFDL0J0QyxPQUFPakMsUUFBUTZCLE1BQU0sQ0FBQ1osVUFBVTt3QkFDbEM7b0JBQ0Y7b0JBRUEsTUFBTXVELGdCQUFnQm5ELE1BQU1nRCxNQUFNLENBQUNJLElBQUksQ0FBQyxDQUFDTDt3QkFDdkN6QyxlQUFlM0IsUUFBUW9ELFlBQVksQ0FBQ0MsR0FBRyxDQUFDLENBQUMsRUFBRXBDLFVBQVUsUUFBUSxFQUFFNkIsSUFBQUEsb0JBQVcsRUFBQ3NCLE1BQU1FLElBQUksRUFBRSxDQUFDO3dCQUN4RmxFLGlCQUFpQixDQUFDLEVBQUVBLGVBQWUsRUFBRWlCLE1BQU1LLElBQUksQ0FBQyxHQUFHLENBQUM7d0JBRXBELElBQUlnRDt3QkFDSixNQUFNQyxtQkFBbUIsRUFBRTt3QkFDM0IsTUFBTUMsb0JBQW9CLENBQUM7d0JBQzNCLElBQUk7NEJBQ0ZGLFNBQVMzRSx1QkFBdUI7Z0NBQzlCQztnQ0FDQUU7Z0NBQ0FFO2dDQUNBRSxhQUFhcUU7Z0NBQ2JwRSxRQUFRNkQsTUFBTTdELE1BQU07Z0NBQ3BCQztnQ0FDQUM7Z0NBQ0FDO2dDQUNBRSxjQUFjQSxhQUFhZ0MsS0FBSyxDQUFDO2dDQUNqQzlCO2dDQUNBRSxjQUFjNEQ7Z0NBQ2QzRCxXQUFXVTtnQ0FDWFI7NEJBQ0Y7d0JBQ0YsRUFBRSxPQUFPMEQsT0FBTzt3QkFDZCxvREFBb0Q7d0JBQ3REO3dCQUNBLElBQUksQ0FBQ0gsUUFBUTs0QkFDWDt3QkFDRjt3QkFDQVosbUJBQW1CWTt3QkFDbkJwRSxjQUFjQSxZQUFZd0UsTUFBTSxDQUFDSDt3QkFDakMzRCxlQUFlOzRCQUFFLEdBQUdBLFlBQVk7NEJBQUUsR0FBRzRELGlCQUFpQjt3QkFBQzt3QkFDdkQsSUFBSXZELE1BQU1hLFNBQVMsSUFBSWxDLFFBQVFtQyxPQUFPLENBQUNDLE1BQU0sQ0FBQ0MsWUFBWSxFQUFFOzRCQUMxRDVCLEtBQUssQ0FBQ2tCLGFBQWEsR0FBRzJCLElBQUFBLGVBQUcsRUFDdkJOLElBQUFBLGNBQUUsRUFBQ2hELFFBQVE2QixNQUFNLENBQUNaLFVBQVUsQ0FBQ1csRUFBRSxFQUFFNUIsUUFBUTZCLE1BQU0sQ0FBQ0YsYUFBYSxDQUFDc0IsU0FBUyxHQUN2RUQsSUFBQUEsY0FBRSxFQUFDaEQsUUFBUTZCLE1BQU0sQ0FBQ0YsYUFBYSxDQUFDNkIsT0FBTyxFQUFFOUM7NEJBRTNDLElBQUlBLFFBQVE7Z0NBQ1ZKLFlBQVk0QyxJQUFJLENBQUM7b0NBQ2ZwQixZQUFZO29DQUNaRyxPQUFPakMsUUFBUTZCLE1BQU0sQ0FBQ0YsYUFBYTtvQ0FDbkNSLE9BQU9UO2dDQUNUOzRCQUNGO3dCQUNGLE9BQU87NEJBQ0xELEtBQUssQ0FBQ2tCLGFBQWEsR0FBR3FCLElBQUFBLGNBQUUsRUFDdEJoRCxRQUFRNkIsTUFBTSxDQUFDWixVQUFVLENBQUNXLEVBQUUsRUFDNUI1QixRQUFRNkIsTUFBTSxDQUFDRixhQUFhLENBQUNzQixTQUFTO3dCQUUxQzt3QkFDQSxPQUFPO29CQUNUO29CQUNBLElBQUl1QixlQUFlO3dCQUNqQixPQUFPOzRCQUNMMUMsWUFBWWdDLGlCQUFpQmhDLFVBQVU7NEJBQ3ZDeEI7NEJBQ0FlLE9BQU95QyxpQkFBaUJ6QyxLQUFLOzRCQUM3QlQsY0FBY0EsYUFBYWdDLEtBQUssQ0FBQzs0QkFDakNtQyxXQUFXakIsaUJBQWlCaUIsU0FBUzs0QkFDckM5QyxPQUFPNkIsaUJBQWlCN0IsS0FBSzt3QkFDL0I7b0JBQ0Y7b0JBQ0E7Z0JBQ0Y7WUFFQSxLQUFLO1lBQ0wsS0FBSztnQkFBVTtvQkFDYixJQUFJK0M7b0JBQ0osTUFBTUMsb0JBQW9CLENBQUMsRUFBRW5FLGNBQWMsRUFBRWQsUUFBUWtGLG1CQUFtQixDQUFDLENBQUM7b0JBQzFFLE1BQU1DLG9CQUFvQnZFLGFBQWFnQyxLQUFLLENBQUMsR0FBR3dDLElBQUksQ0FBQztvQkFDckQsTUFBTUMsNkJBQTZCQyxJQUFBQSxRQUFJO29CQUN2QyxNQUFNQyx5QkFBeUJDLElBQUFBLGFBQUssRUFDbEN4RixRQUFRNkIsTUFBTSxDQUFDb0Qsa0JBQWtCLEVBQ2pDSTtvQkFHRixrQ0FBa0M7b0JBQ2xDLElBQUkzRSxVQUFVVyxNQUFNYSxTQUFTLElBQUlsQyxRQUFRbUMsT0FBTyxDQUFDQyxNQUFNLENBQUNDLFlBQVksRUFBRTt3QkFDcEU3QixZQUFZMEMsSUFBSSxDQUFDOzRCQUNmdUMsV0FBV25DLElBQUFBLGVBQUcsRUFDWk4sSUFBQUEsY0FBRSxFQUFDLEFBQUMvQyxDQUFBQSxjQUFjRCxRQUFRNkIsTUFBTSxDQUFDZixjQUFjLEFBQUQsRUFBR2MsRUFBRSxFQUFFMkQsdUJBQXVCaEMsTUFBTSxHQUNsRlAsSUFBQUEsY0FBRSxFQUFDdUMsdUJBQXVCN0UsTUFBTSxFQUFFQSxTQUNsQ2lELElBQUFBLGdCQUFJLEVBQUM0Qix1QkFBdUIzQixJQUFJLEVBQUUsQ0FBQyxFQUFFeEQsZUFBZSxFQUFFaUIsTUFBTUssSUFBSSxDQUFDLENBQUM7NEJBRXBFTyxPQUFPc0Q7d0JBQ1Q7d0JBQ0EsSUFBSTdFLFdBQVcsT0FBTzs0QkFDcEJKLFlBQVk0QyxJQUFJLENBQUM7Z0NBQ2ZwQixZQUFZO2dDQUNaRyxPQUFPc0Q7Z0NBQ1BwRSxPQUFPVDs0QkFDVDt3QkFDRjtvQkFDRixPQUFPO3dCQUNMLGtDQUFrQzt3QkFDbENGLFlBQVkwQyxJQUFJLENBQUM7NEJBQ2Z1QyxXQUFXbkMsSUFBQUEsZUFBRyxFQUNaTixJQUFBQSxjQUFFLEVBQUMsQUFBQy9DLENBQUFBLGNBQWNELFFBQVE2QixNQUFNLENBQUNmLGNBQWMsQUFBRCxFQUFHYyxFQUFFLEVBQUUyRCx1QkFBdUJoQyxNQUFNLEdBQ2xGSSxJQUFBQSxnQkFBSSxFQUFDNEIsdUJBQXVCM0IsSUFBSSxFQUFFLENBQUMsRUFBRXhELGVBQWUsRUFBRWlCLE1BQU1LLElBQUksQ0FBQyxDQUFDOzRCQUVwRU8sT0FBT3NEO3dCQUNUO29CQUNGO29CQUVBdkUsWUFBWSxDQUFDLENBQUMsRUFBRWlFLGtCQUFrQixLQUFLLENBQUMsQ0FBQyxHQUFHTSx1QkFBdUIzQixJQUFJO29CQUV2RSxJQUFJOEI7b0JBRUosSUFBSSxPQUFPckUsTUFBTXNFLFVBQVUsS0FBSyxVQUFVO3dCQUN4QyxNQUFNQyxxQkFBcUI1RixRQUFRbUMsT0FBTyxDQUFDMEQsV0FBVyxDQUFDeEUsTUFBTXNFLFVBQVUsQ0FBQyxDQUFDdkQsTUFBTTt3QkFFL0VULGVBQWUzQixRQUFRb0QsWUFBWSxDQUFDQyxHQUFHLENBQUNQLElBQUFBLG9CQUFXLEVBQUM4QyxtQkFBbUJ0QixJQUFJO3dCQUUzRSxvQ0FBb0M7d0JBQ3BDVSxxQkFBcUJZLG1CQUFtQnJGLE1BQU07d0JBRTlDbUYsZ0JBQWdCRixJQUFBQSxhQUFLLEVBQUN4RixRQUFRNkIsTUFBTSxDQUFDRixhQUFhLEVBQUVtQixJQUFBQSxvQkFBVyxFQUFDd0MsSUFBQUEsUUFBSTt3QkFFcEU5RSxZQUFZMEMsSUFBSSxDQUFDOzRCQUNmdUMsV0FBV3pDLElBQUFBLGNBQUUsRUFBQzBDLGNBQWM5RCxFQUFFLEVBQUUyRCxzQkFBc0IsQ0FBQyxDQUFDLEVBQUVsRSxNQUFNc0UsVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDOzRCQUMvRTFELE9BQU95RDt3QkFDVDt3QkFFQSxJQUFJUCxzQkFBc0IsTUFBTUEsc0JBQXNCLE1BQU07NEJBQzFELE9BQU87Z0NBQ0xyRCxZQUFZLENBQUMsRUFBRVQsTUFBTXNFLFVBQVUsQ0FBQyxFQUFFLENBQUM7Z0NBQ25DckY7Z0NBQ0FlO2dDQUNBWSxPQUFPc0Q7NEJBQ1Q7d0JBQ0Y7b0JBQ0YsT0FBTyxJQUFJSixzQkFBc0IsU0FBUzt3QkFDeEMsTUFBTVcsb0JBQW9CekUsTUFBTXNFLFVBQVUsQ0FBQ2pELEdBQUcsQ0FBQyxDQUFDaUQ7NEJBQzlDLE1BQU1WLG9CQUFvQmpGLFFBQVFvRCxZQUFZLENBQUNDLEdBQUcsQ0FDaERQLElBQUFBLG9CQUFXLEVBQUM5QyxRQUFRbUMsT0FBTyxDQUFDMEQsV0FBVyxDQUFDRixXQUFXLENBQUN2RCxNQUFNLENBQUNrQyxJQUFJOzRCQUdqRSxPQUFPLENBQUMsQ0FBQyxFQUFFZSwyQkFBMkIsR0FBRyxFQUFFSixrQkFBa0IsSUFBSSxDQUFDO3dCQUNwRTt3QkFDQSxPQUFPOzRCQUNMM0U7NEJBQ0FlOzRCQUNBMEQsV0FBV2dCLGVBQUcsQ0FBQ0MsR0FBRyxDQUFDLENBQUMsU0FBUyxFQUFFRixrQkFBa0JWLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQzs0QkFDOURuRCxPQUFPc0Q7d0JBQ1Q7b0JBQ0YsT0FBTyxJQUFJSixzQkFBc0IsY0FBYzt3QkFDN0MsTUFBTVEsYUFBYTNCLE1BQU1DLE9BQU8sQ0FBQzVDLE1BQU1zRSxVQUFVLElBQUl0RSxNQUFNc0UsVUFBVSxHQUFHOzRCQUFDdEUsTUFBTXNFLFVBQVU7eUJBQUM7d0JBRTFGLE9BQU87NEJBQ0xyRjs0QkFDQWU7NEJBQ0FrRCx5QkFBeUIsQ0FBQzBCO2dDQUN4QixNQUFNQyxrQkFBa0JQLFdBQVdwRSxJQUFJLENBQUMsQ0FBQzRFLFdBQWFBLGFBQWFGO2dDQUNuRSxJQUFJQyxpQkFBaUIsT0FBTyxDQUFDLEVBQUVBLGdCQUFnQixFQUFFLENBQUM7Z0NBQ2xELE9BQU9FOzRCQUNUOzRCQUNBbkUsT0FBT3NEO3dCQUNUO29CQUNGLE9BQU87d0JBQ0wsTUFBTSxJQUFJYyxnQkFBUSxDQUFDO29CQUNyQjtvQkFFQSxPQUFPdEcsdUJBQXVCO3dCQUM1QkM7d0JBQ0FDLFlBQVl5Rjt3QkFDWnhGLGdCQUFnQmlGO3dCQUNoQjdFO3dCQUNBQyxRQUFReUU7d0JBQ1J4RTt3QkFDQUM7d0JBQ0FDO3dCQUNBRSxjQUFjQSxhQUFhZ0MsS0FBSyxDQUFDO3dCQUNqQzlCLGVBQWVhO3dCQUNmWDt3QkFDQUMsV0FBV1U7d0JBQ1hSO29CQUNGO2dCQUNGO1FBQ0Y7UUFFQSxJQUFJTSxJQUFBQSx1QkFBZ0IsRUFBQ0osUUFBUTtZQUMzQixJQUFJQSxNQUFNYSxTQUFTLElBQUlsQyxRQUFRbUMsT0FBTyxDQUFDQyxNQUFNLENBQUNDLFlBQVksRUFBRTtnQkFDMUQseUVBQXlFO2dCQUN6RSx5REFBeUQ7Z0JBQ3pEVixlQUFlLENBQUMsRUFBRVYsVUFBVSxFQUFFakIsUUFBUStDLGFBQWEsQ0FBQyxDQUFDO2dCQUVyRCxNQUFNdUQsY0FBY3JHLGNBQWNELFFBQVE2QixNQUFNLENBQUNaLFVBQVU7Z0JBRTNEUixLQUFLLENBQUNrQixhQUFhLEdBQUdxQixJQUFBQSxjQUFFLEVBQUNzRCxZQUFZMUUsRUFBRSxFQUFFNUIsUUFBUTZCLE1BQU0sQ0FBQ0YsYUFBYSxDQUFDc0IsU0FBUztnQkFFL0VoRCxhQUFhbUc7Z0JBRWIsSUFBSTFGLFdBQVcsT0FBTztvQkFDcEJKLFlBQVk0QyxJQUFJLENBQUM7d0JBQ2ZwQixZQUFZO3dCQUNaRyxPQUFPakMsUUFBUTZCLE1BQU0sQ0FBQ0YsYUFBYTt3QkFDbkNSLE9BQU9UO29CQUNUO2dCQUNGO1lBQ0Y7WUFFQSxNQUFNNkYsY0FBY3RHLGNBQWNELFFBQVE2QixNQUFNLENBQUNGLGFBQWE7WUFFOURYLFlBQVksQ0FBQyxDQUFDLEVBQUVXLGFBQWEsQ0FBQyxFQUFFeEIsYUFBYSxFQUFFa0IsTUFBTUssSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUMxRDZFLFdBQVcsQ0FBQyxDQUFDLEVBQUVwRyxhQUFhLEVBQUVrQixNQUFNSyxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBRTdDLE9BQU87Z0JBQ0xJLFlBQVksQ0FBQyxFQUFFM0IsYUFBYSxFQUFFa0IsTUFBTUssSUFBSSxDQUFDLENBQUM7Z0JBQzFDcEI7Z0JBQ0FlO2dCQUNBVDtnQkFDQXFCLE9BQU9zRTtZQUNUO1FBQ0Y7SUFDRjtJQUVBLE1BQU0sSUFBSUYsZ0JBQVEsQ0FBQyxDQUFDLDhCQUE4QixFQUFFakYsVUFBVSxDQUFDO0FBQ2pFIn0=
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"insertArrays.d.ts","sourceRoot":"","sources":["../../src/upsertRow/insertArrays.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAChE,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAE1D,KAAK,IAAI,GAAG;IACV,OAAO,EAAE,eAAe,CAAA;IACxB,MAAM,EAAE;QACN,CAAC,SAAS,EAAE,MAAM,GAAG,gBAAgB,EAAE,CAAA;KACxC,EAAE,CAAA;IACH,EAAE,EAAE,SAAS,CAAA;IACb,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;CACtC,CAAA;AAYD,eAAO,MAAM,YAAY,wCAA+C,IAAI,KAAG,QAAQ,IAAI,
|
1
|
+
{"version":3,"file":"insertArrays.d.ts","sourceRoot":"","sources":["../../src/upsertRow/insertArrays.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAChE,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAE1D,KAAK,IAAI,GAAG;IACV,OAAO,EAAE,eAAe,CAAA;IACxB,MAAM,EAAE;QACN,CAAC,SAAS,EAAE,MAAM,GAAG,gBAAgB,EAAE,CAAA;KACxC,EAAE,CAAA;IACH,EAAE,EAAE,SAAS,CAAA;IACb,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;CACtC,CAAA;AAYD,eAAO,MAAM,YAAY,wCAA+C,IAAI,KAAG,QAAQ,IAAI,CA+E1F,CAAA"}
|
@@ -36,7 +36,10 @@ const insertArrays = async ({ adapter, arrays, db, parentRows })=>{
|
|
36
36
|
arrayRowLocaleData._locale = arrayRowLocale;
|
37
37
|
rowsByTable[tableName].locales.push(arrayRowLocaleData);
|
38
38
|
if (!arrayRow.row.id) {
|
39
|
-
arrayRowLocaleData._getParentID = (rows)=>
|
39
|
+
arrayRowLocaleData._getParentID = (rows)=>{
|
40
|
+
const { id } = rows.find((each)=>each._uuid === arrayRow.row._uuid);
|
41
|
+
return id;
|
42
|
+
};
|
40
43
|
}
|
41
44
|
});
|
42
45
|
});
|
@@ -75,4 +78,4 @@ const insertArrays = async ({ adapter, arrays, db, parentRows })=>{
|
|
75
78
|
}
|
76
79
|
};
|
77
80
|
|
78
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91cHNlcnRSb3cvaW5zZXJ0QXJyYXlzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG5vLXBhcmFtLXJlYXNzaWduICovXG5pbXBvcnQgdHlwZSB7IEFycmF5Um93VG9JbnNlcnQgfSBmcm9tICcuLi90cmFuc2Zvcm0vd3JpdGUvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IERyaXp6bGVEQiwgUG9zdGdyZXNBZGFwdGVyIH0gZnJvbSAnLi4vdHlwZXMnXG5cbnR5cGUgQXJncyA9IHtcbiAgYWRhcHRlcjogUG9zdGdyZXNBZGFwdGVyXG4gIGFycmF5czoge1xuICAgIFt0YWJsZU5hbWU6IHN0cmluZ106IEFycmF5Um93VG9JbnNlcnRbXVxuICB9W11cbiAgZGI6IERyaXp6bGVEQlxuICBwYXJlbnRSb3dzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPltdXG59XG5cbnR5cGUgUm93c0J5VGFibGUgPSB7XG4gIFt0YWJsZU5hbWU6IHN0cmluZ106IHtcbiAgICBhcnJheXM6IHtcbiAgICAgIFt0YWJsZU5hbWU6IHN0cmluZ106IEFycmF5Um93VG9JbnNlcnRbXVxuICAgIH1bXVxuICAgIGxvY2FsZXM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+W11cbiAgICByb3dzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPltdXG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IGluc2VydEFycmF5cyA9IGFzeW5jICh7IGFkYXB0ZXIsIGFycmF5cywgZGIsIHBhcmVudFJvd3MgfTogQXJncyk6IFByb21pc2U8dm9pZD4gPT4ge1xuICAvLyBNYWludGFpbiBhIG1hcCBvZiBmbGF0dGVuZWQgcm93cyBieSB0YWJsZVxuICBjb25zdCByb3dzQnlUYWJsZTogUm93c0J5VGFibGUgPSB7fVxuXG4gIGFycmF5cy5mb3JFYWNoKChhcnJheXNCeVRhYmxlLCBwYXJlbnRSb3dJbmRleCkgPT4ge1xuICAgIE9iamVjdC5lbnRyaWVzKGFycmF5c0J5VGFibGUpLmZvckVhY2goKFt0YWJsZU5hbWUsIGFycmF5Um93c10pID0+IHtcbiAgICAgIC8vIElmIHRoZSB0YWJsZSBkb2Vzbid0IGV4aXN0IGluIG1hcCwgaW5pdGlhbGl6ZSBpdFxuICAgICAgaWYgKCFyb3dzQnlUYWJsZVt0YWJsZU5hbWVdKSB7XG4gICAgICAgIHJvd3NCeVRhYmxlW3RhYmxlTmFtZV0gPSB7XG4gICAgICAgICAgYXJyYXlzOiBbXSxcbiAgICAgICAgICBsb2NhbGVzOiBbXSxcbiAgICAgICAgICByb3dzOiBbXSxcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBjb25zdCBwYXJlbnRJRCA9IHBhcmVudFJvd3NbcGFyZW50Um93SW5kZXhdLmlkXG5cbiAgICAgIC8vIEFkZCBhbnkgc3ViIGFycmF5cyB0aGF0IG5lZWQgdG8gYmUgY3JlYXRlZFxuICAgICAgLy8gV2Ugd2lsbCBjYWxsIHRoaXMgcmVjdXJzaXZlbHkgYmVsb3dcbiAgICAgIGFycmF5Um93cy5mb3JFYWNoKChhcnJheVJvdywgaSkgPT4ge1xuICAgICAgICBpZiAoT2JqZWN0LmtleXMoYXJyYXlSb3cuYXJyYXlzKS5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgcm93c0J5VGFibGVbdGFibGVOYW1lXS5hcnJheXMucHVzaChhcnJheVJvdy5hcnJheXMpXG4gICAgICAgIH1cblxuICAgICAgICAvLyBTZXQgdXAgcGFyZW50IElEcyBmb3IgYm90aCByb3cgYW5kIGxvY2FsZSByb3dcbiAgICAgICAgYXJyYXlSb3cucm93Ll9wYXJlbnRJRCA9IHBhcmVudElEXG4gICAgICAgIHJvd3NCeVRhYmxlW3RhYmxlTmFtZV0ucm93cy5wdXNoKGFycmF5Um93LnJvdylcblxuICAgICAgICBPYmplY3QuZW50cmllcyhhcnJheVJvdy5sb2NhbGVzKS5mb3JFYWNoKChbYXJyYXlSb3dMb2NhbGUsIGFycmF5Um93TG9jYWxlRGF0YV0pID0+
|
81
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91cHNlcnRSb3cvaW5zZXJ0QXJyYXlzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG5vLXBhcmFtLXJlYXNzaWduICovXG5pbXBvcnQgdHlwZSB7IEFycmF5Um93VG9JbnNlcnQgfSBmcm9tICcuLi90cmFuc2Zvcm0vd3JpdGUvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IERyaXp6bGVEQiwgUG9zdGdyZXNBZGFwdGVyIH0gZnJvbSAnLi4vdHlwZXMnXG5cbnR5cGUgQXJncyA9IHtcbiAgYWRhcHRlcjogUG9zdGdyZXNBZGFwdGVyXG4gIGFycmF5czoge1xuICAgIFt0YWJsZU5hbWU6IHN0cmluZ106IEFycmF5Um93VG9JbnNlcnRbXVxuICB9W11cbiAgZGI6IERyaXp6bGVEQlxuICBwYXJlbnRSb3dzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPltdXG59XG5cbnR5cGUgUm93c0J5VGFibGUgPSB7XG4gIFt0YWJsZU5hbWU6IHN0cmluZ106IHtcbiAgICBhcnJheXM6IHtcbiAgICAgIFt0YWJsZU5hbWU6IHN0cmluZ106IEFycmF5Um93VG9JbnNlcnRbXVxuICAgIH1bXVxuICAgIGxvY2FsZXM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+W11cbiAgICByb3dzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPltdXG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IGluc2VydEFycmF5cyA9IGFzeW5jICh7IGFkYXB0ZXIsIGFycmF5cywgZGIsIHBhcmVudFJvd3MgfTogQXJncyk6IFByb21pc2U8dm9pZD4gPT4ge1xuICAvLyBNYWludGFpbiBhIG1hcCBvZiBmbGF0dGVuZWQgcm93cyBieSB0YWJsZVxuICBjb25zdCByb3dzQnlUYWJsZTogUm93c0J5VGFibGUgPSB7fVxuXG4gIGFycmF5cy5mb3JFYWNoKChhcnJheXNCeVRhYmxlLCBwYXJlbnRSb3dJbmRleCkgPT4ge1xuICAgIE9iamVjdC5lbnRyaWVzKGFycmF5c0J5VGFibGUpLmZvckVhY2goKFt0YWJsZU5hbWUsIGFycmF5Um93c10pID0+IHtcbiAgICAgIC8vIElmIHRoZSB0YWJsZSBkb2Vzbid0IGV4aXN0IGluIG1hcCwgaW5pdGlhbGl6ZSBpdFxuICAgICAgaWYgKCFyb3dzQnlUYWJsZVt0YWJsZU5hbWVdKSB7XG4gICAgICAgIHJvd3NCeVRhYmxlW3RhYmxlTmFtZV0gPSB7XG4gICAgICAgICAgYXJyYXlzOiBbXSxcbiAgICAgICAgICBsb2NhbGVzOiBbXSxcbiAgICAgICAgICByb3dzOiBbXSxcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBjb25zdCBwYXJlbnRJRCA9IHBhcmVudFJvd3NbcGFyZW50Um93SW5kZXhdLmlkXG5cbiAgICAgIC8vIEFkZCBhbnkgc3ViIGFycmF5cyB0aGF0IG5lZWQgdG8gYmUgY3JlYXRlZFxuICAgICAgLy8gV2Ugd2lsbCBjYWxsIHRoaXMgcmVjdXJzaXZlbHkgYmVsb3dcbiAgICAgIGFycmF5Um93cy5mb3JFYWNoKChhcnJheVJvdywgaSkgPT4ge1xuICAgICAgICBpZiAoT2JqZWN0LmtleXMoYXJyYXlSb3cuYXJyYXlzKS5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgcm93c0J5VGFibGVbdGFibGVOYW1lXS5hcnJheXMucHVzaChhcnJheVJvdy5hcnJheXMpXG4gICAgICAgIH1cblxuICAgICAgICAvLyBTZXQgdXAgcGFyZW50IElEcyBmb3IgYm90aCByb3cgYW5kIGxvY2FsZSByb3dcbiAgICAgICAgYXJyYXlSb3cucm93Ll9wYXJlbnRJRCA9IHBhcmVudElEXG4gICAgICAgIHJvd3NCeVRhYmxlW3RhYmxlTmFtZV0ucm93cy5wdXNoKGFycmF5Um93LnJvdylcblxuICAgICAgICBPYmplY3QuZW50cmllcyhhcnJheVJvdy5sb2NhbGVzKS5mb3JFYWNoKChbYXJyYXlSb3dMb2NhbGUsIGFycmF5Um93TG9jYWxlRGF0YV0pID0+IHtcbiAgICAgICAgICBhcnJheVJvd0xvY2FsZURhdGEuX3BhcmVudElEID0gYXJyYXlSb3cucm93LmlkXG4gICAgICAgICAgYXJyYXlSb3dMb2NhbGVEYXRhLl9sb2NhbGUgPSBhcnJheVJvd0xvY2FsZVxuICAgICAgICAgIHJvd3NCeVRhYmxlW3RhYmxlTmFtZV0ubG9jYWxlcy5wdXNoKGFycmF5Um93TG9jYWxlRGF0YSlcbiAgICAgICAgICBpZiAoIWFycmF5Um93LnJvdy5pZCkge1xuICAgICAgICAgICAgYXJyYXlSb3dMb2NhbGVEYXRhLl9nZXRQYXJlbnRJRCA9IChyb3dzOiB7IF91dWlkOiBzdHJpbmc7IGlkOiBudW1iZXIgfVtdKSA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IHsgaWQgfSA9IHJvd3MuZmluZCgoZWFjaCkgPT4gZWFjaC5fdXVpZCA9PT0gYXJyYXlSb3cucm93Ll91dWlkKVxuICAgICAgICAgICAgICByZXR1cm4gaWRcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgICB9KVxuICAgIH0pXG4gIH0pXG5cbiAgLy8gSW5zZXJ0IGFsbCBjb3JyZXNwb25kaW5nIGFycmF5c1xuICAvLyAob25lIGluc2VydCBwZXIgYXJyYXkgdGFibGUpXG4gIGZvciAoY29uc3QgW3RhYmxlTmFtZSwgcm93XSBvZiBPYmplY3QuZW50cmllcyhyb3dzQnlUYWJsZSkpIHtcbiAgICAvLyB0aGUgbmVzdGVkIGFycmF5cyBuZWVkIHRoZSBJRCBmb3IgdGhlIHBhcmVudElEIGZvcmVpZ24ga2V5XG4gICAgbGV0IGluc2VydGVkUm93czogQXJnc1sncGFyZW50Um93cyddXG4gICAgaWYgKHJvdy5yb3dzLmxlbmd0aCA+IDApIHtcbiAgICAgIGluc2VydGVkUm93cyA9IGF3YWl0IGRiLmluc2VydChhZGFwdGVyLnRhYmxlc1t0YWJsZU5hbWVdKS52YWx1ZXMocm93LnJvd3MpLnJldHVybmluZygpXG4gICAgfVxuXG4gICAgLy8gSW5zZXJ0IGxvY2FsZSByb3dzXG4gICAgaWYgKGFkYXB0ZXIudGFibGVzW2Ake3RhYmxlTmFtZX0ke2FkYXB0ZXIubG9jYWxlc1N1ZmZpeH1gXSAmJiByb3cubG9jYWxlcy5sZW5ndGggPiAwKSB7XG4gICAgICBpZiAoIXJvdy5sb2NhbGVzWzBdLl9wYXJlbnRJRCkge1xuICAgICAgICByb3cubG9jYWxlcyA9IHJvdy5sb2NhbGVzLm1hcCgobG9jYWxlUm93KSA9PiB7XG4gICAgICAgICAgaWYgKHR5cGVvZiBsb2NhbGVSb3cuX2dldFBhcmVudElEID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICBsb2NhbGVSb3cuX3BhcmVudElEID0gbG9jYWxlUm93Ll9nZXRQYXJlbnRJRChpbnNlcnRlZFJvd3MpXG4gICAgICAgICAgICBkZWxldGUgbG9jYWxlUm93Ll9nZXRQYXJlbnRJRFxuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gbG9jYWxlUm93XG4gICAgICAgIH0pXG4gICAgICB9XG4gICAgICBhd2FpdCBkYlxuICAgICAgICAuaW5zZXJ0KGFkYXB0ZXIudGFibGVzW2Ake3RhYmxlTmFtZX0ke2FkYXB0ZXIubG9jYWxlc1N1ZmZpeH1gXSlcbiAgICAgICAgLnZhbHVlcyhyb3cubG9jYWxlcylcbiAgICAgICAgLnJldHVybmluZygpXG4gICAgfVxuXG4gICAgLy8gSWYgdGhlcmUgYXJlIHN1YiBhcnJheXMsIGNhbGwgdGhpcyBmdW5jdGlvbiByZWN1cnNpdmVseVxuICAgIGlmIChyb3cuYXJyYXlzLmxlbmd0aCA+IDApIHtcbiAgICAgIGF3YWl0IGluc2VydEFycmF5cyh7XG4gICAgICAgIGFkYXB0ZXIsXG4gICAgICAgIGFycmF5czogcm93LmFycmF5cyxcbiAgICAgICAgZGIsXG4gICAgICAgIHBhcmVudFJvd3M6IGluc2VydGVkUm93cyxcbiAgICAgIH0pXG4gICAgfVxuICB9XG59XG4iXSwibmFtZXMiOlsiaW5zZXJ0QXJyYXlzIiwiYWRhcHRlciIsImFycmF5cyIsImRiIiwicGFyZW50Um93cyIsInJvd3NCeVRhYmxlIiwiZm9yRWFjaCIsImFycmF5c0J5VGFibGUiLCJwYXJlbnRSb3dJbmRleCIsIk9iamVjdCIsImVudHJpZXMiLCJ0YWJsZU5hbWUiLCJhcnJheVJvd3MiLCJsb2NhbGVzIiwicm93cyIsInBhcmVudElEIiwiaWQiLCJhcnJheVJvdyIsImkiLCJrZXlzIiwibGVuZ3RoIiwicHVzaCIsInJvdyIsIl9wYXJlbnRJRCIsImFycmF5Um93TG9jYWxlIiwiYXJyYXlSb3dMb2NhbGVEYXRhIiwiX2xvY2FsZSIsIl9nZXRQYXJlbnRJRCIsImZpbmQiLCJlYWNoIiwiX3V1aWQiLCJpbnNlcnRlZFJvd3MiLCJpbnNlcnQiLCJ0YWJsZXMiLCJ2YWx1ZXMiLCJyZXR1cm5pbmciLCJsb2NhbGVzU3VmZml4IiwibWFwIiwibG9jYWxlUm93Il0sInJhbmdlTWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzsiLCJtYXBwaW5ncyI6IkFBQUEsb0NBQW9DOzs7OytCQXVCdkJBOzs7ZUFBQUE7OztBQUFOLE1BQU1BLGVBQWUsT0FBTyxFQUFFQyxPQUFPLEVBQUVDLE1BQU0sRUFBRUMsRUFBRSxFQUFFQyxVQUFVLEVBQVE7SUFDMUUsNENBQTRDO0lBQzVDLE1BQU1DLGNBQTJCLENBQUM7SUFFbENILE9BQU9JLE9BQU8sQ0FBQyxDQUFDQyxlQUFlQztRQUM3QkMsT0FBT0MsT0FBTyxDQUFDSCxlQUFlRCxPQUFPLENBQUMsQ0FBQyxDQUFDSyxXQUFXQyxVQUFVO1lBQzNELG1EQUFtRDtZQUNuRCxJQUFJLENBQUNQLFdBQVcsQ0FBQ00sVUFBVSxFQUFFO2dCQUMzQk4sV0FBVyxDQUFDTSxVQUFVLEdBQUc7b0JBQ3ZCVCxRQUFRLEVBQUU7b0JBQ1ZXLFNBQVMsRUFBRTtvQkFDWEMsTUFBTSxFQUFFO2dCQUNWO1lBQ0Y7WUFFQSxNQUFNQyxXQUFXWCxVQUFVLENBQUNJLGVBQWUsQ0FBQ1EsRUFBRTtZQUU5Qyw2Q0FBNkM7WUFDN0Msc0NBQXNDO1lBQ3RDSixVQUFVTixPQUFPLENBQUMsQ0FBQ1csVUFBVUM7Z0JBQzNCLElBQUlU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
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@payloadcms/db-postgres",
|
3
|
-
"version": "0.8.
|
3
|
+
"version": "0.8.7",
|
4
4
|
"description": "The officially supported Postgres database adapter for Payload",
|
5
5
|
"repository": {
|
6
6
|
"type": "git",
|
@@ -29,8 +29,8 @@
|
|
29
29
|
"devDependencies": {
|
30
30
|
"@types/pg": "8.10.2",
|
31
31
|
"@types/to-snake-case": "1.0.0",
|
32
|
-
"
|
33
|
-
"
|
32
|
+
"@payloadcms/eslint-config": "1.1.1",
|
33
|
+
"payload": "2.29.0"
|
34
34
|
},
|
35
35
|
"peerDependencies": {
|
36
36
|
"payload": "^2.0.0"
|