@messaia/cdk 17.1.5-rc12 → 17.1.5-rc14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
- import { HttpClient, HttpEventType, HttpHeaders, HttpRequest } from '@angular/common/http';
1
+ import { HttpClient, HttpEventType, HttpHeaders, HttpParams, HttpRequest } from '@angular/common/http';
2
2
  import { BehaviorSubject } from 'rxjs';
3
3
  import { catchError, map } from 'rxjs/operators';
4
4
  import { Utils } from '../../common/functions/utils';
@@ -56,15 +56,16 @@ export class GenericService {
56
56
  return request.pipe(map(x => { return x.value; }));
57
57
  }
58
58
  /**
59
- * Gets a list of entities
59
+ * Gets a list of entities.
60
60
  *
61
- * @param params Adds query params to the request
62
- * @param headers Adds headers to the request
63
- * @param path A relative path to the action
61
+ * @param params Optional. Adds query params to the request.
62
+ * @param path Optional. A relative path to the action.
63
+ * @param headers Optional. Adds headers to the request.
64
+ * @returns An Observable with the response data.
64
65
  */
65
66
  getList(params, path, headers) {
66
67
  return this.http
67
- .get(`${this.endpoint}${path ? path : ''}`, { params: Utils.toHttpParams(params), headers: this.toHttpHeaders(headers) })
68
+ .get(`${this.endpoint}${path ? path : ''}`, { params: params instanceof HttpParams ? params : Utils.toHttpParams(params), headers: this.toHttpHeaders(headers) })
68
69
  .pipe(catchError(this.handleError('getList')));
69
70
  }
