@dereekb/dbx-core 12.4.5 → 12.5.1

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,28 @@
1
1
  import { LoadingStateType } from '@dereekb/rxjs';
2
+ /**
3
+ * Creates a working progress value from an array of working progress values.
4
+ *
5
+ * @param workOrWorkProgress The array of working progress values to use.
6
+ * @param progressPercent An optional progress percent value to use if the working progress is a boolean.
7
+ * @returns The working progress value.
8
+ */
9
+ export function dbxActionWorkProgress(workOrWorkProgress, progressPercent) {
10
+ const workingValue = workOrWorkProgress.reduce((acc, val) => acc ?? val);
11
+ const isWorking = workingValue != null && workingValue !== false;
12
+ let workingProgress;
13
+ if (isWorking) {
14
+ if (typeof workingValue === 'number') {
15
+ workingProgress = workingValue;
16
+ }
17
+ else {
18
+ workingProgress = progressPercent ?? true;
19
+ }
20
+ }
21
+ else {
22
+ workingProgress = false;
23
+ }
24
+ return workingProgress;
25
+ }
2
26
  /**
3
27
  * Used by ActionContextState to denote what state the action is in.
4
28
  */
@@ -68,4 +92,4 @@ export function loadingStateTypeForActionState(actionState) {
68
92
  }
69
93
  return loadingStateType;
70
94
  }
71
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWNvcmUvc3JjL2xpYi9hY3Rpb24vYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUdqRDs7R0FFRztBQUNILE1BQU0sQ0FBTixJQUFZLGNBaUNYO0FBakNELFdBQVksY0FBYztJQUN4Qjs7T0FFRztJQUNILCtCQUFhLENBQUE7SUFDYjs7T0FFRztJQUNILHVDQUFxQixDQUFBO0lBQ3JCOztPQUVHO0lBQ0gseUNBQXVCLENBQUE7SUFDdkI7Ozs7T0FJRztJQUNILDRDQUEwQixDQUFBO0lBQzFCOztPQUVHO0lBQ0gscUNBQW1CLENBQUE7SUFDbkI7Ozs7T0FJRztJQUNILHVDQUFxQixDQUFBO0lBQ3JCOztPQUVHO0lBQ0gsdUNBQXFCLENBQUE7QUFDdkIsQ0FBQyxFQWpDVyxjQUFjLEtBQWQsY0FBYyxRQWlDekI7QUF1QkQsTUFBTSxDQUFDLE1BQU0sMkJBQTJCLEdBQUcscUJBQXFCLENBQUM7QUFFakUsTUFBTSxVQUFVLGlCQUFpQixDQUFDLFdBQTJCO0lBQzNELFFBQVEsV0FBVyxFQUFFLENBQUM7UUFDcEIsS0FBSyxjQUFjLENBQUMsSUFBSSxDQUFDO1FBQ3pCLEtBQUssY0FBYyxDQUFDLFFBQVEsQ0FBQztRQUM3QixLQUFLLGNBQWMsQ0FBQyxRQUFRLENBQUM7UUFDN0IsS0FBSyxjQUFjLENBQUMsUUFBUTtZQUMxQixPQUFPLElBQUksQ0FBQztRQUNkO1lBQ0UsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztBQUNILENBQUM7QUFFRCxNQUFNLFVBQVUsOEJBQThCLENBQUMsV0FBMkI7SUFDeEUsSUFBSSxnQkFBa0MsQ0FBQztJQUV2QyxRQUFRLFdBQVcsRUFBRSxDQUFDO1FBQ3BCLEtBQUssY0FBYyxDQUFDLFFBQVE7WUFDMUIsZ0JBQWdCLEdBQUcsZ0JBQWdCLENBQUMsT0FBTyxDQUFDO1lBQzVDLE1BQU07UUFDUixLQUFLLGNBQWMsQ0FBQyxRQUFRO1lBQzFCLGdCQUFnQixHQUFHLGdCQUFnQixDQUFDLEtBQUssQ0FBQztZQUMxQyxNQUFNO1FBQ1IsS0FBSyxjQUFjLENBQUMsSUFBSSxDQUFDO1FBQ3pCLEtBQUssY0FBYyxDQUFDLFFBQVE7WUFDMUIsZ0JBQWdCLEdBQUcsZ0JBQWdCLENBQUMsSUFBSSxDQUFDO1lBQ3pDLE1BQU07UUFDUjtZQUNFLGdCQUFnQixHQUFHLGdCQUFnQixDQUFDLE9BQU8sQ0FBQztZQUM1QyxNQUFNO0lBQ1YsQ0FBQztJQUVELE9BQU8sZ0JBQWdCLENBQUM7QUFDMUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExvYWRpbmdTdGF0ZVR5cGUgfSBmcm9tICdAZGVyZWVrYi9yeGpzJztcbmltcG9ydCB7IHR5cGUgTWF5YmUgfSBmcm9tICdAZGVyZWVrYi91dGlsJztcblxuLyoqXG4gKiBVc2VkIGJ5IEFjdGlvbkNvbnRleHRTdGF0ZSB0byBkZW5vdGUgd2hhdCBzdGF0ZSB0aGUgYWN0aW9uIGlzIGluLlxuICovXG5leHBvcnQgZW51bSBEYnhBY3Rpb25TdGF0ZSB7XG4gIC8qKlxuICAgKiBObyBhY3Rpb24gaW4gcHJvZ3Jlc3MuIFdhaXRpbmcgZm9yIHRoZSB0cmlnZ2VyLlxuICAgKi9cbiAgSURMRSA9ICdpZGxlJyxcbiAgLyoqXG4gICAqIElkbGUgc3RhdGUgdGhhdCBjYW4gYmUgc2V0IHRvIHNob3cgdGhhdCB0aGUgc291cmNlIGlzIG5vdCB5ZXQgcmVhZHkuXG4gICAqL1xuICBESVNBQkxFRCA9ICdkaXNhYmxlZCcsXG4gIC8qKlxuICAgKiBUaGUgYWN0aW9uIHdhcyB0cmlnZ2VyZWQuIFdlIHdhaXQgKGFuZCBhbGxvdykgdGhlIHZhbHVlIHRvIGJlIHVwZGF0ZWQuXG4gICAqL1xuICBUUklHR0VSRUQgPSAndHJpZ2dlcmVkJyxcbiAgLyoqXG4gICAqIFRoZSB0cmlnZ2VyIHdhcyBhY2NlcHRlZCBhbmQgdGhlIHZhbHVlIGlzIHVwZGF0ZWQuIEl0IHNob3VsZCBiZWdpbiB3b3JraW5nIGltbWVkaWF0ZWx5LlxuICAgKlxuICAgKiBWYWx1ZVJlYWR5IGNhbm5vdCBiZSBzZXQgdW50aWwgdHJpZ2dlcmVkIGlzIHNldC5cbiAgICovXG4gIFZBTFVFX1JFQURZID0gJ3ZhbHVlUmVhZHknLFxuICAvKipcbiAgICogVGhlIGFjdGlvbiBpcyBpbiBwcm9ncmVzcy5cbiAgICovXG4gIFdPUktJTkcgPSAnd29ya2luZycsXG4gIC8qKlxuICAgKiBUaGUgdHJpZ2dlciwgYWN0aW9uLCBvciB2YWx1ZSB3YXMgcmVqZWN0ZWQgZHVlIHRvIGFuIGVycm9yIG9yIG90aGVyIGlzc3VlLlxuICAgKlxuICAgKiBBbiBlcnJvciBtYXkgYmUgc3BlY2lmaWVkIG9wdGlvbmFsbHkuXG4gICAqL1xuICBSRUpFQ1RFRCA9ICdyZWplY3RlZCcsXG4gIC8qKlxuICAgKiBUaGUgYWN0aW9uIHJlc29sdmVkIHdpdGhvdXQgaXNzdWUuXG4gICAqL1xuICBSRVNPTFZFRCA9ICdyZXNvbHZlZCdcbn1cblxuLyoqXG4gKiBDb250YWlucyB0aGUgaW5wdXQgdmFsdWUgYW5kIHRoZSBvdXRwdXQgcmVzdWx0IGZyb20gYSBEYnhBY3Rpb24uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGJ4QWN0aW9uU3VjY2Vzc1BhaXI8VCwgTz4ge1xuICByZWFkb25seSB2YWx1ZTogVDtcbiAgcmVhZG9ubHkgcmVzdWx0OiBNYXliZTxPPjtcbn1cblxuLyoqXG4gKiBDb250YWlucyB0aGUgaW5wdXQgdmFsdWUgYW5kIHRoZSBvdXRwdXQgZXJyb3IgZnJvbSBhIERieEFjdGlvbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEYnhBY3Rpb25SZWplY3RlZFBhaXI8VD4ge1xuICByZWFkb25seSB2YWx1ZTogVDtcbiAgcmVhZG9ubHkgZXJyb3I6IHVua25vd247XG59XG5cbi8qKlxuICogVW5pcXVlIGtleSBmb3IgZGlzYWJsaW5nL2VuYWJsaW5nLlxuICovXG5leHBvcnQgdHlwZSBEYnhBY3Rpb25EaXNhYmxlZEtleSA9IHN0cmluZztcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfQUNUSU9OX0RJU0FCTEVEX0tFWSA9ICdkYnhfYWN0aW9uX2Rpc2FibGVkJztcblxuZXhwb3J0IGZ1bmN0aW9uIGlzSWRsZUFjdGlvblN0YXRlKGFjdGlvblN0YXRlOiBEYnhBY3Rpb25TdGF0ZSk6IGJvb2xlYW4ge1xuICBzd2l0Y2ggKGFjdGlvblN0YXRlKSB7XG4gICAgY2FzZSBEYnhBY3Rpb25TdGF0ZS5JRExFOlxuICAgIGNhc2UgRGJ4QWN0aW9uU3RhdGUuRElTQUJMRUQ6XG4gICAgY2FzZSBEYnhBY3Rpb25TdGF0ZS5SRUpFQ1RFRDpcbiAgICBjYXNlIERieEFjdGlvblN0YXRlLlJFU09MVkVEOlxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gbG9hZGluZ1N0YXRlVHlwZUZvckFjdGlvblN0YXRlKGFjdGlvblN0YXRlOiBEYnhBY3Rpb25TdGF0ZSk6IExvYWRpbmdTdGF0ZVR5cGUge1xuICBsZXQgbG9hZGluZ1N0YXRlVHlwZTogTG9hZGluZ1N0YXRlVHlwZTtcblxuICBzd2l0Y2ggKGFjdGlvblN0YXRlKSB7XG4gICAgY2FzZSBEYnhBY3Rpb25TdGF0ZS5SRVNPTFZFRDpcbiAgICAgIGxvYWRpbmdTdGF0ZVR5cGUgPSBMb2FkaW5nU3RhdGVUeXBlLlNVQ0NFU1M7XG4gICAgICBicmVhaztcbiAgICBjYXNlIERieEFjdGlvblN0YXRlLlJFSkVDVEVEOlxuICAgICAgbG9hZGluZ1N0YXRlVHlwZSA9IExvYWRpbmdTdGF0ZVR5cGUuRVJST1I7XG4gICAgICBicmVhaztcbiAgICBjYXNlIERieEFjdGlvblN0YXRlLklETEU6XG4gICAgY2FzZSBEYnhBY3Rpb25TdGF0ZS5ESVNBQkxFRDpcbiAgICAgIGxvYWRpbmdTdGF0ZVR5cGUgPSBMb2FkaW5nU3RhdGVUeXBlLklETEU7XG4gICAgICBicmVhaztcbiAgICBkZWZhdWx0OlxuICAgICAgbG9hZGluZ1N0YXRlVHlwZSA9IExvYWRpbmdTdGF0ZVR5cGUuTE9BRElORztcbiAgICAgIGJyZWFrO1xuICB9XG5cbiAgcmV0dXJuIGxvYWRpbmdTdGF0ZVR5cGU7XG59XG4iXX0=
95
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWNvcmUvc3JjL2xpYi9hY3Rpb24vYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQWlCakQ7Ozs7OztHQU1HO0FBQ0gsTUFBTSxVQUFVLHFCQUFxQixDQUFDLGtCQUF3RCxFQUFFLGVBQThDO0lBQzVJLE1BQU0sWUFBWSxHQUFHLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsSUFBSSxHQUFHLENBQUMsQ0FBQztJQUN6RSxNQUFNLFNBQVMsR0FBRyxZQUFZLElBQUksSUFBSSxJQUFJLFlBQVksS0FBSyxLQUFLLENBQUM7SUFFakUsSUFBSSxlQUE0QyxDQUFDO0lBRWpELElBQUksU0FBUyxFQUFFLENBQUM7UUFDZCxJQUFJLE9BQU8sWUFBWSxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQ3JDLGVBQWUsR0FBRyxZQUFZLENBQUM7UUFDakMsQ0FBQzthQUFNLENBQUM7WUFDTixlQUFlLEdBQUcsZUFBZSxJQUFJLElBQUksQ0FBQztRQUM1QyxDQUFDO0lBQ0gsQ0FBQztTQUFNLENBQUM7UUFDTixlQUFlLEdBQUcsS0FBSyxDQUFDO0lBQzFCLENBQUM7SUFFRCxPQUFPLGVBQWUsQ0FBQztBQUN6QixDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLENBQU4sSUFBWSxjQWlDWDtBQWpDRCxXQUFZLGNBQWM7SUFDeEI7O09BRUc7SUFDSCwrQkFBYSxDQUFBO0lBQ2I7O09BRUc7SUFDSCx1Q0FBcUIsQ0FBQTtJQUNyQjs7T0FFRztJQUNILHlDQUF1QixDQUFBO0lBQ3ZCOzs7O09BSUc7SUFDSCw0Q0FBMEIsQ0FBQTtJQUMxQjs7T0FFRztJQUNILHFDQUFtQixDQUFBO0lBQ25COzs7O09BSUc7SUFDSCx1Q0FBcUIsQ0FBQTtJQUNyQjs7T0FFRztJQUNILHVDQUFxQixDQUFBO0FBQ3ZCLENBQUMsRUFqQ1csY0FBYyxLQUFkLGNBQWMsUUFpQ3pCO0FBdUJELE1BQU0sQ0FBQyxNQUFNLDJCQUEyQixHQUFHLHFCQUFxQixDQUFDO0FBRWpFLE1BQU0sVUFBVSxpQkFBaUIsQ0FBQyxXQUEyQjtJQUMzRCxRQUFRLFdBQVcsRUFBRSxDQUFDO1FBQ3BCLEtBQUssY0FBYyxDQUFDLElBQUksQ0FBQztRQUN6QixLQUFLLGNBQWMsQ0FBQyxRQUFRLENBQUM7UUFDN0IsS0FBSyxjQUFjLENBQUMsUUFBUSxDQUFDO1FBQzdCLEtBQUssY0FBYyxDQUFDLFFBQVE7WUFDMUIsT0FBTyxJQUFJLENBQUM7UUFDZDtZQUNFLE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7QUFDSCxDQUFDO0FBRUQsTUFBTSxVQUFVLDhCQUE4QixDQUFDLFdBQTJCO0lBQ3hFLElBQUksZ0JBQWtDLENBQUM7SUFFdkMsUUFBUSxXQUFXLEVBQUUsQ0FBQztRQUNwQixLQUFLLGNBQWMsQ0FBQyxRQUFRO1lBQzFCLGdCQUFnQixHQUFHLGdCQUFnQixDQUFDLE9BQU8sQ0FBQztZQUM1QyxNQUFNO1FBQ1IsS0FBSyxjQUFjLENBQUMsUUFBUTtZQUMxQixnQkFBZ0IsR0FBRyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUM7WUFDMUMsTUFBTTtRQUNSLEtBQUssY0FBYyxDQUFDLElBQUksQ0FBQztRQUN6QixLQUFLLGNBQWMsQ0FBQyxRQUFRO1lBQzFCLGdCQUFnQixHQUFHLGdCQUFnQixDQUFDLElBQUksQ0FBQztZQUN6QyxNQUFNO1FBQ1I7WUFDRSxnQkFBZ0IsR0FBRyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUM7WUFDNUMsTUFBTTtJQUNWLENBQUM7SUFFRCxPQUFPLGdCQUFnQixDQUFDO0FBQzFCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMb2FkaW5nU3RhdGVUeXBlIH0gZnJvbSAnQGRlcmVla2Ivcnhqcyc7XG5pbXBvcnQgeyB0eXBlIFBlcmNlbnROdW1iZXIsIHR5cGUgTWF5YmUgfSBmcm9tICdAZGVyZWVrYi91dGlsJztcblxuLyoqXG4gKiBVc2VkIHRvIGRlbm90ZSB0aGUgcGVyY2VudCBwcm9ncmVzcyBvZiBhIHdvcmtpbmcgYWN0aW9uLlxuICpcbiAqIFRoaXMgaXMgYSBQZXJjZW50TnVtYmVyLCBhIG51bWJlciBiZXR3ZWVuIDAgYW5kIDEwMC5cbiAqL1xuZXhwb3J0IHR5cGUgRGJ4QWN0aW9uV29ya1Byb2dyZXNzID0gUGVyY2VudE51bWJlcjtcblxuLyoqXG4gKiBVc2VkIGZvciBkZW5vdGluZyB3b3JraW5nIHN0YXRlIG9yIHByb2dyZXNzLlxuICpcbiAqIFRydWUgaXMgd29ya2luZywgYnV0IG5vIHByb2dyZXNzIGxldmVsLlxuICovXG5leHBvcnQgdHlwZSBEYnhBY3Rpb25Xb3JrT3JXb3JrUHJvZ3Jlc3MgPSBib29sZWFuIHwgRGJ4QWN0aW9uV29ya1Byb2dyZXNzO1xuXG4vKipcbiAqIENyZWF0ZXMgYSB3b3JraW5nIHByb2dyZXNzIHZhbHVlIGZyb20gYW4gYXJyYXkgb2Ygd29ya2luZyBwcm9ncmVzcyB2YWx1ZXMuXG4gKlxuICogQHBhcmFtIHdvcmtPcldvcmtQcm9ncmVzcyBUaGUgYXJyYXkgb2Ygd29ya2luZyBwcm9ncmVzcyB2YWx1ZXMgdG8gdXNlLlxuICogQHBhcmFtIHByb2dyZXNzUGVyY2VudCBBbiBvcHRpb25hbCBwcm9ncmVzcyBwZXJjZW50IHZhbHVlIHRvIHVzZSBpZiB0aGUgd29ya2luZyBwcm9ncmVzcyBpcyBhIGJvb2xlYW4uXG4gKiBAcmV0dXJucyBUaGUgd29ya2luZyBwcm9ncmVzcyB2YWx1ZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRieEFjdGlvbldvcmtQcm9ncmVzcyh3b3JrT3JXb3JrUHJvZ3Jlc3M6IE1heWJlPERieEFjdGlvbldvcmtPcldvcmtQcm9ncmVzcz5bXSwgcHJvZ3Jlc3NQZXJjZW50PzogTWF5YmU8RGJ4QWN0aW9uV29ya1Byb2dyZXNzPikge1xuICBjb25zdCB3b3JraW5nVmFsdWUgPSB3b3JrT3JXb3JrUHJvZ3Jlc3MucmVkdWNlKChhY2MsIHZhbCkgPT4gYWNjID8/IHZhbCk7XG4gIGNvbnN0IGlzV29ya2luZyA9IHdvcmtpbmdWYWx1ZSAhPSBudWxsICYmIHdvcmtpbmdWYWx1ZSAhPT0gZmFsc2U7XG5cbiAgbGV0IHdvcmtpbmdQcm9ncmVzczogRGJ4QWN0aW9uV29ya09yV29ya1Byb2dyZXNzO1xuXG4gIGlmIChpc1dvcmtpbmcpIHtcbiAgICBpZiAodHlwZW9mIHdvcmtpbmdWYWx1ZSA9PT0gJ251bWJlcicpIHtcbiAgICAgIHdvcmtpbmdQcm9ncmVzcyA9IHdvcmtpbmdWYWx1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgd29ya2luZ1Byb2dyZXNzID0gcHJvZ3Jlc3NQZXJjZW50ID8/IHRydWU7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIHdvcmtpbmdQcm9ncmVzcyA9IGZhbHNlO1xuICB9XG5cbiAgcmV0dXJuIHdvcmtpbmdQcm9ncmVzcztcbn1cblxuLyoqXG4gKiBVc2VkIGJ5IEFjdGlvbkNvbnRleHRTdGF0ZSB0byBkZW5vdGUgd2hhdCBzdGF0ZSB0aGUgYWN0aW9uIGlzIGluLlxuICovXG5leHBvcnQgZW51bSBEYnhBY3Rpb25TdGF0ZSB7XG4gIC8qKlxuICAgKiBObyBhY3Rpb24gaW4gcHJvZ3Jlc3MuIFdhaXRpbmcgZm9yIHRoZSB0cmlnZ2VyLlxuICAgKi9cbiAgSURMRSA9ICdpZGxlJyxcbiAgLyoqXG4gICAqIElkbGUgc3RhdGUgdGhhdCBjYW4gYmUgc2V0IHRvIHNob3cgdGhhdCB0aGUgc291cmNlIGlzIG5vdCB5ZXQgcmVhZHkuXG4gICAqL1xuICBESVNBQkxFRCA9ICdkaXNhYmxlZCcsXG4gIC8qKlxuICAgKiBUaGUgYWN0aW9uIHdhcyB0cmlnZ2VyZWQuIFdlIHdhaXQgKGFuZCBhbGxvdykgdGhlIHZhbHVlIHRvIGJlIHVwZGF0ZWQuXG4gICAqL1xuICBUUklHR0VSRUQgPSAndHJpZ2dlcmVkJyxcbiAgLyoqXG4gICAqIFRoZSB0cmlnZ2VyIHdhcyBhY2NlcHRlZCBhbmQgdGhlIHZhbHVlIGlzIHVwZGF0ZWQuIEl0IHNob3VsZCBiZWdpbiB3b3JraW5nIGltbWVkaWF0ZWx5LlxuICAgKlxuICAgKiBWYWx1ZVJlYWR5IGNhbm5vdCBiZSBzZXQgdW50aWwgdHJpZ2dlcmVkIGlzIHNldC5cbiAgICovXG4gIFZBTFVFX1JFQURZID0gJ3ZhbHVlUmVhZHknLFxuICAvKipcbiAgICogVGhlIGFjdGlvbiBpcyBpbiBwcm9ncmVzcy5cbiAgICovXG4gIFdPUktJTkcgPSAnd29ya2luZycsXG4gIC8qKlxuICAgKiBUaGUgdHJpZ2dlciwgYWN0aW9uLCBvciB2YWx1ZSB3YXMgcmVqZWN0ZWQgZHVlIHRvIGFuIGVycm9yIG9yIG90aGVyIGlzc3VlLlxuICAgKlxuICAgKiBBbiBlcnJvciBtYXkgYmUgc3BlY2lmaWVkIG9wdGlvbmFsbHkuXG4gICAqL1xuICBSRUpFQ1RFRCA9ICdyZWplY3RlZCcsXG4gIC8qKlxuICAgKiBUaGUgYWN0aW9uIHJlc29sdmVkIHdpdGhvdXQgaXNzdWUuXG4gICAqL1xuICBSRVNPTFZFRCA9ICdyZXNvbHZlZCdcbn1cblxuLyoqXG4gKiBDb250YWlucyB0aGUgaW5wdXQgdmFsdWUgYW5kIHRoZSBvdXRwdXQgcmVzdWx0IGZyb20gYSBEYnhBY3Rpb24uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGJ4QWN0aW9uU3VjY2Vzc1BhaXI8VCwgTz4ge1xuICByZWFkb25seSB2YWx1ZTogVDtcbiAgcmVhZG9ubHkgcmVzdWx0OiBNYXliZTxPPjtcbn1cblxuLyoqXG4gKiBDb250YWlucyB0aGUgaW5wdXQgdmFsdWUgYW5kIHRoZSBvdXRwdXQgZXJyb3IgZnJvbSBhIERieEFjdGlvbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEYnhBY3Rpb25SZWplY3RlZFBhaXI8VD4ge1xuICByZWFkb25seSB2YWx1ZTogVDtcbiAgcmVhZG9ubHkgZXJyb3I6IHVua25vd247XG59XG5cbi8qKlxuICogVW5pcXVlIGtleSBmb3IgZGlzYWJsaW5nL2VuYWJsaW5nLlxuICovXG5leHBvcnQgdHlwZSBEYnhBY3Rpb25EaXNhYmxlZEtleSA9IHN0cmluZztcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfQUNUSU9OX0RJU0FCTEVEX0tFWSA9ICdkYnhfYWN0aW9uX2Rpc2FibGVkJztcblxuZXhwb3J0IGZ1bmN0aW9uIGlzSWRsZUFjdGlvblN0YXRlKGFjdGlvblN0YXRlOiBEYnhBY3Rpb25TdGF0ZSk6IGJvb2xlYW4ge1xuICBzd2l0Y2ggKGFjdGlvblN0YXRlKSB7XG4gICAgY2FzZSBEYnhBY3Rpb25TdGF0ZS5JRExFOlxuICAgIGNhc2UgRGJ4QWN0aW9uU3RhdGUuRElTQUJMRUQ6XG4gICAgY2FzZSBEYnhBY3Rpb25TdGF0ZS5SRUpFQ1RFRDpcbiAgICBjYXNlIERieEFjdGlvblN0YXRlLlJFU09MVkVEOlxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gbG9hZGluZ1N0YXRlVHlwZUZvckFjdGlvblN0YXRlKGFjdGlvblN0YXRlOiBEYnhBY3Rpb25TdGF0ZSk6IExvYWRpbmdTdGF0ZVR5cGUge1xuICBsZXQgbG9hZGluZ1N0YXRlVHlwZTogTG9hZGluZ1N0YXRlVHlwZTtcblxuICBzd2l0Y2ggKGFjdGlvblN0YXRlKSB7XG4gICAgY2FzZSBEYnhBY3Rpb25TdGF0ZS5SRVNPTFZFRDpcbiAgICAgIGxvYWRpbmdTdGF0ZVR5cGUgPSBMb2FkaW5nU3RhdGVUeXBlLlNVQ0NFU1M7XG4gICAgICBicmVhaztcbiAgICBjYXNlIERieEFjdGlvblN0YXRlLlJFSkVDVEVEOlxuICAgICAgbG9hZGluZ1N0YXRlVHlwZSA9IExvYWRpbmdTdGF0ZVR5cGUuRVJST1I7XG4gICAgICBicmVhaztcbiAgICBjYXNlIERieEFjdGlvblN0YXRlLklETEU6XG4gICAgY2FzZSBEYnhBY3Rpb25TdGF0ZS5ESVNBQkxFRDpcbiAgICAgIGxvYWRpbmdTdGF0ZVR5cGUgPSBMb2FkaW5nU3RhdGVUeXBlLklETEU7XG4gICAgICBicmVhaztcbiAgICBkZWZhdWx0OlxuICAgICAgbG9hZGluZ1N0YXRlVHlwZSA9IExvYWRpbmdTdGF0ZVR5cGUuTE9BRElORztcbiAgICAgIGJyZWFrO1xuICB9XG5cbiAgcmV0dXJuIGxvYWRpbmdTdGF0ZVR5cGU7XG59XG4iXX0=
@@ -1,6 +1,6 @@
1
1
  import { Injectable } from '@angular/core';
2
2
  import { ComponentStore } from '@ngrx/component-store';
3
- import { distinctUntilChanged, filter, map, shareReplay, switchMap, startWith } from 'rxjs';
3
+ import { distinctUntilChanged, filter, map, shareReplay, switchMap, startWith, of } from 'rxjs';
4
4
  import { BooleanStringKeyArrayUtility } from '@dereekb/util';
