coer-elements 0.0.12 → 0.0.14

Sign up to get free protection for your applications and to get access to all the features.
Files changed (179) hide show
  1. package/components/coer-grid/index.d.ts +1 -0
  2. package/components/index.d.ts +13 -0
  3. package/components/lib/coer-button/coer-button.component.d.ts +1 -1
  4. package/components/lib/coer-checkbox/coer-checkbox.component.d.ts +28 -0
  5. package/components/lib/coer-filebox/coer-filebox.component.d.ts +33 -0
  6. package/components/lib/coer-form/coer-form.component.d.ts +33 -0
  7. package/components/lib/coer-grid/coer-grid.component.d.ts +53 -0
  8. package/components/lib/coer-grid/coer-grid.extension.d.ts +105 -0
  9. package/components/lib/coer-grid/coer-grid.templates.d.ts +9 -0
  10. package/components/lib/coer-modal/coer-modal.component.d.ts +38 -0
  11. package/components/lib/coer-numberbox/coer-numberbox.component.d.ts +56 -0
  12. package/components/lib/coer-page-title/coer-page-title.component.d.ts +12 -0
  13. package/components/lib/coer-selectbox/coer-selectbox.component.d.ts +75 -0
  14. package/components/lib/coer-switch/coer-switch.component.d.ts +31 -0
  15. package/components/lib/coer-tab/coer-tab.component.d.ts +35 -0
  16. package/components/lib/coer-textarea/coer-textarea.component.d.ts +51 -0
  17. package/components/lib/coer-textbox/coer-textbox.component.d.ts +57 -0
  18. package/components/lib/components.module.d.ts +24 -5
  19. package/directives/index.d.ts +3 -0
  20. package/directives/lib/coer-ref.directive.d.ts +14 -0
  21. package/directives/lib/directives.module.d.ts +8 -0
  22. package/directives/lib/life-cycle.directive.d.ts +14 -0
  23. package/esm2022/components/coer-grid/index.mjs +2 -0
  24. package/esm2022/components/index.mjs +14 -1
  25. package/esm2022/components/lib/coer-button/coer-button.component.mjs +2 -2
  26. package/esm2022/components/lib/coer-checkbox/coer-checkbox.component.mjs +84 -0
  27. package/esm2022/components/lib/coer-filebox/coer-filebox.component.mjs +104 -0
  28. package/esm2022/components/lib/coer-form/coer-form.component.mjs +102 -0
  29. package/esm2022/components/lib/coer-grid/coer-grid.component.mjs +515 -0
  30. package/esm2022/components/lib/coer-grid/coer-grid.extension.mjs +412 -0
  31. package/esm2022/components/lib/coer-grid/coer-grid.templates.mjs +30 -0
  32. package/esm2022/components/lib/coer-modal/coer-modal.component.mjs +108 -0
  33. package/esm2022/components/lib/coer-numberbox/coer-numberbox.component.mjs +260 -0
  34. package/esm2022/components/lib/coer-page-title/coer-page-title.component.mjs +44 -0
  35. package/esm2022/components/lib/coer-selectbox/coer-selectbox.component.mjs +339 -0
  36. package/esm2022/components/lib/coer-switch/coer-switch.component.mjs +94 -0
  37. package/esm2022/components/lib/coer-tab/coer-tab.component.mjs +116 -0
  38. package/esm2022/components/lib/coer-textarea/coer-textarea.component.mjs +157 -0
  39. package/esm2022/components/lib/coer-textbox/coer-textbox.component.mjs +196 -0
  40. package/esm2022/components/lib/components.module.mjs +93 -57
  41. package/esm2022/directives/index.mjs +4 -0
  42. package/esm2022/directives/lib/coer-ref.directive.mjs +23 -0
  43. package/esm2022/directives/lib/directives.module.mjs +25 -0
  44. package/esm2022/directives/lib/life-cycle.directive.mjs +29 -0
  45. package/esm2022/interfaces/coer-filebox/index.mjs +3 -0
  46. package/esm2022/interfaces/coer-grid/index.mjs +21 -0
  47. package/esm2022/interfaces/index.mjs +1 -3
  48. package/esm2022/interfaces/lib/coer-filebox/file-image.interface.mjs +2 -0
  49. package/esm2022/interfaces/lib/coer-filebox/file.interface.mjs +2 -0
  50. package/esm2022/interfaces/lib/coer-grid/grid-button-by-row.interface.mjs +2 -0
  51. package/esm2022/interfaces/lib/coer-grid/grid-checkbox.interface.mjs +2 -0
  52. package/esm2022/interfaces/lib/coer-grid/grid-coer-numberbox.interface.mjs +2 -0
  53. package/esm2022/interfaces/lib/coer-grid/grid-coer-selectbox.interface.mjs +2 -0
  54. package/esm2022/interfaces/lib/coer-grid/grid-coer-switch.interface.mjs +2 -0
  55. package/esm2022/interfaces/lib/coer-grid/grid-coer-textbox.interface.mjs +2 -0
  56. package/esm2022/interfaces/lib/coer-grid/grid-column.interface.mjs +2 -0
  57. package/esm2022/interfaces/lib/coer-grid/grid-data-source.interface.mjs +2 -0
  58. package/esm2022/interfaces/lib/coer-grid/grid-header-button.interface.mjs +2 -0
  59. package/esm2022/interfaces/lib/coer-grid/grid-header-export-button.interface.mjs +2 -0
  60. package/esm2022/interfaces/lib/coer-grid/grid-header.interface.mjs +2 -0
  61. package/esm2022/interfaces/lib/coer-grid/grid-import.interface.mjs +2 -0
  62. package/esm2022/interfaces/lib/coer-grid/grid-input-checkbox.interface.mjs +2 -0
  63. package/esm2022/interfaces/lib/coer-grid/grid-input-switch-change.interface.mjs +2 -0
  64. package/esm2022/interfaces/lib/coer-grid/grid-input-textbox.interface.mjs +2 -0
  65. package/esm2022/interfaces/lib/coer-grid/grid-item.interface.mjs +2 -0
  66. package/esm2022/interfaces/lib/coer-grid/grid-keyup-enter.interface.mjs +2 -0
  67. package/esm2022/interfaces/lib/coer-grid/grid-length.interface.mjs +2 -0
  68. package/esm2022/interfaces/lib/coer-grid/grid-search.interface.mjs +2 -0
  69. package/esm2022/interfaces/lib/coer-grid/grid-sort.interface.mjs +2 -0
  70. package/esm2022/interfaces/lib/coer-menu/menu-option-selected.interface.mjs +2 -0
  71. package/esm2022/interfaces/lib/coer-menu/menu.interface.mjs +2 -0
  72. package/esm2022/interfaces/lib/page-title/breadcrumb.interface.mjs +2 -0
  73. package/esm2022/interfaces/lib/page-title/go-back.interface.mjs +2 -0
  74. package/esm2022/interfaces/page-title/index.mjs +3 -0
  75. package/esm2022/pipes/index.mjs +5 -0
  76. package/esm2022/pipes/lib/html.pipe.mjs +18 -0
  77. package/esm2022/pipes/lib/no-image.pipe.mjs +23 -0
  78. package/esm2022/pipes/lib/numeric-format.pipe.mjs +15 -0
  79. package/esm2022/pipes/lib/pipes.module.mjs +31 -0
  80. package/esm2022/public_api.mjs +3 -1
  81. package/esm2022/signals/lib/breakpoint.signal.mjs +2 -2
  82. package/esm2022/signals/lib/is-loading.signal.mjs +2 -2
  83. package/esm2022/signals/lib/is-modal-open.signal.mjs +2 -2
  84. package/esm2022/tools/index.mjs +3 -2
  85. package/esm2022/tools/lib/breadcrumbs.class.mjs +2 -2
  86. package/esm2022/tools/lib/date-time.class.mjs +14 -7
  87. package/esm2022/tools/lib/files.class.mjs +2 -2
  88. package/esm2022/tools/lib/menu.class.mjs +23 -0
  89. package/esm2022/tools/lib/page.class.mjs +6 -6
  90. package/esm2022/tools/lib/screen.class.mjs +9 -1
  91. package/esm2022/tools/lib/source.class.mjs +3 -3
  92. package/esm2022/tools/lib/tools.mjs +220 -0
  93. package/fesm2022/coer-elements.mjs +3296 -603
  94. package/fesm2022/coer-elements.mjs.map +1 -1
  95. package/interfaces/coer-filebox/index.d.ts +2 -0
  96. package/interfaces/coer-grid/index.d.ts +20 -0
  97. package/interfaces/index.d.ts +0 -2
  98. package/interfaces/lib/coer-filebox/file-image.interface.d.ts +14 -0
  99. package/interfaces/lib/coer-filebox/file.interface.d.ts +5 -0
  100. package/interfaces/lib/coer-grid/grid-button-by-row.interface.d.ts +6 -0
  101. package/interfaces/lib/coer-grid/grid-checkbox.interface.d.ts +5 -0
  102. package/interfaces/lib/coer-grid/grid-coer-numberbox.interface.d.ts +12 -0
  103. package/interfaces/lib/coer-grid/grid-coer-selectbox.interface.d.ts +9 -0
  104. package/interfaces/lib/coer-grid/grid-coer-switch.interface.d.ts +6 -0
  105. package/interfaces/lib/coer-grid/grid-coer-textbox.interface.d.ts +11 -0
  106. package/interfaces/lib/coer-grid/grid-column.interface.d.ts +22 -0
  107. package/interfaces/lib/coer-grid/grid-data-source.interface.d.ts +6 -0
  108. package/interfaces/lib/coer-grid/grid-header-button.interface.d.ts +8 -0
  109. package/interfaces/lib/coer-grid/grid-header-export-button.interface.d.ts +10 -0
  110. package/interfaces/lib/coer-grid/grid-header.interface.d.ts +5 -0
  111. package/interfaces/lib/coer-grid/grid-import.interface.d.ts +4 -0
  112. package/interfaces/lib/coer-grid/grid-input-checkbox.interface.d.ts +5 -0
  113. package/interfaces/lib/coer-grid/grid-input-switch-change.interface.d.ts +5 -0
  114. package/interfaces/lib/coer-grid/grid-input-textbox.interface.d.ts +5 -0
  115. package/interfaces/lib/coer-grid/grid-item.interface.d.ts +5 -0
  116. package/interfaces/lib/coer-grid/grid-keyup-enter.interface.d.ts +6 -0
  117. package/interfaces/lib/coer-grid/grid-length.interface.d.ts +5 -0
  118. package/interfaces/lib/coer-grid/grid-search.interface.d.ts +4 -0
  119. package/interfaces/lib/coer-grid/grid-sort.interface.d.ts +5 -0
  120. package/interfaces/lib/coer-menu/menu-option-selected.interface.d.ts +9 -0
  121. package/interfaces/lib/coer-menu/menu.interface.d.ts +6 -0
  122. package/interfaces/page-title/index.d.ts +2 -0
  123. package/package.json +1 -1
  124. package/pipes/index.d.ts +4 -0
  125. package/pipes/lib/html.pipe.d.ts +10 -0
  126. package/pipes/lib/no-image.pipe.d.ts +7 -0
  127. package/pipes/lib/numeric-format.pipe.d.ts +7 -0
  128. package/pipes/lib/pipes.module.d.ts +9 -0
  129. package/public_api.d.ts +2 -0
  130. package/signals/lib/is-loading.signal.d.ts +1 -1
  131. package/signals/lib/is-modal-open.signal.d.ts +1 -1
  132. package/src/images/no-image.png +0 -0
  133. package/src/images/no-user.png +0 -0
  134. package/src/interfaces/coer-filebox/index.ts +2 -0
  135. package/src/interfaces/coer-grid/index.ts +20 -0
  136. package/src/interfaces/coer-menu/index.ts +3 -0
  137. package/src/interfaces/index.ts +1 -3
  138. package/src/interfaces/lib/coer-filebox/file-image.interface.ts +14 -0
  139. package/src/interfaces/lib/coer-filebox/file.interface.ts +5 -0
  140. package/src/interfaces/lib/coer-grid/grid-button-by-row.interface.ts +7 -0
  141. package/src/interfaces/lib/coer-grid/grid-checkbox.interface.ts +5 -0
  142. package/src/interfaces/lib/coer-grid/grid-coer-numberbox.interface.ts +12 -0
  143. package/src/interfaces/lib/coer-grid/grid-coer-selectbox.interface.ts +9 -0
  144. package/src/interfaces/lib/coer-grid/grid-coer-switch.interface.ts +6 -0
  145. package/src/interfaces/lib/coer-grid/grid-coer-textbox.interface.ts +11 -0
  146. package/src/interfaces/lib/coer-grid/grid-column.interface.ts +23 -0
  147. package/src/interfaces/lib/coer-grid/grid-data-source.interface.ts +6 -0
  148. package/src/interfaces/lib/coer-grid/grid-header-button.interface.ts +8 -0
  149. package/src/interfaces/lib/coer-grid/grid-header-export-button.interface.ts +10 -0
  150. package/src/interfaces/lib/coer-grid/grid-header.interface.ts +5 -0
  151. package/src/interfaces/lib/coer-grid/grid-import.interface.ts +4 -0
  152. package/src/interfaces/lib/coer-grid/grid-input-checkbox.interface.ts +5 -0
  153. package/src/interfaces/lib/coer-grid/grid-input-switch-change.interface.ts +5 -0
  154. package/src/interfaces/lib/coer-grid/grid-input-textbox.interface.ts +5 -0
  155. package/src/interfaces/lib/coer-grid/grid-item.interface.ts +5 -0
  156. package/src/interfaces/lib/coer-grid/grid-keyup-enter.interface.ts +6 -0
  157. package/src/interfaces/lib/coer-grid/grid-length.interface.ts +5 -0
  158. package/src/interfaces/lib/coer-grid/grid-search.interface.ts +4 -0
  159. package/src/interfaces/lib/coer-grid/grid-sort.interface.ts +5 -0
  160. package/src/interfaces/lib/coer-menu/menu-option-selected.interface.ts +10 -0
  161. package/src/interfaces/lib/coer-menu/menu-selected.interface.ts +11 -0
  162. package/src/interfaces/lib/coer-menu/menu.interface.ts +6 -0
  163. package/src/interfaces/page-title/index.ts +2 -0
  164. package/tools/index.d.ts +2 -1
  165. package/tools/lib/breadcrumbs.class.d.ts +1 -1
  166. package/tools/lib/date-time.class.d.ts +4 -2
  167. package/tools/lib/menu.class.d.ts +8 -0
  168. package/tools/lib/page.class.d.ts +4 -3
  169. package/tools/lib/screen.class.d.ts +3 -1
  170. package/tools/lib/source.class.d.ts +1 -1
  171. package/tools/lib/{generi-tools.d.ts → tools.d.ts} +7 -5
  172. package/esm2022/interfaces/lib/breadcrumb.interface.mjs +0 -2
  173. package/esm2022/interfaces/lib/go-back.interface.mjs +0 -2
  174. package/esm2022/tools/lib/generi-tools.mjs +0 -199
  175. /package/interfaces/lib/{breadcrumb.interface.d.ts → page-title/breadcrumb.interface.d.ts} +0 -0
  176. /package/interfaces/lib/{go-back.interface.d.ts → page-title/go-back.interface.d.ts} +0 -0
  177. /package/src/interfaces/lib/{breadcrumb.interface.ts → page-title/breadcrumb.interface.ts} +0 -0
  178. /package/src/interfaces/lib/{go-back.interface.ts → page-title/go-back.interface.ts} +0 -0
  179. /package/src/styles/{coer-elements.scss → index.scss} +0 -0