70
71
  /**
@@ -321,4 +322,4 @@ export class GenericService {
321
322
  console.debug(message);
322
323
  }
323
324
  }
324
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJpYy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2RrL3NyYy9saWIvaHR0cC9zZXJ2aWNlcy9nZW5lcmljLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBZ0MsYUFBYSxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN6SCxPQUFPLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUV2RSxNQUFNLE9BQU8sY0FBYztJQWlCUDtJQWZuQjs7T0FFRztJQUNJLElBQUksQ0FBYTtJQUV4Qjs7T0FFRztJQUNJLElBQUksR0FBMkIsSUFBSSxlQUFlLENBQU0sRUFBRSxDQUFDLENBQUM7SUFFbkU7Ozs7T0FJRztJQUNILFlBQW1CLFFBQWlCO1FBQWpCLGFBQVEsR0FBUixRQUFRLENBQVM7UUFDbkMsSUFBSSxDQUFDLElBQUksR0FBRyxjQUFjLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxHQUFHLENBQUksRUFBbUIsRUFBRSxNQUFzQixFQUFFLE9BQWdCLEVBQUUsY0FBdUIsSUFBSTtRQUN2RyxJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUMsSUFBSTthQUNyQixHQUFHLENBQUksR0FBRyxJQUFJLENBQUMsUUFBUSxJQUFJLEVBQUUsRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxhQUFh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LEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLEdBQUcsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLEtBQUssRUFBRSxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDekUsT0FBTyxTQUFTLElBQUksQ0FBQyxJQUFJLFFBQVEsV0FBVyxhQUFhLENBQUM7WUFFM0Qsc0JBQXNCO1lBQ3RCLEtBQUssYUFBYSxDQUFDLFFBQVE7Z0JBQzFCLE9BQU8sU0FBUyxJQUFJLENBQUMsSUFBSSw0QkFBNEIsQ0FBQztZQUV2RDtnQkFDQyxPQUFPLFNBQVMsSUFBSSxDQUFDLElBQUksOEJBQThCLEtBQUssQ0FBQyxJQUFJLEdBQUcsQ0FBQztTQUN0RTtJQUNGLENBQUM7SUFFRDs7OztPQUlHO0lBQ08sWUFBWSxDQUFDLE9BQWU7UUFDckMsT0FBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN4QixDQUFDO0NBR0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwRXJyb3JSZXNwb25zZSwgSHR0cEV2ZW50LCBIdHRwRXZlbnRUeXBlLCBIdHRwSGVhZGVycywgSHR0cFJlcXVlc3QgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBjYXRjaEVycm9yLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IFV0aWxzIH0gZnJvbSAnLi4vLi4vY29tbW9uL2Z1bmN0aW9ucy91dGlscyc7XHJcbmltcG9ydCB7IFNlcnZpY2VMb2NhdG9yIH0gZnJvbSAnLi4vLi4vY29tbW9uL3NlcnZpY2VzL3NlcnZpY2UtbG9jYXRvcic7XHJcblxyXG5leHBvcnQgY2xhc3MgR2VuZXJpY1NlcnZpY2U8VCBleHRlbmRzIGFueT4ge1xyXG5cclxuXHQvKipcclxuXHQgKiBIdHRwIGNsaWVudFxyXG5cdCAqL1xyXG5cdHB1YmxpYyBodHRwOiBIdHRwQ2xpZW50O1xyXG5cclxuXHQvKipcclxuXHQgKiBMaXN0IG9mIGVudGl0aWVzXHJcblx0ICovXHJcblx0cHVibGljIGxpc3Q6IEJlaGF2aW9yU3ViamVjdDxhbnlbXT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KDxhbnk+W10pO1xyXG5cclxuXHQvKipcclxuXHQgKiBDb25zdHJ1Y3RvclxyXG5cdCAqIFxyXG5cdCAqIEBwYXJhbSBodHRwIFxyXG5cdCAqL1xyXG5cdGNvbnN0cnVjdG9yKHB1YmxpYyBlbmRwb2ludD86IHN0cmluZykge1xyXG5cdFx0dGhpcy5odHRwID0gU2VydmljZUxvY2F0b3IuZ2V0U2VydmljZShIdHRwQ2xpZW50KTtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIEdldHMgYSBzaW5nbGUgZW50aXR5XHJcblx0ICogXHJcblx0ICogQHBhcmFtIGlkIFRoZSBpZCBvZiB0aGUgZW50aXR5IG9yIHJlbGF0aXZlIHBhdGhcclxuXHQgKiBAcGFyYW0gcGFyYW1zIEFkZHMgcXVlcnkgcGFyYW1zIHRvIHRoZSByZXF1ZXN0XHJcblx0ICogQHBhcmFtIGhlYWRlcnMgQWRkcyBoZWFkZXJzIHRvIHRoZSByZXF1ZXN0XHJcblx0ICovXHJcblx0cHVibGljIGdldDxUPihpZDogc3RyaW5nIHwgbnVtYmVyLCBwYXJhbXM/OiBPYmplY3QgfCBudWxsLCBoZWFkZXJzPzogT2JqZWN0LCBoYW5kbGVFcnJvcjogYm9vbGVhbiA9IHRydWUpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG5cdFx0bGV0IHJlcXVlc3QgPSB0aGlzLmh0dHBcclxuXHRcdFx0LmdldDxUPihgJHt0aGlzLmVuZHBvaW50fS8ke2lkfWAsIHsgcGFyYW1zOiBVdGlscy50b0h0dHBQYXJhbXMocGFyYW1zKSwgaGVhZGVyczogdGhpcy50b0h0dHBIZWFkZXJzKGhlYWRlcnMpIH0pO1xyXG5cclxuXHRcdC8qIEhhbmRsZSBlcnJvciAqL1xyXG5cdFx0aWYgKGhhbmRsZUVycm9yKSB7XHJcblx0XHRcdHJlcXVlc3QgPSByZXF1ZXN0LnBpcGUoY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yKCdnZXQnKSkpO1xyXG5cdFx0fVxyXG5cclxuXHRcdHJldHVybiByZXF1ZXN0O1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogQ291bnRzIGVudGl0aWVzXHJcblx0ICogXHJcblx0ICogQHBhcmFtIHBhcmFtcyBBZGRzIHF1ZXJ5IHBhcmFtcyB0byB0aGUgcmVxdWVzdFxyXG5cdCAqIEBwYXJhbSBwYXRoIEEgcmVsYXRpdmUgcGF0aCB0byB0aGUgYWN0aW9uXHJcblx0ICogQHBhcmFtIGhlYWRlcnMgQWRkcyBoZWFkZXJzIHRvIHRoZSByZXF1ZXN0XHQgXHJcblx0ICogQHBhcmFtIGhhbmRsZUVycm9yIEhhbmRsZSBlcnJvcnNcclxuXHQgKi9cclxuXHRwdWJsaWMgY291bnQocGFyYW1zPzogT2JqZWN0LCBwYXRoPzogc3RyaW5nIHwgbnVsbCwgaGVhZGVycz86IE9iamVjdCwgaGFuZGxlRXJyb3I6IGJvb2xlYW4gPSB0cnVlKTogT2JzZXJ2YWJsZTxudW1iZXI+IHtcclxuXHRcdGxldCByZXF1ZXN0ID0gdGhpcy5odHRwXHJcblx0XHRcdC5nZXQ8YW55PihgJHt0aGlzLmVuZHBvaW50fSR7cGF0aCA/IHBhdGggOiAnL2NvdW50J31gLCB7IHBhcmFtczogVXRpbHMudG9IdHRwUGFyYW1zKHBhcmFtcyksIGhlYWRlcnM6IHRoaXMudG9IdHRwSGVhZGVycyhoZWFkZXJzKSB9KTtcclxuXHJcblx0XHQvKiBIYW5kbGUgZXJyb3IgKi9cclxuXHRcdGlmIChoYW5kbGVFcnJvcikge1xyXG5cdFx0XHRyZXF1ZXN0ID0gcmVxdWVzdC5waXBlKGNhdGNoRXJyb3IodGhpcy5oYW5kbGVFcnJvcignY291bnQnKSkpO1xyXG5cdFx0fVxyXG5cclxuXHRcdHJldHVybiByZXF1ZXN0LnBpcGUobWFwKHggPT4geyByZXR1cm4gPG51bWJlcj54LnZhbHVlIH0pKTtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIEdldHMgYSBsaXN0IG9mIGVudGl0aWVzXHJcblx0ICogXHJcblx0ICogQHBhcmFtIHBhcmFtcyBBZGRzIHF1ZXJ5IHBhcmFtcyB0byB0aGUgcmVxdWVzdFxyXG5cdCAqIEBwYXJhbSBoZWFkZXJzIEFkZHMgaGVhZGVycyB0byB0aGUgcmVxdWVzdFxyXG5cdCAqIEBwYXJhbSBwYXRoIEEgcmVsYXRpdmUgcGF0aCB0byB0aGUgYWN0aW9uXHJcblx0ICovXHJcblx0cHVibGljIGdldExpc3QocGFyYW1zPzogT2JqZWN0IHwgbnVsbCwgcGF0aD86IHN0cmluZyB8IG51bGwsIGhlYWRlcnM/OiBPYmplY3QgfCBudWxsKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuXHRcdHJldHVybiB0aGlzLmh0dHBcclxuXHRcdFx0LmdldChgJHt0aGlzLmVuZHBvaW50fSR7cGF0aCA/IHBhdGggOiAnJ31gLCB7IHBhcmFtczogVXRpbHMudG9IdHRwUGFyYW1zKHBhcmFtcyksIGhlYWRlcnM6IHRoaXMudG9IdHRwSGVhZGVycyhoZWFkZXJzKSB9KVxyXG5cdFx0XHQucGlwZShjYXRjaEVycm9yKHRoaXMuaGFuZGxlRXJyb3IoJ2dldExpc3QnKSkpO1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogTG9hZHMgZGF0YVxyXG5cdCAqIEBwYXJhbSBwYXJhbXMgQWRkcyBxdWVyeSBwYXJhbXMgdG8gdGhlIHJlcXVlc3RcclxuXHQgKiBAcGFyYW0gcGF0aCBBIHJlbGF0aXZlIHBhdGggdG8gdGhlIGFjdGlvblxyXG5cdCAqIEBwYXJhbSBoZWFkZXJzIEFkZHMgaGVhZGVycyB0byB0aGUgcmVxdWVzdFxyXG5cdCAqL1xyXG5cdHB1YmxpYyBsb2FkTGlzdChwYXJhbXM/OiBPYmplY3QgfCBudWxsLCBwYXRoPzogc3RyaW5nIHwgbnVsbCwgaGVhZGVycz86IE9iamVjdCk6IHZvaWQge1xyXG5cdFx0dGhpcy5nZXRMaXN0KHBhcmFtcywgcGF0aCwgaGVhZGVycylcclxuXHRcdFx0LnN1YnNjcmliZSh4ID0+IHRoaXMubGlzdC5uZXh0KHgpKTtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIEdldHMgcmVzdWx0IGxpc3QgYXMgT2JzZXJ2YWJsZVxyXG5cdCAqL1xyXG5cdHB1YmxpYyBnZXRMaXN0QXNPYnNlcnZhYmxlKCk6IE9ic2VydmFibGU8YW55PiB7XHJcblx0XHRyZXR1cm4gdGhpcy5saXN0LmFzT2JzZXJ2YWJsZSgpO1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogQ3JlYXRlcyBhbiBlbnRpdHlcclxuXHQgKiBcclxuXHQgKiBAcGFyYW0gZW50aXR5IFRoZSBlbnRpdHkgdG8gY3JlYXRlXHJcblx0ICogQHBhcmFtIHBhdGggQSByZWxhdGl2ZSBwYXRoIHRvIHRoZSBhY3Rpb25cclxuXHQgKiBAcGFyYW0gaHR0cE9wdGlvbnMgQWRkaXRpb25hbCBodHRwIG9wdGlvbnMsIGxpa2UgaGVhZGVycyBhbmQgc28gb24gXHJcblx0ICogQHBhcmFtIGhhbmRsZUVycm9yIEhhbmRsZSBlcnJvcnNcclxuXHQgKi9cclxuXHRwdWJsaWMgY3JlYXRlPFQ+KGVudGl0eTogYW55LCBwYXRoPzogc3RyaW5nIHwgbnVsbCwgaHR0cE9wdGlvbnM/OiBPYmplY3QsIGhhbmRsZUVycm9yOiBib29sZWFuID0gdHJ1ZSk6IE9ic2VydmFibGU8VD4ge1xyXG5cdFx0bGV0IHJlcXVlc3QgPSB0aGlzLmh0dHBcclxuXHRcdFx0LnBvc3Q8VD4oYCR7dGhpcy5lbmRwb2ludH0ke3BhdGggPyBwYXRoIDogJyd9YCwgZW50aXR5LCBodHRwT3B0aW9ucyk7XHJcblxyXG5cdFx0LyogSGFuZGxlIGVycm9yICovXHJcblx0XHRpZiAoaGFuZGxlRXJyb3IpIHtcclxuXHRcdFx0cmVxdWVzdCA9IHJlcXVlc3QucGlwZShjYXRjaEVycm9yKHRoaXMuaGFuZGxlRXJyb3IoJ2NyZWF0ZScpKSk7XHJcblx0XHR9XHJcblxyXG5cdFx0cmV0dXJuIHJlcXVlc3Q7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBVcGRhdGVzIGFuIGVudGl0eVxyXG5cdCAqIFxyXG5cdCAqIEBwYXJhbSBlbnRpdHkgVGhlIGVudGl0eSB0byB1cGRhdGVcclxuXHQgKiBAcGFyYW0gcGF0aCBBIHJlbGF0aXZlIHBhdGggdG8gdGhlIGFjdGlvblxyXG5cdCAqIEBwYXJhbSBodHRwT3B0aW9ucyBBZGRpdGlvbmFsIGh0dHAgb3B0aW9ucywgbGlrZSBoZWFkZXJzIGFuZCBzbyBvbiBcclxuXHQgKiBAcGFyYW0gaGFuZGxlRXJyb3IgSGFuZGxlIGVycm9yc1xyXG5cdCAqL1xyXG5cdHB1YmxpYyB1cGRhdGUoaWQ6IHN0cmluZyB8IG51bWJlciwgZW50aXR5OiBhbnksIHBhdGg/OiBzdHJpbmcgfCBudWxsLCBodHRwT3B0aW9ucz86IE9iamVjdCwgaGFuZGxlRXJyb3I6IGJvb2xlYW4gPSB0cnVlKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuXHRcdGxldCByZXF1ZXN0ID0gdGhpcy5odHRwXHJcblx0XHRcdC5wdXQ8VD4oYCR7dGhpcy5lbmRwb2ludH0ke3BhdGggPyBwYXRoIDogJyd9LyR7aWR9YCwgZW50aXR5LCBodHRwT3B0aW9ucyk7XHJcblxyXG5cdFx0LyogSGFuZGxlIGVycm9yICovXHJcblx0XHRpZiAoaGFuZGxlRXJyb3IpIHtcclxuXHRcdFx0cmVxdWVzdCA9IHJlcXVlc3QucGlwZShjYXRjaEVycm9yKHRoaXMuaGFuZGxlRXJyb3IoJ3VwZGF0ZScpKSk7XHJcblx0XHR9XHJcblxyXG5cdFx0cmV0dXJuIHJlcXVlc3Q7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBQYXRjaGVzIGFuIGVudGl0eVxyXG5cdCAqIFxyXG5cdCAqIEBwYXJhbSBpZCBpZCBUaGUgaWQgb2YgdGhlIGl0ZW0gdG8gcGF0Y2hcclxuXHQgKiBAcGFyYW0gYm9keSBUaGUgYm9keVxyXG5cdCAqIEBwYXJhbSBwYXRoIEEgcmVsYXRpdmUgcGF0aCB0byB0aGUgYWN0aW9uXHJcblx0ICogQHBhcmFtIGh0dHBPcHRpb25zIEFkZGl0aW9uYWwgaHR0cCBvcHRpb25zLCBsaWtlIGhlYWRlcnMgYW5kIHNvIG9uIFxyXG5cdCAqIEBwYXJhbSBoYW5kbGVFcnJvciBIYW5kbGUgZXJyb3JzXHJcblx0ICovXHJcblx0cHVibGljIHBhdGNoKGlkOiBzdHJpbmcgfCBudW1iZXIsIGJvZHk6IGFueSwgcGF0aD86IHN0cmluZyB8IG51bGwsIGh0dHBPcHRpb25zPzogT2JqZWN0LCBoYW5kbGVFcnJvcjogYm9vbGVhbiA9IHRydWUpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG5cdFx0bGV0IHJlcXVlc3QgPSB0aGlzLmh0dHBcclxuXHRcdFx0LnBhdGNoPFQ+KGAke3RoaXMuZW5kcG9pbnR9JHtwYXRoID8gcGF0aCA6ICcnfS8ke2lkfWAsIGJvZHksIGh0dHBPcHRpb25zKTtcclxuXHJcblx0XHQvKiBIYW5kbGUgZXJyb3IgKi9cclxuXHRcdGlmIChoYW5kbGVFcnJvcikge1xyXG5cdFx0XHRyZXF1ZXN0ID0gcmVxdWVzdC5waXBlKGNhdGNoRXJyb3IodGhpcy5oYW5kbGVFcnJvcigncGF0Y2gnKSkpO1xyXG5cdFx0fVxyXG5cclxuXHRcdHJldHVybiByZXF1ZXN0O1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogUGF0Y2hlcyBtdWx0aXBsZSBlbnRpdGllc1xyXG5cdCAqIFxyXG5cdCAqIEBwYXJhbSBpZHMgVGhlIGlkcyBvZiB0aGUgaXRlbXMgdG8gcGF0Y2hcclxuXHQgKiBAcGFyYW0gYm9keSBUaGUgYm9keVxyXG5cdCAqIEBwYXJhbSBwYXRoIEEgcmVsYXRpdmUgcGF0aCB0byB0aGUgYWN0aW9uXHJcblx0ICogQHBhcmFtIGh0dHBPcHRpb25zIEFkZGl0aW9uYWwgaHR0cCBvcHRpb25zLCBsaWtlIGhlYWRlcnMgYW5kIHNvIG9uIFxyXG5cdCAqIEBwYXJhbSBoYW5kbGVFcnJvciBIYW5kbGUgZXJyb3JzXHJcblx0ICovXHJcblx0cHVibGljIHBhdGNoTGlzdChpZHM6IHN0cmluZ1tdIHwgbnVtYmVyW10sIGJvZHk6IGFueSwgcGF0aD86IHN0cmluZyB8IG51bGwsIGh0dHBPcHRpb25zPzogT2JqZWN0LCBoYW5kbGVFcnJvcjogYm9vbGVhbiA9IHRydWUpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG5cdFx0bGV0IHJlcXVlc3QgPSB0aGlzLmh0dHBcclxuXHRcdFx0LnBhdGNoPFQ+KGAke3RoaXMuZW5kcG9pbnR9JHtwYXRoID8gcGF0aCA6ICcnfWAsIGJvZHksIE9iamVjdC5hc3NpZ24oaHR0cE9wdGlvbnMgfHwge30sIHsgcGFyYW1zOiBVdGlscy50b0h0dHBQYXJhbXMoeyBpZHM6IGlkcyB9KSB9KSk7XHJcblxyXG5cdFx0LyogSGFuZGxlIGVycm9yICovXHJcblx0XHRpZiAoaGFuZGxlRXJyb3IpIHtcclxuXHRcdFx0cmVxdWVzdCA9IHJlcXVlc3QucGlwZShjYXRjaEVycm9yKHRoaXMuaGFuZGxlRXJyb3IoJ3BhdGNoJykpKTtcclxuXHRcdH1cclxuXHJcblx0XHRyZXR1cm4gcmVxdWVzdDtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIERlbGV0ZXMgYW4gZW50aXR5LlxyXG5cdCAqIFxyXG5cdCAqIEBwYXJhbSBpZCBUaGUgaWQgb2YgdGhlIGl0ZW0gdG8gZGVsZXRlXHJcblx0ICogQHBhcmFtIHBhdGggQSByZWxhdGl2ZSBwYXRoIHRvIHRoZSBhY3Rpb25cclxuXHQgKiBAcGFyYW0gaHR0cE9wdGlvbnMgQWRkaXRpb25hbCBodHRwIG9wdGlvbnMsIGxpa2UgaGVhZGVycyBhbmQgc28gb24gIFxyXG5cdCAqIEBwYXJhbSBoYW5kbGVFcnJvciBIYW5kbGUgZXJyb3JzXHJcblx0ICovXHJcblx0cHVibGljIGRlbGV0ZShpZDogc3RyaW5nIHwgbnVtYmVyLCBwYXRoPzogc3RyaW5nIHwgbnVsbCwgaHR0cE9wdGlvbnM/OiBPYmplY3QsIGhhbmRsZUVycm9yOiBib29sZWFuID0gdHJ1ZSk6IE9ic2VydmFibGU8YW55PiB7XHJcblx0XHRsZXQgcmVxdWVzdCA9IHRoaXMuaHR0cFxyXG5cdFx0XHQuZGVsZXRlKGAke3RoaXMuZW5kcG9pbnR9JHtwYXRoID8gcGF0aCA6ICcnfS8ke2lkfWAsIGh0dHBPcHRpb25zKTtcclxuXHJcblx0XHQvKiBIYW5kbGUgZXJyb3IgKi9cclxuXHRcdGlmIChoYW5kbGVFcnJvcikge1xyXG5cdFx0XHRyZXF1ZXN0ID0gcmVxdWVzdC5waXBlKGNhdGNoRXJyb3IodGhpcy5oYW5kbGVFcnJvcignZGVsZXRlJykpKTtcclxuXHRcdH1cclxuXHJcblx0XHRyZXR1cm4gcmVxdWVzdDtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIERlbGV0ZXMgbXVsdGlwbGUgZW50aXRpZXMuXHJcblx0ICogXHJcblx0ICogQHBhcmFtIGlkcyBUaGUgaWRzIG9mIHRoZSBpdGVtcyB0byBkZWxldGVcclxuXHQgKiBAcGFyYW0gcGF0aCBBIHJlbGF0aXZlIHBhdGggdG8gdGhlIGFjdGlvblxyXG5cdCAqIEBwYXJhbSBodHRwT3B0aW9ucyBBZGRpdGlvbmFsIGh0dHAgb3B0aW9ucywgbGlrZSBoZWFkZXJzIGFuZCBzbyBvbiAgXHJcblx0ICogQHBhcmFtIGhhbmRsZUVycm9yIEhhbmRsZSBlcnJvcnNcclxuXHQgKi9cclxuXHRwdWJsaWMgZGVsZXRlTGlzdChpZHM6IHN0cmluZ1tdIHwgbnVtYmVyW10sIHBhdGg/OiBzdHJpbmcgfCBudWxsLCBodHRwT3B0aW9ucz86IE9iamVjdCwgaGFuZGxlRXJyb3I6IGJvb2xlYW4gPSB0cnVlKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuXHRcdGxldCByZXF1ZXN0ID0gdGhpcy5odHRwLmRlbGV0ZShgJHt0aGlzLmVuZHBvaW50fSR7cGF0aCA/IHBhdGggOiAnJ31gLCBPYmplY3QuYXNzaWduKGh0dHBPcHRpb25zIHx8IHt9LCB7IHBhcmFtczogVXRpbHMudG9IdHRwUGFyYW1zKHsgaWRzOiBpZHMgfSkgfSkpO1xyXG5cclxuXHRcdC8qIEhhbmRsZSBlcnJvciAqL1xyXG5cdFx0aWYgKGhhbmRsZUVycm9yKSB7XHJcblx0XHRcdHJlcXVlc3QgPSByZXF1ZXN0LnBpcGUoY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yKCdkZWxldGVMaXN0JykpKTtcclxuXHRcdH1cclxuXHJcblx0XHRyZXR1cm4gcmVxdWVzdDtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIERvd25sb2FkcyBhIGZpbGVcclxuXHQgKiBcclxuXHQgKiBAcGFyYW0gcGF0aCBBIHJlbGF0aXZlIHBhdGggdG8gdGhlIGFjdGlvblxyXG5cdCAqIEBwYXJhbSBwYXJhbXMgU29tZSBxdWVyeSBwYXJhbXNcclxuXHQgKi9cclxuXHRwdWJsaWMgZG93bmxvYWQocGF0aDogc3RyaW5nLCBwYXJhbXM/OiBPYmplY3QsIGhhbmRsZUVycm9yOiBib29sZWFuID0gdHJ1ZSk6IE9ic2VydmFibGU8YW55PiB7XHJcblx0XHRsZXQgcmVxdWVzdCA9IHRoaXMuaHR0cFxyXG5cdFx0XHQuZ2V0KGAke3RoaXMuZW5kcG9pbnR9LyR7cGF0aCA/IHBhdGggOiAnZG93bmxvYWQnfWAsIHsgcGFyYW1zOiBVdGlscy50b0h0dHBQYXJhbXMocGFyYW1zKSwgcmVzcG9uc2VUeXBlOiAnYXJyYXlidWZmZXInLCBvYnNlcnZlOiAncmVzcG9uc2UnIH0pXHJcblx0XHRcdC5waXBlKG1hcCh4ID0+IHsgcmV0dXJuIHsgZGF0YTogeC5ib2R5LCBmaWxlbmFtZTogdGhpcy5nZXRGaWxlTmFtZUZyb21IZWFkZXJzKHguaGVhZGVycykgfSB9KSk7XHJcblxyXG5cdFx0LyogSGFuZGxlIGVycm9yICovXHJcblx0XHRpZiAoaGFuZGxlRXJyb3IpIHtcclxuXHRcdFx0cmVxdWVzdCA9IHJlcXVlc3QucGlwZTxhbnk+KGNhdGNoRXJyb3IodGhpcy5oYW5kbGVFcnJvcignZG93bmxvYWQnKSkpO1xyXG5cdFx0fVxyXG5cclxuXHRcdHJldHVybiByZXF1ZXN0O1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogRHVwbGljYXRlcyBhIHJlY29yZFxyXG5cdCAqIEBwYXJhbSBpZCBcclxuXHQgKi9cclxuXHRwdWJsaWMgZHVwbGljYXRlKGlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG5cdFx0cmV0dXJuIHRoaXMuY3JlYXRlKG51bGwsIGAvZHVwbGljYXRlLyR7aWR9YCk7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBVcGxvYWRzIGEgZmlsZVxyXG5cdCAqIFxyXG5cdCAqIEBwYXJhbSBmaWxlIFRoZSBmaWxlIHRvIHVwbG9hZFxyXG5cdCAqIEBwYXJhbSBwYXRoIEEgcmVsYXRpdmUgcGF0aCB0byB0aGUgYWN0aW9uXHJcblx0ICovXHJcblx0cHVibGljIHVwbG9hZChmaWxlOiBGaWxlLCBwYXRoOiBzdHJpbmcgPSAndXBsb2FkJywgZXh0cmFEYXRhPzogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuXHRcdC8qIENyZWF0ZXMgZm9ybSBkYXRhIG9iamVjdCAqL1xyXG5cdFx0Y29uc3QgZm9ybURhdGE6IEZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCk7XHJcblxyXG5cdFx0LyogQWRkIHRoZSBmaWxlIHRvIHRoZSBmb3JtIGRhdGEgKi9cclxuXHRcdGZvcm1EYXRhLmFwcGVuZCgnZmlsZScsIGZpbGUsIGZpbGUubmFtZSk7XHJcblxyXG5cdFx0LyogSXRlcmF0ZSBhbmQgc2V0IG90aGVyIGZvcm0gZGF0YSAqL1xyXG5cdFx0aWYgKGV4dHJhRGF0YSkge1xyXG5cdFx0XHRmb3IgKGxldCBrZXkgaW4gZXh0cmFEYXRhKSB7XHJcblx0XHRcdFx0Zm9ybURhdGEuYXBwZW5kKGtleSwgZXh0cmFEYXRhW2tleV0pXHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHQvKiBTZXQgdHJ1ZSB0byByZXBvcnRQcm9ncmVzcyB0byBlbmFibGUgdHJhY2tpbmcgb2YgcHJvZ3Jlc3MgZXZlbnRzICovXHJcblx0XHRjb25zdCByZXEgPSBuZXcgSHR0cFJlcXVlc3QoJ1BPU1QnLCBgJHt0aGlzLmVuZHBvaW50fS8ke3BhdGggPyBwYXRoIDogJ3VwbG9hZCd9YCwgZm9ybURhdGEsIHtcclxuXHRcdFx0cmVwb3J0UHJvZ3Jlc3M6IHRydWVcclxuXHRcdH0pO1xyXG5cclxuXHRcdC8qXHJcblx0XHRUaGUgYEh0dHBDbGllbnQucmVxdWVzdGAgQVBJIHByb2R1Y2VzIGEgcmF3IGV2ZW50IHN0cmVhbVxyXG5cdFx0d2hpY2ggaW5jbHVkZXMgc3RhcnQgKHNlbnQpLCBwcm9ncmVzcywgYW5kIHJlc3BvbnNlIGV2ZW50cy5cclxuXHRcdCovXHJcblx0XHRyZXR1cm4gdGhpcy5odHRwLnJlcXVlc3QocmVxKTtcclxuXHR9O1xyXG5cclxuXHQvLy8jcmVnaW9uIEhlbHBlcnNcclxuXHJcblx0LyoqXHJcblx0ICogQ29udmVydCBPYmplY3QgdG8gRnJvbURhdGFcclxuXHQgKiBcclxuXHQgKiBAcGFyYW0gYm9keVxyXG5cdCAqL1xyXG5cdHByb3RlY3RlZCB0b0Zvcm1EYXRhKGJvZHk6IGFueSk6IEZvcm1EYXRhIHtcclxuXHRcdGlmICghYm9keSkge1xyXG5cdFx0XHRyZXR1cm4gbmV3IEZvcm1EYXRhKCk7XHJcblx0XHR9XHJcblxyXG5cdFx0cmV0dXJuIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKGJvZHkpXHJcblx0XHRcdC5maWx0ZXIoa2V5ID0+IGJvZHlba2V5XSAhPSBudWxsICYmIGJvZHlba2V5XSAhPSAnJylcclxuXHRcdFx0LnJlZHVjZSgocCwga2V5KSA9PiB7IHAuYXBwZW5kKGtleSwgYm9keVtrZXldKTsgcmV0dXJuIHAgfSwgbmV3IEZvcm1EYXRhKCkpO1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogQ29udmVydCBPYmplY3QgdG8gSHR0cEhlYWRlcnNcclxuXHQgKiBcclxuXHQgKiBAcGFyYW0gYm9keVxyXG5cdCAqL1xyXG5cdHByb3RlY3RlZCB0b0h0dHBIZWFkZXJzKGJvZHk/OiBPYmplY3QgfCBudWxsKTogSHR0cEhlYWRlcnMge1xyXG5cdFx0aWYgKCFib2R5KSB7XHJcblx0XHRcdHJldHVybiBuZXcgSHR0cEhlYWRlcnMoKTtcclxuXHRcdH1cclxuXHJcblx0XHRyZXR1cm4gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMoYm9keSlcclxuXHRcdFx0LmZpbHRlcihrZXkgPT4gKGJvZHkgYXMgYW55KVtrZXldICE9IG51bGwgJiYgKGJvZHkgYXMgYW55KVtrZXldICE9ICcnKVxyXG5cdFx0XHQucmVkdWNlKChwLCBrZXkpID0+IHAuc2V0KGtleSwgKGJvZHkgYXMgYW55KVtrZXldKSwgbmV3IEh0dHBIZWFkZXJzKCkpO1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogR2V0cyBmaWxlIG5hbWUgZnJvbSBIdHRwaGVhZGVyczogQ29udGVudC1EaXNwb3NpdGlvblxyXG5cdCAqIEBwYXJhbSBkaXNwb3NpdGlvbiBcclxuXHQgKi9cclxuXHRwcm90ZWN0ZWQgZ2V0RmlsZU5hbWVGcm9tSGVhZGVycyhoZWFkZXJzOiBIdHRwSGVhZGVycyk6IHN0cmluZyB7XHJcblx0XHR2YXIgZGlzcG9zaXRpb24gPSBoZWFkZXJzLmdldCgnY29udGVudC1kaXNwb3NpdGlvbicpO1xyXG5cdFx0aWYgKGRpc3Bvc2l0aW9uICYmIGRpc3Bvc2l0aW9uLmluZGV4T2YoJ2F0dGFjaG1lbnQnKSAhPT0gLTEpIHtcclxuXHRcdFx0dmFyIG1hdGNoZXMgPSAvZmlsZW5hbWVbXjs9XFxuXSo9KChbJ1wiXSkuKj9cXDJ8W147XFxuXSopLy5leGVjKGRpc3Bvc2l0aW9uKTtcclxuXHRcdFx0aWYgKG1hdGNoZXMgIT0gbnVsbCAmJiBtYXRjaGVzWzFdKSB7XHJcblx0XHRcdFx0cmV0dXJuIG1hdGNoZXNbMV0ucmVwbGFjZSgvWydcIl0vZywgJycpO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0cmV0dXJuIFwiXCI7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBSZXR1cm5zIGEgZnVuY3Rpb24gdGhhdCBoYW5kbGVzIEh0dHAgb3BlcmF0aW9uIGZhaWx1cmVzLlxyXG5cdCAqIFRoaXMgZXJyb3IgaGFuZGxlciBsZXRzIHRoZSBhcHAgY29udGludWUgdG8gcnVuIGFzIGlmIG5vIGVycm9yIG9jY3VycmVkLlxyXG5cdCAqIEBwYXJhbSBvcGVyYXRpb24gLSBuYW1lIG9mIHRoZSBvcGVyYXRpb24gdGhhdCBmYWlsZWRcclxuXHQgKi9cclxuXHRwcm90ZWN0ZWQgaGFuZGxlRXJyb3Iob3BlcmF0aW9uID0gJ29wZXJhdGlvbicpIHtcclxuXHRcdHJldHVybiAoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKTogT2JzZXJ2YWJsZTxhbnk+ID0+IHtcclxuXHRcdFx0Y29uc29sZS5sb2coZXJyb3IpO1xyXG5cdFx0XHRjb25zdCBtZXNzYWdlID0gKGVycm9yLmVycm9yIGluc3RhbmNlb2YgRXJyb3JFdmVudCkgPyBlcnJvci5lcnJvci5tZXNzYWdlIDogYHNlcnZlciByZXR1cm5lZCBjb2RlICR7ZXJyb3Iuc3RhdHVzfSB3aXRoIGJvZHkgXCIke2Vycm9yLmVycm9yfVwiYDtcclxuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGAke29wZXJhdGlvbn0gZmFpbGVkOiAke21lc3NhZ2V9YCk7XHJcblx0XHR9O1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogUmV0dXJuIGRpc3RpbmN0IG1lc3NhZ2UgZm9yIHNlbnQsIHVwbG9hZCBwcm9ncmVzcywgJiByZXNwb25zZSBldmVudHNcclxuXHQgKiBcclxuXHQgKiBAcGFyYW0gZXZlbnQgVGhlIHJlc3BvbnNlIGV2ZW50XHJcblx0ICogQHBhcmFtIGZpbGUgVGhlIGZpbGUgYmVlaW5nIHVwbG9hZGVkXHJcblx0ICovXHJcblx0cHJvdGVjdGVkIGdldEV2ZW50TWVzc2FnZShldmVudDogSHR0cEV2ZW50PGFueT4sIGZpbGU6IEZpbGUpIHtcclxuXHRcdHN3aXRjaCAoZXZlbnQudHlwZSkge1xyXG5cdFx0XHQvKiBVcGxvYWQgc3RhcnRlZCAqL1xyXG5cdFx0XHRjYXNlIEh0dHBFdmVudFR5cGUuU2VudDpcclxuXHRcdFx0XHRyZXR1cm4gYFVwbG9hZGluZyBmaWxlIFwiJHtmaWxlLm5hbWV9XCIgb2Ygc2l6ZSAke2ZpbGUuc2l6ZX0uYDtcclxuXHJcblx0XHRcdC8qIENvbXB1dGUgYW5kIHNob3cgdGhlICUgZG9uZTogKi9cclxuXHRcdFx0Y2FzZSBIdHRwRXZlbnRUeXBlLlVwbG9hZFByb2dyZXNzOlxyXG5cdFx0XHRcdGNvbnN0IHBlcmNlbnREb25lID0gTWF0aC5yb3VuZCgxMDAgKiBldmVudC5sb2FkZWQgLyAoZXZlbnQ/LnRvdGFsID8/IDEpKTtcclxuXHRcdFx0XHRyZXR1cm4gYEZpbGUgXCIke2ZpbGUubmFtZX1cIiBpcyAke3BlcmNlbnREb25lfSUgdXBsb2FkZWQuYDtcclxuXHJcblx0XHRcdC8qIFVwbG9hZCBjb21wbGV0ZWQgKi9cclxuXHRcdFx0Y2FzZSBIdHRwRXZlbnRUeXBlLlJlc3BvbnNlOlxyXG5cdFx0XHRcdHJldHVybiBgRmlsZSBcIiR7ZmlsZS5uYW1lfVwiIHdhcyBjb21wbGV0ZWx5IHVwbG9hZGVkIWA7XHJcblxyXG5cdFx0XHRkZWZhdWx0OlxyXG5cdFx0XHRcdHJldHVybiBgRmlsZSBcIiR7ZmlsZS5uYW1lfVwiIHN1cnByaXNpbmcgdXBsb2FkIGV2ZW50OiAke2V2ZW50LnR5cGV9LmA7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBTaG93cyB1cGxvYWQgcHJvZ3Jlc3MuXHJcblx0ICogXHJcblx0ICogQHBhcmFtIG1lc3NhZ2UgXHJcblx0ICovXHJcblx0cHJvdGVjdGVkIHNob3dQcm9ncmVzcyhtZXNzYWdlOiBzdHJpbmcpIHtcclxuXHRcdGNvbnNvbGUuZGVidWcobWVzc2FnZSk7XHJcblx0fVxyXG5cclxuXHQvLyNlbmRyZWdpb25cclxufSJdfQ==
325
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJpYy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2RrL3NyYy9saWIvaHR0cC9zZXJ2aWNlcy9nZW5lcmljLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBZ0MsYUFBYSxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDckksT0FBTyxFQUFFLGVBQWUsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUNuRCxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFFdkUsTUFBTSxPQUFPLGNBQWM7SUFpQlA7SUFmbkI7O09BRUc7SUFDSSxJQUFJLENBQWE7SUFFeEI7O09BRUc7SUFDSSxJQUFJLEdBQTJCLElBQUksZUFBZSxDQUFNLEVBQUUsQ0FBQyxDQUFDO0lBRW5FOzs7O09BSUc7SUFDSCxZQUFtQixRQUFpQjtRQUFqQixhQUFRLEdBQVIsUUFBUSxDQUFTO1FBQ25DLElBQUksQ0FBQyxJQUFJLEdBQUcsY0FBYyxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksR0FBRyxDQUFJLEVBQW1CLEVBQUUsTUFBc0IsRUFBRSxPQUFnQixFQUFFLGNBQXVCLElBQUk7UUFDdkcsSUFBSSxPQUFPLEdBQUcsSUFBSSxDQUFDLElBQUk7YUFDckIsR0FBRyxDQUFJLEdBQUcsSUFBSSxDQUFDLFFBQVEsSUFBSSxFQUFFLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE9BQU8sRUFBRSxJQUFJ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LENBQUM7WUFFOUQsa0NBQWtDO1lBQ2xDLEtBQUssYUFBYSxDQUFDLGNBQWM7Z0JBQ2hDLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxHQUFHLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxLQUFLLEVBQUUsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ3pFLE9BQU8sU0FBUyxJQUFJLENBQUMsSUFBSSxRQUFRLFdBQVcsYUFBYSxDQUFDO1lBRTNELHNCQUFzQjtZQUN0QixLQUFLLGFBQWEsQ0FBQyxRQUFRO2dCQUMxQixPQUFPLFNBQVMsSUFBSSxDQUFDLElBQUksNEJBQTRCLENBQUM7WUFFdkQ7Z0JBQ0MsT0FBTyxTQUFTLElBQUksQ0FBQyxJQUFJLDhCQUE4QixLQUFLLENBQUMsSUFBSSxHQUFHLENBQUM7U0FDdEU7SUFDRixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNPLFlBQVksQ0FBQyxPQUFlO1FBQ3JDLE9BQU8sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDeEIsQ0FBQztDQUdEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEVycm9yUmVzcG9uc2UsIEh0dHBFdmVudCwgSHR0cEV2ZW50VHlwZSwgSHR0cEhlYWRlcnMsIEh0dHBQYXJhbXMsIEh0dHBSZXF1ZXN0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgY2F0Y2hFcnJvciwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBVdGlscyB9IGZyb20gJy4uLy4uL2NvbW1vbi9mdW5jdGlvbnMvdXRpbHMnO1xyXG5pbXBvcnQgeyBTZXJ2aWNlTG9jYXRvciB9IGZyb20gJy4uLy4uL2NvbW1vbi9zZXJ2aWNlcy9zZXJ2aWNlLWxvY2F0b3InO1xyXG5cclxuZXhwb3J0IGNsYXNzIEdlbmVyaWNTZXJ2aWNlPFQgZXh0ZW5kcyBhbnk+IHtcclxuXHJcblx0LyoqXHJcblx0ICogSHR0cCBjbGllbnRcclxuXHQgKi9cclxuXHRwdWJsaWMgaHR0cDogSHR0cENsaWVudDtcclxuXHJcblx0LyoqXHJcblx0ICogTGlzdCBvZiBlbnRpdGllc1xyXG5cdCAqL1xyXG5cdHB1YmxpYyBsaXN0OiBCZWhhdmlvclN1YmplY3Q8YW55W10+ID0gbmV3IEJlaGF2aW9yU3ViamVjdCg8YW55PltdKTtcclxuXHJcblx0LyoqXHJcblx0ICogQ29uc3RydWN0b3JcclxuXHQgKiBcclxuXHQgKiBAcGFyYW0gaHR0cCBcclxuXHQgKi9cclxuXHRjb25zdHJ1Y3RvcihwdWJsaWMgZW5kcG9pbnQ/OiBzdHJpbmcpIHtcclxuXHRcdHRoaXMuaHR0cCA9IFNlcnZpY2VMb2NhdG9yLmdldFNlcnZpY2UoSHR0cENsaWVudCk7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBHZXRzIGEgc2luZ2xlIGVudGl0eVxyXG5cdCAqIFxyXG5cdCAqIEBwYXJhbSBpZCBUaGUgaWQgb2YgdGhlIGVudGl0eSBvciByZWxhdGl2ZSBwYXRoXHJcblx0ICogQHBhcmFtIHBhcmFtcyBBZGRzIHF1ZXJ5IHBhcmFtcyB0byB0aGUgcmVxdWVzdFxyXG5cdCAqIEBwYXJhbSBoZWFkZXJzIEFkZHMgaGVhZGVycyB0byB0aGUgcmVxdWVzdFxyXG5cdCAqL1xyXG5cdHB1YmxpYyBnZXQ8VD4oaWQ6IHN0cmluZyB8IG51bWJlciwgcGFyYW1zPzogT2JqZWN0IHwgbnVsbCwgaGVhZGVycz86IE9iamVjdCwgaGFuZGxlRXJyb3I6IGJvb2xlYW4gPSB0cnVlKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuXHRcdGxldCByZXF1ZXN0ID0gdGhpcy5odHRwXHJcblx0XHRcdC5nZXQ8VD4oYCR7dGhpcy5lbmRwb2ludH0vJHtpZH1gLCB7IHBhcmFtczogVXRpbHMudG9IdHRwUGFyYW1zKHBhcmFtcyksIGhlYWRlcnM6IHRoaXMudG9IdHRwSGVhZGVycyhoZWFkZXJzKSB9KTtcclxuXHJcblx0XHQvKiBIYW5kbGUgZXJyb3IgKi9cclxuXHRcdGlmIChoYW5kbGVFcnJvcikge1xyXG5cdFx0XHRyZXF1ZXN0ID0gcmVxdWVzdC5waXBlKGNhdGNoRXJyb3IodGhpcy5oYW5kbGVFcnJvcignZ2V0JykpKTtcclxuXHRcdH1cclxuXHJcblx0XHRyZXR1cm4gcmVxdWVzdDtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIENvdW50cyBlbnRpdGllc1xyXG5cdCAqIFxyXG5cdCAqIEBwYXJhbSBwYXJhbXMgQWRkcyBxdWVyeSBwYXJhbXMgdG8gdGhlIHJlcXVlc3RcclxuXHQgKiBAcGFyYW0gcGF0aCBBIHJlbGF0aXZlIHBhdGggdG8gdGhlIGFjdGlvblxyXG5cdCAqIEBwYXJhbSBoZWFkZXJzIEFkZHMgaGVhZGVycyB0byB0aGUgcmVxdWVzdFx0IFxyXG5cdCAqIEBwYXJhbSBoYW5kbGVFcnJvciBIYW5kbGUgZXJyb3JzXHJcblx0ICovXHJcblx0cHVibGljIGNvdW50KHBhcmFtcz86IE9iamVjdCwgcGF0aD86IHN0cmluZyB8IG51bGwsIGhlYWRlcnM/OiBPYmplY3QsIGhhbmRsZUVycm9yOiBib29sZWFuID0gdHJ1ZSk6IE9ic2VydmFibGU8bnVtYmVyPiB7XHJcblx0XHRsZXQgcmVxdWVzdCA9IHRoaXMuaHR0cFxyXG5cdFx0XHQuZ2V0PGFueT4oYCR7dGhpcy5lbmRwb2ludH0ke3BhdGggPyBwYXRoIDogJy9jb3VudCd9YCwgeyBwYXJhbXM6IFV0aWxzLnRvSHR0cFBhcmFtcyhwYXJhbXMpLCBoZWFkZXJzOiB0aGlzLnRvSHR0cEhlYWRlcnMoaGVhZGVycykgfSk7XHJcblxyXG5cdFx0LyogSGFuZGxlIGVycm9yICovXHJcblx0XHRpZiAoaGFuZGxlRXJyb3IpIHtcclxuXHRcdFx0cmVxdWVzdCA9IHJlcXVlc3QucGlwZShjYXRjaEVycm9yKHRoaXMuaGFuZGxlRXJyb3IoJ2NvdW50JykpKTtcclxuXHRcdH1cclxuXHJcblx0XHRyZXR1cm4gcmVxdWVzdC5waXBlKG1hcCh4ID0+IHsgcmV0dXJuIDxudW1iZXI+eC52YWx1ZSB9KSk7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBHZXRzIGEgbGlzdCBvZiBlbnRpdGllcy5cclxuXHQgKiBcclxuXHQgKiBAcGFyYW0gcGFyYW1zIE9wdGlvbmFsLiBBZGRzIHF1ZXJ5IHBhcmFtcyB0byB0aGUgcmVxdWVzdC5cclxuXHQgKiBAcGFyYW0gcGF0aCBPcHRpb25hbC4gQSByZWxhdGl2ZSBwYXRoIHRvIHRoZSBhY3Rpb24uXHJcblx0ICogQHBhcmFtIGhlYWRlcnMgT3B0aW9uYWwuIEFkZHMgaGVhZGVycyB0byB0aGUgcmVxdWVzdC5cclxuXHQgKiBAcmV0dXJucyBBbiBPYnNlcnZhYmxlIHdpdGggdGhlIHJlc3BvbnNlIGRhdGEuXHJcblx0ICovXHJcblx0cHVibGljIGdldExpc3QocGFyYW1zPzogSHR0cFBhcmFtcyB8IE9iamVjdCB8IG51bGwsIHBhdGg/OiBzdHJpbmcgfCBudWxsLCBoZWFkZXJzPzogT2JqZWN0IHwgbnVsbCk6IE9ic2VydmFibGU8YW55PiB7XHJcblx0XHRyZXR1cm4gdGhpcy5odHRwXHJcblx0XHRcdC5nZXQoYCR7dGhpcy5lbmRwb2ludH0ke3BhdGggPyBwYXRoIDogJyd9YCwgeyBwYXJhbXM6IHBhcmFtcyBpbnN0YW5jZW9mIEh0dHBQYXJhbXMgPyBwYXJhbXMgOiBVdGlscy50b0h0dHBQYXJhbXMocGFyYW1zKSwgaGVhZGVyczogdGhpcy50b0h0dHBIZWFkZXJzKGhlYWRlcnMpIH0pXHJcblx0XHRcdC5waXBlKGNhdGNoRXJyb3IodGhpcy5oYW5kbGVFcnJvcignZ2V0TGlzdCcpKSk7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBMb2FkcyBkYXRhXHJcblx0ICogQHBhcmFtIHBhcmFtcyBBZGRzIHF1ZXJ5IHBhcmFtcyB0byB0aGUgcmVxdWVzdFxyXG5cdCAqIEBwYXJhbSBwYXRoIEEgcmVsYXRpdmUgcGF0aCB0byB0aGUgYWN0aW9uXHJcblx0ICogQHBhcmFtIGhlYWRlcnMgQWRkcyBoZWFkZXJzIHRvIHRoZSByZXF1ZXN0XHJcblx0ICovXHJcblx0cHVibGljIGxvYWRMaXN0KHBhcmFtcz86IE9iamVjdCB8IG51bGwsIHBhdGg/OiBzdHJpbmcgfCBudWxsLCBoZWFkZXJzPzogT2JqZWN0KTogdm9pZCB7XHJcblx0XHR0aGlzLmdldExpc3QocGFyYW1zLCBwYXRoLCBoZWFkZXJzKVxyXG5cdFx0XHQuc3Vic2NyaWJlKHggPT4gdGhpcy5saXN0Lm5leHQoeCkpO1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogR2V0cyByZXN1bHQgbGlzdCBhcyBPYnNlcnZhYmxlXHJcblx0ICovXHJcblx0cHVibGljIGdldExpc3RBc09ic2VydmFibGUoKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuXHRcdHJldHVybiB0aGlzLmxpc3QuYXNPYnNlcnZhYmxlKCk7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBDcmVhdGVzIGFuIGVudGl0eVxyXG5cdCAqIFxyXG5cdCAqIEBwYXJhbSBlbnRpdHkgVGhlIGVudGl0eSB0byBjcmVhdGVcclxuXHQgKiBAcGFyYW0gcGF0aCBBIHJlbGF0aXZlIHBhdGggdG8gdGhlIGFjdGlvblxyXG5cdCAqIEBwYXJhbSBodHRwT3B0aW9ucyBBZGRpdGlvbmFsIGh0dHAgb3B0aW9ucywgbGlrZSBoZWFkZXJzIGFuZCBzbyBvbiBcclxuXHQgKiBAcGFyYW0gaGFuZGxlRXJyb3IgSGFuZGxlIGVycm9yc1xyXG5cdCAqL1xyXG5cdHB1YmxpYyBjcmVhdGU8VD4oZW50aXR5OiBhbnksIHBhdGg/OiBzdHJpbmcgfCBudWxsLCBodHRwT3B0aW9ucz86IE9iamVjdCwgaGFuZGxlRXJyb3I6IGJvb2xlYW4gPSB0cnVlKTogT2JzZXJ2YWJsZTxUPiB7XHJcblx0XHRsZXQgcmVxdWVzdCA9IHRoaXMuaHR0cFxyXG5cdFx0XHQucG9zdDxUPihgJHt0aGlzLmVuZHBvaW50fSR7cGF0aCA/IHBhdGggOiAnJ31gLCBlbnRpdHksIGh0dHBPcHRpb25zKTtcclxuXHJcblx0XHQvKiBIYW5kbGUgZXJyb3IgKi9cclxuXHRcdGlmIChoYW5kbGVFcnJvcikge1xyXG5cdFx0XHRyZXF1ZXN0ID0gcmVxdWVzdC5waXBlKGNhdGNoRXJyb3IodGhpcy5oYW5kbGVFcnJvcignY3JlYXRlJykpKTtcclxuXHRcdH1cclxuXHJcblx0XHRyZXR1cm4gcmVxdWVzdDtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIFVwZGF0ZXMgYW4gZW50aXR5XHJcblx0ICogXHJcblx0ICogQHBhcmFtIGVudGl0eSBUaGUgZW50aXR5IHRvIHVwZGF0ZVxyXG5cdCAqIEBwYXJhbSBwYXRoIEEgcmVsYXRpdmUgcGF0aCB0byB0aGUgYWN0aW9uXHJcblx0ICogQHBhcmFtIGh0dHBPcHRpb25zIEFkZGl0aW9uYWwgaHR0cCBvcHRpb25zLCBsaWtlIGhlYWRlcnMgYW5kIHNvIG9uIFxyXG5cdCAqIEBwYXJhbSBoYW5kbGVFcnJvciBIYW5kbGUgZXJyb3JzXHJcblx0ICovXHJcblx0cHVibGljIHVwZGF0ZShpZDogc3RyaW5nIHwgbnVtYmVyLCBlbnRpdHk6IGFueSwgcGF0aD86IHN0cmluZyB8IG51bGwsIGh0dHBPcHRpb25zPzogT2JqZWN0LCBoYW5kbGVFcnJvcjogYm9vbGVhbiA9IHRydWUpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG5cdFx0bGV0IHJlcXVlc3QgPSB0aGlzLmh0dHBcclxuXHRcdFx0LnB1dDxUPihgJHt0aGlzLmVuZHBvaW50fSR7cGF0aCA/IHBhdGggOiAnJ30vJHtpZH1gLCBlbnRpdHksIGh0dHBPcHRpb25zKTtcclxuXHJcblx0XHQvKiBIYW5kbGUgZXJyb3IgKi9cclxuXHRcdGlmIChoYW5kbGVFcnJvcikge1xyXG5cdFx0XHRyZXF1ZXN0ID0gcmVxdWVzdC5waXBlKGNhdGNoRXJyb3IodGhpcy5oYW5kbGVFcnJvcigndXBkYXRlJykpKTtcclxuXHRcdH1cclxuXHJcblx0XHRyZXR1cm4gcmVxdWVzdDtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIFBhdGNoZXMgYW4gZW50aXR5XHJcblx0ICogXHJcblx0ICogQHBhcmFtIGlkIGlkIFRoZSBpZCBvZiB0aGUgaXRlbSB0byBwYXRjaFxyXG5cdCAqIEBwYXJhbSBib2R5IFRoZSBib2R5XHJcblx0ICogQHBhcmFtIHBhdGggQSByZWxhdGl2ZSBwYXRoIHRvIHRoZSBhY3Rpb25cclxuXHQgKiBAcGFyYW0gaHR0cE9wdGlvbnMgQWRkaXRpb25hbCBodHRwIG9wdGlvbnMsIGxpa2UgaGVhZGVycyBhbmQgc28gb24gXHJcblx0ICogQHBhcmFtIGhhbmRsZUVycm9yIEhhbmRsZSBlcnJvcnNcclxuXHQgKi9cclxuXHRwdWJsaWMgcGF0Y2goaWQ6IHN0cmluZyB8IG51bWJlciwgYm9keTogYW55LCBwYXRoPzogc3RyaW5nIHwgbnVsbCwgaHR0cE9wdGlvbnM/OiBPYmplY3QsIGhhbmRsZUVycm9yOiBib29sZWFuID0gdHJ1ZSk6IE9ic2VydmFibGU8YW55PiB7XHJcblx0XHRsZXQgcmVxdWVzdCA9IHRoaXMuaHR0cFxyXG5cdFx0XHQucGF0Y2g8VD4oYCR7dGhpcy5lbmRwb2ludH0ke3BhdGggPyBwYXRoIDogJyd9LyR7aWR9YCwgYm9keSwgaHR0cE9wdGlvbnMpO1xyXG5cclxuXHRcdC8qIEhhbmRsZSBlcnJvciAqL1xyXG5cdFx0aWYgKGhhbmRsZUVycm9yKSB7XHJcblx0XHRcdHJlcXVlc3QgPSByZXF1ZXN0LnBpcGUoY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yKCdwYXRjaCcpKSk7XHJcblx0XHR9XHJcblxyXG5cdFx0cmV0dXJuIHJlcXVlc3Q7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBQYXRjaGVzIG11bHRpcGxlIGVudGl0aWVzXHJcblx0ICogXHJcblx0ICogQHBhcmFtIGlkcyBUaGUgaWRzIG9mIHRoZSBpdGVtcyB0byBwYXRjaFxyXG5cdCAqIEBwYXJhbSBib2R5IFRoZSBib2R5XHJcblx0ICogQHBhcmFtIHBhdGggQSByZWxhdGl2ZSBwYXRoIHRvIHRoZSBhY3Rpb25cclxuXHQgKiBAcGFyYW0gaHR0cE9wdGlvbnMgQWRkaXRpb25hbCBodHRwIG9wdGlvbnMsIGxpa2UgaGVhZGVycyBhbmQgc28gb24gXHJcblx0ICogQHBhcmFtIGhhbmRsZUVycm9yIEhhbmRsZSBlcnJvcnNcclxuXHQgKi9cclxuXHRwdWJsaWMgcGF0Y2hMaXN0KGlkczogc3RyaW5nW10gfCBudW1iZXJbXSwgYm9keTogYW55LCBwYXRoPzogc3RyaW5nIHwgbnVsbCwgaHR0cE9wdGlvbnM/OiBPYmplY3QsIGhhbmRsZUVycm9yOiBib29sZWFuID0gdHJ1ZSk6IE9ic2VydmFibGU8YW55PiB7XHJcblx0XHRsZXQgcmVxdWVzdCA9IHRoaXMuaHR0cFxyXG5cdFx0XHQucGF0Y2g8VD4oYCR7dGhpcy5lbmRwb2ludH0ke3BhdGggPyBwYXRoIDogJyd9YCwgYm9keSwgT2JqZWN0LmFzc2lnbihodHRwT3B0aW9ucyB8fCB7fSwgeyBwYXJhbXM6IFV0aWxzLnRvSHR0cFBhcmFtcyh7IGlkczogaWRzIH0pIH0pKTtcclxuXHJcblx0XHQvKiBIYW5kbGUgZXJyb3IgKi9cclxuXHRcdGlmIChoYW5kbGVFcnJvcikge1xyXG5cdFx0XHRyZXF1ZXN0ID0gcmVxdWVzdC5waXBlKGNhdGNoRXJyb3IodGhpcy5oYW5kbGVFcnJvcigncGF0Y2gnKSkpO1xyXG5cdFx0fVxyXG5cclxuXHRcdHJldHVybiByZXF1ZXN0O1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogRGVsZXRlcyBhbiBlbnRpdHkuXHJcblx0ICogXHJcblx0ICogQHBhcmFtIGlkIFRoZSBpZCBvZiB0aGUgaXRlbSB0byBkZWxldGVcclxuXHQgKiBAcGFyYW0gcGF0aCBBIHJlbGF0aXZlIHBhdGggdG8gdGhlIGFjdGlvblxyXG5cdCAqIEBwYXJhbSBodHRwT3B0aW9ucyBBZGRpdGlvbmFsIGh0dHAgb3B0aW9ucywgbGlrZSBoZWFkZXJzIGFuZCBzbyBvbiAgXHJcblx0ICogQHBhcmFtIGhhbmRsZUVycm9yIEhhbmRsZSBlcnJvcnNcclxuXHQgKi9cclxuXHRwdWJsaWMgZGVsZXRlKGlkOiBzdHJpbmcgfCBudW1iZXIsIHBhdGg/OiBzdHJpbmcgfCBudWxsLCBodHRwT3B0aW9ucz86IE9iamVjdCwgaGFuZGxlRXJyb3I6IGJvb2xlYW4gPSB0cnVlKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuXHRcdGxldCByZXF1ZXN0ID0gdGhpcy5odHRwXHJcblx0XHRcdC5kZWxldGUoYCR7dGhpcy5lbmRwb2ludH0ke3BhdGggPyBwYXRoIDogJyd9LyR7aWR9YCwgaHR0cE9wdGlvbnMpO1xyXG5cclxuXHRcdC8qIEhhbmRsZSBlcnJvciAqL1xyXG5cdFx0aWYgKGhhbmRsZUVycm9yKSB7XHJcblx0XHRcdHJlcXVlc3QgPSByZXF1ZXN0LnBpcGUoY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yKCdkZWxldGUnKSkpO1xyXG5cdFx0fVxyXG5cclxuXHRcdHJldHVybiByZXF1ZXN0O1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogRGVsZXRlcyBtdWx0aXBsZSBlbnRpdGllcy5cclxuXHQgKiBcclxuXHQgKiBAcGFyYW0gaWRzIFRoZSBpZHMgb2YgdGhlIGl0ZW1zIHRvIGRlbGV0ZVxyXG5cdCAqIEBwYXJhbSBwYXRoIEEgcmVsYXRpdmUgcGF0aCB0byB0aGUgYWN0aW9uXHJcblx0ICogQHBhcmFtIGh0dHBPcHRpb25zIEFkZGl0aW9uYWwgaHR0cCBvcHRpb25zLCBsaWtlIGhlYWRlcnMgYW5kIHNvIG9uICBcclxuXHQgKiBAcGFyYW0gaGFuZGxlRXJyb3IgSGFuZGxlIGVycm9yc1xyXG5cdCAqL1xyXG5cdHB1YmxpYyBkZWxldGVMaXN0KGlkczogc3RyaW5nW10gfCBudW1iZXJbXSwgcGF0aD86IHN0cmluZyB8IG51bGwsIGh0dHBPcHRpb25zPzogT2JqZWN0LCBoYW5kbGVFcnJvcjogYm9vbGVhbiA9IHRydWUpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG5cdFx0bGV0IHJlcXVlc3QgPSB0aGlzLmh0dHAuZGVsZXRlKGAke3RoaXMuZW5kcG9pbnR9JHtwYXRoID8gcGF0aCA6ICcnfWAsIE9iamVjdC5hc3NpZ24oaHR0cE9wdGlvbnMgfHwge30sIHsgcGFyYW1zOiBVdGlscy50b0h0dHBQYXJhbXMoeyBpZHM6IGlkcyB9KSB9KSk7XHJcblxyXG5cdFx0LyogSGFuZGxlIGVycm9yICovXHJcblx0XHRpZiAoaGFuZGxlRXJyb3IpIHtcclxuXHRcdFx0cmVxdWVzdCA9IHJlcXVlc3QucGlwZShjYXRjaEVycm9yKHRoaXMuaGFuZGxlRXJyb3IoJ2RlbGV0ZUxpc3QnKSkpO1xyXG5cdFx0fVxyXG5cclxuXHRcdHJldHVybiByZXF1ZXN0O1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogRG93bmxvYWRzIGEgZmlsZVxyXG5cdCAqIFxyXG5cdCAqIEBwYXJhbSBwYXRoIEEgcmVsYXRpdmUgcGF0aCB0byB0aGUgYWN0aW9uXHJcblx0ICogQHBhcmFtIHBhcmFtcyBTb21lIHF1ZXJ5IHBhcmFtc1xyXG5cdCAqL1xyXG5cdHB1YmxpYyBkb3dubG9hZChwYXRoOiBzdHJpbmcsIHBhcmFtcz86IE9iamVjdCwgaGFuZGxlRXJyb3I6IGJvb2xlYW4gPSB0cnVlKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuXHRcdGxldCByZXF1ZXN0ID0gdGhpcy5odHRwXHJcblx0XHRcdC5nZXQoYCR7dGhpcy5lbmRwb2ludH0vJHtwYXRoID8gcGF0aCA6ICdkb3dubG9hZCd9YCwgeyBwYXJhbXM6IFV0aWxzLnRvSHR0cFBhcmFtcyhwYXJhbXMpLCByZXNwb25zZVR5cGU6ICdhcnJheWJ1ZmZlcicsIG9ic2VydmU6ICdyZXNwb25zZScgfSlcclxuXHRcdFx0LnBpcGUobWFwKHggPT4geyByZXR1cm4geyBkYXRhOiB4LmJvZHksIGZpbGVuYW1lOiB0aGlzLmdldEZpbGVOYW1lRnJvbUhlYWRlcnMoeC5oZWFkZXJzKSB9IH0pKTtcclxuXHJcblx0XHQvKiBIYW5kbGUgZXJyb3IgKi9cclxuXHRcdGlmIChoYW5kbGVFcnJvcikge1xyXG5cdFx0XHRyZXF1ZXN0ID0gcmVxdWVzdC5waXBlPGFueT4oY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yKCdkb3dubG9hZCcpKSk7XHJcblx0XHR9XHJcblxyXG5cdFx0cmV0dXJuIHJlcXVlc3Q7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBEdXBsaWNhdGVzIGEgcmVjb3JkXHJcblx0ICogQHBhcmFtIGlkIFxyXG5cdCAqL1xyXG5cdHB1YmxpYyBkdXBsaWNhdGUoaWQ6IG51bWJlcik6IE9ic2VydmFibGU8YW55PiB7XHJcblx0XHRyZXR1cm4gdGhpcy5jcmVhdGUobnVsbCwgYC9kdXBsaWNhdGUvJHtpZH1gKTtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIFVwbG9hZHMgYSBmaWxlXHJcblx0ICogXHJcblx0ICogQHBhcmFtIGZpbGUgVGhlIGZpbGUgdG8gdXBsb2FkXHJcblx0ICogQHBhcmFtIHBhdGggQSByZWxhdGl2ZSBwYXRoIHRvIHRoZSBhY3Rpb25cclxuXHQgKi9cclxuXHRwdWJsaWMgdXBsb2FkKGZpbGU6IEZpbGUsIHBhdGg6IHN0cmluZyA9ICd1cGxvYWQnLCBleHRyYURhdGE/OiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG5cdFx0LyogQ3JlYXRlcyBmb3JtIGRhdGEgb2JqZWN0ICovXHJcblx0XHRjb25zdCBmb3JtRGF0YTogRm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKTtcclxuXHJcblx0XHQvKiBBZGQgdGhlIGZpbGUgdG8gdGhlIGZvcm0gZGF0YSAqL1xyXG5cdFx0Zm9ybURhdGEuYXBwZW5kKCdmaWxlJywgZmlsZSwgZmlsZS5uYW1lKTtcclxuXHJcblx0XHQvKiBJdGVyYXRlIGFuZCBzZXQgb3RoZXIgZm9ybSBkYXRhICovXHJcblx0XHRpZiAoZXh0cmFEYXRhKSB7XHJcblx0XHRcdGZvciAobGV0IGtleSBpbiBleHRyYURhdGEpIHtcclxuXHRcdFx0XHRmb3JtRGF0YS5hcHBlbmQoa2V5LCBleHRyYURhdGFba2V5XSlcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdC8qIFNldCB0cnVlIHRvIHJlcG9ydFByb2dyZXNzIHRvIGVuYWJsZSB0cmFja2luZyBvZiBwcm9ncmVzcyBldmVudHMgKi9cclxuXHRcdGNvbnN0IHJlcSA9IG5ldyBIdHRwUmVxdWVzdCgnUE9TVCcsIGAke3RoaXMuZW5kcG9pbnR9LyR7cGF0aCA/IHBhdGggOiAndXBsb2FkJ31gLCBmb3JtRGF0YSwge1xyXG5cdFx0XHRyZXBvcnRQcm9ncmVzczogdHJ1ZVxyXG5cdFx0fSk7XHJcblxyXG5cdFx0LypcclxuXHRcdFRoZSBgSHR0cENsaWVudC5yZXF1ZXN0YCBBUEkgcHJvZHVjZXMgYSByYXcgZXZlbnQgc3RyZWFtXHJcblx0XHR3aGljaCBpbmNsdWRlcyBzdGFydCAoc2VudCksIHByb2dyZXNzLCBhbmQgcmVzcG9uc2UgZXZlbnRzLlxyXG5cdFx0Ki9cclxuXHRcdHJldHVybiB0aGlzLmh0dHAucmVxdWVzdChyZXEpO1xyXG5cdH07XHJcblxyXG5cdC8vLyNyZWdpb24gSGVscGVyc1xyXG5cclxuXHQvKipcclxuXHQgKiBDb252ZXJ0IE9iamVjdCB0byBGcm9tRGF0YVxyXG5cdCAqIFxyXG5cdCAqIEBwYXJhbSBib2R5XHJcblx0ICovXHJcblx0cHJvdGVjdGVkIHRvRm9ybURhdGEoYm9keTogYW55KTogRm9ybURhdGEge1xyXG5cdFx0aWYgKCFib2R5KSB7XHJcblx0XHRcdHJldHVybiBuZXcgRm9ybURhdGEoKTtcclxuXHRcdH1cclxuXHJcblx0XHRyZXR1cm4gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMoYm9keSlcclxuXHRcdFx0LmZpbHRlcihrZXkgPT4gYm9keVtrZXldICE9IG51bGwgJiYgYm9keVtrZXldICE9ICcnKVxyXG5cdFx0XHQucmVkdWNlKChwLCBrZXkpID0+IHsgcC5hcHBlbmQoa2V5LCBib2R5W2tleV0pOyByZXR1cm4gcCB9LCBuZXcgRm9ybURhdGEoKSk7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBDb252ZXJ0IE9iamVjdCB0byBIdHRwSGVhZGVyc1xyXG5cdCAqIFxyXG5cdCAqIEBwYXJhbSBib2R5XHJcblx0ICovXHJcblx0cHJvdGVjdGVkIHRvSHR0cEhlYWRlcnMoYm9keT86IE9iamVjdCB8IG51bGwpOiBIdHRwSGVhZGVycyB7XHJcblx0XHRpZiAoIWJvZHkpIHtcclxuXHRcdFx0cmV0dXJuIG5ldyBIdHRwSGVhZGVycygpO1xyXG5cdFx0fVxyXG5cclxuXHRcdHJldHVybiBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhib2R5KVxyXG5cdFx0XHQuZmlsdGVyKGtleSA9PiAoYm9keSBhcyBhbnkpW2tleV0gIT0gbnVsbCAmJiAoYm9keSBhcyBhbnkpW2tleV0gIT0gJycpXHJcblx0XHRcdC5yZWR1Y2UoKHAsIGtleSkgPT4gcC5zZXQoa2V5LCAoYm9keSBhcyBhbnkpW2tleV0pLCBuZXcgSHR0cEhlYWRlcnMoKSk7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBHZXRzIGZpbGUgbmFtZSBmcm9tIEh0dHBoZWFkZXJzOiBDb250ZW50LURpc3Bvc2l0aW9uXHJcblx0ICogQHBhcmFtIGRpc3Bvc2l0aW9uIFxyXG5cdCAqL1xyXG5cdHByb3RlY3RlZCBnZXRGaWxlTmFtZUZyb21IZWFkZXJzKGhlYWRlcnM6IEh0dHBIZWFkZXJzKTogc3RyaW5nIHtcclxuXHRcdHZhciBkaXNwb3NpdGlvbiA9IGhlYWRlcnMuZ2V0KCdjb250ZW50LWRpc3Bvc2l0aW9uJyk7XHJcblx0XHRpZiAoZGlzcG9zaXRpb24gJiYgZGlzcG9zaXRpb24uaW5kZXhPZignYXR0YWNobWVudCcpICE9PSAtMSkge1xyXG5cdFx0XHR2YXIgbWF0Y2hlcyA9IC9maWxlbmFtZVteOz1cXG5dKj0oKFsnXCJdKS4qP1xcMnxbXjtcXG5dKikvLmV4ZWMoZGlzcG9zaXRpb24pO1xyXG5cdFx0XHRpZiAobWF0Y2hlcyAhPSBudWxsICYmIG1hdGNoZXNbMV0pIHtcclxuXHRcdFx0XHRyZXR1cm4gbWF0Y2hlc1sxXS5yZXBsYWNlKC9bJ1wiXS9nLCAnJyk7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHRyZXR1cm4gXCJcIjtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIFJldHVybnMgYSBmdW5jdGlvbiB0aGF0IGhhbmRsZXMgSHR0cCBvcGVyYXRpb24gZmFpbHVyZXMuXHJcblx0ICogVGhpcyBlcnJvciBoYW5kbGVyIGxldHMgdGhlIGFwcCBjb250aW51ZSB0byBydW4gYXMgaWYgbm8gZXJyb3Igb2NjdXJyZWQuXHJcblx0ICogQHBhcmFtIG9wZXJhdGlvbiAtIG5hbWUgb2YgdGhlIG9wZXJhdGlvbiB0aGF0IGZhaWxlZFxyXG5cdCAqL1xyXG5cdHByb3RlY3RlZCBoYW5kbGVFcnJvcihvcGVyYXRpb24gPSAnb3BlcmF0aW9uJykge1xyXG5cdFx0cmV0dXJuIChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpOiBPYnNlcnZhYmxlPGFueT4gPT4ge1xyXG5cdFx0XHRjb25zb2xlLmxvZyhlcnJvcik7XHJcblx0XHRcdGNvbnN0IG1lc3NhZ2UgPSAoZXJyb3IuZXJyb3IgaW5zdGFuY2VvZiBFcnJvckV2ZW50KSA/IGVycm9yLmVycm9yLm1lc3NhZ2UgOiBgc2VydmVyIHJldHVybmVkIGNvZGUgJHtlcnJvci5zdGF0dXN9IHdpdGggYm9keSBcIiR7ZXJyb3IuZXJyb3J9XCJgO1xyXG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYCR7b3BlcmF0aW9ufSBmYWlsZWQ6ICR7bWVzc2FnZX1gKTtcclxuXHRcdH07XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBSZXR1cm4gZGlzdGluY3QgbWVzc2FnZSBmb3Igc2VudCwgdXBsb2FkIHByb2dyZXNzLCAmIHJlc3BvbnNlIGV2ZW50c1xyXG5cdCAqIFxyXG5cdCAqIEBwYXJhbSBldmVudCBUaGUgcmVzcG9uc2UgZXZlbnRcclxuXHQgKiBAcGFyYW0gZmlsZSBUaGUgZmlsZSBiZWVpbmcgdXBsb2FkZWRcclxuXHQgKi9cclxuXHRwcm90ZWN0ZWQgZ2V0RXZlbnRNZXNzYWdlKGV2ZW50OiBIdHRwRXZlbnQ8YW55PiwgZmlsZTogRmlsZSkge1xyXG5cdFx0c3dpdGNoIChldmVudC50eXBlKSB7XHJcblx0XHRcdC8qIFVwbG9hZCBzdGFydGVkICovXHJcblx0XHRcdGNhc2UgSHR0cEV2ZW50VHlwZS5TZW50OlxyXG5cdFx0XHRcdHJldHVybiBgVXBsb2FkaW5nIGZpbGUgXCIke2ZpbGUubmFtZX1cIiBvZiBzaXplICR7ZmlsZS5zaXplfS5gO1xyXG5cclxuXHRcdFx0LyogQ29tcHV0ZSBhbmQgc2hvdyB0aGUgJSBkb25lOiAqL1xyXG5cdFx0XHRjYXNlIEh0dHBFdmVudFR5cGUuVXBsb2FkUHJvZ3Jlc3M6XHJcblx0XHRcdFx0Y29uc3QgcGVyY2VudERvbmUgPSBNYXRoLnJvdW5kKDEwMCAqIGV2ZW50LmxvYWRlZCAvIChldmVudD8udG90YWwgPz8gMSkpO1xyXG5cdFx0XHRcdHJldHVybiBgRmlsZSBcIiR7ZmlsZS5uYW1lfVwiIGlzICR7cGVyY2VudERvbmV9JSB1cGxvYWRlZC5gO1xyXG5cclxuXHRcdFx0LyogVXBsb2FkIGNvbXBsZXRlZCAqL1xyXG5cdFx0XHRjYXNlIEh0dHBFdmVudFR5cGUuUmVzcG9uc2U6XHJcblx0XHRcdFx0cmV0dXJuIGBGaWxlIFwiJHtmaWxlLm5hbWV9XCIgd2FzIGNvbXBsZXRlbHkgdXBsb2FkZWQhYDtcclxuXHJcblx0XHRcdGRlZmF1bHQ6XHJcblx0XHRcdFx0cmV0dXJuIGBGaWxlIFwiJHtmaWxlLm5hbWV9XCIgc3VycHJpc2luZyB1cGxvYWQgZXZlbnQ6ICR7ZXZlbnQudHlwZX0uYDtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIFNob3dzIHVwbG9hZCBwcm9ncmVzcy5cclxuXHQgKiBcclxuXHQgKiBAcGFyYW0gbWVzc2FnZSBcclxuXHQgKi9cclxuXHRwcm90ZWN0ZWQgc2hvd1Byb2dyZXNzKG1lc3NhZ2U6IHN0cmluZykge1xyXG5cdFx0Y29uc29sZS5kZWJ1ZyhtZXNzYWdlKTtcclxuXHR9XHJcblxyXG5cdC8vI2VuZHJlZ2lvblxyXG59Il19
@@ -1,3 +1,5 @@
1
+ import { __decorate, __metadata } from "tslib";
2
+ import { prop } from "../../form-validators/decorators";
1
3
  /**
2
4
  * Represents a value within a facet, with an ID, value, count, and selection status.
3
5
  */
