@o3r/rules-engine 10.3.0-prerelease.7 → 10.3.0-prerelease.71

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.
Files changed (33) hide show
  1. package/devkit/rules-engine-devtools.console.service.d.ts +1 -1
  2. package/devkit/rules-engine-devtools.service.d.ts +1 -1
  3. package/engine/engine.interface.d.ts +15 -1
  4. package/engine/engine.interface.d.ts.map +1 -1
  5. package/engine/ruleset-executor.d.ts.map +1 -1
  6. package/engine/structure.d.ts +15 -1
  7. package/engine/structure.d.ts.map +1 -1
  8. package/esm2022/components/rules-engine/rule-actions/rule-actions-pres.component.mjs +3 -3
  9. package/esm2022/components/rules-engine/rule-condition/rule-condition-pres.component.mjs +3 -3
  10. package/esm2022/components/rules-engine/rule-key-value/rule-key-value-pres.component.mjs +3 -3
  11. package/esm2022/components/rules-engine/rule-tree/rule-tree-pres.component.mjs +3 -3
  12. package/esm2022/components/rules-engine/ruleset-history/ruleset-history-pres.component.mjs +5 -5
  13. package/esm2022/components/rules-engine/ruleset-history/ruleset-history-pres.module.mjs +4 -4
  14. package/esm2022/components/rules-engine/shared/fallback-to.pipe.mjs +6 -6
  15. package/esm2022/devkit/rules-engine-devtools.console.service.mjs +5 -5
  16. package/esm2022/devkit/rules-engine-devtools.message.service.mjs +3 -3
  17. package/esm2022/devkit/rules-engine-devtools.module.mjs +4 -4
  18. package/esm2022/devkit/rules-engine-devtools.service.mjs +5 -5
  19. package/esm2022/engine/engine.interface.mjs +1 -1
  20. package/esm2022/engine/ruleset-executor.mjs +2 -1
  21. package/esm2022/engine/structure.mjs +1 -1
  22. package/esm2022/services/runner/rules-engine.runner.module.mjs +4 -4
  23. package/esm2022/services/runner/rules-engine.runner.service.mjs +6 -11
  24. package/esm2022/stores/rulesets/rulesets.effect.mjs +3 -3
  25. package/esm2022/stores/rulesets/rulesets.module.mjs +4 -4
  26. package/esm2022/stores/rulesets/rulesets.selectors.mjs +47 -6
  27. package/fesm2022/o3r-rules-engine.mjs +104 -67
  28. package/fesm2022/o3r-rules-engine.mjs.map +1 -1
  29. package/package.json +8 -8
  30. package/schemas/rulesets.schema.json +32 -13
  31. package/services/runner/rules-engine.runner.service.d.ts.map +1 -1
  32. package/stores/rulesets/rulesets.selectors.d.ts +13 -0
  33. package/stores/rulesets/rulesets.selectors.d.ts.map +1 -1
@@ -3,7 +3,7 @@ import { select, Store } from '@ngrx/store';
3
3
  import { BehaviorSubject, combineLatest, Subscription } from 'rxjs';
4
4
  import { filter, map, shareReplay, switchMap } from 'rxjs/operators';
5
5
  import { EngineDebugger, operatorList, RulesEngine } from '../../engine/index';
6
- import { selectActiveRuleSets, selectAllRulesets, selectRuleSetLinkComponents } from '../../stores';
6
+ import { selectActiveRuleSets, selectAllRulesets, selectComponentsLinkedToRuleset } from '../../stores';
7
7
  import { RULES_ENGINE_OPTIONS } from '../rules-engine.token';
8
8
  import { LoggerService } from '@o3r/logger';
9
9
  import * as i0 from "@angular/core";
@@ -25,12 +25,7 @@ export class RulesEngineRunnerService {
25
25
  });
26
26
  this.ruleSets$ = combineLatest([
27
27
  this.store.pipe(select(selectActiveRuleSets)),
28
- this.linkedComponents$.pipe(switchMap((linkedComponentsNamesMap) => this.store.pipe(select(selectRuleSetLinkComponents), map((linkComponentMap) => Object.keys(linkedComponentsNamesMap)
29
- .filter((linkedComponentsName) => linkedComponentsNamesMap[linkedComponentsName] > 0)
30
- .reduce((acc, compName) => {
31
- acc.push(...(linkComponentMap[compName] || []));
32
- return acc;
33
- }, [])))))
28
+ this.linkedComponents$.pipe(switchMap((linkedComponentsNamesMap) => this.store.pipe(select(selectComponentsLinkedToRuleset), map((rulesetsWithLinkedComponentsMap) => Object.keys(rulesetsWithLinkedComponentsMap.or).filter((rulesetId) => rulesetsWithLinkedComponentsMap.or[rulesetId].some((componentId) => linkedComponentsNamesMap[componentId] > 0))))))
34
29
  ]).pipe(map(([activeRulesets, linkedComponentsRulesetsIds]) => ([...activeRulesets, ...linkedComponentsRulesetsIds])));
35
30
  this.events$ = this.ruleSets$.pipe(this.engine.getEventStream(), shareReplay(1));
36
31
  this.upsertOperators(operatorList);
@@ -105,10 +100,10 @@ export class RulesEngineRunnerService {
105
100
  this.linkedComponents$.next(newMap);
106
101
  }
107
102
  }
108
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: RulesEngineRunnerService, deps: [{ token: i1.Store }, { token: i2.LoggerService }, { token: RULES_ENGINE_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
109
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: RulesEngineRunnerService }); }
103
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: RulesEngineRunnerService, deps: [{ token: i1.Store }, { token: i2.LoggerService }, { token: RULES_ENGINE_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
104
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: RulesEngineRunnerService }); }
110
105
  }
111
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: RulesEngineRunnerService, decorators: [{
106
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: RulesEngineRunnerService, decorators: [{
112
107
  type: Injectable
113
108
  }], ctorParameters: () => [{ type: i1.Store }, { type: i2.LoggerService }, { type: undefined, decorators: [{
114
109
  type: Optional
@@ -116,4 +111,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImpor
116
111
  type: Inject,
117
112
  args: [RULES_ENGINE_OPTIONS]
118
113
  }] }] });
