matcha-components 19.74.0 → 19.76.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 (115) hide show
  1. package/esm2022/lib/matcha-accordion/accordion/accordion.component.mjs +49 -0
  2. package/esm2022/lib/matcha-accordion/accordion-content/accordion-content.component.mjs +11 -0
  3. package/esm2022/lib/matcha-accordion/accordion-header/accordion-header.component.mjs +11 -0
  4. package/esm2022/lib/matcha-accordion/accordion-item/accordion-item.component.mjs +42 -0
  5. package/esm2022/lib/matcha-accordion/accordion.module.mjs +59 -0
  6. package/esm2022/lib/matcha-animations/animations.mjs +352 -0
  7. package/esm2022/lib/matcha-autocomplete/matcha-autocomplete/matcha-autocomplete.component.mjs +46 -0
  8. package/esm2022/lib/matcha-autocomplete/matcha-autocomplete.directive.mjs +71 -0
  9. package/esm2022/lib/matcha-autocomplete/matcha-autocomplete.module.mjs +21 -0
  10. package/esm2022/lib/matcha-badge/badge.directive.mjs +20 -0
  11. package/esm2022/lib/matcha-badge/badge.module.mjs +17 -0
  12. package/esm2022/lib/matcha-button/button/button.component.mjs +205 -0
  13. package/esm2022/lib/matcha-button/button.module.mjs +17 -0
  14. package/esm2022/lib/matcha-button-toggle/button-toggle/button-toggle.component.mjs +88 -0
  15. package/esm2022/lib/matcha-button-toggle/button-toggle.module.mjs +24 -0
  16. package/esm2022/lib/matcha-card/card/card.component.mjs +81 -0
  17. package/esm2022/lib/matcha-card/card.module.mjs +40 -0
  18. package/esm2022/lib/matcha-checkbox/checkbox/checkbox.component.mjs +81 -0
  19. package/esm2022/lib/matcha-checkbox/checkbox.module.mjs +23 -0
  20. package/esm2022/lib/matcha-chips/chips.module.mjs +19 -0
  21. package/esm2022/lib/matcha-chips/matcha-chips.directive.mjs +20 -0
  22. package/esm2022/lib/matcha-components.module.mjs +55 -0
  23. package/esm2022/lib/matcha-datepicker/datepicker.directive.mjs +20 -0
  24. package/esm2022/lib/matcha-datepicker/datepicker.module.mjs +17 -0
  25. package/esm2022/lib/matcha-divider/divider/divider.component.mjs +66 -0
  26. package/esm2022/lib/matcha-divider/divider.module.mjs +22 -0
  27. package/esm2022/lib/matcha-elevation/elevation.directive.mjs +39 -0
  28. package/esm2022/lib/matcha-elevation/elevation.module.mjs +18 -0
  29. package/esm2022/lib/matcha-form-field/matcha-error/matcha-error.component.mjs +12 -0
  30. package/esm2022/lib/matcha-form-field/matcha-form-field/matcha-form-field.component.mjs +51 -0
  31. package/esm2022/lib/matcha-form-field/matcha-form-field.module.mjs +21 -0
  32. package/esm2022/lib/matcha-form-field/matcha-label/matcha-label.component.mjs +16 -0
  33. package/esm2022/lib/matcha-grid/grid.component.mjs +110 -0
  34. package/esm2022/lib/matcha-grid/grid.module.mjs +18 -0
  35. package/esm2022/lib/matcha-hint-text/hint/hint-text.component.mjs +38 -0
  36. package/esm2022/lib/matcha-hint-text/hint.module.mjs +24 -0
  37. package/esm2022/lib/matcha-icon/icon.component.mjs +36 -0
  38. package/esm2022/lib/matcha-icon/icon.module.mjs +19 -0
  39. package/esm2022/lib/matcha-infinite-scroll/matcha-infinite-scroll/matcha-infinite-scroll.component.mjs +46 -0
  40. package/esm2022/lib/matcha-infinite-scroll/matcha-infinite-scroll-data/matcha-infinite-scroll-data.component.mjs +137 -0
  41. package/esm2022/lib/matcha-infinite-scroll/matcha-infinite-scroll.module.mjs +21 -0
  42. package/esm2022/lib/matcha-input/input.directive.mjs +20 -0
  43. package/esm2022/lib/matcha-input/input.module.mjs +17 -0
  44. package/esm2022/lib/matcha-masonry/masonry/masonry.component.mjs +77 -0
  45. package/esm2022/lib/matcha-masonry/masonry.module.mjs +18 -0
  46. package/esm2022/lib/matcha-menu/menu.component.mjs +54 -0
  47. package/esm2022/lib/matcha-menu/menu.directive.mjs +53 -0
  48. package/esm2022/lib/matcha-menu/menu.module.mjs +29 -0
  49. package/esm2022/lib/matcha-modal/matcha-modal.module.mjs +73 -0
  50. package/esm2022/lib/matcha-modal/modal/modal.component.mjs +89 -0
  51. package/esm2022/lib/matcha-modal/modal-content/modal-content.component.mjs +11 -0
  52. package/esm2022/lib/matcha-modal/modal-footer/modal-footer.component.mjs +35 -0
  53. package/esm2022/lib/matcha-modal/modal-header/modal-header.component.mjs +12 -0
  54. package/esm2022/lib/matcha-modal/modal-options/modal-options.component.mjs +11 -0
  55. package/esm2022/lib/matcha-modal/modal.service.mjs +43 -0
  56. package/esm2022/lib/matcha-modal/overlay.service.mjs +131 -0
  57. package/esm2022/lib/matcha-option/matcha-option/matcha-option.component.mjs +33 -0
  58. package/esm2022/lib/matcha-option/matcha-option.module.mjs +18 -0
  59. package/esm2022/lib/matcha-option/matcha-option.service.mjs +73 -0
  60. package/esm2022/lib/matcha-overflow-draggable/matcha-overflow-draggable.component.mjs +54 -0
  61. package/esm2022/lib/matcha-paginator/paginator.directive.mjs +20 -0
  62. package/esm2022/lib/matcha-paginator/paginator.module.mjs +18 -0
  63. package/esm2022/lib/matcha-progress-bar/progress-bar.directive.mjs +20 -0
  64. package/esm2022/lib/matcha-progress-bar/progress-bar.module.mjs +22 -0
  65. package/esm2022/lib/matcha-radio-button/matcha-radio-button.directive.mjs +20 -0
  66. package/esm2022/lib/matcha-radio-button/radio-button.module.mjs +20 -0
  67. package/esm2022/lib/matcha-ripple/ripple.directive.mjs +71 -0
  68. package/esm2022/lib/matcha-ripple/ripple.module.mjs +24 -0
  69. package/esm2022/lib/matcha-select/select.directive.mjs +20 -0
  70. package/esm2022/lib/matcha-select/select.module.mjs +18 -0
  71. package/esm2022/lib/matcha-sidenav/sidenav.directive.mjs +20 -0
  72. package/esm2022/lib/matcha-sidenav/sidenav.module.mjs +18 -0
  73. package/esm2022/lib/matcha-slide-toggle/slide-toggle/slide-toggle.component.mjs +95 -0
  74. package/esm2022/lib/matcha-slide-toggle/slide-toggle.module.mjs +21 -0
  75. package/esm2022/lib/matcha-slider/matcha-slider.directive.mjs +20 -0
  76. package/esm2022/lib/matcha-slider/slider.module.mjs +20 -0
  77. package/esm2022/lib/matcha-snackbar/snack-bar.directive.mjs +20 -0
  78. package/esm2022/lib/matcha-snackbar/snack-bar.module.mjs +18 -0
  79. package/esm2022/lib/matcha-sort-header/sort-header.directive.mjs +20 -0
  80. package/esm2022/lib/matcha-sort-header/sort-header.module.mjs +18 -0
  81. package/esm2022/lib/matcha-spin/spin/spin.component.mjs +85 -0
  82. package/esm2022/lib/matcha-spin/spin.module.mjs +20 -0
  83. package/esm2022/lib/matcha-table/table.directive.mjs +20 -0
  84. package/esm2022/lib/matcha-table/table.module.mjs +18 -0
  85. package/esm2022/lib/matcha-tabs/tab-item/tab-item.component.mjs +29 -0
  86. package/esm2022/lib/matcha-tabs/tabs/tabs.component.mjs +68 -0
  87. package/esm2022/lib/matcha-tabs/tabs.module.mjs +29 -0
  88. package/esm2022/lib/matcha-title/title/title.component.mjs +66 -0
  89. package/esm2022/lib/matcha-title/title.module.mjs +18 -0
  90. package/esm2022/lib/matcha-toolbar/toolbar/toolbar.component.mjs +34 -0
  91. package/esm2022/lib/matcha-toolbar/toolbar-button/toolbar-button.component.mjs +28 -0
  92. package/esm2022/lib/matcha-toolbar/toolbar-content/toolbar-content.component.mjs +11 -0
  93. package/esm2022/lib/matcha-toolbar/toolbar-main-button/toolbar-main-button.component.mjs +20 -0
  94. package/esm2022/lib/matcha-toolbar/toolbar.module.mjs +53 -0
  95. package/esm2022/lib/matcha-tooltip/tooltip.directive.mjs +184 -0
  96. package/esm2022/lib/matcha-tooltip/tooltip.module.mjs +19 -0
  97. package/esm2022/lib/matcha-tree/tree.directive.mjs +20 -0
  98. package/esm2022/lib/matcha-tree/tree.module.mjs +18 -0
  99. package/esm2022/matcha-components.mjs +5 -0
  100. package/esm2022/public-api.mjs +119 -0
  101. package/fesm2022/matcha-components.mjs +536 -571
  102. package/fesm2022/matcha-components.mjs.map +1 -1
  103. package/lib/matcha-autocomplete/matcha-autocomplete/matcha-autocomplete.component.d.ts +16 -0
  104. package/lib/matcha-autocomplete/matcha-autocomplete.directive.d.ts +19 -0
  105. package/lib/matcha-autocomplete/matcha-autocomplete.module.d.ts +11 -0
  106. package/lib/matcha-components.module.d.ts +19 -18
  107. package/lib/matcha-form-field/matcha-form-field/matcha-form-field.component.d.ts +1 -1
  108. package/lib/matcha-option/matcha-option/matcha-option.component.d.ts +14 -0
  109. package/lib/matcha-option/matcha-option.module.d.ts +8 -0
  110. package/lib/matcha-option/matcha-option.service.d.ts +24 -0
  111. package/package.json +3 -1
  112. package/public-api.d.ts +6 -3
  113. package/lib/matcha-autocomplete/autocomplete-overview.directive.d.ts +0 -9
  114. package/lib/matcha-autocomplete/autocomplete.directive.d.ts +0 -9
  115. package/lib/matcha-autocomplete/autocomplete.module.d.ts +0 -8