@@ -26,4 +28,20 @@ export class FacetValue {
26
28
  Object.assign(this, init);
27
29
  }
28
30
  }
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjZXQtdmFsdWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvc3JjL2xpYi90YWJsZS9tb2RlbHMvZmFjZXQtdmFsdWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFDSCxNQUFNLE9BQU8sVUFBVTtJQUNuQjs7T0FFRztJQUNJLEVBQUUsQ0FBVTtJQUVuQjs7T0FFRztJQUNJLEtBQUssQ0FBVTtJQUV0Qjs7T0FFRztJQUNJLEtBQUssQ0FBVTtJQUV0Qjs7T0FFRztJQUNJLFFBQVEsQ0FBVztJQUUxQjs7O09BR0c7SUFDSCxZQUFtQixJQUEwQjtRQUN6QyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztJQUM5QixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogUmVwcmVzZW50cyBhIHZhbHVlIHdpdGhpbiBhIGZhY2V0LCB3aXRoIGFuIElELCB2YWx1ZSwgY291bnQsIGFuZCBzZWxlY3Rpb24gc3RhdHVzLlxyXG4gKi9cclxuZXhwb3J0IGNsYXNzIEZhY2V0VmFsdWUge1xyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgSUQgb2YgdGhlIGZhY2V0IHZhbHVlLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgaWQ/OiBzdHJpbmc7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgZGlzcGxheSB2YWx1ZSBvZiB0aGUgZmFjZXQuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyB2YWx1ZT86IHN0cmluZztcclxuXHJcbiAgICAvKipcclxuICAgICAqIFRoZSBjb3VudCBvZiBpdGVtcyBtYXRjaGluZyB0aGlzIGZhY2V0IHZhbHVlLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgY291bnQ/OiBudW1iZXI7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBXaGV0aGVyIHRoaXMgZmFjZXQgdmFsdWUgaXMgc2VsZWN0ZWQuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzZWxlY3RlZD86IGJvb2xlYW47XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDb25zdHJ1Y3RvclxyXG4gICAgICogQHBhcmFtIGluaXRcclxuICAgICAqL1xyXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKGluaXQ/OiBQYXJ0aWFsPEZhY2V0VmFsdWU+KSB7XHJcbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBpbml0KTtcclxuICAgIH1cclxufSJdfQ==
31
+ __decorate([
32
+ prop(),
33
+ __metadata("design:type", String)
34
+ ], FacetValue.prototype, "id", void 0);
35
+ __decorate([
36
+ prop(),
37
+ __metadata("design:type", String)
38
+ ], FacetValue.prototype, "value", void 0);
39
+ __decorate([
40
+ prop(),
41
+ __metadata("design:type", Number)
42
+ ], FacetValue.prototype, "count", void 0);
43
+ __decorate([
44
+ prop(),
45
+ __metadata("design:type", Boolean)
46
+ ], FacetValue.prototype, "selected", void 0);
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjZXQtdmFsdWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvc3JjL2xpYi90YWJsZS9tb2RlbHMvZmFjZXQtdmFsdWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUV4RDs7R0FFRztBQUNILE1BQU0sT0FBTyxVQUFVO0lBQ25COztPQUVHO0lBRUksRUFBRSxDQUFVO0lBRW5COztPQUVHO0lBRUksS0FBSyxDQUFVO0lBRXRCOztPQUVHO0lBRUksS0FBSyxDQUFVO0lBRXRCOztPQUVHO0lBRUksUUFBUSxDQUFXO0lBRTFCOzs7T0FHRztJQUNILFlBQW1CLElBQTBCO1FBQ3pDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzlCLENBQUM7Q0FDSjtBQTNCVTtJQUROLElBQUksRUFBRTs7c0NBQ1k7QUFNWjtJQUROLElBQUksRUFBRTs7eUNBQ2U7QUFNZjtJQUROLElBQUksRUFBRTs7eUNBQ2U7QUFNZjtJQUROLElBQUksRUFBRTs7NENBQ21CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcHJvcCB9IGZyb20gXCIuLi8uLi9mb3JtLXZhbGlkYXRvcnMvZGVjb3JhdG9yc1wiO1xyXG5cclxuLyoqXHJcbiAqIFJlcHJlc2VudHMgYSB2YWx1ZSB3aXRoaW4gYSBmYWNldCwgd2l0aCBhbiBJRCwgdmFsdWUsIGNvdW50LCBhbmQgc2VsZWN0aW9uIHN0YXR1cy5cclxuICovXHJcbmV4cG9ydCBjbGFzcyBGYWNldFZhbHVlIHtcclxuICAgIC8qKlxyXG4gICAgICogVGhlIElEIG9mIHRoZSBmYWNldCB2YWx1ZS5cclxuICAgICAqL1xyXG4gICAgQHByb3AoKVxyXG4gICAgcHVibGljIGlkPzogc3RyaW5nO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogVGhlIGRpc3BsYXkgdmFsdWUgb2YgdGhlIGZhY2V0LlxyXG4gICAgICovXHJcbiAgICBAcHJvcCgpXHJcbiAgICBwdWJsaWMgdmFsdWU/OiBzdHJpbmc7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgY291bnQgb2YgaXRlbXMgbWF0Y2hpbmcgdGhpcyBmYWNldCB2YWx1ZS5cclxuICAgICAqL1xyXG4gICAgQHByb3AoKVxyXG4gICAgcHVibGljIGNvdW50PzogbnVtYmVyO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogV2hldGhlciB0aGlzIGZhY2V0IHZhbHVlIGlzIHNlbGVjdGVkLlxyXG4gICAgICovXHJcbiAgICBAcHJvcCgpXHJcbiAgICBwdWJsaWMgc2VsZWN0ZWQ/OiBib29sZWFuO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ29uc3RydWN0b3JcclxuICAgICAqIEBwYXJhbSBpbml0XHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBjb25zdHJ1Y3Rvcihpbml0PzogUGFydGlhbDxGYWNldFZhbHVlPikge1xyXG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywgaW5pdCk7XHJcbiAgICB9XHJcbn0iXX0=
@@ -1,3 +1,6 @@
1
+ import { __decorate, __metadata } from "tslib";
2
+ import { prop, propArray } from "../../form-validators/decorators";
3
+ import { FacetValue } from "./facet-value";
1
4
  /**
2
5
  * Represents a facet with a key, name, values, and a flag indicating if multiple values can be selected.
3
6
  */