5
5
  import { idleLoadingState, errorResult, filterMaybe, LockSet, scanCount, successResult, beginLoading } from '@dereekb/rxjs';
6
6
  import { DbxActionState, DEFAULT_ACTION_DISABLED_KEY, isIdleActionState, loadingStateTypeForActionState } from './action';
@@ -47,7 +47,7 @@ export function loadingStateForActionContextState(state) {
47
47
  loadingState = idleLoadingState();
48
48
  break;
49
49
  default:
50
- loadingState = beginLoading();
50
+ loadingState = beginLoading(state.workProgress != null ? { loadingProgress: state.workProgress } : undefined);
51
51
  break;
52
52
  }
53
53
  return loadingState;
@@ -95,6 +95,10 @@ export class ActionContextStore extends ComponentStore {
95
95
  * Pipes the readied value on ValueReady.
96
96
  */
97
97
  valueReady$ = this.afterDistinctActionState(DbxActionState.VALUE_READY, (x) => x.value);
98
+ /**
99
+ * Pipes the working progress on the working state.
100
+ */
101
+ workProgress$ = this.state$.pipe(map((x) => x.workProgress), distinctUntilChanged(), shareReplay(1));
98
102
  /**
99
103
  * Pipes the error on the rejection state.
100
104
  */
@@ -111,6 +115,19 @@ export class ActionContextStore extends ComponentStore {
111
115
  * Whether or not it is currently in a working state.
112
116
  */
113
117
  isWorking$ = this.afterDistinctBoolean((x) => isWorkingActionState(x.actionState));
118
+ /**
119
+ * Pipes the current work or work progress.
120
+ */
121
+ isWorkingOrWorkProgress$ = this.isWorking$.pipe(switchMap((x) => {
122
+ let obs;
123
+ if (x) {
124
+ obs = this.workProgress$.pipe(filter((x) => x != null), startWith(x));
125
+ }
126
+ else {
127
+ obs = of(x);
128
+ }
129
+ return obs;
130
+ }), distinctUntilChanged(), shareReplay(1));
114
131
  /**
115
132
  * Pipes the current error.
116
133
  */
@@ -130,7 +147,17 @@ export class ActionContextStore extends ComponentStore {
130
147
  /**
131
148
  * Returns a loading state based on the current state.
132
149
  */
133
- loadingState$ = this.afterDistinctLoadingStateTypeChange().pipe(map((x) => loadingStateForActionContextState(x)), shareReplay(1));
150
+ loadingState$ = this.afterDistinctLoadingStateTypeChange().pipe(switchMap((x) => {
151
+ const base = loadingStateForActionContextState(x);
152
+ let obs;
153
+ if (base.loading === true) {
154
+ obs = this.workProgress$.pipe(filter((x) => x != null), map((loadingProgress) => ({ ...base, loadingProgress })), startWith(base));
155
+ }
156
+ else {
157
+ obs = of(base);
158
+ }
159
+ return obs;
160
+ }), shareReplay(1));
134
161
  /**
135
162
  * Returns the current LoadingStateType based on the current state.
136
163
  */
@@ -192,7 +219,11 @@ export class ActionContextStore extends ComponentStore {
192
219
  /**
193
220
  * Notifys the context that the action is in progress.
194
221
  */
195
- startWorking = this.updater((state) => ({ ...state, actionState: DbxActionState.WORKING }));
222
+ startWorking = this.updater((state) => ({ ...state, actionState: DbxActionState.WORKING, workProgress: null }));
223
+ /**
224
+ * Updates the working progress.
225
+ */
226
+ setWorkProgress = this.updater((state, workProgress) => ({ ...state, workProgress }));
196
227
  /**
197
228
  * Triggers rejection of the action. The value is cleared.
198
229
  */
@@ -252,4 +283,4 @@ function updateIsModifiedOnActionContextState(state, isModified) {
252
283
  isModified: isModified ?? true // if isModified is not input, default it to true
253
284
  };
254
285
  }
255
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLnN0b3JlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWNvcmUvc3JjL2xpYi9hY3Rpb24vYWN0aW9uLnN0b3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDdEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3ZELE9BQU8sRUFBYyxvQkFBb0IsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3hHLE9BQU8sRUFBeUIsNEJBQTRCLEVBQXdCLE1BQU0sZUFBZSxDQUFDO0FBQzFHLE9BQU8sRUFBb0IsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBZ0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVKLE9BQU8sRUFBK0MsY0FBYyxFQUF3QiwyQkFBMkIsRUFBRSxpQkFBaUIsRUFBRSw4QkFBOEIsRUFBRSxNQUFNLFVBQVUsQ0FBQzs7QUFFN0wsTUFBTSxVQUFVLHNCQUFzQixDQUFDLEtBQXlCO0lBQzlELE9BQU8sNEJBQTRCLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUM5RCxDQUFDO0FBRUQsTUFBTSxVQUFVLHVCQUF1QixDQUFDLEtBQXlCO0lBQy9ELE9BQU8sNEJBQTRCLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUM3RCxDQUFDO0FBRUQsTUFBTSxVQUFVLDRCQUE0QixDQUFDLEtBQXlCO0lBQ3BFLE9BQU8saUJBQWlCLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxJQUFJLHVCQUF1QixDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ2hGLENBQUM7QUFFRCxNQUFNLFVB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O0FBeVFYLFNBQVMsZ0NBQWdDLENBQU8sS0FBK0IsRUFBRSxNQUF1QjtJQUN0RyxPQUFPLG9DQUFvQyxDQUFDLEtBQUssRUFBRSxNQUFNLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDdkYsQ0FBQztBQUVELFNBQVMsb0NBQW9DLENBQU8sS0FBK0IsRUFBRSxVQUEyQjtJQUM5RyxPQUFPO1FBQ0wsR0FBRyxLQUFLO1FBQ1IsV0FBVyxFQUFFLEtBQUssQ0FBQyxXQUFXLEtBQUssY0FBYyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSw0QkFBNEI7UUFDbEksVUFBVSxFQUFHLFVBQXNCLElBQUksSUFBSSxDQUFDLGlEQUFpRDtLQUM5RixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tcG9uZW50U3RvcmUgfSBmcm9tICdAbmdyeC9jb21wb25lbnQtc3RvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgZGlzdGluY3RVbnRpbENoYW5nZWQsIGZpbHRlciwgbWFwLCBzaGFyZVJlcGxheSwgc3dpdGNoTWFwLCBzdGFydFdpdGggfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEJvb2xlYW5TdHJpbmdLZXlBcnJheSwgQm9vbGVhblN0cmluZ0tleUFycmF5VXRpbGl0eSwgTWF5YmUsIFJlYWRhYmxlRXJyb3IgfSBmcm9tICdAZGVyZWVrYi91dGlsJztcbmltcG9ydCB7IExvYWRpbmdTdGF0ZVR5cGUsIGlkbGVMb2FkaW5nU3RhdGUsIGVycm9yUmVzdWx0LCBmaWx0ZXJNYXliZSwgTG9hZGluZ1N0YXRlLCBMb2NrU2V0LCBzY2FuQ291bnQsIHN1Y2Nlc3NSZXN1bHQsIGJlZ2luTG9hZGluZyB9IGZyb20gJ0BkZXJlZWtiL3J4anMnO1xuaW1wb3J0IHsgRGJ4QWN0aW9uRGlzYWJsZWRLZXksIERieEFjdGlvblJlamVjdGVkUGFpciwgRGJ4QWN0aW9uU3RhdGUsIERieEFjdGlvblN1Y2Nlc3NQYWlyLCBERUZBVUxUX0FDVElPTl9ESVNBQkxFRF9LRVksIGlzSWRsZUFjdGlvblN0YXRlLCBsb2FkaW5nU3RhdGVUeXBlRm9yQWN0aW9uU3RhdGUgfSBmcm9tICcuL2FjdGlvbic7XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0FjdGlvbkNvbnRleHRFbmFibGVkKHN0YXRlOiBBY3Rpb25Db250ZXh0U3RhdGUpOiBib29sZWFuIHtcbiAgcmV0dXJuIEJvb2xlYW5TdHJpbmdLZXlBcnJheVV0aWxpdHkuaXNGYWxzZShzdGF0ZS5kaXNhYmxlZCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0FjdGlvbkNvbnRleHREaXNhYmxlZChzdGF0ZTogQWN0aW9uQ29udGV4dFN0YXRlKTogYm9vbGVhbiB7XG4gIHJldHVybiBCb29sZWFuU3RyaW5nS2V5QXJyYXlVdGlsaXR5LmlzVHJ1ZShzdGF0ZS5kaXNhYmxlZCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0Rpc2FibGVkQWN0aW9uQ29udGV4dFN0YXRlKHN0YXRlOiBBY3Rpb25Db250ZXh0U3RhdGUpOiBib29sZWFuIHtcbiAgcmV0dXJuIGlzSWRsZUFjdGlvblN0YXRlKHN0YXRlLmFjdGlvblN0YXRlKSAmJiBpc0FjdGlvbkNvbnRleHREaXNhYmxlZChzdGF0ZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1dvcmtpbmdBY3Rpb25TdGF0ZShhY3Rpb25TdGF0ZTogRGJ4QWN0aW9uU3RhdGUpOiBib29sZWFuIHtcbiAgcmV0dXJuICFpc0lkbGVBY3Rpb25TdGF0ZShhY3Rpb25TdGF0ZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjYW5UcmlnZ2VyQWN0aW9uU3RhdGUoYWN0aW9uU3RhdGU6IERieEFjdGlvblN0YXRlKTogYm9vbGVhbiB7XG4gIHJldHVybiBhY3Rpb25TdGF0ZSAhPT0gRGJ4QWN0aW9uU3RhdGUuRElTQUJMRUQgJiYgaXNJZGxlQWN0aW9uU3RhdGUoYWN0aW9uU3RhdGUpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY2FuVHJpZ2dlckFjdGlvbihzdGF0ZTogQWN0aW9uQ29udGV4dFN0YXRlKTogYm9vbGVhbiB7XG4gIHJldHVybiBpc0FjdGlvbkNvbnRleHRFbmFibGVkKHN0YXRlKSAmJiBpc0lkbGVBY3Rpb25TdGF0ZShzdGF0ZS5hY3Rpb25TdGF0ZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjYW5SZWFkeVZhbHVlKHN0YXRlOiBBY3Rpb25Db250ZXh0U3RhdGUpOiBib29sZWFuIHtcbiAgcmV0dXJuIHN0YXRlLmFjdGlvblN0YXRlID09PSBEYnhBY3Rpb25TdGF0ZS5UUklHR0VSRUQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhY3Rpb25Db250ZXh0SXNNb2RpZmllZEFuZENhblRyaWdnZXIoc3RhdGU6IEFjdGlvbkNvbnRleHRTdGF0ZSk6IGJvb2xlYW4ge1xuICAvLyBjb25zb2xlLmxvZygnY2hlY2s6ICcsIHN0YXRlLCBzdGF0ZS5pc01vZGlmaWVkLCBjYW5UcmlnZ2VyQWN0aW9uKHN0YXRlKSk7XG4gIHJldHVybiBzdGF0ZS5pc01vZGlmaWVkICYmIGNhblRyaWdnZXJBY3Rpb24oc3RhdGUpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYWN0aW9uQ29udGV4dEhhc05vRXJyb3JBbmRJc01vZGlmaWVkQW5kQ2FuVHJpZ2dlcihzdGF0ZTogQWN0aW9uQ29udGV4dFN0YXRlKTogYm9vbGVhbiB7XG4gIHJldHVybiAhc3RhdGUuZXJyb3IgJiYgYWN0aW9uQ29udGV4dElzTW9kaWZpZWRBbmRDYW5UcmlnZ2VyKHN0YXRlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGxvYWRpbmdTdGF0ZUZvckFjdGlvbkNvbnRleHRTdGF0ZTxPID0gdW5rbm93bj4oc3RhdGU6IEFjdGlvbkNvbnRleHRTdGF0ZTx1bmtub3duLCBPPik6IExvYWRpbmdTdGF0ZTxPPiB7XG4gIGxldCBsb2FkaW5nU3RhdGU6IExvYWRpbmdTdGF0ZTxPPjtcblxuICBzd2l0Y2ggKHN0YXRlLmFjdGlvblN0YXRlKSB7XG4gICAgY2FzZSBEYnhBY3Rpb25TdGF0ZS5SRVNPTFZFRDpcbiAgICAgIGxvYWRpbmdTdGF0ZSA9IHN1Y2Nlc3NSZXN1bHQoc3RhdGUucmVzdWx0KTtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgRGJ4QWN0aW9uU3RhdGUuUkVKRUNURUQ6XG4gICAgICBsb2FkaW5nU3RhdGUgPSBlcnJvclJlc3VsdChzdGF0ZS5lcnJvcik7XG4gICAgICBicmVhaztcbiAgICBjYXNlIERieEFjdGlvblN0YXRlLklETEU6XG4gICAgY2FzZSBEYnhBY3Rpb25TdGF0ZS5ESVNBQkxFRDpcbiAgICAgIGxvYWRpbmdTdGF0ZSA9IGlkbGVMb2FkaW5nU3RhdGUoKTtcbiAgICAgIGJyZWFrO1xuICAgIGRlZmF1bHQ6XG4gICAgICBsb2FkaW5nU3RhdGUgPSBiZWdpbkxvYWRpbmcoKTtcbiAgICAgIGJyZWFrO1xuICB9XG5cbiAgcmV0dXJuIGxvYWRpbmdTdGF0ZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGxvYWRpbmdTdGF0ZVR5cGVGb3JBY3Rpb25Db250ZXh0U3RhdGUoc3RhdGU6IEFjdGlvbkNvbnRleHRTdGF0ZSk6IExvYWRpbmdTdGF0ZVR5cGUge1xuICByZXR1cm4gbG9hZGluZ1N0YXRlVHlwZUZvckFjdGlvblN0YXRlKHN0YXRlLmFjdGlvblN0YXRlKTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBY3Rpb25Db250ZXh0U3RhdGU8VCA9IHVua25vd24sIE8gPSB1bmtub3duPiB7XG4gIHJlYWRvbmx5IGFjdGlvblN0YXRlOiBEYnhBY3Rpb25TdGF0ZTtcbiAgLyoqXG4gICAqIFdoZXRoZXIgb3Igbm90IHRoaXMgYWN0aW9uIGlzIGZsYWdnZWQgYXMgaGF2aW5nIGJlZW4gbW9kaWZpZWQuXG4gICAqL1xuICByZWFkb25seSBpc01vZGlmaWVkOiBib29sZWFuO1xuICAvKipcbiAgICogVmFsdWUgdGhhdCBpcyBzZXQgYWZ0ZXIgYSB0cmlnZ2VyZWQgYWN0aW9uLiBOb3QgdG8gYmUgY29uZnVzZWQgd2l0aCByZXN1bHQuXG4gICAqL1xuICByZWFkb25seSB2YWx1ZT86IE1heWJlPFQ+O1xuICAvKipcbiAgICogUmVzb2x2ZWQgcmVzdWx0IHZhbHVlLlxuICAgKi9cbiAgcmVhZG9ubHkgcmVzdWx0PzogTWF5YmU8Tz47XG4gIC8qKlxuICAgKiBSZWplY3RlZCBlcnJvciwgaWYgYXZhaWxhYmxlLlxuICAgKi9cbiAgcmVhZG9ubHkgZXJyb3I/OiBNYXliZTxSZWFkYWJsZUVycm9yPjtcbiAgLyoqXG4gICAqIEN1cnJlbnQgZGlzYWJsZWQgc3RhdGUuXG4gICAqL1xuICByZWFkb25seSBkaXNhYmxlZD86IEJvb2xlYW5TdHJpbmdLZXlBcnJheTtcbiAgLyoqXG4gICAqIE51bWJlciBvZiBjb25zZWN1dGl2ZSBlcnJvcnMgdGhhdCBoYXZlIG9jY3VyZWQuXG4gICAqL1xuICByZWFkb25seSBlcnJvckNvdW50PzogbnVtYmVyO1xufVxuXG5jb25zdCBJTklUSUFMX1NUQVRFOiBBY3Rpb25Db250ZXh0U3RhdGUgPSB7XG4gIGlzTW9kaWZpZWQ6IGZhbHNlLFxuICBhY3Rpb25TdGF0ZTogRGJ4QWN0aW9uU3RhdGUuSURMRVxufTtcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEFjdGlvbkNvbnRleHRTdG9yZTxUID0gdW5rbm93biwgTyA9IHVua25vd24+IGV4dGVuZHMgQ29tcG9uZW50U3RvcmU8QWN0aW9uQ29udGV4dFN0YXRlPFQsIE8+PiBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIHJlYWRvbmx5IGxvY2tTZXQgPSBuZXcgTG9ja1NldCgpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKHsgLi4uSU5JVElBTF9TVEFURSB9IGFzIEFjdGlvbkNvbnRleHRTdGF0ZTxULCBPPik7XG4gICAgdGhpcy5sb2NrU2V0LmFkZExvY2soJ3dvcmtpbmcnLCB0aGlzLmlzV29ya2luZyQpO1xuICB9XG5cbiAgLy8gTUFSSzogQWNjZXNzb3JzXG4gIHJlYWRvbmx5IGFjdGlvblN0YXRlJCA9IHRoaXMuc3RhdGUkLnBpcGUoXG4gICAgbWFwKCh4KSA9PiAoaXNEaXNhYmxlZEFjdGlvbkNvbnRleHRTdGF0ZSh4KSA/IERieEFjdGlvblN0YXRlLkRJU0FCTEVEIDogeC5hY3Rpb25TdGF0ZSkpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGN1cnJlbnQgZGlzYWJsZWQgcmVhc29ucy9rZXlzLlxuICAgKi9cbiAgcmVhZG9ubHkgZGlzYWJsZWRLZXlzJCA9IHRoaXMuc3RhdGUkLnBpcGUoXG4gICAgbWFwKCh4KSA9PiBbLi4uKHguZGlzYWJsZWQgPz8gW10pXSksXG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuXG4gIC8qKlxuICAgKiBDdXJyZW50IHZhbHVlIG9mIHRoZSBzdGF0ZS5cbiAgICovXG4gIHJlYWRvbmx5IGN1cnJlbnRWYWx1ZSQ6IE9ic2VydmFibGU8TWF5YmU8VD4+ID0gdGhpcy5zdGF0ZSQucGlwZShtYXAoKHgpID0+IHgudmFsdWUpKTtcblxuICAvKipcbiAgICogTWFwcyB0aGUgY3VycmVudCBzdGF0ZSB0byB0cnVlIG9yIG5vdCB3aGVuIHRoZSBhY3Rpb24gc3RhdGUgY2hhbmdlcyB0by9mcm9tIGRpc2FibGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgaXNEaXNhYmxlZCQgPSB0aGlzLnN0YXRlJC5waXBlKG1hcChpc0Rpc2FibGVkQWN0aW9uQ29udGV4dFN0YXRlKSwgZGlzdGluY3RVbnRpbENoYW5nZWQoKSwgc2hhcmVSZXBsYXkoMSkpO1xuXG4gIC8qKlxuICAgKiBQaXBlcyB3aGVuIGlkbGUgYnV0IG1vZGlmaWVkLlxuICAgKi9cbiAgcmVhZG9ubHkgaXNNb2RpZmllZCQgPSB0aGlzLmFmdGVyRGlzdGluY3RCb29sZWFuKCh4KSA9PiB4LmlzTW9kaWZpZWQpO1xuXG4gIC8qKlxuICAgKiBQaXBlcyB0cnVlIHdoZW4gaWRsZS5cbiAgICovXG4gIHJlYWRvbmx5IGlkbGUkID0gdGhpcy5hY3Rpb25TdGF0ZSQucGlwZShcbiAgICBtYXAoKHgpID0+IHggPT09IERieEFjdGlvblN0YXRlLklETEUpLFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcblxuICAvKipcbiAgICogUGlwZXMgdHJ1ZSB3aGVuIHRyaWdnZXJlZC5cbiAgICovXG4gIHJlYWRvbmx5IHRyaWdnZXJlZCQgPSB0aGlzLmFmdGVyRGlzdGluY3RBY3Rpb25TdGF0ZShEYnhBY3Rpb25TdGF0ZS5UUklHR0VSRUQsICgpID0+IHRydWUpO1xuXG4gIC8qKlxuICAgKiBQaXBlcyB0aGUgcmVhZGllZCB2YWx1ZSBvbiBWYWx1ZVJlYWR5LlxuICAgKi9cbiAgcmVhZG9ubHkgdmFsdWVSZWFkeSQ6IE9ic2VydmFibGU8VD4gPSB0aGlzLmFmdGVyRGlzdGluY3RBY3Rpb25TdGF0ZShEYnhBY3Rpb25TdGF0ZS5WQUxVRV9SRUFEWSwgKHgpID0+IHgudmFsdWUgYXMgVCk7XG5cbiAgLyoqXG4gICAqIFBpcGVzIHRoZSBlcnJvciBvbiB0aGUgcmVqZWN0aW9uIHN0YXRlLlxuICAgKi9cbiAgcmVhZG9ubHkgcmVqZWN0ZWQkID0gdGhpcy5hZnRlckRpc3RpbmN0QWN0aW9uU3RhdGUoRGJ4QWN0aW9uU3RhdGUuUkVKRUNURUQsICh4KSA9PiB4LmVycm9yKTtcblxuICAvKipcbiAgICogUGlwZXMgdGhlIHJlc3VsdCB3aGVuIHRoZSBBY3Rpb25TdGF0ZSBiZWNvbWVzIHJlamVjdGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgcmVqZWN0ZWRQYWlyJCA9IHRoaXMuYWZ0ZXJEaXN0aW5jdEFjdGlvblN0YXRlKERieEFjdGlvblN0YXRlLlJFU09MVkVELCAoeCkgPT4gKHsgdmFsdWU6IHgudmFsdWUsIGVycm9yOiB4LmVycm9yIH0pIGFzIERieEFjdGlvblJlamVjdGVkUGFpcjxUPik7XG5cbiAgLyoqXG4gICAqIFBpcGVzIHRoZSByZXN1bHQgd2hlbiB0aGUgQWN0aW9uU3RhdGUgYmVjb21lcyB3b3JraW5nLlxuICAgKi9cbiAgcmVhZG9ubHkgd29ya2luZyQgPSB0aGlzLmFmdGVyRGlzdGluY3RBY3Rpb25TdGF0ZShEYnhBY3Rpb25TdGF0ZS5XT1JLSU5HLCAoKSA9PiB0cnVlKTtcblxuICAvKipcbiAgICogV2hldGhlciBvciBub3QgaXQgaXMgY3VycmVudGx5IGluIGEgd29ya2luZyBzdGF0ZS5cbiAgICovXG4gIHJlYWRvbmx5IGlzV29ya2luZyQgPSB0aGlzLmFmdGVyRGlzdGluY3RCb29sZWFuKCh4KSA9PiBpc1dvcmtpbmdBY3Rpb25TdGF0ZSh4LmFjdGlvblN0YXRlKSk7XG5cbiAgLyoqXG4gICAqIFBpcGVzIHRoZSBjdXJyZW50IGVycm9yLlxuICAgKi9cbiAgcmVhZG9ubHkgZXJyb3IkID0gdGhpcy5zdGF0ZSQucGlwZShcbiAgICBtYXAoKHgpID0+IHguZXJyb3IpLFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcblxuICAvKipcbiAgICogUGlwZXMgdGhlIHJlc3VsdCB3aGVuIHRoZSBBY3Rpb25TdGF0ZSBiZWNvbWVzIHN1Y2Nlc3MuXG4gICAqL1xuICByZWFkb25seSBzdWNjZXNzJCA9IHRoaXMuYWZ0ZXJEaXN0aW5jdEFjdGlvblN0YXRlKERieEFjdGlvblN0YXRlLlJFU09MVkVELCAoeCkgPT4geC5yZXN1bHQpO1xuXG4gIC8qKlxuICAgKiBQaXBlcyB0aGUgcmVzdWx0IHdoZW4gdGhlIEFjdGlvblN0YXRlIGJlY29tZXMgc3VjY2Vzcy5cbiAgICovXG4gIHJlYWRvbmx5IHN1Y2Nlc3NQYWlyJCA9IHRoaXMuYWZ0ZXJEaXN0aW5jdEFjdGlvblN0YXRlKERieEFjdGlvblN0YXRlLlJFU09MVkVELCAoeCkgPT4gKHsgdmFsdWU6IHgudmFsdWUsIHJlc3VsdDogeC5yZXN1bHQgfSkgYXMgRGJ4QWN0aW9uU3VjY2Vzc1BhaXI8VCwgTz4pO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIG9yIG5vdCBpdCBpcyBjdXJyZW50bHkgaW4gYSBzdWNjZXNzIHN0YXRlLlxuICAgKi9cbiAgcmVhZG9ubHkgaXNTdWNjZXNzJCA9IHRoaXMuYWZ0ZXJEaXN0aW5jdEJvb2xlYW4oKHgpID0+IHguYWN0aW9uU3RhdGUgPT09IERieEFjdGlvblN0YXRlLlJFU09MVkVEKTtcblxuICAvKipcbiAgICogUmV0dXJucyBhIGxvYWRpbmcgc3RhdGUgYmFzZWQgb24gdGhlIGN1cnJlbnQgc3RhdGUuXG4gICAqL1xuICByZWFkb25seSBsb2FkaW5nU3RhdGUkID0gdGhpcy5hZnRlckRpc3RpbmN0TG9hZGluZ1N0YXRlVHlwZUNoYW5nZSgpLnBpcGUoXG4gICAgbWFwKCh4KSA9PiBsb2FkaW5nU3RhdGVGb3JBY3Rpb25Db250ZXh0U3RhdGU8Tz4oeCkpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGN1cnJlbnQgTG9hZGluZ1N0YXRlVHlwZSBiYXNlZCBvbiB0aGUgY3VycmVudCBzdGF0ZS5cbiAgICovXG4gIHJlYWRvbmx5IGxvYWRpbmdTdGF0ZVR5cGUkID0gdGhpcy5zdGF0ZSQucGlwZShcbiAgICBtYXAoKHgpID0+IGxvYWRpbmdTdGF0ZVR5cGVGb3JBY3Rpb25Db250ZXh0U3RhdGUoeCkpLFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcblxuICAvKipcbiAgICogTnVtYmVyIG9mIGVycm9ycyBzaW5jZSBsYXN0IHN1Y2Nlc3MuXG4gICAqL1xuICByZWFkb25seSBlcnJvckNvdW50U2luY2VMYXN0U3VjY2VzcyQgPSB0aGlzLmlzU3VjY2VzcyQucGlwZShcbiAgICBzdGFydFdpdGgoZmFsc2UpLFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgc3dpdGNoTWFwKCgpID0+IHRoaXMuZXJyb3IkLnBpcGUoZmlsdGVyTWF5YmUoKSwgc2NhbkNvdW50KCksIHN0YXJ0V2l0aCgwKSkpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgb3Igbm90IHRoZSBzdGF0ZSBjYW4gYmUgdHJpZ2dlcmVkLlxuICAgKi9cbiAgcmVhZG9ubHkgY2FuVHJpZ2dlciQgPSB0aGlzLnN0YXRlJC5waXBlKG1hcChjYW5UcmlnZ2VyQWN0aW9uKSwgZGlzdGluY3RVbnRpbENoYW5nZWQoKSwgc2hhcmVSZXBsYXkoMSkpO1xuXG4gIC8qKlxuICAgKiBQaXBlIHRoYXQgbWFwcyB3aGV0aGVyIG9yIG5vdCB0aGlzIGlzIG1vZGlmaWVkIGFuZCBjYW4gYmUgdHJpZ2dlcmVkLlxuICAgKlxuICAgKiBVcGRhdGVzIGV2ZXJ5IHN0YXRlIHVwZGF0ZSBpbnN0ZWFkIG9mIHdoZW4gdGhlIHZhbHVlIGNoYW5nZXMuXG4gICAqL1xuICByZWFkb25seSBpc01vZGlmaWVkQW5kQ2FuVHJpZ2dlclVwZGF0ZXMkID0gdGhpcy5zdGF0ZSQucGlwZShtYXAoKHgpID0+IGFjdGlvbkNvbnRleHRJc01vZGlmaWVkQW5kQ2FuVHJpZ2dlcih4KSwgc2hhcmVSZXBsYXkoMSkpKTtcblxuICAvKipcbiAgICogV2hldGhlciBvciBub3QgaXQgY2FuIGJlIHRyaWdnZXJlZCBhbmQgbW9kaWZpZWQuXG4gICAqL1xuICByZWFkb25seSBpc01vZGlmaWVkQW5kQ2FuVHJpZ2dlciQgPSB0aGlzLmlzTW9kaWZpZWRBbmRDYW5UcmlnZ2VyVXBkYXRlcyQucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKTtcblxuICByZWFkb25seSBoYXNOb0Vycm9yQW5kSXNNb2RpZmllZEFuZENhblRyaWdnZXIkID0gdGhpcy5zdGF0ZSQucGlwZShcbiAgICBtYXAoKHgpID0+IGFjdGlvbkNvbnRleHRIYXNOb0Vycm9yQW5kSXNNb2RpZmllZEFuZENhblRyaWdnZXIoeCkpLFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcblxuICAvLyBNQVJLOiBTdGF0ZSBDaGFuZ2VzXG4gIC8qKlxuICAgKiBBZGRzIGEgZGlzYWJsZWQgcmVhc29uLlxuICAgKi9cbiAgcmVhZG9ubHkgZGlzYWJsZSA9IHRoaXMudXBkYXRlcigoc3RhdGUsIGtleT86IHZvaWQgfCBEYnhBY3Rpb25EaXNhYmxlZEtleSkgPT4gKHtcbiAgICAuLi5zdGF0ZSxcbiAgICBkaXNhYmxlZDogQm9vbGVhblN0cmluZ0tleUFycmF5VXRpbGl0eS5pbnNlcnQoc3RhdGUuZGlzYWJsZWQsIChrZXkgYXMgc3RyaW5nKSA/PyBERUZBVUxUX0FDVElPTl9ESVNBQkxFRF9LRVkpXG4gIH0pKTtcblxuICAvKipcbiAgICogUmVtb3ZlcyBhIGRpc2FibGVkIHJlYXNvbi5cbiAgICovXG4gIHJlYWRvbmx5IGVuYWJsZSA9IHRoaXMudXBkYXRlcigoc3RhdGUsIGtleT86IHZvaWQgfCBEYnhBY3Rpb25EaXNhYmxlZEtleSkgPT4gKHtcbiAgICAuLi5zdGF0ZSxcbiAgICBkaXNhYmxlZDogQm9vbGVhblN0cmluZ0tleUFycmF5VXRpbGl0eS5yZW1vdmUoc3RhdGUuZGlzYWJsZWQsIChrZXkgYXMgc3RyaW5nKSA/PyBERUZBVUxUX0FDVElPTl9ESVNBQkxFRF9LRVkpXG4gIH0pKTtcblxuICAvKipcbiAgICogVHJpZ2dlcnMgdGhlIG1vZGlmaWVkIHN0YXRlLCBpZiBub3QgZGlzYWJsZWQuXG4gICAqXG4gICAqIEVxdWl2YWxlbnQgdG8gY2FsbGluZyBzZXRJc01vZGlmaWVkKCkgd2l0aCBvcHBvc2l0ZSBpbnB1dC5cbiAgICovXG4gIHJlYWRvbmx5IHNldElzU2FtZSA9IHRoaXMudXBkYXRlcjx2b2lkLCB2b2lkIHwgYm9vbGVhbj4odXBkYXRlSXNTYW1lT25BY3Rpb25Db250ZXh0U3RhdGUpO1xuXG4gIC8qKlxuICAgKiBUcmlnZ2VycyB0aGUgbW9kaWZpZWQgc3RhdGUsIGlmIG5vdCBkaXNhYmxlZC5cbiAgICovXG4gIHJlYWRvbmx5IHNldElzTW9kaWZpZWQgPSB0aGlzLnVwZGF0ZXI8dm9pZCwgdm9pZCB8IGJvb2xlYW4+KHVwZGF0ZUlzTW9kaWZpZWRPbkFjdGlvbkNvbnRleHRTdGF0ZSk7XG5cbiAgLyoqXG4gICAqIFRyaWdnZXJzIHRoZSBhY3Rpb24gaWYgdGhlIHN0YXRlIGlzIGN1cnJlbnRseSBub3QgaWRsZS4gVGhlIGN1cnJlbnQgc3RhdGUgaXMgY2xlYXJlZCwgYnV0IHRoZSBlcnJvciBpcyByZXRhaW5lZCAoYXMgd2UgbWF5IG5lZWQgdGhlIGVycm9yIGZyb20gdGhlIHByZXZpb3VzIGF0dGVtcHQpLlxuICAgKlxuICAgKiBXaWxsIG5vdCBmaXJlIGlmIHRoZSBhY3Rpb24gaXMgZGlzYWJsZWQuXG4gICAqL1xuICByZWFkb25seSB0cmlnZ2VyID0gdGhpcy51cGRhdGVyKChzdGF0ZSkgPT4gKGNhblRyaWdnZXJBY3Rpb24oc3RhdGUpID8geyBpc01vZGlmaWVkOiBzdGF0ZS5pc01vZGlmaWVkLCBhY3Rpb25TdGF0ZTogRGJ4QWN0aW9uU3RhdGUuVFJJR0dFUkVELCBlcnJvcjogc3RhdGUuZXJyb3IsIHZhbHVlOiB1bmRlZmluZWQgfSA6IHN0YXRlKSk7XG5cbiAgLyoqXG4gICAqIFVwZGF0ZXMgdGhlIHZhbHVlLCBzZXR0aW5nIHZhbHVlIHJlYWR5LiBUaGUgY3VycmVudCByZXN1bHQgaXMgY2xlYXJlZC5cbiAgICovXG4gIHJlYWRvbmx5IHJlYWR5VmFsdWUgPSB0aGlzLnVwZGF0ZXIoKHN0YXRlLCB2YWx1ZTogVCkgPT4gKGNhblJlYWR5VmFsdWUoc3RhdGUpID8geyAuLi5zdGF0ZSwgYWN0aW9uU3RhdGU6IERieEFjdGlvblN0YXRlLlZBTFVFX1JFQURZLCB2YWx1ZSwgcmVzdWx0OiB1bmRlZmluZWQgfSA6IHN0YXRlKSk7XG5cbiAgLyoqXG4gICAqIE5vdGlmeXMgdGhlIGNvbnRleHQgdGhhdCB0aGUgYWN0aW9uIGlzIGluIHByb2dyZXNzLlxuICAgKi9cbiAgcmVhZG9ubHkgc3RhcnRXb3JraW5nID0gdGhpcy51cGRhdGVyKChzdGF0ZSkgPT4gKHsgLi4uc3RhdGUsIGFjdGlvblN0YXRlOiBEYnhBY3Rpb25TdGF0ZS5XT1JLSU5HIH0pKTtcblxuICAvKipcbiAgICogVHJpZ2dlcnMgcmVqZWN0aW9uIG9mIHRoZSBhY3Rpb24uIFRoZSB2YWx1ZSBpcyBjbGVhcmVkLlxuICAgKi9cbiAgcmVhZG9ubHkgcmVqZWN0ID0gdGhpcy51cGRhdGVyKChzdGF0ZSwgZXJyb3I/OiBNYXliZTxSZWFkYWJsZUVycm9yPikgPT4gKHtcbiAgICBpc01vZGlmaWVkOiBzdGF0ZS5pc01vZGlmaWVkLFxuICAgIGFjdGlvblN0YXRlOiBEYnhBY3Rpb25TdGF0ZS5SRUpFQ1RFRCxcbiAgICBlcnJvcixcbiAgICBlcnJvckNvdW50OiAoc3RhdGUuZXJyb3JDb3VudCA/PyAwKSArIDEsXG4gICAgZGlzYWJsZWQ6IHN0YXRlLmRpc2FibGVkXG4gIH0pKTtcblxuICAvKipcbiAgICogVXBkYXRlcyB0aGUgc3RhdGUgdG8gc3VjY2VzcywgYW5kIG9wdGlvbmFsbHkgc2V0cyBhIHJlc3VsdC5cbiAgICpcbiAgICogQ2xlYXJzIG1vZGlmaWVkIHN0YXRlLCBhbmQgYW55IGVycm9ycy5cbiAgICovXG4gIHJlYWRvbmx5IHJlc29sdmUgPSB0aGlzLnVwZGF0ZXIoKHN0YXRlLCByZXN1bHQ/OiBNYXliZTxPPikgPT4gKHsgaXNNb2RpZmllZDogZmFsc2UsIGFjdGlvblN0YXRlOiBEYnhBY3Rpb25TdGF0ZS5SRVNPTFZFRCwgdmFsdWU6IHN0YXRlLnZhbHVlLCByZXN1bHQsIGVycm9yOiB1bmRlZmluZWQsIGRpc2FibGVkOiBzdGF0ZS5kaXNhYmxlZCB9KSk7XG5cbiAgLyoqXG4gICAqIENvbXBsZXRlbHkgcmVzZXRzIHRoZSBzdG9yZS5cbiAgICovXG4gIHJlYWRvbmx5IHJlc2V0ID0gdGhpcy51cGRhdGVyKCgpID0+ICh7IC4uLklOSVRJQUxfU1RBVEUgfSkgYXMgQWN0aW9uQ29udGV4dFN0YXRlPFQsIE8+KTtcblxuICAvLyBNQVJLOiBVdGlsaXR5XG4gIGFmdGVyRGlzdGluY3RCb29sZWFuKGZyb21TdGF0ZTogKHN0YXRlOiBBY3Rpb25Db250ZXh0U3RhdGU8VCwgTz4pID0+IGJvb2xlYW4pOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5zdGF0ZSQucGlwZShcbiAgICAgIG1hcCgoeCkgPT4gZnJvbVN0YXRlKHgpKSxcbiAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICBzaGFyZVJlcGxheSgxKVxuICAgICk7XG4gIH1cblxuICBhZnRlckRpc3RpbmN0QWN0aW9uU3RhdGU8WD4oYWN0aW9uU3RhdGU6IERieEFjdGlvblN0YXRlLCBmcm9tU3RhdGU6IChzdGF0ZTogQWN0aW9uQ29udGV4dFN0YXRlPFQsIE8+KSA9PiBYKTogT2JzZXJ2YWJsZTxYPiB7XG4gICAgcmV0dXJuIHRoaXMuYWZ0ZXJEaXN0aW5jdEFjdGlvblN0YXRlQ2hhbmdlKCkucGlwZShcbiAgICAgIGZpbHRlcigoeCkgPT4geC5hY3Rpb25TdGF0ZSA9PT0gYWN0aW9uU3RhdGUpLCAvLyBPbmx5IHBpcGUgd2hlbiB0aGUgbmV3IGFjdGlvbiBzdGF0ZSBtYXRjaGVzLlxuICAgICAgbWFwKCh4KSA9PiBmcm9tU3RhdGUoeCkpLFxuICAgICAgc2hhcmVSZXBsYXkoMSlcbiAgICApO1xuICB9XG5cbiAgYWZ0ZXJEaXN0aW5jdEFjdGlvblN0YXRlQ2hhbmdlKCk6IE9ic2VydmFibGU8QWN0aW9uQ29udGV4dFN0YXRlPFQsIE8+PiB7XG4gICAgcmV0dXJuIHRoaXMuc3RhdGUkLnBpcGUoXG4gICAgICBtYXAoKHgpID0+IFt4LCB4LmFjdGlvblN0YXRlXSBhcyBbQWN0aW9uQ29udGV4dFN0YXRlLCBEYnhBY3Rpb25TdGF0ZV0pLFxuICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKGEsIGIpID0+IGE/LlsxXSA9PT0gYj8uWzFdKSwgLy8gRmlsdGVyIG91dCB3aGVuIHRoZSBzdGF0ZSByZW1haW5zIHRoZSBzYW1lLlxuICAgICAgbWFwKCh4KSA9PiB4WzBdIGFzIEFjdGlvbkNvbnRleHRTdGF0ZTxULCBPPiksXG4gICAgICBzaGFyZVJlcGxheSgxKVxuICAgICk7XG4gIH1cblxuICBhZnRlckRpc3RpbmN0TG9hZGluZ1N0YXRlVHlwZUNoYW5nZSgpOiBPYnNlcnZhYmxlPEFjdGlvbkNvbnRleHRTdGF0ZTxULCBPPj4ge1xuICAgIHJldHVybiB0aGlzLnN0YXRlJC5waXBlKFxuICAgICAgbWFwKCh4KSA9PiBbeCwgbG9hZGluZ1N0YXRlVHlwZUZvckFjdGlvbkNvbnRleHRTdGF0ZSh4KV0gYXMgW0FjdGlvbkNvbnRleHRTdGF0ZSwgTG9hZGluZ1N0YXRlVHlwZV0pLFxuICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKGEsIGIpID0+IGE/LlsxXSA9PT0gYj8uWzFdKSwgLy8gRmlsdGVyIG91dCB3aGVuIHRoZSBsb2FkaW5nIHN0YXRlIHJlbWFpbnMgdGhlIHNhbWUuXG4gICAgICBtYXAoKHgpID0+IHhbMF0gYXMgQWN0aW9uQ29udGV4dFN0YXRlPFQsIE8+KSxcbiAgICAgIHNoYXJlUmVwbGF5KDEpXG4gICAgKTtcbiAgfVxuXG4gIC8vIE1BUks6IENsZWFudXBcbiAgb3ZlcnJpZGUgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgLy8gV2FpdCBmb3IgYW55IGFjdGlvbnMgdG8gY29tcGxldGUgYmVmb3JlIGRlc3Ryb3lpbmcuXG4gICAgdGhpcy5sb2NrU2V0Lm9uTmV4dFVubG9jaygoKSA9PiB7XG4gICAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xuICAgIH0sIDIwMDApO1xuICB9XG59XG5cbmZ1bmN0aW9uIHVwZGF0ZUlzU2FtZU9uQWN0aW9uQ29udGV4dFN0YXRlPFQsIE8+KHN0YXRlOiBBY3Rpb25Db250ZXh0U3RhdGU8VCwgTz4sIGlzU2FtZT86IHZvaWQgfCBib29sZWFuKTogQWN0aW9uQ29udGV4dFN0YXRlPFQsIE8+IHtcbiAgcmV0dXJuIHVwZGF0ZUlzTW9kaWZpZWRPbkFjdGlvbkNvbnRleHRTdGF0ZShzdGF0ZSwgaXNTYW1lID09IG51bGwgPyBmYWxzZSA6ICFpc1NhbWUpO1xufVxuXG5mdW5jdGlvbiB1cGRhdGVJc01vZGlmaWVkT25BY3Rpb25Db250ZXh0U3RhdGU8VCwgTz4oc3RhdGU6IEFjdGlvbkNvbnRleHRTdGF0ZTxULCBPPiwgaXNNb2RpZmllZD86IHZvaWQgfCBib29sZWFuKTogQWN0aW9uQ29udGV4dFN0YXRlPFQsIE8+IHtcbiAgcmV0dXJuIHtcbiAgICAuLi5zdGF0ZSxcbiAgICBhY3Rpb25TdGF0ZTogc3RhdGUuYWN0aW9uU3RhdGUgPT09IERieEFjdGlvblN0YXRlLlJFU09MVkVEID8gRGJ4QWN0aW9uU3RhdGUuSURMRSA6IHN0YXRlLmFjdGlvblN0YXRlLCAvLyBTZXQgdG8gaWRsZSBmcm9tIHN1Y2Nlc3MuXG4gICAgaXNNb2RpZmllZDogKGlzTW9kaWZpZWQgYXMgYm9vbGVhbikgPz8gdHJ1ZSAvLyBpZiBpc01vZGlmaWVkIGlzIG5vdCBpbnB1dCwgZGVmYXVsdCBpdCB0byB0cnVlXG4gIH07XG59XG4iXX0=
286
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLnN0b3JlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWNvcmUvc3JjL2xpYi9hY3Rpb24vYWN0aW9uLnN0b3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDdEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3ZELE9BQU8sRUFBYyxvQkFBb0IsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM1RyxPQUFPLEVBQXlCLDRCQUE0QixFQUF3QixNQUFNLGVBQWUsQ0FBQztBQUMxRyxPQUFPLEVBQW9CLGdCQUFnQixFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQWdCLE9BQU8sRUFBRSxTQUFTLEVBQUUsYUFBYSxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1SixPQUFPLEVBQStDLGNBQWMsRUFBNEUsMkJBQTJCLEVBQUUsaUJBQWlCLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxVQUFVLENBQUM7O0FBRWpQLE1BQU0sVUFBVSxzQkFBc0IsQ0FBQyxLQUF5QjtJQUM5RCxPQUFPLDRCQUE0QixDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7QUFDOUQsQ0FBQztBQUVELE1BQU0sVUFBVSx1QkFBdUIsQ0FBQyxLQUF5QjtJQUMvRCxPQUFPLDRCQUE0QixDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7QUFDN0QsQ0FBQztBQUVELE1BQU0sVUFBVSw0QkFBNEIsQ0FBQyxLQUF5QjtJQUNwRSxPQUFPLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsSUFBSSx1QkFBdUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUNoRixDQUFDO0FB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Q0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsc0RBQXNEO1FBQ3pHLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBNkIsQ0FBQyxFQUM1QyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQ2YsQ0FBQztJQUNKLENBQUM7SUFFRCxnQkFBZ0I7SUFDUCxXQUFXO1FBQ2xCLHNEQUFzRDtRQUN0RCxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxHQUFHLEVBQUU7WUFDN0IsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3RCLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNYLENBQUM7d0dBeFRVLGtCQUFrQjs0R0FBbEIsa0JBQWtCOzs0RkFBbEIsa0JBQWtCO2tCQUQ5QixVQUFVOztBQTRUWCxTQUFTLGdDQUFnQyxDQUFPLEtBQStCLEVBQUUsTUFBdUI7SUFDdEcsT0FBTyxvQ0FBb0MsQ0FBQyxLQUFLLEVBQUUsTUFBTSxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQ3ZGLENBQUM7QUFFRCxTQUFTLG9DQUFvQyxDQUFPLEtBQStCLEVBQUUsVUFBMkI7SUFDOUcsT0FBTztRQUNMLEdBQUcsS0FBSztRQUNSLFdBQVcsRUFBRSxLQUFLLENBQUMsV0FBVyxLQUFLLGNBQWMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsNEJBQTRCO1FBQ2xJLFVBQVUsRUFBRyxVQUFzQixJQUFJLElBQUksQ0FBQyxpREFBaUQ7S0FDOUYsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbXBvbmVudFN0b3JlIH0gZnJvbSAnQG5ncngvY29tcG9uZW50LXN0b3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBmaWx0ZXIsIG1hcCwgc2hhcmVSZXBsYXksIHN3aXRjaE1hcCwgc3RhcnRXaXRoLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQm9vbGVhblN0cmluZ0tleUFycmF5LCBCb29sZWFuU3RyaW5nS2V5QXJyYXlVdGlsaXR5LCBNYXliZSwgUmVhZGFibGVFcnJvciB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuaW1wb3J0IHsgTG9hZGluZ1N0YXRlVHlwZSwgaWRsZUxvYWRpbmdTdGF0ZSwgZXJyb3JSZXN1bHQsIGZpbHRlck1heWJlLCBMb2FkaW5nU3RhdGUsIExvY2tTZXQsIHNjYW5Db3VudCwgc3VjY2Vzc1Jlc3VsdCwgYmVnaW5Mb2FkaW5nIH0gZnJvbSAnQGRlcmVla2Ivcnhqcyc7XG5pbXBvcnQgeyBEYnhBY3Rpb25EaXNhYmxlZEtleSwgRGJ4QWN0aW9uUmVqZWN0ZWRQYWlyLCBEYnhBY3Rpb25TdGF0ZSwgRGJ4QWN0aW9uU3VjY2Vzc1BhaXIsIERieEFjdGlvbldvcmtPcldvcmtQcm9ncmVzcywgRGJ4QWN0aW9uV29ya1Byb2dyZXNzLCBERUZBVUxUX0FDVElPTl9ESVNBQkxFRF9LRVksIGlzSWRsZUFjdGlvblN0YXRlLCBsb2FkaW5nU3RhdGVUeXBlRm9yQWN0aW9uU3RhdGUgfSBmcm9tICcuL2FjdGlvbic7XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0FjdGlvbkNvbnRleHRFbmFibGVkKHN0YXRlOiBBY3Rpb25Db250ZXh0U3RhdGUpOiBib29sZWFuIHtcbiAgcmV0dXJuIEJvb2xlYW5TdHJpbmdLZXlBcnJheVV0aWxpdHkuaXNGYWxzZShzdGF0ZS5kaXNhYmxlZCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0FjdGlvbkNvbnRleHREaXNhYmxlZChzdGF0ZTogQWN0aW9uQ29udGV4dFN0YXRlKTogYm9vbGVhbiB7XG4gIHJldHVybiBCb29sZWFuU3RyaW5nS2V5QXJyYXlVdGlsaXR5LmlzVHJ1ZShzdGF0ZS5kaXNhYmxlZCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0Rpc2FibGVkQWN0aW9uQ29udGV4dFN0YXRlKHN0YXRlOiBBY3Rpb25Db250ZXh0U3RhdGUpOiBib29sZWFuIHtcbiAgcmV0dXJuIGlzSWRsZUFjdGlvblN0YXRlKHN0YXRlLmFjdGlvblN0YXRlKSAmJiBpc0FjdGlvbkNvbnRleHREaXNhYmxlZChzdGF0ZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1dvcmtpbmdBY3Rpb25TdGF0ZShhY3Rpb25TdGF0ZTogRGJ4QWN0aW9uU3RhdGUpOiBib29sZWFuIHtcbiAgcmV0dXJuICFpc0lkbGVBY3Rpb25TdGF0ZShhY3Rpb25TdGF0ZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjYW5UcmlnZ2VyQWN0aW9uU3RhdGUoYWN0aW9uU3RhdGU6IERieEFjdGlvblN0YXRlKTogYm9vbGVhbiB7XG4gIHJldHVybiBhY3Rpb25TdGF0ZSAhPT0gRGJ4QWN0aW9uU3RhdGUuRElTQUJMRUQgJiYgaXNJZGxlQWN0aW9uU3RhdGUoYWN0aW9uU3RhdGUpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY2FuVHJpZ2dlckFjdGlvbihzdGF0ZTogQWN0aW9uQ29udGV4dFN0YXRlKTogYm9vbGVhbiB7XG4gIHJldHVybiBpc0FjdGlvbkNvbnRleHRFbmFibGVkKHN0YXRlKSAmJiBpc0lkbGVBY3Rpb25TdGF0ZShzdGF0ZS5hY3Rpb25TdGF0ZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjYW5SZWFkeVZhbHVlKHN0YXRlOiBBY3Rpb25Db250ZXh0U3RhdGUpOiBib29sZWFuIHtcbiAgcmV0dXJuIHN0YXRlLmFjdGlvblN0YXRlID09PSBEYnhBY3Rpb25TdGF0ZS5UUklHR0VSRUQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhY3Rpb25Db250ZXh0SXNNb2RpZmllZEFuZENhblRyaWdnZXIoc3RhdGU6IEFjdGlvbkNvbnRleHRTdGF0ZSk6IGJvb2xlYW4ge1xuICAvLyBjb25zb2xlLmxvZygnY2hlY2s6ICcsIHN0YXRlLCBzdGF0ZS5pc01vZGlmaWVkLCBjYW5UcmlnZ2VyQWN0aW9uKHN0YXRlKSk7XG4gIHJldHVybiBzdGF0ZS5pc01vZGlmaWVkICYmIGNhblRyaWdnZXJBY3Rpb24oc3RhdGUpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYWN0aW9uQ29udGV4dEhhc05vRXJyb3JBbmRJc01vZGlmaWVkQW5kQ2FuVHJpZ2dlcihzdGF0ZTogQWN0aW9uQ29udGV4dFN0YXRlKTogYm9vbGVhbiB7XG4gIHJldHVybiAhc3RhdGUuZXJyb3IgJiYgYWN0aW9uQ29udGV4dElzTW9kaWZpZWRBbmRDYW5UcmlnZ2VyKHN0YXRlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGxvYWRpbmdTdGF0ZUZvckFjdGlvbkNvbnRleHRTdGF0ZTxPID0gdW5rbm93bj4oc3RhdGU6IEFjdGlvbkNvbnRleHRTdGF0ZTx1bmtub3duLCBPPik6IExvYWRpbmdTdGF0ZTxPPiB7XG4gIGxldCBsb2FkaW5nU3RhdGU6IExvYWRpbmdTdGF0ZTxPPjtcblxuICBzd2l0Y2ggKHN0YXRlLmFjdGlvblN0YXRlKSB7XG4gICAgY2FzZSBEYnhBY3Rpb25TdGF0ZS5SRVNPTFZFRDpcbiAgICAgIGxvYWRpbmdTdGF0ZSA9IHN1Y2Nlc3NSZXN1bHQoc3RhdGUucmVzdWx0KTtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgRGJ4QWN0aW9uU3RhdGUuUkVKRUNURUQ6XG4gICAgICBsb2FkaW5nU3RhdGUgPSBlcnJvclJlc3VsdChzdGF0ZS5lcnJvcik7XG4gICAgICBicmVhaztcbiAgICBjYXNlIERieEFjdGlvblN0YXRlLklETEU6XG4gICAgY2FzZSBEYnhBY3Rpb25TdGF0ZS5ESVNBQkxFRDpcbiAgICAgIGxvYWRpbmdTdGF0ZSA9IGlkbGVMb2FkaW5nU3RhdGUoKTtcbiAgICAgIGJyZWFrO1xuICAgIGRlZmF1bHQ6XG4gICAgICBsb2FkaW5nU3RhdGUgPSBiZWdpbkxvYWRpbmcoc3RhdGUud29ya1Byb2dyZXNzICE9IG51bGwgPyB7IGxvYWRpbmdQcm9ncmVzczogc3RhdGUud29ya1Byb2dyZXNzIH0gOiB1bmRlZmluZWQpO1xuICAgICAgYnJlYWs7XG4gIH1cblxuICByZXR1cm4gbG9hZGluZ1N0YXRlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbG9hZGluZ1N0YXRlVHlwZUZvckFjdGlvbkNvbnRleHRTdGF0ZShzdGF0ZTogQWN0aW9uQ29udGV4dFN0YXRlKTogTG9hZGluZ1N0YXRlVHlwZSB7XG4gIHJldHVybiBsb2FkaW5nU3RhdGVUeXBlRm9yQWN0aW9uU3RhdGUoc3RhdGUuYWN0aW9uU3RhdGUpO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFjdGlvbkNvbnRleHRTdGF0ZTxUID0gdW5rbm93biwgTyA9IHVua25vd24+IHtcbiAgcmVhZG9ubHkgYWN0aW9uU3RhdGU6IERieEFjdGlvblN0YXRlO1xuICAvKipcbiAgICogV2hldGhlciBvciBub3QgdGhpcyBhY3Rpb24gaXMgZmxhZ2dlZCBhcyBoYXZpbmcgYmVlbiBtb2RpZmllZC5cbiAgICovXG4gIHJlYWRvbmx5IGlzTW9kaWZpZWQ6IGJvb2xlYW47XG4gIC8qKlxuICAgKiBUaGUgd29ya2luZyBwcm9ncmVzcyBvZiB0aGUgYWN0aW9uLlxuICAgKlxuICAgKiBJcyByZXNldCB0byBudWxsIHdoZW4gdHJpZ2dlcmVkL3JlYWR5IHZhbHVlIGlzIHNldC5cbiAgICovXG4gIHJlYWRvbmx5IHdvcmtQcm9ncmVzcz86IE1heWJlPERieEFjdGlvbldvcmtQcm9ncmVzcz47XG4gIC8qKlxuICAgKiBWYWx1ZSB0aGF0IGlzIHNldCBhZnRlciBhIHRyaWdnZXJlZCBhY3Rpb24uIE5vdCB0byBiZSBjb25mdXNlZCB3aXRoIHJlc3VsdC5cbiAgICovXG4gIHJlYWRvbmx5IHZhbHVlPzogTWF5YmU8VD47XG4gIC8qKlxuICAgKiBSZXNvbHZlZCByZXN1bHQgdmFsdWUuXG4gICAqL1xuICByZWFkb25seSByZXN1bHQ/OiBNYXliZTxPPjtcbiAgLyoqXG4gICAqIFJlamVjdGVkIGVycm9yLCBpZiBhdmFpbGFibGUuXG4gICAqL1xuICByZWFkb25seSBlcnJvcj86IE1heWJlPFJlYWRhYmxlRXJyb3I+O1xuICAvKipcbiAgICogQ3VycmVudCBkaXNhYmxlZCBzdGF0ZS5cbiAgICovXG4gIHJlYWRvbmx5IGRpc2FibGVkPzogQm9vbGVhblN0cmluZ0tleUFycmF5O1xuICAvKipcbiAgICogTnVtYmVyIG9mIGNvbnNlY3V0aXZlIGVycm9ycyB0aGF0IGhhdmUgb2NjdXJlZC5cbiAgICovXG4gIHJlYWRvbmx5IGVycm9yQ291bnQ/OiBudW1iZXI7XG59XG5cbmNvbnN0IElOSVRJQUxfU1RBVEU6IEFjdGlvbkNvbnRleHRTdGF0ZSA9IHtcbiAgaXNNb2RpZmllZDogZmFsc2UsXG4gIGFjdGlvblN0YXRlOiBEYnhBY3Rpb25TdGF0ZS5JRExFXG59O1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQWN0aW9uQ29udGV4dFN0b3JlPFQgPSB1bmtub3duLCBPID0gdW5rbm93bj4gZXh0ZW5kcyBDb21wb25lbnRTdG9yZTxBY3Rpb25Db250ZXh0U3RhdGU8VCwgTz4+IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgcmVhZG9ubHkgbG9ja1NldCA9IG5ldyBMb2NrU2V0KCk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoeyAuLi5JTklUSUFMX1NUQVRFIH0gYXMgQWN0aW9uQ29udGV4dFN0YXRlPFQsIE8+KTtcbiAgICB0aGlzLmxvY2tTZXQuYWRkTG9jaygnd29ya2luZycsIHRoaXMuaXNXb3JraW5nJCk7XG4gIH1cblxuICAvLyBNQVJLOiBBY2Nlc3NvcnNcbiAgcmVhZG9ubHkgYWN0aW9uU3RhdGUkID0gdGhpcy5zdGF0ZSQucGlwZShcbiAgICBtYXAoKHgpID0+IChpc0Rpc2FibGVkQWN0aW9uQ29udGV4dFN0YXRlKHgpID8gRGJ4QWN0aW9uU3RhdGUuRElTQUJMRUQgOiB4LmFjdGlvblN0YXRlKSksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgY3VycmVudCBkaXNhYmxlZCByZWFzb25zL2tleXMuXG4gICAqL1xuICByZWFkb25seSBkaXNhYmxlZEtleXMkID0gdGhpcy5zdGF0ZSQucGlwZShcbiAgICBtYXAoKHgpID0+IFsuLi4oeC5kaXNhYmxlZCA/PyBbXSldKSxcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgLyoqXG4gICAqIEN1cnJlbnQgdmFsdWUgb2YgdGhlIHN0YXRlLlxuICAgKi9cbiAgcmVhZG9ubHkgY3VycmVudFZhbHVlJDogT2JzZXJ2YWJsZTxNYXliZTxUPj4gPSB0aGlzLnN0YXRlJC5waXBlKG1hcCgoeCkgPT4geC52YWx1ZSkpO1xuXG4gIC8qKlxuICAgKiBNYXBzIHRoZSBjdXJyZW50IHN0YXRlIHRvIHRydWUgb3Igbm90IHdoZW4gdGhlIGFjdGlvbiBzdGF0ZSBjaGFuZ2VzIHRvL2Zyb20gZGlzYWJsZWQuXG4gICAqL1xuICByZWFkb25seSBpc0Rpc2FibGVkJCA9IHRoaXMuc3RhdGUkLnBpcGUobWFwKGlzRGlzYWJsZWRBY3Rpb25Db250ZXh0U3RhdGUpLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLCBzaGFyZVJlcGxheSgxKSk7XG5cbiAgLyoqXG4gICAqIFBpcGVzIHdoZW4gaWRsZSBidXQgbW9kaWZpZWQuXG4gICAqL1xuICByZWFkb25seSBpc01vZGlmaWVkJCA9IHRoaXMuYWZ0ZXJEaXN0aW5jdEJvb2xlYW4oKHgpID0+IHguaXNNb2RpZmllZCk7XG5cbiAgLyoqXG4gICAqIFBpcGVzIHRydWUgd2hlbiBpZGxlLlxuICAgKi9cbiAgcmVhZG9ubHkgaWRsZSQgPSB0aGlzLmFjdGlvblN0YXRlJC5waXBlKFxuICAgIG1hcCgoeCkgPT4geCA9PT0gRGJ4QWN0aW9uU3RhdGUuSURMRSksXG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuXG4gIC8qKlxuICAgKiBQaXBlcyB0cnVlIHdoZW4gdHJpZ2dlcmVkLlxuICAgKi9cbiAgcmVhZG9ubHkgdHJpZ2dlcmVkJCA9IHRoaXMuYWZ0ZXJEaXN0aW5jdEFjdGlvblN0YXRlKERieEFjdGlvblN0YXRlLlRSSUdHRVJFRCwgKCkgPT4gdHJ1ZSk7XG5cbiAgLyoqXG4gICAqIFBpcGVzIHRoZSByZWFkaWVkIHZhbHVlIG9uIFZhbHVlUmVhZHkuXG4gICAqL1xuICByZWFkb25seSB2YWx1ZVJlYWR5JDogT2JzZXJ2YWJsZTxUPiA9IHRoaXMuYWZ0ZXJEaXN0aW5jdEFjdGlvblN0YXRlKERieEFjdGlvblN0YXRlLlZBTFVFX1JFQURZLCAoeCkgPT4geC52YWx1ZSBhcyBUKTtcblxuICAvKipcbiAgICogUGlwZXMgdGhlIHdvcmtpbmcgcHJvZ3Jlc3Mgb24gdGhlIHdvcmtpbmcgc3RhdGUuXG4gICAqL1xuICByZWFkb25seSB3b3JrUHJvZ3Jlc3MkID0gdGhpcy5zdGF0ZSQucGlwZShcbiAgICBtYXAoKHgpID0+IHgud29ya1Byb2dyZXNzKSxcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgLyoqXG4gICAqIFBpcGVzIHRoZSBlcnJvciBvbiB0aGUgcmVqZWN0aW9uIHN0YXRlLlxuICAgKi9cbiAgcmVhZG9ubHkgcmVqZWN0ZWQkID0gdGhpcy5hZnRlckRpc3RpbmN0QWN0aW9uU3RhdGUoRGJ4QWN0aW9uU3RhdGUuUkVKRUNURUQsICh4KSA9PiB4LmVycm9yKTtcblxuICAvKipcbiAgICogUGlwZXMgdGhlIHJlc3VsdCB3aGVuIHRoZSBBY3Rpb25TdGF0ZSBiZWNvbWVzIHJlamVjdGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgcmVqZWN0ZWRQYWlyJCA9IHRoaXMuYWZ0ZXJEaXN0aW5jdEFjdGlvblN0YXRlKERieEFjdGlvblN0YXRlLlJFU09MVkVELCAoeCkgPT4gKHsgdmFsdWU6IHgudmFsdWUsIGVycm9yOiB4LmVycm9yIH0pIGFzIERieEFjdGlvblJlamVjdGVkUGFpcjxUPik7XG5cbiAgLyoqXG4gICAqIFBpcGVzIHRoZSByZXN1bHQgd2hlbiB0aGUgQWN0aW9uU3RhdGUgYmVjb21lcyB3b3JraW5nLlxuICAgKi9cbiAgcmVhZG9ubHkgd29ya2luZyQgPSB0aGlzLmFmdGVyRGlzdGluY3RBY3Rpb25TdGF0ZShEYnhBY3Rpb25TdGF0ZS5XT1JLSU5HLCAoKSA9PiB0cnVlKTtcblxuICAvKipcbiAgICogV2hldGhlciBvciBub3QgaXQgaXMgY3VycmVudGx5IGluIGEgd29ya2luZyBzdGF0ZS5cbiAgICovXG4gIHJlYWRvbmx5IGlzV29ya2luZyQgPSB0aGlzLmFmdGVyRGlzdGluY3RCb29sZWFuKCh4KSA9PiBpc1dvcmtpbmdBY3Rpb25TdGF0ZSh4LmFjdGlvblN0YXRlKSk7XG5cbiAgLyoqXG4gICAqIFBpcGVzIHRoZSBjdXJyZW50IHdvcmsgb3Igd29yayBwcm9ncmVzcy5cbiAgICovXG4gIHJlYWRvbmx5IGlzV29ya2luZ09yV29ya1Byb2dyZXNzJCA9IHRoaXMuaXNXb3JraW5nJC5waXBlKFxuICAgIHN3aXRjaE1hcCgoeCkgPT4ge1xuICAgICAgbGV0IG9iczogT2JzZXJ2YWJsZTxEYnhBY3Rpb25Xb3JrT3JXb3JrUHJvZ3Jlc3M+O1xuXG4gICAgICBpZiAoeCkge1xuICAgICAgICBvYnMgPSB0aGlzLndvcmtQcm9ncmVzcyQucGlwZShcbiAgICAgICAgICBmaWx0ZXIoKHgpID0+IHggIT0gbnVsbCksXG4gICAgICAgICAgc3RhcnRXaXRoKHgpXG4gICAgICAgICk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBvYnMgPSBvZih4KTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIG9icztcbiAgICB9KSxcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgLyoqXG4gICAqIFBpcGVzIHRoZSBjdXJyZW50IGVycm9yLlxuICAgKi9cbiAgcmVhZG9ubHkgZXJyb3IkID0gdGhpcy5zdGF0ZSQucGlwZShcbiAgICBtYXAoKHgpID0+IHguZXJyb3IpLFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcblxuICAvKipcbiAgICogUGlwZXMgdGhlIHJlc3VsdCB3aGVuIHRoZSBBY3Rpb25TdGF0ZSBiZWNvbWVzIHN1Y2Nlc3MuXG4gICAqL1xuICByZWFkb25seSBzdWNjZXNzJCA9IHRoaXMuYWZ0ZXJEaXN0aW5jdEFjdGlvblN0YXRlKERieEFjdGlvblN0YXRlLlJFU09MVkVELCAoeCkgPT4geC5yZXN1bHQpO1xuXG4gIC8qKlxuICAgKiBQaXBlcyB0aGUgcmVzdWx0IHdoZW4gdGhlIEFjdGlvblN0YXRlIGJlY29tZXMgc3VjY2Vzcy5cbiAgICovXG4gIHJlYWRvbmx5IHN1Y2Nlc3NQYWlyJCA9IHRoaXMuYWZ0ZXJEaXN0aW5jdEFjdGlvblN0YXRlKERieEFjdGlvblN0YXRlLlJFU09MVkVELCAoeCkgPT4gKHsgdmFsdWU6IHgudmFsdWUsIHJlc3VsdDogeC5yZXN1bHQgfSkgYXMgRGJ4QWN0aW9uU3VjY2Vzc1BhaXI8VCwgTz4pO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIG9yIG5vdCBpdCBpcyBjdXJyZW50bHkgaW4gYSBzdWNjZXNzIHN0YXRlLlxuICAgKi9cbiAgcmVhZG9ubHkgaXNTdWNjZXNzJCA9IHRoaXMuYWZ0ZXJEaXN0aW5jdEJvb2xlYW4oKHgpID0+IHguYWN0aW9uU3RhdGUgPT09IERieEFjdGlvblN0YXRlLlJFU09MVkVEKTtcblxuICAvKipcbiAgICogUmV0dXJucyBhIGxvYWRpbmcgc3RhdGUgYmFzZWQgb24gdGhlIGN1cnJlbnQgc3RhdGUuXG4gICAqL1xuICByZWFkb25seSBsb2FkaW5nU3RhdGUkID0gdGhpcy5hZnRlckRpc3RpbmN0TG9hZGluZ1N0YXRlVHlwZUNoYW5nZSgpLnBpcGUoXG4gICAgc3dpdGNoTWFwKCh4KSA9PiB7XG4gICAgICBjb25zdCBiYXNlID0gbG9hZGluZ1N0YXRlRm9yQWN0aW9uQ29udGV4dFN0YXRlPE8+KHgpO1xuICAgICAgbGV0IG9iczogT2JzZXJ2YWJsZTxMb2FkaW5nU3RhdGU8Tz4+O1xuXG4gICAgICBpZiAoYmFzZS5sb2FkaW5nID09PSB0cnVlKSB7XG4gICAgICAgIG9icyA9IHRoaXMud29ya1Byb2dyZXNzJC5waXBlKFxuICAgICAgICAgIGZpbHRlcigoeCkgPT4geCAhPSBudWxsKSxcbiAgICAgICAgICBtYXAoKGxvYWRpbmdQcm9ncmVzcykgPT4gKHsgLi4uYmFzZSwgbG9hZGluZ1Byb2dyZXNzIH0pKSxcbiAgICAgICAgICBzdGFydFdpdGgoYmFzZSlcbiAgICAgICAgKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG9icyA9IG9mKGJhc2UpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gb2JzO1xuICAgIH0pLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGN1cnJlbnQgTG9hZGluZ1N0YXRlVHlwZSBiYXNlZCBvbiB0aGUgY3VycmVudCBzdGF0ZS5cbiAgICovXG4gIHJlYWRvbmx5IGxvYWRpbmdTdGF0ZVR5cGUkID0gdGhpcy5zdGF0ZSQucGlwZShcbiAgICBtYXAoKHgpID0+IGxvYWRpbmdTdGF0ZVR5cGVGb3JBY3Rpb25Db250ZXh0U3RhdGUoeCkpLFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcblxuICAvKipcbiAgICogTnVtYmVyIG9mIGVycm9ycyBzaW5jZSBsYXN0IHN1Y2Nlc3MuXG4gICAqL1xuICByZWFkb25seSBlcnJvckNvdW50U2luY2VMYXN0U3VjY2VzcyQgPSB0aGlzLmlzU3VjY2VzcyQucGlwZShcbiAgICBzdGFydFdpdGgoZmFsc2UpLFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgc3dpdGNoTWFwKCgpID0+IHRoaXMuZXJyb3IkLnBpcGUoZmlsdGVyTWF5YmUoKSwgc2NhbkNvdW50KCksIHN0YXJ0V2l0aCgwKSkpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgb3Igbm90IHRoZSBzdGF0ZSBjYW4gYmUgdHJpZ2dlcmVkLlxuICAgKi9cbiAgcmVhZG9ubHkgY2FuVHJpZ2dlciQgPSB0aGlzLnN0YXRlJC5waXBlKG1hcChjYW5UcmlnZ2VyQWN0aW9uKSwgZGlzdGluY3RVbnRpbENoYW5nZWQoKSwgc2hhcmVSZXBsYXkoMSkpO1xuXG4gIC8qKlxuICAgKiBQaXBlIHRoYXQgbWFwcyB3aGV0aGVyIG9yIG5vdCB0aGlzIGlzIG1vZGlmaWVkIGFuZCBjYW4gYmUgdHJpZ2dlcmVkLlxuICAgKlxuICAgKiBVcGRhdGVzIGV2ZXJ5IHN0YXRlIHVwZGF0ZSBpbnN0ZWFkIG9mIHdoZW4gdGhlIHZhbHVlIGNoYW5nZXMuXG4gICAqL1xuICByZWFkb25seSBpc01vZGlmaWVkQW5kQ2FuVHJpZ2dlclVwZGF0ZXMkID0gdGhpcy5zdGF0ZSQucGlwZShtYXAoKHgpID0+IGFjdGlvbkNvbnRleHRJc01vZGlmaWVkQW5kQ2FuVHJpZ2dlcih4KSwgc2hhcmVSZXBsYXkoMSkpKTtcblxuICAvKipcbiAgICogV2hldGhlciBvciBub3QgaXQgY2FuIGJlIHRyaWdnZXJlZCBhbmQgbW9kaWZpZWQuXG4gICAqL1xuICByZWFkb25seSBpc01vZGlmaWVkQW5kQ2FuVHJpZ2dlciQgPSB0aGlzLmlzTW9kaWZpZWRBbmRDYW5UcmlnZ2VyVXBkYXRlcyQucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKTtcblxuICByZWFkb25seSBoYXNOb0Vycm9yQW5kSXNNb2RpZmllZEFuZENhblRyaWdnZXIkID0gdGhpcy5zdGF0ZSQucGlwZShcbiAgICBtYXAoKHgpID0+IGFjdGlvbkNvbnRleHRIYXNOb0Vycm9yQW5kSXNNb2RpZmllZEFuZENhblRyaWdnZXIoeCkpLFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcblxuICAvLyBNQVJLOiBTdGF0ZSBDaGFuZ2VzXG4gIC8qKlxuICAgKiBBZGRzIGEgZGlzYWJsZWQgcmVhc29uLlxuICAgKi9cbiAgcmVhZG9ubHkgZGlzYWJsZSA9IHRoaXMudXBkYXRlcigoc3RhdGUsIGtleT86IHZvaWQgfCBEYnhBY3Rpb25EaXNhYmxlZEtleSkgPT4gKHtcbiAgICAuLi5zdGF0ZSxcbiAgICBkaXNhYmxlZDogQm9vbGVhblN0cmluZ0tleUFycmF5VXRpbGl0eS5pbnNlcnQoc3RhdGUuZGlzYWJsZWQsIChrZXkgYXMgc3RyaW5nKSA/PyBERUZBVUxUX0FDVElPTl9ESVNBQkxFRF9LRVkpXG4gIH0pKTtcblxuICAvKipcbiAgICogUmVtb3ZlcyBhIGRpc2FibGVkIHJlYXNvbi5cbiAgICovXG4gIHJlYWRvbmx5IGVuYWJsZSA9IHRoaXMudXBkYXRlcigoc3RhdGUsIGtleT86IHZvaWQgfCBEYnhBY3Rpb25EaXNhYmxlZEtleSkgPT4gKHtcbiAgICAuLi5zdGF0ZSxcbiAgICBkaXNhYmxlZDogQm9vbGVhblN0cmluZ0tleUFycmF5VXRpbGl0eS5yZW1vdmUoc3RhdGUuZGlzYWJsZWQsIChrZXkgYXMgc3RyaW5nKSA/PyBERUZBVUxUX0FDVElPTl9ESVNBQkxFRF9LRVkpXG4gIH0pKTtcblxuICAvKipcbiAgICogVHJpZ2dlcnMgdGhlIG1vZGlmaWVkIHN0YXRlLCBpZiBub3QgZGlzYWJsZWQuXG4gICAqXG4gICAqIEVxdWl2YWxlbnQgdG8gY2FsbGluZyBzZXRJc01vZGlmaWVkKCkgd2l0aCBvcHBvc2l0ZSBpbnB1dC5cbiAgICovXG4gIHJlYWRvbmx5IHNldElzU2FtZSA9IHRoaXMudXBkYXRlcjx2b2lkLCB2b2lkIHwgYm9vbGVhbj4odXBkYXRlSXNTYW1lT25BY3Rpb25Db250ZXh0U3RhdGUpO1xuXG4gIC8qKlxuICAgKiBUcmlnZ2VycyB0aGUgbW9kaWZpZWQgc3RhdGUsIGlmIG5vdCBkaXNhYmxlZC5cbiAgICovXG4gIHJlYWRvbmx5IHNldElzTW9kaWZpZWQgPSB0aGlzLnVwZGF0ZXI8dm9pZCwgdm9pZCB8IGJvb2xlYW4+KHVwZGF0ZUlzTW9kaWZpZWRPbkFjdGlvbkNvbnRleHRTdGF0ZSk7XG5cbiAgLyoqXG4gICAqIFRyaWdnZXJzIHRoZSBhY3Rpb24gaWYgdGhlIHN0YXRlIGlzIGN1cnJlbnRseSBub3QgaWRsZS4gVGhlIGN1cnJlbnQgc3RhdGUgaXMgY2xlYXJlZCwgYnV0IHRoZSBlcnJvciBpcyByZXRhaW5lZCAoYXMgd2UgbWF5IG5lZWQgdGhlIGVycm9yIGZyb20gdGhlIHByZXZpb3VzIGF0dGVtcHQpLlxuICAgKlxuICAgKiBXaWxsIG5vdCBmaXJlIGlmIHRoZSBhY3Rpb24gaXMgZGlzYWJsZWQuXG4gICAqL1xuICByZWFkb25seSB0cmlnZ2VyID0gdGhpcy51cGRhdGVyKChzdGF0ZSkgPT4gKGNhblRyaWdnZXJBY3Rpb24oc3RhdGUpID8geyBpc01vZGlmaWVkOiBzdGF0ZS5pc01vZGlmaWVkLCBhY3Rpb25TdGF0ZTogRGJ4QWN0aW9uU3RhdGUuVFJJR0dFUkVELCBlcnJvcjogc3RhdGUuZXJyb3IsIHZhbHVlOiB1bmRlZmluZWQgfSA6IHN0YXRlKSk7XG5cbiAgLyoqXG4gICAqIFVwZGF0ZXMgdGhlIHZhbHVlLCBzZXR0aW5nIHZhbHVlIHJlYWR5LiBUaGUgY3VycmVudCByZXN1bHQgaXMgY2xlYXJlZC5cbiAgICovXG4gIHJlYWRvbmx5IHJlYWR5VmFsdWUgPSB0aGlzLnVwZGF0ZXIoKHN0YXRlLCB2YWx1ZTogVCkgPT4gKGNhblJlYWR5VmFsdWUoc3RhdGUpID8geyAuLi5zdGF0ZSwgYWN0aW9uU3RhdGU6IERieEFjdGlvblN0YXRlLlZBTFVFX1JFQURZLCB2YWx1ZSwgcmVzdWx0OiB1bmRlZmluZWQgfSA6IHN0YXRlKSk7XG5cbiAgLyoqXG4gICAqIE5vdGlmeXMgdGhlIGNvbnRleHQgdGhhdCB0aGUgYWN0aW9uIGlzIGluIHByb2dyZXNzLlxuICAgKi9cbiAgcmVhZG9ubHkgc3RhcnRXb3JraW5nID0gdGhpcy51cGRhdGVyKChzdGF0ZSkgPT4gKHsgLi4uc3RhdGUsIGFjdGlvblN0YXRlOiBEYnhBY3Rpb25TdGF0ZS5XT1JLSU5HLCB3b3JrUHJvZ3Jlc3M6IG51bGwgfSkpO1xuXG4gIC8qKlxuICAgKiBVcGRhdGVzIHRoZSB3b3JraW5nIHByb2dyZXNzLlxuICAgKi9cbiAgcmVhZG9ubHkgc2V0V29ya1Byb2dyZXNzID0gdGhpcy51cGRhdGVyKChzdGF0ZSwgd29ya1Byb2dyZXNzOiBNYXliZTxEYnhBY3Rpb25Xb3JrUHJvZ3Jlc3M+KSA9PiAoeyAuLi5zdGF0ZSwgd29ya1Byb2dyZXNzIH0pKTtcblxuICAvKipcbiAgICogVHJpZ2dlcnMgcmVqZWN0aW9uIG9mIHRoZSBhY3Rpb24uIFRoZSB2YWx1ZSBpcyBjbGVhcmVkLlxuICAgKi9cbiAgcmVhZG9ubHkgcmVqZWN0ID0gdGhpcy51cGRhdGVyKChzdGF0ZSwgZXJyb3I/OiBNYXliZTxSZWFkYWJsZUVycm9yPikgPT4gKHtcbiAgICBpc01vZGlmaWVkOiBzdGF0ZS5pc01vZGlmaWVkLFxuICAgIGFjdGlvblN0YXRlOiBEYnhBY3Rpb25TdGF0ZS5SRUpFQ1RFRCxcbiAgICBlcnJvcixcbiAgICBlcnJvckNvdW50OiAoc3RhdGUuZXJyb3JDb3VudCA/PyAwKSArIDEsXG4gICAgZGlzYWJsZWQ6IHN0YXRlLmRpc2FibGVkXG4gIH0pKTtcblxuICAvKipcbiAgICogVXBkYXRlcyB0aGUgc3RhdGUgdG8gc3VjY2VzcywgYW5kIG9wdGlvbmFsbHkgc2V0cyBhIHJlc3VsdC5cbiAgICpcbiAgICogQ2xlYXJzIG1vZGlmaWVkIHN0YXRlLCBhbmQgYW55IGVycm9ycy5cbiAgICovXG4gIHJlYWRvbmx5IHJlc29sdmUgPSB0aGlzLnVwZGF0ZXIoKHN0YXRlLCByZXN1bHQ/OiBNYXliZTxPPikgPT4gKHsgaXNNb2RpZmllZDogZmFsc2UsIGFjdGlvblN0YXRlOiBEYnhBY3Rpb25TdGF0ZS5SRVNPTFZFRCwgdmFsdWU6IHN0YXRlLnZhbHVlLCByZXN1bHQsIGVycm9yOiB1bmRlZmluZWQsIGRpc2FibGVkOiBzdGF0ZS5kaXNhYmxlZCB9KSk7XG5cbiAgLyoqXG4gICAqIENvbXBsZXRlbHkgcmVzZXRzIHRoZSBzdG9yZS5cbiAgICovXG4gIHJlYWRvbmx5IHJlc2V0ID0gdGhpcy51cGRhdGVyKCgpID0+ICh7IC4uLklOSVRJQUxfU1RBVEUgfSkgYXMgQWN0aW9uQ29udGV4dFN0YXRlPFQsIE8+KTtcblxuICAvLyBNQVJLOiBVdGlsaXR5XG4gIGFmdGVyRGlzdGluY3RCb29sZWFuKGZyb21TdGF0ZTogKHN0YXRlOiBBY3Rpb25Db250ZXh0U3RhdGU8VCwgTz4pID0+IGJvb2xlYW4pOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5zdGF0ZSQucGlwZShcbiAgICAgIG1hcCgoeCkgPT4gZnJvbVN0YXRlKHgpKSxcbiAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICBzaGFyZVJlcGxheSgxKVxuICAgICk7XG4gIH1cblxuICBhZnRlckRpc3RpbmN0QWN0aW9uU3RhdGU8WD4oYWN0aW9uU3RhdGU6IERieEFjdGlvblN0YXRlLCBmcm9tU3RhdGU6IChzdGF0ZTogQWN0aW9uQ29udGV4dFN0YXRlPFQsIE8+KSA9PiBYKTogT2JzZXJ2YWJsZTxYPiB7XG4gICAgcmV0dXJuIHRoaXMuYWZ0ZXJEaXN0aW5jdEFjdGlvblN0YXRlQ2hhbmdlKCkucGlwZShcbiAgICAgIGZpbHRlcigoeCkgPT4geC5hY3Rpb25TdGF0ZSA9PT0gYWN0aW9uU3RhdGUpLCAvLyBPbmx5IHBpcGUgd2hlbiB0aGUgbmV3IGFjdGlvbiBzdGF0ZSBtYXRjaGVzLlxuICAgICAgbWFwKCh4KSA9PiBmcm9tU3RhdGUoeCkpLFxuICAgICAgc2hhcmVSZXBsYXkoMSlcbiAgICApO1xuICB9XG5cbiAgYWZ0ZXJEaXN0aW5jdEFjdGlvblN0YXRlQ2hhbmdlKCk6IE9ic2VydmFibGU8QWN0aW9uQ29udGV4dFN0YXRlPFQsIE8+PiB7XG4gICAgcmV0dXJuIHRoaXMuc3RhdGUkLnBpcGUoXG4gICAgICBtYXAoKHgpID0+IFt4LCB4LmFjdGlvblN0YXRlXSBhcyBbQWN0aW9uQ29udGV4dFN0YXRlLCBEYnhBY3Rpb25TdGF0ZV0pLFxuICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKGEsIGIpID0+IGE/LlsxXSA9PT0gYj8uWzFdKSwgLy8gRmlsdGVyIG91dCB3aGVuIHRoZSBzdGF0ZSByZW1haW5zIHRoZSBzYW1lLlxuICAgICAgbWFwKCh4KSA9PiB4WzBdIGFzIEFjdGlvbkNvbnRleHRTdGF0ZTxULCBPPiksXG4gICAgICBzaGFyZVJlcGxheSgxKVxuICAgICk7XG4gIH1cblxuICBhZnRlckRpc3RpbmN0TG9hZGluZ1N0YXRlVHlwZUNoYW5nZSgpOiBPYnNlcnZhYmxlPEFjdGlvbkNvbnRleHRTdGF0ZTxULCBPPj4ge1xuICAgIHJldHVybiB0aGlzLnN0YXRlJC5waXBlKFxuICAgICAgbWFwKCh4KSA9PiBbeCwgbG9hZGluZ1N0YXRlVHlwZUZvckFjdGlvbkNvbnRleHRTdGF0ZSh4KV0gYXMgW0FjdGlvbkNvbnRleHRTdGF0ZSwgTG9hZGluZ1N0YXRlVHlwZV0pLFxuICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKGEsIGIpID0+IGE/LlsxXSA9PT0gYj8uWzFdKSwgLy8gRmlsdGVyIG91dCB3aGVuIHRoZSBsb2FkaW5nIHN0YXRlIHJlbWFpbnMgdGhlIHNhbWUuXG4gICAgICBtYXAoKHgpID0+IHhbMF0gYXMgQWN0aW9uQ29udGV4dFN0YXRlPFQsIE8+KSxcbiAgICAgIHNoYXJlUmVwbGF5KDEpXG4gICAgKTtcbiAgfVxuXG4gIC8vIE1BUks6IENsZWFudXBcbiAgb3ZlcnJpZGUgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgLy8gV2FpdCBmb3IgYW55IGFjdGlvbnMgdG8gY29tcGxldGUgYmVmb3JlIGRlc3Ryb3lpbmcuXG4gICAgdGhpcy5sb2NrU2V0Lm9uTmV4dFVubG9jaygoKSA9PiB7XG4gICAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xuICAgIH0sIDIwMDApO1xuICB9XG59XG5cbmZ1bmN0aW9uIHVwZGF0ZUlzU2FtZU9uQWN0aW9uQ29udGV4dFN0YXRlPFQsIE8+KHN0YXRlOiBBY3Rpb25Db250ZXh0U3RhdGU8VCwgTz4sIGlzU2FtZT86IHZvaWQgfCBib29sZWFuKTogQWN0aW9uQ29udGV4dFN0YXRlPFQsIE8+IHtcbiAgcmV0dXJuIHVwZGF0ZUlzTW9kaWZpZWRPbkFjdGlvbkNvbnRleHRTdGF0ZShzdGF0ZSwgaXNTYW1lID09IG51bGwgPyBmYWxzZSA6ICFpc1NhbWUpO1xufVxuXG5mdW5jdGlvbiB1cGRhdGVJc01vZGlmaWVkT25BY3Rpb25Db250ZXh0U3RhdGU8VCwgTz4oc3RhdGU6IEFjdGlvbkNvbnRleHRTdGF0ZTxULCBPPiwgaXNNb2RpZmllZD86IHZvaWQgfCBib29sZWFuKTogQWN0aW9uQ29udGV4dFN0YXRlPFQsIE8+IHtcbiAgcmV0dXJuIHtcbiAgICAuLi5zdGF0ZSxcbiAgICBhY3Rpb25TdGF0ZTogc3RhdGUuYWN0aW9uU3RhdGUgPT09IERieEFjdGlvblN0YXRlLlJFU09MVkVEID8gRGJ4QWN0aW9uU3RhdGUuSURMRSA6IHN0YXRlLmFjdGlvblN0YXRlLCAvLyBTZXQgdG8gaWRsZSBmcm9tIHN1Y2Nlc3MuXG4gICAgaXNNb2RpZmllZDogKGlzTW9kaWZpZWQgYXMgYm9vbGVhbikgPz8gdHJ1ZSAvLyBpZiBpc01vZGlmaWVkIGlzIG5vdCBpbnB1dCwgZGVmYXVsdCBpdCB0byB0cnVlXG4gIH07XG59XG4iXX0=
@@ -68,6 +68,9 @@ export class DbxActionContextStoreSourceInstance {
68
68
  get successPair$() {
69
69
  return this.pipeStore((x) => x.successPair$);
70
70
  }
71
+ get workProgress$() {
72
+ return this.pipeStore((x) => x.workProgress$);
73
+ }
71
74
  get error$() {
72
75
  return this.pipeStore((x) => x.error$);
73
76
  }
@@ -101,6 +104,9 @@ export class DbxActionContextStoreSourceInstance {
101
104
  get isWorking$() {
102
105
  return this.pipeStore((x) => x.isWorking$);
103
106
  }
107
+ get isWorkingOrWorkProgress$() {
108
+ return this.pipeStore((x) => x.isWorkingOrWorkProgress$);
109
+ }
104
110
  get isSuccess$() {
105
111
  return this.pipeStore((x) => x.isSuccess$);
106
112
  }
@@ -125,6 +131,9 @@ export class DbxActionContextStoreSourceInstance {
125
131
  setIsModified(isModified) {
126
132
  this.useStore((x) => x.setIsModified(isModified));
127
133
  }
134
+ setWorkProgress(workProgress) {
135
+ this.useStore((x) => x.setWorkProgress(workProgress));
136
+ }
128
137
  trigger() {
129
138
  this.useStore((x) => x.trigger());
130
139
  }
@@ -150,4 +159,4 @@ export class DbxActionContextStoreSourceInstance {
150
159
  this.useStore((x) => x.reset());
151
160
  }
152
161
  }
153
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLnN0b3JlLnNvdXJjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1jb3JlL3NyYy9saWIvYWN0aW9uL2FjdGlvbi5zdG9yZS5zb3VyY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQTRCLE1BQU0sTUFBTSxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFrQyxNQUFNLGVBQWUsQ0FBQztBQUtyRjs7R0FFRztBQUNILE1BQU0sT0FBZ0Isd0JBQXdCO0NBTzdDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLE9BQWdCLGlDQUE0RCxTQUFRLHdCQUE4QjtDQUFHO0FBRTNILE1BQU0sVUFBVSw0QkFBNEIsQ0FBTyxHQUFnRDtJQUNqRyxPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztBQUNqQyxDQUFDO0FBSUQsTUFBTSxVQUFVLGVBQWUsQ0FBd0MsTUFBc0MsRUFBRSxNQUF3QztJQUNySixPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0FBQy9DLENBQUM7QUFJRDs7R0FFRztBQUNILE1BQU0sVUFBVSxjQUFjLENBQTJCLE1BQXNDLEVBQUUsS0FBbUM7SUFDbEksT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUN0RCxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sbUNBQW1DO0lBQ3JDLE9BQU8sR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO0lBRWhCLE9BQU8sQ0FBaUM7SUFFekQsWUFBWSxNQUFzQztRQUNoRCxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDWixNQUFNLElBQUksS0FBSyxDQUFDLHFC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Q0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVNLFlBQVk7UUFDakIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVNLE1BQU0sQ0FBQyxLQUF1RDtRQUNuRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVNLE9BQU8sQ0FBQyxLQUF3QjtRQUNyQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVNLEtBQUs7UUFDVixJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUNsQyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBmaXJzdCwgc3dpdGNoTWFwLCBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IExvY2tTZXQsIGZpbHRlck1heWJlLCBMb2FkaW5nU3RhdGUsIExvYWRpbmdTdGF0ZVR5cGUgfSBmcm9tICdAZGVyZWVrYi9yeGpzJztcbmltcG9ydCB7IERlc3Ryb3lhYmxlLCBNYXliZSwgUmVhZGFibGVFcnJvciB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuaW1wb3J0IHsgQWN0aW9uQ29udGV4dFN0YXRlLCBBY3Rpb25Db250ZXh0U3RvcmUgfSBmcm9tICcuL2FjdGlvbi5zdG9yZSc7XG5pbXBvcnQgeyBEYnhBY3Rpb25EaXNhYmxlZEtleSwgRGJ4QWN0aW9uUmVqZWN0ZWRQYWlyLCBEYnhBY3Rpb25TdGF0ZSwgRGJ4QWN0aW9uU3VjY2Vzc1BhaXIgfSBmcm9tICcuL2FjdGlvbic7XG5cbi8qKlxuICogU291cmNlIHRoYXQgcHJvdmlkZXMgYSBBY3Rpb25Db250ZXh0U3RvcmUgb2JzZXJ2YWJsZS5cbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFjdGlvbkNvbnRleHRTdG9yZVNvdXJjZTxUID0gdW5rbm93biwgTyA9IHVua25vd24+IHtcbiAgLyoqXG4gICAqIE9ic2VydmFibGUgcmVmZXJlbmNpbmcgdGhlIEFjdGlvbkNvbnRleHRTdG9yZS5cbiAgICpcbiAgICogVGhpcyBvYnNlcnZhYmxlIGJ5IGRlc2lnbiBpcyBwcmUtZmlsdGVyZWQgdG8gbm90IHJldHVybiBudWxsIHZhbHVlcy5cbiAgICovXG4gIGFic3RyYWN0IHJlYWRvbmx5IHN0b3JlJDogT2JzZXJ2YWJsZTxBY3Rpb25Db250ZXh0U3RvcmU8VCwgTz4+O1xufVxuXG4vKipcbiAqIFNlY29uZGFyeSBzb3VyY2UuIFVzZWQgYnkgRGJ4QWN0aW9uQ29udGV4dENvbXBvbmVudCB0byBmaW5kIHNlY29uZGFyeSBzb3VyY2VzLlxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgU2Vjb25kYXJ5QWN0aW9uQ29udGV4dFN0b3JlU291cmNlPFQgPSB1bmtub3duLCBPID0gdW5rbm93bj4gZXh0ZW5kcyBBY3Rpb25Db250ZXh0U3RvcmVTb3VyY2U8VCwgTz4ge31cblxuZXhwb3J0IGZ1bmN0aW9uIGFjdGlvbkNvbnRleHRTdG9yZVNvdXJjZVBpcGU8VCwgTz4ob2JzOiBPYnNlcnZhYmxlPE1heWJlPEFjdGlvbkNvbnRleHRTdG9yZTxULCBPPj4+KTogT2JzZXJ2YWJsZTxBY3Rpb25Db250ZXh0U3RvcmU8VCwgTz4+IHtcbiAgcmV0dXJuIG9icy5waXBlKGZpbHRlck1heWJlKCkpO1xufVxuXG5leHBvcnQgdHlwZSBQaXBlQWN0aW9uU3RvcmVGdW5jdGlvbjxSLCBULCBPPiA9IChzdG9yZTogQWN0aW9uQ29udGV4dFN0b3JlPFQsIE8+KSA9PiBPYnNlcnZhYmxlPFI+O1xuXG5leHBvcnQgZnVuY3Rpb24gcGlwZUFjdGlvblN0b3JlPFIgPSB1bmtub3duLCBUID0gdW5rbm93biwgTyA9IHVua25vd24+KHNvdXJjZTogQWN0aW9uQ29udGV4dFN0b3JlU291cmNlPFQsIE8+LCBwaXBlRm46IFBpcGVBY3Rpb25TdG9yZUZ1bmN0aW9uPFIsIFQsIE8+KTogT2JzZXJ2YWJsZTxSPiB7XG4gIHJldHVybiBzb3VyY2Uuc3RvcmUkLnBpcGUoc3dpdGNoTWFwKHBpcGVGbikpO1xufVxuXG5leHBvcnQgdHlwZSBVc2VBY3Rpb25TdG9yZUZ1bmN0aW9uPFQsIE8+ID0gKHN0b3JlOiBBY3Rpb25Db250ZXh0U3RvcmU8VCwgTz4pID0+IHZvaWQ7XG5cbi8qKlxuICogQ29udmVuaWVuY2UgZnVuY3Rpb24gZm9yIHN1YnNjcmliaW5nIHRvIHRoZSBpbnB1dCBzb3VyY2Ugb25jZSBhbmQgdXNpbmcgdGhlIHByb3ZpZGVkIHN0b3JlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gdXNlQWN0aW9uU3RvcmU8VCA9IHVua25vd24sIE8gPSB1bmtub3duPihzb3VyY2U6IEFjdGlvbkNvbnRleHRTdG9yZVNvdXJjZTxULCBPPiwgdXNlRm46IFVzZUFjdGlvblN0b3JlRnVuY3Rpb248VCwgTz4pOiBTdWJzY3JpcHRpb24ge1xuICByZXR1cm4gc291cmNlLnN0b3JlJC5waXBlKGZpcnN0KCkpLnN1YnNjcmliZSh1c2VGbik7XG59XG5cbi8qKlxuICogU2VydmljZSB0aGF0IHdyYXBzIGEgQWN0aW9uQ29udGV4dFN0b3JlU291cmNlLlxuICovXG5leHBvcnQgY2xhc3MgRGJ4QWN0aW9uQ29udGV4dFN0b3JlU291cmNlSW5zdGFuY2U8VCA9IHVua25vd24sIE8gPSB1bmtub3duPiBpbXBsZW1lbnRzIEFjdGlvbkNvbnRleHRTdG9yZVNvdXJjZTxULCBPPiwgRGVzdHJveWFibGUge1xuICByZWFkb25seSBsb2NrU2V0ID0gbmV3IExvY2tTZXQoKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9zb3VyY2U6IEFjdGlvbkNvbnRleHRTdG9yZVNvdXJjZTxULCBPPjtcblxuICBjb25zdHJ1Y3Rvcihzb3VyY2U6IEFjdGlvbkNvbnRleHRTdG9yZVNvdXJjZTxULCBPPikge1xuICAgIGlmICghc291cmNlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1NvdXJjZSBpcyByZXF1aXJlZC4nKTtcbiAgICB9XG5cbiAgICB0aGlzLl9zb3VyY2UgPSBzb3VyY2U7XG4gIH1cblxuICBnZXQgc291cmNlKCk6IEFjdGlvbkNvbnRleHRTdG9yZVNvdXJjZTxULCBPPiB7XG4gICAgcmV0dXJuIHRoaXMuX3NvdXJjZTtcbiAgfVxuXG4gIHB1YmxpYyBkZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMubG9ja1NldC5kZXN0cm95T25OZXh0VW5sb2NrKCk7XG4gIH1cblxuICAvLyBNQVJLOiBTdG9yZVxuICBnZXQgc3RvcmUkKCk6IE9ic2VydmFibGU8QWN0aW9uQ29udGV4dFN0b3JlPFQsIE8+PiB7XG4gICAgcmV0dXJuIHRoaXMuc291cmNlLnN0b3JlJDtcbiAgfVxuXG4gIHBpcGVTdG9yZTxSPihwaXBlRm46IFBpcGVBY3Rpb25TdG9yZUZ1bmN0aW9uPFIsIFQsIE8+KTogT2JzZXJ2YWJsZTxSPiB7XG4gICAgcmV0dXJuIHBpcGVBY3Rpb25TdG9yZSh0aGlzLnNvdXJjZSwgcGlwZUZuKTtcbiAgfVxuXG4gIHVzZVN0b3JlKHVzZUZuOiBVc2VBY3Rpb25TdG9yZUZ1bmN0aW9uPFQsIE8+KTogU3Vic2NyaXB0aW9uIHtcbiAgICByZXR1cm4gdXNlQWN0aW9uU3RvcmUodGhpcy5zb3VyY2UsIHVzZUZuKTtcbiAgfVxuXG4gIGdldCBzdGF0ZSQoKTogT2JzZXJ2YWJsZTxBY3Rpb25Db250ZXh0U3RhdGU8VCwgTz4+IHtcbiAgICByZXR1cm4gdGhpcy5waXBlU3RvcmUoKHgpID0+IHguc3RhdGUkKTtcbiAgfVxuXG4gIGdldCBpZGxlJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5waXBlU3RvcmUoKHgpID0+IHguaWRsZSQpO1xuICB9XG5cbiAgZ2V0IHRyaWdnZXJlZCQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMucGlwZVN0b3JlKCh4KSA9PiB4LnRyaWdnZXJlZCQpO1xuICB9XG5cbiAgZ2V0IHZhbHVlUmVhZHkkKCk6IE9ic2VydmFibGU8VD4ge1xuICAgIHJldHVybiB0aGlzLnBpcGVTdG9yZSgoeCkgPT4geC52YWx1ZVJlYWR5JCk7XG4gIH1cblxuICBnZXQgc3VjY2VzcyQoKTogT2JzZXJ2YWJsZTxNYXliZTxPPj4ge1xuICAgIHJldHVybiB0aGlzLnBpcGVTdG9yZSgoeCkgPT4geC5zdWNjZXNzJCk7XG4gIH1cblxuICBnZXQgc3VjY2Vzc1BhaXIkKCk6IE9ic2VydmFibGU8RGJ4QWN0aW9uU3VjY2Vzc1BhaXI8VCwgTz4+IHtcbiAgICByZXR1cm4gdGhpcy5waXBlU3RvcmUoKHgpID0+IHguc3VjY2Vzc1BhaXIkKTtcbiAgfVxuXG4gIGdldCBlcnJvciQoKTogT2JzZXJ2YWJsZTxNYXliZTxSZWFkYWJsZUVycm9yPj4ge1xuICAgIHJldHVybiB0aGlzLnBpcGVTdG9yZSgoeCkgPT4geC5lcnJvciQpO1xuICB9XG5cbiAgZ2V0IHJlamVjdGVkJCgpOiBPYnNlcnZhYmxlPE1heWJlPFJlYWRhYmxlRXJyb3I+PiB7XG4gICAgcmV0dXJuIHRoaXMucGlwZVN0b3JlKCh4KSA9PiB4LnJlamVjdGVkJCk7XG4gIH1cblxuICBnZXQgcmVqZWN0ZWRQYWlyJCgpOiBPYnNlcnZhYmxlPERieEFjdGlvblJlamVjdGVkUGFpcjxUPj4ge1xuICAgIHJldHVybiB0aGlzLnBpcGVTdG9yZSgoeCkgPT4geC5yZWplY3RlZFBhaXIkKTtcbiAgfVxuXG4gIGdldCBpc01vZGlmaWVkJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5waXBlU3RvcmUoKHgpID0+IHguaXNNb2RpZmllZCQpO1xuICB9XG5cbiAgZ2V0IGNhblRyaWdnZXIkKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLnBpcGVTdG9yZSgoeCkgPT4geC5jYW5UcmlnZ2VyJCk7XG4gIH1cblxuICBnZXQgaXNNb2RpZmllZEFuZENhblRyaWdnZXJVcGRhdGVzJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5waXBlU3RvcmUoKHgpID0+IHguaXNNb2RpZmllZEFuZENhblRyaWdnZXJVcGRhdGVzJCk7XG4gIH1cblxuICBnZXQgaXNNb2RpZmllZEFuZENhblRyaWdnZXIkKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLnBpcGVTdG9yZSgoeCkgPT4geC5pc01vZGlmaWVkQW5kQ2FuVHJpZ2dlciQpO1xuICB9XG5cbiAgZ2V0IGFjdGlvblN0YXRlJCgpOiBPYnNlcnZhYmxlPERieEFjdGlvblN0YXRlPiB7XG4gICAgcmV0dXJuIHRoaXMucGlwZVN0b3JlKCh4KSA9PiB4LmFjdGlvblN0YXRlJCk7XG4gIH1cblxuICBnZXQgbG9hZGluZ1N0YXRlJCgpOiBPYnNlcnZhYmxlPExvYWRpbmdTdGF0ZTxPPj4ge1xuICAgIHJldHVybiB0aGlzLnBpcGVTdG9yZSgoeCkgPT4geC5sb2FkaW5nU3RhdGUkKTtcbiAgfVxuXG4gIGdldCBsb2FkaW5nU3RhdGVUeXBlJCgpOiBPYnNlcnZhYmxlPExvYWRpbmdTdGF0ZVR5cGU+IHtcbiAgICByZXR1cm4gdGhpcy5waXBlU3RvcmUoKHgpID0+IHgubG9hZGluZ1N0YXRlVHlwZSQpO1xuICB9XG5cbiAgZ2V0IGlzV29ya2luZyQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMucGlwZVN0b3JlKCh4KSA9PiB4LmlzV29ya2luZyQpO1xuICB9XG5cbiAgZ2V0IGlzU3VjY2VzcyQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMucGlwZVN0b3JlKCh4KSA9PiB4LmlzU3VjY2VzcyQpO1xuICB9XG5cbiAgZ2V0IGRpc2FibGVkS2V5cyQoKTogT2JzZXJ2YWJsZTxzdHJpbmdbXT4ge1xuICAgIHJldHVybiB0aGlzLnBpcGVTdG9yZSgoeCkgPT4geC5kaXNhYmxlZEtleXMkKTtcbiAgfVxuXG4gIGdldCBpc0Rpc2FibGVkJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5waXBlU3RvcmUoKHgpID0+IHguaXNEaXNhYmxlZCQpO1xuICB9XG5cbiAgZ2V0IGVycm9yQ291bnRTaW5jZUxhc3RTdWNjZXNzJCgpOiBPYnNlcnZhYmxlPG51bWJlcj4ge1xuICAgIHJldHVybiB0aGlzLnBpcGVTdG9yZSgoeCkgPT4geC5lcnJvckNvdW50U2luY2VMYXN0U3VjY2VzcyQpO1xuICB9XG5cbiAgcHVibGljIGVuYWJsZShrZXk/OiBEYnhBY3Rpb25EaXNhYmxlZEtleSwgZW5hYmxlID0gdHJ1ZSk6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZShrZXksICFlbmFibGUpO1xuICB9XG5cbiAgcHVibGljIGRpc2FibGUoa2V5PzogRGJ4QWN0aW9uRGlzYWJsZWRLZXksIGRpc2FibGUgPSB0cnVlKTogdm9pZCB7XG4gICAgdGhpcy51c2VTdG9yZSgoeCkgPT4gKGRpc2FibGUgPyB4LmRpc2FibGUoa2V5KSA6IHguZW5hYmxlKGtleSkpKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRJc1NhbWUoaXNTYW1lPzogYm9vbGVhbiB8IE9ic2VydmFibGU8Ym9vbGVhbj4gfCBPYnNlcnZhYmxlPHZvaWQ+KTogdm9pZCB7XG4gICAgdGhpcy51c2VTdG9yZSgoeCkgPT4geC5zZXRJc1NhbWUoaXNTYW1lKSk7XG4gIH1cblxuICBwdWJsaWMgc2V0SXNNb2RpZmllZChpc01vZGlmaWVkPzogYm9vbGVhbiB8IE9ic2VydmFibGU8Ym9vbGVhbj4gfCBPYnNlcnZhYmxlPHZvaWQ+KTogdm9pZCB7XG4gICAgdGhpcy51c2VTdG9yZSgoeCkgPT4geC5zZXRJc01vZGlmaWVkKGlzTW9kaWZpZWQpKTtcbiAgfVxuXG4gIHB1YmxpYyB0cmlnZ2VyKCk6IHZvaWQge1xuICAgIHRoaXMudXNlU3RvcmUoKHgpID0+IHgudHJpZ2dlcigpKTtcbiAgfVxuXG4gIHB1YmxpYyB0cmlnZ2VyV2l0aFZhbHVlKHZhbHVlOiBUIHwgT2JzZXJ2YWJsZTxUPik6IHZvaWQge1xuICAgIHRoaXMudXNlU3RvcmUoKHgpID0+IHtcbiAgICAgIHgudHJpZ2dlcigpO1xuICAgICAgeC5yZWFkeVZhbHVlKHZhbHVlKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyByZWFkeVZhbHVlKHZhbHVlOiBUIHwgT2JzZXJ2YWJsZTxUPik6IHZvaWQge1xuICAgIHRoaXMudXNlU3RvcmUoKHgpID0+IHgucmVhZHlWYWx1ZSh2YWx1ZSkpO1xuICB9XG5cbiAgcHVibGljIHN0YXJ0V29ya2luZygpOiB2b2lkIHtcbiAgICB0aGlzLnVzZVN0b3JlKCh4KSA9PiB4LnN0YXJ0V29ya2luZygpKTtcbiAgfVxuXG4gIHB1YmxpYyByZWplY3QoZXJyb3I6IE1heWJlPFJlYWRhYmxlRXJyb3IgfCBPYnNlcnZhYmxlPFJlYWRhYmxlRXJyb3I+Pik6IHZvaWQge1xuICAgIHRoaXMudXNlU3RvcmUoKHgpID0+IHgucmVqZWN0KGVycm9yKSk7XG4gIH1cblxuICBwdWJsaWMgcmVzb2x2ZSh2YWx1ZTogTyB8IE9ic2VydmFibGU8Tz4pOiB2b2lkIHtcbiAgICB0aGlzLnVzZVN0b3JlKCh4KSA9PiB4LnJlc29sdmUodmFsdWUpKTtcbiAgfVxuXG4gIHB1YmxpYyByZXNldCgpOiB2b2lkIHtcbiAgICB0aGlzLnVzZVN0b3JlKCh4KSA9PiB4LnJlc2V0KCkpO1xuICB9XG59XG4iXX0=
162
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLnN0b3JlLnNvdXJjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1jb3JlL3NyYy9saWIvYWN0aW9uL2FjdGlvbi5zdG9yZS5zb3VyY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQTRCLE1BQU0sTUFBTSxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUEwRCxNQUFNLGVBQWUsQ0FBQztBQUs3Rzs7R0FFRztBQUNILE1BQU0sT0FBZ0Isd0JBQXdCO0NBTzdDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLE9BQWdCLGlDQUE0RCxTQUFRLHdCQUE4QjtDQUFHO0FBRTNILE1BQU0sVUFBVSw0QkFBNEIsQ0FBTyxHQUFnRDtJQUNqRyxPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztBQUNqQyxDQUFDO0FBSUQsTUFBTSxVQUFVLGVBQWUsQ0FBd0MsTUFBc0MsRUFBRSxNQUF3QztJQUNySixPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0FBQy9DLENBQUM7QUFJRDs7R0FFRztBQUNILE1BQU0sVUFBVSxjQUFjLENBQTJCLE1BQXNDLEVBQUUsS0FBbUM7SUFDbEksT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUN0RCxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sbUNBQW1DO0lBQ3JDLE9BQU8sR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO0lBRWhCLE9BQU8sQ0FBaUM7SUFFekQsWUFBWSxNQUFzQztRQUNoRCxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDWixNQUFNLElBQUksS0FBSyxDQUFDLHFC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ZXJ2YWJsZSwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBMb2NrU2V0LCBmaWx0ZXJNYXliZSwgTG9hZGluZ1N0YXRlLCBMb2FkaW5nU3RhdGVUeXBlLCBNYXliZU9ic2VydmFibGVPclZhbHVlIH0gZnJvbSAnQGRlcmVla2Ivcnhqcyc7XG5pbXBvcnQgeyBEZXN0cm95YWJsZSwgTWF5YmUsIFJlYWRhYmxlRXJyb3IgfSBmcm9tICdAZGVyZWVrYi91dGlsJztcbmltcG9ydCB7IEFjdGlvbkNvbnRleHRTdGF0ZSwgQWN0aW9uQ29udGV4dFN0b3JlIH0gZnJvbSAnLi9hY3Rpb24uc3RvcmUnO1xuaW1wb3J0IHsgRGJ4QWN0aW9uRGlzYWJsZWRLZXksIERieEFjdGlvblJlamVjdGVkUGFpciwgRGJ4QWN0aW9uU3RhdGUsIERieEFjdGlvblN1Y2Nlc3NQYWlyLCBEYnhBY3Rpb25Xb3JrT3JXb3JrUHJvZ3Jlc3MsIERieEFjdGlvbldvcmtQcm9ncmVzcyB9IGZyb20gJy4vYWN0aW9uJztcblxuLyoqXG4gKiBTb3VyY2UgdGhhdCBwcm92aWRlcyBhIEFjdGlvbkNvbnRleHRTdG9yZSBvYnNlcnZhYmxlLlxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQWN0aW9uQ29udGV4dFN0b3JlU291cmNlPFQgPSB1bmtub3duLCBPID0gdW5rbm93bj4ge1xuICAvKipcbiAgICogT2JzZXJ2YWJsZSByZWZlcmVuY2luZyB0aGUgQWN0aW9uQ29udGV4dFN0b3JlLlxuICAgKlxuICAgKiBUaGlzIG9ic2VydmFibGUgYnkgZGVzaWduIGlzIHByZS1maWx0ZXJlZCB0byBub3QgcmV0dXJuIG51bGwgdmFsdWVzLlxuICAgKi9cbiAgYWJzdHJhY3QgcmVhZG9ubHkgc3RvcmUkOiBPYnNlcnZhYmxlPEFjdGlvbkNvbnRleHRTdG9yZTxULCBPPj47XG59XG5cbi8qKlxuICogU2Vjb25kYXJ5IHNvdXJjZS4gVXNlZCBieSBEYnhBY3Rpb25Db250ZXh0Q29tcG9uZW50IHRvIGZpbmQgc2Vjb25kYXJ5IHNvdXJjZXMuXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBTZWNvbmRhcnlBY3Rpb25Db250ZXh0U3RvcmVTb3VyY2U8VCA9IHVua25vd24sIE8gPSB1bmtub3duPiBleHRlbmRzIEFjdGlvbkNvbnRleHRTdG9yZVNvdXJjZTxULCBPPiB7fVxuXG5leHBvcnQgZnVuY3Rpb24gYWN0aW9uQ29udGV4dFN0b3JlU291cmNlUGlwZTxULCBPPihvYnM6IE9ic2VydmFibGU8TWF5YmU8QWN0aW9uQ29udGV4dFN0b3JlPFQsIE8+Pj4pOiBPYnNlcnZhYmxlPEFjdGlvbkNvbnRleHRTdG9yZTxULCBPPj4ge1xuICByZXR1cm4gb2JzLnBpcGUoZmlsdGVyTWF5YmUoKSk7XG59XG5cbmV4cG9ydCB0eXBlIFBpcGVBY3Rpb25TdG9yZUZ1bmN0aW9uPFIsIFQsIE8+ID0gKHN0b3JlOiBBY3Rpb25Db250ZXh0U3RvcmU8VCwgTz4pID0+IE9ic2VydmFibGU8Uj47XG5cbmV4cG9ydCBmdW5jdGlvbiBwaXBlQWN0aW9uU3RvcmU8UiA9IHVua25vd24sIFQgPSB1bmtub3duLCBPID0gdW5rbm93bj4oc291cmNlOiBBY3Rpb25Db250ZXh0U3RvcmVTb3VyY2U8VCwgTz4sIHBpcGVGbjogUGlwZUFjdGlvblN0b3JlRnVuY3Rpb248UiwgVCwgTz4pOiBPYnNlcnZhYmxlPFI+IHtcbiAgcmV0dXJuIHNvdXJjZS5zdG9yZSQucGlwZShzd2l0Y2hNYXAocGlwZUZuKSk7XG59XG5cbmV4cG9ydCB0eXBlIFVzZUFjdGlvblN0b3JlRnVuY3Rpb248VCwgTz4gPSAoc3RvcmU6IEFjdGlvbkNvbnRleHRTdG9yZTxULCBPPikgPT4gdm9pZDtcblxuLyoqXG4gKiBDb252ZW5pZW5jZSBmdW5jdGlvbiBmb3Igc3Vic2NyaWJpbmcgdG8gdGhlIGlucHV0IHNvdXJjZSBvbmNlIGFuZCB1c2luZyB0aGUgcHJvdmlkZWQgc3RvcmUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1c2VBY3Rpb25TdG9yZTxUID0gdW5rbm93biwgTyA9IHVua25vd24+KHNvdXJjZTogQWN0aW9uQ29udGV4dFN0b3JlU291cmNlPFQsIE8+LCB1c2VGbjogVXNlQWN0aW9uU3RvcmVGdW5jdGlvbjxULCBPPik6IFN1YnNjcmlwdGlvbiB7XG4gIHJldHVybiBzb3VyY2Uuc3RvcmUkLnBpcGUoZmlyc3QoKSkuc3Vic2NyaWJlKHVzZUZuKTtcbn1cblxuLyoqXG4gKiBTZXJ2aWNlIHRoYXQgd3JhcHMgYSBBY3Rpb25Db250ZXh0U3RvcmVTb3VyY2UuXG4gKi9cbmV4cG9ydCBjbGFzcyBEYnhBY3Rpb25Db250ZXh0U3RvcmVTb3VyY2VJbnN0YW5jZTxUID0gdW5rbm93biwgTyA9IHVua25vd24+IGltcGxlbWVudHMgQWN0aW9uQ29udGV4dFN0b3JlU291cmNlPFQsIE8+LCBEZXN0cm95YWJsZSB7XG4gIHJlYWRvbmx5IGxvY2tTZXQgPSBuZXcgTG9ja1NldCgpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX3NvdXJjZTogQWN0aW9uQ29udGV4dFN0b3JlU291cmNlPFQsIE8+O1xuXG4gIGNvbnN0cnVjdG9yKHNvdXJjZTogQWN0aW9uQ29udGV4dFN0b3JlU291cmNlPFQsIE8+KSB7XG4gICAgaWYgKCFzb3VyY2UpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignU291cmNlIGlzIHJlcXVpcmVkLicpO1xuICAgIH1cblxuICAgIHRoaXMuX3NvdXJjZSA9IHNvdXJjZTtcbiAgfVxuXG4gIGdldCBzb3VyY2UoKTogQWN0aW9uQ29udGV4dFN0b3JlU291cmNlPFQsIE8+IHtcbiAgICByZXR1cm4gdGhpcy5fc291cmNlO1xuICB9XG5cbiAgcHVibGljIGRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5sb2NrU2V0LmRlc3Ryb3lPbk5leHRVbmxvY2soKTtcbiAgfVxuXG4gIC8vIE1BUks6IFN0b3JlXG4gIGdldCBzdG9yZSQoKTogT2JzZXJ2YWJsZTxBY3Rpb25Db250ZXh0U3RvcmU8VCwgTz4+IHtcbiAgICByZXR1cm4gdGhpcy5zb3VyY2Uuc3RvcmUkO1xuICB9XG5cbiAgcGlwZVN0b3JlPFI+KHBpcGVGbjogUGlwZUFjdGlvblN0b3JlRnVuY3Rpb248UiwgVCwgTz4pOiBPYnNlcnZhYmxlPFI+IHtcbiAgICByZXR1cm4gcGlwZUFjdGlvblN0b3JlKHRoaXMuc291cmNlLCBwaXBlRm4pO1xuICB9XG5cbiAgdXNlU3RvcmUodXNlRm46IFVzZUFjdGlvblN0b3JlRnVuY3Rpb248VCwgTz4pOiBTdWJzY3JpcHRpb24ge1xuICAgIHJldHVybiB1c2VBY3Rpb25TdG9yZSh0aGlzLnNvdXJjZSwgdXNlRm4pO1xuICB9XG5cbiAgZ2V0IHN0YXRlJCgpOiBPYnNlcnZhYmxlPEFjdGlvbkNvbnRleHRTdGF0ZTxULCBPPj4ge1xuICAgIHJldHVybiB0aGlzLnBpcGVTdG9yZSgoeCkgPT4geC5zdGF0ZSQpO1xuICB9XG5cbiAgZ2V0IGlkbGUkKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLnBpcGVTdG9yZSgoeCkgPT4geC5pZGxlJCk7XG4gIH1cblxuICBnZXQgdHJpZ2dlcmVkJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5waXBlU3RvcmUoKHgpID0+IHgudHJpZ2dlcmVkJCk7XG4gIH1cblxuICBnZXQgdmFsdWVSZWFkeSQoKTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgcmV0dXJuIHRoaXMucGlwZVN0b3JlKCh4KSA9PiB4LnZhbHVlUmVhZHkkKTtcbiAgfVxuXG4gIGdldCBzdWNjZXNzJCgpOiBPYnNlcnZhYmxlPE1heWJlPE8+PiB7XG4gICAgcmV0dXJuIHRoaXMucGlwZVN0b3JlKCh4KSA9PiB4LnN1Y2Nlc3MkKTtcbiAgfVxuXG4gIGdldCBzdWNjZXNzUGFpciQoKTogT2JzZXJ2YWJsZTxEYnhBY3Rpb25TdWNjZXNzUGFpcjxULCBPPj4ge1xuICAgIHJldHVybiB0aGlzLnBpcGVTdG9yZSgoeCkgPT4geC5zdWNjZXNzUGFpciQpO1xuICB9XG5cbiAgZ2V0IHdvcmtQcm9ncmVzcyQoKTogT2JzZXJ2YWJsZTxNYXliZTxEYnhBY3Rpb25Xb3JrUHJvZ3Jlc3M+PiB7XG4gICAgcmV0dXJuIHRoaXMucGlwZVN0b3JlKCh4KSA9PiB4LndvcmtQcm9ncmVzcyQpO1xuICB9XG5cbiAgZ2V0IGVycm9yJCgpOiBPYnNlcnZhYmxlPE1heWJlPFJlYWRhYmxlRXJyb3I+PiB7XG4gICAgcmV0dXJuIHRoaXMucGlwZVN0b3JlKCh4KSA9PiB4LmVycm9yJCk7XG4gIH1cblxuICBnZXQgcmVqZWN0ZWQkKCk6IE9ic2VydmFibGU8TWF5YmU8UmVhZGFibGVFcnJvcj4+IHtcbiAgICByZXR1cm4gdGhpcy5waXBlU3RvcmUoKHgpID0+IHgucmVqZWN0ZWQkKTtcbiAgfVxuXG4gIGdldCByZWplY3RlZFBhaXIkKCk6IE9ic2VydmFibGU8RGJ4QWN0aW9uUmVqZWN0ZWRQYWlyPFQ+PiB7XG4gICAgcmV0dXJuIHRoaXMucGlwZVN0b3JlKCh4KSA9PiB4LnJlamVjdGVkUGFpciQpO1xuICB9XG5cbiAgZ2V0IGlzTW9kaWZpZWQkKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLnBpcGVTdG9yZSgoeCkgPT4geC5pc01vZGlmaWVkJCk7XG4gIH1cblxuICBnZXQgY2FuVHJpZ2dlciQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMucGlwZVN0b3JlKCh4KSA9PiB4LmNhblRyaWdnZXIkKTtcbiAgfVxuXG4gIGdldCBpc01vZGlmaWVkQW5kQ2FuVHJpZ2dlclVwZGF0ZXMkKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLnBpcGVTdG9yZSgoeCkgPT4geC5pc01vZGlmaWVkQW5kQ2FuVHJpZ2dlclVwZGF0ZXMkKTtcbiAgfVxuXG4gIGdldCBpc01vZGlmaWVkQW5kQ2FuVHJpZ2dlciQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMucGlwZVN0b3JlKCh4KSA9PiB4LmlzTW9kaWZpZWRBbmRDYW5UcmlnZ2VyJCk7XG4gIH1cblxuICBnZXQgYWN0aW9uU3RhdGUkKCk6IE9ic2VydmFibGU8RGJ4QWN0aW9uU3RhdGU+IHtcbiAgICByZXR1cm4gdGhpcy5waXBlU3RvcmUoKHgpID0+IHguYWN0aW9uU3RhdGUkKTtcbiAgfVxuXG4gIGdldCBsb2FkaW5nU3RhdGUkKCk6IE9ic2VydmFibGU8TG9hZGluZ1N0YXRlPE8+PiB7XG4gICAgcmV0dXJuIHRoaXMucGlwZVN0b3JlKCh4KSA9PiB4LmxvYWRpbmdTdGF0ZSQpO1xuICB9XG5cbiAgZ2V0IGxvYWRpbmdTdGF0ZVR5cGUkKCk6IE9ic2VydmFibGU8TG9hZGluZ1N0YXRlVHlwZT4ge1xuICAgIHJldHVybiB0aGlzLnBpcGVTdG9yZSgoeCkgPT4geC5sb2FkaW5nU3RhdGVUeXBlJCk7XG4gIH1cblxuICBnZXQgaXNXb3JraW5nJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5waXBlU3RvcmUoKHgpID0+IHguaXNXb3JraW5nJCk7XG4gIH1cblxuICBnZXQgaXNXb3JraW5nT3JXb3JrUHJvZ3Jlc3MkKCk6IE9ic2VydmFibGU8RGJ4QWN0aW9uV29ya09yV29ya1Byb2dyZXNzPiB7XG4gICAgcmV0dXJuIHRoaXMucGlwZVN0b3JlKCh4KSA9PiB4LmlzV29ya2luZ09yV29ya1Byb2dyZXNzJCk7XG4gIH1cblxuICBnZXQgaXNTdWNjZXNzJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5waXBlU3RvcmUoKHgpID0+IHguaXNTdWNjZXNzJCk7XG4gIH1cblxuICBnZXQgZGlzYWJsZWRLZXlzJCgpOiBPYnNlcnZhYmxlPHN0cmluZ1tdPiB7XG4gICAgcmV0dXJuIHRoaXMucGlwZVN0b3JlKCh4KSA9PiB4LmRpc2FibGVkS2V5cyQpO1xuICB9XG5cbiAgZ2V0IGlzRGlzYWJsZWQkKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLnBpcGVTdG9yZSgoeCkgPT4geC5pc0Rpc2FibGVkJCk7XG4gIH1cblxuICBnZXQgZXJyb3JDb3VudFNpbmNlTGFzdFN1Y2Nlc3MkKCk6IE9ic2VydmFibGU8bnVtYmVyPiB7XG4gICAgcmV0dXJuIHRoaXMucGlwZVN0b3JlKCh4KSA9PiB4LmVycm9yQ291bnRTaW5jZUxhc3RTdWNjZXNzJCk7XG4gIH1cblxuICBwdWJsaWMgZW5hYmxlKGtleT86IERieEFjdGlvbkRpc2FibGVkS2V5LCBlbmFibGUgPSB0cnVlKTogdm9pZCB7XG4gICAgdGhpcy5kaXNhYmxlKGtleSwgIWVuYWJsZSk7XG4gIH1cblxuICBwdWJsaWMgZGlzYWJsZShrZXk/OiBEYnhBY3Rpb25EaXNhYmxlZEtleSwgZGlzYWJsZSA9IHRydWUpOiB2b2lkIHtcbiAgICB0aGlzLnVzZVN0b3JlKCh4KSA9PiAoZGlzYWJsZSA/IHguZGlzYWJsZShrZXkpIDogeC5lbmFibGUoa2V5KSkpO1xuICB9XG5cbiAgcHVibGljIHNldElzU2FtZShpc1NhbWU/OiBib29sZWFuIHwgT2JzZXJ2YWJsZTxib29sZWFuPiB8IE9ic2VydmFibGU8dm9pZD4pOiB2b2lkIHtcbiAgICB0aGlzLnVzZVN0b3JlKCh4KSA9PiB4LnNldElzU2FtZShpc1NhbWUpKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRJc01vZGlmaWVkKGlzTW9kaWZpZWQ/OiBib29sZWFuIHwgT2JzZXJ2YWJsZTxib29sZWFuPiB8IE9ic2VydmFibGU8dm9pZD4pOiB2b2lkIHtcbiAgICB0aGlzLnVzZVN0b3JlKCh4KSA9PiB4LnNldElzTW9kaWZpZWQoaXNNb2RpZmllZCkpO1xuICB9XG5cbiAgcHVibGljIHNldFdvcmtQcm9ncmVzcyh3b3JrUHJvZ3Jlc3M6IE1heWJlT2JzZXJ2YWJsZU9yVmFsdWU8RGJ4QWN0aW9uV29ya1Byb2dyZXNzPik6IHZvaWQge1xuICAgIHRoaXMudXNlU3RvcmUoKHgpID0+IHguc2V0V29ya1Byb2dyZXNzKHdvcmtQcm9ncmVzcykpO1xuICB9XG5cbiAgcHVibGljIHRyaWdnZXIoKTogdm9pZCB7XG4gICAgdGhpcy51c2VTdG9yZSgoeCkgPT4geC50cmlnZ2VyKCkpO1xuICB9XG5cbiAgcHVibGljIHRyaWdnZXJXaXRoVmFsdWUodmFsdWU6IFQgfCBPYnNlcnZhYmxlPFQ+KTogdm9pZCB7XG4gICAgdGhpcy51c2VTdG9yZSgoeCkgPT4ge1xuICAgICAgeC50cmlnZ2VyKCk7XG4gICAgICB4LnJlYWR5VmFsdWUodmFsdWUpO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHJlYWR5VmFsdWUodmFsdWU6IFQgfCBPYnNlcnZhYmxlPFQ+KTogdm9pZCB7XG4gICAgdGhpcy51c2VTdG9yZSgoeCkgPT4geC5yZWFkeVZhbHVlKHZhbHVlKSk7XG4gIH1cblxuICBwdWJsaWMgc3RhcnRXb3JraW5nKCk6IHZvaWQge1xuICAgIHRoaXMudXNlU3RvcmUoKHgpID0+IHguc3RhcnRXb3JraW5nKCkpO1xuICB9XG5cbiAgcHVibGljIHJlamVjdChlcnJvcjogTWF5YmU8UmVhZGFibGVFcnJvciB8IE9ic2VydmFibGU8UmVhZGFibGVFcnJvcj4+KTogdm9pZCB7XG4gICAgdGhpcy51c2VTdG9yZSgoeCkgPT4geC5yZWplY3QoZXJyb3IpKTtcbiAgfVxuXG4gIHB1YmxpYyByZXNvbHZlKHZhbHVlOiBPIHwgT2JzZXJ2YWJsZTxPPik6IHZvaWQge1xuICAgIHRoaXMudXNlU3RvcmUoKHgpID0+IHgucmVzb2x2ZSh2YWx1ZSkpO1xuICB9XG5cbiAgcHVibGljIHJlc2V0KCk6IHZvaWQge1xuICAgIHRoaXMudXNlU3RvcmUoKHgpID0+IHgucmVzZXQoKSk7XG4gIH1cbn1cbiJdfQ==
@@ -10,7 +10,7 @@ export class DbxActionButtonDirective extends DbxActionButtonTriggerDirective {
10
10
  _disabledSub = new SubscriptionObject();
11
11
  ngOnInit() {
12
12
  super.ngOnInit();
13
- this._workingSub.subscription = this.source.isWorking$.subscribe((working) => {
13
+ this._workingSub.subscription = this.source.isWorkingOrWorkProgress$.subscribe((working) => {
14
14
  this.dbxButton.setWorking(working);
15
15
  });
16
16
  this._disabledSub.subscription = this.source.isDisabled$.subscribe((disabled) => {
@@ -32,4 +32,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
32
32
  standalone: true
33
33
  }]
34
34
  }] });
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLmJ1dHRvbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtY29yZS9zcmMvbGliL2J1dHRvbi9hY3Rpb24vYWN0aW9uLmJ1dHRvbi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDcEYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUVuRDs7R0FFRztBQUtILE1BQU0sT0FBTyx3QkFBeUIsU0FBUSwrQkFBK0I7SUFDMUQsV0FBVyxHQUFHLElBQUksa0JBQWtCLEVBQUUsQ0FBQztJQUN2QyxZQUFZLEdBQUcsSUFBSSxrQkFBa0IsRUFBRSxDQUFDO0lBRWhELFFBQVE7UUFDZixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFFakIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDM0UsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDckMsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRTtZQUM5RSxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN2QyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFUSxXQUFXO1FBQ2xCLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNwQixJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQzNCLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDOUIsQ0FBQzt3R0FwQlUsd0JBQXdCOzRGQUF4Qix3QkFBd0I7OzRGQUF4Qix3QkFBd0I7a0JBSnBDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLG1CQUFtQjtvQkFDN0IsVUFBVSxFQUFFLElBQUk7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBPbkluaXQsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGJ4QWN0aW9uQnV0dG9uVHJpZ2dlckRpcmVjdGl2ZSB9IGZyb20gJy4vYWN0aW9uLmJ1dHRvbi50cmlnZ2VyLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb25PYmplY3QgfSBmcm9tICdAZGVyZWVrYi9yeGpzJztcblxuLyoqXG4gKiBDb250ZXh0IHVzZWQgZm9yIGxpbmtpbmcgYSBidXR0b24gdG8gYW4gQWN0aW9uQ29udGV4dC5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2RieEFjdGlvbkJ1dHRvbl0nLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIERieEFjdGlvbkJ1dHRvbkRpcmVjdGl2ZSBleHRlbmRzIERieEFjdGlvbkJ1dHRvblRyaWdnZXJEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3dvcmtpbmdTdWIgPSBuZXcgU3Vic2NyaXB0aW9uT2JqZWN0KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2Rpc2FibGVkU3ViID0gbmV3IFN1YnNjcmlwdGlvbk9iamVjdCgpO1xuXG4gIG92ZXJyaWRlIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHN1cGVyLm5nT25Jbml0KCk7XG5cbiAgICB0aGlzLl93b3JraW5nU3ViLnN1YnNjcmlwdGlvbiA9IHRoaXMuc291cmNlLmlzV29ya2luZyQuc3Vic2NyaWJlKCh3b3JraW5nKSA9PiB7XG4gICAgICB0aGlzLmRieEJ1dHRvbi5zZXRXb3JraW5nKHdvcmtpbmcpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5fZGlzYWJsZWRTdWIuc3Vic2NyaXB0aW9uID0gdGhpcy5zb3VyY2UuaXNEaXNhYmxlZCQuc3Vic2NyaWJlKChkaXNhYmxlZCkgPT4ge1xuICAgICAgdGhpcy5kYnhCdXR0b24uc2V0RGlzYWJsZWQoZGlzYWJsZWQpO1xuICAgIH0pO1xuICB9XG5cbiAgb3ZlcnJpZGUgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICB0aGlzLl93b3JraW5nU3ViLmRlc3Ryb3koKTtcbiAgICB0aGlzLl9kaXNhYmxlZFN1Yi5kZXN0cm95KCk7XG4gIH1cbn1cbiJdfQ==
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLmJ1dHRvbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtY29yZS9zcmMvbGliL2J1dHRvbi9hY3Rpb24vYWN0aW9uLmJ1dHRvbi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDcEYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUVuRDs7R0FFRztBQUtILE1BQU0sT0FBTyx3QkFBeUIsU0FBUSwrQkFBK0I7SUFDMUQsV0FBVyxHQUFHLElBQUksa0JBQWtCLEVBQUUsQ0FBQztJQUN2QyxZQUFZLEdBQUcsSUFBSSxrQkFBa0IsRUFBRSxDQUFDO0lBRWhELFFBQVE7UUFDZixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFFakIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxTQUFTLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUN6RixJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNyQyxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFO1lBQzlFLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3ZDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVRLFdBQVc7UUFDbEIsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDM0IsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUM5QixDQUFDO3dHQXBCVSx3QkFBd0I7NEZBQXhCLHdCQUF3Qjs7NEZBQXhCLHdCQUF3QjtrQkFKcEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsbUJBQW1CO29CQUM3QixVQUFVLEVBQUUsSUFBSTtpQkFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIE9uSW5pdCwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEYnhBY3Rpb25CdXR0b25UcmlnZ2VyRGlyZWN0aXZlIH0gZnJvbSAnLi9hY3Rpb24uYnV0dG9uLnRyaWdnZXIuZGlyZWN0aXZlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbk9iamVjdCB9IGZyb20gJ0BkZXJlZWtiL3J4anMnO1xuXG4vKipcbiAqIENvbnRleHQgdXNlZCBmb3IgbGlua2luZyBhIGJ1dHRvbiB0byBhbiBBY3Rpb25Db250ZXh0LlxuICovXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbZGJ4QWN0aW9uQnV0dG9uXScsXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgRGJ4QWN0aW9uQnV0dG9uRGlyZWN0aXZlIGV4dGVuZHMgRGJ4QWN0aW9uQnV0dG9uVHJpZ2dlckRpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSByZWFkb25seSBfd29ya2luZ1N1YiA9IG5ldyBTdWJzY3JpcHRpb25PYmplY3QoKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfZGlzYWJsZWRTdWIgPSBuZXcgU3Vic2NyaXB0aW9uT2JqZWN0KCk7XG5cbiAgb3ZlcnJpZGUgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgc3VwZXIubmdPbkluaXQoKTtcblxuICAgIHRoaXMuX3dvcmtpbmdTdWIuc3Vic2NyaXB0aW9uID0gdGhpcy5zb3VyY2UuaXNXb3JraW5nT3JXb3JrUHJvZ3Jlc3MkLnN1YnNjcmliZSgod29ya2luZykgPT4ge1xuICAgICAgdGhpcy5kYnhCdXR0b24uc2V0V29ya2luZyh3b3JraW5nKTtcbiAgICB9KTtcblxuICAgIHRoaXMuX2Rpc2FibGVkU3ViLnN1YnNjcmlwdGlvbiA9IHRoaXMuc291cmNlLmlzRGlzYWJsZWQkLnN1YnNjcmliZSgoZGlzYWJsZWQpID0+IHtcbiAgICAgIHRoaXMuZGJ4QnV0dG9uLnNldERpc2FibGVkKGRpc2FibGVkKTtcbiAgICB9KTtcbiAgfVxuXG4gIG92ZXJyaWRlIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XG4gICAgdGhpcy5fd29ya2luZ1N1Yi5kZXN0cm95KCk7XG4gICAgdGhpcy5fZGlzYWJsZWRTdWIuZGVzdHJveSgpO1xuICB9XG59XG4iXX0=
@@ -1,4 +1,5 @@
1
1
  import { Directive, computed, input, output, signal } from '@angular/core';
2
+ import { isDefinedAndNotFalse } from '@dereekb/util';
2
3
  import { of, Subject, filter, first, switchMap, BehaviorSubject } from 'rxjs';
3
4
  import { AbstractSubscriptionDirective } from '../subscription';
4
5
  import { dbxButtonDisplayType, provideDbxButton } from './button';
@@ -15,13 +16,17 @@ export class AbstractDbxButtonDirective extends AbstractSubscriptionDirective {
15
16
  _buttonInterceptor = new BehaviorSubject(undefined);
16
17
  buttonClick = output();
17
18
  disabled = input(false, { transform: Boolean });
18
- working = input(false, { transform: Boolean });
19
+ working = input(false, { transform: (x) => (x == null ? false : x) });
19
20
  buttonDisplay = input(undefined);
20
21
  _disabledSignal = signal(undefined);
21
22
  _workingSignal = signal(undefined);
22
23
  _buttonDisplayContentSignal = signal(undefined);
23
24
  disabledSignal = computed(() => this._disabledSignal() ?? this.disabled());
24
25
  workingSignal = computed(() => this._workingSignal() ?? this.working());
26
+ isWorkingSignal = computed(() => {
27
+ const working = this.workingSignal();
28
+ return isDefinedAndNotFalse(working);
29
+ });
25
30
  icon = input();
26
31
  text = input();
27
32
  buttonDisplayContentSignal = computed(() => {
@@ -112,4 +117,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
112
117
  standalone: true
113
118
  }]
114
119
  }] });
115
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1jb3JlL3NyYy9saWIvYnV0dG9uL2J1dHRvbi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBNkIsUUFBUSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXRHLE9BQU8sRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM5RSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRSxPQUFPLEVBQXFELG9CQUFvQixFQUF3QixnQkFBZ0IsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUMzSSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsWUFBWSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7O0FBRTlFOztHQUVHO0FBRUgsTUFBTSxPQUFnQiwwQkFBMkIsU0FBUSw2QkFBNkI7SUFDcEY7O09BRUc7SUFDZ0IsWUFBWSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7SUFDbkMsa0JBQWtCLEdBQUcsSUFBSSxlQUFlLENBQThCLFNBQVMsQ0FBQyxDQUFDO0lBRTNGLFdBQVcsR0FBRyxNQUFNLEVBQUUsQ0FBQztJQUV2QixRQUFRLEdBQUcsS0FBSyxDQUEwQixLQUFLLEVBQUUsRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUN6RSxPQUFPLEdBQUcsS0FBSyxDQUEwQixLQUFLLEVBQUUsRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUN4RSxhQUFhLEdBQUcsS0FBSyxDQUEwQixTQUFTLENBQUMsQ0FBQztJQUVsRCxlQUFlLEdBQUcsTUFBTSxDQUFpQixTQUFTLENBQUMsQ0FBQztJ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O2lCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgT25EZXN0cm95LCBPbkluaXQsIFNpZ25hbCwgY29tcHV0ZWQsIGlucHV0LCBvdXRwdXQsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdHlwZSBNYXliZSB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuaW1wb3J0IHsgb2YsIFN1YmplY3QsIGZpbHRlciwgZmlyc3QsIHN3aXRjaE1hcCwgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBYnN0cmFjdFN1YnNjcmlwdGlvbkRpcmVjdGl2ZSB9IGZyb20gJy4uL3N1YnNjcmlwdGlvbic7XG5pbXBvcnQgeyBEYnhCdXR0b24sIERieEJ1dHRvbkRpc3BsYXksIERieEJ1dHRvbkRpc3BsYXlUeXBlLCBkYnhCdXR0b25EaXNwbGF5VHlwZSwgRGJ4QnV0dG9uSW50ZXJjZXB0b3IsIHByb3ZpZGVEYnhCdXR0b24gfSBmcm9tICcuL2J1dHRvbic7XG5pbXBvcnQgeyBvdXRwdXRUb09ic2VydmFibGUsIHRvT2JzZXJ2YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcblxuLyoqXG4gKiBBYnN0cmFjdCBidXR0b24gY29tcG9uZW50LlxuICovXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBYnN0cmFjdERieEJ1dHRvbkRpcmVjdGl2ZSBleHRlbmRzIEFic3RyYWN0U3Vic2NyaXB0aW9uRGlyZWN0aXZlIGltcGxlbWVudHMgRGJ4QnV0dG9uLCBPbkluaXQsIE9uRGVzdHJveSB7XG4gIC8qKlxuICAgKiBQcmUtaW50ZXJjZXB0b3IgYnV0dG9uIGNsaWNrLlxuICAgKi9cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IF9idXR0b25DbGljayA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gIHByb3RlY3RlZCByZWFkb25seSBfYnV0dG9uSW50ZXJjZXB0b3IgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PE1heWJlPERieEJ1dHRvbkludGVyY2VwdG9yPj4odW5kZWZpbmVkKTtcblxuICByZWFkb25seSBidXR0b25DbGljayA9IG91dHB1dCgpO1xuXG4gIHJlYWRvbmx5IGRpc2FibGVkID0gaW5wdXQ8Ym9vbGVhbiwgTWF5YmU8Ym9vbGVhbj4+KGZhbHNlLCB7IHRyYW5zZm9ybTogQm9vbGVhbiB9KTtcbiAgcmVhZG9ubHkgd29ya2luZyA9IGlucHV0PGJvb2xlYW4sIE1heWJlPGJvb2xlYW4+PihmYWxzZSwgeyB0cmFuc2Zvcm06IEJvb2xlYW4gfSk7XG4gIHJlYWRvbmx5IGJ1dHRvbkRpc3BsYXkgPSBpbnB1dDxNYXliZTxEYnhCdXR0b25EaXNwbGF5Pj4odW5kZWZpbmVkKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9kaXNhYmxlZFNpZ25hbCA9IHNpZ25hbDxNYXliZTxib29sZWFuPj4odW5kZWZpbmVkKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfd29ya2luZ1NpZ25hbCA9IHNpZ25hbDxNYXliZTxib29sZWFuPj4odW5kZWZpbmVkKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfYnV0dG9uRGlzcGxheUNvbnRlbnRTaWduYWwgPSBzaWduYWw8TWF5YmU8RGJ4QnV0dG9uRGlzcGxheT4+KHVuZGVmaW5lZCk7XG5cbiAgcmVhZG9ubHkgZGlzYWJsZWRTaWduYWwgPSBjb21wdXRlZCgoKSA9PiB0aGlzLl9kaXNhYmxlZFNpZ25hbCgpID8/IHRoaXMuZGlzYWJsZWQoKSk7XG4gIHJlYWRvbmx5IHdvcmtpbmdTaWduYWwgPSBjb21wdXRlZCgoKSA9PiB0aGlzLl93b3JraW5nU2lnbmFsKCkgPz8gdGhpcy53b3JraW5nKCkpO1xuXG4gIHJlYWRvbmx5IGljb24gPSBpbnB1dDxNYXliZTxzdHJpbmc+PigpO1xuICByZWFkb25seSB0ZXh0ID0gaW5wdXQ8TWF5YmU8c3RyaW5nPj4oKTtcblxuICByZWFkb25seSBidXR0b25EaXNwbGF5Q29udGVudFNpZ25hbDogU2lnbmFsPERieEJ1dHRvbkRpc3BsYXk+ID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IGljb24gPSB0aGlzLmljb24oKTtcbiAgICBjb25zdCB0ZXh0ID0gdGhpcy50ZXh0KCk7XG4gICAgY29uc3QgYnV0dG9uRGlzcGxheSA9IHRoaXMuYnV0dG9uRGlzcGxheSgpO1xuXG4gICAgY29uc3QgYnV0dG9uRGlzcGxheUNvbnRlbnQgPSB0aGlzLl9idXR0b25EaXNwbGF5Q29udGVudFNpZ25hbCgpID8/IGJ1dHRvbkRpc3BsYXk7XG4gICAgcmV0dXJuIHsgaWNvbjogaWNvbiB8fCBidXR0b25EaXNwbGF5Q29udGVudD8uaWNvbiwgdGV4dDogdGV4dCB8fCBidXR0b25EaXNwbGF5Q29udGVudD8udGV4dCB9O1xuICB9KTtcblxuICByZWFkb25seSBidXR0b25EaXNwbGF5VHlwZVNpZ25hbDogU2lnbmFsPERieEJ1dHRvbkRpc3BsYXlUeXBlPiA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICByZXR1cm4gZGJ4QnV0dG9uRGlzcGxheVR5cGUodGhpcy5idXR0b25EaXNwbGF5Q29udGVudFNpZ25hbCgpKTtcbiAgfSk7XG5cbiAgcmVhZG9ubHkgaWNvblNpZ25hbDogU2lnbmFsPE1heWJlPHN0cmluZz4+ID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5idXR0b25EaXNwbGF5Q29udGVudFNpZ25hbCgpPy5pY29uKTtcbiAgcmVhZG9ubHkgdGV4dFNpZ25hbDogU2lnbmFsPE1heWJlPHN0cmluZz4+ID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5idXR0b25EaXNwbGF5Q29udGVudFNpZ25hbCgpPy50ZXh0KTtcblxuICByZWFkb25seSBkaXNhYmxlZCQgPSB0b09ic2VydmFibGUodGhpcy5kaXNhYmxlZFNpZ25hbCk7XG4gIHJlYWRvbmx5IHdvcmtpbmckID0gdG9PYnNlcnZhYmxlKHRoaXMud29ya2luZ1NpZ25hbCk7XG4gIHJlYWRvbmx5IGRpc3BsYXkkID0gdG9PYnNlcnZhYmxlKHRoaXMuYnV0dG9uRGlzcGxheUNvbnRlbnRTaWduYWwpO1xuICByZWFkb25seSBjbGlja2VkJCA9IG91dHB1dFRvT2JzZXJ2YWJsZSh0aGlzLmJ1dHRvbkNsaWNrKTtcblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnN1YiA9IHRoaXMuX2J1dHRvbkNsaWNrXG4gICAgICAucGlwZShcbiAgICAgICAgc3dpdGNoTWFwKCgpID0+XG4gICAgICAgICAgdGhpcy5fYnV0dG9uSW50ZXJjZXB0b3IucGlwZShcbiAgICAgICAgICAgIHN3aXRjaE1hcCgoeCkgPT4ge1xuICAgICAgICAgICAgICBpZiAoeCkge1xuICAgICAgICAgICAgICAgIHJldHVybiB4LmludGVyY2VwdEJ1dHRvbkNsaWNrKCkucGlwZShmaXJzdCgpKTtcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gb2YodHJ1ZSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgZmlsdGVyKCh4KSA9PiBCb29sZWFuKHgpKSAvLyBJZ25vcmUgZmFsc2UgdmFsdWVzLlxuICAgICAgICAgIClcbiAgICAgICAgKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuX2ZvcmNlQnV0dG9uQ2xpY2tlZCgpO1xuICAgICAgfSk7XG4gIH1cblxuICBvdmVycmlkZSBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xuICAgIHRoaXMuX2J1dHRvbkNsaWNrLmNvbXBsZXRlKCk7XG4gICAgdGhpcy5fYnV0dG9uSW50ZXJjZXB0b3IuY29tcGxldGUoKTtcbiAgfVxuXG4gIHNldERpc2FibGVkKGRpc2FibGVkPzogTWF5YmU8Ym9vbGVhbj4pOiB2b2lkIHtcbiAgICB0aGlzLl9kaXNhYmxlZFNpZ25hbC5zZXQoZGlzYWJsZWQpO1xuICB9XG5cbiAgc2V0V29ya2luZyh3b3JraW5nPzogTWF5YmU8Ym9vbGVhbj4pOiB2b2lkIHtcbiAgICB0aGlzLl93b3JraW5nU2lnbmFsLnNldCh3b3JraW5nKTtcbiAgfVxuXG4gIHNldERpc3BsYXlDb250ZW50KGNvbnRlbnQ6IERieEJ1dHRvbkRpc3BsYXkpOiB2b2lkIHtcbiAgICB0aGlzLl9idXR0b25EaXNwbGF5Q29udGVudFNpZ25hbC5zZXQoY29udGVudCk7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgYnV0dG9uIGludGVyY2VwdG9yLiBJZiBhbnkgaW50ZXJjZXB0b3IgaXMgYWxyZWFkeSBzZXQsIGl0IGlzIHJlcGxhY2VkLlxuICAgKi9cbiAgcHVibGljIHNldEJ1dHRvbkludGVyY2VwdG9yKGludGVyY2VwdG9yOiBEYnhCdXR0b25JbnRlcmNlcHRvcik6IHZvaWQge1xuICAgIHRoaXMuX2J1dHRvbkludGVyY2VwdG9yLm5leHQoaW50ZXJjZXB0b3IpO1xuICB9XG5cbiAgLyoqXG4gICAqIE1haW4gZnVuY3Rpb24gdG8gdXNlIGZvciBoYW5kbGluZyBjbGlja3Mgb24gdGhlIGJ1dHRvbi5cbiAgICovXG4gIHB1YmxpYyBjbGlja0J1dHRvbigpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuZGlzYWJsZWQoKSkge1xuICAgICAgdGhpcy5fYnV0dG9uQ2xpY2submV4dCgpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBGb3JjZXMgYSBidXR0b24gY2xpY2suIFNraXBzIHRoZSBpbnRlcmNlcHRvcnMgaWYgYW55IGFyZSBjb25maWd1cmVkLlxuICAgKi9cbiAgcHJvdGVjdGVkIF9mb3JjZUJ1dHRvbkNsaWNrZWQoKTogdm9pZCB7XG4gICAgdGhpcy5idXR0b25DbGljay5lbWl0KCk7XG4gIH1cbn1cblxuLy8gTUFSSzogSW1wbGVtZW50YXRpb25cbi8qKlxuICogUHJvdmlkZXMgYW4gRGJ4QnV0dG9uIGRpcmVjdGl2ZS5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2RieEJ1dHRvbl0nLFxuICBleHBvcnRBczogJ2RieEJ1dHRvbicsXG4gIHByb3ZpZGVyczogcHJvdmlkZURieEJ1dHRvbihEYnhCdXR0b25EaXJlY3RpdmUpLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIERieEJ1dHRvbkRpcmVjdGl2ZSBleHRlbmRzIEFic3RyYWN0RGJ4QnV0dG9uRGlyZWN0aXZlIHt9XG4iXX0=
120
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1jb3JlL3NyYy9saWIvYnV0dG9uL2J1dHRvbi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBNkIsUUFBUSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RHLE9BQU8sRUFBRSxvQkFBb0IsRUFBYyxNQUFNLGVBQWUsQ0FBQztBQUNqRSxPQUFPLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDOUUsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDaEUsT0FBTyxFQUFxRCxvQkFBb0IsRUFBMEMsZ0JBQWdCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDN0osT0FBTyxFQUFFLGtCQUFrQixFQUFFLFlBQVksRUFBRSxNQUFNLDRCQUE0QixDQUFDOztBQUU5RTs7R0FFRztBQUVILE1BQU0sT0FBZ0IsMEJBQTJCLFNBQVEsNkJBQTZCO0lBQ3BGOztPQUVHO0lBQ2dCLFlBQVksR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO0lBQ25DLGtCQUFrQixHQUFHLElBQUksZUFBZSxDQUE4QixTQUFTLENBQUMsQ0FBQztJQUUzRixXQUFXLEdBQUcsTUFBTSxFQUFFLENBQUM7SUFFdkIsUUFBUSxHQUFHLEtBQUssQ0FBMEIsS0FBSyxFQUFFLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDekUsT0FBTyxHQUFHLEtBQUssQ0FBNEMsS0FBSyxFQUFFLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLEtB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QiwwQkFBMEI7a0JBRC9DLFNBQVM7O0FBaUhWLHVCQUF1QjtBQUN2Qjs7R0FFRztBQU9ILE1BQU0sT0FBTyxrQkFBbUIsU0FBUSwwQkFBMEI7d0dBQXJELGtCQUFrQjs0RkFBbEIsa0JBQWtCLDBEQUhsQixnQkFBZ0IsQ0FBQyxrQkFBa0IsQ0FBQzs7NEZBR3BDLGtCQUFrQjtrQkFOOUIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsYUFBYTtvQkFDdkIsUUFBUSxFQUFFLFdBQVc7b0JBQ3JCLFNBQVMsRUFBRSxnQkFBZ0Isb0JBQW9CO29CQUMvQyxVQUFVLEVBQUUsSUFBSTtpQkFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIE9uRGVzdHJveSwgT25Jbml0LCBTaWduYWwsIGNvbXB1dGVkLCBpbnB1dCwgb3V0cHV0LCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGlzRGVmaW5lZEFuZE5vdEZhbHNlLCB0eXBlIE1heWJlIH0gZnJvbSAnQGRlcmVla2IvdXRpbCc7XG5pbXBvcnQgeyBvZiwgU3ViamVjdCwgZmlsdGVyLCBmaXJzdCwgc3dpdGNoTWFwLCBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFic3RyYWN0U3Vic2NyaXB0aW9uRGlyZWN0aXZlIH0gZnJvbSAnLi4vc3Vic2NyaXB0aW9uJztcbmltcG9ydCB7IERieEJ1dHRvbiwgRGJ4QnV0dG9uRGlzcGxheSwgRGJ4QnV0dG9uRGlzcGxheVR5cGUsIGRieEJ1dHRvbkRpc3BsYXlUeXBlLCBEYnhCdXR0b25JbnRlcmNlcHRvciwgRGJ4QnV0dG9uV29ya2luZywgcHJvdmlkZURieEJ1dHRvbiB9IGZyb20gJy4vYnV0dG9uJztcbmltcG9ydCB7IG91dHB1dFRvT2JzZXJ2YWJsZSwgdG9PYnNlcnZhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuXG4vKipcbiAqIEFic3RyYWN0IGJ1dHRvbiBjb21wb25lbnQuXG4gKi9cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFic3RyYWN0RGJ4QnV0dG9uRGlyZWN0aXZlIGV4dGVuZHMgQWJzdHJhY3RTdWJzY3JpcHRpb25EaXJlY3RpdmUgaW1wbGVtZW50cyBEYnhCdXR0b24sIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgLyoqXG4gICAqIFByZS1pbnRlcmNlcHRvciBidXR0b24gY2xpY2suXG4gICAqL1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgX2J1dHRvbkNsaWNrID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IF9idXR0b25JbnRlcmNlcHRvciA9IG5ldyBCZWhhdmlvclN1YmplY3Q8TWF5YmU8RGJ4QnV0dG9uSW50ZXJjZXB0b3I+Pih1bmRlZmluZWQpO1xuXG4gIHJlYWRvbmx5IGJ1dHRvbkNsaWNrID0gb3V0cHV0KCk7XG5cbiAgcmVhZG9ubHkgZGlzYWJsZWQgPSBpbnB1dDxib29sZWFuLCBNYXliZTxib29sZWFuPj4oZmFsc2UsIHsgdHJhbnNmb3JtOiBCb29sZWFuIH0pO1xuICByZWFkb25seSB3b3JraW5nID0gaW5wdXQ8RGJ4QnV0dG9uV29ya2luZywgTWF5YmU8RGJ4QnV0dG9uV29ya2luZz4+KGZhbHNlLCB7IHRyYW5zZm9ybTogKHgpID0+ICh4ID09IG51bGwgPyBmYWxzZSA6IHgpIH0pO1xuICByZWFkb25seSBidXR0b25EaXNwbGF5ID0gaW5wdXQ8TWF5YmU8RGJ4QnV0dG9uRGlzcGxheT4+KHVuZGVmaW5lZCk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfZGlzYWJsZWRTaWduYWwgPSBzaWduYWw8TWF5YmU8Ym9vbGVhbj4+KHVuZGVmaW5lZCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3dvcmtpbmdTaWduYWwgPSBzaWduYWw8TWF5YmU8RGJ4QnV0dG9uV29ya2luZz4+KHVuZGVmaW5lZCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2J1dHRvbkRpc3BsYXlDb250ZW50U2lnbmFsID0gc2lnbmFsPE1heWJlPERieEJ1dHRvbkRpc3BsYXk+Pih1bmRlZmluZWQpO1xuXG4gIHJlYWRvbmx5IGRpc2FibGVkU2lnbmFsID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5fZGlzYWJsZWRTaWduYWwoKSA/PyB0aGlzLmRpc2FibGVkKCkpO1xuICByZWFkb25seSB3b3JraW5nU2lnbmFsID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5fd29ya2luZ1NpZ25hbCgpID8/IHRoaXMud29ya2luZygpKTtcblxuICByZWFkb25seSBpc1dvcmtpbmdTaWduYWwgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3Qgd29ya2luZyA9IHRoaXMud29ya2luZ1NpZ25hbCgpO1xuICAgIHJldHVybiBpc0RlZmluZWRBbmROb3RGYWxzZSh3b3JraW5nKTtcbiAgfSk7XG5cbiAgcmVhZG9ubHkgaWNvbiA9IGlucHV0PE1heWJlPHN0cmluZz4+KCk7XG4gIHJlYWRvbmx5IHRleHQgPSBpbnB1dDxNYXliZTxzdHJpbmc+PigpO1xuXG4gIHJlYWRvbmx5IGJ1dHRvbkRpc3BsYXlDb250ZW50U2lnbmFsOiBTaWduYWw8RGJ4QnV0dG9uRGlzcGxheT4gPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3QgaWNvbiA9IHRoaXMuaWNvbigpO1xuICAgIGNvbnN0IHRleHQgPSB0aGlzLnRleHQoKTtcbiAgICBjb25zdCBidXR0b25EaXNwbGF5ID0gdGhpcy5idXR0b25EaXNwbGF5KCk7XG5cbiAgICBjb25zdCBidXR0b25EaXNwbGF5Q29udGVudCA9IHRoaXMuX2J1dHRvbkRpc3BsYXlDb250ZW50U2lnbmFsKCkgPz8gYnV0dG9uRGlzcGxheTtcbiAgICByZXR1cm4geyBpY29uOiBpY29uIHx8IGJ1dHRvbkRpc3BsYXlDb250ZW50Py5pY29uLCB0ZXh0OiB0ZXh0IHx8IGJ1dHRvbkRpc3BsYXlDb250ZW50Py50ZXh0IH07XG4gIH0pO1xuXG4gIHJlYWRvbmx5IGJ1dHRvbkRpc3BsYXlUeXBlU2lnbmFsOiBTaWduYWw8RGJ4QnV0dG9uRGlzcGxheVR5cGU+ID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIHJldHVybiBkYnhCdXR0b25EaXNwbGF5VHlwZSh0aGlzLmJ1dHRvbkRpc3BsYXlDb250ZW50U2lnbmFsKCkpO1xuICB9KTtcblxuICByZWFkb25seSBpY29uU2lnbmFsOiBTaWduYWw8TWF5YmU8c3RyaW5nPj4gPSBjb21wdXRlZCgoKSA9PiB0aGlzLmJ1dHRvbkRpc3BsYXlDb250ZW50U2lnbmFsKCk/Lmljb24pO1xuICByZWFkb25seSB0ZXh0U2lnbmFsOiBTaWduYWw8TWF5YmU8c3RyaW5nPj4gPSBjb21wdXRlZCgoKSA9PiB0aGlzLmJ1dHRvbkRpc3BsYXlDb250ZW50U2lnbmFsKCk/LnRleHQpO1xuXG4gIHJlYWRvbmx5IGRpc2FibGVkJCA9IHRvT2JzZXJ2YWJsZSh0aGlzLmRpc2FibGVkU2lnbmFsKTtcbiAgcmVhZG9ubHkgd29ya2luZyQgPSB0b09ic2VydmFibGUodGhpcy53b3JraW5nU2lnbmFsKTtcbiAgcmVhZG9ubHkgZGlzcGxheSQgPSB0b09ic2VydmFibGUodGhpcy5idXR0b25EaXNwbGF5Q29udGVudFNpZ25hbCk7XG4gIHJlYWRvbmx5IGNsaWNrZWQkID0gb3V0cHV0VG9PYnNlcnZhYmxlKHRoaXMuYnV0dG9uQ2xpY2spO1xuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuc3ViID0gdGhpcy5fYnV0dG9uQ2xpY2tcbiAgICAgIC5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoKCkgPT5cbiAgICAgICAgICB0aGlzLl9idXR0b25JbnRlcmNlcHRvci5waXBlKFxuICAgICAgICAgICAgc3dpdGNoTWFwKCh4KSA9PiB7XG4gICAgICAgICAgICAgIGlmICh4KSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHguaW50ZXJjZXB0QnV0dG9uQ2xpY2soKS5waXBlKGZpcnN0KCkpO1xuICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHJldHVybiBvZih0cnVlKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBmaWx0ZXIoKHgpID0+IEJvb2xlYW4oeCkpIC8vIElnbm9yZSBmYWxzZSB2YWx1ZXMuXG4gICAgICAgICAgKVxuICAgICAgICApXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5fZm9yY2VCdXR0b25DbGlja2VkKCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIG92ZXJyaWRlIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XG4gICAgdGhpcy5fYnV0dG9uQ2xpY2suY29tcGxldGUoKTtcbiAgICB0aGlzLl9idXR0b25JbnRlcmNlcHRvci5jb21wbGV0ZSgpO1xuICB9XG5cbiAgc2V0RGlzYWJsZWQoZGlzYWJsZWQ/OiBNYXliZTxib29sZWFuPik6IHZvaWQge1xuICAgIHRoaXMuX2Rpc2FibGVkU2lnbmFsLnNldChkaXNhYmxlZCk7XG4gIH1cblxuICBzZXRXb3JraW5nKHdvcmtpbmc/OiBNYXliZTxEYnhCdXR0b25Xb3JraW5nPik6IHZvaWQge1xuICAgIHRoaXMuX3dvcmtpbmdTaWduYWwuc2V0KHdvcmtpbmcpO1xuICB9XG5cbiAgc2V0RGlzcGxheUNvbnRlbnQoY29udGVudDogRGJ4QnV0dG9uRGlzcGxheSk6IHZvaWQge1xuICAgIHRoaXMuX2J1dHRvbkRpc3BsYXlDb250ZW50U2lnbmFsLnNldChjb250ZW50KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBidXR0b24gaW50ZXJjZXB0b3IuIElmIGFueSBpbnRlcmNlcHRvciBpcyBhbHJlYWR5IHNldCwgaXQgaXMgcmVwbGFjZWQuXG4gICAqL1xuICBwdWJsaWMgc2V0QnV0dG9uSW50ZXJjZXB0b3IoaW50ZXJjZXB0b3I6IERieEJ1dHRvbkludGVyY2VwdG9yKTogdm9pZCB7XG4gICAgdGhpcy5fYnV0dG9uSW50ZXJjZXB0b3IubmV4dChpbnRlcmNlcHRvcik7XG4gIH1cblxuICAvKipcbiAgICogTWFpbiBmdW5jdGlvbiB0byB1c2UgZm9yIGhhbmRsaW5nIGNsaWNrcyBvbiB0aGUgYnV0dG9uLlxuICAgKi9cbiAgcHVibGljIGNsaWNrQnV0dG9uKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5kaXNhYmxlZCgpKSB7XG4gICAgICB0aGlzLl9idXR0b25DbGljay5uZXh0KCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEZvcmNlcyBhIGJ1dHRvbiBjbGljay4gU2tpcHMgdGhlIGludGVyY2VwdG9ycyBpZiBhbnkgYXJlIGNvbmZpZ3VyZWQuXG4gICAqL1xuICBwcm90ZWN0ZWQgX2ZvcmNlQnV0dG9uQ2xpY2tlZCgpOiB2b2lkIHtcbiAgICB0aGlzLmJ1dHRvbkNsaWNrLmVtaXQoKTtcbiAgfVxufVxuXG4vLyBNQVJLOiBJbXBsZW1lbnRhdGlvblxuLyoqXG4gKiBQcm92aWRlcyBhbiBEYnhCdXR0b24gZGlyZWN0aXZlLlxuICovXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbZGJ4QnV0dG9uXScsXG4gIGV4cG9ydEFzOiAnZGJ4QnV0dG9uJyxcbiAgcHJvdmlkZXJzOiBwcm92aWRlRGJ4QnV0dG9uKERieEJ1dHRvbkRpcmVjdGl2ZSksXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgRGJ4QnV0dG9uRGlyZWN0aXZlIGV4dGVuZHMgQWJzdHJhY3REYnhCdXR0b25EaXJlY3RpdmUge31cbiJdfQ==
@@ -18,4 +18,4 @@ export function provideDbxButton(sourceType) {
18
18
  export function dbxButtonDisplayType(content) {
19
19
  return !content.text && content.icon ? 'icon_button' : 'text_button';
20
20
  }
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWNvcmUvc3JjL2xpYi9idXR0b24vYnV0dG9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBa0IsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBOEIzRCxNQUFNLE9BQWdCLFNBQVM7Q0E2QzlCO0FBRUQsTUFBTSxVQUFVLGdCQUFnQixDQUFzQixVQUFtQjtJQUN2RSxPQUFPO1FBQ0w7WUFDRSxPQUFPLEVBQUUsU0FBUztZQUNsQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLFVBQVUsQ0FBQztTQUMxQztLQUNGLENBQUM7QUFDSixDQUFDO0FBdUJEOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLG9CQUFvQixDQUFDLE9BQXlCO0lBQzVELE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDO0FBQ3ZFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUeXBlLCBQcm92aWRlciwgZm9yd2FyZFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdHlwZSBNYXliZSB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG4vKipcbiAqIFVzZWQgZm9yIGludGVyY2VwdGluZyBidXR0b24gY2xpY2sgZXZlbnRzLlxuICpcbiAqIENhbiBiZSB1c2VkIHRvIGRlbGF5L21vZGlmeSB0cmlnZ2VyL2NsaWNrIGJlaGF2aW9ycy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEYnhCdXR0b25JbnRlcmNlcHRvciB7XG4gIC8qKlxuICAgKiBIYW5kbGVzIGEgYnV0dG9uIGNsaWNrIGV2ZW50LiBSZXR1cm5zIGFuIG9ic2VydmFibGUgdGhhdCB3aWxsIHNheSB3aGV0aGVyIG9yIG5vdCB0byBjb250aW51ZSB0aGUgY2xpY2sgZXZlbnQuXG4gICAqL1xuICBpbnRlcmNlcHRCdXR0b25DbGljazogKCkgPT4gT2JzZXJ2YWJsZTxib29sZWFuPjtcbn1cblxuLyoqXG4gKiBUZXh0IGFuZCBpY29uIGRpc3BsYXkgY29udGVudCBmb3IgYSBidXR0b24uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGJ4QnV0dG9uRGlzcGxheSB7XG4gIC8qKlxuICAgKiBidXR0b24gSWNvbiwgaWYgYXBwbGljYWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgaWNvbj86IE1heWJlPHN0cmluZz47XG4gIC8qKlxuICAgKiBidXR0b24gdGV4dCwgaWYgYXBwbGljYWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgdGV4dD86IE1heWJlPHN0cmluZz47XG59XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBEYnhCdXR0b24ge1xuICAvKipcbiAgICogT2JzZXJ2YWJsZSBvZiB0aGUgZGlzYWJsZWQgc3RhdGUgb2YgdGhlIGJ1dHRvbi5cbiAgICovXG4gIGFic3RyYWN0IHJlYWRvbmx5IGRpc2FibGVkJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgLyoqXG4gICAqIE9ic2VydmFibGUgb2YgdGhlIHdvcmtpbmcgc3RhdGUgb2YgdGhlIGJ1dHRvbi5cbiAgICovXG4gIGFic3RyYWN0IHJlYWRvbmx5IHdvcmtpbmckOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICAvKipcbiAgICogT2JzZXJ2YWJsZSBvZiB0aGUgY2xpY2tlZCBldmVudCBvZiB0aGUgYnV0dG9uLlxuICAgKi9cbiAgYWJzdHJhY3QgcmVhZG9ubHkgY2xpY2tlZCQ6IE9ic2VydmFibGU8dW5rbm93bj47XG4gIC8qKlxuICAgKiBPYnNlcnZhYmxlIG9mIHRoZSBkaXNwbGF5IGNvbnRlbnQgb2YgdGhlIGJ1dHRvbi5cbiAgICovXG4gIGFic3RyYWN0IHJlYWRvbmx5IGRpc3BsYXkkOiBPYnNlcnZhYmxlPERieEJ1dHRvbkRpc3BsYXk+O1xuICAvKipcbiAgICogU2V0cyB0aGUgZGlzYWJsZWQgc3RhdGUgb2YgdGhlIGJ1dHRvbi4gSWYgbnVsbC91bmRlZmluZWQgdGhlIGJ1dHRvbiB3aWxsIGJlIGRpc2FibGVkLlxuICAgKlxuICAgKiBAcGFyYW0gZGlzYWJsZWRcbiAgICovXG4gIGFic3RyYWN0IHNldERpc2FibGVkKGRpc2FibGVkPzogTWF5YmU8Ym9vbGVhbj4pOiB2b2lkO1xuICAvKipcbiAgICogU2V0cyB0aGUgd29ya2luZyBzdGF0ZSBvZiB0aGUgYnV0dG9uLiBJRiBudWxsL3VuZGVmaW5lZCB0aGUgYnV0dG9uIHdpbGwgYmUgbWFya2VkIGFzIHdvcmtpbmcuXG4gICAqXG4gICAqIEBwYXJhbSB3b3JraW5nXG4gICAqL1xuICBhYnN0cmFjdCBzZXRXb3JraW5nKHdvcmtpbmc/OiBNYXliZTxib29sZWFuPik6IHZvaWQ7XG4gIC8qKlxuICAgKiBTZXRzIHRoZSBkaXNwbGF5IGNvbnRlbnQgb2YgdGhlIGJ1dHRvbi5cbiAgICpcbiAgICogQHBhcmFtIGNvbnRlbnRcbiAgICovXG4gIGFic3RyYWN0IHNldERpc3BsYXlDb250ZW50KGNvbnRlbnQ6IERieEJ1dHRvbkRpc3BsYXkpOiB2b2lkO1xuICAvKipcbiAgICogU2V0cyB0aGUgYnV0dG9uIGludGVyY2VwdG9yLiBJZiBhbnkgaW50ZXJjZXB0b3IgaXMgYWxyZWFkeSBzZXQsIGl0IGlzIHJlcGxhY2VkLlxuICAgKlxuICAgKiBAcGFyYW0gaW50ZXJjZXB0b3JcbiAgICovXG4gIGFic3RyYWN0IHNldEJ1dHRvbkludGVyY2VwdG9yKGludGVyY2VwdG9yOiBEYnhCdXR0b25JbnRlcmNlcHRvcik6IHZvaWQ7XG4gIC8qKlxuICAgKiBNYWluIGZ1bmN0aW9uIHRvIHVzZSBmb3IgaGFuZGxpbmcgY2xpY2tzIG9uIHRoZSBidXR0b24uXG4gICAqL1xuICBhYnN0cmFjdCBjbGlja0J1dHRvbigpOiB2b2lkO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZURieEJ1dHRvbjxTIGV4dGVuZHMgRGJ4QnV0dG9uPihzb3VyY2VUeXBlOiBUeXBlPFM+KTogUHJvdmlkZXJbXSB7XG4gIHJldHVybiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogRGJ4QnV0dG9uLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gc291cmNlVHlwZSlcbiAgICB9XG4gIF07XG59XG5cbi8vIE1BUks6IERpc3BsYXlcbi8qKlxuICogVGhlIGRpc3BsYXkgdHlwZSBvZiBhIGJ1dHRvbi5cbiAqXG4gKiB0ZXh0X2J1dHRvbjogQSB0ZXh0IGJ1dHRvbiBoYXMgdGV4dCBvciBpcyBlbXB0eS5cbiAqIGljb25fYnV0dG9uOiBBbiBpY29uIGJ1dHRvbiBvbmx5IGhhcyBhbiBpY29uIGFuZCBubyB0ZXh0LlxuICovXG5leHBvcnQgdHlwZSBEYnhCdXR0b25EaXNwbGF5VHlwZSA9ICd0ZXh0X2J1dHRvbicgfCAnaWNvbl9idXR0b24nO1xuXG4vKipcbiAqIERlbGVnYXRlIGNsYXNzIHVzZWQgZm9yIHJldHJpZXZpbmcgdGhlIERieEJ1dHRvbkRpc3BsYXkgZ2l2ZW4gYW4gaW5wdXQgdmFsdWUuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGJ4QnV0dG9uRGlzcGxheURlbGVnYXRlPFQ+IHtcbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIERieEJ1dHRvbkRpc3BsYXkgZm9yIHRoZSBpbnB1dCB2YWx1ZS5cbiAgICpcbiAgICogQHBhcmFtIHZhbHVlXG4gICAqL1xuICBidXR0b25EaXNwbGF5Q29udGVudEZvclZhbHVlKHZhbHVlOiBUKTogRGJ4QnV0dG9uRGlzcGxheTtcbn1cblxuLyoqXG4gKiBSZXR1cm5zIHRoZSBEYnhCdXR0b25EaXNwbGF5VHlwZSBnaXZlbiB0aGUgaW5wdXQgY29udGVudC5cbiAqXG4gKiBAcGFyYW0gY29udGVudFxuICogQHJldHVybnNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRieEJ1dHRvbkRpc3BsYXlUeXBlKGNvbnRlbnQ6IERieEJ1dHRvbkRpc3BsYXkpOiBEYnhCdXR0b25EaXNwbGF5VHlwZSB7XG4gIHJldHVybiAhY29udGVudC50ZXh0ICYmIGNvbnRlbnQuaWNvbiA/ICdpY29uX2J1dHRvbicgOiAndGV4dF9idXR0b24nO1xufVxuIl19
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWNvcmUvc3JjL2xpYi9idXR0b24vYnV0dG9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBa0IsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBMEMzRCxNQUFNLE9BQWdCLFNBQVM7Q0FpRDlCO0FBRUQsTUFBTSxVQUFVLGdCQUFnQixDQUFzQixVQUFtQjtJQUN2RSxPQUFPO1FBQ0w7WUFDRSxPQUFPLEVBQUUsU0FBUztZQUNsQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLFVBQVUsQ0FBQztTQUMxQztLQUNGLENBQUM7QUFDSixDQUFDO0FBdUJEOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLG9CQUFvQixDQUFDLE9BQXlCO0lBQzVELE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDO0FBQ3ZFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUeXBlLCBQcm92aWRlciwgZm9yd2FyZFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdHlwZSBNYXliZSB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdHlwZSBEYnhBY3Rpb25Xb3JrUHJvZ3Jlc3MsIHR5cGUgRGJ4QWN0aW9uV29ya09yV29ya1Byb2dyZXNzIH0gZnJvbSAnLi4vYWN0aW9uL2FjdGlvbic7XG5cbmV4cG9ydCB0eXBlIERieEJ1dHRvbldvcmtpbmdQcm9ncmVzcyA9IERieEFjdGlvbldvcmtQcm9ncmVzcztcblxuLyoqXG4gKiBXb3JraW5nIHN0YXRlIGZvciBhIGJ1dHRvbi5cbiAqXG4gKiBDYW4gYmUgYSBib29sZWFuIG9yIGEgbnVtYmVyLlxuICpcbiAqIFRydWUgaXMgdHJlYXRlZCBhcyBhbiBpbmRldGVybWluYXRlIHByb2dyZXNzLlxuICovXG5leHBvcnQgdHlwZSBEYnhCdXR0b25Xb3JraW5nID0gRGJ4QWN0aW9uV29ya09yV29ya1Byb2dyZXNzO1xuXG4vKipcbiAqIFVzZWQgZm9yIGludGVyY2VwdGluZyBidXR0b24gY2xpY2sgZXZlbnRzLlxuICpcbiAqIENhbiBiZSB1c2VkIHRvIGRlbGF5L21vZGlmeSB0cmlnZ2VyL2NsaWNrIGJlaGF2aW9ycy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEYnhCdXR0b25JbnRlcmNlcHRvciB7XG4gIC8qKlxuICAgKiBIYW5kbGVzIGEgYnV0dG9uIGNsaWNrIGV2ZW50LiBSZXR1cm5zIGFuIG9ic2VydmFibGUgdGhhdCB3aWxsIHNheSB3aGV0aGVyIG9yIG5vdCB0byBjb250aW51ZSB0aGUgY2xpY2sgZXZlbnQuXG4gICAqL1xuICBpbnRlcmNlcHRCdXR0b25DbGljazogKCkgPT4gT2JzZXJ2YWJsZTxib29sZWFuPjtcbn1cblxuLyoqXG4gKiBUZXh0IGFuZCBpY29uIGRpc3BsYXkgY29udGVudCBmb3IgYSBidXR0b24uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGJ4QnV0dG9uRGlzcGxheSB7XG4gIC8qKlxuICAgKiBidXR0b24gSWNvbiwgaWYgYXBwbGljYWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgaWNvbj86IE1heWJlPHN0cmluZz47XG4gIC8qKlxuICAgKiBidXR0b24gdGV4dCwgaWYgYXBwbGljYWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgdGV4dD86IE1heWJlPHN0cmluZz47XG59XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBEYnhCdXR0b24ge1xuICAvKipcbiAgICogT2JzZXJ2YWJsZSBvZiB0aGUgZGlzYWJsZWQgc3RhdGUgb2YgdGhlIGJ1dHRvbi5cbiAgICovXG4gIGFic3RyYWN0IHJlYWRvbmx5IGRpc2FibGVkJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgLyoqXG4gICAqIE9ic2VydmFibGUgb2YgdGhlIHdvcmtpbmcgc3RhdGUgb2YgdGhlIGJ1dHRvbi5cbiAgICovXG4gIGFic3RyYWN0IHJlYWRvbmx5IHdvcmtpbmckOiBPYnNlcnZhYmxlPERieEJ1dHRvbldvcmtpbmc+O1xuICAvKipcbiAgICogT2JzZXJ2YWJsZSBvZiB0aGUgY2xpY2tlZCBldmVudCBvZiB0aGUgYnV0dG9uLlxuICAgKi9cbiAgYWJzdHJhY3QgcmVhZG9ubHkgY2xpY2tlZCQ6IE9ic2VydmFibGU8dW5rbm93bj47XG4gIC8qKlxuICAgKiBPYnNlcnZhYmxlIG9mIHRoZSBkaXNwbGF5IGNvbnRlbnQgb2YgdGhlIGJ1dHRvbi5cbiAgICovXG4gIGFic3RyYWN0IHJlYWRvbmx5IGRpc3BsYXkkOiBPYnNlcnZhYmxlPERieEJ1dHRvbkRpc3BsYXk+O1xuICAvKipcbiAgICogU2V0cyB0aGUgZGlzYWJsZWQgc3RhdGUgb2YgdGhlIGJ1dHRvbi4gSWYgbnVsbC91bmRlZmluZWQgdGhlIGJ1dHRvbiB3aWxsIGJlIGRpc2FibGVkLlxuICAgKlxuICAgKiBAcGFyYW0gZGlzYWJsZWRcbiAgICovXG4gIGFic3RyYWN0IHNldERpc2FibGVkKGRpc2FibGVkPzogTWF5YmU8Ym9vbGVhbj4pOiB2b2lkO1xuICAvKipcbiAgICogU2V0cyB0aGUgd29ya2luZyBzdGF0ZSBvZiB0aGUgYnV0dG9uLlxuICAgKlxuICAgKiBJZiBhIG51bWJlciBpcyBwYXNzZWQsIHRoZW4gaXQgaXMgdHJlYXRlZCBhcyBhIHByb2dyZXNzIHBlcmNlbnRhZ2UuXG4gICAqXG4gICAqIElmIHRydWUgaXMgcGFzc2VkLCB0aGVuIGl0IGlzIHRyZWF0ZWQgYXMgYW4gaW5kZXRlcm1pbmF0ZSBwcm9ncmVzcy5cbiAgICpcbiAgICogSWYgbnVsbC91bmRlZmluZWQgaXMgcGFzc2VkLCB0aGVuIHRoZSBidXR0b24gd2lsbCBub3QgYmUgd29ya2luZy5cbiAgICovXG4gIGFic3RyYWN0IHNldFdvcmtpbmcod29ya2luZz86IE1heWJlPERieEJ1dHRvbldvcmtpbmc+KTogdm9pZDtcbiAgLyoqXG4gICAqIFNldHMgdGhlIGRpc3BsYXkgY29udGVudCBvZiB0aGUgYnV0dG9uLlxuICAgKlxuICAgKiBAcGFyYW0gY29udGVudFxuICAgKi9cbiAgYWJzdHJhY3Qgc2V0RGlzcGxheUNvbnRlbnQoY29udGVudDogRGJ4QnV0dG9uRGlzcGxheSk6IHZvaWQ7XG4gIC8qKlxuICAgKiBTZXRzIHRoZSBidXR0b24gaW50ZXJjZXB0b3IuIElmIGFueSBpbnRlcmNlcHRvciBpcyBhbHJlYWR5IHNldCwgaXQgaXMgcmVwbGFjZWQuXG4gICAqXG4gICAqIEBwYXJhbSBpbnRlcmNlcHRvclxuICAgKi9cbiAgYWJzdHJhY3Qgc2V0QnV0dG9uSW50ZXJjZXB0b3IoaW50ZXJjZXB0b3I6IERieEJ1dHRvbkludGVyY2VwdG9yKTogdm9pZDtcbiAgLyoqXG4gICAqIE1haW4gZnVuY3Rpb24gdG8gdXNlIGZvciBoYW5kbGluZyBjbGlja3Mgb24gdGhlIGJ1dHRvbi5cbiAgICovXG4gIGFic3RyYWN0IGNsaWNrQnV0dG9uKCk6IHZvaWQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlRGJ4QnV0dG9uPFMgZXh0ZW5kcyBEYnhCdXR0b24+KHNvdXJjZVR5cGU6IFR5cGU8Uz4pOiBQcm92aWRlcltdIHtcbiAgcmV0dXJuIFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBEYnhCdXR0b24sXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBzb3VyY2VUeXBlKVxuICAgIH1cbiAgXTtcbn1cblxuLy8gTUFSSzogRGlzcGxheVxuLyoqXG4gKiBUaGUgZGlzcGxheSB0eXBlIG9mIGEgYnV0dG9uLlxuICpcbiAqIHRleHRfYnV0dG9uOiBBIHRleHQgYnV0dG9uIGhhcyB0ZXh0IG9yIGlzIGVtcHR5LlxuICogaWNvbl9idXR0b246IEFuIGljb24gYnV0dG9uIG9ubHkgaGFzIGFuIGljb24gYW5kIG5vIHRleHQuXG4gKi9cbmV4cG9ydCB0eXBlIERieEJ1dHRvbkRpc3BsYXlUeXBlID0gJ3RleHRfYnV0dG9uJyB8ICdpY29uX2J1dHRvbic7XG5cbi8qKlxuICogRGVsZWdhdGUgY2xhc3MgdXNlZCBmb3IgcmV0cmlldmluZyB0aGUgRGJ4QnV0dG9uRGlzcGxheSBnaXZlbiBhbiBpbnB1dCB2YWx1ZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEYnhCdXR0b25EaXNwbGF5RGVsZWdhdGU8VD4ge1xuICAvKipcbiAgICogUmV0dXJucyB0aGUgRGJ4QnV0dG9uRGlzcGxheSBmb3IgdGhlIGlucHV0IHZhbHVlLlxuICAgKlxuICAgKiBAcGFyYW0gdmFsdWVcbiAgICovXG4gIGJ1dHRvbkRpc3BsYXlDb250ZW50Rm9yVmFsdWUodmFsdWU6IFQpOiBEYnhCdXR0b25EaXNwbGF5O1xufVxuXG4vKipcbiAqIFJldHVybnMgdGhlIERieEJ1dHRvbkRpc3BsYXlUeXBlIGdpdmVuIHRoZSBpbnB1dCBjb250ZW50LlxuICpcbiAqIEBwYXJhbSBjb250ZW50XG4gKiBAcmV0dXJuc1xuICovXG5leHBvcnQgZnVuY3Rpb24gZGJ4QnV0dG9uRGlzcGxheVR5cGUoY29udGVudDogRGJ4QnV0dG9uRGlzcGxheSk6IERieEJ1dHRvbkRpc3BsYXlUeXBlIHtcbiAgcmV0dXJuICFjb250ZW50LnRleHQgJiYgY29udGVudC5pY29uID8gJ2ljb25fYnV0dG9uJyA6ICd0ZXh0X2J1dHRvbic7XG59XG4iXX0=
@@ -2,7 +2,7 @@ import { Directive, inject } from '@angular/core';
2
2
  import { FilterMap } from '@dereekb/rxjs';
3
3
  import * as i0 from "@angular/core";
4
4
  /**
5
- * Direction that provides an FilterMap.
5
+ * Direction that provides a FilterMap.
6
6
  */
7
7
  export class DbxFilterMapDirective {
8
8
  filterMap = inject((FilterMap));
@@ -21,4 +21,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
21
21
  standalone: true
22
22
  }]
23
23
  }] });
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLm1hcC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtY29yZS9zcmMvbGliL2ZpbHRlci9maWx0ZXIubWFwLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFhLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUUxQzs7R0FFRztBQU9ILE1BQU0sT0FBTyxxQkFBcUI7SUFDdkIsU0FBUyxHQUFHLE1BQU0sQ0FBQyxDQUFBLFNBQVksQ0FBQSxDQUFDLENBQUM7SUFFMUMsV0FBVztRQUNULElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDM0IsQ0FBQzt3R0FMVSxxQkFBcUI7NEZBQXJCLHFCQUFxQiw2REFIckIsQ0FBQyxTQUFTLENBQUM7OzRGQUdYLHFCQUFxQjtrQkFOakMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsZ0JBQWdCO29CQUMxQixRQUFRLEVBQUUsY0FBYztvQkFDeEIsU0FBUyxFQUFFLENBQUMsU0FBUyxDQUFDO29CQUN0QixVQUFVLEVBQUUsSUFBSTtpQkFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIE9uRGVzdHJveSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGaWx0ZXJNYXAgfSBmcm9tICdAZGVyZWVrYi9yeGpzJztcblxuLyoqXG4gKiBEaXJlY3Rpb24gdGhhdCBwcm92aWRlcyBhbiBGaWx0ZXJNYXAuXG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tkYnhGaWx0ZXJNYXBdJyxcbiAgZXhwb3J0QXM6ICdkYnhGaWx0ZXJNYXAnLFxuICBwcm92aWRlcnM6IFtGaWx0ZXJNYXBdLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIERieEZpbHRlck1hcERpcmVjdGl2ZTxGPiBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIHJlYWRvbmx5IGZpbHRlck1hcCA9IGluamVjdChGaWx0ZXJNYXA8Rj4pO1xuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZmlsdGVyTWFwLmRlc3Ryb3koKTtcbiAgfVxufVxuIl19
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLm1hcC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtY29yZS9zcmMvbGliL2ZpbHRlci9maWx0ZXIubWFwLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFhLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUUxQzs7R0FFRztBQU9ILE1BQU0sT0FBTyxxQkFBcUI7SUFDdkIsU0FBUyxHQUFHLE1BQU0sQ0FBQyxDQUFBLFNBQVksQ0FBQSxDQUFDLENBQUM7SUFFMUMsV0FBVztRQUNULElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDM0IsQ0FBQzt3R0FMVSxxQkFBcUI7NEZBQXJCLHFCQUFxQiw2REFIckIsQ0FBQyxTQUFTLENBQUM7OzRGQUdYLHFCQUFxQjtrQkFOakMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsZ0JBQWdCO29CQUMxQixRQUFRLEVBQUUsY0FBYztvQkFDeEIsU0FBUyxFQUFFLENBQUMsU0FBUyxDQUFDO29CQUN0QixVQUFVLEVBQUUsSUFBSTtpQkFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIE9uRGVzdHJveSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGaWx0ZXJNYXAgfSBmcm9tICdAZGVyZWVrYi9yeGpzJztcblxuLyoqXG4gKiBEaXJlY3Rpb24gdGhhdCBwcm92aWRlcyBhIEZpbHRlck1hcC5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2RieEZpbHRlck1hcF0nLFxuICBleHBvcnRBczogJ2RieEZpbHRlck1hcCcsXG4gIHByb3ZpZGVyczogW0ZpbHRlck1hcF0sXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgRGJ4RmlsdGVyTWFwRGlyZWN0aXZlPEY+IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgcmVhZG9ubHkgZmlsdGVyTWFwID0gaW5qZWN0KEZpbHRlck1hcDxGPik7XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5maWx0ZXJNYXAuZGVzdHJveSgpO1xuICB9XG59XG4iXX0=
@@ -9,5 +9,6 @@ export * from './injection.instance';
9
9
  export * from './injection.rxjs';