119
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZXMtZW5naW5lLnJ1bm5lci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3NlcnZpY2VzL3J1bm5lci9ydWxlcy1lbmdpbmUucnVubmVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLE1BQU0sRUFBRSxVQUFVLEVBQWEsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3RFLE9BQU8sRUFBQyxNQUFNLEVBQUUsS0FBSyxFQUFDLE1BQU0sYUFBYSxDQUFDO0FBQzFDLE9BQU8sRUFBQyxlQUFlLEVBQUUsYUFBYSxFQUFjLFlBQVksRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUM5RSxPQUFPLEVBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFbkUsT0FBTyxFQUFDLGNBQWMsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFDLE1BQU0sb0JBQW9CLENBQUM7QUFFN0UsT0FBTyxFQUFDLG9CQUFvQixFQUFFLGlCQUFpQixFQUFFLDJCQUEyQixFQUFDLE1BQU0sY0FBYyxDQUFDO0FBQ2xHLE9BQU8sRUFBQyxvQkFBb0IsRUFBNEIsTUFBTSx1QkFBdUIsQ0FBQztBQUN0RixPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sYUFBYSxDQUFDOzs7O0FBSTFDLE1BQU0sT0FBTyx3QkFBd0I7SUFzQm5DLFlBQ21CLEtBQTJCLEVBQzNCLE1BQXFCLEVBQ0ksWUFBd0M7UUFGakUsVUFBSyxHQUFMLEtBQUssQ0FBc0I7UUFDM0IsV0FBTSxHQUFOLE1BQU0sQ0FBZTtRQXRCOUIsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBSzVDLHNEQUFzRDtRQUM1QyxzQkFBaUIsR0FBK0MsSUFBSSxlQUFlLENBQUMsRUFBRSxDQUFDLENBQUM7UUFXbEcsOEJBQThCO1FBQ2QsbUJBQWMsR0FBRyxJQUFJLEdBQUcsRUFBNEIsQ0FB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QXpCL0Isd0JBQXdCOzsyRkFBeEIsd0JBQXdCO2tCQURwQyxVQUFVOzswQkEwQk4sUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdCwgSW5qZWN0YWJsZSwgT25EZXN0cm95LCBPcHRpb25hbH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge3NlbGVjdCwgU3RvcmV9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtmaWx0ZXIsIG1hcCwgc2hhcmVSZXBsYXksIHN3aXRjaE1hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHR5cGUge0FjdGlvbkJsb2NrLCBGYWN0LCBPcGVyYXRvciwgUnVsZXNldCwgVW5hcnlPcGVyYXRvcn0gZnJvbSAnLi4vLi4vZW5naW5lL2luZGV4JztcbmltcG9ydCB7RW5naW5lRGVidWdnZXIsIG9wZXJhdG9yTGlzdCwgUnVsZXNFbmdpbmV9IGZyb20gJy4uLy4uL2VuZ2luZS9pbmRleCc7XG5pbXBvcnQgdHlwZSB7UnVsZXNldHNTdG9yZX0gZnJvbSAnLi4vLi4vc3RvcmVzJztcbmltcG9ydCB7c2VsZWN0QWN0aXZlUnVsZVNldHMsIHNlbGVjdEFsbFJ1bGVzZXRzLCBzZWxlY3RSdWxlU2V0TGlua0NvbXBvbmVudHN9IGZyb20gJy4uLy4uL3N0b3Jlcyc7XG5pbXBvcnQge1JVTEVTX0VOR0lORV9PUFRJT05TLCBSdWxlc0VuZ2luZVNlcnZpY2VPcHRpb25zfSBmcm9tICcuLi9ydWxlcy1lbmdpbmUudG9rZW4nO1xuaW1wb3J0IHtMb2dnZXJTZXJ2aWNlfSBmcm9tICdAbzNyL2xvZ2dlcic7XG5pbXBvcnQgdHlwZSB7IFJ1bGVzRW5naW5lQWN0aW9uSGFuZGxlciB9IGZyb20gJ0BvM3IvY29yZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBSdWxlc0VuZ2luZVJ1bm5lclNlcnZpY2UgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuXG4gIHByb3RlY3RlZCBzdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG5cbiAgLyoqIFJ1bGVzZXRzIHRvIHJlc3RyaWN0IHRoZSBleGVjdXRpb24gb2YgdGhlIGVuZ2luZSAqL1xuICBwcm90ZWN0ZWQgcnVsZVNldHMkOiBPYnNlcnZhYmxlPHN0cmluZ1tdIHwgdW5kZWZpbmVkPjtcblxuICAvKiogT2JzZXJ2YWJsZSBvZiBjb21wb25lbnQgbGlua2VkIHRvIHRoZSBjb21wb25lbnQgKi9cbiAgcHJvdGVjdGVkIGxpbmtlZENvbXBvbmVudHMkOiBCZWhhdmlvclN1YmplY3Q8eyBba2V5OiBzdHJpbmddOiBudW1iZXIgfT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KHt9KTtcblxuICAvKiogTWFwIG9mIGVuZ2luZXMgZGVkaWNhdGVkIHRvIGVhY2ggcnVsZSBzZXRzICovXG4gIHB1YmxpYyByZWFkb25seSBlbmdpbmU6IFJ1bGVzRW5naW5lO1xuXG4gIC8qKiBzdHJlYW0gb2YgdGhlIHdob2xlIHJ1bGVzZXQgcmVzdWx0cyAqL1xuICBwdWJsaWMgZXZlbnRzJDogT2JzZXJ2YWJsZTxBY3Rpb25CbG9ja1tdPjtcblxuICAvKiogRW5hYmxlIGFjdGlvbiBleGVjdXRpb24gb24gbmV3IHN0YXRlIGNoYW5nZSAqL1xuICBwdWJsaWMgZW5hYmxlZDogYm9vbGVhbjtcblxuICAvKiogTGlzdCBvZiBhY3Rpb24gaGFuZGxlcnMgKi9cbiAgcHVibGljIHJlYWRvbmx5IGFjdGlvbkhhbmRsZXJzID0gbmV3IFNldDxSdWxlc0VuZ2luZUFjdGlvbkhhbmRsZXI+KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBzdG9yZTogU3RvcmU8UnVsZXNldHNTdG9yZT4sXG4gICAgcHJpdmF0ZSByZWFkb25seSBsb2dnZXI6IExvZ2dlclNlcnZpY2UsXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChSVUxFU19FTkdJTkVfT1BUSU9OUykgZW5naW5lQ29uZmlnPzogUnVsZXNFbmdpbmVTZXJ2aWNlT3B0aW9ucykge1xuICAgIHRoaXMuZW5hYmxlZCA9ICFlbmdpbmVDb25maWc/LmRyeVJ1bjtcbiAgICB0aGlzLmVuZ2luZSA9IG5ldyBSdWxlc0VuZ2luZSh7XG4gICAgICBkZWJ1Z2dlcjogZW5naW5lQ29uZmlnPy5kZWJ1ZyA/IG5ldyBFbmdpbmVEZWJ1Z2dlcih7ZXZlbnRzU3RhY2tMaW1pdDogZW5naW5lQ29uZmlnPy5kZWJ1Z0V2ZW50c1N0YWNrTGltaXR9KSA6IHVuZGVmaW5lZCxcbiAgICAgIGxvZ2dlcjogdGhpcy5sb2dnZXJcbiAgICB9KTtcbiAgICB0aGlzLnJ1bGVTZXRzJCA9IGNvbWJpbmVMYXRlc3QoW1xuICAgICAgdGhpcy5zdG9yZS5waXBlKHNlbGVjdChzZWxlY3RBY3RpdmVSdWxlU2V0cykpLFxuICAgICAgdGhpcy5saW5rZWRDb21wb25lbnRzJC5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoKGxpbmtlZENvbXBvbmVudHNOYW1lc01hcCkgPT4gdGhpcy5zdG9yZS5waXBlKFxuICAgICAgICAgIHNlbGVjdChzZWxlY3RSdWxlU2V0TGlua0NvbXBvbmVudHMpLFxuICAgICAgICAgIG1hcCgobGlua0NvbXBvbmVudE1hcCkgPT4gT2JqZWN0LmtleXMobGlua2VkQ29tcG9uZW50c05hbWVzTWFwKVxuICAgICAgICAgICAgLmZpbHRlcigobGlua2VkQ29tcG9uZW50c05hbWUpID0+IGxpbmtlZENvbXBvbmVudHNOYW1lc01hcFtsaW5rZWRDb21wb25lbnRzTmFtZV0gPiAwKVxuICAgICAgICAgICAgLnJlZHVjZSgoYWNjLCBjb21wTmFtZSkgPT4ge1xuICAgICAgICAgICAgICBhY2MucHVzaCguLi4obGlua0NvbXBvbmVudE1hcFtjb21wTmFtZV0gfHwgW10pKTtcbiAgICAgICAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgICAgICAgIH0sIFtdIGFzIHN0cmluZ1tdKSlcbiAgICAgICAgKSlcbiAgICAgIClcbiAgICBdKS5waXBlKFxuICAgICAgbWFwKChbYWN0aXZlUnVsZXNldHMsIGxpbmtlZENvbXBvbmVudHNSdWxlc2V0c0lkc10pID0+IChbLi4uYWN0aXZlUnVsZXNldHMsIC4uLmxpbmtlZENvbXBvbmVudHNSdWxlc2V0c0lkc10pKVxuICAgICk7XG5cbiAgICB0aGlzLmV2ZW50cyQgPSB0aGlzLnJ1bGVTZXRzJC5waXBlKFxuICAgICAgdGhpcy5lbmdpbmUuZ2V0RXZlbnRTdHJlYW08QWN0aW9uQmxvY2s+KCksXG4gICAgICBzaGFyZVJlcGxheSgxKVxuICAgICk7XG5cbiAgICB0aGlzLnVwc2VydE9wZXJhdG9ycyhvcGVyYXRvckxpc3QpO1xuXG4gICAgdGhpcy5zdWJzY3JpcHRpb24uYWRkKFxuICAgICAgdGhpcy5zdG9yZS5waXBlKFxuICAgICAgICBzZWxlY3Qoc2VsZWN0QWxsUnVsZXNldHMpXG4gICAgICApLnN1YnNjcmliZSgocnVsZXNldHM6IFJ1bGVzZXRbXSkgPT4gdGhpcy5lbmdpbmUudXBzZXJ0UnVsZXNldHMocnVsZXNldHMpKVxuICAgICk7XG5cbiAgICB0aGlzLnN1YnNjcmlwdGlvbi5hZGQoXG4gICAgICB0aGlzLmV2ZW50cyQucGlwZShmaWx0ZXIoKCkgPT4gdGhpcy5lbmFibGVkKSkuc3Vic2NyaWJlKGFzeW5jIChldmVudHMpID0+IHtcbiAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoJ1N0YXJ0IFJ1bGVzIEVuZ2luZSBhY3Rpb24gZXhlY3V0ZWQnKTtcbiAgICAgICAgYXdhaXQgdGhpcy5leGVjdXRlQWN0aW9ucyhldmVudHMpO1xuICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnQWxsIFJ1bGVzIEVuZ2luZSBhY3Rpb25zIGV4ZWN1dGVkJyk7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogRXhlY3V0ZSB0aGUgbGlzdCBvZiBhY3Rpb25zXG4gICAqIEBwYXJhbSBhY3Rpb25zXG4gICAqL1xuICBwcm90ZWN0ZWQgYXN5bmMgZXhlY3V0ZUFjdGlvbnMoYWN0aW9uczogQWN0aW9uQmxvY2tbXSkge1xuICAgIGNvbnN0IGFjdGlvbkhhbmRsZXJzID0gWy4uLnRoaXMuYWN0aW9uSGFuZGxlcnNdO1xuXG4gICAgY29uc3Qgc3VwcG9ydGVkQWN0aW9ucyA9IG5ldyBTZXQoYWN0aW9uSGFuZGxlcnMubWFwKChoYW5kbGVyKSA9PiBoYW5kbGVyLnN1cHBvcnRpbmdBY3Rpb25zKS5mbGF0KCkpO1xuXG4gICAgY29uc3QgYWN0aW9uTWFwcyA9IGFjdGlvbnNcbiAgICAgIC5maWx0ZXIoKGFjdGlvbikgPT4ge1xuICAgICAgICBjb25zdCBpc0tub3duID0gc3VwcG9ydGVkQWN0aW9ucy5oYXMoYWN0aW9uLmFjdGlvblR5cGUpO1xuICAgICAgICBpZiAoIWlzS25vd24pIHtcbiAgICAgICAgICB0aGlzLmxvZ2dlci53YXJuKGBUaGUgYWN0aW9uICR7YWN0aW9uLmFjdGlvblR5cGV9IGRvZXMgbm90IGhhdmUgcmVnaXN0ZXJlZCBoYW5kbGVyYCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGlzS25vd247XG4gICAgICB9KVxuICAgICAgLnJlZHVjZSgoYWNjLCBhY3Rpb24pID0+IHtcbiAgICAgICAgYWNjW2FjdGlvbi5hY3Rpb25UeXBlXSB8fD0gW107XG4gICAgICAgIGFjY1thY3Rpb24uYWN0aW9uVHlwZV0ucHVzaChhY3Rpb24pO1xuICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgfSwge30gYXMgUmVjb3JkPHN0cmluZywgQWN0aW9uQmxvY2tbXT4pO1xuXG4gICAgY29uc3QgaGFuZGxpbmcgPSBhY3Rpb25IYW5kbGVyc1xuICAgICAgLm1hcCgoaGFuZGxlcikgPT5cbiAgICAgICAgaGFuZGxlci5leGVjdXRlQWN0aW9ucyhcbiAgICAgICAgICBoYW5kbGVyLnN1cHBvcnRpbmdBY3Rpb25zXG4gICAgICAgICAgICAuZmlsdGVyKChzdXBwb3J0ZWRBY3Rpb24pID0+IGFjdGlvbk1hcHNbc3VwcG9ydGVkQWN0aW9uXSlcbiAgICAgICAgICAgIC5yZWR1Y2U8QWN0aW9uQmxvY2tbXT4oKGFjYywgc3VwcG9ydGVkQWN0aW9uKSA9PiBhY2MuY29uY2F0KGFjdGlvbk1hcHNbc3VwcG9ydGVkQWN0aW9uXSksIFtdKVxuICAgICAgICApXG4gICAgICApO1xuXG4gICAgYXdhaXQgUHJvbWlzZS5hbGwoaGFuZGxpbmcpO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZSBvciBpbnNlcnQgZmFjdCBpbiBydWxlcyBlbmdpbmVcbiAgICogQHBhcmFtIGZhY3RzIGZhY3QgbGlzdCB0byBhZGQgLyB1cGRhdGVcbiAgICovXG4gIHB1YmxpYyB1cHNlcnRGYWN0cyhmYWN0czogRmFjdDx1bmtub3duPiB8IEZhY3Q8dW5rbm93bj5bXSkge1xuICAgIHRoaXMuZW5naW5lLnVwc2VydEZhY3RzKGZhY3RzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGUgb3IgaW5zZXJ0IG9wZXJhdG9yIGluIHJ1bGVzIGVuZ2luZVxuICAgKiBAcGFyYW0gb3BlcmF0b3JzIG9wZXJhdG9yIGxpc3QgdG8gYWRkIC8gdXBkYXRlXG4gICAqL1xuICBwdWJsaWMgdXBzZXJ0T3BlcmF0b3JzKG9wZXJhdG9yczogKE9wZXJhdG9yPGFueSwgYW55PiB8IFVuYXJ5T3BlcmF0b3I8YW55PilbXSkge1xuICAgIHRoaXMuZW5naW5lLnVwc2VydE9wZXJhdG9ycyhvcGVyYXRvcnMpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEVuYWJsZSB0ZW1wb3JhcnkgYSBydWxlIHNldFxuICAgKiBAcGFyYW0gY29tcG9uZW50Q29tcHV0ZWROYW1lIE5hbWUgb2YgdGhlIGNvbXBvbmVudCB0byBlbmFibGUgdGhlIHJ1bGVzZXQgZm9yXG4gICAqL1xuICBwdWJsaWMgZW5hYmxlUnVsZVNldEZvcihjb21wb25lbnRDb21wdXRlZE5hbWU6IHN0cmluZykge1xuICAgIGNvbnN0IG5ld01hcCA9IHRoaXMubGlua2VkQ29tcG9uZW50cyQudmFsdWU7XG4gICAgbmV3TWFwW2NvbXBvbmVudENvbXB1dGVkTmFtZV0gPSBuZXdNYXBbY29tcG9uZW50Q29tcHV0ZWROYW1lXSA/IG5ld01hcFtjb21wb25lbnRDb21wdXRlZE5hbWVdICsgMSA6IDE7XG4gICAgdGhpcy5saW5rZWRDb21wb25lbnRzJC5uZXh0KG5ld01hcCk7XG4gIH1cblxuICAvKipcbiAgICogRGlzYWJsZSB0ZW1wb3JhcnkgYSBydWxlIHNldFxuICAgKiBAcGFyYW0gY29tcG9uZW50Q29tcHV0ZWROYW1lIE5hbWUgb2YgdGhlIGNvbXBvbmVudCB0byBkaXNhYmxlIHRoZSBydWxlc2V0IGZvclxuICAgKi9cbiAgcHVibGljIGRpc2FibGVSdWxlU2V0Rm9yKGNvbXBvbmVudENvbXB1dGVkTmFtZTogc3RyaW5nKSB7XG4gICAgY29uc3QgbmV3TWFwID0gdGhpcy5saW5rZWRDb21wb25lbnRzJC52YWx1ZTtcbiAgICBpZiAobmV3TWFwW2NvbXBvbmVudENvbXB1dGVkTmFtZV0gPiAwKSB7XG4gICAgICBuZXdNYXBbY29tcG9uZW50Q29tcHV0ZWROYW1lXS0tO1xuICAgICAgdGhpcy5saW5rZWRDb21wb25lbnRzJC5uZXh0KG5ld01hcCk7XG4gICAgfVxuICB9XG59XG4iXX0=
114
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZXMtZW5naW5lLnJ1bm5lci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3NlcnZpY2VzL3J1bm5lci9ydWxlcy1lbmdpbmUucnVubmVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLE1BQU0sRUFBRSxVQUFVLEVBQWEsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3RFLE9BQU8sRUFBQyxNQUFNLEVBQUUsS0FBSyxFQUFDLE1BQU0sYUFBYSxDQUFDO0FBQzFDLE9BQU8sRUFBQyxlQUFlLEVBQUUsYUFBYSxFQUFjLFlBQVksRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUM5RSxPQUFPLEVBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFbkUsT0FBTyxFQUFDLGNBQWMsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFDLE1BQU0sb0JBQW9CLENBQUM7QUFFN0UsT0FBTyxFQUFDLG9CQUFvQixFQUFFLGlCQUFpQixFQUFFLCtCQUErQixFQUFDLE1BQU0sY0FBYyxDQUFDO0FBQ3RHLE9BQU8sRUFBQyxvQkFBb0IsRUFBNEIsTUFBTSx1QkFBdUIsQ0FBQztBQUN0RixPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sYUFBYSxDQUFDOzs7O0FBSTFDLE1BQU0sT0FBTyx3QkFBd0I7SUFzQm5DLFlBQ21CLEtBQTJCLEVBQzNCLE1BQXFCLEVBQ0ksWUFBd0M7UUFGakUsVUFBSyxHQUFMLEtBQUssQ0FBc0I7UUFDM0IsV0FBTSxHQUFOLE1BQU0sQ0FBZTtRQXRCOUIsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBSzVDLHNEQUFzRDtRQUM1QyxzQkFBaUIsR0FBK0MsSUFBSSxlQUFlLENBQUMsRUFBRSxDQUFDLENBQUM7UUFXbEcsOEJBQThCO1FBQ2QsbUJBQWMsR0FBRyxJQUFJLEdBQUcsRUFBNEIsQ0FB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OlsiaW1wb3J0IHtJbmplY3QsIEluamVjdGFibGUsIE9uRGVzdHJveSwgT3B0aW9uYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtzZWxlY3QsIFN0b3JlfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9ufSBmcm9tICdyeGpzJztcbmltcG9ydCB7ZmlsdGVyLCBtYXAsIHNoYXJlUmVwbGF5LCBzd2l0Y2hNYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB0eXBlIHtBY3Rpb25CbG9jaywgRmFjdCwgT3BlcmF0b3IsIFJ1bGVzZXQsIFVuYXJ5T3BlcmF0b3J9IGZyb20gJy4uLy4uL2VuZ2luZS9pbmRleCc7XG5pbXBvcnQge0VuZ2luZURlYnVnZ2VyLCBvcGVyYXRvckxpc3QsIFJ1bGVzRW5naW5lfSBmcm9tICcuLi8uLi9lbmdpbmUvaW5kZXgnO1xuaW1wb3J0IHR5cGUge1J1bGVzZXRzU3RvcmV9IGZyb20gJy4uLy4uL3N0b3Jlcyc7XG5pbXBvcnQge3NlbGVjdEFjdGl2ZVJ1bGVTZXRzLCBzZWxlY3RBbGxSdWxlc2V0cywgc2VsZWN0Q29tcG9uZW50c0xpbmtlZFRvUnVsZXNldH0gZnJvbSAnLi4vLi4vc3RvcmVzJztcbmltcG9ydCB7UlVMRVNfRU5HSU5FX09QVElPTlMsIFJ1bGVzRW5naW5lU2VydmljZU9wdGlvbnN9IGZyb20gJy4uL3J1bGVzLWVuZ2luZS50b2tlbic7XG5pbXBvcnQge0xvZ2dlclNlcnZpY2V9IGZyb20gJ0BvM3IvbG9nZ2VyJztcbmltcG9ydCB0eXBlIHtSdWxlc0VuZ2luZUFjdGlvbkhhbmRsZXJ9IGZyb20gJ0BvM3IvY29yZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBSdWxlc0VuZ2luZVJ1bm5lclNlcnZpY2UgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuXG4gIHByb3RlY3RlZCBzdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG5cbiAgLyoqIFJ1bGVzZXRzIHRvIHJlc3RyaWN0IHRoZSBleGVjdXRpb24gb2YgdGhlIGVuZ2luZSAqL1xuICBwcm90ZWN0ZWQgcnVsZVNldHMkOiBPYnNlcnZhYmxlPHN0cmluZ1tdIHwgdW5kZWZpbmVkPjtcblxuICAvKiogT2JzZXJ2YWJsZSBvZiBjb21wb25lbnQgbGlua2VkIHRvIHRoZSBjb21wb25lbnQgKi9cbiAgcHJvdGVjdGVkIGxpbmtlZENvbXBvbmVudHMkOiBCZWhhdmlvclN1YmplY3Q8eyBba2V5OiBzdHJpbmddOiBudW1iZXIgfT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KHt9KTtcblxuICAvKiogTWFwIG9mIGVuZ2luZXMgZGVkaWNhdGVkIHRvIGVhY2ggcnVsZSBzZXRzICovXG4gIHB1YmxpYyByZWFkb25seSBlbmdpbmU6IFJ1bGVzRW5naW5lO1xuXG4gIC8qKiBzdHJlYW0gb2YgdGhlIHdob2xlIHJ1bGVzZXQgcmVzdWx0cyAqL1xuICBwdWJsaWMgZXZlbnRzJDogT2JzZXJ2YWJsZTxBY3Rpb25CbG9ja1tdPjtcblxuICAvKiogRW5hYmxlIGFjdGlvbiBleGVjdXRpb24gb24gbmV3IHN0YXRlIGNoYW5nZSAqL1xuICBwdWJsaWMgZW5hYmxlZDogYm9vbGVhbjtcblxuICAvKiogTGlzdCBvZiBhY3Rpb24gaGFuZGxlcnMgKi9cbiAgcHVibGljIHJlYWRvbmx5IGFjdGlvbkhhbmRsZXJzID0gbmV3IFNldDxSdWxlc0VuZ2luZUFjdGlvbkhhbmRsZXI+KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBzdG9yZTogU3RvcmU8UnVsZXNldHNTdG9yZT4sXG4gICAgcHJpdmF0ZSByZWFkb25seSBsb2dnZXI6IExvZ2dlclNlcnZpY2UsXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChSVUxFU19FTkdJTkVfT1BUSU9OUykgZW5naW5lQ29uZmlnPzogUnVsZXNFbmdpbmVTZXJ2aWNlT3B0aW9ucykge1xuICAgIHRoaXMuZW5hYmxlZCA9ICFlbmdpbmVDb25maWc/LmRyeVJ1bjtcbiAgICB0aGlzLmVuZ2luZSA9IG5ldyBSdWxlc0VuZ2luZSh7XG4gICAgICBkZWJ1Z2dlcjogZW5naW5lQ29uZmlnPy5kZWJ1ZyA/IG5ldyBFbmdpbmVEZWJ1Z2dlcih7ZXZlbnRzU3RhY2tMaW1pdDogZW5naW5lQ29uZmlnPy5kZWJ1Z0V2ZW50c1N0YWNrTGltaXR9KSA6IHVuZGVmaW5lZCxcbiAgICAgIGxvZ2dlcjogdGhpcy5sb2dnZXJcbiAgICB9KTtcbiAgICB0aGlzLnJ1bGVTZXRzJCA9IGNvbWJpbmVMYXRlc3QoW1xuICAgICAgdGhpcy5zdG9yZS5waXBlKHNlbGVjdChzZWxlY3RBY3RpdmVSdWxlU2V0cykpLFxuICAgICAgdGhpcy5saW5rZWRDb21wb25lbnRzJC5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoKGxpbmtlZENvbXBvbmVudHNOYW1lc01hcCkgPT4gdGhpcy5zdG9yZS5waXBlKFxuICAgICAgICAgIHNlbGVjdChzZWxlY3RDb21wb25lbnRzTGlua2VkVG9SdWxlc2V0KSxcbiAgICAgICAgICBtYXAoKHJ1bGVzZXRzV2l0aExpbmtlZENvbXBvbmVudHNNYXApID0+XG4gICAgICAgICAgICBPYmplY3Qua2V5cyhydWxlc2V0c1dpdGhMaW5rZWRDb21wb25lbnRzTWFwLm9yKS5maWx0ZXIoKHJ1bGVzZXRJZCkgPT5cbiAgICAgICAgICAgICAgcnVsZXNldHNXaXRoTGlua2VkQ29tcG9uZW50c01hcC5vcltydWxlc2V0SWRdLnNvbWUoKGNvbXBvbmVudElkKSA9PiBsaW5rZWRDb21wb25lbnRzTmFtZXNNYXBbY29tcG9uZW50SWRdID4gMClcbiAgICAgICAgICAgIClcbiAgICAgICAgICApXG4gICAgICAgICkpXG4gICAgICApXG4gICAgXSkucGlwZShcbiAgICAgIG1hcCgoW2FjdGl2ZVJ1bGVzZXRzLCBsaW5rZWRDb21wb25lbnRzUnVsZXNldHNJZHNdKSA9PiAoWy4uLmFjdGl2ZVJ1bGVzZXRzLCAuLi5saW5rZWRDb21wb25lbnRzUnVsZXNldHNJZHNdKSlcbiAgICApO1xuXG4gICAgdGhpcy5ldmVudHMkID0gdGhpcy5ydWxlU2V0cyQucGlwZShcbiAgICAgIHRoaXMuZW5naW5lLmdldEV2ZW50U3RyZWFtPEFjdGlvbkJsb2NrPigpLFxuICAgICAgc2hhcmVSZXBsYXkoMSlcbiAgICApO1xuXG4gICAgdGhpcy51cHNlcnRPcGVyYXRvcnMob3BlcmF0b3JMaXN0KTtcblxuICAgIHRoaXMuc3Vic2NyaXB0aW9uLmFkZChcbiAgICAgIHRoaXMuc3RvcmUucGlwZShcbiAgICAgICAgc2VsZWN0KHNlbGVjdEFsbFJ1bGVzZXRzKVxuICAgICAgKS5zdWJzY3JpYmUoKHJ1bGVzZXRzOiBSdWxlc2V0W10pID0+IHRoaXMuZW5naW5lLnVwc2VydFJ1bGVzZXRzKHJ1bGVzZXRzKSlcbiAgICApO1xuXG4gICAgdGhpcy5zdWJzY3JpcHRpb24uYWRkKFxuICAgICAgdGhpcy5ldmVudHMkLnBpcGUoZmlsdGVyKCgpID0+IHRoaXMuZW5hYmxlZCkpLnN1YnNjcmliZShhc3luYyAoZXZlbnRzKSA9PiB7XG4gICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdTdGFydCBSdWxlcyBFbmdpbmUgYWN0aW9uIGV4ZWN1dGVkJyk7XG4gICAgICAgIGF3YWl0IHRoaXMuZXhlY3V0ZUFjdGlvbnMoZXZlbnRzKTtcbiAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoJ0FsbCBSdWxlcyBFbmdpbmUgYWN0aW9ucyBleGVjdXRlZCcpO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEV4ZWN1dGUgdGhlIGxpc3Qgb2YgYWN0aW9uc1xuICAgKiBAcGFyYW0gYWN0aW9uc1xuICAgKi9cbiAgcHJvdGVjdGVkIGFzeW5jIGV4ZWN1dGVBY3Rpb25zKGFjdGlvbnM6IEFjdGlvbkJsb2NrW10pIHtcbiAgICBjb25zdCBhY3Rpb25IYW5kbGVycyA9IFsuLi50aGlzLmFjdGlvbkhhbmRsZXJzXTtcblxuICAgIGNvbnN0IHN1cHBvcnRlZEFjdGlvbnMgPSBuZXcgU2V0KGFjdGlvbkhhbmRsZXJzLm1hcCgoaGFuZGxlcikgPT4gaGFuZGxlci5zdXBwb3J0aW5nQWN0aW9ucykuZmxhdCgpKTtcblxuICAgIGNvbnN0IGFjdGlvbk1hcHMgPSBhY3Rpb25zXG4gICAgICAuZmlsdGVyKChhY3Rpb24pID0+IHtcbiAgICAgICAgY29uc3QgaXNLbm93biA9IHN1cHBvcnRlZEFjdGlvbnMuaGFzKGFjdGlvbi5hY3Rpb25UeXBlKTtcbiAgICAgICAgaWYgKCFpc0tub3duKSB7XG4gICAgICAgICAgdGhpcy5sb2dnZXIud2FybihgVGhlIGFjdGlvbiAke2FjdGlvbi5hY3Rpb25UeXBlfSBkb2VzIG5vdCBoYXZlIHJlZ2lzdGVyZWQgaGFuZGxlcmApO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBpc0tub3duO1xuICAgICAgfSlcbiAgICAgIC5yZWR1Y2UoKGFjYywgYWN0aW9uKSA9PiB7XG4gICAgICAgIGFjY1thY3Rpb24uYWN0aW9uVHlwZV0gfHw9IFtdO1xuICAgICAgICBhY2NbYWN0aW9uLmFjdGlvblR5cGVdLnB1c2goYWN0aW9uKTtcbiAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgIH0sIHt9IGFzIFJlY29yZDxzdHJpbmcsIEFjdGlvbkJsb2NrW10+KTtcblxuICAgIGNvbnN0IGhhbmRsaW5nID0gYWN0aW9uSGFuZGxlcnNcbiAgICAgIC5tYXAoKGhhbmRsZXIpID0+XG4gICAgICAgIGhhbmRsZXIuZXhlY3V0ZUFjdGlvbnMoXG4gICAgICAgICAgaGFuZGxlci5zdXBwb3J0aW5nQWN0aW9uc1xuICAgICAgICAgICAgLmZpbHRlcigoc3VwcG9ydGVkQWN0aW9uKSA9PiBhY3Rpb25NYXBzW3N1cHBvcnRlZEFjdGlvbl0pXG4gICAgICAgICAgICAucmVkdWNlPEFjdGlvbkJsb2NrW10+KChhY2MsIHN1cHBvcnRlZEFjdGlvbikgPT4gYWNjLmNvbmNhdChhY3Rpb25NYXBzW3N1cHBvcnRlZEFjdGlvbl0pLCBbXSlcbiAgICAgICAgKVxuICAgICAgKTtcblxuICAgIGF3YWl0IFByb21pc2UuYWxsKGhhbmRsaW5nKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGUgb3IgaW5zZXJ0IGZhY3QgaW4gcnVsZXMgZW5naW5lXG4gICAqIEBwYXJhbSBmYWN0cyBmYWN0IGxpc3QgdG8gYWRkIC8gdXBkYXRlXG4gICAqL1xuICBwdWJsaWMgdXBzZXJ0RmFjdHMoZmFjdHM6IEZhY3Q8dW5rbm93bj4gfCBGYWN0PHVua25vd24+W10pIHtcbiAgICB0aGlzLmVuZ2luZS51cHNlcnRGYWN0cyhmYWN0cyk7XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlIG9yIGluc2VydCBvcGVyYXRvciBpbiBydWxlcyBlbmdpbmVcbiAgICogQHBhcmFtIG9wZXJhdG9ycyBvcGVyYXRvciBsaXN0IHRvIGFkZCAvIHVwZGF0ZVxuICAgKi9cbiAgcHVibGljIHVwc2VydE9wZXJhdG9ycyhvcGVyYXRvcnM6IChPcGVyYXRvcjxhbnksIGFueT4gfCBVbmFyeU9wZXJhdG9yPGFueT4pW10pIHtcbiAgICB0aGlzLmVuZ2luZS51cHNlcnRPcGVyYXRvcnMob3BlcmF0b3JzKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFbmFibGUgdGVtcG9yYXJ5IGEgcnVsZSBzZXRcbiAgICogQHBhcmFtIGNvbXBvbmVudENvbXB1dGVkTmFtZSBOYW1lIG9mIHRoZSBjb21wb25lbnQgdG8gZW5hYmxlIHRoZSBydWxlc2V0IGZvclxuICAgKi9cbiAgcHVibGljIGVuYWJsZVJ1bGVTZXRGb3IoY29tcG9uZW50Q29tcHV0ZWROYW1lOiBzdHJpbmcpIHtcbiAgICBjb25zdCBuZXdNYXAgPSB0aGlzLmxpbmtlZENvbXBvbmVudHMkLnZhbHVlO1xuICAgIG5ld01hcFtjb21wb25lbnRDb21wdXRlZE5hbWVdID0gbmV3TWFwW2NvbXBvbmVudENvbXB1dGVkTmFtZV0gPyBuZXdNYXBbY29tcG9uZW50Q29tcHV0ZWROYW1lXSArIDEgOiAxO1xuICAgIHRoaXMubGlua2VkQ29tcG9uZW50cyQubmV4dChuZXdNYXApO1xuICB9XG5cbiAgLyoqXG4gICAqIERpc2FibGUgdGVtcG9yYXJ5IGEgcnVsZSBzZXRcbiAgICogQHBhcmFtIGNvbXBvbmVudENvbXB1dGVkTmFtZSBOYW1lIG9mIHRoZSBjb21wb25lbnQgdG8gZGlzYWJsZSB0aGUgcnVsZXNldCBmb3JcbiAgICovXG4gIHB1YmxpYyBkaXNhYmxlUnVsZVNldEZvcihjb21wb25lbnRDb21wdXRlZE5hbWU6IHN0cmluZykge1xuICAgIGNvbnN0IG5ld01hcCA9IHRoaXMubGlua2VkQ29tcG9uZW50cyQudmFsdWU7XG4gICAgaWYgKG5ld01hcFtjb21wb25lbnRDb21wdXRlZE5hbWVdID4gMCkge1xuICAgICAgbmV3TWFwW2NvbXBvbmVudENvbXB1dGVkTmFtZV0tLTtcbiAgICAgIHRoaXMubGlua2VkQ29tcG9uZW50cyQubmV4dChuZXdNYXApO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -21,10 +21,10 @@ export class RulesetsEffect {
21
21
  */
22
22
  this.upsertEntitiesFromApi$ = createEffect(() => this.actions$.pipe(ofType(upsertRulesetsEntitiesFromApi), mergeMap((payload) => from(payload.call).pipe(map((reply) => upsertRulesetsEntities({ entities: reply, requestId: payload.requestId })), catchError((err) => of(failRulesetsEntities({ error: err, requestId: payload.requestId })))))));
23
23
  }