@@ -13,7 +16,7 @@ export class Facet {
13
16
  /**
14
17
  * The list of values within this facet.
15
18
  */
16
- values;
19
+ values = [];
17
20
  /**
18
21
  * Whether multiple values can be selected for this facet.
19
22
  */
@@ -26,4 +29,20 @@ export class Facet {
26
29
  Object.assign(this, init);
27
30
  }
28
31
  }
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjZXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvc3JjL2xpYi90YWJsZS9tb2RlbHMvZmFjZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUE7O0dBRUc7QUFDSCxNQUFNLE9BQU8sS0FBSztJQUNkOztPQUVHO0lBQ0ksR0FBRyxDQUFVO0lBRXBCOztPQUVHO0lBQ0ksSUFBSSxDQUFVO0lBRXJCOztPQUVHO0lBQ0ksTUFBTSxDQUFnQjtJQUU3Qjs7T0FFRztJQUNJLFFBQVEsQ0FBVztJQUUxQjs7O09BR0c7SUFDSCxZQUFtQixJQUFxQjtRQUNwQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztJQUM5QixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGYWNldFZhbHVlIH0gZnJvbSBcIi4vZmFjZXQtdmFsdWVcIjtcclxuXHJcbi8qKlxyXG4gKiBSZXByZXNlbnRzIGEgZmFjZXQgd2l0aCBhIGtleSwgbmFtZSwgdmFsdWVzLCBhbmQgYSBmbGFnIGluZGljYXRpbmcgaWYgbXVsdGlwbGUgdmFsdWVzIGNhbiBiZSBzZWxlY3RlZC5cclxuICovXHJcbmV4cG9ydCBjbGFzcyBGYWNldCB7XHJcbiAgICAvKipcclxuICAgICAqIFRoZSBrZXkgaWRlbnRpZnlpbmcgdGhlIGZhY2V0LlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMga2V5Pzogc3RyaW5nO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogVGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgZmFjZXQuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBuYW1lPzogc3RyaW5nO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogVGhlIGxpc3Qgb2YgdmFsdWVzIHdpdGhpbiB0aGlzIGZhY2V0LlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgdmFsdWVzPzogRmFjZXRWYWx1ZVtdO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogV2hldGhlciBtdWx0aXBsZSB2YWx1ZXMgY2FuIGJlIHNlbGVjdGVkIGZvciB0aGlzIGZhY2V0LlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgbXVsdGlwbGU/OiBib29sZWFuO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ29uc3RydWN0b3JcclxuICAgICAqIEBwYXJhbSBpbml0XHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBjb25zdHJ1Y3Rvcihpbml0PzogUGFydGlhbDxGYWNldD4pIHtcclxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGluaXQpO1xyXG4gICAgfVxyXG59Il19
32
+ __decorate([
33
+ prop(),
34
+ __metadata("design:type", String)
35
+ ], Facet.prototype, "key", void 0);
36
+ __decorate([
37
+ prop(),
38
+ __metadata("design:type", String)
39
+ ], Facet.prototype, "name", void 0);
40
+ __decorate([
41
+ propArray(FacetValue),
42
+ __metadata("design:type", Array)
43
+ ], Facet.prototype, "values", void 0);
44
+ __decorate([
45
+ prop(),
46
+ __metadata("design:type", Boolean)
47
+ ], Facet.prototype, "multiple", void 0);
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjZXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvc3JjL2xpYi90YWJsZS9tb2RlbHMvZmFjZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDbkUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQzs7R0FFRztBQUNILE1BQU0sT0FBTyxLQUFLO0lBQ2Q7O09BRUc7SUFFSSxHQUFHLENBQVU7SUFFcEI7O09BRUc7SUFFSSxJQUFJLENBQVU7SUFFckI7O09BRUc7SUFFSSxNQUFNLEdBQWtCLEVBQUUsQ0FBQztJQUVsQzs7T0FFRztJQUVJLFFBQVEsQ0FBVztJQUUxQjs7O09BR0c7SUFDSCxZQUFtQixJQUFxQjtRQUNwQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztJQUM5QixDQUFDO0NBQ0o7QUEzQlU7SUFETixJQUFJLEVBQUU7O2tDQUNhO0FBTWI7SUFETixJQUFJLEVBQUU7O21DQUNjO0FBTWQ7SUFETixTQUFTLENBQUMsVUFBVSxDQUFDOztxQ0FDWTtBQU0zQjtJQUROLElBQUksRUFBRTs7dUNBQ21CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcHJvcCwgcHJvcEFycmF5IH0gZnJvbSBcIi4uLy4uL2Zvcm0tdmFsaWRhdG9ycy9kZWNvcmF0b3JzXCI7XHJcbmltcG9ydCB7IEZhY2V0VmFsdWUgfSBmcm9tIFwiLi9mYWNldC12YWx1ZVwiO1xyXG5cclxuLyoqXHJcbiAqIFJlcHJlc2VudHMgYSBmYWNldCB3aXRoIGEga2V5LCBuYW1lLCB2YWx1ZXMsIGFuZCBhIGZsYWcgaW5kaWNhdGluZyBpZiBtdWx0aXBsZSB2YWx1ZXMgY2FuIGJlIHNlbGVjdGVkLlxyXG4gKi9cclxuZXhwb3J0IGNsYXNzIEZhY2V0IHtcclxuICAgIC8qKlxyXG4gICAgICogVGhlIGtleSBpZGVudGlmeWluZyB0aGUgZmFjZXQuXHJcbiAgICAgKi9cclxuICAgIEBwcm9wKClcclxuICAgIHB1YmxpYyBrZXk/OiBzdHJpbmc7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgZGlzcGxheSBuYW1lIG9mIHRoZSBmYWNldC5cclxuICAgICAqL1xyXG4gICAgQHByb3AoKVxyXG4gICAgcHVibGljIG5hbWU/OiBzdHJpbmc7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgbGlzdCBvZiB2YWx1ZXMgd2l0aGluIHRoaXMgZmFjZXQuXHJcbiAgICAgKi9cclxuICAgIEBwcm9wQXJyYXkoRmFjZXRWYWx1ZSlcclxuICAgIHB1YmxpYyB2YWx1ZXM/OiBGYWNldFZhbHVlW10gPSBbXTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFdoZXRoZXIgbXVsdGlwbGUgdmFsdWVzIGNhbiBiZSBzZWxlY3RlZCBmb3IgdGhpcyBmYWNldC5cclxuICAgICAqL1xyXG4gICAgQHByb3AoKVxyXG4gICAgcHVibGljIG11bHRpcGxlPzogYm9vbGVhbjtcclxuXHJcbiAgICAvKipcclxuICAgICAqIENvbnN0cnVjdG9yXHJcbiAgICAgKiBAcGFyYW0gaW5pdFxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgY29uc3RydWN0b3IoaW5pdD86IFBhcnRpYWw8RmFjZXQ+KSB7XHJcbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBpbml0KTtcclxuICAgIH1cclxufSJdfQ==
@@ -2962,15 +2962,16 @@ class GenericService {
2962
2962
  return request.pipe(map(x => { return x.value; }));
2963
2963
  }