10
10
  export * from './injection.directive';
11
11
  export * from './injection';
12
+ export * from './injection.util';
12
13
  export * from './injector';
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtY29yZS9zcmMvbGliL2luamVjdGlvbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsWUFBWSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9pbmplY3Rpb24uYXJyYXkuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vaW5qZWN0aW9uLmFycmF5JztcbmV4cG9ydCAqIGZyb20gJy4vaW5qZWN0aW9uLmNvbXBvbmVudC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9pbmplY3Rpb24uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vaW5qZWN0aW9uLmNvbnRleHQuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vaW5qZWN0aW9uLmNvbnRleHQuZm9yd2FyZC5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9pbmplY3Rpb24uY29udGV4dCc7XG5leHBvcnQgKiBmcm9tICcuL2luamVjdGlvbi5pbnN0YW5jZSc7XG5leHBvcnQgKiBmcm9tICcuL2luamVjdGlvbi5yeGpzJztcbmV4cG9ydCAqIGZyb20gJy4vaW5qZWN0aW9uLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2luamVjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2luamVjdG9yJztcbiJdfQ==
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtY29yZS9zcmMvbGliL2luamVjdGlvbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxZQUFZLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2luamVjdGlvbi5hcnJheS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9pbmplY3Rpb24uYXJyYXknO1xuZXhwb3J0ICogZnJvbSAnLi9pbmplY3Rpb24uY29tcG9uZW50Lm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2luamVjdGlvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9pbmplY3Rpb24uY29udGV4dC5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9pbmplY3Rpb24uY29udGV4dC5mb3J3YXJkLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2luamVjdGlvbi5jb250ZXh0JztcbmV4cG9ydCAqIGZyb20gJy4vaW5qZWN0aW9uLmluc3RhbmNlJztcbmV4cG9ydCAqIGZyb20gJy4vaW5qZWN0aW9uLnJ4anMnO1xuZXhwb3J0ICogZnJvbSAnLi9pbmplY3Rpb24uZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vaW5qZWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vaW5qZWN0aW9uLnV0aWwnO1xuZXhwb3J0ICogZnJvbSAnLi9pbmplY3Rvcic7XG4iXX0=