@@ -0,0 +1,51 @@
1
+ import { ElementRef, OnInit } from '@angular/core';
2
+ import { ControlValue } from '../../../tools/lib/control-value.class';
3
+ import * as i0 from "@angular/core";
4
+ export declare class CoerTextarea extends ControlValue implements OnInit {
5
+ protected _value: string | number;
6
+ protected matFormField: import("@angular/core").Signal<ElementRef<any>>;
7
+ protected coerTextBox: import("@angular/core").Signal<ElementRef<any>>;
8
+ protected _id: string;
9
+ protected _isLoadingEvent: import("@angular/core").WritableSignal<boolean>;
10
+ private element;
11
+ set value(value: string | number | null | undefined);
12
+ id: string;
13
+ label: import("@angular/core").InputSignal<string>;
14
+ placeholder: import("@angular/core").InputSignal<string>;
15
+ minLength: import("@angular/core").InputSignal<string | number>;
16
+ maxLength: import("@angular/core").InputSignal<string | number>;
17
+ width: import("@angular/core").InputSignal<string>;
18
+ minWidth: import("@angular/core").InputSignal<string>;
19
+ maxWidth: import("@angular/core").InputSignal<string>;
20
+ marginTop: import("@angular/core").InputSignal<string>;
21
+ marginRight: import("@angular/core").InputSignal<string>;
22
+ marginBottom: import("@angular/core").InputSignal<string>;
23
+ marginLeft: import("@angular/core").InputSignal<string>;
24
+ isInvalid: import("@angular/core").InputSignal<boolean>;
25
+ isValid: import("@angular/core").InputSignal<boolean>;
26
+ isDisabled: import("@angular/core").InputSignal<boolean>;
27
+ isReadonly: import("@angular/core").InputSignal<boolean>;
28
+ isLoading: import("@angular/core").InputSignal<boolean>;
29
+ showFooter: import("@angular/core").InputSignal<boolean>;
30
+ resize: import("@angular/core").InputSignal<boolean>;
31
+ textPosition: import("@angular/core").InputSignal<"left" | "right" | "center">;
32
+ onInput: import("@angular/core").OutputEmitterRef<string | number>;
33
+ ngOnInit(): void;
34
+ get value(): string | number | null | undefined;
35
+ get footer(): string;
36
+ protected _isEnable: import("@angular/core").Signal<boolean>;
37
+ protected floatLabel: import("@angular/core").Signal<"auto" | "always">;
38
+ protected paddingRight: import("@angular/core").Signal<"0px" | "18px">;
39
+ /** */
40
+ private SetEvents;
41
+ /** */
42
+ Focus(timeout?: number): void;
43
+ /** */
44
+ Select(timeout?: number): void;
45
+ /** */
46
+ Blur(): void;
47
+ /** */
48
+ Clear(): void;
49
+ static ɵfac: i0.ɵɵFactoryDeclaration<CoerTextarea, never>;
50
+ static ɵcmp: i0.ɵɵComponentDeclaration<CoerTextarea, "coer-textarea", never, { "value": { "alias": "value"; "required": false; }; "id": { "alias": "id"; "required": false; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "minLength": { "alias": "minLength"; "required": false; "isSignal": true; }; "maxLength": { "alias": "maxLength"; "required": false; "isSignal": true; }; "width": { "alias": "width"; "required": false; "isSignal": true; }; "minWidth": { "alias": "minWidth"; "required": false; "isSignal": true; }; "maxWidth": { "alias": "maxWidth"; "required": false; "isSignal": true; }; "marginTop": { "alias": "marginTop"; "required": false; "isSignal": true; }; "marginRight": { "alias": "marginRight"; "required": false; "isSignal": true; }; "marginBottom": { "alias": "marginBottom"; "required": false; "isSignal": true; }; "marginLeft": { "alias": "marginLeft"; "required": false; "isSignal": true; }; "isInvalid": { "alias": "isInvalid"; "required": false; "isSignal": true; }; "isValid": { "alias": "isValid"; "required": false; "isSignal": true; }; "isDisabled": { "alias": "isDisabled"; "required": false; "isSignal": true; }; "isReadonly": { "alias": "isReadonly"; "required": false; "isSignal": true; }; "isLoading": { "alias": "isLoading"; "required": false; "isSignal": true; }; "showFooter": { "alias": "showFooter"; "required": false; "isSignal": true; }; "resize": { "alias": "resize"; "required": false; "isSignal": true; }; "textPosition": { "alias": "textPosition"; "required": false; "isSignal": true; }; }, { "onInput": "onInput"; }, never, never, false, never>;
51
+ }
@@ -0,0 +1,57 @@
1
+ import { ElementRef, OnInit } from '@angular/core';
2
+ import { ControlValue } from '../../../tools/lib/control-value.class';
3
+ import * as i0 from "@angular/core";
4
+ export declare class CoerTextBox extends ControlValue implements OnInit {
5
+ protected _value: string | number;
6
+ protected matFormField: import("@angular/core").Signal<ElementRef<any>>;
7
+ protected coerTextBox: import("@angular/core").Signal<ElementRef<any>>;
8
+ protected _id: string;
9
+ protected _isLoadingEvent: import("@angular/core").WritableSignal<boolean>;
10
+ private element;
11
+ set value(value: string | number | null | undefined);
12
+ id: string;
13
+ label: import("@angular/core").InputSignal<string>;
14
+ placeholder: import("@angular/core").InputSignal<string>;
15
+ minLength: import("@angular/core").InputSignal<string | number>;
16
+ maxLength: import("@angular/core").InputSignal<string | number>;
17
+ showSearchIcon: import("@angular/core").InputSignal<boolean>;
18
+ showClearIcon: import("@angular/core").InputSignal<boolean>;
19
+ width: import("@angular/core").InputSignal<string>;
20
+ minWidth: import("@angular/core").InputSignal<string>;
21
+ maxWidth: import("@angular/core").InputSignal<string>;
22
+ marginTop: import("@angular/core").InputSignal<string>;
23
+ marginRight: import("@angular/core").InputSignal<string>;
24
+ marginBottom: import("@angular/core").InputSignal<string>;
25
+ marginLeft: import("@angular/core").InputSignal<string>;
26
+ isInvalid: import("@angular/core").InputSignal<boolean>;
27
+ isValid: import("@angular/core").InputSignal<boolean>;
28
+ isDisabled: import("@angular/core").InputSignal<boolean>;
29
+ isReadonly: import("@angular/core").InputSignal<boolean>;
30
+ isLoading: import("@angular/core").InputSignal<boolean>;
31
+ selectOnFocus: import("@angular/core").InputSignal<boolean>;
32
+ textPosition: import("@angular/core").InputSignal<"left" | "right" | "center">;
33
+ onKeyupEnter: import("@angular/core").OutputEmitterRef<string | number>;
34
+ onInput: import("@angular/core").OutputEmitterRef<string | number>;
35
+ onClickClear: import("@angular/core").OutputEmitterRef<void>;
36
+ ngOnInit(): void;
37
+ protected get _showSearchIcon(): boolean;
38
+ protected get _showClearIcon(): boolean;
39
+ get value(): string | number | null | undefined;
40
+ protected _isEnable: import("@angular/core").Signal<boolean>;
41
+ protected floatLabel: import("@angular/core").Signal<"auto" | "always">;
42
+ protected paddingRight: import("@angular/core").Signal<"0px" | "18px">;
43
+ /** */
44
+ private SetEvents;
45
+ /** */
46
+ Focus(timeout?: number): void;
47
+ /** */
48
+ Select(timeout?: number): void;
49
+ /** */
50
+ Blur(): void;
51
+ /** */
52
+ Clear(): void;
53
+ /** */
54
+ protected ClickSearch(): void;
55
+ static ɵfac: i0.ɵɵFactoryDeclaration<CoerTextBox, never>;
56
+ static ɵcmp: i0.ɵɵComponentDeclaration<CoerTextBox, "coer-textbox", never, { "value": { "alias": "value"; "required": false; }; "id": { "alias": "id"; "required": false; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "minLength": { "alias": "minLength"; "required": false; "isSignal": true; }; "maxLength": { "alias": "maxLength"; "required": false; "isSignal": true; }; "showSearchIcon": { "alias": "showSearchIcon"; "required": false; "isSignal": true; }; "showClearIcon": { "alias": "showClearIcon"; "required": false; "isSignal": true; }; "width": { "alias": "width"; "required": false; "isSignal": true; }; "minWidth": { "alias": "minWidth"; "required": false; "isSignal": true; }; "maxWidth": { "alias": "maxWidth"; "required": false; "isSignal": true; }; "marginTop": { "alias": "marginTop"; "required": false; "isSignal": true; }; "marginRight": { "alias": "marginRight"; "required": false; "isSignal": true; }; "marginBottom": { "alias": "marginBottom"; "required": false; "isSignal": true; }; "marginLeft": { "alias": "marginLeft"; "required": false; "isSignal": true; }; "isInvalid": { "alias": "isInvalid"; "required": false; "isSignal": true; }; "isValid": { "alias": "isValid"; "required": false; "isSignal": true; }; "isDisabled": { "alias": "isDisabled"; "required": false; "isSignal": true; }; "isReadonly": { "alias": "isReadonly"; "required": false; "isSignal": true; }; "isLoading": { "alias": "isLoading"; "required": false; "isSignal": true; }; "selectOnFocus": { "alias": "selectOnFocus"; "required": false; "isSignal": true; }; "textPosition": { "alias": "textPosition"; "required": false; "isSignal": true; }; }, { "onKeyupEnter": "onKeyupEnter"; "onInput": "onInput"; "onClickClear": "onClickClear"; }, never, never, false, never>;
57
+ }
@@ -1,12 +1,31 @@
1
1
  import * as i0 from "@angular/core";
2
2
  import * as i1 from "./coer-alert/coer-alert.component";
3
3
  import * as i2 from "./coer-button/coer-button.component";
4
- import * as i3 from "@angular/common";
5
- import * as i4 from "@angular/router";
6
- import * as i5 from "@angular/forms";
7
- import * as i6 from "@angular/material/button";
4
+ import * as i3 from "./coer-checkbox/coer-checkbox.component";
5
+ import * as i4 from "./coer-filebox/coer-filebox.component";
6
+ import * as i5 from "./coer-form/coer-form.component";
7
+ import * as i6 from "./coer-grid/coer-grid.component";
8
+ import * as i7 from "./coer-modal/coer-modal.component";
9
+ import * as i8 from "./coer-numberbox/coer-numberbox.component";
10
+ import * as i9 from "./coer-page-title/coer-page-title.component";
11
+ import * as i10 from "./coer-selectbox/coer-selectbox.component";
12
+ import * as i11 from "./coer-switch/coer-switch.component";
13
+ import * as i12 from "./coer-tab/coer-tab.component";
14
+ import * as i13 from "./coer-textarea/coer-textarea.component";
15
+ import * as i14 from "./coer-textbox/coer-textbox.component";
16
+ import * as i15 from "@angular/common";
17
+ import * as i16 from "@angular/router";
18
+ import * as i17 from "@angular/forms";
19
+ import * as i18 from "../../pipes/lib/pipes.module";
20
+ import * as i19 from "@angular/material/button";
21
+ import * as i20 from "@angular/material/checkbox";
22
+ import * as i21 from "@angular/material/input";
23
+ import * as i22 from "@angular/material/form-field";
24
+ import * as i23 from "@angular/material/slide-toggle";
25
+ import * as i24 from "@angular/material/tabs";
26
+ import * as i25 from "../../directives/lib/directives.module";
8
27
  export declare class ComponentsModule {
9
28
  static ɵfac: i0.ɵɵFactoryDeclaration<ComponentsModule, never>;
10
- static ɵmod: i0.ɵɵNgModuleDeclaration<ComponentsModule, [typeof i1.CoerAlert, typeof i2.CoerButton], [typeof i3.CommonModule, typeof i4.RouterModule, typeof i5.FormsModule, typeof i5.ReactiveFormsModule, typeof i6.MatButtonModule], [typeof i1.CoerAlert, typeof i2.CoerButton]>;
29
+ static ɵmod: i0.ɵɵNgModuleDeclaration<ComponentsModule, [typeof i1.CoerAlert, typeof i2.CoerButton, typeof i3.CoerCheckbox, typeof i4.CoerFilebox, typeof i5.CoerForm, typeof i6.CoerGrid, typeof i7.CoerModal, typeof i8.CoerNumberBox, typeof i9.CoerPageTitle, typeof i10.CoerSelectbox, typeof i11.CoerSwitch, typeof i12.CoerTab, typeof i13.CoerTextarea, typeof i14.CoerTextBox], [typeof i15.CommonModule, typeof i16.RouterModule, typeof i17.FormsModule, typeof i17.ReactiveFormsModule, typeof i18.PipesModule, typeof i19.MatButtonModule, typeof i20.MatCheckboxModule, typeof i21.MatInputModule, typeof i22.MatFormFieldModule, typeof i23.MatSlideToggleModule, typeof i24.MatTabsModule, typeof i25.DirectivesModule], [typeof i1.CoerAlert, typeof i2.CoerButton, typeof i3.CoerCheckbox, typeof i4.CoerFilebox, typeof i5.CoerForm, typeof i6.CoerGrid, typeof i7.CoerModal, typeof i8.CoerNumberBox, typeof i9.CoerPageTitle, typeof i10.CoerSelectbox, typeof i11.CoerSwitch, typeof i12.CoerTab, typeof i13.CoerTextarea, typeof i14.CoerTextBox]>;
11
30
  static ɵinj: i0.ɵɵInjectorDeclaration<ComponentsModule>;
12
31
  }
@@ -0,0 +1,3 @@
1
+ export * from './lib/directives.module';
2
+ export * from './lib/coer-ref.directive';
3
+ export * from './lib/life-cycle.directive';
@@ -0,0 +1,14 @@
1
+ import { TemplateRef } from "@angular/core";
2
+ import * as i0 from "@angular/core";
3
+ export declare class CoerRefDirective {
4
+ template: TemplateRef<any>;
5
+ coerRef: import("@angular/core").InputSignal<string>;
6
+ title: import("@angular/core").InputSignal<string>;
7
+ icon: import("@angular/core").InputSignal<string>;
8
+ isDisabled: import("@angular/core").InputSignal<boolean>;
9
+ show: import("@angular/core").InputSignal<boolean>;
10
+ tooltip: import("@angular/core").InputSignal<string>;
11
+ constructor(template: TemplateRef<any>);
12
+ static ɵfac: i0.ɵɵFactoryDeclaration<CoerRefDirective, never>;
13
+ static ɵdir: i0.ɵɵDirectiveDeclaration<CoerRefDirective, "[coerRef]", never, { "coerRef": { "alias": "coerRef"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "isDisabled": { "alias": "isDisabled"; "required": false; "isSignal": true; }; "show": { "alias": "show"; "required": false; "isSignal": true; }; "tooltip": { "alias": "tooltip"; "required": false; "isSignal": true; }; }, {}, never, never, false, never>;
14
+ }
@@ -0,0 +1,8 @@
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "./coer-ref.directive";
3
+ import * as i2 from "./life-cycle.directive";
4
+ export declare class DirectivesModule {
5
+ static ɵfac: i0.ɵɵFactoryDeclaration<DirectivesModule, never>;
6
+ static ɵmod: i0.ɵɵNgModuleDeclaration<DirectivesModule, [typeof i1.CoerRefDirective, typeof i2.LifeCycleDirective], never, [typeof i1.CoerRefDirective, typeof i2.LifeCycleDirective]>;
7
+ static ɵinj: i0.ɵɵInjectorDeclaration<DirectivesModule>;
8
+ }
@@ -0,0 +1,14 @@
1
+ import { OnDestroy, OnInit, ElementRef, AfterViewInit } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export declare class LifeCycleDirective implements OnInit, AfterViewInit, OnDestroy {
4
+ private element;
5
+ onInit: import("@angular/core").OutputEmitterRef<HTMLElement>;
6
+ afterViewInit: import("@angular/core").OutputEmitterRef<HTMLElement>;
7
+ onDestroy: import("@angular/core").OutputEmitterRef<HTMLElement>;
8
+ constructor(element: ElementRef);
9
+ ngOnInit(): void;
10
+ ngAfterViewInit(): void;
11
+ ngOnDestroy(): void;
12
+ static ɵfac: i0.ɵɵFactoryDeclaration<LifeCycleDirective, never>;
13
+ static ɵdir: i0.ɵɵDirectiveDeclaration<LifeCycleDirective, "[lifecycle]", never, {}, { "onInit": "onInit"; "afterViewInit": "afterViewInit"; "onDestroy": "onDestroy"; }, never, never, false, never>;
14
+ }
@@ -0,0 +1,2 @@
1
+ export * from '../lib/coer-grid/coer-grid.templates';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb2VyLWVsZW1lbnRzL3NyYy9jb21wb25lbnRzL2NvZXItZ3JpZC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHNDQUFzQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi4vbGliL2NvZXItZ3JpZC9jb2VyLWdyaWQudGVtcGxhdGVzJzsiXX0=
@@ -1,4 +1,17 @@
1
1
  export * from './lib/components.module';
2
2
  export * from './lib/coer-alert/coer-alert.component';
3
3
  export * from './lib/coer-button/coer-button.component';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb2VyLWVsZW1lbnRzL3NyYy9jb21wb25lbnRzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLHlDQUF5QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy5tb2R1bGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb2VyLWFsZXJ0L2NvZXItYWxlcnQuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29lci1idXR0b24vY29lci1idXR0b24uY29tcG9uZW50JzsiXX0=
4
+ export * from './lib/coer-checkbox/coer-checkbox.component';
5
+ export * from './lib/coer-filebox/coer-filebox.component';
6
+ export * from './lib/coer-form/coer-form.component';
7
+ export * from './lib/coer-grid/coer-grid.component';
8
+ export * from './lib/coer-modal/coer-modal.component';
9
+ export * from './lib/coer-numberbox/coer-numberbox.component';
10
+ export * from './lib/coer-page-title/coer-page-title.component';
11
+ export * from './lib/coer-selectbox/coer-selectbox.component';
12
+ export * from './lib/coer-switch/coer-switch.component';
13
+ export * from './lib/coer-tab/coer-tab.component';
14
+ export * from './lib/coer-textarea/coer-textarea.component';
15
+ export * from './lib/coer-textbox/coer-textbox.component';
16
+ export * from './coer-grid';
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb2VyLWVsZW1lbnRzL3NyYy9jb21wb25lbnRzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLCtDQUErQyxDQUFDO0FBQzlELGNBQWMsaURBQWlELENBQUM7QUFDaEUsY0FBYywrQ0FBK0MsQ0FBQztBQUM5RCxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLDJDQUEyQyxDQUFDO0FBRTFELGNBQWMsYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy5tb2R1bGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb2VyLWFsZXJ0L2NvZXItYWxlcnQuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29lci1idXR0b24vY29lci1idXR0b24uY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29lci1jaGVja2JveC9jb2VyLWNoZWNrYm94LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvZXItZmlsZWJveC9jb2VyLWZpbGVib3guY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29lci1mb3JtL2NvZXItZm9ybS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb2VyLWdyaWQvY29lci1ncmlkLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvZXItbW9kYWwvY29lci1tb2RhbC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb2VyLW51bWJlcmJveC9jb2VyLW51bWJlcmJveC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb2VyLXBhZ2UtdGl0bGUvY29lci1wYWdlLXRpdGxlLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvZXItc2VsZWN0Ym94L2NvZXItc2VsZWN0Ym94LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvZXItc3dpdGNoL2NvZXItc3dpdGNoLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvZXItdGFiL2NvZXItdGFiLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvZXItdGV4dGFyZWEvY29lci10ZXh0YXJlYS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb2VyLXRleHRib3gvY29lci10ZXh0Ym94LmNvbXBvbmVudCc7XHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2NvZXItZ3JpZCc7Il19
@@ -1,5 +1,5 @@
1
1
  import { Component, computed, EventEmitter, input, Input, Output } from '@angular/core';
2
- import { Tools } from '../../../tools';
2
+ import { Tools } from '../../../tools/lib/tools';
3
3
  import { Tooltip } from 'bootstrap';
4
4
  import * as i0 from "@angular/core";
5
5
  import * as i1 from "@angular/common";
@@ -130,4 +130,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
130
130
  }], onClick: [{
131
131
  type: Output
132
132
  }] } });