24
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: RulesetsEffect, deps: [{ token: i1.Actions }], target: i0.ɵɵFactoryTarget.Injectable }); }
25
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: RulesetsEffect }); }
24
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: RulesetsEffect, deps: [{ token: i1.Actions }], target: i0.ɵɵFactoryTarget.Injectable }); }
25
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: RulesetsEffect }); }
26
26
  }
27
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: RulesetsEffect, decorators: [{
27
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: RulesetsEffect, decorators: [{
28
28
  type: Injectable
29
29
  }], ctorParameters: () => [{ type: i1.Actions }] });
30
30
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZXNldHMuZWZmZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3N0b3Jlcy9ydWxlc2V0cy9ydWxlc2V0cy5lZmZlY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ25ELE9BQU8sRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2hDLE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNELE9BQU8sRUFDTCxxQkFBcUIsRUFDckIsb0JBQW9CLEVBQ3BCLG1CQUFtQixFQUNuQiwwQkFBMEIsRUFDMUIsc0JBQXNCLEVBQ3RCLDZCQUE2QixFQUM5QixNQUFNLG9CQUFvQixDQUFDOzs7QUFFNUI7O0dBRUc7QUFFSCxNQUFNLE9BQU8sY0FBYztJQStCekIsWUFBc0IsUUFBaUI7UUFBakIsYUFBUSxHQUFSLFFBQVEsQ0FBUztRQTdCdkM7O1dBRUc7UUFDSSx3QkFBbUIsR0FBRyxZQUFZLENBQUMsR0FBRyxFQUFFLENBQzdDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUNoQixNQUFNLENBQUMsMEJBQTBCLENBQUMsRUFDbEMsc0JBQXNCLENBQ3BCLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxFQUFFLENBQUMsbUJBQW1CLENBQUMsRUFBQyxRQUFRLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLENBQUMsU0FBUyxFQUFDLENBQUMsRUFDdEYsQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsb0JBQW9CLENBQUMsRUFBQyxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sQ0FBQyxTQUFTLEVBQUMsQ0FBQyxDQUFDLEVBQ2pGLHFCQUFxQixDQUN0QixDQUNGLENBQ0YsQ0FBQztRQUVGOztXQUVHO1FBQ0ksMkJBQXNCLEdBQUcsWUFBWSxDQUFDLEdBQUcsRUFBRSxDQUNoRCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FDaEIsTUFBTSxDQUFDLDZCQUE2QixDQUFDLEVBQ3JDLFFBQVEsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQ25CLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUNyQixHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLHNCQUFzQixDQUFDLEVBQUMsUUFBUSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsT0FBTyxDQUFDLFNBQVMsRUFBQyxDQUFDLENBQUMsRUFDdkYsVUFBVSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsb0JBQW9CLENBQUMsRUFBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxPQUFPLENBQUMsU0FBUyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQzFGLENBQ0YsQ0FDRixDQUNGLENBQUM7SUFHRixDQUFDO2lJQWhDVSxjQUFjO3FJQUFkLGNBQWM7OzJGQUFkLGNBQWM7a0JBRDFCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3Rpb25zLCBjcmVhdGVFZmZlY3QsIG9mVHlwZSB9IGZyb20gJ0BuZ3J4L2VmZmVjdHMnO1xuaW1wb3J0IHsgZnJvbUFwaUVmZmVjdFN3aXRjaE1hcCB9IGZyb20gJ0BvM3IvY29yZSc7XG5pbXBvcnQgeyBmcm9tLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgbWFwLCBtZXJnZU1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7XG4gIGNhbmNlbFJ1bGVzZXRzUmVxdWVzdCxcbiAgZmFpbFJ1bGVzZXRzRW50aXRpZXMsXG4gIHNldFJ1bGVzZXRzRW50aXRpZXMsXG4gIHNldFJ1bGVzZXRzRW50aXRpZXNGcm9tQXBpLFxuICB1cHNlcnRSdWxlc2V0c0VudGl0aWVzLFxuICB1cHNlcnRSdWxlc2V0c0VudGl0aWVzRnJvbUFwaVxufSBmcm9tICcuL3J1bGVzZXRzLmFjdGlvbnMnO1xuXG4vKipcbiAqIFNlcnZpY2UgdG8gaGFuZGxlIGFzeW5jIFJ1bGVzZXRzIGFjdGlvbnNcbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFJ1bGVzZXRzRWZmZWN0IHtcblxuICAvKipcbiAgICogU2V0IHRoZSBlbnRpdGllcyB3aXRoIHRoZSByZXBseSBjb250ZW50LCBkaXNwYXRjaCBmYWlsUnVsZXNldHNFbnRpdGllcyBpZiBpdCBjYXRjaGVzIGEgZmFpbHVyZVxuICAgKi9cbiAgcHVibGljIHNldEVudGl0aWVzRnJvbUFwaSQgPSBjcmVhdGVFZmZlY3QoKCkgPT5cbiAgICB0aGlzLmFjdGlvbnMkLnBpcGUoXG4gICAgICBvZlR5cGUoc2V0UnVsZXNldHNFbnRpdGllc0Zyb21BcGkpLFxuICAgICAgZnJvbUFwaUVmZmVjdFN3aXRjaE1hcChcbiAgICAgICAgKHJlcGx5LCBhY3Rpb24pID0+IHNldFJ1bGVzZXRzRW50aXRpZXMoe2VudGl0aWVzOiByZXBseSwgcmVxdWVzdElkOiBhY3Rpb24ucmVxdWVzdElkfSksXG4gICAgICAgIChlcnJvciwgYWN0aW9uKSA9PiBvZihmYWlsUnVsZXNldHNFbnRpdGllcyh7ZXJyb3IsIHJlcXVlc3RJZDogYWN0aW9uLnJlcXVlc3RJZH0pKSxcbiAgICAgICAgY2FuY2VsUnVsZXNldHNSZXF1ZXN0XG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIC8qKlxuICAgKiBVcHNlcnQgdGhlIGVudGl0aWVzIHdpdGggdGhlIHJlcGx5IGNvbnRlbnQsIGRpc3BhdGNoIGZhaWxSdWxlc2V0c0VudGl0aWVzIGlmIGl0IGNhdGNoZXMgYSBmYWlsdXJlXG4gICAqL1xuICBwdWJsaWMgdXBzZXJ0RW50aXRpZXNGcm9tQXBpJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PlxuICAgIHRoaXMuYWN0aW9ucyQucGlwZShcbiAgICAgIG9mVHlwZSh1cHNlcnRSdWxlc2V0c0VudGl0aWVzRnJvbUFwaSksXG4gICAgICBtZXJnZU1hcCgocGF5bG9hZCkgPT5cbiAgICAgICAgZnJvbShwYXlsb2FkLmNhbGwpLnBpcGUoXG4gICAgICAgICAgbWFwKChyZXBseSkgPT4gdXBzZXJ0UnVsZXNldHNFbnRpdGllcyh7ZW50aXRpZXM6IHJlcGx5LCByZXF1ZXN0SWQ6IHBheWxvYWQucmVxdWVzdElkfSkpLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycikgPT4gb2YoZmFpbFJ1bGVzZXRzRW50aXRpZXMoe2Vycm9yOiBlcnIsIHJlcXVlc3RJZDogcGF5bG9hZC5yZXF1ZXN0SWR9KSkpXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIGFjdGlvbnMkOiBBY3Rpb25zKSB7XG4gIH1cbn1cbiJdfQ==
@@ -22,13 +22,13 @@ export class RulesetsStoreModule {
22
22
  ]
