@ng-atomic/components 18.4.0 → 18.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (164) hide show
  1. package/atoms/atoms.module.d.ts +6 -2
  2. package/atoms/smart-menu-button/smart-menu-button.atom.d.ts +8 -7
  3. package/components.module.d.ts +0 -15
  4. package/esm2022/atoms/atoms.module.mjs +7 -2
  5. package/esm2022/atoms/icon/icon.atom.mjs +2 -2
  6. package/esm2022/atoms/smart-menu-button/smart-menu-button.atom.mjs +27 -22
  7. package/esm2022/components.module.mjs +19 -44
  8. package/esm2022/frames/app/app.frame.mjs +5 -3
  9. package/esm2022/frames/auto-layout/auto-layout.frame.mjs +2 -2
  10. package/esm2022/frames/columns/columns.frame.mjs +2 -2
  11. package/esm2022/frames/divider/divider.frame.mjs +2 -2
  12. package/esm2022/frames/drawer/drawer.frame.mjs +2 -2
  13. package/esm2022/frames/entrance/entrance.frame.mjs +2 -2
  14. package/esm2022/frames/fab/fab.frame.mjs +2 -2
  15. package/esm2022/frames/frames.module.mjs +19 -14
  16. package/esm2022/frames/line-up/line-up.frame.mjs +2 -2
  17. package/esm2022/frames/loading/loading.frame.mjs +2 -2
  18. package/esm2022/frames/router-outlet/router-outlet.frame.mjs +2 -2
  19. package/esm2022/frames/scroll/scroll.frame.mjs +2 -2
  20. package/esm2022/frames/side-nav/side-nav.frame.mjs +2 -2
  21. package/esm2022/frames/smart-menu/smart-menu.frame.mjs +2 -2
  22. package/esm2022/frames/vertical-hide/vertical-hide.frame.mjs +2 -2
  23. package/esm2022/molecules/date-input-field/date-input-field.molecule.mjs +2 -2
  24. package/esm2022/molecules/date-range-input-field/date-range-input-field.molecule.mjs +2 -2
  25. package/esm2022/molecules/grid-item/grid-item.molecule.mjs +2 -2
  26. package/esm2022/molecules/loading-box/loading-box.molecule.mjs +2 -2
  27. package/esm2022/molecules/molecules.module.mjs +18 -16
  28. package/esm2022/molecules/navigation-list-item/navigation-list-item.molecule.mjs +2 -2
  29. package/esm2022/molecules/select-input-field/select-input-field.molecule.mjs +2 -2
  30. package/esm2022/organisms/action-buttons-section/action-buttons-section.organism.mjs +2 -2
  31. package/esm2022/organisms/action-input-section/action-input-section.organism.mjs +2 -2
  32. package/esm2022/organisms/card-input-section/card-input-section.organism.mjs +2 -2
  33. package/esm2022/organisms/cvc-and-exp-input-section/cvc-and-exp-input-section.organism.mjs +2 -2
  34. package/esm2022/organisms/date-input-section/date-input-section.organism.mjs +2 -2
  35. package/esm2022/organisms/date-range-input-section/date-range-input-section.organism.mjs +2 -2
  36. package/esm2022/organisms/definition-list/definition-list.organism.mjs +2 -2
  37. package/esm2022/organisms/file-input-section/file-input-section.organism.mjs +2 -2
  38. package/esm2022/organisms/grid-cards-section/grid-cards-section.organism.mjs +2 -2
  39. package/esm2022/organisms/heading/heading.organism.mjs +2 -2
  40. package/esm2022/organisms/menu-footer/menu-footer.organism.mjs +2 -2
  41. package/esm2022/organisms/menu-header/menu-header.organism.mjs +2 -2
  42. package/esm2022/organisms/messages-section/messages-section.organism.mjs +2 -2
  43. package/esm2022/organisms/navigation-list/navigation-list.organism.mjs +2 -2
  44. package/esm2022/organisms/navigator/navigator.organism.mjs +20 -31
  45. package/esm2022/organisms/number-input-section/number-input-section.organism.mjs +2 -2
  46. package/esm2022/organisms/organisms.module.mjs +66 -61
  47. package/esm2022/organisms/paginator/paginator.organism.mjs +2 -2
  48. package/esm2022/organisms/password-input-section/password-input-section.organism.mjs +2 -2
  49. package/esm2022/organisms/select-input-section/select-input-section.organism.mjs +2 -2
  50. package/esm2022/organisms/slider-input-section/slider-input-section.organism.mjs +2 -2
  51. package/esm2022/organisms/social-login-section/social-login-section.organism.mjs +2 -2
  52. package/esm2022/organisms/table/table.organism.mjs +2 -2
  53. package/esm2022/organisms/text-input-section/text-input-section.organism.mjs +2 -2
  54. package/esm2022/organisms/textarea-section/textarea-section.organism.mjs +2 -2
  55. package/esm2022/organisms/thread-messages-section/thread-messages-section.organism.mjs +2 -2
  56. package/esm2022/pages/_index/index.page.mjs +8 -13
  57. package/esm2022/pages/columns/columns.page.mjs +2 -2
  58. package/esm2022/pages/form/form.page.mjs +8 -6
  59. package/esm2022/pages/pages.module.mjs +10 -7
  60. package/esm2022/templates/_index/index.template.mjs +7 -7
  61. package/esm2022/templates/background/background.template.mjs +2 -2
  62. package/esm2022/templates/code-editor/code-editor.template.mjs +2 -2
  63. package/esm2022/templates/columns/columns.template.mjs +3 -3
  64. package/esm2022/templates/entrance/entrance.template.mjs +19 -17
  65. package/esm2022/templates/form/form.builder.mjs +2 -2
  66. package/esm2022/templates/form/form.template.mjs +3 -3
  67. package/esm2022/templates/icon-button-menu/icon-button-menu.template.mjs +2 -2
  68. package/esm2022/templates/menu/menu.template.mjs +2 -2
  69. package/esm2022/templates/selection/selection.template.mjs +2 -2
  70. package/esm2022/templates/settings/settings.template.mjs +2 -2
  71. package/esm2022/templates/templates.module.mjs +17 -25
  72. package/fesm2022/ng-atomic-components-atoms-icon.mjs +2 -2
  73. package/fesm2022/ng-atomic-components-atoms-smart-menu-button.mjs +25 -21
  74. package/fesm2022/ng-atomic-components-atoms-smart-menu-button.mjs.map +1 -1
  75. package/fesm2022/ng-atomic-components-atoms.mjs +7 -2
  76. package/fesm2022/ng-atomic-components-atoms.mjs.map +1 -1
  77. package/fesm2022/ng-atomic-components-frames-app.mjs +4 -2
  78. package/fesm2022/ng-atomic-components-frames-app.mjs.map +1 -1
  79. package/fesm2022/ng-atomic-components-frames-auto-layout.mjs +2 -2
  80. package/fesm2022/ng-atomic-components-frames-columns.mjs +2 -2
  81. package/fesm2022/ng-atomic-components-frames-divider.mjs +2 -2
  82. package/fesm2022/ng-atomic-components-frames-drawer.mjs +2 -2
  83. package/fesm2022/ng-atomic-components-frames-entrance.mjs +2 -2
  84. package/fesm2022/ng-atomic-components-frames-fab.mjs +2 -2
  85. package/fesm2022/ng-atomic-components-frames-line-up.mjs +2 -2
  86. package/fesm2022/ng-atomic-components-frames-loading.mjs +2 -2
  87. package/fesm2022/ng-atomic-components-frames-router-outlet.mjs +2 -2
  88. package/fesm2022/ng-atomic-components-frames-scroll.mjs +2 -2
  89. package/fesm2022/ng-atomic-components-frames-side-nav.mjs +2 -2
  90. package/fesm2022/ng-atomic-components-frames-smart-menu.mjs +2 -2
  91. package/fesm2022/ng-atomic-components-frames-vertical-hide.mjs +2 -2
  92. package/fesm2022/ng-atomic-components-frames.mjs +19 -14
  93. package/fesm2022/ng-atomic-components-frames.mjs.map +1 -1
  94. package/fesm2022/ng-atomic-components-molecules-date-input-field.mjs +2 -2
  95. package/fesm2022/ng-atomic-components-molecules-date-range-input-field.mjs +2 -2
  96. package/fesm2022/ng-atomic-components-molecules-grid-item.mjs +2 -2
  97. package/fesm2022/ng-atomic-components-molecules-loading-box.mjs +2 -2
  98. package/fesm2022/ng-atomic-components-molecules-navigation-list-item.mjs +2 -2
  99. package/fesm2022/ng-atomic-components-molecules-select-input-field.mjs +2 -2
  100. package/fesm2022/ng-atomic-components-molecules.mjs +18 -16
  101. package/fesm2022/ng-atomic-components-molecules.mjs.map +1 -1
  102. package/fesm2022/ng-atomic-components-organisms-action-buttons-section.mjs +2 -2
  103. package/fesm2022/ng-atomic-components-organisms-action-input-section.mjs +2 -2
  104. package/fesm2022/ng-atomic-components-organisms-card-input-section.mjs +2 -2
  105. package/fesm2022/ng-atomic-components-organisms-cvc-and-exp-input-section.mjs +2 -2
  106. package/fesm2022/ng-atomic-components-organisms-date-input-section.mjs +2 -2
  107. package/fesm2022/ng-atomic-components-organisms-date-range-input-section.mjs +2 -2
  108. package/fesm2022/ng-atomic-components-organisms-definition-list.mjs +2 -2
  109. package/fesm2022/ng-atomic-components-organisms-file-input-section.mjs +2 -2
  110. package/fesm2022/ng-atomic-components-organisms-grid-cards-section.mjs +2 -2
  111. package/fesm2022/ng-atomic-components-organisms-heading.mjs +2 -2
  112. package/fesm2022/ng-atomic-components-organisms-menu-footer.mjs +2 -2
  113. package/fesm2022/ng-atomic-components-organisms-menu-header.mjs +2 -2
  114. package/fesm2022/ng-atomic-components-organisms-messages-section.mjs +2 -2
  115. package/fesm2022/ng-atomic-components-organisms-navigation-list.mjs +2 -2
  116. package/fesm2022/ng-atomic-components-organisms-navigator.mjs +19 -30
  117. package/fesm2022/ng-atomic-components-organisms-navigator.mjs.map +1 -1
  118. package/fesm2022/ng-atomic-components-organisms-number-input-section.mjs +2 -2
  119. package/fesm2022/ng-atomic-components-organisms-paginator.mjs +2 -2
  120. package/fesm2022/ng-atomic-components-organisms-password-input-section.mjs +2 -2
  121. package/fesm2022/ng-atomic-components-organisms-select-input-section.mjs +2 -2
  122. package/fesm2022/ng-atomic-components-organisms-slider-input-section.mjs +2 -2
  123. package/fesm2022/ng-atomic-components-organisms-social-login-section.mjs +2 -2
  124. package/fesm2022/ng-atomic-components-organisms-table.mjs +2 -2
  125. package/fesm2022/ng-atomic-components-organisms-text-input-section.mjs +2 -2
  126. package/fesm2022/ng-atomic-components-organisms-textarea-section.mjs +2 -2
  127. package/fesm2022/ng-atomic-components-organisms-thread-messages-section.mjs +2 -2
  128. package/fesm2022/ng-atomic-components-organisms.mjs +66 -61
  129. package/fesm2022/ng-atomic-components-organisms.mjs.map +1 -1
  130. package/fesm2022/ng-atomic-components-pages-_index.mjs +7 -12
  131. package/fesm2022/ng-atomic-components-pages-_index.mjs.map +1 -1
  132. package/fesm2022/ng-atomic-components-pages-columns.mjs +2 -2
  133. package/fesm2022/ng-atomic-components-pages-form.mjs +7 -5
  134. package/fesm2022/ng-atomic-components-pages-form.mjs.map +1 -1
  135. package/fesm2022/ng-atomic-components-pages.mjs +10 -7
  136. package/fesm2022/ng-atomic-components-pages.mjs.map +1 -1
  137. package/fesm2022/ng-atomic-components-templates-_index.mjs +6 -6
  138. package/fesm2022/ng-atomic-components-templates-_index.mjs.map +1 -1
  139. package/fesm2022/ng-atomic-components-templates-background.mjs +2 -2
  140. package/fesm2022/ng-atomic-components-templates-code-editor.mjs +2 -2
  141. package/fesm2022/ng-atomic-components-templates-code-editor.mjs.map +1 -1
  142. package/fesm2022/ng-atomic-components-templates-columns.mjs +2 -2
  143. package/fesm2022/ng-atomic-components-templates-columns.mjs.map +1 -1
  144. package/fesm2022/ng-atomic-components-templates-entrance.mjs +18 -16
  145. package/fesm2022/ng-atomic-components-templates-entrance.mjs.map +1 -1
  146. package/fesm2022/ng-atomic-components-templates-form.mjs +4 -4
  147. package/fesm2022/ng-atomic-components-templates-form.mjs.map +1 -1
  148. package/fesm2022/ng-atomic-components-templates-icon-button-menu.mjs +2 -2
  149. package/fesm2022/ng-atomic-components-templates-menu.mjs +2 -2
  150. package/fesm2022/ng-atomic-components-templates-selection.mjs +2 -2
  151. package/fesm2022/ng-atomic-components-templates-settings.mjs +2 -2
  152. package/fesm2022/ng-atomic-components-templates.mjs +17 -25
  153. package/fesm2022/ng-atomic-components-templates.mjs.map +1 -1
  154. package/fesm2022/ng-atomic-components.mjs +19 -44
  155. package/fesm2022/ng-atomic-components.mjs.map +1 -1
  156. package/frames/app/app.frame.d.ts +1 -0
  157. package/frames/frames.module.d.ts +3 -20
  158. package/molecules/molecules.module.d.ts +22 -0
  159. package/organisms/navigator/navigator.organism.d.ts +4 -3
  160. package/organisms/organisms.module.d.ts +56 -1
  161. package/package.json +44 -44
  162. package/pages/form/form.page.d.ts +9 -9
  163. package/pages/pages.module.d.ts +1 -0
  164. package/templates/templates.module.d.ts +24 -1
@@ -4,10 +4,14 @@ export declare class NgAtomicAtomsModule {
4
4
  ngModule: typeof NgAtomicAtomsModule;
5
5
  providers: {
6
6
  provide: any;
7
- useValue: () => Promise<import("@angular/core").Type<import("@ng-atomic/components/atoms/smart-menu-button").SmartMenuButtonAtom>>;
8
- }[];
7
+ useValue: () => Promise<import("@angular/core").Type<import("@ng-atomic/components/atoms/smart-menu-button").MenuButtonAtom>>;
8
+ }[][];
9
9
  };
10
10
  static ɵfac: i0.ɵɵFactoryDeclaration<NgAtomicAtomsModule, never>;
11
11
  static ɵmod: i0.ɵɵNgModuleDeclaration<NgAtomicAtomsModule, never, never, never>;
12
12
  static ɵinj: i0.ɵɵInjectorDeclaration<NgAtomicAtomsModule>;
13
13
  }
14
+ export declare function provideAtoms(): {
15
+ provide: any;
16
+ useValue: () => Promise<import("@angular/core").Type<import("@ng-atomic/components/atoms/smart-menu-button").MenuButtonAtom>>;
17
+ }[];
@@ -6,15 +6,16 @@ export declare class StopPipe implements PipeTransform {
6
6
  static ɵfac: i0.ɵɵFactoryDeclaration<StopPipe, never>;
7
7
  static ɵpipe: i0.ɵɵPipeDeclaration<StopPipe, "stope", true>;
8
8
  }
