ng2-rest 16.0.14 → 16.0.15
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 +135 -135
- package/assets/shared/shared_folder_info.txt +1 -1
- package/browser/README.md +24 -24
- package/browser/esm2022/lib/content-type.mjs +1 -1
- package/browser/esm2022/lib/cookie.mjs +1 -1
- package/browser/esm2022/lib/helpers.mjs +1 -1
- package/browser/esm2022/lib/index.mjs +1 -1
- package/browser/esm2022/lib/mapping.mjs +1 -1
- package/browser/esm2022/lib/models.mjs +3 -1
- package/browser/esm2022/lib/other/simple-resource.mjs +1 -1
- package/browser/esm2022/lib/params.mjs +1 -1
- package/browser/esm2022/lib/request-cache.mjs +1 -1
- package/browser/esm2022/lib/resource-service.mjs +1 -1
- package/browser/esm2022/lib/rest-headers.mjs +1 -1
- package/browser/esm2022/lib/rest-request.mjs +1 -1
- package/browser/esm2022/lib/rest.class.mjs +1 -1
- package/browser/fesm2022/ng2-rest.mjs +2 -0
- package/browser/fesm2022/ng2-rest.mjs.map +1 -1
- package/client/README.md +24 -24
- package/client/esm2022/lib/content-type.mjs +1 -1
- package/client/esm2022/lib/cookie.mjs +1 -1
- package/client/esm2022/lib/helpers.mjs +1 -1
- package/client/esm2022/lib/index.mjs +1 -1
- package/client/esm2022/lib/mapping.mjs +1 -1
- package/client/esm2022/lib/models.mjs +3 -1
- package/client/esm2022/lib/other/simple-resource.mjs +1 -1
- package/client/esm2022/lib/params.mjs +1 -1
- package/client/esm2022/lib/request-cache.mjs +1 -1
- package/client/esm2022/lib/resource-service.mjs +1 -1
- package/client/esm2022/lib/rest-headers.mjs +1 -1
- package/client/esm2022/lib/rest-request.mjs +1 -1
- package/client/esm2022/lib/rest.class.mjs +1 -1
- package/client/fesm2022/ng2-rest.mjs +2 -0
- package/client/fesm2022/ng2-rest.mjs.map +1 -1
- package/client/package.json +42 -32
- package/index.js.map +1 -1
- package/lib/content-type.js.map +1 -1
- package/lib/cookie.js.map +1 -1
- package/lib/helpers.js.map +1 -1
- package/lib/index.js.map +1 -1
- package/lib/mapping.js.map +1 -1
- package/lib/models.d.ts +2 -0
- package/lib/models.js +1 -0
- package/lib/models.js.map +1 -1
- package/lib/other/simple-resource.js.map +1 -1
- package/lib/params.js.map +1 -1
- package/lib/request-cache.js.map +1 -1
- package/lib/resource-service.js.map +1 -1
- package/lib/rest-headers.js.map +1 -1
- package/lib/rest-request.js.map +1 -1
- package/lib/rest.class.js.map +1 -1
- package/package.json +4 -4
- package/package.json_devDependencies.json +217 -217
- package/package.json_tnp.json5 +53 -53
- package/tmp-environment.json +48 -40
- package/websql/README.md +24 -24
- package/websql/esm2022/lib/content-type.mjs +1 -1
- package/websql/esm2022/lib/cookie.mjs +1 -1
- package/websql/esm2022/lib/helpers.mjs +1 -1
- package/websql/esm2022/lib/index.mjs +1 -1
- package/websql/esm2022/lib/mapping.mjs +1 -1
- package/websql/esm2022/lib/models.mjs +3 -1
- package/websql/esm2022/lib/other/simple-resource.mjs +1 -1
- package/websql/esm2022/lib/params.mjs +1 -1
- package/websql/esm2022/lib/request-cache.mjs +1 -1
- package/websql/esm2022/lib/resource-service.mjs +1 -1
- package/websql/esm2022/lib/rest-headers.mjs +1 -1
- package/websql/esm2022/lib/rest-request.mjs +1 -1
- package/websql/esm2022/lib/rest.class.mjs +1 -1
- package/websql/fesm2022/ng2-rest.mjs +2 -0
- package/websql/fesm2022/ng2-rest.mjs.map +1 -1
|
@@ -116,4 +116,4 @@ class SimpleResource {
|
|
|
116
116
|
export { SimpleResource };
|
|
117
117
|
;
|
|
118
118
|
({}); // @--end-of-file-for-module=ng2-rest lib/other/simple-resource.ts
|
|
119
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2ltcGxlLXJlc291cmNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWJ1bmRsZS9uZzItcmVzdC9wcm9qZWN0cy9uZzItcmVzdC9zcmMvbGliL290aGVyL3NpbXBsZS1yZXNvdXJjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBS2xDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQXFCL0M7Ozs7Ozs7Ozs7O0dBV0c7QUFDSCxNQUFNLGdCQUFnQjthQUNOLDhCQUF5QixHQUFHLEtBQUssQUFBUixDQUFTO2FBQ2xDLGFBQVEsR0FBbUIsRUFBRSxBQUFyQixDQUFzQjtJQTZHNUMsWUFBMkIsUUFBb0IsRUFBVSxVQUFrQjtRQUFoRCxhQUFRLEdBQVIsUUFBUSxDQUFZO1FBQVUsZUFBVSxHQUFWLFVBQVUsQ0FBUTtRQXpHM0U7O1VBRUU7UUFDRixVQUFLLEdBQXlCLENBQUMsVUFBZSxFQUFFLEVBQUU7WUFFaEQsT0FBTztnQkFFTCxHQUFHLEVBQUUsQ0FBQyxVQUFlLEVBQUUsRUFBRTtvQkFDdkIsT0FBTyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsUUFBcUIsRUFBRSxFQUFFO3dCQUNqRCxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQzs2QkFDdkQsR0FBRyxDQUFDLENBQUMsVUFBVSxDQUFDLEVBQUUsZ0JBQWdCLENBQUMseUJBQXlCLENBQUM7NkJBQzdELFVBQVU7NkJBQ1YsU0FBUyxDQUNSLElBQUksQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUNyQyxHQUFHLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFD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LENBQUMsQ0FBQztRQUMxRixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDMUIsQ0FBQzs7U0F0QlUsY0FBYztBQTBCMUIsQ0FBQztBQUFBLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxrRUFBa0UiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IE9ic2VydmVyIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IE1vZGVscyB9IGZyb20gJy4uL21vZGVscyc7XG5pbXBvcnQgeyBSZXNvdXJjZSB9IGZyb20gJy4uL3Jlc291cmNlLXNlcnZpY2UnO1xuXG5cblxuZXhwb3J0IGludGVyZmFjZSBSZXN0UHJvbWlzZXM8QSwgVEEsIFFQIGV4dGVuZHMgTW9kZWxzLlVybFBhcmFtcz4ge1xuICBnZXQ6IChxdWVyeVBhcmFtcz86IFFQKSA9PiBPYnNlcnZhYmxlPE1vZGVscy5IdHRwUmVzcG9uc2U8QT4+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+IG9ic2VydmVyLm5leHQoZGF0YS5ib2R5Lmpzb24pLFxuICAgICAgICAgICAgICBlcnIgPT4gb2JzZXJ2ZXIuZXJyb3IoZXJyKSxcbiAgICAgICAgICAgICAgKCkgPT4gb2JzZXJ2ZXIuY29tcGxldGUoKSkpXG4gICAgICAgIH0pXG4gICAgICB9XG5cblxuICAgIH1cbiAgfVxuXG5cblxuXG4gIHB1YmxpYyBjb25zdHJ1Y3Rvcihwcml2YXRlIGVuZHBvaW50OiBFIHwgc3RyaW5nLCBwcml2YXRlIHBhdGhfbW9kZWw6IHN0cmluZykge1xuICAgIHRoaXMucmVzdCA9IDxhbnk+UmVzb3VyY2UuY3JlYXRlPEEsIFRBPig8YW55PmVuZHBvaW50LCBwYXRoX21vZGVsKTtcblxuICB9XG5cbn1cblxuXG5cbi8qKlxuICpcbiAqIEBleHBvcnRcbiAqIEBjbGFzcyBTaW1wbGVSZXNvdXJjZVxuICogQHRlbXBsYXRlIEEgc2luZ2xlIG1vZGVsIHR5cGVcbiAqIEB0ZW1wbGF0ZSBUQSBhcnJheSBtb2RlbCB0eXBlXG4gKiBAdGVtcGxhdGUgUlAgcmVzdCBwYXJhbWV0ZXJzIHR5cGVcbiAqIEB0ZW1wbGF0ZSBRUCBxdWVyeSBwYXJhbWV0ZXJzIHR5cGVcbiAqL1xuZXhwb3J0IGNsYXNzIFNpbXBsZVJlc291cmNlPEEsIFRBPiB7XG4gIG1vZGVsOiBNb2RlbDxBLCBUQSwgT2JqZWN0LCBNb2RlbHMuVXJsUGFyYW1zPjtcblxuXG4gIHByaXZhdGUgc3RhdGljIF9pc1NldFF1ZXJ5UGFyYW1zU2VyaWFsaXphdGlvbiA9IGZhbHNlO1xuICBwdWJsaWMgc3RhdGljIHNldCBkb05vdFNlcmlhbGl6ZVF1ZXJ5UGFyYW1zKHZhbHVlKSB7XG4gICAgaWYgKCFTaW1wbGVSZXNvdXJjZS5faXNTZXRRdWVyeVBhcmFtc1NlcmlhbGl6YXRpb24pIHtcbiAgICAgIFNpbXBsZVJlc291cmNlLl9pc1NldFF1ZXJ5UGFyYW1zU2VyaWFsaXphdGlvbiA9IHRydWU7XG4gICAgICBFeHRlbmRlZFJlc291cmNlLmRvTm90U2VyaWFsaXplUXVlcnlQYXJhbXMgPSB2YWx1ZVxuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zb2xlLndhcm4oYFF1ZXJ5IHBhcmFtcyBzZXJpYWxpemF0aW9uIGFscmVhZHkgc2V0IGFzXG4gICAgICAgICR7RXh0ZW5kZWRSZXNvdXJjZS5kb05vdFNlcmlhbGl6ZVF1ZXJ5UGFyYW1zfSxgKTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgX19kZXN0cm95KCkge1xuICAgIEV4dGVuZGVkUmVzb3VyY2UuaGFuZGxlcnMuZm9yRWFjaChoID0+IGgudW5zdWJzY3JpYmUoKSk7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihlbmRwb2ludDogc3RyaW5nLCBtb2RlbDogc3RyaW5nKSB7XG4gICAgbGV0IHJlc3QgPSBuZXcgRXh0ZW5kZWRSZXNvdXJjZTxzdHJpbmcsIEEsIFRBLCBPYmplY3QsIE1vZGVscy5VcmxQYXJhbXM+KGVuZHBvaW50LCBtb2RlbCk7XG4gICAgdGhpcy5tb2RlbCA9IHJlc3QubW9kZWw7XG4gIH1cblxufVxuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9bmcyLXJlc3QgbGliL290aGVyL3NpbXBsZS1yZXNvdXJjZS50cyJdfQ==
|
|
119
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2ltcGxlLXJlc291cmNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWJ1bmRsZS9uZzItcmVzdC9wcm9qZWN0cy9uZzItcmVzdC9zcmMvbGliL290aGVyL3NpbXBsZS1yZXNvdXJjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBS2xDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQXFCL0M7Ozs7Ozs7Ozs7O0dBV0c7QUFDSCxNQUFNLGdCQUFnQjthQUNOLDhCQUF5QixHQUFHLEtBQUssQUFBUixDQUFTO2FBQ2xDLGFBQVEsR0FBbUIsRUFBRSxBQUFyQixDQUFzQjtJQTZHNUMsWUFBMkIsUUFBb0IsRUFBVSxVQUFrQjtRQUFoRCxhQUFRLEdBQVIsUUFBUSxDQUFZO1FBQVUsZUFBVSxHQUFWLFVBQVUsQ0FBUTtRQXpHM0U7O1VBRUU7UUFDRixVQUFLLEdBQXlCLENBQUMsVUFBZSxFQUFFLEVBQUU7WUFFaEQsT0FBTztnQkFFTCxHQUFHLEVBQUUsQ0FBQyxVQUFlLEVBQUUsRUFBRTtvQkFDdkIsT0FBTyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsUUFBcUIsRUFBRSxFQUFFO3dCQUNqRCxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQzs2QkFDdkQsR0FBRyxDQUFDLENBQUMsVUFBVSxDQUFDLEVBQUUsZ0JBQWdCLENBQUMseUJBQXlCLENBQUM7NkJBQzdELFVBQVU7NkJBQ1YsU0FBUyxDQUNSLElBQUksQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUNyQyxHQUFHLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQzFCLEdBQUcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUE7b0JBQ2pDLENBQUMsQ0FBQyxDQUFBO2dCQUNKLENBQUM7Z0JBRUQsS0FBSyxFQUFFLENBQUMsSUFBTyxFQUFFLFdBQWdCLEVBQUUsRUFBRTtvQkFDbkMsT0FBTyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsUUFBcUIsRUFBRSxFQUFFO3dCQUNqRCxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQzs2QkFDdkQsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDLFdBQVcsQ0FBQyxFQUFFLGdCQUFnQixDQUFDLHlCQUF5QixDQUFDOzZCQUNwRSxVQUFVOzZCQUNWLFNBQVMsQ0FDUixJQUFJLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFDckMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUMxQixHQUFHLEVBQUUsQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFBO29CQUNqQyxDQUFDLENBQUMsQ0FBQTtnQkFFSixDQUFDO2dCQUVELElBQUksRUFBRSxDQUFDLFVBQWUsRUFBRSxFQUFFO29CQUN4QixPQUFPLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFxQixFQUFFLEVBQUU7d0JBQ2pELGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDOzZCQUN2RCxJQUFJLENBQUMsQ0FBQyxVQUFVLENBQUMsRUFBRSxnQkFBZ0IsQ0FBQyx5QkFBeUIsQ0FBQzs2QkFDOUQsVUFBVTs2QkFDVixTQUFTLENBQ1IsSUFBSSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQ3JDLEdBQUcsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFDMUIsR0FBRyxFQUFFLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQTtvQkFDakMsQ0FBQyxDQUFDLENBQUE7Z0JBQ0osQ0FBQztnQkFFRCxLQUFLLEVBQUUsQ0FBQyxVQUFlLEVBQUUsRUFBRTtvQkFDekIsT0FBTyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsUUFBc0IsRUFBRSxFQUFFO3dCQUNsRCxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQzs0QkFDeEQsS0FBSzs2QkFDSixHQUFHLENBQUMsQ0FBQyxVQUFVLENBQUMsRUFBRSxnQkFBZ0IsQ0FBQyx5QkFBeUIsQ0FBQzs2QkFDN0QsVUFBVTs2QkFDVixTQUFTLENBQ1IsSUFBSSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQ3JDLEdBQUcsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFDMUIsR0FBRyxFQUFFLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQTtvQkFDakMsQ0FBQyxDQUFDLENBQUE7Z0JBQ0osQ0FBQztnQkFHRCxJQUFJLEVBQUUsQ0FBQyxJQUFPLEVBQUUsV0FBZ0IsRUFBRSxFQUFFO29CQUNsQyxPQUFPLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFxQixFQUFFLEVBQUU7d0JBQ2pELGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDOzZCQUN2RCxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsV0FBVyxDQUFDLEVBQUUsZ0JBQWdCLENBQUMseUJBQXlCLENBQUM7NkJBQ3JFLFVBQVU7NkJBQ1YsU0FBUyxDQUNSLElBQUksQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUNyQyxHQUFHLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQzFCLEdBQUcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUE7b0JBQ2pDLENBQUMsQ0FBQyxDQUFBO2dCQUVKLENBQUM7Z0JBR0QsR0FBRyxFQUFFLENBQUMsSUFBTyxFQUFFLFdBQWdCLEVBQUUsRUFBRTtvQkFDakMsT0FBTyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsUUFBcUIsRUFBRSxFQUFFO3dCQUNqRCxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQzs2QkFDdkQsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDLFdBQVcsQ0FBQyxFQUFFLGdCQUFnQixDQUFDLHlCQUF5QixDQUFDOzZCQUNwRSxVQUFVOzZCQUNWLFNBQVMsQ0FDUixJQUFJLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFDckMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUMxQixHQUFHLEVBQUUsQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFBO29CQUNqQyxDQUFDLENBQUMsQ0FBQTtnQkFFSixDQUFDO2dCQUdELE1BQU0sRUFBRSxDQUFDLFVBQWUsRUFBRSxFQUFFO29CQUMxQixPQUFPLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFxQixFQUFFLEVBQUU7d0JBQ2pELGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDOzZCQUN2RCxNQUFNLENBQUMsQ0FBQyxVQUFVLENBQUMsRUFBRSxnQkFBZ0IsQ0FBQyx5QkFBeUIsQ0FBQzs2QkFDaEUsVUFBVTs2QkFDVixTQUFTLENBQ1IsSUFBSSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQ3JDLEdBQUcsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFDMUIsR0FBRyxFQUFFLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQTtvQkFDakMsQ0FBQyxDQUFDLENBQUE7Z0JBQ0osQ0FBQzthQUdGLENBQUE7UUFDSCxDQUFDLENBQUE7UUFNQyxJQUFJLENBQUMsSUFBSSxHQUFRLFFBQVEsQ0FBQyxNQUFNLENBQWEsUUFBUSxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBRXJFLENBQUM7O0FBTUg7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFhLGNBQWM7YUFJVixtQ0FBOEIsR0FBRyxLQUFLLENBQUM7SUFDL0MsTUFBTSxLQUFLLHlCQUF5QixDQUFDLEtBQUs7UUFDL0MsSUFBSSxDQUFDLGNBQWMsQ0FBQyw4QkFBOEIsRUFBRTtZQUNsRCxjQUFjLENBQUMsOEJBQThCLEdBQUcsSUFBSSxDQUFDO1lBQ3JELGdCQUFnQixDQUFDLHlCQUF5QixHQUFHLEtBQUssQ0FBQTtZQUNsRCxPQUFPO1NBQ1I7UUFDRCxPQUFPLENBQUMsSUFBSSxDQUFDO1VBQ1AsZ0JBQWdCLENBQUMseUJBQXlCLEdBQUcsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFTSxNQUFNLENBQUMsU0FBUztRQUNyQixnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVELFlBQVksUUFBZ0IsRUFBRSxLQUFhO1FBQ3pDLElBQUksSUFBSSxHQUFHLElBQUksZ0JBQWdCLENBQTBDLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUMxRixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDMUIsQ0FBQzs7U0F0QlUsY0FBYztBQTBCMUIsQ0FBQztBQUFBLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxrRUFBa0UiLCJzb3VyY2VzQ29udGVudCI6WyJcblxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBPYnNlcnZlciB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBNb2RlbHMgfSBmcm9tICcuLi9tb2RlbHMnO1xuaW1wb3J0IHsgUmVzb3VyY2UgfSBmcm9tICcuLi9yZXNvdXJjZS1zZXJ2aWNlJztcblxuXG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVzdFByb21pc2VzPEEsIFRBLCBRUCBleHRlbmRzIE1vZGVscy5VcmxQYXJhbXM+IHtcbiAgZ2V0OiAocXVlcnlQYXJhbXM/OiBRUCkgPT4gT2JzZXJ2YWJsZTxNb2RlbHMuSHR0cFJlc3BvbnNlPEE+PjtcbiAgaGVhZDogKHF1ZXJ5UGFyYW1zPzogUVApID0+IE9ic2VydmFibGU8TW9kZWxzLkh0dHBSZXNwb25zZTxBPj47XG4gIHF1ZXJ5OiAocXVlcnlQYXJhbXM/OiBRUCkgPT4gT2JzZXJ2YWJsZTxNb2RlbHMuSHR0cFJlc3BvbnNlPFRBPj47XG4gIHB1dDogKGl0ZW0/OiBBLCBxdWVyeVBhcmFtcz86IFFQKSA9PiBPYnNlcnZhYmxlPE1vZGVscy5IdHRwUmVzcG9uc2U8QT4+O1xuICBwYXRjaDogKGl0ZW0/OiBBLCBxdWVyeVBhcmFtcz86IFFQKSA9PiBPYnNlcnZhYmxlPE1vZGVscy5IdHRwUmVzcG9uc2U8QT4+O1xuICBwb3N0OiAoaXRlbT86IEEsIHF1ZXJ5UGFyYW1zPzogUVApID0+IE9ic2VydmFibGU8TW9kZWxzLkh0dHBSZXNwb25zZTxBPj47XG4gIGRlbGV0ZTogKHF1ZXJ5UGFyYW1zPzogUVApID0+IE9ic2VydmFibGU8TW9kZWxzLkh0dHBSZXNwb25zZTxBPiB8IGFueT47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTW9kZWw8QSwgVEEsIFJQIGV4dGVuZHMgT2JqZWN0LCBRUCBleHRlbmRzIE1vZGVscy5VcmxQYXJhbXM+IHtcbiAgKHJlc3RQYXJhbXM/OiBSUCk6IFJlc3RQcm9taXNlczxBLCBUQSwgUVA+O1xufVxuXG5cblxuXG4vKipcbiAqXG4gKiBAZXhwb3J0XG4gKiBAYWJzdHJhY3RcbiAqIEBjbGFzcyBTaW1wbGVSZXNvdXJjZVxuICogQGV4dGVuZHMge1Jlc291cmNlPFQsIEEsIFRBPn1cbiAqIEB0ZW1wbGF0ZSBFICBFbmRwb2ludCB0eXBlXG4gKiBAdGVtcGxhdGUgQSBTaW5nbGUgbW9kbGUgdHlwZVxuICogQHRlbXBsYXRlIFRBIEFycmF5IE1vZGVsIFR5cGVcbiAqIEB0ZW1wbGF0ZSBSUCByZXN0IHVybCBwYXJhbWV0ZXJzIHR5cGVcbiAqIEB0ZW1wbGF0ZSBRUCBxdWVyeSBwYXJhbWV0ZXIgdHlwZVxuICovXG5jbGFzcyBFeHRlbmRlZFJlc291cmNlPEUsIEEsIFRBLCBSUCBleHRlbmRzIE9iamVjdCwgUVAgZXh0ZW5kcyBNb2RlbHMuVXJsUGFyYW1zPiAge1xuICBwdWJsaWMgc3RhdGljIGRvTm90U2VyaWFsaXplUXVlcnlQYXJhbXMgPSBmYWxzZTtcbiAgcHVibGljIHN0YXRpYyBoYW5kbGVyczogU3Vic2NyaXB0aW9uW10gPSBbXTtcblxuICByZXN0OiBNb2RlbHMuUmVzb3VyY2VNb2RlbDxBLCBUQT47XG5cbiAgLyoqXG4gICAqIEdldCBtb2RlbCBieSByZXN0IHBhcmFtc1xuICAqL1xuICBtb2RlbDogTW9kZWw8QSwgVEEsIFJQLCBRUD4gPSAocmVzdFBhcmFtcz86IFJQKSA9PiB7XG5cbiAgICByZXR1cm4ge1xuXG4gICAgICBnZXQ6IChxdWVyeVByYW1zPzogUVApID0+IHtcbiAgICAgICAgcmV0dXJuIE9ic2VydmFibGUuY3JlYXRlKChvYnNlcnZlcjogT2JzZXJ2ZXI8QT4pID0+IHtcbiAgICAgICAgICBFeHRlbmRlZFJlc291cmNlLmhhbmRsZXJzLnB1c2godGhpcy5yZXN0Lm1vZGVsKHJlc3RQYXJhbXMpXG4gICAgICAgICAgICAuZ2V0KFtxdWVyeVByYW1zXSwgRXh0ZW5kZWRSZXNvdXJjZS5kb05vdFNlcmlhbGl6ZVF1ZXJ5UGFyYW1zKVxuICAgICAgICAgICAgLm9ic2VydmFibGVcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoXG4gICAgICAgICAgICAgIGRhdGEgPT4gb2JzZXJ2ZXIubmV4dChkYXRhLmJvZHkuanNvbiksXG4gICAgICAgICAgICAgIGVyciA9PiBvYnNlcnZlci5lcnJvcihlcnIpLFxuICAgICAgICAgICAgICAoKSA9PiBvYnNlcnZlci5jb21wbGV0ZSgpKSlcbiAgICAgICAgfSlcbiAgICAgIH0sXG5cbiAgICAgIHBhdGNoOiAoaXRlbTogQSwgcXVlcnlQYXJhbXM/OiBRUCkgPT4ge1xuICAgICAgICByZXR1cm4gT2JzZXJ2YWJsZS5jcmVhdGUoKG9ic2VydmVyOiBPYnNlcnZlcjxBPikgPT4ge1xuICAgICAgICAgIEV4dGVuZGVkUmVzb3VyY2UuaGFuZGxlcnMucHVzaCh0aGlzLnJlc3QubW9kZWwocmVzdFBhcmFtcylcbiAgICAgICAgICAgIC5wdXQoaXRlbSwgW3F1ZXJ5UGFyYW1zXSwgRXh0ZW5kZWRSZXNvdXJjZS5kb05vdFNlcmlhbGl6ZVF1ZXJ5UGFyYW1zKVxuICAgICAgICAgICAgLm9ic2VydmFibGVcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoXG4gICAgICAgICAgICAgIGRhdGEgPT4gb2JzZXJ2ZXIubmV4dChkYXRhLmJvZHkuanNvbiksXG4gICAgICAgICAgICAgIGVyciA9PiBvYnNlcnZlci5lcnJvcihlcnIpLFxuICAgICAgICAgICAgICAoKSA9PiBvYnNlcnZlci5jb21wbGV0ZSgpKSlcbiAgICAgICAgfSlcblxuICAgICAgfSxcblxuICAgICAgaGVhZDogKHF1ZXJ5UHJhbXM/OiBRUCkgPT4ge1xuICAgICAgICByZXR1cm4gT2JzZXJ2YWJsZS5jcmVhdGUoKG9ic2VydmVyOiBPYnNlcnZlcjxBPikgPT4ge1xuICAgICAgICAgIEV4dGVuZGVkUmVzb3VyY2UuaGFuZGxlcnMucHVzaCh0aGlzLnJlc3QubW9kZWwocmVzdFBhcmFtcylcbiAgICAgICAgICAgIC5oZWFkKFtxdWVyeVByYW1zXSwgRXh0ZW5kZWRSZXNvdXJjZS5kb05vdFNlcmlhbGl6ZVF1ZXJ5UGFyYW1zKVxuICAgICAgICAgICAgLm9ic2VydmFibGVcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoXG4gICAgICAgICAgICAgIGRhdGEgPT4gb2JzZXJ2ZXIubmV4dChkYXRhLmJvZHkuanNvbiksXG4gICAgICAgICAgICAgIGVyciA9PiBvYnNlcnZlci5lcnJvcihlcnIpLFxuICAgICAgICAgICAgICAoKSA9PiBvYnNlcnZlci5jb21wbGV0ZSgpKSlcbiAgICAgICAgfSlcbiAgICAgIH0sXG5cbiAgICAgIHF1ZXJ5OiAocXVlcnlQcmFtcz86IFFQKSA9PiB7XG4gICAgICAgIHJldHVybiBPYnNlcnZhYmxlLmNyZWF0ZSgob2JzZXJ2ZXI6IE9ic2VydmVyPFRBPikgPT4ge1xuICAgICAgICAgIEV4dGVuZGVkUmVzb3VyY2UuaGFuZGxlcnMucHVzaCh0aGlzLnJlc3QubW9kZWwocmVzdFBhcmFtcykuXG4gICAgICAgICAgICBhcnJheVxuICAgICAgICAgICAgLmdldChbcXVlcnlQcmFtc10sIEV4dGVuZGVkUmVzb3VyY2UuZG9Ob3RTZXJpYWxpemVRdWVyeVBhcmFtcylcbiAgICAgICAgICAgIC5vYnNlcnZhYmxlXG4gICAgICAgICAgICAuc3Vic2NyaWJlKFxuICAgICAgICAgICAgICBkYXRhID0+IG9ic2VydmVyLm5leHQoZGF0YS5ib2R5Lmpzb24pLFxuICAgICAgICAgICAgICBlcnIgPT4gb2JzZXJ2ZXIuZXJyb3IoZXJyKSxcbiAgICAgICAgICAgICAgKCkgPT4gb2JzZXJ2ZXIuY29tcGxldGUoKSkpXG4gICAgICAgIH0pXG4gICAgICB9LFxuXG5cbiAgICAgIHBvc3Q6IChpdGVtOiBBLCBxdWVyeVBhcmFtcz86IFFQKSA9PiB7XG4gICAgICAgIHJldHVybiBPYnNlcnZhYmxlLmNyZWF0ZSgob2JzZXJ2ZXI6IE9ic2VydmVyPEE+KSA9PiB7XG4gICAgICAgICAgRXh0ZW5kZWRSZXNvdXJjZS5oYW5kbGVycy5wdXNoKHRoaXMucmVzdC5tb2RlbChyZXN0UGFyYW1zKVxuICAgICAgICAgICAgLnBvc3QoaXRlbSwgW3F1ZXJ5UGFyYW1zXSwgRXh0ZW5kZWRSZXNvdXJjZS5kb05vdFNlcmlhbGl6ZVF1ZXJ5UGFyYW1zKVxuICAgICAgICAgICAgLm9ic2VydmFibGVcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoXG4gICAgICAgICAgICAgIGRhdGEgPT4gb2JzZXJ2ZXIubmV4dChkYXRhLmJvZHkuanNvbiksXG4gICAgICAgICAgICAgIGVyciA9PiBvYnNlcnZlci5lcnJvcihlcnIpLFxuICAgICAgICAgICAgICAoKSA9PiBvYnNlcnZlci5jb21wbGV0ZSgpKSlcbiAgICAgICAgfSlcblxuICAgICAgfSxcblxuXG4gICAgICBwdXQ6IChpdGVtOiBBLCBxdWVyeVBhcmFtcz86IFFQKSA9PiB7XG4gICAgICAgIHJldHVybiBPYnNlcnZhYmxlLmNyZWF0ZSgob2JzZXJ2ZXI6IE9ic2VydmVyPEE+KSA9PiB7XG4gICAgICAgICAgRXh0ZW5kZWRSZXNvdXJjZS5oYW5kbGVycy5wdXNoKHRoaXMucmVzdC5tb2RlbChyZXN0UGFyYW1zKVxuICAgICAgICAgICAgLnB1dChpdGVtLCBbcXVlcnlQYXJhbXNdLCBFeHRlbmRlZFJlc291cmNlLmRvTm90U2VyaWFsaXplUXVlcnlQYXJhbXMpXG4gICAgICAgICAgICAub2JzZXJ2YWJsZVxuICAgICAgICAgICAgLnN1YnNjcmliZShcbiAgICAgICAgICAgICAgZGF0YSA9PiBvYnNlcnZlci5uZXh0KGRhdGEuYm9keS5qc29uKSxcbiAgICAgICAgICAgICAgZXJyID0+IG9ic2VydmVyLmVycm9yKGVyciksXG4gICAgICAgICAgICAgICgpID0+IG9ic2VydmVyLmNvbXBsZXRlKCkpKVxuICAgICAgICB9KVxuXG4gICAgICB9LFxuXG5cbiAgICAgIGRlbGV0ZTogKHF1ZXJ5UHJhbXM/OiBRUCkgPT4ge1xuICAgICAgICByZXR1cm4gT2JzZXJ2YWJsZS5jcmVhdGUoKG9ic2VydmVyOiBPYnNlcnZlcjxBPikgPT4ge1xuICAgICAgICAgIEV4dGVuZGVkUmVzb3VyY2UuaGFuZGxlcnMucHVzaCh0aGlzLnJlc3QubW9kZWwocmVzdFBhcmFtcylcbiAgICAgICAgICAgIC5kZWxldGUoW3F1ZXJ5UHJhbXNdLCBFeHRlbmRlZFJlc291cmNlLmRvTm90U2VyaWFsaXplUXVlcnlQYXJhbXMpXG4gICAgICAgICAgICAub2JzZXJ2YWJsZVxuICAgICAgICAgICAgLnN1YnNjcmliZShcbiAgICAgICAgICAgICAgZGF0YSA9PiBvYnNlcnZlci5uZXh0KGRhdGEuYm9keS5qc29uKSxcbiAgICAgICAgICAgICAgZXJyID0+IG9ic2VydmVyLmVycm9yKGVyciksXG4gICAgICAgICAgICAgICgpID0+IG9ic2VydmVyLmNvbXBsZXRlKCkpKVxuICAgICAgICB9KVxuICAgICAgfVxuXG5cbiAgICB9XG4gIH1cblxuXG5cblxuICBwdWJsaWMgY29uc3RydWN0b3IocHJpdmF0ZSBlbmRwb2ludDogRSB8IHN0cmluZywgcHJpdmF0ZSBwYXRoX21vZGVsOiBzdHJpbmcpIHtcbiAgICB0aGlzLnJlc3QgPSA8YW55PlJlc291cmNlLmNyZWF0ZTxBLCBUQT4oPGFueT5lbmRwb2ludCwgcGF0aF9tb2RlbCk7XG5cbiAgfVxuXG59XG5cblxuXG4vKipcbiAqXG4gKiBAZXhwb3J0XG4gKiBAY2xhc3MgU2ltcGxlUmVzb3VyY2VcbiAqIEB0ZW1wbGF0ZSBBIHNpbmdsZSBtb2RlbCB0eXBlXG4gKiBAdGVtcGxhdGUgVEEgYXJyYXkgbW9kZWwgdHlwZVxuICogQHRlbXBsYXRlIFJQIHJlc3QgcGFyYW1ldGVycyB0eXBlXG4gKiBAdGVtcGxhdGUgUVAgcXVlcnkgcGFyYW1ldGVycyB0eXBlXG4gKi9cbmV4cG9ydCBjbGFzcyBTaW1wbGVSZXNvdXJjZTxBLCBUQT4ge1xuICBtb2RlbDogTW9kZWw8QSwgVEEsIE9iamVjdCwgTW9kZWxzLlVybFBhcmFtcz47XG5cblxuICBwcml2YXRlIHN0YXRpYyBfaXNTZXRRdWVyeVBhcmFtc1NlcmlhbGl6YXRpb24gPSBmYWxzZTtcbiAgcHVibGljIHN0YXRpYyBzZXQgZG9Ob3RTZXJpYWxpemVRdWVyeVBhcmFtcyh2YWx1ZSkge1xuICAgIGlmICghU2ltcGxlUmVzb3VyY2UuX2lzU2V0UXVlcnlQYXJhbXNTZXJpYWxpemF0aW9uKSB7XG4gICAgICBTaW1wbGVSZXNvdXJjZS5faXNTZXRRdWVyeVBhcmFtc1NlcmlhbGl6YXRpb24gPSB0cnVlO1xuICAgICAgRXh0ZW5kZWRSZXNvdXJjZS5kb05vdFNlcmlhbGl6ZVF1ZXJ5UGFyYW1zID0gdmFsdWVcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc29sZS53YXJuKGBRdWVyeSBwYXJhbXMgc2VyaWFsaXphdGlvbiBhbHJlYWR5IHNldCBhc1xuICAgICAgICAke0V4dGVuZGVkUmVzb3VyY2UuZG9Ob3RTZXJpYWxpemVRdWVyeVBhcmFtc30sYCk7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIF9fZGVzdHJveSgpIHtcbiAgICBFeHRlbmRlZFJlc291cmNlLmhhbmRsZXJzLmZvckVhY2goaCA9PiBoLnVuc3Vic2NyaWJlKCkpO1xuICB9XG5cbiAgY29uc3RydWN0b3IoZW5kcG9pbnQ6IHN0cmluZywgbW9kZWw6IHN0cmluZykge1xuICAgIGxldCByZXN0ID0gbmV3IEV4dGVuZGVkUmVzb3VyY2U8c3RyaW5nLCBBLCBUQSwgT2JqZWN0LCBNb2RlbHMuVXJsUGFyYW1zPihlbmRwb2ludCwgbW9kZWwpO1xuICAgIHRoaXMubW9kZWwgPSByZXN0Lm1vZGVsO1xuICB9XG5cbn1cblxuIDsoe30pOyAvLyBALS1lbmQtb2YtZmlsZS1mb3ItbW9kdWxlPW5nMi1yZXN0IGxpYi9vdGhlci9zaW1wbGUtcmVzb3VyY2UudHMiXX0=
|
|
@@ -276,4 +276,4 @@ export function prepareUrlOldWay(params) {
|
|
|
276
276
|
}
|
|
277
277
|
;
|
|
278
278
|
({}); // @--end-of-file-for-module=ng2-rest lib/params.ts
|
|
279
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW1zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWJ1bmRsZS9uZzItcmVzdC9wcm9qZWN0cy9uZzItcmVzdC9zcmMvbGliL3BhcmFtcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2pDLE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRWhELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFcEMsTUFBTSxHQUFHLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxtQkFBbUIsRUFBRSxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUE7QUFJNUQseUNBQXlDO0FBQ3pDLE1BQU0sVUFBVSxPQUFPLENBQUMsT0FBZTtJQUNyQyxPQUFPLENBQUMsSUFBSSxNQUFNLENBQUMsY0FBYyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDNUUsQ0FBQztBQUVELE1BQU0sVUFBVSxLQUFLLENBQUMsR0FBVyxFQUFFLE9BQWU7SUFDaEQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLEVBQUU7UUFDL0IsR0FBRyxDQUFDLEtBQUssQ0FBQyxrQkFBa0IsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUNuQyxPQUFPLEtBQUssQ0FBQztLQUNkO0lBQ0QsSUFBSSxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLEtBQUssR0FBRztRQUFFLEdBQUcsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsTUFBTSxHQUFHLENB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SUFBSSxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2lCQUN4QzthQUVGO1lBRUQsUUFBUSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7U0FHckM7SUFHSCxDQUFDLENBQUMsQ0FBQztJQUNILElBQUksSUFBSSxHQUFHLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNsQyxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFO1FBQUUsT0FBTyxFQUFFLENBQUM7SUFDbEMsT0FBTyxJQUFJLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztBQUNsQyxDQUFDO0FBR0QsU0FBUyxTQUFTLENBQUMsQ0FBQztJQUNsQixJQUFJLE9BQU8sQ0FBQyxLQUFLLFFBQVEsRUFBRTtRQUN6QixPQUFPLGtCQUFrQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztLQUM5QztJQUNELE9BQU8sQ0FBQyxDQUFDO0FBQ1gsQ0FBQztBQUdELE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxNQUE2QjtJQUM1RCxJQUFJLENBQUMsTUFBTTtRQUFFLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUNsQyxJQUFJLE9BQU8sTUFBTSxLQUFLLFFBQVEsRUFBRTtRQUM5QixNQUFNLEdBQUcsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0tBQzVCO0lBQ0QsT0FBTyxJQUFJLENBQUMsUUFBUSxHQUFHLEdBQUcsR0FBRyxNQUFNLENBQUM7QUFDdEMsQ0FBQztBQUdBLENBQUM7QUFBQSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsbURBQW1EIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZGlmZkNoYXJzIH0gZnJvbSAnZGlmZic7XG5pbXBvcnQgeyBfIH0gZnJvbSAndG5wLWNvcmUvYnJvd3Nlcic7XG5pbXBvcnQgeyBMb2csIExldmVsIH0gZnJvbSAnbmcyLWxvZ2dlci9icm93c2VyJztcbmltcG9ydCB7IE1vZGVscyB9IGZyb20gJy4vbW9kZWxzJztcbmltcG9ydCB7IEhlbHBlcnMgfSBmcm9tICcuL2hlbHBlcnMnO1xuXG5jb25zdCBsb2cgPSBMb2cuY3JlYXRlKCdbbmcyLXJlc3RdIHBhcmFtcycsIExldmVsLl9fTk9USElORylcblxuXG5cbi8qKiBjaGVjayBpZiBzdHJpbmcgaXMgYSB2YWxpZCBwYXR0ZXJuICovXG5leHBvcnQgZnVuY3Rpb24gaXNWYWxpZChwYXR0ZXJuOiBzdHJpbmcpIHtcbiAgcmV0dXJuIChuZXcgUmVnRXhwKCdcXC86W2EtekEtWl0qJywgJ2cnKSkudGVzdChwYXR0ZXJuLnJlcGxhY2UoJzovLycsICcnKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjaGVjayh1cmw6IHN0cmluZywgcGF0dGVybjogc3RyaW5nKTogYm9vbGVhbiB7XG4gIGlmICghSGVscGVycy5jaGVja1ZhbGlkVXJsKHVybCkpIHtcbiAgICBsb2cuZXJyb3IoYEluY29ycmVjdCB1cmw6ICR7dXJsfWApO1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICBpZiAodXJsLmNoYXJBdCh1cmwubGVuZ3RoIC0gMSkgPT09ICcvJykgdXJsID0gdXJsLnNsaWNlKDAsIHVybC5sZW5ndGggLSAyKTtcbiAgaWYgKHBhdHRlcm4uY2hhckF0KHBhdHRlcm4ubGVuZ3RoIC0gMSkgPT09ICcvJykgcGF0dGVybiA9IHBhdHRlcm4uc2xpY2UoMCwgdXJsLmxlbmd0aCAtIDIpO1xuICBwYXR0ZXJuID0gcGF0dGVybi5yZXBsYWNlKC9cXC8vZywgJ1xcLycpO1xuICBwYXR0ZXJuID0gcGF0dGVybi5yZXBsYWNlKG5ldyBSZWdFeHAoJ1xcLzpbYS16QS1aXSonLCAnZycpLCAnLisnKTtcbiAgbGV0IHJlZyA9IG5ldyBSZWdFeHAocGF0dGVybiwgJ2cnKTtcbiAgcmV0dXJuIHJlZy50ZXN0KHVybCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRNb2RlbHMocGF0dGVybjogc3RyaW5nKTogc3RyaW5nW10ge1xuICBsZXQgbSA9IHBhdHRlcm4ubWF0Y2gobmV3IFJlZ0V4cCgnW2Etei1BLVpdKlxcLzonLCAnZycpKTtcbiAgcmV0dXJuIG0ubWFwKHAgPT4gcC5yZXBsYWNlKCcvOicsICcnKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRSZXN0UHJhbXNOYW1lcyhwYXR0ZXJuOiBzdHJpbmcpOiBzdHJpbmdbXSB7XG4gIGlmIChwYXR0ZXJuLmNoYXJBdChwYXR0ZXJuLmxlbmd0aCAtIDEpICE9PSAnLycpIHBhdHRlcm4gPSBgJHtwYXR0ZXJufS9gO1xuICBsZXQgbSA9IHBhdHRlcm4ubWF0Y2gobmV3IFJlZ0V4cCgnOlthLXpBLVpdKlxcLycsICdnJykpO1xuICBsZXQgcmVzID0gbS5tYXAocCA9PiBwLnJlcGxhY2UoJzonLCAnJykucmVwbGFjZSgnLycsICcnKSk7XG4gIHJldHVybiByZXMuZmlsdGVyKHAgPT4gcC50cmltKCkgIT09ICcnKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNvbnRhaW5zTW9kZWxzKHVybDogc3RyaW5nLCBtb2RlbHM6IHN0cmluZ1tdKTogYm9vbGVhbiB7XG4gIGlmICh1cmwuY2hhckF0KDApICE9PSAnLycpIHVybCA9ICcvJyArIHVybDtcblxuICBsZXQgcmVzID0gbW9kZWxzLmZpbHRlcihtID0+IHtcbiAgICBsZXQgd29yZCA9ICcvJyArIG07XG5cbiAgICBsZXQgaWlpID0gdXJsLmluZGV4T2Yod29yZCk7XG5cbiAgICBpZiAoaWlpICsgd29yZC5sZW5ndGggPCB1cmwubGVuZ3RoICYmIHVybC5jaGFyQXQoaWlpICsgd29yZC5sZW5ndGgpICE9PSAnLycpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgaWYgKGlpaSAhPT0gLTEpIHtcbiAgICAgIHVybCA9IHVybC5yZXBsYWNlKG5ldyBSZWdFeHAoJ1xcLycgKyBtLCAnZycpLCAnJyk7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9KS5sZW5ndGg7XG5cbiAgcmV0dXJuIHJlcyA9PT0gbW9kZWxzLmxlbmd0aDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHN0YXJzKG46IG51bWJlcik6IHN0cmluZyB7XG4gIGxldCByZXMgPSAnJztcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBuOyBpKyspIHJlcyArPSAnKic7XG4gIHJldHVybiByZXM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRSZXN0UGFyYW1zKHVybDogc3RyaW5nLCBwYXR0ZXJuOiBzdHJpbmcpOiBPYmplY3Qge1xuICBsZXQgcmVzID0ge307XG4gIGxldCBtb2RlbHMgPSBnZXRSZXN0UHJhbXNOYW1lcyhwYXR0ZXJuKTtcblxuICBtb2RlbHMuZm9yRWFjaChtID0+IHtcbiAgICBwYXR0ZXJuID0gcGF0dGVybi5yZXBsYWNlKGA6JHttfWAsIHN0YXJzKG0ubGVuZ3RoKSk7XG4gIH0pXG5cbiAgbGV0IGN1cnJlbnRNb2RlbDogc3RyaW5nID0gdm9pZCAwO1xuICBkaWZmQ2hhcnMocGF0dGVybiwgdXJsKS5mb3JFYWNoKGQgPT4ge1xuXG4gICAgaWYgKGQuYWRkZWQpIHtcbiAgICAgIGlmICghaXNOYU4oTnVtYmVyKGQudmFsdWUpKSkgcmVzW2N1cnJlbnRNb2RlbF0gPSBOdW1iZXIoZC52YWx1ZSk7XG4gICAgICBlbHNlIGlmIChkLnZhbHVlLnRyaW0oKSA9PT0gJ3RydWUnKSByZXNbY3VycmVudE1vZGVsXSA9IHRydWU7XG4gICAgICBlbHNlIGlmIChkLnZhbHVlLnRyaW0oKSA9PT0gJ2ZhbHNlJykgcmVzW2N1cnJlbnRNb2RlbF0gPSBmYWxzZTtcbiAgICAgIGVsc2UgcmVzW2N1cnJlbnRNb2RlbF0gPSBkZWNvZGVVUklDb21wb25lbnQoZC52YWx1ZSk7XG4gICAgICBjdXJyZW50TW9kZWwgPSB2b2lkIDA7XG4gICAgfVxuICAgIGxldCBtID0gZC52YWx1ZS5yZXBsYWNlKCc6JywgXCJcIik7XG5cbiAgICBpZiAoZC5yZW1vdmVkKSB7XG4gICAgICBjdXJyZW50TW9kZWwgPSBtb2RlbHMuc2hpZnQoKTtcbiAgICB9XG4gIH0pO1xuICByZXR1cm4gcmVzO1xufVxuXG5leHBvcnQgY29uc3QgcmVnZXhpc1BhdGggPSAvW15cXC4uXSsoXFwuW15cXC4uXSspKy9nO1xuXG4vKipcbiAqIE1vZGVscyBsaWtlIGJvb2tzLzppZFxuICovXG5mdW5jdGlvbiBjdXRVcmxNb2RlbChwYXJhbXM6IE9iamVjdCwgbW9kZWxzOiBzdHJpbmdbXSwgb3V0cHV0OiBzdHJpbmdbXSkge1xuICBpZiAobW9kZWxzLmxlbmd0aCA9PT0gMCkgcmV0dXJuIG91dHB1dC5qb2luKCdcXC8nKTtcbiAgbGV0IG0gPSBtb2RlbHMucG9wKCk7XG5cbiAgbGV0IHBhcmFtID0gbS5tYXRjaCgvOlthLXpBLVowLTlcXC5dKy8pWzBdLnJlcGxhY2UoJzonLCAnJyk7XG4gIGNvbnN0IHBhcmFtSXNQYXRoID0gcmVnZXhpc1BhdGgudGVzdChwYXJhbSlcblxuICBsZXQgbW9kZWwgPSBtLm1hdGNoKC9bYS16QS1aMC05XStcXC8vKVswXS5yZXBsYWNlKCdcXC8nLCAnJyk7XG4gIGlmIChwYXJhbXMgPT09IHZvaWQgMCB8fFxuICAgIChwYXJhbUlzUGF0aCA/IF8uZ2V0KHBhcmFtcywgcGFyYW0pID09PSB2b2lkIDAgOiBwYXJhbXNbcGFyYW1dID09PSB2b2lkIDApIHx8XG4gICAgcGFyYW0gPT09ICd1bmRlZmluZWQnKSB7XG4gICAgb3V0cHV0Lmxlbmd0aCA9IDA7XG4gICAgb3V0cHV0LnVuc2hpZnQobW9kZWwpXG4gICAgcmV0dXJuIGN1dFVybE1vZGVsKHBhcmFtcywgbW9kZWxzLCBvdXRwdXQpO1xuICB9IGVsc2Uge1xuICAgIGlmIChwYXJhbUlzUGF0aCkge1xuXG4gICAgICBsZXQgbXJlcCA9IG0ucmVwbGFjZShuZXcgUmVnRXhwKGA6JHtwYXJhbX1gLCAnZycpLCBgJHtfLmdldChwYXJhbXMsIHBhcmFtKX1gKVxuICAgICAgb3V0cHV0LnVuc2hpZnQobXJlcClcbiAgICAgIHJldHVybiBjdXRVcmxNb2RlbChwYXJhbXMsIG1vZGVscywgb3V0cHV0KTtcbiAgICB9IGVsc2Uge1xuXG4gICAgICBsZXQgbXJlcCA9IG0ucmVwbGFjZShuZXcgUmVnRXhwKGA6JHtwYXJhbX1gLCAnZycpLCBgJHtwYXJhbXNbcGFyYW1dfWApXG4gICAgICBvdXRwdXQudW5zaGlmdChtcmVwKVxuICAgICAgcmV0dXJuIGN1dFVybE1vZGVsKHBhcmFtcywgbW9kZWxzLCBvdXRwdXQpO1xuICAgIH1cblxuICB9XG59XG5cblxuZXhwb3J0IGZ1bmN0aW9uIGludGVycG9sYXRlUGFyYW1zVG9VcmwocGFyYW1zOiBPYmplY3QsIHVybDogc3RyaW5nKTogc3RyaW5nIHtcblxuICBjb25zdCByZWdleEludCA9IC9cXFtcXFsoW15cXC4uXStcXC5bXlxcLi5dKykrXFxdXFxdL2c7XG5cbiAgdXJsID0gdXJsLnNwbGl0KCcvJykubWFwKHAgPT4ge1xuXG4gICAgbGV0IGlzUGFyYW0gPSBwLnN0YXJ0c1dpdGgoJzonKVxuICAgIGlmIChpc1BhcmFtKSB7XG4gICAgICBsZXQgcGFydCA9IHAuc2xpY2UoMSk7XG5cbiAgICAgIGlmIChyZWdleEludC50ZXN0KHBhcnQpKSB7XG5cbiAgICAgICAgcGFydCA9IHBhcnQucmVwbGFjZSgnW1snLCAnJylcbiAgICAgICAgcGFydCA9IHBhcnQucmVwbGFjZSgnXV0nLCAnJylcbiAgICAgIH1cbiAgICAgIHJldHVybiBgOiR7cGFydH1gXG4gICAgfVxuICAgIHJldHVybiBwO1xuICB9KS5qb2luKCcvJyk7XG5cblxuXG5cblxuICBsZXQgc2xhc2ggPSB7XG4gICAgc3RhcnQ6IHVybC5jaGFyQXQoMCkgPT09ICdcXC8nLFxuICAgIGVuZDogdXJsLmNoYXJBdCh1cmwubGVuZ3RoIC0gMSkgPT09ICdcXC8nXG4gIH1cblxuICBsZXQgbW9yZVByYW1zT25FbmQgPSB1cmwubWF0Y2goLyhcXC86W2EtekEtWjAtOVxcLl0rKXsyLDEwfS9nKTtcbiAgaWYgKG1vcmVQcmFtc09uRW5kICYmIChBcnJheS5pc0FycmF5KG1vcmVQcmFtc09uRW5kKSAmJiBtb3JlUHJhbXNPbkVuZC5sZW5ndGggPT09IDEpKSB7XG5cbiAgICBsZXQgbSA9IG1vcmVQcmFtc09uRW5kWzBdO1xuICAgIGxldCBtYXRjaCA9IG0ubWF0Y2goL1xcLzpbYS16QS1aMC05XFwuXSsvZyk7XG5cbiAgICBtYXRjaC5mb3JFYWNoKGUgPT4ge1xuICAgICAgbGV0IGMgPSBlLnJlcGxhY2UoJ1xcLzonLCAnJyk7XG5cbiAgICAgIGlmIChyZWdleGlzUGF0aC50ZXN0KGMpKSB7XG4gICAgICAgIHVybCA9IHVybC5yZXBsYWNlKGUsIGAvJHtfLmdldChwYXJhbXMsIGMpfWApXG4gICAgICB9IGVsc2Uge1xuICAgICAgICB1cmwgPSB1cmwucmVwbGFjZShlLCBgLyR7cGFyYW1zW2NdfWApXG4gICAgICB9XG5cblxuXG4gICAgfSlcbiAgICByZXR1cm4gdXJsO1xuICB9XG5cbiAgbGV0IG5lc3RlZFBhcmFtcyA9IHVybC5tYXRjaCgvW2EtekEtWjAtOV0rXFwvOlthLXpBLVowLTlcXC5dKy9nKTtcbiAgaWYgKCFuZXN0ZWRQYXJhbXMgfHwgKEFycmF5LmlzQXJyYXkobmVzdGVkUGFyYW1zKSAmJiBuZXN0ZWRQYXJhbXMubGVuZ3RoID09PSAwKSkgcmV0dXJuIHVybDtcblxuXG4gIGlmICghc2xhc2guZW5kKSB1cmwgPSBgJHt1cmx9L2A7XG4gIGxldCBhZGRVbmRlZmluZWRGb3JBbG9uZSA9ICghLzpbYS16QS1aMC05XFwuXStcXC8kL2cudGVzdCh1cmwpICYmIC9bYS16QS1aMC05XStcXC8kL2cudGVzdCh1cmwpKTtcblxuICBsZXQgcmVwbGFjZSA9IChuZXN0ZWRQYXJhbXMubGVuZ3RoID4gMSA/IG5lc3RlZFBhcmFtcy5qb2luKCdcXC8nKSA6IG5lc3RlZFBhcmFtc1swXSkgK1xuICAgIChhZGRVbmRlZmluZWRGb3JBbG9uZSA/ICdcXC8nICsgdXJsLm1hdGNoKC9bYS16QS1aMC05XStcXC8kL2cpWzBdIDogJ1xcLycpO1xuICBsZXQgYmVnaW5IcmVmID0gdXJsLnJlcGxhY2UocmVwbGFjZSwgJycpXG5cbiAgaWYgKGFkZFVuZGVmaW5lZEZvckFsb25lKSB7XG4gICAgdXJsID0gdXJsLnJlcGxhY2UoL1xcLyQvZywgJy86dW5kZWZpbmVkJylcbiAgICBuZXN0ZWRQYXJhbXMgPSB1cmwubWF0Y2goL1thLXpBLVowLTldK1xcLzpbYS16QS1aMC05XFwuXSsvZyk7XG4gICAgdXJsID0gY3V0VXJsTW9kZWwocGFyYW1zLCBuZXN0ZWRQYXJhbXMsIFtdKVxuICB9IGVsc2Uge1xuICAgIHVybCA9IGN1dFVybE1vZGVsKHBhcmFtcywgbmVzdGVkUGFyYW1zLCBbXSlcbiAgfVxuICB1cmwgPSBiZWdpbkhyZWYgKyB1cmw7XG5cbiAgaWYgKHVybC5jaGFyQXQodXJsLmxlbmd0aCAtIDEpICE9PSAnLycgJiYgc2xhc2guZW5kKSB1cmwgPSBgJHt1cmx9L2A7XG4gIGlmICh1cmwuY2hhckF0KDApICE9PSAnXFwvJyAmJiBzbGFzaC5zdGFydCkgdXJsID0gYC8ke3VybH1gO1xuXG4gIHJldHVybiB1cmw7XG59XG5cbi8qKlxuICogR2V0IHF1ZXJ5IHBhcmFtcyBmcm9tIHVybCwgbGlrZSAnZXgnIGluIC9hcGkvYm9va3M/ZXg9dmFsdWVcbiovXG5leHBvcnQgZnVuY3Rpb24gZGVjb2RlVXJsKHVybDogc3RyaW5nKTogT2JqZWN0IHtcbiAgbGV0IHJlZ2V4ID0gL1s/Jl0oW149I10rKT0oW14mI10qKS9nLFxuICAgIHBhcmFtcyA9IHt9LFxuICAgIG1hdGNoO1xuICB3aGlsZSAobWF0Y2ggPSByZWdleC5leGVjKHVybCkpIHtcbiAgICBwYXJhbXNbZGVjb2RlVVJJQ29tcG9uZW50KG1hdGNoWzFdKV0gPSBkZWNvZGVVUklDb21wb25lbnQobWF0Y2hbMl0pO1xuICB9XG4gIGxldCBwYXJhbXNPYmplY3QgPSA8T2JqZWN0PnBhcmFtcztcbiAgZm9yIChsZXQgcCBpbiBwYXJhbXNPYmplY3QpIHtcbiAgICBpZiAocGFyYW1zT2JqZWN0W3BdID09PSB2b2lkIDApIHtcbiAgICAgIGRlbGV0ZSBwYXJhbXNPYmplY3RbcF07XG4gICAgICBjb250aW51ZTtcbiAgICB9XG4gICAgaWYgKHBhcmFtc09iamVjdC5oYXNPd25Qcm9wZXJ0eShwKSkge1xuXG4gICAgICBsZXQgbiA9IE51bWJlcihwYXJhbXNbcF0pO1xuICAgICAgaWYgKCFpc05hTihuKSkge1xuICAgICAgICBwYXJhbXNbcF0gPSBuO1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cbiAgICAgIGlmICh0eXBlb2YgcGFyYW1zW3BdID09PSAnc3RyaW5nJykge1xuXG5cbiAgICAgICAgbGV0IGpzb247XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAganNvbiA9IEpTT04ucGFyc2UocGFyYW1zW3BdKTtcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHsgfVxuICAgICAgICBpZiAoanNvbiAhPT0gdm9pZCAwKSB7XG4gICAgICAgICAgcGFyYW1zW3BdID0ganNvbjtcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuXG5cblxuXG5cblxuXG4gICAgICB9XG4gICAgfVxuICB9XG4gIHJldHVybiBwYXJhbXM7XG59XG5cbi8qKlxuICogQ3JlYXRlIHF1ZXJ5IHBhcmFtcyBzdHJpbmcgZm9yIHVybFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7VXJsUGFyYW1zW119IHBhcmFtc1xuICogQHJldHVybnMge3N0cmluZ31cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFBhcmFtc1VybChwYXJhbXM6IE1vZGVscy5VcmxQYXJhbXNbXSwgZG9Ob3RTZXJpYWxpemU6IGJvb2xlYW4gPSBmYWxzZSk6IHN0cmluZyB7XG4gIGxldCB1cmxwYXJ0czogc3RyaW5nW10gPSBbXTtcbiAgaWYgKCFwYXJhbXMpIHJldHVybiAnJztcbiAgaWYgKCEocGFyYW1zIGluc3RhbmNlb2YgQXJyYXkpKSByZXR1cm4gJyc7XG4gIGlmIChwYXJhbXMubGVuZ3RoID09PSAwKSByZXR1cm4gJyc7XG5cbiAgcGFyYW1zLmZvckVhY2godXJscGFyYW0gPT4ge1xuICAgIGlmIChKU09OLnN0cmluZ2lmeSh1cmxwYXJhbSkgIT09ICd7fScpIHtcblxuICAgICAgbGV0IHBhcmFtZXRlcnM6IHN0cmluZ1tdID0gW107XG4gICAgICBsZXQgcGFyYW1PYmplY3QgPSA8T2JqZWN0PnVybHBhcmFtO1xuXG5cbiAgICAgIGZvciAobGV0IHAgaW4gcGFyYW1PYmplY3QpIHtcbiAgICAgICAgaWYgKHBhcmFtT2JqZWN0W3BdID09PSB2b2lkIDApIGRlbGV0ZSBwYXJhbU9iamVjdFtwXTtcbiAgICAgICAgaWYgKHBhcmFtT2JqZWN0Lmhhc093blByb3BlcnR5KHApICYmIHR5cGVvZiBwID09PSAnc3RyaW5nJyAmJiBwICE9PSAncmVnZXgnICYmICEocGFyYW1PYmplY3RbcF0gaW5zdGFuY2VvZiBSZWdFeHApKSB7XG4gICAgICAgICAgaWYgKHAubGVuZ3RoID4gMCAmJiBwWzBdID09PSAnLycpIHtcbiAgICAgICAgICAgIGxldCBuZXdOYW1lID0gcC5zbGljZSgxLCBwLmxlbmd0aCAtIDEpO1xuICAgICAgICAgICAgdXJscGFyYW1bbmV3TmFtZV0gPSB1cmxwYXJhbVtwXTtcbiAgICAgICAgICAgIHVybHBhcmFtW3BdID0gdm9pZCAwO1xuICAgICAgICAgICAgcCA9IG5ld05hbWU7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChwLmxlbmd0aCA+IDAgJiYgcFtwLmxlbmd0aCAtIDFdID09PSAnLycpIHtcbiAgICAgICAgICAgIGxldCBuZXdOYW1lID0gcC5zbGljZSgwLCBwLmxlbmd0aCAtIDIpO1xuICAgICAgICAgICAgdXJscGFyYW1bbmV3TmFtZV0gPSB1cmxwYXJhbVtwXTtcbiAgICAgICAgICAgIHVybHBhcmFtW3BdID0gdm9pZCAwO1xuICAgICAgICAgICAgcCA9IG5ld05hbWU7XG4gICAgICAgICAgfVxuICAgICAgICAgIGxldCB2OiBhbnkgPSB1cmxwYXJhbVtwXTtcbiAgICAgICAgICBpZiAodiBpbnN0YW5jZW9mIE9iamVjdCkge1xuICAgICAgICAgICAgdXJscGFyYW1bcF0gPSBKU09OLnN0cmluZ2lmeSh1cmxwYXJhbVtwXSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHVybHBhcmFtW3BdID0gZG9Ob3RTZXJpYWxpemUgPyA8c3RyaW5nPnVybHBhcmFtW3BdIDogZW5jb2RlVVJJQ29tcG9uZW50KDxzdHJpbmc+dXJscGFyYW1bcF0pO1xuICAgICAgICAgIGlmICh1cmxwYXJhbS5yZWdleCAhPT0gdm9pZCAwICYmIHVybHBhcmFtLnJlZ2V4IGluc3RhbmNlb2YgUmVnRXhwKSB7XG5cbiAgICAgICAgICAgIGlmICghdXJscGFyYW0ucmVnZXgudGVzdCg8c3RyaW5nPnVybHBhcmFtW3BdKSkge1xuICAgICAgICAgICAgICBjb25zb2xlLndhcm4oYERhdGE6ICR7dXJscGFyYW1bcF19IGluY29zdGlzdGVudCB3aXRoIHJlZ2V4ICR7dXJscGFyYW0ucmVnZXguc291cmNlfWApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBwYXJhbWV0ZXJzLnB1c2goYCR7cH09JHt1cmxwYXJhbVtwXX1gKTtcbiAgICAgICAgfVxuXG4gICAgICB9XG5cbiAgICAgIHVybHBhcnRzLnB1c2gocGFyYW1ldGVycy5qb2luKCcmJykpO1xuXG5cbiAgICB9XG5cblxuICB9KTtcbiAgbGV0IGpvaW4gPSB1cmxwYXJ0cy5qb2luKCkudHJpbSgpO1xuICBpZiAoam9pbi50cmltKCkgPT09ICcnKSByZXR1cm4gJyc7XG4gIHJldHVybiBgPyR7dXJscGFydHMuam9pbignJicpfWA7XG59XG5cblxuZnVuY3Rpb24gdHJhbnNmb3JtKG8pIHtcbiAgaWYgKHR5cGVvZiBvID09PSAnb2JqZWN0Jykge1xuICAgIHJldHVybiBlbmNvZGVVUklDb21wb25lbnQoSlNPTi5zdHJpbmdpZnkobykpO1xuICB9XG4gIHJldHVybiBvO1xufVxuXG5cbmV4cG9ydCBmdW5jdGlvbiBwcmVwYXJlVXJsT2xkV2F5KHBhcmFtcz86IFRlbXBsYXRlU3RyaW5nc0FycmF5KTogc3RyaW5nIHtcbiAgaWYgKCFwYXJhbXMpIHJldHVybiB0aGlzLmVuZHBvaW50O1xuICBpZiAodHlwZW9mIHBhcmFtcyA9PT0gJ29iamVjdCcpIHtcbiAgICBwYXJhbXMgPSB0cmFuc2Zvcm0ocGFyYW1zKTtcbiAgfVxuICByZXR1cm4gdGhpcy5lbmRwb2ludCArICcvJyArIHBhcmFtcztcbn1cblxuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9bmcyLXJlc3QgbGliL3BhcmFtcy50cyJdfQ==
|
|
279
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW1zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWJ1bmRsZS9uZzItcmVzdC9wcm9qZWN0cy9uZzItcmVzdC9zcmMvbGliL3BhcmFtcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2pDLE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRWhELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFcEMsTUFBTSxHQUFHLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxtQkFBbUIsRUFBRSxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUE7QUFJNUQseUNBQXlDO0FBQ3pDLE1BQU0sVUFBVSxPQUFPLENBQUMsT0FBZTtJQUNyQyxPQUFPLENBQUMsSUFBSSxNQUFNLENBQUMsY0FBYyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDNUUsQ0FBQztBQUVELE1BQU0sVUFBVSxLQUFLLENBQUMsR0FBVyxFQUFFLE9BQWU7SUFDaEQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLEVBQUU7UUFDL0IsR0FBRyxDQUFDLEtBQUssQ0FBQyxrQkFBa0IsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUNuQyxPQUFPLEtBQUssQ0FBQztLQUNkO0lBQ0QsSUFBSSxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLEtBQUssR0FBRztRQUFFLEdBQUcsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsTUFBTSxHQUFHLENB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SUFBSSxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2lCQUN4QzthQUVGO1lBRUQsUUFBUSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7U0FHckM7SUFHSCxDQUFDLENBQUMsQ0FBQztJQUNILElBQUksSUFBSSxHQUFHLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNsQyxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFO1FBQUUsT0FBTyxFQUFFLENBQUM7SUFDbEMsT0FBTyxJQUFJLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztBQUNsQyxDQUFDO0FBR0QsU0FBUyxTQUFTLENBQUMsQ0FBQztJQUNsQixJQUFJLE9BQU8sQ0FBQyxLQUFLLFFBQVEsRUFBRTtRQUN6QixPQUFPLGtCQUFrQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztLQUM5QztJQUNELE9BQU8sQ0FBQyxDQUFDO0FBQ1gsQ0FBQztBQUdELE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxNQUE2QjtJQUM1RCxJQUFJLENBQUMsTUFBTTtRQUFFLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUNsQyxJQUFJLE9BQU8sTUFBTSxLQUFLLFFBQVEsRUFBRTtRQUM5QixNQUFNLEdBQUcsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0tBQzVCO0lBQ0QsT0FBTyxJQUFJLENBQUMsUUFBUSxHQUFHLEdBQUcsR0FBRyxNQUFNLENBQUM7QUFDdEMsQ0FBQztBQUdBLENBQUM7QUFBQSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsbURBQW1EIiwic291cmNlc0NvbnRlbnQiOlsiXG5cbmltcG9ydCB7IGRpZmZDaGFycyB9IGZyb20gJ2RpZmYnO1xuaW1wb3J0IHsgXyB9IGZyb20gJ3RucC1jb3JlL2Jyb3dzZXInO1xuaW1wb3J0IHsgTG9nLCBMZXZlbCB9IGZyb20gJ25nMi1sb2dnZXIvYnJvd3Nlcic7XG5pbXBvcnQgeyBNb2RlbHMgfSBmcm9tICcuL21vZGVscyc7XG5pbXBvcnQgeyBIZWxwZXJzIH0gZnJvbSAnLi9oZWxwZXJzJztcblxuY29uc3QgbG9nID0gTG9nLmNyZWF0ZSgnW25nMi1yZXN0XSBwYXJhbXMnLCBMZXZlbC5fX05PVEhJTkcpXG5cblxuXG4vKiogY2hlY2sgaWYgc3RyaW5nIGlzIGEgdmFsaWQgcGF0dGVybiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzVmFsaWQocGF0dGVybjogc3RyaW5nKSB7XG4gIHJldHVybiAobmV3IFJlZ0V4cCgnXFwvOlthLXpBLVpdKicsICdnJykpLnRlc3QocGF0dGVybi5yZXBsYWNlKCc6Ly8nLCAnJykpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY2hlY2sodXJsOiBzdHJpbmcsIHBhdHRlcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuICBpZiAoIUhlbHBlcnMuY2hlY2tWYWxpZFVybCh1cmwpKSB7XG4gICAgbG9nLmVycm9yKGBJbmNvcnJlY3QgdXJsOiAke3VybH1gKTtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgaWYgKHVybC5jaGFyQXQodXJsLmxlbmd0aCAtIDEpID09PSAnLycpIHVybCA9IHVybC5zbGljZSgwLCB1cmwubGVuZ3RoIC0gMik7XG4gIGlmIChwYXR0ZXJuLmNoYXJBdChwYXR0ZXJuLmxlbmd0aCAtIDEpID09PSAnLycpIHBhdHRlcm4gPSBwYXR0ZXJuLnNsaWNlKDAsIHVybC5sZW5ndGggLSAyKTtcbiAgcGF0dGVybiA9IHBhdHRlcm4ucmVwbGFjZSgvXFwvL2csICdcXC8nKTtcbiAgcGF0dGVybiA9IHBhdHRlcm4ucmVwbGFjZShuZXcgUmVnRXhwKCdcXC86W2EtekEtWl0qJywgJ2cnKSwgJy4rJyk7XG4gIGxldCByZWcgPSBuZXcgUmVnRXhwKHBhdHRlcm4sICdnJyk7XG4gIHJldHVybiByZWcudGVzdCh1cmwpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0TW9kZWxzKHBhdHRlcm46IHN0cmluZyk6IHN0cmluZ1tdIHtcbiAgbGV0IG0gPSBwYXR0ZXJuLm1hdGNoKG5ldyBSZWdFeHAoJ1thLXotQS1aXSpcXC86JywgJ2cnKSk7XG4gIHJldHVybiBtLm1hcChwID0+IHAucmVwbGFjZSgnLzonLCAnJykpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0UmVzdFByYW1zTmFtZXMocGF0dGVybjogc3RyaW5nKTogc3RyaW5nW10ge1xuICBpZiAocGF0dGVybi5jaGFyQXQocGF0dGVybi5sZW5ndGggLSAxKSAhPT0gJy8nKSBwYXR0ZXJuID0gYCR7cGF0dGVybn0vYDtcbiAgbGV0IG0gPSBwYXR0ZXJuLm1hdGNoKG5ldyBSZWdFeHAoJzpbYS16QS1aXSpcXC8nLCAnZycpKTtcbiAgbGV0IHJlcyA9IG0ubWFwKHAgPT4gcC5yZXBsYWNlKCc6JywgJycpLnJlcGxhY2UoJy8nLCAnJykpO1xuICByZXR1cm4gcmVzLmZpbHRlcihwID0+IHAudHJpbSgpICE9PSAnJyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjb250YWluc01vZGVscyh1cmw6IHN0cmluZywgbW9kZWxzOiBzdHJpbmdbXSk6IGJvb2xlYW4ge1xuICBpZiAodXJsLmNoYXJBdCgwKSAhPT0gJy8nKSB1cmwgPSAnLycgKyB1cmw7XG5cbiAgbGV0IHJlcyA9IG1vZGVscy5maWx0ZXIobSA9PiB7XG4gICAgbGV0IHdvcmQgPSAnLycgKyBtO1xuXG4gICAgbGV0IGlpaSA9IHVybC5pbmRleE9mKHdvcmQpO1xuXG4gICAgaWYgKGlpaSArIHdvcmQubGVuZ3RoIDwgdXJsLmxlbmd0aCAmJiB1cmwuY2hhckF0KGlpaSArIHdvcmQubGVuZ3RoKSAhPT0gJy8nKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGlmIChpaWkgIT09IC0xKSB7XG4gICAgICB1cmwgPSB1cmwucmVwbGFjZShuZXcgUmVnRXhwKCdcXC8nICsgbSwgJ2cnKSwgJycpO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfSkubGVuZ3RoO1xuXG4gIHJldHVybiByZXMgPT09IG1vZGVscy5sZW5ndGg7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzdGFycyhuOiBudW1iZXIpOiBzdHJpbmcge1xuICBsZXQgcmVzID0gJyc7XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgbjsgaSsrKSByZXMgKz0gJyonO1xuICByZXR1cm4gcmVzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0UmVzdFBhcmFtcyh1cmw6IHN0cmluZywgcGF0dGVybjogc3RyaW5nKTogT2JqZWN0IHtcbiAgbGV0IHJlcyA9IHt9O1xuICBsZXQgbW9kZWxzID0gZ2V0UmVzdFByYW1zTmFtZXMocGF0dGVybik7XG5cbiAgbW9kZWxzLmZvckVhY2gobSA9PiB7XG4gICAgcGF0dGVybiA9IHBhdHRlcm4ucmVwbGFjZShgOiR7bX1gLCBzdGFycyhtLmxlbmd0aCkpO1xuICB9KVxuXG4gIGxldCBjdXJyZW50TW9kZWw6IHN0cmluZyA9IHZvaWQgMDtcbiAgZGlmZkNoYXJzKHBhdHRlcm4sIHVybCkuZm9yRWFjaChkID0+IHtcblxuICAgIGlmIChkLmFkZGVkKSB7XG4gICAgICBpZiAoIWlzTmFOKE51bWJlcihkLnZhbHVlKSkpIHJlc1tjdXJyZW50TW9kZWxdID0gTnVtYmVyKGQudmFsdWUpO1xuICAgICAgZWxzZSBpZiAoZC52YWx1ZS50cmltKCkgPT09ICd0cnVlJykgcmVzW2N1cnJlbnRNb2RlbF0gPSB0cnVlO1xuICAgICAgZWxzZSBpZiAoZC52YWx1ZS50cmltKCkgPT09ICdmYWxzZScpIHJlc1tjdXJyZW50TW9kZWxdID0gZmFsc2U7XG4gICAgICBlbHNlIHJlc1tjdXJyZW50TW9kZWxdID0gZGVjb2RlVVJJQ29tcG9uZW50KGQudmFsdWUpO1xuICAgICAgY3VycmVudE1vZGVsID0gdm9pZCAwO1xuICAgIH1cbiAgICBsZXQgbSA9IGQudmFsdWUucmVwbGFjZSgnOicsIFwiXCIpO1xuXG4gICAgaWYgKGQucmVtb3ZlZCkge1xuICAgICAgY3VycmVudE1vZGVsID0gbW9kZWxzLnNoaWZ0KCk7XG4gICAgfVxuICB9KTtcbiAgcmV0dXJuIHJlcztcbn1cblxuZXhwb3J0IGNvbnN0IHJlZ2V4aXNQYXRoID0gL1teXFwuLl0rKFxcLlteXFwuLl0rKSsvZztcblxuLyoqXG4gKiBNb2RlbHMgbGlrZSBib29rcy86aWRcbiAqL1xuZnVuY3Rpb24gY3V0VXJsTW9kZWwocGFyYW1zOiBPYmplY3QsIG1vZGVsczogc3RyaW5nW10sIG91dHB1dDogc3RyaW5nW10pIHtcbiAgaWYgKG1vZGVscy5sZW5ndGggPT09IDApIHJldHVybiBvdXRwdXQuam9pbignXFwvJyk7XG4gIGxldCBtID0gbW9kZWxzLnBvcCgpO1xuXG4gIGxldCBwYXJhbSA9IG0ubWF0Y2goLzpbYS16QS1aMC05XFwuXSsvKVswXS5yZXBsYWNlKCc6JywgJycpO1xuICBjb25zdCBwYXJhbUlzUGF0aCA9IHJlZ2V4aXNQYXRoLnRlc3QocGFyYW0pXG5cbiAgbGV0IG1vZGVsID0gbS5tYXRjaCgvW2EtekEtWjAtOV0rXFwvLylbMF0ucmVwbGFjZSgnXFwvJywgJycpO1xuICBpZiAocGFyYW1zID09PSB2b2lkIDAgfHxcbiAgICAocGFyYW1Jc1BhdGggPyBfLmdldChwYXJhbXMsIHBhcmFtKSA9PT0gdm9pZCAwIDogcGFyYW1zW3BhcmFtXSA9PT0gdm9pZCAwKSB8fFxuICAgIHBhcmFtID09PSAndW5kZWZpbmVkJykge1xuICAgIG91dHB1dC5sZW5ndGggPSAwO1xuICAgIG91dHB1dC51bnNoaWZ0KG1vZGVsKVxuICAgIHJldHVybiBjdXRVcmxNb2RlbChwYXJhbXMsIG1vZGVscywgb3V0cHV0KTtcbiAgfSBlbHNlIHtcbiAgICBpZiAocGFyYW1Jc1BhdGgpIHtcblxuICAgICAgbGV0IG1yZXAgPSBtLnJlcGxhY2UobmV3IFJlZ0V4cChgOiR7cGFyYW19YCwgJ2cnKSwgYCR7Xy5nZXQocGFyYW1zLCBwYXJhbSl9YClcbiAgICAgIG91dHB1dC51bnNoaWZ0KG1yZXApXG4gICAgICByZXR1cm4gY3V0VXJsTW9kZWwocGFyYW1zLCBtb2RlbHMsIG91dHB1dCk7XG4gICAgfSBlbHNlIHtcblxuICAgICAgbGV0IG1yZXAgPSBtLnJlcGxhY2UobmV3IFJlZ0V4cChgOiR7cGFyYW19YCwgJ2cnKSwgYCR7cGFyYW1zW3BhcmFtXX1gKVxuICAgICAgb3V0cHV0LnVuc2hpZnQobXJlcClcbiAgICAgIHJldHVybiBjdXRVcmxNb2RlbChwYXJhbXMsIG1vZGVscywgb3V0cHV0KTtcbiAgICB9XG5cbiAgfVxufVxuXG5cbmV4cG9ydCBmdW5jdGlvbiBpbnRlcnBvbGF0ZVBhcmFtc1RvVXJsKHBhcmFtczogT2JqZWN0LCB1cmw6IHN0cmluZyk6IHN0cmluZyB7XG5cbiAgY29uc3QgcmVnZXhJbnQgPSAvXFxbXFxbKFteXFwuLl0rXFwuW15cXC4uXSspK1xcXVxcXS9nO1xuXG4gIHVybCA9IHVybC5zcGxpdCgnLycpLm1hcChwID0+IHtcblxuICAgIGxldCBpc1BhcmFtID0gcC5zdGFydHNXaXRoKCc6JylcbiAgICBpZiAoaXNQYXJhbSkge1xuICAgICAgbGV0IHBhcnQgPSBwLnNsaWNlKDEpO1xuXG4gICAgICBpZiAocmVnZXhJbnQudGVzdChwYXJ0KSkge1xuXG4gICAgICAgIHBhcnQgPSBwYXJ0LnJlcGxhY2UoJ1tbJywgJycpXG4gICAgICAgIHBhcnQgPSBwYXJ0LnJlcGxhY2UoJ11dJywgJycpXG4gICAgICB9XG4gICAgICByZXR1cm4gYDoke3BhcnR9YFxuICAgIH1cbiAgICByZXR1cm4gcDtcbiAgfSkuam9pbignLycpO1xuXG5cblxuXG5cbiAgbGV0IHNsYXNoID0ge1xuICAgIHN0YXJ0OiB1cmwuY2hhckF0KDApID09PSAnXFwvJyxcbiAgICBlbmQ6IHVybC5jaGFyQXQodXJsLmxlbmd0aCAtIDEpID09PSAnXFwvJ1xuICB9XG5cbiAgbGV0IG1vcmVQcmFtc09uRW5kID0gdXJsLm1hdGNoKC8oXFwvOlthLXpBLVowLTlcXC5dKyl7MiwxMH0vZyk7XG4gIGlmIChtb3JlUHJhbXNPbkVuZCAmJiAoQXJyYXkuaXNBcnJheShtb3JlUHJhbXNPbkVuZCkgJiYgbW9yZVByYW1zT25FbmQubGVuZ3RoID09PSAxKSkge1xuXG4gICAgbGV0IG0gPSBtb3JlUHJhbXNPbkVuZFswXTtcbiAgICBsZXQgbWF0Y2ggPSBtLm1hdGNoKC9cXC86W2EtekEtWjAtOVxcLl0rL2cpO1xuXG4gICAgbWF0Y2guZm9yRWFjaChlID0+IHtcbiAgICAgIGxldCBjID0gZS5yZXBsYWNlKCdcXC86JywgJycpO1xuXG4gICAgICBpZiAocmVnZXhpc1BhdGgudGVzdChjKSkge1xuICAgICAgICB1cmwgPSB1cmwucmVwbGFjZShlLCBgLyR7Xy5nZXQocGFyYW1zLCBjKX1gKVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdXJsID0gdXJsLnJlcGxhY2UoZSwgYC8ke3BhcmFtc1tjXX1gKVxuICAgICAgfVxuXG5cblxuICAgIH0pXG4gICAgcmV0dXJuIHVybDtcbiAgfVxuXG4gIGxldCBuZXN0ZWRQYXJhbXMgPSB1cmwubWF0Y2goL1thLXpBLVowLTldK1xcLzpbYS16QS1aMC05XFwuXSsvZyk7XG4gIGlmICghbmVzdGVkUGFyYW1zIHx8IChBcnJheS5pc0FycmF5KG5lc3RlZFBhcmFtcykgJiYgbmVzdGVkUGFyYW1zLmxlbmd0aCA9PT0gMCkpIHJldHVybiB1cmw7XG5cblxuICBpZiAoIXNsYXNoLmVuZCkgdXJsID0gYCR7dXJsfS9gO1xuICBsZXQgYWRkVW5kZWZpbmVkRm9yQWxvbmUgPSAoIS86W2EtekEtWjAtOVxcLl0rXFwvJC9nLnRlc3QodXJsKSAmJiAvW2EtekEtWjAtOV0rXFwvJC9nLnRlc3QodXJsKSk7XG5cbiAgbGV0IHJlcGxhY2UgPSAobmVzdGVkUGFyYW1zLmxlbmd0aCA+IDEgPyBuZXN0ZWRQYXJhbXMuam9pbignXFwvJykgOiBuZXN0ZWRQYXJhbXNbMF0pICtcbiAgICAoYWRkVW5kZWZpbmVkRm9yQWxvbmUgPyAnXFwvJyArIHVybC5tYXRjaCgvW2EtekEtWjAtOV0rXFwvJC9nKVswXSA6ICdcXC8nKTtcbiAgbGV0IGJlZ2luSHJlZiA9IHVybC5yZXBsYWNlKHJlcGxhY2UsICcnKVxuXG4gIGlmIChhZGRVbmRlZmluZWRGb3JBbG9uZSkge1xuICAgIHVybCA9IHVybC5yZXBsYWNlKC9cXC8kL2csICcvOnVuZGVmaW5lZCcpXG4gICAgbmVzdGVkUGFyYW1zID0gdXJsLm1hdGNoKC9bYS16QS1aMC05XStcXC86W2EtekEtWjAtOVxcLl0rL2cpO1xuICAgIHVybCA9IGN1dFVybE1vZGVsKHBhcmFtcywgbmVzdGVkUGFyYW1zLCBbXSlcbiAgfSBlbHNlIHtcbiAgICB1cmwgPSBjdXRVcmxNb2RlbChwYXJhbXMsIG5lc3RlZFBhcmFtcywgW10pXG4gIH1cbiAgdXJsID0gYmVnaW5IcmVmICsgdXJsO1xuXG4gIGlmICh1cmwuY2hhckF0KHVybC5sZW5ndGggLSAxKSAhPT0gJy8nICYmIHNsYXNoLmVuZCkgdXJsID0gYCR7dXJsfS9gO1xuICBpZiAodXJsLmNoYXJBdCgwKSAhPT0gJ1xcLycgJiYgc2xhc2guc3RhcnQpIHVybCA9IGAvJHt1cmx9YDtcblxuICByZXR1cm4gdXJsO1xufVxuXG4vKipcbiAqIEdldCBxdWVyeSBwYXJhbXMgZnJvbSB1cmwsIGxpa2UgJ2V4JyBpbiAvYXBpL2Jvb2tzP2V4PXZhbHVlXG4qL1xuZXhwb3J0IGZ1bmN0aW9uIGRlY29kZVVybCh1cmw6IHN0cmluZyk6IE9iamVjdCB7XG4gIGxldCByZWdleCA9IC9bPyZdKFtePSNdKyk9KFteJiNdKikvZyxcbiAgICBwYXJhbXMgPSB7fSxcbiAgICBtYXRjaDtcbiAgd2hpbGUgKG1hdGNoID0gcmVnZXguZXhlYyh1cmwpKSB7XG4gICAgcGFyYW1zW2RlY29kZVVSSUNvbXBvbmVudChtYXRjaFsxXSldID0gZGVjb2RlVVJJQ29tcG9uZW50KG1hdGNoWzJdKTtcbiAgfVxuICBsZXQgcGFyYW1zT2JqZWN0ID0gPE9iamVjdD5wYXJhbXM7XG4gIGZvciAobGV0IHAgaW4gcGFyYW1zT2JqZWN0KSB7XG4gICAgaWYgKHBhcmFtc09iamVjdFtwXSA9PT0gdm9pZCAwKSB7XG4gICAgICBkZWxldGUgcGFyYW1zT2JqZWN0W3BdO1xuICAgICAgY29udGludWU7XG4gICAgfVxuICAgIGlmIChwYXJhbXNPYmplY3QuaGFzT3duUHJvcGVydHkocCkpIHtcblxuICAgICAgbGV0IG4gPSBOdW1iZXIocGFyYW1zW3BdKTtcbiAgICAgIGlmICghaXNOYU4obikpIHtcbiAgICAgICAgcGFyYW1zW3BdID0gbjtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG4gICAgICBpZiAodHlwZW9mIHBhcmFtc1twXSA9PT0gJ3N0cmluZycpIHtcblxuXG4gICAgICAgIGxldCBqc29uO1xuICAgICAgICB0cnkge1xuICAgICAgICAgIGpzb24gPSBKU09OLnBhcnNlKHBhcmFtc1twXSk7XG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7IH1cbiAgICAgICAgaWYgKGpzb24gIT09IHZvaWQgMCkge1xuICAgICAgICAgIHBhcmFtc1twXSA9IGpzb247XG4gICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cblxuXG5cblxuXG5cblxuICAgICAgfVxuICAgIH1cbiAgfVxuICByZXR1cm4gcGFyYW1zO1xufVxuXG4vKipcbiAqIENyZWF0ZSBxdWVyeSBwYXJhbXMgc3RyaW5nIGZvciB1cmxcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge1VybFBhcmFtc1tdfSBwYXJhbXNcbiAqIEByZXR1cm5zIHtzdHJpbmd9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRQYXJhbXNVcmwocGFyYW1zOiBNb2RlbHMuVXJsUGFyYW1zW10sIGRvTm90U2VyaWFsaXplOiBib29sZWFuID0gZmFsc2UpOiBzdHJpbmcge1xuICBsZXQgdXJscGFydHM6IHN0cmluZ1tdID0gW107XG4gIGlmICghcGFyYW1zKSByZXR1cm4gJyc7XG4gIGlmICghKHBhcmFtcyBpbnN0YW5jZW9mIEFycmF5KSkgcmV0dXJuICcnO1xuICBpZiAocGFyYW1zLmxlbmd0aCA9PT0gMCkgcmV0dXJuICcnO1xuXG4gIHBhcmFtcy5mb3JFYWNoKHVybHBhcmFtID0+IHtcbiAgICBpZiAoSlNPTi5zdHJpbmdpZnkodXJscGFyYW0pICE9PSAne30nKSB7XG5cbiAgICAgIGxldCBwYXJhbWV0ZXJzOiBzdHJpbmdbXSA9IFtdO1xuICAgICAgbGV0IHBhcmFtT2JqZWN0ID0gPE9iamVjdD51cmxwYXJhbTtcblxuXG4gICAgICBmb3IgKGxldCBwIGluIHBhcmFtT2JqZWN0KSB7XG4gICAgICAgIGlmIChwYXJhbU9iamVjdFtwXSA9PT0gdm9pZCAwKSBkZWxldGUgcGFyYW1PYmplY3RbcF07XG4gICAgICAgIGlmIChwYXJhbU9iamVjdC5oYXNPd25Qcm9wZXJ0eShwKSAmJiB0eXBlb2YgcCA9PT0gJ3N0cmluZycgJiYgcCAhPT0gJ3JlZ2V4JyAmJiAhKHBhcmFtT2JqZWN0W3BdIGluc3RhbmNlb2YgUmVnRXhwKSkge1xuICAgICAgICAgIGlmIChwLmxlbmd0aCA+IDAgJiYgcFswXSA9PT0gJy8nKSB7XG4gICAgICAgICAgICBsZXQgbmV3TmFtZSA9IHAuc2xpY2UoMSwgcC5sZW5ndGggLSAxKTtcbiAgICAgICAgICAgIHVybHBhcmFtW25ld05hbWVdID0gdXJscGFyYW1bcF07XG4gICAgICAgICAgICB1cmxwYXJhbVtwXSA9IHZvaWQgMDtcbiAgICAgICAgICAgIHAgPSBuZXdOYW1lO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAocC5sZW5ndGggPiAwICYmIHBbcC5sZW5ndGggLSAxXSA9PT0gJy8nKSB7XG4gICAgICAgICAgICBsZXQgbmV3TmFtZSA9IHAuc2xpY2UoMCwgcC5sZW5ndGggLSAyKTtcbiAgICAgICAgICAgIHVybHBhcmFtW25ld05hbWVdID0gdXJscGFyYW1bcF07XG4gICAgICAgICAgICB1cmxwYXJhbVtwXSA9IHZvaWQgMDtcbiAgICAgICAgICAgIHAgPSBuZXdOYW1lO1xuICAgICAgICAgIH1cbiAgICAgICAgICBsZXQgdjogYW55ID0gdXJscGFyYW1bcF07XG4gICAgICAgICAgaWYgKHYgaW5zdGFuY2VvZiBPYmplY3QpIHtcbiAgICAgICAgICAgIHVybHBhcmFtW3BdID0gSlNPTi5zdHJpbmdpZnkodXJscGFyYW1bcF0pO1xuICAgICAgICAgIH1cbiAgICAgICAgICB1cmxwYXJhbVtwXSA9IGRvTm90U2VyaWFsaXplID8gPHN0cmluZz51cmxwYXJhbVtwXSA6IGVuY29kZVVSSUNvbXBvbmVudCg8c3RyaW5nPnVybHBhcmFtW3BdKTtcbiAgICAgICAgICBpZiAodXJscGFyYW0ucmVnZXggIT09IHZvaWQgMCAmJiB1cmxwYXJhbS5yZWdleCBpbnN0YW5jZW9mIFJlZ0V4cCkge1xuXG4gICAgICAgICAgICBpZiAoIXVybHBhcmFtLnJlZ2V4LnRlc3QoPHN0cmluZz51cmxwYXJhbVtwXSkpIHtcbiAgICAgICAgICAgICAgY29uc29sZS53YXJuKGBEYXRhOiAke3VybHBhcmFtW3BdfSBpbmNvc3Rpc3RlbnQgd2l0aCByZWdleCAke3VybHBhcmFtLnJlZ2V4LnNvdXJjZX1gKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgcGFyYW1ldGVycy5wdXNoKGAke3B9PSR7dXJscGFyYW1bcF19YCk7XG4gICAgICAgIH1cblxuICAgICAgfVxuXG4gICAgICB1cmxwYXJ0cy5wdXNoKHBhcmFtZXRlcnMuam9pbignJicpKTtcblxuXG4gICAgfVxuXG5cbiAgfSk7XG4gIGxldCBqb2luID0gdXJscGFydHMuam9pbigpLnRyaW0oKTtcbiAgaWYgKGpvaW4udHJpbSgpID09PSAnJykgcmV0dXJuICcnO1xuICByZXR1cm4gYD8ke3VybHBhcnRzLmpvaW4oJyYnKX1gO1xufVxuXG5cbmZ1bmN0aW9uIHRyYW5zZm9ybShvKSB7XG4gIGlmICh0eXBlb2YgbyA9PT0gJ29iamVjdCcpIHtcbiAgICByZXR1cm4gZW5jb2RlVVJJQ29tcG9uZW50KEpTT04uc3RyaW5naWZ5KG8pKTtcbiAgfVxuICByZXR1cm4gbztcbn1cblxuXG5leHBvcnQgZnVuY3Rpb24gcHJlcGFyZVVybE9sZFdheShwYXJhbXM/OiBUZW1wbGF0ZVN0cmluZ3NBcnJheSk6IHN0cmluZyB7XG4gIGlmICghcGFyYW1zKSByZXR1cm4gdGhpcy5lbmRwb2ludDtcbiAgaWYgKHR5cGVvZiBwYXJhbXMgPT09ICdvYmplY3QnKSB7XG4gICAgcGFyYW1zID0gdHJhbnNmb3JtKHBhcmFtcyk7XG4gIH1cbiAgcmV0dXJuIHRoaXMuZW5kcG9pbnQgKyAnLycgKyBwYXJhbXM7XG59XG5cblxuIDsoe30pOyAvLyBALS1lbmQtb2YtZmlsZS1mb3ItbW9kdWxlPW5nMi1yZXN0IGxpYi9wYXJhbXMudHMiXX0=
|
|
@@ -99,4 +99,4 @@ class RequestCache {
|
|
|
99
99
|
export { RequestCache };
|
|
100
100
|
;
|
|
101
101
|
({}); // @--end-of-file-for-module=ng2-rest lib/request-cache.ts
|
|
102
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
102
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdC1jYWNoZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3RtcC1saWJzLWZvci1idW5kbGUvbmcyLXJlc3QvcHJvamVjdHMvbmcyLXJlc3Qvc3JjL2xpYi9yZXF1ZXN0LWNhY2hlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDbEMsT0FBTyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDM0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE1BQU0sR0FBRyxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsZUFBZSxFQUFFLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQTtBQUV4RDs7O0dBR0c7QUFDSCxNQUFhLFlBQVk7YUFFUCxzQkFBaUIsR0FBRyxxQkFBcUIsQ0FBQzthQUUzQyxXQUFNLEdBQW1CLEVBQUUsQ0FBQzthQUM1QiwrQkFBMEIsR0FBRyxLQUFLLENBQUM7SUFFMUMsTUFBTSxDQUFDLHVCQUF1QjtRQUNwQyxJQUFJLE9BQU8sQ0FBQyxNQUFNLEVBQUU7WUFDbEIsT0FBTztTQUNSO1FBQ0QsSUFBSSxDQUFDLFlBQVksQ0FBQywwQkFBMEIsRUFBRTtZQUM1QyxZQUFZLENBQUMsMEJBQTBCLEdBQUcsSUFBSSxDQUFDO1lBQy9DLE1BQU0sSUFBSSxHQUFHLFlBQVksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLGlCQUFpQixDQUFDLENBQUM7WUFDbEUsSUFBSSxRQUFRLEdBQW1CLEVBQUUsQ0FBQztZQUNsQyxJQUFJLElBQUksRUFBRTtnQkFDUixJQUFJO29CQUNGLFFBQVEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBbUIsQ0FBQztpQkFDL0M7Z0JBQUMsT0FBTyxLQUFLLEVBQUU7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QUNKLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNULENBQUM7SUFFRCxLQUFLO1FBQ0gsWUFBWSxDQUFDLHVCQUF1QixFQUFFLENBQUM7UUFDdkMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDdkIsWUFBWSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDL0IsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7U0FDL0I7YUFBTTtZQUNMLE9BQU8sQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztTQUMvQjtRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELE1BQU07UUFDSixZQUFZLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztRQUN2QyxNQUFNLEtBQUssR0FBRyxZQUFZLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNoRCxJQUFJLEtBQUssS0FBSyxDQUFDLENBQUMsRUFBRTtZQUNoQixZQUFZLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDckMsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7U0FDL0I7YUFBTTtZQUNMLE9BQU8sQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsQ0FBQztTQUNoQztJQUNILENBQUM7O1NBakhVLFlBQVk7QUFxSHhCLENBQUM7QUFBQSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsMERBQTBEIiwic291cmNlc0NvbnRlbnQiOlsiXG5cbmltcG9ydCB7IF8gfSBmcm9tICd0bnAtY29yZS9icm93c2VyJztcbmltcG9ydCB7IE1vZGVscyB9IGZyb20gJy4vbW9kZWxzJztcbmltcG9ydCB7IExvZywgTGV2ZWwgfSBmcm9tICduZzItbG9nZ2VyL2Jyb3dzZXInO1xuaW1wb3J0IHsgSGVscGVycyB9IGZyb20gJ3RucC1jb3JlL2Jyb3dzZXInO1xuaW1wb3J0IHsgUmVzdEhlYWRlcnMgfSBmcm9tICcuL3Jlc3QtaGVhZGVycyc7XG5jb25zdCBsb2cgPSBMb2cuY3JlYXRlKCdyZXF1ZXN0LWNhY2hlJywgTGV2ZWwuX19OT1RISU5HKVxuXG4vKipcbiAqIEBkZXByZWNhdGVkXG4gKiB0aGVyZSBpcyBDYWNoZSBBUEkgZm9yIHRoYXRcbiAqL1xuZXhwb3J0IGNsYXNzIFJlcXVlc3RDYWNoZSB7XG5cbiAgc3RhdGljIHJlYWRvbmx5IExPQ0FMX1NUT1JBR0VfS0VZID0gJ25nMnJlc3RyZXF1ZXN0Y2FjaGUnO1xuXG4gIHByaXZhdGUgc3RhdGljIGNhY2hlZDogUmVxdWVzdENhY2hlW10gPSBbXTtcbiAgcHJpdmF0ZSBzdGF0aWMgaXNSZXN0b3JlZEZyb21Mb2NhbFN0b3JhZ2UgPSBmYWxzZTtcblxuICBwcml2YXRlIHN0YXRpYyByZXN0b3JlRnJvbUxvY2FsU3RvcmFnZSgpIHtcbiAgICBpZiAoSGVscGVycy5pc05vZGUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKCFSZXF1ZXN0Q2FjaGUuaXNSZXN0b3JlZEZyb21Mb2NhbFN0b3JhZ2UpIHtcbiAgICAgIFJlcXVlc3RDYWNoZS5pc1Jlc3RvcmVkRnJvbUxvY2FsU3RvcmFnZSA9IHRydWU7XG4gICAgICBjb25zdCBkYXRhID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oUmVxdWVzdENhY2hlLkxPQ0FMX1NUT1JBR0VfS0VZKTtcbiAgICAgIGxldCByZXF1ZXN0czogUmVxdWVzdENhY2hlW10gPSBbXTtcbiAgICAgIGlmIChkYXRhKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgcmVxdWVzdHMgPSBKU09OLnBhcnNlKGRhdGEpIGFzIFJlcXVlc3RDYWNoZVtdO1xuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuXG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcmVzdG9yZWQgPSByZXF1ZXN0cy5tYXAociA9PiB7XG4gICAgICAgICAgbGV0IHsgc291cmNlUmVxdWVzdCwgcmVzcG9uc2VUZXh0LCBib2R5LCBoZWFkZXJzLCBjaXJjdWxhcixcbiAgICAgICAgICAgIGVudGl0eSwgaXNBcnJheSwgY29va2llcywgc3RhdHVzQ29kZSB9ID0gci5yZXNwb25zZTtcbiAgICAgICAgICByLnJlc3BvbnNlID0gbmV3IE1vZGVscy5IdHRwUmVzcG9uc2UoXG4gICAgICAgICAgICBzb3VyY2VSZXF1ZXN0LFxuICAgICAgICAgICAgcmVzcG9uc2VUZXh0LFxuICAgICAgICAgICAgUmVzdEhlYWRlcnMuZnJvbShoZWFkZXJzKSxcbiAgICAgICAgICAgIHN0YXR1c0NvZGUsXG4gICAgICAgICAgICBlbnRpdHksXG4gICAgICAgICAgICBjaXJjdWxhcixcbiAgICAgICAgICAgIC0xLCAvLyBqb2JpZCBmcm9tIGxvY2FsIHN0b3JhZ2UgVE9ET1xuICAgICAgICAgICAgaXNBcnJheSxcbiAgICAgICAgICApO1xuICAgICAgICAgIHIgPSBuZXcgUmVxdWVzdENhY2hlKHIucmVzcG9uc2UpO1xuICAgICAgICAgIHIucmVzcG9uc2UucnEgPSByO1xuXG4gICAgICAgICAgcmV0dXJuIHI7XG4gICAgICAgIH0pO1xuICAgICAgICBsb2cuaSgnUkVTVE9SRUQgRlJPTSBMT0NBTCBTVE9SQUdFJywgcmVzdG9yZWQpO1xuICAgICAgICBSZXF1ZXN0Q2FjaGUuY2FjaGVkID0gcmVzdG9yZWQ7XG4gICAgICB9XG5cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGZpbmRCeShzb3VyY2VSZXF1ZXN0OiBNb2RlbHMuSGFuZGxlUmVzdWx0U291cmNlUmVxdWVzdE9wdGlvbnMpIHtcbiAgICBsb2cuaSgnZmluZGJ5Jywgc291cmNlUmVxdWVzdClcbiAgICBsb2cuaSgnUmVxdWVzdENhY2hlLmNhY2hlZCcsIFJlcXVlc3RDYWNoZS5jYWNoZWQpXG4gICAgUmVxdWVzdENhY2hlLnJlc3RvcmVGcm9tTG9jYWxTdG9yYWdlKCk7XG4gICAgcmV0dXJuIFJlcXVlc3RDYWNoZS5jYWNoZWQuZmluZChjID0+IHtcbiAgICAgIGNvbnN0IGEgPSBjLnJlc3BvbnNlLnNvdXJjZVJlcXVlc3Q7XG4gICAgICBjb25zdCBiID0gc291cmNlUmVxdWVzdDtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIGEuaXNBcnJheSA9PT0gYi5pc0FycmF5ICYmXG4gICAgICAgIGEudXJsID09PSBiLnVybCAmJlxuICAgICAgICBhLm1ldGhvZCA9PT0gYi5tZXRob2QgJiZcbiAgICAgICAgYS5ib2R5ID09PSBiLmJvZHlcbiAgICAgIClcbiAgICB9KTtcbiAgfVxuXG5cblxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyByZXNwb25zZTogTW9kZWxzLkh0dHBSZXNwb25zZTxhbnk+XG4gICkge1xuXG4gIH1cblxuICBnZXQgY29udGFpbnNDYWNoZSgpIHtcbiAgICBSZXF1ZXN0Q2FjaGUucmVzdG9yZUZyb21Mb2NhbFN0b3JhZ2UoKTtcbiAgICByZXR1cm4gUmVxdWVzdENhY2hlLmNhY2hlZC5pbmNsdWRlcyh0aGlzKTtcbiAgfVxuXG4gIHByaXZhdGUgcGVyc2lzdHNJbkxvY2FsU3RvcmFnZSgpIHtcbiAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShSZXF1ZXN0Q2FjaGUuTE9DQUxfU1RPUkFHRV9LRVksXG4gICAgICBKU09OLnN0cmluZ2lmeShSZXF1ZXN0Q2FjaGUuY2FjaGVkLm1hcChyID0+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICByZXNwb25zZToge1xuICAgICAgICAgICAgc291cmNlUmVxdWVzdDogci5yZXNwb25zZS5zb3VyY2VSZXF1ZXN0LFxuICAgICAgICAgICAgcmVzcG9uc2VUZXh0OiByLnJlc3BvbnNlLnJlc3BvbnNlVGV4dCxcbiAgICAgICAgICAgIGhlYWRlcnM6IHIucmVzcG9uc2UuaGVhZGVycyxcbiAgICAgICAgICAgIHN0YXR1c0NvZGU6IHIucmVzcG9uc2Uuc3RhdHVzQ29kZSxcbiAgICAgICAgICAgIGVudGl0eTogci5yZXNwb25zZS5lbnRpdHksXG4gICAgICAgICAgICBjaXJjdWxhcjogci5yZXNwb25zZS5jaXJjdWxhcixcbiAgICAgICAgICAgIGlzQXJyYXk6IHIucmVzcG9uc2UuaXNBcnJheSxcbiAgICAgICAgICB9IGFzIE1vZGVscy5IdHRwUmVzcG9uc2U8YW55PlxuICAgICAgICB9O1xuICAgICAgfSkpKTtcbiAgfVxuXG4gIHN0b3JlKCkge1xuICAgIFJlcXVlc3RDYWNoZS5yZXN0b3JlRnJvbUxvY2FsU3RvcmFnZSgpO1xuICAgIGlmICghdGhpcy5jb250YWluc0NhY2hlKSB7XG4gICAgICBSZXF1ZXN0Q2FjaGUuY2FjaGVkLnB1c2godGhpcyk7XG4gICAgICB0aGlzLnBlcnNpc3RzSW5Mb2NhbFN0b3JhZ2UoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc29sZS5sb2coJ2FscmVhZHkgc3RvcmVkJyk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcmVtb3ZlKCkge1xuICAgIFJlcXVlc3RDYWNoZS5yZXN0b3JlRnJvbUxvY2FsU3RvcmFnZSgpO1xuICAgIGNvbnN0IGluZGV4ID0gUmVxdWVzdENhY2hlLmNhY2hlZC5pbmRleE9mKHRoaXMpO1xuICAgIGlmIChpbmRleCAhPT0gLTEpIHtcbiAgICAgIFJlcXVlc3RDYWNoZS5jYWNoZWQuc3BsaWNlKGluZGV4LCAxKTtcbiAgICAgIHRoaXMucGVyc2lzdHNJbkxvY2FsU3RvcmFnZSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zb2xlLmxvZygnYWxyZWFkeSByZW1vdmVkJyk7XG4gICAgfVxuICB9XG5cbn1cblxuIDsoe30pOyAvLyBALS1lbmQtb2YtZmlsZS1mb3ItbW9kdWxlPW5nMi1yZXN0IGxpYi9yZXF1ZXN0LWNhY2hlLnRzIl19
|
|
@@ -218,4 +218,4 @@ Instead use nested approach: /book/:bookid/author/:authorid
|
|
|
218
218
|
export { Resource };
|
|
219
219
|
;
|
|
220
220
|
({}); // @--end-of-file-for-module=ng2-rest lib/resource-service.ts
|
|
221
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb3VyY2Utc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3RtcC1saWJzLWZvci1idW5kbGUvbmcyLXJlc3QvcHJvamVjdHMvbmcyLXJlc3Qvc3JjL2xpYi9yZXNvdXJjZS1zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNoRCxNQUFNLEdBQUcsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLGlCQUFpQixFQUN0QyxLQUFLLENBQUMsU0FBUyxDQUNoQixDQUFBO0FBRUQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNwQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFN0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUdsQyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxTQUFTLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFdEYsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGtCQUFrQixDQUFBO0FBTTFDLE1BQWEsUUFBUTthQUNGLGtCQUFhLEdBQUcsSUFBSSxPQUFPLEVBQXVCLENBQUM7YUFDbkQsbUJBQWMsR0FBRyxJQUFJLE9BQU8sRUFBNEIsQ0FBQztJQUNuRSxNQUFNLEtBQUssWUFBWTtRQUM1QixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDM0MsQ0FBQztJQUVNLE1BQU0sS0FBSyx1QkFBdUI7UUFDdkMsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzVDLENBQUM7YUFDYSxtQkFBYyxHQUFZLElBQUksQ0FBQztJQUdyQyxPQUFPO1FBQ2IsTUFBTSxNQUFNLEdBQUcs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TyxJQUFJLFFBQVEsRUFBRSxDQUFDO1NBQ2hEO2FBQU07WUFDTCxHQUFHLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQyxDQUFDO1NBQzlCO1FBQUEsQ0FBQztRQUdGLE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQzs7U0FuUFUsUUFBUTtBQW1RcEIsQ0FBQztBQUFBLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyw2REFBNkQiLCJzb3VyY2VzQ29udGVudCI6WyJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IExvZywgTGV2ZWwgfSBmcm9tICduZzItbG9nZ2VyL2Jyb3dzZXInO1xuY29uc3QgbG9nID0gTG9nLmNyZWF0ZSgncmVzb3VjZS1zZXJ2aWNlJyxcbiAgTGV2ZWwuX19OT1RISU5HXG4pXG5cbmltcG9ydCB7IFJlc3QgfSBmcm9tICcuL3Jlc3QuY2xhc3MnO1xuaW1wb3J0IHsgUmVzdFJlcXVlc3QgfSBmcm9tICcuL3Jlc3QtcmVxdWVzdCc7XG5pbXBvcnQgeyBSZXN0SGVhZGVycyB9IGZyb20gJy4vcmVzdC1oZWFkZXJzJztcbmltcG9ydCB7IENvb2tpZSB9IGZyb20gJy4vY29va2llJztcbmltcG9ydCB7IE1hcHBpbmcgfSBmcm9tICcuL21hcHBpbmcnO1xuaW1wb3J0IHsgTW9kZWxzIH0gZnJvbSAnLi9tb2RlbHMnO1xuaW1wb3J0IHsgaW50ZXJwb2xhdGVQYXJhbXNUb1VybCwgaXNWYWxpZCwgY29udGFpbnNNb2RlbHMsIGdldE1vZGVscyB9IGZyb20gJy4vcGFyYW1zJztcbmltcG9ydCB7IENpcmMgfSBmcm9tICdqc29uMTAvYnJvd3Nlcic7XG5pbXBvcnQgeyBIZWxwZXJzIH0gZnJvbSAndG5wLWNvcmUvYnJvd3NlcidcblxuXG5kZWNsYXJlIGNvbnN0IGdsb2JhbDogYW55O1xuXG5cbmV4cG9ydCBjbGFzcyBSZXNvdXJjZTxFLCBULCBUQT4ge1xuICBwcm90ZWN0ZWQgc3RhdGljIF9saXN0ZW5FcnJvcnMgPSBuZXcgU3ViamVjdDxNb2RlbHMuQmFja2VuZEVycm9yPigpO1xuICBwcm90ZWN0ZWQgc3RhdGljIF9saXN0ZW5TdWNjZXNzID0gbmV3IFN1YmplY3Q8TW9kZWxzLkh0dHBSZXNwb25zZTxhbnk+PigpO1xuICBwdWJsaWMgc3RhdGljIGdldCBsaXN0ZW5FcnJvcnMoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2xpc3RlbkVycm9ycy5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgZ2V0IGxpc3RlblN1Y2Nlc3NPcGVyYXRpb25zKCkge1xuICAgIHJldHVybiB0aGlzLl9saXN0ZW5TdWNjZXNzLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG4gIHB1YmxpYyBzdGF0aWMgZW5hYmxlV2FybmluZ3M6IGJvb2xlYW4gPSB0cnVlO1xuXG5cbiAgcHJpdmF0ZSBnZXRab25lKCkge1xuICAgIGNvbnN0IGlzTm9kZSA9ICh0eXBlb2Ygd2luZG93ID09PSAndW5kZWZpbmVkJylcbiAgICBpZiAoaXNOb2RlKSB7IHJldHVybiB9O1xuICAgIGNvbnN0IG5nID0gd2luZG93WyduZyddO1xuICAgIGNvbnN0IGdldEFsbEFuZ3VsYXJSb290RWxlbWVudHMgPSB3aW5kb3dbJ2dldEFsbEFuZ3VsYXJSb290RWxlbWVudHMnXTtcbiAgICBpZiAoIW5nIHx8ICFnZXRBbGxBbmd1bGFyUm9vdEVsZW1lbnRzKSB7IHJldHVybjsgfVxuICAgIGNvbnN0IHByb2JlID0gbmcucHJvYmU7XG4gICAgY29uc3QgY29yZVRva2VucyA9IG5nLmNvcmVUb2tlbnM7XG4gICAgaWYgKCFjb3JlVG9rZW5zIHx8ICFjb3JlVG9rZW5zLk5nWm9uZSkgeyByZXR1cm47IH1cbiAgICBjb25zdCB6b25lQ2xhc3MgPSBjb3JlVG9rZW5zLk5nWm9uZTtcbiAgICBpZiAoIXByb2JlIHx8IHR5cGVvZiBwcm9iZSAhPT0gJ2Z1bmN0aW9uJyB8fCAhZ2V0QWxsQW5ndWxhclJvb3RFbGVtZW50cykgeyByZXR1cm47IH1cbiAgICBjb25zdCBhbmd1bGFyRWxlbWVudHM6IGFueVtdID0gZ2V0QWxsQW5ndWxhclJvb3RFbGVtZW50cygpO1xuICAgIGlmICghQXJyYXkuaXNBcnJheShhbmd1bGFyRWxlbWVudHMpIHx8IGFuZ3VsYXJFbGVtZW50cy5sZW5ndGggPT09IDApIHsgcmV0dXJuOyB9XG4gICAgY29uc3Qgcm9vdEVsZW1lbnQgPSBuZy5wcm9iZShhbmd1bGFyRWxlbWVudHNbMF0pO1xuICAgIGlmICghcm9vdEVsZW1lbnQpIHsgcmV0dXJuOyB9XG4gICAgY29uc3QgaW5qZWN0b3IgPSByb290RWxlbWVudC5pbmplY3RvcjtcbiAgICBpZiAoIWluamVjdG9yIHx8ICFpbmplY3Rvci5nZXQgfHwgdHlwZW9mIGluamVjdG9yLmdldCAhPT0gJ2Z1bmN0aW9uJykgeyByZXR1cm47IH1cbiAgICBjb25zdCB6b25lID0gaW5qZWN0b3IuZ2V0KHpvbmVDbGFzcylcbiAgICByZXR1cm4gem9uZTtcbiAgfVxuXG5cbiAgcHVibGljIHN0YXRpYyBpbml0QW5ndWxhck5nWm9uZSh6b25lKSB7XG4gICAgUmVzdFJlcXVlc3Quem9uZSA9IHpvbmU7XG4gIH1cblxuICBwcml2YXRlIGNoZWNrTmVzdGVkTW9kZWxzKG1vZGVsOiBzdHJpbmcsIGFsbE1vZGVsczogT2JqZWN0KSB7XG5cbiAgICBmb3IgKGxldCBwIGluIGFsbE1vZGVscykge1xuICAgICAgaWYgKGFsbE1vZGVscy5oYXNPd25Qcm9wZXJ0eShwKSkge1xuICAgICAgICBsZXQgbSA9IGFsbE1vZGVsc1twXTtcbiAgICAgICAgaWYgKGlzVmFsaWQocCkpIHtcbiAgICAgICAgICBsZXQgdXJsTW9kZWxzID0gZ2V0TW9kZWxzKHApO1xuICAgICAgICAgIGlmIChjb250YWluc01vZGVscyhtb2RlbCwgdXJsTW9kZWxzKSkge1xuICAgICAgICAgICAgbW9kZWwgPSBwO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIG1vZGVsO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgaW5zdGFuY2UgPSBuZXcgUmVzb3VyY2U8c3RyaW5nLCBhbnksIGFueT4oKTtcbiAgcHJpdmF0ZSBzdGF0aWMgZW5kcG9pbnRzID0ge307XG4gIHB1YmxpYyBzdGF0aWMgZ2V0TW9kZWwoZW5kcG9pbnQ6IHN0cmluZywgbW9kZWw6IHN0cmluZyk6IFJlc3Q8YW55PiB7XG4gICAgbW9kZWwgPSBSZXNvdXJjZS5wcmVwYXJlTW9kZWwobW9kZWwpO1xuICAgIGNvbnN0IGUgPSBSZXNvdXJjZS5lbmRwb2ludHNbZW5kcG9pbnRdO1xuICAgIGlmICghZSkgeyByZXR1cm4gdm9pZCAwOyB9XG4gICAgY29uc3QgciA9IFJlc291cmNlLmVuZHBvaW50c1tlbmRwb2ludF0ubW9kZWxzW21vZGVsXTtcbiAgICByZXR1cm4gUmVzb3VyY2UuZW5kcG9pbnRzW2VuZHBvaW50XS5tb2RlbHNbbW9kZWxdO1xuICB9XG4gIHByaXZhdGUgc3RhdGljIHJlcXVlc3Q6IFJlc3RSZXF1ZXN0ID0gbmV3IFJlc3RSZXF1ZXN0KCk7XG5cblxuXG5cbiAgcHVibGljIHN0YXRpYyBjcmVhdGU8QSwgVEEgPSBBW10+KFxuICAgIGU6IHN0cmluZyxcbiAgICBtb2RlbD86IHN0cmluZyxcbiAgICBlbnRpdHlNYXBwaW5nPzogTWFwcGluZy5NYXBwaW5nLFxuICAgIGNpcmN1bGFyPzogQ2lyY1tdLFxuICAgIGN1c3RvbUNvbnRlbnRUeXBlPzogUmVzdEhlYWRlcnMsXG4gICk6IE1vZGVscy5SZXNvdXJjZU1vZGVsPEEsIFRBPiB7XG4gICAgY29uc3QgYmFkUmVzdFJlZ0VYID0gbmV3IFJlZ0V4cCgnKChcXC86KVthLXpdKykrJywgJ2cnKTtcbiAgICBjb25zdCBtYXRjaEFyciA9IG1vZGVsLm1hdGNoKGJhZFJlc3RSZWdFWCkgfHwgW107XG4gICAgY29uc3QgYmFkTW9kZWxzTmV4dFRvRWFjaE90aGVyID0gbWF0Y2hBcnIuam9pbigpO1xuICAgIGNvbnN0IGF0bGVhczJEb3VibGVEb3RzID0gKChiYWRNb2RlbHNOZXh0VG9FYWNoT3RoZXIubWF0Y2gobmV3IFJlZ0V4cCgnOicsICdnJykpIHx8IFtdKS5sZW5ndGggPj0gMik7XG4gICAgaWYgKGF0bGVhczJEb3VibGVEb3RzICYmIG1vZGVsLnNlYXJjaChiYWRNb2RlbHNOZXh0VG9FYWNoT3RoZXIpICE9PSAtMSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBcblxuQmFkIHJlc3QgbW9kZWw6ICR7bW9kZWx9XG5cbkRvIG5vdCBjcmVhdGUgcmVzdCBtb2RlbHMgbGlrZSB0aGlzOiAgICAvYm9vay9hdXRob3IvOmJvb2tpZC86YXV0aG9yaWRcbkluc3RlYWQgdXNlIG5lc3RlZCBhcHByb2FjaDogICAgICAgICAgICAvYm9vay86Ym9va2lkL2F1dGhvci86YXV0aG9yaWRcbiAgICAgICAgICAgIGApXG4gICAgfTtcbiAgICBSZXNvdXJjZS5tYXAoZSwgZSk7XG4gICAgUmVzb3VyY2UuaW5zdGFuY2UuYWRkKGUsIG1vZGVsID8gbW9kZWwgOiAnJywgZW50aXR5TWFwcGluZywgY2lyY3VsYXIsIGN1c3RvbUNvbnRlbnRUeXBlKTtcblxuICAgIHJldHVybiB7XG4gICAgICBtb2RlbDogKHBhcmFtcz86IE9iamVjdCkgPT4gUmVzb3VyY2UuaW5zdGFuY2UuYXBpKFxuICAgICAgICBlLFxuICAgICAgICBpbnRlcnBvbGF0ZVBhcmFtc1RvVXJsKHBhcmFtcywgbW9kZWwpXG4gICAgICApLFxuICAgICAgcmVwbGF5OiAobWV0aG9kOiBNb2RlbHMuSHR0cE1ldGhvZCkgPT4ge1xuICAgICAgICBSZXNvdXJjZS5nZXRNb2RlbChlLCBtb2RlbCkucmVwbGF5KG1ldGhvZCk7XG4gICAgICB9LFxuICAgICAgZ2V0IGhlYWRlcnMoKSB7XG4gICAgICAgIHJldHVybiBSZXNvdXJjZS5nZXRNb2RlbChlLCBtb2RlbCkuaGVhZGVycztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuXG5cbiAgcHVibGljIHN0YXRpYyByZXNldCgpIHtcbiAgICBSZXNvdXJjZS5lbmRwb2ludHMgPSB7fTtcbiAgfVxuXG5cblxuICBwcml2YXRlIGNvbnN0cnVjdG9yKCkge1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgY29uc3Qgem9uZSA9IHRoaXMuZ2V0Wm9uZSgpO1xuICAgICAgaWYgKCFSZXN0UmVxdWVzdC56b25lKSB7IFJlc3RSZXF1ZXN0LnpvbmUgPSB6b25lIH07XG4gICAgfSlcbiAgfVxuXG5cbiAgcHVibGljIHN0YXRpYyBDb29raWVzID0gQ29va2llLkluc3RhbmNlO1xuXG5cbiAgcHJpdmF0ZSBzdGF0aWMgbWFwKGVuZHBvaW50OiBzdHJpbmcsIHVybDogc3RyaW5nKTogYm9vbGVhbiB7XG5cbiAgICBsb2cuaSgndXJsJywgdXJsKVxuICAgIGxldCByZWdleCA9IC8oaHR0cHxodHRwcyk6XFwvXFwvKFxcdys6ezAsMX1cXHcqKT8oXFxTKykoOlswLTldKyk/KFxcL3xcXC8oW1xcdyMhOi4/Kz0mJSFcXC1cXC9dKSk/LztcbiAgICBsZXQgZSA9IGVuZHBvaW50O1xuICAgIGlmICghcmVnZXgudGVzdCh1cmwpKSB7XG4gICAgICB0aHJvdyBgVXJsIGFkZHJlc3MgaXMgbm90IGNvcnJlY3Q6ICR7dXJsfWA7XG4gICAgfVxuICAgIGlmICh1cmwuY2hhckF0KHVybC5sZW5ndGggLSAxKSA9PT0gJy8nKSB1cmwgPSB1cmwuc2xpY2UoMCwgdXJsLmxlbmd0aCAtIDEpO1xuICAgIGxvZy5pKCd1cmwgYWZ0ZXInLCB1cmwpXG4gICAgaWYgKFJlc291cmNlLmVuZHBvaW50c1tlXSAhPT0gdm9pZCAwKSB7XG4gICAgICBIZWxwZXJzLmxvZygnQ2Fubm90IHVzZSBtYXAgZnVuY3Rpb24gYXQgdGhlIHNhbWUgQVBJIGVuZHBvaW50IGFnYWluICgnXG4gICAgICAgICsgUmVzb3VyY2UuZW5kcG9pbnRzW2VdLnVybCArICcpJyk7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIFJlc291cmNlLmVuZHBvaW50c1tlXSA9IHtcbiAgICAgIHVybDogdXJsLFxuICAgICAgbW9kZWxzOiB7fSxcbiAgICAgIGVudGl0eTogbnVsbFxuICAgIH07XG4gICAgbG9nLmkoJ2VucG9pbnRzJywgUmVzb3VyY2UuZW5kcG9pbnRzKVxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cblxuICBwcml2YXRlIHN0YXRpYyBwcmVwYXJlTW9kZWwobW9kZWwpIHtcbiAgICBpZiAobW9kZWwuY2hhckF0KG1vZGVsLmxlbmd0aCAtIDEpID09PSAnLycpIG1vZGVsID0gbW9kZWwuc2xpY2UoMCwgbW9kZWwubGVuZ3RoIC0gMSk7XG4gICAgaWYgKG1vZGVsLmNoYXJBdCgwKSA9PT0gJy8nKSBtb2RlbCA9IG1vZGVsLnNsaWNlKDEsIG1vZGVsLmxlbmd0aCk7XG4gICAgcmV0dXJuIG1vZGVsO1xuICB9XG5cblxuXG4gIC8qKlxuICAgKiBBbmQgZW5pcG9pbnQgdG8gYXBwbGljYXRpb25cbiAgICpcbiAgICogQHBhcmFtIHtFfSBlbmRwb2ludFxuICAgKiBAcGFyYW0ge3N0cmluZ30gbW9kZWxcbiAgICogQHJldHVybnMge2Jvb2xlYW59XG4gICAqL1xuICBwcml2YXRlIGFkZChlbmRwb2ludDogRSwgbW9kZWw6IHN0cmluZywgZW50aXR5OiBNYXBwaW5nLk1hcHBpbmcsIGNpcmN1bGFyPzogQ2lyY1tdLCBjdXN0b21Db250ZW50VHlwZT86IFJlc3RIZWFkZXJzKSB7XG4gICAgbG9nLmkoYEkgYW0gbWFwaW5nICR7bW9kZWx9IG9uICR7PGFueT5lbmRwb2ludH1gKTtcbiAgICBtb2RlbCA9IFJlc291cmNlLnByZXBhcmVNb2RlbChtb2RlbCk7XG5cbiAgICBsZXQgZTogc3RyaW5nO1xuICAgIGUgPSA8c3RyaW5nPihlbmRwb2ludCkudG9TdHJpbmcoKTtcblxuICAgIGlmIChSZXNvdXJjZS5lbmRwb2ludHNbZV0gPT09IHZvaWQgMCkge1xuICAgICAgY29uc29sZS5lcnJvcignRW5kcG9pbnQgaXMgbm90IG1hcHBlZCAhIENhbm5vdCBhZGQgbW9kZWwgJyArIG1vZGVsKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKFJlc291cmNlLmVuZHBvaW50c1tlXS5tb2RlbHNbbW9kZWxdICE9PSB2b2lkIDApIHtcbiAgICAgIGlmIChSZXNvdXJjZS5lbmFibGVXYXJuaW5ncykgY29uc29sZS53YXJuKGBNb2RlbCAnJHttb2RlbH0nIGlzIGFscmVhZHkgZGVmaW5lZCBpbiBlbmRwb2ludDogYFxuICAgICAgICArIFJlc291cmNlLmVuZHBvaW50c1tlXS51cmwpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBSZXNvdXJjZS5lbmRwb2ludHNbZV0ubW9kZWxzW21vZGVsXSA9XG4gICAgICBuZXcgUmVzdDxULCBUQT4oUmVzb3VyY2UuZW5kcG9pbnRzW2VdLnVybFxuICAgICAgICArICcvJyArIG1vZGVsLCBSZXNvdXJjZS5yZXF1ZXN0LCB7XG4gICAgICAgIGVuZHBvaW50OiBlLFxuICAgICAgICBwYXRoOiBtb2RlbCxcbiAgICAgICAgZW50aXR5LFxuICAgICAgICBjaXJjdWxhcixcbiAgICAgIH0sIGN1c3RvbUNvbnRlbnRUeXBlKTsgLy8gVE9ETyBwdXQgY3VzdG9tIGNvbnRlbnQgdHlwZSBpbiBtZXRhID9cbiAgICByZXR1cm47XG4gIH1cblxuXG5cbiAgLyoqXG4gICAqIEFjY2VzcyBhcGkgdGhyb3VnaHQgZW5kcG9pbnRcbiAgICpcbiAgICogQHBhcmFtIHtFfSBlbmRwb2ludFxuICAgKiBAcGFyYW0ge3N0cmluZ30gbW9kZWxcbiAgICogQHJldHVybnMge1Jlc3Q8VCwgVEE+fVxuICAgKi9cbiAgcHJpdmF0ZSBhcGkoZW5kcG9pbnQ6IEUsIG1vZGVsOiBzdHJpbmcpOiBSZXN0PFQsIFRBPiB7XG5cblxuXG5cblxuXG4gICAgaWYgKG1vZGVsLmNoYXJBdCgwKSA9PT0gJy8nKSBtb2RlbCA9IG1vZGVsLnNsaWNlKDEsIG1vZGVsLmxlbmd0aCk7XG4gICAgbGV0IGUgPSA8c3RyaW5nPihlbmRwb2ludCkudG9TdHJpbmcoKTtcbiAgICBpZiAoUmVzb3VyY2UuZW5kcG9pbnRzW2VdID09PSB2b2lkIDApIHtcbiAgICAgIHRocm93IGBFbmRwb2ludDogJHs8YW55PmVuZHBvaW50fSBpcyBub3QgbWFwcGVkICEgQ2Fubm90IGFkZCBtb2RlbDogJHttb2RlbH1gO1xuICAgIH1cbiAgICBsZXQgYWxsTW9kZWxzOiBPYmplY3QgPSBSZXNvdXJjZS5lbmRwb2ludHNbZV0ubW9kZWxzO1xuICAgIGxldCBvcmdNb2RlbCA9IG1vZGVsO1xuICAgIG1vZGVsID0gdGhpcy5jaGVja05lc3RlZE1vZGVscyhtb2RlbCwgYWxsTW9kZWxzKTtcblxuICAgIGlmIChSZXNvdXJjZS5lbmRwb2ludHNbZV0ubW9kZWxzW21vZGVsXSA9PT0gdm9pZCAwKSB7XG5cbiAgICAgIHRocm93IGBNb2RlbCAnJHttb2RlbH0nIGlzIHVuZGVmaW5lZCBpbiBlbmRwb2ludDogJHtSZXNvdXJjZS5lbmRwb2ludHNbZV0udXJsfSBgO1xuICAgIH1cblxuICAgIGxldCByZXM6IFJlc3Q8VCwgVEE+ID0gUmVzb3VyY2UuZW5kcG9pbnRzWzxzdHJpbmc+KGVuZHBvaW50KS50b1N0cmluZygpXS5tb2RlbHNbbW9kZWxdO1xuXG5cblxuXG5cblxuICAgIGlmIChvcmdNb2RlbCAhPT0gbW9kZWwpIHtcbiAgICAgIGxldCBiYXNlVXJsID0gUmVzb3VyY2UuZW5kcG9pbnRzWzxzdHJpbmc+KGVuZHBvaW50KS50b1N0cmluZygpXS51cmw7XG5cblxuXG4gICAgICByZXMuX19yZXN0X2VuZHBvaW50ID0gYCR7YmFzZVVybH0vJHtvcmdNb2RlbH1gO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXMuX19yZXN0X2VuZHBvaW50ID0gdm9pZCAwO1xuICAgIH07XG5cblxuICAgIHJldHVybiByZXM7XG4gIH1cblxuXG59XG5cblxuXG5cblxuXG5cblxuXG5cblxuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9bmcyLXJlc3QgbGliL3Jlc291cmNlLXNlcnZpY2UudHMiXX0=
|
|
221
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb3VyY2Utc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3RtcC1saWJzLWZvci1idW5kbGUvbmcyLXJlc3QvcHJvamVjdHMvbmcyLXJlc3Qvc3JjL2xpYi9yZXNvdXJjZS1zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNoRCxNQUFNLEdBQUcsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLGlCQUFpQixFQUN0QyxLQUFLLENBQUMsU0FBUyxDQUNoQixDQUFBO0FBRUQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNwQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFN0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUdsQyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxTQUFTLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFdEYsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGtCQUFrQixDQUFBO0FBTTFDLE1BQWEsUUFBUTthQUNGLGtCQUFhLEdBQUcsSUFBSSxPQUFPLEVBQXVCLENBQUM7YUFDbkQsbUJBQWMsR0FBRyxJQUFJLE9BQU8sRUFBNEIsQ0FBQztJQUNuRSxNQUFNLEtBQUssWUFBWTtRQUM1QixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDM0MsQ0FBQztJQUVNLE1BQU0sS0FBSyx1QkFBdUI7UUFDdkMsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzVDLENBQUM7YUFDYSxtQkFBYyxHQUFZLElBQUksQ0FBQztJQUdyQyxPQUFPO1FBQ2IsTUFBTSxNQUFNLEdBQUcs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TyxJQUFJLFFBQVEsRUFBRSxDQUFDO1NBQ2hEO2FBQU07WUFDTCxHQUFHLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQyxDQUFDO1NBQzlCO1FBQUEsQ0FBQztRQUdGLE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQzs7U0FuUFUsUUFBUTtBQW1RcEIsQ0FBQztBQUFBLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyw2REFBNkQiLCJzb3VyY2VzQ29udGVudCI6WyJcblxuXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBMb2csIExldmVsIH0gZnJvbSAnbmcyLWxvZ2dlci9icm93c2VyJztcbmNvbnN0IGxvZyA9IExvZy5jcmVhdGUoJ3Jlc291Y2Utc2VydmljZScsXG4gIExldmVsLl9fTk9USElOR1xuKVxuXG5pbXBvcnQgeyBSZXN0IH0gZnJvbSAnLi9yZXN0LmNsYXNzJztcbmltcG9ydCB7IFJlc3RSZXF1ZXN0IH0gZnJvbSAnLi9yZXN0LXJlcXVlc3QnO1xuaW1wb3J0IHsgUmVzdEhlYWRlcnMgfSBmcm9tICcuL3Jlc3QtaGVhZGVycyc7XG5pbXBvcnQgeyBDb29raWUgfSBmcm9tICcuL2Nvb2tpZSc7XG5pbXBvcnQgeyBNYXBwaW5nIH0gZnJvbSAnLi9tYXBwaW5nJztcbmltcG9ydCB7IE1vZGVscyB9IGZyb20gJy4vbW9kZWxzJztcbmltcG9ydCB7IGludGVycG9sYXRlUGFyYW1zVG9VcmwsIGlzVmFsaWQsIGNvbnRhaW5zTW9kZWxzLCBnZXRNb2RlbHMgfSBmcm9tICcuL3BhcmFtcyc7XG5pbXBvcnQgeyBDaXJjIH0gZnJvbSAnanNvbjEwL2Jyb3dzZXInO1xuaW1wb3J0IHsgSGVscGVycyB9IGZyb20gJ3RucC1jb3JlL2Jyb3dzZXInXG5cblxuZGVjbGFyZSBjb25zdCBnbG9iYWw6IGFueTtcblxuXG5leHBvcnQgY2xhc3MgUmVzb3VyY2U8RSwgVCwgVEE+IHtcbiAgcHJvdGVjdGVkIHN0YXRpYyBfbGlzdGVuRXJyb3JzID0gbmV3IFN1YmplY3Q8TW9kZWxzLkJhY2tlbmRFcnJvcj4oKTtcbiAgcHJvdGVjdGVkIHN0YXRpYyBfbGlzdGVuU3VjY2VzcyA9IG5ldyBTdWJqZWN0PE1vZGVscy5IdHRwUmVzcG9uc2U8YW55Pj4oKTtcbiAgcHVibGljIHN0YXRpYyBnZXQgbGlzdGVuRXJyb3JzKCkge1xuICAgIHJldHVybiB0aGlzLl9saXN0ZW5FcnJvcnMuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGdldCBsaXN0ZW5TdWNjZXNzT3BlcmF0aW9ucygpIHtcbiAgICByZXR1cm4gdGhpcy5fbGlzdGVuU3VjY2Vzcy5hc09ic2VydmFibGUoKTtcbiAgfVxuICBwdWJsaWMgc3RhdGljIGVuYWJsZVdhcm5pbmdzOiBib29sZWFuID0gdHJ1ZTtcblxuXG4gIHByaXZhdGUgZ2V0Wm9uZSgpIHtcbiAgICBjb25zdCBpc05vZGUgPSAodHlwZW9mIHdpbmRvdyA9PT0gJ3VuZGVmaW5lZCcpXG4gICAgaWYgKGlzTm9kZSkgeyByZXR1cm4gfTtcbiAgICBjb25zdCBuZyA9IHdpbmRvd1snbmcnXTtcbiAgICBjb25zdCBnZXRBbGxBbmd1bGFyUm9vdEVsZW1lbnRzID0gd2luZG93WydnZXRBbGxBbmd1bGFyUm9vdEVsZW1lbnRzJ107XG4gICAgaWYgKCFuZyB8fCAhZ2V0QWxsQW5ndWxhclJvb3RFbGVtZW50cykgeyByZXR1cm47IH1cbiAgICBjb25zdCBwcm9iZSA9IG5nLnByb2JlO1xuICAgIGNvbnN0IGNvcmVUb2tlbnMgPSBuZy5jb3JlVG9rZW5zO1xuICAgIGlmICghY29yZVRva2VucyB8fCAhY29yZVRva2Vucy5OZ1pvbmUpIHsgcmV0dXJuOyB9XG4gICAgY29uc3Qgem9uZUNsYXNzID0gY29yZVRva2Vucy5OZ1pvbmU7XG4gICAgaWYgKCFwcm9iZSB8fCB0eXBlb2YgcHJvYmUgIT09ICdmdW5jdGlvbicgfHwgIWdldEFsbEFuZ3VsYXJSb290RWxlbWVudHMpIHsgcmV0dXJuOyB9XG4gICAgY29uc3QgYW5ndWxhckVsZW1lbnRzOiBhbnlbXSA9IGdldEFsbEFuZ3VsYXJSb290RWxlbWVudHMoKTtcbiAgICBpZiAoIUFycmF5LmlzQXJyYXkoYW5ndWxhckVsZW1lbnRzKSB8fCBhbmd1bGFyRWxlbWVudHMubGVuZ3RoID09PSAwKSB7IHJldHVybjsgfVxuICAgIGNvbnN0IHJvb3RFbGVtZW50ID0gbmcucHJvYmUoYW5ndWxhckVsZW1lbnRzWzBdKTtcbiAgICBpZiAoIXJvb3RFbGVtZW50KSB7IHJldHVybjsgfVxuICAgIGNvbnN0IGluamVjdG9yID0gcm9vdEVsZW1lbnQuaW5qZWN0b3I7XG4gICAgaWYgKCFpbmplY3RvciB8fCAhaW5qZWN0b3IuZ2V0IHx8IHR5cGVvZiBpbmplY3Rvci5nZXQgIT09ICdmdW5jdGlvbicpIHsgcmV0dXJuOyB9XG4gICAgY29uc3Qgem9uZSA9IGluamVjdG9yLmdldCh6b25lQ2xhc3MpXG4gICAgcmV0dXJuIHpvbmU7XG4gIH1cblxuXG4gIHB1YmxpYyBzdGF0aWMgaW5pdEFuZ3VsYXJOZ1pvbmUoem9uZSkge1xuICAgIFJlc3RSZXF1ZXN0LnpvbmUgPSB6b25lO1xuICB9XG5cbiAgcHJpdmF0ZSBjaGVja05lc3RlZE1vZGVscyhtb2RlbDogc3RyaW5nLCBhbGxNb2RlbHM6IE9iamVjdCkge1xuXG4gICAgZm9yIChsZXQgcCBpbiBhbGxNb2RlbHMpIHtcbiAgICAgIGlmIChhbGxNb2RlbHMuaGFzT3duUHJvcGVydHkocCkpIHtcbiAgICAgICAgbGV0IG0gPSBhbGxNb2RlbHNbcF07XG4gICAgICAgIGlmIChpc1ZhbGlkKHApKSB7XG4gICAgICAgICAgbGV0IHVybE1vZGVscyA9IGdldE1vZGVscyhwKTtcbiAgICAgICAgICBpZiAoY29udGFpbnNNb2RlbHMobW9kZWwsIHVybE1vZGVscykpIHtcbiAgICAgICAgICAgIG1vZGVsID0gcDtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBtb2RlbDtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGluc3RhbmNlID0gbmV3IFJlc291cmNlPHN0cmluZywgYW55LCBhbnk+KCk7XG4gIHByaXZhdGUgc3RhdGljIGVuZHBvaW50cyA9IHt9O1xuICBwdWJsaWMgc3RhdGljIGdldE1vZGVsKGVuZHBvaW50OiBzdHJpbmcsIG1vZGVsOiBzdHJpbmcpOiBSZXN0PGFueT4ge1xuICAgIG1vZGVsID0gUmVzb3VyY2UucHJlcGFyZU1vZGVsKG1vZGVsKTtcbiAgICBjb25zdCBlID0gUmVzb3VyY2UuZW5kcG9pbnRzW2VuZHBvaW50XTtcbiAgICBpZiAoIWUpIHsgcmV0dXJuIHZvaWQgMDsgfVxuICAgIGNvbnN0IHIgPSBSZXNvdXJjZS5lbmRwb2ludHNbZW5kcG9pbnRdLm1vZGVsc1ttb2RlbF07XG4gICAgcmV0dXJuIFJlc291cmNlLmVuZHBvaW50c1tlbmRwb2ludF0ubW9kZWxzW21vZGVsXTtcbiAgfVxuICBwcml2YXRlIHN0YXRpYyByZXF1ZXN0OiBSZXN0UmVxdWVzdCA9IG5ldyBSZXN0UmVxdWVzdCgpO1xuXG5cblxuXG4gIHB1YmxpYyBzdGF0aWMgY3JlYXRlPEEsIFRBID0gQVtdPihcbiAgICBlOiBzdHJpbmcsXG4gICAgbW9kZWw/OiBzdHJpbmcsXG4gICAgZW50aXR5TWFwcGluZz86IE1hcHBpbmcuTWFwcGluZyxcbiAgICBjaXJjdWxhcj86IENpcmNbXSxcbiAgICBjdXN0b21Db250ZW50VHlwZT86IFJlc3RIZWFkZXJzLFxuICApOiBNb2RlbHMuUmVzb3VyY2VNb2RlbDxBLCBUQT4ge1xuICAgIGNvbnN0IGJhZFJlc3RSZWdFWCA9IG5ldyBSZWdFeHAoJygoXFwvOilbYS16XSspKycsICdnJyk7XG4gICAgY29uc3QgbWF0Y2hBcnIgPSBtb2RlbC5tYXRjaChiYWRSZXN0UmVnRVgpIHx8IFtdO1xuICAgIGNvbnN0IGJhZE1vZGVsc05leHRUb0VhY2hPdGhlciA9IG1hdGNoQXJyLmpvaW4oKTtcbiAgICBjb25zdCBhdGxlYXMyRG91YmxlRG90cyA9ICgoYmFkTW9kZWxzTmV4dFRvRWFjaE90aGVyLm1hdGNoKG5ldyBSZWdFeHAoJzonLCAnZycpKSB8fCBbXSkubGVuZ3RoID49IDIpO1xuICAgIGlmIChhdGxlYXMyRG91YmxlRG90cyAmJiBtb2RlbC5zZWFyY2goYmFkTW9kZWxzTmV4dFRvRWFjaE90aGVyKSAhPT0gLTEpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgXG5cbkJhZCByZXN0IG1vZGVsOiAke21vZGVsfVxuXG5EbyBub3QgY3JlYXRlIHJlc3QgbW9kZWxzIGxpa2UgdGhpczogICAgL2Jvb2svYXV0aG9yLzpib29raWQvOmF1dGhvcmlkXG5JbnN0ZWFkIHVzZSBuZXN0ZWQgYXBwcm9hY2g6ICAgICAgICAgICAgL2Jvb2svOmJvb2tpZC9hdXRob3IvOmF1dGhvcmlkXG4gICAgICAgICAgICBgKVxuICAgIH07XG4gICAgUmVzb3VyY2UubWFwKGUsIGUpO1xuICAgIFJlc291cmNlLmluc3RhbmNlLmFkZChlLCBtb2RlbCA/IG1vZGVsIDogJycsIGVudGl0eU1hcHBpbmcsIGNpcmN1bGFyLCBjdXN0b21Db250ZW50VHlwZSk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgbW9kZWw6IChwYXJhbXM/OiBPYmplY3QpID0+IFJlc291cmNlLmluc3RhbmNlLmFwaShcbiAgICAgICAgZSxcbiAgICAgICAgaW50ZXJwb2xhdGVQYXJhbXNUb1VybChwYXJhbXMsIG1vZGVsKVxuICAgICAgKSxcbiAgICAgIHJlcGxheTogKG1ldGhvZDogTW9kZWxzLkh0dHBNZXRob2QpID0+IHtcbiAgICAgICAgUmVzb3VyY2UuZ2V0TW9kZWwoZSwgbW9kZWwpLnJlcGxheShtZXRob2QpO1xuICAgICAgfSxcbiAgICAgIGdldCBoZWFkZXJzKCkge1xuICAgICAgICByZXR1cm4gUmVzb3VyY2UuZ2V0TW9kZWwoZSwgbW9kZWwpLmhlYWRlcnM7XG4gICAgICB9XG4gICAgfVxuICB9XG5cblxuXG4gIHB1YmxpYyBzdGF0aWMgcmVzZXQoKSB7XG4gICAgUmVzb3VyY2UuZW5kcG9pbnRzID0ge307XG4gIH1cblxuXG5cbiAgcHJpdmF0ZSBjb25zdHJ1Y3RvcigpIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGNvbnN0IHpvbmUgPSB0aGlzLmdldFpvbmUoKTtcbiAgICAgIGlmICghUmVzdFJlcXVlc3Quem9uZSkgeyBSZXN0UmVxdWVzdC56b25lID0gem9uZSB9O1xuICAgIH0pXG4gIH1cblxuXG4gIHB1YmxpYyBzdGF0aWMgQ29va2llcyA9IENvb2tpZS5JbnN0YW5jZTtcblxuXG4gIHByaXZhdGUgc3RhdGljIG1hcChlbmRwb2ludDogc3RyaW5nLCB1cmw6IHN0cmluZyk6IGJvb2xlYW4ge1xuXG4gICAgbG9nLmkoJ3VybCcsIHVybClcbiAgICBsZXQgcmVnZXggPSAvKGh0dHB8aHR0cHMpOlxcL1xcLyhcXHcrOnswLDF9XFx3Kik/KFxcUyspKDpbMC05XSspPyhcXC98XFwvKFtcXHcjITouPys9JiUhXFwtXFwvXSkpPy87XG4gICAgbGV0IGUgPSBlbmRwb2ludDtcbiAgICBpZiAoIXJlZ2V4LnRlc3QodXJsKSkge1xuICAgICAgdGhyb3cgYFVybCBhZGRyZXNzIGlzIG5vdCBjb3JyZWN0OiAke3VybH1gO1xuICAgIH1cbiAgICBpZiAodXJsLmNoYXJBdCh1cmwubGVuZ3RoIC0gMSkgPT09ICcvJykgdXJsID0gdXJsLnNsaWNlKDAsIHVybC5sZW5ndGggLSAxKTtcbiAgICBsb2cuaSgndXJsIGFmdGVyJywgdXJsKVxuICAgIGlmIChSZXNvdXJjZS5lbmRwb2ludHNbZV0gIT09IHZvaWQgMCkge1xuICAgICAgSGVscGVycy5sb2coJ0Nhbm5vdCB1c2UgbWFwIGZ1bmN0aW9uIGF0IHRoZSBzYW1lIEFQSSBlbmRwb2ludCBhZ2FpbiAoJ1xuICAgICAgICArIFJlc291cmNlLmVuZHBvaW50c1tlXS51cmwgKyAnKScpO1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBSZXNvdXJjZS5lbmRwb2ludHNbZV0gPSB7XG4gICAgICB1cmw6IHVybCxcbiAgICAgIG1vZGVsczoge30sXG4gICAgICBlbnRpdHk6IG51bGxcbiAgICB9O1xuICAgIGxvZy5pKCdlbnBvaW50cycsIFJlc291cmNlLmVuZHBvaW50cylcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG5cbiAgcHJpdmF0ZSBzdGF0aWMgcHJlcGFyZU1vZGVsKG1vZGVsKSB7XG4gICAgaWYgKG1vZGVsLmNoYXJBdChtb2RlbC5sZW5ndGggLSAxKSA9PT0gJy8nKSBtb2RlbCA9IG1vZGVsLnNsaWNlKDAsIG1vZGVsLmxlbmd0aCAtIDEpO1xuICAgIGlmIChtb2RlbC5jaGFyQXQoMCkgPT09ICcvJykgbW9kZWwgPSBtb2RlbC5zbGljZSgxLCBtb2RlbC5sZW5ndGgpO1xuICAgIHJldHVybiBtb2RlbDtcbiAgfVxuXG5cblxuICAvKipcbiAgICogQW5kIGVuaXBvaW50IHRvIGFwcGxpY2F0aW9uXG4gICAqXG4gICAqIEBwYXJhbSB7RX0gZW5kcG9pbnRcbiAgICogQHBhcmFtIHtzdHJpbmd9IG1vZGVsXG4gICAqIEByZXR1cm5zIHtib29sZWFufVxuICAgKi9cbiAgcHJpdmF0ZSBhZGQoZW5kcG9pbnQ6IEUsIG1vZGVsOiBzdHJpbmcsIGVudGl0eTogTWFwcGluZy5NYXBwaW5nLCBjaXJjdWxhcj86IENpcmNbXSwgY3VzdG9tQ29udGVudFR5cGU/OiBSZXN0SGVhZGVycykge1xuICAgIGxvZy5pKGBJIGFtIG1hcGluZyAke21vZGVsfSBvbiAkezxhbnk+ZW5kcG9pbnR9YCk7XG4gICAgbW9kZWwgPSBSZXNvdXJjZS5wcmVwYXJlTW9kZWwobW9kZWwpO1xuXG4gICAgbGV0IGU6IHN0cmluZztcbiAgICBlID0gPHN0cmluZz4oZW5kcG9pbnQpLnRvU3RyaW5nKCk7XG5cbiAgICBpZiAoUmVzb3VyY2UuZW5kcG9pbnRzW2VdID09PSB2b2lkIDApIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0VuZHBvaW50IGlzIG5vdCBtYXBwZWQgISBDYW5ub3QgYWRkIG1vZGVsICcgKyBtb2RlbCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmIChSZXNvdXJjZS5lbmRwb2ludHNbZV0ubW9kZWxzW21vZGVsXSAhPT0gdm9pZCAwKSB7XG4gICAgICBpZiAoUmVzb3VyY2UuZW5hYmxlV2FybmluZ3MpIGNvbnNvbGUud2FybihgTW9kZWwgJyR7bW9kZWx9JyBpcyBhbHJlYWR5IGRlZmluZWQgaW4gZW5kcG9pbnQ6IGBcbiAgICAgICAgKyBSZXNvdXJjZS5lbmRwb2ludHNbZV0udXJsKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgUmVzb3VyY2UuZW5kcG9pbnRzW2VdLm1vZGVsc1ttb2RlbF0gPVxuICAgICAgbmV3IFJlc3Q8VCwgVEE+KFJlc291cmNlLmVuZHBvaW50c1tlXS51cmxcbiAgICAgICAgKyAnLycgKyBtb2RlbCwgUmVzb3VyY2UucmVxdWVzdCwge1xuICAgICAgICBlbmRwb2ludDogZSxcbiAgICAgICAgcGF0aDogbW9kZWwsXG4gICAgICAgIGVudGl0eSxcbiAgICAgICAgY2lyY3VsYXIsXG4gICAgICB9LCBjdXN0b21Db250ZW50VHlwZSk7IC8vIFRPRE8gcHV0IGN1c3RvbSBjb250ZW50IHR5cGUgaW4gbWV0YSA/XG4gICAgcmV0dXJuO1xuICB9XG5cblxuXG4gIC8qKlxuICAgKiBBY2Nlc3MgYXBpIHRocm91Z2h0IGVuZHBvaW50XG4gICAqXG4gICAqIEBwYXJhbSB7RX0gZW5kcG9pbnRcbiAgICogQHBhcmFtIHtzdHJpbmd9IG1vZGVsXG4gICAqIEByZXR1cm5zIHtSZXN0PFQsIFRBPn1cbiAgICovXG4gIHByaXZhdGUgYXBpKGVuZHBvaW50OiBFLCBtb2RlbDogc3RyaW5nKTogUmVzdDxULCBUQT4ge1xuXG5cblxuXG5cblxuICAgIGlmIChtb2RlbC5jaGFyQXQoMCkgPT09ICcvJykgbW9kZWwgPSBtb2RlbC5zbGljZSgxLCBtb2RlbC5sZW5ndGgpO1xuICAgIGxldCBlID0gPHN0cmluZz4oZW5kcG9pbnQpLnRvU3RyaW5nKCk7XG4gICAgaWYgKFJlc291cmNlLmVuZHBvaW50c1tlXSA9PT0gdm9pZCAwKSB7XG4gICAgICB0aHJvdyBgRW5kcG9pbnQ6ICR7PGFueT5lbmRwb2ludH0gaXMgbm90IG1hcHBlZCAhIENhbm5vdCBhZGQgbW9kZWw6ICR7bW9kZWx9YDtcbiAgICB9XG4gICAgbGV0IGFsbE1vZGVsczogT2JqZWN0ID0gUmVzb3VyY2UuZW5kcG9pbnRzW2VdLm1vZGVscztcbiAgICBsZXQgb3JnTW9kZWwgPSBtb2RlbDtcbiAgICBtb2RlbCA9IHRoaXMuY2hlY2tOZXN0ZWRNb2RlbHMobW9kZWwsIGFsbE1vZGVscyk7XG5cbiAgICBpZiAoUmVzb3VyY2UuZW5kcG9pbnRzW2VdLm1vZGVsc1ttb2RlbF0gPT09IHZvaWQgMCkge1xuXG4gICAgICB0aHJvdyBgTW9kZWwgJyR7bW9kZWx9JyBpcyB1bmRlZmluZWQgaW4gZW5kcG9pbnQ6ICR7UmVzb3VyY2UuZW5kcG9pbnRzW2VdLnVybH0gYDtcbiAgICB9XG5cbiAgICBsZXQgcmVzOiBSZXN0PFQsIFRBPiA9IFJlc291cmNlLmVuZHBvaW50c1s8c3RyaW5nPihlbmRwb2ludCkudG9TdHJpbmcoKV0ubW9kZWxzW21vZGVsXTtcblxuXG5cblxuXG5cbiAgICBpZiAob3JnTW9kZWwgIT09IG1vZGVsKSB7XG4gICAgICBsZXQgYmFzZVVybCA9IFJlc291cmNlLmVuZHBvaW50c1s8c3RyaW5nPihlbmRwb2ludCkudG9TdHJpbmcoKV0udXJsO1xuXG5cblxuICAgICAgcmVzLl9fcmVzdF9lbmRwb2ludCA9IGAke2Jhc2VVcmx9LyR7b3JnTW9kZWx9YDtcbiAgICB9IGVsc2Uge1xuICAgICAgcmVzLl9fcmVzdF9lbmRwb2ludCA9IHZvaWQgMDtcbiAgICB9O1xuXG5cbiAgICByZXR1cm4gcmVzO1xuICB9XG5cblxufVxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuIDsoe30pOyAvLyBALS1lbmQtb2YtZmlsZS1mb3ItbW9kdWxlPW5nMi1yZXN0IGxpYi9yZXNvdXJjZS1zZXJ2aWNlLnRzIl19
|
|
@@ -126,4 +126,4 @@ export class RestHeaders {
|
|
|
126
126
|
}
|
|
127
127
|
;
|
|
128
128
|
({}); // @--end-of-file-for-module=ng2-rest lib/rest-headers.ts
|
|
129
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdC1oZWFkZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWJ1bmRsZS9uZzItcmVzdC9wcm9qZWN0cy9uZzItcmVzdC9zcmMvbGliL3Jlc3QtaGVhZGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFLQSxNQUFNLE9BQU8sV0FBVztJQU9mLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBNEI7UUFDN0MsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNaLE9BQU8sS0FBSyxDQUFDLENBQUM7U0FDZjtRQUNELE9BQU8sSUFBSSxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVELFlBQW9CLE9BQStEO1FBYm5GLDRDQUE0QztRQUM1QyxhQUFRLEdBQTBCLElBQUksR0FBRyxFQUFFLENBQUM7UUFDNUMscURBQXFEO1FBQ3JELHFCQUFnQixHQUF3QixJQUFJLEdBQUcsRUFBRSxDQUFDO1FBV2hELElBQUksT0FBTyxZQUFZLFdBQVcsRUFBRTtZQUNsQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBZ0IsRUFBRSxJQUFZLEVBQUUsRUFBRTtnQkFDakQsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7WUFDakQsQ0FBQyxDQUFDLENBQUM7U0FDSjthQUFNO1lBQ0wsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFZLEVBQUUsRUFBRTtnQkFDNUMsTUFBTSxNQUFNLEdBQWEsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQVEsQ0FBQztn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QUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsSUFBWTtRQUNqQixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDdkUsQ0FBQztJQUVPLHNCQUFzQixDQUFDLElBQVk7UUFDekMsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBRWxDLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ3RDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO1NBQ3pDO0lBQ0gsQ0FBQztDQUNGO0FBR0EsQ0FBQztBQUFBLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyx5REFBeUQiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEJhc2VkIG9uIEhlYWRlcnMgZnJvbSBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9hbmd1bGFyL2Jsb2IvbWFzdGVyL3BhY2thZ2VzL2h0dHAvc3JjL2hlYWRlcnMudHNcbiAqL1xuZXhwb3J0IHR5cGUgUmVzdEhlYWRlcnNPcHRpb25zID0gUmVzdEhlYWRlcnMgfCB7IFtuYW1lOiBzdHJpbmddOiAoc3RyaW5nIHwgc3RyaW5nW10pIH1cblxuZXhwb3J0IGNsYXNzIFJlc3RIZWFkZXJzIHtcbiAgLyoqIEBpbnRlcm5hbCBoZWFkZXIgbmFtZXMgYXJlIGxvd2VyIGNhc2UgKi9cbiAgX2hlYWRlcnM6IE1hcDxzdHJpbmcsIHN0cmluZ1tdPiA9IG5ldyBNYXAoKTtcbiAgLyoqIEBpbnRlcm5hbCBtYXAgbG93ZXIgY2FzZSBuYW1lcyB0byBhY3R1YWwgbmFtZXMgKi9cbiAgX25vcm1hbGl6ZWROYW1lczogTWFwPHN0cmluZywgc3RyaW5nPiA9IG5ldyBNYXAoKTtcblxuXG4gIHB1YmxpYyBzdGF0aWMgZnJvbShoZWFkZXJzPzogUmVzdEhlYWRlcnNPcHRpb25zKSB7XG4gICAgaWYgKCFoZWFkZXJzKSB7XG4gICAgICByZXR1cm4gdm9pZCAwO1xuICAgIH1cbiAgICByZXR1cm4gbmV3IFJlc3RIZWFkZXJzKGhlYWRlcnMpO1xuICB9XG5cbiAgcHJpdmF0ZSBjb25zdHJ1Y3RvcihoZWFkZXJzPzogUmVzdEhlYWRlcnMgfCB7IFtuYW1lOiBzdHJpbmddOiAoc3RyaW5nIHwgc3RyaW5nW10pIH0pIHtcbiAgICBpZiAoaGVhZGVycyBpbnN0YW5jZW9mIFJlc3RIZWFkZXJzKSB7XG4gICAgICBoZWFkZXJzLmZvckVhY2goKHZhbHVlczogc3RyaW5nW10sIG5hbWU6IHN0cmluZykgPT4ge1xuICAgICAgICB2YWx1ZXMuZm9yRWFjaCh2YWx1ZSA9PiB0aGlzLnNldChuYW1lLCB2YWx1ZSkpO1xuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIE9iamVjdC5rZXlzKGhlYWRlcnMpLmZvckVhY2goKG5hbWU6IHN0cmluZykgPT4ge1xuICAgICAgICBjb25zdCB2YWx1ZXM6IHN0cmluZ1tdID0gKEFycmF5LmlzQXJyYXkoaGVhZGVyc1tuYW1lXSkgPyBoZWFkZXJzW25hbWVdIDogW2hlYWRlcnNbbmFtZV1dKSBhcyBhbnk7XG4gICAgICAgIHRoaXMuZGVsZXRlKG5hbWUpO1xuICAgICAgICB2YWx1ZXMuZm9yRWFjaCh2YWx1ZSA9PiB0aGlzLnNldChuYW1lLCB2YWx1ZSkpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYSBuZXcgUmVzdEhlYWRlcnMgaW5zdGFuY2UgZnJvbSB0aGUgZ2l2ZW4gRE9NU3RyaW5nIG9mIFJlc3BvbnNlIFJlc3RIZWFkZXJzXG4gICAqL1xuICBzdGF0aWMgZnJvbVJlc3BvbnNlSGVhZGVyU3RyaW5nKGhlYWRlcnNTdHJpbmc6IHN0cmluZyk6IFJlc3RIZWFkZXJzIHtcbiAgICBjb25zdCBoZWFkZXJzID0gbmV3IFJlc3RIZWFkZXJzKCk7XG5cblxuXG4gICAgaGVhZGVyc1N0cmluZy5zcGxpdCgnXFxuJykuZm9yRWFjaChsaW5lID0+IHtcbiAgICAgIGNvbnN0IGluZGV4ID0gbGluZS5pbmRleE9mKCc6Jyk7XG4gICAgICBpZiAoaW5kZXggPiAwKSB7XG4gICAgICAgIGNvbnN0IG5hbWUgPSBsaW5lLnNsaWNlKDAsIGluZGV4KTtcbiAgICAgICAgY29uc3QgdmFsdWUgPSBsaW5lLnNsaWNlKGluZGV4ICsgMSkudHJpbSgpO1xuICAgICAgICBoZWFkZXJzLnNldChuYW1lLCB2YWx1ZSk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gaGVhZGVycztcbiAgfVxuXG4gIC8qKlxuICAgKiBBcHBlbmRzIGEgaGVhZGVyIHRvIGV4aXN0aW5nIGxpc3Qgb2YgaGVhZGVyIHZhbHVlcyBmb3IgYSBnaXZlbiBoZWFkZXIgbmFtZS5cbiAgICovXG4gIGFwcGVuZChuYW1lOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCB2YWx1ZXMgPSB0aGlzLmdldEFsbChuYW1lKTtcblxuICAgIGlmICh2YWx1ZXMgPT09IG51bGwpIHtcbiAgICAgIHRoaXMuc2V0KG5hbWUsIHZhbHVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdmFsdWVzLnB1c2godmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBEZWxldGVzIGFsbCBoZWFkZXIgdmFsdWVzIGZvciB0aGUgZ2l2ZW4gbmFtZS5cbiAgICovXG4gIGRlbGV0ZShuYW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBsY05hbWUgPSBuYW1lLnRvTG93ZXJDYXNlKCk7XG4gICAgdGhpcy5fbm9ybWFsaXplZE5hbWVzLmRlbGV0ZShsY05hbWUpO1xuICAgIHRoaXMuX2hlYWRlcnMuZGVsZXRlKGxjTmFtZSk7XG4gIH1cblxuICBmb3JFYWNoKGZuOiAodmFsdWVzOiBzdHJpbmdbXSwgbmFtZTogc3RyaW5nLCBoZWFkZXJzOiBNYXA8c3RyaW5nLCBzdHJpbmdbXT4pID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLl9oZWFkZXJzLmZvckVhY2goXG4gICAgICAodmFsdWVzLCBsY05hbWUpID0+IGZuKHZhbHVlcywgdGhpcy5fbm9ybWFsaXplZE5hbWVzLmdldChsY05hbWUpLCB0aGlzLl9oZWFkZXJzKSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBmaXJzdCBoZWFkZXIgdGhhdCBtYXRjaGVzIGdpdmVuIG5hbWUuXG4gICAqL1xuICBnZXQobmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCB2YWx1ZXMgPSB0aGlzLmdldEFsbChuYW1lKTtcblxuICAgIGlmICh2YWx1ZXMgPT09IG51bGwpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHJldHVybiB2YWx1ZXMubGVuZ3RoID4gMCA/IHZhbHVlc1swXSA6IG51bGw7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2tzIGZvciBleGlzdGVuY2Ugb2YgaGVhZGVyIGJ5IGdpdmVuIG5hbWUuXG4gICAqL1xuICBoYXMobmFtZTogc3RyaW5nKTogYm9vbGVhbiB7IHJldHVybiB0aGlzLl9oZWFkZXJzLmhhcyhuYW1lLnRvTG93ZXJDYXNlKCkpOyB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIG5hbWVzIG9mIHRoZSBoZWFkZXJzXG4gICAqL1xuICBrZXlzKCk6IHN0cmluZ1tdIHsgcmV0dXJuIEFycmF5LmZyb20odGhpcy5fbm9ybWFsaXplZE5hbWVzLnZhbHVlcygpKTsgfVxuXG4gIC8qKlxuICAgKiBTZXRzIG9yIG92ZXJyaWRlcyBoZWFkZXIgdmFsdWUgZm9yIGdpdmVuIG5hbWUuXG4gICAqL1xuICBzZXQobmFtZTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nIHwgc3RyaW5nW10pOiB2b2lkIHtcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgIGlmICh2YWx1ZS5sZW5ndGgpIHtcbiAgICAgICAgdGhpcy5faGVhZGVycy5zZXQobmFtZS50b0xvd2VyQ2FzZSgpLCBbdmFsdWUuam9pbignLCcpXSk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX2hlYWRlcnMuc2V0KG5hbWUudG9Mb3dlckNhc2UoKSwgW3ZhbHVlXSk7XG4gICAgfVxuICAgIHRoaXMubWF5QmVTZXROb3JtYWxpemVkTmFtZShuYW1lKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHZhbHVlcyBvZiBhbGwgaGVhZGVycy5cbiAgICovXG4gIHZhbHVlcygpOiBzdHJpbmdbXVtdIHsgcmV0dXJuIEFycmF5LmZyb20odGhpcy5faGVhZGVycy52YWx1ZXMoKSk7IH1cblxuICAvKipcbiAgICogUmV0dXJucyBzdHJpbmcgb2YgYWxsIGhlYWRlcnMuXG4gICAqL1xuXG4gIHRvSlNPTigpOiB7IFtuYW1lOiBzdHJpbmddOiBhbnkgfSB7XG4gICAgY29uc3Qgc2VyaWFsaXplZDogeyBbbmFtZTogc3RyaW5nXTogc3RyaW5nW10gfSA9IHt9O1xuICAgIGlmICghdGhpcy5faGVhZGVycykge1xuXG5cbiAgICB9XG5cbiAgICB0aGlzLl9oZWFkZXJzLmZvckVhY2goKHZhbHVlczogc3RyaW5nW10sIG5hbWU6IHN0cmluZykgPT4ge1xuICAgICAgY29uc3Qgc3BsaXQ6IHN0cmluZ1tdID0gW107XG4gICAgICB2YWx1ZXMuZm9yRWFjaCh2ID0+IHNwbGl0LnB1c2goLi4udi5zcGxpdCgnLCcpKSk7XG5cblxuXG5cbiAgICAgIHNlcmlhbGl6ZWRbdGhpcy5fbm9ybWFsaXplZE5hbWVzLmdldChuYW1lKV0gPSBzcGxpdDtcbiAgICB9KTtcblxuICAgIHJldHVybiBzZXJpYWxpemVkO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgbGlzdCBvZiBoZWFkZXIgdmFsdWVzIGZvciBhIGdpdmVuIG5hbWUuXG4gICAqL1xuICBnZXRBbGwobmFtZTogc3RyaW5nKTogc3RyaW5nW10ge1xuICAgIHJldHVybiB0aGlzLmhhcyhuYW1lKSA/IHRoaXMuX2hlYWRlcnMuZ2V0KG5hbWUudG9Mb3dlckNhc2UoKSkgOiBudWxsO1xuICB9XG5cbiAgcHJpdmF0ZSBtYXlCZVNldE5vcm1hbGl6ZWROYW1lKG5hbWU6IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IGxjTmFtZSA9IG5hbWUudG9Mb3dlckNhc2UoKTtcblxuICAgIGlmICghdGhpcy5fbm9ybWFsaXplZE5hbWVzLmhhcyhsY05hbWUpKSB7XG4gICAgICB0aGlzLl9ub3JtYWxpemVkTmFtZXMuc2V0KGxjTmFtZSwgbmFtZSk7XG4gICAgfVxuICB9XG59XG5cblxuIDsoe30pOyAvLyBALS1lbmQtb2YtZmlsZS1mb3ItbW9kdWxlPW5nMi1yZXN0IGxpYi9yZXN0LWhlYWRlcnMudHMiXX0=
|
|
129
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdC1oZWFkZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWJ1bmRsZS9uZzItcmVzdC9wcm9qZWN0cy9uZzItcmVzdC9zcmMvbGliL3Jlc3QtaGVhZGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFPQSxNQUFNLE9BQU8sV0FBVztJQU9mLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBNEI7UUFDN0MsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNaLE9BQU8sS0FBSyxDQUFDLENBQUM7U0FDZjtRQUNELE9BQU8sSUFBSSxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVELFlBQW9CLE9BQStEO1FBYm5GLDRDQUE0QztRQUM1QyxhQUFRLEdBQTBCLElBQUksR0FBRyxFQUFFLENBQUM7UUFDNUMscURBQXFEO1FBQ3JELHFCQUFnQixHQUF3QixJQUFJLEdBQUcsRUFBRSxDQUFDO1FBV2hELElBQUksT0FBTyxZQUFZLFdBQVcsRUFBRTtZQUNsQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBZ0IsRUFBRSxJQUFZLEVBQUUsRUFBRTtnQkFDakQsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7WUFDakQsQ0FBQyxDQUFDLENBQUM7U0FDSjthQUFNO1lBQ0wsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFZLEVBQUUsRUFBRTtnQkFDNUMsTUFBTSxNQUFNLEdBQWEsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQVEsQ0FBQztn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QUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsSUFBWTtRQUNqQixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDdkUsQ0FBQztJQUVPLHNCQUFzQixDQUFDLElBQVk7UUFDekMsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBRWxDLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ3RDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO1NBQ3pDO0lBQ0gsQ0FBQztDQUNGO0FBR0EsQ0FBQztBQUFBLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyx5REFBeUQiLCJzb3VyY2VzQ29udGVudCI6WyJcblxuLyoqXG4gKiBCYXNlZCBvbiBIZWFkZXJzIGZyb20gaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvYW5ndWxhci9ibG9iL21hc3Rlci9wYWNrYWdlcy9odHRwL3NyYy9oZWFkZXJzLnRzXG4gKi9cbmV4cG9ydCB0eXBlIFJlc3RIZWFkZXJzT3B0aW9ucyA9IFJlc3RIZWFkZXJzIHwgeyBbbmFtZTogc3RyaW5nXTogKHN0cmluZyB8IHN0cmluZ1tdKSB9XG5cbmV4cG9ydCBjbGFzcyBSZXN0SGVhZGVycyB7XG4gIC8qKiBAaW50ZXJuYWwgaGVhZGVyIG5hbWVzIGFyZSBsb3dlciBjYXNlICovXG4gIF9oZWFkZXJzOiBNYXA8c3RyaW5nLCBzdHJpbmdbXT4gPSBuZXcgTWFwKCk7XG4gIC8qKiBAaW50ZXJuYWwgbWFwIGxvd2VyIGNhc2UgbmFtZXMgdG8gYWN0dWFsIG5hbWVzICovXG4gIF9ub3JtYWxpemVkTmFtZXM6IE1hcDxzdHJpbmcsIHN0cmluZz4gPSBuZXcgTWFwKCk7XG5cblxuICBwdWJsaWMgc3RhdGljIGZyb20oaGVhZGVycz86IFJlc3RIZWFkZXJzT3B0aW9ucykge1xuICAgIGlmICghaGVhZGVycykge1xuICAgICAgcmV0dXJuIHZvaWQgMDtcbiAgICB9XG4gICAgcmV0dXJuIG5ldyBSZXN0SGVhZGVycyhoZWFkZXJzKTtcbiAgfVxuXG4gIHByaXZhdGUgY29uc3RydWN0b3IoaGVhZGVycz86IFJlc3RIZWFkZXJzIHwgeyBbbmFtZTogc3RyaW5nXTogKHN0cmluZyB8IHN0cmluZ1tdKSB9KSB7XG4gICAgaWYgKGhlYWRlcnMgaW5zdGFuY2VvZiBSZXN0SGVhZGVycykge1xuICAgICAgaGVhZGVycy5mb3JFYWNoKCh2YWx1ZXM6IHN0cmluZ1tdLCBuYW1lOiBzdHJpbmcpID0+IHtcbiAgICAgICAgdmFsdWVzLmZvckVhY2godmFsdWUgPT4gdGhpcy5zZXQobmFtZSwgdmFsdWUpKTtcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBPYmplY3Qua2V5cyhoZWFkZXJzKS5mb3JFYWNoKChuYW1lOiBzdHJpbmcpID0+IHtcbiAgICAgICAgY29uc3QgdmFsdWVzOiBzdHJpbmdbXSA9IChBcnJheS5pc0FycmF5KGhlYWRlcnNbbmFtZV0pID8gaGVhZGVyc1tuYW1lXSA6IFtoZWFkZXJzW25hbWVdXSkgYXMgYW55O1xuICAgICAgICB0aGlzLmRlbGV0ZShuYW1lKTtcbiAgICAgICAgdmFsdWVzLmZvckVhY2godmFsdWUgPT4gdGhpcy5zZXQobmFtZSwgdmFsdWUpKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGEgbmV3IFJlc3RIZWFkZXJzIGluc3RhbmNlIGZyb20gdGhlIGdpdmVuIERPTVN0cmluZyBvZiBSZXNwb25zZSBSZXN0SGVhZGVyc1xuICAgKi9cbiAgc3RhdGljIGZyb21SZXNwb25zZUhlYWRlclN0cmluZyhoZWFkZXJzU3RyaW5nOiBzdHJpbmcpOiBSZXN0SGVhZGVycyB7XG4gICAgY29uc3QgaGVhZGVycyA9IG5ldyBSZXN0SGVhZGVycygpO1xuXG5cblxuICAgIGhlYWRlcnNTdHJpbmcuc3BsaXQoJ1xcbicpLmZvckVhY2gobGluZSA9PiB7XG4gICAgICBjb25zdCBpbmRleCA9IGxpbmUuaW5kZXhPZignOicpO1xuICAgICAgaWYgKGluZGV4ID4gMCkge1xuICAgICAgICBjb25zdCBuYW1lID0gbGluZS5zbGljZSgwLCBpbmRleCk7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gbGluZS5zbGljZShpbmRleCArIDEpLnRyaW0oKTtcbiAgICAgICAgaGVhZGVycy5zZXQobmFtZSwgdmFsdWUpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgcmV0dXJuIGhlYWRlcnM7XG4gIH1cblxuICAvKipcbiAgICogQXBwZW5kcyBhIGhlYWRlciB0byBleGlzdGluZyBsaXN0IG9mIGhlYWRlciB2YWx1ZXMgZm9yIGEgZ2l2ZW4gaGVhZGVyIG5hbWUuXG4gICAqL1xuICBhcHBlbmQobmFtZTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3QgdmFsdWVzID0gdGhpcy5nZXRBbGwobmFtZSk7XG5cbiAgICBpZiAodmFsdWVzID09PSBudWxsKSB7XG4gICAgICB0aGlzLnNldChuYW1lLCB2YWx1ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHZhbHVlcy5wdXNoKHZhbHVlKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogRGVsZXRlcyBhbGwgaGVhZGVyIHZhbHVlcyBmb3IgdGhlIGdpdmVuIG5hbWUuXG4gICAqL1xuICBkZWxldGUobmFtZTogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3QgbGNOYW1lID0gbmFtZS50b0xvd2VyQ2FzZSgpO1xuICAgIHRoaXMuX25vcm1hbGl6ZWROYW1lcy5kZWxldGUobGNOYW1lKTtcbiAgICB0aGlzLl9oZWFkZXJzLmRlbGV0ZShsY05hbWUpO1xuICB9XG5cbiAgZm9yRWFjaChmbjogKHZhbHVlczogc3RyaW5nW10sIG5hbWU6IHN0cmluZywgaGVhZGVyczogTWFwPHN0cmluZywgc3RyaW5nW10+KSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5faGVhZGVycy5mb3JFYWNoKFxuICAgICAgKHZhbHVlcywgbGNOYW1lKSA9PiBmbih2YWx1ZXMsIHRoaXMuX25vcm1hbGl6ZWROYW1lcy5nZXQobGNOYW1lKSwgdGhpcy5faGVhZGVycykpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgZmlyc3QgaGVhZGVyIHRoYXQgbWF0Y2hlcyBnaXZlbiBuYW1lLlxuICAgKi9cbiAgZ2V0KG5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgdmFsdWVzID0gdGhpcy5nZXRBbGwobmFtZSk7XG5cbiAgICBpZiAodmFsdWVzID09PSBudWxsKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICByZXR1cm4gdmFsdWVzLmxlbmd0aCA+IDAgPyB2YWx1ZXNbMF0gOiBudWxsO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrcyBmb3IgZXhpc3RlbmNlIG9mIGhlYWRlciBieSBnaXZlbiBuYW1lLlxuICAgKi9cbiAgaGFzKG5hbWU6IHN0cmluZyk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5faGVhZGVycy5oYXMobmFtZS50b0xvd2VyQ2FzZSgpKTsgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBuYW1lcyBvZiB0aGUgaGVhZGVyc1xuICAgKi9cbiAga2V5cygpOiBzdHJpbmdbXSB7IHJldHVybiBBcnJheS5mcm9tKHRoaXMuX25vcm1hbGl6ZWROYW1lcy52YWx1ZXMoKSk7IH1cblxuICAvKipcbiAgICogU2V0cyBvciBvdmVycmlkZXMgaGVhZGVyIHZhbHVlIGZvciBnaXZlbiBuYW1lLlxuICAgKi9cbiAgc2V0KG5hbWU6IHN0cmluZywgdmFsdWU6IHN0cmluZyB8IHN0cmluZ1tdKTogdm9pZCB7XG4gICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgICBpZiAodmFsdWUubGVuZ3RoKSB7XG4gICAgICAgIHRoaXMuX2hlYWRlcnMuc2V0KG5hbWUudG9Mb3dlckNhc2UoKSwgW3ZhbHVlLmpvaW4oJywnKV0pO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl9oZWFkZXJzLnNldChuYW1lLnRvTG93ZXJDYXNlKCksIFt2YWx1ZV0pO1xuICAgIH1cbiAgICB0aGlzLm1heUJlU2V0Tm9ybWFsaXplZE5hbWUobmFtZSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB2YWx1ZXMgb2YgYWxsIGhlYWRlcnMuXG4gICAqL1xuICB2YWx1ZXMoKTogc3RyaW5nW11bXSB7IHJldHVybiBBcnJheS5mcm9tKHRoaXMuX2hlYWRlcnMudmFsdWVzKCkpOyB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgc3RyaW5nIG9mIGFsbCBoZWFkZXJzLlxuICAgKi9cblxuICB0b0pTT04oKTogeyBbbmFtZTogc3RyaW5nXTogYW55IH0ge1xuICAgIGNvbnN0IHNlcmlhbGl6ZWQ6IHsgW25hbWU6IHN0cmluZ106IHN0cmluZ1tdIH0gPSB7fTtcbiAgICBpZiAoIXRoaXMuX2hlYWRlcnMpIHtcblxuXG4gICAgfVxuXG4gICAgdGhpcy5faGVhZGVycy5mb3JFYWNoKCh2YWx1ZXM6IHN0cmluZ1tdLCBuYW1lOiBzdHJpbmcpID0+IHtcbiAgICAgIGNvbnN0IHNwbGl0OiBzdHJpbmdbXSA9IFtdO1xuICAgICAgdmFsdWVzLmZvckVhY2godiA9PiBzcGxpdC5wdXNoKC4uLnYuc3BsaXQoJywnKSkpO1xuXG5cblxuXG4gICAgICBzZXJpYWxpemVkW3RoaXMuX25vcm1hbGl6ZWROYW1lcy5nZXQobmFtZSldID0gc3BsaXQ7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gc2VyaWFsaXplZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGxpc3Qgb2YgaGVhZGVyIHZhbHVlcyBmb3IgYSBnaXZlbiBuYW1lLlxuICAgKi9cbiAgZ2V0QWxsKG5hbWU6IHN0cmluZyk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gdGhpcy5oYXMobmFtZSkgPyB0aGlzLl9oZWFkZXJzLmdldChuYW1lLnRvTG93ZXJDYXNlKCkpIDogbnVsbDtcbiAgfVxuXG4gIHByaXZhdGUgbWF5QmVTZXROb3JtYWxpemVkTmFtZShuYW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBsY05hbWUgPSBuYW1lLnRvTG93ZXJDYXNlKCk7XG5cbiAgICBpZiAoIXRoaXMuX25vcm1hbGl6ZWROYW1lcy5oYXMobGNOYW1lKSkge1xuICAgICAgdGhpcy5fbm9ybWFsaXplZE5hbWVzLnNldChsY05hbWUsIG5hbWUpO1xuICAgIH1cbiAgfVxufVxuXG5cbiA7KHt9KTsgLy8gQC0tZW5kLW9mLWZpbGUtZm9yLW1vZHVsZT1uZzItcmVzdCBsaWIvcmVzdC1oZWFkZXJzLnRzIl19
|
|
@@ -320,4 +320,4 @@ class RestRequest {
|
|
|
320
320
|
export { RestRequest };
|
|
321
321
|
;
|
|
322
322
|
({}); // @--end-of-file-for-module=ng2-rest lib/rest-request.ts
|
|
323
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdC1yZXF1ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWJ1bmRsZS9uZzItcmVzdC9wcm9qZWN0cy9uZzItcmVzdC9zcmMvbGliL3Jlc3QtcmVxdWVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNsRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRS9CLE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUVyQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU3QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDM0MsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzNDLE9BQU8sS0FBd0IsTUFBTSxPQUFPLENBQUM7QUFDN0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxHQUFHLEVBQVUsTUFBTSxvQkFBb0IsQ0FBQztBQUVqRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsTUFBTSxHQUFHLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyx5QkFBeUIsRUFDNUMsS0FBSyxDQUFDLFNBQVMsQ0FDbEIsQ0FBQTtBQUVELE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQztBQUN6QixNQUFNLFNBQVMsR0FBRyxXQUFXLENBQUM7QUFDOUIsTUFBTSxRQUFRLEdBQUcsVUFBVSxDQUFDO0FBQzVCLE1BQU0sVUFBVSxHQUFHLFlBQVksQ0FBQztBQUtoQyxNQUFhLFdBQVc7SUFBeEI7UUFJVSxrQkFBYSxHQUFtQyxFQUFFLENBQUM7UUFDbkQsU0FB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QixNQUFNLGlCQUFpQixJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1lBQ3hGLE9BQU87U0FDUjtRQUFBLENBQUM7UUFDRixJQUFJLE1BQU0sSUFBSSxNQUFNLENBQUMsT0FBTyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUM7WUFDckUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUN2QyxPQUFPLENBQUMsSUFBSSxDQUFDLHNCQUFzQixNQUFNLGlCQUFpQixJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1lBQ3hGLE9BQU87U0FDUjtRQUNELE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDO1FBQzVCLE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBQ3BDLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQzlCLE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBQ3BDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLENBQUMsRUFBRSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUE7SUFDNUUsQ0FBQzs7U0E3YlUsV0FBVztBQWljdkIsQ0FBQztBQUFBLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyx5REFBeUQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBmaXJzdFZhbHVlRnJvbSwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBfIH0gZnJvbSAndG5wLWNvcmUvYnJvd3Nlcic7XG5cbmltcG9ydCB7IE1vZGVscyB9IGZyb20gJy4vbW9kZWxzJztcbmltcG9ydCB7IFJlc3RIZWFkZXJzIH0gZnJvbSAnLi9yZXN0LWhlYWRlcnMnO1xuXG5pbXBvcnQgeyBIZWxwZXJzIH0gZnJvbSAndG5wLWNvcmUvYnJvd3Nlcic7XG5pbXBvcnQgeyBMZXZlbCB9IGZyb20gJ25nMi1sb2dnZXIvYnJvd3Nlcic7XG5pbXBvcnQgYXhpb3MsIHsgQXhpb3NSZXNwb25zZSB9IGZyb20gJ2F4aW9zJztcbmltcG9ydCB7IFJlc291cmNlIH0gZnJvbSAnLi9yZXNvdXJjZS1zZXJ2aWNlJztcbmltcG9ydCB7IExvZywgTG9nZ2VyIH0gZnJvbSAnbmcyLWxvZ2dlci9icm93c2VyJztcblxuaW1wb3J0IHsgUmVxdWVzdENhY2hlIH0gZnJvbSAnLi9yZXF1ZXN0LWNhY2hlJztcbmNvbnN0IGxvZyA9IExvZy5jcmVhdGUoJ1tuZzItcmVzdF0gcmVzdC1yZXF1ZXN0J1xuICAsIExldmVsLl9fTk9USElOR1xuKVxuXG5jb25zdCBqb2JJRGtleSA9ICdqb2JJRCc7XG5jb25zdCBjdXN0b21PYnMgPSAnY3VzdG9tT2JzJztcbmNvbnN0IGNhbmNlbEZuID0gJ2NhbmNlbEZuJztcbmNvbnN0IGlzQ2FuY2VsZWQgPSAnaXNDYW5jZWxlZCc7XG5cblxuXG5cbmV4cG9ydCBjbGFzcyBSZXN0UmVxdWVzdCB7XG5cbiAgcHVibGljIHN0YXRpYyB6b25lO1xuICBwcml2YXRlIHN0YXRpYyBqb2JJZCA9IDA7XG4gIHByaXZhdGUgc3ViamVjdEludVVzZTogeyBbaWQ6IG51bWJlcl06IFN1YmplY3Q8YW55PiB9ID0ge307XG4gIHByaXZhdGUgbWV0YTogeyBbaWQ6IG51bWJlcl06IE1vZGVscy5NZXRhUmVxdWVzdCB9ID0ge307XG5cblxuICBwcml2YXRlIGhhbmRsZXJSZXN1bHQob3B0aW9uczogTW9kZWxzLkhhbmRsZVJlc3VsdE9wdGlvbnMsXG4gICAgc291cmNlUmVxdWVzdDogTW9kZWxzLkhhbmRsZVJlc3VsdFNvdXJjZVJlcXVlc3RPcHRpb25zKSB7XG4gICAgaWYgKF8uaXNVbmRlZmluZWQob3B0aW9ucykpIHtcbiAgICAgIG9wdGlvbnMgPSB7fSBhcyBhbnk7XG4gICAgfVxuXG4gICAgY29uc3QgeyByZXMsIGpvYmlkLCBpc0FycmF5LCBtZXRob2QgfSA9IG9wdGlvbnM7XG5cbiAgICBpZiAodHlwZW9mIHJlcyAhPT0gJ29iamVjdCcpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignTm8gcmVzcG9zbnNlIGZvciByZXF1ZXN0LiAnKTtcbiAgICB9XG5cbiAgICBpZiAoSGVscGVycy5pc0Jyb3dzZXIpIHtcbiAgICAgIHJlcy5oZWFkZXJzID0gUmVzdEhlYWRlcnMuZnJvbShyZXMuaGVhZGVycyk7XG4gICAgfVxuXG5cbiAgICBpZiAocmVzLmVycm9yKSB7XG4gICAgICB0aGlzLnN1YmplY3RJbnVVc2Vbam9iaWRdLmVycm9yKG5ldyBNb2RlbHMuSHR0cFJlc3BvbnNlRXJyb3IocmVzLmVycm9yLCByZXMuZGF0YSwgcmVzLmhlYWRlcnMsIHJlcy5jb2RlLCBqb2JpZCkpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBlbnRpdHkgPSB0aGlzLm1ldGFbam9iaWRdLmVudGl0eTtcbiAgICBjb25zdCBjaXJjdWxhciA9IHRoaXMubWV0YVtqb2JpZF0uY2lyY3VsYXI7XG5cbiAgICBjb25zdCBzdWNjZXNzID0gKFJlc291cmNlWydfbGlzdGVuU3VjY2VzcyddIGFzIFN1YmplY3Q8TW9kZWxzLkh0dHBSZXNwb25zZTxhbnk+PilcblxuICAgIGNvbnN0IHJlcVJlc3AgPSBuZXcgTW9kZWxzLkh0dHBSZXNwb25zZShzb3VyY2VSZXF1ZXN0LCByZXMuZGF0YSwgcmVzLmhlYWRlcnMsIHJlcy5jb2RlLCBlbnRpdHksIGNpcmN1bGFyLCBqb2JpZCwgaXNBcnJheSk7XG4gICAgc3VjY2Vzcy5uZXh0KHJlcVJlc3ApO1xuXG4gICAgdGhpcy5zdWJqZWN0SW51VXNlW2pvYmlkXS5uZXh0KHJlcVJlc3ApO1xuICAgIHRoaXMubWV0YVtqb2JpZF0gPSB2b2lkIDA7XG4gICAgdGhpcy5zdWJqZWN0SW51VXNlW2pvYmlkXS5jb21wbGV0ZSgpO1xuICB9XG4gIGNoZWNrQ2FjaGUoc291cmNlUmVxdWVzdDogTW9kZWxzLkhhbmRsZVJlc3VsdFNvdXJjZVJlcXVlc3RPcHRpb25zLCBqb2JpZDogbnVtYmVyKSB7XG4gICAgY29uc3QgZXhpc3RlZEluQ2FjaGUgPSBSZXF1ZXN0Q2FjaGUuZmluZEJ5KHNvdXJjZVJlcXVlc3QpO1xuICAgIGlmIChleGlzdGVkSW5DYWNoZSkge1xuXG4gICAgICBjb25zdCBzdWNjZXNzID0gKFJlc291cmNlWydfbGlzdGVuU3VjY2VzcyddIGFzIFN1YmplY3Q8TW9kZWxzLkh0dHBSZXNwb25zZTxhbnk+Pik7XG4gICAgICBzdWNjZXNzLm5leHQoZXhpc3RlZEluQ2FjaGUucmVzcG9uc2UpO1xuICAgICAgdGhpcy5zdWJqZWN0SW51VXNlW2pvYmlkXS5uZXh0KGV4aXN0ZWRJbkNhY2hlKTtcbiAgICAgIHRoaXMuc3ViamVjdEludVVzZVtqb2JpZF0uY29tcGxldGUoKTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgcmVxKFxuICAgIHVybDogc3RyaW5nLFxuICAgIG1ldGhvZDogTW9kZWxzLkh0dHBNZXRob2QsXG4gICAgaGVhZGVycz86IFJlc3RIZWFkZXJzLFxuICAgIGJvZHk/OiBhbnksXG4gICAgam9iaWQ/OiBudW1iZXIsXG4gICAgaXNBcnJheSA9IGZhbHNlLFxuICAgIG1vY2tIdHRwPzogTW9kZWxzLk1vY2tIdHRwXG4gICkge1xuICAgIGlmICh0aGlzLmNoZWNrQ2FjaGUoe1xuICAgICAgdXJsLFxuICAgICAgYm9keSxcbiAgICAgIGlzQXJyYXksXG4gICAgICBtZXRob2RcbiAgICB9LCBqb2JpZCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBDYW5jZWxUb2tlbiA9IGF4aW9zLkNhbmNlbFRva2VuO1xuICAgIGNvbnN0IHNvdXJjZSA9IENhbmNlbFRva2VuLnNvdXJjZSgpO1xuICAgIHRoaXMuc3ViamVjdEludVVzZVtqb2JpZF1bY2FuY2VsRm5dID0gc291cmNlLmNhbmNlbDtcblxuICAgIHZhciByZXNwb25zZTogQXhpb3NSZXNwb25zZTxhbnk+O1xuICAgIGlmIChtb2NrSHR0cCkge1xuXG4gICAgICBpZiAodHlwZW9mIG1vY2tIdHRwID09PSAnb2JqZWN0Jykge1xuICAgICAgICByZXNwb25zZSA9IHtcbiAgICAgICAgICBkYXRhOiBtb2NrSHR0cC5kYXRhLFxuICAgICAgICAgIHN0YXR1czogbW9ja0h0dHAuY29kZSxcbiAgICAgICAgICBoZWFkZXJzOiBtb2NrSHR0cC5oZWFkZXJzIGFzIGFueSxcbiAgICAgICAgICBzdGF0dXNUZXh0OiBtb2NrSHR0cC5lcnJvcixcbiAgICAgICAgICBjb25maWc6IHt9IGFzIGFueVxuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKHR5cGVvZiBtb2NrSHR0cCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICBjb25zdCByID0gbW9ja0h0dHAodXJsLCBtZXRob2QsIGhlYWRlcnMsIGJvZHkpO1xuICAgICAgICByZXNwb25zZSA9IHtcbiAgICAgICAgICBkYXRhOiByLmRhdGEsXG4gICAgICAgICAgc3RhdHVzOiByLmNvZGUsXG4gICAgICAgICAgaGVhZGVyczogci5oZWFkZXJzIGFzIGFueSxcbiAgICAgICAgICBzdGF0dXNUZXh0OiByLmVycm9yLFxuICAgICAgICAgIGNvbmZpZzoge30gYXMgYW55XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cblxuICAgIGNvbnN0IGhlYWRlcnNKc29uID0gaGVhZGVycy50b0pTT04oKTtcbiAgICBjb25zdCByZXNwb25zZVR5cGUgPSBoZWFkZXJzSnNvbi5yZXNwb25zZXR5cGVheGlvcyA/IGhlYWRlcnNKc29uLnJlc3BvbnNldHlwZWF4aW9zIDogJ3RleHQnO1xuXG4gICAgdHJ5IHtcbiAgICAgIGlmICghcmVzcG9uc2UpIHtcblxuXG5cblxuICAgICAgICByZXNwb25zZSA9IGF3YWl0IGF4aW9zKHtcbiAgICAgICAgICB1cmwsXG4gICAgICAgICAgbWV0aG9kLFxuICAgICAgICAgIGRhdGE6IGJvZHksXG4gICAgICAgICAgcmVzcG9uc2VUeXBlLFxuICAgICAgICAgIGhlYWRlcnM6IGhlYWRlcnNKc29uLFxuICAgICAgICAgIGNhbmNlbFRva2VuOiBzb3VyY2UudG9rZW4sXG5cbiAgICAgICAgfSk7XG5cbiAgICAgIH1cblxuXG5cbiAgICAgIGlmICh0aGlzLnN1YmplY3RJbnVVc2Vbam9iaWRdW2lzQ2FuY2VsZWRdKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgdGhpcy5oYW5kbGVyUmVzdWx0KHtcbiAgICAgICAgcmVzOiB7XG4gICAgICAgICAgY29kZTogcmVzcG9uc2Uuc3RhdHVzIGFzIGFueSxcbiAgICAgICAgICBkYXRhOiByZXNwb25zZS5kYXRhLFxuICAgICAgICAgIGlzQXJyYXksXG4gICAgICAgICAgam9iaWQsXG4gICAgICAgICAgaGVhZGVyczogUmVzdEhlYWRlcnMuZnJvbShyZXNwb25zZS5oZWFkZXJzIGFzIGFueSlcbiAgICAgICAgfSxcbiAgICAgICAgbWV0aG9kLFxuICAgICAgICBqb2JpZCxcbiAgICAgICAgaXNBcnJheVxuICAgICAgfSwge1xuICAgICAgICB1cmwsXG4gICAgICAgIGJvZHksXG4gICAgICAgIG1ldGhvZCxcbiAgICAgICAgaXNBcnJheSxcbiAgICAgIH0pO1xuICAgIH0gY2F0Y2ggKGNhdGNoZWRFcnJvcikge1xuICAgICAgaWYgKHRoaXMuc3ViamVjdEludVVzZVtqb2JpZF1baXNDYW5jZWxlZF0pIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG5cbiAgICAgIGlmICh0eXBlb2YgY2F0Y2hlZEVycm9yID09PSAnb2JqZWN0JyAmJiBjYXRjaGVkRXJyb3IucmVzcG9uc2UgJiYgY2F0Y2hlZEVycm9yLnJlc3BvbnNlLmRhdGEpIHtcbiAgICAgICAgY29uc3QgZXJyID0gY2F0Y2hlZEVycm9yLnJlc3BvbnNlLmRhdGE7XG4gICAgICAgIGNvbnN0IG1zZzogc3RyaW5nID0gY2F0Y2hlZEVycm9yLnJlc3BvbnNlLmRhdGEubWVzc2FnZSB8fCAnJztcblxuXG5cbiAgICAgICAgbGV0IHN0YWNrOiBzdHJpbmdbXSA9IChlcnIuc3RhY2sgfHwgJycpLnNwbGl0KCdcXG4nKTtcblxuICAgICAgICBjb25zdCBlcnJPYnMgPSAoUmVzb3VyY2VbJ19saXN0ZW5FcnJvcnMnXSBhcyBTdWJqZWN0PE1vZGVscy5CYWNrZW5kRXJyb3I+KTtcbiAgICAgICAgZXJyT2JzLm5leHQoe1xuICAgICAgICAgIG1zZyxcbiAgICAgICAgICBzdGFjayxcbiAgICAgICAgICBkYXRhOiBjYXRjaGVkRXJyb3IucmVzcG9uc2UuZGF0YVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGVycm9yID0gKGNhdGNoZWRFcnJvciAmJiBjYXRjaGVkRXJyb3IucmVzcG9uc2UpID8gYFske2NhdGNoZWRFcnJvci5yZXNwb25zZS5zdGF0dXNUZXh0fV06IGAgOiAnJztcbiAgICAgIHRoaXMuaGFuZGxlclJlc3VsdCh7XG4gICAgICAgIHJlczoge1xuICAgICAgICAgIGNvZGU6IChjYXRjaGVkRXJyb3IgJiYgY2F0Y2hlZEVycm9yLnJlc3BvbnNlKSA/IGNhdGNoZWRFcnJvci5yZXNwb25zZS5zdGF0dXMgYXMgYW55IDogdm9pZCAwLFxuICAgICAgICAgIGVycm9yOiBgJHtlcnJvcn0ke2NhdGNoZWRFcnJvci5tZXNzYWdlfWAsXG4gICAgICAgICAgZGF0YTogKGNhdGNoZWRFcnJvciAmJiBjYXRjaGVkRXJyb3IucmVzcG9uc2UpID8gSlNPTi5zdHJpbmdpZnkoY2F0Y2hlZEVycm9yLnJlc3BvbnNlLmRhdGEpIDogdm9pZCAwLFxuICAgICAgICAgIGlzQXJyYXksXG4gICAgICAgICAgam9iaWQsXG4gICAgICAgICAgaGVhZGVyczogUmVzdEhlYWRlcnMuZnJvbShjYXRjaGVkRXJyb3IgJiYgY2F0Y2hlZEVycm9yLnJlc3BvbnNlICYmIGNhdGNoZWRFcnJvci5yZXNwb25zZS5oZWFkZXJzKVxuICAgICAgICB9LFxuICAgICAgICBtZXRob2QsXG4gICAgICAgIGpvYmlkLFxuICAgICAgICBpc0FycmF5XG4gICAgICB9LCB7XG4gICAgICAgIHVybCxcbiAgICAgICAgYm9keSxcbiAgICAgICAgaXNBcnJheSxcbiAgICAgICAgbWV0aG9kXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldFJlcGxheShtZXRob2Q6IE1vZGVscy5IdHRwTWV0aG9kLCBtZXRhOiBNb2RlbHMuTWV0YVJlcXVlc3QsIG9ubHlHZXRMYXN0UmVwbGF5Rm9yTWV0aG9kOiBib29sZWFuKTogTW9kZWxzLlJlcGxheURhdGEge1xuICAgIGxldCByZXBsYXk6IE1vZGVscy5SZXBsYXlEYXRhO1xuXG5cbiAgICBpZiAoXy5pc1VuZGVmaW5lZCh0aGlzLnJlcGxheVN1YmplY3RzW21ldGEuZW5kcG9pbnRdKSkge1xuXG4gICAgICB0aGlzLnJlcGxheVN1YmplY3RzW21ldGEuZW5kcG9pbnRdID0ge307XG4gICAgfVxuICAgIGlmIChfLmlzVW5kZWZpbmVkKHRoaXMucmVwbGF5U3ViamVjdHNbbWV0YS5lbmRwb2ludF1bbWV0YS5wYXRoXSkpIHtcblxuICAgICAgdGhpcy5yZXBsYXlTdWJqZWN0c1ttZXRhLmVuZHBvaW50XVttZXRhLnBhdGhdID0ge307XG4gICAgfVxuICAgIGlmIChfLmlzVW5kZWZpbmVkKHRoaXMucmVwbGF5U3ViamVjdHNbbWV0YS5lbmRwb2ludF1bbWV0YS5wYXRoXVttZXRob2RdKSkge1xuXG4gICAgICB0aGlzLnJlcGxheVN1YmplY3RzW21ldGEuZW5kcG9pbnRdW21ldGEucGF0aF1bbWV0aG9kXSA9IHt9O1xuICAgIH1cblxuXG4gICAgY29uc3Qgb2JqZWN0SURUb0NyZWF0ZU9yTGFzdCA9IChPYmplY3Qua2V5cyh0aGlzLnJlcGxheVN1YmplY3RzW21ldGEuZW5kcG9pbnRdW21ldGEucGF0aF1bbWV0aG9kXSBhcyBPYmplY3QpLmxlbmd0aCkgK1xuICAgICAgKG9ubHlHZXRMYXN0UmVwbGF5Rm9yTWV0aG9kID8gMCA6IDEpO1xuICAgIGlmIChvbmx5R2V0TGFzdFJlcGxheUZvck1ldGhvZCAmJiAob2JqZWN0SURUb0NyZWF0ZU9yTGFzdCA9PT0gMCkpIHtcbiAgICAgIHJldHVybiByZXBsYXk7XG4gICAgfVxuXG4gICAgaWYgKF8uaXNVbmRlZmluZWQodGhpcy5yZXBsYXlTdWJqZWN0c1ttZXRhLmVuZHBvaW50XVttZXRhLnBhdGhdW21ldGhvZF1bb2JqZWN0SURUb0NyZWF0ZU9yTGFzdF0pKSB7XG5cbiAgICAgIHRoaXMucmVwbGF5U3ViamVjdHNbbWV0YS5lbmRwb2ludF1bbWV0YS5wYXRoXVttZXRob2RdW29iamVjdElEVG9DcmVhdGVPckxhc3RdID0gPE1vZGVscy5SZXBsYXlEYXRhPntcbiAgICAgICAgc3ViamVjdDogbmV3IFN1YmplY3QoKSxcbiAgICAgICAgZGF0YTogdm9pZCAwLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICByZXBsYXkgPSB0aGlzLnJlcGxheVN1YmplY3RzW21ldGEuZW5kcG9pbnRdW21ldGEucGF0aF1bbWV0aG9kXVtvYmplY3RJRFRvQ3JlYXRlT3JMYXN0XTtcblxuICAgIGlmICghXy5pc051bWJlcihyZXBsYXkuaWQpKSB7XG4gICAgICBpZiAoUmVzdFJlcXVlc3Quam9iSWQgPT09IE51bWJlci5NQVhfU0FGRV9JTlRFR0VSKSB7XG4gICAgICAgIFJlc3RSZXF1ZXN0LmpvYklkID0gMDtcbiAgICAgIH1cblxuICAgICAgY29uc3Qgam9iaWQ6IG51bWJlciA9IFJlc3RSZXF1ZXN0LmpvYklkKys7XG4gICAgICByZXBsYXkuaWQgPSBqb2JpZDtcbiAgICAgIGNvbnN0IHN1YmplY3Q6IFN1YmplY3Q8YW55PiA9IHJlcGxheS5zdWJqZWN0O1xuICAgICAgc3ViamVjdFtqb2JJRGtleV0gPSBqb2JpZDsgLy8gbW9kaWZ5IGludGVybmFsIHJ4anMgc3ViamVjdCBvYmpcblxuICAgICAgdGhpcy5tZXRhW2pvYmlkXSA9IG1ldGE7XG4gICAgICB0aGlzLnN1YmplY3RJbnVVc2Vbam9iaWRdID0gc3ViamVjdDtcblxuICAgICAgdGhpcy5zdWJqZWN0SW51VXNlW2pvYmlkXVtjdXN0b21PYnNdID0gbmV3IE9ic2VydmFibGUoKG9ic2VydmVyKSA9PiB7XG5cblxuXG4gICAgICAgIG9ic2VydmVyLmFkZCgoKSA9PiB7XG5cbiAgICAgICAgICBpZiAoIXRoaXMuc3ViamVjdEludVVzZVtqb2JpZF1baXNDYW5jZWxlZF0pIHtcbiAgICAgICAgICAgIHRoaXMuc3ViamVjdEludVVzZVtqb2JpZF1baXNDYW5jZWxlZF0gPSB0cnVlO1xuICAgICAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnN1YmplY3RJbnVVc2Vbam9iaWRdW2NhbmNlbEZuXSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgICB0aGlzLnN1YmplY3RJbnVVc2Vbam9iaWRdW2NhbmNlbEZuXSgnW25nMi1yZXN0XSBvbiBwdXJwb3NlIGNhbmNlbGVkIGh0dHAgcmVxdWVzdCcpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0gZWxzZSB7XG5cbiAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgICAgIGNvbnN0IHN1YiA9IHN1YmplY3Quc3Vic2NyaWJlKHtcbiAgICAgICAgICBuZXh0OiBhID0+IG9ic2VydmVyLm5leHQoYSksXG4gICAgICAgICAgZXJyb3I6IGEgPT4gb2JzZXJ2ZXIuZXJyb3IoYSksXG4gICAgICAgICAgY29tcGxldGU6ICgpID0+IHtcbiAgICAgICAgICAgIHN1Yi51bnN1YnNjcmliZSgpO1xuICAgICAgICAgICAgb2JzZXJ2ZXIuY29tcGxldGUoKVxuICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgICAgfSk7XG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cbiAgICB9XG5cbiAgICByZXR1cm4gcmVwbGF5O1xuICB9XG5cblxuXG5cbiAgcHJpdmF0ZSBnZW5lcmFsUmVxKFxuICAgIG1ldGhvZDogTW9kZWxzLkh0dHBNZXRob2QsXG4gICAgdXJsOiBzdHJpbmcsXG4gICAgYm9keTogc3RyaW5nLFxuICAgIGhlYWRlcnM6IFJlc3RIZWFkZXJzLFxuICAgIG1ldGE6IE1vZGVscy5NZXRhUmVxdWVzdCxcbiAgICBpc0FycmF5OiBib29sZWFuLFxuICAgIG1vY2tIdHRwOiBNb2RlbHMuTW9ja0h0dHApOiBNb2RlbHMuUHJvbWlzZU9ic2VydmFibGVNaXg8YW55PiB7XG5cbiAgICBjb25zdCByZXBsYXk6IE1vZGVscy5SZXBsYXlEYXRhID0gdGhpcy5nZXRSZXBsYXkobWV0aG9kLCBtZXRhLCBmYWxzZSk7XG4gICAgcmVwbGF5LmRhdGEgPSB7IHVybCwgYm9keSwgaGVhZGVycywgaXNBcnJheSB9O1xuXG4gICAgKChwdGhpcywgcHVybCwgcG1ldGhvZCwgcGhlYWRlcnMsIHBib2R5LCBwaWQsIHBpc0FycmF5LCBwbW9ja0h0dHApID0+IHtcblxuICAgICAgc2V0VGltZW91dCgoKSA9PiBwdGhpcy5yZXEocHVybCwgcG1ldGhvZCwgcGhlYWRlcnMsIHBib2R5LCBwaWQsIHBpc0FycmF5LCBwbW9ja0h0dHApKTtcbiAgICB9KSh0aGlzLCB1cmwsIG1ldGhvZCwgaGVhZGVycywgYm9keSwgcmVwbGF5LmlkLCBpc0FycmF5LCBtb2NrSHR0cClcblxuICAgIGNvbnN0IHJlc3A6IE1vZGVscy5Qcm9taXNlT2JzZXJ2YWJsZU1peDxhbnk+ID0gZmlyc3RWYWx1ZUZyb20ocmVwbGF5LnN1YmplY3RbY3VzdG9tT2JzXSkgYXMgYW55O1xuICAgIHJlc3Aub2JzZXJ2YWJsZSA9IHJlcGxheS5zdWJqZWN0W2N1c3RvbU9ic107XG4gICAgcmVzcC5jYWNoZSA9IFJlcXVlc3RDYWNoZS5maW5kQnkoe1xuICAgICAgYm9keSxcbiAgICAgIGlzQXJyYXksXG4gICAgICBtZXRob2QsXG4gICAgICB1cmxcbiAgICB9KTtcbiAgICByZXR1cm4gcmVzcDtcbiAgfVxuXG4gIGdldChcbiAgICB1cmw6IHN0cmluZyxcbiAgICBib2R5OiBzdHJpbmcsXG4gICAgaGVhZGVyczogUmVzdEhlYWRlcnMsXG4gICAgbWV0YTogTW9kZWxzLk1ldGFSZXF1ZXN0LFxuICAgIGlzQXJyYXk6IGJvb2xlYW4sIG1vY2tIdHRwOiBNb2RlbHMuTW9ja0h0dHBcbiAgKTogTW9kZWxzLlByb21pc2VPYnNlcnZhYmxlTWl4PGFueT4ge1xuICAgIHJldHVybiB0aGlzLmdlbmVyYWxSZXEoJ2dldCcsIHVybCwgYm9keSwgaGVhZGVycywgbWV0YSwgaXNBcnJheSwgbW9ja0h0dHApO1xuICB9XG5cbiAgaGVhZChcbiAgICB1cmw6IHN0cmluZyxcbiAgICBib2R5OiBzdHJpbmcsXG4gICAgaGVhZGVyczogUmVzdEhlYWRlcnMsXG4gICAgbWV0YTogTW9kZWxzLk1ldGFSZXF1ZXN0LFxuICAgIGlzQXJyYXk6IGJvb2xlYW4sIG1vY2tIdHRwOiBNb2RlbHMuTW9ja0h0dHBcbiAgKTogTW9kZWxzLlByb21pc2VPYnNlcnZhYmxlTWl4PGFueT4ge1xuICAgIHJldHVybiB0aGlzLmdlbmVyYWxSZXEoJ2hlYWQnLCB1cmwsIGJvZHksIGhlYWRlcnMsIG1ldGEsIGlzQXJyYXksIG1vY2tIdHRwKTtcbiAgfVxuXG4gIGRlbGV0ZShcbiAgICB1cmw6IHN0cmluZyxcbiAgICBib2R5OiBzdHJpbmcsXG4gICAgaGVhZGVyczogUmVzdEhlYWRlcnMsXG4gICAgbWV0YTogTW9kZWxzLk1ldGFSZXF1ZXN0LFxuICAgIGlzQXJyYXk6IGJvb2xlYW4sXG4gICAgbW9ja0h0dHA6IE1vZGVscy5Nb2NrSHR0cCk6IE1vZGVscy5Qcm9taXNlT2JzZXJ2YWJsZU1peDxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5nZW5lcmFsUmVxKCdkZWxldGUnLCB1cmwsIGJvZHksIGhlYWRlcnMsIG1ldGEsIGlzQXJyYXksIG1vY2tIdHRwKTtcbiAgfVxuXG4gIHBvc3QoXG4gICAgdXJsOiBzdHJpbmcsXG4gICAgYm9keTogc3RyaW5nLFxuICAgIGhlYWRlcnM6IFJlc3RIZWFkZXJzLFxuICAgIG1ldGE6IE1vZGVscy5NZXRhUmVxdWVzdCxcbiAgICBpc0FycmF5OiBib29sZWFuLFxuICAgIG1vY2tIdHRwOiBNb2RlbHMuTW9ja0h0dHBcbiAgKTogTW9kZWxzLlByb21pc2VPYnNlcnZhYmxlTWl4PGFueT4ge1xuICAgIHJldHVybiB0aGlzLmdlbmVyYWxSZXEoJ3Bvc3QnLCB1cmwsIGJvZHksIGhlYWRlcnMsIG1ldGEsIGlzQXJyYXksIG1vY2tIdHRwKTtcbiAgfVxuXG4gIHB1dChcbiAgICB1cmw6IHN0cmluZyxcbiAgICBib2R5OiBzdHJpbmcsXG4gICAgaGVhZGVyczogUmVzdEhlYWRlcnMsXG4gICAgbWV0YTogTW9kZWxzLk1ldGFSZXF1ZXN0LFxuICAgIGlzQXJyYXk6IGJvb2xlYW4sXG4gICAgbW9ja0h0dHA6IE1vZGVscy5Nb2NrSHR0cFxuICApOiBNb2RlbHMuUHJvbWlzZU9ic2VydmFibGVNaXg8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuZ2VuZXJhbFJlcSgncHV0JywgdXJsLCBib2R5LCBoZWFkZXJzLCBtZXRhLCBpc0FycmF5LCBtb2NrSHR0cCk7XG4gIH1cblxuICBwYXRjaChcbiAgICB1cmw6IHN0cmluZyxcbiAgICBib2R5OiBzdHJpbmcsXG4gICAgaGVhZGVyczogUmVzdEhlYWRlcnMsXG4gICAgbWV0YTogTW9kZWxzLk1ldGFSZXF1ZXN0LFxuICAgIGlzQXJyYXk6IGJvb2xlYW4sXG4gICAgbW9ja0h0dHA6IE1vZGVscy5Nb2NrSHR0cFxuICApOiBNb2RlbHMuUHJvbWlzZU9ic2VydmFibGVNaXg8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuZ2VuZXJhbFJlcSgncGF0Y2gnLCB1cmwsIGJvZHksIGhlYWRlcnMsIG1ldGEsIGlzQXJyYXksIG1vY2tIdHRwKTtcbiAgfVxuXG4gIGpzb25wKFxuICAgIHVybDogc3RyaW5nLFxuICAgIGJvZHk6IHN0cmluZyxcbiAgICBoZWFkZXJzOiBSZXN0SGVhZGVycyxcbiAgICBtZXRhOiBNb2RlbHMuTWV0YVJlcXVlc3QsXG4gICAgaXNBcnJheTogYm9vbGVhbixcbiAgICBtb2NrSHR0cDogTW9kZWxzLk1vY2tIdHRwXG4gICk6IE1vZGVscy5Qcm9taXNlT2JzZXJ2YWJsZU1peDxhbnk+IHtcblxuICAgIGNvbnN0IHJlcGxheTogTW9kZWxzLlJlcGxheURhdGEgPSB0aGlzLmdldFJlcGxheSgnanNvbnAnLCBtZXRhLCBmYWxzZSk7XG4gICAgY29uc3Qgam9iaWQgPSByZXBsYXkuaWQ7XG4gICAgY29uc3QgbWV0aG9kID0gJ2pzb25wJ1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgaWYgKHVybC5lbmRzV2l0aCgnLycpKSB1cmwgPSB1cmwuc2xpY2UoMCwgdXJsLmxlbmd0aCAtIDEpXG4gICAgICBsZXQgbnVtID0gTWF0aC5yb3VuZCgxMDAwMCAqIE1hdGgucmFuZG9tKCkpO1xuICAgICAgbGV0IGNhbGxiYWNrTWV0aG9kTmFtZSA9IFwiY2JfXCIgKyBudW07XG4gICAgICB3aW5kb3dbY2FsbGJhY2tNZXRob2ROYW1lXSA9IChkYXRhKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLmNoZWNrQ2FjaGUoe1xuICAgICAgICAgIHVybCxcbiAgICAgICAgICBib2R5LFxuICAgICAgICAgIGlzQXJyYXksXG4gICAgICAgICAgbWV0aG9kXG4gICAgICAgIH0sIGpvYmlkKSkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmhhbmRsZXJSZXN1bHQoe1xuICAgICAgICAgIHJlczoge1xuICAgICAgICAgICAgZGF0YSwgaXNBcnJheVxuICAgICAgICAgIH0sXG4gICAgICAgICAgbWV0aG9kLFxuICAgICAgICAgIGpvYmlkLFxuICAgICAgICAgIGlzQXJyYXlcbiAgICAgICAgfSwge1xuICAgICAgICAgIHVybCxcbiAgICAgICAgICBib2R5LFxuICAgICAgICAgIGlzQXJyYXksXG4gICAgICAgICAgbWV0aG9kLFxuICAgICAgICB9KVxuICAgICAgfVxuICAgICAgbGV0IHNjID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7XG4gICAgICBzYy5zcmMgPSBgJHt1cmx9P2NhbGxiYWNrPSR7Y2FsbGJhY2tNZXRob2ROYW1lfWA7XG4gICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHNjKTtcbiAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoc2MpO1xuICAgIH0pXG5cbiAgICBjb25zdCByZXNwOiBNb2RlbHMuUHJvbWlzZU9ic2VydmFibGVNaXg8YW55PiA9IGZpcnN0VmFsdWVGcm9tKHJlcGxheS5zdWJqZWN0W2N1c3RvbU9ic10pIGFzIGFueTtcbiAgICByZXNwLm9ic2VydmFibGUgPSByZXBsYXkuc3ViamVjdFtjdXN0b21PYnNdO1xuICAgIGNvbnNvbGUubG9nKCdhc3NpZ2luZyBjdXN0b20gb2JzZXJ2YWJsZScpXG4gICAgcmVzcC5jYWNoZSA9IFJlcXVlc3RDYWNoZS5maW5kQnkoe1xuICAgICAgYm9keSxcbiAgICAgIGlzQXJyYXksXG4gICAgICBtZXRob2QsXG4gICAgICB1cmxcbiAgICB9KVxuICAgIHJldHVybiByZXNwO1xuICB9XG5cbiAgcHJpdmF0ZSByZXBsYXlTdWJqZWN0cyA9IHt9O1xuICBwdWJsaWMgcmVwbGF5KG1ldGhvZDogTW9kZWxzLkh0dHBNZXRob2QsIG1ldGE6IE1vZGVscy5NZXRhUmVxdWVzdCkge1xuICAgIGNvbnN0IHJlcGxheTogTW9kZWxzLlJlcGxheURhdGEgPSB0aGlzLmdldFJlcGxheShtZXRob2QsIG1ldGEsIHRydWUpO1xuICAgIGlmICghcmVwbGF5IHx8ICFyZXBsYXkuZGF0YSkge1xuICAgICAgY29uc29sZS53YXJuKGBDYW5ubyByZXBsYXkgZmlyc3QgJHttZXRob2R9IHJlcXVlc3QgZnJvbSAke21ldGEuZW5kcG9pbnR9LyR7bWV0YS5wYXRofWApO1xuICAgICAgcmV0dXJuO1xuICAgIH07XG4gICAgaWYgKHJlcGxheSAmJiByZXBsYXkuc3ViamVjdCAmJiBBcnJheS5pc0FycmF5KHJlcGxheS5zdWJqZWN0Lm9ic2VydmVycykgJiZcbiAgICAgIHJlcGxheS5zdWJqZWN0Lm9ic2VydmVycy5sZW5ndGggPT09IDApIHtcbiAgICAgIGNvbnNvbGUud2FybihgTm8gb2JzZXJ2YXRvcnMgZm9yICR7bWV0aG9kfSByZXF1ZXN0IGZyb20gJHttZXRhLmVuZHBvaW50fS8ke21ldGEucGF0aH1gKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgdXJsID0gcmVwbGF5LmRhdGEudXJsO1xuICAgIGNvbnN0IGhlYWRlcnMgPSByZXBsYXkuZGF0YS5oZWFkZXJzO1xuICAgIGNvbnN0IGJvZHkgPSByZXBsYXkuZGF0YS5ib2R5O1xuICAgIGNvbnN0IGlzQXJyYXkgPSByZXBsYXkuZGF0YS5pc0FycmF5O1xuICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5yZXEodXJsLCBtZXRob2QsIGhlYWRlcnMsIGJvZHksIHJlcGxheS5pZCwgaXNBcnJheSkpXG4gIH1cblxufVxuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9bmcyLXJlc3QgbGliL3Jlc3QtcmVxdWVzdC50cyJdfQ==
|
|
323
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdC1yZXF1ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWJ1bmRsZS9uZzItcmVzdC9wcm9qZWN0cy9uZzItcmVzdC9zcmMvbGliL3Jlc3QtcmVxdWVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsY0FBYyxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNsRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRS9CLE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUVyQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU3QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDM0MsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzNDLE9BQU8sS0FBd0IsTUFBTSxPQUFPLENBQUM7QUFDN0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxHQUFHLEVBQVUsTUFBTSxvQkFBb0IsQ0FBQztBQUVqRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsTUFBTSxHQUFHLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyx5QkFBeUIsRUFDNUMsS0FBSyxDQUFDLFNBQVMsQ0FDbEIsQ0FBQTtBQUVELE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQztBQUN6QixNQUFNLFNBQVMsR0FBRyxXQUFXLENBQUM7QUFDOUIsTUFBTSxRQUFRLEdBQUcsVUFBVSxDQUFDO0FBQzVCLE1BQU0sVUFBVSxHQUFHLFlBQVksQ0FBQztBQUtoQyxNQUFhLFdBQVc7SUFBeEI7UUFJVSxrQkFBYSxHQUFtQyxFQUFFLENBQUM7UUFDbkQsU0FBSSxHQUF5QyxFQUFFLENBQUM7UUF1YWhELG1CQUFjLEdBQUcsRUFBRSxDQUFDO0lBbUI5QixDQUFDO2FBNWJnQixVQUFLLEdBQUcsQ0FBQyxBQUFKLENBQUs7SUFLakIsYUFBYSxDQUFDLE9BQW1DLEVBQ3ZELGFBQXNEO1FBQ3RELElBQUksQ0FBQyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUMxQixPQUFPLEdBQUcsRUFBUyxDQUFDO1NBQ3JCO1FBRUQsTUFBTSxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxHQUFHLE9BQU8sQ0FBQztRQUVoRCxJQUFJLE9BQU8sR0FBRyxLQUFLLFFBQVEsRUFBRTtZQUMzQixNQUFNLElBQUksS0FBSyxDQUFDLDRCQUE0QixDQUFDLENBQUM7U0FDL0M7UUFFRCxJQUFJLE9BQU8sQ0FBQyxTQUFTLEVBQUU7WUFDckIsR0FBRyxDQUFDLE9BQU8sR0FBRyxXQUFXLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUM3QztRQUdELElBQUksR0FBRyxDQUFDLEtBQUssRUFBRTtZQUNiLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksTUFBTSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUNqSCxPQUFPO1NBQ1I7UUFDRCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQztRQUN2QyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVEsQ0FBQztRQUUzQyxNQUFNLE9BQU8sR0FBSSxRQUFRLENBQUMsZ0JBQWdCLENBQXVDLENBQUE7UUFFakYsTUFBTSxPQUFPLEdBQUcsSUFBSSxNQUFNLENBQUMsWUFBWSxDQUFDLGFBQWEsRUFBRSxHQUFHLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxPQUFPLEVBQUUsR0FBRyxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQztRQUMxSCxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRXRCLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3hDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUM7UUFDMUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUN2QyxDQUFDO0lBQ0QsVUFBVSxDQUFDLGFBQXNELEVBQUUsS0FBYTtRQUM5RSxNQUFNLGNBQWMsR0FBRyxZQUFZLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQzFELElBQUksY0FBYyxFQUFFO1lBRWxCLE1BQU0sT0FBTyxHQUFJLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBdUMsQ0FBQztZQUNsRixPQUFPLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUN0QyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztZQUMvQyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3JDLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFFRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFTyxLQUFLLENBQUMsR0FBRyxDQUNmLEdBQVcsRUFDWCxNQUF5QixFQUN6QixPQUFxQixFQUNyQixJQUFVLEVBQ1YsS0FBYyxFQUNkLE9BQU8sR0FBRyxLQUFLLEVBQ2YsUUFBMEI7UUFFMUIsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDO1lBQ2xCLEdBQUc7WUFDSCxJQUFJO1lBQ0osT0FBTztZQUNQLE1BQU07U0FDUCxFQUFFLEtBQUssQ0FBQyxFQUFFO1lBQ1QsT0FBTztTQUNSO1FBRUQsTUFBTSxXQUFXLEdBQUcsS0FBSyxDQUFDLFdBQVcsQ0FBQztRQUN0QyxNQUFNLE1BQU0sR0FBRyxXQUFXLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDcEMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxRQUFRLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDO1FBRXBELElBQUksUUFBNEIsQ0FBQztRQUNqQyxJQUFJLFFBQVEsRUFBRTtZQUVaLElBQUksT0FBTyxRQUFRLEtBQUssUUFBUSxFQUFFO2dCQUNoQyxRQUFRLEdBQUc7b0JBQ1QsSUFBSSxFQUFFLFFBQVEsQ0FBQyxJQUFJO29CQUNuQixNQUFNLEVBQUUsUUFBUSxDQUFDLElBQUk7b0JBQ3JCLE9BQU8sRUFBRSxRQUFRLENBQUMsT0FBYztvQkFDaEMsVUFBVSxFQUFFLFFBQVEsQ0FBQyxLQUFLO29CQUMxQixNQUFNLEVBQUUsRUFBUztpQkFDbEIsQ0FBQTthQUNGO2lCQUFNLElBQUksT0FBTyxRQUFRLEtBQUssVUFBVSxFQUFFO2dCQUN6QyxNQUFNLENBQUMsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUM7Z0JBQy9DLFFBQVEsR0FBRztvQkFDVCxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUk7b0JBQ1osTUFBTSxFQUFFLENBQUMsQ0FBQyxJQUFJO29CQUNkLE9BQU8sRUFBRSxDQUFDLENBQUMsT0FBYztvQkFDekIsVUFBVSxFQUFFLENBQUMsQ0FBQyxLQUFLO29CQUNuQixNQUFNLEVBQUUsRUFBUztpQkFDbEIsQ0FBQTthQUNGO1NBQ0Y7UUFHRCxNQUFNLFdBQVcsR0FBRyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDckMsTUFBTSxZQUFZLEdBQUcsV0FBVyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztRQUU1RixJQUFJO1lBQ0YsSUFBSSxDQUFDLFFBQVEsRUFBRTtnQkFLYixRQUFRLEdBQUcsTUFBTSxLQUFLLENBQUM7b0JBQ3JCLEdBQUc7b0JBQ0gsTUFBTTtvQkFDTixJQUFJLEVBQUUsSUFBSTtvQkFDVixZQUFZO29CQUNaLE9BQU8sRUFBRSxXQUFXO29CQUNwQixXQUFXLEVBQUUsTUFBTSxDQUFDLEtBQUs7aUJBRTFCLENBQUMsQ0FBQzthQUVKO1lBSUQsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDLFVBQVUsQ0FBQyxFQUFFO2dCQUN6QyxPQUFPO2FBQ1I7WUFFRCxJQUFJLENBQUMsYUFBYSxDQUFDO2dCQUNqQixHQUFHLEVBQUU7b0JBQ0gsSUFBSSxFQUFFLFFBQVEsQ0FBQyxNQUFhO29CQUM1QixJQUFJLEVBQUUsUUFBUSxDQUFDLElBQUk7b0JBQ25CLE9BQU87b0JBQ1AsS0FBSztvQkFDTCxPQUFPLEVBQUUsV0FBVyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBYyxDQUFDO2lCQUNuRDtnQkFDRCxNQUFNO2dCQUNOLEtBQUs7Z0JBQ0wsT0FBTzthQUNSLEVBQUU7Z0JBQ0QsR0FBRztnQkFDSCxJQUFJO2dCQUNKLE1BQU07Z0JBQ04sT0FBTzthQUNSLENBQUMsQ0FBQztTQUNKO1FBQUMsT0FBTyxZQUFZLEVBQUU7WUFDckIsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDLFVBQVUsQ0FBQyxFQUFFO2dCQUN6QyxPQUFPO2FBQ1I7WUFHRCxJQUFJLE9BQU8sWUFBWSxLQUFLLFFBQVEsSUFBSSxZQUFZLENBQUMsUUFBUSxJQUFJLFlBQVksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFO2dCQUMzRixNQUFNLEdBQUcsR0FBRyxZQUFZLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQztnQkFDdkMsTUFBTSxHQUFHLEdBQVcsWUFBWSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQztnQkFJN0QsSUFBSSxLQUFLLEdBQWEsQ0FBQyxHQUFHLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFFcEQsTUFBTSxNQUFNLEdBQUksUUFBUSxDQUFDLGVBQWUsQ0FBa0MsQ0FBQztnQkFDM0UsTUFBTSxDQUFDLElBQUksQ0FBQztvQkFDVixHQUFHO29CQUNILEtBQUs7b0JBQ0wsSUFBSSxFQUFFLFlBQVksQ0FBQyxRQUFRLENBQUMsSUFBSTtpQkFDakMsQ0FBQyxDQUFDO2FBQ0o7WUFDRCxNQUFNLEtBQUssR0FBRyxDQUFDLFlBQVksSUFBSSxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksWUFBWSxDQUFDLFFBQVEsQ0FBQyxVQUFVLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ3ZHLElBQUksQ0FBQyxhQUFhLENBQUM7Z0JBQ2pCLEdBQUcsRUFBRTtvQkFDSCxJQUFJLEVBQUUsQ0FBQyxZQUFZLElBQUksWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLE1BQWEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO29CQUM1RixLQUFLLEVBQUUsR0FBRyxLQUFLLEdBQUcsWUFBWSxDQUFDLE9BQU8sRUFBRTtvQkFDeEMsSUFBSSxFQUFFLENBQUMsWUFBWSxJQUFJLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7b0JBQ25HLE9BQU87b0JBQ1AsS0FBSztvQkFDTCxPQUFPLEVBQUUsV0FBVyxDQUFDLElBQUksQ0FBQyxZQUFZLElBQUksWUFBWSxDQUFDLFFBQVEsSUFBSSxZQUFZLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQztpQkFDbEc7Z0JBQ0QsTUFBTTtnQkFDTixLQUFLO2dCQUNMLE9BQU87YUFDUixFQUFFO2dCQUNELEdBQUc7Z0JBQ0gsSUFBSTtnQkFDSixPQUFPO2dCQUNQLE1BQU07YUFDUCxDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7SUFFTyxTQUFTLENBQUMsTUFBeUIsRUFBRSxJQUF3QixFQUFFLDBCQUFtQztRQUN4RyxJQUFJLE1BQXlCLENBQUM7UUFHOUIsSUFBSSxDQUFDLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUU7WUFFckQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDO1NBQ3pDO1FBQ0QsSUFBSSxDQUFDLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFO1lBRWhFLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7U0FDcEQ7UUFDRCxJQUFJLENBQUMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUU7WUFFeEUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQztTQUM1RDtRQUdELE1BQU0sc0JBQXNCLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQVcsQ0FBQyxDQUFDLE1BQU0sQ0FBQztZQUNsSCxDQUFDLDBCQUEwQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3ZDLElBQUksMEJBQTBCLElBQUksQ0FBQyxzQkFBc0IsS0FBSyxDQUFDLENBQUMsRUFBRTtZQUNoRSxPQUFPLE1BQU0sQ0FBQztTQUNmO1FBRUQsSUFBSSxDQUFDLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLEVBQUU7WUFFaEcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLHNCQUFzQixDQUFDLEdBQXNCO2dCQUNqRyxPQUFPLEVBQUUsSUFBSSxPQUFPLEVBQUU7Z0JBQ3RCLElBQUksRUFBRSxLQUFLLENBQUM7YUFDYixDQUFDO1NBQ0g7UUFFRCxNQUFNLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLHNCQUFzQixDQUFDLENBQUM7UUFFdkYsSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxFQUFFO1lBQzFCLElBQUksV0FBVyxDQUFDLEtBQUssS0FBSyxNQUFNLENBQUMsZ0JBQWdCLEVBQUU7Z0JBQ2pELFdBQVcsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDO2FBQ3ZCO1lBRUQsTUFBTSxLQUFLLEdBQVcsV0FBVyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQzFDLE1BQU0sQ0FBQyxFQUFFLEdBQUcsS0FBSyxDQUFDO1lBQ2xCLE1BQU0sT0FBTyxHQUFpQixNQUFNLENBQUMsT0FBTyxDQUFDO1lBQzdDLE9BQU8sQ0FBQyxRQUFRLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQyxtQ0FBbUM7WUFFOUQsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxJQUFJLENBQUM7WUFDeEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsR0FBRyxPQUFPLENBQUM7WUFFcEMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxJQUFJLFVBQVUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFO2dCQUlqRSxRQUFRLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRTtvQkFFaEIsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUMsVUFBVSxDQUFDLEVBQUU7d0JBQzFDLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUMsVUFBVSxDQUFDLEdBQUcsSUFBSSxDQUFDO3dCQUM3QyxJQUFJLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxVQUFVLEVBQUU7NEJBQzdELElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsNkNBQTZDLENBQUMsQ0FBQzt5QkFDcEY7cUJBQ0Y7eUJBQU07cUJBRU47Z0JBQ0gsQ0FBQyxDQUFDLENBQUE7Z0JBQ0YsTUFBTSxHQUFHLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQztvQkFDNUIsSUFBSSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7b0JBQzNCLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO29CQUM3QixRQUFRLEVBQUUsR0FBRyxFQUFFO3dCQUNiLEdBQUcsQ0FBQyxXQUFXLEVBQUUsQ0FBQzt3QkFDbEIsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFBO29CQUNyQixDQUFDO2lCQUNGLENBQUMsQ0FBQztZQUNMLENBQUMsQ0FBQyxDQUFDO1NBY0o7UUFFRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBS08sVUFBVSxDQUNoQixNQUF5QixFQUN6QixHQUFXLEVBQ1gsSUFBWSxFQUNaLE9BQW9CLEVBQ3BCLElBQXdCLEVBQ3hCLE9BQWdCLEVBQ2hCLFFBQXlCO1FBRXpCLE1BQU0sTUFBTSxHQUFzQixJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDdEUsTUFBTSxDQUFDLElBQUksR0FBRyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxDQUFDO1FBRTlDLENBQUMsQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLEVBQUU7WUFFbkUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQztRQUN4RixDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQyxFQUFFLEVBQUUsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFBO1FBRWxFLE1BQU0sSUFBSSxHQUFxQyxjQUFjLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBUSxDQUFDO1FBQ2hHLElBQUksQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM1QyxJQUFJLENBQUMsS0FBSyxHQUFHLFlBQVksQ0FBQyxNQUFNLENBQUM7WUFDL0IsSUFBSTtZQUNKLE9BQU87WUFDUCxNQUFNO1lBQ04sR0FBRztTQUNKLENBQUMsQ0FBQztRQUNILE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELEdBQUcsQ0FDRCxHQUFXLEVBQ1gsSUFBWSxFQUNaLE9BQW9CLEVBQ3BCLElBQXdCLEVBQ3hCLE9BQWdCLEVBQUUsUUFBeUI7UUFFM0MsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQzdFLENBQUM7SUFFRCxJQUFJLENBQ0YsR0FBVyxFQUNYLElBQVksRUFDWixPQUFvQixFQUNwQixJQUF3QixFQUN4QixPQUFnQixFQUFFLFFBQXlCO1FBRTNDLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxRQUFRLENBQUMsQ0FBQztJQUM5RSxDQUFDO0lBRUQsTUFBTSxDQUNKLEdBQVcsRUFDWCxJQUFZLEVBQ1osT0FBb0IsRUFDcEIsSUFBd0IsRUFDeEIsT0FBZ0IsRUFDaEIsUUFBeUI7UUFDekIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ2hGLENBQUM7SUFFRCxJQUFJLENBQ0YsR0FBVyxFQUNYLElBQVksRUFDWixPQUFvQixFQUNwQixJQUF3QixFQUN4QixPQUFnQixFQUNoQixRQUF5QjtRQUV6QixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDOUUsQ0FBQztJQUVELEdBQUcsQ0FDRCxHQUFXLEVBQ1gsSUFBWSxFQUNaLE9BQW9CLEVBQ3BCLElBQXdCLEVBQ3hCLE9BQWdCLEVBQ2hCLFFBQXlCO1FBRXpCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxRQUFRLENBQUMsQ0FBQztJQUM3RSxDQUFDO0lBRUQsS0FBSyxDQUNILEdBQVcsRUFDWCxJQUFZLEVBQ1osT0FBb0IsRUFDcEIsSUFBd0IsRUFDeEIsT0FBZ0IsRUFDaEIsUUFBeUI7UUFFekIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQy9FLENBQUM7SUFFRCxLQUFLLENBQ0gsR0FBVyxFQUNYLElBQVksRUFDWixPQUFvQixFQUNwQixJQUF3QixFQUN4QixPQUFnQixFQUNoQixRQUF5QjtRQUd6QixNQUFNLE1BQU0sR0FBc0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3ZFLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDeEIsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFBO1FBQ3RCLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLEdBQUcsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDO2dCQUFFLEdBQUcsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFBO1lBQ3pELElBQUksR0FBRyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO1lBQzVDLElBQUksa0JBQWtCLEdBQUcsS0FBSyxHQUFHLEdBQUcsQ0FBQztZQUNyQyxNQUFNLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxFQUFFO2dCQUNwQyxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUM7b0JBQ2xCLEdBQUc7b0JBQ0gsSUFBSTtvQkFDSixPQUFPO29CQUNQLE1BQU07aUJBQ1AsRUFBRSxLQUFLLENBQUMsRUFBRTtvQkFDVCxPQUFPO2lCQUNSO2dCQUNELElBQUksQ0FBQyxhQUFhLENBQUM7b0JBQ2pCLEdBQUcsRUFBRTt3QkFDSCxJQUFJLEVBQUUsT0FBTztxQkFDZDtvQkFDRCxNQUFNO29CQUNOLEtBQUs7b0JBQ0wsT0FBTztpQkFDUixFQUFFO29CQUNELEdBQUc7b0JBQ0gsSUFBSTtvQkFDSixPQUFPO29CQUNQLE1BQU07aUJBQ1AsQ0FBQyxDQUFBO1lBQ0osQ0FBQyxDQUFBO1lBQ0QsSUFBSSxFQUFFLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUMxQyxFQUFFLENBQUMsR0FBRyxHQUFHLEdBQUcsR0FBRyxhQUFhLGtCQUFrQixFQUFFLENBQUM7WUFDakQsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDOUIsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDaEMsQ0FBQyxDQUFDLENBQUE7UUFFRixNQUFNLElBQUksR0FBcUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQVEsQ0FBQztRQUNoRyxJQUFJLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDNUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFBO1FBQ3pDLElBQUksQ0FBQyxLQUFLLEdBQUcsWUFBWSxDQUFDLE1BQU0sQ0FBQztZQUMvQixJQUFJO1lBQ0osT0FBTztZQUNQLE1BQU07WUFDTixHQUFHO1NBQ0osQ0FBQyxDQUFBO1FBQ0YsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBR00sTUFBTSxDQUFDLE1BQXlCLEVBQUUsSUFBd0I7UUFDL0QsTUFBTSxNQUFNLEdBQXNCLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNyRSxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRTtZQUMzQixPQUFPLENBQUMsSUFBSSxDQUFDLHNCQUFzQixNQUFNLGlCQUFpQixJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1lBQ3hGLE9BQU87U0FDUjtRQUFBLENBQUM7UUFDRixJQUFJLE1BQU0sSUFBSSxNQUFNLENBQUMsT0FBTyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUM7WUFDckUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUN2QyxPQUFPLENBQUMsSUFBSSxDQUFDLHNCQUFzQixNQUFNLGlCQUFpQixJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1lBQ3hGLE9BQU87U0FDUjtRQUNELE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDO1FBQzVCLE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBQ3BDLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQzlCLE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBQ3BDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLENBQUMsRUFBRSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUE7SUFDNUUsQ0FBQzs7U0E3YlUsV0FBVztBQWljdkIsQ0FBQztBQUFBLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyx5REFBeUQiLCJzb3VyY2VzQ29udGVudCI6WyJcblxuaW1wb3J0IHsgZmlyc3RWYWx1ZUZyb20sIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgXyB9IGZyb20gJ3RucC1jb3JlL2Jyb3dzZXInO1xuXG5pbXBvcnQgeyBNb2RlbHMgfSBmcm9tICcuL21vZGVscyc7XG5pbXBvcnQgeyBSZXN0SGVhZGVycyB9IGZyb20gJy4vcmVzdC1oZWFkZXJzJztcblxuaW1wb3J0IHsgSGVscGVycyB9IGZyb20gJ3RucC1jb3JlL2Jyb3dzZXInO1xuaW1wb3J0IHsgTGV2ZWwgfSBmcm9tICduZzItbG9nZ2VyL2Jyb3dzZXInO1xuaW1wb3J0IGF4aW9zLCB7IEF4aW9zUmVzcG9uc2UgfSBmcm9tICdheGlvcyc7XG5pbXBvcnQgeyBSZXNvdXJjZSB9IGZyb20gJy4vcmVzb3VyY2Utc2VydmljZSc7XG5pbXBvcnQgeyBMb2csIExvZ2dlciB9IGZyb20gJ25nMi1sb2dnZXIvYnJvd3Nlcic7XG5cbmltcG9ydCB7IFJlcXVlc3RDYWNoZSB9IGZyb20gJy4vcmVxdWVzdC1jYWNoZSc7XG5jb25zdCBsb2cgPSBMb2cuY3JlYXRlKCdbbmcyLXJlc3RdIHJlc3QtcmVxdWVzdCdcbiAgLCBMZXZlbC5fX05PVEhJTkdcbilcblxuY29uc3Qgam9iSURrZXkgPSAnam9iSUQnO1xuY29uc3QgY3VzdG9tT2JzID0gJ2N1c3RvbU9icyc7XG5jb25zdCBjYW5jZWxGbiA9ICdjYW5jZWxGbic7XG5jb25zdCBpc0NhbmNlbGVkID0gJ2lzQ2FuY2VsZWQnO1xuXG5cblxuXG5leHBvcnQgY2xhc3MgUmVzdFJlcXVlc3Qge1xuXG4gIHB1YmxpYyBzdGF0aWMgem9uZTtcbiAgcHJpdmF0ZSBzdGF0aWMgam9iSWQgPSAwO1xuICBwcml2YXRlIHN1YmplY3RJbnVVc2U6IHsgW2lkOiBudW1iZXJdOiBTdWJqZWN0PGFueT4gfSA9IHt9O1xuICBwcml2YXRlIG1ldGE6IHsgW2lkOiBudW1iZXJdOiBNb2RlbHMuTWV0YVJlcXVlc3QgfSA9IHt9O1xuXG5cbiAgcHJpdmF0ZSBoYW5kbGVyUmVzdWx0KG9wdGlvbnM6IE1vZGVscy5IYW5kbGVSZXN1bHRPcHRpb25zLFxuICAgIHNvdXJjZVJlcXVlc3Q6IE1vZGVscy5IYW5kbGVSZXN1bHRTb3VyY2VSZXF1ZXN0T3B0aW9ucykge1xuICAgIGlmIChfLmlzVW5kZWZpbmVkKG9wdGlvbnMpKSB7XG4gICAgICBvcHRpb25zID0ge30gYXMgYW55O1xuICAgIH1cblxuICAgIGNvbnN0IHsgcmVzLCBqb2JpZCwgaXNBcnJheSwgbWV0aG9kIH0gPSBvcHRpb25zO1xuXG4gICAgaWYgKHR5cGVvZiByZXMgIT09ICdvYmplY3QnKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ05vIHJlc3Bvc25zZSBmb3IgcmVxdWVzdC4gJyk7XG4gICAgfVxuXG4gICAgaWYgKEhlbHBlcnMuaXNCcm93c2VyKSB7XG4gICAgICByZXMuaGVhZGVycyA9IFJlc3RIZWFkZXJzLmZyb20ocmVzLmhlYWRlcnMpO1xuICAgIH1cblxuXG4gICAgaWYgKHJlcy5lcnJvcikge1xuICAgICAgdGhpcy5zdWJqZWN0SW51VXNlW2pvYmlkXS5lcnJvcihuZXcgTW9kZWxzLkh0dHBSZXNwb25zZUVycm9yKHJlcy5lcnJvciwgcmVzLmRhdGEsIHJlcy5oZWFkZXJzLCByZXMuY29kZSwgam9iaWQpKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgZW50aXR5ID0gdGhpcy5tZXRhW2pvYmlkXS5lbnRpdHk7XG4gICAgY29uc3QgY2lyY3VsYXIgPSB0aGlzLm1ldGFbam9iaWRdLmNpcmN1bGFyO1xuXG4gICAgY29uc3Qgc3VjY2VzcyA9IChSZXNvdXJjZVsnX2xpc3RlblN1Y2Nlc3MnXSBhcyBTdWJqZWN0PE1vZGVscy5IdHRwUmVzcG9uc2U8YW55Pj4pXG5cbiAgICBjb25zdCByZXFSZXNwID0gbmV3IE1vZGVscy5IdHRwUmVzcG9uc2Uoc291cmNlUmVxdWVzdCwgcmVzLmRhdGEsIHJlcy5oZWFkZXJzLCByZXMuY29kZSwgZW50aXR5LCBjaXJjdWxhciwgam9iaWQsIGlzQXJyYXkpO1xuICAgIHN1Y2Nlc3MubmV4dChyZXFSZXNwKTtcblxuICAgIHRoaXMuc3ViamVjdEludVVzZVtqb2JpZF0ubmV4dChyZXFSZXNwKTtcbiAgICB0aGlzLm1ldGFbam9iaWRdID0gdm9pZCAwO1xuICAgIHRoaXMuc3ViamVjdEludVVzZVtqb2JpZF0uY29tcGxldGUoKTtcbiAgfVxuICBjaGVja0NhY2hlKHNvdXJjZVJlcXVlc3Q6IE1vZGVscy5IYW5kbGVSZXN1bHRTb3VyY2VSZXF1ZXN0T3B0aW9ucywgam9iaWQ6IG51bWJlcikge1xuICAgIGNvbnN0IGV4aXN0ZWRJbkNhY2hlID0gUmVxdWVzdENhY2hlLmZpbmRCeShzb3VyY2VSZXF1ZXN0KTtcbiAgICBpZiAoZXhpc3RlZEluQ2FjaGUpIHtcblxuICAgICAgY29uc3Qgc3VjY2VzcyA9IChSZXNvdXJjZVsnX2xpc3RlblN1Y2Nlc3MnXSBhcyBTdWJqZWN0PE1vZGVscy5IdHRwUmVzcG9uc2U8YW55Pj4pO1xuICAgICAgc3VjY2Vzcy5uZXh0KGV4aXN0ZWRJbkNhY2hlLnJlc3BvbnNlKTtcbiAgICAgIHRoaXMuc3ViamVjdEludVVzZVtqb2JpZF0ubmV4dChleGlzdGVkSW5DYWNoZSk7XG4gICAgICB0aGlzLnN1YmplY3RJbnVVc2Vbam9iaWRdLmNvbXBsZXRlKCk7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHJlcShcbiAgICB1cmw6IHN0cmluZyxcbiAgICBtZXRob2Q6IE1vZGVscy5IdHRwTWV0aG9kLFxuICAgIGhlYWRlcnM/OiBSZXN0SGVhZGVycyxcbiAgICBib2R5PzogYW55LFxuICAgIGpvYmlkPzogbnVtYmVyLFxuICAgIGlzQXJyYXkgPSBmYWxzZSxcbiAgICBtb2NrSHR0cD86IE1vZGVscy5Nb2NrSHR0cFxuICApIHtcbiAgICBpZiAodGhpcy5jaGVja0NhY2hlKHtcbiAgICAgIHVybCxcbiAgICAgIGJvZHksXG4gICAgICBpc0FycmF5LFxuICAgICAgbWV0aG9kXG4gICAgfSwgam9iaWQpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgQ2FuY2VsVG9rZW4gPSBheGlvcy5DYW5jZWxUb2tlbjtcbiAgICBjb25zdCBzb3VyY2UgPSBDYW5jZWxUb2tlbi5zb3VyY2UoKTtcbiAgICB0aGlzLnN1YmplY3RJbnVVc2Vbam9iaWRdW2NhbmNlbEZuXSA9IHNvdXJjZS5jYW5jZWw7XG5cbiAgICB2YXIgcmVzcG9uc2U6IEF4aW9zUmVzcG9uc2U8YW55PjtcbiAgICBpZiAobW9ja0h0dHApIHtcblxuICAgICAgaWYgKHR5cGVvZiBtb2NrSHR0cCA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgcmVzcG9uc2UgPSB7XG4gICAgICAgICAgZGF0YTogbW9ja0h0dHAuZGF0YSxcbiAgICAgICAgICBzdGF0dXM6IG1vY2tIdHRwLmNvZGUsXG4gICAgICAgICAgaGVhZGVyczogbW9ja0h0dHAuaGVhZGVycyBhcyBhbnksXG4gICAgICAgICAgc3RhdHVzVGV4dDogbW9ja0h0dHAuZXJyb3IsXG4gICAgICAgICAgY29uZmlnOiB7fSBhcyBhbnlcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmICh0eXBlb2YgbW9ja0h0dHAgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgY29uc3QgciA9IG1vY2tIdHRwKHVybCwgbWV0aG9kLCBoZWFkZXJzLCBib2R5KTtcbiAgICAgICAgcmVzcG9uc2UgPSB7XG4gICAgICAgICAgZGF0YTogci5kYXRhLFxuICAgICAgICAgIHN0YXR1czogci5jb2RlLFxuICAgICAgICAgIGhlYWRlcnM6IHIuaGVhZGVycyBhcyBhbnksXG4gICAgICAgICAgc3RhdHVzVGV4dDogci5lcnJvcixcbiAgICAgICAgICBjb25maWc6IHt9IGFzIGFueVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG5cbiAgICBjb25zdCBoZWFkZXJzSnNvbiA9IGhlYWRlcnMudG9KU09OKCk7XG4gICAgY29uc3QgcmVzcG9uc2VUeXBlID0gaGVhZGVyc0pzb24ucmVzcG9uc2V0eXBlYXhpb3MgPyBoZWFkZXJzSnNvbi5yZXNwb25zZXR5cGVheGlvcyA6ICd0ZXh0JztcblxuICAgIHRyeSB7XG4gICAgICBpZiAoIXJlc3BvbnNlKSB7XG5cblxuXG5cbiAgICAgICAgcmVzcG9uc2UgPSBhd2FpdCBheGlvcyh7XG4gICAgICAgICAgdXJsLFxuICAgICAgICAgIG1ldGhvZCxcbiAgICAgICAgICBkYXRhOiBib2R5LFxuICAgICAgICAgIHJlc3BvbnNlVHlwZSxcbiAgICAgICAgICBoZWFkZXJzOiBoZWFkZXJzSnNvbixcbiAgICAgICAgICBjYW5jZWxUb2tlbjogc291cmNlLnRva2VuLFxuXG4gICAgICAgIH0pO1xuXG4gICAgICB9XG5cblxuXG4gICAgICBpZiAodGhpcy5zdWJqZWN0SW51VXNlW2pvYmlkXVtpc0NhbmNlbGVkXSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHRoaXMuaGFuZGxlclJlc3VsdCh7XG4gICAgICAgIHJlczoge1xuICAgICAgICAgIGNvZGU6IHJlc3BvbnNlLnN0YXR1cyBhcyBhbnksXG4gICAgICAgICAgZGF0YTogcmVzcG9uc2UuZGF0YSxcbiAgICAgICAgICBpc0FycmF5LFxuICAgICAgICAgIGpvYmlkLFxuICAgICAgICAgIGhlYWRlcnM6IFJlc3RIZWFkZXJzLmZyb20ocmVzcG9uc2UuaGVhZGVycyBhcyBhbnkpXG4gICAgICAgIH0sXG4gICAgICAgIG1ldGhvZCxcbiAgICAgICAgam9iaWQsXG4gICAgICAgIGlzQXJyYXlcbiAgICAgIH0sIHtcbiAgICAgICAgdXJsLFxuICAgICAgICBib2R5LFxuICAgICAgICBtZXRob2QsXG4gICAgICAgIGlzQXJyYXksXG4gICAgICB9KTtcbiAgICB9IGNhdGNoIChjYXRjaGVkRXJyb3IpIHtcbiAgICAgIGlmICh0aGlzLnN1YmplY3RJbnVVc2Vbam9iaWRdW2lzQ2FuY2VsZWRdKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuXG4gICAgICBpZiAodHlwZW9mIGNhdGNoZWRFcnJvciA9PT0gJ29iamVjdCcgJiYgY2F0Y2hlZEVycm9yLnJlc3BvbnNlICYmIGNhdGNoZWRFcnJvci5yZXNwb25zZS5kYXRhKSB7XG4gICAgICAgIGNvbnN0IGVyciA9IGNhdGNoZWRFcnJvci5yZXNwb25zZS5kYXRhO1xuICAgICAgICBjb25zdCBtc2c6IHN0cmluZyA9IGNhdGNoZWRFcnJvci5yZXNwb25zZS5kYXRhLm1lc3NhZ2UgfHwgJyc7XG5cblxuXG4gICAgICAgIGxldCBzdGFjazogc3RyaW5nW10gPSAoZXJyLnN0YWNrIHx8ICcnKS5zcGxpdCgnXFxuJyk7XG5cbiAgICAgICAgY29uc3QgZXJyT2JzID0gKFJlc291cmNlWydfbGlzdGVuRXJyb3JzJ10gYXMgU3ViamVjdDxNb2RlbHMuQmFja2VuZEVycm9yPik7XG4gICAgICAgIGVyck9icy5uZXh0KHtcbiAgICAgICAgICBtc2csXG4gICAgICAgICAgc3RhY2ssXG4gICAgICAgICAgZGF0YTogY2F0Y2hlZEVycm9yLnJlc3BvbnNlLmRhdGFcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICBjb25zdCBlcnJvciA9IChjYXRjaGVkRXJyb3IgJiYgY2F0Y2hlZEVycm9yLnJlc3BvbnNlKSA/IGBbJHtjYXRjaGVkRXJyb3IucmVzcG9uc2Uuc3RhdHVzVGV4dH1dOiBgIDogJyc7XG4gICAgICB0aGlzLmhhbmRsZXJSZXN1bHQoe1xuICAgICAgICByZXM6IHtcbiAgICAgICAgICBjb2RlOiAoY2F0Y2hlZEVycm9yICYmIGNhdGNoZWRFcnJvci5yZXNwb25zZSkgPyBjYXRjaGVkRXJyb3IucmVzcG9uc2Uuc3RhdHVzIGFzIGFueSA6IHZvaWQgMCxcbiAgICAgICAgICBlcnJvcjogYCR7ZXJyb3J9JHtjYXRjaGVkRXJyb3IubWVzc2FnZX1gLFxuICAgICAgICAgIGRhdGE6IChjYXRjaGVkRXJyb3IgJiYgY2F0Y2hlZEVycm9yLnJlc3BvbnNlKSA/IEpTT04uc3RyaW5naWZ5KGNhdGNoZWRFcnJvci5yZXNwb25zZS5kYXRhKSA6IHZvaWQgMCxcbiAgICAgICAgICBpc0FycmF5LFxuICAgICAgICAgIGpvYmlkLFxuICAgICAgICAgIGhlYWRlcnM6IFJlc3RIZWFkZXJzLmZyb20oY2F0Y2hlZEVycm9yICYmIGNhdGNoZWRFcnJvci5yZXNwb25zZSAmJiBjYXRjaGVkRXJyb3IucmVzcG9uc2UuaGVhZGVycylcbiAgICAgICAgfSxcbiAgICAgICAgbWV0aG9kLFxuICAgICAgICBqb2JpZCxcbiAgICAgICAgaXNBcnJheVxuICAgICAgfSwge1xuICAgICAgICB1cmwsXG4gICAgICAgIGJvZHksXG4gICAgICAgIGlzQXJyYXksXG4gICAgICAgIG1ldGhvZFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRSZXBsYXkobWV0aG9kOiBNb2RlbHMuSHR0cE1ldGhvZCwgbWV0YTogTW9kZWxzLk1ldGFSZXF1ZXN0LCBvbmx5R2V0TGFzdFJlcGxheUZvck1ldGhvZDogYm9vbGVhbik6IE1vZGVscy5SZXBsYXlEYXRhIHtcbiAgICBsZXQgcmVwbGF5OiBNb2RlbHMuUmVwbGF5RGF0YTtcblxuXG4gICAgaWYgKF8uaXNVbmRlZmluZWQodGhpcy5yZXBsYXlTdWJqZWN0c1ttZXRhLmVuZHBvaW50XSkpIHtcblxuICAgICAgdGhpcy5yZXBsYXlTdWJqZWN0c1ttZXRhLmVuZHBvaW50XSA9IHt9O1xuICAgIH1cbiAgICBpZiAoXy5pc1VuZGVmaW5lZCh0aGlzLnJlcGxheVN1YmplY3RzW21ldGEuZW5kcG9pbnRdW21ldGEucGF0aF0pKSB7XG5cbiAgICAgIHRoaXMucmVwbGF5U3ViamVjdHNbbWV0YS5lbmRwb2ludF1bbWV0YS5wYXRoXSA9IHt9O1xuICAgIH1cbiAgICBpZiAoXy5pc1VuZGVmaW5lZCh0aGlzLnJlcGxheVN1YmplY3RzW21ldGEuZW5kcG9pbnRdW21ldGEucGF0aF1bbWV0aG9kXSkpIHtcblxuICAgICAgdGhpcy5yZXBsYXlTdWJqZWN0c1ttZXRhLmVuZHBvaW50XVttZXRhLnBhdGhdW21ldGhvZF0gPSB7fTtcbiAgICB9XG5cblxuICAgIGNvbnN0IG9iamVjdElEVG9DcmVhdGVPckxhc3QgPSAoT2JqZWN0LmtleXModGhpcy5yZXBsYXlTdWJqZWN0c1ttZXRhLmVuZHBvaW50XVttZXRhLnBhdGhdW21ldGhvZF0gYXMgT2JqZWN0KS5sZW5ndGgpICtcbiAgICAgIChvbmx5R2V0TGFzdFJlcGxheUZvck1ldGhvZCA/IDAgOiAxKTtcbiAgICBpZiAob25seUdldExhc3RSZXBsYXlGb3JNZXRob2QgJiYgKG9iamVjdElEVG9DcmVhdGVPckxhc3QgPT09IDApKSB7XG4gICAgICByZXR1cm4gcmVwbGF5O1xuICAgIH1cblxuICAgIGlmIChfLmlzVW5kZWZpbmVkKHRoaXMucmVwbGF5U3ViamVjdHNbbWV0YS5lbmRwb2ludF1bbWV0YS5wYXRoXVttZXRob2RdW29iamVjdElEVG9DcmVhdGVPckxhc3RdKSkge1xuXG4gICAgICB0aGlzLnJlcGxheVN1YmplY3RzW21ldGEuZW5kcG9pbnRdW21ldGEucGF0aF1bbWV0aG9kXVtvYmplY3RJRFRvQ3JlYXRlT3JMYXN0XSA9IDxNb2RlbHMuUmVwbGF5RGF0YT57XG4gICAgICAgIHN1YmplY3Q6IG5ldyBTdWJqZWN0KCksXG4gICAgICAgIGRhdGE6IHZvaWQgMCxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgcmVwbGF5ID0gdGhpcy5yZXBsYXlTdWJqZWN0c1ttZXRhLmVuZHBvaW50XVttZXRhLnBhdGhdW21ldGhvZF1bb2JqZWN0SURUb0NyZWF0ZU9yTGFzdF07XG5cbiAgICBpZiAoIV8uaXNOdW1iZXIocmVwbGF5LmlkKSkge1xuICAgICAgaWYgKFJlc3RSZXF1ZXN0LmpvYklkID09PSBOdW1iZXIuTUFYX1NBRkVfSU5URUdFUikge1xuICAgICAgICBSZXN0UmVxdWVzdC5qb2JJZCA9IDA7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGpvYmlkOiBudW1iZXIgPSBSZXN0UmVxdWVzdC5qb2JJZCsrO1xuICAgICAgcmVwbGF5LmlkID0gam9iaWQ7XG4gICAgICBjb25zdCBzdWJqZWN0OiBTdWJqZWN0PGFueT4gPSByZXBsYXkuc3ViamVjdDtcbiAgICAgIHN1YmplY3Rbam9iSURrZXldID0gam9iaWQ7IC8vIG1vZGlmeSBpbnRlcm5hbCByeGpzIHN1YmplY3Qgb2JqXG5cbiAgICAgIHRoaXMubWV0YVtqb2JpZF0gPSBtZXRhO1xuICAgICAgdGhpcy5zdWJqZWN0SW51VXNlW2pvYmlkXSA9IHN1YmplY3Q7XG5cbiAgICAgIHRoaXMuc3ViamVjdEludVVzZVtqb2JpZF1bY3VzdG9tT2JzXSA9IG5ldyBPYnNlcnZhYmxlKChvYnNlcnZlcikgPT4ge1xuXG5cblxuICAgICAgICBvYnNlcnZlci5hZGQoKCkgPT4ge1xuXG4gICAgICAgICAgaWYgKCF0aGlzLnN1YmplY3RJbnVVc2Vbam9iaWRdW2lzQ2FuY2VsZWRdKSB7XG4gICAgICAgICAgICB0aGlzLnN1YmplY3RJbnVVc2Vbam9iaWRdW2lzQ2FuY2VsZWRdID0gdHJ1ZTtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgdGhpcy5zdWJqZWN0SW51VXNlW2pvYmlkXVtjYW5jZWxGbl0gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgICAgdGhpcy5zdWJqZWN0SW51VXNlW2pvYmlkXVtjYW5jZWxGbl0oJ1tuZzItcmVzdF0gb24gcHVycG9zZSBjYW5jZWxlZCBodHRwIHJlcXVlc3QnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2Uge1xuXG4gICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgICBjb25zdCBzdWIgPSBzdWJqZWN0LnN1YnNjcmliZSh7XG4gICAgICAgICAgbmV4dDogYSA9PiBvYnNlcnZlci5uZXh0KGEpLFxuICAgICAgICAgIGVycm9yOiBhID0+IG9ic2VydmVyLmVycm9yKGEpLFxuICAgICAgICAgIGNvbXBsZXRlOiAoKSA9PiB7XG4gICAgICAgICAgICBzdWIudW5zdWJzY3JpYmUoKTtcbiAgICAgICAgICAgIG9ic2VydmVyLmNvbXBsZXRlKClcbiAgICAgICAgICB9LFxuICAgICAgICB9KTtcbiAgICAgIH0pO1xuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG4gICAgfVxuXG4gICAgcmV0dXJuIHJlcGxheTtcbiAgfVxuXG5cblxuXG4gIHByaXZhdGUgZ2VuZXJhbFJlcShcbiAgICBtZXRob2Q6IE1vZGVscy5IdHRwTWV0aG9kLFxuICAgIHVybDogc3RyaW5nLFxuICAgIGJvZHk6IHN0cmluZyxcbiAgICBoZWFkZXJzOiBSZXN0SGVhZGVycyxcbiAgICBtZXRhOiBNb2RlbHMuTWV0YVJlcXVlc3QsXG4gICAgaXNBcnJheTogYm9vbGVhbixcbiAgICBtb2NrSHR0cDogTW9kZWxzLk1vY2tIdHRwKTogTW9kZWxzLlByb21pc2VPYnNlcnZhYmxlTWl4PGFueT4ge1xuXG4gICAgY29uc3QgcmVwbGF5OiBNb2RlbHMuUmVwbGF5RGF0YSA9IHRoaXMuZ2V0UmVwbGF5KG1ldGhvZCwgbWV0YSwgZmFsc2UpO1xuICAgIHJlcGxheS5kYXRhID0geyB1cmwsIGJvZHksIGhlYWRlcnMsIGlzQXJyYXkgfTtcblxuICAgICgocHRoaXMsIHB1cmwsIHBtZXRob2QsIHBoZWFkZXJzLCBwYm9keSwgcGlkLCBwaXNBcnJheSwgcG1vY2tIdHRwKSA9PiB7XG5cbiAgICAgIHNldFRpbWVvdXQoKCkgPT4gcHRoaXMucmVxKHB1cmwsIHBtZXRob2QsIHBoZWFkZXJzLCBwYm9keSwgcGlkLCBwaXNBcnJheSwgcG1vY2tIdHRwKSk7XG4gICAgfSkodGhpcywgdXJsLCBtZXRob2QsIGhlYWRlcnMsIGJvZHksIHJlcGxheS5pZCwgaXNBcnJheSwgbW9ja0h0dHApXG5cbiAgICBjb25zdCByZXNwOiBNb2RlbHMuUHJvbWlzZU9ic2VydmFibGVNaXg8YW55PiA9IGZpcnN0VmFsdWVGcm9tKHJlcGxheS5zdWJqZWN0W2N1c3RvbU9ic10pIGFzIGFueTtcbiAgICByZXNwLm9ic2VydmFibGUgPSByZXBsYXkuc3ViamVjdFtjdXN0b21PYnNdO1xuICAgIHJlc3AuY2FjaGUgPSBSZXF1ZXN0Q2FjaGUuZmluZEJ5KHtcbiAgICAgIGJvZHksXG4gICAgICBpc0FycmF5LFxuICAgICAgbWV0aG9kLFxuICAgICAgdXJsXG4gICAgfSk7XG4gICAgcmV0dXJuIHJlc3A7XG4gIH1cblxuICBnZXQoXG4gICAgdXJsOiBzdHJpbmcsXG4gICAgYm9keTogc3RyaW5nLFxuICAgIGhlYWRlcnM6IFJlc3RIZWFkZXJzLFxuICAgIG1ldGE6IE1vZGVscy5NZXRhUmVxdWVzdCxcbiAgICBpc0FycmF5OiBib29sZWFuLCBtb2NrSHR0cDogTW9kZWxzLk1vY2tIdHRwXG4gICk6IE1vZGVscy5Qcm9taXNlT2JzZXJ2YWJsZU1peDxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5nZW5lcmFsUmVxKCdnZXQnLCB1cmwsIGJvZHksIGhlYWRlcnMsIG1ldGEsIGlzQXJyYXksIG1vY2tIdHRwKTtcbiAgfVxuXG4gIGhlYWQoXG4gICAgdXJsOiBzdHJpbmcsXG4gICAgYm9keTogc3RyaW5nLFxuICAgIGhlYWRlcnM6IFJlc3RIZWFkZXJzLFxuICAgIG1ldGE6IE1vZGVscy5NZXRhUmVxdWVzdCxcbiAgICBpc0FycmF5OiBib29sZWFuLCBtb2NrSHR0cDogTW9kZWxzLk1vY2tIdHRwXG4gICk6IE1vZGVscy5Qcm9taXNlT2JzZXJ2YWJsZU1peDxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5nZW5lcmFsUmVxKCdoZWFkJywgdXJsLCBib2R5LCBoZWFkZXJzLCBtZXRhLCBpc0FycmF5LCBtb2NrSHR0cCk7XG4gIH1cblxuICBkZWxldGUoXG4gICAgdXJsOiBzdHJpbmcsXG4gICAgYm9keTogc3RyaW5nLFxuICAgIGhlYWRlcnM6IFJlc3RIZWFkZXJzLFxuICAgIG1ldGE6IE1vZGVscy5NZXRhUmVxdWVzdCxcbiAgICBpc0FycmF5OiBib29sZWFuLFxuICAgIG1vY2tIdHRwOiBNb2RlbHMuTW9ja0h0dHApOiBNb2RlbHMuUHJvbWlzZU9ic2VydmFibGVNaXg8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuZ2VuZXJhbFJlcSgnZGVsZXRlJywgdXJsLCBib2R5LCBoZWFkZXJzLCBtZXRhLCBpc0FycmF5LCBtb2NrSHR0cCk7XG4gIH1cblxuICBwb3N0KFxuICAgIHVybDogc3RyaW5nLFxuICAgIGJvZHk6IHN0cmluZyxcbiAgICBoZWFkZXJzOiBSZXN0SGVhZGVycyxcbiAgICBtZXRhOiBNb2RlbHMuTWV0YVJlcXVlc3QsXG4gICAgaXNBcnJheTogYm9vbGVhbixcbiAgICBtb2NrSHR0cDogTW9kZWxzLk1vY2tIdHRwXG4gICk6IE1vZGVscy5Qcm9taXNlT2JzZXJ2YWJsZU1peDxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5nZW5lcmFsUmVxKCdwb3N0JywgdXJsLCBib2R5LCBoZWFkZXJzLCBtZXRhLCBpc0FycmF5LCBtb2NrSHR0cCk7XG4gIH1cblxuICBwdXQoXG4gICAgdXJsOiBzdHJpbmcsXG4gICAgYm9keTogc3RyaW5nLFxuICAgIGhlYWRlcnM6IFJlc3RIZWFkZXJzLFxuICAgIG1ldGE6IE1vZGVscy5NZXRhUmVxdWVzdCxcbiAgICBpc0FycmF5OiBib29sZWFuLFxuICAgIG1vY2tIdHRwOiBNb2RlbHMuTW9ja0h0dHBcbiAgKTogTW9kZWxzLlByb21pc2VPYnNlcnZhYmxlTWl4PGFueT4ge1xuICAgIHJldHVybiB0aGlzLmdlbmVyYWxSZXEoJ3B1dCcsIHVybCwgYm9keSwgaGVhZGVycywgbWV0YSwgaXNBcnJheSwgbW9ja0h0dHApO1xuICB9XG5cbiAgcGF0Y2goXG4gICAgdXJsOiBzdHJpbmcsXG4gICAgYm9keTogc3RyaW5nLFxuICAgIGhlYWRlcnM6IFJlc3RIZWFkZXJzLFxuICAgIG1ldGE6IE1vZGVscy5NZXRhUmVxdWVzdCxcbiAgICBpc0FycmF5OiBib29sZWFuLFxuICAgIG1vY2tIdHRwOiBNb2RlbHMuTW9ja0h0dHBcbiAgKTogTW9kZWxzLlByb21pc2VPYnNlcnZhYmxlTWl4PGFueT4ge1xuICAgIHJldHVybiB0aGlzLmdlbmVyYWxSZXEoJ3BhdGNoJywgdXJsLCBib2R5LCBoZWFkZXJzLCBtZXRhLCBpc0FycmF5LCBtb2NrSHR0cCk7XG4gIH1cblxuICBqc29ucChcbiAgICB1cmw6IHN0cmluZyxcbiAgICBib2R5OiBzdHJpbmcsXG4gICAgaGVhZGVyczogUmVzdEhlYWRlcnMsXG4gICAgbWV0YTogTW9kZWxzLk1ldGFSZXF1ZXN0LFxuICAgIGlzQXJyYXk6IGJvb2xlYW4sXG4gICAgbW9ja0h0dHA6IE1vZGVscy5Nb2NrSHR0cFxuICApOiBNb2RlbHMuUHJvbWlzZU9ic2VydmFibGVNaXg8YW55PiB7XG5cbiAgICBjb25zdCByZXBsYXk6IE1vZGVscy5SZXBsYXlEYXRhID0gdGhpcy5nZXRSZXBsYXkoJ2pzb25wJywgbWV0YSwgZmFsc2UpO1xuICAgIGNvbnN0IGpvYmlkID0gcmVwbGF5LmlkO1xuICAgIGNvbnN0IG1ldGhvZCA9ICdqc29ucCdcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGlmICh1cmwuZW5kc1dpdGgoJy8nKSkgdXJsID0gdXJsLnNsaWNlKDAsIHVybC5sZW5ndGggLSAxKVxuICAgICAgbGV0IG51bSA9IE1hdGgucm91bmQoMTAwMDAgKiBNYXRoLnJhbmRvbSgpKTtcbiAgICAgIGxldCBjYWxsYmFja01ldGhvZE5hbWUgPSBcImNiX1wiICsgbnVtO1xuICAgICAgd2luZG93W2NhbGxiYWNrTWV0aG9kTmFtZV0gPSAoZGF0YSkgPT4ge1xuICAgICAgICBpZiAodGhpcy5jaGVja0NhY2hlKHtcbiAgICAgICAgICB1cmwsXG4gICAgICAgICAgYm9keSxcbiAgICAgICAgICBpc0FycmF5LFxuICAgICAgICAgIG1ldGhvZFxuICAgICAgICB9LCBqb2JpZCkpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5oYW5kbGVyUmVzdWx0KHtcbiAgICAgICAgICByZXM6IHtcbiAgICAgICAgICAgIGRhdGEsIGlzQXJyYXlcbiAgICAgICAgICB9LFxuICAgICAgICAgIG1ldGhvZCxcbiAgICAgICAgICBqb2JpZCxcbiAgICAgICAgICBpc0FycmF5XG4gICAgICAgIH0sIHtcbiAgICAgICAgICB1cmwsXG4gICAgICAgICAgYm9keSxcbiAgICAgICAgICBpc0FycmF5LFxuICAgICAgICAgIG1ldGhvZCxcbiAgICAgICAgfSlcbiAgICAgIH1cbiAgICAgIGxldCBzYyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpO1xuICAgICAgc2Muc3JjID0gYCR7dXJsfT9jYWxsYmFjaz0ke2NhbGxiYWNrTWV0aG9kTmFtZX1gO1xuICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChzYyk7XG4gICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKHNjKTtcbiAgICB9KVxuXG4gICAgY29uc3QgcmVzcDogTW9kZWxzLlByb21pc2VPYnNlcnZhYmxlTWl4PGFueT4gPSBmaXJzdFZhbHVlRnJvbShyZXBsYXkuc3ViamVjdFtjdXN0b21PYnNdKSBhcyBhbnk7XG4gICAgcmVzcC5vYnNlcnZhYmxlID0gcmVwbGF5LnN1YmplY3RbY3VzdG9tT2JzXTtcbiAgICBjb25zb2xlLmxvZygnYXNzaWdpbmcgY3VzdG9tIG9ic2VydmFibGUnKVxuICAgIHJlc3AuY2FjaGUgPSBSZXF1ZXN0Q2FjaGUuZmluZEJ5KHtcbiAgICAgIGJvZHksXG4gICAgICBpc0FycmF5LFxuICAgICAgbWV0aG9kLFxuICAgICAgdXJsXG4gICAgfSlcbiAgICByZXR1cm4gcmVzcDtcbiAgfVxuXG4gIHByaXZhdGUgcmVwbGF5U3ViamVjdHMgPSB7fTtcbiAgcHVibGljIHJlcGxheShtZXRob2Q6IE1vZGVscy5IdHRwTWV0aG9kLCBtZXRhOiBNb2RlbHMuTWV0YVJlcXVlc3QpIHtcbiAgICBjb25zdCByZXBsYXk6IE1vZGVscy5SZXBsYXlEYXRhID0gdGhpcy5nZXRSZXBsYXkobWV0aG9kLCBtZXRhLCB0cnVlKTtcbiAgICBpZiAoIXJlcGxheSB8fCAhcmVwbGF5LmRhdGEpIHtcbiAgICAgIGNvbnNvbGUud2FybihgQ2Fubm8gcmVwbGF5IGZpcnN0ICR7bWV0aG9kfSByZXF1ZXN0IGZyb20gJHttZXRhLmVuZHBvaW50fS8ke21ldGEucGF0aH1gKTtcbiAgICAgIHJldHVybjtcbiAgICB9O1xuICAgIGlmIChyZXBsYXkgJiYgcmVwbGF5LnN1YmplY3QgJiYgQXJyYXkuaXNBcnJheShyZXBsYXkuc3ViamVjdC5vYnNlcnZlcnMpICYmXG4gICAgICByZXBsYXkuc3ViamVjdC5vYnNlcnZlcnMubGVuZ3RoID09PSAwKSB7XG4gICAgICBjb25zb2xlLndhcm4oYE5vIG9ic2VydmF0b3JzIGZvciAke21ldGhvZH0gcmVxdWVzdCBmcm9tICR7bWV0YS5lbmRwb2ludH0vJHttZXRhLnBhdGh9YCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IHVybCA9IHJlcGxheS5kYXRhLnVybDtcbiAgICBjb25zdCBoZWFkZXJzID0gcmVwbGF5LmRhdGEuaGVhZGVycztcbiAgICBjb25zdCBib2R5ID0gcmVwbGF5LmRhdGEuYm9keTtcbiAgICBjb25zdCBpc0FycmF5ID0gcmVwbGF5LmRhdGEuaXNBcnJheTtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMucmVxKHVybCwgbWV0aG9kLCBoZWFkZXJzLCBib2R5LCByZXBsYXkuaWQsIGlzQXJyYXkpKVxuICB9XG5cbn1cblxuIDsoe30pOyAvLyBALS1lbmQtb2YtZmlsZS1mb3ItbW9kdWxlPW5nMi1yZXN0IGxpYi9yZXN0LXJlcXVlc3QudHMiXX0=
|