2964
2964
  /**
2965
- * Gets a list of entities
2965
+ * Gets a list of entities.
2966
2966
  *
2967
- * @param params Adds query params to the request
2968
- * @param headers Adds headers to the request
2969
- * @param path A relative path to the action
2967
+ * @param params Optional. Adds query params to the request.
2968
+ * @param path Optional. A relative path to the action.
2969
+ * @param headers Optional. Adds headers to the request.
2970
+ * @returns An Observable with the response data.
2970
2971
  */
2971
2972
  getList(params, path, headers) {
2972
2973
  return this.http
2973
- .get(`${this.endpoint}${path ? path : ''}`, { params: Utils.toHttpParams(params), headers: this.toHttpHeaders(headers) })
2974
+ .get(`${this.endpoint}${path ? path : ''}`, { params: params instanceof HttpParams ? params : Utils.toHttpParams(params), headers: this.toHttpHeaders(headers) })
2974
2975
  .pipe(catchError(this.handleError('getList')));
2975
2976
  }
2976
2977
  /**
@@ -14614,25 +14615,25 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImpor
14614
14615
  }] });
14615
14616
 
14616
14617
  /**
14617
- * Represents a facet with a key, name, values, and a flag indicating if multiple values can be selected.
14618
+ * Represents a value within a facet, with an ID, value, count, and selection status.
14618
14619
  */