@@ -0,0 +1,49 @@
1
+ import { Component, Input, ContentChildren, Output, EventEmitter } from '@angular/core';
2
+ import { MatchaAccordionItemComponent } from '../accordion-item/accordion-item.component';
3
+ import * as i0 from "@angular/core";
4
+ export class MatchaAccordionComponent {
5
+ constructor() {
6
+ this._multiple = false;
7
+ this.openedChange = new EventEmitter();
8
+ }
9
+ set multiple(value) {
10
+ // Converte 'false' (string) ou false (boolean) para false, e qualquer outro valor para true.
11
+ this._multiple = value != null && `${value}` !== 'false';
12
+ }
13
+ get multiple() {
14
+ return this._multiple;
15
+ }
16
+ ngAfterContentInit() {
17
+ this.items.forEach(item => {
18
+ item.opened.subscribe((isOpen) => {
19
+ this.toggleItem(item);
20
+ this.openedChange.emit(isOpen);
21
+ });
22
+ });
23
+ }
24
+ toggleItem(selectedItem) {
25
+ // Se não permite múltiplos itens abertos e o item selecionado foi aberto, fecha os demais.
26
+ if (!this.multiple && selectedItem.isOpen) {
27
+ this.items.forEach(item => {
28
+ if (item !== selectedItem) {
29
+ item.isOpen = false;
30
+ }
31
+ });
32
+ }
33
+ }
34
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MatchaAccordionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
35
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: MatchaAccordionComponent, selector: "matcha-accordion", inputs: { multiple: "multiple" }, outputs: { openedChange: "openedChange" }, queries: [{ propertyName: "items", predicate: MatchaAccordionItemComponent }], ngImport: i0, template: "<ng-content></ng-content>\n", styles: [""] }); }
36
+ }
37
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MatchaAccordionComponent, decorators: [{
38
+ type: Component,
39
+ args: [{ selector: 'matcha-accordion', standalone: false, template: "<ng-content></ng-content>\n" }]
40
+ }], propDecorators: { multiple: [{
41
+ type: Input
42
+ }], openedChange: [{
43
+ type: Output,
44
+ args: ['openedChange']
45
+ }], items: [{
46
+ type: ContentChildren,
47
+ args: [MatchaAccordionItemComponent]
48
+ }] } });
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3JkaW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hdGNoYS1jb21wb25lbnRzL3NyYy9saWIvbWF0Y2hhLWFjY29yZGlvbi9hY2NvcmRpb24vYWNjb3JkaW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hdGNoYS1jb21wb25lbnRzL3NyYy9saWIvbWF0Y2hhLWFjY29yZGlvbi9hY2NvcmRpb24vYWNjb3JkaW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLGVBQWUsRUFBK0IsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNySCxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQzs7QUFTMUYsTUFBTSxPQUFPLHdCQUF3QjtJQU5yQztRQU9ZLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFVRixpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7S0F1QnRFO0lBaENHLElBQ0ksUUFBUSxDQUFDLEtBQXVCO1FBQ2hDLDZGQUE2RjtRQUM3RixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssSUFBSSxJQUFJLElBQUksR0FBRyxLQUFLLEVBQUUsS0FBSyxPQUFPLENBQUM7SUFDN0QsQ0FBQztJQUNELElBQUksUUFBUTtRQUNSLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUMxQixDQUFDO0lBTUQsa0JBQWtCO1FBQ2QsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDdEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFlLEVBQUUsRUFBRTtnQkFDdEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDdEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDbkMsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxVQUFVLENBQUMsWUFBMEM7UUFDakQsMkZBQTJGO1FBQzNGLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLFlBQVksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUN4QyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDdEIsSUFBSSxJQUFJLEtBQUssWUFBWSxFQUFFLENBQUM7b0JBQ3hCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO2dCQUN4QixDQUFDO1lBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDO0lBQ0wsQ0FBQzsrR0FqQ1Esd0JBQXdCO21HQUF4Qix3QkFBd0IsMkpBYWhCLDRCQUE0Qiw2QkN2QmpELDZCQUNBOzs0RkRTYSx3QkFBd0I7a0JBTnBDLFNBQVM7K0JBQ0ksa0JBQWtCLGNBR2hCLEtBQUs7OEJBS2IsUUFBUTtzQkFEWCxLQUFLO2dCQVNrQixZQUFZO3NCQUFuQyxNQUFNO3VCQUFDLGNBQWM7Z0JBRXlCLEtBQUs7c0JBQW5ELGVBQWU7dUJBQUMsNEJBQTRCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgQ29udGVudENoaWxkcmVuLCBRdWVyeUxpc3QsIEFmdGVyQ29udGVudEluaXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRjaGFBY2NvcmRpb25JdGVtQ29tcG9uZW50IH0gZnJvbSAnLi4vYWNjb3JkaW9uLWl0ZW0vYWNjb3JkaW9uLWl0ZW0uY29tcG9uZW50JztcblxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ21hdGNoYS1hY2NvcmRpb24nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9hY2NvcmRpb24uY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsOiAnLi9hY2NvcmRpb24uY29tcG9uZW50LnNjc3MnLFxuICAgIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIE1hdGNoYUFjY29yZGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQge1xuICAgIHByaXZhdGUgX211bHRpcGxlID0gZmFsc2U7XG4gICAgQElucHV0KClcbiAgICBzZXQgbXVsdGlwbGUodmFsdWU6IGJvb2xlYW4gfCBzdHJpbmcpIHtcbiAgICAgICAgLy8gQ29udmVydGUgJ2ZhbHNlJyAoc3RyaW5nKSBvdSBmYWxzZSAoYm9vbGVhbikgcGFyYSBmYWxzZSwgZSBxdWFscXVlciBvdXRybyB2YWxvciBwYXJhIHRydWUuXG4gICAgICAgIHRoaXMuX211bHRpcGxlID0gdmFsdWUgIT0gbnVsbCAmJiBgJHt2YWx1ZX1gICE9PSAnZmFsc2UnO1xuICAgIH1cbiAgICBnZXQgbXVsdGlwbGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9tdWx0aXBsZTtcbiAgICB9XG5cbiAgICBAT3V0cHV0KCdvcGVuZWRDaGFuZ2UnKSBvcGVuZWRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgICBAQ29udGVudENoaWxkcmVuKE1hdGNoYUFjY29yZGlvbkl0ZW1Db21wb25lbnQpIGl0ZW1zITogUXVlcnlMaXN0PE1hdGNoYUFjY29yZGlvbkl0ZW1Db21wb25lbnQ+O1xuXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCkge1xuICAgICAgICB0aGlzLml0ZW1zLmZvckVhY2goaXRlbSA9PiB7XG4gICAgICAgICAgICBpdGVtLm9wZW5lZC5zdWJzY3JpYmUoKGlzT3BlbjogYm9vbGVhbikgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMudG9nZ2xlSXRlbShpdGVtKTtcbiAgICAgICAgICAgICAgICB0aGlzLm9wZW5lZENoYW5nZS5lbWl0KGlzT3Blbik7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgdG9nZ2xlSXRlbShzZWxlY3RlZEl0ZW06IE1hdGNoYUFjY29yZGlvbkl0ZW1Db21wb25lbnQpIHtcbiAgICAgICAgLy8gU2UgbsOjbyBwZXJtaXRlIG3Dumx0aXBsb3MgaXRlbnMgYWJlcnRvcyBlIG8gaXRlbSBzZWxlY2lvbmFkbyBmb2kgYWJlcnRvLCBmZWNoYSBvcyBkZW1haXMuXG4gICAgICAgIGlmICghdGhpcy5tdWx0aXBsZSAmJiBzZWxlY3RlZEl0ZW0uaXNPcGVuKSB7XG4gICAgICAgICAgICB0aGlzLml0ZW1zLmZvckVhY2goaXRlbSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGl0ZW0gIT09IHNlbGVjdGVkSXRlbSkge1xuICAgICAgICAgICAgICAgICAgICBpdGVtLmlzT3BlbiA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuIl19
@@ -0,0 +1,11 @@
1
+ import { Component } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class MatchaAccordionContentComponent {
4
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MatchaAccordionContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: MatchaAccordionContentComponent, selector: "matcha-accordion-content", ngImport: i0, template: "<ng-content></ng-content>\n", styles: [""] }); }
6
+ }
7
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MatchaAccordionContentComponent, decorators: [{
8
+ type: Component,
9
+ args: [{ selector: 'matcha-accordion-content', standalone: false, template: "<ng-content></ng-content>\n" }]
10
+ }] });
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3JkaW9uLWNvbnRlbnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWF0Y2hhLWNvbXBvbmVudHMvc3JjL2xpYi9tYXRjaGEtYWNjb3JkaW9uL2FjY29yZGlvbi1jb250ZW50L2FjY29yZGlvbi1jb250ZW50LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hdGNoYS1jb21wb25lbnRzL3NyYy9saWIvbWF0Y2hhLWFjY29yZGlvbi9hY2NvcmRpb24tY29udGVudC9hY2NvcmRpb24tY29udGVudC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQVExQyxNQUFNLE9BQU8sK0JBQStCOytHQUEvQiwrQkFBK0I7bUdBQS9CLCtCQUErQixnRUNSNUMsNkJBQ0E7OzRGRE9hLCtCQUErQjtrQkFOM0MsU0FBUzsrQkFDRSwwQkFBMEIsY0FHeEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtYXRjaGEtYWNjb3JkaW9uLWNvbnRlbnQnLFxuICB0ZW1wbGF0ZVVybDogJy4vYWNjb3JkaW9uLWNvbnRlbnQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vYWNjb3JkaW9uLWNvbnRlbnQuY29tcG9uZW50LnNjc3MnLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBNYXRjaGFBY2NvcmRpb25Db250ZW50Q29tcG9uZW50IHtcblxufVxuIiwiPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuIl19
@@ -0,0 +1,11 @@
1
+ import { Component } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class MatchaAccordionHeaderComponent {
4
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MatchaAccordionHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: MatchaAccordionHeaderComponent, selector: "matcha-accordion-header", ngImport: i0, template: "<ng-content></ng-content>\n", styles: [""] }); }
6
+ }
7
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MatchaAccordionHeaderComponent, decorators: [{
8
+ type: Component,
9
+ args: [{ selector: 'matcha-accordion-header', standalone: false, template: "<ng-content></ng-content>\n" }]
10
+ }] });
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3JkaW9uLWhlYWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXRjaGEtY29tcG9uZW50cy9zcmMvbGliL21hdGNoYS1hY2NvcmRpb24vYWNjb3JkaW9uLWhlYWRlci9hY2NvcmRpb24taGVhZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hdGNoYS1jb21wb25lbnRzL3NyYy9saWIvbWF0Y2hhLWFjY29yZGlvbi9hY2NvcmRpb24taGVhZGVyL2FjY29yZGlvbi1oZWFkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFRMUMsTUFBTSxPQUFPLDhCQUE4QjsrR0FBOUIsOEJBQThCO21HQUE5Qiw4QkFBOEIsK0RDUjNDLDZCQUNBOzs0RkRPYSw4QkFBOEI7a0JBTjFDLFNBQVM7K0JBQ0UseUJBQXlCLGNBR3ZCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbWF0Y2hhLWFjY29yZGlvbi1oZWFkZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vYWNjb3JkaW9uLWhlYWRlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9hY2NvcmRpb24taGVhZGVyLmNvbXBvbmVudC5zY3NzJyxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgTWF0Y2hhQWNjb3JkaW9uSGVhZGVyQ29tcG9uZW50IHtcblxufVxuIiwiPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuIl19
@@ -0,0 +1,42 @@
1
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import { createAnimations } from '../../matcha-animations/animations';
3
+ import * as i0 from "@angular/core";
4
+ export class MatchaAccordionItemComponent {
5
+ constructor() {
6
+ this._stretch = false;
7
+ this._isOpen = false;
8
+ this.opened = new EventEmitter();
9
+ }
10
+ set stretch(value) {
11
+ this._stretch = value != null && `${value}` !== 'false';
12
+ }
13
+ get stretch() {
14
+ return this._stretch;
15
+ }
16
+ set isOpen(value) {
17
+ this._isOpen = value != null && `${value}` !== 'false';
18
+ }
19
+ get isOpen() {
20
+ return this._isOpen;
21
+ }
22
+ ngOnInit() {
23
+ this.opened.emit(this.isOpen);
24
+ }
25
+ toggleAccordion() {
26
+ this.isOpen = !this.isOpen;
27
+ this.opened.emit(this.isOpen);
28
+ }
29
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MatchaAccordionItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
30
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: MatchaAccordionItemComponent, selector: "matcha-accordion-item", inputs: { stretch: "stretch", isOpen: "isOpen" }, outputs: { opened: "opened" }, ngImport: i0, template: "<div class=\"accordion-item flex-column overflow-hidden\">\n <div class=\"accordion-header d-flex\">\n <div class=\"d-flex accordion-header-wrapper\" (click)=\"toggleAccordion()\">\n <ng-content select=\"matcha-accordion-header\"></ng-content>\n </div>\n </div>\n <div class=\"accordion-content overflow-hidden\" [@expandCollapse]=\"isOpen ? '*' : 'void'\">\n <ng-content select=\"matcha-accordion-content\"></ng-content>\n <ng-content></ng-content>\n </div>\n</div>\n", styles: [""], animations: [...createAnimations] }); }
31
+ }
32
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MatchaAccordionItemComponent, decorators: [{
33
+ type: Component,
34
+ args: [{ selector: 'matcha-accordion-item', standalone: false, animations: [...createAnimations], template: "<div class=\"accordion-item flex-column overflow-hidden\">\n <div class=\"accordion-header d-flex\">\n <div class=\"d-flex accordion-header-wrapper\" (click)=\"toggleAccordion()\">\n <ng-content select=\"matcha-accordion-header\"></ng-content>\n </div>\n </div>\n <div class=\"accordion-content overflow-hidden\" [@expandCollapse]=\"isOpen ? '*' : 'void'\">\n <ng-content select=\"matcha-accordion-content\"></ng-content>\n <ng-content></ng-content>\n </div>\n</div>\n" }]
35
+ }], propDecorators: { stretch: [{
36
+ type: Input
37
+ }], isOpen: [{
38
+ type: Input
39
+ }], opened: [{
40
+ type: Output
41
+ }] } });
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3JkaW9uLWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWF0Y2hhLWNvbXBvbmVudHMvc3JjL2xpYi9tYXRjaGEtYWNjb3JkaW9uL2FjY29yZGlvbi1pdGVtL2FjY29yZGlvbi1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hdGNoYS1jb21wb25lbnRzL3NyYy9saWIvbWF0Y2hhLWFjY29yZGlvbi9hY2NvcmRpb24taXRlbS9hY2NvcmRpb24taXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDOztBQVN0RSxNQUFNLE9BQU8sNEJBQTRCO0lBUHpDO1FBUVksYUFBUSxHQUFZLEtBQUssQ0FBQztRQUMxQixZQUFPLEdBQVksS0FBSyxDQUFDO1FBa0J2QixXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztLQVVsRDtJQTFCRyxJQUNJLE9BQU8sQ0FBQyxLQUF1QjtRQUMvQixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssSUFBSSxJQUFJLElBQUksR0FBRyxLQUFLLEVBQUUsS0FBSyxPQUFPLENBQUM7SUFDNUQsQ0FBQztJQUNELElBQUksT0FBTztRQUNQLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFDSSxNQUFNLENBQUMsS0FBdUI7UUFDOUIsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLElBQUksSUFBSSxJQUFJLEdBQUcsS0FBSyxFQUFFLEtBQUssT0FBTyxDQUFDO0lBQzNELENBQUM7SUFDRCxJQUFJLE1BQU07UUFDTixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDeEIsQ0FBQztJQUlELFFBQVE7UUFDSixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVELGVBQWU7UUFDWCxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUMzQixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbEMsQ0FBQzsrR0E3QlEsNEJBQTRCO21HQUE1Qiw0QkFBNEIsOElDVnpDLHlnQkFXQSw0QkRIZ0IsQ0FBQyxHQUFHLGdCQUFnQixDQUFDOzs0RkFFeEIsNEJBQTRCO2tCQVB4QyxTQUFTOytCQUNJLHVCQUF1QixjQUdyQixLQUFLLGNBQ0wsQ0FBQyxHQUFHLGdCQUFnQixDQUFDOzhCQU83QixPQUFPO3NCQURWLEtBQUs7Z0JBU0YsTUFBTTtzQkFEVCxLQUFLO2dCQVFJLE1BQU07c0JBQWYsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGNyZWF0ZUFuaW1hdGlvbnMgfSBmcm9tICcuLi8uLi9tYXRjaGEtYW5pbWF0aW9ucy9hbmltYXRpb25zJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdtYXRjaGEtYWNjb3JkaW9uLWl0ZW0nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9hY2NvcmRpb24taXRlbS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmw6ICcuL2FjY29yZGlvbi1pdGVtLmNvbXBvbmVudC5zY3NzJyxcbiAgICBzdGFuZGFsb25lOiBmYWxzZSxcbiAgICBhbmltYXRpb25zOiBbLi4uY3JlYXRlQW5pbWF0aW9uc11cbn0pXG5leHBvcnQgY2xhc3MgTWF0Y2hhQWNjb3JkaW9uSXRlbUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgcHJpdmF0ZSBfc3RyZXRjaDogYm9vbGVhbiA9IGZhbHNlO1xuICAgIHByaXZhdGUgX2lzT3BlbjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgQElucHV0KClcbiAgICBzZXQgc3RyZXRjaCh2YWx1ZTogYm9vbGVhbiB8IHN0cmluZykge1xuICAgICAgICB0aGlzLl9zdHJldGNoID0gdmFsdWUgIT0gbnVsbCAmJiBgJHt2YWx1ZX1gICE9PSAnZmFsc2UnO1xuICAgIH1cbiAgICBnZXQgc3RyZXRjaCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3N0cmV0Y2g7XG4gICAgfVxuXG4gICAgQElucHV0KClcbiAgICBzZXQgaXNPcGVuKHZhbHVlOiBib29sZWFuIHwgc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuX2lzT3BlbiA9IHZhbHVlICE9IG51bGwgJiYgYCR7dmFsdWV9YCAhPT0gJ2ZhbHNlJztcbiAgICB9XG4gICAgZ2V0IGlzT3BlbigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lzT3BlbjtcbiAgICB9XG5cbiAgICBAT3V0cHV0KCkgb3BlbmVkID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMub3BlbmVkLmVtaXQodGhpcy5pc09wZW4pO1xuICAgIH1cblxuICAgIHRvZ2dsZUFjY29yZGlvbigpIHtcbiAgICAgICAgdGhpcy5pc09wZW4gPSAhdGhpcy5pc09wZW47XG4gICAgICAgIHRoaXMub3BlbmVkLmVtaXQodGhpcy5pc09wZW4pO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJhY2NvcmRpb24taXRlbSBmbGV4LWNvbHVtbiBvdmVyZmxvdy1oaWRkZW5cIj5cbiAgICA8ZGl2IGNsYXNzPVwiYWNjb3JkaW9uLWhlYWRlciBkLWZsZXhcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhY2NvcmRpb24taGVhZGVyLXdyYXBwZXJcIiAoY2xpY2spPVwidG9nZ2xlQWNjb3JkaW9uKClcIj5cbiAgICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIm1hdGNoYS1hY2NvcmRpb24taGVhZGVyXCI+PC9uZy1jb250ZW50PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiYWNjb3JkaW9uLWNvbnRlbnQgb3ZlcmZsb3ctaGlkZGVuXCIgW0BleHBhbmRDb2xsYXBzZV09XCJpc09wZW4gPyAnKicgOiAndm9pZCdcIj5cbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwibWF0Y2hhLWFjY29yZGlvbi1jb250ZW50XCI+PC9uZy1jb250ZW50PlxuICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -0,0 +1,59 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { MatchaAccordionComponent } from './accordion/accordion.component';
4
+ import { MatchaAccordionItemComponent } from './accordion-item/accordion-item.component';
5
+ import { MatchaAccordionHeaderComponent } from './accordion-header/accordion-header.component';
6
+ import { MatchaAccordionContentComponent } from './accordion-content/accordion-content.component';
7
+ import { MatchaIconModule } from '../matcha-icon/icon.module';
8
+ import { MatchaTitleModule } from '../matcha-title/title.module';
9
+ import { MatchaDividerModule } from '../matcha-divider/divider.module';
10
+ import { MatchaTooltipModule } from '../matcha-tooltip/tooltip.module';
11
+ import { MatchaButtonModule } from '../matcha-button/button.module';
12
+ import * as i0 from "@angular/core";
13
+ export class MatchaAccordionModule {
14
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MatchaAccordionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
15
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: MatchaAccordionModule, declarations: [MatchaAccordionComponent,
16
+ MatchaAccordionItemComponent,
17
+ MatchaAccordionHeaderComponent,
18
+ MatchaAccordionContentComponent], imports: [CommonModule,
19
+ MatchaIconModule,
20
+ MatchaTitleModule,
21
+ MatchaDividerModule,
22
+ MatchaTooltipModule,
23
+ MatchaButtonModule], exports: [MatchaAccordionComponent,
24
+ MatchaAccordionItemComponent,
25
+ MatchaAccordionHeaderComponent,
26
+ MatchaAccordionContentComponent] }); }
27
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MatchaAccordionModule, imports: [CommonModule,
28
+ MatchaIconModule,
29
+ MatchaTitleModule,
30
+ MatchaDividerModule,
31
+ MatchaTooltipModule,
32
+ MatchaButtonModule] }); }
33
+ }
34
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MatchaAccordionModule, decorators: [{
35
+ type: NgModule,
36
+ args: [{
37
+ declarations: [
38
+ MatchaAccordionComponent,
39
+ MatchaAccordionItemComponent,
40
+ MatchaAccordionHeaderComponent,
41
+ MatchaAccordionContentComponent
42
+ ],
43
+ imports: [
44
+ CommonModule,
45
+ MatchaIconModule,
46
+ MatchaTitleModule,
47
+ MatchaDividerModule,
48
+ MatchaTooltipModule,
49
+ MatchaButtonModule
50
+ ],
51
+ exports: [
52
+ MatchaAccordionComponent,
53
+ MatchaAccordionItemComponent,
54
+ MatchaAccordionHeaderComponent,
55
+ MatchaAccordionContentComponent
56
+ ]
57
+ }]
58
+ }] });
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3JkaW9uLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hdGNoYS1jb21wb25lbnRzL3NyYy9saWIvbWF0Y2hhLWFjY29yZGlvbi9hY2NvcmRpb24ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ3pGLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQy9GLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBRWxHLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzlELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDOztBQXlCcEUsTUFBTSxPQUFPLHFCQUFxQjsrR0FBckIscUJBQXFCO2dIQUFyQixxQkFBcUIsaUJBcEIxQix3QkFBd0I7WUFDeEIsNEJBQTRCO1lBQzVCLDhCQUE4QjtZQUM5QiwrQkFBK0IsYUFHL0IsWUFBWTtZQUNaLGdCQUFnQjtZQUNoQixpQkFBaUI7WUFDakIsbUJBQW1CO1lBQ25CLG1CQUFtQjtZQUNuQixrQkFBa0IsYUFHbEIsd0JBQXdCO1lBQ3hCLDRCQUE0QjtZQUM1Qiw4QkFBOEI7WUFDOUIsK0JBQStCO2dIQUcxQixxQkFBcUIsWUFkMUIsWUFBWTtZQUNaLGdCQUFnQjtZQUNoQixpQkFBaUI7WUFDakIsbUJBQW1CO1lBQ25CLG1CQUFtQjtZQUNuQixrQkFBa0I7OzRGQVNiLHFCQUFxQjtrQkF0QmpDLFFBQVE7bUJBQUM7b0JBQ04sWUFBWSxFQUFFO3dCQUNWLHdCQUF3Qjt3QkFDeEIsNEJBQTRCO3dCQUM1Qiw4QkFBOEI7d0JBQzlCLCtCQUErQjtxQkFDbEM7b0JBQ0QsT0FBTyxFQUFFO3dCQUNMLFlBQVk7d0JBQ1osZ0JBQWdCO3dCQUNoQixpQkFBaUI7d0JBQ2pCLG1CQUFtQjt3QkFDbkIsbUJBQW1CO3dCQUNuQixrQkFBa0I7cUJBQ3JCO29CQUNELE9BQU8sRUFBRTt3QkFDTCx3QkFBd0I7d0JBQ3hCLDRCQUE0Qjt3QkFDNUIsOEJBQThCO3dCQUM5QiwrQkFBK0I7cUJBQ2xDO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBNYXRjaGFBY2NvcmRpb25Db21wb25lbnQgfSBmcm9tICcuL2FjY29yZGlvbi9hY2NvcmRpb24uY29tcG9uZW50JztcbmltcG9ydCB7IE1hdGNoYUFjY29yZGlvbkl0ZW1Db21wb25lbnQgfSBmcm9tICcuL2FjY29yZGlvbi1pdGVtL2FjY29yZGlvbi1pdGVtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNYXRjaGFBY2NvcmRpb25IZWFkZXJDb21wb25lbnQgfSBmcm9tICcuL2FjY29yZGlvbi1oZWFkZXIvYWNjb3JkaW9uLWhlYWRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWF0Y2hhQWNjb3JkaW9uQ29udGVudENvbXBvbmVudCB9IGZyb20gJy4vYWNjb3JkaW9uLWNvbnRlbnQvYWNjb3JkaW9uLWNvbnRlbnQuY29tcG9uZW50JztcblxuaW1wb3J0IHsgTWF0Y2hhSWNvbk1vZHVsZSB9IGZyb20gJy4uL21hdGNoYS1pY29uL2ljb24ubW9kdWxlJztcbmltcG9ydCB7IE1hdGNoYVRpdGxlTW9kdWxlIH0gZnJvbSAnLi4vbWF0Y2hhLXRpdGxlL3RpdGxlLm1vZHVsZSc7XG5pbXBvcnQgeyBNYXRjaGFEaXZpZGVyTW9kdWxlIH0gZnJvbSAnLi4vbWF0Y2hhLWRpdmlkZXIvZGl2aWRlci5tb2R1bGUnO1xuaW1wb3J0IHsgTWF0Y2hhVG9vbHRpcE1vZHVsZSB9IGZyb20gJy4uL21hdGNoYS10b29sdGlwL3Rvb2x0aXAubW9kdWxlJztcbmltcG9ydCB7IE1hdGNoYUJ1dHRvbk1vZHVsZSB9IGZyb20gJy4uL21hdGNoYS1idXR0b24vYnV0dG9uLm1vZHVsZSc7XG5cblxuQE5nTW9kdWxlKHtcbiAgICBkZWNsYXJhdGlvbnM6IFtcbiAgICAgICAgTWF0Y2hhQWNjb3JkaW9uQ29tcG9uZW50LFxuICAgICAgICBNYXRjaGFBY2NvcmRpb25JdGVtQ29tcG9uZW50LFxuICAgICAgICBNYXRjaGFBY2NvcmRpb25IZWFkZXJDb21wb25lbnQsXG4gICAgICAgIE1hdGNoYUFjY29yZGlvbkNvbnRlbnRDb21wb25lbnRcbiAgICBdLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBNYXRjaGFJY29uTW9kdWxlLFxuICAgICAgICBNYXRjaGFUaXRsZU1vZHVsZSxcbiAgICAgICAgTWF0Y2hhRGl2aWRlck1vZHVsZSxcbiAgICAgICAgTWF0Y2hhVG9vbHRpcE1vZHVsZSxcbiAgICAgICAgTWF0Y2hhQnV0dG9uTW9kdWxlXG4gICAgXSxcbiAgICBleHBvcnRzOiBbXG4gICAgICAgIE1hdGNoYUFjY29yZGlvbkNvbXBvbmVudCxcbiAgICAgICAgTWF0Y2hhQWNjb3JkaW9uSXRlbUNvbXBvbmVudCxcbiAgICAgICAgTWF0Y2hhQWNjb3JkaW9uSGVhZGVyQ29tcG9uZW50LFxuICAgICAgICBNYXRjaGFBY2NvcmRpb25Db250ZW50Q29tcG9uZW50XG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBNYXRjaGFBY2NvcmRpb25Nb2R1bGUgeyB9XG4iXX0=
@@ -0,0 +1,352 @@
1
+ import { sequence, trigger, animate, style, group, query, transition, animateChild, state, animation, useAnimation, stagger } from '@angular/animations';
2
+ const customAnimation = animation([
3
+ style({
4
+ opacity: '{{opacity}}',
5
+ transform: 'scale({{scale}}) translate3d({{x}}, {{y}}, {{z}})'
6
+ }),
7
+ animate('{{duration}} {{delay}} cubic-bezier(0.0, 0.0, 0.2, 1)', style('*'))
8
+ ], {
9
+ params: {
10
+ duration: '200ms',
11
+ delay: '0ms',
12
+ opacity: '0',
13
+ scale: '1',
14
+ x: '0',
15
+ y: '0',
16
+ z: '0'
17
+ }
18
+ });
19
+ export const createAnimations = [
20
+ trigger('animate', [transition('void => *', [useAnimation(customAnimation)])]),
21
+ trigger('animateStagger', [
22
+ state('50', style('*')),
23
+ state('100', style('*')),
24
+ state('200', style('*')),
25
+ transition('void => 50', query('@*', [
26
+ stagger('50ms', [
27
+ animateChild()
28
+ ])
29
+ ], { optional: true })),
30
+ transition('void => 100', query('@*', [
31
+ stagger('100ms', [
32
+ animateChild()
33
+ ])
34
+ ], { optional: true })),
35
+ transition('void => 200', query('@*', [
36
+ stagger('200ms', [
37
+ animateChild()
38
+ ])
39
+ ], { optional: true }))
40
+ ]),
41
+ trigger('fadeInOut', [
42
+ state('0, void', style({
43
+ opacity: 0
44
+ })),
45
+ state('1, *', style({
46
+ opacity: 1
47
+ })),
48
+ transition('1 => 0', animate('300ms ease-out')),
49
+ transition('0 => 1', animate('300ms ease-in')),
50
+ transition('void <=> *', animate('300ms ease-in'))
51
+ ]),
52
+ trigger('slideInOut', [
53
+ state('0', style({
54
+ height: '0px'
55
+ })),
56
+ state('1', style({
57
+ height: '*'
58
+ })),
59
+ transition('1 => 0', animate('300ms ease-out')),
60
+ transition('0 => 1', animate('300ms ease-in'))
61
+ ]),
62
+ trigger('slideIn', [
63
+ transition('void => left', [
64
+ style({
65
+ transform: 'translateX(100%)'
66
+ }),
67
+ animate('300ms ease-in', style({
68
+ transform: 'translateX(0)'
69
+ }))
70
+ ]),
71
+ transition('left => void', [
72
+ style({
73
+ transform: 'translateX(0)'
74
+ }),
75
+ animate('300ms ease-in', style({
76
+ transform: 'translateX(-100%)'
77
+ }))
78
+ ]),
79
+ transition('void => right', [
80
+ style({
81
+ transform: 'translateX(-100%)'
82
+ }),
83
+ animate('300ms ease-in', style({
84
+ transform: 'translateX(0)'
85
+ }))
86
+ ]),
87
+ transition('right => void', [
88
+ style({
89
+ transform: 'translateX(0)'
90
+ }),
91
+ animate('300ms ease-in', style({
92
+ transform: 'translateX(100%)'
93
+ }))
94
+ ])
95
+ ]),
96
+ trigger('slideInLeft', [
97
+ state('void', style({
98
+ transform: 'translateX(-100%)',
99
+ })),
100
+ state('*', style({
101
+ transform: 'translateX(0)',
102
+ })),
103
+ transition('void => *', animate('300ms')),
104
+ transition('* => void', animate('300ms'))
105
+ ]),
106
+ trigger('slideInRight', [
107
+ state('void', style({
108
+ transform: 'translateX(100%)',
109
+ })),
110
+ state('*', style({
111
+ transform: 'translateX(0)',
112
+ })),
113
+ transition('void => *', animate('300ms')),
114
+ transition('* => void', animate('300ms'))
115
+ ]),
116
+ trigger('slideInTop', [
117
+ state('void', style({
118
+ transform: 'translateY(-100%)',
119
+ })),
120
+ state('*', style({
121
+ transform: 'translateY(0)',
122
+ })),
123
+ transition('void => *', animate('300ms')),
124
+ transition('* => void', animate('300ms'))
125
+ ]),
126
+ trigger('slideInBottom', [
127
+ state('void', style({
128
+ transform: 'translateY(100%)',
129
+ })),
130
+ state('*', style({
131
+ transform: 'translateY(0)',
132
+ })),
133
+ transition('void => *', animate('300ms')),
134
+ transition('* => void', animate('300ms'))
135
+ ]),
136
+ trigger('expandCollapse', [
137
+ state('void', style({
138
+ height: '0px'
139
+ })),
140
+ state('*', style({
141
+ height: '*'
142
+ })),
143
+ transition('void => *', animate('300ms ease-out')),
144
+ transition('* => void', animate('300ms ease-in'))
145
+ ]),
146
+ // -----------------------------------------------------------------------------------------------------
147
+ // @ Router animations
148
+ // -----------------------------------------------------------------------------------------------------
149
+ trigger('routerTransitionLeft', [
150
+ transition('* => *', [
151
+ query('content > :enter, content > :leave', [
152
+ style({
153
+ position: 'absolute',
154
+ top: 0,
155
+ bottom: 0,
156
+ left: 0,
157
+ right: 0
158
+ })
159
+ ], { optional: true }),
160
+ query('content > :enter', [
161
+ style({
162
+ transform: 'translateX(100%)',
163
+ opacity: 0
164
+ })
165
+ ], { optional: true }),
166
+ sequence([
167
+ group([
168
+ query('content > :leave', [
169
+ style({
170
+ transform: 'translateX(0)',
171
+ opacity: 1
172
+ }),
173
+ animate('600ms cubic-bezier(0.0, 0.0, 0.2, 1)', style({
174
+ transform: 'translateX(-100%)',
175
+ opacity: 0
176
+ }))
177
+ ], { optional: true }),
178
+ query('content > :enter', [
179
+ style({ transform: 'translateX(100%)' }),
180
+ animate('600ms cubic-bezier(0.0, 0.0, 0.2, 1)', style({
181
+ transform: 'translateX(0%)',
182
+ opacity: 1
183
+ }))
184
+ ], { optional: true })
185
+ ]),
186
+ query('content > :leave', animateChild(), { optional: true }),
187
+ query('content > :enter', animateChild(), { optional: true })
188
+ ])
189
+ ])
190
+ ]),
191
+ trigger('routerTransitionRight', [
192
+ transition('* => *', [
193
+ query('content > :enter, content > :leave', [
194
+ style({
195
+ position: 'absolute',
196
+ top: 0,
197
+ bottom: 0,
198
+ left: 0,
199
+ right: 0
200
+ })
201
+ ], { optional: true }),
202
+ query('content > :enter', [
203
+ style({
204
+ transform: 'translateX(-100%)',
205
+ opacity: 0
206
+ })
207
+ ], { optional: true }),
208
+ sequence([
209
+ group([
210
+ query('content > :leave', [
211
+ style({
212
+ transform: 'translateX(0)',
213
+ opacity: 1
214
+ }),
215
+ animate('600ms cubic-bezier(0.0, 0.0, 0.2, 1)', style({
216
+ transform: 'translateX(100%)',
217
+ opacity: 0
218
+ }))
219
+ ], { optional: true }),
220
+ query('content > :enter', [
221
+ style({ transform: 'translateX(-100%)' }),
222
+ animate('600ms cubic-bezier(0.0, 0.0, 0.2, 1)', style({
223
+ transform: 'translateX(0%)',
224
+ opacity: 1
225
+ }))
226
+ ], { optional: true })
227
+ ]),
228
+ query('content > :leave', animateChild(), { optional: true }),
229
+ query('content > :enter', animateChild(), { optional: true })
230
+ ])
231
+ ])
232
+ ]),
233
+ trigger('routerTransitionUp', [
234
+ transition('* => *', [
235
+ query('content > :enter, content > :leave', [
236
+ style({
237
+ position: 'absolute',
238
+ top: 0,
239
+ bottom: 0,
240
+ left: 0,
241
+ right: 0
242
+ })
243
+ ], { optional: true }),
244
+ query('content > :enter', [
245
+ style({
246
+ transform: 'translateY(100%)',
247
+ opacity: 0
248
+ })
249
+ ], { optional: true }),
250
+ group([
251
+ query('content > :leave', [
252
+ style({
253
+ transform: 'translateY(0)',
254
+ opacity: 1
255
+ }),
256
+ animate('600ms cubic-bezier(0.0, 0.0, 0.2, 1)', style({
257
+ transform: 'translateY(-100%)',
258
+ opacity: 0
259
+ }))
260
+ ], { optional: true }),
261
+ query('content > :enter', [
262
+ style({ transform: 'translateY(100%)' }),
263
+ animate('600ms cubic-bezier(0.0, 0.0, 0.2, 1)', style({
264
+ transform: 'translateY(0%)',
265
+ opacity: 1
266
+ }))
267
+ ], { optional: true })
268
+ ]),
269
+ query('content > :leave', animateChild(), { optional: true }),
270
+ query('content > :enter', animateChild(), { optional: true })
271
+ ])
272
+ ]),
273
+ trigger('routerTransitionDown', [
274
+ transition('* => *', [
275
+ query('content > :enter, content > :leave', [
276
+ style({
277
+ position: 'absolute',
278
+ top: 0,
279
+ bottom: 0,
280
+ left: 0,
281
+ right: 0
282
+ })
283
+ ], { optional: true }),
284
+ query('content > :enter', [
285
+ style({
286
+ transform: 'translateY(-100%)',
287
+ opacity: 0
288
+ })
289
+ ], { optional: true }),
290
+ sequence([
291
+ group([
292
+ query('content > :leave', [
293
+ style({
294
+ transform: 'translateY(0)',
295
+ opacity: 1
296
+ }),
297
+ animate('600ms cubic-bezier(0.0, 0.0, 0.2, 1)', style({
298
+ transform: 'translateY(100%)',
299
+ opacity: 0
300
+ }))
301
+ ], { optional: true }),
302
+ query('content > :enter', [
303
+ style({ transform: 'translateY(-100%)' }),
304
+ animate('600ms cubic-bezier(0.0, 0.0, 0.2, 1)', style({
305
+ transform: 'translateY(0%)',
306
+ opacity: 1
307
+ }))
308
+ ], { optional: true })
309
+ ]),
310
+ query('content > :leave', animateChild(), { optional: true }),
311
+ query('content > :enter', animateChild(), { optional: true })
312
+ ])
313
+ ])
314
+ ]),
315
+ trigger('routerTransitionFade', [
316
+ transition('* => *', group([
317
+ query('content > :enter, content > :leave ', [
318
+ style({
319
+ position: 'absolute',
320
+ top: 0,
321
+ bottom: 0,
322
+ left: 0,
323
+ right: 0
324
+ })
325
+ ], { optional: true }),
326
+ query('content > :enter', [
327
+ style({
328
+ opacity: 0
329
+ })
330
+ ], { optional: true }),
331
+ query('content > :leave', [
332
+ style({
333
+ opacity: 1
334
+ }),
335
+ animate('300ms cubic-bezier(0.0, 0.0, 0.2, 1)', style({
336
+ opacity: 0
337
+ }))
338
+ ], { optional: true }),
339
+ query('content > :enter', [
340
+ style({
341
+ opacity: 0
342
+ }),
343
+ animate('300ms cubic-bezier(0.0, 0.0, 0.2, 1)', style({
344
+ opacity: 1
345
+ }))
346
+ ], { optional: true }),
347
+ query('content > :enter', animateChild(), { optional: true }),
348
+ query('content > :leave', animateChild(), { optional: true })
349
+ ]))
350
+ ])
351
+ ];
352
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5pbWF0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hdGNoYS1jb21wb25lbnRzL3NyYy9saWIvbWF0Y2hhLWFuaW1hdGlvbnMvYW5pbWF0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV6SixNQUFNLGVBQWUsR0FBRyxTQUFTLENBQUM7SUFDOUIsS0FBSyxDQUFDO1FBQ0YsT0FBTyxFQUFJLGFBQWE7UUFDeEIsU0FBUyxFQUFFLG1EQUFtRDtLQUNqRSxDQUFDO0lBQ0YsT0FBTyxDQUFDLHVEQUF1RCxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztDQUMvRSxFQUFFO0lBQ0MsTUFBTSxFQUFFO1FBQ0osUUFBUSxFQUFFLE9BQU87UUFDakIsS0FBSyxFQUFLLEtBQUs7UUFDZixPQUFPLEVBQUcsR0FBRztRQUNiLEtBQUssRUFBSyxHQUFHO1FBQ2IsQ0FBQyxFQUFTLEdBQUc7UUFDYixDQUFDLEVBQVMsR0FBRztRQUNiLENBQUMsRUFBUyxHQUFHO0tBQ2hCO0NBQ0osQ0FBQyxDQUFDO0FBRUgsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUc7SUFFNUIsT0FBTyxDQUFDLFNBQVMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxZQUFZLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFFOUUsT0FBTyxDQUFDLGdCQUFnQixFQUFFO1FBQ3RCLEtBQUssQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3ZCLEtBQUssQ0FBQyxLQUFLLEVBQUUsS0FB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QUFDLENBQUM7WUFDcEIsS0FBSyxDQUFDLGtCQUFrQixFQUFFO2dCQUN0QixLQUFLLENBQUM7b0JBQ0YsT0FBTyxFQUFFLENBQUM7aUJBQ2IsQ0FBQztnQkFDRixPQUFPLENBQUMsc0NBQXNDLEVBQzFDLEtBQUssQ0FBQztvQkFDRixPQUFPLEVBQUUsQ0FBQztpQkFDYixDQUFDLENBQUM7YUFDVixFQUFFLEVBQUMsUUFBUSxFQUFFLElBQUksRUFBQyxDQUFDO1lBQ3BCLEtBQUssQ0FBQyxrQkFBa0IsRUFBRSxZQUFZLEVBQUUsRUFBRSxFQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUMsQ0FBQztZQUMzRCxLQUFLLENBQUMsa0JBQWtCLEVBQUUsWUFBWSxFQUFFLEVBQUUsRUFBQyxRQUFRLEVBQUUsSUFBSSxFQUFDLENBQUM7U0FDOUQsQ0FBQyxDQUFDO0tBQ04sQ0FBQztDQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBzZXF1ZW5jZSwgdHJpZ2dlciwgYW5pbWF0ZSwgc3R5bGUsIGdyb3VwLCBxdWVyeSwgdHJhbnNpdGlvbiwgYW5pbWF0ZUNoaWxkLCBzdGF0ZSwgYW5pbWF0aW9uLCB1c2VBbmltYXRpb24sIHN0YWdnZXIgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcblxuY29uc3QgY3VzdG9tQW5pbWF0aW9uID0gYW5pbWF0aW9uKFtcbiAgICBzdHlsZSh7XG4gICAgICAgIG9wYWNpdHkgIDogJ3t7b3BhY2l0eX19JyxcbiAgICAgICAgdHJhbnNmb3JtOiAnc2NhbGUoe3tzY2FsZX19KSB0cmFuc2xhdGUzZCh7e3h9fSwge3t5fX0sIHt7en19KSdcbiAgICB9KSxcbiAgICBhbmltYXRlKCd7e2R1cmF0aW9ufX0ge3tkZWxheX19IGN1YmljLWJlemllcigwLjAsIDAuMCwgMC4yLCAxKScsIHN0eWxlKCcqJykpXG5dLCB7XG4gICAgcGFyYW1zOiB7XG4gICAgICAgIGR1cmF0aW9uOiAnMjAwbXMnLFxuICAgICAgICBkZWxheSAgIDogJzBtcycsXG4gICAgICAgIG9wYWNpdHkgOiAnMCcsXG4gICAgICAgIHNjYWxlICAgOiAnMScsXG4gICAgICAgIHggICAgICAgOiAnMCcsXG4gICAgICAgIHkgICAgICAgOiAnMCcsXG4gICAgICAgIHogICAgICAgOiAnMCdcbiAgICB9XG59KTtcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZUFuaW1hdGlvbnMgPSBbXG5cbiAgICB0cmlnZ2VyKCdhbmltYXRlJywgW3RyYW5zaXRpb24oJ3ZvaWQgPT4gKicsIFt1c2VBbmltYXRpb24oY3VzdG9tQW5pbWF0aW9uKV0pXSksXG5cbiAgICB0cmlnZ2VyKCdhbmltYXRlU3RhZ2dlcicsIFtcbiAgICAgICAgc3RhdGUoJzUwJywgc3R5bGUoJyonKSksXG4gICAgICAgIHN0YXRlKCcxMDAnLCBzdHlsZSgnKicpKSxcbiAgICAgICAgc3RhdGUoJzIwMCcsIHN0eWxlKCcqJykpLFxuXG4gICAgICAgIHRyYW5zaXRpb24oJ3ZvaWQgPT4gNTAnLFxuICAgICAgICAgICAgcXVlcnkoJ0AqJyxcbiAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICAgIHN0YWdnZXIoJzUwbXMnLCBbXG4gICAgICAgICAgICAgICAgICAgICAgICBhbmltYXRlQ2hpbGQoKVxuICAgICAgICAgICAgICAgICAgICBdKVxuICAgICAgICAgICAgICAgIF0sIHtvcHRpb25hbDogdHJ1ZX0pKSxcbiAgICAgICAgdHJhbnNpdGlvbigndm9pZCA9PiAxMDAnLFxuICAgICAgICAgICAgcXVlcnkoJ0AqJyxcbiAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICAgIHN0YWdnZXIoJzEwMG1zJywgW1xuICAgICAgICAgICAgICAgICAgICAgICAgYW5pbWF0ZUNoaWxkKClcbiAgICAgICAgICAgICAgICAgICAgXSlcbiAgICAgICAgICAgICAgICBdLCB7b3B0aW9uYWw6IHRydWV9KSksXG4gICAgICAgIHRyYW5zaXRpb24oJ3ZvaWQgPT4gMjAwJyxcbiAgICAgICAgICAgIHF1ZXJ5KCdAKicsXG4gICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgICBzdGFnZ2VyKCcyMDBtcycsIFtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFuaW1hdGVDaGlsZCgpXG4gICAgICAgICAgICAgICAgICAgIF0pXG4gICAgICAgICAgICAgICAgXSwge29wdGlvbmFsOiB0cnVlfSkpXG4gICAgXSksXG5cbiAgICB0cmlnZ2VyKCdmYWRlSW5PdXQnLCBbXG4gICAgICAgIHN0YXRlKCcwLCB2b2lkJywgc3R5bGUoe1xuICAgICAgICAgICAgb3BhY2l0eTogMFxuICAgICAgICB9KSksXG4gICAgICAgIHN0YXRlKCcxLCAqJywgc3R5bGUoe1xuICAgICAgICAgICAgb3BhY2l0eTogMVxuICAgICAgICB9KSksXG4gICAgICAgIHRyYW5zaXRpb24oJzEgPT4gMCcsIGFuaW1hdGUoJzMwMG1zIGVhc2Utb3V0JykpLFxuICAgICAgICB0cmFuc2l0aW9uKCcwID0+IDEnLCBhbmltYXRlKCczMDBtcyBlYXNlLWluJykpLFxuICAgICAgICB0cmFuc2l0aW9uKCd2b2lkIDw9PiAqJywgYW5pbWF0ZSgnMzAwbXMgZWFzZS1pbicpKVxuICAgIF0pLFxuXG4gICAgdHJpZ2dlcignc2xpZGVJbk91dCcsIFtcbiAgICAgICAgc3RhdGUoJzAnLCBzdHlsZSh7XG4gICAgICAgICAgICBoZWlnaHQ6ICcwcHgnXG4gICAgICAgIH0pKSxcbiAgICAgICAgc3RhdGUoJzEnLCBzdHlsZSh7XG4gICAgICAgICAgICBoZWlnaHQ6ICcqJ1xuICAgICAgICB9KSksXG4gICAgICAgIHRyYW5zaXRpb24oJzEgPT4gMCcsIGFuaW1hdGUoJzMwMG1zIGVhc2Utb3V0JykpLFxuICAgICAgICB0cmFuc2l0aW9uKCcwID0+IDEnLCBhbmltYXRlKCczMDBtcyBlYXNlLWluJykpXG4gICAgXSksXG5cbiAgICB0cmlnZ2VyKCdzbGlkZUluJywgW1xuICAgICAgICB0cmFuc2l0aW9uKCd2b2lkID0+IGxlZnQnLCBbXG4gICAgICAgICAgICAgICAgc3R5bGUoe1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKDEwMCUpJ1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIGFuaW1hdGUoJzMwMG1zIGVhc2UtaW4nLFxuICAgICAgICAgICAgICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKDApJ1xuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgIF1cbiAgICAgICAgKSxcbiAgICAgICAgdHJhbnNpdGlvbignbGVmdCA9PiB2b2lkJywgW1xuICAgICAgICAgICAgICAgIHN0eWxlKHtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiAndHJhbnNsYXRlWCgwKSdcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICBhbmltYXRlKCczMDBtcyBlYXNlLWluJyxcbiAgICAgICAgICAgICAgICAgICAgc3R5bGUoe1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiAndHJhbnNsYXRlWCgtMTAwJSknXG4gICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgXVxuICAgICAgICApLFxuICAgICAgICB0cmFuc2l0aW9uKCd2b2lkID0+IHJpZ2h0JywgW1xuICAgICAgICAgICAgICAgIHN0eWxlKHtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiAndHJhbnNsYXRlWCgtMTAwJSknXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgYW5pbWF0ZSgnMzAwbXMgZWFzZS1pbicsXG4gICAgICAgICAgICAgICAgICAgIHN0eWxlKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoMCknXG4gICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgXVxuICAgICAgICApLFxuICAgICAgICB0cmFuc2l0aW9uKCdyaWdodCA9PiB2b2lkJywgW1xuICAgICAgICAgICAgICAgIHN0eWxlKHtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiAndHJhbnNsYXRlWCgwKSdcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICBhbmltYXRlKCczMDBtcyBlYXNlLWluJyxcbiAgICAgICAgICAgICAgICAgICAgc3R5bGUoe1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiAndHJhbnNsYXRlWCgxMDAlKSdcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICBdXG4gICAgICAgIClcbiAgICBdKSxcblxuICAgIHRyaWdnZXIoJ3NsaWRlSW5MZWZ0JywgW1xuICAgICAgICBzdGF0ZSgndm9pZCcsIHN0eWxlKHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoLTEwMCUpJyxcbiAgICAgICAgfSkpLFxuICAgICAgICBzdGF0ZSgnKicsIHN0eWxlKHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoMCknLFxuICAgICAgICB9KSksXG4gICAgICAgIHRyYW5zaXRpb24oJ3ZvaWQgPT4gKicsIGFuaW1hdGUoJzMwMG1zJykpLFxuICAgICAgICB0cmFuc2l0aW9uKCcqID0+IHZvaWQnLCBhbmltYXRlKCczMDBtcycpKVxuICAgIF0pLFxuXG4gICAgdHJpZ2dlcignc2xpZGVJblJpZ2h0JywgW1xuICAgICAgICBzdGF0ZSgndm9pZCcsIHN0eWxlKHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoMTAwJSknLFxuICAgICAgICB9KSksXG4gICAgICAgIHN0YXRlKCcqJywgc3R5bGUoe1xuICAgICAgICAgICAgdHJhbnNmb3JtOiAndHJhbnNsYXRlWCgwKScsXG4gICAgICAgIH0pKSxcbiAgICAgICAgdHJhbnNpdGlvbigndm9pZCA9PiAqJywgYW5pbWF0ZSgnMzAwbXMnKSksXG4gICAgICAgIHRyYW5zaXRpb24oJyogPT4gdm9pZCcsIGFuaW1hdGUoJzMwMG1zJykpXG4gICAgXSksXG5cbiAgICB0cmlnZ2VyKCdzbGlkZUluVG9wJywgW1xuICAgICAgICBzdGF0ZSgndm9pZCcsIHN0eWxlKHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoLTEwMCUpJyxcbiAgICAgICAgfSkpLFxuICAgICAgICBzdGF0ZSgnKicsIHN0eWxlKHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoMCknLFxuICAgICAgICB9KSksXG4gICAgICAgIHRyYW5zaXRpb24oJ3ZvaWQgPT4gKicsIGFuaW1hdGUoJzMwMG1zJykpLFxuICAgICAgICB0cmFuc2l0aW9uKCcqID0+IHZvaWQnLCBhbmltYXRlKCczMDBtcycpKVxuICAgIF0pLFxuXG4gICAgdHJpZ2dlcignc2xpZGVJbkJvdHRvbScsIFtcbiAgICAgICAgc3RhdGUoJ3ZvaWQnLFxuICAgICAgICAgICAgc3R5bGUoe1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoMTAwJSknLFxuICAgICAgICAgICAgfSkpLFxuICAgICAgICBzdGF0ZSgnKicsIHN0eWxlKHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoMCknLFxuICAgICAgICB9KSksXG4gICAgICAgIHRyYW5zaXRpb24oJ3ZvaWQgPT4gKicsIGFuaW1hdGUoJzMwMG1zJykpLFxuICAgICAgICB0cmFuc2l0aW9uKCcqID0+IHZvaWQnLCBhbmltYXRlKCczMDBtcycpKVxuICAgIF0pLFxuXG4gICAgdHJpZ2dlcignZXhwYW5kQ29sbGFwc2UnLCBbXG4gICAgICAgIHN0YXRlKCd2b2lkJywgc3R5bGUoe1xuICAgICAgICAgICAgaGVpZ2h0OiAnMHB4J1xuICAgICAgICB9KSksXG4gICAgICAgIHN0YXRlKCcqJywgc3R5bGUoe1xuICAgICAgICAgICAgaGVpZ2h0OiAnKidcbiAgICAgICAgfSkpLFxuICAgICAgICB0cmFuc2l0aW9uKCd2b2lkID0+IConLCBhbmltYXRlKCczMDBtcyBlYXNlLW91dCcpKSxcbiAgICAgICAgdHJhbnNpdGlvbignKiA9PiB2b2lkJywgYW5pbWF0ZSgnMzAwbXMgZWFzZS1pbicpKVxuICAgIF0pLFxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvLyBAIFJvdXRlciBhbmltYXRpb25zXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHRyaWdnZXIoJ3JvdXRlclRyYW5zaXRpb25MZWZ0JywgW1xuXG4gICAgICAgIHRyYW5zaXRpb24oJyogPT4gKicsIFtcbiAgICAgICAgICAgIHF1ZXJ5KCdjb250ZW50ID4gOmVudGVyLCBjb250ZW50ID4gOmxlYXZlJywgW1xuICAgICAgICAgICAgICAgIHN0eWxlKHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgICAgICAgICAgICAgICAgIHRvcCAgICAgOiAwLFxuICAgICAgICAgICAgICAgICAgICBib3R0b20gIDogMCxcbiAgICAgICAgICAgICAgICAgICAgbGVmdCAgICA6IDAsXG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0ICAgOiAwXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIF0sIHtvcHRpb25hbDogdHJ1ZX0pLFxuICAgICAgICAgICAgcXVlcnkoJ2NvbnRlbnQgPiA6ZW50ZXInLCBbXG4gICAgICAgICAgICAgICAgc3R5bGUoe1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKDEwMCUpJyxcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eSAgOiAwXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIF0sIHtvcHRpb25hbDogdHJ1ZX0pLFxuICAgICAgICAgICAgc2VxdWVuY2UoW1xuICAgICAgICAgICAgICAgIGdyb3VwKFtcbiAgICAgICAgICAgICAgICAgICAgcXVlcnkoJ2NvbnRlbnQgPiA6bGVhdmUnLCBbXG4gICAgICAgICAgICAgICAgICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiAndHJhbnNsYXRlWCgwKScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eSAgOiAxXG4gICAgICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGFuaW1hdGUoJzYwMG1zIGN1YmljLWJlemllcigwLjAsIDAuMCwgMC4yLCAxKScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGUoe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKC0xMDAlKScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHkgIDogMFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pKVxuICAgICAgICAgICAgICAgICAgICBdLCB7b3B0aW9uYWw6IHRydWV9KSxcbiAgICAgICAgICAgICAgICAgICAgcXVlcnkoJ2NvbnRlbnQgPiA6ZW50ZXInLCBbXG4gICAgICAgICAgICAgICAgICAgICAgICBzdHlsZSh7dHJhbnNmb3JtOiAndHJhbnNsYXRlWCgxMDAlKSd9KSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGFuaW1hdGUoJzYwMG1zIGN1YmljLWJlemllcigwLjAsIDAuMCwgMC4yLCAxKScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGUoe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKDAlKScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHkgIDogMVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pKVxuICAgICAgICAgICAgICAgICAgICBdLCB7b3B0aW9uYWw6IHRydWV9KVxuICAgICAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgICAgIHF1ZXJ5KCdjb250ZW50ID4gOmxlYXZlJywgYW5pbWF0ZUNoaWxkKCksIHtvcHRpb25hbDogdHJ1ZX0pLFxuICAgICAgICAgICAgICAgIHF1ZXJ5KCdjb250ZW50ID4gOmVudGVyJywgYW5pbWF0ZUNoaWxkKCksIHtvcHRpb25hbDogdHJ1ZX0pXG4gICAgICAgICAgICBdKVxuICAgICAgICBdKVxuICAgIF0pLFxuXG4gICAgdHJpZ2dlcigncm91dGVyVHJhbnNpdGlvblJpZ2h0JywgW1xuXG4gICAgICAgIHRyYW5zaXRpb24oJyogPT4gKicsIFtcbiAgICAgICAgICAgIHF1ZXJ5KCdjb250ZW50ID4gOmVudGVyLCBjb250ZW50ID4gOmxlYXZlJywgW1xuICAgICAgICAgICAgICAgIHN0eWxlKHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgICAgICAgICAgICAgICAgIHRvcCAgICAgOiAwLFxuICAgICAgICAgICAgICAgICAgICBib3R0b20gIDogMCxcbiAgICAgICAgICAgICAgICAgICAgbGVmdCAgICA6IDAsXG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0ICAgOiAwXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIF0sIHtvcHRpb25hbDogdHJ1ZX0pLFxuICAgICAgICAgICAgcXVlcnkoJ2NvbnRlbnQgPiA6ZW50ZXInLCBbXG4gICAgICAgICAgICAgICAgc3R5bGUoe1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKC0xMDAlKScsXG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHkgIDogMFxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICBdLCB7b3B0aW9uYWw6IHRydWV9KSxcbiAgICAgICAgICAgIHNlcXVlbmNlKFtcbiAgICAgICAgICAgICAgICBncm91cChbXG4gICAgICAgICAgICAgICAgICAgIHF1ZXJ5KCdjb250ZW50ID4gOmxlYXZlJywgW1xuICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGUoe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoMCknLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHkgIDogMVxuICAgICAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgICAgICBhbmltYXRlKCc2MDBtcyBjdWJpYy1iZXppZXIoMC4wLCAwLjAsIDAuMiwgMSknLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiAndHJhbnNsYXRlWCgxMDAlKScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHkgIDogMFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pKVxuICAgICAgICAgICAgICAgICAgICBdLCB7b3B0aW9uYWw6IHRydWV9KSxcbiAgICAgICAgICAgICAgICAgICAgcXVlcnkoJ2NvbnRlbnQgPiA6ZW50ZXInLCBbXG4gICAgICAgICAgICAgICAgICAgICAgICBzdHlsZSh7dHJhbnNmb3JtOiAndHJhbnNsYXRlWCgtMTAwJSknfSksXG4gICAgICAgICAgICAgICAgICAgICAgICBhbmltYXRlKCc2MDBtcyBjdWJpYy1iZXppZXIoMC4wLCAwLjAsIDAuMiwgMSknLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiAndHJhbnNsYXRlWCgwJSknLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5ICA6IDFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSlcbiAgICAgICAgICAgICAgICAgICAgXSwge29wdGlvbmFsOiB0cnVlfSlcbiAgICAgICAgICAgICAgICBdKSxcbiAgICAgICAgICAgICAgICBxdWVyeSgnY29udGVudCA+IDpsZWF2ZScsIGFuaW1hdGVDaGlsZCgpLCB7b3B0aW9uYWw6IHRydWV9KSxcbiAgICAgICAgICAgICAgICBxdWVyeSgnY29udGVudCA+IDplbnRlcicsIGFuaW1hdGVDaGlsZCgpLCB7b3B0aW9uYWw6IHRydWV9KVxuICAgICAgICAgICAgXSlcbiAgICAgICAgXSlcbiAgICBdKSxcblxuICAgIHRyaWdnZXIoJ3JvdXRlclRyYW5zaXRpb25VcCcsIFtcblxuICAgICAgICB0cmFuc2l0aW9uKCcqID0+IConLCBbXG4gICAgICAgICAgICBxdWVyeSgnY29udGVudCA+IDplbnRlciwgY29udGVudCA+IDpsZWF2ZScsIFtcbiAgICAgICAgICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICAgICAgICAgICAgICAgICAgICB0b3AgICAgIDogMCxcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tICA6IDAsXG4gICAgICAgICAgICAgICAgICAgIGxlZnQgICAgOiAwLFxuICAgICAgICAgICAgICAgICAgICByaWdodCAgIDogMFxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICBdLCB7b3B0aW9uYWw6IHRydWV9KSxcbiAgICAgICAgICAgIHF1ZXJ5KCdjb250ZW50ID4gOmVudGVyJywgW1xuICAgICAgICAgICAgICAgIHN0eWxlKHtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiAndHJhbnNsYXRlWSgxMDAlKScsXG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHkgIDogMFxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICBdLCB7b3B0aW9uYWw6IHRydWV9KSxcbiAgICAgICAgICAgIGdyb3VwKFtcbiAgICAgICAgICAgICAgICBxdWVyeSgnY29udGVudCA+IDpsZWF2ZScsIFtcbiAgICAgICAgICAgICAgICAgICAgc3R5bGUoe1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiAndHJhbnNsYXRlWSgwKScsXG4gICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5ICA6IDFcbiAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgIGFuaW1hdGUoJzYwMG1zIGN1YmljLWJlemllcigwLjAsIDAuMCwgMC4yLCAxKScsXG4gICAgICAgICAgICAgICAgICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiAndHJhbnNsYXRlWSgtMTAwJSknLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHkgIDogMFxuICAgICAgICAgICAgICAgICAgICAgICAgfSkpXG4gICAgICAgICAgICAgICAgXSwge29wdGlvbmFsOiB0cnVlfSksXG4gICAgICAgICAgICAgICAgcXVlcnkoJ2NvbnRlbnQgPiA6ZW50ZXInLCBbXG4gICAgICAgICAgICAgICAgICAgIHN0eWxlKHt0cmFuc2Zvcm06ICd0cmFuc2xhdGVZKDEwMCUpJ30pLFxuICAgICAgICAgICAgICAgICAgICBhbmltYXRlKCc2MDBtcyBjdWJpYy1iZXppZXIoMC4wLCAwLjAsIDAuMiwgMSknLFxuICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGUoe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoMCUpJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5ICA6IDFcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pKVxuICAgICAgICAgICAgICAgIF0sIHtvcHRpb25hbDogdHJ1ZX0pXG4gICAgICAgICAgICBdKSxcbiAgICAgICAgICAgIHF1ZXJ5KCdjb250ZW50ID4gOmxlYXZlJywgYW5pbWF0ZUNoaWxkKCksIHtvcHRpb25hbDogdHJ1ZX0pLFxuICAgICAgICAgICAgcXVlcnkoJ2NvbnRlbnQgPiA6ZW50ZXInLCBhbmltYXRlQ2hpbGQoKSwge29wdGlvbmFsOiB0cnVlfSlcbiAgICAgICAgXSlcbiAgICBdKSxcblxuICAgIHRyaWdnZXIoJ3JvdXRlclRyYW5zaXRpb25Eb3duJywgW1xuXG4gICAgICAgIHRyYW5zaXRpb24oJyogPT4gKicsIFtcbiAgICAgICAgICAgIHF1ZXJ5KCdjb250ZW50ID4gOmVudGVyLCBjb250ZW50ID4gOmxlYXZlJywgW1xuICAgICAgICAgICAgICAgIHN0eWxlKHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgICAgICAgICAgICAgICAgIHRvcCAgICAgOiAwLFxuICAgICAgICAgICAgICAgICAgICBib3R0b20gIDogMCxcbiAgICAgICAgICAgICAgICAgICAgbGVmdCAgICA6IDAsXG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0ICAgOiAwXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIF0sIHtvcHRpb25hbDogdHJ1ZX0pLFxuICAgICAgICAgICAgcXVlcnkoJ2NvbnRlbnQgPiA6ZW50ZXInLCBbXG4gICAgICAgICAgICAgICAgc3R5bGUoe1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06ICd0cmFuc2xhdGVZKC0xMDAlKScsXG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHkgIDogMFxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICBdLCB7b3B0aW9uYWw6IHRydWV9KSxcbiAgICAgICAgICAgIHNlcXVlbmNlKFtcbiAgICAgICAgICAgICAgICBncm91cChbXG4gICAgICAgICAgICAgICAgICAgIHF1ZXJ5KCdjb250ZW50ID4gOmxlYXZlJywgW1xuICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGUoe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoMCknLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHkgIDogMVxuICAgICAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgICAgICBhbmltYXRlKCc2MDBtcyBjdWJpYy1iZXppZXIoMC4wLCAwLjAsIDAuMiwgMSknLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiAndHJhbnNsYXRlWSgxMDAlKScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHkgIDogMFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pKVxuICAgICAgICAgICAgICAgICAgICBdLCB7b3B0aW9uYWw6IHRydWV9KSxcbiAgICAgICAgICAgICAgICAgICAgcXVlcnkoJ2NvbnRlbnQgPiA6ZW50ZXInLCBbXG4gICAgICAgICAgICAgICAgICAgICAgICBzdHlsZSh7dHJhbnNmb3JtOiAndHJhbnNsYXRlWSgtMTAwJSknfSksXG4gICAgICAgICAgICAgICAgICAgICAgICBhbmltYXRlKCc2MDBtcyBjdWJpYy1iZXppZXIoMC4wLCAwLjAsIDAuMiwgMSknLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiAndHJhbnNsYXRlWSgwJSknLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5ICA6IDFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSlcbiAgICAgICAgICAgICAgICAgICAgXSwge29wdGlvbmFsOiB0cnVlfSlcbiAgICAgICAgICAgICAgICBdKSxcbiAgICAgICAgICAgICAgICBxdWVyeSgnY29udGVudCA+IDpsZWF2ZScsIGFuaW1hdGVDaGlsZCgpLCB7b3B0aW9uYWw6IHRydWV9KSxcbiAgICAgICAgICAgICAgICBxdWVyeSgnY29udGVudCA+IDplbnRlcicsIGFuaW1hdGVDaGlsZCgpLCB7b3B0aW9uYWw6IHRydWV9KVxuICAgICAgICAgICAgXSlcbiAgICAgICAgXSlcbiAgICBdKSxcblxuICAgIHRyaWdnZXIoJ3JvdXRlclRyYW5zaXRpb25GYWRlJywgW1xuXG4gICAgICAgIHRyYW5zaXRpb24oJyogPT4gKicsIGdyb3VwKFtcblxuICAgICAgICAgICAgcXVlcnkoJ2NvbnRlbnQgPiA6ZW50ZXIsIGNvbnRlbnQgPiA6bGVhdmUgJywgW1xuICAgICAgICAgICAgICAgIHN0eWxlKHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgICAgICAgICAgICAgICAgIHRvcCAgICAgOiAwLFxuICAgICAgICAgICAgICAgICAgICBib3R0b20gIDogMCxcbiAgICAgICAgICAgICAgICAgICAgbGVmdCAgICA6IDAsXG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0ICAgOiAwXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIF0sIHtvcHRpb25hbDogdHJ1ZX0pLFxuXG4gICAgICAgICAgICBxdWVyeSgnY29udGVudCA+IDplbnRlcicsIFtcbiAgICAgICAgICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDBcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgXSwge29wdGlvbmFsOiB0cnVlfSksXG4gICAgICAgICAgICBxdWVyeSgnY29udGVudCA+IDpsZWF2ZScsIFtcbiAgICAgICAgICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDFcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICBhbmltYXRlKCczMDBtcyBjdWJpYy1iZXppZXIoMC4wLCAwLjAsIDAuMiwgMSknLFxuICAgICAgICAgICAgICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwXG4gICAgICAgICAgICAgICAgICAgIH0pKVxuICAgICAgICAgICAgXSwge29wdGlvbmFsOiB0cnVlfSksXG4gICAgICAgICAgICBxdWVyeSgnY29udGVudCA+IDplbnRlcicsIFtcbiAgICAgICAgICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDBcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICBhbmltYXRlKCczMDBtcyBjdWJpYy1iZXppZXIoMC4wLCAwLjAsIDAuMiwgMSknLFxuICAgICAgICAgICAgICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxXG4gICAgICAgICAgICAgICAgICAgIH0pKVxuICAgICAgICAgICAgXSwge29wdGlvbmFsOiB0cnVlfSksXG4gICAgICAgICAgICBxdWVyeSgnY29udGVudCA+IDplbnRlcicsIGFuaW1hdGVDaGlsZCgpLCB7b3B0aW9uYWw6IHRydWV9KSxcbiAgICAgICAgICAgIHF1ZXJ5KCdjb250ZW50ID4gOmxlYXZlJywgYW5pbWF0ZUNoaWxkKCksIHtvcHRpb25hbDogdHJ1ZX0pXG4gICAgICAgIF0pKVxuICAgIF0pXG5dO1xuIl19