ng2-rest 13.0.14 → 13.0.16
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 +13 -17
- package/app.js +97 -0
- package/app.js.map +1 -1
- package/browser/esm2020/lib/index.mjs +2 -2
- package/browser/esm2020/lib/other/simple-resource.mjs +117 -0
- package/browser/esm2020/lib/resource.service.mjs +7 -2
- package/browser/esm2020/lib/rest-request.mjs +58 -16
- package/browser/fesm2015/ng2-rest.mjs +62 -16
- package/browser/fesm2015/ng2-rest.mjs.map +1 -1
- package/browser/fesm2020/ng2-rest.mjs +62 -16
- package/browser/fesm2020/ng2-rest.mjs.map +1 -1
- package/browser/lib/index.d.ts +1 -1
- package/{lib → browser/lib/other}/simple-resource.d.ts +1 -1
- package/browser/lib/resource.service.d.ts +4 -1
- package/client/esm2020/lib/index.mjs +2 -2
- package/client/esm2020/lib/other/simple-resource.mjs +117 -0
- package/client/esm2020/lib/resource.service.mjs +7 -2
- package/client/esm2020/lib/rest-request.mjs +58 -16
- package/client/fesm2015/ng2-rest.mjs +62 -16
- package/client/fesm2015/ng2-rest.mjs.map +1 -1
- package/client/fesm2020/ng2-rest.mjs +62 -16
- package/client/fesm2020/ng2-rest.mjs.map +1 -1
- package/client/lib/index.d.ts +1 -1
- package/{browser/lib → client/lib/other}/simple-resource.d.ts +1 -1
- package/client/lib/resource.service.d.ts +4 -1
- package/lib/index.d.ts +1 -1
- package/lib/index.js +1 -1
- package/lib/index.js.map +1 -1
- package/{client/lib → lib/other}/simple-resource.d.ts +1 -1
- package/lib/{simple-resource.js → other/simple-resource.js} +1 -1
- package/lib/other/simple-resource.js.map +1 -0
- package/lib/resource.service.d.ts +4 -1
- package/lib/resource.service.js +10 -1
- package/lib/resource.service.js.map +1 -1
- package/lib/rest-request.js +65 -24
- package/lib/rest-request.js.map +1 -1
- package/package.json +4 -4
- package/tmp-environment.json +35 -34
- package/browser/esm2020/lib/simple-resource.mjs +0 -117
- package/client/esm2020/lib/simple-resource.mjs +0 -117
- package/lib/simple-resource.js.map +0 -1
package/browser/lib/index.d.ts
CHANGED
|
@@ -5,5 +5,5 @@ export * from './rest.class';
|
|
|
5
5
|
export * from './rest-headers';
|
|
6
6
|
export * from './helpers';
|
|
7
7
|
export * from './request-cache';
|
|
8
|
-
export { SimpleResource } from './simple-resource';
|
|
8
|
+
export { SimpleResource } from './other/simple-resource';
|
|
9
9
|
export { interpolateParamsToUrl } from './params';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Observable } from 'rxjs';
|
|
2
|
-
import { Models } from '
|
|
2
|
+
import { Models } from '../models';
|
|
3
3
|
export interface RestPromises<A, TA, QP extends Models.UrlParams> {
|
|
4
4
|
get: (queryParams?: QP) => Observable<Models.HttpResponse<A>>;
|
|
5
5
|
head: (queryParams?: QP) => Observable<Models.HttpResponse<A>>;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Observable } from 'rxjs';
|
|
2
|
+
import { Subject } from 'rxjs';
|
|
2
3
|
import { Rest } from './rest.class';
|
|
3
4
|
import { RestHeaders } from './rest-headers';
|
|
4
5
|
import { Cookie } from './cookie';
|
|
@@ -7,8 +8,10 @@ import { Models } from './models';
|
|
|
7
8
|
import { Circ } from 'json10/browser';
|
|
8
9
|
export declare class Resource<E, T, TA> {
|
|
9
10
|
static DEFAULT_HEADERS: RestHeaders;
|
|
10
|
-
|
|
11
|
+
protected static _listenErrors: Subject<Models.BackendError>;
|
|
12
|
+
protected static _listenSuccess: Subject<Models.HttpResponse<any>>;
|
|
11
13
|
static get listenErrors(): Observable<Models.BackendError>;
|
|
14
|
+
static get listenSuccessOperations(): Observable<Models.HttpResponse<any>>;
|
|
12
15
|
static enableWarnings: boolean;
|
|
13
16
|
private getZone;
|
|
14
17
|
static initAngularNgZone(zone: any): void;
|
|
@@ -5,6 +5,6 @@ export * from './rest.class';
|
|
|
5
5
|
export * from './rest-headers';
|
|
6
6
|
export * from './helpers';
|
|
7
7
|
export * from './request-cache';
|
|
8
|
-
export { SimpleResource } from './simple-resource';
|
|
8
|
+
export { SimpleResource } from './other/simple-resource';
|
|
9
9
|
export { interpolateParamsToUrl } from './params';
|
|
10
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItYnVuZGxlL25nMi1yZXN0L3Byb2plY3RzL25nMi1yZXN0L3NyYy9saWIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLFdBQVcsQ0FBQztBQUMxQixjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLFVBQVUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vcmVzb3VyY2Uuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL21vZGVscyc7XG5leHBvcnQgKiBmcm9tICcuL21hcHBpbmcnO1xuZXhwb3J0ICogZnJvbSAnLi9yZXN0LmNsYXNzJztcbmV4cG9ydCAqIGZyb20gJy4vcmVzdC1oZWFkZXJzJztcbmV4cG9ydCAqIGZyb20gJy4vaGVscGVycyc7XG5leHBvcnQgKiBmcm9tICcuL3JlcXVlc3QtY2FjaGUnO1xuZXhwb3J0IHsgU2ltcGxlUmVzb3VyY2UgfSBmcm9tICcuL290aGVyL3NpbXBsZS1yZXNvdXJjZSc7XG5leHBvcnQgeyBpbnRlcnBvbGF0ZVBhcmFtc1RvVXJsIH0gZnJvbSAnLi9wYXJhbXMnO1xuIl19
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import { Observable } from 'rxjs';
|
|
2
|
+
import { Resource } from '../resource.service';
|
|
3
|
+
/**
|
|
4
|
+
*
|
|
5
|
+
* @export
|
|
6
|
+
* @abstract
|
|
7
|
+
* @class SimpleResource
|
|
8
|
+
* @extends {Resource<T, A, TA>}
|
|
9
|
+
* @template E Endpoint type
|
|
10
|
+
* @template A Single modle type
|
|
11
|
+
* @template TA Array Model Type
|
|
12
|
+
* @template RP rest url parameters type
|
|
13
|
+
* @template QP query parameter type
|
|
14
|
+
*/
|
|
15
|
+
class ExtendedResource {
|
|
16
|
+
// add(endpoint: E, model: string, group?: string, name?: string, description?: string) { }
|
|
17
|
+
constructor(endpoint, path_model) {
|
|
18
|
+
this.endpoint = endpoint;
|
|
19
|
+
this.path_model = path_model;
|
|
20
|
+
/**
|
|
21
|
+
* Get model by rest params
|
|
22
|
+
*/
|
|
23
|
+
this.model = (restParams) => {
|
|
24
|
+
return {
|
|
25
|
+
get: (queryPrams) => {
|
|
26
|
+
return Observable.create((observer) => {
|
|
27
|
+
ExtendedResource.handlers.push(this.rest.model(restParams)
|
|
28
|
+
.get([queryPrams], ExtendedResource.doNotSerializeQueryParams)
|
|
29
|
+
.observable
|
|
30
|
+
.subscribe(data => observer.next(data.body.json), err => observer.error(err), () => observer.complete()));
|
|
31
|
+
});
|
|
32
|
+
},
|
|
33
|
+
patch: (item, queryParams) => {
|
|
34
|
+
return Observable.create((observer) => {
|
|
35
|
+
ExtendedResource.handlers.push(this.rest.model(restParams)
|
|
36
|
+
.put(item, [queryParams], ExtendedResource.doNotSerializeQueryParams)
|
|
37
|
+
.observable
|
|
38
|
+
.subscribe(data => observer.next(data.body.json), err => observer.error(err), () => observer.complete()));
|
|
39
|
+
});
|
|
40
|
+
},
|
|
41
|
+
head: (queryPrams) => {
|
|
42
|
+
return Observable.create((observer) => {
|
|
43
|
+
ExtendedResource.handlers.push(this.rest.model(restParams)
|
|
44
|
+
.head([queryPrams], ExtendedResource.doNotSerializeQueryParams)
|
|
45
|
+
.observable
|
|
46
|
+
.subscribe(data => observer.next(data.body.json), err => observer.error(err), () => observer.complete()));
|
|
47
|
+
});
|
|
48
|
+
},
|
|
49
|
+
query: (queryPrams) => {
|
|
50
|
+
return Observable.create((observer) => {
|
|
51
|
+
ExtendedResource.handlers.push(this.rest.model(restParams).
|
|
52
|
+
array
|
|
53
|
+
.get([queryPrams], ExtendedResource.doNotSerializeQueryParams)
|
|
54
|
+
.observable
|
|
55
|
+
.subscribe(data => observer.next(data.body.json), err => observer.error(err), () => observer.complete()));
|
|
56
|
+
});
|
|
57
|
+
},
|
|
58
|
+
post: (item, queryParams) => {
|
|
59
|
+
return Observable.create((observer) => {
|
|
60
|
+
ExtendedResource.handlers.push(this.rest.model(restParams)
|
|
61
|
+
.post(item, [queryParams], ExtendedResource.doNotSerializeQueryParams)
|
|
62
|
+
.observable
|
|
63
|
+
.subscribe(data => observer.next(data.body.json), err => observer.error(err), () => observer.complete()));
|
|
64
|
+
});
|
|
65
|
+
},
|
|
66
|
+
put: (item, queryParams) => {
|
|
67
|
+
return Observable.create((observer) => {
|
|
68
|
+
ExtendedResource.handlers.push(this.rest.model(restParams)
|
|
69
|
+
.put(item, [queryParams], ExtendedResource.doNotSerializeQueryParams)
|
|
70
|
+
.observable
|
|
71
|
+
.subscribe(data => observer.next(data.body.json), err => observer.error(err), () => observer.complete()));
|
|
72
|
+
});
|
|
73
|
+
},
|
|
74
|
+
delete: (queryPrams) => {
|
|
75
|
+
return Observable.create((observer) => {
|
|
76
|
+
ExtendedResource.handlers.push(this.rest.model(restParams)
|
|
77
|
+
.delete([queryPrams], ExtendedResource.doNotSerializeQueryParams)
|
|
78
|
+
.observable
|
|
79
|
+
.subscribe(data => observer.next(data.body.json), err => observer.error(err), () => observer.complete()));
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
};
|
|
83
|
+
};
|
|
84
|
+
this.rest = Resource.create(endpoint, path_model);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
ExtendedResource.doNotSerializeQueryParams = false;
|
|
88
|
+
ExtendedResource.handlers = [];
|
|
89
|
+
/**
|
|
90
|
+
*
|
|
91
|
+
* @export
|
|
92
|
+
* @class SimpleResource
|
|
93
|
+
* @template A single model type
|
|
94
|
+
* @template TA array model type
|
|
95
|
+
* @template RP rest parameters type
|
|
96
|
+
* @template QP query parameters type
|
|
97
|
+
*/
|
|
98
|
+
export class SimpleResource {
|
|
99
|
+
constructor(endpoint, model) {
|
|
100
|
+
let rest = new ExtendedResource(endpoint, model);
|
|
101
|
+
this.model = rest.model;
|
|
102
|
+
}
|
|
103
|
+
static set doNotSerializeQueryParams(value) {
|
|
104
|
+
if (!SimpleResource._isSetQueryParamsSerialization) {
|
|
105
|
+
SimpleResource._isSetQueryParamsSerialization = true;
|
|
106
|
+
ExtendedResource.doNotSerializeQueryParams = value;
|
|
107
|
+
return;
|
|
108
|
+
}
|
|
109
|
+
console.warn(`Query params serialization already set as
|
|
110
|
+
${ExtendedResource.doNotSerializeQueryParams},`);
|
|
111
|
+
}
|
|
112
|
+
static __destroy() {
|
|
113
|
+
ExtendedResource.handlers.forEach(h => h.unsubscribe());
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
SimpleResource._isSetQueryParamsSerialization = false;
|
|
117
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2ltcGxlLXJlc291cmNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWJ1bmRsZS9uZzItcmVzdC9wcm9qZWN0cy9uZzItcmVzdC9zcmMvbGliL290aGVyL3NpbXBsZS1yZXNvdXJjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBS2xDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQXFCL0M7Ozs7Ozs7Ozs7O0dBV0c7QUFDSCxNQUFNLGdCQUFnQjtJQTZHcEIsMkZBQTJGO0lBRTNGLFlBQTJCLFFBQW9CLEVBQVUsVUFBa0I7UUFBaEQsYUFBUSxHQUFSLFFBQVEsQ0FBWTtRQUFVLGVBQVUsR0FBVixVQUFVLENBQVE7UUF6RzNFOztVQUVFO1FBQ0YsVUFBSyxHQUF5QixDQUFDLFVBQWUsRUFBRSxFQUFFO1lBRWhELE9BQU87Z0JBRUwsR0FBRyxFQUFFLENBQUMsVUFBZSxFQUFFLEVBQUU7b0JBQ3ZCLE9BQU8sVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFFBQXFCLEVBQUUsRUFBRTt3QkFDakQsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUM7NkJBQ3ZELEdBQUcsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxFQUFFLGdCQUFnQixDQUFDLHlCQUF5QixDQUFDOzZCQUM3RCxVQUFVOzZCQUNWLFNBQVMsQ0FDUixJQUFJLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFDckMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUMxQixHQUFHLEVBQUUsQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxD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QyxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDMUQsQ0FBQzs7QUFiYyw2Q0FBOEIsR0FBRyxLQUFLLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IE9ic2VydmVyIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IE1vZGVscyB9IGZyb20gJy4uL21vZGVscyc7XG5pbXBvcnQgeyBSZXNvdXJjZSB9IGZyb20gJy4uL3Jlc291cmNlLnNlcnZpY2UnO1xuXG5cblxuZXhwb3J0IGludGVyZmFjZSBSZXN0UHJvbWlzZXM8QSwgVEEsIFFQIGV4dGVuZHMgTW9kZWxzLlVybFBhcmFtcz4ge1xuICBnZXQ6IChxdWVyeVBhcmFtcz86IFFQKSA9PiBPYnNlcnZhYmxlPE1vZGVscy5IdHRwUmVzcG9uc2U8QT4+O1xuICBoZWFkOiAocXVlcnlQYXJhbXM/OiBRUCkgPT4gT2JzZXJ2YWJsZTxNb2RlbHMuSHR0cFJlc3BvbnNlPEE+PjtcbiAgcXVlcnk6IChxdWVyeVBhcmFtcz86IFFQKSA9PiBPYnNlcnZhYmxlPE1vZGVscy5IdHRwUmVzcG9uc2U8VEE+PjtcbiAgcHV0OiAoaXRlbT86IEEsIHF1ZXJ5UGFyYW1zPzogUVApID0+IE9ic2VydmFibGU8TW9kZWxzLkh0dHBSZXNwb25zZTxBPj47XG4gIHBhdGNoOiAoaXRlbT86IEEsIHF1ZXJ5UGFyYW1zPzogUVApID0+IE9ic2VydmFibGU8TW9kZWxzLkh0dHBSZXNwb25zZTxBPj47XG4gIHBvc3Q6IChpdGVtPzogQSwgcXVlcnlQYXJhbXM/OiBRUCkgPT4gT2JzZXJ2YWJsZTxNb2RlbHMuSHR0cFJlc3BvbnNlPEE+PjtcbiAgZGVsZXRlOiAocXVlcnlQYXJhbXM/OiBRUCkgPT4gT2JzZXJ2YWJsZTxNb2RlbHMuSHR0cFJlc3BvbnNlPEE+IHwgYW55Pjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNb2RlbDxBLCBUQSwgUlAgZXh0ZW5kcyBPYmplY3QsIFFQIGV4dGVuZHMgTW9kZWxzLlVybFBhcmFtcz4ge1xuICAocmVzdFBhcmFtcz86IFJQKTogUmVzdFByb21pc2VzPEEsIFRBLCBRUD47XG59XG5cblxuXG5cbi8qKlxuICpcbiAqIEBleHBvcnRcbiAqIEBhYnN0cmFjdFxuICogQGNsYXNzIFNpbXBsZVJlc291cmNlXG4gKiBAZXh0ZW5kcyB7UmVzb3VyY2U8VCwgQSwgVEE+fVxuICogQHRlbXBsYXRlIEUgIEVuZHBvaW50IHR5cGVcbiAqIEB0ZW1wbGF0ZSBBIFNpbmdsZSBtb2RsZSB0eXBlXG4gKiBAdGVtcGxhdGUgVEEgQXJyYXkgTW9kZWwgVHlwZVxuICogQHRlbXBsYXRlIFJQIHJlc3QgdXJsIHBhcmFtZXRlcnMgdHlwZVxuICogQHRlbXBsYXRlIFFQIHF1ZXJ5IHBhcmFtZXRlciB0eXBlXG4gKi9cbmNsYXNzIEV4dGVuZGVkUmVzb3VyY2U8RSwgQSwgVEEsIFJQIGV4dGVuZHMgT2JqZWN0LCBRUCBleHRlbmRzIE1vZGVscy5VcmxQYXJhbXM+ICB7XG4gIHB1YmxpYyBzdGF0aWMgZG9Ob3RTZXJpYWxpemVRdWVyeVBhcmFtcyA9IGZhbHNlO1xuICBwdWJsaWMgc3RhdGljIGhhbmRsZXJzOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xuXG4gIHJlc3Q6IE1vZGVscy5SZXNvdXJjZU1vZGVsPEEsIFRBPjtcblxuICAvKipcbiAgICogR2V0IG1vZGVsIGJ5IHJlc3QgcGFyYW1zXG4gICovXG4gIG1vZGVsOiBNb2RlbDxBLCBUQSwgUlAsIFFQPiA9IChyZXN0UGFyYW1zPzogUlApID0+IHtcblxuICAgIHJldHVybiB7XG5cbiAgICAgIGdldDogKHF1ZXJ5UHJhbXM/OiBRUCkgPT4ge1xuICAgICAgICByZXR1cm4gT2JzZXJ2YWJsZS5jcmVhdGUoKG9ic2VydmVyOiBPYnNlcnZlcjxBPikgPT4ge1xuICAgICAgICAgIEV4dGVuZGVkUmVzb3VyY2UuaGFuZGxlcnMucHVzaCh0aGlzLnJlc3QubW9kZWwocmVzdFBhcmFtcylcbiAgICAgICAgICAgIC5nZXQoW3F1ZXJ5UHJhbXNdLCBFeHRlbmRlZFJlc291cmNlLmRvTm90U2VyaWFsaXplUXVlcnlQYXJhbXMpXG4gICAgICAgICAgICAub2JzZXJ2YWJsZVxuICAgICAgICAgICAgLnN1YnNjcmliZShcbiAgICAgICAgICAgICAgZGF0YSA9PiBvYnNlcnZlci5uZXh0KGRhdGEuYm9keS5qc29uKSxcbiAgICAgICAgICAgICAgZXJyID0+IG9ic2VydmVyLmVycm9yKGVyciksXG4gICAgICAgICAgICAgICgpID0+IG9ic2VydmVyLmNvbXBsZXRlKCkpKVxuICAgICAgICB9KVxuICAgICAgfSxcblxuICAgICAgcGF0Y2g6IChpdGVtOiBBLCBxdWVyeVBhcmFtcz86IFFQKSA9PiB7XG4gICAgICAgIHJldHVybiBPYnNlcnZhYmxlLmNyZWF0ZSgob2JzZXJ2ZXI6IE9ic2VydmVyPEE+KSA9PiB7XG4gICAgICAgICAgRXh0ZW5kZWRSZXNvdXJjZS5oYW5kbGVycy5wdXNoKHRoaXMucmVzdC5tb2RlbChyZXN0UGFyYW1zKVxuICAgICAgICAgICAgLnB1dChpdGVtLCBbcXVlcnlQYXJhbXNdLCBFeHRlbmRlZFJlc291cmNlLmRvTm90U2VyaWFsaXplUXVlcnlQYXJhbXMpXG4gICAgICAgICAgICAub2JzZXJ2YWJsZVxuICAgICAgICAgICAgLnN1YnNjcmliZShcbiAgICAgICAgICAgICAgZGF0YSA9PiBvYnNlcnZlci5uZXh0KGRhdGEuYm9keS5qc29uKSxcbiAgICAgICAgICAgICAgZXJyID0+IG9ic2VydmVyLmVycm9yKGVyciksXG4gICAgICAgICAgICAgICgpID0+IG9ic2VydmVyLmNvbXBsZXRlKCkpKVxuICAgICAgICB9KVxuXG4gICAgICB9LFxuXG4gICAgICBoZWFkOiAocXVlcnlQcmFtcz86IFFQKSA9PiB7XG4gICAgICAgIHJldHVybiBPYnNlcnZhYmxlLmNyZWF0ZSgob2JzZXJ2ZXI6IE9ic2VydmVyPEE+KSA9PiB7XG4gICAgICAgICAgRXh0ZW5kZWRSZXNvdXJjZS5oYW5kbGVycy5wdXNoKHRoaXMucmVzdC5tb2RlbChyZXN0UGFyYW1zKVxuICAgICAgICAgICAgLmhlYWQoW3F1ZXJ5UHJhbXNdLCBFeHRlbmRlZFJlc291cmNlLmRvTm90U2VyaWFsaXplUXVlcnlQYXJhbXMpXG4gICAgICAgICAgICAub2JzZXJ2YWJsZVxuICAgICAgICAgICAgLnN1YnNjcmliZShcbiAgICAgICAgICAgICAgZGF0YSA9PiBvYnNlcnZlci5uZXh0KGRhdGEuYm9keS5qc29uKSxcbiAgICAgICAgICAgICAgZXJyID0+IG9ic2VydmVyLmVycm9yKGVyciksXG4gICAgICAgICAgICAgICgpID0+IG9ic2VydmVyLmNvbXBsZXRlKCkpKVxuICAgICAgICB9KVxuICAgICAgfSxcblxuICAgICAgcXVlcnk6IChxdWVyeVByYW1zPzogUVApID0+IHtcbiAgICAgICAgcmV0dXJuIE9ic2VydmFibGUuY3JlYXRlKChvYnNlcnZlcjogT2JzZXJ2ZXI8VEE+KSA9PiB7XG4gICAgICAgICAgRXh0ZW5kZWRSZXNvdXJjZS5oYW5kbGVycy5wdXNoKHRoaXMucmVzdC5tb2RlbChyZXN0UGFyYW1zKS5cbiAgICAgICAgICAgIGFycmF5XG4gICAgICAgICAgICAuZ2V0KFtxdWVyeVByYW1zXSwgRXh0ZW5kZWRSZXNvdXJjZS5kb05vdFNlcmlhbGl6ZVF1ZXJ5UGFyYW1zKVxuICAgICAgICAgICAgLm9ic2VydmFibGVcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoXG4gICAgICAgICAgICAgIGRhdGEgPT4gb2JzZXJ2ZXIubmV4dChkYXRhLmJvZHkuanNvbiksXG4gICAgICAgICAgICAgIGVyciA9PiBvYnNlcnZlci5lcnJvcihlcnIpLFxuICAgICAgICAgICAgICAoKSA9PiBvYnNlcnZlci5jb21wbGV0ZSgpKSlcbiAgICAgICAgfSlcbiAgICAgIH0sXG5cblxuICAgICAgcG9zdDogKGl0ZW06IEEsIHF1ZXJ5UGFyYW1zPzogUVApID0+IHtcbiAgICAgICAgcmV0dXJuIE9ic2VydmFibGUuY3JlYXRlKChvYnNlcnZlcjogT2JzZXJ2ZXI8QT4pID0+IHtcbiAgICAgICAgICBFeHRlbmRlZFJlc291cmNlLmhhbmRsZXJzLnB1c2godGhpcy5yZXN0Lm1vZGVsKHJlc3RQYXJhbXMpXG4gICAgICAgICAgICAucG9zdChpdGVtLCBbcXVlcnlQYXJhbXNdLCBFeHRlbmRlZFJlc291cmNlLmRvTm90U2VyaWFsaXplUXVlcnlQYXJhbXMpXG4gICAgICAgICAgICAub2JzZXJ2YWJsZVxuICAgICAgICAgICAgLnN1YnNjcmliZShcbiAgICAgICAgICAgICAgZGF0YSA9PiBvYnNlcnZlci5uZXh0KGRhdGEuYm9keS5qc29uKSxcbiAgICAgICAgICAgICAgZXJyID0+IG9ic2VydmVyLmVycm9yKGVyciksXG4gICAgICAgICAgICAgICgpID0+IG9ic2VydmVyLmNvbXBsZXRlKCkpKVxuICAgICAgICB9KVxuXG4gICAgICB9LFxuXG5cbiAgICAgIHB1dDogKGl0ZW06IEEsIHF1ZXJ5UGFyYW1zPzogUVApID0+IHtcbiAgICAgICAgcmV0dXJuIE9ic2VydmFibGUuY3JlYXRlKChvYnNlcnZlcjogT2JzZXJ2ZXI8QT4pID0+IHtcbiAgICAgICAgICBFeHRlbmRlZFJlc291cmNlLmhhbmRsZXJzLnB1c2godGhpcy5yZXN0Lm1vZGVsKHJlc3RQYXJhbXMpXG4gICAgICAgICAgICAucHV0KGl0ZW0sIFtxdWVyeVBhcmFtc10sIEV4dGVuZGVkUmVzb3VyY2UuZG9Ob3RTZXJpYWxpemVRdWVyeVBhcmFtcylcbiAgICAgICAgICAgIC5vYnNlcnZhYmxlXG4gICAgICAgICAgICAuc3Vic2NyaWJlKFxuICAgICAgICAgICAgICBkYXRhID0+IG9ic2VydmVyLm5leHQoZGF0YS5ib2R5Lmpzb24pLFxuICAgICAgICAgICAgICBlcnIgPT4gb2JzZXJ2ZXIuZXJyb3IoZXJyKSxcbiAgICAgICAgICAgICAgKCkgPT4gb2JzZXJ2ZXIuY29tcGxldGUoKSkpXG4gICAgICAgIH0pXG5cbiAgICAgIH0sXG5cblxuICAgICAgZGVsZXRlOiAocXVlcnlQcmFtcz86IFFQKSA9PiB7XG4gICAgICAgIHJldHVybiBPYnNlcnZhYmxlLmNyZWF0ZSgob2JzZXJ2ZXI6IE9ic2VydmVyPEE+KSA9PiB7XG4gICAgICAgICAgRXh0ZW5kZWRSZXNvdXJjZS5oYW5kbGVycy5wdXNoKHRoaXMucmVzdC5tb2RlbChyZXN0UGFyYW1zKVxuICAgICAgICAgICAgLmRlbGV0ZShbcXVlcnlQcmFtc10sIEV4dGVuZGVkUmVzb3VyY2UuZG9Ob3RTZXJpYWxpemVRdWVyeVBhcmFtcylcbiAgICAgICAgICAgIC5vYnNlcnZhYmxlXG4gICAgICAgICAgICAuc3Vic2NyaWJlKFxuICAgICAgICAgICAgICBkYXRhID0+IG9ic2VydmVyLm5leHQoZGF0YS5ib2R5Lmpzb24pLFxuICAgICAgICAgICAgICBlcnIgPT4gb2JzZXJ2ZXIuZXJyb3IoZXJyKSxcbiAgICAgICAgICAgICAgKCkgPT4gb2JzZXJ2ZXIuY29tcGxldGUoKSkpXG4gICAgICAgIH0pXG4gICAgICB9XG5cblxuICAgIH1cbiAgfVxuXG5cbiAgLy8gYWRkKGVuZHBvaW50OiBFLCBtb2RlbDogc3RyaW5nLCBncm91cD86IHN0cmluZywgbmFtZT86IHN0cmluZywgZGVzY3JpcHRpb24/OiBzdHJpbmcpIHsgfVxuXG4gIHB1YmxpYyBjb25zdHJ1Y3Rvcihwcml2YXRlIGVuZHBvaW50OiBFIHwgc3RyaW5nLCBwcml2YXRlIHBhdGhfbW9kZWw6IHN0cmluZykge1xuICAgIHRoaXMucmVzdCA9IDxhbnk+UmVzb3VyY2UuY3JlYXRlPEEsIFRBPig8YW55PmVuZHBvaW50LCBwYXRoX21vZGVsKTtcblxuICB9XG5cbn1cblxuXG5cbi8qKlxuICpcbiAqIEBleHBvcnRcbiAqIEBjbGFzcyBTaW1wbGVSZXNvdXJjZVxuICogQHRlbXBsYXRlIEEgc2luZ2xlIG1vZGVsIHR5cGVcbiAqIEB0ZW1wbGF0ZSBUQSBhcnJheSBtb2RlbCB0eXBlXG4gKiBAdGVtcGxhdGUgUlAgcmVzdCBwYXJhbWV0ZXJzIHR5cGVcbiAqIEB0ZW1wbGF0ZSBRUCBxdWVyeSBwYXJhbWV0ZXJzIHR5cGVcbiAqL1xuZXhwb3J0IGNsYXNzIFNpbXBsZVJlc291cmNlPEEsIFRBPiB7XG4gIG1vZGVsOiBNb2RlbDxBLCBUQSwgT2JqZWN0LCBNb2RlbHMuVXJsUGFyYW1zPjtcblxuXG4gIHByaXZhdGUgc3RhdGljIF9pc1NldFF1ZXJ5UGFyYW1zU2VyaWFsaXphdGlvbiA9IGZhbHNlO1xuICBwdWJsaWMgc3RhdGljIHNldCBkb05vdFNlcmlhbGl6ZVF1ZXJ5UGFyYW1zKHZhbHVlKSB7XG4gICAgaWYgKCFTaW1wbGVSZXNvdXJjZS5faXNTZXRRdWVyeVBhcmFtc1NlcmlhbGl6YXRpb24pIHtcbiAgICAgIFNpbXBsZVJlc291cmNlLl9pc1NldFF1ZXJ5UGFyYW1zU2VyaWFsaXphdGlvbiA9IHRydWU7XG4gICAgICBFeHRlbmRlZFJlc291cmNlLmRvTm90U2VyaWFsaXplUXVlcnlQYXJhbXMgPSB2YWx1ZVxuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zb2xlLndhcm4oYFF1ZXJ5IHBhcmFtcyBzZXJpYWxpemF0aW9uIGFscmVhZHkgc2V0IGFzXG4gICAgICAgICR7RXh0ZW5kZWRSZXNvdXJjZS5kb05vdFNlcmlhbGl6ZVF1ZXJ5UGFyYW1zfSxgKTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgX19kZXN0cm95KCkge1xuICAgIEV4dGVuZGVkUmVzb3VyY2UuaGFuZGxlcnMuZm9yRWFjaChoID0+IGgudW5zdWJzY3JpYmUoKSk7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihlbmRwb2ludDogc3RyaW5nLCBtb2RlbDogc3RyaW5nKSB7XG4gICAgbGV0IHJlc3QgPSBuZXcgRXh0ZW5kZWRSZXNvdXJjZTxzdHJpbmcsIEEsIFRBLCBPYmplY3QsIE1vZGVscy5VcmxQYXJhbXM+KGVuZHBvaW50LCBtb2RlbCk7XG4gICAgdGhpcy5tb2RlbCA9IHJlc3QubW9kZWw7XG4gIH1cblxufVxuIl19
|
|
@@ -6,6 +6,7 @@ import { RestRequest } from './rest-request';
|
|
|
6
6
|
import { RestHeaders } from './rest-headers';
|
|
7
7
|
import { Cookie } from './cookie';
|
|
8
8
|
import { interpolateParamsToUrl, isValid, containsModels, getModels } from './params';
|
|
9
|
+
import { Helpers } from 'tnp-core/browser';
|
|
9
10
|
export class Resource {
|
|
10
11
|
//#endregion
|
|
11
12
|
//#region constructor
|
|
@@ -21,6 +22,9 @@ export class Resource {
|
|
|
21
22
|
static get listenErrors() {
|
|
22
23
|
return this._listenErrors.asObservable();
|
|
23
24
|
}
|
|
25
|
+
static get listenSuccessOperations() {
|
|
26
|
+
return this._listenSuccess.asObservable();
|
|
27
|
+
}
|
|
24
28
|
//#region private mthods and fields
|
|
25
29
|
getZone() {
|
|
26
30
|
const isNode = (typeof window === 'undefined');
|
|
@@ -133,7 +137,7 @@ Instead use nested approach: /book/:bookid/author/:authorid
|
|
|
133
137
|
url = url.slice(0, url.length - 1);
|
|
134
138
|
log.i('url after', url);
|
|
135
139
|
if (Resource.endpoints[e] !== void 0) {
|
|
136
|
-
|
|
140
|
+
Helpers.log('Cannot use map function at the same API endpoint again ('
|
|
137
141
|
+ Resource.endpoints[e].url + ')');
|
|
138
142
|
return false;
|
|
139
143
|
}
|
|
@@ -238,6 +242,7 @@ Resource.DEFAULT_HEADERS = RestHeaders.from({
|
|
|
238
242
|
'Accept': 'application/json'
|
|
239
243
|
});
|
|
240
244
|
Resource._listenErrors = new Subject();
|
|
245
|
+
Resource._listenSuccess = new Subject();
|
|
241
246
|
Resource.enableWarnings = true;
|
|
242
247
|
Resource.instance = new Resource();
|
|
243
248
|
Resource.endpoints = {};
|
|
@@ -252,4 +257,4 @@ Resource.Cookies = Cookie.Instance;
|
|
|
252
257
|
// isArray: true
|
|
253
258
|
// })
|
|
254
259
|
// .array.
|
|
255
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb3VyY2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3RtcC1saWJzLWZvci1idW5kbGUvbmcyLXJlc3QvcHJvamVjdHMvbmcyLXJlc3Qvc3JjL2xpYi9yZXNvdXJjZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNoRCxNQUFNLEdBQUcsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLGlCQUFpQixFQUN0QyxLQUFLLENBQUMsU0FBUyxDQUNoQixDQUFBO0FBRUQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNwQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFHbEMsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsU0FBUyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBT3RGLE1BQU0sT0FBTyxRQUFRO0lBaUhuQixZQUFZO0lBRVoscUJBQXFCO0lBQ3JCO1FBQ0UsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNkLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUM1QixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRTtnQkFBRSxXQUFXLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQTthQUFFO1lBQUEsQ0FBQztRQUNyRCxDQUFDLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFqSE0sTUFBTSxLQUFLLFlBQVk7UUFDNUIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksRUFBRSxDQUFD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QUFHLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQyxDQUFDO1NBQzlCO1FBQUEsQ0FBQztRQUVGLGtEQUFrRDtRQUNsRCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7O0FBalBhLHdCQUFlLEdBQUcsV0FBVyxDQUFDLElBQUksQ0FBQztJQUMvQyxjQUFjLEVBQUUsa0JBQWtCO0lBQ2xDLFFBQVEsRUFBRSxrQkFBa0I7Q0FDN0IsQ0FBQyxDQUFDO0FBRVksc0JBQWEsR0FBRyxJQUFJLE9BQU8sRUFBdUIsQ0FBQztBQUlwRCx1QkFBYyxHQUFZLElBQUksQ0FBQztBQStDOUIsaUJBQVEsR0FBRyxJQUFJLFFBQVEsRUFBb0IsQ0FBQztBQUM1QyxrQkFBUyxHQUFHLEVBQUUsQ0FBQztBQVFmLGdCQUFPLEdBQWdCLElBQUksV0FBVyxFQUFFLENBQUM7QUF1RHhELFlBQVk7QUFFRSxnQkFBTyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUM7QUE4SDFDLGtDQUFrQztBQUNsQyxjQUFjO0FBQ2QsWUFBWTtBQUNaLGlCQUFpQjtBQUNqQixnQkFBZ0I7QUFDaEIsb0JBQW9CO0FBQ3BCLE9BQU87QUFDUCxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiLy8jcmVnaW9uIGltcG9ydHNcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IExvZywgTGV2ZWwgfSBmcm9tICduZzItbG9nZ2VyL2Jyb3dzZXInO1xuY29uc3QgbG9nID0gTG9nLmNyZWF0ZSgncmVzb3VjZS1zZXJ2aWNlJyxcbiAgTGV2ZWwuX19OT1RISU5HXG4pXG5cbmltcG9ydCB7IFJlc3QgfSBmcm9tICcuL3Jlc3QuY2xhc3MnO1xuaW1wb3J0IHsgUmVzdFJlcXVlc3QgfSBmcm9tICcuL3Jlc3QtcmVxdWVzdCc7XG5pbXBvcnQgeyBSZXN0SGVhZGVycyB9IGZyb20gJy4vcmVzdC1oZWFkZXJzJztcbmltcG9ydCB7IENvb2tpZSB9IGZyb20gJy4vY29va2llJztcbmltcG9ydCB7IE1hcHBpbmcgfSBmcm9tICcuL21hcHBpbmcnO1xuaW1wb3J0IHsgTW9kZWxzIH0gZnJvbSAnLi9tb2RlbHMnO1xuaW1wb3J0IHsgaW50ZXJwb2xhdGVQYXJhbXNUb1VybCwgaXNWYWxpZCwgY29udGFpbnNNb2RlbHMsIGdldE1vZGVscyB9IGZyb20gJy4vcGFyYW1zJztcbmltcG9ydCB7IENpcmMgfSBmcm9tICdqc29uMTAvYnJvd3Nlcic7XG4vLyNlbmRyZWdpb25cblxuZGVjbGFyZSBjb25zdCBnbG9iYWw6IGFueTtcblxuXG5leHBvcnQgY2xhc3MgUmVzb3VyY2U8RSwgVCwgVEE+IHtcblxuICBwdWJsaWMgc3RhdGljIERFRkFVTFRfSEVBREVSUyA9IFJlc3RIZWFkZXJzLmZyb20oe1xuICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicsXG4gICAgJ0FjY2VwdCc6ICdhcHBsaWNhdGlvbi9qc29uJ1xuICB9KTtcblxuICBwcml2YXRlIHN0YXRpYyBfbGlzdGVuRXJyb3JzID0gbmV3IFN1YmplY3Q8TW9kZWxzLkJhY2tlbmRFcnJvcj4oKTtcbiAgcHVibGljIHN0YXRpYyBnZXQgbGlzdGVuRXJyb3JzKCkge1xuICAgIHJldHVybiB0aGlzLl9saXN0ZW5FcnJvcnMuYXNPYnNlcnZhYmxlKCk7XG4gIH1cbiAgcHVibGljIHN0YXRpYyBlbmFibGVXYXJuaW5nczogYm9vbGVhbiA9IHRydWU7XG5cbiAgLy8jcmVnaW9uIHByaXZhdGUgbXRob2RzIGFuZCBmaWVsZHNcbiAgcHJpdmF0ZSBnZXRab25lKCkge1xuICAgIGNvbnN0IGlzTm9kZSA9ICh0eXBlb2Ygd2luZG93ID09PSAndW5kZWZpbmVkJylcbiAgICBpZiAoaXNOb2RlKSB7IHJldHVybiB9O1xuICAgIGNvbnN0IG5nID0gd2luZG93WyduZyddO1xuICAgIGNvbnN0IGdldEFsbEFuZ3VsYXJSb290RWxlbWVudHMgPSB3aW5kb3dbJ2dldEFsbEFuZ3VsYXJSb290RWxlbWVudHMnXTtcbiAgICBpZiAoIW5nIHx8ICFnZXRBbGxBbmd1bGFyUm9vdEVsZW1lbnRzKSB7IHJldHVybjsgfVxuICAgIGNvbnN0IHByb2JlID0gbmcucHJvYmU7XG4gICAgY29uc3QgY29yZVRva2VucyA9IG5nLmNvcmVUb2tlbnM7XG4gICAgaWYgKCFjb3JlVG9rZW5zIHx8ICFjb3JlVG9rZW5zLk5nWm9uZSkgeyByZXR1cm47IH1cbiAgICBjb25zdCB6b25lQ2xhc3MgPSBjb3JlVG9rZW5zLk5nWm9uZTtcbiAgICBpZiAoIXByb2JlIHx8IHR5cGVvZiBwcm9iZSAhPT0gJ2Z1bmN0aW9uJyB8fCAhZ2V0QWxsQW5ndWxhclJvb3RFbGVtZW50cykgeyByZXR1cm47IH1cbiAgICBjb25zdCBhbmd1bGFyRWxlbWVudHM6IGFueVtdID0gZ2V0QWxsQW5ndWxhclJvb3RFbGVtZW50cygpO1xuICAgIGlmICghQXJyYXkuaXNBcnJheShhbmd1bGFyRWxlbWVudHMpIHx8IGFuZ3VsYXJFbGVtZW50cy5sZW5ndGggPT09IDApIHsgcmV0dXJuOyB9XG4gICAgY29uc3Qgcm9vdEVsZW1lbnQgPSBuZy5wcm9iZShhbmd1bGFyRWxlbWVudHNbMF0pO1xuICAgIGlmICghcm9vdEVsZW1lbnQpIHsgcmV0dXJuOyB9XG4gICAgY29uc3QgaW5qZWN0b3IgPSByb290RWxlbWVudC5pbmplY3RvcjtcbiAgICBpZiAoIWluamVjdG9yIHx8ICFpbmplY3Rvci5nZXQgfHwgdHlwZW9mIGluamVjdG9yLmdldCAhPT0gJ2Z1bmN0aW9uJykgeyByZXR1cm47IH1cbiAgICBjb25zdCB6b25lID0gaW5qZWN0b3IuZ2V0KHpvbmVDbGFzcylcbiAgICByZXR1cm4gem9uZTtcbiAgfVxuXG5cbiAgcHVibGljIHN0YXRpYyBpbml0QW5ndWxhck5nWm9uZSh6b25lKSB7XG4gICAgUmVzdFJlcXVlc3Quem9uZSA9IHpvbmU7XG4gIH1cblxuICBwcml2YXRlIGNoZWNrTmVzdGVkTW9kZWxzKG1vZGVsOiBzdHJpbmcsIGFsbE1vZGVsczogT2JqZWN0KSB7XG4gICAgLy8gaWYgKG1vZGVsLmluZGV4T2YoJy8nKSAhPT0gLTEpIHsgLy9UT0RPIG1ha2UgdGhpcyBiZXR0ZXIsIGJlY291c2Ugbm93IEkgdW5lY2VzYXJ5IGNoZWNraW5nIHNoaXRcbiAgICBmb3IgKGxldCBwIGluIGFsbE1vZGVscykge1xuICAgICAgaWYgKGFsbE1vZGVscy5oYXNPd25Qcm9wZXJ0eShwKSkge1xuICAgICAgICBsZXQgbSA9IGFsbE1vZGVsc1twXTtcbiAgICAgICAgaWYgKGlzVmFsaWQocCkpIHtcbiAgICAgICAgICBsZXQgdXJsTW9kZWxzID0gZ2V0TW9kZWxzKHApO1xuICAgICAgICAgIGlmIChjb250YWluc01vZGVscyhtb2RlbCwgdXJsTW9kZWxzKSkge1xuICAgICAgICAgICAgbW9kZWwgPSBwO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC8vIH1cbiAgICByZXR1cm4gbW9kZWw7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBpbnN0YW5jZSA9IG5ldyBSZXNvdXJjZTxzdHJpbmcsIGFueSwgYW55PigpO1xuICBwcml2YXRlIHN0YXRpYyBlbmRwb2ludHMgPSB7fTtcbiAgcHVibGljIHN0YXRpYyBnZXRNb2RlbChlbmRwb2ludDogc3RyaW5nLCBtb2RlbDogc3RyaW5nKTogUmVzdDxhbnk+IHtcbiAgICBtb2RlbCA9IFJlc291cmNlLnByZXBhcmVNb2RlbChtb2RlbCk7XG4gICAgY29uc3QgZSA9IFJlc291cmNlLmVuZHBvaW50c1tlbmRwb2ludF07XG4gICAgaWYgKCFlKSB7IHJldHVybiB2b2lkIDA7IH1cbiAgICBjb25zdCByID0gUmVzb3VyY2UuZW5kcG9pbnRzW2VuZHBvaW50XS5tb2RlbHNbbW9kZWxdO1xuICAgIHJldHVybiBSZXNvdXJjZS5lbmRwb2ludHNbZW5kcG9pbnRdLm1vZGVsc1ttb2RlbF07XG4gIH1cbiAgcHJpdmF0ZSBzdGF0aWMgcmVxdWVzdDogUmVzdFJlcXVlc3QgPSBuZXcgUmVzdFJlcXVlc3QoKTtcbiAgLy8jZW5kcmVnaW9uXG5cblxuICAvLyNyZWdpb24gY3JlYXRlXG4gIHB1YmxpYyBzdGF0aWMgY3JlYXRlPEEsIFRBID0gQVtdPihcbiAgICBlOiBzdHJpbmcsXG4gICAgbW9kZWw/OiBzdHJpbmcsXG4gICAgZW50aXR5TWFwcGluZz86IE1hcHBpbmcuTWFwcGluZyxcbiAgICBjaXJjdWxhcj86IENpcmNbXVxuICApOiBNb2RlbHMuUmVzb3VyY2VNb2RlbDxBLCBUQT4ge1xuICAgIGNvbnN0IGJhZFJlc3RSZWdFWCA9IG5ldyBSZWdFeHAoJygoXFwvOilbYS16XSspKycsICdnJyk7XG4gICAgY29uc3QgbWF0Y2hBcnIgPSBtb2RlbC5tYXRjaChiYWRSZXN0UmVnRVgpIHx8IFtdO1xuICAgIGNvbnN0IGJhZE1vZGVsc05leHRUb0VhY2hPdGhlciA9IG1hdGNoQXJyLmpvaW4oKTtcbiAgICBjb25zdCBhdGxlYXMyRG91YmxlRG90cyA9ICgoYmFkTW9kZWxzTmV4dFRvRWFjaE90aGVyLm1hdGNoKG5ldyBSZWdFeHAoJzonLCAnZycpKSB8fCBbXSkubGVuZ3RoID49IDIpO1xuICAgIGlmIChhdGxlYXMyRG91YmxlRG90cyAmJiBtb2RlbC5zZWFyY2goYmFkTW9kZWxzTmV4dFRvRWFjaE90aGVyKSAhPT0gLTEpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgXG5cbkJhZCByZXN0IG1vZGVsOiAke21vZGVsfVxuXG5EbyBub3QgY3JlYXRlIHJlc3QgbW9kZWxzIGxpa2UgdGhpczogICAgL2Jvb2svYXV0aG9yLzpib29raWQvOmF1dGhvcmlkXG5JbnN0ZWFkIHVzZSBuZXN0ZWQgYXBwcm9hY2g6ICAgICAgICAgICAgL2Jvb2svOmJvb2tpZC9hdXRob3IvOmF1dGhvcmlkXG4gICAgICAgICAgICBgKVxuICAgIH07XG4gICAgUmVzb3VyY2UubWFwKGUsIGUpO1xuICAgIFJlc291cmNlLmluc3RhbmNlLmFkZChlLCBtb2RlbCA/IG1vZGVsIDogJycsIGVudGl0eU1hcHBpbmcsIGNpcmN1bGFyKTtcbiAgICAvLyBpZiAobW9kZWwuY2hhckF0KG1vZGVsLmxlbmd0aCAtIDEpICE9PSAnLycpIG1vZGVsID0gYCR7bW9kZWx9L2A7XG4gICAgcmV0dXJuIHtcbiAgICAgIG1vZGVsOiAocGFyYW1zPzogT2JqZWN0KSA9PiBSZXNvdXJjZS5pbnN0YW5jZS5hcGkoXG4gICAgICAgIGUsXG4gICAgICAgIGludGVycG9sYXRlUGFyYW1zVG9VcmwocGFyYW1zLCBtb2RlbClcbiAgICAgICksXG4gICAgICByZXBsYXk6IChtZXRob2Q6IE1vZGVscy5IdHRwTWV0aG9kKSA9PiB7XG4gICAgICAgIFJlc291cmNlLmdldE1vZGVsKGUsIG1vZGVsKS5yZXBsYXkobWV0aG9kKTtcbiAgICAgIH0sXG4gICAgICBnZXQgaGVhZGVycygpIHtcbiAgICAgICAgcmV0dXJuIFJlc291cmNlLmdldE1vZGVsKGUsIG1vZGVsKS5oZWFkZXJzO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAvLyNlbmRyZWdpb25cblxuICAvLyNyZWdpb24gcmVzZXRcbiAgcHVibGljIHN0YXRpYyByZXNldCgpIHtcbiAgICBSZXNvdXJjZS5lbmRwb2ludHMgPSB7fTtcbiAgfVxuICAvLyNlbmRyZWdpb25cblxuICAvLyNyZWdpb24gY29uc3RydWN0b3JcbiAgcHJpdmF0ZSBjb25zdHJ1Y3RvcigpIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGNvbnN0IHpvbmUgPSB0aGlzLmdldFpvbmUoKTtcbiAgICAgIGlmICghUmVzdFJlcXVlc3Quem9uZSkgeyBSZXN0UmVxdWVzdC56b25lID0gem9uZSB9O1xuICAgIH0pXG4gIH1cbiAgLy8jZW5kcmVnaW9uXG5cbiAgcHVibGljIHN0YXRpYyBDb29raWVzID0gQ29va2llLkluc3RhbmNlO1xuXG4gIC8vI3JlZ2lvbiBtYXBcbiAgcHJpdmF0ZSBzdGF0aWMgbWFwKGVuZHBvaW50OiBzdHJpbmcsIHVybDogc3RyaW5nKTogYm9vbGVhbiB7XG5cbiAgICBsb2cuaSgndXJsJywgdXJsKVxuICAgIGxldCByZWdleCA9IC8oaHR0cHxodHRwcyk6XFwvXFwvKFxcdys6ezAsMX1cXHcqKT8oXFxTKykoOlswLTldKyk/KFxcL3xcXC8oW1xcdyMhOi4/Kz0mJSFcXC1cXC9dKSk/LztcbiAgICBsZXQgZSA9IGVuZHBvaW50O1xuICAgIGlmICghcmVnZXgudGVzdCh1cmwpKSB7XG4gICAgICB0aHJvdyBgVXJsIGFkZHJlc3MgaXMgbm90IGNvcnJlY3Q6ICR7dXJsfWA7XG4gICAgfVxuICAgIGlmICh1cmwuY2hhckF0KHVybC5sZW5ndGggLSAxKSA9PT0gJy8nKSB1cmwgPSB1cmwuc2xpY2UoMCwgdXJsLmxlbmd0aCAtIDEpO1xuICAgIGxvZy5pKCd1cmwgYWZ0ZXInLCB1cmwpXG4gICAgaWYgKFJlc291cmNlLmVuZHBvaW50c1tlXSAhPT0gdm9pZCAwKSB7XG4gICAgICAhZ2xvYmFsLmhpZGVMb2cgJiYgY29uc29sZS53YXJuKCdDYW5ub3QgdXNlIG1hcCBmdW5jdGlvbiBhdCB0aGUgc2FtZSBBUEkgZW5kcG9pbnQgYWdhaW4gKCdcbiAgICAgICAgKyBSZXNvdXJjZS5lbmRwb2ludHNbZV0udXJsICsgJyknKTtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgUmVzb3VyY2UuZW5kcG9pbnRzW2VdID0ge1xuICAgICAgdXJsOiB1cmwsXG4gICAgICBtb2RlbHM6IHt9LFxuICAgICAgZW50aXR5OiBudWxsXG4gICAgfTtcbiAgICBsb2cuaSgnZW5wb2ludHMnLCBSZXNvdXJjZS5lbmRwb2ludHMpXG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbiAgLy8jZW5kcmVnaW9uXG5cbiAgcHJpdmF0ZSBzdGF0aWMgcHJlcGFyZU1vZGVsKG1vZGVsKSB7XG4gICAgaWYgKG1vZGVsLmNoYXJBdChtb2RlbC5sZW5ndGggLSAxKSA9PT0gJy8nKSBtb2RlbCA9IG1vZGVsLnNsaWNlKDAsIG1vZGVsLmxlbmd0aCAtIDEpO1xuICAgIGlmIChtb2RlbC5jaGFyQXQoMCkgPT09ICcvJykgbW9kZWwgPSBtb2RlbC5zbGljZSgxLCBtb2RlbC5sZW5ndGgpO1xuICAgIHJldHVybiBtb2RlbDtcbiAgfVxuXG5cbiAgLy8jcmVnaW9uIGFkZFxuICAvKipcbiAgICogQW5kIGVuaXBvaW50IHRvIGFwcGxpY2F0aW9uXG4gICAqXG4gICAqIEBwYXJhbSB7RX0gZW5kcG9pbnRcbiAgICogQHBhcmFtIHtzdHJpbmd9IG1vZGVsXG4gICAqIEByZXR1cm5zIHtib29sZWFufVxuICAgKi9cbiAgcHJpdmF0ZSBhZGQoZW5kcG9pbnQ6IEUsIG1vZGVsOiBzdHJpbmcsIGVudGl0eTogTWFwcGluZy5NYXBwaW5nLCBjaXJjdWxhcj86IENpcmNbXSkge1xuICAgIGxvZy5pKGBJIGFtIG1hcGluZyAke21vZGVsfSBvbiAkezxhbnk+ZW5kcG9pbnR9YCk7XG4gICAgbW9kZWwgPSBSZXNvdXJjZS5wcmVwYXJlTW9kZWwobW9kZWwpO1xuXG4gICAgbGV0IGU6IHN0cmluZztcbiAgICBlID0gPHN0cmluZz4oZW5kcG9pbnQpLnRvU3RyaW5nKCk7XG5cbiAgICBpZiAoUmVzb3VyY2UuZW5kcG9pbnRzW2VdID09PSB2b2lkIDApIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0VuZHBvaW50IGlzIG5vdCBtYXBwZWQgISBDYW5ub3QgYWRkIG1vZGVsICcgKyBtb2RlbCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmIChSZXNvdXJjZS5lbmRwb2ludHNbZV0ubW9kZWxzW21vZGVsXSAhPT0gdm9pZCAwKSB7XG4gICAgICBpZiAoUmVzb3VyY2UuZW5hYmxlV2FybmluZ3MpIGNvbnNvbGUud2FybihgTW9kZWwgJyR7bW9kZWx9JyBpcyBhbHJlYWR5IGRlZmluZWQgaW4gZW5kcG9pbnQ6IGBcbiAgICAgICAgKyBSZXNvdXJjZS5lbmRwb2ludHNbZV0udXJsKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgUmVzb3VyY2UuZW5kcG9pbnRzW2VdLm1vZGVsc1ttb2RlbF0gPVxuICAgICAgbmV3IFJlc3Q8VCwgVEE+KFJlc291cmNlLmVuZHBvaW50c1tlXS51cmxcbiAgICAgICAgKyAnLycgKyBtb2RlbCwgUmVzb3VyY2UucmVxdWVzdCwge1xuICAgICAgICBlbmRwb2ludDogZSxcbiAgICAgICAgcGF0aDogbW9kZWwsXG4gICAgICAgIGVudGl0eSxcbiAgICAgICAgY2lyY3VsYXJcbiAgICAgIH0pO1xuICAgIHJldHVybjtcbiAgfVxuICAvLyNlbmRyZWdpb25cblxuICAvLyNyZWdpb24gYXBpXG4gIC8qKlxuICAgKiBBY2Nlc3MgYXBpIHRocm91Z2h0IGVuZHBvaW50XG4gICAqXG4gICAqIEBwYXJhbSB7RX0gZW5kcG9pbnRcbiAgICogQHBhcmFtIHtzdHJpbmd9IG1vZGVsXG4gICAqIEByZXR1cm5zIHtSZXN0PFQsIFRBPn1cbiAgICovXG4gIHByaXZhdGUgYXBpKGVuZHBvaW50OiBFLCBtb2RlbDogc3RyaW5nKTogUmVzdDxULCBUQT4ge1xuICAgIC8vIGxvZy5pKGBbYXBpXVxuXG4gICAgLy8gY3JlYXRpbmcgZm9yIGVuZHBvaW50OiBcIiR7ZW5kcG9pbnR9XCJcbiAgICAvLyBtb2RlbDogXCIke21vZGVsfVwiXG5cbiAgICAvLyBgKVxuICAgIGlmIChtb2RlbC5jaGFyQXQoMCkgPT09ICcvJykgbW9kZWwgPSBtb2RlbC5zbGljZSgxLCBtb2RlbC5sZW5ndGgpO1xuICAgIGxldCBlID0gPHN0cmluZz4oZW5kcG9pbnQpLnRvU3RyaW5nKCk7XG4gICAgaWYgKFJlc291cmNlLmVuZHBvaW50c1tlXSA9PT0gdm9pZCAwKSB7XG4gICAgICB0aHJvdyBgRW5kcG9pbnQ6ICR7PGFueT5lbmRwb2ludH0gaXMgbm90IG1hcHBlZCAhIENhbm5vdCBhZGQgbW9kZWw6ICR7bW9kZWx9YDtcbiAgICB9XG4gICAgbGV0IGFsbE1vZGVsczogT2JqZWN0ID0gUmVzb3VyY2UuZW5kcG9pbnRzW2VdLm1vZGVscztcbiAgICBsZXQgb3JnTW9kZWwgPSBtb2RlbDtcbiAgICBtb2RlbCA9IHRoaXMuY2hlY2tOZXN0ZWRNb2RlbHMobW9kZWwsIGFsbE1vZGVscyk7XG5cbiAgICBpZiAoUmVzb3VyY2UuZW5kcG9pbnRzW2VdLm1vZGVsc1ttb2RlbF0gPT09IHZvaWQgMCkge1xuICAgICAgLy8gbG9nLmQoJ1Jlc291cmNlLmVuZHBvaW50cycsIFJlc291cmNlLmVuZHBvaW50cyk7XG4gICAgICB0aHJvdyBgTW9kZWwgJyR7bW9kZWx9JyBpcyB1bmRlZmluZWQgaW4gZW5kcG9pbnQ6ICR7UmVzb3VyY2UuZW5kcG9pbnRzW2VdLnVybH0gYDtcbiAgICB9XG5cbiAgICBsZXQgcmVzOiBSZXN0PFQsIFRBPiA9IFJlc291cmNlLmVuZHBvaW50c1s8c3RyaW5nPihlbmRwb2ludCkudG9TdHJpbmcoKV0ubW9kZWxzW21vZGVsXTtcblxuICAgIC8vIGxvZy5kKGBcbiAgICAvLyBvcmdNb2RlbDogJHtvcmdNb2RlbH1cbiAgICAvLyBtb2RlbDogJHttb2RlbH1cblxuICAgIC8vIGApXG4gICAgaWYgKG9yZ01vZGVsICE9PSBtb2RlbCkge1xuICAgICAgbGV0IGJhc2VVcmwgPSBSZXNvdXJjZS5lbmRwb2ludHNbPHN0cmluZz4oZW5kcG9pbnQpLnRvU3RyaW5nKCldLnVybDtcbiAgICAgIC8vIGxvZy5kKCdiYXNlJywgUmVzb3VyY2UuZW5kcG9pbnRzWzxzdHJpbmc+KGVuZHBvaW50KS50b1N0cmluZygpXSlcbiAgICAgIC8vIGxvZy5kKCdiYXNlVXJsJywgYmFzZVVybClcbiAgICAgIC8vIGxvZy5kKCdvcmdNb2RlbCcsIG9yZ01vZGVsKVxuICAgICAgcmVzLl9fcmVzdF9lbmRwb2ludCA9IGAke2Jhc2VVcmx9LyR7b3JnTW9kZWx9YDtcbiAgICB9IGVsc2Uge1xuICAgICAgcmVzLl9fcmVzdF9lbmRwb2ludCA9IHZvaWQgMDtcbiAgICB9O1xuXG4gICAgLy8gbG9nLmkoYFJlc291cmNlLmVuZHBvaW50c2AsIFJlc291cmNlLmVuZHBvaW50cylcbiAgICByZXR1cm4gcmVzO1xuICB9XG4gIC8vI2VuZHJlZ2lvblxuXG59XG5cblxuXG4vLyBjb25zdCByZXMgPSBSZXNvdXJjZS5jcmVhdGUoJycpXG4vLyByZXMubW9kZWwoKVxuLy8gICAubW9jayh7XG4vLyAgICAgY29kZTogNTAwLFxuLy8gICAgIGRhdGE6IHt9LFxuLy8gICAgIGlzQXJyYXk6IHRydWVcbi8vICAgfSlcbi8vICAgLmFycmF5LlxuIl19
|
|
260
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb3VyY2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3RtcC1saWJzLWZvci1idW5kbGUvbmcyLXJlc3QvcHJvamVjdHMvbmcyLXJlc3Qvc3JjL2xpYi9yZXNvdXJjZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNoRCxNQUFNLEdBQUcsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLGlCQUFpQixFQUN0QyxLQUFLLENBQUMsU0FBUyxDQUNoQixDQUFBO0FBRUQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNwQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFHbEMsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsU0FBUyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRXRGLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQTtBQU0xQyxNQUFNLE9BQU8sUUFBUTtJQXNIbkIsWUFBWTtJQUVaLHFCQUFxQjtJQUNyQjtRQUNFLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDNUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUU7Z0JBQUUsV0FBVyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUE7YUFBRTtZQUFBLENBQUM7UUFDckQsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0lBckhNLE1BQU0sS0FBSyxZQUFZO1FB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Q25FLDRCQUE0QjtZQUM1Qiw4QkFBOEI7WUFDOUIsR0FBRyxDQUFDLGVBQWUsR0FBRyxHQUFHLE9BQU8sSUFBSSxRQUFRLEVBQUUsQ0FBQztTQUNoRDthQUFNO1lBQ0wsR0FBRyxDQUFDLGVBQWUsR0FBRyxLQUFLLENBQUMsQ0FBQztTQUM5QjtRQUFBLENBQUM7UUFFRixrREFBa0Q7UUFDbEQsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDOztBQXRQYSx3QkFBZSxHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQUM7SUFDL0MsY0FBYyxFQUFFLGtCQUFrQjtJQUNsQyxRQUFRLEVBQUUsa0JBQWtCO0NBQzdCLENBQUMsQ0FBQztBQUVjLHNCQUFhLEdBQUcsSUFBSSxPQUFPLEVBQXVCLENBQUM7QUFDbkQsdUJBQWMsR0FBRyxJQUFJLE9BQU8sRUFBNEIsQ0FBQztBQVE1RCx1QkFBYyxHQUFZLElBQUksQ0FBQztBQStDOUIsaUJBQVEsR0FBRyxJQUFJLFFBQVEsRUFBb0IsQ0FBQztBQUM1QyxrQkFBUyxHQUFHLEVBQUUsQ0FBQztBQVFmLGdCQUFPLEdBQWdCLElBQUksV0FBVyxFQUFFLENBQUM7QUF1RHhELFlBQVk7QUFFRSxnQkFBTyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUM7QUE4SDFDLGtDQUFrQztBQUNsQyxjQUFjO0FBQ2QsWUFBWTtBQUNaLGlCQUFpQjtBQUNqQixnQkFBZ0I7QUFDaEIsb0JBQW9CO0FBQ3BCLE9BQU87QUFDUCxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiLy8jcmVnaW9uIGltcG9ydHNcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IExvZywgTGV2ZWwgfSBmcm9tICduZzItbG9nZ2VyL2Jyb3dzZXInO1xuY29uc3QgbG9nID0gTG9nLmNyZWF0ZSgncmVzb3VjZS1zZXJ2aWNlJyxcbiAgTGV2ZWwuX19OT1RISU5HXG4pXG5cbmltcG9ydCB7IFJlc3QgfSBmcm9tICcuL3Jlc3QuY2xhc3MnO1xuaW1wb3J0IHsgUmVzdFJlcXVlc3QgfSBmcm9tICcuL3Jlc3QtcmVxdWVzdCc7XG5pbXBvcnQgeyBSZXN0SGVhZGVycyB9IGZyb20gJy4vcmVzdC1oZWFkZXJzJztcbmltcG9ydCB7IENvb2tpZSB9IGZyb20gJy4vY29va2llJztcbmltcG9ydCB7IE1hcHBpbmcgfSBmcm9tICcuL21hcHBpbmcnO1xuaW1wb3J0IHsgTW9kZWxzIH0gZnJvbSAnLi9tb2RlbHMnO1xuaW1wb3J0IHsgaW50ZXJwb2xhdGVQYXJhbXNUb1VybCwgaXNWYWxpZCwgY29udGFpbnNNb2RlbHMsIGdldE1vZGVscyB9IGZyb20gJy4vcGFyYW1zJztcbmltcG9ydCB7IENpcmMgfSBmcm9tICdqc29uMTAvYnJvd3Nlcic7XG5pbXBvcnQgeyBIZWxwZXJzIH0gZnJvbSAndG5wLWNvcmUvYnJvd3Nlcidcbi8vI2VuZHJlZ2lvblxuXG5kZWNsYXJlIGNvbnN0IGdsb2JhbDogYW55O1xuXG5cbmV4cG9ydCBjbGFzcyBSZXNvdXJjZTxFLCBULCBUQT4ge1xuXG4gIHB1YmxpYyBzdGF0aWMgREVGQVVMVF9IRUFERVJTID0gUmVzdEhlYWRlcnMuZnJvbSh7XG4gICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgICAnQWNjZXB0JzogJ2FwcGxpY2F0aW9uL2pzb24nXG4gIH0pO1xuXG4gIHByb3RlY3RlZCBzdGF0aWMgX2xpc3RlbkVycm9ycyA9IG5ldyBTdWJqZWN0PE1vZGVscy5CYWNrZW5kRXJyb3I+KCk7XG4gIHByb3RlY3RlZCBzdGF0aWMgX2xpc3RlblN1Y2Nlc3MgPSBuZXcgU3ViamVjdDxNb2RlbHMuSHR0cFJlc3BvbnNlPGFueT4+KCk7XG4gIHB1YmxpYyBzdGF0aWMgZ2V0IGxpc3RlbkVycm9ycygpIHtcbiAgICByZXR1cm4gdGhpcy5fbGlzdGVuRXJyb3JzLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBnZXQgbGlzdGVuU3VjY2Vzc09wZXJhdGlvbnMoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2xpc3RlblN1Y2Nlc3MuYXNPYnNlcnZhYmxlKCk7XG4gIH1cbiAgcHVibGljIHN0YXRpYyBlbmFibGVXYXJuaW5nczogYm9vbGVhbiA9IHRydWU7XG5cbiAgLy8jcmVnaW9uIHByaXZhdGUgbXRob2RzIGFuZCBmaWVsZHNcbiAgcHJpdmF0ZSBnZXRab25lKCkge1xuICAgIGNvbnN0IGlzTm9kZSA9ICh0eXBlb2Ygd2luZG93ID09PSAndW5kZWZpbmVkJylcbiAgICBpZiAoaXNOb2RlKSB7IHJldHVybiB9O1xuICAgIGNvbnN0IG5nID0gd2luZG93WyduZyddO1xuICAgIGNvbnN0IGdldEFsbEFuZ3VsYXJSb290RWxlbWVudHMgPSB3aW5kb3dbJ2dldEFsbEFuZ3VsYXJSb290RWxlbWVudHMnXTtcbiAgICBpZiAoIW5nIHx8ICFnZXRBbGxBbmd1bGFyUm9vdEVsZW1lbnRzKSB7IHJldHVybjsgfVxuICAgIGNvbnN0IHByb2JlID0gbmcucHJvYmU7XG4gICAgY29uc3QgY29yZVRva2VucyA9IG5nLmNvcmVUb2tlbnM7XG4gICAgaWYgKCFjb3JlVG9rZW5zIHx8ICFjb3JlVG9rZW5zLk5nWm9uZSkgeyByZXR1cm47IH1cbiAgICBjb25zdCB6b25lQ2xhc3MgPSBjb3JlVG9rZW5zLk5nWm9uZTtcbiAgICBpZiAoIXByb2JlIHx8IHR5cGVvZiBwcm9iZSAhPT0gJ2Z1bmN0aW9uJyB8fCAhZ2V0QWxsQW5ndWxhclJvb3RFbGVtZW50cykgeyByZXR1cm47IH1cbiAgICBjb25zdCBhbmd1bGFyRWxlbWVudHM6IGFueVtdID0gZ2V0QWxsQW5ndWxhclJvb3RFbGVtZW50cygpO1xuICAgIGlmICghQXJyYXkuaXNBcnJheShhbmd1bGFyRWxlbWVudHMpIHx8IGFuZ3VsYXJFbGVtZW50cy5sZW5ndGggPT09IDApIHsgcmV0dXJuOyB9XG4gICAgY29uc3Qgcm9vdEVsZW1lbnQgPSBuZy5wcm9iZShhbmd1bGFyRWxlbWVudHNbMF0pO1xuICAgIGlmICghcm9vdEVsZW1lbnQpIHsgcmV0dXJuOyB9XG4gICAgY29uc3QgaW5qZWN0b3IgPSByb290RWxlbWVudC5pbmplY3RvcjtcbiAgICBpZiAoIWluamVjdG9yIHx8ICFpbmplY3Rvci5nZXQgfHwgdHlwZW9mIGluamVjdG9yLmdldCAhPT0gJ2Z1bmN0aW9uJykgeyByZXR1cm47IH1cbiAgICBjb25zdCB6b25lID0gaW5qZWN0b3IuZ2V0KHpvbmVDbGFzcylcbiAgICByZXR1cm4gem9uZTtcbiAgfVxuXG5cbiAgcHVibGljIHN0YXRpYyBpbml0QW5ndWxhck5nWm9uZSh6b25lKSB7XG4gICAgUmVzdFJlcXVlc3Quem9uZSA9IHpvbmU7XG4gIH1cblxuICBwcml2YXRlIGNoZWNrTmVzdGVkTW9kZWxzKG1vZGVsOiBzdHJpbmcsIGFsbE1vZGVsczogT2JqZWN0KSB7XG4gICAgLy8gaWYgKG1vZGVsLmluZGV4T2YoJy8nKSAhPT0gLTEpIHsgLy9UT0RPIG1ha2UgdGhpcyBiZXR0ZXIsIGJlY291c2Ugbm93IEkgdW5lY2VzYXJ5IGNoZWNraW5nIHNoaXRcbiAgICBmb3IgKGxldCBwIGluIGFsbE1vZGVscykge1xuICAgICAgaWYgKGFsbE1vZGVscy5oYXNPd25Qcm9wZXJ0eShwKSkge1xuICAgICAgICBsZXQgbSA9IGFsbE1vZGVsc1twXTtcbiAgICAgICAgaWYgKGlzVmFsaWQocCkpIHtcbiAgICAgICAgICBsZXQgdXJsTW9kZWxzID0gZ2V0TW9kZWxzKHApO1xuICAgICAgICAgIGlmIChjb250YWluc01vZGVscyhtb2RlbCwgdXJsTW9kZWxzKSkge1xuICAgICAgICAgICAgbW9kZWwgPSBwO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC8vIH1cbiAgICByZXR1cm4gbW9kZWw7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBpbnN0YW5jZSA9IG5ldyBSZXNvdXJjZTxzdHJpbmcsIGFueSwgYW55PigpO1xuICBwcml2YXRlIHN0YXRpYyBlbmRwb2ludHMgPSB7fTtcbiAgcHVibGljIHN0YXRpYyBnZXRNb2RlbChlbmRwb2ludDogc3RyaW5nLCBtb2RlbDogc3RyaW5nKTogUmVzdDxhbnk+IHtcbiAgICBtb2RlbCA9IFJlc291cmNlLnByZXBhcmVNb2RlbChtb2RlbCk7XG4gICAgY29uc3QgZSA9IFJlc291cmNlLmVuZHBvaW50c1tlbmRwb2ludF07XG4gICAgaWYgKCFlKSB7IHJldHVybiB2b2lkIDA7IH1cbiAgICBjb25zdCByID0gUmVzb3VyY2UuZW5kcG9pbnRzW2VuZHBvaW50XS5tb2RlbHNbbW9kZWxdO1xuICAgIHJldHVybiBSZXNvdXJjZS5lbmRwb2ludHNbZW5kcG9pbnRdLm1vZGVsc1ttb2RlbF07XG4gIH1cbiAgcHJpdmF0ZSBzdGF0aWMgcmVxdWVzdDogUmVzdFJlcXVlc3QgPSBuZXcgUmVzdFJlcXVlc3QoKTtcbiAgLy8jZW5kcmVnaW9uXG5cblxuICAvLyNyZWdpb24gY3JlYXRlXG4gIHB1YmxpYyBzdGF0aWMgY3JlYXRlPEEsIFRBID0gQVtdPihcbiAgICBlOiBzdHJpbmcsXG4gICAgbW9kZWw/OiBzdHJpbmcsXG4gICAgZW50aXR5TWFwcGluZz86IE1hcHBpbmcuTWFwcGluZyxcbiAgICBjaXJjdWxhcj86IENpcmNbXVxuICApOiBNb2RlbHMuUmVzb3VyY2VNb2RlbDxBLCBUQT4ge1xuICAgIGNvbnN0IGJhZFJlc3RSZWdFWCA9IG5ldyBSZWdFeHAoJygoXFwvOilbYS16XSspKycsICdnJyk7XG4gICAgY29uc3QgbWF0Y2hBcnIgPSBtb2RlbC5tYXRjaChiYWRSZXN0UmVnRVgpIHx8IFtdO1xuICAgIGNvbnN0IGJhZE1vZGVsc05leHRUb0VhY2hPdGhlciA9IG1hdGNoQXJyLmpvaW4oKTtcbiAgICBjb25zdCBhdGxlYXMyRG91YmxlRG90cyA9ICgoYmFkTW9kZWxzTmV4dFRvRWFjaE90aGVyLm1hdGNoKG5ldyBSZWdFeHAoJzonLCAnZycpKSB8fCBbXSkubGVuZ3RoID49IDIpO1xuICAgIGlmIChhdGxlYXMyRG91YmxlRG90cyAmJiBtb2RlbC5zZWFyY2goYmFkTW9kZWxzTmV4dFRvRWFjaE90aGVyKSAhPT0gLTEpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgXG5cbkJhZCByZXN0IG1vZGVsOiAke21vZGVsfVxuXG5EbyBub3QgY3JlYXRlIHJlc3QgbW9kZWxzIGxpa2UgdGhpczogICAgL2Jvb2svYXV0aG9yLzpib29raWQvOmF1dGhvcmlkXG5JbnN0ZWFkIHVzZSBuZXN0ZWQgYXBwcm9hY2g6ICAgICAgICAgICAgL2Jvb2svOmJvb2tpZC9hdXRob3IvOmF1dGhvcmlkXG4gICAgICAgICAgICBgKVxuICAgIH07XG4gICAgUmVzb3VyY2UubWFwKGUsIGUpO1xuICAgIFJlc291cmNlLmluc3RhbmNlLmFkZChlLCBtb2RlbCA/IG1vZGVsIDogJycsIGVudGl0eU1hcHBpbmcsIGNpcmN1bGFyKTtcbiAgICAvLyBpZiAobW9kZWwuY2hhckF0KG1vZGVsLmxlbmd0aCAtIDEpICE9PSAnLycpIG1vZGVsID0gYCR7bW9kZWx9L2A7XG4gICAgcmV0dXJuIHtcbiAgICAgIG1vZGVsOiAocGFyYW1zPzogT2JqZWN0KSA9PiBSZXNvdXJjZS5pbnN0YW5jZS5hcGkoXG4gICAgICAgIGUsXG4gICAgICAgIGludGVycG9sYXRlUGFyYW1zVG9VcmwocGFyYW1zLCBtb2RlbClcbiAgICAgICksXG4gICAgICByZXBsYXk6IChtZXRob2Q6IE1vZGVscy5IdHRwTWV0aG9kKSA9PiB7XG4gICAgICAgIFJlc291cmNlLmdldE1vZGVsKGUsIG1vZGVsKS5yZXBsYXkobWV0aG9kKTtcbiAgICAgIH0sXG4gICAgICBnZXQgaGVhZGVycygpIHtcbiAgICAgICAgcmV0dXJuIFJlc291cmNlLmdldE1vZGVsKGUsIG1vZGVsKS5oZWFkZXJzO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAvLyNlbmRyZWdpb25cblxuICAvLyNyZWdpb24gcmVzZXRcbiAgcHVibGljIHN0YXRpYyByZXNldCgpIHtcbiAgICBSZXNvdXJjZS5lbmRwb2ludHMgPSB7fTtcbiAgfVxuICAvLyNlbmRyZWdpb25cblxuICAvLyNyZWdpb24gY29uc3RydWN0b3JcbiAgcHJpdmF0ZSBjb25zdHJ1Y3RvcigpIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGNvbnN0IHpvbmUgPSB0aGlzLmdldFpvbmUoKTtcbiAgICAgIGlmICghUmVzdFJlcXVlc3Quem9uZSkgeyBSZXN0UmVxdWVzdC56b25lID0gem9uZSB9O1xuICAgIH0pXG4gIH1cbiAgLy8jZW5kcmVnaW9uXG5cbiAgcHVibGljIHN0YXRpYyBDb29raWVzID0gQ29va2llLkluc3RhbmNlO1xuXG4gIC8vI3JlZ2lvbiBtYXBcbiAgcHJpdmF0ZSBzdGF0aWMgbWFwKGVuZHBvaW50OiBzdHJpbmcsIHVybDogc3RyaW5nKTogYm9vbGVhbiB7XG5cbiAgICBsb2cuaSgndXJsJywgdXJsKVxuICAgIGxldCByZWdleCA9IC8oaHR0cHxodHRwcyk6XFwvXFwvKFxcdys6ezAsMX1cXHcqKT8oXFxTKykoOlswLTldKyk/KFxcL3xcXC8oW1xcdyMhOi4/Kz0mJSFcXC1cXC9dKSk/LztcbiAgICBsZXQgZSA9IGVuZHBvaW50O1xuICAgIGlmICghcmVnZXgudGVzdCh1cmwpKSB7XG4gICAgICB0aHJvdyBgVXJsIGFkZHJlc3MgaXMgbm90IGNvcnJlY3Q6ICR7dXJsfWA7XG4gICAgfVxuICAgIGlmICh1cmwuY2hhckF0KHVybC5sZW5ndGggLSAxKSA9PT0gJy8nKSB1cmwgPSB1cmwuc2xpY2UoMCwgdXJsLmxlbmd0aCAtIDEpO1xuICAgIGxvZy5pKCd1cmwgYWZ0ZXInLCB1cmwpXG4gICAgaWYgKFJlc291cmNlLmVuZHBvaW50c1tlXSAhPT0gdm9pZCAwKSB7XG4gICAgICBIZWxwZXJzLmxvZygnQ2Fubm90IHVzZSBtYXAgZnVuY3Rpb24gYXQgdGhlIHNhbWUgQVBJIGVuZHBvaW50IGFnYWluICgnXG4gICAgICAgICsgUmVzb3VyY2UuZW5kcG9pbnRzW2VdLnVybCArICcpJyk7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIFJlc291cmNlLmVuZHBvaW50c1tlXSA9IHtcbiAgICAgIHVybDogdXJsLFxuICAgICAgbW9kZWxzOiB7fSxcbiAgICAgIGVudGl0eTogbnVsbFxuICAgIH07XG4gICAgbG9nLmkoJ2VucG9pbnRzJywgUmVzb3VyY2UuZW5kcG9pbnRzKVxuICAgIHJldHVybiB0cnVlO1xuICB9XG4gIC8vI2VuZHJlZ2lvblxuXG4gIHByaXZhdGUgc3RhdGljIHByZXBhcmVNb2RlbChtb2RlbCkge1xuICAgIGlmIChtb2RlbC5jaGFyQXQobW9kZWwubGVuZ3RoIC0gMSkgPT09ICcvJykgbW9kZWwgPSBtb2RlbC5zbGljZSgwLCBtb2RlbC5sZW5ndGggLSAxKTtcbiAgICBpZiAobW9kZWwuY2hhckF0KDApID09PSAnLycpIG1vZGVsID0gbW9kZWwuc2xpY2UoMSwgbW9kZWwubGVuZ3RoKTtcbiAgICByZXR1cm4gbW9kZWw7XG4gIH1cblxuXG4gIC8vI3JlZ2lvbiBhZGRcbiAgLyoqXG4gICAqIEFuZCBlbmlwb2ludCB0byBhcHBsaWNhdGlvblxuICAgKlxuICAgKiBAcGFyYW0ge0V9IGVuZHBvaW50XG4gICAqIEBwYXJhbSB7c3RyaW5nfSBtb2RlbFxuICAgKiBAcmV0dXJucyB7Ym9vbGVhbn1cbiAgICovXG4gIHByaXZhdGUgYWRkKGVuZHBvaW50OiBFLCBtb2RlbDogc3RyaW5nLCBlbnRpdHk6IE1hcHBpbmcuTWFwcGluZywgY2lyY3VsYXI/OiBDaXJjW10pIHtcbiAgICBsb2cuaShgSSBhbSBtYXBpbmcgJHttb2RlbH0gb24gJHs8YW55PmVuZHBvaW50fWApO1xuICAgIG1vZGVsID0gUmVzb3VyY2UucHJlcGFyZU1vZGVsKG1vZGVsKTtcblxuICAgIGxldCBlOiBzdHJpbmc7XG4gICAgZSA9IDxzdHJpbmc+KGVuZHBvaW50KS50b1N0cmluZygpO1xuXG4gICAgaWYgKFJlc291cmNlLmVuZHBvaW50c1tlXSA9PT0gdm9pZCAwKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdFbmRwb2ludCBpcyBub3QgbWFwcGVkICEgQ2Fubm90IGFkZCBtb2RlbCAnICsgbW9kZWwpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoUmVzb3VyY2UuZW5kcG9pbnRzW2VdLm1vZGVsc1ttb2RlbF0gIT09IHZvaWQgMCkge1xuICAgICAgaWYgKFJlc291cmNlLmVuYWJsZVdhcm5pbmdzKSBjb25zb2xlLndhcm4oYE1vZGVsICcke21vZGVsfScgaXMgYWxyZWFkeSBkZWZpbmVkIGluIGVuZHBvaW50OiBgXG4gICAgICAgICsgUmVzb3VyY2UuZW5kcG9pbnRzW2VdLnVybCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIFJlc291cmNlLmVuZHBvaW50c1tlXS5tb2RlbHNbbW9kZWxdID1cbiAgICAgIG5ldyBSZXN0PFQsIFRBPihSZXNvdXJjZS5lbmRwb2ludHNbZV0udXJsXG4gICAgICAgICsgJy8nICsgbW9kZWwsIFJlc291cmNlLnJlcXVlc3QsIHtcbiAgICAgICAgZW5kcG9pbnQ6IGUsXG4gICAgICAgIHBhdGg6IG1vZGVsLFxuICAgICAgICBlbnRpdHksXG4gICAgICAgIGNpcmN1bGFyXG4gICAgICB9KTtcbiAgICByZXR1cm47XG4gIH1cbiAgLy8jZW5kcmVnaW9uXG5cbiAgLy8jcmVnaW9uIGFwaVxuICAvKipcbiAgICogQWNjZXNzIGFwaSB0aHJvdWdodCBlbmRwb2ludFxuICAgKlxuICAgKiBAcGFyYW0ge0V9IGVuZHBvaW50XG4gICAqIEBwYXJhbSB7c3RyaW5nfSBtb2RlbFxuICAgKiBAcmV0dXJucyB7UmVzdDxULCBUQT59XG4gICAqL1xuICBwcml2YXRlIGFwaShlbmRwb2ludDogRSwgbW9kZWw6IHN0cmluZyk6IFJlc3Q8VCwgVEE+IHtcbiAgICAvLyBsb2cuaShgW2FwaV1cblxuICAgIC8vIGNyZWF0aW5nIGZvciBlbmRwb2ludDogXCIke2VuZHBvaW50fVwiXG4gICAgLy8gbW9kZWw6IFwiJHttb2RlbH1cIlxuXG4gICAgLy8gYClcbiAgICBpZiAobW9kZWwuY2hhckF0KDApID09PSAnLycpIG1vZGVsID0gbW9kZWwuc2xpY2UoMSwgbW9kZWwubGVuZ3RoKTtcbiAgICBsZXQgZSA9IDxzdHJpbmc+KGVuZHBvaW50KS50b1N0cmluZygpO1xuICAgIGlmIChSZXNvdXJjZS5lbmRwb2ludHNbZV0gPT09IHZvaWQgMCkge1xuICAgICAgdGhyb3cgYEVuZHBvaW50OiAkezxhbnk+ZW5kcG9pbnR9IGlzIG5vdCBtYXBwZWQgISBDYW5ub3QgYWRkIG1vZGVsOiAke21vZGVsfWA7XG4gICAgfVxuICAgIGxldCBhbGxNb2RlbHM6IE9iamVjdCA9IFJlc291cmNlLmVuZHBvaW50c1tlXS5tb2RlbHM7XG4gICAgbGV0IG9yZ01vZGVsID0gbW9kZWw7XG4gICAgbW9kZWwgPSB0aGlzLmNoZWNrTmVzdGVkTW9kZWxzKG1vZGVsLCBhbGxNb2RlbHMpO1xuXG4gICAgaWYgKFJlc291cmNlLmVuZHBvaW50c1tlXS5tb2RlbHNbbW9kZWxdID09PSB2b2lkIDApIHtcbiAgICAgIC8vIGxvZy5kKCdSZXNvdXJjZS5lbmRwb2ludHMnLCBSZXNvdXJjZS5lbmRwb2ludHMpO1xuICAgICAgdGhyb3cgYE1vZGVsICcke21vZGVsfScgaXMgdW5kZWZpbmVkIGluIGVuZHBvaW50OiAke1Jlc291cmNlLmVuZHBvaW50c1tlXS51cmx9IGA7XG4gICAgfVxuXG4gICAgbGV0IHJlczogUmVzdDxULCBUQT4gPSBSZXNvdXJjZS5lbmRwb2ludHNbPHN0cmluZz4oZW5kcG9pbnQpLnRvU3RyaW5nKCldLm1vZGVsc1ttb2RlbF07XG5cbiAgICAvLyBsb2cuZChgXG4gICAgLy8gb3JnTW9kZWw6ICR7b3JnTW9kZWx9XG4gICAgLy8gbW9kZWw6ICR7bW9kZWx9XG5cbiAgICAvLyBgKVxuICAgIGlmIChvcmdNb2RlbCAhPT0gbW9kZWwpIHtcbiAgICAgIGxldCBiYXNlVXJsID0gUmVzb3VyY2UuZW5kcG9pbnRzWzxzdHJpbmc+KGVuZHBvaW50KS50b1N0cmluZygpXS51cmw7XG4gICAgICAvLyBsb2cuZCgnYmFzZScsIFJlc291cmNlLmVuZHBvaW50c1s8c3RyaW5nPihlbmRwb2ludCkudG9TdHJpbmcoKV0pXG4gICAgICAvLyBsb2cuZCgnYmFzZVVybCcsIGJhc2VVcmwpXG4gICAgICAvLyBsb2cuZCgnb3JnTW9kZWwnLCBvcmdNb2RlbClcbiAgICAgIHJlcy5fX3Jlc3RfZW5kcG9pbnQgPSBgJHtiYXNlVXJsfS8ke29yZ01vZGVsfWA7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJlcy5fX3Jlc3RfZW5kcG9pbnQgPSB2b2lkIDA7XG4gICAgfTtcblxuICAgIC8vIGxvZy5pKGBSZXNvdXJjZS5lbmRwb2ludHNgLCBSZXNvdXJjZS5lbmRwb2ludHMpXG4gICAgcmV0dXJuIHJlcztcbiAgfVxuICAvLyNlbmRyZWdpb25cblxufVxuXG5cblxuLy8gY29uc3QgcmVzID0gUmVzb3VyY2UuY3JlYXRlKCcnKVxuLy8gcmVzLm1vZGVsKClcbi8vICAgLm1vY2soe1xuLy8gICAgIGNvZGU6IDUwMCxcbi8vICAgICBkYXRhOiB7fSxcbi8vICAgICBpc0FycmF5OiB0cnVlXG4vLyAgIH0pXG4vLyAgIC5hcnJheS5cbiJdfQ==
|