asksuite-citrus 1.7.0 → 1.7.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/citrus-i18n/en.json +0 -2
- package/assets/citrus-i18n/es.json +0 -2
- package/assets/citrus-i18n/pt.json +0 -2
- package/esm2022/lib/asksuite-citrus.module.mjs +4 -14
- package/esm2022/lib/components/autocomplete/autocomplete.component.mjs +19 -4
- package/esm2022/lib/components/avatar/avatar.component.mjs +2 -2
- package/esm2022/lib/components/box/box.component.mjs +2 -2
- package/esm2022/lib/components/button/button.component.mjs +2 -2
- package/esm2022/lib/components/character-counter/character-counter.component.mjs +2 -2
- package/esm2022/lib/components/checkbox/checkbox.component.mjs +2 -2
- package/esm2022/lib/components/chips/chips.component.mjs +2 -2
- package/esm2022/lib/components/date-picker/date-picker-calendar/date-picker-calendar.component.mjs +2 -2
- package/esm2022/lib/components/date-picker/date-picker.component.mjs +2 -2
- package/esm2022/lib/components/dropdown-container/dropdown-container.component.mjs +2 -2
- package/esm2022/lib/components/input/input.component.mjs +2 -2
- package/esm2022/lib/components/modal/modal.component.mjs +2 -2
- package/esm2022/lib/components/pagination/pagination.component.mjs +2 -2
- package/esm2022/lib/components/select/select.component.mjs +2 -2
- package/esm2022/lib/components/table/table.component.mjs +2 -2
- package/esm2022/lib/components/toast/toast.component.mjs +3 -3
- package/esm2022/lib/directives/button/ask-button.directive.mjs +8 -3
- package/esm2022/lib/directives/index.mjs +1 -2
- package/esm2022/public-api.mjs +1 -3
- package/fesm2022/asksuite-citrus.mjs +76 -866
- package/fesm2022/asksuite-citrus.mjs.map +1 -1
- package/lib/asksuite-citrus.module.d.ts +7 -10
- package/lib/components/autocomplete/autocomplete.component.d.ts +4 -1
- package/lib/components/toast/toast.component.d.ts +2 -1
- package/lib/directives/button/ask-button.directive.d.ts +1 -1
- package/lib/directives/index.d.ts +0 -1
- package/package.json +2 -3
- package/public-api.d.ts +0 -1
- package/styles/font-weights.scss +0 -1
- package/styles/styles.scss +30 -2
- package/esm2022/lib/classes/richtext-wrapper.mjs +0 -274
- package/esm2022/lib/classes/toolbox-bubble.mjs +0 -46
- package/esm2022/lib/classes/toolbox-topbar.mjs +0 -34
- package/esm2022/lib/classes/toolbox.mjs +0 -107
- package/esm2022/lib/components/richtext-toolbox-core/richtext-toolbox-core.component.mjs +0 -82
- package/esm2022/lib/components/richtext-url-prompt/richtext-url-prompt-state.service.mjs +0 -16
- package/esm2022/lib/components/richtext-url-prompt/richtext-url-prompt.component.mjs +0 -66
- package/esm2022/lib/constants/richtext-toolbox.constants.mjs +0 -40
- package/esm2022/lib/constants/url-regex.constant.mjs +0 -2
- package/esm2022/lib/directives/richtext-toolbox/richtext-toolbox.directive.mjs +0 -163
- package/esm2022/lib/helpers/are-objects-equal.helper.mjs +0 -4
- package/esm2022/lib/interfaces/richtext-toolbox.interface.mjs +0 -2
- package/lib/classes/richtext-wrapper.d.ts +0 -48
- package/lib/classes/toolbox-bubble.d.ts +0 -13
- package/lib/classes/toolbox-topbar.d.ts +0 -8
- package/lib/classes/toolbox.d.ts +0 -31
- package/lib/components/richtext-toolbox-core/richtext-toolbox-core.component.d.ts +0 -25
- package/lib/components/richtext-url-prompt/richtext-url-prompt-state.service.d.ts +0 -6
- package/lib/components/richtext-url-prompt/richtext-url-prompt.component.d.ts +0 -19
- package/lib/constants/richtext-toolbox.constants.d.ts +0 -4
- package/lib/constants/url-regex.constant.d.ts +0 -1
- package/lib/directives/richtext-toolbox/richtext-toolbox.directive.d.ts +0 -39
- package/lib/helpers/are-objects-equal.helper.d.ts +0 -1
- package/lib/interfaces/richtext-toolbox.interface.d.ts +0 -54
- package/styles/ask-mixins.scss +0 -45
- package/styles/quill.scss +0 -18
@@ -1,14 +1,12 @@
|
|
1
1
|
{
|
2
2
|
"APPLY": "Apply",
|
3
3
|
"CANCEL": "Cancel",
|
4
|
-
"CLEAR": "Clear",
|
5
4
|
"CUSTOM_PERIOD": "Custom period",
|
6
5
|
"LAST_30_DAYS": "Last 30 days",
|
7
6
|
"LAST_7_DAYS": "Last 7 days",
|
8
7
|
"LAST_QUARTER": "Last quarter",
|
9
8
|
"NO_OPTIONS": "No option",
|
10
9
|
"RESULTS_PER_PAGE": "Results per page",
|
11
|
-
"SAVE": "Save",
|
12
10
|
"SEE_LESS": "See less",
|
13
11
|
"SEE_MORE": "View more",
|
14
12
|
"SELECT_ALL": "Select all",
|
@@ -1,14 +1,12 @@
|
|
1
1
|
{
|
2
2
|
"APPLY": "Aplicar",
|
3
3
|
"CANCEL": "Cancelar",
|
4
|
-
"CLEAR": "Borrar",
|
5
4
|
"CUSTOM_PERIOD": "Período personalizado",
|
6
5
|
"LAST_30_DAYS": "Últimos 30 días",
|
7
6
|
"LAST_7_DAYS": "Los últimos 7 días",
|
8
7
|
"LAST_QUARTER": "Último cuarto",
|
9
8
|
"NO_OPTIONS": "Ninguna opción",
|
10
9
|
"RESULTS_PER_PAGE": "Resultados por página",
|
11
|
-
"SAVE": "Guardar",
|
12
10
|
"SEE_LESS": "Ver menos",
|
13
11
|
"SEE_MORE": "Ver más",
|
14
12
|
"SELECT_ALL": "Seleccionar todo",
|
@@ -1,14 +1,12 @@
|
|
1
1
|
{
|
2
2
|
"APPLY": "Aplicar",
|
3
3
|
"CANCEL": "Cancelar",
|
4
|
-
"CLEAR": "Limpar",
|
5
4
|
"CUSTOM_PERIOD": "Período customizado",
|
6
5
|
"LAST_30_DAYS": "Últimos 30 dias",
|
7
6
|
"LAST_7_DAYS": "Últimos 7 dias",
|
8
7
|
"LAST_QUARTER": "Último trimestre",
|
9
8
|
"NO_OPTIONS": "Nenhuma opção",
|
10
9
|
"RESULTS_PER_PAGE": "Resultados por página",
|
11
|
-
"SAVE": "Salvar",
|
12
10
|
"SEE_LESS": "Ver menos",
|
13
11
|
"SEE_MORE": "Ver mais",
|
14
12
|
"SELECT_ALL": "Selecionar todas",
|
@@ -19,7 +19,7 @@ import { SkeletonComponent } from './components/skeleton/skeleton.component';
|
|
19
19
|
import { NgxSkeletonLoaderModule } from 'ngx-skeleton-loader';
|
20
20
|
import { ToastComponent } from './components/toast/toast.component';
|
21
21
|
import { SpinnerComponent } from "./directives/spinner/spinner.component";
|
22
|
-
import { AskButtonDirective, AskTooltipDirective, AutofocusDirective, BadgeDirective, ScrollDirective, SpinnerDirective, AskDropdownDirective
|
22
|
+
import { AskButtonDirective, AskTooltipDirective, AutofocusDirective, BadgeDirective, ScrollDirective, SpinnerDirective, AskDropdownDirective } from "./directives";
|
23
23
|
import { ModalBodyDirective, ModalComponent, ModalFooterDirective, ModalHeaderDirective } from './components/modal';
|
24
24
|
import { CharacterCounterComponent } from './components/character-counter/character-counter.component';
|
25
25
|
import { AccordionComponent } from "./components/accordion/accordion.component";
|
@@ -27,8 +27,6 @@ import { ExtendablePanelComponent } from "./components/accordion/extendable-pane
|
|
27
27
|
import { TableComponent } from './components/table/table.component';
|
28
28
|
import { PaginationComponent } from './components/pagination/pagination.component';
|
29
29
|
import { PaginatePipe } from './pipes/paginate/paginate.pipe';
|
30
|
-
import { RichtextUrlPromptComponent } from './components/richtext-url-prompt/richtext-url-prompt.component';
|
31
|
-
import { RichtextToolboxCoreComponent } from './components/richtext-toolbox-core/richtext-toolbox-core.component';
|
32
30
|
import * as i0 from "@angular/core";
|
33
31
|
import * as i1 from "@ngx-translate/core";
|
34
32
|
export class AsksuiteCitrusModule {
|
@@ -63,10 +61,7 @@ export class AsksuiteCitrusModule {
|
|
63
61
|
ExtendablePanelComponent,
|
64
62
|
TableComponent,
|
65
63
|
PaginationComponent,
|
66
|
-
PaginatePipe,
|
67
|
-
RichtextToolboxDirective,
|
68
|
-
RichtextUrlPromptComponent,
|
69
|
-
RichtextToolboxCoreComponent], imports: [CommonModule,
|
64
|
+
PaginatePipe], imports: [CommonModule,
|
70
65
|
FormsModule,
|
71
66
|
ReactiveFormsModule,
|
72
67
|
CdkOverlayOrigin,
|
@@ -99,8 +94,7 @@ export class AsksuiteCitrusModule {
|
|
99
94
|
ExtendablePanelComponent,
|
100
95
|
TableComponent,
|
101
96
|
PaginationComponent,
|
102
|
-
PaginatePipe
|
103
|
-
RichtextToolboxDirective] }); }
|
97
|
+
PaginatePipe] }); }
|
104
98
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: AsksuiteCitrusModule, imports: [CommonModule,
|
105
99
|
FormsModule,
|
106
100
|
ReactiveFormsModule,
|
@@ -144,9 +138,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImpor
|
|
144
138
|
TableComponent,
|
145
139
|
PaginationComponent,
|
146
140
|
PaginatePipe,
|
147
|
-
RichtextToolboxDirective,
|
148
|
-
RichtextUrlPromptComponent,
|
149
|
-
RichtextToolboxCoreComponent,
|
150
141
|
],
|
151
142
|
imports: [
|
152
143
|
CommonModule,
|
@@ -188,8 +179,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImpor
|
|
188
179
|
TableComponent,
|
189
180
|
PaginationComponent,
|
190
181
|
PaginatePipe,
|
191
|
-
RichtextToolboxDirective,
|
192
182
|
],
|
193
183
|
}]
|
194
184
|
}] });
|
195
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNrc3VpdGUtY2l0cnVzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2Fza3N1aXRlLWNpdHJ1cy9zcmMvbGliL2Fza3N1aXRlLWNpdHJ1cy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDdkUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDdkUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzlELE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDdkUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sOERBQThELENBQUM7QUFDMUcsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDekYsT0FBTyxFQUNMLG1CQUFtQixFQUNuQixnQkFBZ0IsRUFDaEIsYUFBYSxHQUNkLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQ3JGLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDhFQUE4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Q25CLGtCQUFrQjt3QkFDbEIsa0JBQWtCO3dCQUNsQixvQkFBb0I7d0JBQ3BCLG9CQUFvQjt3QkFDcEIseUJBQXlCO3dCQUN6QixrQkFBa0I7d0JBQ2xCLHdCQUF3Qjt3QkFDeEIsY0FBYzt3QkFDZCxtQkFBbUI7d0JBQ25CLFlBQVk7d0JBQ1osd0JBQXdCO3FCQUN6QjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCdXR0b25Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcbmltcG9ydCB7IElucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2lucHV0L2lucHV0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTZWxlY3RDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvc2VsZWN0L3NlbGVjdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQm94Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2JveC9ib3guY29tcG9uZW50JztcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQXZhdGFyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2F2YXRhci9hdmF0YXIuY29tcG9uZW50JztcbmltcG9ydCB7IERyb3Bkb3duQ29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2Ryb3Bkb3duLWNvbnRhaW5lci9kcm9wZG93bi1jb250YWluZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEF1dG9jb21wbGV0ZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9hdXRvY29tcGxldGUvYXV0b2NvbXBsZXRlLmNvbXBvbmVudCc7XG5pbXBvcnQge1xuICBDZGtDb25uZWN0ZWRPdmVybGF5LFxuICBDZGtPdmVybGF5T3JpZ2luLFxuICBPdmVybGF5TW9kdWxlLFxufSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBDaGlwc0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jaGlwcy9jaGlwcy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2hlY2tib3hDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50JztcbmltcG9ydCB7IERhdGVQaWNrZXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZGF0ZS1waWNrZXIvZGF0ZS1waWNrZXIuY29tcG9uZW50JztcbmltcG9ydCB7IERhdGVQaWNrZXJDYWxlbmRhckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9kYXRlLXBpY2tlci9kYXRlLXBpY2tlci1jYWxlbmRhci9kYXRlLXBpY2tlci1jYWxlbmRhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBTa2VsZXRvbkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9za2VsZXRvbi9za2VsZXRvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgTmd4U2tlbGV0b25Mb2FkZXJNb2R1bGUgfSBmcm9tICduZ3gtc2tlbGV0b24tbG9hZGVyJztcbmltcG9ydCB7IFRvYXN0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3RvYXN0L3RvYXN0LmNvbXBvbmVudCc7XG5pbXBvcnQge1NwaW5uZXJDb21wb25lbnR9IGZyb20gXCIuL2RpcmVjdGl2ZXMvc3Bpbm5lci9zcGlubmVyLmNvbXBvbmVudFwiO1xuaW1wb3J0IHtcbiAgQXNrQnV0dG9uRGlyZWN0aXZlLFxuICBBc2tUb29sdGlwRGlyZWN0aXZlLFxuICBBdXRvZm9jdXNEaXJlY3RpdmUsXG4gIEJhZGdlRGlyZWN0aXZlLFxuICBTY3JvbGxEaXJlY3RpdmUsXG4gIFNwaW5uZXJEaXJlY3RpdmUsXG4gIEFza0Ryb3Bkb3duRGlyZWN0aXZlLFxuICBSaWNodGV4dFRvb2xib3hEaXJlY3RpdmVcbn0gZnJvbSBcIi4vZGlyZWN0aXZlc1wiO1xuaW1wb3J0IHtNb2RhbEJvZHlEaXJlY3RpdmUsIE1vZGFsQ29tcG9uZW50LCBNb2RhbEZvb3RlckRpcmVjdGl2ZSwgTW9kYWxIZWFkZXJEaXJlY3RpdmV9IGZyb20gJy4vY29tcG9uZW50cy9tb2RhbCc7XG5pbXBvcnQgeyBDaGFyYWN0ZXJDb3VudGVyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2NoYXJhY3Rlci1jb3VudGVyL2NoYXJhY3Rlci1jb3VudGVyLmNvbXBvbmVudCc7XG5pbXBvcnQge0FjY29yZGlvbkNvbXBvbmVudH0gZnJvbSBcIi4vY29tcG9uZW50cy9hY2NvcmRpb24vYWNjb3JkaW9uLmNvbXBvbmVudFwiO1xuaW1wb3J0IHtFeHRlbmRhYmxlUGFuZWxDb21wb25lbnR9IGZyb20gXCIuL2NvbXBvbmVudHMvYWNjb3JkaW9uL2V4dGVuZGFibGUtcGFuZWwvZXh0ZW5kYWJsZS1wYW5lbC5jb21wb25lbnRcIjtcbmltcG9ydCB7IFRhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3RhYmxlL3RhYmxlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQYWdpbmF0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3BhZ2luYXRpb24vcGFnaW5hdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgUGFnaW5hdGVQaXBlIH0gZnJvbSAnLi9waXBlcy9wYWdpbmF0ZS9wYWdpbmF0ZS5waXBlJztcbmltcG9ydCB7IFJpY2h0ZXh0VXJsUHJvbXB0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3JpY2h0ZXh0LXVybC1wcm9tcHQvcmljaHRleHQtdXJsLXByb21wdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUmljaHRleHRUb29sYm94Q29yZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9yaWNodGV4dC10b29sYm94LWNvcmUvcmljaHRleHQtdG9vbGJveC1jb3JlLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIEJ1dHRvbkNvbXBvbmVudCxcbiAgICBJbnB1dENvbXBvbmVudCxcbiAgICBTZWxlY3RDb21wb25lbnQsXG4gICAgQm94Q29tcG9uZW50LFxuICAgIEF2YXRhckNvbXBvbmVudCxcbiAgICBEcm9wZG93bkNvbnRhaW5lckNvbXBvbmVudCxcbiAgICBBc2tEcm9wZG93bkRpcmVjdGl2ZSxcbiAgICBBdXRvY29tcGxldGVDb21wb25lbnQsXG4gICAgQ2hpcHNDb21wb25lbnQsXG4gICAgQ2hlY2tib3hDb21wb25lbnQsXG4gICAgRGF0ZVBpY2tlckNvbXBvbmVudCxcbiAgICBEYXRlUGlja2VyQ2FsZW5kYXJDb21wb25lbnQsXG4gICAgU2tlbGV0b25Db21wb25lbnQsXG4gICAgU3Bpbm5lckNvbXBvbmVudCxcbiAgICBTcGlubmVyRGlyZWN0aXZlLFxuICAgIEJhZGdlRGlyZWN0aXZlLFxuICAgIEF1dG9mb2N1c0RpcmVjdGl2ZSxcbiAgICBTY3JvbGxEaXJlY3RpdmUsXG4gICAgQXNrVG9vbHRpcERpcmVjdGl2ZSxcbiAgICBUb2FzdENvbXBvbmVudCxcbiAgICBBc2tCdXR0b25EaXJlY3RpdmUsXG4gICAgTW9kYWxDb21wb25lbnQsXG4gICAgTW9kYWxCb2R5RGlyZWN0aXZlLFxuICAgIE1vZGFsSGVhZGVyRGlyZWN0aXZlLFxuICAgIE1vZGFsRm9vdGVyRGlyZWN0aXZlLFxuICAgIENoYXJhY3RlckNvdW50ZXJDb21wb25lbnQsXG4gICAgQWNjb3JkaW9uQ29tcG9uZW50LFxuICAgIEV4dGVuZGFibGVQYW5lbENvbXBvbmVudCxcbiAgICBUYWJsZUNvbXBvbmVudCxcbiAgICBQYWdpbmF0aW9uQ29tcG9uZW50LFxuICAgIFBhZ2luYXRlUGlwZSxcbiAgICBSaWNodGV4dFRvb2xib3hEaXJlY3RpdmUsXG4gICAgUmljaHRleHRVcmxQcm9tcHRDb21wb25lbnQsXG4gICAgUmljaHRleHRUb29sYm94Q29yZUNvbXBvbmVudCxcbiAgXSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIENka092ZXJsYXlPcmlnaW4sXG4gICAgQ2RrQ29ubmVjdGVkT3ZlcmxheSxcbiAgICBPdmVybGF5TW9kdWxlLFxuICAgIFRyYW5zbGF0ZU1vZHVsZS5mb3JDaGlsZCgpLFxuICAgIE5neFNrZWxldG9uTG9hZGVyTW9kdWxlLFxuICAgIE1hdFRvb2x0aXBNb2R1bGUsXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBCdXR0b25Db21wb25lbnQsXG4gICAgSW5wdXRDb21wb25lbnQsXG4gICAgU2VsZWN0Q29tcG9uZW50LFxuICAgIEJveENvbXBvbmVudCxcbiAgICBBdmF0YXJDb21wb25lbnQsXG4gICAgRHJvcGRvd25Db250YWluZXJDb21wb25lbnQsXG4gICAgQXNrRHJvcGRvd25EaXJlY3RpdmUsXG4gICAgQXV0b2NvbXBsZXRlQ29tcG9uZW50LFxuICAgIENoaXBzQ29tcG9uZW50LFxuICAgIENoZWNrYm94Q29tcG9uZW50LFxuICAgIERhdGVQaWNrZXJDb21wb25lbnQsXG4gICAgRGF0ZVBpY2tlckNhbGVuZGFyQ29tcG9uZW50LFxuICAgIFNrZWxldG9uQ29tcG9uZW50LFxuICAgIFNwaW5uZXJEaXJlY3RpdmUsXG4gICAgQmFkZ2VEaXJlY3RpdmUsXG4gICAgQXV0b2ZvY3VzRGlyZWN0aXZlLFxuICAgIFNjcm9sbERpcmVjdGl2ZSxcbiAgICBBc2tUb29sdGlwRGlyZWN0aXZlLFxuICAgIEFza0J1dHRvbkRpcmVjdGl2ZSxcbiAgICBNb2RhbEJvZHlEaXJlY3RpdmUsXG4gICAgTW9kYWxIZWFkZXJEaXJlY3RpdmUsXG4gICAgTW9kYWxGb290ZXJEaXJlY3RpdmUsXG4gICAgQ2hhcmFjdGVyQ291bnRlckNvbXBvbmVudCxcbiAgICBBY2NvcmRpb25Db21wb25lbnQsXG4gICAgRXh0ZW5kYWJsZVBhbmVsQ29tcG9uZW50LFxuICAgIFRhYmxlQ29tcG9uZW50LFxuICAgIFBhZ2luYXRpb25Db21wb25lbnQsXG4gICAgUGFnaW5hdGVQaXBlLFxuICAgIFJpY2h0ZXh0VG9vbGJveERpcmVjdGl2ZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQXNrc3VpdGVDaXRydXNNb2R1bGUge31cbiJdfQ==
|
185
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNrc3VpdGUtY2l0cnVzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2Fza3N1aXRlLWNpdHJ1cy9zcmMvbGliL2Fza3N1aXRlLWNpdHJ1cy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDdkUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDdkUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzlELE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDdkUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sOERBQThELENBQUM7QUFDMUcsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDekYsT0FBTyxFQUNMLG1CQUFtQixFQUNuQixnQkFBZ0IsRUFDaEIsYUFBYSxHQUNkLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQ3JGLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDhFQUE4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YXIvY29yZSc7XG5pbXBvcnQgeyBCdXR0b25Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcbmltcG9ydCB7IElucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2lucHV0L2lucHV0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTZWxlY3RDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvc2VsZWN0L3NlbGVjdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQm94Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2JveC9ib3guY29tcG9uZW50JztcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQXZhdGFyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2F2YXRhci9hdmF0YXIuY29tcG9uZW50JztcbmltcG9ydCB7IERyb3Bkb3duQ29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2Ryb3Bkb3duLWNvbnRhaW5lci9kcm9wZG93bi1jb250YWluZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEF1dG9jb21wbGV0ZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9hdXRvY29tcGxldGUvYXV0b2NvbXBsZXRlLmNvbXBvbmVudCc7XG5pbXBvcnQge1xuICBDZGtDb25uZWN0ZWRPdmVybGF5LFxuICBDZGtPdmVybGF5T3JpZ2luLFxuICBPdmVybGF5TW9kdWxlLFxufSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBDaGlwc0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jaGlwcy9jaGlwcy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2hlY2tib3hDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50JztcbmltcG9ydCB7IERhdGVQaWNrZXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZGF0ZS1waWNrZXIvZGF0ZS1waWNrZXIuY29tcG9uZW50JztcbmltcG9ydCB7IERhdGVQaWNrZXJDYWxlbmRhckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9kYXRlLXBpY2tlci9kYXRlLXBpY2tlci1jYWxlbmRhci9kYXRlLXBpY2tlci1jYWxlbmRhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBTa2VsZXRvbkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9za2VsZXRvbi9za2VsZXRvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgTmd4U2tlbGV0b25Mb2FkZXJNb2R1bGUgfSBmcm9tICduZ3gtc2tlbGV0b24tbG9hZGVyJztcbmltcG9ydCB7IFRvYXN0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3RvYXN0L3RvYXN0LmNvbXBvbmVudCc7XG5pbXBvcnQge1NwaW5uZXJDb21wb25lbnR9IGZyb20gXCIuL2RpcmVjdGl2ZXMvc3Bpbm5lci9zcGlubmVyLmNvbXBvbmVudFwiO1xuaW1wb3J0IHtcbiAgQXNrQnV0dG9uRGlyZWN0aXZlLFxuICBBc2tUb29sdGlwRGlyZWN0aXZlLFxuICBBdXRvZm9jdXNEaXJlY3RpdmUsXG4gIEJhZGdlRGlyZWN0aXZlLFxuICBTY3JvbGxEaXJlY3RpdmUsXG4gIFNwaW5uZXJEaXJlY3RpdmUsXG4gIEFza0Ryb3Bkb3duRGlyZWN0aXZlXG59IGZyb20gXCIuL2RpcmVjdGl2ZXNcIjtcbmltcG9ydCB7TW9kYWxCb2R5RGlyZWN0aXZlLCBNb2RhbENvbXBvbmVudCwgTW9kYWxGb290ZXJEaXJlY3RpdmUsIE1vZGFsSGVhZGVyRGlyZWN0aXZlfSBmcm9tICcuL2NvbXBvbmVudHMvbW9kYWwnO1xuaW1wb3J0IHsgQ2hhcmFjdGVyQ291bnRlckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jaGFyYWN0ZXItY291bnRlci9jaGFyYWN0ZXItY291bnRlci5jb21wb25lbnQnO1xuaW1wb3J0IHtBY2NvcmRpb25Db21wb25lbnR9IGZyb20gXCIuL2NvbXBvbmVudHMvYWNjb3JkaW9uL2FjY29yZGlvbi5jb21wb25lbnRcIjtcbmltcG9ydCB7RXh0ZW5kYWJsZVBhbmVsQ29tcG9uZW50fSBmcm9tIFwiLi9jb21wb25lbnRzL2FjY29yZGlvbi9leHRlbmRhYmxlLXBhbmVsL2V4dGVuZGFibGUtcGFuZWwuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBUYWJsZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy90YWJsZS90YWJsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgUGFnaW5hdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9wYWdpbmF0aW9uL3BhZ2luYXRpb24uY29tcG9uZW50JztcbmltcG9ydCB7IFBhZ2luYXRlUGlwZSB9IGZyb20gJy4vcGlwZXMvcGFnaW5hdGUvcGFnaW5hdGUucGlwZSc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIEJ1dHRvbkNvbXBvbmVudCxcbiAgICBJbnB1dENvbXBvbmVudCxcbiAgICBTZWxlY3RDb21wb25lbnQsXG4gICAgQm94Q29tcG9uZW50LFxuICAgIEF2YXRhckNvbXBvbmVudCxcbiAgICBEcm9wZG93bkNvbnRhaW5lckNvbXBvbmVudCxcbiAgICBBc2tEcm9wZG93bkRpcmVjdGl2ZSxcbiAgICBBdXRvY29tcGxldGVDb21wb25lbnQsXG4gICAgQ2hpcHNDb21wb25lbnQsXG4gICAgQ2hlY2tib3hDb21wb25lbnQsXG4gICAgRGF0ZVBpY2tlckNvbXBvbmVudCxcbiAgICBEYXRlUGlja2VyQ2FsZW5kYXJDb21wb25lbnQsXG4gICAgU2tlbGV0b25Db21wb25lbnQsXG4gICAgU3Bpbm5lckNvbXBvbmVudCxcbiAgICBTcGlubmVyRGlyZWN0aXZlLFxuICAgIEJhZGdlRGlyZWN0aXZlLFxuICAgIEF1dG9mb2N1c0RpcmVjdGl2ZSxcbiAgICBTY3JvbGxEaXJlY3RpdmUsXG4gICAgQXNrVG9vbHRpcERpcmVjdGl2ZSxcbiAgICBUb2FzdENvbXBvbmVudCxcbiAgICBBc2tCdXR0b25EaXJlY3RpdmUsXG4gICAgTW9kYWxDb21wb25lbnQsXG4gICAgTW9kYWxCb2R5RGlyZWN0aXZlLFxuICAgIE1vZGFsSGVhZGVyRGlyZWN0aXZlLFxuICAgIE1vZGFsRm9vdGVyRGlyZWN0aXZlLFxuICAgIENoYXJhY3RlckNvdW50ZXJDb21wb25lbnQsXG4gICAgQWNjb3JkaW9uQ29tcG9uZW50LFxuICAgIEV4dGVuZGFibGVQYW5lbENvbXBvbmVudCxcbiAgICBUYWJsZUNvbXBvbmVudCxcbiAgICBQYWdpbmF0aW9uQ29tcG9uZW50LFxuICAgIFBhZ2luYXRlUGlwZSxcbiAgXSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIENka092ZXJsYXlPcmlnaW4sXG4gICAgQ2RrQ29ubmVjdGVkT3ZlcmxheSxcbiAgICBPdmVybGF5TW9kdWxlLFxuICAgIFRyYW5zbGF0ZU1vZHVsZS5mb3JDaGlsZCgpLFxuICAgIE5neFNrZWxldG9uTG9hZGVyTW9kdWxlLFxuICAgIE1hdFRvb2x0aXBNb2R1bGUsXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBCdXR0b25Db21wb25lbnQsXG4gICAgSW5wdXRDb21wb25lbnQsXG4gICAgU2VsZWN0Q29tcG9uZW50LFxuICAgIEJveENvbXBvbmVudCxcbiAgICBBdmF0YXJDb21wb25lbnQsXG4gICAgRHJvcGRvd25Db250YWluZXJDb21wb25lbnQsXG4gICAgQXNrRHJvcGRvd25EaXJlY3RpdmUsXG4gICAgQXV0b2NvbXBsZXRlQ29tcG9uZW50LFxuICAgIENoaXBzQ29tcG9uZW50LFxuICAgIENoZWNrYm94Q29tcG9uZW50LFxuICAgIERhdGVQaWNrZXJDb21wb25lbnQsXG4gICAgRGF0ZVBpY2tlckNhbGVuZGFyQ29tcG9uZW50LFxuICAgIFNrZWxldG9uQ29tcG9uZW50LFxuICAgIFNwaW5uZXJEaXJlY3RpdmUsXG4gICAgQmFkZ2VEaXJlY3RpdmUsXG4gICAgQXV0b2ZvY3VzRGlyZWN0aXZlLFxuICAgIFNjcm9sbERpcmVjdGl2ZSxcbiAgICBBc2tUb29sdGlwRGlyZWN0aXZlLFxuICAgIEFza0J1dHRvbkRpcmVjdGl2ZSxcbiAgICBNb2RhbEJvZHlEaXJlY3RpdmUsXG4gICAgTW9kYWxIZWFkZXJEaXJlY3RpdmUsXG4gICAgTW9kYWxGb290ZXJEaXJlY3RpdmUsXG4gICAgQ2hhcmFjdGVyQ291bnRlckNvbXBvbmVudCxcbiAgICBBY2NvcmRpb25Db21wb25lbnQsXG4gICAgRXh0ZW5kYWJsZVBhbmVsQ29tcG9uZW50LFxuICAgIFRhYmxlQ29tcG9uZW50LFxuICAgIFBhZ2luYXRpb25Db21wb25lbnQsXG4gICAgUGFnaW5hdGVQaXBlLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBBc2tzdWl0ZUNpdHJ1c01vZHVsZSB7fVxuIl19
|
@@ -45,6 +45,7 @@ export class AutocompleteComponent {
|
|
45
45
|
"-many": false
|
46
46
|
};
|
47
47
|
this.optionsSelected = {};
|
48
|
+
this.changed = false;
|
48
49
|
this._destroy = inject(DestroyRef);
|
49
50
|
this.ITEMS_PER_PAGE = 40;
|
50
51
|
this._pageNumber = 1;
|
@@ -59,6 +60,8 @@ export class AutocompleteComponent {
|
|
59
60
|
this.allOptionsSelectedText = null;
|
60
61
|
this.selectAllMessage = this.translate.instant('SELECT_ALL');
|
61
62
|
this.itemCheck = new EventEmitter();
|
63
|
+
this.selectionDone = new EventEmitter();
|
64
|
+
this.optionRemoved = new EventEmitter();
|
62
65
|
this.onChange = (_) => { };
|
63
66
|
this.onTouched = () => { };
|
64
67
|
}
|
@@ -132,6 +135,7 @@ export class AutocompleteComponent {
|
|
132
135
|
this.updateValidation();
|
133
136
|
this.updateChipsContainerClasses();
|
134
137
|
this.change.detectChanges();
|
138
|
+
this.changed = true;
|
135
139
|
}
|
136
140
|
showOptions() {
|
137
141
|
this.closed = false;
|
@@ -146,6 +150,8 @@ export class AutocompleteComponent {
|
|
146
150
|
}
|
147
151
|
getOverlayConfig(wrapper) {
|
148
152
|
return this.overlay.create({
|
153
|
+
hasBackdrop: true,
|
154
|
+
backdropClass: "cdk-overlay-transparent-backdrop",
|
149
155
|
width: wrapper.nativeElement.offsetWidth,
|
150
156
|
scrollStrategy: this.overlay.scrollStrategies.reposition(),
|
151
157
|
positionStrategy: this.overlay.position()
|
@@ -166,8 +172,10 @@ export class AutocompleteComponent {
|
|
166
172
|
this._pageNumber = 1;
|
167
173
|
this.paginatedFilteredOptions = [];
|
168
174
|
this.updateValidation();
|
169
|
-
this.change.detectChanges();
|
170
175
|
this.scrollSub?.unsubscribe();
|
176
|
+
if (this.changed)
|
177
|
+
this.selectionDone.emit();
|
178
|
+
this.changed = false;
|
171
179
|
}
|
172
180
|
handleClick(event) {
|
173
181
|
if (!this.closed
|
@@ -191,6 +199,7 @@ export class AutocompleteComponent {
|
|
191
199
|
this.updateValidation();
|
192
200
|
this.change.detectChanges();
|
193
201
|
this.itemCheck.emit(this.selection);
|
202
|
+
this.changed = true;
|
194
203
|
}
|
195
204
|
valueChange(option, value) {
|
196
205
|
this.optionsSelected[option[this.valueProp]] = value;
|
@@ -202,6 +211,7 @@ export class AutocompleteComponent {
|
|
202
211
|
this.updateValidation();
|
203
212
|
this.change.detectChanges();
|
204
213
|
this.itemCheck.emit(this.selection);
|
214
|
+
this.changed = true;
|
205
215
|
}
|
206
216
|
selectAllOptions(selected) {
|
207
217
|
this.optionsSelected = this.options
|
@@ -215,6 +225,7 @@ export class AutocompleteComponent {
|
|
215
225
|
this.optionsSelected[option[this.valueProp]] = false;
|
216
226
|
this.selection = this.selection.filter(selectedOption => selectedOption[this.valueProp] !== option[this.valueProp]);
|
217
227
|
this.onChange(this.selection);
|
228
|
+
this.optionRemoved.emit(option);
|
218
229
|
}
|
219
230
|
else {
|
220
231
|
this.selectedOption = null;
|
@@ -287,11 +298,11 @@ export class AutocompleteComponent {
|
|
287
298
|
this.disabled = isDisabled;
|
288
299
|
}
|
289
300
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: AutocompleteComponent, deps: [{ token: i1.FormBuilder }, { token: i2.Overlay }, { token: i0.ViewContainerRef }, { token: i0.ChangeDetectorRef }, { token: i3.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
290
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: AutocompleteComponent, selector: "ask-autocomplete", inputs: { filterFn: "filterFn", displayFn: "displayFn", multiple: "multiple", valueProp: "valueProp", options: "options", fixedOptions: "fixedOptions", placeholder: "placeholder", emptyMessage: "emptyMessage", selectAll: "selectAll", allOptionsSelectedText: "allOptionsSelectedText", selectAllMessage: "selectAllMessage", iconPropReference: "iconPropReference" }, outputs: { itemCheck: "itemCheck" }, host: { listeners: { "window:mousedown": "handleClick($event)" } }, providers: [valueAccessor], viewQueries: [{ propertyName: "input", first: true, predicate: ["autocomplete"], descendants: true }, { propertyName: "list", first: true, predicate: ["list"], descendants: true }, { propertyName: "wrapper", first: true, predicate: ["wrapper"], descendants: true }, { propertyName: "overlayContent", first: true, predicate: ["overlayContent"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div\n class=\"autocomplete-wrapper\"\n data-testid=\"autocomplete-wrapper\"\n [class.-closed]=\"closed\"\n [class.-opened]=\"!closed\"\n #wrapper\n (click)=\"handleAutocompleteClick()\"\n>\n <div class=\"autocomplete\" #autocomplete>\n <input\n class=\"search-field\"\n askAutofocus\n *ngIf=\"!closed; else selectionOrPlaceholder\"\n (click)=\"$event.stopPropagation()\"\n [formControl]=\"inputControl\"\n [placeholder]=\"placeholder\"\n />\n <ng-template #selectionOrPlaceholder>\n <ng-container *ngIf=\"showChips\">\n <div\n class=\"chip-list\"\n [class.-collapsed]=\"chipsCollapsed\"\n [ngClass]=\"chipsContainerClasses\"\n >\n <ask-chips\n [style.max-width]=\"chipsCollapsed ? '85%' : '95%'\"\n [showAction]=\"true\"\n *ngFor=\"let option of selectedOptions\"\n (action)=\"handleChipAction(option)\"\n >\n {{ display(option) }}\n </ask-chips>\n <span\n class=\"expand\"\n data-testid=\"see-more\"\n *ngIf=\"showAllSelectionBtn\"\n (click)=\"handleChipsListActionClick($event)\"\n >\n +{{ selection.length - 1 }}\n </span>\n </div>\n </ng-container>\n <span\n class=\"empty-placeholder\"\n data-testid=\"placeholder\"\n *ngIf=\"showPlaceholder\"\n >\n {{\n checkAllValue && allOptionsSelectedText\n ? allOptionsSelectedText\n : placeholder\n }}\n </span>\n </ng-template>\n <span\n class=\"btn-expand material-icons\"\n data-testid=\"btn-expand\"\n [class.-disabled]=\"disabled\"\n *ngIf=\"chipsCollapsed\"\n >\n {{ closed ? \"expand_more\" : \"expand_less\" }}\n </span>\n </div>\n <div class=\"actions\" *ngIf=\"showExpandedSelectionActions\">\n <span\n class=\"see-more\"\n data-testid=\"see-less\"\n (click)=\"handleChipsListActionClick($event)\"\n >\n {{ \"SEE_LESS\" | translate }}\n </span>\n <span\n class=\"btn-expand material-icons\"\n data-testid=\"btn-expand\"\n [class.-disabled]=\"disabled\"\n >\n {{ closed ? \"expand_more\" : \"expand_less\" }}\n </span>\n </div>\n</div>\n\n<ng-template #overlayContent>\n <div #list class=\"menu-container\" [class.-multiple]=\"multiple\">\n <ng-container *ngIf=\"!multiple; else multipleSelection\">\n <div class=\"list\" askScroll [askScrollThreshold]=\"50\">\n <ng-container *ngFor=\"let option of paginatedFilteredOptions\">\n <div\n class=\"option-item\"\n [class.-highlighted]=\"\n selectedOption && selectedOption[valueProp] === option[valueProp]\n \"\n (click)=\"handleOptionSelected(option)\"\n >\n <p class=\"text\">{{ display(option) }}</p>\n </div>\n </ng-container>\n </div>\n </ng-container>\n <ng-template #multipleSelection>\n <div class=\"option-item\" *ngIf=\"showSelectAllCheckbox\">\n <ask-checkbox\n (valueChange)=\"handleSelectAll($event)\"\n [(ngModel)]=\"checkAllValue\"\n >{{selectAllMessage}}</ask-checkbox\n >\n </div>\n\n <ng-container *ngFor=\"let option of fixedOptionsItems\">\n <div class=\"option-item\">\n <ask-checkbox\n [value]=\"optionsSelected[option[valueProp]]\"\n (valueChange)=\"valueChange(option, $event)\"\n >\n <div class=\"checkbox-content\">\n <img\n data-testid=\"checkbox-item-icon\"\n class=\"icon\"\n *ngIf=\"iconPropReference\"\n [src]=\"option[iconPropReference]\"\n alt=\"\"\n />\n {{ display(option) }}\n </div>\n </ask-checkbox>\n </div>\n </ng-container>\n\n <div\n askScroll\n [askScrollThreshold]=\"50\"\n (scrollEnd)=\"getMoreItems()\"\n data-testid=\"options-form\"\n class=\"options-form\"\n [class.-select-all]=\"showSelectAllCheckbox\"\n >\n <ng-container *ngFor=\"let option of paginatedFilteredOptions\">\n <div class=\"option-item\">\n <ask-checkbox\n [value]=\"optionsSelected[option[valueProp]]\"\n (valueChange)=\"valueChange(option, $event)\"\n >\n <div class=\"checkbox-content\">\n <img\n data-testid=\"checkbox-item-icon\"\n class=\"icon\"\n *ngIf=\"iconPropReference\"\n [src]=\"option[iconPropReference]\"\n alt=\"\"\n />\n {{ display(option) }}\n </div>\n </ask-checkbox>\n </div>\n </ng-container>\n </div>\n </ng-template>\n <span class=\"empty\" *ngIf=\"!filteredOptions.length\">{{\n emptyMessage | translate\n }}</span>\n </div>\n</ng-template>\n", styles: ["@import\"https://cdn.quilljs.com/1.0.0/quill.core.css\";:root{--asksuite-orange: #FF5724;--white: #FFF;--grey-50: #F5F7FA;--grey-100: #E4E7EB;--grey-200: #CBD2D9;--grey-300: #9AA5B1;--grey-400: #7B8794;--grey-500: #616E7C;--grey-600: #52606D;--grey-700: #3E4C59;--grey-800: #2A3042;--grey-900: #1F2933;--yellow-50: #FFF8E2;--yellow-200: #FFECB3;--success-green: #4BAF50;--warning-yellow: #FFC107;--error-red: #E8453E;--shadow: rgba(42, 48, 66, .1607843137);--lightblue-tag: #CDF9F3;--lavender-tag: #D4DAF3;--green-tag: #CEEEAA;--pink-tag: #FBC5FF;--orange-tag: #FED5C9;--purple-tag: #DDBFE5;--yellow-tag: #FFE0B2;--blue-tag: #B2E5FD;--brown-tag: #EFC89C;--whatsapp-green: #68B35D;--facebook-blue: #0084FF;--instagram-pink: #D53E91;--google-blue: #345DC8;--telegram-blue: #34AADF;--telephone-yellow: #FECB00;--primary-background: #FFF;--secondary-background: #EFF3F8;--hover-background: #F5F7FA;--divider-background: #E4E7EB;--font-color-100: #2A3042;--font-color-200: #616E7C;--font-color-300: #9AA5B1}:root{--font-default: $font-default;--font-code: $font-code}:root{--font-xs: $font-xs;--font-sm: $font-sm;--font-md: $font-md;--font-lg: $font-lg;--font-xl: $font-xl;--font-xxl: $font-xxl}:root{--font-weight-regular: $font-weight-regular;--font-weight-medium: $font-weight-medium}:root{--radii-px: $radii-px;--radii-xs: $radii-xs;--radii-sm: $radii-sm;--radii-md: $radii-md;--radii-lg: $radii-lg;--radii-full: $radii-full}.ellipsis,.option-item>.text,.option-item{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.scale-in-center{animation:scale-in-center .3s ease-in-out both}@keyframes scale-in-center{0%{transform:scale(0);opacity:1}to{transform:scale(1);opacity:1}}.scale-out-center{animation:scale-out-center .3s ease-in-out both}@keyframes scale-out-center{0%{transform:scale(1);opacity:1}to{transform:scale(0);opacity:1}}.ask-tooltip{background-color:#7b8794;color:#fff;padding:4px;border-radius:8px;position:relative}.ask-tooltip>div{text-align:center!important}.ask-tooltip:after{position:absolute;content:\"\";width:10px;height:10px;background-color:inherit}.ask-tooltip.-above{margin-bottom:4px}.ask-tooltip.-above:after{bottom:-5px;left:50%;transform:translate(-50%) rotate(45deg)}.ask-tooltip.-below{margin-top:4px}.ask-tooltip.-below:after{top:-5px;left:50%;transform:translate(-50%) rotate(45deg)}.ask-tooltip.-after,.ask-tooltip.-right{margin-left:4px}.ask-tooltip.-after:after,.ask-tooltip.-right:after{left:-5px;top:50%;transform:translateY(-50%) rotate(45deg)}.ask-tooltip.-before,.ask-tooltip.-left{margin-right:4px}.ask-tooltip.-before:after,.ask-tooltip.-left:after{right:-5px;top:50%;transform:translateY(-50%) rotate(45deg)}.ask-button{padding:8px 24px;border-radius:6px;border:none;outline:none;height:48px;font-size:1rem;transition:background-color .1s,box-shadow .1s;cursor:pointer;font-weight:500;background:white;color:var(--grey-500)}.ask-button:not(.-primary,.-secondary){box-shadow:0 1px 2px #2a304229}.ask-button:not(.-primary):hover:not(:disabled){box-shadow:0 0 6px #2a304229}.ask-button:hover:not(:disabled){box-shadow:0 0 6px #ff572466}.ask-button:active:not(:disabled){background-color:#f34915}.ask-button:disabled{cursor:not-allowed;background-color:#9aa5b1}.ask-button.-primary{background:#FF5724;color:#fff}.ask-modal-header{display:block;position:relative;flex-shrink:0;box-sizing:border-box;margin:0 0 1px;padding:0 24px 9px}.ask-modal-body{flex-grow:1;box-sizing:border-box;margin:0;overflow:auto;padding:20px 24px;max-height:65vh;display:block}.ask-modal-footer{display:flex;position:relative;flex-shrink:0;flex-wrap:wrap;align-items:center;justify-content:flex-end;box-sizing:border-box;min-height:52px;margin:0;padding:8px;border-top:1px solid rgba(0,0,0,0)}.ql-editor{padding:14px 16px;font-size:.875rem;word-break:break-word}.bubble-toolbox{position:absolute;background-color:var(--grey-800);border-radius:8px;z-index:999}.top-toolbox{background-color:var(--grey-100)}.material-icons{font-family:Material Icons;font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:\"liga\";-webkit-font-smoothing:antialiased}*{box-sizing:border-box}*,button,select,textarea{font-family:Inter,sans-serif;font-weight:400}input{font-size:1rem}.ask-badge{position:relative}.ask-badge>.badge{position:absolute;display:flex;justify-content:center;align-items:center;background-color:var(--bg-color);color:#fff;font-size:12px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;border-radius:50%;box-shadow:0 2px 6px -1px #00000080}.ask-badge>.badge.-primary{--bg-color: var(--asksuite-orange)}.ask-badge>.badge.-secondary{--bg-color: var(--grey-800)}.ask-badge>.badge.-top{top:-10px}.ask-badge>.badge.-bottom{bottom:-10px}.ask-badge>.badge.-left{left:-10px}.ask-badge>.badge.-right{right:-10px}.ask-badge>.badge.-small{width:18px;height:18px;font-size:10px}.ask-badge>.badge.-regular{width:22px;height:22px;font-size:11px}.ask-badge>.badge.-large{width:28px;height:28px;font-size:12px}.ask-dropdown-top-right{margin-left:8px}.ask-dropdown-top-left{margin-right:8px}.ask-dropdown-bottom-right,.ask-dropdown-bottom-left{margin-top:8px}.autocomplete-wrapper{position:relative;border:1px solid #CBD2D9;border-radius:4px;padding:16px}.autocomplete-wrapper:hover{cursor:pointer}.autocomplete-wrapper>.autocomplete{display:flex;flex-direction:row;justify-content:space-between;align-items:center}.autocomplete-wrapper>.actions{width:100%;display:flex;flex-direction:row;justify-content:space-between;align-items:center}.autocomplete-wrapper.-opened{border-bottom-right-radius:0;border-bottom-left-radius:0}.autocomplete-wrapper.-closed{transition:all ease-in-out .3s;min-height:54px}.search-field{font-style:inherit;width:100%;border:none;height:100%}.search-field:focus{border:none;outline:none}.search-field::placeholder{opacity:.6}.option-item{display:flex;flex-direction:row;align-items:center;padding-left:1rem;height:36px;width:100%}.option-item.-highlighted{background-color:#e4e7eb}.option-item:hover{cursor:pointer;background-color:#f5f7fa}.see-more,.chip-list>.expand{color:#616e7c;text-decoration:underline;font-size:.875rem;font-weight:500}.see-more:hover,.chip-list>.expand:hover{cursor:pointer}.chip-list{display:flex;align-items:center;flex-direction:row;flex-wrap:wrap;gap:.5rem;flex:1;max-height:calc(120px + 2.5rem);transition:all ease-in-out .3s;max-width:100%}.chip-list.-collapsed{height:24px;overflow:hidden;transition:none}.chip-list.-two{height:calc(48px + 1rem)}.chip-list.-three{height:calc(72px + 1.5rem)}.chip-list.-four{height:calc(96px + 2rem)}.chip-list.-many{overflow-y:auto;height:calc(120px + 2.5rem)}.btn-expand:hover{cursor:pointer}.btn-expand.-disabled{color:#7b8794}.empty-placeholder{font-size:.875rem}.empty-placeholder:hover{cursor:pointer}.list-box,.menu-container>.list,.options-form{min-height:1rem;overflow-y:scroll;max-height:100%}.list-box.-select-all,.menu-container>.-select-all.list,.-select-all.options-form{max-height:180px}.checkbox-content{display:flex;gap:8px;align-items:center}.checkbox-content>.icon{width:16px;height:16px}.menu-container{width:100%;background:white;border:1px solid #CBD2D9;border-bottom-right-radius:4px;border-bottom-left-radius:4px;border-top:none;padding:8px 0}.menu-container>.list{max-height:180px}.menu-container>.empty{text-align:center;display:inline-block;width:100%}\n"], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i5.ChipsComponent, selector: "ask-chips", inputs: ["appearance", "showAction", "size", "color"], outputs: ["action"] }, { kind: "component", type: i6.CheckboxComponent, selector: "ask-checkbox", inputs: ["value", "disabled"], outputs: ["valueChange", "change", "click", "focus"] }, { kind: "directive", type: i7.AutofocusDirective, selector: "[askAutofocus]" }, { kind: "directive", type: i8.ScrollDirective, selector: "[askScroll]", inputs: ["askScrollThreshold"], outputs: ["scrollEnd"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
301
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: AutocompleteComponent, selector: "ask-autocomplete", inputs: { filterFn: "filterFn", displayFn: "displayFn", multiple: "multiple", valueProp: "valueProp", options: "options", fixedOptions: "fixedOptions", placeholder: "placeholder", emptyMessage: "emptyMessage", selectAll: "selectAll", allOptionsSelectedText: "allOptionsSelectedText", selectAllMessage: "selectAllMessage", iconPropReference: "iconPropReference" }, outputs: { itemCheck: "itemCheck", selectionDone: "selectionDone", optionRemoved: "optionRemoved" }, host: { listeners: { "window:mousedown": "handleClick($event)" } }, providers: [valueAccessor], viewQueries: [{ propertyName: "input", first: true, predicate: ["autocomplete"], descendants: true }, { propertyName: "list", first: true, predicate: ["list"], descendants: true }, { propertyName: "wrapper", first: true, predicate: ["wrapper"], descendants: true }, { propertyName: "overlayContent", first: true, predicate: ["overlayContent"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div\n class=\"autocomplete-wrapper\"\n data-testid=\"autocomplete-wrapper\"\n [class.-closed]=\"closed\"\n [class.-opened]=\"!closed\"\n #wrapper\n (click)=\"handleAutocompleteClick()\"\n>\n <div class=\"autocomplete\" #autocomplete>\n <input\n class=\"search-field\"\n askAutofocus\n *ngIf=\"!closed; else selectionOrPlaceholder\"\n (click)=\"$event.stopPropagation()\"\n [formControl]=\"inputControl\"\n [placeholder]=\"placeholder\"\n />\n <ng-template #selectionOrPlaceholder>\n <ng-container *ngIf=\"showChips\">\n <div\n class=\"chip-list\"\n [class.-collapsed]=\"chipsCollapsed\"\n [ngClass]=\"chipsContainerClasses\"\n >\n <ask-chips\n [style.max-width]=\"chipsCollapsed ? '85%' : '95%'\"\n [showAction]=\"true\"\n *ngFor=\"let option of selectedOptions\"\n (action)=\"handleChipAction(option)\"\n >\n {{ display(option) }}\n </ask-chips>\n <span\n class=\"expand\"\n data-testid=\"see-more\"\n *ngIf=\"showAllSelectionBtn\"\n (click)=\"handleChipsListActionClick($event)\"\n >\n +{{ selection.length - 1 }}\n </span>\n </div>\n </ng-container>\n <span\n class=\"empty-placeholder\"\n data-testid=\"placeholder\"\n *ngIf=\"showPlaceholder\"\n >\n {{\n checkAllValue && allOptionsSelectedText\n ? allOptionsSelectedText\n : placeholder\n }}\n </span>\n </ng-template>\n <span\n class=\"btn-expand material-icons\"\n data-testid=\"btn-expand\"\n [class.-disabled]=\"disabled\"\n *ngIf=\"chipsCollapsed\"\n >\n {{ closed ? \"expand_more\" : \"expand_less\" }}\n </span>\n </div>\n <div class=\"actions\" *ngIf=\"showExpandedSelectionActions\">\n <span\n class=\"see-more\"\n data-testid=\"see-less\"\n (click)=\"handleChipsListActionClick($event)\"\n >\n {{ \"SEE_LESS\" | translate }}\n </span>\n <span\n class=\"btn-expand material-icons\"\n data-testid=\"btn-expand\"\n [class.-disabled]=\"disabled\"\n >\n {{ closed ? \"expand_more\" : \"expand_less\" }}\n </span>\n </div>\n</div>\n\n<ng-template #overlayContent>\n <div #list class=\"menu-container\" [class.-multiple]=\"multiple\">\n <ng-container *ngIf=\"!multiple; else multipleSelection\">\n <div class=\"list\" askScroll [askScrollThreshold]=\"50\">\n <ng-container *ngFor=\"let option of paginatedFilteredOptions\">\n <div\n class=\"option-item\"\n [class.-highlighted]=\"\n selectedOption && selectedOption[valueProp] === option[valueProp]\n \"\n (click)=\"handleOptionSelected(option)\"\n >\n <p class=\"text\">{{ display(option) }}</p>\n </div>\n </ng-container>\n </div>\n </ng-container>\n <ng-template #multipleSelection>\n <div class=\"option-item\" *ngIf=\"showSelectAllCheckbox\">\n <ask-checkbox\n (valueChange)=\"handleSelectAll($event)\"\n [(ngModel)]=\"checkAllValue\"\n >{{selectAllMessage}}</ask-checkbox\n >\n </div>\n\n <ng-container *ngFor=\"let option of fixedOptionsItems\">\n <div class=\"option-item\">\n <ask-checkbox\n [value]=\"optionsSelected[option[valueProp]]\"\n (valueChange)=\"valueChange(option, $event)\"\n >\n <div class=\"checkbox-content\">\n <img\n data-testid=\"checkbox-item-icon\"\n class=\"icon\"\n *ngIf=\"iconPropReference\"\n [src]=\"option[iconPropReference]\"\n alt=\"\"\n />\n {{ display(option) }}\n </div>\n </ask-checkbox>\n </div>\n </ng-container>\n\n <div\n askScroll\n [askScrollThreshold]=\"50\"\n (scrollEnd)=\"getMoreItems()\"\n data-testid=\"options-form\"\n class=\"options-form\"\n [class.-select-all]=\"showSelectAllCheckbox\"\n >\n <ng-container *ngFor=\"let option of paginatedFilteredOptions\">\n <div class=\"option-item\">\n <ask-checkbox\n [value]=\"optionsSelected[option[valueProp]]\"\n (valueChange)=\"valueChange(option, $event)\"\n >\n <div class=\"checkbox-content\">\n <img\n data-testid=\"checkbox-item-icon\"\n class=\"icon\"\n *ngIf=\"iconPropReference\"\n [src]=\"option[iconPropReference]\"\n alt=\"\"\n />\n {{ display(option) }}\n </div>\n </ask-checkbox>\n </div>\n </ng-container>\n </div>\n </ng-template>\n <span class=\"empty\" *ngIf=\"!filteredOptions.length\">{{\n emptyMessage | translate\n }}</span>\n </div>\n</ng-template>\n", styles: [":root{--asksuite-orange: #FF5724;--white: #FFF;--grey-50: #F5F7FA;--grey-100: #E4E7EB;--grey-200: #CBD2D9;--grey-300: #9AA5B1;--grey-400: #7B8794;--grey-500: #616E7C;--grey-600: #52606D;--grey-700: #3E4C59;--grey-800: #2A3042;--grey-900: #1F2933;--yellow-50: #FFF8E2;--yellow-200: #FFECB3;--success-green: #4BAF50;--warning-yellow: #FFC107;--error-red: #E8453E;--shadow: rgba(42, 48, 66, .1607843137);--lightblue-tag: #CDF9F3;--lavender-tag: #D4DAF3;--green-tag: #CEEEAA;--pink-tag: #FBC5FF;--orange-tag: #FED5C9;--purple-tag: #DDBFE5;--yellow-tag: #FFE0B2;--blue-tag: #B2E5FD;--brown-tag: #EFC89C;--whatsapp-green: #68B35D;--facebook-blue: #0084FF;--instagram-pink: #D53E91;--google-blue: #345DC8;--telegram-blue: #34AADF;--telephone-yellow: #FECB00;--primary-background: #FFF;--secondary-background: #EFF3F8;--hover-background: #F5F7FA;--divider-background: #E4E7EB;--font-color-100: #2A3042;--font-color-200: #616E7C;--font-color-300: #9AA5B1}:root{--font-default: $font-default;--font-code: $font-code}:root{--font-xs: $font-xs;--font-sm: $font-sm;--font-md: $font-md;--font-lg: $font-lg;--font-xl: $font-xl;--font-xxl: $font-xxl}:root{--font-weight-regular: $font-weight-regular;--font-weight-medium: $font-weight-medium}:root{--radii-px: $radii-px;--radii-xs: $radii-xs;--radii-sm: $radii-sm;--radii-md: $radii-md;--radii-lg: $radii-lg;--radii-full: $radii-full}.ellipsis,.option-item>.text,.option-item{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.scale-in-center{animation:scale-in-center .3s ease-in-out both}@keyframes scale-in-center{0%{transform:scale(0);opacity:1}to{transform:scale(1);opacity:1}}.scale-out-center{animation:scale-out-center .3s ease-in-out both}@keyframes scale-out-center{0%{transform:scale(1);opacity:1}to{transform:scale(0);opacity:1}}.ask-tooltip{background-color:#7b8794;color:#fff;padding:4px;border-radius:8px;position:relative}.ask-tooltip>div{text-align:center!important}.ask-tooltip:after{position:absolute;content:\"\";width:10px;height:10px;background-color:inherit}.ask-tooltip.-above{margin-bottom:4px}.ask-tooltip.-above:after{bottom:-5px;left:50%;transform:translate(-50%) rotate(45deg)}.ask-tooltip.-below{margin-top:4px}.ask-tooltip.-below:after{top:-5px;left:50%;transform:translate(-50%) rotate(45deg)}.ask-tooltip.-after,.ask-tooltip.-right{margin-left:4px}.ask-tooltip.-after:after,.ask-tooltip.-right:after{left:-5px;top:50%;transform:translateY(-50%) rotate(45deg)}.ask-tooltip.-before,.ask-tooltip.-left{margin-right:4px}.ask-tooltip.-before:after,.ask-tooltip.-left:after{right:-5px;top:50%;transform:translateY(-50%) rotate(45deg)}.ask-button{padding:8px 24px;border-radius:6px;border:none;outline:none;height:48px;font-size:1rem;transition:background-color .1s,box-shadow .1s;cursor:pointer;font-weight:500;background:white;color:var(--grey-500)}.ask-button:not(.-primary,.-secondary){box-shadow:0 1px 2px #2a304229}.ask-button:not(.-primary):hover:not(:disabled){box-shadow:0 0 6px #2a304229}.ask-button:hover:not(:disabled){box-shadow:0 0 6px #ff572466}.ask-button:active:not(:disabled){background-color:#f34915}.ask-button:disabled{cursor:not-allowed;background-color:#9aa5b1}.ask-button.-primary{background:#FF5724;color:#fff}.ask-modal-header{display:block;position:relative;flex-shrink:0;box-sizing:border-box;margin:0 0 1px;padding:0 24px 9px}.ask-modal-body{flex-grow:1;box-sizing:border-box;margin:0;overflow:auto;padding:20px 24px;max-height:65vh;display:block}.ask-modal-footer{display:flex;position:relative;flex-shrink:0;flex-wrap:wrap;align-items:center;justify-content:flex-end;box-sizing:border-box;min-height:52px;margin:0;padding:8px;border-top:1px solid rgba(0,0,0,0)}.material-icons{font-family:Material Icons;font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:\"liga\";-webkit-font-smoothing:antialiased}*{box-sizing:border-box}*,button,select,textarea{font-family:Inter,sans-serif;font-weight:400}input{font-size:1rem}.ask-badge{position:relative}.ask-badge>.badge{position:absolute;display:flex;justify-content:center;align-items:center;background-color:var(--bg-color);color:#fff;font-size:12px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;border-radius:50%;box-shadow:0 2px 6px -1px #00000080}.ask-badge>.badge.-primary{--bg-color: var(--asksuite-orange)}.ask-badge>.badge.-secondary{--bg-color: var(--grey-800)}.ask-badge>.badge.-top{top:-10px}.ask-badge>.badge.-bottom{bottom:-10px}.ask-badge>.badge.-left{left:-10px}.ask-badge>.badge.-right{right:-10px}.ask-badge>.badge.-small{width:18px;height:18px;font-size:10px}.ask-badge>.badge.-regular{width:22px;height:22px;font-size:11px}.ask-badge>.badge.-large{width:28px;height:28px;font-size:12px}.ask-dropdown-top-right{margin-left:8px}.ask-dropdown-top-left{margin-right:8px}.ask-dropdown-bottom-right,.ask-dropdown-bottom-left{margin-top:8px}.autocomplete-wrapper{position:relative;border:1px solid #CBD2D9;border-radius:4px;padding:16px}.autocomplete-wrapper:hover{cursor:pointer}.autocomplete-wrapper>.autocomplete{display:flex;flex-direction:row;justify-content:space-between;align-items:center}.autocomplete-wrapper>.actions{width:100%;display:flex;flex-direction:row;justify-content:space-between;align-items:center}.autocomplete-wrapper.-opened{border-bottom-right-radius:0;border-bottom-left-radius:0}.autocomplete-wrapper.-closed{transition:all ease-in-out .3s;min-height:54px}.search-field{font-style:inherit;width:100%;border:none;height:100%}.search-field:focus{border:none;outline:none}.search-field::placeholder{opacity:.6}.option-item{display:flex;flex-direction:row;align-items:center;padding-left:1rem;height:36px;width:100%}.option-item.-highlighted{background-color:#e4e7eb}.option-item:hover{cursor:pointer;background-color:#f5f7fa}.see-more,.chip-list>.expand{color:#616e7c;text-decoration:underline;font-size:.875rem;font-weight:500}.see-more:hover,.chip-list>.expand:hover{cursor:pointer}.chip-list{display:flex;align-items:center;flex-direction:row;flex-wrap:wrap;gap:.5rem;flex:1;max-height:calc(120px + 2.5rem);transition:all ease-in-out .3s;max-width:100%}.chip-list.-collapsed{height:24px;overflow:hidden;transition:none}.chip-list.-two{height:calc(48px + 1rem)}.chip-list.-three{height:calc(72px + 1.5rem)}.chip-list.-four{height:calc(96px + 2rem)}.chip-list.-many{overflow-y:auto;height:calc(120px + 2.5rem)}.btn-expand:hover{cursor:pointer}.btn-expand.-disabled{color:#7b8794}.empty-placeholder{font-size:.875rem}.empty-placeholder:hover{cursor:pointer}.list-box,.menu-container>.list,.options-form{min-height:1rem;overflow-y:scroll;max-height:100%}.list-box.-select-all,.menu-container>.-select-all.list,.-select-all.options-form{max-height:180px}.checkbox-content{display:flex;gap:8px;align-items:center}.checkbox-content>.icon{width:16px;height:16px}.menu-container{width:100%;background:white;border:1px solid #CBD2D9;border-bottom-right-radius:4px;border-bottom-left-radius:4px;border-top:none;padding:8px 0}.menu-container>.list{max-height:180px}.menu-container>.empty{text-align:center;display:inline-block;width:100%}\n"], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i5.ChipsComponent, selector: "ask-chips", inputs: ["appearance", "showAction", "size", "color"], outputs: ["action"] }, { kind: "component", type: i6.CheckboxComponent, selector: "ask-checkbox", inputs: ["value", "disabled"], outputs: ["valueChange", "change", "click", "focus"] }, { kind: "directive", type: i7.AutofocusDirective, selector: "[askAutofocus]" }, { kind: "directive", type: i8.ScrollDirective, selector: "[askScroll]", inputs: ["askScrollThreshold"], outputs: ["scrollEnd"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
291
302
|
}
|
292
303
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: AutocompleteComponent, decorators: [{
|
293
304
|
type: Component,
|
294
|
-
args: [{ selector: 'ask-autocomplete', providers: [valueAccessor], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n class=\"autocomplete-wrapper\"\n data-testid=\"autocomplete-wrapper\"\n [class.-closed]=\"closed\"\n [class.-opened]=\"!closed\"\n #wrapper\n (click)=\"handleAutocompleteClick()\"\n>\n <div class=\"autocomplete\" #autocomplete>\n <input\n class=\"search-field\"\n askAutofocus\n *ngIf=\"!closed; else selectionOrPlaceholder\"\n (click)=\"$event.stopPropagation()\"\n [formControl]=\"inputControl\"\n [placeholder]=\"placeholder\"\n />\n <ng-template #selectionOrPlaceholder>\n <ng-container *ngIf=\"showChips\">\n <div\n class=\"chip-list\"\n [class.-collapsed]=\"chipsCollapsed\"\n [ngClass]=\"chipsContainerClasses\"\n >\n <ask-chips\n [style.max-width]=\"chipsCollapsed ? '85%' : '95%'\"\n [showAction]=\"true\"\n *ngFor=\"let option of selectedOptions\"\n (action)=\"handleChipAction(option)\"\n >\n {{ display(option) }}\n </ask-chips>\n <span\n class=\"expand\"\n data-testid=\"see-more\"\n *ngIf=\"showAllSelectionBtn\"\n (click)=\"handleChipsListActionClick($event)\"\n >\n +{{ selection.length - 1 }}\n </span>\n </div>\n </ng-container>\n <span\n class=\"empty-placeholder\"\n data-testid=\"placeholder\"\n *ngIf=\"showPlaceholder\"\n >\n {{\n checkAllValue && allOptionsSelectedText\n ? allOptionsSelectedText\n : placeholder\n }}\n </span>\n </ng-template>\n <span\n class=\"btn-expand material-icons\"\n data-testid=\"btn-expand\"\n [class.-disabled]=\"disabled\"\n *ngIf=\"chipsCollapsed\"\n >\n {{ closed ? \"expand_more\" : \"expand_less\" }}\n </span>\n </div>\n <div class=\"actions\" *ngIf=\"showExpandedSelectionActions\">\n <span\n class=\"see-more\"\n data-testid=\"see-less\"\n (click)=\"handleChipsListActionClick($event)\"\n >\n {{ \"SEE_LESS\" | translate }}\n </span>\n <span\n class=\"btn-expand material-icons\"\n data-testid=\"btn-expand\"\n [class.-disabled]=\"disabled\"\n >\n {{ closed ? \"expand_more\" : \"expand_less\" }}\n </span>\n </div>\n</div>\n\n<ng-template #overlayContent>\n <div #list class=\"menu-container\" [class.-multiple]=\"multiple\">\n <ng-container *ngIf=\"!multiple; else multipleSelection\">\n <div class=\"list\" askScroll [askScrollThreshold]=\"50\">\n <ng-container *ngFor=\"let option of paginatedFilteredOptions\">\n <div\n class=\"option-item\"\n [class.-highlighted]=\"\n selectedOption && selectedOption[valueProp] === option[valueProp]\n \"\n (click)=\"handleOptionSelected(option)\"\n >\n <p class=\"text\">{{ display(option) }}</p>\n </div>\n </ng-container>\n </div>\n </ng-container>\n <ng-template #multipleSelection>\n <div class=\"option-item\" *ngIf=\"showSelectAllCheckbox\">\n <ask-checkbox\n (valueChange)=\"handleSelectAll($event)\"\n [(ngModel)]=\"checkAllValue\"\n >{{selectAllMessage}}</ask-checkbox\n >\n </div>\n\n <ng-container *ngFor=\"let option of fixedOptionsItems\">\n <div class=\"option-item\">\n <ask-checkbox\n [value]=\"optionsSelected[option[valueProp]]\"\n (valueChange)=\"valueChange(option, $event)\"\n >\n <div class=\"checkbox-content\">\n <img\n data-testid=\"checkbox-item-icon\"\n class=\"icon\"\n *ngIf=\"iconPropReference\"\n [src]=\"option[iconPropReference]\"\n alt=\"\"\n />\n {{ display(option) }}\n </div>\n </ask-checkbox>\n </div>\n </ng-container>\n\n <div\n askScroll\n [askScrollThreshold]=\"50\"\n (scrollEnd)=\"getMoreItems()\"\n data-testid=\"options-form\"\n class=\"options-form\"\n [class.-select-all]=\"showSelectAllCheckbox\"\n >\n <ng-container *ngFor=\"let option of paginatedFilteredOptions\">\n <div class=\"option-item\">\n <ask-checkbox\n [value]=\"optionsSelected[option[valueProp]]\"\n (valueChange)=\"valueChange(option, $event)\"\n >\n <div class=\"checkbox-content\">\n <img\n data-testid=\"checkbox-item-icon\"\n class=\"icon\"\n *ngIf=\"iconPropReference\"\n [src]=\"option[iconPropReference]\"\n alt=\"\"\n />\n {{ display(option) }}\n </div>\n </ask-checkbox>\n </div>\n </ng-container>\n </div>\n </ng-template>\n <span class=\"empty\" *ngIf=\"!filteredOptions.length\">{{\n emptyMessage | translate\n }}</span>\n </div>\n</ng-template>\n", styles: ["@import\"https://cdn.quilljs.com/1.0.0/quill.core.css\";:root{--asksuite-orange: #FF5724;--white: #FFF;--grey-50: #F5F7FA;--grey-100: #E4E7EB;--grey-200: #CBD2D9;--grey-300: #9AA5B1;--grey-400: #7B8794;--grey-500: #616E7C;--grey-600: #52606D;--grey-700: #3E4C59;--grey-800: #2A3042;--grey-900: #1F2933;--yellow-50: #FFF8E2;--yellow-200: #FFECB3;--success-green: #4BAF50;--warning-yellow: #FFC107;--error-red: #E8453E;--shadow: rgba(42, 48, 66, .1607843137);--lightblue-tag: #CDF9F3;--lavender-tag: #D4DAF3;--green-tag: #CEEEAA;--pink-tag: #FBC5FF;--orange-tag: #FED5C9;--purple-tag: #DDBFE5;--yellow-tag: #FFE0B2;--blue-tag: #B2E5FD;--brown-tag: #EFC89C;--whatsapp-green: #68B35D;--facebook-blue: #0084FF;--instagram-pink: #D53E91;--google-blue: #345DC8;--telegram-blue: #34AADF;--telephone-yellow: #FECB00;--primary-background: #FFF;--secondary-background: #EFF3F8;--hover-background: #F5F7FA;--divider-background: #E4E7EB;--font-color-100: #2A3042;--font-color-200: #616E7C;--font-color-300: #9AA5B1}:root{--font-default: $font-default;--font-code: $font-code}:root{--font-xs: $font-xs;--font-sm: $font-sm;--font-md: $font-md;--font-lg: $font-lg;--font-xl: $font-xl;--font-xxl: $font-xxl}:root{--font-weight-regular: $font-weight-regular;--font-weight-medium: $font-weight-medium}:root{--radii-px: $radii-px;--radii-xs: $radii-xs;--radii-sm: $radii-sm;--radii-md: $radii-md;--radii-lg: $radii-lg;--radii-full: $radii-full}.ellipsis,.option-item>.text,.option-item{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.scale-in-center{animation:scale-in-center .3s ease-in-out both}@keyframes scale-in-center{0%{transform:scale(0);opacity:1}to{transform:scale(1);opacity:1}}.scale-out-center{animation:scale-out-center .3s ease-in-out both}@keyframes scale-out-center{0%{transform:scale(1);opacity:1}to{transform:scale(0);opacity:1}}.ask-tooltip{background-color:#7b8794;color:#fff;padding:4px;border-radius:8px;position:relative}.ask-tooltip>div{text-align:center!important}.ask-tooltip:after{position:absolute;content:\"\";width:10px;height:10px;background-color:inherit}.ask-tooltip.-above{margin-bottom:4px}.ask-tooltip.-above:after{bottom:-5px;left:50%;transform:translate(-50%) rotate(45deg)}.ask-tooltip.-below{margin-top:4px}.ask-tooltip.-below:after{top:-5px;left:50%;transform:translate(-50%) rotate(45deg)}.ask-tooltip.-after,.ask-tooltip.-right{margin-left:4px}.ask-tooltip.-after:after,.ask-tooltip.-right:after{left:-5px;top:50%;transform:translateY(-50%) rotate(45deg)}.ask-tooltip.-before,.ask-tooltip.-left{margin-right:4px}.ask-tooltip.-before:after,.ask-tooltip.-left:after{right:-5px;top:50%;transform:translateY(-50%) rotate(45deg)}.ask-button{padding:8px 24px;border-radius:6px;border:none;outline:none;height:48px;font-size:1rem;transition:background-color .1s,box-shadow .1s;cursor:pointer;font-weight:500;background:white;color:var(--grey-500)}.ask-button:not(.-primary,.-secondary){box-shadow:0 1px 2px #2a304229}.ask-button:not(.-primary):hover:not(:disabled){box-shadow:0 0 6px #2a304229}.ask-button:hover:not(:disabled){box-shadow:0 0 6px #ff572466}.ask-button:active:not(:disabled){background-color:#f34915}.ask-button:disabled{cursor:not-allowed;background-color:#9aa5b1}.ask-button.-primary{background:#FF5724;color:#fff}.ask-modal-header{display:block;position:relative;flex-shrink:0;box-sizing:border-box;margin:0 0 1px;padding:0 24px 9px}.ask-modal-body{flex-grow:1;box-sizing:border-box;margin:0;overflow:auto;padding:20px 24px;max-height:65vh;display:block}.ask-modal-footer{display:flex;position:relative;flex-shrink:0;flex-wrap:wrap;align-items:center;justify-content:flex-end;box-sizing:border-box;min-height:52px;margin:0;padding:8px;border-top:1px solid rgba(0,0,0,0)}.ql-editor{padding:14px 16px;font-size:.875rem;word-break:break-word}.bubble-toolbox{position:absolute;background-color:var(--grey-800);border-radius:8px;z-index:999}.top-toolbox{background-color:var(--grey-100)}.material-icons{font-family:Material Icons;font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:\"liga\";-webkit-font-smoothing:antialiased}*{box-sizing:border-box}*,button,select,textarea{font-family:Inter,sans-serif;font-weight:400}input{font-size:1rem}.ask-badge{position:relative}.ask-badge>.badge{position:absolute;display:flex;justify-content:center;align-items:center;background-color:var(--bg-color);color:#fff;font-size:12px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;border-radius:50%;box-shadow:0 2px 6px -1px #00000080}.ask-badge>.badge.-primary{--bg-color: var(--asksuite-orange)}.ask-badge>.badge.-secondary{--bg-color: var(--grey-800)}.ask-badge>.badge.-top{top:-10px}.ask-badge>.badge.-bottom{bottom:-10px}.ask-badge>.badge.-left{left:-10px}.ask-badge>.badge.-right{right:-10px}.ask-badge>.badge.-small{width:18px;height:18px;font-size:10px}.ask-badge>.badge.-regular{width:22px;height:22px;font-size:11px}.ask-badge>.badge.-large{width:28px;height:28px;font-size:12px}.ask-dropdown-top-right{margin-left:8px}.ask-dropdown-top-left{margin-right:8px}.ask-dropdown-bottom-right,.ask-dropdown-bottom-left{margin-top:8px}.autocomplete-wrapper{position:relative;border:1px solid #CBD2D9;border-radius:4px;padding:16px}.autocomplete-wrapper:hover{cursor:pointer}.autocomplete-wrapper>.autocomplete{display:flex;flex-direction:row;justify-content:space-between;align-items:center}.autocomplete-wrapper>.actions{width:100%;display:flex;flex-direction:row;justify-content:space-between;align-items:center}.autocomplete-wrapper.-opened{border-bottom-right-radius:0;border-bottom-left-radius:0}.autocomplete-wrapper.-closed{transition:all ease-in-out .3s;min-height:54px}.search-field{font-style:inherit;width:100%;border:none;height:100%}.search-field:focus{border:none;outline:none}.search-field::placeholder{opacity:.6}.option-item{display:flex;flex-direction:row;align-items:center;padding-left:1rem;height:36px;width:100%}.option-item.-highlighted{background-color:#e4e7eb}.option-item:hover{cursor:pointer;background-color:#f5f7fa}.see-more,.chip-list>.expand{color:#616e7c;text-decoration:underline;font-size:.875rem;font-weight:500}.see-more:hover,.chip-list>.expand:hover{cursor:pointer}.chip-list{display:flex;align-items:center;flex-direction:row;flex-wrap:wrap;gap:.5rem;flex:1;max-height:calc(120px + 2.5rem);transition:all ease-in-out .3s;max-width:100%}.chip-list.-collapsed{height:24px;overflow:hidden;transition:none}.chip-list.-two{height:calc(48px + 1rem)}.chip-list.-three{height:calc(72px + 1.5rem)}.chip-list.-four{height:calc(96px + 2rem)}.chip-list.-many{overflow-y:auto;height:calc(120px + 2.5rem)}.btn-expand:hover{cursor:pointer}.btn-expand.-disabled{color:#7b8794}.empty-placeholder{font-size:.875rem}.empty-placeholder:hover{cursor:pointer}.list-box,.menu-container>.list,.options-form{min-height:1rem;overflow-y:scroll;max-height:100%}.list-box.-select-all,.menu-container>.-select-all.list,.-select-all.options-form{max-height:180px}.checkbox-content{display:flex;gap:8px;align-items:center}.checkbox-content>.icon{width:16px;height:16px}.menu-container{width:100%;background:white;border:1px solid #CBD2D9;border-bottom-right-radius:4px;border-bottom-left-radius:4px;border-top:none;padding:8px 0}.menu-container>.list{max-height:180px}.menu-container>.empty{text-align:center;display:inline-block;width:100%}\n"] }]
|
305
|
+
args: [{ selector: 'ask-autocomplete', providers: [valueAccessor], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n class=\"autocomplete-wrapper\"\n data-testid=\"autocomplete-wrapper\"\n [class.-closed]=\"closed\"\n [class.-opened]=\"!closed\"\n #wrapper\n (click)=\"handleAutocompleteClick()\"\n>\n <div class=\"autocomplete\" #autocomplete>\n <input\n class=\"search-field\"\n askAutofocus\n *ngIf=\"!closed; else selectionOrPlaceholder\"\n (click)=\"$event.stopPropagation()\"\n [formControl]=\"inputControl\"\n [placeholder]=\"placeholder\"\n />\n <ng-template #selectionOrPlaceholder>\n <ng-container *ngIf=\"showChips\">\n <div\n class=\"chip-list\"\n [class.-collapsed]=\"chipsCollapsed\"\n [ngClass]=\"chipsContainerClasses\"\n >\n <ask-chips\n [style.max-width]=\"chipsCollapsed ? '85%' : '95%'\"\n [showAction]=\"true\"\n *ngFor=\"let option of selectedOptions\"\n (action)=\"handleChipAction(option)\"\n >\n {{ display(option) }}\n </ask-chips>\n <span\n class=\"expand\"\n data-testid=\"see-more\"\n *ngIf=\"showAllSelectionBtn\"\n (click)=\"handleChipsListActionClick($event)\"\n >\n +{{ selection.length - 1 }}\n </span>\n </div>\n </ng-container>\n <span\n class=\"empty-placeholder\"\n data-testid=\"placeholder\"\n *ngIf=\"showPlaceholder\"\n >\n {{\n checkAllValue && allOptionsSelectedText\n ? allOptionsSelectedText\n : placeholder\n }}\n </span>\n </ng-template>\n <span\n class=\"btn-expand material-icons\"\n data-testid=\"btn-expand\"\n [class.-disabled]=\"disabled\"\n *ngIf=\"chipsCollapsed\"\n >\n {{ closed ? \"expand_more\" : \"expand_less\" }}\n </span>\n </div>\n <div class=\"actions\" *ngIf=\"showExpandedSelectionActions\">\n <span\n class=\"see-more\"\n data-testid=\"see-less\"\n (click)=\"handleChipsListActionClick($event)\"\n >\n {{ \"SEE_LESS\" | translate }}\n </span>\n <span\n class=\"btn-expand material-icons\"\n data-testid=\"btn-expand\"\n [class.-disabled]=\"disabled\"\n >\n {{ closed ? \"expand_more\" : \"expand_less\" }}\n </span>\n </div>\n</div>\n\n<ng-template #overlayContent>\n <div #list class=\"menu-container\" [class.-multiple]=\"multiple\">\n <ng-container *ngIf=\"!multiple; else multipleSelection\">\n <div class=\"list\" askScroll [askScrollThreshold]=\"50\">\n <ng-container *ngFor=\"let option of paginatedFilteredOptions\">\n <div\n class=\"option-item\"\n [class.-highlighted]=\"\n selectedOption && selectedOption[valueProp] === option[valueProp]\n \"\n (click)=\"handleOptionSelected(option)\"\n >\n <p class=\"text\">{{ display(option) }}</p>\n </div>\n </ng-container>\n </div>\n </ng-container>\n <ng-template #multipleSelection>\n <div class=\"option-item\" *ngIf=\"showSelectAllCheckbox\">\n <ask-checkbox\n (valueChange)=\"handleSelectAll($event)\"\n [(ngModel)]=\"checkAllValue\"\n >{{selectAllMessage}}</ask-checkbox\n >\n </div>\n\n <ng-container *ngFor=\"let option of fixedOptionsItems\">\n <div class=\"option-item\">\n <ask-checkbox\n [value]=\"optionsSelected[option[valueProp]]\"\n (valueChange)=\"valueChange(option, $event)\"\n >\n <div class=\"checkbox-content\">\n <img\n data-testid=\"checkbox-item-icon\"\n class=\"icon\"\n *ngIf=\"iconPropReference\"\n [src]=\"option[iconPropReference]\"\n alt=\"\"\n />\n {{ display(option) }}\n </div>\n </ask-checkbox>\n </div>\n </ng-container>\n\n <div\n askScroll\n [askScrollThreshold]=\"50\"\n (scrollEnd)=\"getMoreItems()\"\n data-testid=\"options-form\"\n class=\"options-form\"\n [class.-select-all]=\"showSelectAllCheckbox\"\n >\n <ng-container *ngFor=\"let option of paginatedFilteredOptions\">\n <div class=\"option-item\">\n <ask-checkbox\n [value]=\"optionsSelected[option[valueProp]]\"\n (valueChange)=\"valueChange(option, $event)\"\n >\n <div class=\"checkbox-content\">\n <img\n data-testid=\"checkbox-item-icon\"\n class=\"icon\"\n *ngIf=\"iconPropReference\"\n [src]=\"option[iconPropReference]\"\n alt=\"\"\n />\n {{ display(option) }}\n </div>\n </ask-checkbox>\n </div>\n </ng-container>\n </div>\n </ng-template>\n <span class=\"empty\" *ngIf=\"!filteredOptions.length\">{{\n emptyMessage | translate\n }}</span>\n </div>\n</ng-template>\n", styles: [":root{--asksuite-orange: #FF5724;--white: #FFF;--grey-50: #F5F7FA;--grey-100: #E4E7EB;--grey-200: #CBD2D9;--grey-300: #9AA5B1;--grey-400: #7B8794;--grey-500: #616E7C;--grey-600: #52606D;--grey-700: #3E4C59;--grey-800: #2A3042;--grey-900: #1F2933;--yellow-50: #FFF8E2;--yellow-200: #FFECB3;--success-green: #4BAF50;--warning-yellow: #FFC107;--error-red: #E8453E;--shadow: rgba(42, 48, 66, .1607843137);--lightblue-tag: #CDF9F3;--lavender-tag: #D4DAF3;--green-tag: #CEEEAA;--pink-tag: #FBC5FF;--orange-tag: #FED5C9;--purple-tag: #DDBFE5;--yellow-tag: #FFE0B2;--blue-tag: #B2E5FD;--brown-tag: #EFC89C;--whatsapp-green: #68B35D;--facebook-blue: #0084FF;--instagram-pink: #D53E91;--google-blue: #345DC8;--telegram-blue: #34AADF;--telephone-yellow: #FECB00;--primary-background: #FFF;--secondary-background: #EFF3F8;--hover-background: #F5F7FA;--divider-background: #E4E7EB;--font-color-100: #2A3042;--font-color-200: #616E7C;--font-color-300: #9AA5B1}:root{--font-default: $font-default;--font-code: $font-code}:root{--font-xs: $font-xs;--font-sm: $font-sm;--font-md: $font-md;--font-lg: $font-lg;--font-xl: $font-xl;--font-xxl: $font-xxl}:root{--font-weight-regular: $font-weight-regular;--font-weight-medium: $font-weight-medium}:root{--radii-px: $radii-px;--radii-xs: $radii-xs;--radii-sm: $radii-sm;--radii-md: $radii-md;--radii-lg: $radii-lg;--radii-full: $radii-full}.ellipsis,.option-item>.text,.option-item{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.scale-in-center{animation:scale-in-center .3s ease-in-out both}@keyframes scale-in-center{0%{transform:scale(0);opacity:1}to{transform:scale(1);opacity:1}}.scale-out-center{animation:scale-out-center .3s ease-in-out both}@keyframes scale-out-center{0%{transform:scale(1);opacity:1}to{transform:scale(0);opacity:1}}.ask-tooltip{background-color:#7b8794;color:#fff;padding:4px;border-radius:8px;position:relative}.ask-tooltip>div{text-align:center!important}.ask-tooltip:after{position:absolute;content:\"\";width:10px;height:10px;background-color:inherit}.ask-tooltip.-above{margin-bottom:4px}.ask-tooltip.-above:after{bottom:-5px;left:50%;transform:translate(-50%) rotate(45deg)}.ask-tooltip.-below{margin-top:4px}.ask-tooltip.-below:after{top:-5px;left:50%;transform:translate(-50%) rotate(45deg)}.ask-tooltip.-after,.ask-tooltip.-right{margin-left:4px}.ask-tooltip.-after:after,.ask-tooltip.-right:after{left:-5px;top:50%;transform:translateY(-50%) rotate(45deg)}.ask-tooltip.-before,.ask-tooltip.-left{margin-right:4px}.ask-tooltip.-before:after,.ask-tooltip.-left:after{right:-5px;top:50%;transform:translateY(-50%) rotate(45deg)}.ask-button{padding:8px 24px;border-radius:6px;border:none;outline:none;height:48px;font-size:1rem;transition:background-color .1s,box-shadow .1s;cursor:pointer;font-weight:500;background:white;color:var(--grey-500)}.ask-button:not(.-primary,.-secondary){box-shadow:0 1px 2px #2a304229}.ask-button:not(.-primary):hover:not(:disabled){box-shadow:0 0 6px #2a304229}.ask-button:hover:not(:disabled){box-shadow:0 0 6px #ff572466}.ask-button:active:not(:disabled){background-color:#f34915}.ask-button:disabled{cursor:not-allowed;background-color:#9aa5b1}.ask-button.-primary{background:#FF5724;color:#fff}.ask-modal-header{display:block;position:relative;flex-shrink:0;box-sizing:border-box;margin:0 0 1px;padding:0 24px 9px}.ask-modal-body{flex-grow:1;box-sizing:border-box;margin:0;overflow:auto;padding:20px 24px;max-height:65vh;display:block}.ask-modal-footer{display:flex;position:relative;flex-shrink:0;flex-wrap:wrap;align-items:center;justify-content:flex-end;box-sizing:border-box;min-height:52px;margin:0;padding:8px;border-top:1px solid rgba(0,0,0,0)}.material-icons{font-family:Material Icons;font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:\"liga\";-webkit-font-smoothing:antialiased}*{box-sizing:border-box}*,button,select,textarea{font-family:Inter,sans-serif;font-weight:400}input{font-size:1rem}.ask-badge{position:relative}.ask-badge>.badge{position:absolute;display:flex;justify-content:center;align-items:center;background-color:var(--bg-color);color:#fff;font-size:12px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;border-radius:50%;box-shadow:0 2px 6px -1px #00000080}.ask-badge>.badge.-primary{--bg-color: var(--asksuite-orange)}.ask-badge>.badge.-secondary{--bg-color: var(--grey-800)}.ask-badge>.badge.-top{top:-10px}.ask-badge>.badge.-bottom{bottom:-10px}.ask-badge>.badge.-left{left:-10px}.ask-badge>.badge.-right{right:-10px}.ask-badge>.badge.-small{width:18px;height:18px;font-size:10px}.ask-badge>.badge.-regular{width:22px;height:22px;font-size:11px}.ask-badge>.badge.-large{width:28px;height:28px;font-size:12px}.ask-dropdown-top-right{margin-left:8px}.ask-dropdown-top-left{margin-right:8px}.ask-dropdown-bottom-right,.ask-dropdown-bottom-left{margin-top:8px}.autocomplete-wrapper{position:relative;border:1px solid #CBD2D9;border-radius:4px;padding:16px}.autocomplete-wrapper:hover{cursor:pointer}.autocomplete-wrapper>.autocomplete{display:flex;flex-direction:row;justify-content:space-between;align-items:center}.autocomplete-wrapper>.actions{width:100%;display:flex;flex-direction:row;justify-content:space-between;align-items:center}.autocomplete-wrapper.-opened{border-bottom-right-radius:0;border-bottom-left-radius:0}.autocomplete-wrapper.-closed{transition:all ease-in-out .3s;min-height:54px}.search-field{font-style:inherit;width:100%;border:none;height:100%}.search-field:focus{border:none;outline:none}.search-field::placeholder{opacity:.6}.option-item{display:flex;flex-direction:row;align-items:center;padding-left:1rem;height:36px;width:100%}.option-item.-highlighted{background-color:#e4e7eb}.option-item:hover{cursor:pointer;background-color:#f5f7fa}.see-more,.chip-list>.expand{color:#616e7c;text-decoration:underline;font-size:.875rem;font-weight:500}.see-more:hover,.chip-list>.expand:hover{cursor:pointer}.chip-list{display:flex;align-items:center;flex-direction:row;flex-wrap:wrap;gap:.5rem;flex:1;max-height:calc(120px + 2.5rem);transition:all ease-in-out .3s;max-width:100%}.chip-list.-collapsed{height:24px;overflow:hidden;transition:none}.chip-list.-two{height:calc(48px + 1rem)}.chip-list.-three{height:calc(72px + 1.5rem)}.chip-list.-four{height:calc(96px + 2rem)}.chip-list.-many{overflow-y:auto;height:calc(120px + 2.5rem)}.btn-expand:hover{cursor:pointer}.btn-expand.-disabled{color:#7b8794}.empty-placeholder{font-size:.875rem}.empty-placeholder:hover{cursor:pointer}.list-box,.menu-container>.list,.options-form{min-height:1rem;overflow-y:scroll;max-height:100%}.list-box.-select-all,.menu-container>.-select-all.list,.-select-all.options-form{max-height:180px}.checkbox-content{display:flex;gap:8px;align-items:center}.checkbox-content>.icon{width:16px;height:16px}.menu-container{width:100%;background:white;border:1px solid #CBD2D9;border-bottom-right-radius:4px;border-bottom-left-radius:4px;border-top:none;padding:8px 0}.menu-container>.list{max-height:180px}.menu-container>.empty{text-align:center;display:inline-block;width:100%}\n"] }]
|
295
306
|
}], ctorParameters: function () { return [{ type: i1.FormBuilder }, { type: i2.Overlay }, { type: i0.ViewContainerRef }, { type: i0.ChangeDetectorRef }, { type: i3.TranslateService }]; }, propDecorators: { input: [{
|
296
307
|
type: ViewChild,
|
297
308
|
args: ["autocomplete"]
|
@@ -330,8 +341,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImpor
|
|
330
341
|
type: Input
|
331
342
|
}], itemCheck: [{
|
332
343
|
type: Output
|
344
|
+
}], selectionDone: [{
|
345
|
+
type: Output
|
346
|
+
}], optionRemoved: [{
|
347
|
+
type: Output
|
333
348
|
}], handleClick: [{
|
334
349
|
type: HostListener,
|
335
350
|
args: ["window:mousedown", ['$event']]
|
336
351
|
}] } });
|
337
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fza3N1aXRlLWNpdHJ1cy9zcmMvbGliL2NvbXBvbmVudHMvYXV0b2NvbXBsZXRlL2F1dG9jb21wbGV0ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hc2tzdWl0ZS1jaXRydXMvc3JjL2xpYi9jb21wb25lbnRzL2F1dG9jb21wbGV0ZS9hdXRvY29tcGxldGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLHVCQUF1QixFQUV2QixTQUFTLEVBQ1QsVUFBVSxFQUVWLFlBQVksRUFDWixVQUFVLEVBQ1YsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBRUwsTUFBTSxFQUlOLFNBQVMsRUFFVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQW9DLFdBQVcsRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ2pHLE9BQU8sRUFBQyxZQUFZLEVBQWEsR0FBRyxFQUFnQixHQUFHLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFFckUsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ25ELE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDRCQUE0QixDQUFDOzs7Ozs7Ozs7O0FBRzlELE1BQU0sYUFBYSxHQUFhO0lBQzlCLE9BQU8sRUFBRSxpQkFBaUI7SUFDMUIsS0FBSyxFQUFFLElBQUk7SUFDWCxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHFCQUFxQixDQUFDO0NBQ3JELENBQUE7QUFTRCxNQUFNLE9BQU8scUJBQXFCO0lBK0VoQyxZQUFvQixXQUF3QixFQUN4QixPQUFnQixFQUNoQixnQkFBa0MsRUFDbEMsTUFBeUIsRUFDekIsU0FBMkI7UUFKM0IsZ0JBQVcsR0FBWCxXQUFXLENBQWE7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YSxDQUFDLDZaQ3JDNUIscWhLQWlLQTs7MkZEekhhLHFCQUFxQjtrQkFQakMsU0FBUzsrQkFDRSxrQkFBa0IsYUFHakIsQ0FBQyxhQUFhLENBQUMsbUJBQ1QsdUJBQXVCLENBQUMsTUFBTTtzTkFJcEIsS0FBSztzQkFBL0IsU0FBUzt1QkFBQyxjQUFjO2dCQUNOLElBQUk7c0JBQXRCLFNBQVM7dUJBQUMsTUFBTTtnQkFDSyxPQUFPO3NCQUE1QixTQUFTO3VCQUFDLFNBQVM7Z0JBQ1MsY0FBYztzQkFBMUMsU0FBUzt1QkFBQyxnQkFBZ0I7Z0JBb0MzQixRQUFRO3NCQURQLEtBQUs7Z0JBSU4sU0FBUztzQkFEUixLQUFLO2dCQUlOLFFBQVE7c0JBRFAsS0FBSztnQkFJTixTQUFTO3NCQURSLEtBQUs7Z0JBSU4sT0FBTztzQkFETixLQUFLO2dCQUlOLFlBQVk7c0JBRFgsS0FBSztnQkFJTixXQUFXO3NCQURWLEtBQUs7Z0JBSU4sWUFBWTtzQkFEWCxLQUFLO2dCQUlOLFNBQVM7c0JBRFIsS0FBSztnQkFJTixzQkFBc0I7c0JBRHJCLEtBQUs7Z0JBSU4sZ0JBQWdCO3NCQURmLEtBQUs7Z0JBSU4saUJBQWlCO3NCQURoQixLQUFLO2dCQUlOLFNBQVM7c0JBRFIsTUFBTTtnQkE0SVAsV0FBVztzQkFEVixZQUFZO3VCQUFDLGtCQUFrQixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIERlc3Ryb3lSZWYsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgZm9yd2FyZFJlZixcbiAgSG9zdExpc3RlbmVyLFxuICBpbmplY3QsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE91dHB1dCxcbiAgUHJvdmlkZXIsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdDb250YWluZXJSZWZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0NvbnRyb2xWYWx1ZUFjY2Vzc29yLCBGb3JtQnVpbGRlciwgRm9ybUNvbnRyb2wsIE5HX1ZBTFVFX0FDQ0VTU09SfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcbmltcG9ydCB7ZGVib3VuY2VUaW1lLCBmcm9tRXZlbnQsIG1hcCwgU3Vic2NyaXB0aW9uLCB0YXB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQge092ZXJsYXksIE92ZXJsYXlSZWZ9IGZyb20gXCJAYW5ndWxhci9jZGsvb3ZlcmxheVwiO1xuaW1wb3J0IHtUZW1wbGF0ZVBvcnRhbH0gZnJvbSBcIkBhbmd1bGFyL2Nkay9wb3J0YWxcIjtcbmltcG9ydCB7dGFrZVVudGlsRGVzdHJveWVkfSBmcm9tIFwiQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3BcIjtcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcblxuY29uc3QgdmFsdWVBY2Nlc3NvcjogUHJvdmlkZXIgPSB7XG4gIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICBtdWx0aTogdHJ1ZSxcbiAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gQXV0b2NvbXBsZXRlQ29tcG9uZW50KSxcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXNrLWF1dG9jb21wbGV0ZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9hdXRvY29tcGxldGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hdXRvY29tcGxldGUuY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbdmFsdWVBY2Nlc3Nvcl0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIEF1dG9jb21wbGV0ZUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBPbkNoYW5nZXMge1xuXG4gIEBWaWV3Q2hpbGQoXCJhdXRvY29tcGxldGVcIikgaW5wdXQ6IEVsZW1lbnRSZWYgfCB1bmRlZmluZWRcbiAgQFZpZXdDaGlsZChcImxpc3RcIikgbGlzdDogRWxlbWVudFJlZiB8IHVuZGVmaW5lZFxuICBAVmlld0NoaWxkKFwid3JhcHBlclwiKSB3cmFwcGVyOiBFbGVtZW50UmVmIHwgdW5kZWZpbmVkXG4gIEBWaWV3Q2hpbGQoJ292ZXJsYXlDb250ZW50Jykgb3ZlcmxheUNvbnRlbnQ6IFRlbXBsYXRlUmVmPGFueT4gfCB1bmRlZmluZWRcblxuICBwcm90ZWN0ZWQgaW5wdXRDb250cm9sID0gbmV3IEZvcm1Db250cm9sKFwiXCIpXG4gIHByb3RlY3RlZCBmaXhlZE9wdGlvbnNJdGVtczogYW55W10gPSBbXTtcbiAgcHJvdGVjdGVkIGZpbHRlcmVkT3B0aW9uczogYW55W10gPSBbXTtcbiAgcHJvdGVjdGVkIHBhZ2luYXRlZEZpbHRlcmVkT3B0aW9uczogYW55W10gPSBbXTtcbiAgcHJvdGVjdGVkIHNlbGVjdGVkT3B0aW9uPzogYW55O1xuICBwcm90ZWN0ZWQgc2VsZWN0aW9uOiBhbnlbXSA9IFtdO1xuICBwcm90ZWN0ZWQgY2xvc2VkID0gdHJ1ZTtcbiAgcHJvdGVjdGVkIGNoaXBzQ29sbGFwc2VkID0gdHJ1ZVxuICBwcm90ZWN0ZWQgY2hlY2tBbGxWYWx1ZSA9IGZhbHNlXG4gIHByb3RlY3RlZCBkaXNhYmxlZCA9IGZhbHNlO1xuICBwcm90ZWN0ZWQgc2hvd0NoaXBzID0gZmFsc2U7XG4gIHByb3RlY3RlZCBzaG93QWxsU2VsZWN0aW9uQnRuID0gZmFsc2U7XG4gIHByb3RlY3RlZCBzaG93UGxhY2Vob2xkZXIgPSBmYWxzZTtcbiAgcHJvdGVjdGVkIHNob3dFeHBhbmRlZFNlbGVjdGlvbkFjdGlvbnMgPSBmYWxzZTtcbiAgcHJvdGVjdGVkIHNob3dTZWxlY3RBbGxDaGVja2JveCA9IGZhbHNlO1xuICBwcm90ZWN0ZWQgY2hpcHNDb250YWluZXJDbGFzc2VzID0ge1xuICAgIFwiLXR3b1wiOiBmYWxzZSxcbiAgICBcIi10aHJlZVwiOiBmYWxzZSxcbiAgICBcIi1mb3VyXCI6IGZhbHNlLFxuICAgIFwiLW1hbnlcIjogZmFsc2VcbiAgfTtcbiAgcHJvdGVjdGVkIG9wdGlvbnNTZWxlY3RlZDoge1trZXk6IHN0cmluZyB8IG51bWJlcl06IGJvb2xlYW59ID0ge31cblxuICBwcml2YXRlIF9vdmVybGF5UmVmOiBPdmVybGF5UmVmIHwgdW5kZWZpbmVkO1xuICBwcml2YXRlIF9wb3J0YWw6IFRlbXBsYXRlUG9ydGFsPGFueT4gfCB1bmRlZmluZWQ7XG4gIHByaXZhdGUgX2Rlc3Ryb3kgPSBpbmplY3QoRGVzdHJveVJlZilcbiAgcHJpdmF0ZSByZWFkb25seSBJVEVNU19QRVJfUEFHRSA9IDQwXG4gIHByaXZhdGUgX3BhZ2VOdW1iZXIgPSAxXG4gIF9zZWxlY3RBbGxNZXNzYWdlID0gJyc7XG5cbiAgcHJpdmF0ZSBzY3JvbGxTdWI/OiBTdWJzY3JpcHRpb247XG5cblxuICBASW5wdXQoKVxuICBmaWx0ZXJGbj86IChpdGVtOiBzdHJpbmcpID0+IGFueVtdO1xuXG4gIEBJbnB1dCgpXG4gIGRpc3BsYXlGbj86IChpdGVtOiBhbnkpID0+IHN0cmluZztcblxuICBASW5wdXQoKVxuICBtdWx0aXBsZSA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIHZhbHVlUHJvcDogc3RyaW5nID0gJydcblxuICBASW5wdXQoKVxuICBvcHRpb25zOiBhbnlbXSA9IFtdXG5cbiAgQElucHV0KClcbiAgZml4ZWRPcHRpb25zOiBhbnlbXSA9IFtdXG5cbiAgQElucHV0KClcbiAgcGxhY2Vob2xkZXIgPSAnJ1xuXG4gIEBJbnB1dCgpXG4gIGVtcHR5TWVzc2FnZSA9ICdOT19PUFRJT05TJztcblxuICBASW5wdXQoKVxuICBzZWxlY3RBbGwgPSBmYWxzZVxuXG4gIEBJbnB1dCgpXG4gIGFsbE9wdGlvbnNTZWxlY3RlZFRleHQ6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuXG4gIEBJbnB1dCgpXG4gIHNlbGVjdEFsbE1lc3NhZ2UgPSB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdTRUxFQ1RfQUxMJyk7XG5cbiAgQElucHV0KClcbiAgaWNvblByb3BSZWZlcmVuY2U/OiBzdHJpbmc7XG5cbiAgQE91dHB1dCgpXG4gIGl0ZW1DaGVjayA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZvcm1CdWlsZGVyOiBGb3JtQnVpbGRlcixcbiAgICAgICAgICAgICAgcHJpdmF0ZSBvdmVybGF5OiBPdmVybGF5LFxuICAgICAgICAgICAgICBwcml2YXRlIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsXG4gICAgICAgICAgICAgIHByaXZhdGUgY2hhbmdlOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgICAgICAgcHJpdmF0ZSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UpIHtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICB0aGlzLmNoZWNrQWxsVmFsdWUgPSB0aGlzLmlzQWxsT3B0aW9uc1NlbGVjdGVkXG4gICAgdGhpcy5jaGVja0ZpeGVkT3B0aW9ucygpO1xuICAgIHRoaXMuaGFuZGxlSW5wdXRDaGFuZ2UoKTtcbiAgfVxuXG4gIHByaXZhdGUgY2hlY2tGaXhlZE9wdGlvbnMoKSB7XG4gICAgdGhpcy5maXhlZE9wdGlvbnNJdGVtcyA9IHRoaXMub3B0aW9ucy5maWx0ZXIob3B0aW9uID0+IHRoaXMuZml4ZWRPcHRpb25zLmluY2x1ZGVzKG9wdGlvblt0aGlzLnZhbHVlUHJvcF0pKTtcbiAgfVxuXG4gIGdldCBpc0FsbE9wdGlvbnNTZWxlY3RlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5zZWxlY3Rpb24ubGVuZ3RoID09PSB0aGlzLm9wdGlvbnMubGVuZ3RoXG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKGNoYW5nZXNbJ29wdGlvbnMnXSkge1xuICAgICAgdGhpcy5fcGFnZU51bWJlciA9IDFcbiAgICAgIHRoaXMucGFnaW5hdGVkRmlsdGVyZWRPcHRpb25zID0gW11cblxuICAgICAgdGhpcy5maWx0ZXJlZE9wdGlvbnMgPSBjaGFuZ2VzWydvcHRpb25zJ10uY3VycmVudFZhbHVlXG4gICAgICAgIC5maWx0ZXIoKG9wdGlvbjogYW55KSA9PiAhdGhpcy5maXhlZE9wdGlvbnMuaW5jbHVkZXMob3B0aW9uW3RoaXMudmFsdWVQcm9wXSkpXG4gICAgICB0aGlzLnVwZGF0ZVZhbGlkYXRpb24oKVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlSW5wdXRDaGFuZ2UoKSB7XG4gICAgdGhpcy5pbnB1dENvbnRyb2wudmFsdWVDaGFuZ2VzLnBpcGUoXG4gICAgICB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5fZGVzdHJveSksXG4gICAgICBkZWJvdW5jZVRpbWUoMzAwKSxcbiAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgIHRoaXMuX3BhZ2VOdW1iZXIgPSAxXG4gICAgICAgIHRoaXMucGFnaW5hdGVkRmlsdGVyZWRPcHRpb25zID0gW11cbiAgICAgIH0pLFxuICAgICAgbWFwKHZhbHVlID0+IHRoaXMuZmlsdGVyRm4gPyB0aGlzLmZpbHRlckZuKHZhbHVlIHx8ICcnKSA6IFtdKVxuICAgICkuc3Vic2NyaWJlKGl0ZW1zID0+IHtcbiAgICAgIHRoaXMuZmlsdGVyZWRPcHRpb25zID0gaXRlbXNcbiAgICAgIHRoaXMuZ2V0TW9yZUl0ZW1zKClcbiAgICB9KVxuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVTZWxlY3Rpb25DaGFuZ2UodmFsdWVzOiBhbnlbXSkge1xuICAgIHRoaXMuc2VsZWN0aW9uID0gdmFsdWVzXG4gICAgdGhpcy5jaGVja0FsbFZhbHVlID0gdGhpcy5pc0FsbE9wdGlvbnNTZWxlY3RlZFxuXG4gICAgaWYgKCF0aGlzLmNoaXBzQ29sbGFwc2VkKSB7XG4gICAgICB0aGlzLmNoaXBzQ29sbGFwc2VkID0gdGhpcy5zZWxlY3Rpb24ubGVuZ3RoIDwgMlxuICAgIH1cbiAgICB0aGlzLnVwZGF0ZVZhbGlkYXRpb24oKVxuICAgIHRoaXMuY2hhbmdlLmRldGVjdENoYW5nZXMoKVxuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVDaGlwc0NvbnRhaW5lckNsYXNzZXMoKSB7XG4gICAgdGhpcy5jaGlwc0NvbnRhaW5lckNsYXNzZXMgPSB7XG4gICAgICBcIi10d29cIjogdGhpcy5zZWxlY3RlZE9wdGlvbnMubGVuZ3RoID09PSAyLFxuICAgICAgXCItdGhyZWVcIjogdGhpcy5zZWxlY3RlZE9wdGlvbnMubGVuZ3RoID09PSAzLFxuICAgICAgXCItZm91clwiOiB0aGlzLnNlbGVjdGVkT3B0aW9ucy5sZW5ndGggPT09IDQsXG4gICAgICBcIi1tYW55XCI6IHRoaXMuc2VsZWN0ZWRPcHRpb25zLmxlbmd0aCA+PSA1XG4gICAgfVxuICB9XG5cbiAgaGFuZGxlT3B0aW9uU2VsZWN0ZWQoaXRlbTogYW55KSB7XG4gICAgdGhpcy5zZWxlY3RlZE9wdGlvbiA9IGl0ZW07XG4gICAgdGhpcy5vbkNoYW5nZSh0aGlzLnNlbGVjdGVkT3B0aW9uKVxuICAgIHRoaXMuaGlkZU9wdGlvbnMoKVxuICAgIHRoaXMuY2hhbmdlLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIGhhbmRsZUF1dG9jb21wbGV0ZUNsaWNrKGV2ZW50PzogRXZlbnQpIHtcbiAgICBldmVudD8uc3RvcFByb3BhZ2F0aW9uKClcbiAgICBpZiAoIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHRoaXMuY2hpcHNDb2xsYXBzZWQgPSB0cnVlO1xuICAgICAgdGhpcy5jbG9zZWRcbiAgICAgICAgPyB0aGlzLnNob3dPcHRpb25zKClcbiAgICAgICAgOiB0aGlzLmhpZGVPcHRpb25zKClcbiAgICB9XG4gICAgdGhpcy51cGRhdGVWYWxpZGF0aW9uKCk7XG4gICAgdGhpcy51cGRhdGVDaGlwc0NvbnRhaW5lckNsYXNzZXMoKVxuICAgIHRoaXMuY2hhbmdlLmRldGVjdENoYW5nZXMoKVxuICB9XG5cbiAgcHJvdGVjdGVkIGhhbmRsZUNoaXBzTGlzdEFjdGlvbkNsaWNrKGV2ZW50OiBFdmVudCkge1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXG4gICAgdGhpcy5jaGlwc0NvbGxhcHNlZCA9ICF0aGlzLmNoaXBzQ29sbGFwc2VkO1xuICAgIHRoaXMudXBkYXRlVmFsaWRhdGlvbigpXG4gICAgdGhpcy51cGRhdGVDaGlwc0NvbnRhaW5lckNsYXNzZXMoKVxuICAgIHRoaXMuY2hhbmdlLmRldGVjdENoYW5nZXMoKVxuICB9XG5cbiAgc2hvd09wdGlvbnMoKSB7XG4gICAgdGhpcy5jbG9zZWQgPSBmYWxzZVxuICAgIGlmICh0aGlzLndyYXBwZXIpIHtcbiAgICAgIHRoaXMuX292ZXJsYXlSZWYgPSB0aGlzLmdldE92ZXJsYXlDb25maWcodGhpcy53cmFwcGVyKVxuXG4gICAgICB0aGlzLl9wb3J0YWwgPSBuZXcgVGVtcGxhdGVQb3J0YWwodGhpcy5vdmVybGF5Q29udGVudCEsIHRoaXMudmlld0NvbnRhaW5lclJlZilcbiAgICB9XG5cbiAgICB0aGlzLl9vdmVybGF5UmVmPy5hdHRhY2godGhpcy5fcG9ydGFsKTtcblxuICAgIHRoaXMudXBkYXRlVmFsaWRhdGlvbigpO1xuICAgIGlmICh0aGlzLnBhZ2luYXRlZEZpbHRlcmVkT3B0aW9ucy5sZW5ndGggPT09IDApIHRoaXMuZ2V0TW9yZUl0ZW1zKClcbiAgfVxuXG4gIHByaXZhdGUgZ2V0T3ZlcmxheUNvbmZpZyh3cmFwcGVyOiBFbGVtZW50UmVmKSB7XG4gICAgcmV0dXJuIHRoaXMub3ZlcmxheS5jcmVhdGUoe1xuICAgICAgd2lkdGg6IHdyYXBwZXIubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aCxcbiAgICAgIHNjcm9sbFN0cmF0ZWd5OiB0aGlzLm92ZXJsYXkuc2Nyb2xsU3RyYXRlZ2llcy5yZXBvc2l0aW9uKCksXG4gICAgICBwb3NpdGlvblN0cmF0ZWd5OiB0aGlzLm92ZXJsYXkucG9zaXRpb24oKVxuICAgICAgICAuZmxleGlibGVDb25uZWN0ZWRUbyh3cmFwcGVyLm5hdGl2ZUVsZW1lbnQpXG4gICAgICAgIC53aXRoUG9zaXRpb25zKFt7XG4gICAgICAgICAgb3JpZ2luWDogXCJzdGFydFwiLFxuICAgICAgICAgIG9yaWdpblk6IFwiYm90dG9tXCIsXG4gICAgICAgICAgb3ZlcmxheVg6IFwic3RhcnRcIixcbiAgICAgICAgICBvdmVybGF5WTogXCJ0b3BcIlxuICAgICAgICB9XSlcbiAgICB9KTtcbiAgfVxuXG4gIGhpZGVPcHRpb25zKCkge1xuICAgIHRoaXMuY2xvc2VkID0gdHJ1ZTtcbiAgICB0aGlzLmNoaXBzQ29sbGFwc2VkID0gdHJ1ZTtcbiAgICB0aGlzLl9vdmVybGF5UmVmPy5kZXRhY2goKVxuICAgIHRoaXMuY2hhbmdlLmRldGVjdENoYW5nZXMoKVxuICAgIHRoaXMuX3BhZ2VOdW1iZXIgPSAxO1xuICAgIHRoaXMucGFnaW5hdGVkRmlsdGVyZWRPcHRpb25zID0gW107XG4gICAgdGhpcy51cGRhdGVWYWxpZGF0aW9uKCk7XG4gICAgdGhpcy5jaGFuZ2UuZGV0ZWN0Q2hhbmdlcygpXG4gICAgdGhpcy5zY3JvbGxTdWI/LnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKFwid2luZG93Om1vdXNlZG93blwiLCBbJyRldmVudCddKVxuICBoYW5kbGVDbGljayhldmVudDogTW91c2VFdmVudCkge1xuICAgIGlmIChcbiAgICAgICF0aGlzLmNsb3NlZFxuICAgICAgJiYgIXRoaXMud3JhcHBlcj8ubmF0aXZlRWxlbWVudC5jb250YWlucyhldmVudC50YXJnZXQpXG4gICAgICAmJiAhdGhpcy5saXN0Py5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKGV2ZW50LnRhcmdldCkpIHtcbiAgICAgIHRoaXMuaGlkZU9wdGlvbnMoKVxuICAgICAgdGhpcy5jaGFuZ2UuZGV0ZWN0Q2hhbmdlcygpXG4gICAgfVxuICB9XG5cbiAgZ2V0IHNlbGVjdGVkT3B0aW9ucygpOiBhbnlbXSB7XG4gICAgaWYgKCF0aGlzLm11bHRpcGxlKSByZXR1cm4gdGhpcy5zZWxlY3RlZE9wdGlvbiA/IFt0aGlzLnNlbGVjdGVkT3B0aW9uXSA6IFtdXG5cbiAgICByZXR1cm4gdGhpcy5jaGlwc0NvbGxhcHNlZFxuICAgICAgPyB0aGlzLnNlbGVjdGlvbi5zbGljZSgwLCAxKVxuICAgICAgOiB0aGlzLnNlbGVjdGlvbjtcbiAgfVxuXG4gIGhhbmRsZVNlbGVjdEFsbChjaGVja2VkOiBib29sZWFuKSB7XG4gICAgdGhpcy5zZWxlY3RBbGxPcHRpb25zKGNoZWNrZWQpO1xuICAgIHRoaXMuc2VsZWN0aW9uID0gY2hlY2tlZCA/IHRoaXMub3B0aW9ucyA6IFtdXG4gICAgdGhpcy5vbkNoYW5nZSh0aGlzLnNlbGVjdGlvbilcbiAgICB0aGlzLnVwZGF0ZVZhbGlkYXRpb24oKVxuICAgIHRoaXMuY2hhbmdlLmRldGVjdENoYW5nZXMoKVxuICAgIHRoaXMuaXRlbUNoZWNrLmVtaXQodGhpcy5zZWxlY3Rpb24pO1xuICB9XG5cbiAgdmFsdWVDaGFuZ2Uob3B0aW9uOiBhbnksIHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5vcHRpb25zU2VsZWN0ZWRbb3B0aW9uW3RoaXMudmFsdWVQcm9wXV0gPSB2YWx1ZVxuICAgIHRoaXMuc2VsZWN0aW9uID0gdGhpcy5vcHRpb25zLmZpbHRlcihvID0+IHRoaXMub3B0aW9uc1NlbGVjdGVkW29bdGhpcy52YWx1ZVByb3BdXSlcbiAgICB0aGlzLmNoZWNrQWxsVmFsdWUgPSB0aGlzLnNlbGVjdGlvbi5sZW5ndGggPT09IHRoaXMub3B0aW9ucy5sZW5ndGhcbiAgICB0aGlzLm9uQ2hhbmdlKHRoaXMuc2VsZWN0aW9uKVxuICAgIHRoaXMub25Ub3VjaGVkKClcblxuICAgIHRoaXMudXBkYXRlQ2hpcHNDb250YWluZXJDbGFzc2VzKClcbiAgICB0aGlzLnVwZGF0ZVZhbGlkYXRpb24oKTtcbiAgICB0aGlzLmNoYW5nZS5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgdGhpcy5pdGVtQ2hlY2suZW1pdCh0aGlzLnNlbGVjdGlvbik7XG4gIH1cblxuICBzZWxlY3RBbGxPcHRpb25zKHNlbGVjdGVkOiBib29sZWFuKSB7XG4gICAgdGhpcy5vcHRpb25zU2VsZWN0ZWQgPSB0aGlzLm9wdGlvbnNcbiAgICAgIC5yZWR1Y2UoKGFjYywgY3VycikgPT4ge1xuICAgICAgICBhY2NbY3Vyclt0aGlzLnZhbHVlUHJvcF1dID0gc2VsZWN0ZWRcbiAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgIH0sIHt9IGFzIHsgW2tleTogc3RyaW5nXTogYm9vbGVhbiB9KVxuICB9XG5cbiAgaGFuZGxlQ2hpcEFjdGlvbihvcHRpb246IGFueSkge1xuICAgIGlmICh0aGlzLm11bHRpcGxlKSB7XG4gICAgICB0aGlzLm9wdGlvbnNTZWxlY3RlZFtvcHRpb25bdGhpcy52YWx1ZVByb3BdXSA9IGZhbHNlXG4gICAgICB0aGlzLnNlbGVjdGlvbiA9IHRoaXMuc2VsZWN0aW9uLmZpbHRlcihzZWxlY3RlZE9wdGlvbiA9PlxuICAgICAgICBzZWxlY3RlZE9wdGlvblt0aGlzLnZhbHVlUHJvcF0gIT09IG9wdGlvblt0aGlzLnZhbHVlUHJvcF0pXG4gICAgICB0aGlzLm9uQ2hhbmdlKHRoaXMuc2VsZWN0aW9uKVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNlbGVjdGVkT3B0aW9uID0gbnVsbDtcbiAgICAgIHRoaXMub25DaGFuZ2UoW10pXG4gICAgfVxuXG4gICAgdGhpcy51cGRhdGVDaGlwc0NvbnRhaW5lckNsYXNzZXMoKVxuICAgIHRoaXMudXBkYXRlVmFsaWRhdGlvbigpO1xuICAgIHRoaXMuY2hhbmdlLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIGRpc3BsYXkob3B0aW9uOiBhbnkpIHtcbiAgICByZXR1cm4gdGhpcy5kaXNwbGF5Rm4gJiYgdGhpcy5kaXNwbGF5Rm4ob3B0aW9uKVxuICB9XG5cbiAgZ2V0TW9yZUl0ZW1zKCkge1xuICAgIGNvbnN0IHNvcnRlZEZpbHRlcmVkT3B0aW9ucyA9IFsuLi50aGlzLmZpbHRlcmVkT3B0aW9uc107XG5cbiAgICB0aGlzLnNvcnRTZWxlY3RlZEZpcnN0KHNvcnRlZEZpbHRlcmVkT3B0aW9ucywgdGhpcy5zZWxlY3Rpb24sIHRoaXMudmFsdWVQcm9wKVxuICAgIGNvbnN0IG5leHRQYWdlSXRlbXMgPSBzb3J0ZWRGaWx0ZXJlZE9wdGlvbnNcbiAgICAgIC5zbGljZShcbiAgICAgICAgdGhpcy5JVEVNU19QRVJfUEFHRSAqICh0aGlzLl9wYWdlTnVtYmVyIC0gMSksXG4gICAgICAgIHRoaXMuSVRFTVNfUEVSX1BBR0UgKiB0aGlzLl9wYWdlTnVtYmVyXG4gICAgICApO1xuXG4gICAgaWYgKG5leHRQYWdlSXRlbXMubGVuZ3RoKSB7XG4gICAgICB0aGlzLnBhZ2luYXRlZEZpbHRlcmVkT3B0aW9ucyA9IFsuLi50aGlzLnBhZ2luYXRlZEZpbHRlcmVkT3B0aW9ucywgLi4ubmV4dFBhZ2VJdGVtc107XG4gICAgICB0aGlzLl9wYWdlTnVtYmVyICs9IDFcbiAgICB9XG4gICAgdGhpcy51cGRhdGVWYWxpZGF0aW9uKCk7XG4gICAgdGhpcy5jaGFuZ2UuZGV0ZWN0Q2hhbmdlcygpXG4gIH1cblxuICBzb3J0U2VsZWN0ZWRGaXJzdChpdGVtczogQXJyYXk8YW55Piwgc2VsZWN0ZWRJdGVtczogQXJyYXk8YW55PiwgcHJvcDogc3RyaW5nKSB7XG4gICAgaXRlbXMuc29ydCgoYSwgYikgPT4ge1xuICAgICAgY29uc3QgYUlzU2VsZWN0ZWQgPSBzZWxlY3RlZEl0ZW1zLnNvbWUoaXRlbSA9PiBpdGVtW3Byb3BdID09PSBhW3Byb3BdKTtcbiAgICAgIGNvbnN0IGJJc1NlbGVjdGVkID0gc2VsZWN0ZWRJdGVtcy5zb21lKGl0ZW0gPT4gaXRlbVtwcm9wXSA9PT0gYltwcm9wXSk7XG5cbiAgICAgIGlmIChhSXNTZWxlY3RlZCAmJiAhYklzU2VsZWN0ZWQpIHtcbiAgICAgICAgcmV0dXJuIC0xO1xuICAgICAgfSBlbHNlIGlmICghYUlzU2VsZWN0ZWQgJiYgYklzU2VsZWN0ZWQpIHtcbiAgICAgICAgcmV0dXJuIDE7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gMDtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCB1cGRhdGVWYWxpZGF0aW9uKCkge1xuICAgIHRoaXMuY2hlY2tBbGxWYWx1ZSA9IHRoaXMuaXNBbGxPcHRpb25zU2VsZWN0ZWRcbiAgICB0aGlzLnNob3dDaGlwcyA9IEJvb2xlYW4odGhpcy5zZWxlY3RlZE9wdGlvbnMubGVuZ3RoKSAmJiB0aGlzLmNsb3NlZCAmJiAoXG4gICAgICAhdGhpcy5tdWx0aXBsZSB8fCAhdGhpcy5jaGVja0FsbFZhbHVlIHx8ICh0aGlzLmNoZWNrQWxsVmFsdWUgJiYgIUJvb2xlYW4odGhpcy5hbGxPcHRpb25zU2VsZWN0ZWRUZXh0KSlcbiAgICApO1xuICAgIHRoaXMuc2hvd0FsbFNlbGVjdGlvbkJ0biA9IHRoaXMubXVsdGlwbGUgJiYgQm9vbGVhbih0aGlzLnNlbGVjdGlvbi5sZW5ndGggPiAxKSAmJiB0aGlzLmNoaXBzQ29sbGFwc2VkO1xuICAgIHRoaXMuc2hvd1BsYWNlaG9sZGVyID0gdGhpcy5jbG9zZWQgJiYgKFxuICAgICAgIXRoaXMuc2VsZWN0ZWRPcHRpb25zLmxlbmd0aCB8fCAodGhpcy5jaGVja0FsbFZhbHVlICYmIEJvb2xlYW4odGhpcy5hbGxPcHRpb25zU2VsZWN0ZWRUZXh0KSAmJiB0aGlzLm11bHRpcGxlKVxuICAgICk7XG4gICAgdGhpcy5zaG93RXhwYW5kZWRTZWxlY3Rpb25BY3Rpb25zID0gdGhpcy5tdWx0aXBsZSAmJiAhdGhpcy5jaGlwc0NvbGxhcHNlZDtcbiAgICB0aGlzLnNob3dTZWxlY3RBbGxDaGVja2JveCA9IEJvb2xlYW4odGhpcy5wYWdpbmF0ZWRGaWx0ZXJlZE9wdGlvbnMubGVuZ3RoKSAmJiB0aGlzLnNlbGVjdEFsbDtcbiAgfVxuXG4gIC8vIENvbnRyb2wgVmFsdWUgQWNjZXNzb3JcblxuICB3cml0ZVZhbHVlKG9iajogYW55W10gfCBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGlvbiA9IFtdO1xuICAgIGlmICh0aGlzLm11bHRpcGxlICYmIEFycmF5LmlzQXJyYXkob2JqKSkge1xuICAgICAgdGhpcy5vcHRpb25zU2VsZWN0ZWQgPSB7fVxuICAgICAgb2JqLmZvckVhY2gob3B0aW9uID0+IHRoaXMub3B0aW9uc1NlbGVjdGVkW29wdGlvblt0aGlzLnZhbHVlUHJvcF1dID0gdHJ1ZSlcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zZWxlY3RlZE9wdGlvbiA9IG9ialxuICAgIH1cblxuICAgIGlmICh0aGlzLm11bHRpcGxlKSB7XG4gICAgICB0aGlzLmhhbmRsZVNlbGVjdGlvbkNoYW5nZShvYmopXG4gICAgfVxuXG4gICAgdGhpcy5jaGFuZ2UuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgb25DaGFuZ2UgPSAoXzogYW55KSA9PiB7fVxuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIG9uVG91Y2hlZCA9ICgpID0+IHt9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25Ub3VjaGVkID0gZm47XG4gIH1cblxuICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgfVxufVxuIiwiPGRpdlxuICBjbGFzcz1cImF1dG9jb21wbGV0ZS13cmFwcGVyXCJcbiAgZGF0YS10ZXN0aWQ9XCJhdXRvY29tcGxldGUtd3JhcHBlclwiXG4gIFtjbGFzcy4tY2xvc2VkXT1cImNsb3NlZFwiXG4gIFtjbGFzcy4tb3BlbmVkXT1cIiFjbG9zZWRcIlxuICAjd3JhcHBlclxuICAoY2xpY2spPVwiaGFuZGxlQXV0b2NvbXBsZXRlQ2xpY2soKVwiXG4+XG4gIDxkaXYgY2xhc3M9XCJhdXRvY29tcGxldGVcIiAjYXV0b2NvbXBsZXRlPlxuICAgIDxpbnB1dFxuICAgICAgY2xhc3M9XCJzZWFyY2gtZmllbGRcIlxuICAgICAgYXNrQXV0b2ZvY3VzXG4gICAgICAqbmdJZj1cIiFjbG9zZWQ7IGVsc2Ugc2VsZWN0aW9uT3JQbGFjZWhvbGRlclwiXG4gICAgICAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCJcbiAgICAgIFtmb3JtQ29udHJvbF09XCJpbnB1dENvbnRyb2xcIlxuICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcbiAgICAvPlxuICAgIDxuZy10ZW1wbGF0ZSAjc2VsZWN0aW9uT3JQbGFjZWhvbGRlcj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzaG93Q2hpcHNcIj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzPVwiY2hpcC1saXN0XCJcbiAgICAgICAgICBbY2xhc3MuLWNvbGxhcHNlZF09XCJjaGlwc0NvbGxhcHNlZFwiXG4gICAgICAgICAgW25nQ2xhc3NdPVwiY2hpcHNDb250YWluZXJDbGFzc2VzXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxhc2stY2hpcHNcbiAgICAgICAgICAgIFtzdHlsZS5tYXgtd2lkdGhdPVwiY2hpcHNDb2xsYXBzZWQgPyAnODUlJyA6ICc5NSUnXCJcbiAgICAgICAgICAgIFtzaG93QWN0aW9uXT1cInRydWVcIlxuICAgICAgICAgICAgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBzZWxlY3RlZE9wdGlvbnNcIlxuICAgICAgICAgICAgKGFjdGlvbik9XCJoYW5kbGVDaGlwQWN0aW9uKG9wdGlvbilcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIHt7IGRpc3BsYXkob3B0aW9uKSB9fVxuICAgICAgICAgIDwvYXNrLWNoaXBzPlxuICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICBjbGFzcz1cImV4cGFuZFwiXG4gICAgICAgICAgICBkYXRhLXRlc3RpZD1cInNlZS1tb3JlXCJcbiAgICAgICAgICAgICpuZ0lmPVwic2hvd0FsbFNlbGVjdGlvbkJ0blwiXG4gICAgICAgICAgICAoY2xpY2spPVwiaGFuZGxlQ2hpcHNMaXN0QWN0aW9uQ2xpY2soJGV2ZW50KVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgK3t7IHNlbGVjdGlvbi5sZW5ndGggLSAxIH19XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPHNwYW5cbiAgICAgICAgY2xhc3M9XCJlbXB0eS1wbGFjZWhvbGRlclwiXG4gICAgICAgIGRhdGEtdGVzdGlkPVwicGxhY2Vob2xkZXJcIlxuICAgICAgICAqbmdJZj1cInNob3dQbGFjZWhvbGRlclwiXG4gICAgICA+XG4gICAgICAgIHt7XG4gICAgICAgICAgY2hlY2tBbGxWYWx1ZSAmJiBhbGxPcHRpb25zU2VsZWN0ZWRUZXh0XG4gICAgICAgICAgICA/IGFsbE9wdGlvbnNTZWxlY3RlZFRleHRcbiAgICAgICAgICAgIDogcGxhY2Vob2xkZXJcbiAgICAgICAgfX1cbiAgICAgIDwvc3Bhbj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICAgIDxzcGFuXG4gICAgICBjbGFzcz1cImJ0bi1leHBhbmQgbWF0ZXJpYWwtaWNvbnNcIlxuICAgICAgZGF0YS10ZXN0aWQ9XCJidG4tZXhwYW5kXCJcbiAgICAgIFtjbGFzcy4tZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgKm5nSWY9XCJjaGlwc0NvbGxhcHNlZFwiXG4gICAgPlxuICAgICAge3sgY2xvc2VkID8gXCJleHBhbmRfbW9yZVwiIDogXCJleHBhbmRfbGVzc1wiIH19XG4gICAgPC9zcGFuPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImFjdGlvbnNcIiAqbmdJZj1cInNob3dFeHBhbmRlZFNlbGVjdGlvbkFjdGlvbnNcIj5cbiAgICA8c3BhblxuICAgICAgY2xhc3M9XCJzZWUtbW9yZVwiXG4gICAgICBkYXRhLXRlc3RpZD1cInNlZS1sZXNzXCJcbiAgICAgIChjbGljayk9XCJoYW5kbGVDaGlwc0xpc3RBY3Rpb25DbGljaygkZXZlbnQpXCJcbiAgICA+XG4gICAgICB7eyBcIlNFRV9MRVNTXCIgfCB0cmFuc2xhdGUgfX1cbiAgICA8L3NwYW4+XG4gICAgPHNwYW5cbiAgICAgIGNsYXNzPVwiYnRuLWV4cGFuZCBtYXRlcmlhbC1pY29uc1wiXG4gICAgICBkYXRhLXRlc3RpZD1cImJ0bi1leHBhbmRcIlxuICAgICAgW2NsYXNzLi1kaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgPlxuICAgICAge3sgY2xvc2VkID8gXCJleHBhbmRfbW9yZVwiIDogXCJleHBhbmRfbGVzc1wiIH19XG4gICAgPC9zcGFuPlxuICA8L2Rpdj5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI292ZXJsYXlDb250ZW50PlxuICA8ZGl2ICNsaXN0IGNsYXNzPVwibWVudS1jb250YWluZXJcIiBbY2xhc3MuLW11bHRpcGxlXT1cIm11bHRpcGxlXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFtdWx0aXBsZTsgZWxzZSBtdWx0aXBsZVNlbGVjdGlvblwiPlxuICAgICAgPGRpdiBjbGFzcz1cImxpc3RcIiBhc2tTY3JvbGwgW2Fza1Njcm9sbFRocmVzaG9sZF09XCI1MFwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgcGFnaW5hdGVkRmlsdGVyZWRPcHRpb25zXCI+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3M9XCJvcHRpb24taXRlbVwiXG4gICAgICAgICAgICBbY2xhc3MuLWhpZ2hsaWdodGVkXT1cIlxuICAgICAgICAgICAgICBzZWxlY3RlZE9wdGlvbiAmJiBzZWxlY3RlZE9wdGlvblt2YWx1ZVByb3BdID09PSBvcHRpb25bdmFsdWVQcm9wXVxuICAgICAgICAgICAgXCJcbiAgICAgICAgICAgIChjbGljayk9XCJoYW5kbGVPcHRpb25TZWxlY3RlZChvcHRpb24pXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8cCBjbGFzcz1cInRleHRcIj57eyBkaXNwbGF5KG9wdGlvbikgfX08L3A+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLXRlbXBsYXRlICNtdWx0aXBsZVNlbGVjdGlvbj5cbiAgICAgIDxkaXYgY2xhc3M9XCJvcHRpb24taXRlbVwiICpuZ0lmPVwic2hvd1NlbGVjdEFsbENoZWNrYm94XCI+XG4gICAgICAgIDxhc2stY2hlY2tib3hcbiAgICAgICAgICAodmFsdWVDaGFuZ2UpPVwiaGFuZGxlU2VsZWN0QWxsKCRldmVudClcIlxuICAgICAgICAgIFsobmdNb2RlbCldPVwiY2hlY2tBbGxWYWx1ZVwiXG4gICAgICAgICAgPnt7c2VsZWN0QWxsTWVzc2FnZX19PC9hc2stY2hlY2tib3hcbiAgICAgICAgPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBmaXhlZE9wdGlvbnNJdGVtc1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwib3B0aW9uLWl0ZW1cIj5cbiAgICAgICAgICA8YXNrLWNoZWNrYm94XG4gICAgICAgICAgICBbdmFsdWVdPVwib3B0aW9uc1NlbGVjdGVkW29wdGlvblt2YWx1ZVByb3BdXVwiXG4gICAgICAgICAgICAodmFsdWVDaGFuZ2UpPVwidmFsdWVDaGFuZ2Uob3B0aW9uLCAkZXZlbnQpXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tib3gtY29udGVudFwiPlxuICAgICAgICAgICAgICA8aW1nXG4gICAgICAgICAgICAgICAgZGF0YS10ZXN0aWQ9XCJjaGVja2JveC1pdGVtLWljb25cIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiaWNvblwiXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJpY29uUHJvcFJlZmVyZW5jZVwiXG4gICAgICAgICAgICAgICAgW3NyY109XCJvcHRpb25baWNvblByb3BSZWZlcmVuY2VdXCJcbiAgICAgICAgICAgICAgICBhbHQ9XCJcIlxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICB7eyBkaXNwbGF5KG9wdGlvbikgfX1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvYXNrLWNoZWNrYm94PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICA8ZGl2XG4gICAgICAgIGFza1Njcm9sbFxuICAgICAgICBbYXNrU2Nyb2xsVGhyZXNob2xkXT1cIjUwXCJcbiAgICAgICAgKHNjcm9sbEVuZCk9XCJnZXRNb3JlSXRlbXMoKVwiXG4gICAgICAgIGRhdGEtdGVzdGlkPVwib3B0aW9ucy1mb3JtXCJcbiAgICAgICAgY2xhc3M9XCJvcHRpb25zLWZvcm1cIlxuICAgICAgICBbY2xhc3MuLXNlbGVjdC1hbGxdPVwic2hvd1NlbGVjdEFsbENoZWNrYm94XCJcbiAgICAgID5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIHBhZ2luYXRlZEZpbHRlcmVkT3B0aW9uc1wiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJvcHRpb24taXRlbVwiPlxuICAgICAgICAgICAgPGFzay1jaGVja2JveFxuICAgICAgICAgICAgICBbdmFsdWVdPVwib3B0aW9uc1NlbGVjdGVkW29wdGlvblt2YWx1ZVByb3BdXVwiXG4gICAgICAgICAgICAgICh2YWx1ZUNoYW5nZSk9XCJ2YWx1ZUNoYW5nZShvcHRpb24sICRldmVudClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tib3gtY29udGVudFwiPlxuICAgICAgICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgICAgICAgIGRhdGEtdGVzdGlkPVwiY2hlY2tib3gtaXRlbS1pY29uXCJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiaWNvblwiXG4gICAgICAgICAgICAgICAgICAqbmdJZj1cImljb25Qcm9wUmVmZXJlbmNlXCJcbiAgICAgICAgICAgICAgICAgIFtzcmNdPVwib3B0aW9uW2ljb25Qcm9wUmVmZXJlbmNlXVwiXG4gICAgICAgICAgICAgICAgICBhbHQ9XCJcIlxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAge3sgZGlzcGxheShvcHRpb24pIH19XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9hc2stY2hlY2tib3g+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8c3BhbiBjbGFzcz1cImVtcHR5XCIgKm5nSWY9XCIhZmlsdGVyZWRPcHRpb25zLmxlbmd0aFwiPnt7XG4gICAgICBlbXB0eU1lc3NhZ2UgfCB0cmFuc2xhdGVcbiAgICB9fTwvc3Bhbj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
|
352
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fza3N1aXRlLWNpdHJ1cy9zcmMvbGliL2NvbXBvbmVudHMvYXV0b2NvbXBsZXRlL2F1dG9jb21wbGV0ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hc2tzdWl0ZS1jaXRydXMvc3JjL2xpYi9jb21wb25lbnRzL2F1dG9jb21wbGV0ZS9hdXRvY29tcGxldGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLHVCQUF1QixFQUV2QixTQUFTLEVBQ1QsVUFBVSxFQUVWLFlBQVksRUFDWixVQUFVLEVBQ1YsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBRUwsTUFBTSxFQUlOLFNBQVMsRUFFVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQW9DLFdBQVcsRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ2pHLE9BQU8sRUFBQyxZQUFZLEVBQWEsR0FBRyxFQUFnQixHQUFHLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFFckUsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ25ELE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDRCQUE0QixDQUFDOzs7Ozs7Ozs7O0FBRzlELE1BQU0sYUFBYSxHQUFhO0lBQzlCLE9BQU8sRUFBRSxpQkFBaUI7SUFDMUIsS0FBSyxFQUFFLElBQUk7SUFDWCxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHFCQUFxQixDQUFDO0NBQ3JELENBQUE7QUFTRCxNQUFNLE9BQU8scUJBQXFCO0lBc0ZoQyxZQUFvQixXQUF3QixFQUN4QixPQUFnQixFQUNoQixnQkFBa0MsRUFDbEMsTUFBeUIsRUFDekIsU0FBMkI7UUFKM0IsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsWUFBTyxHQUFQLE9BQU8sQ0FBUztRQUNoQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLFdBQU0sR0FBTixNQUFNLENBQW1CO1FBQ3pCLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBbkZyQyxpQkFBWSxHQUFHLElBQUksV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFBO1FBQ2xDLHNCQUFpQixHQUFVLEVBQUUsQ0FBQztRQUM5QixvQkFBZSxHQUFVLEVBQUUsQ0FBQztRQUM1Qiw2QkFBd0IsR0FBVSxFQUFFLENBQUM7UUFFckMsY0FBUyxHQUFVLEVBQUUsQ0FBQztRQUN0QixXQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ2QsbUJBQWMsR0FBRyxJQUFJLENBQUE7UUFDckIsa0JBQWEsR0FBRyxLQUFLLENBQUE7UUFDckIsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLHdCQUFtQixHQUFHLEtBQUssQ0FBQztRQUM1QixvQkFBZSxHQUFHLEtBQUssQ0FBQztRQUN4QixpQ0FBNEIsR0FBRyxLQUFLLENBQUM7UUFDckMsMEJBQXFCLEdBQUcsS0FBSyxDQUFDO1FBQzlCLDBCQUFxQixHQUFHO1lBQ2hDLE1BQU0sRUFBRSxLQUFLO1lBQ2IsUUFBUSxFQUFFLEtBQUs7WUFDZixPQUFPLEVBQUUsS0FBSztZQUNkLE9BQU8sRUFBRSxLQUFLO1NBQ2YsQ0FBQztRQUNRLG9CQUFlLEdBQXNDLEVBQUUsQ0FBQTtRQUN6RCxZQUFPLEdBQUcsS0FBSyxDQUFDO1FBSWhCLGFBQVEsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUE7UUFDcEIsbUJBQWMsR0FBRyxFQUFFLENBQUE7UUFDNUIsZ0JBQVcsR0FBRyxDQUFDLENBQUE7UUFDdkIsc0JBQWlCLEdBQUcsRUFBRSxDQUFDO1FBWXZCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFHakIsY0FBUyxHQUFXLEVBQUUsQ0FBQTtRQUd0QixZQUFPLEdBQVUsRUFBRSxDQUFBO1FBR25CLGlCQUFZLEdBQVUsRUFBRSxDQUFBO1FBR3hCLGdCQUFXLEdBQUcsRUFBRSxDQUFBO1FBR2hCLGlCQUFZLEdBQUcsWUFBWSxDQUFDO1FBRzVCLGNBQVMsR0FBRyxLQUFLLENBQUE7UUFHakIsMkJBQXNCLEdBQWtCLElBQUksQ0FBQztRQUc3QyxxQkFBZ0IsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQztRQU14RCxjQUFTLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUcvQixrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFHbkMsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBdVJuQyxhQUFRLEdBQUcsQ0FBQyxDQUFNLEVBQUUsRUFBRSxHQUFFLENBQUMsQ0FBQTtRQU16QixjQUFTLEdBQUcsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFBO0lBdFJwQixDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFBO1FBQzlDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFTyxpQkFBaUI7UUFDdkIsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDN0csQ0FBQztJQUVELElBQUksb0JBQW9CO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEtBQUssSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUE7SUFDdEQsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxJQUFJLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRTtZQUN0QixJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQTtZQUNwQixJQUFJLENBQUMsd0JBQXdCLEdBQUcsRUFBRSxDQUFBO1lBRWxDLElBQUksQ0FBQyxlQUFlLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFlBQVk7aUJBQ25ELE1BQU0sQ0FBQyxDQUFDLE1BQVcsRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtZQUMvRSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQTtTQUN4QjtJQUNILENBQUM7SUFFTyxpQkFBaUI7UUFDdkIsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUNqQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQ2pDLFlBQVksQ0FBQyxHQUFHLENBQUMsRUFDakIsR0FBRyxDQUFDLEdBQUcsRUFBRTtZQUNQLElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFBO1lBQ3BCLElBQUksQ0FBQyx3QkFBd0IsR0FBRyxFQUFFLENBQUE7UUFDcEMsQ0FBQyxDQUFDLEVBQ0YsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUM5RCxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNsQixJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQTtZQUM1QixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUE7UUFDckIsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0lBRU8scUJBQXFCLENBQUMsTUFBYTtRQUN6QyxJQUFJLENBQUMsU0FBUyxHQUFHLE1BQU0sQ0FBQTtRQUN2QixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQTtRQUU5QyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUN4QixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQTtTQUNoRDtRQUNELElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFBO1FBQ3ZCLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUFFLENBQUE7SUFDN0IsQ0FBQztJQUVPLDJCQUEyQjtRQUNqQyxJQUFJLENBQUMscUJBQXFCLEdBQUc7WUFDM0IsTUFBTSxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxLQUFLLENBQUM7WUFDekMsUUFBUSxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxLQUFLLENBQUM7WUFDM0MsT0FBTyxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxLQUFLLENBQUM7WUFDMUMsT0FBTyxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxJQUFJLENBQUM7U0FDMUMsQ0FBQTtJQUNILENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxJQUFTO1FBQzVCLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDO1FBQzNCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFBO1FBQ2xDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQTtRQUNsQixJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFRCx1QkFBdUIsQ0FBQyxLQUFhO1FBQ25DLEtBQUssRUFBRSxlQUFlLEVBQUUsQ0FBQTtRQUN4QixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNsQixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQztZQUMzQixJQUFJLENBQUMsTUFBTTtnQkFDVCxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRTtnQkFDcEIsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQTtTQUN2QjtRQUNELElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQywyQkFBMkIsRUFBRSxDQUFBO1FBQ2xDLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUFFLENBQUE7SUFDN0IsQ0FBQztJQUVTLDBCQUEwQixDQUFDLEtBQVk7UUFDL0MsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFBO1FBQ3ZCLElBQUksQ0FBQyxjQUFjLEdBQUcsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDO1FBQzNDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFBO1FBQ3ZCLElBQUksQ0FBQywyQkFBMkIsRUFBRSxDQUFBO1FBQ2xDLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUFFLENBQUE7UUFDM0IsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUE7SUFDckIsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQTtRQUNuQixJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDaEIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFBO1lBRXRELElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxjQUFjLENBQUMsSUFBSSxDQUFDLGNBQWUsRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQTtTQUMvRTtRQUVELElBQUksQ0FBQyxXQUFXLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUV2QyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUN4QixJQUFJLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxNQUFNLEtBQUssQ0FBQztZQUFFLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQTtJQUNyRSxDQUFDO0lBRU8sZ0JBQWdCLENBQUMsT0FBbUI7UUFDMUMsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQztZQUN6QixXQUFXLEVBQUUsSUFBSTtZQUNqQixhQUFhLEVBQUUsa0NBQWtDO1lBQ2pELEtBQUssRUFBRSxPQUFPLENBQUMsYUFBYSxDQUFDLFdBQVc7WUFDeEMsY0FBYyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxFQUFFO1lBQzFELGdCQUFnQixFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFO2lCQUN0QyxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDO2lCQUMxQyxhQUFhLENBQUMsQ0FBQztvQkFDZCxPQUFPLEVBQUUsT0FBTztvQkFDaEIsT0FBTyxFQUFFLFFBQVE7b0JBQ2pCLFFBQVEsRUFBRSxPQUFPO29CQUNqQixRQUFRLEVBQUUsS0FBSztpQkFDaEIsQ0FBQyxDQUFDO1NBQ04sQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztRQUNuQixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQztRQUMzQixJQUFJLENBQUMsV0FBVyxFQUFFLE1BQU0sRUFBRSxDQUFBO1FBQzFCLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUFFLENBQUE7UUFDM0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUM7UUFDckIsSUFBSSxDQUFDLHdCQUF3QixHQUFHLEVBQUUsQ0FBQztRQUNuQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsU0FBUyxFQUFFLFdBQVcsRUFBRSxDQUFDO1FBQzlCLElBQUksSUFBSSxDQUFDLE9BQU87WUFDZCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzVCLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFBO0lBQ3RCLENBQUM7SUFHRCxXQUFXLENBQUMsS0FBaUI7UUFDM0IsSUFDRSxDQUFDLElBQUksQ0FBQyxNQUFNO2VBQ1QsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLGFBQWEsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQztlQUNuRCxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsYUFBYSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDckQsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFBO1lBQ2xCLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUFFLENBQUE7U0FDNUI7SUFDSCxDQUFDO0lBRUQsSUFBSSxlQUFlO1FBQ2pCLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUTtZQUFFLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQTtRQUUzRSxPQUFPLElBQUksQ0FBQyxjQUFjO1lBQ3hCLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQzVCLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxlQUFlLENBQUMsT0FBZ0I7UUFDOUIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQy9CLElBQUksQ0FBQyxTQUFTLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUE7UUFDNUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUE7UUFDN0IsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUE7UUFDdkIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLEVBQUUsQ0FBQTtRQUMzQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDcEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUE7SUFDckIsQ0FBQztJQUVELFdBQVcsQ0FBQyxNQUFXLEVBQUUsS0FBYztRQUNyQyxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUE7UUFDcEQsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFDbEYsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sS0FBSyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQTtRQUNsRSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQTtRQUM3QixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUE7UUFFaEIsSUFBSSxDQUFDLDJCQUEyQixFQUFFLENBQUE7UUFDbEMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUM1QixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDcEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUE7SUFDckIsQ0FBQztJQUVELGdCQUFnQixDQUFDLFFBQWlCO1FBQ2hDLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLE9BQU87YUFDaEMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxFQUFFO1lBQ3BCLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsUUFBUSxDQUFBO1lBQ3BDLE9BQU8sR0FBRyxDQUFDO1FBQ2IsQ0FBQyxFQUFFLEVBQWdDLENBQUMsQ0FBQTtJQUN4QyxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsTUFBVztRQUMxQixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDakIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFBO1lBQ3BELElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FDdEQsY0FBYyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUE7WUFDNUQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUE7WUFDN0IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUE7U0FDaEM7YUFBTTtZQUNMLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDO1lBQzNCLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUE7U0FDbEI7UUFFRCxJQUFJLENBQUMsMkJBQTJCLEVBQUUsQ0FBQTtRQUNsQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFRCxPQUFPLENBQUMsTUFBVztRQUNqQixPQUFPLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQTtJQUNqRCxDQUFDO0lBRUQsWUFBWTtRQUNWLE1BQU0scUJBQXFCLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUV4RCxJQUFJLENBQUMsaUJBQWlCLENBQUMscUJBQXFCLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUE7UUFDN0UsTUFBTSxhQUFhLEdBQUcscUJBQXFCO2FBQ3hDLEtBQUssQ0FDSixJQUFJLENBQUMsY0FBYyxHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUMsRUFDNUMsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUN2QyxDQUFDO1FBRUosSUFBSSxhQUFhLENBQUMsTUFBTSxFQUFFO1lBQ3hCLElBQUksQ0FBQyx3QkFBd0IsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLHdCQUF3QixFQUFFLEdBQUcsYUFBYSxDQUFDLENBQUM7WUFDckYsSUFBSSxDQUFDLFdBQVcsSUFBSSxDQUFDLENBQUE7U0FDdEI7UUFDRCxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsRUFBRSxDQUFBO0lBQzdCLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxLQUFpQixFQUFFLGFBQXlCLEVBQUUsSUFBWTtRQUMxRSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ2xCLE1BQU0sV0FBVyxHQUFHLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDdkUsTUFBTSxXQUFXLEdBQUcsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUV2RSxJQUFJLFdBQVcsSUFBSSxDQUFDLFdBQVcsRUFBRTtnQkFDL0IsT0FBTyxDQUFDLENBQUMsQ0FBQzthQUNYO2lCQUFNLElBQUksQ0FBQyxXQUFXLElBQUksV0FBVyxFQUFFO2dCQUN0QyxPQUFPLENBQUMsQ0FBQzthQUNWO2lCQUFNO2dCQUNMLE9BQU8sQ0FBQyxDQUFDO2FBQ1Y7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFUyxnQkFBZ0I7UUFDeEIsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUE7UUFDOUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLENBQ3RFLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLENBQ3ZHLENBQUM7UUFDRixJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDLFFBQVEsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQztRQUN0RyxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxNQUFNLElBQUksQ0FDcEMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FDOUcsQ0FBQztRQUNGLElBQUksQ0FBQyw0QkFBNEIsR0FBRyxJQUFJLENBQUMsUUFBUSxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQztRQUMxRSxJQUFJLENBQUMscUJBQXFCLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxNQUFNLENBQUMsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQy9GLENBQUM7SUFFRCx5QkFBeUI7SUFFekIsVUFBVSxDQUFDLEdBQWdCO1FBQ3pCLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO1FBQ3BCLElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ3ZDLElBQUksQ0FBQyxlQUFlLEdBQUcsRUFBRSxDQUFBO1lBQ3pCLEdBQUcsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQTtTQUMzRTthQUFNO1lBQ0wsSUFBSSxDQUFDLGNBQWMsR0FBRyxHQUFHLENBQUE7U0FDMUI7UUFFRCxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDakIsSUFBSSxDQUFDLHFCQUFxQixDQUFDLEdBQUcsQ0FBQyxDQUFBO1NBQ2hDO1FBRUQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBSUQsZ0JBQWdCLENBQUMsRUFBTztRQUN0QixJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBSUQsaUJBQWlCLENBQUMsRUFBTztRQUN2QixJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsVUFBbUI7UUFDbEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxVQUFVLENBQUM7SUFDN0IsQ0FBQzs4R0F6WFUscUJBQXFCO2tHQUFyQixxQkFBcUIsZ2tCQUhyQixDQUFDLGFBQWEsQ0FBQyw2WkNyQzVCLHFoS0FpS0E7OzJGRHpIYSxxQkFBcUI7a0JBUGpDLFNBQVM7K0JBQ0Usa0JBQWtCLGFBR2pCLENBQUMsYUFBYSxDQUFDLG1CQUNULHVCQUF1QixDQUFDLE1BQU07c05BSXBCLEtBQUs7c0JBQS9CLFNBQVM7dUJBQUMsY0FBYztnQkFDTixJQUFJO3NCQUF0QixTQUFTO3VCQUFDLE1BQU07Z0JBQ0ssT0FBTztzQkFBNUIsU0FBUzt1QkFBQyxTQUFTO2dCQUNTLGNBQWM7c0JBQTFDLFNBQVM7dUJBQUMsZ0JBQWdCO2dCQXFDM0IsUUFBUTtzQkFEUCxLQUFLO2dCQUlOLFNBQVM7c0JBRFIsS0FBSztnQkFJTixRQUFRO3NCQURQLEtBQUs7Z0JBSU4sU0FBUztzQkFEUixLQUFLO2dCQUlOLE9BQU87c0JBRE4sS0FBSztnQkFJTixZQUFZO3NCQURYLEtBQUs7Z0JBSU4sV0FBVztzQkFEVixLQUFLO2dCQUlOLFlBQVk7c0JBRFgsS0FBSztnQkFJTixTQUFTO3NCQURSLEtBQUs7Z0JBSU4sc0JBQXNCO3NCQURyQixLQUFLO2dCQUlOLGdCQUFnQjtzQkFEZixLQUFLO2dCQUlOLGlCQUFpQjtzQkFEaEIsS0FBSztnQkFJTixTQUFTO3NCQURSLE1BQU07Z0JBSVAsYUFBYTtzQkFEWixNQUFNO2dCQUlQLGFBQWE7c0JBRFosTUFBTTtnQkFpSlAsV0FBVztzQkFEVixZQUFZO3VCQUFDLGtCQUFrQixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIERlc3Ryb3lSZWYsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgZm9yd2FyZFJlZixcbiAgSG9zdExpc3RlbmVyLFxuICBpbmplY3QsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE91dHB1dCxcbiAgUHJvdmlkZXIsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdDb250YWluZXJSZWZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0NvbnRyb2xWYWx1ZUFjY2Vzc29yLCBGb3JtQnVpbGRlciwgRm9ybUNvbnRyb2wsIE5HX1ZBTFVFX0FDQ0VTU09SfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcbmltcG9ydCB7ZGVib3VuY2VUaW1lLCBmcm9tRXZlbnQsIG1hcCwgU3Vic2NyaXB0aW9uLCB0YXB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQge092ZXJsYXksIE92ZXJsYXlSZWZ9IGZyb20gXCJAYW5ndWxhci9jZGsvb3ZlcmxheVwiO1xuaW1wb3J0IHtUZW1wbGF0ZVBvcnRhbH0gZnJvbSBcIkBhbmd1bGFyL2Nkay9wb3J0YWxcIjtcbmltcG9ydCB7dGFrZVVudGlsRGVzdHJveWVkfSBmcm9tIFwiQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3BcIjtcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcblxuY29uc3QgdmFsdWVBY2Nlc3NvcjogUHJvdmlkZXIgPSB7XG4gIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICBtdWx0aTogdHJ1ZSxcbiAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gQXV0b2NvbXBsZXRlQ29tcG9uZW50KSxcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXNrLWF1dG9jb21wbGV0ZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9hdXRvY29tcGxldGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hdXRvY29tcGxldGUuY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbdmFsdWVBY2Nlc3Nvcl0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIEF1dG9jb21wbGV0ZUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBPbkNoYW5nZXMge1xuXG4gIEBWaWV3Q2hpbGQoXCJhdXRvY29tcGxldGVcIikgaW5wdXQ6IEVsZW1lbnRSZWYgfCB1bmRlZmluZWRcbiAgQFZpZXdDaGlsZChcImxpc3RcIikgbGlzdDogRWxlbWVudFJlZiB8IHVuZGVmaW5lZFxuICBAVmlld0NoaWxkKFwid3JhcHBlclwiKSB3cmFwcGVyOiBFbGVtZW50UmVmIHwgdW5kZWZpbmVkXG4gIEBWaWV3Q2hpbGQoJ292ZXJsYXlDb250ZW50Jykgb3ZlcmxheUNvbnRlbnQ6IFRlbXBsYXRlUmVmPGFueT4gfCB1bmRlZmluZWRcblxuICBwcm90ZWN0ZWQgaW5wdXRDb250cm9sID0gbmV3IEZvcm1Db250cm9sKFwiXCIpXG4gIHByb3RlY3RlZCBmaXhlZE9wdGlvbnNJdGVtczogYW55W10gPSBbXTtcbiAgcHJvdGVjdGVkIGZpbHRlcmVkT3B0aW9uczogYW55W10gPSBbXTtcbiAgcHJvdGVjdGVkIHBhZ2luYXRlZEZpbHRlcmVkT3B0aW9uczogYW55W10gPSBbXTtcbiAgcHJvdGVjdGVkIHNlbGVjdGVkT3B0aW9uPzogYW55O1xuICBwcm90ZWN0ZWQgc2VsZWN0aW9uOiBhbnlbXSA9IFtdO1xuICBwcm90ZWN0ZWQgY2xvc2VkID0gdHJ1ZTtcbiAgcHJvdGVjdGVkIGNoaXBzQ29sbGFwc2VkID0gdHJ1ZVxuICBwcm90ZWN0ZWQgY2hlY2tBbGxWYWx1ZSA9IGZhbHNlXG4gIHByb3RlY3RlZCBkaXNhYmxlZCA9IGZhbHNlO1xuICBwcm90ZWN0ZWQgc2hvd0NoaXBzID0gZmFsc2U7XG4gIHByb3RlY3RlZCBzaG93QWxsU2VsZWN0aW9uQnRuID0gZmFsc2U7XG4gIHByb3RlY3RlZCBzaG93UGxhY2Vob2xkZXIgPSBmYWxzZTtcbiAgcHJvdGVjdGVkIHNob3dFeHBhbmRlZFNlbGVjdGlvbkFjdGlvbnMgPSBmYWxzZTtcbiAgcHJvdGVjdGVkIHNob3dTZWxlY3RBbGxDaGVja2JveCA9IGZhbHNlO1xuICBwcm90ZWN0ZWQgY2hpcHNDb250YWluZXJDbGFzc2VzID0ge1xuICAgIFwiLXR3b1wiOiBmYWxzZSxcbiAgICBcIi10aHJlZVwiOiBmYWxzZSxcbiAgICBcIi1mb3VyXCI6IGZhbHNlLFxuICAgIFwiLW1hbnlcIjogZmFsc2VcbiAgfTtcbiAgcHJvdGVjdGVkIG9wdGlvbnNTZWxlY3RlZDoge1trZXk6IHN0cmluZyB8IG51bWJlcl06IGJvb2xlYW59ID0ge31cbiAgcHJpdmF0ZSBjaGFuZ2VkID0gZmFsc2U7XG5cbiAgcHJpdmF0ZSBfb3ZlcmxheVJlZjogT3ZlcmxheVJlZiB8IHVuZGVmaW5lZDtcbiAgcHJpdmF0ZSBfcG9ydGFsOiBUZW1wbGF0ZVBvcnRhbDxhbnk+IHwgdW5kZWZpbmVkO1xuICBwcml2YXRlIF9kZXN0cm95ID0gaW5qZWN0KERlc3Ryb3lSZWYpXG4gIHByaXZhdGUgcmVhZG9ubHkgSVRFTVNfUEVSX1BBR0UgPSA0MFxuICBwcml2YXRlIF9wYWdlTnVtYmVyID0gMVxuICBfc2VsZWN0QWxsTWVzc2FnZSA9ICcnO1xuXG4gIHByaXZhdGUgc2Nyb2xsU3ViPzogU3Vic2NyaXB0aW9uO1xuXG5cbiAgQElucHV0KClcbiAgZmlsdGVyRm4/OiAoaXRlbTogc3RyaW5nKSA9PiBhbnlbXTtcblxuICBASW5wdXQoKVxuICBkaXNwbGF5Rm4/OiAoaXRlbTogYW55KSA9PiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgbXVsdGlwbGUgPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICB2YWx1ZVByb3A6IHN0cmluZyA9ICcnXG5cbiAgQElucHV0KClcbiAgb3B0aW9uczogYW55W10gPSBbXVxuXG4gIEBJbnB1dCgpXG4gIGZpeGVkT3B0aW9uczogYW55W10gPSBbXVxuXG4gIEBJbnB1dCgpXG4gIHBsYWNlaG9sZGVyID0gJydcblxuICBASW5wdXQoKVxuICBlbXB0eU1lc3NhZ2UgPSAnTk9fT1BUSU9OUyc7XG5cbiAgQElucHV0KClcbiAgc2VsZWN0QWxsID0gZmFsc2VcblxuICBASW5wdXQoKVxuICBhbGxPcHRpb25zU2VsZWN0ZWRUZXh0OiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICBASW5wdXQoKVxuICBzZWxlY3RBbGxNZXNzYWdlID0gdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnU0VMRUNUX0FMTCcpO1xuXG4gIEBJbnB1dCgpXG4gIGljb25Qcm9wUmVmZXJlbmNlPzogc3RyaW5nO1xuXG4gIEBPdXRwdXQoKVxuICBpdGVtQ2hlY2sgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgQE91dHB1dCgpXG4gIHNlbGVjdGlvbkRvbmUgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgQE91dHB1dCgpXG4gIG9wdGlvblJlbW92ZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBmb3JtQnVpbGRlcjogRm9ybUJ1aWxkZXIsXG4gICAgICAgICAgICAgIHByaXZhdGUgb3ZlcmxheTogT3ZlcmxheSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxuICAgICAgICAgICAgICBwcml2YXRlIGNoYW5nZTogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgICAgICAgIHByaXZhdGUgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlKSB7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgdGhpcy5jaGVja0FsbFZhbHVlID0gdGhpcy5pc0FsbE9wdGlvbnNTZWxlY3RlZFxuICAgIHRoaXMuY2hlY2tGaXhlZE9wdGlvbnMoKTtcbiAgICB0aGlzLmhhbmRsZUlucHV0Q2hhbmdlKCk7XG4gIH1cblxuICBwcml2YXRlIGNoZWNrRml4ZWRPcHRpb25zKCkge1xuICAgIHRoaXMuZml4ZWRPcHRpb25zSXRlbXMgPSB0aGlzLm9wdGlvbnMuZmlsdGVyKG9wdGlvbiA9PiB0aGlzLmZpeGVkT3B0aW9ucy5pbmNsdWRlcyhvcHRpb25bdGhpcy52YWx1ZVByb3BdKSk7XG4gIH1cblxuICBnZXQgaXNBbGxPcHRpb25zU2VsZWN0ZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0aW9uLmxlbmd0aCA9PT0gdGhpcy5vcHRpb25zLmxlbmd0aFxuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGlmIChjaGFuZ2VzWydvcHRpb25zJ10pIHtcbiAgICAgIHRoaXMuX3BhZ2VOdW1iZXIgPSAxXG4gICAgICB0aGlzLnBhZ2luYXRlZEZpbHRlcmVkT3B0aW9ucyA9IFtdXG5cbiAgICAgIHRoaXMuZmlsdGVyZWRPcHRpb25zID0gY2hhbmdlc1snb3B0aW9ucyddLmN1cnJlbnRWYWx1ZVxuICAgICAgICAuZmlsdGVyKChvcHRpb246IGFueSkgPT4gIXRoaXMuZml4ZWRPcHRpb25zLmluY2x1ZGVzKG9wdGlvblt0aGlzLnZhbHVlUHJvcF0pKVxuICAgICAgdGhpcy51cGRhdGVWYWxpZGF0aW9uKClcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZUlucHV0Q2hhbmdlKCkge1xuICAgIHRoaXMuaW5wdXRDb250cm9sLnZhbHVlQ2hhbmdlcy5waXBlKFxuICAgICAgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuX2Rlc3Ryb3kpLFxuICAgICAgZGVib3VuY2VUaW1lKDMwMCksXG4gICAgICB0YXAoKCkgPT4ge1xuICAgICAgICB0aGlzLl9wYWdlTnVtYmVyID0gMVxuICAgICAgICB0aGlzLnBhZ2luYXRlZEZpbHRlcmVkT3B0aW9ucyA9IFtdXG4gICAgICB9KSxcbiAgICAgIG1hcCh2YWx1ZSA9PiB0aGlzLmZpbHRlckZuID8gdGhpcy5maWx0ZXJGbih2YWx1ZSB8fCAnJykgOiBbXSlcbiAgICApLnN1YnNjcmliZShpdGVtcyA9PiB7XG4gICAgICB0aGlzLmZpbHRlcmVkT3B0aW9ucyA9IGl0ZW1zXG4gICAgICB0aGlzLmdldE1vcmVJdGVtcygpXG4gICAgfSlcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlU2VsZWN0aW9uQ2hhbmdlKHZhbHVlczogYW55W10pIHtcbiAgICB0aGlzLnNlbGVjdGlvbiA9IHZhbHVlc1xuICAgIHRoaXMuY2hlY2tBbGxWYWx1ZSA9IHRoaXMuaXNBbGxPcHRpb25zU2VsZWN0ZWRcblxuICAgIGlmICghdGhpcy5jaGlwc0NvbGxhcHNlZCkge1xuICAgICAgdGhpcy5jaGlwc0NvbGxhcHNlZCA9IHRoaXMuc2VsZWN0aW9uLmxlbmd0aCA8IDJcbiAgICB9XG4gICAgdGhpcy51cGRhdGVWYWxpZGF0aW9uKClcbiAgICB0aGlzLmNoYW5nZS5kZXRlY3RDaGFuZ2VzKClcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlQ2hpcHNDb250YWluZXJDbGFzc2VzKCkge1xuICAgIHRoaXMuY2hpcHNDb250YWluZXJDbGFzc2VzID0ge1xuICAgICAgXCItdHdvXCI6IHRoaXMuc2VsZWN0ZWRPcHRpb25zLmxlbmd0aCA9PT0gMixcbiAgICAgIFwiLXRocmVlXCI6IHRoaXMuc2VsZWN0ZWRPcHRpb25zLmxlbmd0aCA9PT0gMyxcbiAgICAgIFwiLWZvdXJcIjogdGhpcy5zZWxlY3RlZE9wdGlvbnMubGVuZ3RoID09PSA0LFxuICAgICAgXCItbWFueVwiOiB0aGlzLnNlbGVjdGVkT3B0aW9ucy5sZW5ndGggPj0gNVxuICAgIH1cbiAgfVxuXG4gIGhhbmRsZU9wdGlvblNlbGVjdGVkKGl0ZW06IGFueSkge1xuICAgIHRoaXMuc2VsZWN0ZWRPcHRpb24gPSBpdGVtO1xuICAgIHRoaXMub25DaGFuZ2UodGhpcy5zZWxlY3RlZE9wdGlvbilcbiAgICB0aGlzLmhpZGVPcHRpb25zKClcbiAgICB0aGlzLmNoYW5nZS5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBoYW5kbGVBdXRvY29tcGxldGVDbGljayhldmVudD86IEV2ZW50KSB7XG4gICAgZXZlbnQ/LnN0b3BQcm9wYWdhdGlvbigpXG4gICAgaWYgKCF0aGlzLmRpc2FibGVkKSB7XG4gICAgICB0aGlzLmNoaXBzQ29sbGFwc2VkID0gdHJ1ZTtcbiAgICAgIHRoaXMuY2xvc2VkXG4gICAgICAgID8gdGhpcy5zaG93T3B0aW9ucygpXG4gICAgICAgIDogdGhpcy5oaWRlT3B0aW9ucygpXG4gICAgfVxuICAgIHRoaXMudXBkYXRlVmFsaWRhdGlvbigpO1xuICAgIHRoaXMudXBkYXRlQ2hpcHNDb250YWluZXJDbGFzc2VzKClcbiAgICB0aGlzLmNoYW5nZS5kZXRlY3RDaGFuZ2VzKClcbiAgfVxuXG4gIHByb3RlY3RlZCBoYW5kbGVDaGlwc0xpc3RBY3Rpb25DbGljayhldmVudDogRXZlbnQpIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKVxuICAgIHRoaXMuY2hpcHNDb2xsYXBzZWQgPSAhdGhpcy5jaGlwc0NvbGxhcHNlZDtcbiAgICB0aGlzLnVwZGF0ZVZhbGlkYXRpb24oKVxuICAgIHRoaXMudXBkYXRlQ2hpcHNDb250YWluZXJDbGFzc2VzKClcbiAgICB0aGlzLmNoYW5nZS5kZXRlY3RDaGFuZ2VzKClcbiAgICB0aGlzLmNoYW5nZWQgPSB0cnVlXG4gIH1cblxuICBzaG93T3B0aW9ucygpIHtcbiAgICB0aGlzLmNsb3NlZCA9IGZhbHNlXG4gICAgaWYgKHRoaXMud3JhcHBlcikge1xuICAgICAgdGhpcy5fb3ZlcmxheVJlZiA9IHRoaXMuZ2V0T3ZlcmxheUNvbmZpZyh0aGlzLndyYXBwZXIpXG5cbiAgICAgIHRoaXMuX3BvcnRhbCA9IG5ldyBUZW1wbGF0ZVBvcnRhbCh0aGlzLm92ZXJsYXlDb250ZW50ISwgdGhpcy52aWV3Q29udGFpbmVyUmVmKVxuICAgIH1cblxuICAgIHRoaXMuX292ZXJsYXlSZWY/LmF0dGFjaCh0aGlzLl9wb3J0YWwpO1xuXG4gICAgdGhpcy51cGRhdGVWYWxpZGF0aW9uKCk7XG4gICAgaWYgKHRoaXMucGFnaW5hdGVkRmlsdGVyZWRPcHRpb25zLmxlbmd0aCA9PT0gMCkgdGhpcy5nZXRNb3JlSXRlbXMoKVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRPdmVybGF5Q29uZmlnKHdyYXBwZXI6IEVsZW1lbnRSZWYpIHtcbiAgICByZXR1cm4gdGhpcy5vdmVybGF5LmNyZWF0ZSh7XG4gICAgICBoYXNCYWNrZHJvcDogdHJ1ZSxcbiAgICAgIGJhY2tkcm9wQ2xhc3M6IFwiY2RrLW92ZXJsYXktdHJhbnNwYXJlbnQtYmFja2Ryb3BcIixcbiAgICAgIHdpZHRoOiB3cmFwcGVyLm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGgsXG4gICAgICBzY3JvbGxTdHJhdGVneTogdGhpcy5vdmVybGF5LnNjcm9sbFN0cmF0ZWdpZXMucmVwb3NpdGlvbigpLFxuICAgICAgcG9zaXRpb25TdHJhdGVneTogdGhpcy5vdmVybGF5LnBvc2l0aW9uKClcbiAgICAgICAgLmZsZXhpYmxlQ29ubmVjdGVkVG8od3JhcHBlci5uYXRpdmVFbGVtZW50KVxuICAgICAgICAud2l0aFBvc2l0aW9ucyhbe1xuICAgICAgICAgIG9yaWdpblg6IFwic3RhcnRcIixcbiAgICAgICAgICBvcmlnaW5ZOiBcImJvdHRvbVwiLFxuICAgICAgICAgIG92ZXJsYXlYOiBcInN0YXJ0XCIsXG4gICAgICAgICAgb3ZlcmxheVk6IFwidG9wXCJcbiAgICAgICAgfV0pXG4gICAgfSk7XG4gIH1cblxuICBoaWRlT3B0aW9ucygpIHtcbiAgICB0aGlzLmNsb3NlZCA9IHRydWU7XG4gICAgdGhpcy5jaGlwc0NvbGxhcHNlZCA9IHRydWU7XG4gICAgdGhpcy5fb3ZlcmxheVJlZj8uZGV0YWNoKClcbiAgICB0aGlzLmNoYW5nZS5kZXRlY3RDaGFuZ2VzKClcbiAgICB0aGlzLl9wYWdlTnVtYmVyID0gMTtcbiAgICB0aGlzLnBhZ2luYXRlZEZpbHRlcmVkT3B0aW9ucyA9IFtdO1xuICAgIHRoaXMudXBkYXRlVmFsaWRhdGlvbigpO1xuICAgIHRoaXMuc2Nyb2xsU3ViPy51bnN1YnNjcmliZSgpO1xuICAgIGlmICh0aGlzLmNoYW5nZWQpXG4gICAgICB0aGlzLnNlbGVjdGlvbkRvbmUuZW1pdCgpO1xuICAgIHRoaXMuY2hhbmdlZCA9IGZhbHNlXG4gIH1cblxuICBASG9zdExpc3RlbmVyKFwid2luZG93Om1vdXNlZG93blwiLCBbJyRldmVudCddKVxuICBoYW5kbGVDbGljayhldmVudDogTW91c2VFdmVudCkge1xuICAgIGlmIChcbiAgICAgICF0aGlzLmNsb3NlZFxuICAgICAgJiYgIXRoaXMud3JhcHBlcj8ubmF0aXZlRWxlbWVudC5jb250YWlucyhldmVudC50YXJnZXQpXG4gICAgICAmJiAhdGhpcy5saXN0Py5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKGV2ZW50LnRhcmdldCkpIHtcbiAgICAgIHRoaXMuaGlkZU9wdGlvbnMoKVxuICAgICAgdGhpcy5jaGFuZ2UuZGV0ZWN0Q2hhbmdlcygpXG4gICAgfVxuICB9XG5cbiAgZ2V0IHNlbGVjdGVkT3B0aW9ucygpOiBhbnlbXSB7XG4gICAgaWYgKCF0aGlzLm11bHRpcGxlKSByZXR1cm4gdGhpcy5zZWxlY3RlZE9wdGlvbiA/IFt0aGlzLnNlbGVjdGVkT3B0aW9uXSA6IFtdXG5cbiAgICByZXR1cm4gdGhpcy5jaGlwc0NvbGxhcHNlZFxuICAgICAgPyB0aGlzLnNlbGVjdGlvbi5zbGljZSgwLCAxKVxuICAgICAgOiB0aGlzLnNlbGVjdGlvbjtcbiAgfVxuXG4gIGhhbmRsZVNlbGVjdEFsbChjaGVja2VkOiBib29sZWFuKSB7XG4gICAgdGhpcy5zZWxlY3RBbGxPcHRpb25zKGNoZWNrZWQpO1xuICAgIHRoaXMuc2VsZWN0aW9uID0gY2hlY2tlZCA/IHRoaXMub3B0aW9ucyA6IFtdXG4gICAgdGhpcy5vbkNoYW5nZSh0aGlzLnNlbGVjdGlvbilcbiAgICB0aGlzLnVwZGF0ZVZhbGlkYXRpb24oKVxuICAgIHRoaXMuY2hhbmdlLmRldGVjdENoYW5nZXMoKVxuICAgIHRoaXMuaXRlbUNoZWNrLmVtaXQodGhpcy5zZWxlY3Rpb24pO1xuICAgIHRoaXMuY2hhbmdlZCA9IHRydWVcbiAgfVxuXG4gIHZhbHVlQ2hhbmdlKG9wdGlvbjogYW55LCB2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMub3B0aW9uc1NlbGVjdGVkW29wdGlvblt0aGlzLnZhbHVlUHJvcF1dID0gdmFsdWVcbiAgICB0aGlzLnNlbGVjdGlvbiA9IHRoaXMub3B0aW9ucy5maWx0ZXIobyA9PiB0aGlzLm9wdGlvbnNTZWxlY3RlZFtvW3RoaXMudmFsdWVQcm9wXV0pXG4gICAgdGhpcy5jaGVja0FsbFZhbHVlID0gdGhpcy5zZWxlY3Rpb24ubGVuZ3RoID09PSB0aGlzLm9wdGlvbnMubGVuZ3RoXG4gICAgdGhpcy5vbkNoYW5nZSh0aGlzLnNlbGVjdGlvbilcbiAgICB0aGlzLm9uVG91Y2hlZCgpXG5cbiAgICB0aGlzLnVwZGF0ZUNoaXBzQ29udGFpbmVyQ2xhc3NlcygpXG4gICAgdGhpcy51cGRhdGVWYWxpZGF0aW9uKCk7XG4gICAgdGhpcy5jaGFuZ2UuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIHRoaXMuaXRlbUNoZWNrLmVtaXQodGhpcy5zZWxlY3Rpb24pO1xuICAgIHRoaXMuY2hhbmdlZCA9IHRydWVcbiAgfVxuXG4gIHNlbGVjdEFsbE9wdGlvbnMoc2VsZWN0ZWQ6IGJvb2xlYW4pIHtcbiAgICB0aGlzLm9wdGlvbnNTZWxlY3RlZCA9IHRoaXMub3B0aW9uc1xuICAgICAgLnJlZHVjZSgoYWNjLCBjdXJyKSA9PiB7XG4gICAgICAgIGFjY1tjdXJyW3RoaXMudmFsdWVQcm9wXV0gPSBzZWxlY3RlZFxuICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgfSwge30gYXMgeyBba2V5OiBzdHJpbmddOiBib29sZWFuIH0pXG4gIH1cblxuICBoYW5kbGVDaGlwQWN0aW9uKG9wdGlvbjogYW55KSB7XG4gICAgaWYgKHRoaXMubXVsdGlwbGUpIHtcbiAgICAgIHRoaXMub3B0aW9uc1NlbGVjdGVkW29wdGlvblt0aGlzLnZhbHVlUHJvcF1dID0gZmFsc2VcbiAgICAgIHRoaXMuc2VsZWN0aW9uID0gdGhpcy5zZWxlY3Rpb24uZmlsdGVyKHNlbGVjdGVkT3B0aW9uID0+XG4gICAgICAgIHNlbGVjdGVkT3B0aW9uW3RoaXMudmFsdWVQcm9wXSAhPT0gb3B0aW9uW3RoaXMudmFsdWVQcm9wXSlcbiAgICAgIHRoaXMub25DaGFuZ2UodGhpcy5zZWxlY3Rpb24pXG4gICAgICB0aGlzLm9wdGlvblJlbW92ZWQuZW1pdChvcHRpb24pXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRPcHRpb24gPSBudWxsO1xuICAgICAgdGhpcy5vbkNoYW5nZShbXSlcbiAgICB9XG5cbiAgICB0aGlzLnVwZGF0ZUNoaXBzQ29udGFpbmVyQ2xhc3NlcygpXG4gICAgdGhpcy51cGRhdGVWYWxpZGF0aW9uKCk7XG4gICAgdGhpcy5jaGFuZ2UuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgZGlzcGxheShvcHRpb246IGFueSkge1xuICAgIHJldHVybiB0aGlzLmRpc3BsYXlGbiAmJiB0aGlzLmRpc3BsYXlGbihvcHRpb24pXG4gIH1cblxuICBnZXRNb3JlSXRlbXMoKSB7XG4gICAgY29uc3Qgc29ydGVkRmlsdGVyZWRPcHRpb25zID0gWy4uLnRoaXMuZmlsdGVyZWRPcHRpb25zXTtcblxuICAgIHRoaXMuc29ydFNlbGVjdGVkRmlyc3Qoc29ydGVkRmlsdGVyZWRPcHRpb25zLCB0aGlzLnNlbGVjdGlvbiwgdGhpcy52YWx1ZVByb3ApXG4gICAgY29uc3QgbmV4dFBhZ2VJdGVtcyA9IHNvcnRlZEZpbHRlcmVkT3B0aW9uc1xuICAgICAgLnNsaWNlKFxuICAgICAgICB0aGlzLklURU1TX1BFUl9QQUdFICogKHRoaXMuX3BhZ2VOdW1iZXIgLSAxKSxcbiAgICAgICAgdGhpcy5JVEVNU19QRVJfUEFHRSAqIHRoaXMuX3BhZ2VOdW1iZXJcbiAgICAgICk7XG5cbiAgICBpZiAobmV4dFBhZ2VJdGVtcy5sZW5ndGgpIHtcbiAgICAgIHRoaXMucGFnaW5hdGVkRmlsdGVyZWRPcHRpb25zID0gWy4uLnRoaXMucGFnaW5hdGVkRmlsdGVyZWRPcHRpb25zLCAuLi5uZXh0UGFnZUl0ZW1zXTtcbiAgICAgIHRoaXMuX3BhZ2VOdW1iZXIgKz0gMVxuICAgIH1cbiAgICB0aGlzLnVwZGF0ZVZhbGlkYXRpb24oKTtcbiAgICB0aGlzLmNoYW5nZS5kZXRlY3RDaGFuZ2VzKClcbiAgfVxuXG4gIHNvcnRTZWxlY3RlZEZpcnN0KGl0ZW1zOiBBcnJheTxhbnk+LCBzZWxlY3RlZEl0ZW1zOiBBcnJheTxhbnk+LCBwcm9wOiBzdHJpbmcpIHtcbiAgICBpdGVtcy5zb3J0KChhLCBiKSA9PiB7XG4gICAgICBjb25zdCBhSXNTZWxlY3RlZCA9IHNlbGVjdGVkSXRlbXMuc29tZShpdGVtID0+IGl0ZW1bcHJvcF0gPT09IGFbcHJvcF0pO1xuICAgICAgY29uc3QgYklzU2VsZWN0ZWQgPSBzZWxlY3RlZEl0ZW1zLnNvbWUoaXRlbSA9PiBpdGVtW3Byb3BdID09PSBiW3Byb3BdKTtcblxuICAgICAgaWYgKGFJc1NlbGVjdGVkICYmICFiSXNTZWxlY3RlZCkge1xuICAgICAgICByZXR1cm4gLTE7XG4gICAgICB9IGVsc2UgaWYgKCFhSXNTZWxlY3RlZCAmJiBiSXNTZWxlY3RlZCkge1xuICAgICAgICByZXR1cm4gMTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiAwO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIHVwZGF0ZVZhbGlkYXRpb24oKSB7XG4gICAgdGhpcy5jaGVja0FsbFZhbHVlID0gdGhpcy5pc0FsbE9wdGlvbnNTZWxlY3RlZFxuICAgIHRoaXMuc2hvd0NoaXBzID0gQm9vbGVhbih0aGlzLnNlbGVjdGVkT3B0aW9ucy5sZW5ndGgpICYmIHRoaXMuY2xvc2VkICYmIChcbiAgICAgICF0aGlzLm11bHRpcGxlIHx8ICF0aGlzLmNoZWNrQWxsVmFsdWUgfHwgKHRoaXMuY2hlY2tBbGxWYWx1ZSAmJiAhQm9vbGVhbih0aGlzLmFsbE9wdGlvbnNTZWxlY3RlZFRleHQpKVxuICAgICk7XG4gICAgdGhpcy5zaG93QWxsU2VsZWN0aW9uQnRuID0gdGhpcy5tdWx0aXBsZSAmJiBCb29sZWFuKHRoaXMuc2VsZWN0aW9uLmxlbmd0aCA+IDEpICYmIHRoaXMuY2hpcHNDb2xsYXBzZWQ7XG4gICAgdGhpcy5zaG93UGxhY2Vob2xkZXIgPSB0aGlzLmNsb3NlZCAmJiAoXG4gICAgICAhdGhpcy5zZWxlY3RlZE9wdGlvbnMubGVuZ3RoIHx8ICh0aGlzLmNoZWNrQWxsVmFsdWUgJiYgQm9vbGVhbih0aGlzLmFsbE9wdGlvbnNTZWxlY3RlZFRleHQpICYmIHRoaXMubXVsdGlwbGUpXG4gICAgKTtcbiAgICB0aGlzLnNob3dFeHBhbmRlZFNlbGVjdGlvbkFjdGlvbnMgPSB0aGlzLm11bHRpcGxlICYmICF0aGlzLmNoaXBzQ29sbGFwc2VkO1xuICAgIHRoaXMuc2hvd1NlbGVjdEFsbENoZWNrYm94ID0gQm9vbGVhbih0aGlzLnBhZ2luYXRlZEZpbHRlcmVkT3B0aW9ucy5sZW5ndGgpICYmIHRoaXMuc2VsZWN0QWxsO1xuICB9XG5cbiAgLy8gQ29udHJvbCBWYWx1ZSBBY2Nlc3NvclxuXG4gIHdyaXRlVmFsdWUob2JqOiBhbnlbXSB8IGFueSk6IHZvaWQge1xuICAgIHRoaXMuc2VsZWN0aW9uID0gW107XG4gICAgaWYgKHRoaXMubXVsdGlwbGUgJiYgQXJyYXkuaXNBcnJheShvYmopKSB7XG4gICAgICB0aGlzLm9wdGlvbnNTZWxlY3RlZCA9IHt9XG4gICAgICBvYmouZm9yRWFjaChvcHRpb24gPT4gdGhpcy5vcHRpb25zU2VsZWN0ZWRbb3B0aW9uW3RoaXMudmFsdWVQcm9wXV0gPSB0cnVlKVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNlbGVjdGVkT3B0aW9uID0gb2JqXG4gICAgfVxuXG4gICAgaWYgKHRoaXMubXVsdGlwbGUpIHtcbiAgICAgIHRoaXMuaGFuZGxlU2VsZWN0aW9uQ2hhbmdlKG9iailcbiAgICB9XG5cbiAgICB0aGlzLmNoYW5nZS5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBvbkNoYW5nZSA9IChfOiBhbnkpID0+IHt9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICB9XG5cbiAgb25Ub3VjaGVkID0gKCkgPT4ge31cblxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgfVxuXG4gIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICB9XG59XG4iLCI8ZGl2XG4gIGNsYXNzPVwiYXV0b2NvbXBsZXRlLXdyYXBwZXJcIlxuICBkYXRhLXRlc3RpZD1cImF1dG9jb21wbGV0ZS13cmFwcGVyXCJcbiAgW2NsYXNzLi1jbG9zZWRdPVwiY2xvc2VkXCJcbiAgW2NsYXNzLi1vcGVuZWRdPVwiIWNsb3NlZFwiXG4gICN3cmFwcGVyXG4gIChjbGljayk9XCJoYW5kbGVBdXRvY29tcGxldGVDbGljaygpXCJcbj5cbiAgPGRpdiBjbGFzcz1cImF1dG9jb21wbGV0ZVwiICNhdXRvY29tcGxldGU+XG4gICAgPGlucHV0XG4gICAgICBjbGFzcz1cInNlYXJjaC1maWVsZFwiXG4gICAgICBhc2tBdXRvZm9jdXNcbiAgICAgICpuZ0lmPVwiIWNsb3NlZDsgZWxzZSBzZWxlY3Rpb25PclBsYWNlaG9sZGVyXCJcbiAgICAgIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxuICAgICAgW2Zvcm1Db250cm9sXT1cImlucHV0Q29udHJvbFwiXG4gICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICAgIC8+XG4gICAgPG5nLXRlbXBsYXRlICNzZWxlY3Rpb25PclBsYWNlaG9sZGVyPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNob3dDaGlwc1wiPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgY2xhc3M9XCJjaGlwLWxpc3RcIlxuICAgICAgICAgIFtjbGFzcy4tY29sbGFwc2VkXT1cImNoaXBzQ29sbGFwc2VkXCJcbiAgICAgICAgICBbbmdDbGFzc109XCJjaGlwc0NvbnRhaW5lckNsYXNzZXNcIlxuICAgICAgICA+XG4gICAgICAgICAgPGFzay1jaGlwc1xuICAgICAgICAgICAgW3N0eWxlLm1heC13aWR0aF09XCJjaGlwc0NvbGxhcHNlZCA/ICc4NSUnIDogJzk1JSdcIlxuICAgICAgICAgICAgW3Nob3dBY3Rpb25dPVwidHJ1ZVwiXG4gICAgICAgICAgICAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIHNlbGVjdGVkT3B0aW9uc1wiXG4gICAgICAgICAgICAoYWN0aW9uKT1cImhhbmRsZUNoaXBBY3Rpb24ob3B0aW9uKVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAge3sgZGlzcGxheShvcHRpb24pIH19XG4gICAgICAgICAgPC9hc2stY2hpcHM+XG4gICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgIGNsYXNzPVwiZXhwYW5kXCJcbiAgICAgICAgICAgIGRhdGEtdGVzdGlkPVwic2VlLW1vcmVcIlxuICAgICAgICAgICAgKm5nSWY9XCJzaG93QWxsU2VsZWN0aW9uQnRuXCJcbiAgICAgICAgICAgIChjbGljayk9XCJoYW5kbGVDaGlwc0xpc3RBY3Rpb25DbGljaygkZXZlbnQpXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICAre3sgc2VsZWN0aW9uLmxlbmd0aCAtIDEgfX1cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8c3BhblxuICAgICAgICBjbGFzcz1cImVtcHR5LXBsYWNlaG9sZGVyXCJcbiAgICAgICAgZGF0YS10ZXN0aWQ9XCJwbGFjZWhvbGRlclwiXG4gICAgICAgICpuZ0lmPVwic2hvd1BsYWNlaG9sZGVyXCJcbiAgICAgID5cbiAgICAgICAge3tcbiAgICAgICAgICBjaGVja0FsbFZhbHVlICYmIGFsbE9wdGlvbnNTZWxlY3RlZFRleHRcbiAgICAgICAgICAgID8gYWxsT3B0aW9uc1NlbGVjdGVkVGV4dFxuICAgICAgICAgICAgOiBwbGFjZWhvbGRlclxuICAgICAgICB9fVxuICAgICAgPC9zcGFuPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPHNwYW5cbiAgICAgIGNsYXNzPVwiYnRuLWV4cGFuZCBtYXRlcmlhbC1pY29uc1wiXG4gICAgICBkYXRhLXRlc3RpZD1cImJ0bi1leHBhbmRcIlxuICAgICAgW2NsYXNzLi1kaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAqbmdJZj1cImNoaXBzQ29sbGFwc2VkXCJcbiAgICA+XG4gICAgICB7eyBjbG9zZWQgPyBcImV4cGFuZF9tb3JlXCIgOiBcImV4cGFuZF9sZXNzXCIgfX1cbiAgICA8L3NwYW4+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiYWN0aW9uc1wiICpuZ0lmPVwic2hvd0V4cGFuZGVkU2VsZWN0aW9uQWN0aW9uc1wiPlxuICAgIDxzcGFuXG4gICAgICBjbGFzcz1cInNlZS1tb3JlXCJcbiAgICAgIGRhdGEtdGVzdGlkPVwic2VlLWxlc3NcIlxuICAgICAgKGNsaWNrKT1cImhhbmRsZUNoaXBzTGlzdEFjdGlvbkNsaWNrKCRldmVudClcIlxuICAgID5cbiAgICAgIHt7IFwiU0VFX0xFU1NcIiB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvc3Bhbj5cbiAgICA8c3BhblxuICAgICAgY2xhc3M9XCJidG4tZXhwYW5kIG1hdGVyaWFsLWljb25zXCJcbiAgICAgIGRhdGEtdGVzdGlkPVwiYnRuLWV4cGFuZFwiXG4gICAgICBbY2xhc3MuLWRpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICA+XG4gICAgICB7eyBjbG9zZWQgPyBcImV4cGFuZF9tb3JlXCIgOiBcImV4cGFuZF9sZXNzXCIgfX1cbiAgICA8L3NwYW4+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjb3ZlcmxheUNvbnRlbnQ+XG4gIDxkaXYgI2xpc3QgY2xhc3M9XCJtZW51LWNvbnRhaW5lclwiIFtjbGFzcy4tbXVsdGlwbGVdPVwibXVsdGlwbGVcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIW11bHRpcGxlOyBlbHNlIG11bHRpcGxlU2VsZWN0aW9uXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwibGlzdFwiIGFza1Njcm9sbCBbYXNrU2Nyb2xsVGhyZXNob2xkXT1cIjUwXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBwYWdpbmF0ZWRGaWx0ZXJlZE9wdGlvbnNcIj5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjbGFzcz1cIm9wdGlvbi1pdGVtXCJcbiAgICAgICAgICAgIFtjbGFzcy4taGlnaGxpZ2h0ZWRdPVwiXG4gICAgICAgICAgICAgIHNlbGVjdGVkT3B0aW9uICYmIHNlbGVjdGVkT3B0aW9uW3ZhbHVlUHJvcF0gPT09IG9wdGlvblt2YWx1ZVByb3BdXG4gICAgICAgICAgICBcIlxuICAgICAgICAgICAgKGNsaWNrKT1cImhhbmRsZU9wdGlvblNlbGVjdGVkKG9wdGlvbilcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxwIGNsYXNzPVwidGV4dFwiPnt7IGRpc3BsYXkob3B0aW9uKSB9fTwvcD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctdGVtcGxhdGUgI211bHRpcGxlU2VsZWN0aW9uPlxuICAgICAgPGRpdiBjbGFzcz1cIm9wdGlvbi1pdGVtXCIgKm5nSWY9XCJzaG93U2VsZWN0QWxsQ2hlY2tib3hcIj5cbiAgICAgICAgPGFzay1jaGVja2JveFxuICAgICAgICAgICh2YWx1ZUNoYW5nZSk9XCJoYW5kbGVTZWxlY3RBbGwoJGV2ZW50KVwiXG4gICAgICAgICAgWyhuZ01vZGVsKV09XCJjaGVja0FsbFZhbHVlXCJcbiAgICAgICAgICA+e3tzZWxlY3RBbGxNZXNzYWdlfX08L2Fzay1jaGVja2JveFxuICAgICAgICA+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIGZpeGVkT3B0aW9uc0l0ZW1zXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJvcHRpb24taXRlbVwiPlxuICAgICAgICAgIDxhc2stY2hlY2tib3hcbiAgICAgICAgICAgIFt2YWx1ZV09XCJvcHRpb25zU2VsZWN0ZWRbb3B0aW9uW3ZhbHVlUHJvcF1dXCJcbiAgICAgICAgICAgICh2YWx1ZUNoYW5nZSk9XCJ2YWx1ZUNoYW5nZShvcHRpb24sICRldmVudClcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGVja2JveC1jb250ZW50XCI+XG4gICAgICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgICAgICBkYXRhLXRlc3RpZD1cImNoZWNrYm94LWl0ZW0taWNvblwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJpY29uXCJcbiAgICAgICAgICAgICAgICAqbmdJZj1cImljb25Qcm9wUmVmZXJlbmNlXCJcbiAgICAgICAgICAgICAgICBbc3JjXT1cIm9wdGlvbltpY29uUHJvcFJlZmVyZW5jZV1cIlxuICAgICAgICAgICAgICAgIGFsdD1cIlwiXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIHt7IGRpc3BsYXkob3B0aW9uKSB9fVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9hc2stY2hlY2tib3g+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgIDxkaXZcbiAgICAgICAgYXNrU2Nyb2xsXG4gICAgICAgIFthc2tTY3JvbGxUaHJlc2hvbGRdPVwiNTBcIlxuICAgICAgICAoc2Nyb2xsRW5kKT1cImdldE1vcmVJdGVtcygpXCJcbiAgICAgICAgZGF0YS10ZXN0aWQ9XCJvcHRpb25zLWZvcm1cIlxuICAgICAgICBjbGFzcz1cIm9wdGlvbnMtZm9ybVwiXG4gICAgICAgIFtjbGFzcy4tc2VsZWN0LWFsbF09XCJzaG93U2VsZWN0QWxsQ2hlY2tib3hcIlxuICAgICAgPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgcGFnaW5hdGVkRmlsdGVyZWRPcHRpb25zXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm9wdGlvbi1pdGVtXCI+XG4gICAgICAgICAgICA8YXNrLWNoZWNrYm94XG4gICAgICAgICAgICAgIFt2YWx1ZV09XCJvcHRpb25zU2VsZWN0ZWRbb3B0aW9uW3ZhbHVlUHJvcF1dXCJcbiAgICAgICAgICAgICAgKHZhbHVlQ2hhbmdlKT1cInZhbHVlQ2hhbmdlKG9wdGlvbiwgJGV2ZW50KVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGVja2JveC1jb250ZW50XCI+XG4gICAgICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICAgICAgZGF0YS10ZXN0aWQ9XCJjaGVja2JveC1pdGVtLWljb25cIlxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJpY29uXCJcbiAgICAgICAgICAgICAgICAgICpuZ0lmPVwiaWNvblByb3BSZWZlcmVuY2VcIlxuICAgICAgICAgICAgICAgICAgW3NyY109XCJvcHRpb25baWNvblByb3BSZWZlcmVuY2VdXCJcbiAgICAgICAgICAgICAgICAgIGFsdD1cIlwiXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICB7eyBkaXNwbGF5KG9wdGlvbikgfX1cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Fzay1jaGVja2JveD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICAgIDxzcGFuIGNsYXNzPVwiZW1wdHlcIiAqbmdJZj1cIiFmaWx0ZXJlZE9wdGlvbnMubGVuZ3RoXCI+e3tcbiAgICAgIGVtcHR5TWVzc2FnZSB8IHRyYW5zbGF0ZVxuICAgIH19PC9zcGFuPlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|