@dereekb/dbx-core 12.6.20 → 12.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/action/action.machine.mjs +4 -5
- package/esm2022/lib/action/action.store.mjs +11 -7
- package/esm2022/lib/action/action.store.source.provide.mjs +4 -9
- package/esm2022/lib/action/directive/auto/action.automodify.directive.mjs +9 -9
- package/esm2022/lib/action/directive/auto/action.autotrigger.directive.mjs +12 -14
- package/esm2022/lib/action/directive/context/action.directive.mjs +7 -5
- package/esm2022/lib/action/directive/debug/action.logger.directive.mjs +9 -9
- package/esm2022/lib/action/directive/map/action.map.directive.mjs +3 -5
- package/esm2022/lib/action/directive/map/action.map.mjs +5 -4
- package/esm2022/lib/action/directive/map/action.map.working.disable.directive.mjs +11 -12
- package/esm2022/lib/action/directive/state/action.disabled.directive.mjs +7 -11
- package/esm2022/lib/action/directive/state/action.disableonsuccess.directive.mjs +7 -11
- package/esm2022/lib/action/directive/state/action.enforce.modified.directive.mjs +10 -13
- package/esm2022/lib/action/directive/state/action.error.handler.directive.mjs +9 -9
- package/esm2022/lib/action/directive/state/action.handler.directive.mjs +3 -5
- package/esm2022/lib/action/directive/state/action.success.directive.mjs +1 -1
- package/esm2022/lib/action/directive/state/action.success.handler.directive.mjs +9 -9
- package/esm2022/lib/action/directive/state/action.value.directive.mjs +6 -15
- package/esm2022/lib/action/directive/state/action.value.stream.directive.mjs +18 -19
- package/esm2022/lib/action/directive/state/action.value.trigger.directive.mjs +5 -6
- package/esm2022/lib/button/action/action.button.directive.mjs +10 -17
- package/esm2022/lib/button/action/action.button.trigger.directive.mjs +9 -9
- package/esm2022/lib/button/button.directive.mjs +11 -16
- package/esm2022/lib/button/button.loading.directive.mjs +7 -6
- package/esm2022/lib/button/router/button.segue.directive.mjs +6 -7
- package/esm2022/lib/filter/filter.abstract.connector.directive.mjs +3 -5
- package/esm2022/lib/filter/filter.map.directive.mjs +3 -5
- package/esm2022/lib/index.mjs +2 -2
- package/esm2022/lib/injection/injection.context.directive.mjs +2 -2
- package/esm2022/lib/injection/injection.instance.mjs +3 -3
- package/esm2022/lib/injection/injection.mjs +1 -1
- package/esm2022/lib/router/model/model.router.id.directive.mjs +9 -13
- package/esm2022/lib/router/model/model.router.key.directive.mjs +9 -12
- package/esm2022/lib/router/model/model.router.uid.directive.mjs +8 -8
- package/esm2022/lib/router/router/transition/transition.watcher.directive.mjs +8 -11
- package/esm2022/lib/rxjs/clean.mjs +28 -0
- package/esm2022/lib/rxjs/destroy.mjs +13 -0
- package/esm2022/lib/rxjs/index.mjs +7 -0
- package/esm2022/lib/rxjs/loading.mjs +19 -0
- package/esm2022/lib/rxjs/lockset.mjs +56 -0
- package/esm2022/lib/rxjs/rxjs.directive.mjs +42 -0
- package/esm2022/lib/rxjs/subscription.mjs +16 -0
- package/esm2022/lib/view/if.directive.mjs +7 -6
- package/fesm2022/dereekb-dbx-core.mjs +306 -245
- package/fesm2022/dereekb-dbx-core.mjs.map +1 -1
- package/lib/action/action.machine.d.ts +2 -4
- package/lib/action/action.store.d.ts +2 -2
- package/lib/action/action.store.source.provide.d.ts +1 -4
- package/lib/action/directive/auto/action.automodify.directive.d.ts +2 -4
- package/lib/action/directive/auto/action.autotrigger.directive.d.ts +3 -5
- package/lib/action/directive/context/action.directive.d.ts +1 -3
- package/lib/action/directive/debug/action.logger.directive.d.ts +2 -4
- package/lib/action/directive/map/action.map.directive.d.ts +1 -3
- package/lib/action/directive/map/action.map.working.disable.directive.d.ts +2 -5
- package/lib/action/directive/state/action.disabled.directive.d.ts +1 -4
- package/lib/action/directive/state/action.disableonsuccess.directive.d.ts +1 -4
- package/lib/action/directive/state/action.enforce.modified.directive.d.ts +2 -5
- package/lib/action/directive/state/action.error.handler.directive.d.ts +2 -4
- package/lib/action/directive/state/action.handler.directive.d.ts +1 -3
- package/lib/action/directive/state/action.success.directive.d.ts +1 -2
- package/lib/action/directive/state/action.success.handler.directive.d.ts +2 -4
- package/lib/action/directive/state/action.value.directive.d.ts +1 -5
- package/lib/action/directive/state/action.value.stream.directive.d.ts +2 -6
- package/lib/action/directive/state/action.value.trigger.directive.d.ts +4 -5
- package/lib/button/action/action.button.directive.d.ts +2 -6
- package/lib/button/action/action.button.trigger.directive.d.ts +2 -4
- package/lib/button/button.directive.d.ts +3 -5
- package/lib/button/button.loading.directive.d.ts +2 -2
- package/lib/button/router/button.segue.directive.d.ts +1 -2
- package/lib/filter/filter.abstract.connector.directive.d.ts +1 -3
- package/lib/filter/filter.map.directive.d.ts +1 -3
- package/lib/index.d.ts +1 -1
- package/lib/injection/injection.d.ts +2 -0
- package/lib/router/model/model.router.id.directive.d.ts +2 -5
- package/lib/router/model/model.router.key.directive.d.ts +2 -5
- package/lib/router/model/model.router.uid.directive.d.ts +2 -4
- package/lib/router/router/transition/transition.watcher.directive.d.ts +3 -5
- package/lib/rxjs/clean.d.ts +16 -0
- package/lib/rxjs/destroy.d.ts +7 -0
- package/lib/rxjs/index.d.ts +6 -0
- package/lib/rxjs/loading.d.ts +13 -0
- package/lib/rxjs/lockset.d.ts +47 -0
- package/lib/{subscription/subscription.directive.d.ts → rxjs/rxjs.directive.d.ts} +4 -0
- package/lib/rxjs/subscription.d.ts +9 -0
- package/lib/view/if.directive.d.ts +2 -2
- package/package.json +1 -1
- package/esm2022/lib/subscription/index.mjs +0 -2
- package/esm2022/lib/subscription/subscription.directive.mjs +0 -38
- package/lib/subscription/index.d.ts +0 -1
|
@@ -3,6 +3,7 @@ import { DbxActionWorkInstanceDelegate } from './action.handler';
|
|
|
3
3
|
import { DbxActionContextBaseSource } from './action.holder';
|
|
4
4
|
import { SubscriptionObject, workFactory } from '@dereekb/rxjs';
|
|
5
5
|
import { Injectable } from '@angular/core';
|
|
6
|
+
import { clean } from '../rxjs/clean';
|
|
6
7
|
import * as i0 from "@angular/core";
|
|
7
8
|
/**
|
|
8
9
|
* Configurable machine that handles components of the ActionContextStore lifecycle.
|
|
@@ -51,7 +52,7 @@ export class DbxActionContextMachine extends DbxActionContextBaseSource {
|
|
|
51
52
|
}
|
|
52
53
|
}
|
|
53
54
|
/**
|
|
54
|
-
* DbxActionContextMachine
|
|
55
|
+
* DbxActionContextMachine configured for use as a Service/Injectable.
|
|
55
56
|
*/
|
|
56
57
|
export class DbxActionContextMachineAsService extends DbxActionContextMachine {
|
|
57
58
|
constructor() {
|
|
@@ -59,9 +60,7 @@ export class DbxActionContextMachineAsService extends DbxActionContextMachine {
|
|
|
59
60
|
oneTimeUse: false,
|
|
60
61
|
handleValueReady: false
|
|
61
62
|
});
|
|
62
|
-
|
|
63
|
-
ngOnDestroy() {
|
|
64
|
-
this.destroy();
|
|
63
|
+
clean(() => this.destroy());
|
|
65
64
|
}
|
|
66
65
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxActionContextMachineAsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
67
66
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxActionContextMachineAsService });
|
|
@@ -69,4 +68,4 @@ export class DbxActionContextMachineAsService extends DbxActionContextMachine {
|
|
|
69
68
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxActionContextMachineAsService, decorators: [{
|
|
70
69
|
type: Injectable
|
|
71
70
|
}], ctorParameters: () => [] });
|
|
72
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
71
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLm1hY2hpbmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtY29yZS9zcmMvbGliL2FjdGlvbi9hY3Rpb24ubWFjaGluZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVwQyxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNqRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUU3RCxPQUFPLEVBQUUsa0JBQWtCLEVBQVEsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFzQnRDOzs7O0dBSUc7QUFDSCxNQUFNLE9BQU8sdUJBQWtELFNBQVEsMEJBQWdDO0lBQzdGLFdBQVcsR0FBRyxJQUFJLENBQUM7SUFFVixPQUFPLENBQXNDO0lBQzdDLG9CQUFvQixHQUFHLElBQUksa0JBQWtCLEVBQUUsQ0FBQztJQUNoRCxXQUFXLEdBQUcsSUFBSSxrQkFBa0IsRUFBRSxDQUFDO0lBRXhELFlBQVksTUFBMkMsRUFBRSxNQUF1QztRQUM5RixLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDZCxJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztRQUV0QixxQkFBcUI7UUFDckIsSUFBSSxNQUFNLENBQUMsZ0JBQWdCLEtBQUssS0FBSyxFQUFFLENBQUM7WUFDdEMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtnQkFDM0YsTUFBTSxNQUFNLEdBQUcsV0FBVyxDQUFDO29CQUN6QixJQUFJLEVBQUUsTUFBTSxDQUFDLGdCQUE4QjtvQkFDM0MsUUFBUSxFQUFFLElBQUksNkJBQTZCLENBQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQztpQkFDdkUsQ0FBQyxDQUFDO2dCQUVILE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNoQixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7UUFFRCxvRkFBb0Y7UUFDcEYsSUFBSSxNQUFNLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDdEIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7Z0JBQ3JFLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNqQixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7UUFFRCxJQUFJLE1BQU0sQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNyQixJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzNGLENBQUM7SUFDSCxDQUFDO0lBRVEsT0FBTztRQUNkLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNoQixJQUFJLENBQUMsb0JBQW9CLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDcEMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUMzQixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztJQUMxQixDQUFDO0lBRUQsSUFBSSxNQUFNO1FBQ1IsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7SUFFRCxJQUFJLFVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDMUIsQ0FBQztDQUNGO0FBRUQ7O0dBRUc7QUFFSCxNQUFNLE9BQU8sZ0NBQTJELFNBQVEsdUJBQTZCO0lBQzNHO1FBQ0UsS0FBSyxDQUFDO1lBQ0osVUFBVSxFQUFFLEtBQUs7WUFDakIsZ0JBQWdCLEVBQUUsS0FBSztTQUN4QixDQUFDLENBQUM7UUFFSCxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDOUIsQ0FBQzt3R0FSVSxnQ0FBZ0M7NEdBQWhDLGdDQUFnQzs7NEZBQWhDLGdDQUFnQztrQkFENUMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERieEFjdGlvbkNvbnRleHRTb3VyY2VSZWZlcmVuY2UgfSBmcm9tICcuL2FjdGlvbi5yZWZlcmVuY2UnO1xuaW1wb3J0IHsgZGVsYXksIGZpcnN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBY3Rpb25Db250ZXh0U3RvcmVTb3VyY2UgfSBmcm9tICcuL2FjdGlvbi5zdG9yZS5zb3VyY2UnO1xuaW1wb3J0IHsgRGJ4QWN0aW9uV29ya0luc3RhbmNlRGVsZWdhdGUgfSBmcm9tICcuL2FjdGlvbi5oYW5kbGVyJztcbmltcG9ydCB7IERieEFjdGlvbkNvbnRleHRCYXNlU291cmNlIH0gZnJvbSAnLi9hY3Rpb24uaG9sZGVyJztcbmltcG9ydCB7IERlc3Ryb3lhYmxlLCB0eXBlIE1heWJlIH0gZnJvbSAnQGRlcmVla2IvdXRpbCc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb25PYmplY3QsIFdvcmssIHdvcmtGYWN0b3J5IH0gZnJvbSAnQGRlcmVla2Ivcnhqcyc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBjbGVhbiB9IGZyb20gJy4uL3J4anMvY2xlYW4nO1xuXG4vKipcbiAqIERieEFjdGlvbkNvbnRleHRNYWNoaW5lIGNvbmZpZ3VyYXRpb24uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGJ4QWN0aW9uQ29udGV4dE1hY2hpbmVDb25maWc8VCA9IHVua25vd24sIE8gPSB1bmtub3duPiB7XG4gIC8qKlxuICAgKiBXaGV0aGVyIG9yIG5vdCB0aGUgbWFjaGluZSBzaG91bGQgY2xlYW4gaXRzZWxmIHVwIGFmdGVyIGJlaW5nIHRyaWdnZXJlZCBvbmNlLlxuICAgKi9cbiAgb25lVGltZVVzZTogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEZ1bmN0aW9uIHRvIGhhbmRsZSBhbnkgdmFsdWVSZWFkeSBldmVudHMuXG4gICAqXG4gICAqIElmIGZhbHNlLCB3aWxsIG5vdCBzdWJzY3JpYmUvaGFuZGxlIHZhbHVlUmVhZHkkIGV2ZW50cy5cbiAgICovXG4gIGhhbmRsZVZhbHVlUmVhZHk6IFdvcms8VCwgTz4gfCBmYWxzZTtcbiAgLyoqXG4gICAqIE9wdGlvbmFsIGZ1bmN0aW9uIHRvIGV4ZWN1dGUgYWZ0ZXIgdGhlIGFjdGlvbiBoYXMgc3VjY2VlZGVkLlxuICAgKi9cbiAgb25TdWNjZXNzPzogKHZhbHVlOiBNYXliZTxPPikgPT4gdm9pZDtcbn1cblxuLyoqXG4gKiBDb25maWd1cmFibGUgbWFjaGluZSB0aGF0IGhhbmRsZXMgY29tcG9uZW50cyBvZiB0aGUgQWN0aW9uQ29udGV4dFN0b3JlIGxpZmVjeWNsZS5cbiAqXG4gKiBJdCBjYW4gYmUgY29uZmlndXJlZCB0byBhY3RpdmF0ZSBvbmx5IG9uY2UgYmVmb3JlIGNsZWFuaW5nIGl0c2VsZiB1cC4gSXQgY2FuIGJlIHVzZWQgZGlyZWN0bHkgYXMgYSBEYnhBY3Rpb25Db250ZXh0U291cmNlUmVmZXJlbmNlIGluIGNhc2VzIHdoZXJlIGl0IGlzIGNyZWF0ZWQgYXMgYSBvbmUtb2ZmIGFjdGlvbi5cbiAqL1xuZXhwb3J0IGNsYXNzIERieEFjdGlvbkNvbnRleHRNYWNoaW5lPFQgPSB1bmtub3duLCBPID0gdW5rbm93bj4gZXh0ZW5kcyBEYnhBY3Rpb25Db250ZXh0QmFzZVNvdXJjZTxULCBPPiBpbXBsZW1lbnRzIERieEFjdGlvbkNvbnRleHRTb3VyY2VSZWZlcmVuY2U8VCwgTz4sIERlc3Ryb3lhYmxlIHtcbiAgcHJpdmF0ZSBfaXNTaHV0ZG93biA9IHRydWU7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfY29uZmlnOiBEYnhBY3Rpb25Db250ZXh0TWFjaGluZUNvbmZpZzxULCBPPjtcbiAgcHJpdmF0ZSByZWFkb25seSBfaGFuZGxlVmFsdWVSZWFkeVN1YiA9IG5ldyBTdWJzY3JpcHRpb25PYmplY3QoKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfc3VjY2Vzc1N1YiA9IG5ldyBTdWJzY3JpcHRpb25PYmplY3QoKTtcblxuICBjb25zdHJ1Y3Rvcihjb25maWc6IERieEFjdGlvbkNvbnRleHRNYWNoaW5lQ29uZmlnPFQsIE8+LCBzb3VyY2U/OiBBY3Rpb25Db250ZXh0U3RvcmVTb3VyY2U8VCwgTz4pIHtcbiAgICBzdXBlcihzb3VyY2UpO1xuICAgIHRoaXMuX2NvbmZpZyA9IGNvbmZpZztcblxuICAgIC8vIEhhbmRsZSBWYWx1ZSBSZWFkeVxuICAgIGlmIChjb25maWcuaGFuZGxlVmFsdWVSZWFkeSAhPT0gZmFsc2UpIHtcbiAgICAgIHRoaXMuX2hhbmRsZVZhbHVlUmVhZHlTdWIuc3Vic2NyaXB0aW9uID0gdGhpcy5zb3VyY2VJbnN0YW5jZS52YWx1ZVJlYWR5JC5zdWJzY3JpYmUoKHZhbHVlKSA9PiB7XG4gICAgICAgIGNvbnN0IGRvV29yayA9IHdvcmtGYWN0b3J5KHtcbiAgICAgICAgICB3b3JrOiBjb25maWcuaGFuZGxlVmFsdWVSZWFkeSBhcyBXb3JrPFQsIE8+LFxuICAgICAgICAgIGRlbGVnYXRlOiBuZXcgRGJ4QWN0aW9uV29ya0luc3RhbmNlRGVsZWdhdGU8VCwgTz4odGhpcy5zb3VyY2VJbnN0YW5jZSlcbiAgICAgICAgfSk7XG5cbiAgICAgICAgZG9Xb3JrKHZhbHVlKTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIC8vIElmIHRoaXMgaXMgYSBvbmUtdGltZSB1c2UsIHRoZW4gZGVzdHJveSBpdCBhZnRlciB0aGUgZmlyc3Qgc3VjY2VzcyBjb21lcyB0aHJvdWdoLlxuICAgIGlmIChjb25maWcub25lVGltZVVzZSkge1xuICAgICAgdGhpcy5zb3VyY2VJbnN0YW5jZS5zdWNjZXNzJC5waXBlKGZpcnN0KCksIGRlbGF5KDEwMDApKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLmRlc3Ryb3koKTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmIChjb25maWcub25TdWNjZXNzKSB7XG4gICAgICB0aGlzLl9zdWNjZXNzU3ViLnN1YnNjcmlwdGlvbiA9IHRoaXMuc291cmNlSW5zdGFuY2Uuc3VjY2VzcyQuc3Vic2NyaWJlKGNvbmZpZy5vblN1Y2Nlc3MpO1xuICAgIH1cbiAgfVxuXG4gIG92ZXJyaWRlIGRlc3Ryb3koKTogdm9pZCB7XG4gICAgc3VwZXIuZGVzdHJveSgpO1xuICAgIHRoaXMuX2hhbmRsZVZhbHVlUmVhZHlTdWIuZGVzdHJveSgpO1xuICAgIHRoaXMuX3N1Y2Nlc3NTdWIuZGVzdHJveSgpO1xuICAgIHRoaXMuX2lzU2h1dGRvd24gPSB0cnVlO1xuICB9XG5cbiAgZ2V0IGNvbmZpZygpIHtcbiAgICByZXR1cm4gdGhpcy5fY29uZmlnO1xuICB9XG5cbiAgZ2V0IGlzU2h1dGRvd24oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2lzU2h1dGRvd247XG4gIH1cbn1cblxuLyoqXG4gKiBEYnhBY3Rpb25Db250ZXh0TWFjaGluZSBjb25maWd1cmVkIGZvciB1c2UgYXMgYSBTZXJ2aWNlL0luamVjdGFibGUuXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBEYnhBY3Rpb25Db250ZXh0TWFjaGluZUFzU2VydmljZTxUID0gdW5rbm93biwgTyA9IHVua25vd24+IGV4dGVuZHMgRGJ4QWN0aW9uQ29udGV4dE1hY2hpbmU8VCwgTz4ge1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcih7XG4gICAgICBvbmVUaW1lVXNlOiBmYWxzZSxcbiAgICAgIGhhbmRsZVZhbHVlUmVhZHk6IGZhbHNlXG4gICAgfSk7XG5cbiAgICBjbGVhbigoKSA9PiB0aGlzLmRlc3Ryb3koKSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -2,8 +2,9 @@ import { Injectable } from '@angular/core';
|
|
|
2
2
|
import { ComponentStore } from '@ngrx/component-store';
|
|
3
3
|
import { distinctUntilChanged, filter, map, shareReplay, switchMap, startWith, of } from 'rxjs';
|
|
4
4
|
import { BooleanStringKeyArrayUtility } from '@dereekb/util';
|
|
5
|
-
import { idleLoadingState, errorResult, filterMaybe,
|
|
5
|
+
import { idleLoadingState, errorResult, filterMaybe, scanCount, successResult, beginLoading } from '@dereekb/rxjs';
|
|
6
6
|
import { DbxActionState, DEFAULT_ACTION_DISABLED_KEY, isIdleActionState, loadingStateTypeForActionState } from './action';
|
|
7
|
+
import { cleanLockSet } from '../rxjs';
|
|
7
8
|
import * as i0 from "@angular/core";
|
|
8
9
|
export function isActionContextEnabled(state) {
|
|
9
10
|
return BooleanStringKeyArrayUtility.isFalse(state.disabled);
|
|
@@ -60,7 +61,12 @@ const INITIAL_STATE = {
|
|
|
60
61
|
actionState: DbxActionState.IDLE
|
|
61
62
|
};
|
|
62
63
|
export class ActionContextStore extends ComponentStore {
|
|
63
|
-
lockSet =
|
|
64
|
+
lockSet = cleanLockSet({
|
|
65
|
+
onLockSetDestroy: () => super.ngOnDestroy(),
|
|
66
|
+
destroyLocksetTiming: {
|
|
67
|
+
delayTime: 2000
|
|
68
|
+
}
|
|
69
|
+
});
|
|
64
70
|
constructor() {
|
|
65
71
|
super({ ...INITIAL_STATE });
|
|
66
72
|
this.lockSet.addLock('working', this.isWorking$);
|
|
@@ -262,10 +268,8 @@ export class ActionContextStore extends ComponentStore {
|
|
|
262
268
|
}
|
|
263
269
|
// MARK: Cleanup
|
|
264
270
|
ngOnDestroy() {
|
|
265
|
-
//
|
|
266
|
-
|
|
267
|
-
super.ngOnDestroy();
|
|
268
|
-
}, 2000);
|
|
271
|
+
// do not call super.destroy here, to keep the component store from destroying itself.
|
|
272
|
+
// the lockset is configured to cleanup the component store.
|
|
269
273
|
}
|
|
270
274
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ActionContextStore, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
271
275
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ActionContextStore });
|
|
@@ -283,4 +287,4 @@ function updateIsModifiedOnActionContextState(state, isModified) {
|
|
|
283
287
|
isModified: isModified ?? true // if isModified is not input, default it to true
|
|
284
288
|
};
|
|
285
289
|
}
|
|
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=
|
|
290
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLnN0b3JlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWNvcmUvc3JjL2xpYi9hY3Rpb24vYWN0aW9uLnN0b3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDdEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3ZELE9BQU8sRUFBYyxvQkFBb0IsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM1RyxPQUFPLEVBQXlCLDRCQUE0QixFQUF3QixNQUFNLGVBQWUsQ0FBQztBQUMxRyxPQUFPLEVBQW9CLGdCQUFnQixFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQWdCLFNBQVMsRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25KLE9BQU8sRUFBK0MsY0FBYyxFQUE0RSwyQkFBMkIsRUFBRSxpQkFBaUIsRUFBRSw4QkFBOEIsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNqUCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sU0FBUyxDQUFDOztBQUV2QyxNQUFNLFVBQVUsc0JBQXNCLENBQUMsS0FBeUI7SUFDOUQsT0FBTyw0QkFBNEIsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBQzlELENBQUM7QUFFRCxNQUFNLFVBQVUsdUJBQXVCLENBQUMsS0FBeUI7SUFDL0QsT0FBTyw0QkFBNEIsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBQzdELENBQUM7QUFFRCxNQUFNLFVBQVUsNEJBQTRCLENBQUMsS0FBeUI7SUFDcEUsT0FBTyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLElBQUksdUJBQXVCLENB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RSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUscUNBQXFDLENBQUMsQ0FBQyxDQUFDLENBQTJDLENBQUMsRUFDbkcsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLHNEQUFzRDtRQUN6RyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQTZCLENBQUMsRUFDNUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUNmLENBQUM7SUFDSixDQUFDO0lBRUQsZ0JBQWdCO0lBQ1AsV0FBVztRQUNsQixzRkFBc0Y7UUFDdEYsNERBQTREO0lBQzlELENBQUM7d0dBM1RVLGtCQUFrQjs0R0FBbEIsa0JBQWtCOzs0RkFBbEIsa0JBQWtCO2tCQUQ5QixVQUFVOztBQStUWCxTQUFTLGdDQUFnQyxDQUFPLEtBQStCLEVBQUUsTUFBdUI7SUFDdEcsT0FBTyxvQ0FBb0MsQ0FBQyxLQUFLLEVBQUUsTUFBTSxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQ3ZGLENBQUM7QUFFRCxTQUFTLG9DQUFvQyxDQUFPLEtBQStCLEVBQUUsVUFBMkI7SUFDOUcsT0FBTztRQUNMLEdBQUcsS0FBSztRQUNSLFdBQVcsRUFBRSxLQUFLLENBQUMsV0FBVyxLQUFLLGNBQWMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsNEJBQTRCO1FBQ2xJLFVBQVUsRUFBRyxVQUFzQixJQUFJLElBQUksQ0FBQyxpREFBaUQ7S0FDOUYsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbXBvbmVudFN0b3JlIH0gZnJvbSAnQG5ncngvY29tcG9uZW50LXN0b3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBmaWx0ZXIsIG1hcCwgc2hhcmVSZXBsYXksIHN3aXRjaE1hcCwgc3RhcnRXaXRoLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQm9vbGVhblN0cmluZ0tleUFycmF5LCBCb29sZWFuU3RyaW5nS2V5QXJyYXlVdGlsaXR5LCBNYXliZSwgUmVhZGFibGVFcnJvciB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuaW1wb3J0IHsgTG9hZGluZ1N0YXRlVHlwZSwgaWRsZUxvYWRpbmdTdGF0ZSwgZXJyb3JSZXN1bHQsIGZpbHRlck1heWJlLCBMb2FkaW5nU3RhdGUsIHNjYW5Db3VudCwgc3VjY2Vzc1Jlc3VsdCwgYmVnaW5Mb2FkaW5nIH0gZnJvbSAnQGRlcmVla2Ivcnhqcyc7XG5pbXBvcnQgeyBEYnhBY3Rpb25EaXNhYmxlZEtleSwgRGJ4QWN0aW9uUmVqZWN0ZWRQYWlyLCBEYnhBY3Rpb25TdGF0ZSwgRGJ4QWN0aW9uU3VjY2Vzc1BhaXIsIERieEFjdGlvbldvcmtPcldvcmtQcm9ncmVzcywgRGJ4QWN0aW9uV29ya1Byb2dyZXNzLCBERUZBVUxUX0FDVElPTl9ESVNBQkxFRF9LRVksIGlzSWRsZUFjdGlvblN0YXRlLCBsb2FkaW5nU3RhdGVUeXBlRm9yQWN0aW9uU3RhdGUgfSBmcm9tICcuL2FjdGlvbic7XG5pbXBvcnQgeyBjbGVhbkxvY2tTZXQgfSBmcm9tICcuLi9yeGpzJztcblxuZXhwb3J0IGZ1bmN0aW9uIGlzQWN0aW9uQ29udGV4dEVuYWJsZWQoc3RhdGU6IEFjdGlvbkNvbnRleHRTdGF0ZSk6IGJvb2xlYW4ge1xuICByZXR1cm4gQm9vbGVhblN0cmluZ0tleUFycmF5VXRpbGl0eS5pc0ZhbHNlKHN0YXRlLmRpc2FibGVkKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzQWN0aW9uQ29udGV4dERpc2FibGVkKHN0YXRlOiBBY3Rpb25Db250ZXh0U3RhdGUpOiBib29sZWFuIHtcbiAgcmV0dXJuIEJvb2xlYW5TdHJpbmdLZXlBcnJheVV0aWxpdHkuaXNUcnVlKHN0YXRlLmRpc2FibGVkKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzRGlzYWJsZWRBY3Rpb25Db250ZXh0U3RhdGUoc3RhdGU6IEFjdGlvbkNvbnRleHRTdGF0ZSk6IGJvb2xlYW4ge1xuICByZXR1cm4gaXNJZGxlQWN0aW9uU3RhdGUoc3RhdGUuYWN0aW9uU3RhdGUpICYmIGlzQWN0aW9uQ29udGV4dERpc2FibGVkKHN0YXRlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzV29ya2luZ0FjdGlvblN0YXRlKGFjdGlvblN0YXRlOiBEYnhBY3Rpb25TdGF0ZSk6IGJvb2xlYW4ge1xuICByZXR1cm4gIWlzSWRsZUFjdGlvblN0YXRlKGFjdGlvblN0YXRlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNhblRyaWdnZXJBY3Rpb25TdGF0ZShhY3Rpb25TdGF0ZTogRGJ4QWN0aW9uU3RhdGUpOiBib29sZWFuIHtcbiAgcmV0dXJuIGFjdGlvblN0YXRlICE9PSBEYnhBY3Rpb25TdGF0ZS5ESVNBQkxFRCAmJiBpc0lkbGVBY3Rpb25TdGF0ZShhY3Rpb25TdGF0ZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjYW5UcmlnZ2VyQWN0aW9uKHN0YXRlOiBBY3Rpb25Db250ZXh0U3RhdGUpOiBib29sZWFuIHtcbiAgcmV0dXJuIGlzQWN0aW9uQ29udGV4dEVuYWJsZWQoc3RhdGUpICYmIGlzSWRsZUFjdGlvblN0YXRlKHN0YXRlLmFjdGlvblN0YXRlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNhblJlYWR5VmFsdWUoc3RhdGU6IEFjdGlvbkNvbnRleHRTdGF0ZSk6IGJvb2xlYW4ge1xuICByZXR1cm4gc3RhdGUuYWN0aW9uU3RhdGUgPT09IERieEFjdGlvblN0YXRlLlRSSUdHRVJFRDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFjdGlvbkNvbnRleHRJc01vZGlmaWVkQW5kQ2FuVHJpZ2dlcihzdGF0ZTogQWN0aW9uQ29udGV4dFN0YXRlKTogYm9vbGVhbiB7XG4gIC8vIGNvbnNvbGUubG9nKCdjaGVjazogJywgc3RhdGUsIHN0YXRlLmlzTW9kaWZpZWQsIGNhblRyaWdnZXJBY3Rpb24oc3RhdGUpKTtcbiAgcmV0dXJuIHN0YXRlLmlzTW9kaWZpZWQgJiYgY2FuVHJpZ2dlckFjdGlvbihzdGF0ZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhY3Rpb25Db250ZXh0SGFzTm9FcnJvckFuZElzTW9kaWZpZWRBbmRDYW5UcmlnZ2VyKHN0YXRlOiBBY3Rpb25Db250ZXh0U3RhdGUpOiBib29sZWFuIHtcbiAgcmV0dXJuICFzdGF0ZS5lcnJvciAmJiBhY3Rpb25Db250ZXh0SXNNb2RpZmllZEFuZENhblRyaWdnZXIoc3RhdGUpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbG9hZGluZ1N0YXRlRm9yQWN0aW9uQ29udGV4dFN0YXRlPE8gPSB1bmtub3duPihzdGF0ZTogQWN0aW9uQ29udGV4dFN0YXRlPHVua25vd24sIE8+KTogTG9hZGluZ1N0YXRlPE8+IHtcbiAgbGV0IGxvYWRpbmdTdGF0ZTogTG9hZGluZ1N0YXRlPE8+O1xuXG4gIHN3aXRjaCAoc3RhdGUuYWN0aW9uU3RhdGUpIHtcbiAgICBjYXNlIERieEFjdGlvblN0YXRlLlJFU09MVkVEOlxuICAgICAgbG9hZGluZ1N0YXRlID0gc3VjY2Vzc1Jlc3VsdChzdGF0ZS5yZXN1bHQpO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSBEYnhBY3Rpb25TdGF0ZS5SRUpFQ1RFRDpcbiAgICAgIGxvYWRpbmdTdGF0ZSA9IGVycm9yUmVzdWx0KHN0YXRlLmVycm9yKTtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgRGJ4QWN0aW9uU3RhdGUuSURMRTpcbiAgICBjYXNlIERieEFjdGlvblN0YXRlLkRJU0FCTEVEOlxuICAgICAgbG9hZGluZ1N0YXRlID0gaWRsZUxvYWRpbmdTdGF0ZSgpO1xuICAgICAgYnJlYWs7XG4gICAgZGVmYXVsdDpcbiAgICAgIGxvYWRpbmdTdGF0ZSA9IGJlZ2luTG9hZGluZyhzdGF0ZS53b3JrUHJvZ3Jlc3MgIT0gbnVsbCA/IHsgbG9hZGluZ1Byb2dyZXNzOiBzdGF0ZS53b3JrUHJvZ3Jlc3MgfSA6IHVuZGVmaW5lZCk7XG4gICAgICBicmVhaztcbiAgfVxuXG4gIHJldHVybiBsb2FkaW5nU3RhdGU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBsb2FkaW5nU3RhdGVUeXBlRm9yQWN0aW9uQ29udGV4dFN0YXRlKHN0YXRlOiBBY3Rpb25Db250ZXh0U3RhdGUpOiBMb2FkaW5nU3RhdGVUeXBlIHtcbiAgcmV0dXJuIGxvYWRpbmdTdGF0ZVR5cGVGb3JBY3Rpb25TdGF0ZShzdGF0ZS5hY3Rpb25TdGF0ZSk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWN0aW9uQ29udGV4dFN0YXRlPFQgPSB1bmtub3duLCBPID0gdW5rbm93bj4ge1xuICByZWFkb25seSBhY3Rpb25TdGF0ZTogRGJ4QWN0aW9uU3RhdGU7XG4gIC8qKlxuICAgKiBXaGV0aGVyIG9yIG5vdCB0aGlzIGFjdGlvbiBpcyBmbGFnZ2VkIGFzIGhhdmluZyBiZWVuIG1vZGlmaWVkLlxuICAgKi9cbiAgcmVhZG9ubHkgaXNNb2RpZmllZDogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFRoZSB3b3JraW5nIHByb2dyZXNzIG9mIHRoZSBhY3Rpb24uXG4gICAqXG4gICAqIElzIHJlc2V0IHRvIG51bGwgd2hlbiB0cmlnZ2VyZWQvcmVhZHkgdmFsdWUgaXMgc2V0LlxuICAgKi9cbiAgcmVhZG9ubHkgd29ya1Byb2dyZXNzPzogTWF5YmU8RGJ4QWN0aW9uV29ya1Byb2dyZXNzPjtcbiAgLyoqXG4gICAqIFZhbHVlIHRoYXQgaXMgc2V0IGFmdGVyIGEgdHJpZ2dlcmVkIGFjdGlvbi4gTm90IHRvIGJlIGNvbmZ1c2VkIHdpdGggcmVzdWx0LlxuICAgKi9cbiAgcmVhZG9ubHkgdmFsdWU/OiBNYXliZTxUPjtcbiAgLyoqXG4gICAqIFJlc29sdmVkIHJlc3VsdCB2YWx1ZS5cbiAgICovXG4gIHJlYWRvbmx5IHJlc3VsdD86IE1heWJlPE8+O1xuICAvKipcbiAgICogUmVqZWN0ZWQgZXJyb3IsIGlmIGF2YWlsYWJsZS5cbiAgICovXG4gIHJlYWRvbmx5IGVycm9yPzogTWF5YmU8UmVhZGFibGVFcnJvcj47XG4gIC8qKlxuICAgKiBDdXJyZW50IGRpc2FibGVkIHN0YXRlLlxuICAgKi9cbiAgcmVhZG9ubHkgZGlzYWJsZWQ/OiBCb29sZWFuU3RyaW5nS2V5QXJyYXk7XG4gIC8qKlxuICAgKiBOdW1iZXIgb2YgY29uc2VjdXRpdmUgZXJyb3JzIHRoYXQgaGF2ZSBvY2N1cmVkLlxuICAgKi9cbiAgcmVhZG9ubHkgZXJyb3JDb3VudD86IG51bWJlcjtcbn1cblxuY29uc3QgSU5JVElBTF9TVEFURTogQWN0aW9uQ29udGV4dFN0YXRlID0ge1xuICBpc01vZGlmaWVkOiBmYWxzZSxcbiAgYWN0aW9uU3RhdGU6IERieEFjdGlvblN0YXRlLklETEVcbn07XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBY3Rpb25Db250ZXh0U3RvcmU8VCA9IHVua25vd24sIE8gPSB1bmtub3duPiBleHRlbmRzIENvbXBvbmVudFN0b3JlPEFjdGlvbkNvbnRleHRTdGF0ZTxULCBPPj4gaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICByZWFkb25seSBsb2NrU2V0ID0gY2xlYW5Mb2NrU2V0KHtcbiAgICBvbkxvY2tTZXREZXN0cm95OiAoKSA9PiBzdXBlci5uZ09uRGVzdHJveSgpLFxuICAgIGRlc3Ryb3lMb2Nrc2V0VGltaW5nOiB7XG4gICAgICBkZWxheVRpbWU6IDIwMDBcbiAgICB9XG4gIH0pO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKHsgLi4uSU5JVElBTF9TVEFURSB9IGFzIEFjdGlvbkNvbnRleHRTdGF0ZTxULCBPPik7XG4gICAgdGhpcy5sb2NrU2V0LmFkZExvY2soJ3dvcmtpbmcnLCB0aGlzLmlzV29ya2luZyQpO1xuICB9XG5cbiAgLy8gTUFSSzogQWNjZXNzb3JzXG4gIHJlYWRvbmx5IGFjdGlvblN0YXRlJCA9IHRoaXMuc3RhdGUkLnBpcGUoXG4gICAgbWFwKCh4KSA9PiAoaXNEaXNhYmxlZEFjdGlvbkNvbnRleHRTdGF0ZSh4KSA/IERieEFjdGlvblN0YXRlLkRJU0FCTEVEIDogeC5hY3Rpb25TdGF0ZSkpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGN1cnJlbnQgZGlzYWJsZWQgcmVhc29ucy9rZXlzLlxuICAgKi9cbiAgcmVhZG9ubHkgZGlzYWJsZWRLZXlzJCA9IHRoaXMuc3RhdGUkLnBpcGUoXG4gICAgbWFwKCh4KSA9PiBbLi4uKHguZGlzYWJsZWQgPz8gW10pXSksXG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuXG4gIC8qKlxuICAgKiBDdXJyZW50IHZhbHVlIG9mIHRoZSBzdGF0ZS5cbiAgICovXG4gIHJlYWRvbmx5IGN1cnJlbnRWYWx1ZSQ6IE9ic2VydmFibGU8TWF5YmU8VD4+ID0gdGhpcy5zdGF0ZSQucGlwZShtYXAoKHgpID0+IHgudmFsdWUpKTtcblxuICAvKipcbiAgICogTWFwcyB0aGUgY3VycmVudCBzdGF0ZSB0byB0cnVlIG9yIG5vdCB3aGVuIHRoZSBhY3Rpb24gc3RhdGUgY2hhbmdlcyB0by9mcm9tIGRpc2FibGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgaXNEaXNhYmxlZCQgPSB0aGlzLnN0YXRlJC5waXBlKG1hcChpc0Rpc2FibGVkQWN0aW9uQ29udGV4dFN0YXRlKSwgZGlzdGluY3RVbnRpbENoYW5nZWQoKSwgc2hhcmVSZXBsYXkoMSkpO1xuXG4gIC8qKlxuICAgKiBQaXBlcyB3aGVuIGlkbGUgYnV0IG1vZGlmaWVkLlxuICAgKi9cbiAgcmVhZG9ubHkgaXNNb2RpZmllZCQgPSB0aGlzLmFmdGVyRGlzdGluY3RCb29sZWFuKCh4KSA9PiB4LmlzTW9kaWZpZWQpO1xuXG4gIC8qKlxuICAgKiBQaXBlcyB0cnVlIHdoZW4gaWRsZS5cbiAgICovXG4gIHJlYWRvbmx5IGlkbGUkID0gdGhpcy5hY3Rpb25TdGF0ZSQucGlwZShcbiAgICBtYXAoKHgpID0+IHggPT09IERieEFjdGlvblN0YXRlLklETEUpLFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcblxuICAvKipcbiAgICogUGlwZXMgdHJ1ZSB3aGVuIHRyaWdnZXJlZC5cbiAgICovXG4gIHJlYWRvbmx5IHRyaWdnZXJlZCQgPSB0aGlzLmFmdGVyRGlzdGluY3RBY3Rpb25TdGF0ZShEYnhBY3Rpb25TdGF0ZS5UUklHR0VSRUQsICgpID0+IHRydWUpO1xuXG4gIC8qKlxuICAgKiBQaXBlcyB0aGUgcmVhZGllZCB2YWx1ZSBvbiBWYWx1ZVJlYWR5LlxuICAgKi9cbiAgcmVhZG9ubHkgdmFsdWVSZWFkeSQ6IE9ic2VydmFibGU8VD4gPSB0aGlzLmFmdGVyRGlzdGluY3RBY3Rpb25TdGF0ZShEYnhBY3Rpb25TdGF0ZS5WQUxVRV9SRUFEWSwgKHgpID0+IHgudmFsdWUgYXMgVCk7XG5cbiAgLyoqXG4gICAqIFBpcGVzIHRoZSB3b3JraW5nIHByb2dyZXNzIG9uIHRoZSB3b3JraW5nIHN0YXRlLlxuICAgKi9cbiAgcmVhZG9ubHkgd29ya1Byb2dyZXNzJCA9IHRoaXMuc3RhdGUkLnBpcGUoXG4gICAgbWFwKCh4KSA9PiB4LndvcmtQcm9ncmVzcyksXG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuXG4gIC8qKlxuICAgKiBQaXBlcyB0aGUgZXJyb3Igb24gdGhlIHJlamVjdGlvbiBzdGF0ZS5cbiAgICovXG4gIHJlYWRvbmx5IHJlamVjdGVkJCA9IHRoaXMuYWZ0ZXJEaXN0aW5jdEFjdGlvblN0YXRlKERieEFjdGlvblN0YXRlLlJFSkVDVEVELCAoeCkgPT4geC5lcnJvcik7XG5cbiAgLyoqXG4gICAqIFBpcGVzIHRoZSByZXN1bHQgd2hlbiB0aGUgQWN0aW9uU3RhdGUgYmVjb21lcyByZWplY3RlZC5cbiAgICovXG4gIHJlYWRvbmx5IHJlamVjdGVkUGFpciQgPSB0aGlzLmFmdGVyRGlzdGluY3RBY3Rpb25TdGF0ZShEYnhBY3Rpb25TdGF0ZS5SRVNPTFZFRCwgKHgpID0+ICh7IHZhbHVlOiB4LnZhbHVlLCBlcnJvcjogeC5lcnJvciB9KSBhcyBEYnhBY3Rpb25SZWplY3RlZFBhaXI8VD4pO1xuXG4gIC8qKlxuICAgKiBQaXBlcyB0aGUgcmVzdWx0IHdoZW4gdGhlIEFjdGlvblN0YXRlIGJlY29tZXMgd29ya2luZy5cbiAgICovXG4gIHJlYWRvbmx5IHdvcmtpbmckID0gdGhpcy5hZnRlckRpc3RpbmN0QWN0aW9uU3RhdGUoRGJ4QWN0aW9uU3RhdGUuV09SS0lORywgKCkgPT4gdHJ1ZSk7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgb3Igbm90IGl0IGlzIGN1cnJlbnRseSBpbiBhIHdvcmtpbmcgc3RhdGUuXG4gICAqL1xuICByZWFkb25seSBpc1dvcmtpbmckID0gdGhpcy5hZnRlckRpc3RpbmN0Qm9vbGVhbigoeCkgPT4gaXNXb3JraW5nQWN0aW9uU3RhdGUoeC5hY3Rpb25TdGF0ZSkpO1xuXG4gIC8qKlxuICAgKiBQaXBlcyB0aGUgY3VycmVudCB3b3JrIG9yIHdvcmsgcHJvZ3Jlc3MuXG4gICAqL1xuICByZWFkb25seSBpc1dvcmtpbmdPcldvcmtQcm9ncmVzcyQgPSB0aGlzLmlzV29ya2luZyQucGlwZShcbiAgICBzd2l0Y2hNYXAoKHgpID0+IHtcbiAgICAgIGxldCBvYnM6IE9ic2VydmFibGU8RGJ4QWN0aW9uV29ya09yV29ya1Byb2dyZXNzPjtcblxuICAgICAgaWYgKHgpIHtcbiAgICAgICAgb2JzID0gdGhpcy53b3JrUHJvZ3Jlc3MkLnBpcGUoXG4gICAgICAgICAgZmlsdGVyKCh4KSA9PiB4ICE9IG51bGwpLFxuICAgICAgICAgIHN0YXJ0V2l0aCh4KVxuICAgICAgICApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgb2JzID0gb2YoeCk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBvYnM7XG4gICAgfSksXG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuXG4gIC8qKlxuICAgKiBQaXBlcyB0aGUgY3VycmVudCBlcnJvci5cbiAgICovXG4gIHJlYWRvbmx5IGVycm9yJCA9IHRoaXMuc3RhdGUkLnBpcGUoXG4gICAgbWFwKCh4KSA9PiB4LmVycm9yKSxcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgLyoqXG4gICAqIFBpcGVzIHRoZSByZXN1bHQgd2hlbiB0aGUgQWN0aW9uU3RhdGUgYmVjb21lcyBzdWNjZXNzLlxuICAgKi9cbiAgcmVhZG9ubHkgc3VjY2VzcyQgPSB0aGlzLmFmdGVyRGlzdGluY3RBY3Rpb25TdGF0ZShEYnhBY3Rpb25TdGF0ZS5SRVNPTFZFRCwgKHgpID0+IHgucmVzdWx0KTtcblxuICAvKipcbiAgICogUGlwZXMgdGhlIHJlc3VsdCB3aGVuIHRoZSBBY3Rpb25TdGF0ZSBiZWNvbWVzIHN1Y2Nlc3MuXG4gICAqL1xuICByZWFkb25seSBzdWNjZXNzUGFpciQgPSB0aGlzLmFmdGVyRGlzdGluY3RBY3Rpb25TdGF0ZShEYnhBY3Rpb25TdGF0ZS5SRVNPTFZFRCwgKHgpID0+ICh7IHZhbHVlOiB4LnZhbHVlLCByZXN1bHQ6IHgucmVzdWx0IH0pIGFzIERieEFjdGlvblN1Y2Nlc3NQYWlyPFQsIE8+KTtcblxuICAvKipcbiAgICogV2hldGhlciBvciBub3QgaXQgaXMgY3VycmVudGx5IGluIGEgc3VjY2VzcyBzdGF0ZS5cbiAgICovXG4gIHJlYWRvbmx5IGlzU3VjY2VzcyQgPSB0aGlzLmFmdGVyRGlzdGluY3RCb29sZWFuKCh4KSA9PiB4LmFjdGlvblN0YXRlID09PSBEYnhBY3Rpb25TdGF0ZS5SRVNPTFZFRCk7XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYSBsb2FkaW5nIHN0YXRlIGJhc2VkIG9uIHRoZSBjdXJyZW50IHN0YXRlLlxuICAgKi9cbiAgcmVhZG9ubHkgbG9hZGluZ1N0YXRlJCA9IHRoaXMuYWZ0ZXJEaXN0aW5jdExvYWRpbmdTdGF0ZVR5cGVDaGFuZ2UoKS5waXBlKFxuICAgIHN3aXRjaE1hcCgoeCkgPT4ge1xuICAgICAgY29uc3QgYmFzZSA9IGxvYWRpbmdTdGF0ZUZvckFjdGlvbkNvbnRleHRTdGF0ZTxPPih4KTtcbiAgICAgIGxldCBvYnM6IE9ic2VydmFibGU8TG9hZGluZ1N0YXRlPE8+PjtcblxuICAgICAgaWYgKGJhc2UubG9hZGluZyA9PT0gdHJ1ZSkge1xuICAgICAgICBvYnMgPSB0aGlzLndvcmtQcm9ncmVzcyQucGlwZShcbiAgICAgICAgICBmaWx0ZXIoKHgpID0+IHggIT0gbnVsbCksXG4gICAgICAgICAgbWFwKChsb2FkaW5nUHJvZ3Jlc3MpID0+ICh7IC4uLmJhc2UsIGxvYWRpbmdQcm9ncmVzcyB9KSksXG4gICAgICAgICAgc3RhcnRXaXRoKGJhc2UpXG4gICAgICAgICk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBvYnMgPSBvZihiYXNlKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIG9icztcbiAgICB9KSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBjdXJyZW50IExvYWRpbmdTdGF0ZVR5cGUgYmFzZWQgb24gdGhlIGN1cnJlbnQgc3RhdGUuXG4gICAqL1xuICByZWFkb25seSBsb2FkaW5nU3RhdGVUeXBlJCA9IHRoaXMuc3RhdGUkLnBpcGUoXG4gICAgbWFwKCh4KSA9PiBsb2FkaW5nU3RhdGVUeXBlRm9yQWN0aW9uQ29udGV4dFN0YXRlKHgpKSxcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgLyoqXG4gICAqIE51bWJlciBvZiBlcnJvcnMgc2luY2UgbGFzdCBzdWNjZXNzLlxuICAgKi9cbiAgcmVhZG9ubHkgZXJyb3JDb3VudFNpbmNlTGFzdFN1Y2Nlc3MkID0gdGhpcy5pc1N1Y2Nlc3MkLnBpcGUoXG4gICAgc3RhcnRXaXRoKGZhbHNlKSxcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgIHN3aXRjaE1hcCgoKSA9PiB0aGlzLmVycm9yJC5waXBlKGZpbHRlck1heWJlKCksIHNjYW5Db3VudCgpLCBzdGFydFdpdGgoMCkpKSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIG9yIG5vdCB0aGUgc3RhdGUgY2FuIGJlIHRyaWdnZXJlZC5cbiAgICovXG4gIHJlYWRvbmx5IGNhblRyaWdnZXIkID0gdGhpcy5zdGF0ZSQucGlwZShtYXAoY2FuVHJpZ2dlckFjdGlvbiksIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksIHNoYXJlUmVwbGF5KDEpKTtcblxuICAvKipcbiAgICogUGlwZSB0aGF0IG1hcHMgd2hldGhlciBvciBub3QgdGhpcyBpcyBtb2RpZmllZCBhbmQgY2FuIGJlIHRyaWdnZXJlZC5cbiAgICpcbiAgICogVXBkYXRlcyBldmVyeSBzdGF0ZSB1cGRhdGUgaW5zdGVhZCBvZiB3aGVuIHRoZSB2YWx1ZSBjaGFuZ2VzLlxuICAgKi9cbiAgcmVhZG9ubHkgaXNNb2RpZmllZEFuZENhblRyaWdnZXJVcGRhdGVzJCA9IHRoaXMuc3RhdGUkLnBpcGUobWFwKCh4KSA9PiBhY3Rpb25Db250ZXh0SXNNb2RpZmllZEFuZENhblRyaWdnZXIoeCksIHNoYXJlUmVwbGF5KDEpKSk7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgb3Igbm90IGl0IGNhbiBiZSB0cmlnZ2VyZWQgYW5kIG1vZGlmaWVkLlxuICAgKi9cbiAgcmVhZG9ubHkgaXNNb2RpZmllZEFuZENhblRyaWdnZXIkID0gdGhpcy5pc01vZGlmaWVkQW5kQ2FuVHJpZ2dlclVwZGF0ZXMkLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSk7XG5cbiAgcmVhZG9ubHkgaGFzTm9FcnJvckFuZElzTW9kaWZpZWRBbmRDYW5UcmlnZ2VyJCA9IHRoaXMuc3RhdGUkLnBpcGUoXG4gICAgbWFwKCh4KSA9PiBhY3Rpb25Db250ZXh0SGFzTm9FcnJvckFuZElzTW9kaWZpZWRBbmRDYW5UcmlnZ2VyKHgpKSxcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgLy8gTUFSSzogU3RhdGUgQ2hhbmdlc1xuICAvKipcbiAgICogQWRkcyBhIGRpc2FibGVkIHJlYXNvbi5cbiAgICovXG4gIHJlYWRvbmx5IGRpc2FibGUgPSB0aGlzLnVwZGF0ZXIoKHN0YXRlLCBrZXk/OiB2b2lkIHwgRGJ4QWN0aW9uRGlzYWJsZWRLZXkpID0+ICh7XG4gICAgLi4uc3RhdGUsXG4gICAgZGlzYWJsZWQ6IEJvb2xlYW5TdHJpbmdLZXlBcnJheVV0aWxpdHkuaW5zZXJ0KHN0YXRlLmRpc2FibGVkLCAoa2V5IGFzIHN0cmluZykgPz8gREVGQVVMVF9BQ1RJT05fRElTQUJMRURfS0VZKVxuICB9KSk7XG5cbiAgLyoqXG4gICAqIFJlbW92ZXMgYSBkaXNhYmxlZCByZWFzb24uXG4gICAqL1xuICByZWFkb25seSBlbmFibGUgPSB0aGlzLnVwZGF0ZXIoKHN0YXRlLCBrZXk/OiB2b2lkIHwgRGJ4QWN0aW9uRGlzYWJsZWRLZXkpID0+ICh7XG4gICAgLi4uc3RhdGUsXG4gICAgZGlzYWJsZWQ6IEJvb2xlYW5TdHJpbmdLZXlBcnJheVV0aWxpdHkucmVtb3ZlKHN0YXRlLmRpc2FibGVkLCAoa2V5IGFzIHN0cmluZykgPz8gREVGQVVMVF9BQ1RJT05fRElTQUJMRURfS0VZKVxuICB9KSk7XG5cbiAgLyoqXG4gICAqIFRyaWdnZXJzIHRoZSBtb2RpZmllZCBzdGF0ZSwgaWYgbm90IGRpc2FibGVkLlxuICAgKlxuICAgKiBFcXVpdmFsZW50IHRvIGNhbGxpbmcgc2V0SXNNb2RpZmllZCgpIHdpdGggb3Bwb3NpdGUgaW5wdXQuXG4gICAqL1xuICByZWFkb25seSBzZXRJc1NhbWUgPSB0aGlzLnVwZGF0ZXI8dm9pZCwgdm9pZCB8IGJvb2xlYW4+KHVwZGF0ZUlzU2FtZU9uQWN0aW9uQ29udGV4dFN0YXRlKTtcblxuICAvKipcbiAgICogVHJpZ2dlcnMgdGhlIG1vZGlmaWVkIHN0YXRlLCBpZiBub3QgZGlzYWJsZWQuXG4gICAqL1xuICByZWFkb25seSBzZXRJc01vZGlmaWVkID0gdGhpcy51cGRhdGVyPHZvaWQsIHZvaWQgfCBib29sZWFuPih1cGRhdGVJc01vZGlmaWVkT25BY3Rpb25Db250ZXh0U3RhdGUpO1xuXG4gIC8qKlxuICAgKiBUcmlnZ2VycyB0aGUgYWN0aW9uIGlmIHRoZSBzdGF0ZSBpcyBjdXJyZW50bHkgbm90IGlkbGUuIFRoZSBjdXJyZW50IHN0YXRlIGlzIGNsZWFyZWQsIGJ1dCB0aGUgZXJyb3IgaXMgcmV0YWluZWQgKGFzIHdlIG1heSBuZWVkIHRoZSBlcnJvciBmcm9tIHRoZSBwcmV2aW91cyBhdHRlbXB0KS5cbiAgICpcbiAgICogV2lsbCBub3QgZmlyZSBpZiB0aGUgYWN0aW9uIGlzIGRpc2FibGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgdHJpZ2dlciA9IHRoaXMudXBkYXRlcigoc3RhdGUpID0+IChjYW5UcmlnZ2VyQWN0aW9uKHN0YXRlKSA/IHsgaXNNb2RpZmllZDogc3RhdGUuaXNNb2RpZmllZCwgYWN0aW9uU3RhdGU6IERieEFjdGlvblN0YXRlLlRSSUdHRVJFRCwgZXJyb3I6IHN0YXRlLmVycm9yLCB2YWx1ZTogdW5kZWZpbmVkIH0gOiBzdGF0ZSkpO1xuXG4gIC8qKlxuICAgKiBVcGRhdGVzIHRoZSB2YWx1ZSwgc2V0dGluZyB2YWx1ZSByZWFkeS4gVGhlIGN1cnJlbnQgcmVzdWx0IGlzIGNsZWFyZWQuXG4gICAqL1xuICByZWFkb25seSByZWFkeVZhbHVlID0gdGhpcy51cGRhdGVyKChzdGF0ZSwgdmFsdWU6IFQpID0+IChjYW5SZWFkeVZhbHVlKHN0YXRlKSA/IHsgLi4uc3RhdGUsIGFjdGlvblN0YXRlOiBEYnhBY3Rpb25TdGF0ZS5WQUxVRV9SRUFEWSwgdmFsdWUsIHJlc3VsdDogdW5kZWZpbmVkIH0gOiBzdGF0ZSkpO1xuXG4gIC8qKlxuICAgKiBOb3RpZnlzIHRoZSBjb250ZXh0IHRoYXQgdGhlIGFjdGlvbiBpcyBpbiBwcm9ncmVzcy5cbiAgICovXG4gIHJlYWRvbmx5IHN0YXJ0V29ya2luZyA9IHRoaXMudXBkYXRlcigoc3RhdGUpID0+ICh7IC4uLnN0YXRlLCBhY3Rpb25TdGF0ZTogRGJ4QWN0aW9uU3RhdGUuV09SS0lORywgd29ya1Byb2dyZXNzOiBudWxsIH0pKTtcblxuICAvKipcbiAgICogVXBkYXRlcyB0aGUgd29ya2luZyBwcm9ncmVzcy5cbiAgICovXG4gIHJlYWRvbmx5IHNldFdvcmtQcm9ncmVzcyA9IHRoaXMudXBkYXRlcigoc3RhdGUsIHdvcmtQcm9ncmVzczogTWF5YmU8RGJ4QWN0aW9uV29ya1Byb2dyZXNzPikgPT4gKHsgLi4uc3RhdGUsIHdvcmtQcm9ncmVzcyB9KSk7XG5cbiAgLyoqXG4gICAqIFRyaWdnZXJzIHJlamVjdGlvbiBvZiB0aGUgYWN0aW9uLiBUaGUgdmFsdWUgaXMgY2xlYXJlZC5cbiAgICovXG4gIHJlYWRvbmx5IHJlamVjdCA9IHRoaXMudXBkYXRlcigoc3RhdGUsIGVycm9yPzogTWF5YmU8UmVhZGFibGVFcnJvcj4pID0+ICh7XG4gICAgaXNNb2RpZmllZDogc3RhdGUuaXNNb2RpZmllZCxcbiAgICBhY3Rpb25TdGF0ZTogRGJ4QWN0aW9uU3RhdGUuUkVKRUNURUQsXG4gICAgZXJyb3IsXG4gICAgZXJyb3JDb3VudDogKHN0YXRlLmVycm9yQ291bnQgPz8gMCkgKyAxLFxuICAgIGRpc2FibGVkOiBzdGF0ZS5kaXNhYmxlZFxuICB9KSk7XG5cbiAgLyoqXG4gICAqIFVwZGF0ZXMgdGhlIHN0YXRlIHRvIHN1Y2Nlc3MsIGFuZCBvcHRpb25hbGx5IHNldHMgYSByZXN1bHQuXG4gICAqXG4gICAqIENsZWFycyBtb2RpZmllZCBzdGF0ZSwgYW5kIGFueSBlcnJvcnMuXG4gICAqL1xuICByZWFkb25seSByZXNvbHZlID0gdGhpcy51cGRhdGVyKChzdGF0ZSwgcmVzdWx0PzogTWF5YmU8Tz4pID0+ICh7IGlzTW9kaWZpZWQ6IGZhbHNlLCBhY3Rpb25TdGF0ZTogRGJ4QWN0aW9uU3RhdGUuUkVTT0xWRUQsIHZhbHVlOiBzdGF0ZS52YWx1ZSwgcmVzdWx0LCBlcnJvcjogdW5kZWZpbmVkLCBkaXNhYmxlZDogc3RhdGUuZGlzYWJsZWQgfSkpO1xuXG4gIC8qKlxuICAgKiBDb21wbGV0ZWx5IHJlc2V0cyB0aGUgc3RvcmUuXG4gICAqL1xuICByZWFkb25seSByZXNldCA9IHRoaXMudXBkYXRlcigoKSA9PiAoeyAuLi5JTklUSUFMX1NUQVRFIH0pIGFzIEFjdGlvbkNvbnRleHRTdGF0ZTxULCBPPik7XG5cbiAgLy8gTUFSSzogVXRpbGl0eVxuICBhZnRlckRpc3RpbmN0Qm9vbGVhbihmcm9tU3RhdGU6IChzdGF0ZTogQWN0aW9uQ29udGV4dFN0YXRlPFQsIE8+KSA9PiBib29sZWFuKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuc3RhdGUkLnBpcGUoXG4gICAgICBtYXAoKHgpID0+IGZyb21TdGF0ZSh4KSksXG4gICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgc2hhcmVSZXBsYXkoMSlcbiAgICApO1xuICB9XG5cbiAgYWZ0ZXJEaXN0aW5jdEFjdGlvblN0YXRlPFg+KGFjdGlvblN0YXRlOiBEYnhBY3Rpb25TdGF0ZSwgZnJvbVN0YXRlOiAoc3RhdGU6IEFjdGlvbkNvbnRleHRTdGF0ZTxULCBPPikgPT4gWCk6IE9ic2VydmFibGU8WD4ge1xuICAgIHJldHVybiB0aGlzLmFmdGVyRGlzdGluY3RBY3Rpb25TdGF0ZUNoYW5nZSgpLnBpcGUoXG4gICAgICBmaWx0ZXIoKHgpID0+IHguYWN0aW9uU3RhdGUgPT09IGFjdGlvblN0YXRlKSwgLy8gT25seSBwaXBlIHdoZW4gdGhlIG5ldyBhY3Rpb24gc3RhdGUgbWF0Y2hlcy5cbiAgICAgIG1hcCgoeCkgPT4gZnJvbVN0YXRlKHgpKSxcbiAgICAgIHNoYXJlUmVwbGF5KDEpXG4gICAgKTtcbiAgfVxuXG4gIGFmdGVyRGlzdGluY3RBY3Rpb25TdGF0ZUNoYW5nZSgpOiBPYnNlcnZhYmxlPEFjdGlvbkNvbnRleHRTdGF0ZTxULCBPPj4ge1xuICAgIHJldHVybiB0aGlzLnN0YXRlJC5waXBlKFxuICAgICAgbWFwKCh4KSA9PiBbeCwgeC5hY3Rpb25TdGF0ZV0gYXMgW0FjdGlvbkNvbnRleHRTdGF0ZSwgRGJ4QWN0aW9uU3RhdGVdKSxcbiAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKChhLCBiKSA9PiBhPy5bMV0gPT09IGI/LlsxXSksIC8vIEZpbHRlciBvdXQgd2hlbiB0aGUgc3RhdGUgcmVtYWlucyB0aGUgc2FtZS5cbiAgICAgIG1hcCgoeCkgPT4geFswXSBhcyBBY3Rpb25Db250ZXh0U3RhdGU8VCwgTz4pLFxuICAgICAgc2hhcmVSZXBsYXkoMSlcbiAgICApO1xuICB9XG5cbiAgYWZ0ZXJEaXN0aW5jdExvYWRpbmdTdGF0ZVR5cGVDaGFuZ2UoKTogT2JzZXJ2YWJsZTxBY3Rpb25Db250ZXh0U3RhdGU8VCwgTz4+IHtcbiAgICByZXR1cm4gdGhpcy5zdGF0ZSQucGlwZShcbiAgICAgIG1hcCgoeCkgPT4gW3gsIGxvYWRpbmdTdGF0ZVR5cGVGb3JBY3Rpb25Db250ZXh0U3RhdGUoeCldIGFzIFtBY3Rpb25Db250ZXh0U3RhdGUsIExvYWRpbmdTdGF0ZVR5cGVdKSxcbiAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKChhLCBiKSA9PiBhPy5bMV0gPT09IGI/LlsxXSksIC8vIEZpbHRlciBvdXQgd2hlbiB0aGUgbG9hZGluZyBzdGF0ZSByZW1haW5zIHRoZSBzYW1lLlxuICAgICAgbWFwKCh4KSA9PiB4WzBdIGFzIEFjdGlvbkNvbnRleHRTdGF0ZTxULCBPPiksXG4gICAgICBzaGFyZVJlcGxheSgxKVxuICAgICk7XG4gIH1cblxuICAvLyBNQVJLOiBDbGVhbnVwXG4gIG92ZXJyaWRlIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIC8vIGRvIG5vdCBjYWxsIHN1cGVyLmRlc3Ryb3kgaGVyZSwgdG8ga2VlcCB0aGUgY29tcG9uZW50IHN0b3JlIGZyb20gZGVzdHJveWluZyBpdHNlbGYuXG4gICAgLy8gdGhlIGxvY2tzZXQgaXMgY29uZmlndXJlZCB0byBjbGVhbnVwIHRoZSBjb21wb25lbnQgc3RvcmUuXG4gIH1cbn1cblxuZnVuY3Rpb24gdXBkYXRlSXNTYW1lT25BY3Rpb25Db250ZXh0U3RhdGU8VCwgTz4oc3RhdGU6IEFjdGlvbkNvbnRleHRTdGF0ZTxULCBPPiwgaXNTYW1lPzogdm9pZCB8IGJvb2xlYW4pOiBBY3Rpb25Db250ZXh0U3RhdGU8VCwgTz4ge1xuICByZXR1cm4gdXBkYXRlSXNNb2RpZmllZE9uQWN0aW9uQ29udGV4dFN0YXRlKHN0YXRlLCBpc1NhbWUgPT0gbnVsbCA/IGZhbHNlIDogIWlzU2FtZSk7XG59XG5cbmZ1bmN0aW9uIHVwZGF0ZUlzTW9kaWZpZWRPbkFjdGlvbkNvbnRleHRTdGF0ZTxULCBPPihzdGF0ZTogQWN0aW9uQ29udGV4dFN0YXRlPFQsIE8+LCBpc01vZGlmaWVkPzogdm9pZCB8IGJvb2xlYW4pOiBBY3Rpb25Db250ZXh0U3RhdGU8VCwgTz4ge1xuICByZXR1cm4ge1xuICAgIC4uLnN0YXRlLFxuICAgIGFjdGlvblN0YXRlOiBzdGF0ZS5hY3Rpb25TdGF0ZSA9PT0gRGJ4QWN0aW9uU3RhdGUuUkVTT0xWRUQgPyBEYnhBY3Rpb25TdGF0ZS5JRExFIDogc3RhdGUuYWN0aW9uU3RhdGUsIC8vIFNldCB0byBpZGxlIGZyb20gc3VjY2Vzcy5cbiAgICBpc01vZGlmaWVkOiAoaXNNb2RpZmllZCBhcyBib29sZWFuKSA/PyB0cnVlIC8vIGlmIGlzTW9kaWZpZWQgaXMgbm90IGlucHV0LCBkZWZhdWx0IGl0IHRvIHRydWVcbiAgfTtcbn1cbiJdfQ==
|
|
@@ -1,12 +1,7 @@
|
|
|
1
1
|
import { forwardRef } from '@angular/core';
|
|
2
2
|
import { ActionContextStoreSource, DbxActionContextStoreSourceInstance, SecondaryActionContextStoreSource } from './action.store.source';
|
|
3
3
|
import { DbxActionContextMachineAsService } from './action.machine';
|
|
4
|
-
|
|
5
|
-
return new DbxActionContextStoreSourceInstance(source);
|
|
6
|
-
};
|
|
7
|
-
export const actionContextStoreSourceMachineFactory = () => {
|
|
8
|
-
return new DbxActionContextMachineAsService();
|
|
9
|
-
};
|
|
4
|
+
import { clean } from '../rxjs/clean';
|
|
10
5
|
/**
|
|
11
6
|
* Provides an ActionContextStoreSource, as well as an DbxActionContextStoreSourceInstance.
|
|
12
7
|
*/
|
|
@@ -18,13 +13,13 @@ export function provideActionStoreSource(sourceType) {
|
|
|
18
13
|
}
|
|
19
14
|
: {
|
|
20
15
|
provide: ActionContextStoreSource,
|
|
21
|
-
useFactory:
|
|
16
|
+
useFactory: () => new DbxActionContextMachineAsService()
|
|
22
17
|
};
|
|
23
18
|
return [
|
|
24
19
|
storeSourceProvider,
|
|
25
20
|
{
|
|
26
21
|
provide: DbxActionContextStoreSourceInstance,
|
|
27
|
-
useFactory:
|
|
22
|
+
useFactory: (source) => clean(new DbxActionContextStoreSourceInstance(source)),
|
|
28
23
|
deps: [ActionContextStoreSource]
|
|
29
24
|
}
|
|
30
25
|
];
|
|
@@ -38,4 +33,4 @@ export function provideSecondaryActionStoreSource(sourceType) {
|
|
|
38
33
|
...provideActionStoreSource(sourceType)
|
|
39
34
|
];
|
|
40
35
|
}
|
|
41
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLnN0b3JlLnNvdXJjZS5wcm92aWRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWNvcmUvc3JjL2xpYi9hY3Rpb24vYWN0aW9uLnN0b3JlLnNvdXJjZS5wcm92aWRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQTRCLE1BQU0sZUFBZSxDQUFDO0FBQ3JFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxtQ0FBbUMsRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3pJLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdEM7O0dBRUc7QUFDSCxNQUFNLFVBQVUsd0JBQXdCLENBQXFDLFVBQTBCO0lBQ3JHLE1BQU0sbUJBQW1CLEdBQ3ZCLFVBQVUsSUFBSSxJQUFJO1FBQ2hCLENBQUMsQ0FBQztZQUNFLE9BQU8sRUFBRSx3QkFBd0I7WUFDakMsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxVQUFVLENBQUM7U0FDMUM7UUFDSCxDQUFDLENBQUM7WUFDRSxPQUFPLEVBQUUsd0JBQXdCO1lBQ2pDLFVBQVUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLGdDQUFnQyxFQUFFO1NBQ3pELENBQUM7SUFFUixPQUFPO1FBQ0wsbUJBQW1CO1FBQ25CO1lBQ0UsT0FBTyxFQUFFLG1DQUFtQztZQUM1QyxVQUFVLEVBQUUsQ0FBQyxNQUFnQyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxtQ0FBbUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN4RyxJQUFJLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQztTQUNqQztLQUNGLENBQUM7QUFDSixDQUFDO0FBRUQsTUFBTSxVQUFVLGlDQUFpQyxDQUE4QyxVQUFtQjtJQUNoSCxPQUFPO1FBQ0w7WUFDRSxPQUFPLEVBQUUsaUNBQWlDO1lBQzFDLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsVUFBVSxDQUFDO1NBQzFDO1FBQ0QsR0FBRyx3QkFBd0IsQ0FBQyxVQUFVLENBQUM7S0FDeEMsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBmb3J3YXJkUmVmLCB0eXBlIFByb3ZpZGVyLCB0eXBlIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGlvbkNvbnRleHRTdG9yZVNvdXJjZSwgRGJ4QWN0aW9uQ29udGV4dFN0b3JlU291cmNlSW5zdGFuY2UsIFNlY29uZGFyeUFjdGlvbkNvbnRleHRTdG9yZVNvdXJjZSB9IGZyb20gJy4vYWN0aW9uLnN0b3JlLnNvdXJjZSc7XG5pbXBvcnQgeyBEYnhBY3Rpb25Db250ZXh0TWFjaGluZUFzU2VydmljZSB9IGZyb20gJy4vYWN0aW9uLm1hY2hpbmUnO1xuaW1wb3J0IHsgY2xlYW4gfSBmcm9tICcuLi9yeGpzL2NsZWFuJztcblxuLyoqXG4gKiBQcm92aWRlcyBhbiBBY3Rpb25Db250ZXh0U3RvcmVTb3VyY2UsIGFzIHdlbGwgYXMgYW4gRGJ4QWN0aW9uQ29udGV4dFN0b3JlU291cmNlSW5zdGFuY2UuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlQWN0aW9uU3RvcmVTb3VyY2U8UyBleHRlbmRzIEFjdGlvbkNvbnRleHRTdG9yZVNvdXJjZT4oc291cmNlVHlwZTogVHlwZTxTPiB8IG51bGwpOiBQcm92aWRlcltdIHtcbiAgY29uc3Qgc3RvcmVTb3VyY2VQcm92aWRlcjogUHJvdmlkZXIgPVxuICAgIHNvdXJjZVR5cGUgIT0gbnVsbFxuICAgICAgPyB7XG4gICAgICAgICAgcHJvdmlkZTogQWN0aW9uQ29udGV4dFN0b3JlU291cmNlLFxuICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IHNvdXJjZVR5cGUpXG4gICAgICAgIH1cbiAgICAgIDoge1xuICAgICAgICAgIHByb3ZpZGU6IEFjdGlvbkNvbnRleHRTdG9yZVNvdXJjZSxcbiAgICAgICAgICB1c2VGYWN0b3J5OiAoKSA9PiBuZXcgRGJ4QWN0aW9uQ29udGV4dE1hY2hpbmVBc1NlcnZpY2UoKVxuICAgICAgICB9O1xuXG4gIHJldHVybiBbXG4gICAgc3RvcmVTb3VyY2VQcm92aWRlcixcbiAgICB7XG4gICAgICBwcm92aWRlOiBEYnhBY3Rpb25Db250ZXh0U3RvcmVTb3VyY2VJbnN0YW5jZSxcbiAgICAgIHVzZUZhY3Rvcnk6IChzb3VyY2U6IEFjdGlvbkNvbnRleHRTdG9yZVNvdXJjZSkgPT4gY2xlYW4obmV3IERieEFjdGlvbkNvbnRleHRTdG9yZVNvdXJjZUluc3RhbmNlKHNvdXJjZSkpLFxuICAgICAgZGVwczogW0FjdGlvbkNvbnRleHRTdG9yZVNvdXJjZV1cbiAgICB9XG4gIF07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlU2Vjb25kYXJ5QWN0aW9uU3RvcmVTb3VyY2U8UyBleHRlbmRzIFNlY29uZGFyeUFjdGlvbkNvbnRleHRTdG9yZVNvdXJjZT4oc291cmNlVHlwZTogVHlwZTxTPik6IFByb3ZpZGVyW10ge1xuICByZXR1cm4gW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IFNlY29uZGFyeUFjdGlvbkNvbnRleHRTdG9yZVNvdXJjZSxcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IHNvdXJjZVR5cGUpXG4gICAgfSxcbiAgICAuLi5wcm92aWRlQWN0aW9uU3RvcmVTb3VyY2Uoc291cmNlVHlwZSlcbiAgXTtcbn1cbiJdfQ==
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { Directive, inject, input } from '@angular/core';
|
|
2
|
-
import {
|
|
2
|
+
import { cleanSubscription } from '../../../rxjs';
|
|
3
3
|
import { distinctUntilChanged, filter, switchMap, EMPTY } from 'rxjs';
|
|
4
4
|
import { DbxActionContextStoreSourceInstance } from '../../action.store.source';
|
|
5
5
|
import { isNotFalse } from '@dereekb/util';
|
|
6
6
|
import { toObservable } from '@angular/core/rxjs-interop';
|
|
7
7
|
import * as i0 from "@angular/core";
|
|
8
|
-
export class DbxActionAutoModifyDirective
|
|
8
|
+
export class DbxActionAutoModifyDirective {
|
|
9
9
|
source = inject((DbxActionContextStoreSourceInstance), { host: true });
|
|
10
10
|
autoModifyEnabled = input(true, { alias: 'dbxActionAutoModify', transform: isNotFalse });
|
|
11
11
|
markAsModified$ = toObservable(this.autoModifyEnabled).pipe(distinctUntilChanged(), switchMap((x) => {
|
|
@@ -18,13 +18,13 @@ export class DbxActionAutoModifyDirective extends AbstractSubscriptionDirective
|
|
|
18
18
|
}
|
|
19
19
|
return obs;
|
|
20
20
|
}));
|
|
21
|
-
|
|
22
|
-
this.
|
|
21
|
+
constructor() {
|
|
22
|
+
cleanSubscription(this.markAsModified$.subscribe(() => {
|
|
23
23
|
this.source.setIsModified(true);
|
|
24
|
-
});
|
|
24
|
+
}));
|
|
25
25
|
}
|
|
26
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxActionAutoModifyDirective, deps:
|
|
27
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.13", type: DbxActionAutoModifyDirective, isStandalone: true, selector: "dbxActionAutoModify, [dbxActionAutoModify]", inputs: { autoModifyEnabled: { classPropertyName: "autoModifyEnabled", publicName: "dbxActionAutoModify", isSignal: true, isRequired: false, transformFunction: null } },
|
|
26
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxActionAutoModifyDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
27
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.13", type: DbxActionAutoModifyDirective, isStandalone: true, selector: "dbxActionAutoModify, [dbxActionAutoModify]", inputs: { autoModifyEnabled: { classPropertyName: "autoModifyEnabled", publicName: "dbxActionAutoModify", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 });
|
|
28
28
|
}
|
|
29
29
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxActionAutoModifyDirective, decorators: [{
|
|
30
30
|
type: Directive,
|
|
@@ -32,5 +32,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
32
32
|
selector: 'dbxActionAutoModify, [dbxActionAutoModify]',
|
|
33
33
|
standalone: true
|
|
34
34
|
}]
|
|
35
|
-
}] });
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
35
|
+
}], ctorParameters: () => [] });
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLmF1dG9tb2RpZnkuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWNvcmUvc3JjL2xpYi9hY3Rpb24vZGlyZWN0aXZlL2F1dG8vYWN0aW9uLmF1dG9tb2RpZnkuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQWMsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxtQ0FBbUMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2hGLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDRCQUE0QixDQUFDOztBQU0xRCxNQUFNLE9BQU8sNEJBQTRCO0lBQzlCLE1BQU0sR0FBRyxNQUFNLENBQUMsQ0FBQSxtQ0FBeUMsQ0FBQSxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDM0UsaUJBQWlCLEdBQUcsS0FBSyxDQUE0QixJQUFJLEVBQUUsRUFBRSxLQUFLLEVBQUUscUJBQXFCLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUM7SUFDcEgsZUFBZSxHQUFxQixZQUFZLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUMsSUFBSSxDQUNwRixvQkFBb0IsRUFBRSxFQUN0QixTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtRQUNkLElBQUksR0FBb0IsQ0FBQztRQUV6QixJQUFJLENBQUMsRUFBRSxDQUFDO1lBQ04sR0FBRyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN4RCxDQUFDO2FBQU0sQ0FBQztZQUNOLEdBQUcsR0FBRyxLQUFLLENBQUM7UUFDZCxDQUFDO1FBRUQsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBRUY7UUFDRSxpQkFBaUIsQ0FDZixJQUFJLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDbEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbEMsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7d0dBeEJVLDRCQUE0Qjs0RkFBNUIsNEJBQTRCOzs0RkFBNUIsNEJBQTRCO2tCQUp4QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSw0Q0FBNEM7b0JBQ3RELFVBQVUsRUFBRSxJQUFJO2lCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgaW5qZWN0LCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgY2xlYW5TdWJzY3JpcHRpb24gfSBmcm9tICcuLi8uLi8uLi9yeGpzJztcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBmaWx0ZXIsIHN3aXRjaE1hcCwgT2JzZXJ2YWJsZSwgRU1QVFkgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IERieEFjdGlvbkNvbnRleHRTdG9yZVNvdXJjZUluc3RhbmNlIH0gZnJvbSAnLi4vLi4vYWN0aW9uLnN0b3JlLnNvdXJjZSc7XG5pbXBvcnQgeyBpc05vdEZhbHNlIH0gZnJvbSAnQGRlcmVla2IvdXRpbCc7XG5pbXBvcnQgeyB0b09ic2VydmFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ2RieEFjdGlvbkF1dG9Nb2RpZnksIFtkYnhBY3Rpb25BdXRvTW9kaWZ5XScsXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgRGJ4QWN0aW9uQXV0b01vZGlmeURpcmVjdGl2ZTxULCBPPiB7XG4gIHJlYWRvbmx5IHNvdXJjZSA9IGluamVjdChEYnhBY3Rpb25Db250ZXh0U3RvcmVTb3VyY2VJbnN0YW5jZTxULCBPPiwgeyBob3N0OiB0cnVlIH0pO1xuICByZWFkb25seSBhdXRvTW9kaWZ5RW5hYmxlZCA9IGlucHV0PGJvb2xlYW4sIHN0cmluZyB8IGJvb2xlYW4+KHRydWUsIHsgYWxpYXM6ICdkYnhBY3Rpb25BdXRvTW9kaWZ5JywgdHJhbnNmb3JtOiBpc05vdEZhbHNlIH0pO1xuICByZWFkb25seSBtYXJrQXNNb2RpZmllZCQ6IE9ic2VydmFibGU8dm9pZD4gPSB0b09ic2VydmFibGUodGhpcy5hdXRvTW9kaWZ5RW5hYmxlZCkucGlwZShcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgIHN3aXRjaE1hcCgoeCkgPT4ge1xuICAgICAgbGV0IG9iczogT2JzZXJ2YWJsZTxhbnk+O1xuXG4gICAgICBpZiAoeCkge1xuICAgICAgICBvYnMgPSB0aGlzLnNvdXJjZS5pc01vZGlmaWVkJC5waXBlKGZpbHRlcigoeCkgPT4gIXgpKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG9icyA9IEVNUFRZO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gb2JzO1xuICAgIH0pXG4gICk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgY2xlYW5TdWJzY3JpcHRpb24oXG4gICAgICB0aGlzLm1hcmtBc01vZGlmaWVkJC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLnNvdXJjZS5zZXRJc01vZGlmaWVkKHRydWUpO1xuICAgICAgfSlcbiAgICApO1xuICB9XG59XG4iXX0=
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { inject, Directive, input, computed, signal } from '@angular/core';
|
|
2
|
-
import {
|
|
2
|
+
import { cleanSubscriptionWithLockSet } from '../../../rxjs';
|
|
3
3
|
import { debounce, distinctUntilChanged, exhaustMap, filter, first, map, mergeMap, shareReplay, switchMap, throttle, EMPTY, interval, combineLatest } from 'rxjs';
|
|
4
4
|
import { DbxActionContextStoreSourceInstance } from '../../action.store.source';
|
|
5
5
|
import { isDefinedAndNotFalse, isNotFalse } from '@dereekb/util';
|
|
@@ -16,7 +16,7 @@ const DBX_ACTION_AUTO_TRIGGER_INSTANT_TRIGGER_DEBOUNCE = 10;
|
|
|
16
16
|
*
|
|
17
17
|
* When using auto triggers be sure to make sure that the action is not triggering too often due to misconfiguration.
|
|
18
18
|
*/
|
|
19
|
-
export class DbxActionAutoTriggerDirective
|
|
19
|
+
export class DbxActionAutoTriggerDirective {
|
|
20
20
|
source = inject((DbxActionContextStoreSourceInstance), { host: true });
|
|
21
21
|
triggerDebounce = input(undefined);
|
|
22
22
|
triggerThrottle = input(undefined);
|
|
@@ -90,18 +90,16 @@ export class DbxActionAutoTriggerDirective extends AbstractSubscriptionDirective
|
|
|
90
90
|
isTriggerAllowedToRun$ = this._isTriggerLimited$.pipe(map((x) => x[1]), shareReplay(1));
|
|
91
91
|
automaticTrigger$ = this._isTriggerLimited$.pipe(filter((x) => x[1]), distinctUntilChanged((a, b) => a[0] === b[0]), // Only trigger when the count changes.
|
|
92
92
|
map(() => undefined));
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
this.source.
|
|
93
|
+
constructor() {
|
|
94
|
+
cleanSubscriptionWithLockSet({
|
|
95
|
+
lockSet: this.source.lockSet,
|
|
96
|
+
sub: this.automaticTrigger$.subscribe(() => {
|
|
97
|
+
this.source.trigger();
|
|
98
|
+
})
|
|
96
99
|
});
|
|
97
100
|
}
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
super.ngOnDestroy();
|
|
101
|
-
});
|
|
102
|
-
}
|
|
103
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxActionAutoTriggerDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
104
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.13", type: DbxActionAutoTriggerDirective, isStandalone: true, selector: "dbxActionAutoTrigger,[dbxActionAutoTrigger]", inputs: { triggerDebounce: { classPropertyName: "triggerDebounce", publicName: "triggerDebounce", isSignal: true, isRequired: false, transformFunction: null }, triggerThrottle: { classPropertyName: "triggerThrottle", publicName: "triggerThrottle", isSignal: true, isRequired: false, transformFunction: null }, triggerErrorThrottle: { classPropertyName: "triggerErrorThrottle", publicName: "triggerErrorThrottle", isSignal: true, isRequired: false, transformFunction: null }, maxErrorsForThrottle: { classPropertyName: "maxErrorsForThrottle", publicName: "maxErrorsForThrottle", isSignal: true, isRequired: false, transformFunction: null }, triggerLimit: { classPropertyName: "triggerLimit", publicName: "triggerLimit", isSignal: true, isRequired: false, transformFunction: null }, triggerEnabled: { classPropertyName: "triggerEnabled", publicName: "dbxActionAutoTrigger", isSignal: true, isRequired: false, transformFunction: null }, useFastTriggerPreset: { classPropertyName: "useFastTriggerPreset", publicName: "useFastTriggerPreset", isSignal: true, isRequired: false, transformFunction: null }, useInstantTriggerPreset: { classPropertyName: "useInstantTriggerPreset", publicName: "useInstantTriggerPreset", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0 });
|
|
101
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxActionAutoTriggerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
102
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.13", type: DbxActionAutoTriggerDirective, isStandalone: true, selector: "dbxActionAutoTrigger,[dbxActionAutoTrigger]", inputs: { triggerDebounce: { classPropertyName: "triggerDebounce", publicName: "triggerDebounce", isSignal: true, isRequired: false, transformFunction: null }, triggerThrottle: { classPropertyName: "triggerThrottle", publicName: "triggerThrottle", isSignal: true, isRequired: false, transformFunction: null }, triggerErrorThrottle: { classPropertyName: "triggerErrorThrottle", publicName: "triggerErrorThrottle", isSignal: true, isRequired: false, transformFunction: null }, maxErrorsForThrottle: { classPropertyName: "maxErrorsForThrottle", publicName: "maxErrorsForThrottle", isSignal: true, isRequired: false, transformFunction: null }, triggerLimit: { classPropertyName: "triggerLimit", publicName: "triggerLimit", isSignal: true, isRequired: false, transformFunction: null }, triggerEnabled: { classPropertyName: "triggerEnabled", publicName: "dbxActionAutoTrigger", isSignal: true, isRequired: false, transformFunction: null }, useFastTriggerPreset: { classPropertyName: "useFastTriggerPreset", publicName: "useFastTriggerPreset", isSignal: true, isRequired: false, transformFunction: null }, useInstantTriggerPreset: { classPropertyName: "useInstantTriggerPreset", publicName: "useInstantTriggerPreset", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 });
|
|
105
103
|
}
|
|
106
104
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxActionAutoTriggerDirective, decorators: [{
|
|
107
105
|
type: Directive,
|
|
@@ -109,5 +107,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
109
107
|
selector: 'dbxActionAutoTrigger,[dbxActionAutoTrigger]',
|
|
110
108
|
standalone: true
|
|
111
109
|
}]
|
|
112
|
-
}] });
|
|
113
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLmF1dG90cmlnZ2VyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1jb3JlL3NyYy9saWIvYWN0aW9uL2RpcmVjdGl2ZS9hdXRvL2FjdGlvbi5hdXRvdHJpZ2dlci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQXFCLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3RHLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxRQUFRLEVBQUUsb0JBQW9CLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLGFBQWEsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUM5SyxPQUFPLEVBQUUsbUNBQW1DLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNoRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsVUFBVSxFQUFjLE1BQU0sZUFBZSxDQUFDO0FBQzdFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7QUFFMUQsTUFBTSxtQkFBbUIsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDO0FBRXJDLE1BQU0sbUJBQW1CLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQztBQUV0QyxNQUFNLHlCQUF5QixHQUFHLENBQUMsR0FBRyxJQUFJLENBQUM7QUFFM0MsTUFBTSx5QkFBeUIsR0FBRyxDQUFDLENBQUM7QUFFcEMsTUFBTSw2Q0FBNkMsR0FBRyxHQUFHLENBQUM7QUFDMUQsTUFBTSxnREFBZ0QsR0FBRyxFQUFFLENBQUM7QUFFNUQ7Ozs7R0FJRztBQUtILE1BQU0sT0FBTyw2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QUMsQ0FBQyxDQUFDLEVBQ25CLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLHVDQUF1QztJQUN0RixHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsU0FBaUIsQ0FBQyxDQUM3QixDQUFDO0lBRUYsUUFBUTtRQUNOLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDL0MsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUN4QixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFUSxXQUFXO1FBQ2xCLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxHQUFHLEVBQUU7WUFDcEMsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3RCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzt3R0E1SFUsNkJBQTZCOzRGQUE3Qiw2QkFBNkI7OzRGQUE3Qiw2QkFBNkI7a0JBSnpDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLDZDQUE2QztvQkFDdkQsVUFBVSxFQUFFLElBQUk7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBEaXJlY3RpdmUsIE9uSW5pdCwgT25EZXN0cm95LCBpbnB1dCwgY29tcHV0ZWQsIHNpZ25hbCwgU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdFN1YnNjcmlwdGlvbkRpcmVjdGl2ZSB9IGZyb20gJy4uLy4uLy4uL3N1YnNjcmlwdGlvbic7XG5pbXBvcnQgeyBkZWJvdW5jZSwgZGlzdGluY3RVbnRpbENoYW5nZWQsIGV4aGF1c3RNYXAsIGZpbHRlciwgZmlyc3QsIG1hcCwgbWVyZ2VNYXAsIHNoYXJlUmVwbGF5LCBzd2l0Y2hNYXAsIHRocm90dGxlLCBFTVBUWSwgaW50ZXJ2YWwsIGNvbWJpbmVMYXRlc3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IERieEFjdGlvbkNvbnRleHRTdG9yZVNvdXJjZUluc3RhbmNlIH0gZnJvbSAnLi4vLi4vYWN0aW9uLnN0b3JlLnNvdXJjZSc7XG5pbXBvcnQgeyBpc0RlZmluZWRBbmROb3RGYWxzZSwgaXNOb3RGYWxzZSwgdHlwZSBNYXliZSB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuaW1wb3J0IHsgdG9PYnNlcnZhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuXG5jb25zdCBERUZBVUxUX0RFQk9VTkNFX01TID0gMiAqIDEwMDA7XG5cbmNvbnN0IERFRkFVTFRfVEhST1RUTEVfTVMgPSAxMCAqIDEwMDA7XG5cbmNvbnN0IERFRkFVTFRfRVJST1JfVEhST1RUTEVfTVMgPSAzICogMTAwMDtcblxuY29uc3QgTUFYX0VSUk9SU19UT19USFJPVFRMRV9PTiA9IDY7XG5cbmNvbnN0IERCWF9BQ1RJT05fQVVUT19UUklHR0VSX0ZBU1RfVFJJR0dFUl9ERUJPVU5DRSA9IDIwMDtcbmNvbnN0IERCWF9BQ1RJT05fQVVUT19UUklHR0VSX0lOU1RBTlRfVFJJR0dFUl9ERUJPVU5DRSA9IDEwO1xuXG4vKipcbiAqIERpcmVjdGl2ZSB0aGF0IGF1dG9tYXRpY2FsbHkgdHJpZ2dlcnMgdGhlIGFjdGlvbiBwZXJpb2RpY2FsbHkgd2hlbiBpdCBpcyBpbiBhIG1vZGlmaWVkIHN0YXRlLlxuICpcbiAqIFdoZW4gdXNpbmcgYXV0byB0cmlnZ2VycyBiZSBzdXJlIHRvIG1ha2Ugc3VyZSB0aGF0IHRoZSBhY3Rpb24gaXMgbm90IHRyaWdnZXJpbmcgdG9vIG9mdGVuIGR1ZSB0byBtaXNjb25maWd1cmF0aW9uLlxuICovXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdkYnhBY3Rpb25BdXRvVHJpZ2dlcixbZGJ4QWN0aW9uQXV0b1RyaWdnZXJdJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBEYnhBY3Rpb25BdXRvVHJpZ2dlckRpcmVjdGl2ZTxUID0gdW5rbm93biwgTyA9IHVua25vd24+IGV4dGVuZHMgQWJzdHJhY3RTdWJzY3JpcHRpb25EaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIHJlYWRvbmx5IHNvdXJjZSA9IGluamVjdChEYnhBY3Rpb25Db250ZXh0U3RvcmVTb3VyY2VJbnN0YW5jZTxULCBPPiwgeyBob3N0OiB0cnVlIH0pO1xuXG4gIHJlYWRvbmx5IHRyaWdnZXJEZWJvdW5jZSA9IGlucHV0PE1heWJlPG51bWJlcj4+KHVuZGVmaW5lZCk7XG4gIHJlYWRvbmx5IHRyaWdnZXJUaHJvdHRsZSA9IGlucHV0PE1heWJlPG51bWJlcj4+KHVuZGVmaW5lZCk7XG4gIHJlYWRvbmx5IHRyaWdnZXJFcnJvclRocm90dGxlID0gaW5wdXQ8bnVtYmVyLCBNYXliZTxudW1iZXI+PihERUZBVUxUX0VSUk9SX1RIUk9UVExFX01TLCB7IHRyYW5zZm9ybTogKHgpID0+IHggPz8gREVGQVVMVF9FUlJPUl9USFJPVFRMRV9NUyB9KTtcbiAgcmVhZG9ubHkgbWF4RXJyb3JzRm9yVGhyb3R0bGUgPSBpbnB1dDxudW1iZXIsIE1heWJlPG51bWJlcj4+KE1BWF9FUlJPUlNfVE9fVEhST1RUTEVfT04sIHsgdHJhbnNmb3JtOiAoeCkgPT4geCA/PyBNQVhfRVJST1JTX1RPX1RIUk9UVExFX09OIH0pO1xuICByZWFkb25seSB0cmlnZ2VyTGltaXQgPSBpbnB1dDxNYXliZTxudW1iZXI+PigpO1xuICByZWFkb25seSB0cmlnZ2VyRW5hYmxlZCA9IGlucHV0PGJvb2xlYW4sIE1heWJlPHN0cmluZyB8IGJvb2xlYW4+Pih0cnVlLCB7IGFsaWFzOiAnZGJ4QWN0aW9uQXV0b1RyaWdnZXInLCB0cmFuc2Zvcm06IGlzTm90RmFsc2UgfSk7XG4gIHJlYWRvbmx5IHVzZUZhc3RUcmlnZ2VyUHJlc2V0ID0gaW5wdXQ8Ym9vbGVhbiwgTWF5YmU8JycgfCBib29sZWFuPj4oZmFsc2UsIHsgdHJhbnNmb3JtOiBpc0RlZmluZWRBbmROb3RGYWxzZSB9KTtcbiAgcmVhZG9ubHkgdXNlSW5zdGFudFRyaWdnZXJQcmVzZXQgPSBpbnB1dDxib29sZWFuLCBNYXliZTwnJyB8IGJvb2xlYW4+PihmYWxzZSwgeyB0cmFuc2Zvcm06IGlzRGVmaW5lZEFuZE5vdEZhbHNlIH0pO1xuXG4gIHJlYWRvbmx5IHRyaWdnZXJEZWJvdW5jZVNpZ25hbCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBsZXQgZGVib3VuY2UgPSB0aGlzLnRyaWdnZXJEZWJvdW5jZSgpO1xuXG4gICAgaWYgKGRlYm91bmNlID09IG51bGwpIHtcbiAgICAgIGNvbnN0IHVzZUZhc3RUcmlnZ2VyID0gdGhpcy51c2VGYXN0VHJpZ2dlclByZXNldCgpO1xuICAgICAgY29uc3QgdXNlSW5zdGFudFRyaWdnZXIgPSB0aGlzLnVzZUluc3RhbnRUcmlnZ2VyUHJlc2V0KCk7XG5cbiAgICAgIGlmICh1c2VGYXN0VHJpZ2dlcikge1xuICAgICAgICBkZWJvdW5jZSA9IERCWF9BQ1RJT05fQVVUT19UUklHR0VSX0ZBU1RfVFJJR0dFUl9ERUJPVU5DRTtcbiAgICAgIH0gZWxzZSBpZiAodXNlSW5zdGFudFRyaWdnZXIpIHtcbiAgICAgICAgZGVib3VuY2UgPSBEQlhfQUNUSU9OX0FVVE9fVFJJR0dFUl9JTlNUQU5UX1RSSUdHRVJfREVCT1VOQ0U7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGRlYm91bmNlID8/IERFRkFVTFRfREVCT1VOQ0VfTVM7XG4gIH0pO1xuXG4gIHJlYWRvbmx5IHRyaWdnZXJUaHJvdHRsZVNpZ25hbDogU2lnbmFsPG51bWJlcj4gPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgbGV0IHRocm90dGxlID0gdGhpcy50cmlnZ2VyVGhyb3R0bGUoKTtcblxuICAgIGlmICh0aHJvdHRsZSA9PSBudWxsKSB7XG4gICAgICBjb25zdCB1c2VGYXN0VHJpZ2dlciA9IHRoaXMudXNlRmFzdFRyaWdnZXJQcmVzZXQoKTtcbiAgICAgIGNvbnN0IHVzZUluc3RhbnRUcmlnZ2VyID0gdGhpcy51c2VJbnN0YW50VHJpZ2dlclByZXNldCgpO1xuXG4gICAgICBpZiAodXNlRmFzdFRyaWdnZXIpIHtcbiAgICAgICAgdGhyb3R0bGUgPSBEQlhfQUNUSU9OX0FVVE9fVFJJR0dFUl9GQVNUX1RSSUdHRVJfREVCT1VOQ0U7XG4gICAgICB9IGVsc2UgaWYgKHVzZUluc3RhbnRUcmlnZ2VyKSB7XG4gICAgICAgIHRocm90dGxlID0gREJYX0FDVElPTl9BVVRPX1RSSUdHRVJfSU5TVEFOVF9UUklHR0VSX0RFQk9VTkNFO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB0aHJvdHRsZSA/PyBERUZBVUxUX1RIUk9UVExFX01TO1xuICB9KTtcblxuICByZWFkb25seSB0cmlnZ2VyQ291bnRTaWduYWwgPSBzaWduYWw8bnVtYmVyPigwKTtcblxuICByZWFkb25seSBfZXJyb3JDb3VudCQgPSB0aGlzLnNvdXJjZS5lcnJvckNvdW50U2luY2VMYXN0U3VjY2VzcyQ7XG4gIHJlYWRvbmx5IF90cmlnZ2VyQ291bnQkID0gdGhpcy5zb3VyY2UuaXNNb2RpZmllZEFuZENhblRyaWdnZXJVcGRhdGVzJC5waXBlKFxuICAgIC8vIGVhY2ggdGltZSBzb21ldGhpbmcgaXMgdHJpZ2dlcmVkIHRoZVxuICAgIGZpbHRlcigoKSA9PiB0aGlzLnRyaWdnZXJFbmFibGVkKCkgPz8gZmFsc2UpLFxuICAgIGRlYm91bmNlKCgpID0+IGludGVydmFsKHRoaXMudHJpZ2dlckRlYm91bmNlU2lnbmFsKCkpKSxcbiAgICB0aHJvdHRsZShcbiAgICAgICgpID0+XG4gICAgICAgIHRoaXMuX2Vycm9yQ291bnQkLnBpcGUoXG4gICAgICAgICAgZmlyc3QoKSxcbiAgICAgICAgICBleGhhdXN0TWFwKChlcnJvckNvdW50KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBtYXhFcnJvcnMgPSB0aGlzLm1heEVycm9yc0ZvclRocm90dGxlKCkgPz8gTUFYX0VSUk9SU19UT19USFJPVFRMRV9PTjtcbiAgICAgICAgICAgIGNvbnN0IHRocm90dGxlVGltZSA9IHRoaXMudHJpZ2dlckVycm9yVGhyb3R0bGUoKSA/PyBERUZBVUxUX0VSUk9SX1RIUk9UVExFX01TO1xuICAgICAgICAgICAgY29uc3QgYWRkaXRpb25hbEludGVydmFsID0gTWF0aC5taW4oZXJyb3JDb3VudCwgbWF4RXJyb3JzKSAqIHRocm90dGxlVGltZTtcblxuICAgICAgICAgICAgcmV0dXJuIGludGVydmFsKHRoaXMudHJpZ2dlclRocm90dGxlU2lnbmFsKCkgKyBhZGRpdGlvbmFsSW50ZXJ2YWwpO1xuICAgICAgICAgIH0pXG4gICAgICAgICksXG4gICAgICB7IGxlYWRpbmc6IHRydWUsIHRyYWlsaW5nOiB0cnVlIH1cbiAgICApLFxuICAgIC8vIENoZWNrIGFnYWluIGZvciB0aGUgXCJ0cmFpbGluZ1wiIHBpZWNlLlxuICAgIGZpbHRlcigoKSA9PiB0aGlzLnRyaWdnZXJFbmFibGVkKCkgPz8gZmFsc2UpLFxuICAgIG1lcmdlTWFwKCgpID0+IHRoaXMuc291cmNlLmlzTW9kaWZpZWRBbmRDYW5UcmlnZ2VyJC5waXBlKGZpcnN0KCkpKSxcbiAgICBmaWx0ZXIoKHgpID0+IHgpLFxuICAgIG1hcCgoKSA9PiB7XG4gICAgICBjb25zdCBjb3VudCA9IHRoaXMudHJpZ2dlckNvdW50U2lnbmFsKCk7XG4gICAgICB0aGlzLnRyaWdnZXJDb3VudFNpZ25hbC51cGRhdGUoKHgpID0+IHggKyAxKTtcbiAgICAgIHJldHVybiBjb3VudDtcbiAgICB9KSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuXG4gIC8qKlxuICAgKiBPYnNlcnZhYmxlIGZvciB0aGUgdHJpZ2dlciBtZWNoYW5pc20uXG4gICAqL1xuICByZWFkb25seSB0cmlnZ2VyQ291bnQkID0gdG9PYnNlcnZhYmxlKHRoaXMudHJpZ2dlckVuYWJsZWQpLnBpcGUoXG4gICAgc3dpdGNoTWFwKChlbmFibGVkKSA9PiB7XG4gICAgICBsZXQgY291bnRPYnM6IE9ic2VydmFibGU8bnVtYmVyPjtcblxuICAgICAgaWYgKGVuYWJsZWQgIT09IGZhbHNlKSB7XG4gICAgICAgIGNvdW50T2JzID0gdGhpcy5fdHJpZ2dlckNvdW50JDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvdW50T2JzID0gRU1QVFk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBjb3VudE9icztcbiAgICB9KVxuICApO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2lzVHJpZ2dlckxpbWl0ZWQkOiBPYnNlcnZhYmxlPHJlYWRvbmx5IFtudW1iZXIsIGJvb2xlYW5dPiA9IGNvbWJpbmVMYXRlc3QoW3RoaXMudHJpZ2dlckNvdW50JCwgdG9PYnNlcnZhYmxlKHRoaXMudHJpZ2dlckxpbWl0KV0pLnBpcGUoXG4gICAgbWFwKChbdHJpZ2dlckNvdW50LCBsaW1pdF0pID0+IHtcbiAgICAgIGNvbnN0IGlzQWxsb3dlZFRvUnVuID0gbGltaXQgIT0gbnVsbCA/IHRyaWdnZXJDb3VudCA8IGxpbWl0IDogdHJ1ZTtcbiAgICAgIHJldHVybiBbdHJpZ2dlckNvdW50LCBpc0FsbG93ZWRUb1J1bl0gYXMgY29uc3Q7XG4gICAgfSksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcblxuICByZWFkb25seSBpc1RyaWdnZXJBbGxvd2VkVG9SdW4kID0gdGhpcy5faXNUcmlnZ2VyTGltaXRlZCQucGlwZShcbiAgICBtYXAoKHgpID0+IHhbMV0pLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG4gIHJlYWRvbmx5IGF1dG9tYXRpY1RyaWdnZXIkOiBPYnNlcnZhYmxlPHZvaWQ+ID0gdGhpcy5faXNUcmlnZ2VyTGltaXRlZCQucGlwZShcbiAgICBmaWx0ZXIoKHgpID0+IHhbMV0pLFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKChhLCBiKSA9PiBhWzBdID09PSBiWzBdKSwgLy8gT25seSB0cmlnZ2VyIHdoZW4gdGhlIGNvdW50IGNoYW5nZXMuXG4gICAgbWFwKCgpID0+IHVuZGVmaW5lZCBhcyB2b2lkKVxuICApO1xuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuc3ViID0gdGhpcy5hdXRvbWF0aWNUcmlnZ2VyJC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5zb3VyY2UudHJpZ2dlcigpO1xuICAgIH0pO1xuICB9XG5cbiAgb3ZlcnJpZGUgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5zb3VyY2UubG9ja1NldC5vbk5leHRVbmxvY2soKCkgPT4ge1xuICAgICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
110
|
+
}], ctorParameters: () => [] });
|
|
111
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLmF1dG90cmlnZ2VyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1jb3JlL3NyYy9saWIvYWN0aW9uL2RpcmVjdGl2ZS9hdXRvL2FjdGlvbi5hdXRvdHJpZ2dlci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbkYsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBRSxRQUFRLEVBQUUsb0JBQW9CLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLGFBQWEsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUM5SyxPQUFPLEVBQUUsbUNBQW1DLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNoRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsVUFBVSxFQUFjLE1BQU0sZUFBZSxDQUFDO0FBQzdFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7QUFFMUQsTUFBTSxtQkFBbUIsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDO0FBRXJDLE1BQU0sbUJBQW1CLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQztBQUV0QyxNQUFNLHlCQUF5QixHQUFHLENBQUMsR0FBRyxJQUFJLENBQUM7QUFFM0MsTUFBTSx5QkFBeUIsR0FBRyxDQUFDLENBQUM7QUFFcEMsTUFBTSw2Q0FBNkMsR0FBRyxHQUFHLENBQUM7QUFDMUQsTUFBTSxnREFBZ0QsR0FBRyxFQUFFLENBQUM7QUFFNUQ7Ozs7R0FJRztBQUtILE1BQU0sT0FBTyw2QkFB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Q25CLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLHVDQUF1QztJQUN0RixHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsU0FBaUIsQ0FBQyxDQUM3QixDQUFDO0lBRUY7UUFDRSw0QkFBNEIsQ0FBQztZQUMzQixPQUFPLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPO1lBQzVCLEdBQUcsRUFBRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtnQkFDekMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUN4QixDQUFDLENBQUM7U0FDSCxDQUFDLENBQUM7SUFDTCxDQUFDO3dHQTFIVSw2QkFBNkI7NEZBQTdCLDZCQUE2Qjs7NEZBQTdCLDZCQUE2QjtrQkFKekMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsNkNBQTZDO29CQUN2RCxVQUFVLEVBQUUsSUFBSTtpQkFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIERpcmVjdGl2ZSwgaW5wdXQsIGNvbXB1dGVkLCBzaWduYWwsIFNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgY2xlYW5TdWJzY3JpcHRpb25XaXRoTG9ja1NldCB9IGZyb20gJy4uLy4uLy4uL3J4anMnO1xuaW1wb3J0IHsgZGVib3VuY2UsIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBleGhhdXN0TWFwLCBmaWx0ZXIsIGZpcnN0LCBtYXAsIG1lcmdlTWFwLCBzaGFyZVJlcGxheSwgc3dpdGNoTWFwLCB0aHJvdHRsZSwgRU1QVFksIGludGVydmFsLCBjb21iaW5lTGF0ZXN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBEYnhBY3Rpb25Db250ZXh0U3RvcmVTb3VyY2VJbnN0YW5jZSB9IGZyb20gJy4uLy4uL2FjdGlvbi5zdG9yZS5zb3VyY2UnO1xuaW1wb3J0IHsgaXNEZWZpbmVkQW5kTm90RmFsc2UsIGlzTm90RmFsc2UsIHR5cGUgTWF5YmUgfSBmcm9tICdAZGVyZWVrYi91dGlsJztcbmltcG9ydCB7IHRvT2JzZXJ2YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcblxuY29uc3QgREVGQVVMVF9ERUJPVU5DRV9NUyA9IDIgKiAxMDAwO1xuXG5jb25zdCBERUZBVUxUX1RIUk9UVExFX01TID0gMTAgKiAxMDAwO1xuXG5jb25zdCBERUZBVUxUX0VSUk9SX1RIUk9UVExFX01TID0gMyAqIDEwMDA7XG5cbmNvbnN0IE1BWF9FUlJPUlNfVE9fVEhST1RUTEVfT04gPSA2O1xuXG5jb25zdCBEQlhfQUNUSU9OX0FVVE9fVFJJR0dFUl9GQVNUX1RSSUdHRVJfREVCT1VOQ0UgPSAyMDA7XG5jb25zdCBEQlhfQUNUSU9OX0FVVE9fVFJJR0dFUl9JTlNUQU5UX1RSSUdHRVJfREVCT1VOQ0UgPSAxMDtcblxuLyoqXG4gKiBEaXJlY3RpdmUgdGhhdCBhdXRvbWF0aWNhbGx5IHRyaWdnZXJzIHRoZSBhY3Rpb24gcGVyaW9kaWNhbGx5IHdoZW4gaXQgaXMgaW4gYSBtb2RpZmllZCBzdGF0ZS5cbiAqXG4gKiBXaGVuIHVzaW5nIGF1dG8gdHJpZ2dlcnMgYmUgc3VyZSB0byBtYWtlIHN1cmUgdGhhdCB0aGUgYWN0aW9uIGlzIG5vdCB0cmlnZ2VyaW5nIHRvbyBvZnRlbiBkdWUgdG8gbWlzY29uZmlndXJhdGlvbi5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnZGJ4QWN0aW9uQXV0b1RyaWdnZXIsW2RieEFjdGlvbkF1dG9UcmlnZ2VyXScsXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgRGJ4QWN0aW9uQXV0b1RyaWdnZXJEaXJlY3RpdmU8VCA9IHVua25vd24sIE8gPSB1bmtub3duPiB7XG4gIHJlYWRvbmx5IHNvdXJjZSA9IGluamVjdChEYnhBY3Rpb25Db250ZXh0U3RvcmVTb3VyY2VJbnN0YW5jZTxULCBPPiwgeyBob3N0OiB0cnVlIH0pO1xuXG4gIHJlYWRvbmx5IHRyaWdnZXJEZWJvdW5jZSA9IGlucHV0PE1heWJlPG51bWJlcj4+KHVuZGVmaW5lZCk7XG4gIHJlYWRvbmx5IHRyaWdnZXJUaHJvdHRsZSA9IGlucHV0PE1heWJlPG51bWJlcj4+KHVuZGVmaW5lZCk7XG4gIHJlYWRvbmx5IHRyaWdnZXJFcnJvclRocm90dGxlID0gaW5wdXQ8bnVtYmVyLCBNYXliZTxudW1iZXI+PihERUZBVUxUX0VSUk9SX1RIUk9UVExFX01TLCB7IHRyYW5zZm9ybTogKHgpID0+IHggPz8gREVGQVVMVF9FUlJPUl9USFJPVFRMRV9NUyB9KTtcbiAgcmVhZG9ubHkgbWF4RXJyb3JzRm9yVGhyb3R0bGUgPSBpbnB1dDxudW1iZXIsIE1heWJlPG51bWJlcj4+KE1BWF9FUlJPUlNfVE9fVEhST1RUTEVfT04sIHsgdHJhbnNmb3JtOiAoeCkgPT4geCA/PyBNQVhfRVJST1JTX1RPX1RIUk9UVExFX09OIH0pO1xuICByZWFkb25seSB0cmlnZ2VyTGltaXQgPSBpbnB1dDxNYXliZTxudW1iZXI+PigpO1xuICByZWFkb25seSB0cmlnZ2VyRW5hYmxlZCA9IGlucHV0PGJvb2xlYW4sIE1heWJlPHN0cmluZyB8IGJvb2xlYW4+Pih0cnVlLCB7IGFsaWFzOiAnZGJ4QWN0aW9uQXV0b1RyaWdnZXInLCB0cmFuc2Zvcm06IGlzTm90RmFsc2UgfSk7XG4gIHJlYWRvbmx5IHVzZUZhc3RUcmlnZ2VyUHJlc2V0ID0gaW5wdXQ8Ym9vbGVhbiwgTWF5YmU8JycgfCBib29sZWFuPj4oZmFsc2UsIHsgdHJhbnNmb3JtOiBpc0RlZmluZWRBbmROb3RGYWxzZSB9KTtcbiAgcmVhZG9ubHkgdXNlSW5zdGFudFRyaWdnZXJQcmVzZXQgPSBpbnB1dDxib29sZWFuLCBNYXliZTwnJyB8IGJvb2xlYW4+PihmYWxzZSwgeyB0cmFuc2Zvcm06IGlzRGVmaW5lZEFuZE5vdEZhbHNlIH0pO1xuXG4gIHJlYWRvbmx5IHRyaWdnZXJEZWJvdW5jZVNpZ25hbCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBsZXQgZGVib3VuY2UgPSB0aGlzLnRyaWdnZXJEZWJvdW5jZSgpO1xuXG4gICAgaWYgKGRlYm91bmNlID09IG51bGwpIHtcbiAgICAgIGNvbnN0IHVzZUZhc3RUcmlnZ2VyID0gdGhpcy51c2VGYXN0VHJpZ2dlclByZXNldCgpO1xuICAgICAgY29uc3QgdXNlSW5zdGFudFRyaWdnZXIgPSB0aGlzLnVzZUluc3RhbnRUcmlnZ2VyUHJlc2V0KCk7XG5cbiAgICAgIGlmICh1c2VGYXN0VHJpZ2dlcikge1xuICAgICAgICBkZWJvdW5jZSA9IERCWF9BQ1RJT05fQVVUT19UUklHR0VSX0ZBU1RfVFJJR0dFUl9ERUJPVU5DRTtcbiAgICAgIH0gZWxzZSBpZiAodXNlSW5zdGFudFRyaWdnZXIpIHtcbiAgICAgICAgZGVib3VuY2UgPSBEQlhfQUNUSU9OX0FVVE9fVFJJR0dFUl9JTlNUQU5UX1RSSUdHRVJfREVCT1VOQ0U7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGRlYm91bmNlID8/IERFRkFVTFRfREVCT1VOQ0VfTVM7XG4gIH0pO1xuXG4gIHJlYWRvbmx5IHRyaWdnZXJUaHJvdHRsZVNpZ25hbDogU2lnbmFsPG51bWJlcj4gPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgbGV0IHRocm90dGxlID0gdGhpcy50cmlnZ2VyVGhyb3R0bGUoKTtcblxuICAgIGlmICh0aHJvdHRsZSA9PSBudWxsKSB7XG4gICAgICBjb25zdCB1c2VGYXN0VHJpZ2dlciA9IHRoaXMudXNlRmFzdFRyaWdnZXJQcmVzZXQoKTtcbiAgICAgIGNvbnN0IHVzZUluc3RhbnRUcmlnZ2VyID0gdGhpcy51c2VJbnN0YW50VHJpZ2dlclByZXNldCgpO1xuXG4gICAgICBpZiAodXNlRmFzdFRyaWdnZXIpIHtcbiAgICAgICAgdGhyb3R0bGUgPSBEQlhfQUNUSU9OX0FVVE9fVFJJR0dFUl9GQVNUX1RSSUdHRVJfREVCT1VOQ0U7XG4gICAgICB9IGVsc2UgaWYgKHVzZUluc3RhbnRUcmlnZ2VyKSB7XG4gICAgICAgIHRocm90dGxlID0gREJYX0FDVElPTl9BVVRPX1RSSUdHRVJfSU5TVEFOVF9UUklHR0VSX0RFQk9VTkNFO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB0aHJvdHRsZSA/PyBERUZBVUxUX1RIUk9UVExFX01TO1xuICB9KTtcblxuICByZWFkb25seSB0cmlnZ2VyQ291bnRTaWduYWwgPSBzaWduYWw8bnVtYmVyPigwKTtcblxuICByZWFkb25seSBfZXJyb3JDb3VudCQgPSB0aGlzLnNvdXJjZS5lcnJvckNvdW50U2luY2VMYXN0U3VjY2VzcyQ7XG4gIHJlYWRvbmx5IF90cmlnZ2VyQ291bnQkID0gdGhpcy5zb3VyY2UuaXNNb2RpZmllZEFuZENhblRyaWdnZXJVcGRhdGVzJC5waXBlKFxuICAgIC8vIGVhY2ggdGltZSBzb21ldGhpbmcgaXMgdHJpZ2dlcmVkIHRoZVxuICAgIGZpbHRlcigoKSA9PiB0aGlzLnRyaWdnZXJFbmFibGVkKCkgPz8gZmFsc2UpLFxuICAgIGRlYm91bmNlKCgpID0+IGludGVydmFsKHRoaXMudHJpZ2dlckRlYm91bmNlU2lnbmFsKCkpKSxcbiAgICB0aHJvdHRsZShcbiAgICAgICgpID0+XG4gICAgICAgIHRoaXMuX2Vycm9yQ291bnQkLnBpcGUoXG4gICAgICAgICAgZmlyc3QoKSxcbiAgICAgICAgICBleGhhdXN0TWFwKChlcnJvckNvdW50KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBtYXhFcnJvcnMgPSB0aGlzLm1heEVycm9yc0ZvclRocm90dGxlKCkgPz8gTUFYX0VSUk9SU19UT19USFJPVFRMRV9PTjtcbiAgICAgICAgICAgIGNvbnN0IHRocm90dGxlVGltZSA9IHRoaXMudHJpZ2dlckVycm9yVGhyb3R0bGUoKSA/PyBERUZBVUxUX0VSUk9SX1RIUk9UVExFX01TO1xuICAgICAgICAgICAgY29uc3QgYWRkaXRpb25hbEludGVydmFsID0gTWF0aC5taW4oZXJyb3JDb3VudCwgbWF4RXJyb3JzKSAqIHRocm90dGxlVGltZTtcblxuICAgICAgICAgICAgcmV0dXJuIGludGVydmFsKHRoaXMudHJpZ2dlclRocm90dGxlU2lnbmFsKCkgKyBhZGRpdGlvbmFsSW50ZXJ2YWwpO1xuICAgICAgICAgIH0pXG4gICAgICAgICksXG4gICAgICB7IGxlYWRpbmc6IHRydWUsIHRyYWlsaW5nOiB0cnVlIH1cbiAgICApLFxuICAgIC8vIENoZWNrIGFnYWluIGZvciB0aGUgXCJ0cmFpbGluZ1wiIHBpZWNlLlxuICAgIGZpbHRlcigoKSA9PiB0aGlzLnRyaWdnZXJFbmFibGVkKCkgPz8gZmFsc2UpLFxuICAgIG1lcmdlTWFwKCgpID0+IHRoaXMuc291cmNlLmlzTW9kaWZpZWRBbmRDYW5UcmlnZ2VyJC5waXBlKGZpcnN0KCkpKSxcbiAgICBmaWx0ZXIoKHgpID0+IHgpLFxuICAgIG1hcCgoKSA9PiB7XG4gICAgICBjb25zdCBjb3VudCA9IHRoaXMudHJpZ2dlckNvdW50U2lnbmFsKCk7XG4gICAgICB0aGlzLnRyaWdnZXJDb3VudFNpZ25hbC51cGRhdGUoKHgpID0+IHggKyAxKTtcbiAgICAgIHJldHVybiBjb3VudDtcbiAgICB9KSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuXG4gIC8qKlxuICAgKiBPYnNlcnZhYmxlIGZvciB0aGUgdHJpZ2dlciBtZWNoYW5pc20uXG4gICAqL1xuICByZWFkb25seSB0cmlnZ2VyQ291bnQkID0gdG9PYnNlcnZhYmxlKHRoaXMudHJpZ2dlckVuYWJsZWQpLnBpcGUoXG4gICAgc3dpdGNoTWFwKChlbmFibGVkKSA9PiB7XG4gICAgICBsZXQgY291bnRPYnM6IE9ic2VydmFibGU8bnVtYmVyPjtcblxuICAgICAgaWYgKGVuYWJsZWQgIT09IGZhbHNlKSB7XG4gICAgICAgIGNvdW50T2JzID0gdGhpcy5fdHJpZ2dlckNvdW50JDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvdW50T2JzID0gRU1QVFk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBjb3VudE9icztcbiAgICB9KVxuICApO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2lzVHJpZ2dlckxpbWl0ZWQkOiBPYnNlcnZhYmxlPHJlYWRvbmx5IFtudW1iZXIsIGJvb2xlYW5dPiA9IGNvbWJpbmVMYXRlc3QoW3RoaXMudHJpZ2dlckNvdW50JCwgdG9PYnNlcnZhYmxlKHRoaXMudHJpZ2dlckxpbWl0KV0pLnBpcGUoXG4gICAgbWFwKChbdHJpZ2dlckNvdW50LCBsaW1pdF0pID0+IHtcbiAgICAgIGNvbnN0IGlzQWxsb3dlZFRvUnVuID0gbGltaXQgIT0gbnVsbCA/IHRyaWdnZXJDb3VudCA8IGxpbWl0IDogdHJ1ZTtcbiAgICAgIHJldHVybiBbdHJpZ2dlckNvdW50LCBpc0FsbG93ZWRUb1J1bl0gYXMgY29uc3Q7XG4gICAgfSksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcblxuICByZWFkb25seSBpc1RyaWdnZXJBbGxvd2VkVG9SdW4kID0gdGhpcy5faXNUcmlnZ2VyTGltaXRlZCQucGlwZShcbiAgICBtYXAoKHgpID0+IHhbMV0pLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgcmVhZG9ubHkgYXV0b21hdGljVHJpZ2dlciQ6IE9ic2VydmFibGU8dm9pZD4gPSB0aGlzLl9pc1RyaWdnZXJMaW1pdGVkJC5waXBlKFxuICAgIGZpbHRlcigoeCkgPT4geFsxXSksXG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKGEsIGIpID0+IGFbMF0gPT09IGJbMF0pLCAvLyBPbmx5IHRyaWdnZXIgd2hlbiB0aGUgY291bnQgY2hhbmdlcy5cbiAgICBtYXAoKCkgPT4gdW5kZWZpbmVkIGFzIHZvaWQpXG4gICk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgY2xlYW5TdWJzY3JpcHRpb25XaXRoTG9ja1NldCh7XG4gICAgICBsb2NrU2V0OiB0aGlzLnNvdXJjZS5sb2NrU2V0LFxuICAgICAgc3ViOiB0aGlzLmF1dG9tYXRpY1RyaWdnZXIkLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuc291cmNlLnRyaWdnZXIoKTtcbiAgICAgIH0pXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -2,6 +2,7 @@ import { Directive, inject } from '@angular/core';
|
|
|
2
2
|
import { SecondaryActionContextStoreSource } from '../../action.store.source';
|
|
3
3
|
import { provideActionStoreSource } from '../../action.store.source.provide';
|
|
4
4
|
import { DbxActionContextBaseSource } from '../../action.holder';
|
|
5
|
+
import { clean } from '../../../rxjs/clean';
|
|
5
6
|
import * as i0 from "@angular/core";
|
|
6
7
|
/**
|
|
7
8
|
* Provides an DbxActionContext.
|
|
@@ -9,10 +10,11 @@ import * as i0 from "@angular/core";
|
|
|
9
10
|
export class DbxActionDirective extends DbxActionContextBaseSource {
|
|
10
11
|
constructor() {
|
|
11
12
|
super(inject((SecondaryActionContextStoreSource), { optional: true, host: true }));
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
13
|
+
// during cleaning/onDestroy, queue the lockset for cleanup
|
|
14
|
+
clean(() => {
|
|
15
|
+
this.lockSet.destroyOnNextUnlock(() => {
|
|
16
|
+
this.destroy();
|
|
17
|
+
});
|
|
16
18
|
});
|
|
17
19
|
}
|
|
18
20
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxActionDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
@@ -27,4 +29,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
27
29
|
standalone: true
|
|
28
30
|
}]
|
|
29
31
|
}], ctorParameters: () => [] });
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1jb3JlL3NyYy9saWIvYWN0aW9uL2RpcmVjdGl2ZS9jb250ZXh0L2FjdGlvbi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDOUUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDN0UsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDakUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLHFCQUFxQixDQUFDOztBQUU1Qzs7R0FFRztBQU9ILE1BQU0sT0FBTyxrQkFBNkMsU0FBUSwwQkFBZ0M7SUFDaEc7UUFDRSxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUEsaUNBQXVDLENBQUEsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztRQUV2RiwyREFBMkQ7UUFDM0QsS0FBSyxDQUFDLEdBQUcsRUFBRTtZQUNULElBQUksQ0FBQyxPQUFPLENBQUMsbUJBQW1CLENBQUMsR0FBRyxFQUFFO2dCQUNwQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDakIsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7d0dBVlUsa0JBQWtCOzRGQUFsQixrQkFBa0IsMkdBSGxCLHdCQUF3QixDQUFDLGtCQUFrQixDQUFDOzs0RkFHNUMsa0JBQWtCO2tCQU45QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSw4REFBOEQ7b0JBQ3hFLFFBQVEsRUFBRSxrQkFBa0I7b0JBQzVCLFNBQVMsRUFBRSx3QkFBd0Isb0JBQW9CO29CQUN2RCxVQUFVLEVBQUUsSUFBSTtpQkFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2Vjb25kYXJ5QWN0aW9uQ29udGV4dFN0b3JlU291cmNlIH0gZnJvbSAnLi4vLi4vYWN0aW9uLnN0b3JlLnNvdXJjZSc7XG5pbXBvcnQgeyBwcm92aWRlQWN0aW9uU3RvcmVTb3VyY2UgfSBmcm9tICcuLi8uLi9hY3Rpb24uc3RvcmUuc291cmNlLnByb3ZpZGUnO1xuaW1wb3J0IHsgRGJ4QWN0aW9uQ29udGV4dEJhc2VTb3VyY2UgfSBmcm9tICcuLi8uLi9hY3Rpb24uaG9sZGVyJztcbmltcG9ydCB7IGNsZWFuIH0gZnJvbSAnLi4vLi4vLi4vcnhqcy9jbGVhbic7XG5cbi8qKlxuICogUHJvdmlkZXMgYW4gRGJ4QWN0aW9uQ29udGV4dC5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnZGJ4LWFjdGlvbixbZGJ4QWN0aW9uXSxkYngtYWN0aW9uLWNvbnRleHQsW2RieEFjdGlvbkNvbnRleHRdJyxcbiAgZXhwb3J0QXM6ICdhY3Rpb24sZGJ4QWN0aW9uJyxcbiAgcHJvdmlkZXJzOiBwcm92aWRlQWN0aW9uU3RvcmVTb3VyY2UoRGJ4QWN0aW9uRGlyZWN0aXZlKSxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBEYnhBY3Rpb25EaXJlY3RpdmU8VCA9IHVua25vd24sIE8gPSB1bmtub3duPiBleHRlbmRzIERieEFjdGlvbkNvbnRleHRCYXNlU291cmNlPFQsIE8+IHtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoaW5qZWN0KFNlY29uZGFyeUFjdGlvbkNvbnRleHRTdG9yZVNvdXJjZTxULCBPPiwgeyBvcHRpb25hbDogdHJ1ZSwgaG9zdDogdHJ1ZSB9KSk7XG5cbiAgICAvLyBkdXJpbmcgY2xlYW5pbmcvb25EZXN0cm95LCBxdWV1ZSB0aGUgbG9ja3NldCBmb3IgY2xlYW51cFxuICAgIGNsZWFuKCgpID0+IHtcbiAgICAgIHRoaXMubG9ja1NldC5kZXN0cm95T25OZXh0VW5sb2NrKCgpID0+IHtcbiAgICAgICAgdGhpcy5kZXN0cm95KCk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
import { Directive, inject } from '@angular/core';
|
|
2
|
-
import {
|
|
2
|
+
import { cleanSubscription } from '../../../rxjs';
|
|
3
3
|
import { DbxActionContextStoreSourceInstance } from '../../action.store.source';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
/**
|
|
6
6
|
* Prints out the current state to the console. Useful for debugging.
|
|
7
7
|
*/
|
|
8
|
-
export class DbxActionContextLoggerDirective
|
|
8
|
+
export class DbxActionContextLoggerDirective {
|
|
9
9
|
source = inject(DbxActionContextStoreSourceInstance, { host: true });
|
|
10
|
-
|
|
11
|
-
this.
|
|
10
|
+
constructor() {
|
|
11
|
+
cleanSubscription(this.source.state$.subscribe((state) => {
|
|
12
12
|
console.log('dbxActionLogger - state: ', state);
|
|
13
|
-
});
|
|
13
|
+
}));
|
|
14
14
|
}
|
|
15
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxActionContextLoggerDirective, deps:
|
|
16
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: DbxActionContextLoggerDirective, isStandalone: true, selector: "[dbxActionLogger],[dbxActionContextLogger]",
|
|
15
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxActionContextLoggerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
16
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: DbxActionContextLoggerDirective, isStandalone: true, selector: "[dbxActionLogger],[dbxActionContextLogger]", ngImport: i0 });
|
|
17
17
|
}
|
|
18
18
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxActionContextLoggerDirective, decorators: [{
|
|
19
19
|
type: Directive,
|
|
@@ -21,5 +21,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
21
21
|
selector: '[dbxActionLogger],[dbxActionContextLogger]',
|
|
22
22
|
standalone: true
|
|
23
23
|
}]
|
|
24
|
-
}] });
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
24
|
+
}], ctorParameters: () => [] });
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLmxvZ2dlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtY29yZS9zcmMvbGliL2FjdGlvbi9kaXJlY3RpdmUvZGVidWcvYWN0aW9uLmxvZ2dlci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxtQ0FBbUMsRUFBRSxNQUFNLDJCQUEyQixDQUFDOztBQUVoRjs7R0FFRztBQUtILE1BQU0sT0FBTywrQkFBK0I7SUFDakMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxtQ0FBbUMsRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBRTlFO1FBQ0UsaUJBQWlCLENBQ2YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDckMsT0FBTyxDQUFDLEdBQUcsQ0FBQywyQkFBMkIsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNsRCxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQzt3R0FUVSwrQkFBK0I7NEZBQS9CLCtCQUErQjs7NEZBQS9CLCtCQUErQjtrQkFKM0MsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsNENBQTRDO29CQUN0RCxVQUFVLEVBQUUsSUFBSTtpQkFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgY2xlYW5TdWJzY3JpcHRpb24gfSBmcm9tICcuLi8uLi8uLi9yeGpzJztcbmltcG9ydCB7IERieEFjdGlvbkNvbnRleHRTdG9yZVNvdXJjZUluc3RhbmNlIH0gZnJvbSAnLi4vLi4vYWN0aW9uLnN0b3JlLnNvdXJjZSc7XG5cbi8qKlxuICogUHJpbnRzIG91dCB0aGUgY3VycmVudCBzdGF0ZSB0byB0aGUgY29uc29sZS4gVXNlZnVsIGZvciBkZWJ1Z2dpbmcuXG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tkYnhBY3Rpb25Mb2dnZXJdLFtkYnhBY3Rpb25Db250ZXh0TG9nZ2VyXScsXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgRGJ4QWN0aW9uQ29udGV4dExvZ2dlckRpcmVjdGl2ZSB7XG4gIHJlYWRvbmx5IHNvdXJjZSA9IGluamVjdChEYnhBY3Rpb25Db250ZXh0U3RvcmVTb3VyY2VJbnN0YW5jZSwgeyBob3N0OiB0cnVlIH0pO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGNsZWFuU3Vic2NyaXB0aW9uKFxuICAgICAgdGhpcy5zb3VyY2Uuc3RhdGUkLnN1YnNjcmliZSgoc3RhdGUpID0+IHtcbiAgICAgICAgY29uc29sZS5sb2coJ2RieEFjdGlvbkxvZ2dlciAtIHN0YXRlOiAnLCBzdGF0ZSk7XG4gICAgICB9KVxuICAgICk7XG4gIH1cbn1cbiJdfQ==
|