133
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29lci1idXR0b24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29lci1lbGVtZW50cy9zcmMvY29tcG9uZW50cy9saWIvY29lci1idXR0b24vY29lci1idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29lci1lbGVtZW50cy9zcmMvY29tcG9uZW50cy9saWIvY29lci1idXR0b24vY29lci1idXR0b24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDdEMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQzs7Ozs7QUFPcEMsTUFBTSxPQUFPLFVBQVU7SUFMdkI7UUFPSSxXQUFXO1FBQ0QsUUFBRyxHQUFXLEtBQUssQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUM7UUFFN0MsYUFBUSxHQUFXLEVBQUUsQ0FBQztRQUc5QixRQUFRO1FBQ0MsT0FBRSxHQUFXLEVBQUUsQ0FBQztRQUNsQixVQUFLLEdBQUcsS0FBSyxDQUF3RixTQUFTLENBQUMsQ0FBQztRQUNoSCxTQUFJLEdBQUcsS0FBSyxDQUFtRSxRQUFRLENBQUMsQ0FBQztRQUN6RixTQUFJLEdBQUcsS0FBSyxDQUFtRyxFQUFFLENBQUMsQ0FBQztRQUNuSCxpQkFBWSxHQUFHLEtBQUssQ0FBbUIsTUFBTSxDQUFDLENBQUM7UUFDL0MsY0FBUyxHQUFHLEtBQUssQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUNsQyxjQUFTLEdBQUcsS0FBSyxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBQ2xDLGVBQVUsR0FBRyxLQUFLLENB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QUFDLENBQUM7WUFDUCxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBR0QsTUFBTTtJQUNJLEtBQUssQ0FBQyxLQUFpQjtRQUM3QixJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDO1lBQ25CLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzdCLENBQUM7UUFFRCxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDaEIsQ0FBQztJQUdELE1BQU07SUFDQyxLQUFLLENBQUMsVUFBa0IsQ0FBQztRQUM1QixLQUFLLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDM0IsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO2dCQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDaEQsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBR0QsTUFBTTtJQUNDLElBQUk7UUFDUCxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUNwQixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3pCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzsrR0F0SVEsVUFBVTttR0FBVixVQUFVLDRuRkNUdkIsb3VMQStHTTs7NEZEdEdPLFVBQVU7a0JBTHRCLFNBQVM7K0JBQ0ksYUFBYTs4QkFhZCxFQUFFO3NCQUFWLEtBQUs7Z0JBb0JPLE9BQU87c0JBQW5CLEtBQUs7Z0JBUUksT0FBTztzQkFBaEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgY29tcHV0ZWQsIEV2ZW50RW1pdHRlciwgaW5wdXQsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFRvb2xzIH0gZnJvbSAnLi4vLi4vLi4vdG9vbHMnXHJcbmltcG9ydCB7IFRvb2x0aXAgfSBmcm9tICdib290c3RyYXAnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2NvZXItYnV0dG9uJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9jb2VyLWJ1dHRvbi5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybDogJy4vY29lci1idXR0b24uY29tcG9uZW50LnNjc3MnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ29lckJ1dHRvbiBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuXHJcbiAgICAvL1ZhcmlhYmxlc1xyXG4gICAgcHJvdGVjdGVkIF9pZDogc3RyaW5nID0gVG9vbHMuR2V0R3VpZCgnY29lci1idXR0b24nKTtcclxuICAgIHByaXZhdGUgX2VsZW1lbnQhOiBIVE1MQnV0dG9uRWxlbWVudDtcclxuICAgIHByaXZhdGUgX3Rvb2x0aXA6IHN0cmluZyA9ICcnO1xyXG4gICAgcHJpdmF0ZSBfdG9vbHRpcEVsZW1lbnQhOiBUb29sdGlwO1xyXG5cclxuICAgIC8vSW5wdXRzXHJcbiAgICBASW5wdXQoKSBpZDogc3RyaW5nID0gJyc7XHJcbiAgICBwdWJsaWMgY29sb3IgPSBpbnB1dDwnZGVmYXVsdCcgfCAncHJpbWFyeScgfCAnc2Vjb25kYXJ5JyB8ICdzdWNjZXNzJyB8ICd3YXJuaW5nJyB8ICdkYW5nZXInIHwgJ25hdmlnYXRpb24nPignZGVmYXVsdCcpO1xyXG4gICAgcHVibGljIHR5cGUgPSBpbnB1dDwnZmlsbGVkJyB8ICdvdXRsaW5lJyB8ICdpY29uJ3wgJ2ljb24tb3V0bGluZScgfCAnaWNvbi1uby1ib3JkZXInPignZmlsbGVkJyk7XHJcbiAgICBwdWJsaWMgaWNvbiA9IGlucHV0PCduZXcnIHwgJ3NhdmUnIHwgJ2NhbmNlbCcgfCAnaW1wb3J0JyB8ICdleGNlbCcgfCAnbWVudScgfCAnZGVsZXRlJyB8ICdlZGl0JyB8ICdnbycgfCAnYmFjaycgfCAnJz4oJycpO1xyXG4gICAgcHVibGljIGljb25Qb3NpdGlvbiA9IGlucHV0PCdsZWZ0JyB8ICdyaWdodCc+KCdsZWZ0Jyk7XHJcbiAgICBwdWJsaWMgYW5pbWF0aW9uID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xyXG4gICAgcHVibGljIGlzTG9hZGluZyA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcclxuICAgIHB1YmxpYyBpc0Rpc2FibGVkID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xyXG4gICAgcHVibGljIGlzSW52aXNpYmxlID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xyXG4gICAgcHVibGljIHdpZHRoID0gaW5wdXQ8c3RyaW5nPignMTI1cHgnKTtcclxuICAgIHB1YmxpYyBtaW5XaWR0aCA9IGlucHV0PHN0cmluZz4oJzMwcHgnKTtcclxuICAgIHB1YmxpYyBoZWlnaHQgPSBpbnB1dDxzdHJpbmc+KCc0MHB4Jyk7XHJcbiAgICBwdWJsaWMgbWluSGVpZ2h0ID0gaW5wdXQ8c3RyaW5nPignMzBweCcpO1xyXG4gICAgcHVibGljIG1hcmdpblRvcCA9IGlucHV0PHN0cmluZz4oJzBweCcpO1xyXG4gICAgcHVibGljIG1hcmdpblJpZ2h0ID0gaW5wdXQ8c3RyaW5nPignMHB4Jyk7XHJcbiAgICBwdWJsaWMgbWFyZ2luQm90dG9tID0gaW5wdXQ8c3RyaW5nPignMHB4Jyk7XHJcbiAgICBwdWJsaWMgbWFyZ2luTGVmdCA9IGlucHV0PHN0cmluZz4oJzBweCcpO1xyXG4gICAgcHVibGljIHBhdGggPSBpbnB1dDxzdHJpbmcgfCAoc3RyaW5nIHwgbnVtYmVyKVtdPihbXSk7XHJcbiAgICBwdWJsaWMgdG9vbHRpcFBvc2l0aW9uID0gaW5wdXQ8J3RvcCcgfCAncmlnaHQnIHwgJ2JvdHRvbScgfCAnbGVmdCc+KCdsZWZ0Jyk7XHJcblxyXG4gICAgQElucHV0KCkgc2V0IHRvb2x0aXAodmFsdWU6IHN0cmluZykge1xyXG4gICAgICAgIHRoaXMuX3Rvb2x0aXAgPSB2YWx1ZTtcclxuICAgICAgICBpZiAodmFsdWUgJiYgdGhpcy5fdG9vbHRpcEVsZW1lbnQpIHtcclxuICAgICAgICAgICAgdGhpcy5fdG9vbHRpcEVsZW1lbnQuc2V0Q29udGVudCh7ICcudG9vbHRpcC1pbm5lcic6IHRoaXMuX3Rvb2x0aXAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vT3V0cHV0c1xyXG4gICAgQE91dHB1dCgpIG9uQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+KCk7XHJcblxyXG5cclxuICAgIC8vY29tcHV0ZWRcclxuICAgIHByb3RlY3RlZCBfaXNFbmFibGUgPSBjb21wdXRlZDxib29sZWFuPigoKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuICF0aGlzLmlzTG9hZGluZygpICYmICF0aGlzLmlzRGlzYWJsZWQoKSAmJiAhdGhpcy5pc0ludmlzaWJsZSgpO1xyXG4gICAgfSk7XHJcblxyXG5cclxuICAgIC8vY29tcHV0ZWRcclxuICAgIHByb3RlY3RlZCBfaWNvbiA9IGNvbXB1dGVkPHN0cmluZz4oKCkgPT4ge1xyXG4gICAgICAgIHN3aXRjaCh0aGlzLmljb24oKSkge1xyXG4gICAgICAgICAgICBjYXNlICduZXcnOiByZXR1cm4gJ2ZhLXNvbGlkIGZhLXBsdXMgZmEtbGcnO1xyXG4gICAgICAgICAgICBjYXNlICdzYXZlJzogcmV0dXJuICdmYS1zb2xpZCBmYS1mbG9wcHktZGlzayBmYS1sZyc7XHJcbiAgICAgICAgICAgIGNhc2UgJ2NhbmNlbCc6IHJldHVybiAnZmEtc29saWQgZmEteG1hcmsgZmEtbGcnO1xyXG4gICAgICAgICAgICBjYXNlICdpbXBvcnQnOiByZXR1cm4gJ2ZhLXNvbGlkIGZhLWZpbGUtYXJyb3ctdXAgZmEtbGcnO1xyXG4gICAgICAgICAgICBjYXNlICdleGNlbCc6IHJldHVybiAnYmkgYmktZmlsZXR5cGUteGxzeCBmYS1sZyc7XHJcbiAgICAgICAgICAgIGNhc2UgJ21lbnUnOiByZXR1cm4gJ2ZhLXNvbGlkIGZhLWJhcnMnO1xyXG4gICAgICAgICAgICBjYXNlICdkZWxldGUnOiByZXR1cm4gJ2ZhLXNvbGlkIGZhLXRyYXNoLWNhbic7XHJcbiAgICAgICAgICAgIGNhc2UgJ2VkaXQnOiByZXR1cm4gJ2ZhLXNvbGlkIGZhLXBlbiBmYS1sZyc7XHJcbiAgICAgICAgICAgIGNhc2UgJ2dvJzogcmV0dXJuICdiaSBiaS1ib3gtYXJyb3ctcmlnaHQnO1xyXG4gICAgICAgICAgICBjYXNlICdiYWNrJzogcmV0dXJuICdiaSBiaS1ib3gtYXJyb3ctbGVmdCc7XHJcbiAgICAgICAgICAgIGRlZmF1bHQ6IHJldHVybiAnJztcclxuICAgICAgICB9XHJcbiAgICB9KTtcclxuXHJcblxyXG4gICAgbmdPbkluaXQoKSB7XHJcbiAgICAgICAgdGhpcy5TZXRUb29sVGlwKCk7XHJcbiAgICAgICAgdGhpcy5TZXRFdmVudHMoKTtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uRGVzdHJveSgpIHtcclxuICAgICAgICBpZiAodGhpcy5fdG9vbHRpcEVsZW1lbnQpIHtcclxuICAgICAgICAgICAgVG9vbHMuU2xlZXAoKS50aGVuKCgpID0+IHRoaXMuX3Rvb2x0aXBFbGVtZW50LmRpc3Bvc2UoKSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKiogKi9cclxuICAgIHByaXZhdGUgU2V0RXZlbnRzKCk6IHZvaWQge1xyXG4gICAgICAgIFRvb2xzLlNsZWVwKCkudGhlbigoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuX2VsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChgJHt0aGlzLl9pZH0taW5uZXItYnV0dG9uYCkhIGFzIEhUTUxCdXR0b25FbGVtZW50O1xyXG5cclxuICAgICAgICAgICAgaWYgKFRvb2xzLklzTm90TnVsbCh0aGlzLl9lbGVtZW50KSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdmb2N1cycsICgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoIXRoaXMuX2lzRW5hYmxlKCkpIHRoaXMuQmx1cigpO1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgcHJpdmF0ZSBTZXRUb29sVGlwKCk6IHZvaWQge1xyXG4gICAgICAgIFRvb2xzLlNsZWVwKCkudGhlbigoKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IGh0bWxFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoYCR7dGhpcy5faWR9LWNvbnRhaW5lcmApITtcclxuXHJcbiAgICAgICAgICAgIGlmIChUb29scy5Jc05vdE51bGwoaHRtbEVsZW1lbnQpKSB7XHJcbiAgICAgICAgICAgICAgICBodG1sRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWxlYXZlJywgKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChUb29scy5Jc05vdE51bGwoaHRtbEVsZW1lbnQpICYmIFRvb2xzLklzTm90TnVsbCh0aGlzLl90b29sdGlwRWxlbWVudCkpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fdG9vbHRpcEVsZW1lbnQuaGlkZSgpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgICAgICAgIHRoaXMuX3Rvb2x0aXBFbGVtZW50ID0gbmV3IFRvb2x0aXAoaHRtbEVsZW1lbnQsIHtcclxuICAgICAgICAgICAgICAgICAgICBodG1sOiB0cnVlLFxyXG4gICAgICAgICAgICAgICAgICAgIHRpdGxlOiB0aGlzLl90b29sdGlwLFxyXG4gICAgICAgICAgICAgICAgICAgIHBsYWNlbWVudDogdGhpcy50b29sdGlwUG9zaXRpb25cclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8qKiAqL1xyXG4gICAgcHJvdGVjdGVkIENsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KSB7XHJcbiAgICAgICAgaWYgKHRoaXMuX2lzRW5hYmxlKCkpIHtcclxuICAgICAgICAgICAgdGhpcy5vbkNsaWNrLmVtaXQoZXZlbnQpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5CbHVyKCk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8qKiAqL1xyXG4gICAgcHVibGljIEZvY3VzKHRpbWVvdXQ6IG51bWJlciA9IDApOiB2b2lkIHtcclxuICAgICAgICBUb29scy5TbGVlcCh0aW1lb3V0KS50aGVuKCgpID0+IHtcclxuICAgICAgICAgICAgaWYgKHRoaXMuX2lzRW5hYmxlKCkpIHRoaXMuX2VsZW1lbnQuZm9jdXMoKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqICovXHJcbiAgICBwdWJsaWMgQmx1cigpOiB2b2lkIHtcclxuICAgICAgICBUb29scy5TbGVlcCgpLnRoZW4oKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLl9lbGVtZW50LmJsdXIoKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxufSIsIjxkaXYgW25nQ2xhc3NdPVwieyAnY29lci1idXR0b24nOiB0cnVlLCAnaW52aXNpYmxlJzogaXNJbnZpc2libGUoKSB9XCI+XHJcbiAgICA8YSBbaWRdPVwiX2lkICsgJy1jb250YWluZXInXCJcclxuICAgICAgICBbcm91dGVyTGlua109XCIocGF0aCgpLmxlbmd0aCA+IDAgJiYgX2lzRW5hYmxlKCkpID8gcGF0aCgpIDogbnVsbFwiXHJcbiAgICAgICAgW25nQ2xhc3NdPVwieyAnbG9hZGluZyc6IGlzTG9hZGluZygpLCAnYW5pbWF0ZV9fYW5pbWF0ZWQgYW5pbWF0ZV9fem9vbUluJzogdHJ1ZSwgJ2FuaW1hdGVfX2Rpc2FibGVkJzogIWFuaW1hdGlvbigpIH1cIlxyXG4gICAgICAgIFtuZ1N0eWxlXT1cInsgJ21hcmdpbi10b3AnOiBtYXJnaW5Ub3AoKSwgJ21hcmdpbi1yaWdodCc6IG1hcmdpblJpZ2h0KCksICdtYXJnaW4tYm90dG9tJzogbWFyZ2luQm90dG9tKCksICdtYXJnaW4tbGVmdCc6IG1hcmdpbkxlZnQoKSAgfVwiPlxyXG4gICAgICAgIEBpZih0eXBlKCkgPT0nZmlsbGVkJyB8fCB0eXBlKCkgPT0gJ291dGxpbmUnKSB7XHJcbiAgICAgICAgICAgIDxidXR0b24gbWF0LWJ1dHRvblxyXG4gICAgICAgICAgICAgICAgW2lkXT1cIl9pZCArICctaW5uZXItYnV0dG9uJ1wiXHJcbiAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgICAgICAgICAgIChjbGljayk9XCJDbGljaygkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcclxuICAgICAgICAgICAgICAgICAgICAncHJpbWFyeS1maWxsZWQnOiAoY29sb3IoKSA9PSAncHJpbWFyeScgJiYgdHlwZSgpID09J2ZpbGxlZCcpLFxyXG4gICAgICAgICAgICAgICAgICAgICdzZWNvbmRhcnktZmlsbGVkJzogKGNvbG9yKCkgPT0gJ3NlY29uZGFyeScgJiYgdHlwZSgpID09J2ZpbGxlZCcpLFxyXG4gICAgICAgICAgICAgICAgICAgICdzdWNjZXNzLWZpbGxlZCc6IChjb2xvcigpID09ICdzdWNjZXNzJyAmJiB0eXBlKCkgPT0nZmlsbGVkJyksXHJcbiAgICAgICAgICAgICAgICAgICAgJ3dhcm5pbmctZmlsbGVkJzogKGNvbG9yKCkgPT0gJ3dhcm5pbmcnICYmIHR5cGUoKSA9PSdmaWxsZWQnKSxcclxuICAgICAgICAgICAgICAgICAgICAnZGFuZ2VyLWZpbGxlZCc6IChjb2xvcigpID09ICdkYW5nZXInICYmIHR5cGUoKSA9PSdmaWxsZWQnKSxcclxuICAgICAgICAgICAgICAgICAgICAnbmF2aWdhdGlvbi1maWxsZWQnOiAoY29sb3IoKSA9PSAnbmF2aWdhdGlvbicgJiYgdHlwZSgpID09J2ZpbGxlZCcpLFxyXG4gICAgICAgICAgICAgICAgICAgICdwcmltYXJ5LW91dGxpbmUnOiAoY29sb3IoKSA9PSAncHJpbWFyeScgJiYgdHlwZSgpID09J291dGxpbmUnKSxcclxuICAgICAgICAgICAgICAgICAgICAnc2Vjb25kYXJ5LW91dGxpbmUnOiAoY29sb3IoKSA9PSAnc2Vjb25kYXJ5JyAmJiB0eXBlKCkgPT0nb3V0bGluZScpLFxyXG4gICAgICAgICAgICAgICAgICAgICdzdWNjZXNzLW91dGxpbmUnOiAoY29sb3IoKSA9PSAnc3VjY2VzcycgJiYgdHlwZSgpID09J291dGxpbmUnKSxcclxuICAgICAgICAgICAgICAgICAgICAnd2FybmluZy1vdXRsaW5lJzogKGNvbG9yKCkgPT0gJ3dhcm5pbmcnICYmIHR5cGUoKSA9PSdvdXRsaW5lJyksXHJcbiAgICAgICAgICAgICAgICAgICAgJ2Rhbmdlci1vdXRsaW5lJzogKGNvbG9yKCkgPT0gJ2RhbmdlcicgJiYgdHlwZSgpID09J291dGxpbmUnKSxcclxuICAgICAgICAgICAgICAgICAgICAnbmF2aWdhdGlvbi1vdXRsaW5lJzogKGNvbG9yKCkgPT0gJ25hdmlnYXRpb24nKSxcclxuICAgICAgICAgICAgICAgICAgICAncmVhZG9ubHknOiBpc0Rpc2FibGVkKCksXHJcbiAgICAgICAgICAgICAgICAgICAgJ2N1cnNvci13YWl0JzogaXNMb2FkaW5nKClcclxuICAgICAgICAgICAgICAgIH1cIlxyXG4gICAgICAgICAgICAgICAgW25nU3R5bGVdPVwie1xyXG4gICAgICAgICAgICAgICAgICAgICd3aWR0aCc6IHdpZHRoKCksXHJcbiAgICAgICAgICAgICAgICAgICAgJ21pbi13aWR0aCc6IG1pbldpZHRoKCksXHJcbiAgICAgICAgICAgICAgICAgICAgJ2hlaWdodCc6IGhlaWdodCgpLFxyXG4gICAgICAgICAgICAgICAgICAgICdtaW4taGVpZ2h0JzogbWluSGVpZ2h0KClcclxuICAgICAgICAgICAgICAgIH1cIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2xvdFwiICpuZ0lmPVwiIWlzTG9hZGluZygpOyBlbHNlIGxvYWRpbmdcIiA+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCIoaWNvblBvc2l0aW9uKCkgPT0gJ2xlZnQnKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aSBbY2xhc3NdPVwiX2ljb24oKVwiPjwvaT5cclxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIFtuZ0NsYXNzXT1cInsgJ21zLTInOiAoaWNvblBvc2l0aW9uKCkgPT0gJ2xlZnQnKSwgJ21lLTInOiAoaWNvblBvc2l0aW9uKCkgPT0gJ3JpZ2h0JykgfVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIihpY29uUG9zaXRpb24oKSA9PSAncmlnaHQnKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aSBbY2xhc3NdPVwiX2ljb24oKVwiPjwvaT5cclxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L3NwYW4+XHJcblxyXG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNsb2FkaW5nPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2xvdCBmYS1mYWRlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWUtMlwiPiBMb2FkaW5nIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJzcGlubmVyLWJvcmRlclwiPjwvaT5cclxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBlbHNlIHtcclxuICAgICAgICAgICAgQGlmICh0eXBlKCkgPT0gJ2ljb24nKSB7XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgIFtpZF09XCJfaWQgKyAnLWlubmVyLWJ1dHRvbidcIlxyXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJDbGljaygkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICdwcmltYXJ5LWZpbGxlZCc6IChjb2xvcigpID09ICdwcmltYXJ5JyksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICdzZWNvbmRhcnktZmlsbGVkJzogKGNvbG9yKCkgPT0gJ3NlY29uZGFyeScpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAnc3VjY2Vzcy1maWxsZWQnOiAoY29sb3IoKSA9PSAnc3VjY2VzcycpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAnd2FybmluZy1maWxsZWQnOiAoY29sb3IoKSA9PSAnd2FybmluZycpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAnZGFuZ2VyLWZpbGxlZCc6IChjb2xvcigpID09ICdkYW5nZXInKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgJ25hdmlnYXRpb24tZmlsbGVkJzogKGNvbG9yKCkgPT0gJ25hdmlnYXRpb24nKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgJ3JlYWRvbmx5JzogKGlzRGlzYWJsZWQoKSB8fCBpc0xvYWRpbmcoKSksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICdjdXJzb3Itd2FpdCc6IGlzTG9hZGluZygpXHJcbiAgICAgICAgICAgICAgICAgICAgfVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpIFtjbGFzc109XCJfaWNvbigpXCI+PC9pPlxyXG4gICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIEBlbHNlIGlmICh0eXBlKCkgPT0gJ2ljb24tb3V0bGluZScpIHtcclxuICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgW2lkXT1cIl9pZCArICctaW5uZXItYnV0dG9uJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIkNsaWNrKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcclxuICAgICAgICAgICAgICAgICAgICAgICAgJ3ByaW1hcnktb3V0bGluZSc6IChjb2xvcigpID09ICdwcmltYXJ5JyksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICdzZWNvbmRhcnktb3V0bGluZSc6IChjb2xvcigpID09ICdzZWNvbmRhcnknKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgJ3N1Y2Nlc3Mtb3V0bGluZSc6IChjb2xvcigpID09ICdzdWNjZXNzJyksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICd3YXJuaW5nLW91dGxpbmUnOiAoY29sb3IoKSA9PSAnd2FybmluZycpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAnZGFuZ2VyLW91dGxpbmUnOiAoY29sb3IoKSA9PSAnZGFuZ2VyJyksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICduYXZpZ2F0aW9uLW91dGxpbmUnOiAoY29sb3IoKSA9PSAnbmF2aWdhdGlvbicpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAncmVhZG9ubHknOiAoaXNEaXNhYmxlZCgpIHx8IGlzTG9hZGluZygpKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgJ2N1cnNvci13YWl0JzogaXNMb2FkaW5nKClcclxuICAgICAgICAgICAgICAgICAgICB9XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGkgW2NsYXNzXT1cIl9pY29uKClcIj48L2k+XHJcbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgQGVsc2UgaWYgKHR5cGUoKSA9PSAnaWNvbi1uby1ib3JkZXInKSB7XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgIFtpZF09XCJfaWQgKyAnLWlubmVyLWJ1dHRvbidcIlxyXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJDbGljaygkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICdwcmltYXJ5LW91dGxpbmUnOiAoY29sb3IoKSA9PSAncHJpbWFyeScpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAnc2Vjb25kYXJ5LW91dGxpbmUnOiAoY29sb3IoKSA9PSAnc2Vjb25kYXJ5JyksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICdzdWNjZXNzLW91dGxpbmUnOiAoY29sb3IoKSA9PSAnc3VjY2VzcycpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAnd2FybmluZy1vdXRsaW5lJzogKGNvbG9yKCkgPT0gJ3dhcm5pbmcnKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgJ2Rhbmdlci1vdXRsaW5lJzogKGNvbG9yKCkgPT0gJ2RhbmdlcicpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAnbmF2aWdhdGlvbi1vdXRsaW5lJzogKGNvbG9yKCkgPT0gJ25hdmlnYXRpb24nKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgJ3JlYWRvbmx5JzogKGlzRGlzYWJsZWQoKSB8fCBpc0xvYWRpbmcoKSksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICdpY29uLW5vLWJvcmRlcic6IHRydWVcclxuICAgICAgICAgICAgICAgICAgICB9XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGkgW2NsYXNzXT1cIl9pY29uKClcIj48L2k+XHJcbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIDwvYT5cclxuPC9kaXY+Il19
133
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29lci1idXR0b24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29lci1lbGVtZW50cy9zcmMvY29tcG9uZW50cy9saWIvY29lci1idXR0b24vY29lci1idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29lci1lbGVtZW50cy9zcmMvY29tcG9uZW50cy9saWIvY29lci1idXR0b24vY29lci1idXR0b24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sMEJBQTBCLENBQUE7QUFDaEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQzs7Ozs7QUFPcEMsTUFBTSxPQUFPLFVBQVU7SUFMdkI7UUFPSSxXQUFXO1FBQ0QsUUFBRyxHQUFXLEtBQUssQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUM7UUFFN0MsYUFBUSxHQUFXLEVBQUUsQ0FBQztRQUc5QixRQUFRO1FBQ0MsT0FBRSxHQUFXLEVBQUUsQ0FBQztRQUNsQixVQUFLLEdBQUcsS0FBSyxDQUF3RixTQUFTLENBQUMsQ0FBQztRQUNoSCxTQUFJLEdBQUcsS0FBSyxDQUFtRSxRQUFRLENBQUMsQ0FBQztRQUN6RixTQUFJLEdBQUcsS0FBSyxDQUFtRyxFQUFFLENBQUMsQ0FBQztRQUNuSCxpQkFBWSxHQUFHLEtBQUssQ0FBbUIsTUFBTSxDQUFDLENBQUM7UUFDL0MsY0FBUyxHQUFHLEtBQUssQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUNsQyxjQUFTLEdBQUcsS0FBSyxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBQ2xDLGVBQVUsR0FBRyxLQUFLLENB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QUFDLENBQUM7WUFDUCxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBR0QsTUFBTTtJQUNJLEtBQUssQ0FBQyxLQUFpQjtRQUM3QixJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDO1lBQ25CLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzdCLENBQUM7UUFFRCxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDaEIsQ0FBQztJQUdELE1BQU07SUFDQyxLQUFLLENBQUMsVUFBa0IsQ0FBQztRQUM1QixLQUFLLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDM0IsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO2dCQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDaEQsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBR0QsTUFBTTtJQUNDLElBQUk7UUFDUCxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUNwQixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3pCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzsrR0F0SVEsVUFBVTttR0FBVixVQUFVLDRuRkNUdkIsb3VMQStHTTs7NEZEdEdPLFVBQVU7a0JBTHRCLFNBQVM7K0JBQ0ksYUFBYTs4QkFhZCxFQUFFO3NCQUFWLEtBQUs7Z0JBb0JPLE9BQU87c0JBQW5CLEtBQUs7Z0JBUUksT0FBTztzQkFBaEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgY29tcHV0ZWQsIEV2ZW50RW1pdHRlciwgaW5wdXQsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFRvb2xzIH0gZnJvbSAnLi4vLi4vLi4vdG9vbHMvbGliL3Rvb2xzJ1xyXG5pbXBvcnQgeyBUb29sdGlwIH0gZnJvbSAnYm9vdHN0cmFwJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdjb2VyLWJ1dHRvbicsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vY29lci1idXR0b24uY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmw6ICcuL2NvZXItYnV0dG9uLmNvbXBvbmVudC5zY3NzJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIENvZXJCdXR0b24gaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcblxyXG4gICAgLy9WYXJpYWJsZXNcclxuICAgIHByb3RlY3RlZCBfaWQ6IHN0cmluZyA9IFRvb2xzLkdldEd1aWQoJ2NvZXItYnV0dG9uJyk7XHJcbiAgICBwcml2YXRlIF9lbGVtZW50ITogSFRNTEJ1dHRvbkVsZW1lbnQ7XHJcbiAgICBwcml2YXRlIF90b29sdGlwOiBzdHJpbmcgPSAnJztcclxuICAgIHByaXZhdGUgX3Rvb2x0aXBFbGVtZW50ITogVG9vbHRpcDtcclxuXHJcbiAgICAvL0lucHV0c1xyXG4gICAgQElucHV0KCkgaWQ6IHN0cmluZyA9ICcnO1xyXG4gICAgcHVibGljIGNvbG9yID0gaW5wdXQ8J2RlZmF1bHQnIHwgJ3ByaW1hcnknIHwgJ3NlY29uZGFyeScgfCAnc3VjY2VzcycgfCAnd2FybmluZycgfCAnZGFuZ2VyJyB8ICduYXZpZ2F0aW9uJz4oJ2RlZmF1bHQnKTtcclxuICAgIHB1YmxpYyB0eXBlID0gaW5wdXQ8J2ZpbGxlZCcgfCAnb3V0bGluZScgfCAnaWNvbid8ICdpY29uLW91dGxpbmUnIHwgJ2ljb24tbm8tYm9yZGVyJz4oJ2ZpbGxlZCcpO1xyXG4gICAgcHVibGljIGljb24gPSBpbnB1dDwnbmV3JyB8ICdzYXZlJyB8ICdjYW5jZWwnIHwgJ2ltcG9ydCcgfCAnZXhjZWwnIHwgJ21lbnUnIHwgJ2RlbGV0ZScgfCAnZWRpdCcgfCAnZ28nIHwgJ2JhY2snIHwgJyc+KCcnKTtcclxuICAgIHB1YmxpYyBpY29uUG9zaXRpb24gPSBpbnB1dDwnbGVmdCcgfCAncmlnaHQnPignbGVmdCcpO1xyXG4gICAgcHVibGljIGFuaW1hdGlvbiA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcclxuICAgIHB1YmxpYyBpc0xvYWRpbmcgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XHJcbiAgICBwdWJsaWMgaXNEaXNhYmxlZCA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcclxuICAgIHB1YmxpYyBpc0ludmlzaWJsZSA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcclxuICAgIHB1YmxpYyB3aWR0aCA9IGlucHV0PHN0cmluZz4oJzEyNXB4Jyk7XHJcbiAgICBwdWJsaWMgbWluV2lkdGggPSBpbnB1dDxzdHJpbmc+KCczMHB4Jyk7XHJcbiAgICBwdWJsaWMgaGVpZ2h0ID0gaW5wdXQ8c3RyaW5nPignNDBweCcpO1xyXG4gICAgcHVibGljIG1pbkhlaWdodCA9IGlucHV0PHN0cmluZz4oJzMwcHgnKTtcclxuICAgIHB1YmxpYyBtYXJnaW5Ub3AgPSBpbnB1dDxzdHJpbmc+KCcwcHgnKTtcclxuICAgIHB1YmxpYyBtYXJnaW5SaWdodCA9IGlucHV0PHN0cmluZz4oJzBweCcpO1xyXG4gICAgcHVibGljIG1hcmdpbkJvdHRvbSA9IGlucHV0PHN0cmluZz4oJzBweCcpO1xyXG4gICAgcHVibGljIG1hcmdpbkxlZnQgPSBpbnB1dDxzdHJpbmc+KCcwcHgnKTtcclxuICAgIHB1YmxpYyBwYXRoID0gaW5wdXQ8c3RyaW5nIHwgKHN0cmluZyB8IG51bWJlcilbXT4oW10pO1xyXG4gICAgcHVibGljIHRvb2x0aXBQb3NpdGlvbiA9IGlucHV0PCd0b3AnIHwgJ3JpZ2h0JyB8ICdib3R0b20nIHwgJ2xlZnQnPignbGVmdCcpO1xyXG5cclxuICAgIEBJbnB1dCgpIHNldCB0b29sdGlwKHZhbHVlOiBzdHJpbmcpIHtcclxuICAgICAgICB0aGlzLl90b29sdGlwID0gdmFsdWU7XHJcbiAgICAgICAgaWYgKHZhbHVlICYmIHRoaXMuX3Rvb2x0aXBFbGVtZW50KSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3Rvb2x0aXBFbGVtZW50LnNldENvbnRlbnQoeyAnLnRvb2x0aXAtaW5uZXInOiB0aGlzLl90b29sdGlwIH0pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvL091dHB1dHNcclxuICAgIEBPdXRwdXQoKSBvbkNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PigpO1xyXG5cclxuXHJcbiAgICAvL2NvbXB1dGVkXHJcbiAgICBwcm90ZWN0ZWQgX2lzRW5hYmxlID0gY29tcHV0ZWQ8Ym9vbGVhbj4oKCkgPT4ge1xyXG4gICAgICAgIHJldHVybiAhdGhpcy5pc0xvYWRpbmcoKSAmJiAhdGhpcy5pc0Rpc2FibGVkKCkgJiYgIXRoaXMuaXNJbnZpc2libGUoKTtcclxuICAgIH0pO1xyXG5cclxuXHJcbiAgICAvL2NvbXB1dGVkXHJcbiAgICBwcm90ZWN0ZWQgX2ljb24gPSBjb21wdXRlZDxzdHJpbmc+KCgpID0+IHtcclxuICAgICAgICBzd2l0Y2godGhpcy5pY29uKCkpIHtcclxuICAgICAgICAgICAgY2FzZSAnbmV3JzogcmV0dXJuICdmYS1zb2xpZCBmYS1wbHVzIGZhLWxnJztcclxuICAgICAgICAgICAgY2FzZSAnc2F2ZSc6IHJldHVybiAnZmEtc29saWQgZmEtZmxvcHB5LWRpc2sgZmEtbGcnO1xyXG4gICAgICAgICAgICBjYXNlICdjYW5jZWwnOiByZXR1cm4gJ2ZhLXNvbGlkIGZhLXhtYXJrIGZhLWxnJztcclxuICAgICAgICAgICAgY2FzZSAnaW1wb3J0JzogcmV0dXJuICdmYS1zb2xpZCBmYS1maWxlLWFycm93LXVwIGZhLWxnJztcclxuICAgICAgICAgICAgY2FzZSAnZXhjZWwnOiByZXR1cm4gJ2JpIGJpLWZpbGV0eXBlLXhsc3ggZmEtbGcnO1xyXG4gICAgICAgICAgICBjYXNlICdtZW51JzogcmV0dXJuICdmYS1zb2xpZCBmYS1iYXJzJztcclxuICAgICAgICAgICAgY2FzZSAnZGVsZXRlJzogcmV0dXJuICdmYS1zb2xpZCBmYS10cmFzaC1jYW4nO1xyXG4gICAgICAgICAgICBjYXNlICdlZGl0JzogcmV0dXJuICdmYS1zb2xpZCBmYS1wZW4gZmEtbGcnO1xyXG4gICAgICAgICAgICBjYXNlICdnbyc6IHJldHVybiAnYmkgYmktYm94LWFycm93LXJpZ2h0JztcclxuICAgICAgICAgICAgY2FzZSAnYmFjayc6IHJldHVybiAnYmkgYmktYm94LWFycm93LWxlZnQnO1xyXG4gICAgICAgICAgICBkZWZhdWx0OiByZXR1cm4gJyc7XHJcbiAgICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG5cclxuICAgIG5nT25Jbml0KCkge1xyXG4gICAgICAgIHRoaXMuU2V0VG9vbFRpcCgpO1xyXG4gICAgICAgIHRoaXMuU2V0RXZlbnRzKCk7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuX3Rvb2x0aXBFbGVtZW50KSB7XHJcbiAgICAgICAgICAgIFRvb2xzLlNsZWVwKCkudGhlbigoKSA9PiB0aGlzLl90b29sdGlwRWxlbWVudC5kaXNwb3NlKCkpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqICovXHJcbiAgICBwcml2YXRlIFNldEV2ZW50cygpOiB2b2lkIHtcclxuICAgICAgICBUb29scy5TbGVlcCgpLnRoZW4oKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLl9lbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoYCR7dGhpcy5faWR9LWlubmVyLWJ1dHRvbmApISBhcyBIVE1MQnV0dG9uRWxlbWVudDtcclxuXHJcbiAgICAgICAgICAgIGlmIChUb29scy5Jc05vdE51bGwodGhpcy5fZWxlbWVudCkpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuX2VsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignZm9jdXMnLCAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKCF0aGlzLl9pc0VuYWJsZSgpKSB0aGlzLkJsdXIoKTtcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIHByaXZhdGUgU2V0VG9vbFRpcCgpOiB2b2lkIHtcclxuICAgICAgICBUb29scy5TbGVlcCgpLnRoZW4oKCkgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBodG1sRWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGAke3RoaXMuX2lkfS1jb250YWluZXJgKSE7XHJcblxyXG4gICAgICAgICAgICBpZiAoVG9vbHMuSXNOb3ROdWxsKGh0bWxFbGVtZW50KSkge1xyXG4gICAgICAgICAgICAgICAgaHRtbEVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignbW91c2VsZWF2ZScsICgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoVG9vbHMuSXNOb3ROdWxsKGh0bWxFbGVtZW50KSAmJiBUb29scy5Jc05vdE51bGwodGhpcy5fdG9vbHRpcEVsZW1lbnQpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX3Rvb2x0aXBFbGVtZW50LmhpZGUoKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgICAgICAgICB0aGlzLl90b29sdGlwRWxlbWVudCA9IG5ldyBUb29sdGlwKGh0bWxFbGVtZW50LCB7XHJcbiAgICAgICAgICAgICAgICAgICAgaHRtbDogdHJ1ZSxcclxuICAgICAgICAgICAgICAgICAgICB0aXRsZTogdGhpcy5fdG9vbHRpcCxcclxuICAgICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ6IHRoaXMudG9vbHRpcFBvc2l0aW9uXHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKiogKi9cclxuICAgIHByb3RlY3RlZCBDbGljayhldmVudDogTW91c2VFdmVudCkge1xyXG4gICAgICAgIGlmICh0aGlzLl9pc0VuYWJsZSgpKSB7XHJcbiAgICAgICAgICAgIHRoaXMub25DbGljay5lbWl0KGV2ZW50KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuQmx1cigpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKiogKi9cclxuICAgIHB1YmxpYyBGb2N1cyh0aW1lb3V0OiBudW1iZXIgPSAwKTogdm9pZCB7XHJcbiAgICAgICAgVG9vbHMuU2xlZXAodGltZW91dCkudGhlbigoKSA9PiB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLl9pc0VuYWJsZSgpKSB0aGlzLl9lbGVtZW50LmZvY3VzKCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8qKiAqL1xyXG4gICAgcHVibGljIEJsdXIoKTogdm9pZCB7XHJcbiAgICAgICAgVG9vbHMuU2xlZXAoKS50aGVuKCgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5fZWxlbWVudC5ibHVyKCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbn0iLCI8ZGl2IFtuZ0NsYXNzXT1cInsgJ2NvZXItYnV0dG9uJzogdHJ1ZSwgJ2ludmlzaWJsZSc6IGlzSW52aXNpYmxlKCkgfVwiPlxyXG4gICAgPGEgW2lkXT1cIl9pZCArICctY29udGFpbmVyJ1wiXHJcbiAgICAgICAgW3JvdXRlckxpbmtdPVwiKHBhdGgoKS5sZW5ndGggPiAwICYmIF9pc0VuYWJsZSgpKSA/IHBhdGgoKSA6IG51bGxcIlxyXG4gICAgICAgIFtuZ0NsYXNzXT1cInsgJ2xvYWRpbmcnOiBpc0xvYWRpbmcoKSwgJ2FuaW1hdGVfX2FuaW1hdGVkIGFuaW1hdGVfX3pvb21Jbic6IHRydWUsICdhbmltYXRlX19kaXNhYmxlZCc6ICFhbmltYXRpb24oKSB9XCJcclxuICAgICAgICBbbmdTdHlsZV09XCJ7ICdtYXJnaW4tdG9wJzogbWFyZ2luVG9wKCksICdtYXJnaW4tcmlnaHQnOiBtYXJnaW5SaWdodCgpLCAnbWFyZ2luLWJvdHRvbSc6IG1hcmdpbkJvdHRvbSgpLCAnbWFyZ2luLWxlZnQnOiBtYXJnaW5MZWZ0KCkgIH1cIj5cclxuICAgICAgICBAaWYodHlwZSgpID09J2ZpbGxlZCcgfHwgdHlwZSgpID09ICdvdXRsaW5lJykge1xyXG4gICAgICAgICAgICA8YnV0dG9uIG1hdC1idXR0b25cclxuICAgICAgICAgICAgICAgIFtpZF09XCJfaWQgKyAnLWlubmVyLWJ1dHRvbidcIlxyXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiQ2xpY2soJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7XHJcbiAgICAgICAgICAgICAgICAgICAgJ3ByaW1hcnktZmlsbGVkJzogKGNvbG9yKCkgPT0gJ3ByaW1hcnknICYmIHR5cGUoKSA9PSdmaWxsZWQnKSxcclxuICAgICAgICAgICAgICAgICAgICAnc2Vjb25kYXJ5LWZpbGxlZCc6IChjb2xvcigpID09ICdzZWNvbmRhcnknICYmIHR5cGUoKSA9PSdmaWxsZWQnKSxcclxuICAgICAgICAgICAgICAgICAgICAnc3VjY2Vzcy1maWxsZWQnOiAoY29sb3IoKSA9PSAnc3VjY2VzcycgJiYgdHlwZSgpID09J2ZpbGxlZCcpLFxyXG4gICAgICAgICAgICAgICAgICAgICd3YXJuaW5nLWZpbGxlZCc6IChjb2xvcigpID09ICd3YXJuaW5nJyAmJiB0eXBlKCkgPT0nZmlsbGVkJyksXHJcbiAgICAgICAgICAgICAgICAgICAgJ2Rhbmdlci1maWxsZWQnOiAoY29sb3IoKSA9PSAnZGFuZ2VyJyAmJiB0eXBlKCkgPT0nZmlsbGVkJyksXHJcbiAgICAgICAgICAgICAgICAgICAgJ25hdmlnYXRpb24tZmlsbGVkJzogKGNvbG9yKCkgPT0gJ25hdmlnYXRpb24nICYmIHR5cGUoKSA9PSdmaWxsZWQnKSxcclxuICAgICAgICAgICAgICAgICAgICAncHJpbWFyeS1vdXRsaW5lJzogKGNvbG9yKCkgPT0gJ3ByaW1hcnknICYmIHR5cGUoKSA9PSdvdXRsaW5lJyksXHJcbiAgICAgICAgICAgICAgICAgICAgJ3NlY29uZGFyeS1vdXRsaW5lJzogKGNvbG9yKCkgPT0gJ3NlY29uZGFyeScgJiYgdHlwZSgpID09J291dGxpbmUnKSxcclxuICAgICAgICAgICAgICAgICAgICAnc3VjY2Vzcy1vdXRsaW5lJzogKGNvbG9yKCkgPT0gJ3N1Y2Nlc3MnICYmIHR5cGUoKSA9PSdvdXRsaW5lJyksXHJcbiAgICAgICAgICAgICAgICAgICAgJ3dhcm5pbmctb3V0bGluZSc6IChjb2xvcigpID09ICd3YXJuaW5nJyAmJiB0eXBlKCkgPT0nb3V0bGluZScpLFxyXG4gICAgICAgICAgICAgICAgICAgICdkYW5nZXItb3V0bGluZSc6IChjb2xvcigpID09ICdkYW5nZXInICYmIHR5cGUoKSA9PSdvdXRsaW5lJyksXHJcbiAgICAgICAgICAgICAgICAgICAgJ25hdmlnYXRpb24tb3V0bGluZSc6IChjb2xvcigpID09ICduYXZpZ2F0aW9uJyksXHJcbiAgICAgICAgICAgICAgICAgICAgJ3JlYWRvbmx5JzogaXNEaXNhYmxlZCgpLFxyXG4gICAgICAgICAgICAgICAgICAgICdjdXJzb3Itd2FpdCc6IGlzTG9hZGluZygpXHJcbiAgICAgICAgICAgICAgICB9XCJcclxuICAgICAgICAgICAgICAgIFtuZ1N0eWxlXT1cIntcclxuICAgICAgICAgICAgICAgICAgICAnd2lkdGgnOiB3aWR0aCgpLFxyXG4gICAgICAgICAgICAgICAgICAgICdtaW4td2lkdGgnOiBtaW5XaWR0aCgpLFxyXG4gICAgICAgICAgICAgICAgICAgICdoZWlnaHQnOiBoZWlnaHQoKSxcclxuICAgICAgICAgICAgICAgICAgICAnbWluLWhlaWdodCc6IG1pbkhlaWdodCgpXHJcbiAgICAgICAgICAgICAgICB9XCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNsb3RcIiAqbmdJZj1cIiFpc0xvYWRpbmcoKTsgZWxzZSBsb2FkaW5nXCIgPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiKGljb25Qb3NpdGlvbigpID09ICdsZWZ0JylcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGkgW2NsYXNzXT1cIl9pY29uKClcIj48L2k+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBbbmdDbGFzc109XCJ7ICdtcy0yJzogKGljb25Qb3NpdGlvbigpID09ICdsZWZ0JyksICdtZS0yJzogKGljb25Qb3NpdGlvbigpID09ICdyaWdodCcpIH1cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCIoaWNvblBvc2l0aW9uKCkgPT0gJ3JpZ2h0JylcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGkgW2NsYXNzXT1cIl9pY29uKClcIj48L2k+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9zcGFuPlxyXG5cclxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjbG9hZGluZz5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNsb3QgZmEtZmFkZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1lLTJcIj4gTG9hZGluZyA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwic3Bpbm5lci1ib3JkZXJcIj48L2k+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAZWxzZSB7XHJcbiAgICAgICAgICAgIEBpZiAodHlwZSgpID09ICdpY29uJykge1xyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b25cclxuICAgICAgICAgICAgICAgICAgICBbaWRdPVwiX2lkICsgJy1pbm5lci1idXR0b24nXCJcclxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiQ2xpY2soJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAncHJpbWFyeS1maWxsZWQnOiAoY29sb3IoKSA9PSAncHJpbWFyeScpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAnc2Vjb25kYXJ5LWZpbGxlZCc6IChjb2xvcigpID09ICdzZWNvbmRhcnknKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgJ3N1Y2Nlc3MtZmlsbGVkJzogKGNvbG9yKCkgPT0gJ3N1Y2Nlc3MnKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgJ3dhcm5pbmctZmlsbGVkJzogKGNvbG9yKCkgPT0gJ3dhcm5pbmcnKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgJ2Rhbmdlci1maWxsZWQnOiAoY29sb3IoKSA9PSAnZGFuZ2VyJyksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICduYXZpZ2F0aW9uLWZpbGxlZCc6IChjb2xvcigpID09ICduYXZpZ2F0aW9uJyksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICdyZWFkb25seSc6IChpc0Rpc2FibGVkKCkgfHwgaXNMb2FkaW5nKCkpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAnY3Vyc29yLXdhaXQnOiBpc0xvYWRpbmcoKVxyXG4gICAgICAgICAgICAgICAgICAgIH1cIj5cclxuICAgICAgICAgICAgICAgICAgICA8aSBbY2xhc3NdPVwiX2ljb24oKVwiPjwvaT5cclxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBAZWxzZSBpZiAodHlwZSgpID09ICdpY29uLW91dGxpbmUnKSB7XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgIFtpZF09XCJfaWQgKyAnLWlubmVyLWJ1dHRvbidcIlxyXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJDbGljaygkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICdwcmltYXJ5LW91dGxpbmUnOiAoY29sb3IoKSA9PSAncHJpbWFyeScpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAnc2Vjb25kYXJ5LW91dGxpbmUnOiAoY29sb3IoKSA9PSAnc2Vjb25kYXJ5JyksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICdzdWNjZXNzLW91dGxpbmUnOiAoY29sb3IoKSA9PSAnc3VjY2VzcycpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAnd2FybmluZy1vdXRsaW5lJzogKGNvbG9yKCkgPT0gJ3dhcm5pbmcnKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgJ2Rhbmdlci1vdXRsaW5lJzogKGNvbG9yKCkgPT0gJ2RhbmdlcicpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAnbmF2aWdhdGlvbi1vdXRsaW5lJzogKGNvbG9yKCkgPT0gJ25hdmlnYXRpb24nKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgJ3JlYWRvbmx5JzogKGlzRGlzYWJsZWQoKSB8fCBpc0xvYWRpbmcoKSksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICdjdXJzb3Itd2FpdCc6IGlzTG9hZGluZygpXHJcbiAgICAgICAgICAgICAgICAgICAgfVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpIFtjbGFzc109XCJfaWNvbigpXCI+PC9pPlxyXG4gICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIEBlbHNlIGlmICh0eXBlKCkgPT0gJ2ljb24tbm8tYm9yZGVyJykge1xyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b25cclxuICAgICAgICAgICAgICAgICAgICBbaWRdPVwiX2lkICsgJy1pbm5lci1idXR0b24nXCJcclxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiQ2xpY2soJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAncHJpbWFyeS1vdXRsaW5lJzogKGNvbG9yKCkgPT0gJ3ByaW1hcnknKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgJ3NlY29uZGFyeS1vdXRsaW5lJzogKGNvbG9yKCkgPT0gJ3NlY29uZGFyeScpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAnc3VjY2Vzcy1vdXRsaW5lJzogKGNvbG9yKCkgPT0gJ3N1Y2Nlc3MnKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgJ3dhcm5pbmctb3V0bGluZSc6IChjb2xvcigpID09ICd3YXJuaW5nJyksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICdkYW5nZXItb3V0bGluZSc6IChjb2xvcigpID09ICdkYW5nZXInKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgJ25hdmlnYXRpb24tb3V0bGluZSc6IChjb2xvcigpID09ICduYXZpZ2F0aW9uJyksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICdyZWFkb25seSc6IChpc0Rpc2FibGVkKCkgfHwgaXNMb2FkaW5nKCkpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAnaWNvbi1uby1ib3JkZXInOiB0cnVlXHJcbiAgICAgICAgICAgICAgICAgICAgfVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpIFtjbGFzc109XCJfaWNvbigpXCI+PC9pPlxyXG4gICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICA8L2E+XHJcbjwvZGl2PiJdfQ==
@@ -0,0 +1,84 @@
1
+ import { Component, computed, Input, input, output } from '@angular/core';
2
+ import { CONTROL_VALUE, ControlValue } from '../../../tools/lib/control-value.class';
3
+ import { Tools } from '../../../tools/lib/tools';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/common";
6
+ import * as i2 from "@angular/forms";
7
+ import * as i3 from "@angular/material/checkbox";
8
+ export class CoerCheckbox extends ControlValue {
9
+ constructor() {
10
+ super(...arguments);
11
+ //Variables
12
+ this._value = false;
13
+ this._id = Tools.GetGuid('coer-checkbox');
14
+ this._isLoading = true;
15
+ this.id = input('');
16
+ this.label = input('');
17
+ this.labelPosition = input('after');
18
+ this.isDisabled = input(false);
19
+ this.isLoading = input(false);
20
+ this.isInvisible = input(false);
21
+ this.ignoreModel = input(false);
22
+ //Outputs
23
+ this.onChange = output();
24
+ //computed
25
+ this._isEnable = computed(() => {
26
+ return !this.isLoading() && !this.isDisabled() && !this.isInvisible();
27
+ });
28
+ }
29
+ //Inputs
30
+ set value(value) {
31
+ if (Tools.IsNull(value))
32
+ value = false;
33
+ this.SetValue(value);
34
+ }
35
+ //getter
36
+ get value() {
37
+ return this._value;
38
+ }
39
+ ngAfterViewInit() {
40
+ Tools.Sleep().then(_ => this._isLoading = false);
41
+ }
42
+ //ControlValueAccessor
43
+ SetValue(value) {
44
+ if (Tools.IsNotNull(value)) {
45
+ if (!this.ignoreModel()) {
46
+ this._UpdateValue(value);
47
+ }
48
+ this._value = value;
49
+ if (!this._isLoading && this._isEnable()) {
50
+ this.onChange.emit(value);
51
+ }
52
+ }
53
+ }
54
+ //ControlValueAccessor
55
+ writeValue(value) {
56
+ if (Tools.IsNotNull(value)) {
57
+ this._value = value;
58
+ if (!this._isLoading && this._isEnable()) {
59
+ this.onChange.emit(value);
60
+ }
61
+ }
62
+ }
63
+ /** */
64
+ Check() {
65
+ if (!this._isLoading && this._isEnable()) {
66
+ this.SetValue(true);
67
+ }
68
+ }
69
+ /** */
70
+ Uncheck() {
71
+ if (!this._isLoading && this._isEnable()) {
72
+ this.SetValue(false);
73
+ }
74
+ }
75
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CoerCheckbox, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
76
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "17.3.12", type: CoerCheckbox, selector: "coer-checkbox", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: false, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, labelPosition: { classPropertyName: "labelPosition", publicName: "labelPosition", isSignal: true, isRequired: false, transformFunction: null }, isDisabled: { classPropertyName: "isDisabled", publicName: "isDisabled", isSignal: true, isRequired: false, transformFunction: null }, isLoading: { classPropertyName: "isLoading", publicName: "isLoading", isSignal: true, isRequired: false, transformFunction: null }, isInvisible: { classPropertyName: "isInvisible", publicName: "isInvisible", isSignal: true, isRequired: false, transformFunction: null }, ignoreModel: { classPropertyName: "ignoreModel", publicName: "ignoreModel", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onChange: "onChange" }, providers: [CONTROL_VALUE(CoerCheckbox)], usesInheritance: true, ngImport: i0, template: "<div [ngClass]=\"{ 'coer-checkbox': true, 'placeholder-glow': isLoading(), 'invisible': isInvisible() }\">\r\n <div [id]=\"_id\" [ngClass]=\"{ 'placeholder': isLoading() }\">\r\n <mat-checkbox\r\n [ngModel]=\"_value\"\r\n [indeterminate]=\"false\"\r\n [labelPosition]=\"labelPosition()\"\r\n [disabled]=\"!_isEnable()\"\r\n (change)=\"this.SetValue($event.checked)\"\r\n > {{ label() }} </mat-checkbox>\r\n </div>\r\n</div>", styles: ["div.coer-checkbox .text-blue{color:#0d6efd!important}div.coer-checkbox .text-blue-bold{color:#0d6efd!important;font-weight:700!important}div.coer-checkbox .background-blue{background-color:#0d6efd!important}div.coer-checkbox .background-border-blue{background-color:#0d6efd!important;border-color:#0d6efd!important}div.coer-checkbox .border-blue{border-color:#0d6efd!important}div.coer-checkbox .text-gray{color:#6c757d!important}div.coer-checkbox .text-gray-bold{color:#6c757d!important;font-weight:700!important}div.coer-checkbox .background-gray{background-color:#6c757d!important}div.coer-checkbox .background-border-gray{background-color:#6c757d!important;border-color:#6c757d!important}div.coer-checkbox .border-gray{border-color:#6c757d!important}div.coer-checkbox .text-green{color:#198754!important}div.coer-checkbox .text-green-bold{color:#198754!important;font-weight:700!important}div.coer-checkbox .background-green{background-color:#198754!important}div.coer-checkbox .background-border-green{background-color:#198754!important;border-color:#198754!important}div.coer-checkbox .border-green{border-color:#198754!important}div.coer-checkbox .text-yellow{color:#ffc107!important}div.coer-checkbox .text-yellow-bold{color:#ffc107!important;font-weight:700!important}div.coer-checkbox .background-yellow{background-color:#ffc107!important}div.coer-checkbox .background-border-yellow{background-color:#ffc107!important;border-color:#ffc107!important}div.coer-checkbox .border-yellow{border-color:#ffc107!important}div.coer-checkbox .text-red{color:#dc3545!important}div.coer-checkbox .text-red-bold{color:#dc3545!important;font-weight:700!important}div.coer-checkbox .background-red{background-color:#dc3545!important}div.coer-checkbox .background-border-red{background-color:#dc3545!important;border-color:#dc3545!important}div.coer-checkbox .border-red{border-color:#dc3545!important}div.coer-checkbox .text-white{color:#f5f5f5!important}div.coer-checkbox .text-white-bold{color:#f5f5f5!important;font-weight:700!important}div.coer-checkbox .background-white{background-color:#f5f5f5!important}div.coer-checkbox .background-border-white{background-color:#f5f5f5!important;border-color:#f5f5f5!important}div.coer-checkbox .border-white{border-color:#f5f5f5!important}div.coer-checkbox .text-black{color:#252525!important}div.coer-checkbox .text-black-bold{color:#252525!important;font-weight:700!important}div.coer-checkbox .background-black{background-color:#252525!important}div.coer-checkbox .background-border-black{background-color:#252525!important;border-color:#252525!important}div.coer-checkbox .border-black{border-color:#252525!important}div.coer-checkbox .text-orange{color:#fd6031!important}div.coer-checkbox .text-orange-bold{color:#fd6031!important;font-weight:700!important}div.coer-checkbox .background-orange{background-color:#fd6031!important}div.coer-checkbox .background-border-orange{background-color:#fd6031!important;border-color:#fd6031!important}div.coer-checkbox .border-orange{border-color:#fd6031!important}div.coer-checkbox mat-checkbox div.mdc-form-field.mat-internal-form-field div.mdc-checkbox{padding:10px!important}div.coer-checkbox mat-checkbox div.mdc-form-field.mat-internal-form-field div.mdc-checkbox div.mdc-checkbox__background{background-color:#f5f5f5!important;border-radius:5px!important}div.coer-checkbox mat-checkbox div.mdc-form-field.mat-internal-form-field div.mdc-checkbox div.mdc-checkbox__ripple{width:30px!important;height:30px!important;top:5px!important;left:5px!important}div.coer-checkbox mat-checkbox div.mdc-form-field.mat-internal-form-field div.mdc-checkbox div.mat-ripple.mat-mdc-checkbox-ripple.mat-mdc-focus-indicator *{display:none!important}div.coer-checkbox mat-checkbox div.mdc-form-field.mat-internal-form-field label.mdc-label{padding-top:3px!important;padding-left:0!important}div.coer-checkbox mat-checkbox div.mdc-form-field.mat-internal-form-field label.mdc-label::selection{background-color:transparent!important}div.coer-checkbox mat-checkbox.mat-mdc-checkbox-checked div.mdc-form-field.mat-internal-form-field div.mdc-checkbox div.mdc-checkbox__background{background-color:#fd6031!important;border-color:#fd6031!important}coer-grid table tbody tr td.check-box mat-checkbox div.mdc-form-field.mat-internal-form-field div.mdc-checkbox,coer-grid table tbody tr td.check-box mat-checkbox.mat-mdc-checkbox-checked div.mdc-form-field.mat-internal-form-field div.mdc-checkbox{padding:0!important}coer-grid table tbody tr td.check-box mat-checkbox div.mdc-form-field.mat-internal-form-field div.mdc-checkbox div.mat-mdc-checkbox-touch-target,coer-grid table tbody tr td.check-box mat-checkbox.mat-mdc-checkbox-checked div.mdc-form-field.mat-internal-form-field div.mdc-checkbox div.mat-mdc-checkbox-touch-target{top:8px!important;width:39px!important;height:30px!important}coer-grid table tbody tr td.check-box mat-checkbox div.mdc-form-field.mat-internal-form-field div.mdc-checkbox input,coer-grid table tbody tr td.check-box mat-checkbox.mat-mdc-checkbox-checked div.mdc-form-field.mat-internal-form-field div.mdc-checkbox input{display:none!important}coer-grid table tbody tr td.check-box mat-checkbox div.mdc-form-field.mat-internal-form-field div.mdc-checkbox div.mdc-checkbox__ripple,coer-grid table tbody tr td.check-box mat-checkbox.mat-mdc-checkbox-checked div.mdc-form-field.mat-internal-form-field div.mdc-checkbox div.mdc-checkbox__ripple{top:-7px!important;left:-6px!important}coer-grid table tbody tr td.check-box mat-checkbox div.mdc-form-field.mat-internal-form-field div.mdc-checkbox div.mdc-checkbox__background,coer-grid table tbody tr td.check-box mat-checkbox.mat-mdc-checkbox-checked div.mdc-form-field.mat-internal-form-field div.mdc-checkbox div.mdc-checkbox__background{transform:translateY(-1px)!important;position:static!important}coer-grid table tbody tr td.check-box mat-checkbox div.mdc-form-field.mat-internal-form-field label.mdc-label,coer-grid table tbody tr td.check-box mat-checkbox.mat-mdc-checkbox-checked div.mdc-form-field.mat-internal-form-field label.mdc-label{display:none!important}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }] }); }
77
+ }
78
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CoerCheckbox, decorators: [{
79
+ type: Component,
80
+ args: [{ selector: 'coer-checkbox', providers: [CONTROL_VALUE(CoerCheckbox)], template: "<div [ngClass]=\"{ 'coer-checkbox': true, 'placeholder-glow': isLoading(), 'invisible': isInvisible() }\">\r\n <div [id]=\"_id\" [ngClass]=\"{ 'placeholder': isLoading() }\">\r\n <mat-checkbox\r\n [ngModel]=\"_value\"\r\n [indeterminate]=\"false\"\r\n [labelPosition]=\"labelPosition()\"\r\n [disabled]=\"!_isEnable()\"\r\n (change)=\"this.SetValue($event.checked)\"\r\n > {{ label() }} </mat-checkbox>\r\n </div>\r\n</div>", styles: ["div.coer-checkbox .text-blue{color:#0d6efd!important}div.coer-checkbox .text-blue-bold{color:#0d6efd!important;font-weight:700!important}div.coer-checkbox .background-blue{background-color:#0d6efd!important}div.coer-checkbox .background-border-blue{background-color:#0d6efd!important;border-color:#0d6efd!important}div.coer-checkbox .border-blue{border-color:#0d6efd!important}div.coer-checkbox .text-gray{color:#6c757d!important}div.coer-checkbox .text-gray-bold{color:#6c757d!important;font-weight:700!important}div.coer-checkbox .background-gray{background-color:#6c757d!important}div.coer-checkbox .background-border-gray{background-color:#6c757d!important;border-color:#6c757d!important}div.coer-checkbox .border-gray{border-color:#6c757d!important}div.coer-checkbox .text-green{color:#198754!important}div.coer-checkbox .text-green-bold{color:#198754!important;font-weight:700!important}div.coer-checkbox .background-green{background-color:#198754!important}div.coer-checkbox .background-border-green{background-color:#198754!important;border-color:#198754!important}div.coer-checkbox .border-green{border-color:#198754!important}div.coer-checkbox .text-yellow{color:#ffc107!important}div.coer-checkbox .text-yellow-bold{color:#ffc107!important;font-weight:700!important}div.coer-checkbox .background-yellow{background-color:#ffc107!important}div.coer-checkbox .background-border-yellow{background-color:#ffc107!important;border-color:#ffc107!important}div.coer-checkbox .border-yellow{border-color:#ffc107!important}div.coer-checkbox .text-red{color:#dc3545!important}div.coer-checkbox .text-red-bold{color:#dc3545!important;font-weight:700!important}div.coer-checkbox .background-red{background-color:#dc3545!important}div.coer-checkbox .background-border-red{background-color:#dc3545!important;border-color:#dc3545!important}div.coer-checkbox .border-red{border-color:#dc3545!important}div.coer-checkbox .text-white{color:#f5f5f5!important}div.coer-checkbox .text-white-bold{color:#f5f5f5!important;font-weight:700!important}div.coer-checkbox .background-white{background-color:#f5f5f5!important}div.coer-checkbox .background-border-white{background-color:#f5f5f5!important;border-color:#f5f5f5!important}div.coer-checkbox .border-white{border-color:#f5f5f5!important}div.coer-checkbox .text-black{color:#252525!important}div.coer-checkbox .text-black-bold{color:#252525!important;font-weight:700!important}div.coer-checkbox .background-black{background-color:#252525!important}div.coer-checkbox .background-border-black{background-color:#252525!important;border-color:#252525!important}div.coer-checkbox .border-black{border-color:#252525!important}div.coer-checkbox .text-orange{color:#fd6031!important}div.coer-checkbox .text-orange-bold{color:#fd6031!important;font-weight:700!important}div.coer-checkbox .background-orange{background-color:#fd6031!important}div.coer-checkbox .background-border-orange{background-color:#fd6031!important;border-color:#fd6031!important}div.coer-checkbox .border-orange{border-color:#fd6031!important}div.coer-checkbox mat-checkbox div.mdc-form-field.mat-internal-form-field div.mdc-checkbox{padding:10px!important}div.coer-checkbox mat-checkbox div.mdc-form-field.mat-internal-form-field div.mdc-checkbox div.mdc-checkbox__background{background-color:#f5f5f5!important;border-radius:5px!important}div.coer-checkbox mat-checkbox div.mdc-form-field.mat-internal-form-field div.mdc-checkbox div.mdc-checkbox__ripple{width:30px!important;height:30px!important;top:5px!important;left:5px!important}div.coer-checkbox mat-checkbox div.mdc-form-field.mat-internal-form-field div.mdc-checkbox div.mat-ripple.mat-mdc-checkbox-ripple.mat-mdc-focus-indicator *{display:none!important}div.coer-checkbox mat-checkbox div.mdc-form-field.mat-internal-form-field label.mdc-label{padding-top:3px!important;padding-left:0!important}div.coer-checkbox mat-checkbox div.mdc-form-field.mat-internal-form-field label.mdc-label::selection{background-color:transparent!important}div.coer-checkbox mat-checkbox.mat-mdc-checkbox-checked div.mdc-form-field.mat-internal-form-field div.mdc-checkbox div.mdc-checkbox__background{background-color:#fd6031!important;border-color:#fd6031!important}coer-grid table tbody tr td.check-box mat-checkbox div.mdc-form-field.mat-internal-form-field div.mdc-checkbox,coer-grid table tbody tr td.check-box mat-checkbox.mat-mdc-checkbox-checked div.mdc-form-field.mat-internal-form-field div.mdc-checkbox{padding:0!important}coer-grid table tbody tr td.check-box mat-checkbox div.mdc-form-field.mat-internal-form-field div.mdc-checkbox div.mat-mdc-checkbox-touch-target,coer-grid table tbody tr td.check-box mat-checkbox.mat-mdc-checkbox-checked div.mdc-form-field.mat-internal-form-field div.mdc-checkbox div.mat-mdc-checkbox-touch-target{top:8px!important;width:39px!important;height:30px!important}coer-grid table tbody tr td.check-box mat-checkbox div.mdc-form-field.mat-internal-form-field div.mdc-checkbox input,coer-grid table tbody tr td.check-box mat-checkbox.mat-mdc-checkbox-checked div.mdc-form-field.mat-internal-form-field div.mdc-checkbox input{display:none!important}coer-grid table tbody tr td.check-box mat-checkbox div.mdc-form-field.mat-internal-form-field div.mdc-checkbox div.mdc-checkbox__ripple,coer-grid table tbody tr td.check-box mat-checkbox.mat-mdc-checkbox-checked div.mdc-form-field.mat-internal-form-field div.mdc-checkbox div.mdc-checkbox__ripple{top:-7px!important;left:-6px!important}coer-grid table tbody tr td.check-box mat-checkbox div.mdc-form-field.mat-internal-form-field div.mdc-checkbox div.mdc-checkbox__background,coer-grid table tbody tr td.check-box mat-checkbox.mat-mdc-checkbox-checked div.mdc-form-field.mat-internal-form-field div.mdc-checkbox div.mdc-checkbox__background{transform:translateY(-1px)!important;position:static!important}coer-grid table tbody tr td.check-box mat-checkbox div.mdc-form-field.mat-internal-form-field label.mdc-label,coer-grid table tbody tr td.check-box mat-checkbox.mat-mdc-checkbox-checked div.mdc-form-field.mat-internal-form-field label.mdc-label{display:none!important}\n"] }]
81
+ }], propDecorators: { value: [{
82
+ type: Input
83
+ }] } });
84
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29lci1jaGVja2JveC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb2VyLWVsZW1lbnRzL3NyYy9jb21wb25lbnRzL2xpYi9jb2VyLWNoZWNrYm94L2NvZXItY2hlY2tib3guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29lci1lbGVtZW50cy9zcmMvY29tcG9uZW50cy9saWIvY29lci1jaGVja2JveC9jb2VyLWNoZWNrYm94LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsU0FBUyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RixPQUFPLEVBQUUsYUFBYSxFQUFFLFlBQVksRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7QUFRakQsTUFBTSxPQUFPLFlBQWEsU0FBUSxZQUFZO0lBTjlDOztRQVFJLFdBQVc7UUFDSyxXQUFNLEdBQVksS0FBSyxDQUFDO1FBQzlCLFFBQUcsR0FBVyxLQUFLLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQy9DLGVBQVUsR0FBWSxJQUFJLENBQUM7UUFRNUIsT0FBRSxHQUFHLEtBQUssQ0FBUyxFQUFFLENBQUMsQ0FBQztRQUN2QixVQUFLLEdBQUcsS0FBSyxDQUFTLEVBQUUsQ0FBQyxDQUFDO1FBQzFCLGtCQUFhLEdBQUcsS0FBSyxDQUFxQixPQUFPLENBQUMsQ0FBQztRQUNuRCxlQUFVLEdBQUcsS0FBSyxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBQ25DLGNBQVMsR0FBRyxLQUFLLENBQVUsS0FBSyxDQUFDLENBQUM7UUFDbEMsZ0JBQVcsR0FBRyxLQUFLLENBQVUsS0FBSyxDQUFDLENBQUM7UUFDcEMsZ0JBQVcsR0FBRyxLQUFLLENBQVUsS0FBSyxDQUFDLENBQUM7UUFFM0MsU0FBUztRQUNGLGFBQVEsR0FBRyxNQUFNLEVBQVcsQ0FBQztRQU9wQyxVQUFVO1FBQ0EsY0FBUyxHQUFHLFFBQVEsQ0FBVSxHQUFHLEVBQUU7WUFDekMsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUMxRSxDQUFDLENBQUMsQ0FBQztLQWtETjtJQTNFRyxRQUFRO0lBQ1IsSUFBYSxLQUFLLENBQUMsS0FBaUM7UUFDaEQsSUFBRyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztZQUFFLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDdEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFnQixDQUFDLENBQUM7SUFDcEMsQ0FBQztJQWFELFFBQVE7SUFDUixJQUFXLEtBQUs7UUFDWixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDdkIsQ0FBQztJQVFELGVBQWU7UUFDWCxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBR0Qsc0JBQXNCO0lBQ04sUUFBUSxDQUFDLEtBQWM7UUFDbkMsSUFBRyxLQUFLLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDeEIsSUFBRyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDO2dCQUNyQixJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzdCLENBQUM7WUFFRCxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztZQUVwQixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQztnQkFDdkMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDOUIsQ0FBQztRQUNMLENBQUM7SUFDTCxDQUFDO0lBR0Qsc0JBQXNCO0lBQ04sVUFBVSxDQUFDLEtBQWM7UUFDckMsSUFBRyxLQUFLLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDeEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7WUFFcEIsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUM7Z0JBQ3ZDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzlCLENBQUM7UUFDTCxDQUFDO0lBQ0wsQ0FBQztJQUdELE1BQU07SUFDQyxLQUFLO1FBQ1IsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUM7WUFDdkMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN4QixDQUFDO0lBQ0wsQ0FBQztJQUdELE1BQU07SUFDQyxPQUFPO1FBQ1YsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUM7WUFDdkMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6QixDQUFDO0lBQ0wsQ0FBQzsrR0FqRlEsWUFBWTttR0FBWixZQUFZLHNtQ0FGVixDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsQ0FBQyxpRENSNUMsb2ZBVU07OzRGREFPLFlBQVk7a0JBTnhCLFNBQVM7K0JBQ0ksZUFBZSxhQUdkLENBQUMsYUFBYSxjQUFjLENBQUM7OEJBVTNCLEtBQUs7c0JBQWpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIGNvbXB1dGVkLCBJbnB1dCwgaW5wdXQsIG91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDT05UUk9MX1ZBTFVFLCBDb250cm9sVmFsdWUgfSBmcm9tICcuLi8uLi8uLi90b29scy9saWIvY29udHJvbC12YWx1ZS5jbGFzcyc7XHJcbmltcG9ydCB7IFRvb2xzIH0gZnJvbSAnLi4vLi4vLi4vdG9vbHMvbGliL3Rvb2xzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdjb2VyLWNoZWNrYm94JyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9jb2VyLWNoZWNrYm94LmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsOiAnLi9jb2VyLWNoZWNrYm94LmNvbXBvbmVudC5zY3NzJyxcclxuICAgIHByb3ZpZGVyczogW0NPTlRST0xfVkFMVUUoQ29lckNoZWNrYm94KV0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDb2VyQ2hlY2tib3ggZXh0ZW5kcyBDb250cm9sVmFsdWUgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcclxuXHJcbiAgICAvL1ZhcmlhYmxlc1xyXG4gICAgcHVibGljIG92ZXJyaWRlIF92YWx1ZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgcHJvdGVjdGVkIF9pZDogc3RyaW5nID0gVG9vbHMuR2V0R3VpZCgnY29lci1jaGVja2JveCcpO1xyXG4gICAgcHJpdmF0ZSBfaXNMb2FkaW5nOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgICAvL0lucHV0c1xyXG4gICAgQElucHV0KCkgc2V0IHZhbHVlKHZhbHVlOiBib29sZWFuIHwgbnVsbCB8IHVuZGVmaW5lZCkge1xyXG4gICAgICAgIGlmKFRvb2xzLklzTnVsbCh2YWx1ZSkpIHZhbHVlID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5TZXRWYWx1ZSh2YWx1ZSBhcyBib29sZWFuKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgaWQgPSBpbnB1dDxzdHJpbmc+KCcnKTtcclxuICAgIHB1YmxpYyBsYWJlbCA9IGlucHV0PHN0cmluZz4oJycpO1xyXG4gICAgcHVibGljIGxhYmVsUG9zaXRpb24gPSBpbnB1dDwnYmVmb3JlJyB8ICdhZnRlcic+KCdhZnRlcicpO1xyXG4gICAgcHVibGljIGlzRGlzYWJsZWQgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XHJcbiAgICBwdWJsaWMgaXNMb2FkaW5nID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xyXG4gICAgcHVibGljIGlzSW52aXNpYmxlID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xyXG4gICAgcHVibGljIGlnbm9yZU1vZGVsID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xyXG5cclxuICAgIC8vT3V0cHV0c1xyXG4gICAgcHVibGljIG9uQ2hhbmdlID0gb3V0cHV0PGJvb2xlYW4+KCk7XHJcblxyXG4gICAgLy9nZXR0ZXJcclxuICAgIHB1YmxpYyBnZXQgdmFsdWUoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3ZhbHVlO1xyXG4gICAgfVxyXG5cclxuICAgIC8vY29tcHV0ZWRcclxuICAgIHByb3RlY3RlZCBfaXNFbmFibGUgPSBjb21wdXRlZDxib29sZWFuPigoKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuICF0aGlzLmlzTG9hZGluZygpICYmICF0aGlzLmlzRGlzYWJsZWQoKSAmJiAhdGhpcy5pc0ludmlzaWJsZSgpO1xyXG4gICAgfSk7XHJcblxyXG5cclxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgICAgICBUb29scy5TbGVlcCgpLnRoZW4oXyA9PiB0aGlzLl9pc0xvYWRpbmcgPSBmYWxzZSk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8vQ29udHJvbFZhbHVlQWNjZXNzb3JcclxuICAgIHB1YmxpYyBvdmVycmlkZSBTZXRWYWx1ZSh2YWx1ZTogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgICAgIGlmKFRvb2xzLklzTm90TnVsbCh2YWx1ZSkpIHtcclxuICAgICAgICAgICAgaWYoIXRoaXMuaWdub3JlTW9kZWwoKSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fVXBkYXRlVmFsdWUodmFsdWUpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB0aGlzLl92YWx1ZSA9IHZhbHVlO1xyXG5cclxuICAgICAgICAgICAgaWYgKCF0aGlzLl9pc0xvYWRpbmcgJiYgdGhpcy5faXNFbmFibGUoKSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5vbkNoYW5nZS5lbWl0KHZhbHVlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG4gICAgLy9Db250cm9sVmFsdWVBY2Nlc3NvclxyXG4gICAgcHVibGljIG92ZXJyaWRlIHdyaXRlVmFsdWUodmFsdWU6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgICAgICBpZihUb29scy5Jc05vdE51bGwodmFsdWUpKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3ZhbHVlID0gdmFsdWU7XHJcblxyXG4gICAgICAgICAgICBpZiAoIXRoaXMuX2lzTG9hZGluZyAmJiB0aGlzLl9pc0VuYWJsZSgpKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm9uQ2hhbmdlLmVtaXQodmFsdWUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKiogKi9cclxuICAgIHB1YmxpYyBDaGVjaygpOiB2b2lkIHtcclxuICAgICAgICBpZiAoIXRoaXMuX2lzTG9hZGluZyAmJiB0aGlzLl9pc0VuYWJsZSgpKSB7XHJcbiAgICAgICAgICAgIHRoaXMuU2V0VmFsdWUodHJ1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKiogKi9cclxuICAgIHB1YmxpYyBVbmNoZWNrKCk6IHZvaWQge1xyXG4gICAgICAgIGlmICghdGhpcy5faXNMb2FkaW5nICYmIHRoaXMuX2lzRW5hYmxlKCkpIHtcclxuICAgICAgICAgICAgdGhpcy5TZXRWYWx1ZShmYWxzZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiPGRpdiBbbmdDbGFzc109XCJ7ICdjb2VyLWNoZWNrYm94JzogdHJ1ZSwgJ3BsYWNlaG9sZGVyLWdsb3cnOiBpc0xvYWRpbmcoKSwgJ2ludmlzaWJsZSc6IGlzSW52aXNpYmxlKCkgfVwiPlxyXG4gICAgPGRpdiBbaWRdPVwiX2lkXCIgW25nQ2xhc3NdPVwieyAncGxhY2Vob2xkZXInOiBpc0xvYWRpbmcoKSB9XCI+XHJcbiAgICAgICAgPG1hdC1jaGVja2JveFxyXG4gICAgICAgICAgICBbbmdNb2RlbF09XCJfdmFsdWVcIlxyXG4gICAgICAgICAgICBbaW5kZXRlcm1pbmF0ZV09XCJmYWxzZVwiXHJcbiAgICAgICAgICAgIFtsYWJlbFBvc2l0aW9uXT1cImxhYmVsUG9zaXRpb24oKVwiXHJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhX2lzRW5hYmxlKClcIlxyXG4gICAgICAgICAgICAoY2hhbmdlKT1cInRoaXMuU2V0VmFsdWUoJGV2ZW50LmNoZWNrZWQpXCJcclxuICAgICAgICA+IHt7IGxhYmVsKCkgfX0gPC9tYXQtY2hlY2tib3g+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+Il19