@siemens/ix-angular 3.1.0 → 3.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (121) hide show
  1. package/READMEOSS.html +69 -17
  2. package/angular-component-lib/utils.d.ts +9 -0
  3. package/common/directives/control-value-accessors/boolean-value-accessor.d.ts +10 -0
  4. package/common/directives/control-value-accessors/date-value-accessor.d.ts +9 -0
  5. package/common/directives/control-value-accessors/index.d.ts +5 -0
  6. package/common/directives/control-value-accessors/radio-value-accessor.d.ts +10 -0
  7. package/common/directives/control-value-accessors/select-value-accessor.d.ts +9 -0
  8. package/common/directives/control-value-accessors/text-value-accessor.d.ts +9 -0
  9. package/common/directives/control-value-accessors/value-accessor.d.ts +30 -0
  10. package/common/directives/dropdown-trigger.d.ts +10 -0
  11. package/common/directives/tree.d.ts +26 -0
  12. package/common/index.d.ts +6 -0
  13. package/common/providers/modal/index.d.ts +3 -0
  14. package/common/providers/modal/modal-ref.d.ts +21 -0
  15. package/common/providers/modal/modal.config.d.ts +6 -0
  16. package/common/providers/modal/modal.service.d.ts +20 -0
  17. package/common/providers/toast/index.d.ts +2 -0
  18. package/common/providers/toast/toast.config.d.ts +5 -0
  19. package/common/providers/toast/toast.service.d.ts +9 -0
  20. package/common/utils/create-value-accessor-provider.d.ts +2 -0
  21. package/components.d.ts +1342 -0
  22. package/declare-components.d.ts +2 -0
  23. package/directives/control-value-accessors/boolean-value-accessor.d.ts +8 -0
  24. package/directives/control-value-accessors/date-value-accessor.d.ts +8 -0
  25. package/directives/control-value-accessors/index.d.ts +5 -0
  26. package/directives/control-value-accessors/radio-value-accessor.d.ts +8 -0
  27. package/directives/control-value-accessors/select-value-accessor.d.ts +8 -0
  28. package/directives/control-value-accessors/text-value-accessor.d.ts +8 -0
  29. package/directives/dropdown-trigger.d.ts +10 -0
  30. package/esm2022/angular-component-lib/utils.mjs +59 -0
  31. package/esm2022/common/directives/control-value-accessors/boolean-value-accessor.mjs +32 -0
  32. package/esm2022/common/directives/control-value-accessors/date-value-accessor.mjs +28 -0
  33. package/esm2022/common/directives/control-value-accessors/index.mjs +14 -0
  34. package/esm2022/common/directives/control-value-accessors/radio-value-accessor.mjs +34 -0
  35. package/esm2022/common/directives/control-value-accessors/select-value-accessor.mjs +28 -0
  36. package/esm2022/common/directives/control-value-accessors/text-value-accessor.mjs +31 -0
  37. package/esm2022/common/directives/control-value-accessors/value-accessor.mjs +157 -0
  38. package/esm2022/common/directives/dropdown-trigger.mjs +28 -0
  39. package/esm2022/common/directives/tree.mjs +70 -0
  40. package/esm2022/common/index.mjs +15 -0
  41. package/esm2022/common/providers/modal/index.mjs +11 -0
  42. package/esm2022/common/providers/modal/modal-ref.mjs +41 -0
  43. package/esm2022/common/providers/modal/modal.config.mjs +10 -0
  44. package/esm2022/common/providers/modal/modal.service.mjs +90 -0
  45. package/esm2022/common/providers/toast/index.mjs +11 -0
  46. package/esm2022/common/providers/toast/toast.config.mjs +10 -0
  47. package/esm2022/common/providers/toast/toast.service.mjs +52 -0
  48. package/esm2022/common/siemens-ix-angular-common.mjs +5 -0
  49. package/esm2022/common/utils/create-value-accessor-provider.mjs +17 -0
  50. package/esm2022/components.mjs +2809 -0
  51. package/esm2022/declare-components.mjs +106 -0
  52. package/esm2022/directives/control-value-accessors/boolean-value-accessor.mjs +26 -0
  53. package/esm2022/directives/control-value-accessors/date-value-accessor.mjs +26 -0
  54. package/esm2022/directives/control-value-accessors/index.mjs +14 -0
  55. package/esm2022/directives/control-value-accessors/radio-value-accessor.mjs +26 -0
  56. package/esm2022/directives/control-value-accessors/select-value-accessor.mjs +26 -0
  57. package/esm2022/directives/control-value-accessors/text-value-accessor.mjs +26 -0
  58. package/esm2022/directives/dropdown-trigger.mjs +31 -0
  59. package/esm2022/index.mjs +19 -0
  60. package/esm2022/ix-icon.mjs +40 -0
  61. package/esm2022/module.mjs +78 -0
  62. package/esm2022/providers/modal/index.mjs +11 -0
  63. package/esm2022/providers/modal/modal.service.mjs +28 -0
  64. package/esm2022/providers/theme/index.mjs +10 -0
  65. package/esm2022/providers/theme/theme.service.mjs +40 -0
  66. package/esm2022/providers/toast/index.mjs +2 -0
  67. package/esm2022/providers/toast/toast.service.mjs +52 -0
  68. package/esm2022/siemens-ix-angular.mjs +5 -0
  69. package/esm2022/standalone/angular-component-lib/utils.mjs +59 -0
  70. package/esm2022/standalone/components.mjs +3126 -0
  71. package/esm2022/standalone/directives/control-value-accessors/boolean-value-accessor.mjs +30 -0
  72. package/esm2022/standalone/directives/control-value-accessors/date-value-accessor.mjs +30 -0
  73. package/esm2022/standalone/directives/control-value-accessors/index.mjs +14 -0
  74. package/esm2022/standalone/directives/control-value-accessors/radio-value-accessor.mjs +30 -0
  75. package/esm2022/standalone/directives/control-value-accessors/select-value-accessor.mjs +30 -0
  76. package/esm2022/standalone/directives/control-value-accessors/text-value-accessor.mjs +30 -0
  77. package/esm2022/standalone/directives/dropdown-trigger.mjs +32 -0
  78. package/esm2022/standalone/index.mjs +18 -0
  79. package/esm2022/standalone/internal-components.mjs +19 -0
  80. package/esm2022/standalone/ix-icon.mjs +44 -0
  81. package/esm2022/standalone/providers/modal.mjs +28 -0
  82. package/esm2022/standalone/providers/toast.mjs +35 -0
  83. package/esm2022/standalone/siemens-ix-angular-standalone.mjs +5 -0
  84. package/esm2022/standalone/tree.mjs +41 -0
  85. package/esm2022/standalone/utils/value-accessor-directives.mjs +23 -0
  86. package/esm2022/tree.mjs +39 -0
  87. package/esm2022/utils/app-initialize.mjs +25 -0
  88. package/fesm2022/siemens-ix-angular-common.mjs +633 -0
  89. package/fesm2022/siemens-ix-angular-common.mjs.map +1 -0
  90. package/fesm2022/siemens-ix-angular-standalone.mjs +3418 -0
  91. package/fesm2022/siemens-ix-angular-standalone.mjs.map +1 -0
  92. package/fesm2022/siemens-ix-angular.mjs +3307 -0
  93. package/fesm2022/siemens-ix-angular.mjs.map +1 -0
  94. package/index.d.ts +10 -0
  95. package/ix-icon.d.ts +12 -0
  96. package/module.d.ts +17 -0
  97. package/package.json +1 -6
  98. package/providers/modal/index.d.ts +2 -0
  99. package/providers/modal/modal.service.d.ts +15 -0
  100. package/providers/theme/index.d.ts +1 -0
  101. package/providers/theme/theme.service.d.ts +15 -0
  102. package/providers/toast/index.d.ts +2 -0
  103. package/providers/toast/toast.service.d.ts +9 -0
  104. package/standalone/angular-component-lib/utils.d.ts +9 -0
  105. package/standalone/components.d.ts +1342 -0
  106. package/standalone/directives/control-value-accessors/boolean-value-accessor.d.ts +11 -0
  107. package/standalone/directives/control-value-accessors/date-value-accessor.d.ts +11 -0
  108. package/standalone/directives/control-value-accessors/index.d.ts +5 -0
  109. package/standalone/directives/control-value-accessors/radio-value-accessor.d.ts +11 -0
  110. package/standalone/directives/control-value-accessors/select-value-accessor.d.ts +11 -0
  111. package/standalone/directives/control-value-accessors/text-value-accessor.d.ts +11 -0
  112. package/standalone/directives/dropdown-trigger.d.ts +10 -0
  113. package/standalone/index.d.ts +9 -0
  114. package/standalone/internal-components.d.ts +1 -0
  115. package/standalone/ix-icon.d.ts +9 -0
  116. package/standalone/providers/modal.d.ts +11 -0
  117. package/standalone/providers/toast.d.ts +11 -0
  118. package/standalone/tree.d.ts +9 -0
  119. package/standalone/utils/value-accessor-directives.d.ts +16 -0
  120. package/tree.d.ts +9 -0
  121. package/utils/app-initialize.d.ts +1 -0