23
23
  };
24
24
  }
25
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: RulesetsStoreModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
26
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.1", ngImport: i0, type: RulesetsStoreModule, imports: [i1.StoreFeatureModule, i2.EffectsFeatureModule] }); }
27
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: RulesetsStoreModule, providers: [
25
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: RulesetsStoreModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
26
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.6", ngImport: i0, type: RulesetsStoreModule, imports: [i1.StoreFeatureModule, i2.EffectsFeatureModule] }); }
27
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: RulesetsStoreModule, providers: [
28
28
  { provide: RULESETS_REDUCER_TOKEN, useFactory: getDefaultRulesetsReducer }
29
29
  ], imports: [StoreModule.forFeature(RULESETS_STORE_NAME, RULESETS_REDUCER_TOKEN), EffectsModule.forFeature([RulesetsEffect])] }); }
30
30
  }
31
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: RulesetsStoreModule, decorators: [{
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: RulesetsStoreModule, decorators: [{
32
32
  type: NgModule,
33
33
  args: [{
34
34
  imports: [
@@ -26,7 +26,7 @@ const isValidDate = (d) => !isNaN(d) && d instanceof Date;
26
26
  * Only if the ruleset is NOT onDemand (this means it is taken into consideration for the runs), the validity is checked
27
27
  */
28
28
  export const selectActiveRuleSets = createSelector(selectAllRulesets, (ruleSets) => ruleSets.filter((ruleSet) => {
29
- if (ruleSet.linkedComponent) {
29
+ if (ruleSet.linkedComponents?.or?.length || ruleSet.linkedComponent) {
30
30
  return false;
31
31
  }
32
32
  const validity = ruleSet.validityRange;
@@ -47,17 +47,58 @@ export const selectActiveRuleSets = createSelector(selectAllRulesets, (ruleSets)
47
47
  }
48
48
  return to && to.getTime() >= time;
49
49
  }).map((ruleSet) => ruleSet.id));
50
+ /*
51
+ * Assign rulesetId to a component
52
+ * @deprecated; It will be rmeoved in v12 with the selector using it
53
+ */
54
+ function linkRulesetToComponent(compName, library, ruleSetId, acc = {}) {
55
+ const configName = computeItemIdentifier(compName, library);
56
+ acc[configName] ||= [];
57
+ acc[configName].push(ruleSetId);
58
+ }
59
+ /* Assign component to RulesetIds Map */
60
+ function linkComponentToRuleset(compName, library, ruleSetId, acc = {}) {
61
+ const configName = computeItemIdentifier(compName, library);
62
+ acc[ruleSetId] ||= [];
63
+ acc[ruleSetId].push(configName);
64
+ }
50
65
  /**
51
66
  * Select the map of ruleSet to activate based on the component computed name
67
+ * @deprecated use {@link selectComponentsLinkedToRuleset} instead. It will be removed in v12
52
68
  */
53
69
  export const selectRuleSetLinkComponents = createSelector(selectAllRulesets, (ruleSets) => ruleSets
54
70
  .reduce((acc, ruleSet) => {
55
- if (!ruleSet.linkedComponent) {
71
+ if ((!ruleSet.linkedComponents?.or || ruleSet.linkedComponents.or.length === 0) && !ruleSet.linkedComponent) {
56
72
  return acc;
57
73
  }
58
- const configName = computeItemIdentifier(ruleSet.linkedComponent.name, ruleSet.linkedComponent.library);
59
- acc[configName] ||= [];
60
- acc[configName].push(ruleSet.id);
74
+ if (ruleSet.linkedComponents?.or?.length) {
75
+ ruleSet.linkedComponents.or.forEach(linkComp => {
76
+ linkRulesetToComponent(linkComp.name, linkComp.library, ruleSet.id, acc);
77
+ });
78
+ return acc;
79
+ }
80
+ if (ruleSet.linkedComponent) {
81
+ linkRulesetToComponent(ruleSet.linkedComponent.name, ruleSet.linkedComponent.library, ruleSet.id, acc);
82
+ }
61
83
  return acc;
62
84
  }, {}));
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZXNldHMuc2VsZWN0b3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3N0b3Jlcy9ydWxlc2V0cy9ydWxlc2V0cy5zZWxlY3RvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHFCQUFxQixFQUFFLGNBQWMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNwRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFbEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxtQkFBbUIsRUFBaUIsTUFBTSxrQkFBa0IsQ0FBQztBQUV0RSxNQUFNLEVBQUMsU0FBUyxFQUFFLGNBQWMsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFDLEdBQUcsZUFBZSxDQUFDLFlBQVksRUFBRSxDQUFDO0FBRTNGLDRCQUE0QjtBQUM1QixNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxxQkFBcUIsQ0FBZ0IsbUJBQW1CLENBQUMsQ0FBQztBQUU3Rix1Q0FBdUM7QUFDdkMsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsY0FBYyxDQUFDLG1CQUFtQixFQUFFLFNBQVMsQ0FBQyxDQUFDO0FBRWhGLG1DQUFtQztBQUNuQyxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxjQUFjLENBQUMsbUJBQW1CLEVBQUUsU0FBUyxDQUFDLENBQUM7QUFFaEYsaURBQWlEO0FBQ2pELE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLGNBQWMsQ0FBQyxtQkFBbUIsRUFBRSxjQUFjLENBQUMsQ0FBQztBQUUxRixzQ0FBc0M7QUFDdEMsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsY0FBYyxDQUFDLG1CQUFtQixFQUFFLFdBQVcsQ0FBQyxDQUFDO0FBRXBGLHNDQUFzQztBQUN0QyxNQUFNLENBQUMsTUFBTSxnQ0FBZ0MsR0FBRyxjQUFjLENBQUMsbUJBQW1CLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxTQUFTLElBQUksS0FBSyxDQUFDLENBQUM7QUFFekg7OztHQUdHO0FBQ0gsTUFBTSxXQUFXLEdBQUcsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxJQUFJLENBQUM7QUFFL0Q7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLGNBQWMsQ0FDaEQsaUJBQWlCLEVBQ2pCLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBZ0IsRUFBRSxFQUFFO0lBRWpELElBQUksT0FBTyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQzVCLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyxhQUFhLENBQUM7SUFDdkMsSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxFQUFFLENBQUM7UUFDaEQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsTUFBTSxJQUFJLEdBQUcsUUFBUSxDQUFDLElBQUksSUFBSSxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdEQsTUFBTSxFQUFFLEdBQUcsUUFBUSxDQUFDLEVBQUUsSUFBSSxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7SUFFaEQsSUFBSSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7UUFDekQsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBQ0QsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO0lBQ3hCLElBQUksRUFBRSxJQUFJLElBQUksRUFBRSxDQUFDO1FBQ2YsT0FBTyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksSUFBSSxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsSUFBSSxJQUFJLENBQUM7SUFDeEQsQ0FBQztJQUVELElBQUksSUFBSSxFQUFFLENBQUM7UUFDVCxPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxJQUFJLENBQUM7SUFDaEMsQ0FBQztJQUVELE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsSUFBSSxJQUFJLENBQUM7QUFDcEMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBZ0IsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFFNUM7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSwyQkFBMkIsR0FBRyxjQUFjLENBQ3ZELGlCQUFpQixFQUNqQixDQUFDLFFBQVEsRUFBRSxFQUFFLENBQ1gsUUFBUTtLQUNMLE1BQU0sQ0FBQyxDQUFDLEdBQTZCLEVBQUUsT0FBZ0IsRUFBRSxFQUFFO0lBQzFELElBQUksQ0FBQyxPQUFPLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDN0IsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBQ0QsTUFBTSxVQUFVLEdBQUcscUJBQXFCLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN4RyxHQUFHLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3ZCLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ2pDLE9BQU8sR0FBRyxDQUFDO0FBQ2IsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUNYLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVGZWF0dXJlU2VsZWN0b3IsIGNyZWF0ZVNlbGVjdG9yIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgY29tcHV0ZUl0ZW1JZGVudGlmaWVyIH0gZnJvbSAnQG8zci9jb3JlJztcbmltcG9ydCB0eXBlIHsgUnVsZXNldCB9IGZyb20gJy4uLy4uL2VuZ2luZSc7XG5pbXBvcnQgeyBydWxlc2V0c0FkYXB0ZXIgfSBmcm9tICcuL3J1bGVzZXRzLnJlZHVjZXInO1xuaW1wb3J0IHsgUlVMRVNFVFNfU1RPUkVfTkFNRSwgUnVsZXNldHNTdGF0ZSB9IGZyb20gJy4vcnVsZXNldHMuc3RhdGUnO1xuXG5jb25zdCB7c2VsZWN0SWRzLCBzZWxlY3RFbnRpdGllcywgc2VsZWN0QWxsLCBzZWxlY3RUb3RhbH0gPSBydWxlc2V0c0FkYXB0ZXIuZ2V0U2VsZWN0b3JzKCk7XG5cbi8qKiBTZWxlY3QgUnVsZXNldHMgU3RhdGUgKi9cbmV4cG9ydCBjb25zdCBzZWxlY3RSdWxlc2V0c1N0YXRlID0gY3JlYXRlRmVhdHVyZVNlbGVjdG9yPFJ1bGVzZXRzU3RhdGU+KFJVTEVTRVRTX1NUT1JFX05BTUUpO1xuXG4vKiogU2VsZWN0IHRoZSBhcnJheSBvZiBSdWxlc2V0cyBpZHMgKi9cbmV4cG9ydCBjb25zdCBzZWxlY3RSdWxlc2V0c0lkcyA9IGNyZWF0ZVNlbGVjdG9yKHNlbGVjdFJ1bGVzZXRzU3RhdGUsIHNlbGVjdElkcyk7XG5cbi8qKiBTZWxlY3QgdGhlIGFycmF5IG9mIFJ1bGVzZXRzICovXG5leHBvcnQgY29uc3Qgc2VsZWN0QWxsUnVsZXNldHMgPSBjcmVhdGVTZWxlY3RvcihzZWxlY3RSdWxlc2V0c1N0YXRlLCBzZWxlY3RBbGwpO1xuXG4vKiogU2VsZWN0IHRoZSBkaWN0aW9uYXJ5IG9mIFJ1bGVzZXRzIGVudGl0aWVzICovXG5leHBvcnQgY29uc3Qgc2VsZWN0UnVsZXNldHNFbnRpdGllcyA9IGNyZWF0ZVNlbGVjdG9yKHNlbGVjdFJ1bGVzZXRzU3RhdGUsIHNlbGVjdEVudGl0aWVzKTtcblxuLyoqIFNlbGVjdCB0aGUgdG90YWwgUnVsZXNldHMgY291bnQgKi9cbmV4cG9ydCBjb25zdCBzZWxlY3RSdWxlc2V0c1RvdGFsID0gY3JlYXRlU2VsZWN0b3Ioc2VsZWN0UnVsZXNldHNTdGF0ZSwgc2VsZWN0VG90YWwpO1xuXG4vKiogU2VsZWN0IHRoZSBzdG9yZSBwZW5kaW5nIHN0YXR1cyAqL1xuZXhwb3J0IGNvbnN0IHNlbGVjdFJ1bGVzZXRzU3RvcmVQZW5kaW5nU3RhdHVzID0gY3JlYXRlU2VsZWN0b3Ioc2VsZWN0UnVsZXNldHNTdGF0ZSwgKHN0YXRlKSA9PiBzdGF0ZS5pc1BlbmRpbmcgfHwgZmFsc2UpO1xuXG4vKipcbiAqIENoZWNrIGlmIHRoZSBnaXZlbiB2YWx1ZSBpcyBhIHZhbGlkIGRhdGVcbiAqIEBwYXJhbSBkXG4gKi9cbmNvbnN0IGlzVmFsaWREYXRlID0gKGQ6IGFueSkgPT4gIWlzTmFOKGQpICYmIGQgaW5zdGFuY2VvZiBEYXRlO1xuXG4vKipcbiAqIFJldHVybnMgb25seSB0aGUgcnVsZXNldHMgaWRzIHdoaWNoIGFyZSBub3Qgb25EZW1hbmQgYW5kIGluIHRoZSB2YWxpZGl0eSByYW5nZVxuICogT25EZW1hbmQgdGFrZXMgcHJlY2VkZW5jZSBvdmVyIHZhbGlkaXR5IHJhbmdlLlxuICogT25seSBpZiB0aGUgcnVsZXNldCBpcyBOT1Qgb25EZW1hbmQgKHRoaXMgbWVhbnMgaXQgaXMgdGFrZW4gaW50byBjb25zaWRlcmF0aW9uIGZvciB0aGUgcnVucyksIHRoZSB2YWxpZGl0eSBpcyBjaGVja2VkXG4gKi9cbmV4cG9ydCBjb25zdCBzZWxlY3RBY3RpdmVSdWxlU2V0cyA9IGNyZWF0ZVNlbGVjdG9yKFxuICBzZWxlY3RBbGxSdWxlc2V0cyxcbiAgKHJ1bGVTZXRzKSA9PiBydWxlU2V0cy5maWx0ZXIoKHJ1bGVTZXQ6IFJ1bGVzZXQpID0+IHtcblxuICAgIGlmIChydWxlU2V0LmxpbmtlZENvbXBvbmVudCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGNvbnN0IHZhbGlkaXR5ID0gcnVsZVNldC52YWxpZGl0eVJhbmdlO1xuICAgIGlmICghdmFsaWRpdHkgfHwgIXZhbGlkaXR5LmZyb20gJiYgIXZhbGlkaXR5LnRvKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBjb25zdCBmcm9tID0gdmFsaWRpdHkuZnJvbSAmJiBuZXcgRGF0ZSh2YWxpZGl0eS5mcm9tKTtcbiAgICBjb25zdCB0byA9IHZhbGlkaXR5LnRvICYmIG5ldyBEYXRlKHZhbGlkaXR5LnRvKTtcblxuICAgIGlmICh0byAmJiAhaXNWYWxpZERhdGUodG8pIHx8IGZyb20gJiYgIWlzVmFsaWREYXRlKGZyb20pKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGNvbnN0IHRpbWUgPSBEYXRlLm5vdygpO1xuICAgIGlmICh0byAmJiBmcm9tKSB7XG4gICAgICByZXR1cm4gZnJvbS5nZXRUaW1lKCkgPD0gdGltZSAmJiB0by5nZXRUaW1lKCkgPj0gdGltZTtcbiAgICB9XG5cbiAgICBpZiAoZnJvbSkge1xuICAgICAgcmV0dXJuIGZyb20uZ2V0VGltZSgpIDw9IHRpbWU7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRvICYmIHRvLmdldFRpbWUoKSA+PSB0aW1lO1xuICB9KS5tYXAoKHJ1bGVTZXQ6IFJ1bGVzZXQpID0+IHJ1bGVTZXQuaWQpKTtcblxuLyoqXG4gKiBTZWxlY3QgdGhlIG1hcCBvZiBydWxlU2V0IHRvIGFjdGl2YXRlIGJhc2VkIG9uIHRoZSBjb21wb25lbnQgY29tcHV0ZWQgbmFtZVxuICovXG5leHBvcnQgY29uc3Qgc2VsZWN0UnVsZVNldExpbmtDb21wb25lbnRzID0gY3JlYXRlU2VsZWN0b3IoXG4gIHNlbGVjdEFsbFJ1bGVzZXRzLFxuICAocnVsZVNldHMpID0+XG4gICAgcnVsZVNldHNcbiAgICAgIC5yZWR1Y2UoKGFjYzogUmVjb3JkPHN0cmluZywgc3RyaW5nW10+LCBydWxlU2V0OiBSdWxlc2V0KSA9PiB7XG4gICAgICAgIGlmICghcnVsZVNldC5saW5rZWRDb21wb25lbnQpIHtcbiAgICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGNvbmZpZ05hbWUgPSBjb21wdXRlSXRlbUlkZW50aWZpZXIocnVsZVNldC5saW5rZWRDb21wb25lbnQubmFtZSwgcnVsZVNldC5saW5rZWRDb21wb25lbnQubGlicmFyeSk7XG4gICAgICAgIGFjY1tjb25maWdOYW1lXSB8fD0gW107XG4gICAgICAgIGFjY1tjb25maWdOYW1lXS5wdXNoKHJ1bGVTZXQuaWQpO1xuICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgfSwge30pXG4pO1xuIl19
85
+ /**
86
+ * Select the map of ruleSets to activate based on linked components
87
+ */
88
+ export const selectComponentsLinkedToRuleset = createSelector(selectAllRulesets, (ruleSets) => ruleSets
89
+ .reduce((acc, ruleSet) => {
90
+ if ((!ruleSet.linkedComponents?.or || ruleSet.linkedComponents.or.length === 0) && !ruleSet.linkedComponent) {
91
+ return acc;
92
+ }
93
+ if (ruleSet.linkedComponents?.or?.length) {
94
+ ruleSet.linkedComponents.or.forEach(linkComp => {
95
+ linkComponentToRuleset(linkComp.name, linkComp.library, ruleSet.id, acc.or);
96
+ });
97
+ return acc;
98
+ }
99
+ if (ruleSet.linkedComponent) {
100
+ linkComponentToRuleset(ruleSet.linkedComponent.name, ruleSet.linkedComponent.library, ruleSet.id, acc.or);
101
+ }
102
+ return acc;
103
+ }, { or: {} }));
104
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZXNldHMuc2VsZWN0b3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3N0b3Jlcy9ydWxlc2V0cy9ydWxlc2V0cy5zZWxlY3RvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHFCQUFxQixFQUFFLGNBQWMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNwRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFbEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxtQkFBbUIsRUFBaUIsTUFBTSxrQkFBa0IsQ0FBQztBQUV0RSxNQUFNLEVBQUMsU0FBUyxFQUFFLGNBQWMsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFDLEdBQUcsZUFBZSxDQUFDLFlBQVksRUFBRSxDQUFDO0FBRTNGLDRCQUE0QjtBQUM1QixNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxxQkFBcUIsQ0FBZ0IsbUJBQW1CLENBQUMsQ0FBQztBQUU3Rix1Q0FBdUM7QUFDdkMsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsY0FBYyxDQUFDLG1CQUFtQixFQUFFLFNBQVMsQ0FBQyxDQUFDO0FBRWhGLG1DQUFtQztBQUNuQyxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxjQUFjLENBQUMsbUJBQW1CLEVBQUUsU0FBUyxDQUFDLENBQUM7QUFFaEYsaURBQWlEO0FBQ2pELE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLGNBQWMsQ0FBQyxtQkFBbUIsRUFBRSxjQUFjLENBQUMsQ0FBQztBQUUxRixzQ0FBc0M7QUFDdEMsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsY0FBYyxDQUFDLG1CQUFtQixFQUFFLFdBQVcsQ0FBQyxDQUFDO0FBRXBGLHNDQUFzQztBQUN0QyxNQUFNLENBQUMsTUFBTSxnQ0FBZ0MsR0FBRyxjQUFjLENBQUMsbUJBQW1CLEVBQUUsQ0FB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QyxnQkFBZ0IsRUFBRSxFQUFFLElBQUksT0FBTyxDQUFDLGdCQUFnQixDQUFDLEVBQUUsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDNUcsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBQ0QsSUFBSSxPQUFPLENBQUMsZ0JBQWdCLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxDQUFDO1FBQ3pDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQzdDLHNCQUFzQixDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsRUFBRSxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUM5RSxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUNELElBQUksT0FBTyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQzVCLHNCQUFzQixDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxlQUFlLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxFQUFFLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzVHLENBQUM7SUFDRCxPQUFPLEdBQUcsQ0FBQztBQUNiLENBQUMsRUFBRSxFQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUMsQ0FBQyxDQUNqQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3JlYXRlRmVhdHVyZVNlbGVjdG9yLCBjcmVhdGVTZWxlY3RvciB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IGNvbXB1dGVJdGVtSWRlbnRpZmllciB9IGZyb20gJ0BvM3IvY29yZSc7XG5pbXBvcnQgdHlwZSB7IFJ1bGVzZXQgfSBmcm9tICcuLi8uLi9lbmdpbmUnO1xuaW1wb3J0IHsgcnVsZXNldHNBZGFwdGVyIH0gZnJvbSAnLi9ydWxlc2V0cy5yZWR1Y2VyJztcbmltcG9ydCB7IFJVTEVTRVRTX1NUT1JFX05BTUUsIFJ1bGVzZXRzU3RhdGUgfSBmcm9tICcuL3J1bGVzZXRzLnN0YXRlJztcblxuY29uc3Qge3NlbGVjdElkcywgc2VsZWN0RW50aXRpZXMsIHNlbGVjdEFsbCwgc2VsZWN0VG90YWx9ID0gcnVsZXNldHNBZGFwdGVyLmdldFNlbGVjdG9ycygpO1xuXG4vKiogU2VsZWN0IFJ1bGVzZXRzIFN0YXRlICovXG5leHBvcnQgY29uc3Qgc2VsZWN0UnVsZXNldHNTdGF0ZSA9IGNyZWF0ZUZlYXR1cmVTZWxlY3RvcjxSdWxlc2V0c1N0YXRlPihSVUxFU0VUU19TVE9SRV9OQU1FKTtcblxuLyoqIFNlbGVjdCB0aGUgYXJyYXkgb2YgUnVsZXNldHMgaWRzICovXG5leHBvcnQgY29uc3Qgc2VsZWN0UnVsZXNldHNJZHMgPSBjcmVhdGVTZWxlY3RvcihzZWxlY3RSdWxlc2V0c1N0YXRlLCBzZWxlY3RJZHMpO1xuXG4vKiogU2VsZWN0IHRoZSBhcnJheSBvZiBSdWxlc2V0cyAqL1xuZXhwb3J0IGNvbnN0IHNlbGVjdEFsbFJ1bGVzZXRzID0gY3JlYXRlU2VsZWN0b3Ioc2VsZWN0UnVsZXNldHNTdGF0ZSwgc2VsZWN0QWxsKTtcblxuLyoqIFNlbGVjdCB0aGUgZGljdGlvbmFyeSBvZiBSdWxlc2V0cyBlbnRpdGllcyAqL1xuZXhwb3J0IGNvbnN0IHNlbGVjdFJ1bGVzZXRzRW50aXRpZXMgPSBjcmVhdGVTZWxlY3RvcihzZWxlY3RSdWxlc2V0c1N0YXRlLCBzZWxlY3RFbnRpdGllcyk7XG5cbi8qKiBTZWxlY3QgdGhlIHRvdGFsIFJ1bGVzZXRzIGNvdW50ICovXG5leHBvcnQgY29uc3Qgc2VsZWN0UnVsZXNldHNUb3RhbCA9IGNyZWF0ZVNlbGVjdG9yKHNlbGVjdFJ1bGVzZXRzU3RhdGUsIHNlbGVjdFRvdGFsKTtcblxuLyoqIFNlbGVjdCB0aGUgc3RvcmUgcGVuZGluZyBzdGF0dXMgKi9cbmV4cG9ydCBjb25zdCBzZWxlY3RSdWxlc2V0c1N0b3JlUGVuZGluZ1N0YXR1cyA9IGNyZWF0ZVNlbGVjdG9yKHNlbGVjdFJ1bGVzZXRzU3RhdGUsIChzdGF0ZSkgPT4gc3RhdGUuaXNQZW5kaW5nIHx8IGZhbHNlKTtcblxuLyoqXG4gKiBDaGVjayBpZiB0aGUgZ2l2ZW4gdmFsdWUgaXMgYSB2YWxpZCBkYXRlXG4gKiBAcGFyYW0gZFxuICovXG5jb25zdCBpc1ZhbGlkRGF0ZSA9IChkOiBhbnkpID0+ICFpc05hTihkKSAmJiBkIGluc3RhbmNlb2YgRGF0ZTtcblxuLyoqXG4gKiBSZXR1cm5zIG9ubHkgdGhlIHJ1bGVzZXRzIGlkcyB3aGljaCBhcmUgbm90IG9uRGVtYW5kIGFuZCBpbiB0aGUgdmFsaWRpdHkgcmFuZ2VcbiAqIE9uRGVtYW5kIHRha2VzIHByZWNlZGVuY2Ugb3ZlciB2YWxpZGl0eSByYW5nZS5cbiAqIE9ubHkgaWYgdGhlIHJ1bGVzZXQgaXMgTk9UIG9uRGVtYW5kICh0aGlzIG1lYW5zIGl0IGlzIHRha2VuIGludG8gY29uc2lkZXJhdGlvbiBmb3IgdGhlIHJ1bnMpLCB0aGUgdmFsaWRpdHkgaXMgY2hlY2tlZFxuICovXG5leHBvcnQgY29uc3Qgc2VsZWN0QWN0aXZlUnVsZVNldHMgPSBjcmVhdGVTZWxlY3RvcihcbiAgc2VsZWN0QWxsUnVsZXNldHMsXG4gIChydWxlU2V0cykgPT4gcnVsZVNldHMuZmlsdGVyKChydWxlU2V0OiBSdWxlc2V0KSA9PiB7XG5cbiAgICBpZiAocnVsZVNldC5saW5rZWRDb21wb25lbnRzPy5vcj8ubGVuZ3RoIHx8IHJ1bGVTZXQubGlua2VkQ29tcG9uZW50KSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgY29uc3QgdmFsaWRpdHkgPSBydWxlU2V0LnZhbGlkaXR5UmFuZ2U7XG4gICAgaWYgKCF2YWxpZGl0eSB8fCAhdmFsaWRpdHkuZnJvbSAmJiAhdmFsaWRpdHkudG8pIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGNvbnN0IGZyb20gPSB2YWxpZGl0eS5mcm9tICYmIG5ldyBEYXRlKHZhbGlkaXR5LmZyb20pO1xuICAgIGNvbnN0IHRvID0gdmFsaWRpdHkudG8gJiYgbmV3IERhdGUodmFsaWRpdHkudG8pO1xuXG4gICAgaWYgKHRvICYmICFpc1ZhbGlkRGF0ZSh0bykgfHwgZnJvbSAmJiAhaXNWYWxpZERhdGUoZnJvbSkpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgY29uc3QgdGltZSA9IERhdGUubm93KCk7XG4gICAgaWYgKHRvICYmIGZyb20pIHtcbiAgICAgIHJldHVybiBmcm9tLmdldFRpbWUoKSA8PSB0aW1lICYmIHRvLmdldFRpbWUoKSA+PSB0aW1lO1xuICAgIH1cblxuICAgIGlmIChmcm9tKSB7XG4gICAgICByZXR1cm4gZnJvbS5nZXRUaW1lKCkgPD0gdGltZTtcbiAgICB9XG5cbiAgICByZXR1cm4gdG8gJiYgdG8uZ2V0VGltZSgpID49IHRpbWU7XG4gIH0pLm1hcCgocnVsZVNldDogUnVsZXNldCkgPT4gcnVsZVNldC5pZCkpO1xuXG4vKlxuICogQXNzaWduIHJ1bGVzZXRJZCB0byBhIGNvbXBvbmVudFxuICogQGRlcHJlY2F0ZWQ7IEl0IHdpbGwgYmUgcm1lb3ZlZCBpbiB2MTIgd2l0aCB0aGUgc2VsZWN0b3IgdXNpbmcgaXRcbiAqL1xuZnVuY3Rpb24gbGlua1J1bGVzZXRUb0NvbXBvbmVudChjb21wTmFtZTogc3RyaW5nLCBsaWJyYXJ5OiBzdHJpbmcsIHJ1bGVTZXRJZDogc3RyaW5nLCBhY2M6IFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPiA9IHt9KSB7XG4gIGNvbnN0IGNvbmZpZ05hbWUgPSBjb21wdXRlSXRlbUlkZW50aWZpZXIoY29tcE5hbWUsIGxpYnJhcnkpO1xuICBhY2NbY29uZmlnTmFtZV0gfHw9IFtdO1xuICBhY2NbY29uZmlnTmFtZV0ucHVzaChydWxlU2V0SWQpO1xufVxuXG4vKiBBc3NpZ24gY29tcG9uZW50IHRvIFJ1bGVzZXRJZHMgTWFwICovXG5mdW5jdGlvbiBsaW5rQ29tcG9uZW50VG9SdWxlc2V0KGNvbXBOYW1lOiBzdHJpbmcsIGxpYnJhcnk6IHN0cmluZywgcnVsZVNldElkOiBzdHJpbmcsIGFjYzogUmVjb3JkPHN0cmluZywgc3RyaW5nW10+ID0ge30pIHtcbiAgY29uc3QgY29uZmlnTmFtZSA9IGNvbXB1dGVJdGVtSWRlbnRpZmllcihjb21wTmFtZSwgbGlicmFyeSk7XG4gIGFjY1tydWxlU2V0SWRdIHx8PSBbXTtcbiAgYWNjW3J1bGVTZXRJZF0ucHVzaChjb25maWdOYW1lKTtcbn1cblxuXG4vKipcbiAqIFNlbGVjdCB0aGUgbWFwIG9mIHJ1bGVTZXQgdG8gYWN0aXZhdGUgYmFzZWQgb24gdGhlIGNvbXBvbmVudCBjb21wdXRlZCBuYW1lXG4gKiBAZGVwcmVjYXRlZCB1c2Uge0BsaW5rIHNlbGVjdENvbXBvbmVudHNMaW5rZWRUb1J1bGVzZXR9IGluc3RlYWQuIEl0IHdpbGwgYmUgcmVtb3ZlZCBpbiB2MTJcbiAqL1xuZXhwb3J0IGNvbnN0IHNlbGVjdFJ1bGVTZXRMaW5rQ29tcG9uZW50cyA9IGNyZWF0ZVNlbGVjdG9yKFxuICBzZWxlY3RBbGxSdWxlc2V0cyxcbiAgKHJ1bGVTZXRzKSA9PlxuICAgIHJ1bGVTZXRzXG4gICAgICAucmVkdWNlKChhY2M6IFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPiwgcnVsZVNldDogUnVsZXNldCkgPT4ge1xuICAgICAgICBpZiAoKCFydWxlU2V0LmxpbmtlZENvbXBvbmVudHM/Lm9yIHx8IHJ1bGVTZXQubGlua2VkQ29tcG9uZW50cy5vci5sZW5ndGggPT09IDApICYmICFydWxlU2V0LmxpbmtlZENvbXBvbmVudCkge1xuICAgICAgICAgIHJldHVybiBhY2M7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHJ1bGVTZXQubGlua2VkQ29tcG9uZW50cz8ub3I/Lmxlbmd0aCkge1xuICAgICAgICAgIHJ1bGVTZXQubGlua2VkQ29tcG9uZW50cy5vci5mb3JFYWNoKGxpbmtDb21wID0+IHtcbiAgICAgICAgICAgIGxpbmtSdWxlc2V0VG9Db21wb25lbnQobGlua0NvbXAubmFtZSwgbGlua0NvbXAubGlicmFyeSwgcnVsZVNldC5pZCwgYWNjKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgICB9XG4gICAgICAgIGlmIChydWxlU2V0LmxpbmtlZENvbXBvbmVudCkge1xuICAgICAgICAgIGxpbmtSdWxlc2V0VG9Db21wb25lbnQocnVsZVNldC5saW5rZWRDb21wb25lbnQubmFtZSwgcnVsZVNldC5saW5rZWRDb21wb25lbnQubGlicmFyeSwgcnVsZVNldC5pZCwgYWNjKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgfSwge30pXG4pO1xuXG4vKipcbiAqIFNlbGVjdCB0aGUgbWFwIG9mIHJ1bGVTZXRzIHRvIGFjdGl2YXRlIGJhc2VkIG9uIGxpbmtlZCBjb21wb25lbnRzXG4gKi9cbmV4cG9ydCBjb25zdCBzZWxlY3RDb21wb25lbnRzTGlua2VkVG9SdWxlc2V0ID0gY3JlYXRlU2VsZWN0b3IoXG4gIHNlbGVjdEFsbFJ1bGVzZXRzLFxuICAocnVsZVNldHMpID0+XG4gICAgcnVsZVNldHNcbiAgICAgIC5yZWR1Y2UoKGFjYzoge29yOiB7W2tleTogc3RyaW5nXTogc3RyaW5nW119fSwgcnVsZVNldDogUnVsZXNldCkgPT4ge1xuICAgICAgICBpZiAoKCFydWxlU2V0LmxpbmtlZENvbXBvbmVudHM/Lm9yIHx8IHJ1bGVTZXQubGlua2VkQ29tcG9uZW50cy5vci5sZW5ndGggPT09IDApICYmICFydWxlU2V0LmxpbmtlZENvbXBvbmVudCkge1xuICAgICAgICAgIHJldHVybiBhY2M7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHJ1bGVTZXQubGlua2VkQ29tcG9uZW50cz8ub3I/Lmxlbmd0aCkge1xuICAgICAgICAgIHJ1bGVTZXQubGlua2VkQ29tcG9uZW50cy5vci5mb3JFYWNoKGxpbmtDb21wID0+IHtcbiAgICAgICAgICAgIGxpbmtDb21wb25lbnRUb1J1bGVzZXQobGlua0NvbXAubmFtZSwgbGlua0NvbXAubGlicmFyeSwgcnVsZVNldC5pZCwgYWNjLm9yKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgICB9XG4gICAgICAgIGlmIChydWxlU2V0LmxpbmtlZENvbXBvbmVudCkge1xuICAgICAgICAgIGxpbmtDb21wb25lbnRUb1J1bGVzZXQocnVsZVNldC5saW5rZWRDb21wb25lbnQubmFtZSwgcnVsZVNldC5saW5rZWRDb21wb25lbnQubGlicmFyeSwgcnVsZVNldC5pZCwgYWNjLm9yKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgfSwge29yOiB7fX0pXG4pO1xuXG4iXX0=