14619
- class Facet {
14620
+ class FacetValue {
14620
14621
  /**
14621
- * The key identifying the facet.
14622
+ * The ID of the facet value.
14622
14623
  */
14623
- key;
14624
+ id;
14624
14625
  /**
14625
- * The display name of the facet.
14626
+ * The display value of the facet.
14626
14627
  */
14627
- name;
14628
+ value;
14628
14629
  /**
14629
- * The list of values within this facet.
14630
+ * The count of items matching this facet value.
14630
14631
  */
14631
- values;
14632
+ count;
14632
14633
  /**
14633
- * Whether multiple values can be selected for this facet.
14634
+ * Whether this facet value is selected.
14634
14635
  */
14635
- multiple;
14636
+ selected;
14636
14637
  /**
14637
14638
  * Constructor
14638
14639
  * @param init
@@ -14641,27 +14642,43 @@ class Facet {
14641
14642
  Object.assign(this, init);
14642
14643
  }
14643
14644
  }
14645
+ __decorate([
14646
+ prop(),
14647
+ __metadata("design:type", String)
14648
+ ], FacetValue.prototype, "id", void 0);
14649
+ __decorate([
14650
+ prop(),
14651
+ __metadata("design:type", String)
14652
+ ], FacetValue.prototype, "value", void 0);
14653
+ __decorate([
14654
+ prop(),
14655
+ __metadata("design:type", Number)
14656
+ ], FacetValue.prototype, "count", void 0);
14657
+ __decorate([
14658
+ prop(),
14659
+ __metadata("design:type", Boolean)
14660
+ ], FacetValue.prototype, "selected", void 0);
14644
14661
 
14645
14662
  /**
14646
- * Represents a value within a facet, with an ID, value, count, and selection status.
14663
+ * Represents a facet with a key, name, values, and a flag indicating if multiple values can be selected.
14647
14664
  */
14648
- class FacetValue {
14665
+ class Facet {
14649
14666
  /**
14650
- * The ID of the facet value.
14667
+ * The key identifying the facet.
14651
14668
  */
14652
- id;
14669
+ key;
14653
14670
  /**
14654
- * The display value of the facet.
14671
+ * The display name of the facet.
14655
14672
  */
14656
- value;
14673
+ name;
14657
14674
  /**
14658
- * The count of items matching this facet value.
14675
+ * The list of values within this facet.
14659
14676
  */
14660
- count;
14677
+ values = [];
14661
14678
  /**
14662
- * Whether this facet value is selected.
14679
+ * Whether multiple values can be selected for this facet.
14663
14680
  */
14664
- selected;
14681
+ multiple;
14665
14682
  /**
14666
14683
  * Constructor
14667
14684
  * @param init
@@ -14670,6 +14687,22 @@ class FacetValue {
14670
14687
  Object.assign(this, init);
14671
14688
  }
14672
14689
  }
14690
+ __decorate([
14691
+ prop(),
14692
+ __metadata("design:type", String)
14693
+ ], Facet.prototype, "key", void 0);
14694
+ __decorate([
14695
+ prop(),
14696
+ __metadata("design:type", String)
14697
+ ], Facet.prototype, "name", void 0);
14698
+ __decorate([
14699
+ propArray(FacetValue),
14700
+ __metadata("design:type", Array)
14701
+ ], Facet.prototype, "values", void 0);
14702
+ __decorate([
14703
+ prop(),
14704
+ __metadata("design:type", Boolean)
14705
+ ], Facet.prototype, "multiple", void 0);
14673
14706
 
14674
14707
  /**
14675
14708
  * Pagination class to represent paginated data.