9
- export declare class SmartMenuButtonAtomStore extends InjectableComponent {
9
+ export declare class MenuButtonAtomStore extends InjectableComponent {
10
10
  readonly actions: import("@angular/core").InputSignal<Action<any>[]>;
11
11
  readonly type: import("@angular/core").InputSignal<"button" | "icon-button">;
12
12
  readonly action: import("@angular/core").InputSignal<Action<any>>;
13
- static ɵfac: i0.ɵɵFactoryDeclaration<SmartMenuButtonAtomStore, never>;
14
- static ɵdir: i0.ɵɵDirectiveDeclaration<SmartMenuButtonAtomStore, "atoms-smart-menu-button, atoms-menu-button", never, { "actions": { "alias": "actions"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "action": { "alias": "action"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
13
+ static ɵfac: i0.ɵɵFactoryDeclaration<MenuButtonAtomStore, never>;
14
+ static ɵdir: i0.ɵɵDirectiveDeclaration<MenuButtonAtomStore, "atoms-smart-menu-button, atoms-menu-button", never, { "actions": { "alias": "actions"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "action": { "alias": "action"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
15
15
  }
16
- export declare class SmartMenuButtonAtom extends NgAtomicComponent {
17
- protected store: SmartMenuButtonAtomStore;
18
- static ɵfac: i0.ɵɵFactoryDeclaration<SmartMenuButtonAtom, never>;
19
- static ɵcmp: i0.ɵɵComponentDeclaration<SmartMenuButtonAtom, "atoms-smart-menu-button, atoms-menu-button", never, {}, {}, never, never, true, [{ directive: typeof SmartMenuButtonAtomStore; inputs: { "actions": "actions"; "action": "action"; "type": "type"; }; outputs: {}; }]>;
16
+ export declare class MenuButtonAtom extends NgAtomicComponent {
17
+ protected store: MenuButtonAtomStore;
18
+ static ɵfac: i0.ɵɵFactoryDeclaration<MenuButtonAtom, never>;
19
+ static ɵcmp: i0.ɵɵComponentDeclaration<MenuButtonAtom, "atoms-smart-menu-button, atoms-menu-button", never, {}, {}, never, never, true, [{ directive: typeof MenuButtonAtomStore; inputs: { "actions": "actions"; "action": "action"; "type": "type"; }; outputs: {}; }]>;
20
20
  }
21
+ export { MenuButtonAtomStore as SmartMenuButtonAtomStore, MenuButtonAtom as SmartMenuButtonAtom };
@@ -1,17 +1,2 @@
1
1
  import { EnvironmentProviders } from "@angular/core";
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "@angular/material/dialog";
4
- import * as i2 from "@angular/material/snack-bar";
5
- /**
6
- * @deprecated use `provideNgAtomicComponents()` instead
7
- */
8
- export declare class NgAtomicComponentsModule {
9
- static forRoot(): {
10
- ngModule: typeof NgAtomicComponentsModule;
11
- providers: (import("@angular/core").Provider | EnvironmentProviders)[];
12
- };
13
- static ɵfac: i0.ɵɵFactoryDeclaration<NgAtomicComponentsModule, never>;
14
- static ɵmod: i0.ɵɵNgModuleDeclaration<NgAtomicComponentsModule, never, [typeof i1.MatDialogModule, typeof i2.MatSnackBarModule], never>;
15
- static ɵinj: i0.ɵɵInjectorDeclaration<NgAtomicComponentsModule>;
16
- }
17
2
  export declare function provideNgAtomicComponents(): EnvironmentProviders;
@@ -7,7 +7,7 @@ export class NgAtomicAtomsModule {
7
7
  return {
8
8
  ngModule: NgAtomicAtomsModule,
9
9
  providers: [
10
- provideComponent(SmartMenuButtonAtomStore, () => import('@ng-atomic/components/atoms/smart-menu-button').then(m => m.SmartMenuButtonAtom)),
10
+ provideAtoms(),
11
11
  ]
12
12
  };
13
13
  }
@@ -19,4 +19,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImpor
19
19
  type: NgModule,
20
20
  args: [{}]
21
21
  }] });
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXRvbXMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQG5nLWF0b21pYy9jb21wb25lbnRzL3NyYy9saWIvYXRvbXMvYXRvbXMubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbkQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sK0NBQStDLENBQUM7O0FBR3pGLE1BQU0sT0FBTyxtQkFBbUI7SUFDOUIsTUFBTSxDQUFDLE9BQU87UUFDWixPQUFPO1lBQ0wsUUFBUSxFQUFFLG1CQUFtQjtZQUM3QixTQUFTLEVBQUU7Z0JBQ1QsZ0JBQWdCLENBQUMsd0JBQXdCLEVBQUUsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLCtDQUErQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLG1CQUFtQixDQUFDLENBQUM7YUFDM0k7U0FDRixDQUFBO0lBQ0gsQ0FBQzs4R0FSVSxtQkFBbUI7K0dBQW5CLG1CQUFtQjsrR0FBbkIsbUJBQW1COzsyRkFBbkIsbUJBQW1CO2tCQUQvQixRQUFRO21CQUFDLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgcHJvdmlkZUNvbXBvbmVudCB9IGZyb20gJ0BuZy1hdG9taWMvY29yZSc7XG5pbXBvcnQgeyBTbWFydE1lbnVCdXR0b25BdG9tU3RvcmUgfSBmcm9tICdAbmctYXRvbWljL2NvbXBvbmVudHMvYXRvbXMvc21hcnQtbWVudS1idXR0b24nO1xuXG5ATmdNb2R1bGUoe30pXG5leHBvcnQgY2xhc3MgTmdBdG9taWNBdG9tc01vZHVsZSB7XG4gIHN0YXRpYyBmb3JSb290KCkge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogTmdBdG9taWNBdG9tc01vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICBwcm92aWRlQ29tcG9uZW50KFNtYXJ0TWVudUJ1dHRvbkF0b21TdG9yZSwgKCkgPT4gaW1wb3J0KCdAbmctYXRvbWljL2NvbXBvbmVudHMvYXRvbXMvc21hcnQtbWVudS1idXR0b24nKS50aGVuKG0gPT4gbS5TbWFydE1lbnVCdXR0b25BdG9tKSksXG4gICAgICBdXG4gICAgfVxuICB9XG59XG4iXX0=
22
+ export function provideAtoms() {
23
+ return [
24
+ provideComponent(SmartMenuButtonAtomStore, () => import('@ng-atomic/components/atoms/smart-menu-button').then(m => m.SmartMenuButtonAtom)),
25
+ ];
26
+ }
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXRvbXMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQG5nLWF0b21pYy9jb21wb25lbnRzL3NyYy9saWIvYXRvbXMvYXRvbXMubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbkQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sK0NBQStDLENBQUM7O0FBR3pGLE1BQU0sT0FBTyxtQkFBbUI7SUFDOUIsTUFBTSxDQUFDLE9BQU87UUFDWixPQUFPO1lBQ0wsUUFBUSxFQUFFLG1CQUFtQjtZQUM3QixTQUFTLEVBQUU7Z0JBQ1QsWUFBWSxFQUFFO2FBQ2Y7U0FDRixDQUFBO0lBQ0gsQ0FBQzs4R0FSVSxtQkFBbUI7K0dBQW5CLG1CQUFtQjsrR0FBbkIsbUJBQW1COzsyRkFBbkIsbUJBQW1CO2tCQUQvQixRQUFRO21CQUFDLEVBQUU7O0FBWVosTUFBTSxVQUFVLFlBQVk7SUFDMUIsT0FBTztRQUNMLGdCQUFnQixDQUFDLHdCQUF3QixFQUFFLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQywrQ0FBK0MsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0tBQzNJLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHByb3ZpZGVDb21wb25lbnQgfSBmcm9tICdAbmctYXRvbWljL2NvcmUnO1xuaW1wb3J0IHsgU21hcnRNZW51QnV0dG9uQXRvbVN0b3JlIH0gZnJvbSAnQG5nLWF0b21pYy9jb21wb25lbnRzL2F0b21zL3NtYXJ0LW1lbnUtYnV0dG9uJztcblxuQE5nTW9kdWxlKHt9KVxuZXhwb3J0IGNsYXNzIE5nQXRvbWljQXRvbXNNb2R1bGUge1xuICBzdGF0aWMgZm9yUm9vdCgpIHtcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IE5nQXRvbWljQXRvbXNNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgcHJvdmlkZUF0b21zKCksXG4gICAgICBdXG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlQXRvbXMoKSB7XG4gIHJldHVybiBbXG4gICAgcHJvdmlkZUNvbXBvbmVudChTbWFydE1lbnVCdXR0b25BdG9tU3RvcmUsICgpID0+IGltcG9ydCgnQG5nLWF0b21pYy9jb21wb25lbnRzL2F0b21zL3NtYXJ0LW1lbnUtYnV0dG9uJykudGhlbihtID0+IG0uU21hcnRNZW51QnV0dG9uQXRvbSkpLFxuICBdO1xufVxuIl19
@@ -20,7 +20,7 @@ export class IconAtom extends NgAtomicComponent {
20
20
  } @else {
21
21
  <mat-icon>{{ name() }}</mat-icon>
22
22
  }
23
- `, isInline: true, styles: [":host{display:block;--primary-color: #404040;--primary-color-SCOPED-IN-icon-Gm1K: var(--primary-color);--surface-color: #f0f0f0;--surface-color-SCOPED-IN-icon-Gm1K: var(--surface-color);--background-color: #f0f0f0;--background-color-SCOPED-IN-icon-Gm1K: var(--background-color);--on-primary-color: #f0f0f0;--on-primary-color-SCOPED-IN-icon-Gm1K: var(--on-primary-color);--on-background-color: #404040;--on-background-color-SCOPED-IN-icon-Gm1K: var(--on-background-color);--on-surface-color: #404040;--on-surface-color-SCOPED-IN-icon-Gm1K: var(--on-surface-color);--color: inherit;--color-SCOPED-IN-icon-Gm1K: var(--color)}:host mat-icon{color:var(--on-background-color-SCOPED-IN-icon-Gm1K)}:host mat-icon ::ng-deep svg .filled{transition:fill .5s;fill:var(--color-SCOPED-IN-icon-Gm1K)}\n"], dependencies: [{ kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
23
+ `, isInline: true, styles: [":host{display:block;--primary-color: #404040;--primary-color-SCOPED-IN-icon-stSV: var(--primary-color);--surface-color: #f0f0f0;--surface-color-SCOPED-IN-icon-stSV: var(--surface-color);--background-color: #f0f0f0;--background-color-SCOPED-IN-icon-stSV: var(--background-color);--on-primary-color: #f0f0f0;--on-primary-color-SCOPED-IN-icon-stSV: var(--on-primary-color);--on-background-color: #404040;--on-background-color-SCOPED-IN-icon-stSV: var(--on-background-color);--on-surface-color: #404040;--on-surface-color-SCOPED-IN-icon-stSV: var(--on-surface-color);--color: inherit;--color-SCOPED-IN-icon-stSV: var(--color)}:host mat-icon{color:var(--on-background-color-SCOPED-IN-icon-stSV)}:host mat-icon ::ng-deep svg .filled{transition:fill .5s;fill:var(--color-SCOPED-IN-icon-stSV)}\n"], dependencies: [{ kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
24
24
  }
25
25
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: IconAtom, decorators: [{
26
26
  type: Component,
@@ -32,7 +32,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImpor
32
32
  } @else {
33
33
  <mat-icon>{{ name() }}</mat-icon>
34
34
  }
35
- `, changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{display:block;--primary-color: #404040;--primary-color-SCOPED-IN-icon-Gm1K: var(--primary-color);--surface-color: #f0f0f0;--surface-color-SCOPED-IN-icon-Gm1K: var(--surface-color);--background-color: #f0f0f0;--background-color-SCOPED-IN-icon-Gm1K: var(--background-color);--on-primary-color: #f0f0f0;--on-primary-color-SCOPED-IN-icon-Gm1K: var(--on-primary-color);--on-background-color: #404040;--on-background-color-SCOPED-IN-icon-Gm1K: var(--on-background-color);--on-surface-color: #404040;--on-surface-color-SCOPED-IN-icon-Gm1K: var(--on-surface-color);--color: inherit;--color-SCOPED-IN-icon-Gm1K: var(--color)}:host mat-icon{color:var(--on-background-color-SCOPED-IN-icon-Gm1K)}:host mat-icon ::ng-deep svg .filled{transition:fill .5s;fill:var(--color-SCOPED-IN-icon-Gm1K)}\n"] }]
35
+ `, changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{display:block;--primary-color: #404040;--primary-color-SCOPED-IN-icon-stSV: var(--primary-color);--surface-color: #f0f0f0;--surface-color-SCOPED-IN-icon-stSV: var(--surface-color);--background-color: #f0f0f0;--background-color-SCOPED-IN-icon-stSV: var(--background-color);--on-primary-color: #f0f0f0;--on-primary-color-SCOPED-IN-icon-stSV: var(--on-primary-color);--on-background-color: #404040;--on-background-color-SCOPED-IN-icon-stSV: var(--on-background-color);--on-surface-color: #404040;--on-surface-color-SCOPED-IN-icon-stSV: var(--on-surface-color);--color: inherit;--color-SCOPED-IN-icon-stSV: var(--color)}:host mat-icon{color:var(--on-background-color-SCOPED-IN-icon-stSV)}:host mat-icon ::ng-deep svg .filled{transition:fill .5s;fill:var(--color-SCOPED-IN-icon-stSV)}\n"] }]
36
36
  }], propDecorators: { color: [{
37
37
  type: HostBinding,
38
38
  args: ['style.--color']
@@ -21,18 +21,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImpor
21
21
  type: Pipe,
22
22
  args: [{ standalone: true, name: 'stope' }]
23
23
  }] });
24
- let SmartMenuButtonAtomStore = class SmartMenuButtonAtomStore extends InjectableComponent {
24
+ let MenuButtonAtomStore = class MenuButtonAtomStore extends InjectableComponent {
25
25
  constructor() {
26
26
  super(...arguments);
27
27
  this.actions = input([]);
28
28
  this.type = input('icon-button');
29
29
  this.action = input(_computed(() => {
30
- if (this.actions().length === 1) {
30
+ if (this.actions()?.length === 1) {
31
31
  return this.actions()[0];
32
32
  }
33
33
  else {
34
34
  return {
35
- id: 'menu',
35
+ id: 'more_vert',
36
36
  name: 'メニューを開く',
37
37
  icon: 'more_vert',
38
38
  children: this.actions(),
@@ -40,36 +40,36 @@ let SmartMenuButtonAtomStore = class SmartMenuButtonAtomStore extends Injectable
40
40
  }
41
41
  }));
42
42
  }
43
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: SmartMenuButtonAtomStore, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
44
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.1.2", type: SmartMenuButtonAtomStore, isStandalone: true, selector: "atoms-smart-menu-button, atoms-menu-button", inputs: { actions: { classPropertyName: "actions", publicName: "actions", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, action: { classPropertyName: "action", publicName: "action", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0 }); }
43
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: MenuButtonAtomStore, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
44
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.1.2", type: MenuButtonAtomStore, isStandalone: true, selector: "atoms-smart-menu-button, atoms-menu-button", inputs: { actions: { classPropertyName: "actions", publicName: "actions", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, action: { classPropertyName: "action", publicName: "action", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0 }); }
45
45
  };
46
- SmartMenuButtonAtomStore = __decorate([
46
+ MenuButtonAtomStore = __decorate([
47
47
  TokenizedType()
48
- ], SmartMenuButtonAtomStore);
49
- export { SmartMenuButtonAtomStore };
50
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: SmartMenuButtonAtomStore, decorators: [{
48
+ ], MenuButtonAtomStore);
49
+ export { MenuButtonAtomStore };
50
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: MenuButtonAtomStore, decorators: [{
51
51
  type: Directive,
52
52
  args: [{ standalone: true, selector: 'atoms-smart-menu-button, atoms-menu-button' }]
53
53
  }] });
54
- export class SmartMenuButtonAtom extends NgAtomicComponent {
54
+ export class MenuButtonAtom extends NgAtomicComponent {
55
55
  constructor() {
56
56
  super(...arguments);
57
- this.store = inject(SmartMenuButtonAtomStore);
57
+ this.store = inject(MenuButtonAtomStore);
58
58
  }
59
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: SmartMenuButtonAtom, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
60
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.2", type: SmartMenuButtonAtom, isStandalone: true, selector: "atoms-smart-menu-button, atoms-menu-button", usesInheritance: true, hostDirectives: [{ directive: SmartMenuButtonAtomStore, inputs: ["actions", "actions", "action", "action", "type", "type"] }], ngImport: i0, template: `
59
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: MenuButtonAtom, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
60
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.2", type: MenuButtonAtom, isStandalone: true, selector: "atoms-smart-menu-button, atoms-menu-button", usesInheritance: true, hostDirectives: [{ directive: MenuButtonAtomStore, inputs: ["actions", "actions", "action", "action", "type", "type"] }], ngImport: i0, template: `
61
61
  @if (store.action()?.children?.length) {
62
62
  <button
63
63
  mat-icon-button
64
64
  [color]="store.action()?.color"
65
65
  [disabled]="store.action().disabled"
66
66
  [matMenuTriggerFor]="menu"
67
- (click)="dispatch(store.action()); $event.stopPropagation();"
67
+ (click)="$event.stopPropagation();"
68
68
  >
69
69
  <mat-icon>{{ store.action()?.icon }}</mat-icon>
70
70
  </button>
71
71
  <mat-menu #menu="matMenu">
72
- @for (action of store.action().children; track $index) {
72
+ @for (action of store.action()?.children; track action) {
73
73
  <button
74
74
  mat-menu-item
75
75
  [disabled]="action.disabled"
@@ -89,12 +89,12 @@ export class SmartMenuButtonAtom extends NgAtomicComponent {
89
89
  }
90
90
  `, isInline: true, styles: [":host{display:block;width:48px;height:48px}\n"], dependencies: [{ kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i3.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i3.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i3.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }], changeDetection: i0.ChangeDetectionStrategy.Default }); }
91
91
  }
92
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: SmartMenuButtonAtom, decorators: [{
92
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: MenuButtonAtom, decorators: [{
93
93
  type: Component,
94
94
  args: [{ selector: 'atoms-smart-menu-button, atoms-menu-button', standalone: true, imports: [
95
95
  MatButtonModule,
96
96
  MatIconModule,
97
- MatMenuModule
97
+ MatMenuModule,
98
98
  ], template: `
99
99
  @if (store.action()?.children?.length) {
100
100
  <button
@@ -102,12 +102,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImpor
102
102
  [color]="store.action()?.color"
103
103
  [disabled]="store.action().disabled"
104
104
  [matMenuTriggerFor]="menu"
105
- (click)="dispatch(store.action()); $event.stopPropagation();"
105
+ (click)="$event.stopPropagation();"
106
106
  >
107
107
  <mat-icon>{{ store.action()?.icon }}</mat-icon>
108
108
  </button>
109
109
  <mat-menu #menu="matMenu">
110
- @for (action of store.action().children; track $index) {
110
+ @for (action of store.action()?.children; track action) {
111
111
  <button
112
112
  mat-menu-item
113
113
  [disabled]="action.disabled"
@@ -127,9 +127,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImpor
127
127
  }
128
128
  `, changeDetection: ChangeDetectionStrategy.Default, hostDirectives: [
129
129
  {
130
- directive: SmartMenuButtonAtomStore,
131
- inputs: ['actions', 'action', 'type'],
130
+ directive: MenuButtonAtomStore,
131
+ inputs: [
132
+ 'actions',
133
+ 'action',
134
+ 'type'
135
+ ],
132
136
  }
133
137
  ], styles: [":host{display:block;width:48px;height:48px}\n"] }]
134
138
  }] });
135
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtbWVudS1idXR0b24uYXRvbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BuZy1hdG9taWMvY29tcG9uZW50cy9zcmMvbGliL2F0b21zL3NtYXJ0LW1lbnUtYnV0dG9uL3NtYXJ0LW1lbnUtYnV0dG9uLmF0b20udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBWSxNQUFNLEVBQUUsS0FBSyxFQUF5QixNQUFNLGVBQWUsQ0FBQztBQUNwSSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsU0FBUyxFQUFVLG1CQUFtQixFQUFFLGlCQUFpQixFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7OztBQUczRyxNQUFNLE9BQU8sUUFBUTtJQUNuQixTQUFTLENBQUMsTUFBYTtRQUNyQixNQUFNLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDekIsTUFBTSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3hCLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7OEdBTFUsUUFBUTs0R0FBUixRQUFROzsyRkFBUixRQUFRO2tCQURwQixJQUFJO21CQUFDLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFOztBQVdsQyxJQUFNLHdCQUF3QixHQUE5QixNQUFNLHdCQUF5QixTQUFRLG1CQUFtQjtJQUExRDs7UUFDSSxZQUFPLEdBQUcsS0FBSyxDQUFXLEVBQUUsQ0FBQyxDQUFDO1FBQzlCLFNBQUksR0FBRyxLQUFLLENBQTJCLGFBQWEsQ0FBQyxDQUFDO1FBQ3RELFdBQU0sR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNyQyxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQ2hDLE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzNCLENBQUM7aUJBQU0sQ0FBQztnQkFDTixPQUFPO29CQUNMLEVBQUUsRUFBRSxNQUFNO29CQUNWLElBQUksRUFBRSxTQUFTO29CQUNmLElBQUksRUFBRSxXQUFXO29CQUNqQixRQUFRLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRTtpQkFDekIsQ0FBQTtZQUNILENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQyxDQUFDO0tBQ0w7OEdBZlksd0JBQXdCO2tHQUF4Qix3QkFBd0I7O0FBQXhCLHdCQUF3QjtJQUZwQyxhQUFhLEVBQUU7R0FFSCx3QkFBd0IsQ0FlcEM7OzJGQWZZLHdCQUF3QjtrQkFEcEMsU0FBUzttQkFBQyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLDRDQUE0QyxFQUFFOztBQWtFdkYsTUFBTSxPQUFPLG1CQUFvQixTQUFRLGlCQUFpQjtJQWhEMUQ7O1FBaURZLFVBQUssR0FBRyxNQUFNLENBQUMsd0JBQXdCLENBQUMsQ0FBQztLQUNwRDs4R0FGWSxtQkFBbUI7a0dBQW5CLG1CQUFtQixtSUFqRW5CLHdCQUF3QixpR0F5QnpCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E4QlQsc0hBbENDLGVBQWUsMklBQ2YsYUFBYSxtTEFDYixhQUFhOzsyRkEwQ0osbUJBQW1CO2tCQWhEL0IsU0FBUzsrQkFDRSw0Q0FBNEMsY0FDMUMsSUFBSSxXQUNQO3dCQUNQLGVBQWU7d0JBQ2YsYUFBYTt3QkFDYixhQUFhO3FCQUNkLFlBQ1M7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQThCVCxtQkFFZ0IsdUJBQXVCLENBQUMsT0FBTyxrQkFDaEM7d0JBQ2Q7NEJBQ0UsU0FBUyxFQUFFLHdCQUF3Qjs0QkFDbkMsTUFBTSxFQUFFLENBQUMsU0FBUyxFQUFFLFFBQVEsRUFBRSxNQUFNLENBQUM7eUJBQ3RDO3FCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRGlyZWN0aXZlLCBQaXBlLCBjb21wdXRlZCwgaW5qZWN0LCBpbnB1dCwgUGlwZVRyYW5zZm9ybSwgZWZmZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgTWF0TWVudU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL21lbnUnO1xuaW1wb3J0IHsgX2NvbXB1dGVkLCBBY3Rpb24sIEluamVjdGFibGVDb21wb25lbnQsIE5nQXRvbWljQ29tcG9uZW50LCBUb2tlbml6ZWRUeXBlIH0gZnJvbSAnQG5nLWF0b21pYy9jb3JlJztcblxuQFBpcGUoeyBzdGFuZGFsb25lOiB0cnVlLCBuYW1lOiAnc3RvcGUnIH0pXG5leHBvcnQgY2xhc3MgU3RvcFBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgdHJhbnNmb3JtKCRldmVudDogRXZlbnQpIHtcbiAgICAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgcmV0dXJuICRldmVudDtcbiAgfVxufVxuXG5AVG9rZW5pemVkVHlwZSgpXG5ARGlyZWN0aXZlKHsgc3RhbmRhbG9uZTogdHJ1ZSwgc2VsZWN0b3I6ICdhdG9tcy1zbWFydC1tZW51LWJ1dHRvbiwgYXRvbXMtbWVudS1idXR0b24nIH0pXG5leHBvcnQgY2xhc3MgU21hcnRNZW51QnV0dG9uQXRvbVN0b3JlIGV4dGVuZHMgSW5qZWN0YWJsZUNvbXBvbmVudCB7XG4gIHJlYWRvbmx5IGFjdGlvbnMgPSBpbnB1dDxBY3Rpb25bXT4oW10pO1xuICByZWFkb25seSB0eXBlID0gaW5wdXQ8J2J1dHRvbicgfCAnaWNvbi1idXR0b24nPignaWNvbi1idXR0b24nKTtcbiAgcmVhZG9ubHkgYWN0aW9uID0gaW5wdXQoX2NvbXB1dGVkKCgpID0+IHtcbiAgICBpZiAodGhpcy5hY3Rpb25zKCkubGVuZ3RoID09PSAxKSB7XG4gICAgICByZXR1cm4gdGhpcy5hY3Rpb25zKClbMF07XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGlkOiAnbWVudScsXG4gICAgICAgIG5hbWU6ICfjg6Hjg4vjg6Xjg7zjgpLplovjgY8nLFxuICAgICAgICBpY29uOiAnbW9yZV92ZXJ0JyxcbiAgICAgICAgY2hpbGRyZW46IHRoaXMuYWN0aW9ucygpLFxuICAgICAgfVxuICAgIH1cbiAgfSkpO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhdG9tcy1zbWFydC1tZW51LWJ1dHRvbiwgYXRvbXMtbWVudS1idXR0b24nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgIE1hdEljb25Nb2R1bGUsXG4gICAgTWF0TWVudU1vZHVsZVxuICBdLFxuICB0ZW1wbGF0ZTogYFxuICBAaWYgKHN0b3JlLmFjdGlvbigpPy5jaGlsZHJlbj8ubGVuZ3RoKSB7XG4gICAgPGJ1dHRvblxuICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICBbY29sb3JdPVwic3RvcmUuYWN0aW9uKCk/LmNvbG9yXCJcbiAgICAgIFtkaXNhYmxlZF09XCJzdG9yZS5hY3Rpb24oKS5kaXNhYmxlZFwiXG4gICAgICBbbWF0TWVudVRyaWdnZXJGb3JdPVwibWVudVwiXG4gICAgICAoY2xpY2spPVwiZGlzcGF0Y2goc3RvcmUuYWN0aW9uKCkpOyAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XCJcbiAgICA+XG4gICAgICA8bWF0LWljb24+e3sgc3RvcmUuYWN0aW9uKCk/Lmljb24gfX08L21hdC1pY29uPlxuICAgIDwvYnV0dG9uPlxuICAgIDxtYXQtbWVudSAjbWVudT1cIm1hdE1lbnVcIj5cbiAgICAgIEBmb3IgKGFjdGlvbiBvZiBzdG9yZS5hY3Rpb24oKS5jaGlsZHJlbjsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICBtYXQtbWVudS1pdGVtXG4gICAgICAgICAgW2Rpc2FibGVkXT1cImFjdGlvbi5kaXNhYmxlZFwiXG4gICAgICAgICAgKGNsaWNrKT1cImRpc3BhdGNoKGFjdGlvbilcIlxuICAgICAgICA+e3sgYWN0aW9uLm5hbWUgfX08L2J1dHRvbj5cbiAgICAgIH1cbiAgICA8L21hdC1tZW51PlxuICB9IEBlbHNlIHtcbiAgICA8YnV0dG9uXG4gICAgICBtYXQtaWNvbi1idXR0b25cbiAgICAgIFtjb2xvcl09XCJzdG9yZS5hY3Rpb24oKT8uY29sb3JcIlxuICAgICAgW2Rpc2FibGVkXT1cInN0b3JlLmFjdGlvbigpLmRpc2FibGVkXCJcbiAgICAgIChjbGljayk9XCJkaXNwYXRjaChzdG9yZS5hY3Rpb24oKSk7ICRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcIlxuICAgID5cbiAgICAgIDxtYXQtaWNvbj57eyBzdG9yZS5hY3Rpb24oKT8uaWNvbiB9fTwvbWF0LWljb24+XG4gICAgPC9idXR0b24+XG4gIH1cbiAgYCxcbiAgc3R5bGVVcmxzOiBbJy4vc21hcnQtbWVudS1idXR0b24uYXRvbS5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuRGVmYXVsdCxcbiAgaG9zdERpcmVjdGl2ZXM6IFtcbiAgICB7XG4gICAgICBkaXJlY3RpdmU6IFNtYXJ0TWVudUJ1dHRvbkF0b21TdG9yZSxcbiAgICAgIGlucHV0czogWydhY3Rpb25zJywgJ2FjdGlvbicsICd0eXBlJ10sXG4gICAgfVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIFNtYXJ0TWVudUJ1dHRvbkF0b20gZXh0ZW5kcyBOZ0F0b21pY0NvbXBvbmVudCB7XG4gIHByb3RlY3RlZCBzdG9yZSA9IGluamVjdChTbWFydE1lbnVCdXR0b25BdG9tU3RvcmUpO1xufVxuIl19
139
+ export { MenuButtonAtomStore as SmartMenuButtonAtomStore, MenuButtonAtom as SmartMenuButtonAtom };
140
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtbWVudS1idXR0b24uYXRvbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BuZy1hdG9taWMvY29tcG9uZW50cy9zcmMvbGliL2F0b21zL3NtYXJ0LW1lbnUtYnV0dG9uL3NtYXJ0LW1lbnUtYnV0dG9uLmF0b20udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUNsSCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsU0FBUyxFQUFVLG1CQUFtQixFQUFFLGlCQUFpQixFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7OztBQUczRyxNQUFNLE9BQU8sUUFBUTtJQUNuQixTQUFTLENBQUMsTUFBYTtRQUNyQixNQUFNLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDekIsTUFBTSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3hCLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7OEdBTFUsUUFBUTs0R0FBUixRQUFROzsyRkFBUixRQUFRO2tCQURwQixJQUFJO21CQUFDLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFOztBQVdsQyxJQUFNLG1CQUFtQixHQUF6QixNQUFNLG1CQUFvQixTQUFRLG1CQUFtQjtJQUFyRDs7UUFDSSxZQUFPLEdBQUcsS0FBSyxDQUFXLEVBQUUsQ0FBQyxDQUFDO1FBQzlCLFNBQUksR0FBRyxLQUFLLENBQTJCLGFBQWEsQ0FBQyxDQUFDO1FBQ3RELFdBQU0sR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNyQyxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQ2pDLE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzNCLENBQUM7aUJBQU0sQ0FBQztnQkFDTixPQUFPO29CQUNMLEVBQUUsRUFBRSxXQUFXO29CQUNmLElBQUksRUFBRSxTQUFTO29CQUNmLElBQUksRUFBRSxXQUFXO29CQUNqQixRQUFRLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRTtpQkFDekIsQ0FBQTtZQUNILENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQyxDQUFDO0tBQ0w7OEdBZlksbUJBQW1CO2tHQUFuQixtQkFBbUI7O0FBQW5CLG1CQUFtQjtJQUYvQixhQUFhLEVBQUU7R0FFSCxtQkFBbUIsQ0FlL0I7OzJGQWZZLG1CQUFtQjtrQkFEL0IsU0FBUzttQkFBQyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLDRDQUE0QyxFQUFFOztBQXNFdkYsTUFBTSxPQUFPLGNBQWUsU0FBUSxpQkFBaUI7SUFwRHJEOztRQXFEWSxVQUFLLEdBQUcsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUM7S0FDL0M7OEdBRlksY0FBYztrR0FBZCxjQUFjLG1JQXJFZCxtQkFBbUIsaUdBeUJwQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBOEJULHNIQWxDQyxlQUFlLDJJQUNmLGFBQWEsbUxBQ2IsYUFBYTs7MkZBOENKLGNBQWM7a0JBcEQxQixTQUFTOytCQUNFLDRDQUE0QyxjQUMxQyxJQUFJLFdBQ1A7d0JBQ1AsZUFBZTt3QkFDZixhQUFhO3dCQUNiLGFBQWE7cUJBQ2QsWUFDUzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBOEJULG1CQUVnQix1QkFBdUIsQ0FBQyxPQUFPLGtCQUNoQzt3QkFDZDs0QkFDRSxTQUFTLEVBQUUsbUJBQW1COzRCQUM5QixNQUFNLEVBQUU7Z0NBQ04sU0FBUztnQ0FDVCxRQUFRO2dDQUNSLE1BQU07NkJBQ1A7eUJBQ0Y7cUJBQ0Y7O0FBTUgsT0FBTyxFQUNMLG1CQUFtQixJQUFJLHdCQUF3QixFQUMvQyxjQUFjLElBQUksbUJBQW1CLEVBQ3RDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBEaXJlY3RpdmUsIFBpcGUsIGluamVjdCwgaW5wdXQsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBNYXRNZW51TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbWVudSc7XG5pbXBvcnQgeyBfY29tcHV0ZWQsIEFjdGlvbiwgSW5qZWN0YWJsZUNvbXBvbmVudCwgTmdBdG9taWNDb21wb25lbnQsIFRva2VuaXplZFR5cGUgfSBmcm9tICdAbmctYXRvbWljL2NvcmUnO1xuXG5AUGlwZSh7IHN0YW5kYWxvbmU6IHRydWUsIG5hbWU6ICdzdG9wZScgfSlcbmV4cG9ydCBjbGFzcyBTdG9wUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICB0cmFuc2Zvcm0oJGV2ZW50OiBFdmVudCkge1xuICAgICRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAkZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICByZXR1cm4gJGV2ZW50O1xuICB9XG59XG5cbkBUb2tlbml6ZWRUeXBlKClcbkBEaXJlY3RpdmUoeyBzdGFuZGFsb25lOiB0cnVlLCBzZWxlY3RvcjogJ2F0b21zLXNtYXJ0LW1lbnUtYnV0dG9uLCBhdG9tcy1tZW51LWJ1dHRvbicgfSlcbmV4cG9ydCBjbGFzcyBNZW51QnV0dG9uQXRvbVN0b3JlIGV4dGVuZHMgSW5qZWN0YWJsZUNvbXBvbmVudCB7XG4gIHJlYWRvbmx5IGFjdGlvbnMgPSBpbnB1dDxBY3Rpb25bXT4oW10pO1xuICByZWFkb25seSB0eXBlID0gaW5wdXQ8J2J1dHRvbicgfCAnaWNvbi1idXR0b24nPignaWNvbi1idXR0b24nKTtcbiAgcmVhZG9ubHkgYWN0aW9uID0gaW5wdXQoX2NvbXB1dGVkKCgpID0+IHtcbiAgICBpZiAodGhpcy5hY3Rpb25zKCk/Lmxlbmd0aCA9PT0gMSkge1xuICAgICAgcmV0dXJuIHRoaXMuYWN0aW9ucygpWzBdO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBpZDogJ21vcmVfdmVydCcsXG4gICAgICAgIG5hbWU6ICfjg6Hjg4vjg6Xjg7zjgpLplovjgY8nLFxuICAgICAgICBpY29uOiAnbW9yZV92ZXJ0JyxcbiAgICAgICAgY2hpbGRyZW46IHRoaXMuYWN0aW9ucygpLFxuICAgICAgfVxuICAgIH1cbiAgfSkpO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhdG9tcy1zbWFydC1tZW51LWJ1dHRvbiwgYXRvbXMtbWVudS1idXR0b24nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgIE1hdEljb25Nb2R1bGUsXG4gICAgTWF0TWVudU1vZHVsZSxcbiAgXSxcbiAgdGVtcGxhdGU6IGBcbiAgQGlmIChzdG9yZS5hY3Rpb24oKT8uY2hpbGRyZW4/Lmxlbmd0aCkge1xuICAgIDxidXR0b25cbiAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgW2NvbG9yXT1cInN0b3JlLmFjdGlvbigpPy5jb2xvclwiXG4gICAgICBbZGlzYWJsZWRdPVwic3RvcmUuYWN0aW9uKCkuZGlzYWJsZWRcIlxuICAgICAgW21hdE1lbnVUcmlnZ2VyRm9yXT1cIm1lbnVcIlxuICAgICAgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcIlxuICAgID5cbiAgICAgIDxtYXQtaWNvbj57eyBzdG9yZS5hY3Rpb24oKT8uaWNvbiB9fTwvbWF0LWljb24+XG4gICAgPC9idXR0b24+XG4gICAgPG1hdC1tZW51ICNtZW51PVwibWF0TWVudVwiPlxuICAgICAgQGZvciAoYWN0aW9uIG9mIHN0b3JlLmFjdGlvbigpPy5jaGlsZHJlbjsgdHJhY2sgYWN0aW9uKSB7XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICBtYXQtbWVudS1pdGVtXG4gICAgICAgICAgW2Rpc2FibGVkXT1cImFjdGlvbi5kaXNhYmxlZFwiXG4gICAgICAgICAgKGNsaWNrKT1cImRpc3BhdGNoKGFjdGlvbilcIlxuICAgICAgICA+e3sgYWN0aW9uLm5hbWUgfX08L2J1dHRvbj5cbiAgICAgIH1cbiAgICA8L21hdC1tZW51PlxuICB9IEBlbHNlIHtcbiAgICA8YnV0dG9uXG4gICAgICBtYXQtaWNvbi1idXR0b25cbiAgICAgIFtjb2xvcl09XCJzdG9yZS5hY3Rpb24oKT8uY29sb3JcIlxuICAgICAgW2Rpc2FibGVkXT1cInN0b3JlLmFjdGlvbigpLmRpc2FibGVkXCJcbiAgICAgIChjbGljayk9XCJkaXNwYXRjaChzdG9yZS5hY3Rpb24oKSk7ICRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcIlxuICAgID5cbiAgICAgIDxtYXQtaWNvbj57eyBzdG9yZS5hY3Rpb24oKT8uaWNvbiB9fTwvbWF0LWljb24+XG4gICAgPC9idXR0b24+XG4gIH1cbiAgYCxcbiAgc3R5bGVVcmxzOiBbJy4vc21hcnQtbWVudS1idXR0b24uYXRvbS5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuRGVmYXVsdCxcbiAgaG9zdERpcmVjdGl2ZXM6IFtcbiAgICB7XG4gICAgICBkaXJlY3RpdmU6IE1lbnVCdXR0b25BdG9tU3RvcmUsXG4gICAgICBpbnB1dHM6IFtcbiAgICAgICAgJ2FjdGlvbnMnLFxuICAgICAgICAnYWN0aW9uJyxcbiAgICAgICAgJ3R5cGUnXG4gICAgICBdLFxuICAgIH1cbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBNZW51QnV0dG9uQXRvbSBleHRlbmRzIE5nQXRvbWljQ29tcG9uZW50IHtcbiAgcHJvdGVjdGVkIHN0b3JlID0gaW5qZWN0KE1lbnVCdXR0b25BdG9tU3RvcmUpO1xufVxuXG5leHBvcnQge1xuICBNZW51QnV0dG9uQXRvbVN0b3JlIGFzIFNtYXJ0TWVudUJ1dHRvbkF0b21TdG9yZSxcbiAgTWVudUJ1dHRvbkF0b20gYXMgU21hcnRNZW51QnV0dG9uQXRvbVxufVxuIl19
@@ -1,49 +1,24 @@
1
- import { NgModule, importProvidersFrom } from "@angular/core";
2
- import { NgAtomicAtomsModule } from "@ng-atomic/components/atoms";
3
- import { NgAtomicMoleculesModule } from "@ng-atomic/components/molecules";
4
- import { NgAtomicOrganismsModule } from "@ng-atomic/components/organisms";
5
- import { NgAtomicTemplatesModule } from "@ng-atomic/components/templates";
6
- import { NgAtomicFramesModule } from "@ng-atomic/components/frames";
7
- import { NgAtomicPagesModule } from "@ng-atomic/components/pages";
1
+ import { importProvidersFrom } from "@angular/core";
2
+ import { provideAtoms } from "@ng-atomic/components/atoms";
3
+ import { provideMolecules } from "@ng-atomic/components/molecules";
4
+ import { provideOrganisms } from "@ng-atomic/components/organisms";
5
+ import { provideTemplates } from "@ng-atomic/components/templates";
6
+ import { provideFrames } from "@ng-atomic/components/frames";
7
+ import { providePages } from "@ng-atomic/components/pages";
8
8
  import { MatDialogModule } from '@angular/material/dialog';
9
9
  import { MatSnackBarModule } from '@angular/material/snack-bar';
10
10
  import { provideRootProperty, RootPropertyService } from '@ng-atomic/common/services/root-property';
11
- import * as i0 from "@angular/core";
12
- /**
13
- * @deprecated use `provideNgAtomicComponents()` instead
14
- */
15
- export class NgAtomicComponentsModule {
16
- static forRoot() {
17
- return {
18
- ngModule: NgAtomicComponentsModule,
19
- providers: [
20
- RootPropertyService.Config.provide(),
21
- provideRootProperty(),
22
- importProvidersFrom(NgAtomicAtomsModule.forRoot()),
23
- importProvidersFrom(NgAtomicMoleculesModule.forRoot()),
24
- importProvidersFrom(NgAtomicOrganismsModule.forRoot()),
25
- importProvidersFrom(NgAtomicTemplatesModule.forRoot()),
26
- importProvidersFrom(NgAtomicPagesModule.forRoot()),
27
- importProvidersFrom(NgAtomicFramesModule.forRoot()),
28
- ],
29
- };
30
- }
31
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: NgAtomicComponentsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
32
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.1.2", ngImport: i0, type: NgAtomicComponentsModule, imports: [MatDialogModule,
33
- MatSnackBarModule] }); }
34
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: NgAtomicComponentsModule, imports: [MatDialogModule,
35
- MatSnackBarModule] }); }
36
- }
37
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: NgAtomicComponentsModule, decorators: [{
38
- type: NgModule,
39
- args: [{
40
- imports: [
41
- MatDialogModule,
42
- MatSnackBarModule,
43
- ]
44
- }]
45
- }] });
46
11
  export function provideNgAtomicComponents() {
47
- return importProvidersFrom(NgAtomicComponentsModule.forRoot());
12
+ return [
13
+ importProvidersFrom(MatDialogModule, MatSnackBarModule),
14
+ RootPropertyService.Config.provide(),
15
+ provideRootProperty(),
16
+ provideAtoms(),
17
+ provideMolecules(),
18
+ provideOrganisms(),
19
+ provideTemplates(),
20
+ providePages(),
21
+ provideFrames(),
22
+ ];
48
23
  }
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50cy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AbmctYXRvbWljL2NvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXdCLFFBQVEsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDaEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLG1CQUFtQixFQUFFLE1BQU0sMENBQTBDLENBQUM7O0FBR3BHOztHQUVHO0FBT0gsTUFBTSxPQUFPLHdCQUF3QjtJQUNuQyxNQUFNLENBQUMsT0FBTztRQUNaLE9BQU87WUFDTCxRQUFRLEVBQUUsd0JBQXdCO1lBQ2xDLFNBQVMsRUFBRTtnQkFDVCxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFO2dCQUNwQyxtQkFBbUIsRUFBRTtnQkFDckIsbUJBQW1CLENBQUMsbUJBQW1CLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQ2xELG1CQUFtQixDQUFDLHVCQUF1QixDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUN0RCxtQkFBbUIsQ0FBQyx1QkFBdUIsQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDdEQsbUJBQW1CLENBQUMsdUJBQXVCLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQ3RELG1CQUFtQixDQUFDLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUNsRCxtQkFBbUIsQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLEVBQUUsQ0FBQzthQUNwRDtTQUNGLENBQUE7SUFDSCxDQUFDOzhHQWZVLHdCQUF3QjsrR0FBeEIsd0JBQXdCLFlBSmpDLGVBQWU7WUFDZixpQkFBaUI7K0dBR1Isd0JBQXdCLFlBSmpDLGVBQWU7WUFDZixpQkFBaUI7OzJGQUdSLHdCQUF3QjtrQkFOcEMsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsZUFBZTt3QkFDZixpQkFBaUI7cUJBQ2xCO2lCQUNGOztBQW1CRCxNQUFNLFVBQVUseUJBQXlCO0lBQ3ZDLE9BQU8sbUJBQW1CLENBQUMsd0JBQXdCLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztBQUNqRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRW52aXJvbm1lbnRQcm92aWRlcnMsIE5nTW9kdWxlLCBpbXBvcnRQcm92aWRlcnNGcm9tIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IE5nQXRvbWljQXRvbXNNb2R1bGUgfSBmcm9tIFwiQG5nLWF0b21pYy9jb21wb25lbnRzL2F0b21zXCI7XG5pbXBvcnQgeyBOZ0F0b21pY01vbGVjdWxlc01vZHVsZSB9IGZyb20gXCJAbmctYXRvbWljL2NvbXBvbmVudHMvbW9sZWN1bGVzXCI7XG5pbXBvcnQgeyBOZ0F0b21pY09yZ2FuaXNtc01vZHVsZSB9IGZyb20gXCJAbmctYXRvbWljL2NvbXBvbmVudHMvb3JnYW5pc21zXCI7XG5pbXBvcnQgeyBOZ0F0b21pY1RlbXBsYXRlc01vZHVsZSB9IGZyb20gXCJAbmctYXRvbWljL2NvbXBvbmVudHMvdGVtcGxhdGVzXCI7XG5pbXBvcnQgeyBOZ0F0b21pY0ZyYW1lc01vZHVsZSB9IGZyb20gXCJAbmctYXRvbWljL2NvbXBvbmVudHMvZnJhbWVzXCI7XG5pbXBvcnQgeyBOZ0F0b21pY1BhZ2VzTW9kdWxlIH0gZnJvbSBcIkBuZy1hdG9taWMvY29tcG9uZW50cy9wYWdlc1wiO1xuaW1wb3J0IHsgTWF0RGlhbG9nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IE1hdFNuYWNrQmFyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc25hY2stYmFyJztcbmltcG9ydCB7IHByb3ZpZGVSb290UHJvcGVydHksIFJvb3RQcm9wZXJ0eVNlcnZpY2UgfSBmcm9tICdAbmctYXRvbWljL2NvbW1vbi9zZXJ2aWNlcy9yb290LXByb3BlcnR5JztcblxuXG4vKipcbiAqIEBkZXByZWNhdGVkIHVzZSBgcHJvdmlkZU5nQXRvbWljQ29tcG9uZW50cygpYCBpbnN0ZWFkXG4gKi9cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBNYXREaWFsb2dNb2R1bGUsXG4gICAgTWF0U25hY2tCYXJNb2R1bGUsXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgTmdBdG9taWNDb21wb25lbnRzTW9kdWxlIHtcbiAgc3RhdGljIGZvclJvb3QoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBOZ0F0b21pY0NvbXBvbmVudHNNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgUm9vdFByb3BlcnR5U2VydmljZS5Db25maWcucHJvdmlkZSgpLFxuICAgICAgICBwcm92aWRlUm9vdFByb3BlcnR5KCksXG4gICAgICAgIGltcG9ydFByb3ZpZGVyc0Zyb20oTmdBdG9taWNBdG9tc01vZHVsZS5mb3JSb290KCkpLFxuICAgICAgICBpbXBvcnRQcm92aWRlcnNGcm9tKE5nQXRvbWljTW9sZWN1bGVzTW9kdWxlLmZvclJvb3QoKSksXG4gICAgICAgIGltcG9ydFByb3ZpZGVyc0Zyb20oTmdBdG9taWNPcmdhbmlzbXNNb2R1bGUuZm9yUm9vdCgpKSxcbiAgICAgICAgaW1wb3J0UHJvdmlkZXJzRnJvbShOZ0F0b21pY1RlbXBsYXRlc01vZHVsZS5mb3JSb290KCkpLFxuICAgICAgICBpbXBvcnRQcm92aWRlcnNGcm9tKE5nQXRvbWljUGFnZXNNb2R1bGUuZm9yUm9vdCgpKSxcbiAgICAgICAgaW1wb3J0UHJvdmlkZXJzRnJvbShOZ0F0b21pY0ZyYW1lc01vZHVsZS5mb3JSb290KCkpLFxuICAgICAgXSxcbiAgICB9XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVOZ0F0b21pY0NvbXBvbmVudHMoKTogRW52aXJvbm1lbnRQcm92aWRlcnMge1xuICByZXR1cm4gaW1wb3J0UHJvdmlkZXJzRnJvbShOZ0F0b21pY0NvbXBvbmVudHNNb2R1bGUuZm9yUm9vdCgpKTtcbn1cbiJdfQ==
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50cy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AbmctYXRvbWljL2NvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXdCLG1CQUFtQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNuRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNuRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNuRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDN0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzNELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUVwRyxNQUFNLFVBQVUseUJBQXlCO0lBQ3ZDLE9BQU87UUFDTCxtQkFBbUIsQ0FDakIsZUFBZSxFQUNmLGlCQUFpQixDQUNsQjtRQUNELG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUU7UUFDcEMsbUJBQW1CLEVBQUU7UUFDckIsWUFBWSxFQUFFO1FBQ2QsZ0JBQWdCLEVBQUU7UUFDbEIsZ0JBQWdCLEVBQUU7UUFDbEIsZ0JBQWdCLEVBQUU7UUFDbEIsWUFBWSxFQUFFO1FBQ2QsYUFBYSxFQUFFO0tBQ2lCLENBQUM7QUFDckMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVudmlyb25tZW50UHJvdmlkZXJzLCBpbXBvcnRQcm92aWRlcnNGcm9tIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IHByb3ZpZGVBdG9tcyB9IGZyb20gXCJAbmctYXRvbWljL2NvbXBvbmVudHMvYXRvbXNcIjtcbmltcG9ydCB7IHByb3ZpZGVNb2xlY3VsZXMgfSBmcm9tIFwiQG5nLWF0b21pYy9jb21wb25lbnRzL21vbGVjdWxlc1wiO1xuaW1wb3J0IHsgcHJvdmlkZU9yZ2FuaXNtcyB9IGZyb20gXCJAbmctYXRvbWljL2NvbXBvbmVudHMvb3JnYW5pc21zXCI7XG5pbXBvcnQgeyBwcm92aWRlVGVtcGxhdGVzIH0gZnJvbSBcIkBuZy1hdG9taWMvY29tcG9uZW50cy90ZW1wbGF0ZXNcIjtcbmltcG9ydCB7IHByb3ZpZGVGcmFtZXMgfSBmcm9tIFwiQG5nLWF0b21pYy9jb21wb25lbnRzL2ZyYW1lc1wiO1xuaW1wb3J0IHsgcHJvdmlkZVBhZ2VzIH0gZnJvbSBcIkBuZy1hdG9taWMvY29tcG9uZW50cy9wYWdlc1wiO1xuaW1wb3J0IHsgTWF0RGlhbG9nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IE1hdFNuYWNrQmFyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc25hY2stYmFyJztcbmltcG9ydCB7IHByb3ZpZGVSb290UHJvcGVydHksIFJvb3RQcm9wZXJ0eVNlcnZpY2UgfSBmcm9tICdAbmctYXRvbWljL2NvbW1vbi9zZXJ2aWNlcy9yb290LXByb3BlcnR5JztcblxuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVOZ0F0b21pY0NvbXBvbmVudHMoKTogRW52aXJvbm1lbnRQcm92aWRlcnMge1xuICByZXR1cm4gW1xuICAgIGltcG9ydFByb3ZpZGVyc0Zyb20oXG4gICAgICBNYXREaWFsb2dNb2R1bGUsXG4gICAgICBNYXRTbmFja0Jhck1vZHVsZSxcbiAgICApLFxuICAgIFJvb3RQcm9wZXJ0eVNlcnZpY2UuQ29uZmlnLnByb3ZpZGUoKSxcbiAgICBwcm92aWRlUm9vdFByb3BlcnR5KCksXG4gICAgcHJvdmlkZUF0b21zKCksXG4gICAgcHJvdmlkZU1vbGVjdWxlcygpLFxuICAgIHByb3ZpZGVPcmdhbmlzbXMoKSxcbiAgICBwcm92aWRlVGVtcGxhdGVzKCksXG4gICAgcHJvdmlkZVBhZ2VzKCksXG4gICAgcHJvdmlkZUZyYW1lcygpLFxuICBdIGFzIG5ldmVyIGFzIEVudmlyb25tZW50UHJvdmlkZXJzO1xufVxuIl19
@@ -22,6 +22,7 @@ var ActionId;
22
22
  (function (ActionId) {
23
23
  ActionId["SIGN_IN_WITH_GOOGLE"] = "[@ng-atomic/components:frames/app] Sign In With Google";
24
24
  ActionId["SIGN_IN_WITH_TWITTER"] = "[@ng-atomic/components:frames/app] Sign In With Twitter";
25
+ ActionId["SIGN_IN_WITH_MICROSOFT"] = "[@ng-atomic/components:frames/app] Sign In With Microsoft";
25
26
  ActionId["SIGN_IN_WITH_EMAIL"] = "[@ng-atomic/components:frames/app] Sign In With Email";
26
27
  ActionId["SIGN_UP_WITH_EMAIL"] = "[@ng-atomic/components:frames/app] Sign Up With Email";
27
28
  ActionId["NAVIGATE"] = "[@ng-atomic/components:frames/app] Navigate";
@@ -129,6 +130,7 @@ export class AppFrameStore extends InjectableComponent {
129
130
  else {
130
131
  app.sideApp.collapse();
131
132
  const { commands, extras } = payload;
133
+ console.debug('commands', commands, extras);
132
134
  app.router.navigate(commands, extras ?? {}).then(() => app.sideNav.collapse());
133
135
  }
134
136
  };
@@ -362,7 +364,7 @@ export class AppFrame extends NgAtomicComponent {
362
364
  </frames-fab>
363
365
  </frames-progress-bar>
364
366
  </frames-loading>
365
- `, isInline: true, styles: [":host{--primary-color-SCOPED-IN-frames-app-LMSh: var(--primary-color);--on-primary-color-SCOPED-IN-frames-app-LMSh: var(--on-primary-color);--surface-color-SCOPED-IN-frames-app-LMSh: var(--surface-color);--on-surface-color-SCOPED-IN-frames-app-LMSh: var(--on-surface-color);--background-color-SCOPED-IN-frames-app-LMSh: var(--background-color);--on-background-color-SCOPED-IN-frames-app-LMSh: var(--on-background-color);--menu-width-SCOPED-IN-frames-app-LMSh: var(--menu-width);--menu-background-color-SCOPED-IN-frames-app-LMSh: var(--menu-background-color);--menu-on-background-color-SCOPED-IN-frames-app-LMSh: var(--menu-on-background-color);--background-primary-color-SCOPED-IN-frames-app-LMSh: var(--background-primary-color);--background-on-primary-color-SCOPED-IN-frames-app-LMSh: var(--background-on-primary-color);--background-background-color-SCOPED-IN-frames-app-LMSh: var(--background-background-color);--loading-primary-color-SCOPED-IN-frames-app-LMSh: var(--loading-primary-color);--page-width-lv1-SCOPED-IN-frames-app-LMSh: var(--page-width-lv1);--menu-padding-top: 56px;--menu-padding-top-SCOPED-IN-frames-app-LMSh: var(--menu-padding-top);--loading-z-index: 1000;--loading-z-index-SCOPED-IN-frames-app-LMSh: var(--loading-z-index)}:host{display:block;width:100%;height:100%;position:fixed;color:var(--primary-color-SCOPED-IN-frames-app-LMSh);touch-action:none}:host *{--primary-color: var(--primary-color-SCOPED-IN-frames-app-LMSh);--on-primary-color: var(--on-primary-color-SCOPED-IN-frames-app-LMSh);--surface-color: var(--surface-color-SCOPED-IN-frames-app-LMSh);--on-surface-color: var(--on-surface-color-SCOPED-IN-frames-app-LMSh);--background-color: var(--background-color-SCOPED-IN-frames-app-LMSh);--on-background-color: var(--on-background-color-SCOPED-IN-frames-app-LMSh);--menu-background-color: var(--menu-background-color-SCOPED-IN-frames-app-LMSh);--menu-on-background-color: var(--menu-on-background-color-SCOPED-IN-frames-app-LMSh)}:host frames-side-nav{color:#000;--menu-width: var(--menu-width-SCOPED-IN-frames-app-LMSh)}:host frames-loading{--primary-color: var(--loading-primary-color-SCOPED-IN-frames-app-LMSh)}:host templates-background{--primary-color: var(--background-primary-color-SCOPED-IN-frames-app-LMSh);--on-primary-color: var(--background-on-primary-color-SCOPED-IN-frames-app-LMSh);--background-color: var(--background-background-color-SCOPED-IN-frames-app-LMSh);position:absolute;top:0;left:0}:host frames-side-nav .side-app{position:relative;width:var(--page-width-lv1-SCOPED-IN-frames-app-LMSh);height:100%}\n"], dependencies: [{ kind: "component", type: FabFrame, selector: "frames-fab" }, { kind: "component", type: LoadingFrame, selector: "frames-loading" }, { kind: "component", type: SideNavFrame, selector: "frames-side-nav" }, { kind: "directive", type: RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "component", type: EntranceFrame, selector: "frames-entrance" }, { kind: "component", type:
367
+ `, isInline: true, styles: [":host{--primary-color-SCOPED-IN-frames-app-1rao: var(--primary-color);--on-primary-color-SCOPED-IN-frames-app-1rao: var(--on-primary-color);--surface-color-SCOPED-IN-frames-app-1rao: var(--surface-color);--on-surface-color-SCOPED-IN-frames-app-1rao: var(--on-surface-color);--background-color-SCOPED-IN-frames-app-1rao: var(--background-color);--on-background-color-SCOPED-IN-frames-app-1rao: var(--on-background-color);--menu-width-SCOPED-IN-frames-app-1rao: var(--menu-width);--menu-background-color-SCOPED-IN-frames-app-1rao: var(--menu-background-color);--menu-on-background-color-SCOPED-IN-frames-app-1rao: var(--menu-on-background-color);--background-primary-color-SCOPED-IN-frames-app-1rao: var(--background-primary-color);--background-on-primary-color-SCOPED-IN-frames-app-1rao: var(--background-on-primary-color);--background-background-color-SCOPED-IN-frames-app-1rao: var(--background-background-color);--loading-primary-color-SCOPED-IN-frames-app-1rao: var(--loading-primary-color);--page-width-lv1-SCOPED-IN-frames-app-1rao: var(--page-width-lv1);--menu-padding-top: 56px;--menu-padding-top-SCOPED-IN-frames-app-1rao: var(--menu-padding-top);--loading-z-index: 1000;--loading-z-index-SCOPED-IN-frames-app-1rao: var(--loading-z-index)}:host{display:block;width:100%;height:100%;position:fixed;color:var(--primary-color-SCOPED-IN-frames-app-1rao);touch-action:none}:host *{--primary-color: var(--primary-color-SCOPED-IN-frames-app-1rao);--on-primary-color: var(--on-primary-color-SCOPED-IN-frames-app-1rao);--surface-color: var(--surface-color-SCOPED-IN-frames-app-1rao);--on-surface-color: var(--on-surface-color-SCOPED-IN-frames-app-1rao);--background-color: var(--background-color-SCOPED-IN-frames-app-1rao);--on-background-color: var(--on-background-color-SCOPED-IN-frames-app-1rao);--menu-background-color: var(--menu-background-color-SCOPED-IN-frames-app-1rao);--menu-on-background-color: var(--menu-on-background-color-SCOPED-IN-frames-app-1rao)}:host frames-side-nav{color:#000;--menu-width: var(--menu-width-SCOPED-IN-frames-app-1rao)}:host frames-loading{--primary-color: var(--loading-primary-color-SCOPED-IN-frames-app-1rao)}:host templates-background{--primary-color: var(--background-primary-color-SCOPED-IN-frames-app-1rao);--on-primary-color: var(--background-on-primary-color-SCOPED-IN-frames-app-1rao);--background-color: var(--background-background-color-SCOPED-IN-frames-app-1rao);position:absolute;top:0;left:0}:host frames-side-nav .side-app{position:relative;width:var(--page-width-lv1-SCOPED-IN-frames-app-1rao);height:100%}\n"], dependencies: [{ kind: "component", type: FabFrame, selector: "frames-fab" }, { kind: "component", type: LoadingFrame, selector: "frames-loading" }, { kind: "component", type: SideNavFrame, selector: "frames-side-nav" }, { kind: "directive", type: RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "component", type: EntranceFrame, selector: "frames-entrance" }, { kind: "component", type:
366
368
  // DrawerFrameStore,
367
369
  DrawerFrame, selector: "frames-drawer" }, { kind: "component", type: ProgressBarFrame, selector: "frames-progress-bar" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, deferBlockDependencies: [() => [import("@ng-atomic/components/templates/background").then(m => m.BackgroundTemplateStore)]] }); }
368
370
  }
@@ -425,6 +427,6 @@ i0.ɵɵngDeclareClassMetadataAsync({ minVersion: "18.0.0", version: "18.1.2", ng
425
427
  </frames-loading>
426
428
  `, changeDetection: ChangeDetectionStrategy.OnPush, hostDirectives: [
427
429
  AppFrameStore,
428
- ], styles: [":host{--primary-color-SCOPED-IN-frames-app-LMSh: var(--primary-color);--on-primary-color-SCOPED-IN-frames-app-LMSh: var(--on-primary-color);--surface-color-SCOPED-IN-frames-app-LMSh: var(--surface-color);--on-surface-color-SCOPED-IN-frames-app-LMSh: var(--on-surface-color);--background-color-SCOPED-IN-frames-app-LMSh: var(--background-color);--on-background-color-SCOPED-IN-frames-app-LMSh: var(--on-background-color);--menu-width-SCOPED-IN-frames-app-LMSh: var(--menu-width);--menu-background-color-SCOPED-IN-frames-app-LMSh: var(--menu-background-color);--menu-on-background-color-SCOPED-IN-frames-app-LMSh: var(--menu-on-background-color);--background-primary-color-SCOPED-IN-frames-app-LMSh: var(--background-primary-color);--background-on-primary-color-SCOPED-IN-frames-app-LMSh: var(--background-on-primary-color);--background-background-color-SCOPED-IN-frames-app-LMSh: var(--background-background-color);--loading-primary-color-SCOPED-IN-frames-app-LMSh: var(--loading-primary-color);--page-width-lv1-SCOPED-IN-frames-app-LMSh: var(--page-width-lv1);--menu-padding-top: 56px;--menu-padding-top-SCOPED-IN-frames-app-LMSh: var(--menu-padding-top);--loading-z-index: 1000;--loading-z-index-SCOPED-IN-frames-app-LMSh: var(--loading-z-index)}:host{display:block;width:100%;height:100%;position:fixed;color:var(--primary-color-SCOPED-IN-frames-app-LMSh);touch-action:none}:host *{--primary-color: var(--primary-color-SCOPED-IN-frames-app-LMSh);--on-primary-color: var(--on-primary-color-SCOPED-IN-frames-app-LMSh);--surface-color: var(--surface-color-SCOPED-IN-frames-app-LMSh);--on-surface-color: var(--on-surface-color-SCOPED-IN-frames-app-LMSh);--background-color: var(--background-color-SCOPED-IN-frames-app-LMSh);--on-background-color: var(--on-background-color-SCOPED-IN-frames-app-LMSh);--menu-background-color: var(--menu-background-color-SCOPED-IN-frames-app-LMSh);--menu-on-background-color: var(--menu-on-background-color-SCOPED-IN-frames-app-LMSh)}:host frames-side-nav{color:#000;--menu-width: var(--menu-width-SCOPED-IN-frames-app-LMSh)}:host frames-loading{--primary-color: var(--loading-primary-color-SCOPED-IN-frames-app-LMSh)}:host templates-background{--primary-color: var(--background-primary-color-SCOPED-IN-frames-app-LMSh);--on-primary-color: var(--background-on-primary-color-SCOPED-IN-frames-app-LMSh);--background-color: var(--background-background-color-SCOPED-IN-frames-app-LMSh);position:absolute;top:0;left:0}:host frames-side-nav .side-app{position:relative;width:var(--page-width-lv1-SCOPED-IN-frames-app-LMSh);height:100%}\n"] }]
430
+ ], styles: [":host{--primary-color-SCOPED-IN-frames-app-1rao: var(--primary-color);--on-primary-color-SCOPED-IN-frames-app-1rao: var(--on-primary-color);--surface-color-SCOPED-IN-frames-app-1rao: var(--surface-color);--on-surface-color-SCOPED-IN-frames-app-1rao: var(--on-surface-color);--background-color-SCOPED-IN-frames-app-1rao: var(--background-color);--on-background-color-SCOPED-IN-frames-app-1rao: var(--on-background-color);--menu-width-SCOPED-IN-frames-app-1rao: var(--menu-width);--menu-background-color-SCOPED-IN-frames-app-1rao: var(--menu-background-color);--menu-on-background-color-SCOPED-IN-frames-app-1rao: var(--menu-on-background-color);--background-primary-color-SCOPED-IN-frames-app-1rao: var(--background-primary-color);--background-on-primary-color-SCOPED-IN-frames-app-1rao: var(--background-on-primary-color);--background-background-color-SCOPED-IN-frames-app-1rao: var(--background-background-color);--loading-primary-color-SCOPED-IN-frames-app-1rao: var(--loading-primary-color);--page-width-lv1-SCOPED-IN-frames-app-1rao: var(--page-width-lv1);--menu-padding-top: 56px;--menu-padding-top-SCOPED-IN-frames-app-1rao: var(--menu-padding-top);--loading-z-index: 1000;--loading-z-index-SCOPED-IN-frames-app-1rao: var(--loading-z-index)}:host{display:block;width:100%;height:100%;position:fixed;color:var(--primary-color-SCOPED-IN-frames-app-1rao);touch-action:none}:host *{--primary-color: var(--primary-color-SCOPED-IN-frames-app-1rao);--on-primary-color: var(--on-primary-color-SCOPED-IN-frames-app-1rao);--surface-color: var(--surface-color-SCOPED-IN-frames-app-1rao);--on-surface-color: var(--on-surface-color-SCOPED-IN-frames-app-1rao);--background-color: var(--background-color-SCOPED-IN-frames-app-1rao);--on-background-color: var(--on-background-color-SCOPED-IN-frames-app-1rao);--menu-background-color: var(--menu-background-color-SCOPED-IN-frames-app-1rao);--menu-on-background-color: var(--menu-on-background-color-SCOPED-IN-frames-app-1rao)}:host frames-side-nav{color:#000;--menu-width: var(--menu-width-SCOPED-IN-frames-app-1rao)}:host frames-loading{--primary-color: var(--loading-primary-color-SCOPED-IN-frames-app-1rao)}:host templates-background{--primary-color: var(--background-primary-color-SCOPED-IN-frames-app-1rao);--on-primary-color: var(--background-on-primary-color-SCOPED-IN-frames-app-1rao);--background-color: var(--background-background-color-SCOPED-IN-frames-app-1rao);position:absolute;top:0;left:0}:host frames-side-nav .side-app{position:relative;width:var(--page-width-lv1-SCOPED-IN-frames-app-1rao);height:100%}\n"] }]
429
431
  }], ctorParameters: null, propDecorators: null }) });
430
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmZyYW1lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQG5nLWF0b21pYy9jb21wb25lbnRzL3NyYy9saWIvZnJhbWVzL2FwcC9hcHAuZnJhbWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekcsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLGNBQWMsRUFBb0IsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDakYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxZQUFZLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUN4RixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDdEUsT0FBTyxFQUFtQixtQkFBbUIsRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNoSixPQUFPLEVBQW1CLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlELE9BQU8sRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFhLE1BQU0sK0JBQStCLENBQUM7QUFDbkYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFdEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUM1RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDNUQsT0FB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QWE7eUJBQ2QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBQTEFURk9STV9JRCwgY29tcHV0ZWQsIGVmZmVjdCwgaW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERpcmVjdGl2ZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgTmF2aWdhdGlvbkV4dHJhcywgUm91dGVyT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IExvYWRpbmdGcmFtZSB9IGZyb20gJ0BuZy1hdG9taWMvY29tcG9uZW50cy9mcmFtZXMvbG9hZGluZyc7XG5pbXBvcnQgeyBTaWRlTmF2RnJhbWUsIFNpZGVOYXZGcmFtZVN0b3JlIH0gZnJvbSAnQG5nLWF0b21pYy9jb21wb25lbnRzL2ZyYW1lcy9zaWRlLW5hdic7XG5pbXBvcnQgeyBFbnRyYW5jZUZyYW1lIH0gZnJvbSAnQG5nLWF0b21pYy9jb21wb25lbnRzL2ZyYW1lcy9lbnRyYW5jZSc7XG5pbXBvcnQgeyBBY3Rpb24sIEFjdGlvbnMsIEluamVjdGFibGVDb21wb25lbnQsIE5nQXRvbWljQ29tcG9uZW50LCBfY29tcHV0ZWQsIGFwcGx5VG9JbnB1dCwgY3JlYXRlQWN0aW9uLCBwcm92aWRlRWZmZWN0IH0gZnJvbSAnQG5nLWF0b21pYy9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgRm9ybUJ1aWxkZXIgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBtYWtlQ29uZmlnLCBOYXZBY3Rpb25JZCwgVUlDb250ZXh0IH0gZnJvbSAnQG5nLWF0b21pYy9jb21tb24vc2VydmljZXMvdWknO1xuaW1wb3J0IHsgaXNQbGF0Zm9ybUJyb3dzZXIsIGlzUGxhdGZvcm1TZXJ2ZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQmFja2dyb3VuZFRlbXBsYXRlU3RvcmUgfSBmcm9tICdAbmctYXRvbWljL2NvbXBvbmVudHMvdGVtcGxhdGVzL2JhY2tncm91bmQnO1xuaW1wb3J0IHsgRHJhd2VyRnJhbWUgfSBmcm9tICdAbmctYXRvbWljL2NvbXBvbmVudHMvZnJhbWVzL2RyYXdlcic7XG5pbXBvcnQgeyBGYWJGcmFtZSB9IGZyb20gJ0BuZy1hdG9taWMvY29tcG9uZW50cy9mcmFtZXMvZmFiJztcbmltcG9ydCB7IEFwcFNlcnZpY2UgfSBmcm9tICdAbmctYXRvbWljL2NvbW1vbi9zZXJ2aWNlcy9hcHAnO1xuaW1wb3J0IHsgU2lkZUFwcFNlcnZpY2UgfSBmcm9tICdAbmctYXRvbWljL2NvbW1vbi9zZXJ2aWNlcy9zaWRlLWFwcCc7XG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJ0BuZy1hdG9taWMvY29tbW9uL3NlcnZpY2VzL2F1dGgnO1xuaW1wb3J0IHsgUm9vdFByb3BlcnR5U2VydmljZSB9IGZyb20gJ0BuZy1hdG9taWMvY29tbW9uL3NlcnZpY2VzL3Jvb3QtcHJvcGVydHknO1xuaW1wb3J0IHsgbWFrZUluaXRpYWxpemVyQ29uZmlnIH0gZnJvbSAnQG5nLWF0b21pYy9jb21tb24vc2VydmljZXMvaW5pdGlhbGl6ZXInO1xuaW1wb3J0IHsgaW5qZWN0SGFzTmV4dCwgaW5qZWN0UHJpbWFyeVBhdGhzIH0gZnJvbSAnQG5nLWF0b21pYy9jb21tb24vdXRpbHMnO1xuaW1wb3J0IHsgUHJvZ3Jlc3NCYXJGcmFtZSB9IGZyb20gXCJAbmctYXRvbWljL2NvbXBvbmVudHMvZnJhbWVzL3Byb2dyZXNzLWJhclwiO1xuXG5lbnVtIEFjdGlvbklkIHtcbiAgU0lHTl9JTl9XSVRIX0dPT0dMRSA9ICdbQG5nLWF0b21pYy9jb21wb25lbnRzOmZyYW1lcy9hcHBdIFNpZ24gSW4gV2l0aCBHb29nbGUnLFxuICBTSUdOX0lOX1dJVEhfVFdJVFRFUiA9ICdbQG5nLWF0b21pYy9jb21wb25lbnRzOmZyYW1lcy9hcHBdIFNpZ24gSW4gV2l0aCBUd2l0dGVyJyxcbiAgU0lHTl9JTl9XSVRIX0VNQUlMID0gJ1tAbmctYXRvbWljL2NvbXBvbmVudHM6ZnJhbWVzL2FwcF0gU2lnbiBJbiBXaXRoIEVtYWlsJyxcbiAgU0lHTl9VUF9XSVRIX0VNQUlMID0gJ1tAbmctYXRvbWljL2NvbXBvbmVudHM6ZnJhbWVzL2FwcF0gU2lnbiBVcCBXaXRoIEVtYWlsJyxcbiAgTkFWSUdBVEUgPSAnW0BuZy1hdG9taWMvY29tcG9uZW50czpmcmFtZXMvYXBwXSBOYXZpZ2F0ZScsXG4gIFNJR05fT1VUID0gJ1tAbmctYXRvbWljL2NvbXBvbmVudHM6ZnJhbWVzL2FwcF0gU2lnbiBPdXQnLFxuICBOQVZJR0FURV9TSURFX0FQUCA9ICdbQG5nLWF0b21pYy9jb21wb25lbnRzOmZyYW1lcy9hcHBdIE5hdmlnYXRlIFNpZGUgQXBwJyxcbiAgT1BFTl9TSURFX0FQUCA9ICdbQG5nLWF0b21pYy9jb21wb25lbnRzOmZyYW1lcy9hcHBdIE9wZW4gU2lkZSBBcHAnLFxufVxuXG5ARGlyZWN0aXZlKHsgc3RhbmRhbG9uZTogdHJ1ZSwgc2VsZWN0b3I6ICdmcmFtZXMtYXBwJyB9KVxuZXhwb3J0IGNsYXNzIEFwcEZyYW1lU3RvcmUgZXh0ZW5kcyBJbmplY3RhYmxlQ29tcG9uZW50IHtcbiAgc3RhdGljIHJlYWRvbmx5IEFjdGlvbklkID0gQWN0aW9uSWQ7XG4gIHN0YXRpYyByZWFkb25seSBDb25maWcgPSBtYWtlQ29uZmlnKCgpID0+IHtcbiAgICByZXR1cm4gKGNvbnRleHQpID0+ICh7XG4gICAgICBmYWJBY3Rpb25zOiBbXSxcbiAgICAgIGZhYkhpZGU6IHRydWUsXG4gICAgICBpc0VudHJhbmNlOiB0cnVlLFxuICAgICAgaXNMb2FkaW5nOiBmYWxzZSxcbiAgICAgIGlzUHJvZ3Jlc3M6IGZhbHNlLFxuICAgICAgc2lkZUFwcE9wZW5lZDogZmFsc2UsXG4gICAgICB0aXRsZTogJ3RpdGxlJyxcbiAgICAgIGZvcm06IGluamVjdChGb3JtQnVpbGRlcikuZ3JvdXAoe30pIGFzIEFic3RyYWN0Q29udHJvbCxcbiAgICAgIGVudHJhbmNlQWN0aW9uczogW1xuICAgICAgICB7IGlkOiBBY3Rpb25JZC5TSUdOX0lOX1dJVEhfR09PR0xFLCBuYW1lOiAnR29vZ2xl44Gn44K144Kk44Oz44Kk44OzJywgaWNvbjogJycgfSxcbiAgICAgIF0gYXMgQWN0aW9ucyxcbiAgICAgIHNpZGVOYXZBY3Rpb25zOiBbXG4gICAgICAgIHsgaWQ6IEFjdGlvbklkLlNJR05fT1VULCBuYW1lOiAn44Ot44Kw44Ki44Km44OIJywgaWNvbjogJ2V4aXRfdG9fYXBwJyB9LFxuICAgICAgXSBhcyBBY3Rpb25zLFxuICAgICAgc2lkZU5hdkJvdHRvbUFjdGlvbnM6IFtdLFxuICAgICAgc2lkZU5hdk1vZGU6ICdjb2xsYXBzZWQnIGFzICdleHBhbmRlZCcgfCAnY29sbGFwc2VkJyxcbiAgICAgIHNpZGVOYXZNZW51VHlwZTogU2lkZU5hdkZyYW1lU3RvcmUuZ2V0TWVudVR5cGUoY29udGV4dCksXG4gICAgICBzaWRlTmF2TWVudVRpdGxlOiB1bmRlZmluZWQgYXMgc3RyaW5nLFxuICAgICAgc2lkZUFwcE91dGxldE5hbWU6ICdzaWRlJyxcbiAgICB9KTtcbiAgfSwgWydjb21wb25lbnRzJywgJ2ZyYW1lcycsICdhcHAnXSk7XG4gIHN0YXRpYyBwcm92aWRlQXBwU2VydmljZUNvbmZpZyA9ICgpID0+IEFwcEZyYW1lU3RvcmUuQ29uZmlnLnByb3ZpZGUoKCkgPT4ge1xuICAgIGNvbnN0IGFwcCA9IGluamVjdChBcHBTZXJ2aWNlKTtcbiAgICBjb25zdCBmYWJIaWRlID0gY29tcHV0ZWQoKCkgPT4gYXBwLnNpZGVBcHAub3BlbmVkKCkpO1xuICAgIHJldHVybiAoY29uZmlnKSA9PiAoe1xuICAgICAgLi4uY29uZmlnLFxuICAgICAgaXNMb2FkaW5nOiBhcHAubG9hZGluZy5pc0xvYWRpbmcoKSxcbiAgICAgIGlzUHJvZ3Jlc3M6IGFwcC5sb2FkaW5nLmlzUHJvZ3Jlc3MoKSxcbiAgICAgIHNpZGVOYXZNb2RlOiBhcHAuc2lkZU5hdk1vZGUuc2lkZU5hdk1vZGUoKSxcbiAgICAgIHNpZGVBcHBPcGVuZWQ6IGFwcC5zaWRlQXBwLm9wZW5lZCgpLFxuICAgICAgZmFiQWN0aW9uczogYXBwLmZhYi5hY3Rpb25zKCksXG4gICAgICBmYWJIaWRlOiBmYWJIaWRlKCksXG4gICAgfSk7XG4gIH0pO1xuICBzdGF0aWMgcHJvdmlkZUljb25CdXR0b25NZW51QXNEZWZhdWx0Q29uZmlnKCkge1xuICAgIHJldHVybiBbXG4gICAgICBSb290UHJvcGVydHlTZXJ2aWNlLkNvbmZpZy5wcm92aWRlKCgpID0+IHtcbiAgICAgICAgY29uc3QgZ2V0UHJvcHMgPSAoY29udGV4dDogVUlDb250ZXh0KSA9PiB7XG4gICAgICAgICAgc3dpdGNoIChjb250ZXh0LmJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgIGNhc2UgJ3hTbWFsbCc6IHJldHVybiB7ICctLW1lbnUtd2lkdGgnOiAnMjIwcHgnIH07XG4gICAgICAgICAgICBjYXNlICdzbWFsbCc6XG4gICAgICAgICAgICBjYXNlICdtZWRpdW0nOlxuICAgICAgICAgICAgY2FzZSAnbGFyZ2UnOlxuICAgICAgICAgICAgY2FzZSAneExhcmdlJzogcmV0dXJuIHsgJy0tbWVudS13aWR0aCc6ICc2NHB4JyB9O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gKGNvbmZpZywgY29udGV4dCkgPT4gKHsuLi5jb25maWcsIC4uLmdldFByb3BzKGNvbnRleHQpfSk7XG4gICAgICB9KSxcbiAgICAgIEFwcEZyYW1lU3RvcmUuQ29uZmlnLnByb3ZpZGUoKCkgPT4ge1xuICAgICAgICBjb25zdCBnZXRNZW51VHlwZSA9IChjb250ZXh0OiBVSUNvbnRleHQpID0+IHtcbiAgICAgICAgICBzd2l0Y2ggKGNvbnRleHQuYnJlYWtwb2ludCkge1xuICAgICAgICAgICAgY2FzZSAneFNtYWxsJzogcmV0dXJuICdtZW51JztcbiAgICAgICAgICAgIGRlZmF1bHQ6IHJldHVybiAnaWNvbi1idXR0b24tbWVudSc7XG4gICAgICAgICAgfVxuICAgICAgICB9O1xuICAgICAgICByZXR1cm4gKGNvbmZpZywgY29udGV4dCkgPT4gKHtcbiAgICAgICAgICAuLi5jb25maWcsXG4gICAgICAgICAgc2lkZU5hdk1lbnVUeXBlOiBnZXRNZW51VHlwZShjb250ZXh0KSxcbiAgICAgICAgfSk7XG4gICAgICB9KVxuICAgIF07XG4gIH1cbiAgc3RhdGljIEluaXRpYWxpemVyID0gbWFrZUluaXRpYWxpemVyQ29uZmlnKEFwcEZyYW1lU3RvcmUpO1xuICBzdGF0aWMgcHJvdmlkZUluaXRpYWxpemVyID0gQXBwRnJhbWVTdG9yZS5Jbml0aWFsaXplci5wcm92aWRlO1xuICBzdGF0aWMgcHJvdmlkZUV4cGFuZFNpZGVBcHBPbkluaXQoKSB7XG4gICAgcmV0dXJuIEFwcEZyYW1lU3RvcmUuSW5pdGlhbGl6ZXIucHJvdmlkZSgoKSA9PiB7XG4gICAgICBpbmplY3QoU2lkZUFwcFNlcnZpY2UpLmV4cGFuZCgpO1xuICAgIH0pO1xuICB9XG4gIHN0YXRpYyBwcm92aWRlU2lkZU5hdkFjdGlvbnNJbml0aWFsaXplcihhY3Rpb25zRmFjdG9yeTogKCkgPT4gQWN0aW9uW10pIHtcbiAgICByZXR1cm4gQXBwRnJhbWVTdG9yZS5Jbml0aWFsaXplci5wcm92aWRlKChzdG9yZSkgPT4ge1xuICAgICAgY29uc3QgcGF0aHMgPSBpbmplY3RQcmltYXJ5UGF0aHMoKTtcbiAgICAgIGZ1bmN0aW9uIGNvbXBhcmUocGF0aHM6IHN0cmluZ1tdLCBwYXlsb2FkPzogc3RyaW5nW10pIHtcbiAgICAgICAgaWYgKHBheWxvYWQgPT09IHVuZGVmaW5lZCkgcmV0dXJuIGZhbHNlO1xuICAgICAgICByZXR1cm4gcGF5bG9hZC5ldmVyeSgocGF0aCwgaSkgPT4gcGF0aHNbaV0gPT09IHBhdGgpO1xuICAgICAgfVxuICAgICAgY29uc3QgYWN0aW9ucyA9IGFjdGlvbnNGYWN0b3J5KCk7XG5cbiAgICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGFwcGx5VG9JbnB1dChzdG9yZSwgJ3NpZGVOYXZBY3Rpb25zJywgYWN0aW9ucy5tYXAoYWN0aW9uID0+ICh7XG4gICAgICAgICAgLi4uYWN0aW9uLCBkaXNhYmxlZDogY29tcGFyZShwYXRocygpLCBhY3Rpb24/LnBheWxvYWQpLFxuICAgICAgICB9KSkpO1xuICAgICAgfSwge2FsbG93U2lnbmFsV3JpdGVzOiB0cnVlfSk7XG4gICAgfSk7XG4gIH1cbiAgc3RhdGljIHByb3ZpZGVOYXZpZ2F0ZUVmZmVjdCgpIHtcbiAgICByZXR1cm4gcHJvdmlkZUVmZmVjdChBcHBGcmFtZVN0b3JlLkFjdGlvbklkLk5BVklHQVRFLCAoKSA9PiB7XG4gICAgICBjb25zdCBhcHAgPSBpbmplY3QoQXBwU2VydmljZSk7XG4gICAgICByZXR1cm4gKHBheWxvYWQ6IHN0cmluZ1tdIHwge2NvbW1hbmRzOiBzdHJpbmdbXSwgZXh0cmFzPzogTmF2aWdhdGlvbkV4dHJhc30pID0+IHtcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkocGF5bG9hZCkpIHtcbiAgICAgICAgICBhcHAuc2lkZUFwcC5jb2xsYXBzZSgpO1xuICAgICAgICAgIGFwcC5yb3V0ZXIubmF2aWdhdGUocGF5bG9hZCkudGhlbigoKSA9PiBhcHAuc2lkZU5hdi5jb2xsYXBzZSgpKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBhcHAuc2lkZUFwcC5jb2xsYXBzZSgpO1xuICAgICAgICAgIGNvbnN0IHtjb21tYW5kcywgZXh0cmFzfSA9IHBheWxvYWQ7XG4gICAgICAgICAgYXBwLnJvdXRlci5uYXZpZ2F0ZShjb21tYW5kcywgZXh0cmFzID8/IHt9KS50aGVuKCgpID0+IGFwcC5zaWRlTmF2LmNvbGxhcHNlKCkpO1xuICAgICAgICB9XG4gICAgICB9O1xuICAgIH0pO1xuICB9XG5cbiAgc3RhdGljIHByb3ZpZGVOYXZpZ2F0ZVNpZGVBcHBFZmZlY3QoKSB7XG4gICAgcmV0dXJuIHByb3ZpZGVFZmZlY3QoQXBwRnJhbWVTdG9yZS5BY3Rpb25JZC5OQVZJR0FURV9TSURFX0FQUCwgKCkgPT4ge1xuICAgICAgY29uc3QgYXBwID0gaW5qZWN0KEFwcFNlcnZpY2UpO1xuICAgICAgcmV0dXJuIChwYXlsb2FkOiBzdHJpbmdbXSB8IHtjb21tYW5kczogc3RyaW5nW10sIGV4dHJhcz86IE5hdmlnYXRpb25FeHRyYXMgJiB7ZXhwYW5kZWQ/OiBib29sZWFufX0pID0+IHtcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkocGF5bG9hZCkpIHtcbiAgICAgICAgICBhcHAuc2lkZUFwcC5yb3V0ZXIubmF2aWdhdGUocGF5bG9hZCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29uc3Qge2NvbW1hbmRzLCBleHRyYXN9ID0gcGF5bG9hZDtcbiAgICAgICAgICBhcHAuc2lkZUFwcC5yb3V0ZXIubmF2aWdhdGUoY29tbWFuZHMsIGV4dHJhcyA/PyB7fSk7XG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgfSk7XG4gIH1cblxuICBzdGF0aWMgcHJvdmlkZVNpZ25PdXRFZmZlY3QoKSB7XG4gICAgcmV0dXJuIHByb3ZpZGVFZmZlY3QoQXBwRnJhbWVTdG9yZS5BY3Rpb25JZC5TSUdOX09VVCwgKCkgPT4ge1xuICAgICAgY29uc3QgYXBwID0gaW5qZWN0KEFwcFNlcnZpY2UpO1xuICAgICAgY29uc3QgYXV0aCA9IGluamVjdChBdXRoU2VydmljZSk7XG4gICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICBhdXRoLnNpZ25PdXQoKS50aGVuKCgpID0+IHtcbiAgICAgICAgICBhcHAuc2lkZU5hdi5jb2xsYXBzZSgpO1xuICAgICAgICAgIGFwcC5zbmFja0Jhci5vcGVuKCfjgrXjgqTjg7PjgqLjgqbjg4jjgZfjgb7jgZfjgZ8nKTtcbiAgICAgICAgfSk7XG4gICAgICB9O1xuICAgIH0pO1xuICB9XG4gIHN0YXRpYyBwcm92aWRlT3BlblNpZGVBcHBFZmZlY3QoKSB7XG4gICAgcmV0dXJuIHByb3ZpZGVFZmZlY3QoQXBwRnJhbWVTdG9yZS5BY3Rpb25JZC5PUEVOX1NJREVfQVBQLCAoKSA9PiB7XG4gICAgICBjb25zdCBhcHAgPSBpbmplY3QoQXBwU2VydmljZSk7XG4gICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICBhcHAuc2lkZUFwcC5leHBhbmQoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuICBzdGF0aWMgcHJvdmlkZUNsb3NlU2lkZUFwcEVmZmVjdCgpIHtcbiAgICByZXR1cm4gcHJvdmlkZUVmZmVjdChOYXZBY3Rpb25JZC5DTE9TRSwgKCkgPT4ge1xuICAgICAgY29uc3QgYXBwID0gaW5qZWN0KEFwcFNlcnZpY2UpO1xuICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgYXBwLnNpZGVBcHAuY29sbGFwc2UoKTtcbiAgICAgIH07XG4gICAgfSk7XG4gIH1cbiAgc3RhdGljIHByb3ZpZGVTaWduVXBXaXRoRW1haWxFZmZlY3QoKSB7XG4gICAgcmV0dXJuIHByb3ZpZGVFZmZlY3QoQXBwRnJhbWVTdG9yZS5BY3Rpb25JZC5TSUdOX1VQX1dJVEhfRU1BSUwsICgpID0+IHtcbiAgICAgIGNvbnN0IGFwcCA9IGluamVjdChBcHBTZXJ2aWNlKTtcbiAgICAgIGNvbnN0IHN0b3JlID0gaW5qZWN0KEFwcEZyYW1lU3RvcmUpO1xuICAgICAgY29uc3QgYXV0aCA9IGluamVjdChBdXRoU2VydmljZSk7XG4gICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICBjb25zdCBkYXRhID0gc3RvcmUuZm9ybSgpLmdldFJhd1ZhbHVlKCkgYXMge2VtYWlsOiBzdHJpbmcsIHBhc3N3b3JkOiBzdHJpbmd9O1xuICAgICAgICBhcHAubG9hZGluZy5hd2FpdCgoKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGF1dGguY3JlYXRlVXNlcldpdGhFbWFpbEFuZFBhc3N3b3JkKGRhdGEuZW1haWwsIGRhdGEucGFzc3dvcmQpLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgYXBwLnNuYWNrQmFyLm9wZW4oJ+aWsOimj+eZu+mMsuOBl+OBvuOBl+OBn+OAgicpO1xuICAgICAgICAgIH0pLmNhdGNoKChlcnJvcikgPT4ge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcihlcnJvcik7XG4gICAgICAgICAgICBhcHAuc25hY2tCYXIub3BlbihlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgICB9O1xuICAgIH0pO1xuICB9XG4gIHN0YXRpYyBwcm92aWRlU2lnbkluV2l0aEVtYWlsRWZmZWN0KCkge1xuICAgIHJldHVybiBwcm92aWRlRWZmZWN0KEFwcEZyYW1lU3RvcmUuQWN0aW9uSWQuU0lHTl9JTl9XSVRIX0VNQUlMLCAoKSA9PiB7XG4gICAgICBjb25zdCBhcHAgPSBpbmplY3QoQXBwU2VydmljZSk7XG4gICAgICBjb25zdCBzdG9yZSA9IGluamVjdChBcHBGcmFtZVN0b3JlKTtcbiAgICAgIGNvbnN0IGF1dGggPSBpbmplY3QoQXV0aFNlcnZpY2UpO1xuICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgY29uc3QgZGF0YSA9IHN0b3JlLmZvcm0oKS5nZXRSYXdWYWx1ZSgpIGFzIHtlbWFpbDogc3RyaW5nLCBwYXNzd29yZDogc3RyaW5nfTtcbiAgICAgICAgYXBwLmxvYWRpbmcuYXdhaXQoKCkgPT4ge1xuICAgICAgICAgIHJldHVybiBhdXRoLnNpZ25JbldpdGhFbWFpbEFuZFBhc3N3b3JkKGRhdGEuZW1haWwsIGRhdGEucGFzc3dvcmQpLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgYXBwLnNuYWNrQmFyLm9wZW4oJ+ODreOCsOOCpOODs+OBl+OBvuOBl+OBnycpO1xuICAgICAgICAgIH0pLmNhdGNoKChlcnJvcikgPT4ge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcihlcnJvcik7XG4gICAgICAgICAgICBhcHAuc25hY2tCYXIub3BlbihlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgICB9O1xuICAgIH0pO1xuICB9XG4gIHN0YXRpYyBwcm92aWRlU2lnbkluV2l0aEdvb2dsZUVmZmVjdCgpIHtcbiAgICByZXR1cm4gcHJvdmlkZUVmZmVjdChBcHBGcmFtZVN0b3JlLkFjdGlvbklkLlNJR05fSU5fV0lUSF9HT09HTEUsICgpID0+IHtcbiAgICAgIGNvbnN0IGFwcCA9IGluamVjdChBcHBTZXJ2aWNlKTtcbiAgICAgIGNvbnN0IGF1dGggPSBpbmplY3QoQXV0aFNlcnZpY2UpO1xuICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgYXV0aC5zaWduSW5XaXRoR29vZ2xlKCkudGhlbigoKSA9PiB7XG4gICAgICAgICAgYXBwLnNuYWNrQmFyLm9wZW4oJ+ODreOCsOOCpOODs+OBl+OBvuOBl+OBnycpO1xuICAgICAgICB9KS5jYXRjaCgoZXJyb3IpID0+IHtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcbiAgICAgICAgICBjb25zdCBfbWVzc2FnZSA9IGVycm9yLm1lc3NhZ2UubWF0Y2goL0hUVFAgQ2xvdWQgRnVuY3Rpb24gcmV0dXJuZWQgYW4gZXJyb3I6ICguKikgXFwoLiovKTtcbiAgICAgICAgICBjb25zdCBtZXNzYWdlID0gX21lc3NhZ2UgPyBKU09OLnBhcnNlKF9tZXNzYWdlWzFdKS5lcnJvci5tZXNzYWdlIDogZXJyb3IubWVzc2FnZTtcbiAgICAgICAgICBhcHAuc25hY2tCYXIub3BlbihtZXNzYWdlKTtcbiAgICAgICAgfSk7XG4gICAgICB9O1xuICAgIH0pO1xuICB9XG4gIHN0YXRpYyBwcm92aWRlU2lnbkluV2l0aFR3aXR0ZXJFZmZlY3QoKSB7XG4gICAgcmV0dXJuIHByb3ZpZGVFZmZlY3QoQXBwRnJhbWVTdG9yZS5BY3Rpb25JZC5TSUdOX0lOX1dJVEhfVFdJVFRFUiwgKCkgPT4ge1xuICAgICAgY29uc3QgYXBwID0gaW5qZWN0KEFwcFNlcnZpY2UpO1xuICAgICAgY29uc3QgYXV0aCA9IGluamVjdChBdXRoU2VydmljZSk7XG4gICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICBhdXRoLnNpZ25JbldpdGhUd2l0dGVyKCkudGhlbigoKSA9PiB7XG4gICAgICAgICAgYXBwLnNuYWNrQmFyLm9wZW4oJ+ODreOCsOOCpOODs+OBl+OBvuOBl+OBnycpO1xuICAgICAgICB9KS5jYXRjaCgoZXJyb3IpID0+IHtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcbiAgICAgICAgICBhcHAuc25hY2tCYXIub3BlbihlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgfSk7XG4gICAgICB9O1xuICAgIH0pO1xuICB9XG4gIHN0YXRpYyBwcm92aWRlRGVmYXVsdEVmZmVjdHMoKSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIEFwcEZyYW1lU3RvcmUucHJvdmlkZU5hdmlnYXRlRWZmZWN0KCksXG4gICAgICBBcHBGcmFtZVN0b3JlLnByb3ZpZGVTaWduT3V0RWZmZWN0KCksXG4gICAgICBBcHBGcmFtZVN0b3JlLnByb3ZpZGVPcGVuU2lkZUFwcEVmZmVjdCgpLFxuICAgICAgQXBwRnJhbWVTdG9yZS5wcm92aWRlQ2xvc2VTaWRlQXBwRWZmZWN0KCksXG4gICAgICBBcHBGcmFtZVN0b3JlLnByb3ZpZGVTaWduVXBXaXRoRW1haWxFZmZlY3QoKSxcbiAgICAgIEFwcEZyYW1lU3RvcmUucHJvdmlkZVNpZ25JbldpdGhFbWFpbEVmZmVjdCgpLFxuICAgICAgQXBwRnJhbWVTdG9yZS5wcm92aWRlU2lnbkluV2l0aEdvb2dsZUVmZmVjdCgpLFxuICAgICAgQXBwRnJhbWVTdG9yZS5wcm92aWRlU2lnbkluV2l0aFR3aXR0ZXJFZmZlY3QoKSxcbiAgICAgIEFwcEZyYW1lU3RvcmUucHJvdmlkZU5hdmlnYXRlU2lkZUFwcEVmZmVjdCgpLFxuICAgIF07XG4gIH1cblxuICBzdGF0aWMgcHJvdmlkZURlZmF1bHQoKSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIEFwcEZyYW1lU3RvcmUucHJvdmlkZUFwcFNlcnZpY2VDb25maWcoKSxcbiAgICAgIEFwcEZyYW1lU3RvcmUucHJvdmlkZUljb25CdXR0b25NZW51QXNEZWZhdWx0Q29uZmlnKCksXG4gICAgICBBcHBGcmFtZVN0b3JlLnByb3ZpZGVEZWZhdWx0RWZmZWN0cygpLFxuICAgIF1cbiAgfVxuXG4gIHN0YXRpYyBpbmplY3ROYXZBY3Rpb25GYWN0b3J5KCkge1xuICAgIGNvbnN0IGhhc05leHQgPSBpbmplY3RIYXNOZXh0KCk7XG4gICAgY29uc3Qgcm91dGUgPSBpbmplY3QoQWN0aXZhdGVkUm91dGUpO1xuICAgIGNvbnN0IG5hdmlnYXRlQWN0aW9uQnVpbGRlciA9IGNyZWF0ZUFjdGlvbihBcHBGcmFtZVN0b3JlLkFjdGlvbklkLk5BVklHQVRFLCB1bmRlZmluZWQsIHtcbiAgICAgIGljb246ICdvcGVuX2luX25ldycsXG4gICAgfSk7XG4gICAgcmV0dXJuIChjb21tYW5kczogYW55W10sIG5hbWU6IHN0cmluZykgPT4ge1xuICAgICAgcmV0dXJuIG5hdmlnYXRlQWN0aW9uQnVpbGRlci5jcmVhdGUoe1xuICAgICAgICBjb21tYW5kcyxcbiAgICAgICAgZXh0cmFzOiB7IHJlbGF0aXZlVG86IHJvdXRlLCByZXBsYWNlVXJsOiBoYXNOZXh0KCkgfVxuICAgICAgfSwge1xuICAgICAgICBuYW1lLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcmVhZG9ubHkgY29uZmlnID0gQXBwRnJhbWVTdG9yZS5Db25maWcuaW5qZWN0KCk7XG4gIHJlYWRvbmx5IGlzTG9hZGluZyA9IGlucHV0KF9jb21wdXRlZCgoKSA9PiB0aGlzLmNvbmZpZygpLmlzTG9hZGluZykpO1xuICByZWFkb25seSBpc1Byb2dyZXNzID0gaW5wdXQoX2NvbXB1dGVkKCgpID0+IHRoaXMuY29uZmlnKCkuaXNQcm9ncmVzcykpO1xuICByZWFkb25seSBpc0VudHJhbmNlID0gaW5wdXQoX2NvbXB1dGVkKCgpID0+IHRoaXMuY29uZmlnKCkuaXNFbnRyYW5jZSkpO1xuICByZWFkb25seSBzaWRlQXBwT3BlbmVkID0gaW5wdXQoX2NvbXB1dGVkKCgpID0+IHRoaXMuY29uZmlnKCkuc2lkZUFwcE9wZW5lZCkpO1xuICByZWFkb25seSB0aXRsZSA9IGlucHV0KF9jb21wdXRlZCgoKSA9PiB0aGlzLmNvbmZpZygpLnRpdGxlKSk7XG4gIHJlYWRvbmx5IGZvcm0gPSBpbnB1dChfY29tcHV0ZWQoKCkgPT4gdGhpcy5jb25maWcoKS5mb3JtKSk7XG4gIHJlYWRvbmx5IGVudHJhbmNlQWN0aW9ucyA9IGlucHV0KF9jb21wdXRlZCgoKSA9PiB0aGlzLmNvbmZpZygpLmVudHJhbmNlQWN0aW9ucykpO1xuICByZWFkb25seSBzaWRlTmF2QWN0aW9ucyA9IGlucHV0KF9jb21wdXRlZCgoKSA9PiB0aGlzLmNvbmZpZygpLnNpZGVOYXZBY3Rpb25zKSk7XG4gIHJlYWRvbmx5IHNpZGVOYXZCb3R0b21BY3Rpb25zID0gaW5wdXQoX2NvbXB1dGVkKCgpID0+IHRoaXMuY29uZmlnKCkuc2lkZU5hdkJvdHRvbUFjdGlvbnMpKTtcbiAgcmVhZG9ubHkgc2lkZU5hdk1vZGUgPSBpbnB1dChfY29tcHV0ZWQoKCkgPT4gdGhpcy5jb25maWcoKS5zaWRlTmF2TW9kZSkpO1xuICByZWFkb25seSBzaWRlTmF2TWVudVR5cGUgPSBpbnB1dChfY29tcHV0ZWQoKCkgPT4gdGhpcy5jb25maWcoKS5zaWRlTmF2TWVudVR5cGUpKTtcbiAgcmVhZG9ubHkgc2lkZU5hdk1lbnVUaXRsZSA9IGlucHV0KF9jb21wdXRlZCgoKSA9PiB0aGlzLmNvbmZpZygpLnNpZGVOYXZNZW51VGl0bGUpKTtcbiAgcmVhZG9ubHkgc2lkZUFwcE91dGxldE5hbWUgPSBpbnB1dChfY29tcHV0ZWQoKCkgPT4gdGhpcy5jb25maWcoKS5zaWRlQXBwT3V0bGV0TmFtZSkpO1xuICByZWFkb25seSBmYWJBY3Rpb25zID0gaW5wdXQoX2NvbXB1dGVkKCgpID0+IHRoaXMuY29uZmlnKCkuZmFiQWN0aW9ucykpO1xuICByZWFkb25seSBmYWJIaWRlID0gaW5wdXQoX2NvbXB1dGVkKCgpID0+IHRoaXMuY29uZmlnKCkuZmFiSGlkZSkpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgQXBwRnJhbWVTdG9yZS5Jbml0aWFsaXplci5pbml0aWFsaXplU3RvcmUodGhpcyk7XG4gIH1cbn1cblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmcmFtZXMtYXBwJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIEZhYkZyYW1lLFxuICAgIExvYWRpbmdGcmFtZSxcbiAgICBTaWRlTmF2RnJhbWUsXG4gICAgUm91dGVyT3V0bGV0LFxuICAgIEVudHJhbmNlRnJhbWUsXG4gICAgLy8gRHJhd2VyRnJhbWVTdG9yZSxcbiAgICBEcmF3ZXJGcmFtZSxcbiAgICBCYWNrZ3JvdW5kVGVtcGxhdGVTdG9yZSxcbiAgICBQcm9ncmVzc0JhckZyYW1lLFxuXSxcbiAgdGVtcGxhdGU6IGBcbiAgPHJvdXRlci1vdXRsZXQvPlxuICBAaWYgKGlzUGxhdGZvcm1Ccm93c2VyKCkpIHtcbiAgICBAZGVmZXIge1xuICAgICAgPHRlbXBsYXRlcy1iYWNrZ3JvdW5kIGluamVjdGFibGUvPlxuICAgIH1cbiAgfVxuICA8ZnJhbWVzLWxvYWRpbmcgW2lzTG9hZGluZ109XCJzdG9yZS5pc0xvYWRpbmcoKVwiPlxuICAgIDxmcmFtZXMtcHJvZ3Jlc3MtYmFyIFtpc1Byb2dyZXNzXT1cInN0b3JlLmlzUHJvZ3Jlc3MoKVwiIFttb2RlXT1cIidxdWVyeSdcIj5cbiAgICAgIDxmcmFtZXMtZmFiXG4gICAgICAgIFthY3Rpb25zXT1cInN0b3JlLmZhYkFjdGlvbnMoKVwiXG4gICAgICAgIFtoaWRlXT1cInN0b3JlLmZhYkhpZGUoKVwiXG4gICAgICAgIChhY3Rpb24pPVwiZGlzcGF0Y2goJGV2ZW50KVwiXG4gICAgICA+XG4gICAgICAgIDxmcmFtZXMtZW50cmFuY2VcbiAgICAgICAgICBbaXNFbnRyYW5jZV09XCJzdG9yZS5pc0VudHJhbmNlKClcIlxuICAgICAgICAgIFtmb3JtXT1cInN0b3JlLmZvcm0oKVwiXG4gICAgICAgICAgW3RpdGxlXT1cInN0b3JlLnRpdGxlKClcIlxuICAgICAgICAgIFthY3Rpb25zXT1cInN0b3JlLmVudHJhbmNlQWN0aW9ucygpXCJcbiAgICAgICAgICAoYWN0aW9uKT1cImRpc3BhdGNoKCRldmVudClcIlxuICAgICAgICA+XG4gICAgICAgICAgPGZyYW1lcy1kcmF3ZXJcbiAgICAgICAgICAgIFtvcGVuZWRdPVwic3RvcmUuc2lkZUFwcE9wZW5lZCgpXCJcbiAgICAgICAgICAgIFtwb3NpdGlvbl09XCInZW5kJ1wiXG4gICAgICAgICAgICBbaGFzQmFja2Ryb3BdPVwiZmFsc2VcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxmcmFtZXMtc2lkZS1uYXZcbiAgICAgICAgICAgICAgW2FjdGlvbnNdPVwic3RvcmUuc2lkZU5hdkFjdGlvbnMoKVwiXG4gICAgICAgICAgICAgIFtib3R0b21BY3Rpb25zXT1cInN0b3JlLnNpZGVOYXZCb3R0b21BY3Rpb25zKClcIlxuICAgICAgICAgICAgICBbbW9kZV09XCJzdG9yZS5zaWRlTmF2TW9kZSgpXCJcbiAgICAgICAgICAgICAgW21lbnVUeXBlXT1cInN0b3JlLnNpZGVOYXZNZW51VHlwZSgpXCJcbiAgICAgICAgICAgICAgW21lbnVUaXRsZV09XCJzdG9yZS5zaWRlTmF2TWVudVRpdGxlKClcIlxuICAgICAgICAgICAgICAoYWN0aW9uKT1cImRpc3BhdGNoKCRldmVudClcIlxuICAgICAgICAgICAgICBjb250ZW50c1xuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8cm91dGVyLW91dGxldCBjb250ZW50cy8+XG4gICAgICAgICAgICA8L2ZyYW1lcy1zaWRlLW5hdj5cbiAgICAgICAgICAgIDxkaXYgZHJhd2VyIHN0eWxlPVwid2lkdGg6IHZhcigtLXBhZ2Utd2lkdGgtbHYxKTtoZWlnaHQ6IDEwMCU7XCI+XG4gICAgICAgICAgICAgIDxyb3V0ZXItb3V0bGV0IFtuYW1lXT1cInN0b3JlLnNpZGVBcHBPdXRsZXROYW1lKClcIiAvPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9mcmFtZXMtZHJhd2VyPlxuICAgICAgICA8L2ZyYW1lcy1lbnRyYW5jZT5cbiAgICAgIDwvZnJhbWVzLWZhYj5cbiAgICA8L2ZyYW1lcy1wcm9ncmVzcy1iYXI+XG4gIDwvZnJhbWVzLWxvYWRpbmc+XG4gIGAsXG4gIHN0eWxlVXJsOiAnLi9hcHAuZnJhbWUuc2NzcycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBob3N0RGlyZWN0aXZlczogW1xuICAgIEFwcEZyYW1lU3RvcmUsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEFwcEZyYW1lIGV4dGVuZHMgTmdBdG9taWNDb21wb25lbnQge1xuICBwcm90ZWN0ZWQgc3RvcmUgPSBpbmplY3QoQXBwRnJhbWVTdG9yZSk7XG4gIHJlYWRvbmx5IHBsYXRmb3JtSWQgPSBpbmplY3QoUExBVEZPUk1fSUQpO1xuXG4gIHByb3RlY3RlZCBpc1BsYXRmb3JtU2VydmVyKCkge1xuICAgIHJldHVybiBpc1BsYXRmb3JtU2VydmVyKHRoaXMucGxhdGZvcm1JZCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgaXNQbGF0Zm9ybUJyb3dzZXIoKSB7XG4gICAgcmV0dXJuIGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCk7XG4gIH1cbn1cbiJdfQ==
432
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmZyYW1lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQG5nLWF0b21pYy9jb21wb25lbnRzL3NyYy9saWIvZnJhbWVzL2FwcC9hcHAuZnJhbWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekcsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLGNBQWMsRUFBb0IsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDakYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxZQUFZLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUN4RixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDdEUsT0FBTyxFQUFtQixtQkFBbUIsRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNoSixPQUFPLEVBQW1CLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlELE9BQU8sRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFhLE1BQU0sK0JBQStCLENBQUM7QUFDbkYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFdEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUM1RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDNUQsT0FB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Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTZDVCxtQkFFZ0IsdUJBQXVCLENBQUMsTUFBTSxrQkFDL0I7NEJBQ2QsYUFBYTt5QkFDZCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIFBMQVRGT1JNX0lELCBjb21wdXRlZCwgZWZmZWN0LCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGlyZWN0aXZlLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBOYXZpZ2F0aW9uRXh0cmFzLCBSb3V0ZXJPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgTG9hZGluZ0ZyYW1lIH0gZnJvbSAnQG5nLWF0b21pYy9jb21wb25lbnRzL2ZyYW1lcy9sb2FkaW5nJztcbmltcG9ydCB7IFNpZGVOYXZGcmFtZSwgU2lkZU5hdkZyYW1lU3RvcmUgfSBmcm9tICdAbmctYXRvbWljL2NvbXBvbmVudHMvZnJhbWVzL3NpZGUtbmF2JztcbmltcG9ydCB7IEVudHJhbmNlRnJhbWUgfSBmcm9tICdAbmctYXRvbWljL2NvbXBvbmVudHMvZnJhbWVzL2VudHJhbmNlJztcbmltcG9ydCB7IEFjdGlvbiwgQWN0aW9ucywgSW5qZWN0YWJsZUNvbXBvbmVudCwgTmdBdG9taWNDb21wb25lbnQsIF9jb21wdXRlZCwgYXBwbHlUb0lucHV0LCBjcmVhdGVBY3Rpb24sIHByb3ZpZGVFZmZlY3QgfSBmcm9tICdAbmctYXRvbWljL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBGb3JtQnVpbGRlciB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IG1ha2VDb25maWcsIE5hdkFjdGlvbklkLCBVSUNvbnRleHQgfSBmcm9tICdAbmctYXRvbWljL2NvbW1vbi9zZXJ2aWNlcy91aSc7XG5pbXBvcnQgeyBpc1BsYXRmb3JtQnJvd3NlciwgaXNQbGF0Zm9ybVNlcnZlciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBCYWNrZ3JvdW5kVGVtcGxhdGVTdG9yZSB9IGZyb20gJ0BuZy1hdG9taWMvY29tcG9uZW50cy90ZW1wbGF0ZXMvYmFja2dyb3VuZCc7XG5pbXBvcnQgeyBEcmF3ZXJGcmFtZSB9IGZyb20gJ0BuZy1hdG9taWMvY29tcG9uZW50cy9mcmFtZXMvZHJhd2VyJztcbmltcG9ydCB7IEZhYkZyYW1lIH0gZnJvbSAnQG5nLWF0b21pYy9jb21wb25lbnRzL2ZyYW1lcy9mYWInO1xuaW1wb3J0IHsgQXBwU2VydmljZSB9IGZyb20gJ0BuZy1hdG9taWMvY29tbW9uL3NlcnZpY2VzL2FwcCc7XG5pbXBvcnQgeyBTaWRlQXBwU2VydmljZSB9IGZyb20gJ0BuZy1hdG9taWMvY29tbW9uL3NlcnZpY2VzL3NpZGUtYXBwJztcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnQG5nLWF0b21pYy9jb21tb24vc2VydmljZXMvYXV0aCc7XG5pbXBvcnQgeyBSb290UHJvcGVydHlTZXJ2aWNlIH0gZnJvbSAnQG5nLWF0b21pYy9jb21tb24vc2VydmljZXMvcm9vdC1wcm9wZXJ0eSc7XG5pbXBvcnQgeyBtYWtlSW5pdGlhbGl6ZXJDb25maWcgfSBmcm9tICdAbmctYXRvbWljL2NvbW1vbi9zZXJ2aWNlcy9pbml0aWFsaXplcic7XG5pbXBvcnQgeyBpbmplY3RIYXNOZXh0LCBpbmplY3RQcmltYXJ5UGF0aHMgfSBmcm9tICdAbmctYXRvbWljL2NvbW1vbi91dGlscyc7XG5pbXBvcnQgeyBQcm9ncmVzc0JhckZyYW1lIH0gZnJvbSBcIkBuZy1hdG9taWMvY29tcG9uZW50cy9mcmFtZXMvcHJvZ3Jlc3MtYmFyXCI7XG5cbmVudW0gQWN0aW9uSWQge1xuICBTSUdOX0lOX1dJVEhfR09PR0xFID0gJ1tAbmctYXRvbWljL2NvbXBvbmVudHM6ZnJhbWVzL2FwcF0gU2lnbiBJbiBXaXRoIEdvb2dsZScsXG4gIFNJR05fSU5fV0lUSF9UV0lUVEVSID0gJ1tAbmctYXRvbWljL2NvbXBvbmVudHM6ZnJhbWVzL2FwcF0gU2lnbiBJbiBXaXRoIFR3aXR0ZXInLFxuICBTSUdOX0lOX1dJVEhfTUlDUk9TT0ZUID0gJ1tAbmctYXRvbWljL2NvbXBvbmVudHM6ZnJhbWVzL2FwcF0gU2lnbiBJbiBXaXRoIE1pY3Jvc29mdCcsXG4gIFNJR05fSU5fV0lUSF9FTUFJTCA9ICdbQG5nLWF0b21pYy9jb21wb25lbnRzOmZyYW1lcy9hcHBdIFNpZ24gSW4gV2l0aCBFbWFpbCcsXG4gIFNJR05fVVBfV0lUSF9FTUFJTCA9ICdbQG5nLWF0b21pYy9jb21wb25lbnRzOmZyYW1lcy9hcHBdIFNpZ24gVXAgV2l0aCBFbWFpbCcsXG4gIE5BVklHQVRFID0gJ1tAbmctYXRvbWljL2NvbXBvbmVudHM6ZnJhbWVzL2FwcF0gTmF2aWdhdGUnLFxuICBTSUdOX09VVCA9ICdbQG5nLWF0b21pYy9jb21wb25lbnRzOmZyYW1lcy9hcHBdIFNpZ24gT3V0JyxcbiAgTkFWSUdBVEVfU0lERV9BUFAgPSAnW0BuZy1hdG9taWMvY29tcG9uZW50czpmcmFtZXMvYXBwXSBOYXZpZ2F0ZSBTaWRlIEFwcCcsXG4gIE9QRU5fU0lERV9BUFAgPSAnW0BuZy1hdG9taWMvY29tcG9uZW50czpmcmFtZXMvYXBwXSBPcGVuIFNpZGUgQXBwJyxcbn1cblxuQERpcmVjdGl2ZSh7IHN0YW5kYWxvbmU6IHRydWUsIHNlbGVjdG9yOiAnZnJhbWVzLWFwcCcgfSlcbmV4cG9ydCBjbGFzcyBBcHBGcmFtZVN0b3JlIGV4dGVuZHMgSW5qZWN0YWJsZUNvbXBvbmVudCB7XG4gIHN0YXRpYyByZWFkb25seSBBY3Rpb25JZCA9IEFjdGlvbklkO1xuICBzdGF0aWMgcmVhZG9ubHkgQ29uZmlnID0gbWFrZUNvbmZpZygoKSA9PiB7XG4gICAgcmV0dXJuIChjb250ZXh0KSA9PiAoe1xuICAgICAgZmFiQWN0aW9uczogW10sXG4gICAgICBmYWJIaWRlOiB0cnVlLFxuICAgICAgaXNFbnRyYW5jZTogdHJ1ZSxcbiAgICAgIGlzTG9hZGluZzogZmFsc2UsXG4gICAgICBpc1Byb2dyZXNzOiBmYWxzZSxcbiAgICAgIHNpZGVBcHBPcGVuZWQ6IGZhbHNlLFxuICAgICAgdGl0bGU6ICd0aXRsZScsXG4gICAgICBmb3JtOiBpbmplY3QoRm9ybUJ1aWxkZXIpLmdyb3VwKHt9KSBhcyBBYnN0cmFjdENvbnRyb2wsXG4gICAgICBlbnRyYW5jZUFjdGlvbnM6IFtcbiAgICAgICAgeyBpZDogQWN0aW9uSWQuU0lHTl9JTl9XSVRIX0dPT0dMRSwgbmFtZTogJ0dvb2dsZeOBp+OCteOCpOODs+OCpOODsycsIGljb246ICcnIH0sXG4gICAgICBdIGFzIEFjdGlvbnMsXG4gICAgICBzaWRlTmF2QWN0aW9uczogW1xuICAgICAgICB7IGlkOiBBY3Rpb25JZC5TSUdOX09VVCwgbmFtZTogJ+ODreOCsOOCouOCpuODiCcsIGljb246ICdleGl0X3RvX2FwcCcgfSxcbiAgICAgIF0gYXMgQWN0aW9ucyxcbiAgICAgIHNpZGVOYXZCb3R0b21BY3Rpb25zOiBbXSxcbiAgICAgIHNpZGVOYXZNb2RlOiAnY29sbGFwc2VkJyBhcyAnZXhwYW5kZWQnIHwgJ2NvbGxhcHNlZCcsXG4gICAgICBzaWRlTmF2TWVudVR5cGU6IFNpZGVOYXZGcmFtZVN0b3JlLmdldE1lbnVUeXBlKGNvbnRleHQpLFxuICAgICAgc2lkZU5hdk1lbnVUaXRsZTogdW5kZWZpbmVkIGFzIHN0cmluZyxcbiAgICAgIHNpZGVBcHBPdXRsZXROYW1lOiAnc2lkZScsXG4gICAgfSk7XG4gIH0sIFsnY29tcG9uZW50cycsICdmcmFtZXMnLCAnYXBwJ10pO1xuICBzdGF0aWMgcHJvdmlkZUFwcFNlcnZpY2VDb25maWcgPSAoKSA9PiBBcHBGcmFtZVN0b3JlLkNvbmZpZy5wcm92aWRlKCgpID0+IHtcbiAgICBjb25zdCBhcHAgPSBpbmplY3QoQXBwU2VydmljZSk7XG4gICAgY29uc3QgZmFiSGlkZSA9IGNvbXB1dGVkKCgpID0+IGFwcC5zaWRlQXBwLm9wZW5lZCgpKTtcbiAgICByZXR1cm4gKGNvbmZpZykgPT4gKHtcbiAgICAgIC4uLmNvbmZpZyxcbiAgICAgIGlzTG9hZGluZzogYXBwLmxvYWRpbmcuaXNMb2FkaW5nKCksXG4gICAgICBpc1Byb2dyZXNzOiBhcHAubG9hZGluZy5pc1Byb2dyZXNzKCksXG4gICAgICBzaWRlTmF2TW9kZTogYXBwLnNpZGVOYXZNb2RlLnNpZGVOYXZNb2RlKCksXG4gICAgICBzaWRlQXBwT3BlbmVkOiBhcHAuc2lkZUFwcC5vcGVuZWQoKSxcbiAgICAgIGZhYkFjdGlvbnM6IGFwcC5mYWIuYWN0aW9ucygpLFxuICAgICAgZmFiSGlkZTogZmFiSGlkZSgpLFxuICAgIH0pO1xuICB9KTtcbiAgc3RhdGljIHByb3ZpZGVJY29uQnV0dG9uTWVudUFzRGVmYXVsdENvbmZpZygpIHtcbiAgICByZXR1cm4gW1xuICAgICAgUm9vdFByb3BlcnR5U2VydmljZS5Db25maWcucHJvdmlkZSgoKSA9PiB7XG4gICAgICAgIGNvbnN0IGdldFByb3BzID0gKGNvbnRleHQ6IFVJQ29udGV4dCkgPT4ge1xuICAgICAgICAgIHN3aXRjaCAoY29udGV4dC5icmVha3BvaW50KSB7XG4gICAgICAgICAgICBjYXNlICd4U21hbGwnOiByZXR1cm4geyAnLS1tZW51LXdpZHRoJzogJzIyMHB4JyB9O1xuICAgICAgICAgICAgY2FzZSAnc21hbGwnOlxuICAgICAgICAgICAgY2FzZSAnbWVkaXVtJzpcbiAgICAgICAgICAgIGNhc2UgJ2xhcmdlJzpcbiAgICAgICAgICAgIGNhc2UgJ3hMYXJnZSc6IHJldHVybiB7ICctLW1lbnUtd2lkdGgnOiAnNjRweCcgfTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIChjb25maWcsIGNvbnRleHQpID0+ICh7Li4uY29uZmlnLCAuLi5nZXRQcm9wcyhjb250ZXh0KX0pO1xuICAgICAgfSksXG4gICAgICBBcHBGcmFtZVN0b3JlLkNvbmZpZy5wcm92aWRlKCgpID0+IHtcbiAgICAgICAgY29uc3QgZ2V0TWVudVR5cGUgPSAoY29udGV4dDogVUlDb250ZXh0KSA9PiB7XG4gICAgICAgICAgc3dpdGNoIChjb250ZXh0LmJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgIGNhc2UgJ3hTbWFsbCc6IHJldHVybiAnbWVudSc7XG4gICAgICAgICAgICBkZWZhdWx0OiByZXR1cm4gJ2ljb24tYnV0dG9uLW1lbnUnO1xuICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICAgICAgcmV0dXJuIChjb25maWcsIGNvbnRleHQpID0+ICh7XG4gICAgICAgICAgLi4uY29uZmlnLFxuICAgICAgICAgIHNpZGVOYXZNZW51VHlwZTogZ2V0TWVudVR5cGUoY29udGV4dCksXG4gICAgICAgIH0pO1xuICAgICAgfSlcbiAgICBdO1xuICB9XG4gIHN0YXRpYyBJbml0aWFsaXplciA9IG1ha2VJbml0aWFsaXplckNvbmZpZyhBcHBGcmFtZVN0b3JlKTtcbiAgc3RhdGljIHByb3ZpZGVJbml0aWFsaXplciA9IEFwcEZyYW1lU3RvcmUuSW5pdGlhbGl6ZXIucHJvdmlkZTtcbiAgc3RhdGljIHByb3ZpZGVFeHBhbmRTaWRlQXBwT25Jbml0KCkge1xuICAgIHJldHVybiBBcHBGcmFtZVN0b3JlLkluaXRpYWxpemVyLnByb3ZpZGUoKCkgPT4ge1xuICAgICAgaW5qZWN0KFNpZGVBcHBTZXJ2aWNlKS5leHBhbmQoKTtcbiAgICB9KTtcbiAgfVxuICBzdGF0aWMgcHJvdmlkZVNpZGVOYXZBY3Rpb25zSW5pdGlhbGl6ZXIoYWN0aW9uc0ZhY3Rvcnk6ICgpID0+IEFjdGlvbltdKSB7XG4gICAgcmV0dXJuIEFwcEZyYW1lU3RvcmUuSW5pdGlhbGl6ZXIucHJvdmlkZSgoc3RvcmUpID0+IHtcbiAgICAgIGNvbnN0IHBhdGhzID0gaW5qZWN0UHJpbWFyeVBhdGhzKCk7XG4gICAgICBmdW5jdGlvbiBjb21wYXJlKHBhdGhzOiBzdHJpbmdbXSwgcGF5bG9hZD86IHN0cmluZ1tdKSB7XG4gICAgICAgIGlmIChwYXlsb2FkID09PSB1bmRlZmluZWQpIHJldHVybiBmYWxzZTtcbiAgICAgICAgcmV0dXJuIHBheWxvYWQuZXZlcnkoKHBhdGgsIGkpID0+IHBhdGhzW2ldID09PSBwYXRoKTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGFjdGlvbnMgPSBhY3Rpb25zRmFjdG9yeSgpO1xuXG4gICAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgICBhcHBseVRvSW5wdXQoc3RvcmUsICdzaWRlTmF2QWN0aW9ucycsIGFjdGlvbnMubWFwKGFjdGlvbiA9PiAoe1xuICAgICAgICAgIC4uLmFjdGlvbiwgZGlzYWJsZWQ6IGNvbXBhcmUocGF0aHMoKSwgYWN0aW9uPy5wYXlsb2FkKSxcbiAgICAgICAgfSkpKTtcbiAgICAgIH0sIHthbGxvd1NpZ25hbFdyaXRlczogdHJ1ZX0pO1xuICAgIH0pO1xuICB9XG4gIHN0YXRpYyBwcm92aWRlTmF2aWdhdGVFZmZlY3QoKSB7XG4gICAgcmV0dXJuIHByb3ZpZGVFZmZlY3QoQXBwRnJhbWVTdG9yZS5BY3Rpb25JZC5OQVZJR0FURSwgKCkgPT4ge1xuICAgICAgY29uc3QgYXBwID0gaW5qZWN0KEFwcFNlcnZpY2UpO1xuICAgICAgcmV0dXJuIChwYXlsb2FkOiBzdHJpbmdbXSB8IHtjb21tYW5kczogc3RyaW5nW10sIGV4dHJhcz86IE5hdmlnYXRpb25FeHRyYXN9KSA9PiB7XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KHBheWxvYWQpKSB7XG4gICAgICAgICAgYXBwLnNpZGVBcHAuY29sbGFwc2UoKTtcbiAgICAgICAgICBhcHAucm91dGVyLm5hdmlnYXRlKHBheWxvYWQpLnRoZW4oKCkgPT4gYXBwLnNpZGVOYXYuY29sbGFwc2UoKSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgYXBwLnNpZGVBcHAuY29sbGFwc2UoKTtcbiAgICAgICAgICBjb25zdCB7Y29tbWFuZHMsIGV4dHJhc30gPSBwYXlsb2FkO1xuICAgICAgICAgIGNvbnNvbGUuZGVidWcoJ2NvbW1hbmRzJywgY29tbWFuZHMsIGV4dHJhcyk7XG4gICAgICAgICAgYXBwLnJvdXRlci5uYXZpZ2F0ZShjb21tYW5kcywgZXh0cmFzID8/IHt9KS50aGVuKCgpID0+IGFwcC5zaWRlTmF2LmNvbGxhcHNlKCkpO1xuICAgICAgICB9XG4gICAgICB9O1xuICAgIH0pO1xuICB9XG5cbiAgc3RhdGljIHByb3ZpZGVOYXZpZ2F0ZVNpZGVBcHBFZmZlY3QoKSB7XG4gICAgcmV0dXJuIHByb3ZpZGVFZmZlY3QoQXBwRnJhbWVTdG9yZS5BY3Rpb25JZC5OQVZJR0FURV9TSURFX0FQUCwgKCkgPT4ge1xuICAgICAgY29uc3QgYXBwID0gaW5qZWN0KEFwcFNlcnZpY2UpO1xuICAgICAgcmV0dXJuIChwYXlsb2FkOiBzdHJpbmdbXSB8IHtjb21tYW5kczogc3RyaW5nW10sIGV4dHJhcz86IE5hdmlnYXRpb25FeHRyYXMgJiB7ZXhwYW5kZWQ/OiBib29sZWFufX0pID0+IHtcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkocGF5bG9hZCkpIHtcbiAgICAgICAgICBhcHAuc2lkZUFwcC5yb3V0ZXIubmF2aWdhdGUocGF5bG9hZCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29uc3Qge2NvbW1hbmRzLCBleHRyYXN9ID0gcGF5bG9hZDtcbiAgICAgICAgICBhcHAuc2lkZUFwcC5yb3V0ZXIubmF2aWdhdGUoY29tbWFuZHMsIGV4dHJhcyA/PyB7fSk7XG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgfSk7XG4gIH1cblxuICBzdGF0aWMgcHJvdmlkZVNpZ25PdXRFZmZlY3QoKSB7XG4gICAgcmV0dXJuIHByb3ZpZGVFZmZlY3QoQXBwRnJhbWVTdG9yZS5BY3Rpb25JZC5TSUdOX09VVCwgKCkgPT4ge1xuICAgICAgY29uc3QgYXBwID0gaW5qZWN0KEFwcFNlcnZpY2UpO1xuICAgICAgY29uc3QgYXV0aCA9IGluamVjdChBdXRoU2VydmljZSk7XG4gICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICBhdXRoLnNpZ25PdXQoKS50aGVuKCgpID0+IHtcbiAgICAgICAgICBhcHAuc2lkZU5hdi5jb2xsYXBzZSgpO1xuICAgICAgICAgIGFwcC5zbmFja0Jhci5vcGVuKCfjgrXjgqTjg7PjgqLjgqbjg4jjgZfjgb7jgZfjgZ8nKTtcbiAgICAgICAgfSk7XG4gICAgICB9O1xuICAgIH0pO1xuICB9XG4gIHN0YXRpYyBwcm92aWRlT3BlblNpZGVBcHBFZmZlY3QoKSB7XG4gICAgcmV0dXJuIHByb3ZpZGVFZmZlY3QoQXBwRnJhbWVTdG9yZS5BY3Rpb25JZC5PUEVOX1NJREVfQVBQLCAoKSA9PiB7XG4gICAgICBjb25zdCBhcHAgPSBpbmplY3QoQXBwU2VydmljZSk7XG4gICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICBhcHAuc2lkZUFwcC5leHBhbmQoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuICBzdGF0aWMgcHJvdmlkZUNsb3NlU2lkZUFwcEVmZmVjdCgpIHtcbiAgICByZXR1cm4gcHJvdmlkZUVmZmVjdChOYXZBY3Rpb25JZC5DTE9TRSwgKCkgPT4ge1xuICAgICAgY29uc3QgYXBwID0gaW5qZWN0KEFwcFNlcnZpY2UpO1xuICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgYXBwLnNpZGVBcHAuY29sbGFwc2UoKTtcbiAgICAgIH07XG4gICAgfSk7XG4gIH1cbiAgc3RhdGljIHByb3ZpZGVTaWduVXBXaXRoRW1haWxFZmZlY3QoKSB7XG4gICAgcmV0dXJuIHByb3ZpZGVFZmZlY3QoQXBwRnJhbWVTdG9yZS5BY3Rpb25JZC5TSUdOX1VQX1dJVEhfRU1BSUwsICgpID0+IHtcbiAgICAgIGNvbnN0IGFwcCA9IGluamVjdChBcHBTZXJ2aWNlKTtcbiAgICAgIGNvbnN0IHN0b3JlID0gaW5qZWN0KEFwcEZyYW1lU3RvcmUpO1xuICAgICAgY29uc3QgYXV0aCA9IGluamVjdChBdXRoU2VydmljZSk7XG4gICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICBjb25zdCBkYXRhID0gc3RvcmUuZm9ybSgpLmdldFJhd1ZhbHVlKCkgYXMge2VtYWlsOiBzdHJpbmcsIHBhc3N3b3JkOiBzdHJpbmd9O1xuICAgICAgICBhcHAubG9hZGluZy5hd2FpdCgoKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGF1dGguY3JlYXRlVXNlcldpdGhFbWFpbEFuZFBhc3N3b3JkKGRhdGEuZW1haWwsIGRhdGEucGFzc3dvcmQpLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgYXBwLnNuYWNrQmFyLm9wZW4oJ+aWsOimj+eZu+mMsuOBl+OBvuOBl+OBn+OAgicpO1xuICAgICAgICAgIH0pLmNhdGNoKChlcnJvcikgPT4ge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcihlcnJvcik7XG4gICAgICAgICAgICBhcHAuc25hY2tCYXIub3BlbihlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgICB9O1xuICAgIH0pO1xuICB9XG4gIHN0YXRpYyBwcm92aWRlU2lnbkluV2l0aEVtYWlsRWZmZWN0KCkge1xuICAgIHJldHVybiBwcm92aWRlRWZmZWN0KEFwcEZyYW1lU3RvcmUuQWN0aW9uSWQuU0lHTl9JTl9XSVRIX0VNQUlMLCAoKSA9PiB7XG4gICAgICBjb25zdCBhcHAgPSBpbmplY3QoQXBwU2VydmljZSk7XG4gICAgICBjb25zdCBzdG9yZSA9IGluamVjdChBcHBGcmFtZVN0b3JlKTtcbiAgICAgIGNvbnN0IGF1dGggPSBpbmplY3QoQXV0aFNlcnZpY2UpO1xuICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgY29uc3QgZGF0YSA9IHN0b3JlLmZvcm0oKS5nZXRSYXdWYWx1ZSgpIGFzIHtlbWFpbDogc3RyaW5nLCBwYXNzd29yZDogc3RyaW5nfTtcbiAgICAgICAgYXBwLmxvYWRpbmcuYXdhaXQoKCkgPT4ge1xuICAgICAgICAgIHJldHVybiBhdXRoLnNpZ25JbldpdGhFbWFpbEFuZFBhc3N3b3JkKGRhdGEuZW1haWwsIGRhdGEucGFzc3dvcmQpLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgYXBwLnNuYWNrQmFyLm9wZW4oJ+ODreOCsOOCpOODs+OBl+OBvuOBl+OBnycpO1xuICAgICAgICAgIH0pLmNhdGNoKChlcnJvcikgPT4ge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcihlcnJvcik7XG4gICAgICAgICAgICBhcHAuc25hY2tCYXIub3BlbihlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgICB9O1xuICAgIH0pO1xuICB9XG4gIHN0YXRpYyBwcm92aWRlU2lnbkluV2l0aEdvb2dsZUVmZmVjdCgpIHtcbiAgICByZXR1cm4gcHJvdmlkZUVmZmVjdChBcHBGcmFtZVN0b3JlLkFjdGlvbklkLlNJR05fSU5fV0lUSF9HT09HTEUsICgpID0+IHtcbiAgICAgIGNvbnN0IGFwcCA9IGluamVjdChBcHBTZXJ2aWNlKTtcbiAgICAgIGNvbnN0IGF1dGggPSBpbmplY3QoQXV0aFNlcnZpY2UpO1xuICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgYXV0aC5zaWduSW5XaXRoR29vZ2xlKCkudGhlbigoKSA9PiB7XG4gICAgICAgICAgYXBwLnNuYWNrQmFyLm9wZW4oJ+ODreOCsOOCpOODs+OBl+OBvuOBl+OBnycpO1xuICAgICAgICB9KS5jYXRjaCgoZXJyb3IpID0+IHtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcbiAgICAgICAgICBjb25zdCBfbWVzc2FnZSA9IGVycm9yLm1lc3NhZ2UubWF0Y2goL0hUVFAgQ2xvdWQgRnVuY3Rpb24gcmV0dXJuZWQgYW4gZXJyb3I6ICguKikgXFwoLiovKTtcbiAgICAgICAgICBjb25zdCBtZXNzYWdlID0gX21lc3NhZ2UgPyBKU09OLnBhcnNlKF9tZXNzYWdlWzFdKS5lcnJvci5tZXNzYWdlIDogZXJyb3IubWVzc2FnZTtcbiAgICAgICAgICBhcHAuc25hY2tCYXIub3BlbihtZXNzYWdlKTtcbiAgICAgICAgfSk7XG4gICAgICB9O1xuICAgIH0pO1xuICB9XG4gIHN0YXRpYyBwcm92aWRlU2lnbkluV2l0aFR3aXR0ZXJFZmZlY3QoKSB7XG4gICAgcmV0dXJuIHByb3ZpZGVFZmZlY3QoQXBwRnJhbWVTdG9yZS5BY3Rpb25JZC5TSUdOX0lOX1dJVEhfVFdJVFRFUiwgKCkgPT4ge1xuICAgICAgY29uc3QgYXBwID0gaW5qZWN0KEFwcFNlcnZpY2UpO1xuICAgICAgY29uc3QgYXV0aCA9IGluamVjdChBdXRoU2VydmljZSk7XG4gICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICBhdXRoLnNpZ25JbldpdGhUd2l0dGVyKCkudGhlbigoKSA9PiB7XG4gICAgICAgICAgYXBwLnNuYWNrQmFyLm9wZW4oJ+ODreOCsOOCpOODs+OBl+OBvuOBl+OBnycpO1xuICAgICAgICB9KS5jYXRjaCgoZXJyb3IpID0+IHtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcbiAgICAgICAgICBhcHAuc25hY2tCYXIub3BlbihlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgfSk7XG4gICAgICB9O1xuICAgIH0pO1xuICB9XG4gIHN0YXRpYyBwcm92aWRlRGVmYXVsdEVmZmVjdHMoKSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIEFwcEZyYW1lU3RvcmUucHJvdmlkZU5hdmlnYXRlRWZmZWN0KCksXG4gICAgICBBcHBGcmFtZVN0b3JlLnByb3ZpZGVTaWduT3V0RWZmZWN0KCksXG4gICAgICBBcHBGcmFtZVN0b3JlLnByb3ZpZGVPcGVuU2lkZUFwcEVmZmVjdCgpLFxuICAgICAgQXBwRnJhbWVTdG9yZS5wcm92aWRlQ2xvc2VTaWRlQXBwRWZmZWN0KCksXG4gICAgICBBcHBGcmFtZVN0b3JlLnByb3ZpZGVTaWduVXBXaXRoRW1haWxFZmZlY3QoKSxcbiAgICAgIEFwcEZyYW1lU3RvcmUucHJvdmlkZVNpZ25JbldpdGhFbWFpbEVmZmVjdCgpLFxuICAgICAgQXBwRnJhbWVTdG9yZS5wcm92aWRlU2lnbkluV2l0aEdvb2dsZUVmZmVjdCgpLFxuICAgICAgQXBwRnJhbWVTdG9yZS5wcm92aWRlU2lnbkluV2l0aFR3aXR0ZXJFZmZlY3QoKSxcbiAgICAgIEFwcEZyYW1lU3RvcmUucHJvdmlkZU5hdmlnYXRlU2lkZUFwcEVmZmVjdCgpLFxuICAgIF07XG4gIH1cblxuICBzdGF0aWMgcHJvdmlkZURlZmF1bHQoKSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIEFwcEZyYW1lU3RvcmUucHJvdmlkZUFwcFNlcnZpY2VDb25maWcoKSxcbiAgICAgIEFwcEZyYW1lU3RvcmUucHJvdmlkZUljb25CdXR0b25NZW51QXNEZWZhdWx0Q29uZmlnKCksXG4gICAgICBBcHBGcmFtZVN0b3JlLnByb3ZpZGVEZWZhdWx0RWZmZWN0cygpLFxuICAgIF1cbiAgfVxuXG4gIHN0YXRpYyBpbmplY3ROYXZBY3Rpb25GYWN0b3J5KCkge1xuICAgIGNvbnN0IGhhc05leHQgPSBpbmplY3RIYXNOZXh0KCk7XG4gICAgY29uc3Qgcm91dGUgPSBpbmplY3QoQWN0aXZhdGVkUm91dGUpO1xuICAgIGNvbnN0IG5hdmlnYXRlQWN0aW9uQnVpbGRlciA9IGNyZWF0ZUFjdGlvbihBcHBGcmFtZVN0b3JlLkFjdGlvbklkLk5BVklHQVRFLCB1bmRlZmluZWQsIHtcbiAgICAgIGljb246ICdvcGVuX2luX25ldycsXG4gICAgfSk7XG4gICAgcmV0dXJuIChjb21tYW5kczogYW55W10sIG5hbWU6IHN0cmluZykgPT4ge1xuICAgICAgcmV0dXJuIG5hdmlnYXRlQWN0aW9uQnVpbGRlci5jcmVhdGUoe1xuICAgICAgICBjb21tYW5kcyxcbiAgICAgICAgZXh0cmFzOiB7IHJlbGF0aXZlVG86IHJvdXRlLCByZXBsYWNlVXJsOiBoYXNOZXh0KCkgfVxuICAgICAgfSwge1xuICAgICAgICBuYW1lLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcmVhZG9ubHkgY29uZmlnID0gQXBwRnJhbWVTdG9yZS5Db25maWcuaW5qZWN0KCk7XG4gIHJlYWRvbmx5IGlzTG9hZGluZyA9IGlucHV0KF9jb21wdXRlZCgoKSA9PiB0aGlzLmNvbmZpZygpLmlzTG9hZGluZykpO1xuICByZWFkb25seSBpc1Byb2dyZXNzID0gaW5wdXQoX2NvbXB1dGVkKCgpID0+IHRoaXMuY29uZmlnKCkuaXNQcm9ncmVzcykpO1xuICByZWFkb25seSBpc0VudHJhbmNlID0gaW5wdXQoX2NvbXB1dGVkKCgpID0+IHRoaXMuY29uZmlnKCkuaXNFbnRyYW5jZSkpO1xuICByZWFkb25seSBzaWRlQXBwT3BlbmVkID0gaW5wdXQoX2NvbXB1dGVkKCgpID0+IHRoaXMuY29uZmlnKCkuc2lkZUFwcE9wZW5lZCkpO1xuICByZWFkb25seSB0aXRsZSA9IGlucHV0KF9jb21wdXRlZCgoKSA9PiB0aGlzLmNvbmZpZygpLnRpdGxlKSk7XG4gIHJlYWRvbmx5IGZvcm0gPSBpbnB1dChfY29tcHV0ZWQoKCkgPT4gdGhpcy5jb25maWcoKS5mb3JtKSk7XG4gIHJlYWRvbmx5IGVudHJhbmNlQWN0aW9ucyA9IGlucHV0KF9jb21wdXRlZCgoKSA9PiB0aGlzLmNvbmZpZygpLmVudHJhbmNlQWN0aW9ucykpO1xuICByZWFkb25seSBzaWRlTmF2QWN0aW9ucyA9IGlucHV0KF9jb21wdXRlZCgoKSA9PiB0aGlzLmNvbmZpZygpLnNpZGVOYXZBY3Rpb25zKSk7XG4gIHJlYWRvbmx5IHNpZGVOYXZCb3R0b21BY3Rpb25zID0gaW5wdXQoX2NvbXB1dGVkKCgpID0+IHRoaXMuY29uZmlnKCkuc2lkZU5hdkJvdHRvbUFjdGlvbnMpKTtcbiAgcmVhZG9ubHkgc2lkZU5hdk1vZGUgPSBpbnB1dChfY29tcHV0ZWQoKCkgPT4gdGhpcy5jb25maWcoKS5zaWRlTmF2TW9kZSkpO1xuICByZWFkb25seSBzaWRlTmF2TWVudVR5cGUgPSBpbnB1dChfY29tcHV0ZWQoKCkgPT4gdGhpcy5jb25maWcoKS5zaWRlTmF2TWVudVR5cGUpKTtcbiAgcmVhZG9ubHkgc2lkZU5hdk1lbnVUaXRsZSA9IGlucHV0KF9jb21wdXRlZCgoKSA9PiB0aGlzLmNvbmZpZygpLnNpZGVOYXZNZW51VGl0bGUpKTtcbiAgcmVhZG9ubHkgc2lkZUFwcE91dGxldE5hbWUgPSBpbnB1dChfY29tcHV0ZWQoKCkgPT4gdGhpcy5jb25maWcoKS5zaWRlQXBwT3V0bGV0TmFtZSkpO1xuICByZWFkb25seSBmYWJBY3Rpb25zID0gaW5wdXQoX2NvbXB1dGVkKCgpID0+IHRoaXMuY29uZmlnKCkuZmFiQWN0aW9ucykpO1xuICByZWFkb25seSBmYWJIaWRlID0gaW5wdXQoX2NvbXB1dGVkKCgpID0+IHRoaXMuY29uZmlnKCkuZmFiSGlkZSkpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgQXBwRnJhbWVTdG9yZS5Jbml0aWFsaXplci5pbml0aWFsaXplU3RvcmUodGhpcyk7XG4gIH1cbn1cblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmcmFtZXMtYXBwJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIEZhYkZyYW1lLFxuICAgIExvYWRpbmdGcmFtZSxcbiAgICBTaWRlTmF2RnJhbWUsXG4gICAgUm91dGVyT3V0bGV0LFxuICAgIEVudHJhbmNlRnJhbWUsXG4gICAgLy8gRHJhd2VyRnJhbWVTdG9yZSxcbiAgICBEcmF3ZXJGcmFtZSxcbiAgICBCYWNrZ3JvdW5kVGVtcGxhdGVTdG9yZSxcbiAgICBQcm9ncmVzc0JhckZyYW1lLFxuXSxcbiAgdGVtcGxhdGU6IGBcbiAgPHJvdXRlci1vdXRsZXQvPlxuICBAaWYgKGlzUGxhdGZvcm1Ccm93c2VyKCkpIHtcbiAgICBAZGVmZXIge1xuICAgICAgPHRlbXBsYXRlcy1iYWNrZ3JvdW5kIGluamVjdGFibGUvPlxuICAgIH1cbiAgfVxuICA8ZnJhbWVzLWxvYWRpbmcgW2lzTG9hZGluZ109XCJzdG9yZS5pc0xvYWRpbmcoKVwiPlxuICAgIDxmcmFtZXMtcHJvZ3Jlc3MtYmFyIFtpc1Byb2dyZXNzXT1cInN0b3JlLmlzUHJvZ3Jlc3MoKVwiIFttb2RlXT1cIidxdWVyeSdcIj5cbiAgICAgIDxmcmFtZXMtZmFiXG4gICAgICAgIFthY3Rpb25zXT1cInN0b3JlLmZhYkFjdGlvbnMoKVwiXG4gICAgICAgIFtoaWRlXT1cInN0b3JlLmZhYkhpZGUoKVwiXG4gICAgICAgIChhY3Rpb24pPVwiZGlzcGF0Y2goJGV2ZW50KVwiXG4gICAgICA+XG4gICAgICAgIDxmcmFtZXMtZW50cmFuY2VcbiAgICAgICAgICBbaXNFbnRyYW5jZV09XCJzdG9yZS5pc0VudHJhbmNlKClcIlxuICAgICAgICAgIFtmb3JtXT1cInN0b3JlLmZvcm0oKVwiXG4gICAgICAgICAgW3RpdGxlXT1cInN0b3JlLnRpdGxlKClcIlxuICAgICAgICAgIFthY3Rpb25zXT1cInN0b3JlLmVudHJhbmNlQWN0aW9ucygpXCJcbiAgICAgICAgICAoYWN0aW9uKT1cImRpc3BhdGNoKCRldmVudClcIlxuICAgICAgICA+XG4gICAgICAgICAgPGZyYW1lcy1kcmF3ZXJcbiAgICAgICAgICAgIFtvcGVuZWRdPVwic3RvcmUuc2lkZUFwcE9wZW5lZCgpXCJcbiAgICAgICAgICAgIFtwb3NpdGlvbl09XCInZW5kJ1wiXG4gICAgICAgICAgICBbaGFzQmFja2Ryb3BdPVwiZmFsc2VcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxmcmFtZXMtc2lkZS1uYXZcbiAgICAgICAgICAgICAgW2FjdGlvbnNdPVwic3RvcmUuc2lkZU5hdkFjdGlvbnMoKVwiXG4gICAgICAgICAgICAgIFtib3R0b21BY3Rpb25zXT1cInN0b3JlLnNpZGVOYXZCb3R0b21BY3Rpb25zKClcIlxuICAgICAgICAgICAgICBbbW9kZV09XCJzdG9yZS5zaWRlTmF2TW9kZSgpXCJcbiAgICAgICAgICAgICAgW21lbnVUeXBlXT1cInN0b3JlLnNpZGVOYXZNZW51VHlwZSgpXCJcbiAgICAgICAgICAgICAgW21lbnVUaXRsZV09XCJzdG9yZS5zaWRlTmF2TWVudVRpdGxlKClcIlxuICAgICAgICAgICAgICAoYWN0aW9uKT1cImRpc3BhdGNoKCRldmVudClcIlxuICAgICAgICAgICAgICBjb250ZW50c1xuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8cm91dGVyLW91dGxldCBjb250ZW50cy8+XG4gICAgICAgICAgICA8L2ZyYW1lcy1zaWRlLW5hdj5cbiAgICAgICAgICAgIDxkaXYgZHJhd2VyIHN0eWxlPVwid2lkdGg6IHZhcigtLXBhZ2Utd2lkdGgtbHYxKTtoZWlnaHQ6IDEwMCU7XCI+XG4gICAgICAgICAgICAgIDxyb3V0ZXItb3V0bGV0IFtuYW1lXT1cInN0b3JlLnNpZGVBcHBPdXRsZXROYW1lKClcIiAvPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9mcmFtZXMtZHJhd2VyPlxuICAgICAgICA8L2ZyYW1lcy1lbnRyYW5jZT5cbiAgICAgIDwvZnJhbWVzLWZhYj5cbiAgICA8L2ZyYW1lcy1wcm9ncmVzcy1iYXI+XG4gIDwvZnJhbWVzLWxvYWRpbmc+XG4gIGAsXG4gIHN0eWxlVXJsOiAnLi9hcHAuZnJhbWUuc2NzcycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBob3N0RGlyZWN0aXZlczogW1xuICAgIEFwcEZyYW1lU3RvcmUsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEFwcEZyYW1lIGV4dGVuZHMgTmdBdG9taWNDb21wb25lbnQge1xuICBwcm90ZWN0ZWQgc3RvcmUgPSBpbmplY3QoQXBwRnJhbWVTdG9yZSk7XG4gIHJlYWRvbmx5IHBsYXRmb3JtSWQgPSBpbmplY3QoUExBVEZPUk1fSUQpO1xuXG4gIHByb3RlY3RlZCBpc1BsYXRmb3JtU2VydmVyKCkge1xuICAgIHJldHVybiBpc1BsYXRmb3JtU2VydmVyKHRoaXMucGxhdGZvcm1JZCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgaXNQbGF0Zm9ybUJyb3dzZXIoKSB7XG4gICAgcmV0dXJuIGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCk7XG4gIH1cbn1cbiJdfQ==