@@ -0,0 +1,52 @@
1
+ /*
2
+ * SPDX-FileCopyrightText: 2024 Siemens AG
3
+ *
4
+ * SPDX-License-Identifier: MIT
5
+ *
6
+ * This source code is licensed under the MIT license found in the
7
+ * LICENSE file in the root directory of this source tree.
8
+ */
9
+ import { Injectable } from '@angular/core';
10
+ import { getToastContainer, toast, } from '@siemens/ix';
11
+ import * as i0 from "@angular/core";
12
+ export class ToastService {
13
+ setPosition(position) {
14
+ getToastContainer().position = position;
15
+ }
16
+ getPosition() {
17
+ return getToastContainer().position;
18
+ }
19
+ async show(config) {
20
+ if (typeof config.message === 'string') {
21
+ return toast(config);
22
+ }
23
+ const context = {
24
+ close: null,
25
+ };
26
+ const embeddedView = config.message.createEmbeddedView({
27
+ $implicit: context,
28
+ });
29
+ const node = embeddedView.rootNodes[0];
30
+ const instance = await toast({
31
+ ...config,
32
+ message: node,
33
+ });
34
+ context.close = () => {
35
+ instance.close();
36
+ };
37
+ embeddedView.detectChanges();
38
+ instance.onClose.once(() => {
39
+ embeddedView.destroy();
40
+ });
41
+ return instance;
42
+ }
43
+ /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ToastService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
44
+ /** @nocollapse */ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ToastService, providedIn: 'root' });
45
+ }
46
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ToastService, decorators: [{
47
+ type: Injectable,
48
+ args: [{
49
+ providedIn: 'root',
50
+ }]
51
+ }] });
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3Quc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wcm92aWRlcnMvdG9hc3QvdG9hc3Quc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztHQU9HO0FBRUgsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLEtBQUssR0FFTixNQUFNLGFBQWEsQ0FBQzs7QUFNckIsTUFBTSxPQUFPLFlBQVk7SUFDdkIsV0FBVyxDQUFDLFFBQXNDO1FBQ2hELGlCQUFpQixFQUFFLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztJQUMxQyxDQUFDO0lBRUQsV0FBVztRQUNULE9BQU8saUJBQWlCLEVBQUUsQ0FBQyxRQUFRLENBQUM7SUFDdEMsQ0FBQztJQUVELEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBbUI7UUFDNUIsSUFBSSxPQUFPLE1BQU0sQ0FBQyxPQUFPLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDdkMsT0FBTyxLQUFLLENBQUMsTUFBdUIsQ0FBQyxDQUFDO1FBQ3hDLENBQUM7UUFFRCxNQUFNLE9BQU8sR0FFVDtZQUNGLEtBQUssRUFBRSxJQUFJO1NBQ1osQ0FBQztRQUVGLE1BQU0sWUFBWSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsa0JBQWtCLENBQUM7WUFDckQsU0FBUyxFQUFFLE9BQU87U0FDbkIsQ0FBQyxDQUFDO1FBRUgsTUFBTSxJQUFJLEdBQWdCLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDcEQsTUFBTSxRQUFRLEdBQUcsTUFBTSxLQUFLLENBQUM7WUFDM0IsR0FBRyxNQUFNO1lBQ1QsT0FBTyxFQUFFLElBQUk7U0FDZCxDQUFDLENBQUM7UUFFSCxPQUFPLENBQUMsS0FBSyxHQUFHLEdBQUcsRUFBRTtZQUNuQixRQUFRLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDbkIsQ0FBQyxDQUFDO1FBRUYsWUFBWSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBRTdCLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUN6QixZQUFZLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDekIsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDOzJIQXpDVSxZQUFZOytIQUFaLFlBQVksY0FGWCxNQUFNOzs0RkFFUCxZQUFZO2tCQUh4QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBTUERYLUZpbGVDb3B5cmlnaHRUZXh0OiAyMDI0IFNpZW1lbnMgQUdcbiAqXG4gKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKi9cblxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgZ2V0VG9hc3RDb250YWluZXIsXG4gIHRvYXN0LFxuICBUb2FzdENvbmZpZyBhcyBJeFRvYXN0Q29uZmlnLFxufSBmcm9tICdAc2llbWVucy9peCc7XG5pbXBvcnQgeyBUb2FzdENvbmZpZyB9IGZyb20gJ0BzaWVtZW5zL2l4LWFuZ3VsYXIvY29tbW9uJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFRvYXN0U2VydmljZSB7XG4gIHNldFBvc2l0aW9uKHBvc2l0aW9uOiAnYm90dG9tLXJpZ2h0JyB8ICd0b3AtcmlnaHQnKSB7XG4gICAgZ2V0VG9hc3RDb250YWluZXIoKS5wb3NpdGlvbiA9IHBvc2l0aW9uO1xuICB9XG5cbiAgZ2V0UG9zaXRpb24oKSB7XG4gICAgcmV0dXJuIGdldFRvYXN0Q29udGFpbmVyKCkucG9zaXRpb247XG4gIH1cblxuICBhc3luYyBzaG93KGNvbmZpZzogVG9hc3RDb25maWcpIHtcbiAgICBpZiAodHlwZW9mIGNvbmZpZy5tZXNzYWdlID09PSAnc3RyaW5nJykge1xuICAgICAgcmV0dXJuIHRvYXN0KGNvbmZpZyBhcyBJeFRvYXN0Q29uZmlnKTtcbiAgICB9XG5cbiAgICBjb25zdCBjb250ZXh0OiB7XG4gICAgICBjbG9zZTogKCgpID0+IHZvaWQpIHwgbnVsbDtcbiAgICB9ID0ge1xuICAgICAgY2xvc2U6IG51bGwsXG4gICAgfTtcblxuICAgIGNvbnN0IGVtYmVkZGVkVmlldyA9IGNvbmZpZy5tZXNzYWdlLmNyZWF0ZUVtYmVkZGVkVmlldyh7XG4gICAgICAkaW1wbGljaXQ6IGNvbnRleHQsXG4gICAgfSk7XG5cbiAgICBjb25zdCBub2RlOiBIVE1MRWxlbWVudCA9IGVtYmVkZGVkVmlldy5yb290Tm9kZXNbMF07XG4gICAgY29uc3QgaW5zdGFuY2UgPSBhd2FpdCB0b2FzdCh7XG4gICAgICAuLi5jb25maWcsXG4gICAgICBtZXNzYWdlOiBub2RlLFxuICAgIH0pO1xuXG4gICAgY29udGV4dC5jbG9zZSA9ICgpID0+IHtcbiAgICAgIGluc3RhbmNlLmNsb3NlKCk7XG4gICAgfTtcblxuICAgIGVtYmVkZGVkVmlldy5kZXRlY3RDaGFuZ2VzKCk7XG5cbiAgICBpbnN0YW5jZS5vbkNsb3NlLm9uY2UoKCkgPT4ge1xuICAgICAgZW1iZWRkZWRWaWV3LmRlc3Ryb3koKTtcbiAgICB9KTtcblxuICAgIHJldHVybiBpbnN0YW5jZTtcbiAgfVxufVxuIl19
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './index';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2llbWVucy1peC1hbmd1bGFyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NpZW1lbnMtaXgtYW5ndWxhci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
@@ -0,0 +1,59 @@
1
+ /* eslint-disable */
2
+ /* tslint:disable */
3
+ import { fromEvent } from 'rxjs';
4
+ export const proxyInputs = (Cmp, inputs) => {
5
+ const Prototype = Cmp.prototype;
6
+ inputs.forEach((item) => {
7
+ Object.defineProperty(Prototype, item, {
8
+ get() {
9
+ return this.el[item];
10
+ },
11
+ set(val) {
12
+ this.z.runOutsideAngular(() => (this.el[item] = val));
13
+ },
14
+ /**
15
+ * In the event that proxyInputs is called
16
+ * multiple times re-defining these inputs
17
+ * will cause an error to be thrown. As a result
18
+ * we set configurable: true to indicate these
19
+ * properties can be changed.
20
+ */
21
+ configurable: true,
22
+ });
23
+ });
24
+ };
25
+ export const proxyMethods = (Cmp, methods) => {
26
+ const Prototype = Cmp.prototype;
27
+ methods.forEach((methodName) => {
28
+ Prototype[methodName] = function () {
29
+ const args = arguments;
30
+ return this.z.runOutsideAngular(() => this.el[methodName].apply(this.el, args));
31
+ };
32
+ });
33
+ };
34
+ export const proxyOutputs = (instance, el, events) => {
35
+ events.forEach((eventName) => (instance[eventName] = fromEvent(el, eventName)));
36
+ };
37
+ export const defineCustomElement = (tagName, customElement) => {
38
+ if (customElement !== undefined && typeof customElements !== 'undefined' && !customElements.get(tagName)) {
39
+ customElements.define(tagName, customElement);
40
+ }
41
+ };
42
+ // tslint:disable-next-line: only-arrow-functions
43
+ export function ProxyCmp(opts) {
44
+ const decorator = function (cls) {
45
+ const { defineCustomElementFn, inputs, methods } = opts;
46
+ if (defineCustomElementFn !== undefined) {
47
+ defineCustomElementFn();
48
+ }
49
+ if (inputs) {
50
+ proxyInputs(cls, inputs);
51
+ }
52
+ if (methods) {
53
+ proxyMethods(cls, methods);
54
+ }
55
+ return cls;
56
+ };
57
+ return decorator;
58
+ }
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zdGFuZGFsb25lL3NyYy9hbmd1bGFyLWNvbXBvbmVudC1saWIvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsb0JBQW9CO0FBQ3BCLG9CQUFvQjtBQUNwQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRWpDLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxDQUFDLEdBQVEsRUFBRSxNQUFnQixFQUFFLEVBQUU7SUFDeEQsTUFBTSxTQUFTLEdBQUcsR0FBRyxDQUFDLFNBQVMsQ0FBQztJQUNoQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7UUFDdEIsTUFBTSxDQUFDLGNBQWMsQ0FBQyxTQUFTLEVBQUUsSUFBSSxFQUFFO1lBQ3JDLEdBQUc7Z0JBQ0QsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3ZCLENBQUM7WUFDRCxHQUFHLENBQUMsR0FBUTtnQkFDVixJQUFJLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQ3hELENBQUM7WUFDRDs7Ozs7O2VBTUc7WUFDSCxZQUFZLEVBQUUsSUFBSTtTQUNuQixDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxDQUFDLEdBQVEsRUFBRSxPQUFpQixFQUFFLEVBQUU7SUFDMUQsTUFBTSxTQUFTLEdBQUcsR0FBRyxDQUFDLFNBQVMsQ0FBQztJQUNoQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUU7UUFDN0IsU0FBUyxDQUFDLFVBQVUsQ0FBQyxHQUFHO1lBQ3RCLE1BQU0sSUFBSSxHQUFHLFNBQVMsQ0FBQztZQUN2QixPQUFPLElBQUksQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ2xGLENBQUMsQ0FBQztJQUNKLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLENBQUMsUUFBYSxFQUFFLEVBQU8sRUFBRSxNQUFnQixFQUFFLEVBQUU7SUFDdkUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEdBQUcsU0FBUyxDQUFDLEVBQUUsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbEYsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsQ0FBQyxPQUFlLEVBQUUsYUFBa0IsRUFBRSxFQUFFO0lBQ3pFLElBQUksYUFBYSxLQUFLLFNBQVMsSUFBSSxPQUFPLGNBQWMsS0FBSyxXQUFXLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7UUFDekcsY0FBYyxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsYUFBYSxDQUFDLENBQUM7SUFDaEQsQ0FBQztBQUNILENBQUMsQ0FBQztBQUVGLGlEQUFpRDtBQUNqRCxNQUFNLFVBQVUsUUFBUSxDQUFDLElBQXlFO0lBQ2hHLE1BQU0sU0FBUyxHQUFHLFVBQVUsR0FBUTtRQUNsQyxNQUFNLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQztRQUV4RCxJQUFJLHFCQUFxQixLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ3hDLHFCQUFxQixFQUFFLENBQUM7UUFDMUIsQ0FBQztRQUVELElBQUksTUFBTSxFQUFFLENBQUM7WUFDWCxXQUFXLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQzNCLENBQUM7UUFDRCxJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQ1osWUFBWSxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUM3QixDQUFDO1FBQ0QsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDLENBQUM7SUFDRixPQUFPLFNBQVMsQ0FBQztBQUNuQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgKi9cbi8qIHRzbGludDpkaXNhYmxlICovXG5pbXBvcnQgeyBmcm9tRXZlbnQgfSBmcm9tICdyeGpzJztcblxuZXhwb3J0IGNvbnN0IHByb3h5SW5wdXRzID0gKENtcDogYW55LCBpbnB1dHM6IHN0cmluZ1tdKSA9PiB7XG4gIGNvbnN0IFByb3RvdHlwZSA9IENtcC5wcm90b3R5cGU7XG4gIGlucHV0cy5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KFByb3RvdHlwZSwgaXRlbSwge1xuICAgICAgZ2V0KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5lbFtpdGVtXTtcbiAgICAgIH0sXG4gICAgICBzZXQodmFsOiBhbnkpIHtcbiAgICAgICAgdGhpcy56LnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+ICh0aGlzLmVsW2l0ZW1dID0gdmFsKSk7XG4gICAgICB9LFxuICAgICAgLyoqXG4gICAgICAgKiBJbiB0aGUgZXZlbnQgdGhhdCBwcm94eUlucHV0cyBpcyBjYWxsZWRcbiAgICAgICAqIG11bHRpcGxlIHRpbWVzIHJlLWRlZmluaW5nIHRoZXNlIGlucHV0c1xuICAgICAgICogd2lsbCBjYXVzZSBhbiBlcnJvciB0byBiZSB0aHJvd24uIEFzIGEgcmVzdWx0XG4gICAgICAgKiB3ZSBzZXQgY29uZmlndXJhYmxlOiB0cnVlIHRvIGluZGljYXRlIHRoZXNlXG4gICAgICAgKiBwcm9wZXJ0aWVzIGNhbiBiZSBjaGFuZ2VkLlxuICAgICAgICovXG4gICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgfSk7XG4gIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IHByb3h5TWV0aG9kcyA9IChDbXA6IGFueSwgbWV0aG9kczogc3RyaW5nW10pID0+IHtcbiAgY29uc3QgUHJvdG90eXBlID0gQ21wLnByb3RvdHlwZTtcbiAgbWV0aG9kcy5mb3JFYWNoKChtZXRob2ROYW1lKSA9PiB7XG4gICAgUHJvdG90eXBlW21ldGhvZE5hbWVdID0gZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3QgYXJncyA9IGFyZ3VtZW50cztcbiAgICAgIHJldHVybiB0aGlzLnoucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4gdGhpcy5lbFttZXRob2ROYW1lXS5hcHBseSh0aGlzLmVsLCBhcmdzKSk7XG4gICAgfTtcbiAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgcHJveHlPdXRwdXRzID0gKGluc3RhbmNlOiBhbnksIGVsOiBhbnksIGV2ZW50czogc3RyaW5nW10pID0+IHtcbiAgZXZlbnRzLmZvckVhY2goKGV2ZW50TmFtZSkgPT4gKGluc3RhbmNlW2V2ZW50TmFtZV0gPSBmcm9tRXZlbnQoZWwsIGV2ZW50TmFtZSkpKTtcbn07XG5cbmV4cG9ydCBjb25zdCBkZWZpbmVDdXN0b21FbGVtZW50ID0gKHRhZ05hbWU6IHN0cmluZywgY3VzdG9tRWxlbWVudDogYW55KSA9PiB7XG4gIGlmIChjdXN0b21FbGVtZW50ICE9PSB1bmRlZmluZWQgJiYgdHlwZW9mIGN1c3RvbUVsZW1lbnRzICE9PSAndW5kZWZpbmVkJyAmJiAhY3VzdG9tRWxlbWVudHMuZ2V0KHRhZ05hbWUpKSB7XG4gICAgY3VzdG9tRWxlbWVudHMuZGVmaW5lKHRhZ05hbWUsIGN1c3RvbUVsZW1lbnQpO1xuICB9XG59O1xuXG4vLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IG9ubHktYXJyb3ctZnVuY3Rpb25zXG5leHBvcnQgZnVuY3Rpb24gUHJveHlDbXAob3B0czogeyBkZWZpbmVDdXN0b21FbGVtZW50Rm4/OiAoKSA9PiB2b2lkOyBpbnB1dHM/OiBhbnk7IG1ldGhvZHM/OiBhbnkgfSkge1xuICBjb25zdCBkZWNvcmF0b3IgPSBmdW5jdGlvbiAoY2xzOiBhbnkpIHtcbiAgICBjb25zdCB7IGRlZmluZUN1c3RvbUVsZW1lbnRGbiwgaW5wdXRzLCBtZXRob2RzIH0gPSBvcHRzO1xuXG4gICAgaWYgKGRlZmluZUN1c3RvbUVsZW1lbnRGbiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBkZWZpbmVDdXN0b21FbGVtZW50Rm4oKTtcbiAgICB9XG5cbiAgICBpZiAoaW5wdXRzKSB7XG4gICAgICBwcm94eUlucHV0cyhjbHMsIGlucHV0cyk7XG4gICAgfVxuICAgIGlmIChtZXRob2RzKSB7XG4gICAgICBwcm94eU1ldGhvZHMoY2xzLCBtZXRob2RzKTtcbiAgICB9XG4gICAgcmV0dXJuIGNscztcbiAgfTtcbiAgcmV0dXJuIGRlY29yYXRvcjtcbn1cbiJdfQ==