@plumile/router 0.1.12 → 0.1.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +426 -13
- package/lib/esm/index.d.ts +4 -0
- package/lib/esm/index.d.ts.map +1 -1
- package/lib/esm/index.js +5 -1
- package/lib/esm/routing/createRouter.d.ts +1 -0
- package/lib/esm/routing/createRouter.d.ts.map +1 -1
- package/lib/esm/routing/createRouter.js +399 -359
- package/lib/esm/routing/devtools.d.ts +20 -0
- package/lib/esm/routing/devtools.d.ts.map +1 -0
- package/lib/esm/routing/devtools.js +678 -0
- package/lib/esm/routing/filters.d.ts +97 -0
- package/lib/esm/routing/filters.d.ts.map +1 -0
- package/lib/esm/routing/filters.js +557 -0
- package/lib/esm/routing/index.d.ts +6 -0
- package/lib/esm/routing/index.d.ts.map +1 -1
- package/lib/esm/routing/index.js +7 -1
- package/lib/esm/routing/useActiveFilters.d.ts +9 -0
- package/lib/esm/routing/useActiveFilters.d.ts.map +1 -0
- package/lib/esm/routing/useActiveFilters.js +38 -0
- package/lib/esm/routing/useFilterState.d.ts +10 -0
- package/lib/esm/routing/useFilterState.d.ts.map +1 -0
- package/lib/esm/routing/useFilterState.js +14 -0
- package/lib/esm/routing/useNavigate.d.ts +7 -0
- package/lib/esm/routing/useNavigate.d.ts.map +1 -1
- package/lib/esm/routing/useNavigate.js +1 -1
- package/lib/esm/routing/useNavigateWithQuery.d.ts +15 -0
- package/lib/esm/routing/useNavigateWithQuery.d.ts.map +1 -0
- package/lib/esm/routing/useNavigateWithQuery.js +95 -0
- package/lib/esm/routing/useQueryObject.d.ts +18 -0
- package/lib/esm/routing/useQueryObject.d.ts.map +1 -0
- package/lib/esm/routing/useQueryObject.js +107 -0
- package/lib/esm/routing/useStableRefEquality.d.ts +5 -0
- package/lib/esm/routing/useStableRefEquality.d.ts.map +1 -0
- package/lib/esm/routing/useStableRefEquality.js +47 -0
- package/lib/esm/tools/buildSearch.d.ts +8 -2
- package/lib/esm/tools/buildSearch.d.ts.map +1 -1
- package/lib/esm/tools/buildSearch.js +216 -12
- package/lib/esm/types.d.ts +19 -0
- package/lib/esm/types.d.ts.map +1 -1
- package/lib/esm/types.js +1 -1
- package/lib/tsconfig.esm.tsbuildinfo +1 -1
- package/lib/types/index.d.ts +4 -0
- package/lib/types/index.d.ts.map +1 -1
- package/lib/types/routing/createRouter.d.ts +1 -0
- package/lib/types/routing/createRouter.d.ts.map +1 -1
- package/lib/types/routing/devtools.d.ts +20 -0
- package/lib/types/routing/devtools.d.ts.map +1 -0
- package/lib/types/routing/filters.d.ts +97 -0
- package/lib/types/routing/filters.d.ts.map +1 -0
- package/lib/types/routing/index.d.ts +6 -0
- package/lib/types/routing/index.d.ts.map +1 -1
- package/lib/types/routing/useActiveFilters.d.ts +9 -0
- package/lib/types/routing/useActiveFilters.d.ts.map +1 -0
- package/lib/types/routing/useFilterState.d.ts +10 -0
- package/lib/types/routing/useFilterState.d.ts.map +1 -0
- package/lib/types/routing/useNavigate.d.ts +7 -0
- package/lib/types/routing/useNavigate.d.ts.map +1 -1
- package/lib/types/routing/useNavigateWithQuery.d.ts +15 -0
- package/lib/types/routing/useNavigateWithQuery.d.ts.map +1 -0
- package/lib/types/routing/useQueryObject.d.ts +18 -0
- package/lib/types/routing/useQueryObject.d.ts.map +1 -0
- package/lib/types/routing/useStableRefEquality.d.ts +5 -0
- package/lib/types/routing/useStableRefEquality.d.ts.map +1 -0
- package/lib/types/tools/buildSearch.d.ts +8 -2
- package/lib/types/tools/buildSearch.d.ts.map +1 -1
- package/lib/types/types.d.ts +19 -0
- package/lib/types/types.d.ts.map +1 -1
- package/package.json +3 -3
|
@@ -1,26 +1,230 @@
|
|
|
1
|
+
import { buildFiltersQuery, OPERATOR_PRIORITY, } from '../routing/filters.js';
|
|
1
2
|
function serializeValue(descriptor, value) {
|
|
2
3
|
return descriptor.serialize(value);
|
|
3
4
|
}
|
|
4
5
|
export function buildSearch(query, schema, opts) {
|
|
5
|
-
|
|
6
|
+
const hasFilters = opts !== undefined &&
|
|
7
|
+
opts.filters !== undefined &&
|
|
8
|
+
opts.filterSchema !== undefined;
|
|
9
|
+
if (query == null && !hasFilters) {
|
|
6
10
|
return '';
|
|
7
|
-
|
|
8
|
-
|
|
11
|
+
}
|
|
12
|
+
const { omitDefaults = false, sortKeys = true, filters, filterSchema, omitEmptyFilters = true, pruneEmptyFilterOperators = true, } = opts ?? {};
|
|
13
|
+
let workingQuery = {};
|
|
14
|
+
if (query != null) {
|
|
15
|
+
workingQuery = { ...query };
|
|
16
|
+
}
|
|
17
|
+
if (hasFilters && filterSchema !== undefined && filters !== undefined) {
|
|
18
|
+
let emptySchema = false;
|
|
19
|
+
if (filterSchema !== undefined && filterSchema !== null) {
|
|
20
|
+
const inner = filterSchema
|
|
21
|
+
.schema;
|
|
22
|
+
let keys = [];
|
|
23
|
+
if (inner !== undefined) {
|
|
24
|
+
keys = Object.keys(inner);
|
|
25
|
+
}
|
|
26
|
+
if (keys.length === 0) {
|
|
27
|
+
emptySchema = true;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
let effectiveFilters = filters;
|
|
31
|
+
if (pruneEmptyFilterOperators) {
|
|
32
|
+
const pruned = {};
|
|
33
|
+
for (const [field, ops] of Object.entries(filters)) {
|
|
34
|
+
if (ops != null && typeof ops === 'object') {
|
|
35
|
+
const nextOps = {};
|
|
36
|
+
for (const [op, value] of Object.entries(ops)) {
|
|
37
|
+
if (value == null) {
|
|
38
|
+
}
|
|
39
|
+
else if (op === 'between') {
|
|
40
|
+
if (Array.isArray(value)) {
|
|
41
|
+
const clean = [];
|
|
42
|
+
for (const t of value) {
|
|
43
|
+
if (Array.isArray(t) && t.length === 2) {
|
|
44
|
+
clean.push(t);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
if (clean.length > 0)
|
|
48
|
+
nextOps[op] = clean;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
else if (Array.isArray(value)) {
|
|
52
|
+
if (value.length > 0)
|
|
53
|
+
nextOps[op] = value.slice();
|
|
54
|
+
}
|
|
55
|
+
else if (typeof value === 'boolean') {
|
|
56
|
+
nextOps[op] = value;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
if (Object.keys(nextOps).length > 0) {
|
|
60
|
+
pruned[field] = nextOps;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
effectiveFilters = pruned;
|
|
65
|
+
}
|
|
66
|
+
if (!emptySchema) {
|
|
67
|
+
workingQuery = buildFiltersQuery(filterSchema, workingQuery, effectiveFilters);
|
|
68
|
+
}
|
|
69
|
+
else {
|
|
70
|
+
const flat = {};
|
|
71
|
+
for (const [field, ops] of Object.entries(effectiveFilters)) {
|
|
72
|
+
if (ops !== undefined && ops !== null && typeof ops === 'object') {
|
|
73
|
+
for (const [op, value] of Object.entries(ops)) {
|
|
74
|
+
if (value === undefined || value === null) {
|
|
75
|
+
}
|
|
76
|
+
else {
|
|
77
|
+
const key = `${field}.${op}`;
|
|
78
|
+
if (op === 'exists' && typeof value === 'boolean') {
|
|
79
|
+
if (value) {
|
|
80
|
+
flat[key] = 'true';
|
|
81
|
+
}
|
|
82
|
+
else {
|
|
83
|
+
flat[key] = 'false';
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
else if (op === 'between') {
|
|
87
|
+
const ranges = value;
|
|
88
|
+
for (const r of ranges) {
|
|
89
|
+
if (Array.isArray(r) && r.length === 2) {
|
|
90
|
+
const a = r[0];
|
|
91
|
+
const b = r[1];
|
|
92
|
+
const pair = [String(a), String(b)];
|
|
93
|
+
const existing = flat[key];
|
|
94
|
+
if (existing === undefined) {
|
|
95
|
+
flat[key] = pair;
|
|
96
|
+
}
|
|
97
|
+
else if (Array.isArray(existing)) {
|
|
98
|
+
flat[key] = [...existing, ...pair];
|
|
99
|
+
}
|
|
100
|
+
else {
|
|
101
|
+
flat[key] = [existing, ...pair];
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
else if (Array.isArray(value)) {
|
|
107
|
+
for (const v of value) {
|
|
108
|
+
const sv = String(v);
|
|
109
|
+
const existing = flat[key];
|
|
110
|
+
if (existing === undefined) {
|
|
111
|
+
flat[key] = sv;
|
|
112
|
+
}
|
|
113
|
+
else if (Array.isArray(existing)) {
|
|
114
|
+
existing.push(sv);
|
|
115
|
+
}
|
|
116
|
+
else {
|
|
117
|
+
flat[key] = [existing, sv];
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
workingQuery = { ...workingQuery, ...flat };
|
|
126
|
+
}
|
|
127
|
+
if (omitEmptyFilters) {
|
|
128
|
+
const next = {};
|
|
129
|
+
for (const [k, v] of Object.entries(workingQuery)) {
|
|
130
|
+
if (Array.isArray(v) && v.length === 0) {
|
|
131
|
+
}
|
|
132
|
+
else {
|
|
133
|
+
next[k] = v;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
workingQuery = next;
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
if (Object.keys(workingQuery).length === 0) {
|
|
140
|
+
return '';
|
|
141
|
+
}
|
|
142
|
+
let keys = Object.keys(workingQuery);
|
|
9
143
|
if (sortKeys) {
|
|
10
144
|
if (schema != null) {
|
|
11
145
|
const schemaKeys = Object.keys(schema);
|
|
12
|
-
const
|
|
146
|
+
const schemaOrdered = [];
|
|
13
147
|
for (const sk of schemaKeys) {
|
|
14
|
-
if (Object.prototype.hasOwnProperty.call(
|
|
15
|
-
|
|
148
|
+
if (Object.prototype.hasOwnProperty.call(workingQuery, sk)) {
|
|
149
|
+
schemaOrdered.push(sk);
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
const filterKeys = [];
|
|
153
|
+
const otherKeys = [];
|
|
154
|
+
if (filterSchema != null) {
|
|
155
|
+
const fsSchema = filterSchema.schema;
|
|
156
|
+
const fieldSet = new Set(Object.keys(fsSchema));
|
|
157
|
+
for (const k of keys) {
|
|
158
|
+
if (!schemaKeys.includes(k)) {
|
|
159
|
+
const dot = k.indexOf('.');
|
|
160
|
+
if (dot > 0) {
|
|
161
|
+
const field = k.slice(0, dot);
|
|
162
|
+
if (fieldSet.has(field)) {
|
|
163
|
+
filterKeys.push(k);
|
|
164
|
+
}
|
|
165
|
+
else {
|
|
166
|
+
otherKeys.push(k);
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
else {
|
|
170
|
+
otherKeys.push(k);
|
|
171
|
+
}
|
|
172
|
+
}
|
|
16
173
|
}
|
|
17
174
|
}
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
175
|
+
else {
|
|
176
|
+
for (const k of keys) {
|
|
177
|
+
if (!schemaKeys.includes(k))
|
|
178
|
+
otherKeys.push(k);
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
otherKeys.sort();
|
|
182
|
+
const grouped = {};
|
|
183
|
+
for (const fk of filterKeys) {
|
|
184
|
+
const dot = fk.indexOf('.');
|
|
185
|
+
let field = fk;
|
|
186
|
+
if (dot > 0) {
|
|
187
|
+
field = fk.slice(0, dot);
|
|
188
|
+
}
|
|
189
|
+
grouped[field] ??= [];
|
|
190
|
+
{
|
|
191
|
+
const existing = grouped[field];
|
|
192
|
+
if (Array.isArray(existing)) {
|
|
193
|
+
existing.push(fk);
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
const orderedFields = Object.keys(grouped).sort();
|
|
198
|
+
const orderedFilterKeys = [];
|
|
199
|
+
for (const field of orderedFields) {
|
|
200
|
+
const ops = grouped[field];
|
|
201
|
+
if (ops !== undefined) {
|
|
202
|
+
ops.sort((a, b) => {
|
|
203
|
+
const opA = a.slice(a.indexOf('.') + 1);
|
|
204
|
+
const opB = b.slice(b.indexOf('.') + 1);
|
|
205
|
+
const ia = OPERATOR_PRIORITY.indexOf(opA);
|
|
206
|
+
const ib = OPERATOR_PRIORITY.indexOf(opB);
|
|
207
|
+
let sa = ia;
|
|
208
|
+
if (sa === -1)
|
|
209
|
+
sa = 999;
|
|
210
|
+
let sb = ib;
|
|
211
|
+
if (sb === -1)
|
|
212
|
+
sb = 999;
|
|
213
|
+
if (sa < sb)
|
|
214
|
+
return -1;
|
|
215
|
+
if (sa > sb)
|
|
216
|
+
return 1;
|
|
217
|
+
if (opA < opB)
|
|
218
|
+
return -1;
|
|
219
|
+
if (opA > opB)
|
|
220
|
+
return 1;
|
|
221
|
+
return 0;
|
|
222
|
+
});
|
|
223
|
+
for (const ok of ops)
|
|
224
|
+
orderedFilterKeys.push(ok);
|
|
21
225
|
}
|
|
22
226
|
}
|
|
23
|
-
keys =
|
|
227
|
+
keys = [...schemaOrdered, ...otherKeys, ...orderedFilterKeys];
|
|
24
228
|
}
|
|
25
229
|
else {
|
|
26
230
|
keys.sort();
|
|
@@ -28,7 +232,7 @@ export function buildSearch(query, schema, opts) {
|
|
|
28
232
|
}
|
|
29
233
|
const parts = [];
|
|
30
234
|
for (const key of keys) {
|
|
31
|
-
const value =
|
|
235
|
+
const value = workingQuery[key];
|
|
32
236
|
if (value == null) {
|
|
33
237
|
}
|
|
34
238
|
else {
|
|
@@ -57,4 +261,4 @@ export function buildSearch(query, schema, opts) {
|
|
|
57
261
|
return '';
|
|
58
262
|
return `?${parts.join('&')}`;
|
|
59
263
|
}
|
|
60
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGRTZWFyY2guanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdG9vbHMvYnVpbGRTZWFyY2gudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsU0FBUyxjQUFjLENBQ3JCLFVBQWdDLEVBQ2hDLEtBQWM7SUFFZCxPQUFPLFVBQVUsQ0FBQyxTQUFTLENBQUMsS0FBWSxDQUFDLENBQUM7QUFDNUMsQ0FBQztBQUdELE1BQU0sVUFBVSxXQUFXLENBQ3pCLEtBQXNDLEVBQ3RDLE1BQStCLEVBQy9CLElBQXFEO0lBRXJELElBQUksS0FBSyxJQUFJLElBQUk7UUFBRSxPQUFPLEVBQUUsQ0FBQztJQUM3QixNQUFNLEVBQUUsWUFBWSxHQUFHLEtBQUssRUFBRSxRQUFRLEdBQUcsSUFBSSxFQUFFLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztJQUM3RCxJQUFJLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlCLElBQUksUUFBUSxFQUFFLENBQUM7UUFDYixJQUFJLE1BQU0sSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUVuQixNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3ZDLE1BQU0sT0FBTyxHQUFhLEVBQUUsQ0FBQztZQUM3QixLQUFLLE1BQU0sRUFBRSxJQUFJLFVBQVUsRUFBRSxDQUFDO2dCQUM1QixJQUFJLE1BQU0sQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQztvQkFDcEQsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDbkIsQ0FBQztZQUNILENBQUM7WUFDRCxLQUFLLE1BQU0sQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDO2dCQUNyQixJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO29CQUM1QixPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNsQixDQUFDO1lBQ0gsQ0FBQztZQUNELElBQUksR0FBRyxPQUFPLENBQUM7UUFDakIsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDZCxDQUFDO0lBQ0gsQ0FBQztJQUNELE1BQU0sS0FBSyxHQUFhLEVBQUUsQ0FBQztJQUMzQixLQUFLLE1BQU0sR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQ3ZCLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN6QixJQUFJLEtBQUssSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUVwQixDQUFDO2FBQU0sQ0FBQztZQUNOLE1BQU0sVUFBVSxHQUFHLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ2pDLElBQUksVUFBVSxJQUFJLElBQUksRUFBRSxDQUFDO2dCQUN2QixNQUFNLFNBQVMsR0FDYixVQUFVLENBQUMsVUFBVSxJQUFJLEtBQUssS0FBSyxVQUFVLENBQUMsWUFBWSxDQUFDO2dCQUM3RCxNQUFNLFdBQVcsR0FBRyxZQUFZLElBQUksU0FBUyxDQUFDO2dCQUM5QyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7b0JBQ2pCLE1BQU0sTUFBTSxHQUFHLGNBQWMsQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLENBQUM7b0JBQ2pELE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTt3QkFDbkIsS0FBSyxDQUFDLElBQUksQ0FDUixHQUFHLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxJQUFJLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQzlELENBQUM7b0JBQ0osQ0FBQyxDQUFDLENBQUM7Z0JBQ0wsQ0FBQztZQUNILENBQUM7aUJBQU0sSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQ2hDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtvQkFDbEIsS0FBSyxDQUFDLElBQUksQ0FDUixHQUFHLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxJQUFJLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQzlELENBQUM7Z0JBQ0osQ0FBQyxDQUFDLENBQUM7WUFDTCxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sS0FBSyxDQUFDLElBQUksQ0FDUixHQUFHLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxJQUFJLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQ2xFLENBQUM7WUFDSixDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFDRCxJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQztRQUFFLE9BQU8sRUFBRSxDQUFDO0lBQ2xDLE9BQU8sSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7QUFDL0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUXVlcnlTY2hlbWEsIFF1ZXJ5RGVzY3JpcHRvciB9IGZyb20gJy4uL3R5cGVzLmpzJztcblxuLyoqIFNlcmlhbGl6ZSBhIHNpbmdsZSB2YWx1ZSB3aXRoIGl0cyBkZXNjcmlwdG9yICovXG5mdW5jdGlvbiBzZXJpYWxpemVWYWx1ZShcbiAgZGVzY3JpcHRvcjogUXVlcnlEZXNjcmlwdG9yPGFueT4sXG4gIHZhbHVlOiB1bmtub3duLFxuKTogc3RyaW5nW10ge1xuICByZXR1cm4gZGVzY3JpcHRvci5zZXJpYWxpemUodmFsdWUgYXMgYW55KTtcbn1cblxuLyoqIFNlcmlhbGl6ZSBhIHF1ZXJ5IG9iamVjdCB1c2luZyBhbiBvcHRpb25hbCBzY2hlbWEgKi9cbmV4cG9ydCBmdW5jdGlvbiBidWlsZFNlYXJjaChcbiAgcXVlcnk6IFJlY29yZDxzdHJpbmcsIGFueT4gfCB1bmRlZmluZWQsXG4gIHNjaGVtYTogUXVlcnlTY2hlbWEgfCB1bmRlZmluZWQsXG4gIG9wdHM/OiB7IG9taXREZWZhdWx0cz86IGJvb2xlYW47IHNvcnRLZXlzPzogYm9vbGVhbiB9LFxuKTogc3RyaW5nIHtcbiAgaWYgKHF1ZXJ5ID09IG51bGwpIHJldHVybiAnJztcbiAgY29uc3QgeyBvbWl0RGVmYXVsdHMgPSBmYWxzZSwgc29ydEtleXMgPSB0cnVlIH0gPSBvcHRzID8/IHt9O1xuICBsZXQga2V5cyA9IE9iamVjdC5rZXlzKHF1ZXJ5KTtcbiAgaWYgKHNvcnRLZXlzKSB7XG4gICAgaWYgKHNjaGVtYSAhPSBudWxsKSB7XG4gICAgICAvLyBPcmRlciBrZXlzIGJhc2VkIG9uIHNjaGVtYSBkZWNsYXJhdGlvbiBvcmRlciwgdGhlbiBhcHBlbmQgYW55IGV4dHJhIGtleXNcbiAgICAgIGNvbnN0IHNjaGVtYUtleXMgPSBPYmplY3Qua2V5cyhzY2hlbWEpO1xuICAgICAgY29uc3Qgb3JkZXJlZDogc3RyaW5nW10gPSBbXTtcbiAgICAgIGZvciAoY29uc3Qgc2sgb2Ygc2NoZW1hS2V5cykge1xuICAgICAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHF1ZXJ5LCBzaykpIHtcbiAgICAgICAgICBvcmRlcmVkLnB1c2goc2spO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBmb3IgKGNvbnN0IGsgb2Yga2V5cykge1xuICAgICAgICBpZiAoIXNjaGVtYUtleXMuaW5jbHVkZXMoaykpIHtcbiAgICAgICAgICBvcmRlcmVkLnB1c2goayk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGtleXMgPSBvcmRlcmVkO1xuICAgIH0gZWxzZSB7XG4gICAgICBrZXlzLnNvcnQoKTtcbiAgICB9XG4gIH1cbiAgY29uc3QgcGFydHM6IHN0cmluZ1tdID0gW107XG4gIGZvciAoY29uc3Qga2V5IG9mIGtleXMpIHtcbiAgICBjb25zdCB2YWx1ZSA9IHF1ZXJ5W2tleV07XG4gICAgaWYgKHZhbHVlID09IG51bGwpIHtcbiAgICAgIC8vIHNraXAgbnVsbGlzaCB2YWx1ZXNcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgZGVzY3JpcHRvciA9IHNjaGVtYT8uW2tleV07XG4gICAgICBpZiAoZGVzY3JpcHRvciAhPSBudWxsKSB7XG4gICAgICAgIGNvbnN0IGlzRGVmYXVsdCA9XG4gICAgICAgICAgZGVzY3JpcHRvci5oYXNEZWZhdWx0ICYmIHZhbHVlID09PSBkZXNjcmlwdG9yLmRlZmF1bHRWYWx1ZTtcbiAgICAgICAgY29uc3Qgc2tpcERlZmF1bHQgPSBvbWl0RGVmYXVsdHMgJiYgaXNEZWZhdWx0O1xuICAgICAgICBpZiAoIXNraXBEZWZhdWx0KSB7XG4gICAgICAgICAgY29uc3QgdmFsdWVzID0gc2VyaWFsaXplVmFsdWUoZGVzY3JpcHRvciwgdmFsdWUpO1xuICAgICAgICAgIHZhbHVlcy5mb3JFYWNoKCh2KSA9PiB7XG4gICAgICAgICAgICBwYXJ0cy5wdXNoKFxuICAgICAgICAgICAgICBgJHtlbmNvZGVVUklDb21wb25lbnQoa2V5KX09JHtlbmNvZGVVUklDb21wb25lbnQoU3RyaW5nKHYpKX1gLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgICB2YWx1ZS5mb3JFYWNoKCh2KSA9PiB7XG4gICAgICAgICAgcGFydHMucHVzaChcbiAgICAgICAgICAgIGAke2VuY29kZVVSSUNvbXBvbmVudChrZXkpfT0ke2VuY29kZVVSSUNvbXBvbmVudChTdHJpbmcodikpfWAsXG4gICAgICAgICAgKTtcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBwYXJ0cy5wdXNoKFxuICAgICAgICAgIGAke2VuY29kZVVSSUNvbXBvbmVudChrZXkpfT0ke2VuY29kZVVSSUNvbXBvbmVudChTdHJpbmcodmFsdWUpKX1gLFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBpZiAocGFydHMubGVuZ3RoID09PSAwKSByZXR1cm4gJyc7XG4gIHJldHVybiBgPyR7cGFydHMuam9pbignJicpfWA7XG59XG4iXX0=
|
|
264
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGRTZWFyY2guanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdG9vbHMvYnVpbGRTZWFyY2gudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUNMLGlCQUFpQixFQUNqQixpQkFBaUIsR0FHbEIsTUFBTSx1QkFBdUIsQ0FBQztBQUcvQixTQUFTLGNBQWMsQ0FDckIsVUFBZ0MsRUFDaEMsS0FBYztJQUVkLE9BQU8sVUFBVSxDQUFDLFNBQVMsQ0FBQyxLQUFZLENBQUMsQ0FBQztBQUM1QyxDQUFDO0FBMEJELE1BQU0sVUFBVSxXQUFXLENBQ3pCLEtBQXNDLEVBQ3RDLE1BQStCLEVBQy9CLElBQXlCO0lBRXpCLE1BQU0sVUFBVSxHQUNkLElBQUksS0FBSyxTQUFTO1FBQ2xCLElBQUksQ0FBQyxPQUFPLEtBQUssU0FBUztRQUMxQixJQUFJLENBQUMsWUFBWSxLQUFLLFNBQVMsQ0FBQztJQUNsQyxJQUFJLEtBQUssSUFBSSxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNqQyxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFDRCxNQUFNLEVBQ0osWUFBWSxHQUFHLEtBQUssRUFDcEIsUUFBUSxHQUFHLElBQUksRUFDZixPQUFPLEVBQ1AsWUFBWSxFQUNaLGdCQUFnQixHQUFHLElBQUksRUFDdkIseUJBQXlCLEdBQUcsSUFBSSxHQUNqQyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7SUFDZixJQUFJLFlBQVksR0FBd0IsRUFBRSxDQUFDO0lBQzNDLElBQUksS0FBSyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQ2xCLFlBQVksR0FBRyxFQUFFLEdBQUcsS0FBSyxFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUNELElBQUksVUFBVSxJQUFJLFlBQVksS0FBSyxTQUFTLElBQUksT0FBTyxLQUFLLFNBQVMsRUFBRSxDQUFDO1FBQ3RFLElBQUksV0FBVyxHQUFHLEtBQUssQ0FBQztRQUN4QixJQUFJLFlBQVksS0FBSyxTQUFTLElBQUksWUFBWSxLQUFLLElBQUksRUFBRSxDQUFDO1lBQ3hELE1BQU0sS0FBSyxHQUFJLFlBQXFEO2lCQUNqRSxNQUFNLENBQUM7WUFDVixJQUFJLElBQUksR0FBYSxFQUFFLENBQUM7WUFDeEIsSUFBSSxLQUFLLEtBQUssU0FBUyxFQUFFLENBQUM7Z0JBQ3hCLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzVCLENBQUM7WUFDRCxJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQ3RCLFdBQVcsR0FBRyxJQUFJLENBQUM7WUFDckIsQ0FBQztRQUNILENBQUM7UUFDRCxJQUFJLGdCQUFnQixHQUFRLE9BQU8sQ0FBQztRQUNwQyxJQUFJLHlCQUF5QixFQUFFLENBQUM7WUFFOUIsTUFBTSxNQUFNLEdBQXdCLEVBQUUsQ0FBQztZQUN2QyxLQUFLLE1BQU0sQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FDdkMsT0FBOEIsQ0FDL0IsRUFBRSxDQUFDO2dCQUNGLElBQUksR0FBRyxJQUFJLElBQUksSUFBSSxPQUFPLEdBQUcsS0FBSyxRQUFRLEVBQUUsQ0FBQztvQkFDM0MsTUFBTSxPQUFPLEdBQXdCLEVBQUUsQ0FBQztvQkFDeEMsS0FBSyxNQUFNLENBQUMsRUFBRSxFQUFFLEtBQUssQ0FBQyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQzt3QkFDOUMsSUFBSSxLQUFLLElBQUksSUFBSSxFQUFFLENBQUM7d0JBRXBCLENBQUM7NkJBQU0sSUFBSSxFQUFFLEtBQUssU0FBUyxFQUFFLENBQUM7NEJBQzVCLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO2dDQUN6QixNQUFNLEtBQUssR0FBaUIsRUFBRSxDQUFDO2dDQUMvQixLQUFLLE1BQU0sQ0FBQyxJQUFJLEtBQUssRUFBRSxDQUFDO29DQUN0QixJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQzt3Q0FDdkMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFlLENBQUMsQ0FBQztvQ0FDOUIsQ0FBQztnQ0FDSCxDQUFDO2dDQUNELElBQUksS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDO29DQUFFLE9BQU8sQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFLLENBQUM7NEJBQzVDLENBQUM7d0JBQ0gsQ0FBQzs2QkFBTSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQzs0QkFDaEMsSUFBSSxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUM7Z0NBQUUsT0FBTyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQzt3QkFDcEQsQ0FBQzs2QkFBTSxJQUFJLE9BQU8sS0FBSyxLQUFLLFNBQVMsRUFBRSxDQUFDOzRCQUN0QyxPQUFPLENBQUMsRUFBRSxDQUFDLEdBQUcsS0FBSyxDQUFDO3dCQUN0QixDQUFDO29CQUNILENBQUM7b0JBQ0QsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQzt3QkFDcEMsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLE9BQU8sQ0FBQztvQkFDMUIsQ0FBQztnQkFDSCxDQUFDO1lBQ0gsQ0FBQztZQUNELGdCQUFnQixHQUFHLE1BQU0sQ0FBQztRQUM1QixDQUFDO1FBQ0QsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ2pCLFlBQVksR0FBRyxpQkFBaUIsQ0FDOUIsWUFBWSxFQUNaLFlBQVksRUFDWixnQkFBa0MsQ0FDbkMsQ0FBQztRQUNKLENBQUM7YUFBTSxDQUFDO1lBRU4sTUFBTSxJQUFJLEdBQXdCLEVBQUUsQ0FBQztZQUNyQyxLQUFLLE1BQU0sQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FDdkMsZ0JBQXVDLENBQ3hDLEVBQUUsQ0FBQztnQkFDRixJQUFJLEdBQUcsS0FBSyxTQUFTLElBQUksR0FBRyxLQUFLLElBQUksSUFBSSxPQUFPLEdBQUcsS0FBSyxRQUFRLEVBQUUsQ0FBQztvQkFDakUsS0FBSyxNQUFNLENBQUMsRUFBRSxFQUFFLEtBQUssQ0FBQyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQ3RDLEdBQThCLENBQy9CLEVBQUUsQ0FBQzt3QkFDRixJQUFJLEtBQUssS0FBSyxTQUFTLElBQUksS0FBSyxLQUFLLElBQUksRUFBRSxDQUFDO3dCQUU1QyxDQUFDOzZCQUFNLENBQUM7NEJBQ04sTUFBTSxHQUFHLEdBQUcsR0FBRyxLQUFLLElBQUksRUFBRSxFQUFFLENBQUM7NEJBQzdCLElBQUksRUFBRSxLQUFLLFFBQVEsSUFBSSxPQUFPLEtBQUssS0FBSyxTQUFTLEVBQUUsQ0FBQztnQ0FDbEQsSUFBSSxLQUFLLEVBQUUsQ0FBQztvQ0FDVixJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsTUFBTSxDQUFDO2dDQUNyQixDQUFDO3FDQUFNLENBQUM7b0NBQ04sSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLE9BQU8sQ0FBQztnQ0FDdEIsQ0FBQzs0QkFDSCxDQUFDO2lDQUFNLElBQUksRUFBRSxLQUFLLFNBQVMsRUFBRSxDQUFDO2dDQUM1QixNQUFNLE1BQU0sR0FBRyxLQUFrQixDQUFDO2dDQUNsQyxLQUFLLE1BQU0sQ0FBQyxJQUFJLE1BQU0sRUFBRSxDQUFDO29DQUN2QixJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQzt3Q0FDdkMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO3dDQUNmLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQzt3Q0FDZixNQUFNLElBQUksR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQzt3Q0FDcEMsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO3dDQUMzQixJQUFJLFFBQVEsS0FBSyxTQUFTLEVBQUUsQ0FBQzs0Q0FDM0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQzt3Q0FDbkIsQ0FBQzs2Q0FBTSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQzs0Q0FDbkMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxRQUFRLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQzt3Q0FDckMsQ0FBQzs2Q0FBTSxDQUFDOzRDQUNOLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDO3dDQUNsQyxDQUFDO29DQUNILENBQUM7Z0NBQ0gsQ0FBQzs0QkFDSCxDQUFDO2lDQUFNLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO2dDQUNoQyxLQUFLLE1BQU0sQ0FBQyxJQUFJLEtBQUssRUFBRSxDQUFDO29DQUN0QixNQUFNLEVBQUUsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7b0NBQ3JCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztvQ0FDM0IsSUFBSSxRQUFRLEtBQUssU0FBUyxFQUFFLENBQUM7d0NBQzNCLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUM7b0NBQ2pCLENBQUM7eUNBQU0sSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7d0NBQ25DLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7b0NBQ3BCLENBQUM7eUNBQU0sQ0FBQzt3Q0FDTixJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUM7b0NBQzdCLENBQUM7Z0NBQ0gsQ0FBQzs0QkFDSCxDQUFDO3dCQUNILENBQUM7b0JBQ0gsQ0FBQztnQkFDSCxDQUFDO1lBQ0gsQ0FBQztZQUNELFlBQVksR0FBRyxFQUFFLEdBQUcsWUFBWSxFQUFFLEdBQUcsSUFBSSxFQUFFLENBQUM7UUFDOUMsQ0FBQztRQUNELElBQUksZ0JBQWdCLEVBQUUsQ0FBQztZQUNyQixNQUFNLElBQUksR0FBd0IsRUFBRSxDQUFDO1lBQ3JDLEtBQUssTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUM7Z0JBQ2xELElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUV6QyxDQUFDO3FCQUFNLENBQUM7b0JBQ04sSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDZCxDQUFDO1lBQ0gsQ0FBQztZQUNELFlBQVksR0FBRyxJQUFJLENBQUM7UUFDdEIsQ0FBQztJQUNILENBQUM7SUFDRCxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQzNDLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUNELElBQUksSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDckMsSUFBSSxRQUFRLEVBQUUsQ0FBQztRQUNiLElBQUksTUFBTSxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ25CLE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDdkMsTUFBTSxhQUFhLEdBQWEsRUFBRSxDQUFDO1lBQ25DLEtBQUssTUFBTSxFQUFFLElBQUksVUFBVSxFQUFFLENBQUM7Z0JBQzVCLElBQUksTUFBTSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDO29CQUMzRCxhQUFhLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUN6QixDQUFDO1lBQ0gsQ0FBQztZQUNELE1BQU0sVUFBVSxHQUFhLEVBQUUsQ0FBQztZQUNoQyxNQUFNLFNBQVMsR0FBYSxFQUFFLENBQUM7WUFDL0IsSUFBSSxZQUFZLElBQUksSUFBSSxFQUFFLENBQUM7Z0JBQ3pCLE1BQU0sUUFBUSxHQUNaLFlBR0QsQ0FBQyxNQUFNLENBQUM7Z0JBQ1QsTUFBTSxRQUFRLEdBQUcsSUFBSSxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO2dCQUNoRCxLQUFLLE1BQU0sQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDO29CQUNyQixJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO3dCQUM1QixNQUFNLEdBQUcsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO3dCQUMzQixJQUFJLEdBQUcsR0FBRyxDQUFDLEVBQUUsQ0FBQzs0QkFDWixNQUFNLEtBQUssR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQzs0QkFDOUIsSUFBSSxRQUFRLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0NBQ3hCLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7NEJBQ3JCLENBQUM7aUNBQU0sQ0FBQztnQ0FDTixTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDOzRCQUNwQixDQUFDO3dCQUNILENBQUM7NkJBQU0sQ0FBQzs0QkFDTixTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO3dCQUNwQixDQUFDO29CQUNILENBQUM7Z0JBQ0gsQ0FBQztZQUNILENBQUM7aUJBQU0sQ0FBQztnQkFDTixLQUFLLE1BQU0sQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDO29CQUNyQixJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7d0JBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDakQsQ0FBQztZQUNILENBQUM7WUFHRCxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7WUFFakIsTUFBTSxPQUFPLEdBQTZCLEVBQUUsQ0FBQztZQUM3QyxLQUFLLE1BQU0sRUFBRSxJQUFJLFVBQVUsRUFBRSxDQUFDO2dCQUM1QixNQUFNLEdBQUcsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUM1QixJQUFJLEtBQUssR0FBRyxFQUFFLENBQUM7Z0JBQ2YsSUFBSSxHQUFHLEdBQUcsQ0FBQyxFQUFFLENBQUM7b0JBQ1osS0FBSyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO2dCQUMzQixDQUFDO2dCQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ3RCLENBQUM7b0JBQ0MsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO29CQUNoQyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQzt3QkFDNUIsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztvQkFDcEIsQ0FBQztnQkFDSCxDQUFDO1lBQ0gsQ0FBQztZQUNELE1BQU0sYUFBYSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDbEQsTUFBTSxpQkFBaUIsR0FBYSxFQUFFLENBQUM7WUFDdkMsS0FBSyxNQUFNLEtBQUssSUFBSSxhQUFhLEVBQUUsQ0FBQztnQkFDbEMsTUFBTSxHQUFHLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUMzQixJQUFJLEdBQUcsS0FBSyxTQUFTLEVBQUUsQ0FBQztvQkFDdEIsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTt3QkFDaEIsTUFBTSxHQUFHLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO3dCQUN4QyxNQUFNLEdBQUcsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7d0JBQ3hDLE1BQU0sRUFBRSxHQUFHLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxHQUFVLENBQUMsQ0FBQzt3QkFDakQsTUFBTSxFQUFFLEdBQUcsaUJBQWlCLENBQUMsT0FBTyxDQUFDLEdBQVUsQ0FBQyxDQUFDO3dCQUNqRCxJQUFJLEVBQUUsR0FBRyxFQUFFLENBQUM7d0JBQ1osSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDOzRCQUFFLEVBQUUsR0FBRyxHQUFHLENBQUM7d0JBQ3hCLElBQUksRUFBRSxHQUFHLEVBQUUsQ0FBQzt3QkFDWixJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7NEJBQUUsRUFBRSxHQUFHLEdBQUcsQ0FBQzt3QkFDeEIsSUFBSSxFQUFFLEdBQUcsRUFBRTs0QkFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO3dCQUN2QixJQUFJLEVBQUUsR0FBRyxFQUFFOzRCQUFFLE9BQU8sQ0FBQyxDQUFDO3dCQUN0QixJQUFJLEdBQUcsR0FBRyxHQUFHOzRCQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUM7d0JBQ3pCLElBQUksR0FBRyxHQUFHLEdBQUc7NEJBQUUsT0FBTyxDQUFDLENBQUM7d0JBQ3hCLE9BQU8sQ0FBQyxDQUFDO29CQUNYLENBQUMsQ0FBQyxDQUFDO29CQUNILEtBQUssTUFBTSxFQUFFLElBQUksR0FBRzt3QkFBRSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBQ25ELENBQUM7WUFDSCxDQUFDO1lBQ0QsSUFBSSxHQUFHLENBQUMsR0FBRyxhQUFhLEVBQUUsR0FBRyxTQUFTLEVBQUUsR0FBRyxpQkFBaUIsQ0FBQyxDQUFDO1FBQ2hFLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2QsQ0FBQztJQUNILENBQUM7SUFDRCxNQUFNLEtBQUssR0FBYSxFQUFFLENBQUM7SUFDM0IsS0FBSyxNQUFNLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUN2QixNQUFNLEtBQUssR0FBRyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDaEMsSUFBSSxLQUFLLElBQUksSUFBSSxFQUFFLENBQUM7UUFFcEIsQ0FBQzthQUFNLENBQUM7WUFDTixNQUFNLFVBQVUsR0FBRyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNqQyxJQUFJLFVBQVUsSUFBSSxJQUFJLEVBQUUsQ0FBQztnQkFDdkIsTUFBTSxTQUFTLEdBQ2IsVUFBVSxDQUFDLFVBQVUsSUFBSSxLQUFLLEtBQUssVUFBVSxDQUFDLFlBQVksQ0FBQztnQkFDN0QsTUFBTSxXQUFXLEdBQUcsWUFBWSxJQUFJLFNBQVMsQ0FBQztnQkFDOUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO29CQUNqQixNQUFNLE1BQU0sR0FBRyxjQUFjLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxDQUFDO29CQUNqRCxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7d0JBQ25CLEtBQUssQ0FBQyxJQUFJLENBQ1IsR0FBRyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsSUFBSSxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUM5RCxDQUFDO29CQUNKLENBQUMsQ0FBQyxDQUFDO2dCQUNMLENBQUM7WUFDSCxDQUFDO2lCQUFNLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUNoQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7b0JBQ2xCLEtBQUssQ0FBQyxJQUFJLENBQ1IsR0FBRyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsSUFBSSxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUM5RCxDQUFDO2dCQUNKLENBQUMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLEtBQUssQ0FBQyxJQUFJLENBQ1IsR0FBRyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsSUFBSSxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUNsRSxDQUFDO1lBQ0osQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBQ0QsSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUM7UUFBRSxPQUFPLEVBQUUsQ0FBQztJQUNsQyxPQUFPLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO0FBQy9CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFF1ZXJ5U2NoZW1hLCBRdWVyeURlc2NyaXB0b3IgfSBmcm9tICcuLi90eXBlcy5qcyc7XG5pbXBvcnQge1xuICBidWlsZEZpbHRlcnNRdWVyeSxcbiAgT1BFUkFUT1JfUFJJT1JJVFksXG4gIHR5cGUgRGVmaW5lZEZpbHRlclNjaGVtYSxcbiAgdHlwZSBJbmZlckZpbHRlcnMsXG59IGZyb20gJy4uL3JvdXRpbmcvZmlsdGVycy5qcyc7XG5cbi8qKiBTZXJpYWxpemUgYSBzaW5nbGUgdmFsdWUgd2l0aCBpdHMgZGVzY3JpcHRvciAqL1xuZnVuY3Rpb24gc2VyaWFsaXplVmFsdWUoXG4gIGRlc2NyaXB0b3I6IFF1ZXJ5RGVzY3JpcHRvcjxhbnk+LFxuICB2YWx1ZTogdW5rbm93bixcbik6IHN0cmluZ1tdIHtcbiAgcmV0dXJuIGRlc2NyaXB0b3Iuc2VyaWFsaXplKHZhbHVlIGFzIGFueSk7XG59XG5cbi8qKiBTZXJpYWxpemUgYSBxdWVyeSBvYmplY3QgdXNpbmcgYW4gb3B0aW9uYWwgc2NoZW1hICovXG5leHBvcnQgaW50ZXJmYWNlIEJ1aWxkU2VhcmNoT3B0aW9uczxcbiAgRiBleHRlbmRzIERlZmluZWRGaWx0ZXJTY2hlbWE8YW55PiB8IHVuZGVmaW5lZCA9IGFueSxcbj4ge1xuICBvbWl0RGVmYXVsdHM/OiBib29sZWFuO1xuICBzb3J0S2V5cz86IGJvb2xlYW47XG4gIC8qKiBTdHJ1Y3R1cmVkIGZpbHRlcnMgb2JqZWN0IChhbHJlYWR5IHBhcnNlZCkgdG8gbWVyZ2UgKi9cbiAgZmlsdGVycz86IEYgZXh0ZW5kcyBEZWZpbmVkRmlsdGVyU2NoZW1hPGFueT5cbiAgICA/IEluZmVyRmlsdGVyczxGWydzY2hlbWEnXT5cbiAgICA6IGFueTtcbiAgLyoqIEZpbHRlciBzY2hlbWEgd3JhcHBlciAocmVxdWlyZWQgaWYgZmlsdGVycyBwcm92aWRlZCkgKi9cbiAgZmlsdGVyU2NoZW1hPzogRjtcbiAgLyoqIFdoZW4gdHJ1ZSwgb21pdCBlbXB0eSBmaWx0ZXIgb3BlcmF0b3Igc2V0cyBlbnRpcmVseSAqL1xuICBvbWl0RW1wdHlGaWx0ZXJzPzogYm9vbGVhbjtcbiAgLyoqIFBydW5lIGVtcHR5IG9wZXJhdG9yIGFycmF5cyAvIGludmFsaWQgdHVwbGVzIHJlY3Vyc2l2ZWx5IGJlZm9yZSBzZXJpYWxpemF0aW9uIChkZWZhdWx0cyB0cnVlKSAqL1xuICBwcnVuZUVtcHR5RmlsdGVyT3BlcmF0b3JzPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBCdWlsZCBhIHNlYXJjaCBzdHJpbmcgZnJvbSAodHlwZWQpIHF1ZXJ5ICsgb3B0aW9uYWwgc3RydWN0dXJlZCBmaWx0ZXJzLlxuICogLSBBcHBsaWVzIG9taXREZWZhdWx0cyBmb3Igc2NoZW1hLWJhY2tlZCBxdWVyeSBrZXlzLlxuICogLSBTZXJpYWxpemVzIGZpbHRlcnMgdmlhIGJ1aWxkRmlsdGVyc1F1ZXJ5IHRoZW4gbWVyZ2VzLlxuICogLSBEZXRlcm1pbmlzdGljIGtleSBvcmRlcmluZyAoc2NoZW1hIG9yZGVyIHRoZW4gZXh0cmFzKSB3aGVuIHNvcnRLZXlzIGVuYWJsZWQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBidWlsZFNlYXJjaChcbiAgcXVlcnk6IFJlY29yZDxzdHJpbmcsIGFueT4gfCB1bmRlZmluZWQsXG4gIHNjaGVtYTogUXVlcnlTY2hlbWEgfCB1bmRlZmluZWQsXG4gIG9wdHM/OiBCdWlsZFNlYXJjaE9wdGlvbnMsXG4pOiBzdHJpbmcge1xuICBjb25zdCBoYXNGaWx0ZXJzID1cbiAgICBvcHRzICE9PSB1bmRlZmluZWQgJiZcbiAgICBvcHRzLmZpbHRlcnMgIT09IHVuZGVmaW5lZCAmJlxuICAgIG9wdHMuZmlsdGVyU2NoZW1hICE9PSB1bmRlZmluZWQ7XG4gIGlmIChxdWVyeSA9PSBudWxsICYmICFoYXNGaWx0ZXJzKSB7XG4gICAgcmV0dXJuICcnO1xuICB9XG4gIGNvbnN0IHtcbiAgICBvbWl0RGVmYXVsdHMgPSBmYWxzZSxcbiAgICBzb3J0S2V5cyA9IHRydWUsXG4gICAgZmlsdGVycyxcbiAgICBmaWx0ZXJTY2hlbWEsXG4gICAgb21pdEVtcHR5RmlsdGVycyA9IHRydWUsXG4gICAgcHJ1bmVFbXB0eUZpbHRlck9wZXJhdG9ycyA9IHRydWUsXG4gIH0gPSBvcHRzID8/IHt9O1xuICBsZXQgd29ya2luZ1F1ZXJ5OiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0ge307XG4gIGlmIChxdWVyeSAhPSBudWxsKSB7XG4gICAgd29ya2luZ1F1ZXJ5ID0geyAuLi5xdWVyeSB9O1xuICB9XG4gIGlmIChoYXNGaWx0ZXJzICYmIGZpbHRlclNjaGVtYSAhPT0gdW5kZWZpbmVkICYmIGZpbHRlcnMgIT09IHVuZGVmaW5lZCkge1xuICAgIGxldCBlbXB0eVNjaGVtYSA9IGZhbHNlO1xuICAgIGlmIChmaWx0ZXJTY2hlbWEgIT09IHVuZGVmaW5lZCAmJiBmaWx0ZXJTY2hlbWEgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IGlubmVyID0gKGZpbHRlclNjaGVtYSBhcyB7IHNjaGVtYT86IFJlY29yZDxzdHJpbmcsIHVua25vd24+IH0pXG4gICAgICAgIC5zY2hlbWE7XG4gICAgICBsZXQga2V5czogc3RyaW5nW10gPSBbXTtcbiAgICAgIGlmIChpbm5lciAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGtleXMgPSBPYmplY3Qua2V5cyhpbm5lcik7XG4gICAgICB9XG4gICAgICBpZiAoa2V5cy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgZW1wdHlTY2hlbWEgPSB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgICBsZXQgZWZmZWN0aXZlRmlsdGVyczogYW55ID0gZmlsdGVycztcbiAgICBpZiAocHJ1bmVFbXB0eUZpbHRlck9wZXJhdG9ycykge1xuICAgICAgLy8gRGVlcCBjbG9uZSAmIHBydW5lIGVtcHR5IGFycmF5cyAvIGJldHdlZW4gdHVwbGVzIGxlbmd0aCE9MiAvIGV4aXN0cyB1bmRlZmluZWRcbiAgICAgIGNvbnN0IHBydW5lZDogUmVjb3JkPHN0cmluZywgYW55PiA9IHt9O1xuICAgICAgZm9yIChjb25zdCBbZmllbGQsIG9wc10gb2YgT2JqZWN0LmVudHJpZXMoXG4gICAgICAgIGZpbHRlcnMgYXMgUmVjb3JkPHN0cmluZywgYW55PixcbiAgICAgICkpIHtcbiAgICAgICAgaWYgKG9wcyAhPSBudWxsICYmIHR5cGVvZiBvcHMgPT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgY29uc3QgbmV4dE9wczogUmVjb3JkPHN0cmluZywgYW55PiA9IHt9O1xuICAgICAgICAgIGZvciAoY29uc3QgW29wLCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMob3BzKSkge1xuICAgICAgICAgICAgaWYgKHZhbHVlID09IG51bGwpIHtcbiAgICAgICAgICAgICAgLy8gc2tpcCBudWxsaXNoXG4gICAgICAgICAgICB9IGVsc2UgaWYgKG9wID09PSAnYmV0d2VlbicpIHtcbiAgICAgICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgY2xlYW46IFthbnksIGFueV1bXSA9IFtdO1xuICAgICAgICAgICAgICAgIGZvciAoY29uc3QgdCBvZiB2YWx1ZSkge1xuICAgICAgICAgICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodCkgJiYgdC5sZW5ndGggPT09IDIpIHtcbiAgICAgICAgICAgICAgICAgICAgY2xlYW4ucHVzaCh0IGFzIFthbnksIGFueV0pO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoY2xlYW4ubGVuZ3RoID4gMCkgbmV4dE9wc1tvcF0gPSBjbGVhbjtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgICAgICAgICBpZiAodmFsdWUubGVuZ3RoID4gMCkgbmV4dE9wc1tvcF0gPSB2YWx1ZS5zbGljZSgpO1xuICAgICAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgdmFsdWUgPT09ICdib29sZWFuJykge1xuICAgICAgICAgICAgICBuZXh0T3BzW29wXSA9IHZhbHVlOyAvLyBleGlzdHNcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKE9iamVjdC5rZXlzKG5leHRPcHMpLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHBydW5lZFtmaWVsZF0gPSBuZXh0T3BzO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgZWZmZWN0aXZlRmlsdGVycyA9IHBydW5lZDtcbiAgICB9XG4gICAgaWYgKCFlbXB0eVNjaGVtYSkge1xuICAgICAgd29ya2luZ1F1ZXJ5ID0gYnVpbGRGaWx0ZXJzUXVlcnkoXG4gICAgICAgIGZpbHRlclNjaGVtYSxcbiAgICAgICAgd29ya2luZ1F1ZXJ5LFxuICAgICAgICBlZmZlY3RpdmVGaWx0ZXJzIGFzIHVua25vd24gYXMgYW55LFxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gRmFsbGJhY2s6IGRpcmVjdCBmbGF0dGVuIGZpZWxkLm9wIGZvciBwcm92aWRlZCBvcGVyYXRvcnNcbiAgICAgIGNvbnN0IGZsYXQ6IFJlY29yZDxzdHJpbmcsIGFueT4gPSB7fTtcbiAgICAgIGZvciAoY29uc3QgW2ZpZWxkLCBvcHNdIG9mIE9iamVjdC5lbnRyaWVzKFxuICAgICAgICBlZmZlY3RpdmVGaWx0ZXJzIGFzIFJlY29yZDxzdHJpbmcsIGFueT4sXG4gICAgICApKSB7XG4gICAgICAgIGlmIChvcHMgIT09IHVuZGVmaW5lZCAmJiBvcHMgIT09IG51bGwgJiYgdHlwZW9mIG9wcyA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgICBmb3IgKGNvbnN0IFtvcCwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKFxuICAgICAgICAgICAgb3BzIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuICAgICAgICAgICkpIHtcbiAgICAgICAgICAgIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkIHx8IHZhbHVlID09PSBudWxsKSB7XG4gICAgICAgICAgICAgIC8vIHNraXAgbnVsbGlzaFxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgY29uc3Qga2V5ID0gYCR7ZmllbGR9LiR7b3B9YDtcbiAgICAgICAgICAgICAgaWYgKG9wID09PSAnZXhpc3RzJyAmJiB0eXBlb2YgdmFsdWUgPT09ICdib29sZWFuJykge1xuICAgICAgICAgICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgICAgICAgICAgZmxhdFtrZXldID0gJ3RydWUnO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICBmbGF0W2tleV0gPSAnZmFsc2UnO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfSBlbHNlIGlmIChvcCA9PT0gJ2JldHdlZW4nKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgcmFuZ2VzID0gdmFsdWUgYXMgdW5rbm93bltdO1xuICAgICAgICAgICAgICAgIGZvciAoY29uc3QgciBvZiByYW5nZXMpIHtcbiAgICAgICAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KHIpICYmIHIubGVuZ3RoID09PSAyKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGEgPSByWzBdO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBiID0gclsxXTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcGFpciA9IFtTdHJpbmcoYSksIFN0cmluZyhiKV07XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGV4aXN0aW5nID0gZmxhdFtrZXldO1xuICAgICAgICAgICAgICAgICAgICBpZiAoZXhpc3RpbmcgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICAgIGZsYXRba2V5XSA9IHBhaXI7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheShleGlzdGluZykpIHtcbiAgICAgICAgICAgICAgICAgICAgICBmbGF0W2tleV0gPSBbLi4uZXhpc3RpbmcsIC4uLnBhaXJdO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgIGZsYXRba2V5XSA9IFtleGlzdGluZywgLi4ucGFpcl07XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IHYgb2YgdmFsdWUpIHtcbiAgICAgICAgICAgICAgICAgIGNvbnN0IHN2ID0gU3RyaW5nKHYpO1xuICAgICAgICAgICAgICAgICAgY29uc3QgZXhpc3RpbmcgPSBmbGF0W2tleV07XG4gICAgICAgICAgICAgICAgICBpZiAoZXhpc3RpbmcgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICBmbGF0W2tleV0gPSBzdjtcbiAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheShleGlzdGluZykpIHtcbiAgICAgICAgICAgICAgICAgICAgZXhpc3RpbmcucHVzaChzdik7XG4gICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBmbGF0W2tleV0gPSBbZXhpc3RpbmcsIHN2XTtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHdvcmtpbmdRdWVyeSA9IHsgLi4ud29ya2luZ1F1ZXJ5LCAuLi5mbGF0IH07XG4gICAgfVxuICAgIGlmIChvbWl0RW1wdHlGaWx0ZXJzKSB7XG4gICAgICBjb25zdCBuZXh0OiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0ge307XG4gICAgICBmb3IgKGNvbnN0IFtrLCB2XSBvZiBPYmplY3QuZW50cmllcyh3b3JraW5nUXVlcnkpKSB7XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KHYpICYmIHYubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgLy8gc2tpcCBlbXB0eSBhcnJheSBmaWx0ZXIga2V5XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgbmV4dFtrXSA9IHY7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHdvcmtpbmdRdWVyeSA9IG5leHQ7XG4gICAgfVxuICB9XG4gIGlmIChPYmplY3Qua2V5cyh3b3JraW5nUXVlcnkpLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiAnJztcbiAgfVxuICBsZXQga2V5cyA9IE9iamVjdC5rZXlzKHdvcmtpbmdRdWVyeSk7XG4gIGlmIChzb3J0S2V5cykge1xuICAgIGlmIChzY2hlbWEgIT0gbnVsbCkge1xuICAgICAgY29uc3Qgc2NoZW1hS2V5cyA9IE9iamVjdC5rZXlzKHNjaGVtYSk7XG4gICAgICBjb25zdCBzY2hlbWFPcmRlcmVkOiBzdHJpbmdbXSA9IFtdO1xuICAgICAgZm9yIChjb25zdCBzayBvZiBzY2hlbWFLZXlzKSB7XG4gICAgICAgIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwod29ya2luZ1F1ZXJ5LCBzaykpIHtcbiAgICAgICAgICBzY2hlbWFPcmRlcmVkLnB1c2goc2spO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBjb25zdCBmaWx0ZXJLZXlzOiBzdHJpbmdbXSA9IFtdO1xuICAgICAgY29uc3Qgb3RoZXJLZXlzOiBzdHJpbmdbXSA9IFtdO1xuICAgICAgaWYgKGZpbHRlclNjaGVtYSAhPSBudWxsKSB7XG4gICAgICAgIGNvbnN0IGZzU2NoZW1hOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IChcbiAgICAgICAgICBmaWx0ZXJTY2hlbWEgYXMge1xuICAgICAgICAgICAgc2NoZW1hOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgICAgICAgICB9XG4gICAgICAgICkuc2NoZW1hO1xuICAgICAgICBjb25zdCBmaWVsZFNldCA9IG5ldyBTZXQoT2JqZWN0LmtleXMoZnNTY2hlbWEpKTtcbiAgICAgICAgZm9yIChjb25zdCBrIG9mIGtleXMpIHtcbiAgICAgICAgICBpZiAoIXNjaGVtYUtleXMuaW5jbHVkZXMoaykpIHtcbiAgICAgICAgICAgIGNvbnN0IGRvdCA9IGsuaW5kZXhPZignLicpO1xuICAgICAgICAgICAgaWYgKGRvdCA+IDApIHtcbiAgICAgICAgICAgICAgY29uc3QgZmllbGQgPSBrLnNsaWNlKDAsIGRvdCk7XG4gICAgICAgICAgICAgIGlmIChmaWVsZFNldC5oYXMoZmllbGQpKSB7XG4gICAgICAgICAgICAgICAgZmlsdGVyS2V5cy5wdXNoKGspO1xuICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIG90aGVyS2V5cy5wdXNoKGspO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBvdGhlcktleXMucHVzaChrKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGZvciAoY29uc3QgayBvZiBrZXlzKSB7XG4gICAgICAgICAgaWYgKCFzY2hlbWFLZXlzLmluY2x1ZGVzKGspKSBvdGhlcktleXMucHVzaChrKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLy8gRGVkdXBsaWNhdGUgYWxyZWFkeSBhY2NvdW50ZWQgc2NoZW1hIGtleXMgZnJvbSBvdGhlcnNcbiAgICAgIC8vIE9yZGVyIG5vbi1maWx0ZXIgZXh0cmFzIGFscGhhYmV0aWNhbGx5XG4gICAgICBvdGhlcktleXMuc29ydCgpO1xuICAgICAgLy8gT25seSBpbXBsZW1lbnRlZCBvcmRlcmluZzogYWZ0ZXItcXVlcnlcbiAgICAgIGNvbnN0IGdyb3VwZWQ6IFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPiA9IHt9O1xuICAgICAgZm9yIChjb25zdCBmayBvZiBmaWx0ZXJLZXlzKSB7XG4gICAgICAgIGNvbnN0IGRvdCA9IGZrLmluZGV4T2YoJy4nKTtcbiAgICAgICAgbGV0IGZpZWxkID0gZms7XG4gICAgICAgIGlmIChkb3QgPiAwKSB7XG4gICAgICAgICAgZmllbGQgPSBmay5zbGljZSgwLCBkb3QpO1xuICAgICAgICB9XG4gICAgICAgIGdyb3VwZWRbZmllbGRdID8/PSBbXTtcbiAgICAgICAge1xuICAgICAgICAgIGNvbnN0IGV4aXN0aW5nID0gZ3JvdXBlZFtmaWVsZF07XG4gICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoZXhpc3RpbmcpKSB7XG4gICAgICAgICAgICBleGlzdGluZy5wdXNoKGZrKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGNvbnN0IG9yZGVyZWRGaWVsZHMgPSBPYmplY3Qua2V5cyhncm91cGVkKS5zb3J0KCk7XG4gICAgICBjb25zdCBvcmRlcmVkRmlsdGVyS2V5czogc3RyaW5nW10gPSBbXTtcbiAgICAgIGZvciAoY29uc3QgZmllbGQgb2Ygb3JkZXJlZEZpZWxkcykge1xuICAgICAgICBjb25zdCBvcHMgPSBncm91cGVkW2ZpZWxkXTtcbiAgICAgICAgaWYgKG9wcyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgb3BzLnNvcnQoKGEsIGIpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG9wQSA9IGEuc2xpY2UoYS5pbmRleE9mKCcuJykgKyAxKTtcbiAgICAgICAgICAgIGNvbnN0IG9wQiA9IGIuc2xpY2UoYi5pbmRleE9mKCcuJykgKyAxKTtcbiAgICAgICAgICAgIGNvbnN0IGlhID0gT1BFUkFUT1JfUFJJT1JJVFkuaW5kZXhPZihvcEEgYXMgYW55KTtcbiAgICAgICAgICAgIGNvbnN0IGliID0gT1BFUkFUT1JfUFJJT1JJVFkuaW5kZXhPZihvcEIgYXMgYW55KTtcbiAgICAgICAgICAgIGxldCBzYSA9IGlhO1xuICAgICAgICAgICAgaWYgKHNhID09PSAtMSkgc2EgPSA5OTk7XG4gICAgICAgICAgICBsZXQgc2IgPSBpYjtcbiAgICAgICAgICAgIGlmIChzYiA9PT0gLTEpIHNiID0gOTk5O1xuICAgICAgICAgICAgaWYgKHNhIDwgc2IpIHJldHVybiAtMTtcbiAgICAgICAgICAgIGlmIChzYSA+IHNiKSByZXR1cm4gMTtcbiAgICAgICAgICAgIGlmIChvcEEgPCBvcEIpIHJldHVybiAtMTtcbiAgICAgICAgICAgIGlmIChvcEEgPiBvcEIpIHJldHVybiAxO1xuICAgICAgICAgICAgcmV0dXJuIDA7XG4gICAgICAgICAgfSk7XG4gICAgICAgICAgZm9yIChjb25zdCBvayBvZiBvcHMpIG9yZGVyZWRGaWx0ZXJLZXlzLnB1c2gob2spO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBrZXlzID0gWy4uLnNjaGVtYU9yZGVyZWQsIC4uLm90aGVyS2V5cywgLi4ub3JkZXJlZEZpbHRlcktleXNdO1xuICAgIH0gZWxzZSB7XG4gICAgICBrZXlzLnNvcnQoKTtcbiAgICB9XG4gIH1cbiAgY29uc3QgcGFydHM6IHN0cmluZ1tdID0gW107XG4gIGZvciAoY29uc3Qga2V5IG9mIGtleXMpIHtcbiAgICBjb25zdCB2YWx1ZSA9IHdvcmtpbmdRdWVyeVtrZXldO1xuICAgIGlmICh2YWx1ZSA9PSBudWxsKSB7XG4gICAgICAvLyBza2lwIG51bGxpc2ggdmFsdWVzXG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IGRlc2NyaXB0b3IgPSBzY2hlbWE/LltrZXldO1xuICAgICAgaWYgKGRlc2NyaXB0b3IgIT0gbnVsbCkge1xuICAgICAgICBjb25zdCBpc0RlZmF1bHQgPVxuICAgICAgICAgIGRlc2NyaXB0b3IuaGFzRGVmYXVsdCAmJiB2YWx1ZSA9PT0gZGVzY3JpcHRvci5kZWZhdWx0VmFsdWU7XG4gICAgICAgIGNvbnN0IHNraXBEZWZhdWx0ID0gb21pdERlZmF1bHRzICYmIGlzRGVmYXVsdDtcbiAgICAgICAgaWYgKCFza2lwRGVmYXVsdCkge1xuICAgICAgICAgIGNvbnN0IHZhbHVlcyA9IHNlcmlhbGl6ZVZhbHVlKGRlc2NyaXB0b3IsIHZhbHVlKTtcbiAgICAgICAgICB2YWx1ZXMuZm9yRWFjaCgodikgPT4ge1xuICAgICAgICAgICAgcGFydHMucHVzaChcbiAgICAgICAgICAgICAgYCR7ZW5jb2RlVVJJQ29tcG9uZW50KGtleSl9PSR7ZW5jb2RlVVJJQ29tcG9uZW50KFN0cmluZyh2KSl9YCxcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgICAgdmFsdWUuZm9yRWFjaCgodikgPT4ge1xuICAgICAgICAgIHBhcnRzLnB1c2goXG4gICAgICAgICAgICBgJHtlbmNvZGVVUklDb21wb25lbnQoa2V5KX09JHtlbmNvZGVVUklDb21wb25lbnQoU3RyaW5nKHYpKX1gLFxuICAgICAgICAgICk7XG4gICAgICAgIH0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcGFydHMucHVzaChcbiAgICAgICAgICBgJHtlbmNvZGVVUklDb21wb25lbnQoa2V5KX09JHtlbmNvZGVVUklDb21wb25lbnQoU3RyaW5nKHZhbHVlKSl9YCxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgaWYgKHBhcnRzLmxlbmd0aCA9PT0gMCkgcmV0dXJuICcnO1xuICByZXR1cm4gYD8ke3BhcnRzLmpvaW4oJyYnKX1gO1xufVxuIl19
|
package/lib/esm/types.d.ts
CHANGED
|
@@ -84,6 +84,10 @@ export type Route<TPrepared extends PrepareResult, TVariables extends ParamData
|
|
|
84
84
|
prepare?: RoutePrepare<TPrepared, TVariables, TQuery>;
|
|
85
85
|
render?: RouteRender<TPrepared, TVariables>;
|
|
86
86
|
query?: QuerySchema;
|
|
87
|
+
filterSchema?: {
|
|
88
|
+
__defined: true;
|
|
89
|
+
schema: Record<string, any>;
|
|
90
|
+
};
|
|
87
91
|
};
|
|
88
92
|
export type RouteComponentProps<TVariables extends ParamData> = {
|
|
89
93
|
children: ReactElement<any>;
|
|
@@ -101,7 +105,22 @@ export type RoutingContextType<TVariables extends ParamData> = {
|
|
|
101
105
|
pathname?: string;
|
|
102
106
|
query?: Record<string, any>;
|
|
103
107
|
replace?: boolean;
|
|
108
|
+
filters?: Record<string, any>;
|
|
109
|
+
filterSchema?: {
|
|
110
|
+
__defined: true;
|
|
111
|
+
schema: Record<string, any>;
|
|
112
|
+
};
|
|
113
|
+
batch?: boolean;
|
|
114
|
+
immediate?: boolean;
|
|
104
115
|
}) => void;
|
|
116
|
+
resolveFilterSchema: (pathname: string) => {
|
|
117
|
+
__defined: true;
|
|
118
|
+
schema: Record<string, any>;
|
|
119
|
+
} | undefined;
|
|
120
|
+
currentMergedFilterSchema: () => {
|
|
121
|
+
__defined: true;
|
|
122
|
+
schema: Record<string, any>;
|
|
123
|
+
} | undefined;
|
|
105
124
|
};
|
|
106
125
|
export type ResourcePageReturn = {
|
|
107
126
|
default: ComponentType<any>;
|
package/lib/esm/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
|
package/lib/esm/types.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ29tcG9uZW50VHlwZSwgUmVhY3RFbGVtZW50LCBSZWFjdE5vZGUsIEpTWCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB0eXBlIHsgTWF0Y2gsIE1hdGNoRnVuY3Rpb24sIFBhcmFtRGF0YSB9IGZyb20gJ3BhdGgtdG8tcmVnZXhwJztcblxuaW1wb3J0IHR5cGUgeyBGbGF0Um91dGUgfSBmcm9tICcuL2J1aWxkZXIuanMnO1xuaW1wb3J0IHR5cGUgeyBSZXNvdXJjZVBhZ2UgfSBmcm9tICcuL1Jlc291cmNlUGFnZS5qcyc7XG5pbXBvcnQgdHlwZSB7IEJyb3dzZXJIaXN0b3J5IH0gZnJvbSAnLi9oaXN0b3J5L2luZGV4LmpzJztcblxuLyoqXG4gKiBJbnB1dCB0eXBlIGZvciBjcmVhdGluZyBhIEZsYXRSb3V0ZSBpbnN0YW5jZS5cbiAqIEB0ZW1wbGF0ZSBUVmFyaWFibGVzIC0gUm91dGUgcGFyYW1ldGVyIHR5cGVzIGV4dHJhY3RlZCBmcm9tIHRoZSBVUkwgcGF0aFxuICovXG5leHBvcnQgdHlwZSBGbGF0Um91dGVJbnB1dDxUVmFyaWFibGVzIGV4dGVuZHMgUGFyYW1EYXRhPiA9IHtcbiAgLyoqIFRoZSBVUkwgcGF0aCBwYXR0ZXJuIGZvciB0aGlzIHJvdXRlICovXG4gIHBhdGg6IHN0cmluZztcbiAgLyoqIE9wdGlvbmFsIHJlZGlyZWN0IGRlc3RpbmF0aW9uIGlmIHRoaXMgcm91dGUgc2hvdWxkIHJlZGlyZWN0ICovXG4gIHJlZGlyZWN0VG8/OiBzdHJpbmc7XG4gIC8qKiBGdW5jdGlvbiB0byBtYXRjaCBVUkwgcGF0aHMgYWdhaW5zdCB0aGlzIHJvdXRlIHBhdHRlcm4gKi9cbiAgbWF0Y2hGdW5jdGlvbjogTWF0Y2hGdW5jdGlvbjxUVmFyaWFibGVzPjtcbiAgLyoqIE5lc3RlZCByb3V0ZXMgdGhhdCBzaG91bGQgYmUgcmVuZGVyZWQgd2l0aGluIHRoaXMgcm91dGUgKi9cbiAgcm91dGVzOiBSb3V0ZTxhbnksIGFueT5bXTtcbn07XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIG1hdGNoZWQgcm91dGUgd2l0aCBleHRyYWN0ZWQgcGFyYW1ldGVycyBhbmQgbWV0YWRhdGEuXG4gKiBAdGVtcGxhdGUgVFZhcmlhYmxlcyAtIFJvdXRlIHBhcmFtZXRlciB0eXBlcyBleHRyYWN0ZWQgZnJvbSB0aGUgVVJMIHBhdGhcbiAqL1xuZXhwb3J0IHR5cGUgUm91dGVyTWF0Y2hlZFJvdXRlPFRWYXJpYWJsZXMgZXh0ZW5kcyBQYXJhbURhdGE+ID0ge1xuICAvKiogVGhlIG1hdGNoIHJlc3VsdCBmcm9tIHBhdGgtdG8tcmVnZXhwICovXG4gIG1hdGNoOiBNYXRjaDxUVmFyaWFibGVzPjtcbiAgLyoqIEV4dHJhY3RlZCBwYXJhbWV0ZXJzIGZyb20gdGhlIFVSTCBwYXRoICovXG4gIHBhcmFtczogVFZhcmlhYmxlcztcbiAgLyoqIFRoZSBtYXRjaGVkIHBhdGggc3RyaW5nICovXG4gIHBhdGg6IHN0cmluZztcbiAgLyoqIFRoZSBmbGF0IHJvdXRlIHRoYXQgd2FzIG1hdGNoZWQgKi9cbiAgcm91dGU6IEZsYXRSb3V0ZTxUVmFyaWFibGVzPjtcbn07XG5cbi8qKlxuICogQSBSZWFjdCBjb21wb25lbnQgdGhhdCBjYW4gYmUgdXNlZCBhcyBhIHJvdXRlIGNvbXBvbmVudC5cbiAqIEB0ZW1wbGF0ZSBUUHJvcHMgLSBUaGUgcHJvcHMgdHlwZSBmb3IgdGhlIGNvbXBvbmVudFxuICovXG5leHBvcnQgdHlwZSBSb3V0ZVJlYWN0Q29tcG9uZW50PFRQcm9wcyA9IFJlY29yZDxzdHJpbmcsIHVua25vd24+PiA9IChcbiAgcHJvcHM6IFRQcm9wcyxcbikgPT4gSlNYLkVsZW1lbnQgfCBudWxsO1xuXG4vKipcbiAqIE9wdGlvbnMgcGFzc2VkIHRvIGEgcm91dGUgcmVuZGVyIGZ1bmN0aW9uLlxuICogQHRlbXBsYXRlIFRQcmVwYXJlZCAtIFRoZSB0eXBlIG9mIHByZXBhcmVkIGRhdGEgcmV0dXJuZWQgYnkgdGhlIHJvdXRlJ3MgcHJlcGFyZSBmdW5jdGlvblxuICogQHRlbXBsYXRlIFRWYXJpYWJsZXMgLSBSb3V0ZSBwYXJhbWV0ZXIgdHlwZXMgZXh0cmFjdGVkIGZyb20gdGhlIFVSTCBwYXRoXG4gKi9cbmV4cG9ydCB0eXBlIFJvdXRlUmVuZGVyT3B0czxcbiAgVFByZXBhcmVkIGV4dGVuZHMgUHJlcGFyZVJlc3VsdCxcbiAgVFZhcmlhYmxlcyBleHRlbmRzIFBhcmFtRGF0YSA9IFBhcmFtRGF0YSxcbj4gPSB7XG4gIC8qKiBDaGlsZCBjb21wb25lbnRzIHRvIHJlbmRlciB3aXRoaW4gdGhpcyByb3V0ZSAqL1xuICBjaGlsZHJlbjogUmVhY3ROb2RlO1xuICAvKiogT3B0aW9uYWwgY29tcG9uZW50IHRvIHJlbmRlciAoZnJvbSBSZXNvdXJjZVBhZ2UpICovXG4gIENvbXBvbmVudD86IFJvdXRlUmVhY3RDb21wb25lbnQ7XG4gIC8qKiBEYXRhIHByZXBhcmVkIGJ5IHRoZSByb3V0ZSdzIHByZXBhcmUgZnVuY3Rpb24gKi9cbiAgcHJlcGFyZWQ6IFRQcmVwYXJlZCB8IHVuZGVmaW5lZDtcbiAgLyoqIFRoZSBwcmVwYXJlZCByb3V0ZSB0aGF0IGlzIGJlaW5nIHJlbmRlcmVkICovXG4gIHByZXBhcmVkUm91dGU6IFByZXBhcmVkTWF0Y2hSb3V0ZTtcbiAgLyoqIFRoZSBtYXRjaGVkIHJvdXRlIG9yIG51bGwgaWYgbm8gbWF0Y2ggKi9cbiAgcm91dGU6IEZsYXRSb3V0ZTxUVmFyaWFibGVzPiB8IG51bGw7XG4gIC8qKiBSYXcgcXVlcnkgb2JqZWN0IChQaGFzZSAyIGdlbmVyaWMgcGFyc2luZykgKi9cbiAgcmF3UXVlcnk6IFJlY29yZDxzdHJpbmcsIHN0cmluZyB8IHN0cmluZ1tdPjtcbiAgLyoqIFR5cGVkIHF1ZXJ5IG9iamVjdCAoUGhhc2UgMykuIEZhbGxzIGJhY2sgdG8gcmF3UXVlcnkgaWYgbm8gc2NoZW1hICovXG4gIHF1ZXJ5OiBhbnk7XG59O1xuXG4vKipcbiAqIEZ1bmN0aW9uIHRvIHJlbmRlciBhIHJvdXRlIHdpdGggY3VzdG9tIGxvZ2ljLlxuICogQHRlbXBsYXRlIFRQcmVwYXJlZCAtIFRoZSB0eXBlIG9mIHByZXBhcmVkIGRhdGEgcmV0dXJuZWQgYnkgdGhlIHJvdXRlJ3MgcHJlcGFyZSBmdW5jdGlvblxuICogQHRlbXBsYXRlIFRWYXJpYWJsZXMgLSBSb3V0ZSBwYXJhbWV0ZXIgdHlwZXMgZXh0cmFjdGVkIGZyb20gdGhlIFVSTCBwYXRoXG4gKi9cbmV4cG9ydCB0eXBlIFJvdXRlUmVuZGVyPFxuICBUUHJlcGFyZWQgZXh0ZW5kcyBQcmVwYXJlUmVzdWx0LFxuICBUVmFyaWFibGVzIGV4dGVuZHMgUGFyYW1EYXRhID0gUGFyYW1EYXRhLFxuPiA9IChvcHRzOiBSb3V0ZVJlbmRlck9wdHM8VFByZXBhcmVkLCBUVmFyaWFibGVzPikgPT4gUmVhY3RFbGVtZW50PGFueT4gfCBudWxsO1xuXG4vKipcbiAqIEEgcm91dGUgdGhhdCBoYXMgYmVlbiBwcmVwYXJlZCBmb3IgcmVuZGVyaW5nIHdpdGggbG9hZGVkIGRhdGEgYW5kIGNvbXBvbmVudHMuXG4gKi9cbmV4cG9ydCB0eXBlIFByZXBhcmVkTWF0Y2hSb3V0ZSA9IHtcbiAgLyoqIFRoZSBwYXRoIHRoYXQgd2FzIG1hdGNoZWQgKi9cbiAgcGF0aD86IHN0cmluZztcbiAgLyoqIERhdGEgcHJlcGFyZWQgYnkgdGhlIHJvdXRlJ3MgcHJlcGFyZSBmdW5jdGlvbiAqL1xuICBwcmVwYXJlZDogUHJlcGFyZVJlc3VsdCB8IHVuZGVmaW5lZDtcbiAgLyoqIEN1c3RvbSByZW5kZXIgZnVuY3Rpb24gZm9yIHRoaXMgcm91dGUgKi9cbiAgcmVuZGVyPzogUm91dGVSZW5kZXI8YW55LCBhbnk+O1xuICAvKiogUmVkaXJlY3QgZGVzdGluYXRpb24gaWYgdGhpcyByb3V0ZSBzaG91bGQgcmVkaXJlY3QgKi9cbiAgcmVkaXJlY3RUbzogc3RyaW5nIHwgbnVsbDtcbiAgLyoqIFJlc291cmNlIHBhZ2UgZm9yIGxhenktbG9hZGVkIGNvbXBvbmVudHMgKi9cbiAgcmVzb3VyY2VQYWdlPzogUmVzb3VyY2VQYWdlIHwgbnVsbDtcbn07XG5cbi8qKlxuICogUmVzdWx0IG9mIHByZXBhcmluZyBhIG1hdGNoZWQgcm91dGUsIGluY2x1ZGluZyBhbGwgbmVzdGVkIHJvdXRlcy5cbiAqIEB0ZW1wbGF0ZSBUVmFyaWFibGVzIC0gUm91dGUgcGFyYW1ldGVyIHR5cGVzIGV4dHJhY3RlZCBmcm9tIHRoZSBVUkwgcGF0aFxuICovXG5leHBvcnQgdHlwZSBQcmVwYXJlZE1hdGNoPFRWYXJpYWJsZXMgZXh0ZW5kcyBQYXJhbURhdGE+ID0ge1xuICAvKiogVGhlIG1hdGNoZWQgcm91dGUgb3IgbnVsbCBpZiBubyBtYXRjaCAqL1xuICBtYXRjaDogUm91dGVyTWF0Y2hlZFJvdXRlPFRWYXJpYWJsZXM+IHwgbnVsbDtcbiAgLyoqIEFycmF5IG9mIHByZXBhcmVkIHJvdXRlcyBmb3IgcmVuZGVyaW5nICovXG4gIHJvdXRlczogUHJlcGFyZWRNYXRjaFJvdXRlW107XG59O1xuXG4vKipcbiAqIENvbXBsZXRlIHJvdXRlIGVudHJ5IHJlcHJlc2VudGluZyB0aGUgY3VycmVudCByb3V0ZXIgc3RhdGUuXG4gKiBAdGVtcGxhdGUgVFZhcmlhYmxlcyAtIFJvdXRlIHBhcmFtZXRlciB0eXBlcyBleHRyYWN0ZWQgZnJvbSB0aGUgVVJMIHBhdGhcbiAqL1xuZXhwb3J0IHR5cGUgUm91dGVFbnRyeTxUVmFyaWFibGVzIGV4dGVuZHMgUGFyYW1EYXRhPiA9IHtcbiAgLyoqIFRoZSBwcmVwYXJlZCBtYXRjaCB3aXRoIGxvYWRlZCBkYXRhIGFuZCBjb21wb25lbnRzICovXG4gIHByZXBhcmVkTWF0Y2g6IFByZXBhcmVkTWF0Y2g8VFZhcmlhYmxlcz47XG4gIC8qKiBDdXJyZW50IGJyb3dzZXIgbG9jYXRpb24gKi9cbiAgbG9jYXRpb246IExvY2F0aW9uO1xuICAvKiogVGhlIG1hdGNoZWQgcm91dGUgb3IgbnVsbCBpZiBubyBtYXRjaCAqL1xuICByb3V0ZTogUm91dGVyTWF0Y2hlZFJvdXRlPFRWYXJpYWJsZXM+IHwgbnVsbDtcbiAgLyoqIFdoZXRoZXIgdG8gZm9yY2UgYSByZS1yZW5kZXIgZXZlbiBpZiB0aGUgcGF0aCBoYXNuJ3QgY2hhbmdlZCAqL1xuICBmb3JjZVJlcmVuZGVyOiBib29sZWFuO1xuICAvKiogUmF3IHNlYXJjaCBzdHJpbmcgKHF1ZXJ5IHBhcnQpIG9mIHRoZSBsb2NhdGlvbiBmb3IgY2hhbmdlIGRldGVjdGlvbiAqL1xuICByYXdTZWFyY2g/OiBzdHJpbmc7XG4gIC8qKiBQYXJzZWQgcmF3IHF1ZXJ5IHBhcmFtZXRlcnMgKHZhbHVlcyBhZ2dyZWdhdGVkOyBkdXBsaWNhdGVzID0+IGFycmF5KSAqL1xuICBxdWVyeTogUmVjb3JkPHN0cmluZywgc3RyaW5nIHwgc3RyaW5nW10+O1xuICAvKiogVHlwZWQgcXVlcnkgZGVyaXZlZCBmcm9tIHNjaGVtYSBmb3IgdGhlIG1hdGNoZWQgcm91dGUgKFBoYXNlIDMpICovXG4gIHR5cGVkUXVlcnk/OiBhbnk7XG59O1xuXG4vKiogUXVlcnkgZGVzY3JpcHRvciBiYXNlIHNoYXBlICovXG5leHBvcnQgdHlwZSBRdWVyeURlc2NyaXB0b3I8VD4gPSB7XG4gIC8qKiBpbnRlcm5hbCBtYXJrZXIgZm9yIGluZmVyZW5jZSAqL1xuICBfX3R5cGU6IFQ7XG4gIC8qKiBwYXJzZSBhbiBhcnJheSBvZiBzdHJpbmcgdmFsdWVzIGludG8gVCB8IHVuZGVmaW5lZCAqL1xuICBwYXJzZTogKHZhbHVlczogc3RyaW5nW10pID0+IFQgfCB1bmRlZmluZWQ7XG4gIC8qKiBzZXJpYWxpemUgYSB2YWx1ZSBpbnRvIHN0cmluZyB2YWx1ZXMgKi9cbiAgc2VyaWFsaXplOiAodmFsdWU6IFQpID0+IHN0cmluZ1tdO1xuICBvcHRpb25hbD86IGJvb2xlYW47XG4gIGhhc0RlZmF1bHQ/OiBib29sZWFuO1xuICBkZWZhdWx0VmFsdWU/OiBUO1xufTtcblxuZXhwb3J0IHR5cGUgUXVlcnlTY2hlbWEgPSBSZWNvcmQ8c3RyaW5nLCBRdWVyeURlc2NyaXB0b3I8YW55Pj47XG5cbi8qKiBJbmZlciB0aGUgb3V0cHV0IHR5cGUgb2YgYSBzY2hlbWEgKi9cbmV4cG9ydCB0eXBlIEluZmVyUXVlcnk8UyBleHRlbmRzIFF1ZXJ5U2NoZW1hPiA9IHtcbiAgW0sgaW4ga2V5b2YgU106IFNbS10gZXh0ZW5kcyBRdWVyeURlc2NyaXB0b3I8aW5mZXIgTz5cbiAgICA/IFNbS11bJ29wdGlvbmFsJ10gZXh0ZW5kcyB0cnVlXG4gICAgICA/IFNbS11bJ2hhc0RlZmF1bHQnXSBleHRlbmRzIHRydWVcbiAgICAgICAgPyBPXG4gICAgICAgIDogTyB8IHVuZGVmaW5lZFxuICAgICAgOiBPXG4gICAgOiBuZXZlcjtcbn07XG5cbi8qKlxuICogSFRUUCBzdGF0dXMgY29kZXMgZm9yIHJlZGlyZWN0cy5cbiAqL1xuZXhwb3J0IHR5cGUgUm91dGVyUmVkaXJlY3RTdGF0dXMgPSAzMDEgfCAzMDI7XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIG1hdGNoZWQgcm91dGUgd2l0aCByZWdleCBtYXRjaCByZXN1bHQuXG4gKiBAdGVtcGxhdGUgVFZhcmlhYmxlcyAtIFJvdXRlIHBhcmFtZXRlciB0eXBlcyBleHRyYWN0ZWQgZnJvbSB0aGUgVVJMIHBhdGhcbiAqL1xuZXhwb3J0IHR5cGUgTWF0Y2hlZFJvdXRlPFRWYXJpYWJsZXMgZXh0ZW5kcyBQYXJhbURhdGE+ID0ge1xuICAvKiogVGhlIHJlZ2V4IG1hdGNoIHJlc3VsdCAqL1xuICBtYXRjaDogUmVnRXhwRXhlY0FycmF5O1xuICAvKiogVGhlIGZsYXQgcm91dGUgdGhhdCB3YXMgbWF0Y2hlZCAqL1xuICByb3V0ZTogRmxhdFJvdXRlPFRWYXJpYWJsZXM+O1xufTtcblxuLyoqXG4gKiBDb25maWd1cmF0aW9uIGZvciBhIHJvdXRlIHJlZGlyZWN0LlxuICovXG5leHBvcnQgdHlwZSBSZWRpcmVjdCA9IHtcbiAgLyoqIE9wdGlvbmFsIHNvdXJjZSBwYXRoIHBhdHRlcm4gKi9cbiAgcGF0aD86IHN0cmluZztcbiAgLyoqIERlc3RpbmF0aW9uIHBhdGggZm9yIHRoZSByZWRpcmVjdCAqL1xuICB0bzogc3RyaW5nO1xuICAvKiogSFRUUCBzdGF0dXMgY29kZSBmb3IgdGhlIHJlZGlyZWN0ICovXG4gIHN0YXR1cz86IFJvdXRlclJlZGlyZWN0U3RhdHVzO1xufTtcblxuLyoqXG4gKiBCYXNlIHR5cGUgZm9yIGRhdGEgcHJlcGFyZWQgYnkgcm91dGUgcHJlcGFyZSBmdW5jdGlvbnMuXG4gKi9cbmV4cG9ydCB0eXBlIFByZXBhcmVSZXN1bHQgPSBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuXG4vKipcbiAqIFBhcmFtZXRlcnMgcGFzc2VkIHRvIGEgcm91dGUncyBwcmVwYXJlIGZ1bmN0aW9uLlxuICogQHRlbXBsYXRlIFRWYXJpYWJsZXMgLSBSb3V0ZSBwYXJhbWV0ZXIgdHlwZXMgZXh0cmFjdGVkIGZyb20gdGhlIFVSTCBwYXRoXG4gKi9cbmV4cG9ydCB0eXBlIFByZXBhcmVQYXJhbXM8VFZhcmlhYmxlcyBleHRlbmRzIFBhcmFtRGF0YSwgVFF1ZXJ5ID0gYW55PiA9IHtcbiAgLyoqIFRoZSBtYXRjaGVkIHJvdXRlIHdpdGggZXh0cmFjdGVkIHBhcmFtZXRlcnMgKi9cbiAgbWF0Y2g6IFJvdXRlck1hdGNoZWRSb3V0ZTxUVmFyaWFibGVzPjtcbiAgLyoqIFRoZSBmbGF0IHJvdXRlIHRoYXQgd2FzIG1hdGNoZWQgKi9cbiAgbWF0Y2hlZFJvdXRlOiBGbGF0Um91dGU8VFZhcmlhYmxlcz47XG4gIC8qKiBSZXNvdXJjZSBwYWdlIGZvciBsYXp5LWxvYWRlZCBjb21wb25lbnRzICovXG4gIHJlc291cmNlUGFnZT86IFJlc291cmNlUGFnZSB8IG51bGw7XG4gIC8qKiBFeHRyYWN0ZWQgVVJMIHBhcmFtZXRlcnMgKi9cbiAgdmFyaWFibGVzOiBUVmFyaWFibGVzO1xuICAvKiogVHlwZWQgcXVlcnkgb2JqZWN0ICovXG4gIHF1ZXJ5OiBUUXVlcnk7XG59O1xuXG4vKipcbiAqIEZ1bmN0aW9uIHRvIHByZXBhcmUgZGF0YSBmb3IgYSByb3V0ZSBiZWZvcmUgcmVuZGVyaW5nLlxuICogQHRlbXBsYXRlIFRQcmVwYXJlZCAtIFRoZSB0eXBlIG9mIGRhdGEgdGhpcyBmdW5jdGlvbiByZXR1cm5zXG4gKiBAdGVtcGxhdGUgVFZhcmlhYmxlcyAtIFJvdXRlIHBhcmFtZXRlciB0eXBlcyBleHRyYWN0ZWQgZnJvbSB0aGUgVVJMIHBhdGhcbiAqL1xuZXhwb3J0IHR5cGUgUm91dGVQcmVwYXJlPFxuICBUUHJlcGFyZWQgZXh0ZW5kcyBQcmVwYXJlUmVzdWx0LFxuICBUVmFyaWFibGVzIGV4dGVuZHMgUGFyYW1EYXRhID0gUGFyYW1EYXRhLFxuICBUUXVlcnkgPSBhbnksXG4+ID0gKHBhcmFtczogUHJlcGFyZVBhcmFtczxUVmFyaWFibGVzLCBUUXVlcnk+KSA9PiBUUHJlcGFyZWQ7XG5cbi8qKlxuICogQ29uZmlndXJhdGlvbiBmb3IgYSBzaW5nbGUgcm91dGUgaW4gdGhlIHJvdXRlci5cbiAqIEB0ZW1wbGF0ZSBUUHJlcGFyZWQgLSBUaGUgdHlwZSBvZiBwcmVwYXJlZCBkYXRhIHJldHVybmVkIGJ5IHRoZSByb3V0ZSdzIHByZXBhcmUgZnVuY3Rpb25cbiAqIEB0ZW1wbGF0ZSBUVmFyaWFibGVzIC0gUm91dGUgcGFyYW1ldGVyIHR5cGVzIGV4dHJhY3RlZCBmcm9tIHRoZSBVUkwgcGF0aFxuICovXG5leHBvcnQgdHlwZSBSb3V0ZTxcbiAgVFByZXBhcmVkIGV4dGVuZHMgUHJlcGFyZVJlc3VsdCxcbiAgVFZhcmlhYmxlcyBleHRlbmRzIFBhcmFtRGF0YSA9IFBhcmFtRGF0YSxcbiAgVFF1ZXJ5ID0gYW55LFxuPiA9IHtcbiAgLyoqIE5lc3RlZCBjaGlsZCByb3V0ZXMgb3IgcmVkaXJlY3RzICovXG4gIGNoaWxkcmVuPzogKFJvdXRlPGFueSwgYW55PiB8IFJlZGlyZWN0KVtdO1xuICAvKiogUmVzb3VyY2UgcGFnZSBmb3IgbGF6eS1sb2FkZWQgY29tcG9uZW50cyAqL1xuICByZXNvdXJjZVBhZ2U/OiBSZXNvdXJjZVBhZ2UgfCBudWxsO1xuICAvKiogVVJMIHBhdGggcGF0dGVybiBmb3IgdGhpcyByb3V0ZSAqL1xuICBwYXRoPzogc3RyaW5nO1xuICAvKiogRnVuY3Rpb24gdG8gcHJlcGFyZSBkYXRhIGJlZm9yZSByZW5kZXJpbmcgKi9cbiAgcHJlcGFyZT86IFJvdXRlUHJlcGFyZTxUUHJlcGFyZWQsIFRWYXJpYWJsZXMsIFRRdWVyeT47XG4gIC8qKiBDdXN0b20gcmVuZGVyIGZ1bmN0aW9uIGZvciB0aGlzIHJvdXRlICovXG4gIHJlbmRlcj86IFJvdXRlUmVuZGVyPFRQcmVwYXJlZCwgVFZhcmlhYmxlcz47XG4gIC8qKiBPcHRpb25hbCBxdWVyeSBzY2hlbWEgZm9yIHR5cGVkIHBhcnNpbmcgKFBoYXNlIDMgYXR0YWNobWVudCkgKi9cbiAgcXVlcnk/OiBRdWVyeVNjaGVtYTtcbn07XG5cbi8qKlxuICogUHJvcHMgcGFzc2VkIHRvIFJvdXRlQ29tcG9uZW50IGluc3RhbmNlcy5cbiAqIEB0ZW1wbGF0ZSBUVmFyaWFibGVzIC0gUm91dGUgcGFyYW1ldGVyIHR5cGVzIGV4dHJhY3RlZCBmcm9tIHRoZSBVUkwgcGF0aFxuICovXG5leHBvcnQgdHlwZSBSb3V0ZUNvbXBvbmVudFByb3BzPFRWYXJpYWJsZXMgZXh0ZW5kcyBQYXJhbURhdGE+ID0ge1xuICAvKiogQ2hpbGQgY29tcG9uZW50cyB0byByZW5kZXIgKi9cbiAgY2hpbGRyZW46IFJlYWN0RWxlbWVudDxhbnk+O1xuICAvKiogUm91dGVyIGNvbnRleHQgY29udGFpbmluZyBuYXZpZ2F0aW9uIGFuZCBzdGF0ZSAqL1xuICByb3V0ZXJDb250ZXh0OiBSb3V0aW5nQ29udGV4dFR5cGU8VFZhcmlhYmxlcz47XG4gIC8qKiBUaGUgcm91dGUgY29uZmlndXJhdGlvbiAqL1xuICByb3V0ZTogUm91dGU8YW55LCBhbnk+O1xufTtcblxuLyoqXG4gKiBDYWxsYmFjayBmdW5jdGlvbiBmb3Igcm91dGUgY2hhbmdlcy5cbiAqIEB0ZW1wbGF0ZSBUVmFyaWFibGVzIC0gUm91dGUgcGFyYW1ldGVyIHR5cGVzIGV4dHJhY3RlZCBmcm9tIHRoZSBVUkwgcGF0aFxuICovXG5leHBvcnQgdHlwZSBTdWJzY3JpYmVDYWxsYmFjazxUVmFyaWFibGVzIGV4dGVuZHMgUGFyYW1EYXRhPiA9IChcbiAgbmV4dEVudHJ5OiBSb3V0ZUVudHJ5PFRWYXJpYWJsZXM+LFxuKSA9PiB2b2lkO1xuXG4vKipcbiAqIFJvdXRlciBjb250ZXh0IHR5cGUgdGhhdCBwcm92aWRlcyBuYXZpZ2F0aW9uIGFuZCBzdGF0ZSBtYW5hZ2VtZW50LlxuICogQHRlbXBsYXRlIFRWYXJpYWJsZXMgLSBSb3V0ZSBwYXJhbWV0ZXIgdHlwZXMgZXh0cmFjdGVkIGZyb20gdGhlIFVSTCBwYXRoXG4gKi9cbmV4cG9ydCB0eXBlIFJvdXRpbmdDb250ZXh0VHlwZTxUVmFyaWFibGVzIGV4dGVuZHMgUGFyYW1EYXRhPiA9IHtcbiAgLyoqIEJyb3dzZXIgaGlzdG9yeSBpbnN0YW5jZSBmb3IgbmF2aWdhdGlvbiAqL1xuICBoaXN0b3J5OiBCcm93c2VySGlzdG9yeTtcbiAgLyoqIEdldCB0aGUgY3VycmVudCByb3V0ZSBlbnRyeSAqL1xuICBnZXQ6ICgpID0+IFJvdXRlRW50cnk8VFZhcmlhYmxlcz47XG4gIC8qKiBQcmVsb2FkIGNvZGUgZm9yIGEgcm91dGUgd2l0aG91dCBzdG9yaW5nIHRoZSByZXN1bHQgKi9cbiAgcHJlbG9hZENvZGU6IChwYXRobmFtZTogc3RyaW5nKSA9PiB2b2lkO1xuICAvKiogUHJlbG9hZCBjb2RlIGFuZCBkYXRhIGZvciBhIHJvdXRlIHdpdGhvdXQgc3RvcmluZyB0aGUgcmVzdWx0ICovXG4gIHByZWxvYWQ6IChwYXRobmFtZTogc3RyaW5nKSA9PiB2b2lkO1xuICAvKiogU3Vic2NyaWJlIHRvIHJvdXRlIGNoYW5nZXMgKi9cbiAgc3Vic2NyaWJlOiAoY2FsbGJhY2s6IFN1YnNjcmliZUNhbGxiYWNrPFRWYXJpYWJsZXM+KSA9PiAoKSA9PiB2b2lkO1xuICAvKiogTmF2aWdhdGUgd2l0aCBvcHRpb25hbCBwYXRobmFtZSBhbmQgdHlwZWQvcmF3IHF1ZXJ5IG9iamVjdCAqL1xuICBuYXZpZ2F0ZTogKG9wdHM6IHtcbiAgICBwYXRobmFtZT86IHN0cmluZztcbiAgICBxdWVyeT86IFJlY29yZDxzdHJpbmcsIGFueT47XG4gICAgcmVwbGFjZT86IGJvb2xlYW47XG4gIH0pID0+IHZvaWQ7XG59O1xuXG4vKipcbiAqIFJldHVybiB0eXBlIGZvciByZXNvdXJjZSBwYWdlIGxvYWRlcnMuXG4gKi9cbmV4cG9ydCB0eXBlIFJlc291cmNlUGFnZVJldHVybiA9XG4gIHwgeyBkZWZhdWx0OiBDb21wb25lbnRUeXBlPGFueT4gfVxuICB8IENvbXBvbmVudFR5cGU8YW55PjtcblxuLyoqXG4gKiBGdW5jdGlvbiB0aGF0IGxvYWRzIGEgcmVzb3VyY2UgcGFnZSBjb21wb25lbnQuXG4gKi9cbmV4cG9ydCB0eXBlIFJlc291cmNlUGFnZUxvYWRlciA9ICgpID0+IFByb21pc2U8UmVzb3VyY2VQYWdlUmV0dXJuPjtcbiJdfQ==
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ29tcG9uZW50VHlwZSwgUmVhY3RFbGVtZW50LCBSZWFjdE5vZGUsIEpTWCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB0eXBlIHsgTWF0Y2gsIE1hdGNoRnVuY3Rpb24sIFBhcmFtRGF0YSB9IGZyb20gJ3BhdGgtdG8tcmVnZXhwJztcblxuaW1wb3J0IHR5cGUgeyBGbGF0Um91dGUgfSBmcm9tICcuL2J1aWxkZXIuanMnO1xuaW1wb3J0IHR5cGUgeyBSZXNvdXJjZVBhZ2UgfSBmcm9tICcuL1Jlc291cmNlUGFnZS5qcyc7XG5pbXBvcnQgdHlwZSB7IEJyb3dzZXJIaXN0b3J5IH0gZnJvbSAnLi9oaXN0b3J5L2luZGV4LmpzJztcblxuLyoqXG4gKiBJbnB1dCB0eXBlIGZvciBjcmVhdGluZyBhIEZsYXRSb3V0ZSBpbnN0YW5jZS5cbiAqIEB0ZW1wbGF0ZSBUVmFyaWFibGVzIC0gUm91dGUgcGFyYW1ldGVyIHR5cGVzIGV4dHJhY3RlZCBmcm9tIHRoZSBVUkwgcGF0aFxuICovXG5leHBvcnQgdHlwZSBGbGF0Um91dGVJbnB1dDxUVmFyaWFibGVzIGV4dGVuZHMgUGFyYW1EYXRhPiA9IHtcbiAgLyoqIFRoZSBVUkwgcGF0aCBwYXR0ZXJuIGZvciB0aGlzIHJvdXRlICovXG4gIHBhdGg6IHN0cmluZztcbiAgLyoqIE9wdGlvbmFsIHJlZGlyZWN0IGRlc3RpbmF0aW9uIGlmIHRoaXMgcm91dGUgc2hvdWxkIHJlZGlyZWN0ICovXG4gIHJlZGlyZWN0VG8/OiBzdHJpbmc7XG4gIC8qKiBGdW5jdGlvbiB0byBtYXRjaCBVUkwgcGF0aHMgYWdhaW5zdCB0aGlzIHJvdXRlIHBhdHRlcm4gKi9cbiAgbWF0Y2hGdW5jdGlvbjogTWF0Y2hGdW5jdGlvbjxUVmFyaWFibGVzPjtcbiAgLyoqIE5lc3RlZCByb3V0ZXMgdGhhdCBzaG91bGQgYmUgcmVuZGVyZWQgd2l0aGluIHRoaXMgcm91dGUgKi9cbiAgcm91dGVzOiBSb3V0ZTxhbnksIGFueT5bXTtcbn07XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIG1hdGNoZWQgcm91dGUgd2l0aCBleHRyYWN0ZWQgcGFyYW1ldGVycyBhbmQgbWV0YWRhdGEuXG4gKiBAdGVtcGxhdGUgVFZhcmlhYmxlcyAtIFJvdXRlIHBhcmFtZXRlciB0eXBlcyBleHRyYWN0ZWQgZnJvbSB0aGUgVVJMIHBhdGhcbiAqL1xuZXhwb3J0IHR5cGUgUm91dGVyTWF0Y2hlZFJvdXRlPFRWYXJpYWJsZXMgZXh0ZW5kcyBQYXJhbURhdGE+ID0ge1xuICAvKiogVGhlIG1hdGNoIHJlc3VsdCBmcm9tIHBhdGgtdG8tcmVnZXhwICovXG4gIG1hdGNoOiBNYXRjaDxUVmFyaWFibGVzPjtcbiAgLyoqIEV4dHJhY3RlZCBwYXJhbWV0ZXJzIGZyb20gdGhlIFVSTCBwYXRoICovXG4gIHBhcmFtczogVFZhcmlhYmxlcztcbiAgLyoqIFRoZSBtYXRjaGVkIHBhdGggc3RyaW5nICovXG4gIHBhdGg6IHN0cmluZztcbiAgLyoqIFRoZSBmbGF0IHJvdXRlIHRoYXQgd2FzIG1hdGNoZWQgKi9cbiAgcm91dGU6IEZsYXRSb3V0ZTxUVmFyaWFibGVzPjtcbn07XG5cbi8qKlxuICogQSBSZWFjdCBjb21wb25lbnQgdGhhdCBjYW4gYmUgdXNlZCBhcyBhIHJvdXRlIGNvbXBvbmVudC5cbiAqIEB0ZW1wbGF0ZSBUUHJvcHMgLSBUaGUgcHJvcHMgdHlwZSBmb3IgdGhlIGNvbXBvbmVudFxuICovXG5leHBvcnQgdHlwZSBSb3V0ZVJlYWN0Q29tcG9uZW50PFRQcm9wcyA9IFJlY29yZDxzdHJpbmcsIHVua25vd24+PiA9IChcbiAgcHJvcHM6IFRQcm9wcyxcbikgPT4gSlNYLkVsZW1lbnQgfCBudWxsO1xuXG4vKipcbiAqIE9wdGlvbnMgcGFzc2VkIHRvIGEgcm91dGUgcmVuZGVyIGZ1bmN0aW9uLlxuICogQHRlbXBsYXRlIFRQcmVwYXJlZCAtIFRoZSB0eXBlIG9mIHByZXBhcmVkIGRhdGEgcmV0dXJuZWQgYnkgdGhlIHJvdXRlJ3MgcHJlcGFyZSBmdW5jdGlvblxuICogQHRlbXBsYXRlIFRWYXJpYWJsZXMgLSBSb3V0ZSBwYXJhbWV0ZXIgdHlwZXMgZXh0cmFjdGVkIGZyb20gdGhlIFVSTCBwYXRoXG4gKi9cbmV4cG9ydCB0eXBlIFJvdXRlUmVuZGVyT3B0czxcbiAgVFByZXBhcmVkIGV4dGVuZHMgUHJlcGFyZVJlc3VsdCxcbiAgVFZhcmlhYmxlcyBleHRlbmRzIFBhcmFtRGF0YSA9IFBhcmFtRGF0YSxcbj4gPSB7XG4gIC8qKiBDaGlsZCBjb21wb25lbnRzIHRvIHJlbmRlciB3aXRoaW4gdGhpcyByb3V0ZSAqL1xuICBjaGlsZHJlbjogUmVhY3ROb2RlO1xuICAvKiogT3B0aW9uYWwgY29tcG9uZW50IHRvIHJlbmRlciAoZnJvbSBSZXNvdXJjZVBhZ2UpICovXG4gIENvbXBvbmVudD86IFJvdXRlUmVhY3RDb21wb25lbnQ7XG4gIC8qKiBEYXRhIHByZXBhcmVkIGJ5IHRoZSByb3V0ZSdzIHByZXBhcmUgZnVuY3Rpb24gKi9cbiAgcHJlcGFyZWQ6IFRQcmVwYXJlZCB8IHVuZGVmaW5lZDtcbiAgLyoqIFRoZSBwcmVwYXJlZCByb3V0ZSB0aGF0IGlzIGJlaW5nIHJlbmRlcmVkICovXG4gIHByZXBhcmVkUm91dGU6IFByZXBhcmVkTWF0Y2hSb3V0ZTtcbiAgLyoqIFRoZSBtYXRjaGVkIHJvdXRlIG9yIG51bGwgaWYgbm8gbWF0Y2ggKi9cbiAgcm91dGU6IEZsYXRSb3V0ZTxUVmFyaWFibGVzPiB8IG51bGw7XG4gIC8qKiBSYXcgcXVlcnkgb2JqZWN0IChQaGFzZSAyIGdlbmVyaWMgcGFyc2luZykgKi9cbiAgcmF3UXVlcnk6IFJlY29yZDxzdHJpbmcsIHN0cmluZyB8IHN0cmluZ1tdPjtcbiAgLyoqIFR5cGVkIHF1ZXJ5IG9iamVjdCAoUGhhc2UgMykuIEZhbGxzIGJhY2sgdG8gcmF3UXVlcnkgaWYgbm8gc2NoZW1hICovXG4gIHF1ZXJ5OiBhbnk7XG59O1xuXG4vKipcbiAqIEZ1bmN0aW9uIHRvIHJlbmRlciBhIHJvdXRlIHdpdGggY3VzdG9tIGxvZ2ljLlxuICogQHRlbXBsYXRlIFRQcmVwYXJlZCAtIFRoZSB0eXBlIG9mIHByZXBhcmVkIGRhdGEgcmV0dXJuZWQgYnkgdGhlIHJvdXRlJ3MgcHJlcGFyZSBmdW5jdGlvblxuICogQHRlbXBsYXRlIFRWYXJpYWJsZXMgLSBSb3V0ZSBwYXJhbWV0ZXIgdHlwZXMgZXh0cmFjdGVkIGZyb20gdGhlIFVSTCBwYXRoXG4gKi9cbmV4cG9ydCB0eXBlIFJvdXRlUmVuZGVyPFxuICBUUHJlcGFyZWQgZXh0ZW5kcyBQcmVwYXJlUmVzdWx0LFxuICBUVmFyaWFibGVzIGV4dGVuZHMgUGFyYW1EYXRhID0gUGFyYW1EYXRhLFxuPiA9IChvcHRzOiBSb3V0ZVJlbmRlck9wdHM8VFByZXBhcmVkLCBUVmFyaWFibGVzPikgPT4gUmVhY3RFbGVtZW50PGFueT4gfCBudWxsO1xuXG4vKipcbiAqIEEgcm91dGUgdGhhdCBoYXMgYmVlbiBwcmVwYXJlZCBmb3IgcmVuZGVyaW5nIHdpdGggbG9hZGVkIGRhdGEgYW5kIGNvbXBvbmVudHMuXG4gKi9cbmV4cG9ydCB0eXBlIFByZXBhcmVkTWF0Y2hSb3V0ZSA9IHtcbiAgLyoqIFRoZSBwYXRoIHRoYXQgd2FzIG1hdGNoZWQgKi9cbiAgcGF0aD86IHN0cmluZztcbiAgLyoqIERhdGEgcHJlcGFyZWQgYnkgdGhlIHJvdXRlJ3MgcHJlcGFyZSBmdW5jdGlvbiAqL1xuICBwcmVwYXJlZDogUHJlcGFyZVJlc3VsdCB8IHVuZGVmaW5lZDtcbiAgLyoqIEN1c3RvbSByZW5kZXIgZnVuY3Rpb24gZm9yIHRoaXMgcm91dGUgKi9cbiAgcmVuZGVyPzogUm91dGVSZW5kZXI8YW55LCBhbnk+O1xuICAvKiogUmVkaXJlY3QgZGVzdGluYXRpb24gaWYgdGhpcyByb3V0ZSBzaG91bGQgcmVkaXJlY3QgKi9cbiAgcmVkaXJlY3RUbzogc3RyaW5nIHwgbnVsbDtcbiAgLyoqIFJlc291cmNlIHBhZ2UgZm9yIGxhenktbG9hZGVkIGNvbXBvbmVudHMgKi9cbiAgcmVzb3VyY2VQYWdlPzogUmVzb3VyY2VQYWdlIHwgbnVsbDtcbn07XG5cbi8qKlxuICogUmVzdWx0IG9mIHByZXBhcmluZyBhIG1hdGNoZWQgcm91dGUsIGluY2x1ZGluZyBhbGwgbmVzdGVkIHJvdXRlcy5cbiAqIEB0ZW1wbGF0ZSBUVmFyaWFibGVzIC0gUm91dGUgcGFyYW1ldGVyIHR5cGVzIGV4dHJhY3RlZCBmcm9tIHRoZSBVUkwgcGF0aFxuICovXG5leHBvcnQgdHlwZSBQcmVwYXJlZE1hdGNoPFRWYXJpYWJsZXMgZXh0ZW5kcyBQYXJhbURhdGE+ID0ge1xuICAvKiogVGhlIG1hdGNoZWQgcm91dGUgb3IgbnVsbCBpZiBubyBtYXRjaCAqL1xuICBtYXRjaDogUm91dGVyTWF0Y2hlZFJvdXRlPFRWYXJpYWJsZXM+IHwgbnVsbDtcbiAgLyoqIEFycmF5IG9mIHByZXBhcmVkIHJvdXRlcyBmb3IgcmVuZGVyaW5nICovXG4gIHJvdXRlczogUHJlcGFyZWRNYXRjaFJvdXRlW107XG59O1xuXG4vKipcbiAqIENvbXBsZXRlIHJvdXRlIGVudHJ5IHJlcHJlc2VudGluZyB0aGUgY3VycmVudCByb3V0ZXIgc3RhdGUuXG4gKiBAdGVtcGxhdGUgVFZhcmlhYmxlcyAtIFJvdXRlIHBhcmFtZXRlciB0eXBlcyBleHRyYWN0ZWQgZnJvbSB0aGUgVVJMIHBhdGhcbiAqL1xuZXhwb3J0IHR5cGUgUm91dGVFbnRyeTxUVmFyaWFibGVzIGV4dGVuZHMgUGFyYW1EYXRhPiA9IHtcbiAgLyoqIFRoZSBwcmVwYXJlZCBtYXRjaCB3aXRoIGxvYWRlZCBkYXRhIGFuZCBjb21wb25lbnRzICovXG4gIHByZXBhcmVkTWF0Y2g6IFByZXBhcmVkTWF0Y2g8VFZhcmlhYmxlcz47XG4gIC8qKiBDdXJyZW50IGJyb3dzZXIgbG9jYXRpb24gKi9cbiAgbG9jYXRpb246IExvY2F0aW9uO1xuICAvKiogVGhlIG1hdGNoZWQgcm91dGUgb3IgbnVsbCBpZiBubyBtYXRjaCAqL1xuICByb3V0ZTogUm91dGVyTWF0Y2hlZFJvdXRlPFRWYXJpYWJsZXM+IHwgbnVsbDtcbiAgLyoqIFdoZXRoZXIgdG8gZm9yY2UgYSByZS1yZW5kZXIgZXZlbiBpZiB0aGUgcGF0aCBoYXNuJ3QgY2hhbmdlZCAqL1xuICBmb3JjZVJlcmVuZGVyOiBib29sZWFuO1xuICAvKiogUmF3IHNlYXJjaCBzdHJpbmcgKHF1ZXJ5IHBhcnQpIG9mIHRoZSBsb2NhdGlvbiBmb3IgY2hhbmdlIGRldGVjdGlvbiAqL1xuICByYXdTZWFyY2g/OiBzdHJpbmc7XG4gIC8qKiBQYXJzZWQgcmF3IHF1ZXJ5IHBhcmFtZXRlcnMgKHZhbHVlcyBhZ2dyZWdhdGVkOyBkdXBsaWNhdGVzID0+IGFycmF5KSAqL1xuICBxdWVyeTogUmVjb3JkPHN0cmluZywgc3RyaW5nIHwgc3RyaW5nW10+O1xuICAvKiogVHlwZWQgcXVlcnkgZGVyaXZlZCBmcm9tIHNjaGVtYSBmb3IgdGhlIG1hdGNoZWQgcm91dGUgKFBoYXNlIDMpICovXG4gIHR5cGVkUXVlcnk/OiBhbnk7XG59O1xuXG4vKiogUXVlcnkgZGVzY3JpcHRvciBiYXNlIHNoYXBlICovXG5leHBvcnQgdHlwZSBRdWVyeURlc2NyaXB0b3I8VD4gPSB7XG4gIC8qKiBpbnRlcm5hbCBtYXJrZXIgZm9yIGluZmVyZW5jZSAqL1xuICBfX3R5cGU6IFQ7XG4gIC8qKiBwYXJzZSBhbiBhcnJheSBvZiBzdHJpbmcgdmFsdWVzIGludG8gVCB8IHVuZGVmaW5lZCAqL1xuICBwYXJzZTogKHZhbHVlczogc3RyaW5nW10pID0+IFQgfCB1bmRlZmluZWQ7XG4gIC8qKiBzZXJpYWxpemUgYSB2YWx1ZSBpbnRvIHN0cmluZyB2YWx1ZXMgKi9cbiAgc2VyaWFsaXplOiAodmFsdWU6IFQpID0+IHN0cmluZ1tdO1xuICBvcHRpb25hbD86IGJvb2xlYW47XG4gIGhhc0RlZmF1bHQ/OiBib29sZWFuO1xuICBkZWZhdWx0VmFsdWU/OiBUO1xufTtcblxuZXhwb3J0IHR5cGUgUXVlcnlTY2hlbWEgPSBSZWNvcmQ8c3RyaW5nLCBRdWVyeURlc2NyaXB0b3I8YW55Pj47XG5cbi8qKiBJbmZlciB0aGUgb3V0cHV0IHR5cGUgb2YgYSBzY2hlbWEgKi9cbmV4cG9ydCB0eXBlIEluZmVyUXVlcnk8UyBleHRlbmRzIFF1ZXJ5U2NoZW1hPiA9IHtcbiAgW0sgaW4ga2V5b2YgU106IFNbS10gZXh0ZW5kcyBRdWVyeURlc2NyaXB0b3I8aW5mZXIgTz5cbiAgICA/IFNbS11bJ29wdGlvbmFsJ10gZXh0ZW5kcyB0cnVlXG4gICAgICA/IFNbS11bJ2hhc0RlZmF1bHQnXSBleHRlbmRzIHRydWVcbiAgICAgICAgPyBPXG4gICAgICAgIDogTyB8IHVuZGVmaW5lZFxuICAgICAgOiBPXG4gICAgOiBuZXZlcjtcbn07XG5cbi8qKlxuICogSFRUUCBzdGF0dXMgY29kZXMgZm9yIHJlZGlyZWN0cy5cbiAqL1xuZXhwb3J0IHR5cGUgUm91dGVyUmVkaXJlY3RTdGF0dXMgPSAzMDEgfCAzMDI7XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIG1hdGNoZWQgcm91dGUgd2l0aCByZWdleCBtYXRjaCByZXN1bHQuXG4gKiBAdGVtcGxhdGUgVFZhcmlhYmxlcyAtIFJvdXRlIHBhcmFtZXRlciB0eXBlcyBleHRyYWN0ZWQgZnJvbSB0aGUgVVJMIHBhdGhcbiAqL1xuZXhwb3J0IHR5cGUgTWF0Y2hlZFJvdXRlPFRWYXJpYWJsZXMgZXh0ZW5kcyBQYXJhbURhdGE+ID0ge1xuICAvKiogVGhlIHJlZ2V4IG1hdGNoIHJlc3VsdCAqL1xuICBtYXRjaDogUmVnRXhwRXhlY0FycmF5O1xuICAvKiogVGhlIGZsYXQgcm91dGUgdGhhdCB3YXMgbWF0Y2hlZCAqL1xuICByb3V0ZTogRmxhdFJvdXRlPFRWYXJpYWJsZXM+O1xufTtcblxuLyoqXG4gKiBDb25maWd1cmF0aW9uIGZvciBhIHJvdXRlIHJlZGlyZWN0LlxuICovXG5leHBvcnQgdHlwZSBSZWRpcmVjdCA9IHtcbiAgLyoqIE9wdGlvbmFsIHNvdXJjZSBwYXRoIHBhdHRlcm4gKi9cbiAgcGF0aD86IHN0cmluZztcbiAgLyoqIERlc3RpbmF0aW9uIHBhdGggZm9yIHRoZSByZWRpcmVjdCAqL1xuICB0bzogc3RyaW5nO1xuICAvKiogSFRUUCBzdGF0dXMgY29kZSBmb3IgdGhlIHJlZGlyZWN0ICovXG4gIHN0YXR1cz86IFJvdXRlclJlZGlyZWN0U3RhdHVzO1xufTtcblxuLyoqXG4gKiBCYXNlIHR5cGUgZm9yIGRhdGEgcHJlcGFyZWQgYnkgcm91dGUgcHJlcGFyZSBmdW5jdGlvbnMuXG4gKi9cbmV4cG9ydCB0eXBlIFByZXBhcmVSZXN1bHQgPSBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuXG4vKipcbiAqIFBhcmFtZXRlcnMgcGFzc2VkIHRvIGEgcm91dGUncyBwcmVwYXJlIGZ1bmN0aW9uLlxuICogQHRlbXBsYXRlIFRWYXJpYWJsZXMgLSBSb3V0ZSBwYXJhbWV0ZXIgdHlwZXMgZXh0cmFjdGVkIGZyb20gdGhlIFVSTCBwYXRoXG4gKi9cbmV4cG9ydCB0eXBlIFByZXBhcmVQYXJhbXM8VFZhcmlhYmxlcyBleHRlbmRzIFBhcmFtRGF0YSwgVFF1ZXJ5ID0gYW55PiA9IHtcbiAgLyoqIFRoZSBtYXRjaGVkIHJvdXRlIHdpdGggZXh0cmFjdGVkIHBhcmFtZXRlcnMgKi9cbiAgbWF0Y2g6IFJvdXRlck1hdGNoZWRSb3V0ZTxUVmFyaWFibGVzPjtcbiAgLyoqIFRoZSBmbGF0IHJvdXRlIHRoYXQgd2FzIG1hdGNoZWQgKi9cbiAgbWF0Y2hlZFJvdXRlOiBGbGF0Um91dGU8VFZhcmlhYmxlcz47XG4gIC8qKiBSZXNvdXJjZSBwYWdlIGZvciBsYXp5LWxvYWRlZCBjb21wb25lbnRzICovXG4gIHJlc291cmNlUGFnZT86IFJlc291cmNlUGFnZSB8IG51bGw7XG4gIC8qKiBFeHRyYWN0ZWQgVVJMIHBhcmFtZXRlcnMgKi9cbiAgdmFyaWFibGVzOiBUVmFyaWFibGVzO1xuICAvKiogVHlwZWQgcXVlcnkgb2JqZWN0ICovXG4gIHF1ZXJ5OiBUUXVlcnk7XG59O1xuXG4vKipcbiAqIEZ1bmN0aW9uIHRvIHByZXBhcmUgZGF0YSBmb3IgYSByb3V0ZSBiZWZvcmUgcmVuZGVyaW5nLlxuICogQHRlbXBsYXRlIFRQcmVwYXJlZCAtIFRoZSB0eXBlIG9mIGRhdGEgdGhpcyBmdW5jdGlvbiByZXR1cm5zXG4gKiBAdGVtcGxhdGUgVFZhcmlhYmxlcyAtIFJvdXRlIHBhcmFtZXRlciB0eXBlcyBleHRyYWN0ZWQgZnJvbSB0aGUgVVJMIHBhdGhcbiAqL1xuZXhwb3J0IHR5cGUgUm91dGVQcmVwYXJlPFxuICBUUHJlcGFyZWQgZXh0ZW5kcyBQcmVwYXJlUmVzdWx0LFxuICBUVmFyaWFibGVzIGV4dGVuZHMgUGFyYW1EYXRhID0gUGFyYW1EYXRhLFxuICBUUXVlcnkgPSBhbnksXG4+ID0gKHBhcmFtczogUHJlcGFyZVBhcmFtczxUVmFyaWFibGVzLCBUUXVlcnk+KSA9PiBUUHJlcGFyZWQ7XG5cbi8qKlxuICogQ29uZmlndXJhdGlvbiBmb3IgYSBzaW5nbGUgcm91dGUgaW4gdGhlIHJvdXRlci5cbiAqIEB0ZW1wbGF0ZSBUUHJlcGFyZWQgLSBUaGUgdHlwZSBvZiBwcmVwYXJlZCBkYXRhIHJldHVybmVkIGJ5IHRoZSByb3V0ZSdzIHByZXBhcmUgZnVuY3Rpb25cbiAqIEB0ZW1wbGF0ZSBUVmFyaWFibGVzIC0gUm91dGUgcGFyYW1ldGVyIHR5cGVzIGV4dHJhY3RlZCBmcm9tIHRoZSBVUkwgcGF0aFxuICovXG5leHBvcnQgdHlwZSBSb3V0ZTxcbiAgVFByZXBhcmVkIGV4dGVuZHMgUHJlcGFyZVJlc3VsdCxcbiAgVFZhcmlhYmxlcyBleHRlbmRzIFBhcmFtRGF0YSA9IFBhcmFtRGF0YSxcbiAgVFF1ZXJ5ID0gYW55LFxuPiA9IHtcbiAgLyoqIE5lc3RlZCBjaGlsZCByb3V0ZXMgb3IgcmVkaXJlY3RzICovXG4gIGNoaWxkcmVuPzogKFJvdXRlPGFueSwgYW55PiB8IFJlZGlyZWN0KVtdO1xuICAvKiogUmVzb3VyY2UgcGFnZSBmb3IgbGF6eS1sb2FkZWQgY29tcG9uZW50cyAqL1xuICByZXNvdXJjZVBhZ2U/OiBSZXNvdXJjZVBhZ2UgfCBudWxsO1xuICAvKiogVVJMIHBhdGggcGF0dGVybiBmb3IgdGhpcyByb3V0ZSAqL1xuICBwYXRoPzogc3RyaW5nO1xuICAvKiogRnVuY3Rpb24gdG8gcHJlcGFyZSBkYXRhIGJlZm9yZSByZW5kZXJpbmcgKi9cbiAgcHJlcGFyZT86IFJvdXRlUHJlcGFyZTxUUHJlcGFyZWQsIFRWYXJpYWJsZXMsIFRRdWVyeT47XG4gIC8qKiBDdXN0b20gcmVuZGVyIGZ1bmN0aW9uIGZvciB0aGlzIHJvdXRlICovXG4gIHJlbmRlcj86IFJvdXRlUmVuZGVyPFRQcmVwYXJlZCwgVFZhcmlhYmxlcz47XG4gIC8qKiBPcHRpb25hbCBxdWVyeSBzY2hlbWEgZm9yIHR5cGVkIHBhcnNpbmcgKFBoYXNlIDMgYXR0YWNobWVudCkgKi9cbiAgcXVlcnk/OiBRdWVyeVNjaGVtYTtcbiAgLyoqIE9wdGlvbmFsIHJvdXRlLWxldmVsIGZpbHRlciBzY2hlbWEgKG1lcmdlZCB3aXRoIGFuY2VzdG9yczsgZGVlcGVzdCBvdmVycmlkZSBwZXIgZmllbGQpICovXG4gIGZpbHRlclNjaGVtYT86IHsgX19kZWZpbmVkOiB0cnVlOyBzY2hlbWE6IFJlY29yZDxzdHJpbmcsIGFueT4gfTtcbn07XG5cbi8qKlxuICogUHJvcHMgcGFzc2VkIHRvIFJvdXRlQ29tcG9uZW50IGluc3RhbmNlcy5cbiAqIEB0ZW1wbGF0ZSBUVmFyaWFibGVzIC0gUm91dGUgcGFyYW1ldGVyIHR5cGVzIGV4dHJhY3RlZCBmcm9tIHRoZSBVUkwgcGF0aFxuICovXG5leHBvcnQgdHlwZSBSb3V0ZUNvbXBvbmVudFByb3BzPFRWYXJpYWJsZXMgZXh0ZW5kcyBQYXJhbURhdGE+ID0ge1xuICAvKiogQ2hpbGQgY29tcG9uZW50cyB0byByZW5kZXIgKi9cbiAgY2hpbGRyZW46IFJlYWN0RWxlbWVudDxhbnk+O1xuICAvKiogUm91dGVyIGNvbnRleHQgY29udGFpbmluZyBuYXZpZ2F0aW9uIGFuZCBzdGF0ZSAqL1xuICByb3V0ZXJDb250ZXh0OiBSb3V0aW5nQ29udGV4dFR5cGU8VFZhcmlhYmxlcz47XG4gIC8qKiBUaGUgcm91dGUgY29uZmlndXJhdGlvbiAqL1xuICByb3V0ZTogUm91dGU8YW55LCBhbnk+O1xufTtcblxuLyoqXG4gKiBDYWxsYmFjayBmdW5jdGlvbiBmb3Igcm91dGUgY2hhbmdlcy5cbiAqIEB0ZW1wbGF0ZSBUVmFyaWFibGVzIC0gUm91dGUgcGFyYW1ldGVyIHR5cGVzIGV4dHJhY3RlZCBmcm9tIHRoZSBVUkwgcGF0aFxuICovXG5leHBvcnQgdHlwZSBTdWJzY3JpYmVDYWxsYmFjazxUVmFyaWFibGVzIGV4dGVuZHMgUGFyYW1EYXRhPiA9IChcbiAgbmV4dEVudHJ5OiBSb3V0ZUVudHJ5PFRWYXJpYWJsZXM+LFxuKSA9PiB2b2lkO1xuXG4vKipcbiAqIFJvdXRlciBjb250ZXh0IHR5cGUgdGhhdCBwcm92aWRlcyBuYXZpZ2F0aW9uIGFuZCBzdGF0ZSBtYW5hZ2VtZW50LlxuICogQHRlbXBsYXRlIFRWYXJpYWJsZXMgLSBSb3V0ZSBwYXJhbWV0ZXIgdHlwZXMgZXh0cmFjdGVkIGZyb20gdGhlIFVSTCBwYXRoXG4gKi9cbmV4cG9ydCB0eXBlIFJvdXRpbmdDb250ZXh0VHlwZTxUVmFyaWFibGVzIGV4dGVuZHMgUGFyYW1EYXRhPiA9IHtcbiAgLyoqIEJyb3dzZXIgaGlzdG9yeSBpbnN0YW5jZSBmb3IgbmF2aWdhdGlvbiAqL1xuICBoaXN0b3J5OiBCcm93c2VySGlzdG9yeTtcbiAgLyoqIEdldCB0aGUgY3VycmVudCByb3V0ZSBlbnRyeSAqL1xuICBnZXQ6ICgpID0+IFJvdXRlRW50cnk8VFZhcmlhYmxlcz47XG4gIC8qKiBQcmVsb2FkIGNvZGUgZm9yIGEgcm91dGUgd2l0aG91dCBzdG9yaW5nIHRoZSByZXN1bHQgKi9cbiAgcHJlbG9hZENvZGU6IChwYXRobmFtZTogc3RyaW5nKSA9PiB2b2lkO1xuICAvKiogUHJlbG9hZCBjb2RlIGFuZCBkYXRhIGZvciBhIHJvdXRlIHdpdGhvdXQgc3RvcmluZyB0aGUgcmVzdWx0ICovXG4gIHByZWxvYWQ6IChwYXRobmFtZTogc3RyaW5nKSA9PiB2b2lkO1xuICAvKiogU3Vic2NyaWJlIHRvIHJvdXRlIGNoYW5nZXMgKi9cbiAgc3Vic2NyaWJlOiAoY2FsbGJhY2s6IFN1YnNjcmliZUNhbGxiYWNrPFRWYXJpYWJsZXM+KSA9PiAoKSA9PiB2b2lkO1xuICAvKiogTmF2aWdhdGUgd2l0aCBvcHRpb25hbCBwYXRobmFtZSBhbmQgdHlwZWQvcmF3IHF1ZXJ5IG9iamVjdCAqL1xuICBuYXZpZ2F0ZTogKG9wdHM6IHtcbiAgICBwYXRobmFtZT86IHN0cmluZztcbiAgICBxdWVyeT86IFJlY29yZDxzdHJpbmcsIGFueT47XG4gICAgcmVwbGFjZT86IGJvb2xlYW47XG4gICAgLyoqIFN0cnVjdHVyZWQgZmlsdGVycyBzdGF0ZSB0byBtZXJnZSAobXVzdCBwcm92aWRlIGZpbHRlclNjaGVtYSB0b28pICovXG4gICAgZmlsdGVycz86IFJlY29yZDxzdHJpbmcsIGFueT47XG4gICAgLyoqIERlZmluZWQgZmlsdGVyIHNjaGVtYSB3cmFwcGVyIHVzZWQgdG8gc2VyaWFsaXplIHByb3ZpZGVkIGZpbHRlcnMgKi9cbiAgICBmaWx0ZXJTY2hlbWE/OiB7IF9fZGVmaW5lZDogdHJ1ZTsgc2NoZW1hOiBSZWNvcmQ8c3RyaW5nLCBhbnk+IH07XG4gICAgLyoqIEVuYWJsZSBjb2FsZXNjaW5nIHdpdGggb3RoZXIgbmF2aWdhdGlvbnMgaW4gdGhlIHNhbWUgbWljcm90YXNrIChtYW51YWwgb3B04oCRaW4pICovXG4gICAgYmF0Y2g/OiBib29sZWFuO1xuICAgIC8qKiBGb3JjZSBpbW1lZGlhdGUgbmF2aWdhdGlvbiBldmVuIGlmIGF1dG9CYXRjaCBpcyBlbmFibGVkIGdsb2JhbGx5ICovXG4gICAgaW1tZWRpYXRlPzogYm9vbGVhbjtcbiAgfSkgPT4gdm9pZDtcbiAgLyoqIFJlc29sdmUgbWVyZ2VkIHJvdXRlLWxldmVsIGZpbHRlciBzY2hlbWEgZm9yIGEgKHBvc3NpYmx5IGN1cnJlbnQpIHBhdGhuYW1lICovXG4gIHJlc29sdmVGaWx0ZXJTY2hlbWE6IChcbiAgICBwYXRobmFtZTogc3RyaW5nLFxuICApID0+IHsgX19kZWZpbmVkOiB0cnVlOyBzY2hlbWE6IFJlY29yZDxzdHJpbmcsIGFueT4gfSB8IHVuZGVmaW5lZDtcbiAgLyoqIEdldCBtZXJnZWQgZmlsdGVyIHNjaGVtYSBmb3IgY3VycmVudCByb3V0ZSAodW5kZWZpbmVkIGlmIG5vbmUpICovXG4gIGN1cnJlbnRNZXJnZWRGaWx0ZXJTY2hlbWE6ICgpID0+XG4gICAgfCB7IF9fZGVmaW5lZDogdHJ1ZTsgc2NoZW1hOiBSZWNvcmQ8c3RyaW5nLCBhbnk+IH1cbiAgICB8IHVuZGVmaW5lZDtcbn07XG5cbi8qKlxuICogUmV0dXJuIHR5cGUgZm9yIHJlc291cmNlIHBhZ2UgbG9hZGVycy5cbiAqL1xuZXhwb3J0IHR5cGUgUmVzb3VyY2VQYWdlUmV0dXJuID1cbiAgfCB7IGRlZmF1bHQ6IENvbXBvbmVudFR5cGU8YW55PiB9XG4gIHwgQ29tcG9uZW50VHlwZTxhbnk+O1xuXG4vKipcbiAqIEZ1bmN0aW9uIHRoYXQgbG9hZHMgYSByZXNvdXJjZSBwYWdlIGNvbXBvbmVudC5cbiAqL1xuZXhwb3J0IHR5cGUgUmVzb3VyY2VQYWdlTG9hZGVyID0gKCkgPT4gUHJvbWlzZTxSZXNvdXJjZVBhZ2VSZXR1cm4+O1xuIl19
|