ng2-rest-swagger-generator 19.0.7 → 19.0.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,412 +0,0 @@
1
- import {
2
- /* */
3
- /* */
4
- _ } from 'tnp-core/websql';
5
- import { CoreHelpers as TnpHelpers } from 'tnp-core/websql';
6
- export class HelpersSwagger extends TnpHelpers {
7
- static { this.SYMBOL = {
8
- INDEX_SWG: Symbol(),
9
- OUTPUT_FOLDER: Symbol()
10
- }; }
11
- static preparePaths(apis, outputBase) {
12
- this.output = `${process.cwd()}/${outputBase}`;
13
- this.apis = apis;
14
- }
15
- static prepareModel(swg, indexSwg, isHttpsEnable) {
16
- swg[this.SYMBOL.INDEX_SWG] = indexSwg;
17
- swg.host = swg.host && (isHttpsEnable ? 'https' : 'http') + `://${swg.host.replace(/:[0-9]*/g, '')}`;
18
- if (!swg.basePath) {
19
- swg.basePath = '';
20
- }
21
- }
22
- /* */
23
- /* */
24
- /* */
25
- /* */
26
- /* */
27
- /* */
28
- /* */
29
- /* */
30
- /* */
31
- /* */
32
- /* */
33
- /* */
34
- /* */
35
- /* */
36
- /* */
37
- /* */
38
- /* */
39
- /* */
40
- /* */
41
- /* */
42
- /* */
43
- /* */
44
- static get serviceFromTag() {
45
- const self = this;
46
- return {
47
- allClassNames() {
48
- const names = [];
49
- self.apis.map(swg => {
50
- swg.tags.forEach(tag => {
51
- names.push(self.serviceFromTag.className(swg, tag));
52
- });
53
- });
54
- return names;
55
- },
56
- className(swg, tag) {
57
- const groupFolderName = self.groupFromJSON.folderName(swg);
58
- // console.log('groupFolderName', groupFolderName)
59
- const className = _.upperFirst(_.camelCase(tag.name)) + 'Service';
60
- return `${groupFolderName}${className.replace(/\//g, '')}`;
61
- },
62
- absoluteFilePath(swg, tag) {
63
- return `${self.absolutePath.PathFolder_services_groupName(swg)}/${self.serviceFromTag.className(swg, tag)}.ts`;
64
- }
65
- };
66
- }
67
- static get endpoints() {
68
- return this.apis.map(swg => {
69
- return `${this.groupFromJSON.folderName(swg)}:'${swg.host}'`;
70
- });
71
- }
72
- static get absolutePath() {
73
- const self = this;
74
- return {
75
- get output() {
76
- return self.output;
77
- },
78
- get PathFile_index_ts() {
79
- const APIpath = self.output;
80
- return `${APIpath}/index.ts`;
81
- },
82
- get PathFile_module_ts() {
83
- const APIpath = self.output;
84
- return `${APIpath}/module.ts`;
85
- },
86
- get PathFolder_services() {
87
- const APIpath = self.output;
88
- return `${APIpath}/services`;
89
- },
90
- get PathFile_services_index_ts() {
91
- return `${self.absolutePath.PathFolder_services}/index.ts`;
92
- },
93
- PathFolder_services_groupName(swg) {
94
- const groupFolderName = self.groupFromJSON.folderName(swg);
95
- // console.log('groupFolderName', groupFolderName)
96
- return `${self.absolutePath.PathFolder_services}/${groupFolderName}`;
97
- },
98
- PathFile_services_groupName_index_ts(swg) {
99
- return `${self.absolutePath.PathFolder_services_groupName(swg)}/index.ts`;
100
- },
101
- PathFile_services_groupNAme_serviceName_ts(swg, tag) {
102
- const serviceFileName = self.serviceFromTag.className(swg, tag);
103
- return `${self.absolutePath.PathFolder_services_groupName(swg)}/${serviceFileName}.ts`;
104
- }
105
- };
106
- }
107
- static get groupFromJSON() {
108
- const self = this;
109
- return {
110
- get allGroupNames() {
111
- const names = [];
112
- self.apis.map(swg => {
113
- names.push(self.groupFromJSON.folderName(swg));
114
- });
115
- return names;
116
- },
117
- folderName(swg) {
118
- const basePath = swg.basePath;
119
- const index = swg[self.SYMBOL.INDEX_SWG];
120
- return _.upperFirst(_.camelCase(basePath.trim() === '' ? `json${index}` : basePath));
121
- }
122
- };
123
- }
124
- static findTags(swg) {
125
- const tags = [];
126
- Object.keys(swg.paths).forEach(p => {
127
- Object.keys(swg.paths[p]).forEach(m => {
128
- const a = swg.paths[p][m];
129
- if (_.isArray(a.tags)) {
130
- a.tags.forEach(tag => {
131
- if (tags.filter(({ name }) => name === tag).length === 0) { // @ts-ignore
132
- tags.push({ name: tag });
133
- }
134
- });
135
- }
136
- });
137
- });
138
- return tags;
139
- }
140
- /**
141
- * To generate get/books/{id} => get_books__id_
142
- */
143
- static cleanPath(path) {
144
- return path.replace(/{/g, "_").replace(/}/g, "_").replace(/\//g, "_").replace(/-/g, "_");
145
- }
146
- static cleanPathModel(pathModel) {
147
- return pathModel.replace(/\/{/g, '/:').replace(/}/g, '');
148
- }
149
- static swaggerTypeToJS(type, itemsType = 'any') {
150
- return (type === 'integer') ? 'number'
151
- : (type === 'array') ? !itemsType ? 'any' : `${this.swaggerTypeToJS(itemsType)}[]`
152
- : (type === 'file') ? 'any' : type;
153
- }
154
- static getObjectDefinition(ref, swg, deep = 0) {
155
- if (deep == 1)
156
- return '';
157
- if (!ref) {
158
- console.log('Bad json $ref inside swagger');
159
- return '';
160
- }
161
- let res = '';
162
- ref = ref.replace('#/', '').replace(/\//g, '.');
163
- let obj = _.get(swg, ref);
164
- // if (obj.properties.viaAgentViaGroupDTOs && !getObjectDefinition.prototype.once) {
165
- // console.log('============================================================')
166
- // console.log('obj', obj)
167
- // console.log('------------------------------------------------------------')
168
- // getObjectDefinition.prototype.once = true;
169
- _.forOwn(obj.properties, (v, k) => {
170
- // console.log(obj)
171
- if (v.$ref && typeof v.$ref === "string") {
172
- res += k + ":{" + this.getObjectDefinition(v.$ref, swg, deep++) + "};\n";
173
- }
174
- else if (v.schema && v.schema.$ref && typeof v.schema.$ref === "string") {
175
- res += k + ":{" + this.getObjectDefinition(v.schema.$ref, swg, deep++) + "};\n";
176
- }
177
- else if (v.items && v.items.$ref && typeof v.items.$ref === "string" && v.type && v.type === 'array') {
178
- res += k + ":{" + this.getObjectDefinition(v.items.$ref, swg, deep++) + "}[];\n";
179
- // console.log('make love here')
180
- }
181
- else if (v.items && v.items.$ref && typeof v.items.$ref === "string") {
182
- res += k + ":{" + this.getObjectDefinition(v.items.$ref, swg, deep++) + "};\n";
183
- }
184
- else {
185
- let isRequired = (obj.required && obj.required instanceof Array && obj.required.filter(o => o === k).length > 0);
186
- let type = (v.enum && v.enum instanceof Array && v.enum.length > 0)
187
- ? v.enum.map(e => '"' + e + '"').join('|') : this.swaggerTypeToJS(v.type, v.items ? v.items.type : 'any');
188
- res += k + (!isRequired ? '?' : "") + ":" + type + ";\n";
189
- }
190
- });
191
- // console.log('res', res)
192
- // }
193
- return res;
194
- }
195
- /**
196
- * private pathes = {
197
- * get_all_companies: new SimpleResource<
198
- * string, A, TA, RP extends Object, QP extends Rest.UrlParams>(endpoint, model),
199
- * get_byid_companies: new SimpleResource<
200
- * string, A, TA, RP extends Object, QP extends Rest.UrlParams>(endpoint, model)
201
- * }
202
- */
203
- static getAngularPrivatePathesByTag(swg, tag) {
204
- let res = [];
205
- let base = swg.basePath.replace('/', '');
206
- let pathes = {};
207
- _.forOwn(swg.paths, (v, k) => {
208
- _.forOwn(v, (v2, k2) => {
209
- if (_.isArray(v2.tags) && v2.tags.filter(f => f === tag.name).length > 0) {
210
- let resp = v2.responses['200'] && v2.responses['200'].schema;
211
- // if (resp) {
212
- // TODO response handling
213
- // console.log('resp',resp);
214
- if (pathes[k] === void 0)
215
- pathes[k] = {}; // @ts-ignore
216
- let type = this.getResponseType(resp, swg);
217
- if (type.length > 3 && type.charAt(type.length - 1) === ']' && type.charAt(type.length - 2) === '['
218
- && !pathes[k]['array']) {
219
- pathes[k]['array'] = type;
220
- }
221
- else if (k2 !== 'delete' && !pathes[k]['single']) {
222
- pathes[k]['single'] = type;
223
- }
224
- // }
225
- }
226
- });
227
- });
228
- let pathResources = [];
229
- _.forOwn(pathes, (v, p) => {
230
- // console.log(`${p} - ${JSON.stringify(v)}`);
231
- pathResources.push({
232
- clean_path: this.cleanPath(p),
233
- model: this.cleanPathModel(p),
234
- endpoint: swg.basePath,
235
- singleModelType: !v['single'] ? 'any' : v['single'],
236
- multipleModelType: !v['array'] ? 'any' : v['array'],
237
- queryParamsType: 'any',
238
- pathParamsType: 'any'
239
- });
240
- });
241
- pathResources.forEach(p => {
242
- res.push(`${p.clean_path}: new SimpleResource<\n${p.singleModelType},\n${p.multipleModelType}\n>( Ng2RestGenModule.enpointUrls.${this.groupFromJSON.folderName(swg)}, '${p.model}' )`);
243
- });
244
- return `private pathes = { \n${res.join(',\n')}\n};`;
245
- }
246
- /*
247
- schema": {
248
- "type": "array",
249
- "items": {
250
- "$ref": "#/definitions/CompanyDTO"
251
- }
252
- }
253
-
254
- "schema": {
255
- "$ref": "#/definitions/CompanyDTO"
256
- }
257
- */
258
- static getResponseType(o, swg) {
259
- let res = '{} | any';
260
- if (o && o.$ref && typeof o.$ref === 'string' && o.$ref.trim() !== '') {
261
- res = "{" + this.getObjectDefinition(o.$ref, swg) + "}";
262
- // console.log('I am object', o.$ref)
263
- }
264
- else if (o && o.type === 'array' && o.items && o.items.$ref &&
265
- typeof o.items.$ref === 'string' && o.items.$ref.trim() !== '') {
266
- res = "{" + this.getObjectDefinition(o.items.$ref, swg) + "}[]";
267
- // console.log('I am array ', o.items.$ref)
268
- }
269
- // console.log('============================================================')
270
- // console.log('type', res)
271
- // console.log('------------------------------------------------------------')
272
- return res;
273
- }
274
- /* */
275
- /* */
276
- /* */
277
- /* */
278
- /* */
279
- /* */
280
- /* */
281
- /* */
282
- /* */
283
- /* */
284
- /* */
285
- /* */
286
- /* */
287
- /* */
288
- /* */
289
- /* */
290
- /* */
291
- /* */
292
- /* */
293
- /* */
294
- /* */
295
- /* */
296
- /* */
297
- /* */
298
- /* */
299
- /* */
300
- /* */
301
- /* */
302
- /* */
303
- /* */
304
- /* */
305
- /* */
306
- /* */
307
- /* */
308
- /* */
309
- /* */
310
- /* */
311
- /* */
312
- /* */
313
- /* */
314
- /* */
315
- /* */
316
- /* */
317
- /* */
318
- /* */
319
- /* */
320
- /* */
321
- /* */
322
- /* */
323
- /* */
324
- /* */
325
- /* */
326
- /* */
327
- /* */
328
- /* */
329
- /* */
330
- /* */
331
- /* */
332
- /* */
333
- /* */
334
- /* */
335
- /* */
336
- /* */
337
- /* */
338
- /* */
339
- /* */
340
- /* */
341
- /* */
342
- /* */
343
- /* */
344
- /* */
345
- /* */
346
- /* */
347
- /* */
348
- /* */
349
- /* */
350
- /* */
351
- /* */
352
- /* */
353
- /* */
354
- /* */
355
- /* */
356
- /* */
357
- /* */
358
- /* */
359
- /* */
360
- /* */
361
- /* */
362
- /* */
363
- /* */
364
- /* */
365
- /* */
366
- /* */
367
- /* */
368
- /* */
369
- /* */
370
- /* */
371
- /* */
372
- /* */
373
- /* */
374
- /* */
375
- /* */
376
- /* */
377
- /* */
378
- /* */
379
- /* */
380
- /* */
381
- /* */
382
- /* */
383
- /* */
384
- /* */
385
- /* */
386
- /* */
387
- /* */
388
- /* */
389
- /* */
390
- /* */
391
- /* */
392
- /* */
393
- /* */
394
- /* */
395
- /* */
396
- /* */
397
- /* */
398
- /* */
399
- /* */
400
- /* */
401
- /* */
402
- /* */
403
- /* */
404
- static { this.count1 = 0; }
405
- static recreateSummary(summary) {
406
- // if (!summary) {
407
- // return 'SummaryExample' + (count1++)
408
- // }
409
- return summary;
410
- }
411
- }
412
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3RtcC1saWJzLWZvci1kaXN0LXdlYnNxbC9uZzItcmVzdC1zd2FnZ2VyLWdlbmVyYXRvci9wcm9qZWN0cy9uZzItcmVzdC1zd2FnZ2VyLWdlbmVyYXRvci9zcmMvbGliL2hlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTztBQUVQLEtBQUs7QUFDTCxLQUFLO0FBRUgsQ0FBQyxFQUNGLE1BQU0saUJBQWlCLENBQUM7QUFFekIsT0FBTyxFQUFFLFdBQVcsSUFBSSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUk1RCxNQUFNLE9BQU8sY0FBZSxTQUFRLFVBQVU7YUFFckMsV0FBTSxHQUFHO1FBQ2QsU0FBUyxFQUFFLE1BQU0sRUFBRTtRQUNuQixhQUFhLEVBQUUsTUFBTSxFQUFFO0tBQ3hCLENBQUE7SUFJRCxNQUFNLENBQUMsWUFBWSxDQUFDLElBQW1DLEVBQUUsVUFBa0I7UUFDekUsSUFBSSxDQUFDLE1BQU0sR0FBRyxHQUFHLE9BQU8sQ0FBQyxHQUFHLEVBQUUsSUFBSSxVQUFVLEVBQUUsQ0FBQTtRQUM5QyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztJQUNuQixDQUFDO0lBRUQsTUFBTSxDQUFDLFlBQVksQ0FBQyxHQUFnQyxFQUFFLFFBQWdCLEVBQUUsYUFBc0I7UUFDNUYsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQUcsUUFBUSxDQUFDO1FBRXRDLEdBQUcsQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxNQUFNLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFBO1FBQ3BHLElBQUksQ0FBQyxHQUFHLENBQUMs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SztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFHTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7YUFFWSxXQUFNLEdBQUcsQ0FBQyxDQUFDO0lBRTFCLE1BQU0sQ0FBQyxlQUFlLENBQUMsT0FBZTtRQUNwQyxrQkFBa0I7UUFDbEIseUNBQXlDO1FBQ3pDLElBQUk7UUFDSixPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgcGF0aCxcbi8qICovXG4vKiAqL1xuICBcbiAgX1xufSBmcm9tICd0bnAtY29yZS93ZWJzcWwnO1xuaW1wb3J0IHsgTW9kZWxzIH0gZnJvbSAnLi9tb2RlbHMnO1xuaW1wb3J0IHsgQ29yZUhlbHBlcnMgYXMgVG5wSGVscGVycyB9IGZyb20gJ3RucC1jb3JlL3dlYnNxbCc7XG5pbXBvcnQgeyBIZWxwZXJzIH0gZnJvbSAndG5wLWhlbHBlcnMvd2Vic3FsJztcblxuXG5leHBvcnQgY2xhc3MgSGVscGVyc1N3YWdnZXIgZXh0ZW5kcyBUbnBIZWxwZXJzIHtcblxuICBzdGF0aWMgU1lNQk9MID0ge1xuICAgIElOREVYX1NXRzogU3ltYm9sKCksXG4gICAgT1VUUFVUX0ZPTERFUjogU3ltYm9sKClcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIG91dHB1dDogc3RyaW5nO1xuICBwcml2YXRlIHN0YXRpYyBhcGlzOiBNb2RlbHMuU3dhZ2dlci5Td2FnZ2VyTW9kZWxbXTtcbiAgc3RhdGljIHByZXBhcmVQYXRocyhhcGlzOiBNb2RlbHMuU3dhZ2dlci5Td2FnZ2VyTW9kZWxbXSwgb3V0cHV0QmFzZTogc3RyaW5nKSB7XG4gICAgdGhpcy5vdXRwdXQgPSBgJHtwcm9jZXNzLmN3ZCgpfS8ke291dHB1dEJhc2V9YFxuICAgIHRoaXMuYXBpcyA9IGFwaXM7XG4gIH1cblxuICBzdGF0aWMgcHJlcGFyZU1vZGVsKHN3ZzogTW9kZWxzLlN3YWdnZXIuU3dhZ2dlck1vZGVsLCBpbmRleFN3ZzogbnVtYmVyLCBpc0h0dHBzRW5hYmxlOiBib29sZWFuKSB7XG4gICAgc3dnW3RoaXMuU1lNQk9MLklOREVYX1NXR10gPSBpbmRleFN3ZztcblxuICAgIHN3Zy5ob3N0ID0gc3dnLmhvc3QgJiYgKGlzSHR0cHNFbmFibGUgPyAnaHR0cHMnIDogJ2h0dHAnKSArIGA6Ly8ke3N3Zy5ob3N0LnJlcGxhY2UoLzpbMC05XSovZywgJycpfWBcbiAgICBpZiAoIXN3Zy5iYXNlUGF0aCkge1xuICAgICAgc3dnLmJhc2VQYXRoID0gJydcbiAgICB9XG4gIH1cblxuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG5cblxuICBzdGF0aWMgZ2V0IHNlcnZpY2VGcm9tVGFnKCkge1xuICAgIGNvbnN0IHNlbGYgPSB0aGlzO1xuXG5cbiAgICByZXR1cm4ge1xuICAgICAgYWxsQ2xhc3NOYW1lcygpIHtcbiAgICAgICAgY29uc3QgbmFtZXMgPSBbXVxuICAgICAgICBzZWxmLmFwaXMubWFwKHN3ZyA9PiB7XG4gICAgICAgICAgc3dnLnRhZ3MuZm9yRWFjaCh0YWcgPT4geyAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICBuYW1lcy5wdXNoKHNlbGYuc2VydmljZUZyb21UYWcuY2xhc3NOYW1lKHN3ZywgdGFnKSlcbiAgICAgICAgICB9KVxuICAgICAgICB9KVxuICAgICAgICByZXR1cm4gbmFtZXM7XG4gICAgICB9LFxuICAgICAgY2xhc3NOYW1lKHN3ZzogTW9kZWxzLlN3YWdnZXIuU3dhZ2dlck1vZGVsLCB0YWc6IE1vZGVscy5Td2FnZ2VyLlN3YWdnZXJUYWcpIHtcbiAgICAgICAgY29uc3QgZ3JvdXBGb2xkZXJOYW1lID0gc2VsZi5ncm91cEZyb21KU09OLmZvbGRlck5hbWUoc3dnKVxuICAgICAgICAvLyBjb25zb2xlLmxvZygnZ3JvdXBGb2xkZXJOYW1lJywgZ3JvdXBGb2xkZXJOYW1lKVxuICAgICAgICBjb25zdCBjbGFzc05hbWUgPSBfLnVwcGVyRmlyc3QoXy5jYW1lbENhc2UodGFnLm5hbWUpKSArICdTZXJ2aWNlJztcbiAgICAgICAgcmV0dXJuIGAke2dyb3VwRm9sZGVyTmFtZX0ke2NsYXNzTmFtZS5yZXBsYWNlKC9cXC8vZywgJycpfWA7XG4gICAgICB9LFxuICAgICAgYWJzb2x1dGVGaWxlUGF0aChzd2c6IE1vZGVscy5Td2FnZ2VyLlN3YWdnZXJNb2RlbCwgdGFnOiBNb2RlbHMuU3dhZ2dlci5Td2FnZ2VyVGFnKSB7XG5cbiAgICAgICAgcmV0dXJuIGAke3NlbGYuYWJzb2x1dGVQYXRoLlBhdGhGb2xkZXJfc2VydmljZXNfZ3JvdXBOYW1lKHN3Zyl9LyR7c2VsZi5zZXJ2aWNlRnJvbVRhZy5jbGFzc05hbWUoc3dnLCB0YWcpfS50c2A7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgc3RhdGljIGdldCBlbmRwb2ludHMoKSB7XG4gICAgcmV0dXJuIHRoaXMuYXBpcy5tYXAoc3dnID0+IHtcbiAgICAgIHJldHVybiBgJHt0aGlzLmdyb3VwRnJvbUpTT04uZm9sZGVyTmFtZShzd2cpfTonJHtzd2cuaG9zdH0nYFxuICAgIH0pXG4gIH1cblxuXG5cbiAgc3RhdGljIGdldCBhYnNvbHV0ZVBhdGgoKSB7XG4gICAgY29uc3Qgc2VsZiA9IHRoaXM7XG5cblxuICAgIHJldHVybiB7XG4gICAgICBnZXQgb3V0cHV0KCkge1xuICAgICAgICByZXR1cm4gc2VsZi5vdXRwdXQ7XG4gICAgICB9LFxuXG4gICAgICBnZXQgUGF0aEZpbGVfaW5kZXhfdHMoKSB7XG4gICAgICAgIGNvbnN0IEFQSXBhdGggPSBzZWxmLm91dHB1dDtcbiAgICAgICAgcmV0dXJuIGAke0FQSXBhdGh9L2luZGV4LnRzYDtcbiAgICAgIH0sXG4gICAgICBnZXQgUGF0aEZpbGVfbW9kdWxlX3RzKCkge1xuICAgICAgICBjb25zdCBBUElwYXRoID0gc2VsZi5vdXRwdXQ7XG4gICAgICAgIHJldHVybiBgJHtBUElwYXRofS9tb2R1bGUudHNgO1xuICAgICAgfSxcblxuICAgICAgZ2V0IFBhdGhGb2xkZXJfc2VydmljZXMoKSB7XG4gICAgICAgIGNvbnN0IEFQSXBhdGggPSBzZWxmLm91dHB1dDtcbiAgICAgICAgcmV0dXJuIGAke0FQSXBhdGh9L3NlcnZpY2VzYDtcbiAgICAgIH0sXG5cbiAgICAgIGdldCBQYXRoRmlsZV9zZXJ2aWNlc19pbmRleF90cygpIHtcbiAgICAgICAgcmV0dXJuIGAke3NlbGYuYWJzb2x1dGVQYXRoLlBhdGhGb2xkZXJfc2VydmljZXN9L2luZGV4LnRzYDtcbiAgICAgIH0sXG5cbiAgICAgIFBhdGhGb2xkZXJfc2VydmljZXNfZ3JvdXBOYW1lKHN3ZzogTW9kZWxzLlN3YWdnZXIuU3dhZ2dlck1vZGVsKSB7XG4gICAgICAgIGNvbnN0IGdyb3VwRm9sZGVyTmFtZSA9IHNlbGYuZ3JvdXBGcm9tSlNPTi5mb2xkZXJOYW1lKHN3ZylcbiAgICAgICAgLy8gY29uc29sZS5sb2coJ2dyb3VwRm9sZGVyTmFtZScsIGdyb3VwRm9sZGVyTmFtZSlcbiAgICAgICAgcmV0dXJuIGAke3NlbGYuYWJzb2x1dGVQYXRoLlBhdGhGb2xkZXJfc2VydmljZXN9LyR7Z3JvdXBGb2xkZXJOYW1lfWA7XG4gICAgICB9LFxuXG4gICAgICBQYXRoRmlsZV9zZXJ2aWNlc19ncm91cE5hbWVfaW5kZXhfdHMoc3dnOiBNb2RlbHMuU3dhZ2dlci5Td2FnZ2VyTW9kZWwpIHtcbiAgICAgICAgcmV0dXJuIGAke3NlbGYuYWJzb2x1dGVQYXRoLlBhdGhGb2xkZXJfc2VydmljZXNfZ3JvdXBOYW1lKHN3Zyl9L2luZGV4LnRzYDtcbiAgICAgIH0sXG5cbiAgICAgIFBhdGhGaWxlX3NlcnZpY2VzX2dyb3VwTkFtZV9zZXJ2aWNlTmFtZV90cyhzd2c6IE1vZGVscy5Td2FnZ2VyLlN3YWdnZXJNb2RlbCwgdGFnOiBNb2RlbHMuU3dhZ2dlci5Td2FnZ2VyVGFnKSB7XG4gICAgICAgIGNvbnN0IHNlcnZpY2VGaWxlTmFtZSA9IHNlbGYuc2VydmljZUZyb21UYWcuY2xhc3NOYW1lKHN3ZywgdGFnKTtcbiAgICAgICAgcmV0dXJuIGAke3NlbGYuYWJzb2x1dGVQYXRoLlBhdGhGb2xkZXJfc2VydmljZXNfZ3JvdXBOYW1lKHN3Zyl9LyR7c2VydmljZUZpbGVOYW1lfS50c2A7XG4gICAgICB9XG5cbiAgICB9XG4gIH1cblxuICBzdGF0aWMgZ2V0IGdyb3VwRnJvbUpTT04oKSB7XG4gICAgY29uc3Qgc2VsZiA9IHRoaXM7XG4gICAgcmV0dXJuIHtcbiAgICAgIGdldCBhbGxHcm91cE5hbWVzKCkge1xuICAgICAgICBjb25zdCBuYW1lcyA9IFtdXG4gICAgICAgIHNlbGYuYXBpcy5tYXAoc3dnID0+IHsgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICBuYW1lcy5wdXNoKHNlbGYuZ3JvdXBGcm9tSlNPTi5mb2xkZXJOYW1lKHN3ZykpXG4gICAgICAgIH0pXG4gICAgICAgIHJldHVybiBuYW1lcztcbiAgICAgIH0sXG4gICAgICBmb2xkZXJOYW1lKHN3ZzogTW9kZWxzLlN3YWdnZXIuU3dhZ2dlck1vZGVsKSB7XG4gICAgICAgIGNvbnN0IGJhc2VQYXRoOiBzdHJpbmcgPSBzd2cuYmFzZVBhdGg7XG4gICAgICAgIGNvbnN0IGluZGV4OiBudW1iZXIgPSBzd2dbc2VsZi5TWU1CT0wuSU5ERVhfU1dHXTtcbiAgICAgICAgcmV0dXJuIF8udXBwZXJGaXJzdChfLmNhbWVsQ2FzZShiYXNlUGF0aC50cmltKCkgPT09ICcnID8gYGpzb24ke2luZGV4fWAgOiBiYXNlUGF0aCkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHN0YXRpYyBmaW5kVGFncyhzd2c6IE1vZGVscy5Td2FnZ2VyLlN3YWdnZXJNb2RlbCkge1xuICAgIGNvbnN0IHRhZ3MgPSBbXVxuICAgIE9iamVjdC5rZXlzKHN3Zy5wYXRocykuZm9yRWFjaChwID0+IHtcbiAgICAgIE9iamVjdC5rZXlzKHN3Zy5wYXRoc1twXSkuZm9yRWFjaChtID0+IHtcbiAgICAgICAgY29uc3QgYSA9IHN3Zy5wYXRoc1twXVttXTtcbiAgICAgICAgaWYgKF8uaXNBcnJheShhLnRhZ3MpKSB7XG4gICAgICAgICAgYS50YWdzLmZvckVhY2godGFnID0+IHtcbiAgICAgICAgICAgIGlmICh0YWdzLmZpbHRlcigoeyBuYW1lIH0pID0+IG5hbWUgPT09IHRhZykubGVuZ3RoID09PSAwKSB7ICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICAgIHRhZ3MucHVzaCh7IG5hbWU6IHRhZyB9KVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9KVxuICAgIH0pXG4gICAgcmV0dXJuIHRhZ3M7XG4gIH1cblxuXG5cblxuXG5cbiAgLyoqXG4gICAqIFRvIGdlbmVyYXRlIGdldC9ib29rcy97aWR9ID0+IGdldF9ib29rc19faWRfXG4gICAqL1xuICBzdGF0aWMgY2xlYW5QYXRoKHBhdGg6IHN0cmluZykge1xuICAgIHJldHVybiBwYXRoLnJlcGxhY2UoL3svZywgXCJfXCIpLnJlcGxhY2UoL30vZywgXCJfXCIpLnJlcGxhY2UoL1xcLy9nLCBcIl9cIikucmVwbGFjZSgvLS9nLCBcIl9cIik7XG4gIH1cblxuXG4gIHN0YXRpYyBjbGVhblBhdGhNb2RlbChwYXRoTW9kZWw6IHN0cmluZykge1xuICAgIHJldHVybiBwYXRoTW9kZWwucmVwbGFjZSgvXFwvey9nLCAnLzonKS5yZXBsYWNlKC99L2csICcnKTtcbiAgfVxuXG5cbiAgc3RhdGljIHN3YWdnZXJUeXBlVG9KUyh0eXBlOiBcInN0cmluZ1wiIHwgXCJudW1iZXJcIiB8IFwiaW50ZWdlclwiIHwgXCJib29sZWFuXCIgfCBcImFycmF5XCIgfCBcImZpbGVcIiwgaXRlbXNUeXBlOiBhbnkgPSAnYW55Jykge1xuICAgIHJldHVybiAodHlwZSA9PT0gJ2ludGVnZXInKSA/ICdudW1iZXInXG4gICAgICA6ICh0eXBlID09PSAnYXJyYXknKSA/ICFpdGVtc1R5cGUgPyAnYW55JyA6IGAke3RoaXMuc3dhZ2dlclR5cGVUb0pTKGl0ZW1zVHlwZSl9W11gXG4gICAgICAgIDogKHR5cGUgPT09ICdmaWxlJykgPyAnYW55JyA6IHR5cGU7XG4gIH1cblxuXG5cbiAgc3RhdGljIGdldE9iamVjdERlZmluaXRpb24ocmVmOiBzdHJpbmcsIHN3ZzogTW9kZWxzLlN3YWdnZXIuU3dhZ2dlck1vZGVsLCBkZWVwID0gMCk6IHN0cmluZyB7XG4gICAgaWYgKGRlZXAgPT0gMSkgcmV0dXJuICcnO1xuICAgIGlmICghcmVmKSB7XG4gICAgICBjb25zb2xlLmxvZygnQmFkIGpzb24gJHJlZiBpbnNpZGUgc3dhZ2dlcicpXG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuICAgIGxldCByZXMgPSAnJztcbiAgICByZWYgPSByZWYucmVwbGFjZSgnIy8nLCAnJykucmVwbGFjZSgvXFwvL2csICcuJyk7XG5cbiAgICBsZXQgb2JqOiBNb2RlbHMuU3dhZ2dlci5Td2FnZ2VyRGVmID0gPE1vZGVscy5Td2FnZ2VyLlN3YWdnZXJEZWY+Xy5nZXQoc3dnLCByZWYpO1xuXG4gICAgLy8gaWYgKG9iai5wcm9wZXJ0aWVzLnZpYUFnZW50VmlhR3JvdXBEVE9zICYmICFnZXRPYmplY3REZWZpbml0aW9uLnByb3RvdHlwZS5vbmNlKSB7XG4gICAgLy8gICAgIGNvbnNvbGUubG9nKCc9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0nKVxuICAgIC8vICAgICBjb25zb2xlLmxvZygnb2JqJywgb2JqKVxuICAgIC8vICAgICBjb25zb2xlLmxvZygnLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tJylcbiAgICAvLyAgICAgZ2V0T2JqZWN0RGVmaW5pdGlvbi5wcm90b3R5cGUub25jZSA9IHRydWU7XG5cblxuXG4gICAgXy5mb3JPd24ob2JqLnByb3BlcnRpZXMsICh2LCBrKSA9PiB7XG4gICAgICAvLyBjb25zb2xlLmxvZyhvYmopXG4gICAgICBpZiAodi4kcmVmICYmIHR5cGVvZiB2LiRyZWYgPT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgcmVzICs9IGsgKyBcIjp7XCIgKyB0aGlzLmdldE9iamVjdERlZmluaXRpb24odi4kcmVmLCBzd2csIGRlZXArKykgKyBcIn07XFxuXCI7XG4gICAgICB9IGVsc2UgaWYgKHYuc2NoZW1hICYmIHYuc2NoZW1hLiRyZWYgJiYgdHlwZW9mIHYuc2NoZW1hLiRyZWYgPT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgcmVzICs9IGsgKyBcIjp7XCIgKyB0aGlzLmdldE9iamVjdERlZmluaXRpb24odi5zY2hlbWEuJHJlZiwgc3dnLCBkZWVwKyspICsgXCJ9O1xcblwiO1xuXG4gICAgICB9IGVsc2UgaWYgKHYuaXRlbXMgJiYgdi5pdGVtcy4kcmVmICYmIHR5cGVvZiB2Lml0ZW1zLiRyZWYgPT09IFwic3RyaW5nXCIgJiYgdi50eXBlICYmIHYudHlwZSA9PT0gJ2FycmF5Jykge1xuICAgICAgICByZXMgKz0gayArIFwiOntcIiArIHRoaXMuZ2V0T2JqZWN0RGVmaW5pdGlvbih2Lml0ZW1zLiRyZWYsIHN3ZywgZGVlcCsrKSArIFwifVtdO1xcblwiO1xuICAgICAgICAvLyBjb25zb2xlLmxvZygnbWFrZSBsb3ZlIGhlcmUnKVxuXG4gICAgICB9IGVsc2UgaWYgKHYuaXRlbXMgJiYgdi5pdGVtcy4kcmVmICYmIHR5cGVvZiB2Lml0ZW1zLiRyZWYgPT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgcmVzICs9IGsgKyBcIjp7XCIgKyB0aGlzLmdldE9iamVjdERlZmluaXRpb24odi5pdGVtcy4kcmVmLCBzd2csIGRlZXArKykgKyBcIn07XFxuXCI7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBsZXQgaXNSZXF1aXJlZCA9IChvYmoucmVxdWlyZWQgJiYgb2JqLnJlcXVpcmVkIGluc3RhbmNlb2YgQXJyYXkgJiYgb2JqLnJlcXVpcmVkLmZpbHRlcihvID0+IG8gPT09IGspLmxlbmd0aCA+IDApXG4gICAgICAgIGxldCB0eXBlID0gKHYuZW51bSAmJiB2LmVudW0gaW5zdGFuY2VvZiBBcnJheSAmJiB2LmVudW0ubGVuZ3RoID4gMClcbiAgICAgICAgICA/IHYuZW51bS5tYXAoZSA9PiAnXCInICsgZSArICdcIicpLmpvaW4oJ3wnKSA6IHRoaXMuc3dhZ2dlclR5cGVUb0pTKHYudHlwZSwgdi5pdGVtcyA/IHYuaXRlbXMudHlwZSA6ICdhbnknKTtcblxuICAgICAgICByZXMgKz0gayArICghaXNSZXF1aXJlZCA/ICc/JyA6IFwiXCIpICsgXCI6XCIgKyB0eXBlICsgXCI7XFxuXCJcbiAgICAgIH1cbiAgICB9KTtcbiAgICAvLyAgICAgY29uc29sZS5sb2coJ3JlcycsIHJlcylcbiAgICAvLyB9XG5cbiAgICByZXR1cm4gcmVzO1xuICB9XG5cblxuXG4gIC8qKlxuICAgKiBwcml2YXRlIHBhdGhlcyA9IHtcbiAgICogICAgICBnZXRfYWxsX2NvbXBhbmllczogbmV3IFNpbXBsZVJlc291cmNlPFxuICAgKiAgICAgICAgICBzdHJpbmcsIEEsIFRBLCBSUCBleHRlbmRzIE9iamVjdCwgUVAgZXh0ZW5kcyBSZXN0LlVybFBhcmFtcz4oZW5kcG9pbnQsIG1vZGVsKSxcbiAgICogICAgICBnZXRfYnlpZF9jb21wYW5pZXM6IG5ldyBTaW1wbGVSZXNvdXJjZTxcbiAgICogICAgICAgICAgc3RyaW5nLCBBLCBUQSwgUlAgZXh0ZW5kcyBPYmplY3QsIFFQIGV4dGVuZHMgUmVzdC5VcmxQYXJhbXM+KGVuZHBvaW50LCBtb2RlbClcbiAgICogfVxuICAgKi9cbiAgc3RhdGljIGdldEFuZ3VsYXJQcml2YXRlUGF0aGVzQnlUYWcoc3dnOiBNb2RlbHMuU3dhZ2dlci5Td2FnZ2VyTW9kZWwsIHRhZzogTW9kZWxzLlN3YWdnZXIuU3dhZ2dlclRhZyk6IHN0cmluZyB7XG4gICAgbGV0IHJlczogc3RyaW5nW10gPSBbXTtcbiAgICBsZXQgYmFzZSA9IHN3Zy5iYXNlUGF0aC5yZXBsYWNlKCcvJywgJycpO1xuXG4gICAgbGV0IHBhdGhlczogT2JqZWN0ID0ge307XG4gICAgXy5mb3JPd24oc3dnLnBhdGhzLCAodiwgaykgPT4ge1xuICAgICAgXy5mb3JPd24odiwgKHYyLCBrMikgPT4ge1xuICAgICAgICBpZiAoXy5pc0FycmF5KHYyLnRhZ3MpICYmIHYyLnRhZ3MuZmlsdGVyKGYgPT4gZiA9PT0gdGFnLm5hbWUpLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICBsZXQgcmVzcCA9IHYyLnJlc3BvbnNlc1snMjAwJ10gJiYgdjIucmVzcG9uc2VzWycyMDAnXS5zY2hlbWE7XG5cbiAgICAgICAgICAvLyBpZiAocmVzcCkge1xuICAgICAgICAgIC8vIFRPRE8gcmVzcG9uc2UgaGFuZGxpbmdcbiAgICAgICAgICAvLyBjb25zb2xlLmxvZygncmVzcCcscmVzcCk7XG4gICAgICAgICAgaWYgKHBhdGhlc1trXSA9PT0gdm9pZCAwKSBwYXRoZXNba10gPSB7fTsgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgIGxldCB0eXBlID0gdGhpcy5nZXRSZXNwb25zZVR5cGUocmVzcCwgc3dnKTtcblxuICAgICAgICAgIGlmICh0eXBlLmxlbmd0aCA+IDMgJiYgdHlwZS5jaGFyQXQodHlwZS5sZW5ndGggLSAxKSA9PT0gJ10nICYmIHR5cGUuY2hhckF0KHR5cGUubGVuZ3RoIC0gMikgPT09ICdbJ1xuICAgICAgICAgICAgJiYgIXBhdGhlc1trXVsnYXJyYXknXSkge1xuICAgICAgICAgICAgcGF0aGVzW2tdWydhcnJheSddID0gdHlwZTtcbiAgICAgICAgICB9IGVsc2UgaWYgKGsyICE9PSAnZGVsZXRlJyAmJiAhcGF0aGVzW2tdWydzaW5nbGUnXSkge1xuICAgICAgICAgICAgcGF0aGVzW2tdWydzaW5nbGUnXSA9IHR5cGU7XG4gICAgICAgICAgfVxuICAgICAgICAgIC8vIH1cblxuXG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgfSlcblxuICAgIGxldCBwYXRoUmVzb3VyY2VzOiBNb2RlbHMuUGF0aFJlc291cmNlW10gPSBbXTtcblxuICAgIF8uZm9yT3duKHBhdGhlcywgKHYsIHApID0+IHtcbiAgICAgIC8vIGNvbnNvbGUubG9nKGAke3B9IC0gJHtKU09OLnN0cmluZ2lmeSh2KX1gKTtcbiAgICAgIHBhdGhSZXNvdXJjZXMucHVzaCh7XG4gICAgICAgIGNsZWFuX3BhdGg6IHRoaXMuY2xlYW5QYXRoKHApLFxuICAgICAgICBtb2RlbDogdGhpcy5jbGVhblBhdGhNb2RlbChwKSxcbiAgICAgICAgZW5kcG9pbnQ6IHN3Zy5iYXNlUGF0aCxcbiAgICAgICAgc2luZ2xlTW9kZWxUeXBlOiAhdlsnc2luZ2xlJ10gPyAnYW55JyA6IHZbJ3NpbmdsZSddLFxuICAgICAgICBtdWx0aXBsZU1vZGVsVHlwZTogIXZbJ2FycmF5J10gPyAnYW55JyA6IHZbJ2FycmF5J10sXG4gICAgICAgIHF1ZXJ5UGFyYW1zVHlwZTogJ2FueScsXG4gICAgICAgIHBhdGhQYXJhbXNUeXBlOiAnYW55J1xuICAgICAgfSlcbiAgICB9KVxuXG5cbiAgICBwYXRoUmVzb3VyY2VzLmZvckVhY2gocCA9PiB7XG4gICAgICByZXMucHVzaChgJHtwLmNsZWFuX3BhdGh9OiBuZXcgU2ltcGxlUmVzb3VyY2U8XFxuJHtwLnNpbmdsZU1vZGVsVHlwZX0sXFxuJHtwLm11bHRpcGxlTW9kZWxUeXBlfVxcbj4oIE5nMlJlc3RHZW5Nb2R1bGUuZW5wb2ludFVybHMuJHt0aGlzLmdyb3VwRnJvbUpTT04uZm9sZGVyTmFtZShzd2cpfSwgJyR7cC5tb2RlbH0nIClgKTtcbiAgICB9KVxuXG4gICAgcmV0dXJuIGBwcml2YXRlIHBhdGhlcyA9IHsgXFxuJHtyZXMuam9pbignLFxcbicpfVxcbn07YFxuICB9XG5cblxuICAvKlxuICAgc2NoZW1hXCI6IHtcbiAgICAgIFwidHlwZVwiOiBcImFycmF5XCIsXG4gICAgICBcIml0ZW1zXCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL0NvbXBhbnlEVE9cIlxuICAgICAgfVxuICB9XG5cbiAgXCJzY2hlbWFcIjoge1xuICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9Db21wYW55RFRPXCJcbiAgfVxuICAgKi9cblxuICBzdGF0aWMgZ2V0UmVzcG9uc2VUeXBlKG86IE1vZGVscy5Td2FnZ2VyLk9ialNjaGVtYSwgc3dnOiBNb2RlbHMuU3dhZ2dlci5Td2FnZ2VyTW9kZWwpIHtcbiAgICBsZXQgcmVzID0gJ3t9IHwgYW55JztcbiAgICBpZiAobyAmJiBvLiRyZWYgJiYgdHlwZW9mIG8uJHJlZiA9PT0gJ3N0cmluZycgJiYgby4kcmVmLnRyaW0oKSAhPT0gJycpIHtcbiAgICAgIHJlcyA9IFwie1wiICsgdGhpcy5nZXRPYmplY3REZWZpbml0aW9uKG8uJHJlZiwgc3dnKSArIFwifVwiO1xuICAgICAgLy8gY29uc29sZS5sb2coJ0kgYW0gb2JqZWN0Jywgby4kcmVmKVxuICAgIH0gZWxzZSBpZiAobyAmJiBvLnR5cGUgPT09ICdhcnJheScgJiYgby5pdGVtcyAmJiBvLml0ZW1zLiRyZWYgJiZcbiAgICAgIHR5cGVvZiBvLml0ZW1zLiRyZWYgPT09ICdzdHJpbmcnICYmIG8uaXRlbXMuJHJlZi50cmltKCkgIT09ICcnKSB7XG4gICAgICByZXMgPSBcIntcIiArIHRoaXMuZ2V0T2JqZWN0RGVmaW5pdGlvbihvLml0ZW1zLiRyZWYsIHN3ZykgKyBcIn1bXVwiO1xuICAgICAgLy8gY29uc29sZS5sb2coJ0kgYW0gYXJyYXkgJywgby5pdGVtcy4kcmVmKVxuICAgIH1cbiAgICAvLyBjb25zb2xlLmxvZygnPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09JylcbiAgICAvLyBjb25zb2xlLmxvZygndHlwZScsIHJlcylcbiAgICAvLyBjb25zb2xlLmxvZygnLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tJylcbiAgICByZXR1cm4gcmVzO1xuICB9XG5cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuICBwcml2YXRlIHN0YXRpYyBjb3VudDEgPSAwO1xuXG4gIHN0YXRpYyByZWNyZWF0ZVN1bW1hcnkoc3VtbWFyeTogc3RyaW5nKSB7XG4gICAgLy8gaWYgKCFzdW1tYXJ5KSB7XG4gICAgLy8gICByZXR1cm4gJ1N1bW1hcnlFeGFtcGxlJyArIChjb3VudDErKylcbiAgICAvLyB9XG4gICAgcmV0dXJuIHN1bW1hcnk7XG4gIH1cblxuXG5cbiAgLy8gdHlwZSBQYXJhbXMgPSB7IHF1ZXJ5OiBhbnlbXSwgcGF0aDogYW55W10sIGJvZHk6IGFueVtdIH07XG4gIC8vIHR5cGUgUGFyYW1zVHlwZSA9IHsgcXVlcnk6IHN0cmluZywgcGF0aDogc3RyaW5nLCBib2R5OiBzdHJpbmcgfTtcblxuICAvLyBleHBvcnQgZnVuY3Rpb24gZ2V0U2luZ2xlUGFyYW1zVHlwZUZvclBhdGgodGFnOiBzdHJpbmcsIHN3ZzogU3dhZ2dlck1vZGVsKTogUGFyYW1zVHlwZSB7XG4gIC8vICAgICBsZXQgcmVzOiBQYXJhbXNUeXBlID0gPFBhcmFtc1R5cGU+e307XG5cbiAgLy8gICAgIGZvciAobGV0IHVybHBhdGggaW4gc3dnLnBhdGhzKSB7XG5cbiAgLy8gICAgICAgICBmb3IgKGxldCBtZXRob2RodHRwIGluIHN3Zy5wYXRoc1t1cmxwYXRoXSkge1xuICAvLyAgICAgICAgICAgICBsZXQgbSA9IHN3Zy5wYXRoc1t1cmxwYXRoXVttZXRob2RodHRwXTtcbiAgLy8gICAgICAgICAgICAgaWYgKG0udGFncy5maWx0ZXIodCA9PiB0ID09PSB0YWcpLmxlbmd0aCA9PT0gMSkge1xuXG4gIC8vICAgICAgICAgICAgICAgICBsZXQgcGFyYW1zOiBQYXJhbXMgPSA8UGFyYW1zPnt9O1xuICAvLyAgICAgICAgICAgICAgICAgcGFyYW1zLnF1ZXJ5ID0gW107XG4gIC8vICAgICAgICAgICAgICAgICBwYXJhbXMucGF0aCA9IFtdO1xuICAvLyAgICAgICAgICAgICAgICAgcGFyYW1zLmJvZHkgPSBbXTtcblxuICAvLyAgICAgICAgICAgICAgICAgaWYgKG0ucGFyYW1ldGVycykgbS5wYXJhbWV0ZXJzLmZvckVhY2gocGFyYW0gPT4ge1xuICAvLyAgICAgICAgICAgICAgICAgICAgIGlmIChwYXJhbS5pbiA9PT0gJ2JvZHknKSB7XG4gIC8vICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtcy5ib2R5LnB1c2goe1xuICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogcGFyYW0ubmFtZSxcbiAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IFwie1wiICsgU3dhZ2dlckhlbHBlcnMuZ2V0T2JqZWN0RGVmaW5pdGlvbihwYXJhbS5zY2hlbWEuJHJlZiwgc3dnKSArIFwifVwiLFxuICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6IHBhcmFtLnJlcXVpcmVkXG4gIC8vICAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gIC8vICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1zW3BhcmFtLmluXS5wdXNoKHtcbiAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IHBhcmFtLm5hbWUsXG4gIC8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBTd2FnZ2VySGVscGVycy5zd2FnZ2VyVHlwZVRvSlMocGFyYW0udHlwZSksXG4gIC8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogcGFyYW0ucmVxdWlyZWRcbiAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgLy8gICAgICAgICAgICAgICAgICAgICB9XG5cbiAgLy8gICAgICAgICAgICAgICAgIH0pXG5cbiAgLy8gICAgICAgICAgICAgfVxuICAvLyAgICAgICAgIH1cbiAgLy8gICAgIH1cblxuICAvLyAgICAgcmV0dXJuIHJlcztcbiAgLy8gfVxuXG5cbn0iXX0=
@@ -1,2 +0,0 @@
1
- export * from './helpers';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItZGlzdC13ZWJzcWwvbmcyLXJlc3Qtc3dhZ2dlci1nZW5lcmF0b3IvcHJvamVjdHMvbmcyLXJlc3Qtc3dhZ2dlci1nZW5lcmF0b3Ivc3JjL2xpYi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFdBQVcsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vaGVscGVycyc7XG4iXX0=
@@ -1,3 +0,0 @@
1
- // import { Models as MorphiModels } from 'morphi';
2
- export {};
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3Qtd2Vic3FsL25nMi1yZXN0LXN3YWdnZXItZ2VuZXJhdG9yL3Byb2plY3RzL25nMi1yZXN0LXN3YWdnZXItZ2VuZXJhdG9yL3NyYy9saWIvbW9kZWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLG1EQUFtRCIsInNvdXJjZXNDb250ZW50IjpbIi8vIGltcG9ydCB7IE1vZGVscyBhcyBNb3JwaGlNb2RlbHMgfSBmcm9tICdtb3JwaGknO1xuXG5cbmV4cG9ydCBuYW1lc3BhY2UgTW9kZWxzIHtcbiAgLy8gZXhwb3J0IGltcG9ydCBNb3JwaGkgPSBNb3JwaGlNb2RlbHM7XG5cbiAgZXhwb3J0IGludGVyZmFjZSBQYXRoUmVzb3VyY2Uge1xuICAgIGNsZWFuX3BhdGg/OiBzdHJpbmc7XG4gICAgc2luZ2xlTW9kZWxUeXBlPzogc3RyaW5nO1xuICAgIG11bHRpcGxlTW9kZWxUeXBlPzogc3RyaW5nO1xuICAgIHBhdGhQYXJhbXNUeXBlPzogc3RyaW5nO1xuICAgIHF1ZXJ5UGFyYW1zVHlwZT86IHN0cmluZztcbiAgICBlbmRwb2ludD86IHN0cmluZztcbiAgICBtb2RlbD86IHN0cmluZztcbiAgfVxuXG4gIGV4cG9ydCBpbnRlcmZhY2UgUGFyYW0ge1xuICAgIG5hbWU6IHN0cmluZztcbiAgICB0eXBlOiBzdHJpbmc7IC8vIFwic3RyaW5nXCIgfCBcIm51bWJlclwiIHwgXCJpbnRlZ2VyXCIgfCBcImJvb2xlYW5cIiB8IFwiYXJyYXlcIiB8IFwiZmlsZVwiO1xuICAgIHJlcXVpcmVkOiBib29sZWFuO1xuICAgIGlzT2JqZWN0PzogYm9vbGVhbjtcbiAgfVxuXG4gIGV4cG9ydCBpbnRlcmZhY2UgU2VydmljZU1ldGhvZCB7XG4gICAgc3VtbWFyeTogc3RyaW5nO1xuICAgIHBhdGhfY2xlYW5kOiBzdHJpbmc7XG4gICAgcGFyYW1zOiB7XG4gICAgICBwYXRoPzogUGFyYW1bXTtcbiAgICAgIHF1ZXJ5PzogUGFyYW1bXTtcbiAgICAgIGJvZHk/OiBQYXJhbVtdO1xuICAgIH1cbiAgICBtZXRob2Q6ICBhbnk7IC8vTW9ycGhpLlJlc3QuSHR0cE1ldGhvZDtcbiAgICBpc0FycmF5OiBib29sZWFuO1xuICAgIGNvbW1lbnQ/OiBzdHJpbmc7XG4gIH1cblxuXG5cbiAgZXhwb3J0IG5hbWVzcGFjZSBTd2FnZ2VyIHtcbiAgICBleHBvcnQgdHlwZSBEYXRhRm9ybWF0ID0gJ2ludDMyJyB8ICdpbnQ2NCcgfCAnZG91YmxlJyB8ICdmbG9hdCdcbiAgICBleHBvcnQgdHlwZSBEYXRhVHlwZSA9ICdvYmplY3QnIHwgJ2FycmF5JyB8ICdzdHJpbmcnIHwgJ2Jvb2xlYW4nXG5cblxuICAgIGV4cG9ydCBpbnRlcmZhY2UgUHJvcGVydHlOYW1lIHtcbiAgICAgIFtuYW1lOiBzdHJpbmddOiBQYXJhbWV0ZXJcbiAgICB9XG5cbiAgICBleHBvcnQgaW50ZXJmYWNlIFN3YWdnZXJEZWYge1xuICAgICAgcmVxdWlyZWQ6IHN0cmluZ1tdO1xuICAgICAgdHlwZTogRGF0YVR5cGU7XG4gICAgICBwcm9wZXJ0aWVzOiBQcm9wZXJ0eU5hbWU7XG4gICAgfVxuXG5cbiAgICBleHBvcnQgaW50ZXJmYWNlIFN3YWdnZXJEZWZpbml0aW9uIHtcbiAgICAgIFtuYW1lOiBzdHJpbmddOiBTd2FnZ2VyRGVmO1xuICAgIH1cblxuICAgIGV4cG9ydCBpbnRlcmZhY2UgT2JqU2NoZW1hIHtcbiAgICAgICRyZWY6IHN0cmluZztcbiAgICAgIHR5cGU6IFwic3RyaW5nXCIgfCBcIm51bWJlclwiIHwgXCJpbnRlZ2VyXCIgfCBcImJvb2xlYW5cIiB8IFwiYXJyYXlcIiB8IFwiZmlsZVwiO1xuICAgICAgaXRlbXM6IHtcbiAgICAgICAgJHJlZjogc3RyaW5nO1xuICAgICAgfVxuICAgIH1cblxuICAgIGV4cG9ydCBpbnRlcmZhY2UgUmVzcG9uc2Uge1xuICAgICAgZGVzY3JpcHRpb246IHN0cmluZztcbiAgICAgIHNjaGVtYTogT2JqU2NoZW1hO1xuICAgIH1cblxuICAgIGV4cG9ydCBpbnRlcmZhY2UgU3dhZ2dlclJlc3BvbnNlIHtcbiAgICAgIFtwYXRoOiBzdHJpbmddOiBSZXNwb25zZTtcbiAgICB9XG5cbiAgICBleHBvcnQgaW50ZXJmYWNlIFBhcmFtZXRlciB7XG4gICAgICAkcmVmOiBzdHJpbmc7XG4gICAgICAvKipcbiAgICAgICAqIFx0UmVxdWlyZWQuIFRoZSBzY2hlbWEgZGVmaW5pbmcgdGhlIHR5cGUgdXNlZCBmb3IgdGhlIGJvZHkgcGFyYW1ldGVyLlxuICAgICAgICovXG4gICAgICBzY2hlbWE6IHtcbiAgICAgICAgJHJlZjogc3RyaW5nO1xuICAgICAgICBpdGVtczogUGFyYW1ldGVyO1xuICAgICAgICB0eXBlOiBcInN0cmluZ1wiIHwgXCJudW1iZXJcIiB8IFwiaW50ZWdlclwiIHwgXCJib29sZWFuXCIgfCBcImFycmF5XCIgfCBcImZpbGVcIjtcbiAgICAgIH1cbiAgICAgIC8qKlxuICAgICAgICogUmVxdWlyZWQuIFRoZSBuYW1lIG9mIHRoZSBwYXJhbWV0ZXIuIFBhcmFtZXRlciBuYW1lcyBhcmUgY2FzZSBzZW5zaXRpdmUuXG4gICAgICAgKiBJZiBpbiBpcyBcInBhdGhcIiwgdGhlIG5hbWUgZmllbGQgTVVTVCBjb3JyZXNwb25kIHRvIHRoZSBhc3NvY2lhdGVkIHBhdGggc2VnbWVudFxuICAgICAgICogZnJvbSB0aGUgcGF0aCBmaWVsZCBpbiB0aGUgUGF0aHMgT2JqZWN0LiBTZWUgUGF0aCBUZW1wbGF0aW5nIGZvciBmdXJ0aGVyIGluZm9ybWF0aW9uLlxuICAgICAgICogRm9yIGFsbCBvdGhlciBjYXNlcywgdGhlIG5hbWUgY29ycmVzcG9uZHMgdG8gdGhlIHBhcmFtZXRlciBuYW1lIHVzZWQgYmFzZWQgb24gdGhlIGluIHByb3BlcnR5LlxuICAgICAgICovXG4gICAgICBuYW1lOiBzdHJpbmc7XG4gICAgICBpbjogJ3F1ZXJ5JyB8ICdwYXRoJyB8ICdib2R5JyB8ICdmb3JtRGF0YScgfCAnaGVhZGVyJztcbiAgICAgIC8qKlxuICAgICAgICogQSBicmllZiBkZXNjcmlwdGlvbiBvZiB0aGUgcGFyYW1ldGVyLiBUaGlzIGNvdWxkIGNvbnRhaW4gZXhhbXBsZXMgb2YgdXNlLlxuICAgICAgICogIEdGTSBzeW50YXggY2FuIGJlIHVzZWQgZm9yIHJpY2ggdGV4dCByZXByZXNlbnRhdGlvbi5cbiAgICAgICAqL1xuICAgICAgZGVzY3JpcHRpb246IHN0cmluZztcbiAgICAgIC8qKlxuICAgICAgICogUmVxdWlyZWQgaWYgdHlwZSBpcyBcImFycmF5XCIuIERlc2NyaWJlcyB0aGUgdHlwZSBvZiBpdGVtcyBpbiB0aGUgYXJyYXkuXG4gICAgICAgKi9cbiAgICAgIGl0ZW1zOiBQYXJhbWV0ZXI7XG4gICAgICByZXF1aXJlZDogYm9vbGVhbjtcbiAgICAgIC8qKlxuICAgICAgICogU2V0cyB0aGUgYWJpbGl0eSB0byBwYXNzIGVtcHR5LXZhbHVlZCBwYXJhbWV0ZXJzLiBUaGlzIGlzIHZhbGlkIG9ubHlcbiAgICAgICAqIGZvciBlaXRoZXIgcXVlcnkgb3IgZm9ybURhdGEgcGFyYW1ldGVycyBhbmQgYWxsb3dzIHlvdSB0byBzZW5kIGEgcGFyYW1ldGVyXG4gICAgICAgKiAgd2l0aCBhIG5hbWUgb25seSBvciBhbiBlbXB0eSB2YWx1ZS4gRGVmYXVsdCB2YWx1ZSBpcyBmYWxzZS5cbiAgICAgICAqL1xuICAgICAgYWxsb3dFbXB0eVZhbHVlOiBib29sZWFuO1xuICAgICAgLyoqXG4gICAgICAgKiBSZXF1aXJlZC4gVGhlIHR5cGUgb2YgdGhlIHBhcmFtZXRlci4gU2luY2UgdGhlIHBhcmFtZXRlciBpcyBub3QgbG9jYXRlZFxuICAgICAgICogYXQgdGhlIHJlcXVlc3QgYm9keSwgaXQgaXMgbGltaXRlZCB0byBzaW1wbGUgdHlwZXMgKHRoYXQgaXMsIG5vdCBhbiBvYmplY3QpLlxuICAgICAgICogIFRoZSB2YWx1ZSBNVVNUIGJlIG9uZSBvZiBcInN0cmluZ1wiLCBcIm51bWJlclwiLCBcImludGVnZXJcIiwgXCJib29sZWFuXCIsIFwiYXJyYXlcIlxuICAgICAgICogb3IgXCJmaWxlXCIuIElmIHR5cGUgaXMgXCJmaWxlXCIsIHRoZSBjb25zdW1lcyBNVVNUIGJlIGVpdGhlciBcIm11bHRpcGFydC9mb3JtLWRhdGFcIixcbiAgICAgICAqIFwiIGFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZFwiIG9yIGJvdGggYW5kIHRoZSBwYXJhbWV0ZXIgTVVTVCBiZSBpbiBcImZvcm1EYXRhXCIuXG4gICAgICAgKi9cbiAgICAgIHR5cGU6IFwic3RyaW5nXCIgfCBcIm51bWJlclwiIHwgXCJpbnRlZ2VyXCIgfCBcImJvb2xlYW5cIiB8IFwiYXJyYXlcIiB8IFwiZmlsZVwiO1xuICAgICAgZm9ybWF0OiBcImludDMyXCIgfCBcImludDY0XCIgfCBcImZsb2F0XCIgfCBcImRvdWJsZVwiIHwgXCJieXRlXCIgfCBcImJpbmFyeVwiIHwgXCJkYXRlXCIgfCBcImRhdGUtdGltZVwiIHwgXCJwYXNzd29yZFwiO1xuICAgICAgLyoqXG4gICAgICAgKiBEZXRlcm1pbmVzIHRoZSBmb3JtYXQgb2YgdGhlIGFycmF5IGlmIHR5cGUgYXJyYXkgaXMgdXNlZC4gUG9zc2libGUgdmFsdWVzIGFyZTpcbiAgICAgICAqIGNzdiAtIGNvbW1hIHNlcGFyYXRlZCB2YWx1ZXMgZm9vLGJhci5cbiAgICAgICAqIHNzdiAtIHNwYWNlIHNlcGFyYXRlZCB2YWx1ZXMgZm9vIGJhci5cbiAgICAgICAqIHRzdiAtIHRhYiBzZXBhcmF0ZWQgdmFsdWVzIGZvb1xcdGJhci5cbiAgICAgICAqIHBpcGVzIC0gcGlwZSBzZXBhcmF0ZWQgdmFsdWVzIGZvb3xiYXIuXG4gICAgICAgKiBEZWZhdWx0IHZhbHVlIGlzIGNzdi5cbiAgICAgICAqL1xuICAgICAgY29sbGVjdGlvbkZvcm1hdDogJ2NzdicgfCAnc3N2JyB8ICd0c3YnIHwgJ3BpcGVzJztcbiAgICAgIC8qKlxuICAgICAgICogRGVjbGFyZXMgdGhlIHZhbHVlIG9mIHRoZSBpdGVtIHRoYXQgdGhlIHNlcnZlciB3aWxsIHVzZSBpZiBub25lIGlzIHByb3ZpZGVkLlxuICAgICAgICogKE5vdGU6IFwiZGVmYXVsdFwiIGhhcyBubyBtZWFuaW5nIGZvciByZXF1aXJlZCBpdGVtcy4pXG4gICAgICAgKiBTZWUgaHR0cDovL2pzb24tc2NoZW1hLm9yZy9sYXRlc3QvanNvbi1zY2hlbWEtdmFsaWRhdGlvbi5odG1sI2FuY2hvcjEwMS5cbiAgICAgICAqICBVbmxpa2UgSlNPTiBTY2hlbWEgdGhpcyB2YWx1ZSBNVVNUIGNvbmZvcm0gdG8gdGhlIGRlZmluZWQgdHlwZSBmb3IgdGhlIGRhdGEgdHlwZS5cbiAgICAgICAqL1xuICAgICAgZGVmYXVsdDogYW55O1xuICAgICAgLyoqXG4gICAgICAgKiBUaGUgdmFsdWUgb2YgdGhpcyBrZXl3b3JkIE1VU1QgYmUgYW4gYXJyYXkuXG4gICAgICAgKiBUaGlzIGFycmF5IFNIT1VMRCBoYXZlIGF0IGxlYXN0IG9uZSBlbGVtZW50LlxuICAgICAgICogRWxlbWVudHMgaW4gdGhlIGFycmF5IFNIT1VMRCBiZSB1bmlxdWUuXG4gICAgICAgKiBFbGVtZW50cyBpbiB0aGUgYXJyYXkgTUFZIGJlIG9mIGFueSB0eXBlLCBpbmNsdWRpbmcgbnVsbC5cbiAgICAgICAqIEFuIGluc3RhbmNlIHZhbGlkYXRlcyBzdWNjZXNzZnVsbHkgYWdhaW5zdCB0aGlzIGtleXdvcmQgaWYgaXRzIHZhbHVlXG4gICAgICAgKiBpcyBlcXVhbCB0byBvbmUgb2YgdGhlIGVsZW1lbnRzIGluIHRoaXMga2V5d29yZCdzIGFycmF5IHZhbHVlLlxuICAgICAgICovXG4gICAgICBlbnVtOiBhbnlbXTtcbiAgICAgIG1heExlbmd0aDogbnVtYmVyO1xuICAgICAgbWluTGVuZ3RoOiBudW1iZXI7XG4gICAgICBtYXhJdGVtczogbnVtYmVyO1xuICAgICAgbWluSXRlbXM6IG51bWJlcjtcbiAgICAgIHVuaXF1ZUl0ZW1zOiBib29sZWFuO1xuICAgICAgcGF0dGVybjogbnVtYmVyO1xuICAgICAgbWF4aW11bTogbnVtYmVyO1xuICAgICAgZXhjbHVzaXZlTWF4aW11bTogYm9vbGVhbjtcbiAgICAgIG1pbmltdW06IG51bWJlcjtcbiAgICAgIGV4Y2x1c2l2ZU1pbmltdW06IG51bWJlcjtcbiAgICAgIG11bHRpcGxlT2Y6IGJvb2xlYW47XG4gICAgfVxuXG4gICAgZXhwb3J0IGludGVyZmFjZSBNZXRob2Qge1xuICAgICAgdGFnczogc3RyaW5nW107XG4gICAgICBzdW1tYXJ5OiBzdHJpbmc7XG4gICAgICBvcGVyYXRpb25JZDogc3RyaW5nO1xuICAgICAgY29uc3VtZXM6IHN0cmluZ1tdO1xuICAgICAgcHJvZHVjZXM6IHN0cmluZ1tdO1xuICAgICAgcGFyYW1ldGVyczogUGFyYW1ldGVyW107XG4gICAgICByZXNwb25zZXM6IFN3YWdnZXJSZXNwb25zZVtdO1xuICAgIH1cblxuICAgIGV4cG9ydCBpbnRlcmZhY2UgU3dhZ2dlck1ldGhvZCB7XG4gICAgICBbcGF0aDogc3RyaW5nXTogTWV0aG9kO1xuICAgIH1cblxuICAgIGV4cG9ydCBpbnRlcmZhY2UgU3dhZ2dlclBhdGgge1xuICAgICAgW3BhdGg6IHN0cmluZ106IFN3YWdnZXJNZXRob2Q7XG4gICAgfVxuXG4gICAgZXhwb3J0IGludGVyZmFjZSBTd2FnZ2VyVGFnIHtcbiAgICAgIG5hbWU6IHN0cmluZztcbiAgICAgIC8vIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gICAgfVxuXG4gICAgZXhwb3J0IGludGVyZmFjZSBTd2FnZ2VyTW9kZWwge1xuICAgICAgaG9zdDogc3RyaW5nO1xuICAgICAgYmFzZVBhdGg6IHN0cmluZztcbiAgICAgIHRhZ3M6IFN3YWdnZXJUYWdbXTtcbiAgICAgIHBhdGhzOiBTd2FnZ2VyUGF0aDtcbiAgICAgIGRlZmluaXRpb25zOiBTd2FnZ2VyRGVmaW5pdGlvbjtcbiAgICB9XG5cblxuICB9XG5cbn0iXX0=
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './public-api';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmcyLXJlc3Qtc3dhZ2dlci1nZW5lcmF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi90bXAtbGlicy1mb3ItZGlzdC13ZWJzcWwvbmcyLXJlc3Qtc3dhZ2dlci1nZW5lcmF0b3IvcHJvamVjdHMvbmcyLXJlc3Qtc3dhZ2dlci1nZW5lcmF0b3Ivc3JjL25nMi1yZXN0LXN3YWdnZXItZ2VuZXJhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG4iXX0=
@@ -1,2 +0,0 @@
1
- export * from './lib';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3RtcC1saWJzLWZvci1kaXN0LXdlYnNxbC9uZzItcmVzdC1zd2FnZ2VyLWdlbmVyYXRvci9wcm9qZWN0cy9uZzItcmVzdC1zd2FnZ2VyLWdlbmVyYXRvci9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLE9BQU8sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGliJztcbiJdfQ==