@pipeline-builder/pipeline-core 4.1.4 → 4.1.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cdk.d.ts +1 -1
- package/lib/cdk.js +2 -2
- package/lib/config/app-config.d.ts +0 -2
- package/lib/config/app-config.js +1 -3
- package/lib/config/aws-config-cdk.d.ts +2 -19
- package/lib/config/aws-config-cdk.js +3 -24
- package/lib/config/config-types.d.ts +15 -13
- package/lib/config/config-types.js +1 -1
- package/lib/config/infrastructure-config.d.ts +0 -2
- package/lib/config/infrastructure-config.js +1 -25
- package/lib/config/server-config.d.ts +7 -5
- package/lib/config/server-config.js +8 -27
- package/lib/core/pipeline-helpers.js +28 -14
- package/lib/pipeline/pipeline-builder.js +3 -2
- package/lib/pipeline/plugin-lookup.d.ts +4 -4
- package/lib/pipeline/plugin-lookup.js +5 -3
- package/lib/pipeline/source-builder.js +2 -2
- package/lib/template/index.d.ts +2 -5
- package/lib/template/index.js +3 -16
- package/lib/template/plugin-resolver.js +2 -2
- package/package.json +3 -4
- package/lib/template/metrics.d.ts +0 -10
- package/lib/template/metrics.js +0 -43
package/lib/template/index.d.ts
CHANGED
|
@@ -3,7 +3,6 @@ export { resolve, lookupPath, dependencies, type Scope, type EvalError, } from '
|
|
|
3
3
|
export { walkAndBind, type WalkEntry, type FieldPredicate, } from './walker.js';
|
|
4
4
|
export { topoSort, type TopoNode, type TopoResult, } from './topo-sort.js';
|
|
5
5
|
export { validateTemplates, detectCycles, allowedScopeRoots, type TemplateError, type ValidationResult, } from './validate.js';
|
|
6
|
-
export { recordResolution, templateResolutionsTotal, templateResolutionDurationMs, } from './metrics.js';
|
|
7
6
|
import { ErrorCode } from '@pipeline-builder/api-core';
|
|
8
7
|
import { type Scope } from './evaluator.js';
|
|
9
8
|
import { type FieldPredicate } from './walker.js';
|
|
@@ -19,10 +18,8 @@ export interface ResolveResult {
|
|
|
19
18
|
* Resolve all templates inside `doc` by mutating string fields in place.
|
|
20
19
|
* `doc` is treated as opaque — only string fields that match `isTemplatable`
|
|
21
20
|
* are rewritten. Returns collected errors (empty array on success).
|
|
22
|
-
*
|
|
23
|
-
* `docType` is used for metrics; pass 'pipeline' or 'plugin'.
|
|
24
21
|
*/
|
|
25
|
-
export declare function resolveTemplates<T extends object>(doc: T, scope: Scope, isTemplatable: FieldPredicate
|
|
22
|
+
export declare function resolveTemplates<T extends object>(doc: T, scope: Scope, isTemplatable: FieldPredicate): ResolveResult;
|
|
26
23
|
/**
|
|
27
24
|
* Resolve a self-referencing document (e.g. pipeline.json where
|
|
28
25
|
* metadata fields reference each other). Topologically orders the
|
|
@@ -31,4 +28,4 @@ export declare function resolveTemplates<T extends object>(doc: T, scope: Scope,
|
|
|
31
28
|
* `fieldToScopePath` maps each field (e.g. `metadata.env`) to the scope
|
|
32
29
|
* path it populates (typically the same, sans any array indices).
|
|
33
30
|
*/
|
|
34
|
-
export declare function resolveSelfReferencing<T extends object>(doc: T, scope: Scope, isTemplatable: FieldPredicate, fieldToScopePath: (field: string) => string | null
|
|
31
|
+
export declare function resolveSelfReferencing<T extends object>(doc: T, scope: Scope, isTemplatable: FieldPredicate, fieldToScopePath: (field: string) => string | null): ResolveResult;
|
package/lib/template/index.js
CHANGED
|
@@ -5,34 +5,27 @@ export { resolve, lookupPath, dependencies, } from './evaluator.js';
|
|
|
5
5
|
export { walkAndBind, } from './walker.js';
|
|
6
6
|
export { topoSort, } from './topo-sort.js';
|
|
7
7
|
export { validateTemplates, detectCycles, allowedScopeRoots, } from './validate.js';
|
|
8
|
-
export { recordResolution, templateResolutionsTotal, templateResolutionDurationMs, } from './metrics.js';
|
|
9
8
|
// -- Convenience: high-level resolve() that walks + resolves + measures
|
|
10
9
|
import { ErrorCode } from '@pipeline-builder/api-core';
|
|
11
10
|
import { resolve as evaluatorResolve } from './evaluator.js';
|
|
12
|
-
import { recordResolution } from './metrics.js';
|
|
13
11
|
import { topoSort } from './topo-sort.js';
|
|
14
12
|
import { walkAndBind } from './walker.js';
|
|
15
13
|
/**
|
|
16
14
|
* Resolve all templates inside `doc` by mutating string fields in place.
|
|
17
15
|
* `doc` is treated as opaque — only string fields that match `isTemplatable`
|
|
18
16
|
* are rewritten. Returns collected errors (empty array on success).
|
|
19
|
-
*
|
|
20
|
-
* `docType` is used for metrics; pass 'pipeline' or 'plugin'.
|
|
21
17
|
*/
|
|
22
|
-
export function resolveTemplates(doc, scope, isTemplatable
|
|
23
|
-
const start = Date.now();
|
|
18
|
+
export function resolveTemplates(doc, scope, isTemplatable) {
|
|
24
19
|
const errors = [];
|
|
25
20
|
// includeLiteralOnly: literal-only fields (a bare `{{{{` escape) still need
|
|
26
21
|
// rewriting so the tokenizer's `{{{{` → `{{` unescape lands in the document.
|
|
27
22
|
const entries = walkAndBind(doc, isTemplatable, true);
|
|
28
|
-
let success = true;
|
|
29
23
|
for (const entry of entries) {
|
|
30
24
|
try {
|
|
31
25
|
const value = evaluatorResolve(entry.tokens, scope, entry.field);
|
|
32
26
|
entry.set(value);
|
|
33
27
|
}
|
|
34
28
|
catch (err) {
|
|
35
|
-
success = false;
|
|
36
29
|
const e = err;
|
|
37
30
|
errors.push({
|
|
38
31
|
code: e.code ?? ErrorCode.TEMPLATE_PARSE_ERROR,
|
|
@@ -42,7 +35,6 @@ export function resolveTemplates(doc, scope, isTemplatable, docType = 'plugin')
|
|
|
42
35
|
});
|
|
43
36
|
}
|
|
44
37
|
}
|
|
45
|
-
recordResolution(docType, Date.now() - start, success);
|
|
46
38
|
return { errors };
|
|
47
39
|
}
|
|
48
40
|
/**
|
|
@@ -53,8 +45,7 @@ export function resolveTemplates(doc, scope, isTemplatable, docType = 'plugin')
|
|
|
53
45
|
* `fieldToScopePath` maps each field (e.g. `metadata.env`) to the scope
|
|
54
46
|
* path it populates (typically the same, sans any array indices).
|
|
55
47
|
*/
|
|
56
|
-
export function resolveSelfReferencing(doc, scope, isTemplatable, fieldToScopePath
|
|
57
|
-
const start = Date.now();
|
|
48
|
+
export function resolveSelfReferencing(doc, scope, isTemplatable, fieldToScopePath) {
|
|
58
49
|
// includeLiteralOnly: a self-referencing field that is only a `{{{{` escape
|
|
59
50
|
// still needs its unescape written back (same rationale as resolveTemplates).
|
|
60
51
|
const entries = walkAndBind(doc, isTemplatable, true);
|
|
@@ -81,7 +72,6 @@ export function resolveSelfReferencing(doc, scope, isTemplatable, fieldToScopePa
|
|
|
81
72
|
path: c.join(' -> '),
|
|
82
73
|
});
|
|
83
74
|
}
|
|
84
|
-
recordResolution(docType, Date.now() - start, false);
|
|
85
75
|
return { errors };
|
|
86
76
|
}
|
|
87
77
|
// Resolve in topo order; multiple entries may share a scope key (e.g. one
|
|
@@ -93,7 +83,6 @@ export function resolveSelfReferencing(doc, scope, isTemplatable, fieldToScopePa
|
|
|
93
83
|
list.push(n);
|
|
94
84
|
byKey.set(n.key, list);
|
|
95
85
|
}
|
|
96
|
-
let success = true;
|
|
97
86
|
for (const key of ordered) {
|
|
98
87
|
for (const n of byKey.get(key) ?? []) {
|
|
99
88
|
try {
|
|
@@ -101,7 +90,6 @@ export function resolveSelfReferencing(doc, scope, isTemplatable, fieldToScopePa
|
|
|
101
90
|
n.entry.set(value);
|
|
102
91
|
}
|
|
103
92
|
catch (err) {
|
|
104
|
-
success = false;
|
|
105
93
|
const e = err;
|
|
106
94
|
errors.push({
|
|
107
95
|
code: e.code ?? ErrorCode.TEMPLATE_PARSE_ERROR,
|
|
@@ -112,7 +100,6 @@ export function resolveSelfReferencing(doc, scope, isTemplatable, fieldToScopePa
|
|
|
112
100
|
}
|
|
113
101
|
}
|
|
114
102
|
}
|
|
115
|
-
recordResolution(docType, Date.now() - start, success);
|
|
116
103
|
return { errors };
|
|
117
104
|
}
|
|
118
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdGVtcGxhdGUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0NBQStDO0FBQy9DLHNDQUFzQztBQUV0QyxPQUFPLEVBQ0wsUUFBUSxFQUNSLFdBQVcsRUFDWCxjQUFjLEVBQ2Qsb0JBQW9CLEVBQ3BCLGNBQWMsRUFDZCxxQkFBcUIsR0FLdEIsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QixPQUFPLEVBQ0wsT0FBTyxFQUNQLFVBQVUsRUFDVixZQUFZLEdBR2IsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QixPQUFPLEVBQ0wsV0FBVyxHQUdaLE1BQU0sYUFBYSxDQUFDO0FBRXJCLE9BQU8sRUFDTCxRQUFRLEdBR1QsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QixPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLFlBQVksRUFDWixpQkFBaUIsR0FHbEIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUNMLGdCQUFnQixFQUNoQix3QkFBd0IsRUFDeEIsNEJBQTRCLEdBQzdCLE1BQU0sY0FBYyxDQUFDO0FBRXRCLHdFQUF3RTtBQUV4RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdkQsT0FBTyxFQUFFLE9BQU8sSUFBSSxnQkFBZ0IsRUFBYyxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNoRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUMsT0FBTyxFQUFFLFdBQVcsRUFBdUIsTUFBTSxhQUFhLENBQUM7QUFNL0Q7Ozs7OztHQU1HO0FBQ0gsTUFBTSxVQUFVLGdCQUFnQixDQUM5QixHQUFNLEVBQ04sS0FBWSxFQUNaLGFBQTZCLEVBQzdCLE9BQU8sR0FBMEIsUUFBUTtJQUV6QyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7SUFD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LEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNyQixDQUFDO1lBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztnQkFDYixPQUFPLEdBQUcsS0FBSyxDQUFDO2dCQUNoQixNQUFNLENBQUMsR0FBRyxHQUFrRCxDQUFDO2dCQUM3RCxNQUFNLENBQUMsSUFBSSxDQUFDO29CQUNWLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxJQUFJLFNBQVMsQ0FBQyxvQkFBb0I7b0JBQzlDLE9BQU8sRUFBRSxDQUFDLENBQUMsT0FBTztvQkFDbEIsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSztvQkFDcEIsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJO2lCQUNiLENBQUMsQ0FBQztZQUNMLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUNELGdCQUFnQixDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3ZELE9BQU8sRUFBRSxNQUFNLEVBQUUsQ0FBQztBQUNwQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IDIwMjYgUGlwZWxpbmUgQnVpbGRlciBDb250cmlidXRvcnNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG5cbmV4cG9ydCB7XG4gIHRva2VuaXplLFxuICBoYXNUZW1wbGF0ZSxcbiAgVG9rZW5pemVyRXJyb3IsXG4gIE1BWF9GSUVMRF9TSVpFX0JZVEVTLFxuICBNQVhfUEFUSF9ERVBUSCxcbiAgTUFYX0lERU5USUZJRVJfTEVOR1RILFxuICB0eXBlIFRva2VuLFxuICB0eXBlIExpdGVyYWxUb2tlbixcbiAgdHlwZSBFeHByVG9rZW4sXG4gIHR5cGUgU291cmNlUG9zaXRpb24sXG59IGZyb20gJy4vdG9rZW5pemVyLmpzJztcblxuZXhwb3J0IHtcbiAgcmVzb2x2ZSxcbiAgbG9va3VwUGF0aCxcbiAgZGVwZW5kZW5jaWVzLFxuICB0eXBlIFNjb3BlLFxuICB0eXBlIEV2YWxFcnJvcixcbn0gZnJvbSAnLi9ldmFsdWF0b3IuanMnO1xuXG5leHBvcnQge1xuICB3YWxrQW5kQmluZCxcbiAgdHlwZSBXYWxrRW50cnksXG4gIHR5cGUgRmllbGRQcmVkaWNhdGUsXG59IGZyb20gJy4vd2Fsa2VyLmpzJztcblxuZXhwb3J0IHtcbiAgdG9wb1NvcnQsXG4gIHR5cGUgVG9wb05vZGUsXG4gIHR5cGUgVG9wb1Jlc3VsdCxcbn0gZnJvbSAnLi90b3BvLXNvcnQuanMnO1xuXG5leHBvcnQge1xuICB2YWxpZGF0ZVRlbXBsYXRlcyxcbiAgZGV0ZWN0Q3ljbGVzLFxuICBhbGxvd2VkU2NvcGVSb290cyxcbiAgdHlwZSBUZW1wbGF0ZUVycm9yLFxuICB0eXBlIFZhbGlkYXRpb25SZXN1bHQsXG59IGZyb20gJy4vdmFsaWRhdGUuanMnO1xuXG5leHBvcnQge1xuICByZWNvcmRSZXNvbHV0aW9uLFxuICB0ZW1wbGF0ZVJlc29sdXRpb25zVG90YWwsXG4gIHRlbXBsYXRlUmVzb2x1dGlvbkR1cmF0aW9uTXMsXG59IGZyb20gJy4vbWV0cmljcy5qcyc7XG5cbi8vIC0tIENvbnZlbmllbmNlOiBoaWdoLWxldmVsIHJlc29sdmUoKSB0aGF0IHdhbGtzICsgcmVzb2x2ZXMgKyBtZWFzdXJlc1xuXG5pbXBvcnQgeyBFcnJvckNvZGUgfSBmcm9tICdAcGlwZWxpbmUtYnVpbGRlci9hcGktY29yZSc7XG5pbXBvcnQgeyByZXNvbHZlIGFzIGV2YWx1YXRvclJlc29sdmUsIHR5cGUgU2NvcGUgfSBmcm9tICcuL2V2YWx1YXRvci5qcyc7XG5pbXBvcnQgeyByZWNvcmRSZXNvbHV0aW9uIH0gZnJvbSAnLi9tZXRyaWNzLmpzJztcbmltcG9ydCB7IHRvcG9Tb3J0IH0gZnJvbSAnLi90b3BvLXNvcnQuanMnO1xuaW1wb3J0IHsgd2Fsa0FuZEJpbmQsIHR5cGUgRmllbGRQcmVkaWNhdGUgfSBmcm9tICcuL3dhbGtlci5qcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVzb2x2ZVJlc3VsdCB7XG4gIGVycm9yczogQXJyYXk8eyBjb2RlOiBFcnJvckNvZGU7IG1lc3NhZ2U6IHN0cmluZzsgZmllbGQ/OiBzdHJpbmc7IHBhdGg/OiBzdHJpbmcgfT47XG59XG5cbi8qKlxuICogUmVzb2x2ZSBhbGwgdGVtcGxhdGVzIGluc2lkZSBgZG9jYCBieSBtdXRhdGluZyBzdHJpbmcgZmllbGRzIGluIHBsYWNlLlxuICogYGRvY2AgaXMgdHJlYXRlZCBhcyBvcGFxdWUg4oCUIG9ubHkgc3RyaW5nIGZpZWxkcyB0aGF0IG1hdGNoIGBpc1RlbXBsYXRhYmxlYFxuICogYXJlIHJld3JpdHRlbi4gUmV0dXJucyBjb2xsZWN0ZWQgZXJyb3JzIChlbXB0eSBhcnJheSBvbiBzdWNjZXNzKS5cbiAqXG4gKiBgZG9jVHlwZWAgaXMgdXNlZCBmb3IgbWV0cmljczsgcGFzcyAncGlwZWxpbmUnIG9yICdwbHVnaW4nLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVzb2x2ZVRlbXBsYXRlczxUIGV4dGVuZHMgb2JqZWN0PihcbiAgZG9jOiBULFxuICBzY29wZTogU2NvcGUsXG4gIGlzVGVtcGxhdGFibGU6IEZpZWxkUHJlZGljYXRlLFxuICBkb2NUeXBlOiAncGlwZWxpbmUnIHwgJ3BsdWdpbicgPSAncGx1Z2luJyxcbik6IFJlc29sdmVSZXN1bHQge1xuICBjb25zdCBzdGFydCA9IERhdGUubm93KCk7XG4gIGNvbnN0IGVycm9yczogUmVzb2x2ZVJlc3VsdFsnZXJyb3JzJ10gPSBbXTtcbiAgLy8gaW5jbHVkZUxpdGVyYWxPbmx5OiBsaXRlcmFsLW9ubHkgZmllbGRzIChhIGJhcmUgYHt7e3tgIGVzY2FwZSkgc3RpbGwgbmVlZFxuICAvLyByZXdyaXRpbmcgc28gdGhlIHRva2VuaXplcidzIGB7e3t7YCDihpIgYHt7YCB1bmVzY2FwZSBsYW5kcyBpbiB0aGUgZG9jdW1lbnQuXG4gIGNvbnN0IGVudHJpZXMgPSB3YWxrQW5kQmluZChkb2MsIGlzVGVtcGxhdGFibGUsIHRydWUpO1xuICBsZXQgc3VjY2VzcyA9IHRydWU7XG4gIGZvciAoY29uc3QgZW50cnkgb2YgZW50cmllcykge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCB2YWx1ZSA9IGV2YWx1YXRvclJlc29sdmUoZW50cnkudG9rZW5zLCBzY29wZSwgZW50cnkuZmllbGQpO1xuICAgICAgZW50cnkuc2V0KHZhbHVlKTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIHN1Y2Nlc3MgPSBmYWxzZTtcbiAgICAgIGNvbnN0IGUgPSBlcnIgYXMgRXJyb3IgJiB7IGNvZGU/OiBFcnJvckNvZGU7IHBhdGg/OiBzdHJpbmcgfTtcbiAgICAgIGVycm9ycy5wdXNoKHtcbiAgICAgICAgY29kZTogZS5jb2RlID8/IEVycm9yQ29kZS5URU1QTEFURV9QQVJTRV9FUlJPUixcbiAgICAgICAgbWVzc2FnZTogZS5tZXNzYWdlLFxuICAgICAgICBmaWVsZDogZW50cnkuZmllbGQsXG4gICAgICAgIHBhdGg6IGUucGF0aCxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuICByZWNvcmRSZXNvbHV0aW9uKGRvY1R5cGUsIERhdGUubm93KCkgLSBzdGFydCwgc3VjY2Vzcyk7XG4gIHJldHVybiB7IGVycm9ycyB9O1xufVxuXG4vKipcbiAqIFJlc29sdmUgYSBzZWxmLXJlZmVyZW5jaW5nIGRvY3VtZW50IChlLmcuIHBpcGVsaW5lLmpzb24gd2hlcmVcbiAqIG1ldGFkYXRhIGZpZWxkcyByZWZlcmVuY2UgZWFjaCBvdGhlcikuIFRvcG9sb2dpY2FsbHkgb3JkZXJzIHRoZVxuICogcmVzb2x1dGlvbiBzbyBkZXBlbmRlbmNpZXMgY29tZSBmaXJzdC4gTXV0YXRlcyBgZG9jYCBpbiBwbGFjZS5cbiAqXG4gKiBgZmllbGRUb1Njb3BlUGF0aGAgbWFwcyBlYWNoIGZpZWxkIChlLmcuIGBtZXRhZGF0YS5lbnZgKSB0byB0aGUgc2NvcGVcbiAqIHBhdGggaXQgcG9wdWxhdGVzICh0eXBpY2FsbHkgdGhlIHNhbWUsIHNhbnMgYW55IGFycmF5IGluZGljZXMpLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVzb2x2ZVNlbGZSZWZlcmVuY2luZzxUIGV4dGVuZHMgb2JqZWN0PihcbiAgZG9jOiBULFxuICBzY29wZTogU2NvcGUsXG4gIGlzVGVtcGxhdGFibGU6IEZpZWxkUHJlZGljYXRlLFxuICBmaWVsZFRvU2NvcGVQYXRoOiAoZmllbGQ6IHN0cmluZykgPT4gc3RyaW5nIHwgbnVsbCxcbiAgZG9jVHlwZTogJ3BpcGVsaW5lJyB8ICdwbHVnaW4nID0gJ3BpcGVsaW5lJyxcbik6IFJlc29sdmVSZXN1bHQge1xuICBjb25zdCBzdGFydCA9IERhdGUubm93KCk7XG4gIC8vIGluY2x1ZGVMaXRlcmFsT25seTogYSBzZWxmLXJlZmVyZW5jaW5nIGZpZWxkIHRoYXQgaXMgb25seSBhIGB7e3t7YCBlc2NhcGVcbiAgLy8gc3RpbGwgbmVlZHMgaXRzIHVuZXNjYXBlIHdyaXR0ZW4gYmFjayAoc2FtZSByYXRpb25hbGUgYXMgcmVzb2x2ZVRlbXBsYXRlcykuXG4gIGNvbnN0IGVudHJpZXMgPSB3YWxrQW5kQmluZChkb2MsIGlzVGVtcGxhdGFibGUsIHRydWUpO1xuICAvLyBCdWlsZCB0b3BvIG5vZGVzIGtleWVkIGJ5IHRhcmdldCBzY29wZSBwYXRoXG4gIGNvbnN0IG5vZGVzID0gZW50cmllc1xuICAgIC5tYXAoZSA9PiB7XG4gICAgICBjb25zdCBrZXkgPSBmaWVsZFRvU2NvcGVQYXRoKGUuZmllbGQpO1xuICAgICAgaWYgKCFrZXkpIHJldHVybiBudWxsO1xuICAgICAgY29uc3QgZGVwczogc3RyaW5nW10gPSBbXTtcbiAgICAgIGZvciAoY29uc3QgdCBvZiBlLnRva2VucykgaWYgKHQua2luZCA9PT0gJ2V4cHInKSBkZXBzLnB1c2godC5wYXRoLmpvaW4oJy4nKSk7XG4gICAgICByZXR1cm4geyBrZXksIGRlcHMsIGVudHJ5OiBlIH07XG4gICAgfSlcbiAgICAuZmlsdGVyKChuKTogbiBpcyBOb25OdWxsYWJsZTx0eXBlb2Ygbj4gPT4gbiAhPT0gbnVsbCk7XG5cbiAgY29uc3QgeyBvcmRlcmVkLCBjeWNsZXMgfSA9IHRvcG9Tb3J0KG5vZGVzLm1hcChuID0+ICh7IGtleTogbi5rZXksIGRlcHM6IG4uZGVwcyB9KSkpO1xuICBjb25zdCBlcnJvcnM6IFJlc29sdmVSZXN1bHRbJ2Vycm9ycyddID0gW107XG4gIGlmIChjeWNsZXMubGVuZ3RoKSB7XG4gICAgZm9yIChjb25zdCBjIG9mIGN5Y2xlcykge1xuICAgICAgZXJyb3JzLnB1c2goe1xuICAgICAgICBjb2RlOiBFcnJvckNvZGUuVEVNUExBVEVfQ1lDTEUsXG4gICAgICAgIG1lc3NhZ2U6IGBUZW1wbGF0ZSBjeWNsZSBkZXRlY3RlZDogJHtjLmpvaW4oJyAtPiAnKX1gLFxuICAgICAgICBwYXRoOiBjLmpvaW4oJyAtPiAnKSxcbiAgICAgIH0pO1xuICAgIH1cbiAgICByZWNvcmRSZXNvbHV0aW9uKGRvY1R5cGUsIERhdGUubm93KCkgLSBzdGFydCwgZmFsc2UpO1xuICAgIHJldHVybiB7IGVycm9ycyB9O1xuICB9XG5cbiAgLy8gUmVzb2x2ZSBpbiB0b3BvIG9yZGVyOyBtdWx0aXBsZSBlbnRyaWVzIG1heSBzaGFyZSBhIHNjb3BlIGtleSAoZS5nLiBvbmVcbiAgLy8gcGlwZWxpbmUgZmllbGQgY291bGQgbWFwIHRvIHRoZSBzYW1lIHNjb3BlIHBhdGgg4oCUIHVubGlrZWx5IGhlcmUpLCBzb1xuICAvLyBpdGVyYXRlIGFsbCBlbnRyaWVzIHdob3NlIGtleSA9PSBvcmRlcmVkW2ldLlxuICBjb25zdCBieUtleSA9IG5ldyBNYXA8c3RyaW5nLCB0eXBlb2Ygbm9kZXM+KCk7XG4gIGZvciAoY29uc3QgbiBvZiBub2Rlcykge1xuICAgIGNvbnN0IGxpc3QgPSBieUtleS5nZXQobi5rZXkpID8/IFtdO1xuICAgIGxpc3QucHVzaChuKTtcbiAgICBieUtleS5zZXQobi5rZXksIGxpc3QpO1xuICB9XG5cbiAgbGV0IHN1Y2Nlc3MgPSB0cnVlO1xuICBmb3IgKGNvbnN0IGtleSBvZiBvcmRlcmVkKSB7XG4gICAgZm9yIChjb25zdCBuIG9mIGJ5S2V5LmdldChrZXkpID8/IFtdKSB7XG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IGV2YWx1YXRvclJlc29sdmUobi5lbnRyeS50b2tlbnMsIHNjb3BlLCBuLmVudHJ5LmZpZWxkKTtcbiAgICAgICAgbi5lbnRyeS5zZXQodmFsdWUpO1xuICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgIHN1Y2Nlc3MgPSBmYWxzZTtcbiAgICAgICAgY29uc3QgZSA9IGVyciBhcyBFcnJvciAmIHsgY29kZT86IEVycm9yQ29kZTsgcGF0aD86IHN0cmluZyB9O1xuICAgICAgICBlcnJvcnMucHVzaCh7XG4gICAgICAgICAgY29kZTogZS5jb2RlID8/IEVycm9yQ29kZS5URU1QTEFURV9QQVJTRV9FUlJPUixcbiAgICAgICAgICBtZXNzYWdlOiBlLm1lc3NhZ2UsXG4gICAgICAgICAgZmllbGQ6IG4uZW50cnkuZmllbGQsXG4gICAgICAgICAgcGF0aDogZS5wYXRoLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgcmVjb3JkUmVzb2x1dGlvbihkb2NUeXBlLCBEYXRlLm5vdygpIC0gc3RhcnQsIHN1Y2Nlc3MpO1xuICByZXR1cm4geyBlcnJvcnMgfTtcbn1cblxuIl19
|
|
105
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdGVtcGxhdGUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0NBQStDO0FBQy9DLHNDQUFzQztBQUV0QyxPQUFPLEVBQ0wsUUFBUSxFQUNSLFdBQVcsRUFDWCxjQUFjLEVBQ2Qsb0JBQW9CLEVBQ3BCLGNBQWMsRUFDZCxxQkFBcUIsR0FLdEIsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QixPQUFPLEVBQ0wsT0FBTyxFQUNQLFVBQVUsRUFDVixZQUFZLEdBR2IsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QixPQUFPLEVBQ0wsV0FBVyxHQUdaLE1BQU0sYUFBYSxDQUFDO0FBRXJCLE9BQU8sRUFDTCxRQUFRLEdBR1QsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QixPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLFlBQVksRUFDWixpQkFBaUIsR0FHbEIsTUFBTSxlQUFlLENBQUM7QUFFdkIsd0VBQXdFO0FBRXhFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsT0FBTyxJQUFJLGdCQUFnQixFQUFjLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzFDLE9BQU8sRUFBRSxXQUFXLEVBQXVCLE1BQU0sYUFBYSxDQUFDO0FBTS9EOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsZ0JBQWdCLENBQzlCLEdBQU0sRUFDTixLQUFZLEVBQ1osYUFBNkI7SUFFN0IsTUFBTSxNQUFNLEdBQTRCLEVBQUUsQ0FBQztJQUMzQyw0RUFBNEU7SUFDNUUsNkVBQTZFO0lBQzdFLE1BQU0sT0FBTyxHQUFHLFdBQVcsQ0FBQyxHQUFHLEVBQUUsYUFBYSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3RELEtBQUssTUFBTSxLQUFLLElBQUksT0FBTyxFQUFFLENBQUM7UUFDNUIsSUFBSSxDQUFDO1lBQ0gs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QyxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDcEMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNiLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN6QixDQUFDO0lBRUQsS0FBSyxNQUFNLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUMxQixLQUFLLE1BQU0sQ0FBQyxJQUFJLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUM7WUFDckMsSUFBSSxDQUFDO2dCQUNILE1BQU0sS0FBSyxHQUFHLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUNyRSxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNyQixDQUFDO1lBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztnQkFDYixNQUFNLENBQUMsR0FBRyxHQUFrRCxDQUFDO2dCQUM3RCxNQUFNLENBQUMsSUFBSSxDQUFDO29CQUNWLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxJQUFJLFNBQVMsQ0FBQyxvQkFBb0I7b0JBQzlDLE9BQU8sRUFBRSxDQUFDLENBQUMsT0FBTztvQkFDbEIsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSztvQkFDcEIsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJO2lCQUNiLENBQUMsQ0FBQztZQUNMLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUNELE9BQU8sRUFBRSxNQUFNLEVBQUUsQ0FBQztBQUNwQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IDIwMjYgUGlwZWxpbmUgQnVpbGRlciBDb250cmlidXRvcnNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG5cbmV4cG9ydCB7XG4gIHRva2VuaXplLFxuICBoYXNUZW1wbGF0ZSxcbiAgVG9rZW5pemVyRXJyb3IsXG4gIE1BWF9GSUVMRF9TSVpFX0JZVEVTLFxuICBNQVhfUEFUSF9ERVBUSCxcbiAgTUFYX0lERU5USUZJRVJfTEVOR1RILFxuICB0eXBlIFRva2VuLFxuICB0eXBlIExpdGVyYWxUb2tlbixcbiAgdHlwZSBFeHByVG9rZW4sXG4gIHR5cGUgU291cmNlUG9zaXRpb24sXG59IGZyb20gJy4vdG9rZW5pemVyLmpzJztcblxuZXhwb3J0IHtcbiAgcmVzb2x2ZSxcbiAgbG9va3VwUGF0aCxcbiAgZGVwZW5kZW5jaWVzLFxuICB0eXBlIFNjb3BlLFxuICB0eXBlIEV2YWxFcnJvcixcbn0gZnJvbSAnLi9ldmFsdWF0b3IuanMnO1xuXG5leHBvcnQge1xuICB3YWxrQW5kQmluZCxcbiAgdHlwZSBXYWxrRW50cnksXG4gIHR5cGUgRmllbGRQcmVkaWNhdGUsXG59IGZyb20gJy4vd2Fsa2VyLmpzJztcblxuZXhwb3J0IHtcbiAgdG9wb1NvcnQsXG4gIHR5cGUgVG9wb05vZGUsXG4gIHR5cGUgVG9wb1Jlc3VsdCxcbn0gZnJvbSAnLi90b3BvLXNvcnQuanMnO1xuXG5leHBvcnQge1xuICB2YWxpZGF0ZVRlbXBsYXRlcyxcbiAgZGV0ZWN0Q3ljbGVzLFxuICBhbGxvd2VkU2NvcGVSb290cyxcbiAgdHlwZSBUZW1wbGF0ZUVycm9yLFxuICB0eXBlIFZhbGlkYXRpb25SZXN1bHQsXG59IGZyb20gJy4vdmFsaWRhdGUuanMnO1xuXG4vLyAtLSBDb252ZW5pZW5jZTogaGlnaC1sZXZlbCByZXNvbHZlKCkgdGhhdCB3YWxrcyArIHJlc29sdmVzICsgbWVhc3VyZXNcblxuaW1wb3J0IHsgRXJyb3JDb2RlIH0gZnJvbSAnQHBpcGVsaW5lLWJ1aWxkZXIvYXBpLWNvcmUnO1xuaW1wb3J0IHsgcmVzb2x2ZSBhcyBldmFsdWF0b3JSZXNvbHZlLCB0eXBlIFNjb3BlIH0gZnJvbSAnLi9ldmFsdWF0b3IuanMnO1xuaW1wb3J0IHsgdG9wb1NvcnQgfSBmcm9tICcuL3RvcG8tc29ydC5qcyc7XG5pbXBvcnQgeyB3YWxrQW5kQmluZCwgdHlwZSBGaWVsZFByZWRpY2F0ZSB9IGZyb20gJy4vd2Fsa2VyLmpzJztcblxuZXhwb3J0IGludGVyZmFjZSBSZXNvbHZlUmVzdWx0IHtcbiAgZXJyb3JzOiBBcnJheTx7IGNvZGU6IEVycm9yQ29kZTsgbWVzc2FnZTogc3RyaW5nOyBmaWVsZD86IHN0cmluZzsgcGF0aD86IHN0cmluZyB9Pjtcbn1cblxuLyoqXG4gKiBSZXNvbHZlIGFsbCB0ZW1wbGF0ZXMgaW5zaWRlIGBkb2NgIGJ5IG11dGF0aW5nIHN0cmluZyBmaWVsZHMgaW4gcGxhY2UuXG4gKiBgZG9jYCBpcyB0cmVhdGVkIGFzIG9wYXF1ZSDigJQgb25seSBzdHJpbmcgZmllbGRzIHRoYXQgbWF0Y2ggYGlzVGVtcGxhdGFibGVgXG4gKiBhcmUgcmV3cml0dGVuLiBSZXR1cm5zIGNvbGxlY3RlZCBlcnJvcnMgKGVtcHR5IGFycmF5IG9uIHN1Y2Nlc3MpLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVzb2x2ZVRlbXBsYXRlczxUIGV4dGVuZHMgb2JqZWN0PihcbiAgZG9jOiBULFxuICBzY29wZTogU2NvcGUsXG4gIGlzVGVtcGxhdGFibGU6IEZpZWxkUHJlZGljYXRlLFxuKTogUmVzb2x2ZVJlc3VsdCB7XG4gIGNvbnN0IGVycm9yczogUmVzb2x2ZVJlc3VsdFsnZXJyb3JzJ10gPSBbXTtcbiAgLy8gaW5jbHVkZUxpdGVyYWxPbmx5OiBsaXRlcmFsLW9ubHkgZmllbGRzIChhIGJhcmUgYHt7e3tgIGVzY2FwZSkgc3RpbGwgbmVlZFxuICAvLyByZXdyaXRpbmcgc28gdGhlIHRva2VuaXplcidzIGB7e3t7YCDihpIgYHt7YCB1bmVzY2FwZSBsYW5kcyBpbiB0aGUgZG9jdW1lbnQuXG4gIGNvbnN0IGVudHJpZXMgPSB3YWxrQW5kQmluZChkb2MsIGlzVGVtcGxhdGFibGUsIHRydWUpO1xuICBmb3IgKGNvbnN0IGVudHJ5IG9mIGVudHJpZXMpIHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgdmFsdWUgPSBldmFsdWF0b3JSZXNvbHZlKGVudHJ5LnRva2Vucywgc2NvcGUsIGVudHJ5LmZpZWxkKTtcbiAgICAgIGVudHJ5LnNldCh2YWx1ZSk7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICBjb25zdCBlID0gZXJyIGFzIEVycm9yICYgeyBjb2RlPzogRXJyb3JDb2RlOyBwYXRoPzogc3RyaW5nIH07XG4gICAgICBlcnJvcnMucHVzaCh7XG4gICAgICAgIGNvZGU6IGUuY29kZSA/PyBFcnJvckNvZGUuVEVNUExBVEVfUEFSU0VfRVJST1IsXG4gICAgICAgIG1lc3NhZ2U6IGUubWVzc2FnZSxcbiAgICAgICAgZmllbGQ6IGVudHJ5LmZpZWxkLFxuICAgICAgICBwYXRoOiBlLnBhdGgsXG4gICAgICB9KTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHsgZXJyb3JzIH07XG59XG5cbi8qKlxuICogUmVzb2x2ZSBhIHNlbGYtcmVmZXJlbmNpbmcgZG9jdW1lbnQgKGUuZy4gcGlwZWxpbmUuanNvbiB3aGVyZVxuICogbWV0YWRhdGEgZmllbGRzIHJlZmVyZW5jZSBlYWNoIG90aGVyKS4gVG9wb2xvZ2ljYWxseSBvcmRlcnMgdGhlXG4gKiByZXNvbHV0aW9uIHNvIGRlcGVuZGVuY2llcyBjb21lIGZpcnN0LiBNdXRhdGVzIGBkb2NgIGluIHBsYWNlLlxuICpcbiAqIGBmaWVsZFRvU2NvcGVQYXRoYCBtYXBzIGVhY2ggZmllbGQgKGUuZy4gYG1ldGFkYXRhLmVudmApIHRvIHRoZSBzY29wZVxuICogcGF0aCBpdCBwb3B1bGF0ZXMgKHR5cGljYWxseSB0aGUgc2FtZSwgc2FucyBhbnkgYXJyYXkgaW5kaWNlcykuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZXNvbHZlU2VsZlJlZmVyZW5jaW5nPFQgZXh0ZW5kcyBvYmplY3Q+KFxuICBkb2M6IFQsXG4gIHNjb3BlOiBTY29wZSxcbiAgaXNUZW1wbGF0YWJsZTogRmllbGRQcmVkaWNhdGUsXG4gIGZpZWxkVG9TY29wZVBhdGg6IChmaWVsZDogc3RyaW5nKSA9PiBzdHJpbmcgfCBudWxsLFxuKTogUmVzb2x2ZVJlc3VsdCB7XG4gIC8vIGluY2x1ZGVMaXRlcmFsT25seTogYSBzZWxmLXJlZmVyZW5jaW5nIGZpZWxkIHRoYXQgaXMgb25seSBhIGB7e3t7YCBlc2NhcGVcbiAgLy8gc3RpbGwgbmVlZHMgaXRzIHVuZXNjYXBlIHdyaXR0ZW4gYmFjayAoc2FtZSByYXRpb25hbGUgYXMgcmVzb2x2ZVRlbXBsYXRlcykuXG4gIGNvbnN0IGVudHJpZXMgPSB3YWxrQW5kQmluZChkb2MsIGlzVGVtcGxhdGFibGUsIHRydWUpO1xuICAvLyBCdWlsZCB0b3BvIG5vZGVzIGtleWVkIGJ5IHRhcmdldCBzY29wZSBwYXRoXG4gIGNvbnN0IG5vZGVzID0gZW50cmllc1xuICAgIC5tYXAoZSA9PiB7XG4gICAgICBjb25zdCBrZXkgPSBmaWVsZFRvU2NvcGVQYXRoKGUuZmllbGQpO1xuICAgICAgaWYgKCFrZXkpIHJldHVybiBudWxsO1xuICAgICAgY29uc3QgZGVwczogc3RyaW5nW10gPSBbXTtcbiAgICAgIGZvciAoY29uc3QgdCBvZiBlLnRva2VucykgaWYgKHQua2luZCA9PT0gJ2V4cHInKSBkZXBzLnB1c2godC5wYXRoLmpvaW4oJy4nKSk7XG4gICAgICByZXR1cm4geyBrZXksIGRlcHMsIGVudHJ5OiBlIH07XG4gICAgfSlcbiAgICAuZmlsdGVyKChuKTogbiBpcyBOb25OdWxsYWJsZTx0eXBlb2Ygbj4gPT4gbiAhPT0gbnVsbCk7XG5cbiAgY29uc3QgeyBvcmRlcmVkLCBjeWNsZXMgfSA9IHRvcG9Tb3J0KG5vZGVzLm1hcChuID0+ICh7IGtleTogbi5rZXksIGRlcHM6IG4uZGVwcyB9KSkpO1xuICBjb25zdCBlcnJvcnM6IFJlc29sdmVSZXN1bHRbJ2Vycm9ycyddID0gW107XG4gIGlmIChjeWNsZXMubGVuZ3RoKSB7XG4gICAgZm9yIChjb25zdCBjIG9mIGN5Y2xlcykge1xuICAgICAgZXJyb3JzLnB1c2goe1xuICAgICAgICBjb2RlOiBFcnJvckNvZGUuVEVNUExBVEVfQ1lDTEUsXG4gICAgICAgIG1lc3NhZ2U6IGBUZW1wbGF0ZSBjeWNsZSBkZXRlY3RlZDogJHtjLmpvaW4oJyAtPiAnKX1gLFxuICAgICAgICBwYXRoOiBjLmpvaW4oJyAtPiAnKSxcbiAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4geyBlcnJvcnMgfTtcbiAgfVxuXG4gIC8vIFJlc29sdmUgaW4gdG9wbyBvcmRlcjsgbXVsdGlwbGUgZW50cmllcyBtYXkgc2hhcmUgYSBzY29wZSBrZXkgKGUuZy4gb25lXG4gIC8vIHBpcGVsaW5lIGZpZWxkIGNvdWxkIG1hcCB0byB0aGUgc2FtZSBzY29wZSBwYXRoIOKAlCB1bmxpa2VseSBoZXJlKSwgc29cbiAgLy8gaXRlcmF0ZSBhbGwgZW50cmllcyB3aG9zZSBrZXkgPT0gb3JkZXJlZFtpXS5cbiAgY29uc3QgYnlLZXkgPSBuZXcgTWFwPHN0cmluZywgdHlwZW9mIG5vZGVzPigpO1xuICBmb3IgKGNvbnN0IG4gb2Ygbm9kZXMpIHtcbiAgICBjb25zdCBsaXN0ID0gYnlLZXkuZ2V0KG4ua2V5KSA/PyBbXTtcbiAgICBsaXN0LnB1c2gobik7XG4gICAgYnlLZXkuc2V0KG4ua2V5LCBsaXN0KTtcbiAgfVxuXG4gIGZvciAoY29uc3Qga2V5IG9mIG9yZGVyZWQpIHtcbiAgICBmb3IgKGNvbnN0IG4gb2YgYnlLZXkuZ2V0KGtleSkgPz8gW10pIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gZXZhbHVhdG9yUmVzb2x2ZShuLmVudHJ5LnRva2Vucywgc2NvcGUsIG4uZW50cnkuZmllbGQpO1xuICAgICAgICBuLmVudHJ5LnNldCh2YWx1ZSk7XG4gICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgY29uc3QgZSA9IGVyciBhcyBFcnJvciAmIHsgY29kZT86IEVycm9yQ29kZTsgcGF0aD86IHN0cmluZyB9O1xuICAgICAgICBlcnJvcnMucHVzaCh7XG4gICAgICAgICAgY29kZTogZS5jb2RlID8/IEVycm9yQ29kZS5URU1QTEFURV9QQVJTRV9FUlJPUixcbiAgICAgICAgICBtZXNzYWdlOiBlLm1lc3NhZ2UsXG4gICAgICAgICAgZmllbGQ6IG4uZW50cnkuZmllbGQsXG4gICAgICAgICAgcGF0aDogZS5wYXRoLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgcmV0dXJuIHsgZXJyb3JzIH07XG59XG5cbiJdfQ==
|
|
@@ -35,7 +35,7 @@ export function resolvePluginTemplates(plugin, pipelineScope) {
|
|
|
35
35
|
plugin: { name: plugin.name, version: plugin.version },
|
|
36
36
|
env: plugin.env ?? {},
|
|
37
37
|
};
|
|
38
|
-
const { errors } = resolveTemplates(clone, scope, isPluginTemplatableField
|
|
38
|
+
const { errors } = resolveTemplates(clone, scope, isPluginTemplatableField);
|
|
39
39
|
if (errors.length > 0) {
|
|
40
40
|
// First error wins — resolver errors should never be batched at synth time
|
|
41
41
|
// because a broken template is a programmer error, not a validation step.
|
|
@@ -45,4 +45,4 @@ export function resolvePluginTemplates(plugin, pipelineScope) {
|
|
|
45
45
|
}
|
|
46
46
|
return clone;
|
|
47
47
|
}
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2luLXJlc29sdmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3RlbXBsYXRlL3BsdWdpbi1yZXNvbHZlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQ0FBK0M7QUFDL0Msc0NBQXNDO0FBR3RDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUU5Qzs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxrQkFBa0IsR0FBRztJQUN6QixhQUFhO0lBQ2IsVUFBVSxFQUFFLFdBQVc7SUFDdkIsaUJBQWlCLEVBQUUsV0FBVztJQUM5QixLQUFLLEVBQUUseUJBQXlCO0lBQ2hDLFdBQVcsRUFBRSx5QkFBeUI7Q0FDOUIsQ0FBQztBQUVYLE1BQU0sVUFBVSx3QkFBd0IsQ0FBQyxLQUFhO0lBQ3BELG9GQUFvRjtJQUNwRiw2REFBNkQ7SUFDN0QsT0FBTyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLEtBQUssQ0FBQyxJQUFJLEtBQUssQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEtBQUssQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7QUFDN0csQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsc0JBQXNCLENBQ3BDLE1BQWMsRUFDZCxhQUFzQztJQUV0QyxrRUFBa0U7SUFDbEUsMkVBQTJFO0lBQzNFLE1BQU0sS0FBSyxHQUFHLGVBQWUsQ0FBQyxNQUFNLENBQXFDLENBQUM7SUFFMUUsTUFBTSxLQUFLLEdBQUc7UUFDWixHQUFHLGFBQWE7UUFDaEIsTUFBTSxFQUFFLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLE1BQU0sQ0FBQyxPQUFPLEVBQUU7UUFDdEQsR0FBRyxFQUFFLE1BQU0sQ0FBQyxHQUFHLElBQUksRUFBRTtLQUN0QixDQUFDO0lBRUYsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLGdCQUFnQixDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsd0JBQXdCLENBQUMsQ0FBQztJQUM1RSxJQUFJLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDdEIsMkVBQTJFO1FBQzNFLDBFQUEwRTtRQUMxRSxNQUFNLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFFLENBQUM7UUFDckIsTUFBTSxHQUFHLEdBQUcseUNBQXlDLE1BQU0sQ0FBQyxJQUFJLGVBQWUsQ0FBQyxDQUFDLEtBQUssTUFBTSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDeEcsTUFBTSxJQUFJLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN2QixDQUFDO0lBQ0QsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IDIwMjYgUGlwZWxpbmUgQnVpbGRlciBDb250cmlidXRvcnNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG5cbmltcG9ydCB0eXBlIHsgUGx1Z2luIH0gZnJvbSAnQHBpcGVsaW5lLWJ1aWxkZXIvcGlwZWxpbmUtZGF0YSc7XG5pbXBvcnQgeyByZXNvbHZlVGVtcGxhdGVzIH0gZnJvbSAnLi9pbmRleC5qcyc7XG5cbi8qKlxuICogRmllbGRzIGluc2lkZSBhIFBsdWdpbiByZWNvcmQgdGhhdCBhY2NlcHQgYHt7IC4uLiB9fWAgdGVtcGxhdGVzLlxuICpcbiAqIFB1cmUtc3RyaW5nIGxlYXZlcyBvbmx5LiBgbmFtZWAsIGB2ZXJzaW9uYCwgYHBsdWdpblR5cGVgLCBgY29tcHV0ZVR5cGVgLFxuICogYHRpbWVvdXRgLCBgc2VjcmV0c2AsIGBmYWlsdXJlQmVoYXZpb3JgLCBgcmVxdWlyZWRNZXRhZGF0YWAsIGByZXF1aXJlZFZhcnNgXG4gKiBzdGF5IGxpdGVyYWwuIGBtZXRhZGF0YS4qYCBpcyBleGNsdWRlZCBiZWNhdXNlIENESy1tZXRhZGF0YSB2YWx1ZXMgYXJlXG4gKiBzdHJ1Y3R1cmFsLCBub3QgdXNlci1pbnRlcnBvbGF0ZWQuXG4gKi9cbmNvbnN0IFRFTVBMQVRBQkxFX0ZJRUxEUyA9IFtcbiAgJ2Rlc2NyaXB0aW9uJyxcbiAgJ2NvbW1hbmRzJywgLy8gc3RyaW5nW11cbiAgJ2luc3RhbGxDb21tYW5kcycsIC8vIHN0cmluZ1tdXG4gICdlbnYnLCAvLyBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+XG4gICdidWlsZEFyZ3MnLCAvLyBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+XG5dIGFzIGNvbnN0O1xuXG5leHBvcnQgZnVuY3Rpb24gaXNQbHVnaW5UZW1wbGF0YWJsZUZpZWxkKGZpZWxkOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgLy8gYGNvbW1hbmRzYCAvIGBpbnN0YWxsQ29tbWFuZHNgIGFyZSBhcnJheXMgb2Ygc3RyaW5ncyDihpIgZW50cmllcyBsaWtlICdjb21tYW5kc1swXSdcbiAgLy8gYGVudmAgLyBgYnVpbGRBcmdzYCBhcmUgb2JqZWN0cyDihpIgZW50cmllcyBsaWtlICdlbnYuU1RBR0UnXG4gIHJldHVybiBURU1QTEFUQUJMRV9GSUVMRFMuc29tZShmID0+IGZpZWxkID09PSBmIHx8IGZpZWxkLnN0YXJ0c1dpdGgoYCR7Zn1bYCkgfHwgZmllbGQuc3RhcnRzV2l0aChgJHtmfS5gKSk7XG59XG5cbi8qKlxuICogUmV0dXJuIGEgc2hhbGxvdyBjbG9uZSBvZiBgcGx1Z2luYCB3aXRoIGFsbCBge3sgLi4uIH19YCB0ZW1wbGF0ZXNcbiAqIHJlc29sdmVkIGFnYWluc3QgdGhlIGdpdmVuIHBpcGVsaW5lIHNjb3BlLiBDYWxsZXIgbXVzdCBwcmUtcG9wdWxhdGVcbiAqIGBwaXBlbGluZVNjb3BlYCB3aXRoIGB7IHBpcGVsaW5lLCBwbHVnaW4sIGVudiB9YCBrZXlzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVzb2x2ZVBsdWdpblRlbXBsYXRlcyhcbiAgcGx1Z2luOiBQbHVnaW4sXG4gIHBpcGVsaW5lU2NvcGU6IFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuKTogUGx1Z2luIHtcbiAgLy8gRGVlcCBjbG9uZSBzbyBtdXRhdGlvbnMgZG9uJ3QgbGVhayBiYWNrIHRvIHRoZSBjYWxsZXIncyBQbHVnaW4uXG4gIC8vIFN0cnVjdHVyYWwgZmllbGRzIHdlIGNhcmUgYWJvdXQgYXJlIHBsYWluIEpTT047IHN0cnVjdHVyZWRDbG9uZSBpcyBzYWZlLlxuICBjb25zdCBjbG9uZSA9IHN0cnVjdHVyZWRDbG9uZShwbHVnaW4pIGFzIFBsdWdpbiAmIFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuXG4gIGNvbnN0IHNjb3BlID0ge1xuICAgIC4uLnBpcGVsaW5lU2NvcGUsXG4gICAgcGx1Z2luOiB7IG5hbWU6IHBsdWdpbi5uYW1lLCB2ZXJzaW9uOiBwbHVnaW4udmVyc2lvbiB9LFxuICAgIGVudjogcGx1Z2luLmVudiA/PyB7fSxcbiAgfTtcblxuICBjb25zdCB7IGVycm9ycyB9ID0gcmVzb2x2ZVRlbXBsYXRlcyhjbG9uZSwgc2NvcGUsIGlzUGx1Z2luVGVtcGxhdGFibGVGaWVsZCk7XG4gIGlmIChlcnJvcnMubGVuZ3RoID4gMCkge1xuICAgIC8vIEZpcnN0IGVycm9yIHdpbnMg4oCUIHJlc29sdmVyIGVycm9ycyBzaG91bGQgbmV2ZXIgYmUgYmF0Y2hlZCBhdCBzeW50aCB0aW1lXG4gICAgLy8gYmVjYXVzZSBhIGJyb2tlbiB0ZW1wbGF0ZSBpcyBhIHByb2dyYW1tZXIgZXJyb3IsIG5vdCBhIHZhbGlkYXRpb24gc3RlcC5cbiAgICBjb25zdCBlID0gZXJyb3JzWzBdITtcbiAgICBjb25zdCBtc2cgPSBgVGVtcGxhdGUgcmVzb2x1dGlvbiBmYWlsZWQgaW4gcGx1Z2luIFwiJHtwbHVnaW4ubmFtZX1cIiBhdCBmaWVsZCAnJHtlLmZpZWxkfSc6ICR7ZS5tZXNzYWdlfWA7XG4gICAgdGhyb3cgbmV3IEVycm9yKG1zZyk7XG4gIH1cbiAgcmV0dXJuIGNsb25lO1xufVxuIl19
|
package/package.json
CHANGED
|
@@ -33,9 +33,8 @@
|
|
|
33
33
|
"dependencies": {
|
|
34
34
|
"axios": "1.19.0",
|
|
35
35
|
"jsonwebtoken": "9.0.3",
|
|
36
|
-
"
|
|
37
|
-
"@pipeline-builder/
|
|
38
|
-
"@pipeline-builder/pipeline-data": "4.1.4"
|
|
36
|
+
"@pipeline-builder/api-core": "4.1.5",
|
|
37
|
+
"@pipeline-builder/pipeline-data": "4.1.6"
|
|
39
38
|
},
|
|
40
39
|
"keywords": [
|
|
41
40
|
"ci-cd",
|
|
@@ -91,7 +90,7 @@
|
|
|
91
90
|
"access": "public",
|
|
92
91
|
"registry": "https://registry.npmjs.org/"
|
|
93
92
|
},
|
|
94
|
-
"version": "4.1.
|
|
93
|
+
"version": "4.1.6",
|
|
95
94
|
"bugs": {
|
|
96
95
|
"url": "https://github.com/mwashburn160/pipeline-builder/issues"
|
|
97
96
|
},
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
interface Counter {
|
|
2
|
-
inc(labels?: Record<string, string>, value?: number): void;
|
|
3
|
-
}
|
|
4
|
-
interface Histogram {
|
|
5
|
-
observe(labels: Record<string, string>, value: number): void;
|
|
6
|
-
}
|
|
7
|
-
export declare const templateResolutionsTotal: Counter;
|
|
8
|
-
export declare const templateResolutionDurationMs: Histogram;
|
|
9
|
-
export declare function recordResolution(doc: 'pipeline' | 'plugin', durationMs: number, success: boolean): void;
|
|
10
|
-
export {};
|
package/lib/template/metrics.js
DELETED
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
// Copyright 2026 Pipeline Builder Contributors
|
|
2
|
-
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
-
/**
|
|
4
|
-
* Prometheus metrics for template resolution. Optional — the module is
|
|
5
|
-
* only wired up when `prom-client` is already present in the host
|
|
6
|
-
* process (as is the case for api-server based services). Falls back to
|
|
7
|
-
* no-op stubs when unavailable so pipeline-core stays usable outside
|
|
8
|
-
* server contexts.
|
|
9
|
-
*/
|
|
10
|
-
import { safeCreateRequire } from '@pipeline-builder/api-core';
|
|
11
|
-
// ESM has no global `require`; safeCreateRequire enables the synchronous,
|
|
12
|
-
// OPTIONAL lazy-load of prom-client below (no-op stubs when it isn't installed).
|
|
13
|
-
// (CJS-bundle safe — see api-core's safe-require.ts.)
|
|
14
|
-
const require = safeCreateRequire(import.meta.url);
|
|
15
|
-
function resolvePromClient() {
|
|
16
|
-
try {
|
|
17
|
-
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
18
|
-
return require('prom-client');
|
|
19
|
-
}
|
|
20
|
-
catch {
|
|
21
|
-
return null;
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
const promClient = resolvePromClient();
|
|
25
|
-
function makeCounter(name, help, labelNames) {
|
|
26
|
-
if (!promClient)
|
|
27
|
-
return { inc: () => { } };
|
|
28
|
-
const existing = promClient.register.getSingleMetric(name);
|
|
29
|
-
return existing ?? new promClient.Counter({ name, help, labelNames });
|
|
30
|
-
}
|
|
31
|
-
function makeHistogram(name, help, labelNames, buckets) {
|
|
32
|
-
if (!promClient)
|
|
33
|
-
return { observe: () => { } };
|
|
34
|
-
const existing = promClient.register.getSingleMetric(name);
|
|
35
|
-
return existing ?? new promClient.Histogram({ name, help, labelNames, buckets });
|
|
36
|
-
}
|
|
37
|
-
export const templateResolutionsTotal = makeCounter('pipeline_builder_template_resolutions_total', 'Total number of template resolution operations', ['outcome', 'doc']);
|
|
38
|
-
export const templateResolutionDurationMs = makeHistogram('pipeline_builder_template_resolution_duration_ms', 'Template resolution duration in milliseconds', ['doc'], [1, 5, 10, 50, 100, 500, 1000]);
|
|
39
|
-
export function recordResolution(doc, durationMs, success) {
|
|
40
|
-
templateResolutionsTotal.inc({ outcome: success ? 'success' : 'error', doc });
|
|
41
|
-
templateResolutionDurationMs.observe({ doc }, durationMs);
|
|
42
|
-
}
|
|
43
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0cmljcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90ZW1wbGF0ZS9tZXRyaWNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLCtDQUErQztBQUMvQyxzQ0FBc0M7QUFFdEM7Ozs7OztHQU1HO0FBRUgsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFL0QsMEVBQTBFO0FBQzFFLGlGQUFpRjtBQUNqRixzREFBc0Q7QUFDdEQsTUFBTSxPQUFPLEdBQUcsaUJBQWlCLENBQUMsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7QUFLbkQsU0FBUyxpQkFBaUI7SUFDeEIsSUFBSSxDQUFDO1FBQ0gsaUVBQWlFO1FBQ2pFLE9BQU8sT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFBQyxNQUFNLENBQUM7UUFDUCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7QUFDSCxDQUFDO0FBRUQsTUFBTSxVQUFVLEdBQUcsaUJBQWlCLEVBQUUsQ0FBQztBQUV2QyxTQUFTLFdBQVcsQ0FBQyxJQUFZLEVBQUUsSUFBWSxFQUFFLFVBQW9CO0lBQ25FLElBQUksQ0FBQyxVQUFVO1FBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBYyxDQUFDLEVBQUUsQ0FBQztJQUN0RCxNQUFNLFFBQVEsR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMzRCxPQUFPLFFBQVEsSUFBSSxJQUFJLFVBQVUsQ0FBQyxPQUFPLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUM7QUFDeEUsQ0FBQztBQUVELFNBQVMsYUFBYSxDQUFDLElBQVksRUFBRSxJQUFZLEVBQUUsVUFBb0IsRUFBRSxPQUFpQjtJQUN4RixJQUFJLENBQUMsVUFBVTtRQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLEdBQWMsQ0FBQyxFQUFFLENBQUM7SUFDMUQsTUFBTSxRQUFRLEdBQUcsVUFBVSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDM0QsT0FBTyxRQUFRLElBQUksSUFBSSxVQUFVLENBQUMsU0FBUyxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztBQUNuRixDQUFDO0FBRUQsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUcsV0FBVyxDQUNqRCw2Q0FBNkMsRUFDN0MsZ0RBQWdELEVBQ2hELENBQUMsU0FBUyxFQUFFLEtBQUssQ0FBQyxDQUNuQixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sNEJBQTRCLEdBQUcsYUFBYSxDQUN2RCxrREFBa0QsRUFDbEQsOENBQThDLEVBQzlDLENBQUMsS0FBSyxDQUFDLEVBQ1AsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FDL0IsQ0FBQztBQUVGLE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxHQUEwQixFQUFFLFVBQWtCLEVBQUUsT0FBZ0I7SUFDL0Ysd0JBQXdCLENBQUMsR0FBRyxDQUFDLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztJQUM5RSw0QkFBNEIsQ0FBQyxPQUFPLENBQUMsRUFBRSxHQUFHLEVBQUUsRUFBRSxVQUFVLENBQUMsQ0FBQztBQUM1RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IDIwMjYgUGlwZWxpbmUgQnVpbGRlciBDb250cmlidXRvcnNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG5cbi8qKlxuICogUHJvbWV0aGV1cyBtZXRyaWNzIGZvciB0ZW1wbGF0ZSByZXNvbHV0aW9uLiBPcHRpb25hbCDigJQgdGhlIG1vZHVsZSBpc1xuICogb25seSB3aXJlZCB1cCB3aGVuIGBwcm9tLWNsaWVudGAgaXMgYWxyZWFkeSBwcmVzZW50IGluIHRoZSBob3N0XG4gKiBwcm9jZXNzIChhcyBpcyB0aGUgY2FzZSBmb3IgYXBpLXNlcnZlciBiYXNlZCBzZXJ2aWNlcykuIEZhbGxzIGJhY2sgdG9cbiAqIG5vLW9wIHN0dWJzIHdoZW4gdW5hdmFpbGFibGUgc28gcGlwZWxpbmUtY29yZSBzdGF5cyB1c2FibGUgb3V0c2lkZVxuICogc2VydmVyIGNvbnRleHRzLlxuICovXG5cbmltcG9ydCB7IHNhZmVDcmVhdGVSZXF1aXJlIH0gZnJvbSAnQHBpcGVsaW5lLWJ1aWxkZXIvYXBpLWNvcmUnO1xuXG4vLyBFU00gaGFzIG5vIGdsb2JhbCBgcmVxdWlyZWA7IHNhZmVDcmVhdGVSZXF1aXJlIGVuYWJsZXMgdGhlIHN5bmNocm9ub3VzLFxuLy8gT1BUSU9OQUwgbGF6eS1sb2FkIG9mIHByb20tY2xpZW50IGJlbG93IChuby1vcCBzdHVicyB3aGVuIGl0IGlzbid0IGluc3RhbGxlZCkuXG4vLyAoQ0pTLWJ1bmRsZSBzYWZlIOKAlCBzZWUgYXBpLWNvcmUncyBzYWZlLXJlcXVpcmUudHMuKVxuY29uc3QgcmVxdWlyZSA9IHNhZmVDcmVhdGVSZXF1aXJlKGltcG9ydC5tZXRhLnVybCk7XG5cbmludGVyZmFjZSBDb3VudGVyIHsgaW5jKGxhYmVscz86IFJlY29yZDxzdHJpbmcsIHN0cmluZz4sIHZhbHVlPzogbnVtYmVyKTogdm9pZCB9XG5pbnRlcmZhY2UgSGlzdG9ncmFtIHsgb2JzZXJ2ZShsYWJlbHM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4sIHZhbHVlOiBudW1iZXIpOiB2b2lkIH1cblxuZnVuY3Rpb24gcmVzb2x2ZVByb21DbGllbnQoKTogYW55IHwgbnVsbCB7XG4gIHRyeSB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1yZXF1aXJlLWltcG9ydHNcbiAgICByZXR1cm4gcmVxdWlyZSgncHJvbS1jbGllbnQnKTtcbiAgfSBjYXRjaCB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbn1cblxuY29uc3QgcHJvbUNsaWVudCA9IHJlc29sdmVQcm9tQ2xpZW50KCk7XG5cbmZ1bmN0aW9uIG1ha2VDb3VudGVyKG5hbWU6IHN0cmluZywgaGVscDogc3RyaW5nLCBsYWJlbE5hbWVzOiBzdHJpbmdbXSk6IENvdW50ZXIge1xuICBpZiAoIXByb21DbGllbnQpIHJldHVybiB7IGluYzogKCkgPT4geyAvKiBub29wICovIH0gfTtcbiAgY29uc3QgZXhpc3RpbmcgPSBwcm9tQ2xpZW50LnJlZ2lzdGVyLmdldFNpbmdsZU1ldHJpYyhuYW1lKTtcbiAgcmV0dXJuIGV4aXN0aW5nID8/IG5ldyBwcm9tQ2xpZW50LkNvdW50ZXIoeyBuYW1lLCBoZWxwLCBsYWJlbE5hbWVzIH0pO1xufVxuXG5mdW5jdGlvbiBtYWtlSGlzdG9ncmFtKG5hbWU6IHN0cmluZywgaGVscDogc3RyaW5nLCBsYWJlbE5hbWVzOiBzdHJpbmdbXSwgYnVja2V0czogbnVtYmVyW10pOiBIaXN0b2dyYW0ge1xuICBpZiAoIXByb21DbGllbnQpIHJldHVybiB7IG9ic2VydmU6ICgpID0+IHsgLyogbm9vcCAqLyB9IH07XG4gIGNvbnN0IGV4aXN0aW5nID0gcHJvbUNsaWVudC5yZWdpc3Rlci5nZXRTaW5nbGVNZXRyaWMobmFtZSk7XG4gIHJldHVybiBleGlzdGluZyA/PyBuZXcgcHJvbUNsaWVudC5IaXN0b2dyYW0oeyBuYW1lLCBoZWxwLCBsYWJlbE5hbWVzLCBidWNrZXRzIH0pO1xufVxuXG5leHBvcnQgY29uc3QgdGVtcGxhdGVSZXNvbHV0aW9uc1RvdGFsID0gbWFrZUNvdW50ZXIoXG4gICdwaXBlbGluZV9idWlsZGVyX3RlbXBsYXRlX3Jlc29sdXRpb25zX3RvdGFsJyxcbiAgJ1RvdGFsIG51bWJlciBvZiB0ZW1wbGF0ZSByZXNvbHV0aW9uIG9wZXJhdGlvbnMnLFxuICBbJ291dGNvbWUnLCAnZG9jJ10sXG4pO1xuXG5leHBvcnQgY29uc3QgdGVtcGxhdGVSZXNvbHV0aW9uRHVyYXRpb25NcyA9IG1ha2VIaXN0b2dyYW0oXG4gICdwaXBlbGluZV9idWlsZGVyX3RlbXBsYXRlX3Jlc29sdXRpb25fZHVyYXRpb25fbXMnLFxuICAnVGVtcGxhdGUgcmVzb2x1dGlvbiBkdXJhdGlvbiBpbiBtaWxsaXNlY29uZHMnLFxuICBbJ2RvYyddLFxuICBbMSwgNSwgMTAsIDUwLCAxMDAsIDUwMCwgMTAwMF0sXG4pO1xuXG5leHBvcnQgZnVuY3Rpb24gcmVjb3JkUmVzb2x1dGlvbihkb2M6ICdwaXBlbGluZScgfCAncGx1Z2luJywgZHVyYXRpb25NczogbnVtYmVyLCBzdWNjZXNzOiBib29sZWFuKTogdm9pZCB7XG4gIHRlbXBsYXRlUmVzb2x1dGlvbnNUb3RhbC5pbmMoeyBvdXRjb21lOiBzdWNjZXNzID8gJ3N1Y2Nlc3MnIDogJ2Vycm9yJywgZG9jIH0pO1xuICB0ZW1wbGF0ZVJlc29sdXRpb25EdXJhdGlvbk1zLm9ic2VydmUoeyBkb2MgfSwgZHVyYXRpb25Ncyk7XG59XG4iXX0=
|