@arsedizioni/ars-utils 18.5.61 → 19.0.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/fesm2022/arsedizioni-ars-utils-clipper.common.mjs +14 -12
- package/fesm2022/arsedizioni-ars-utils-clipper.common.mjs.map +1 -1
- package/fesm2022/arsedizioni-ars-utils-clipper.ui.mjs +41 -41
- package/fesm2022/arsedizioni-ars-utils-clipper.ui.mjs.map +1 -1
- package/fesm2022/arsedizioni-ars-utils-core.mjs +99 -99
- package/fesm2022/arsedizioni-ars-utils-core.mjs.map +1 -1
- package/fesm2022/arsedizioni-ars-utils-evolution.common.mjs +15 -13
- package/fesm2022/arsedizioni-ars-utils-evolution.common.mjs.map +1 -1
- package/fesm2022/arsedizioni-ars-utils-help.mjs +13 -13
- package/fesm2022/arsedizioni-ars-utils-help.mjs.map +1 -1
- package/fesm2022/arsedizioni-ars-utils-support.common.mjs +14 -12
- package/fesm2022/arsedizioni-ars-utils-support.common.mjs.map +1 -1
- package/fesm2022/arsedizioni-ars-utils-support.ui.mjs +6 -6
- package/fesm2022/arsedizioni-ars-utils-support.ui.mjs.map +1 -1
- package/fesm2022/arsedizioni-ars-utils-tinymce.mjs +7 -7
- package/fesm2022/arsedizioni-ars-utils-tinymce.mjs.map +1 -1
- package/fesm2022/arsedizioni-ars-utils-ui.application.mjs +58 -58
- package/fesm2022/arsedizioni-ars-utils-ui.application.mjs.map +1 -1
- package/fesm2022/arsedizioni-ars-utils-ui.mjs +34 -34
- package/fesm2022/arsedizioni-ars-utils-ui.mjs.map +1 -1
- package/fesm2022/arsedizioni-ars-utils-ui.oauth.mjs +7 -7
- package/fesm2022/arsedizioni-ars-utils-ui.oauth.mjs.map +1 -1
- package/fesm2022/arsedizioni-ars-utils.mjs.map +1 -1
- package/package.json +9 -33
- package/clipper.ui/ui/clipper.scss +0 -530
- package/esm2022/arsedizioni-ars-utils.mjs +0 -5
- package/esm2022/clipper.common/arsedizioni-ars-utils-clipper.common.mjs +0 -5
- package/esm2022/clipper.common/common/common.module.mjs +0 -16
- package/esm2022/clipper.common/common/definitions.mjs +0 -2041
- package/esm2022/clipper.common/common/interceptors/auth.interceptor.mjs +0 -100
- package/esm2022/clipper.common/common/messages.mjs +0 -36
- package/esm2022/clipper.common/common/services/clipper.service.mjs +0 -1009
- package/esm2022/clipper.common/public_api.mjs +0 -5
- package/esm2022/clipper.ui/arsedizioni-ars-utils-clipper.ui.mjs +0 -5
- package/esm2022/clipper.ui/documents.mjs +0 -50
- package/esm2022/clipper.ui/public_api.mjs +0 -18
- package/esm2022/clipper.ui/ui/browser-dialog/browser-dialog.component.mjs +0 -766
- package/esm2022/clipper.ui/ui/document/document.component.mjs +0 -688
- package/esm2022/clipper.ui/ui/document-index/document-index.component.mjs +0 -118
- package/esm2022/clipper.ui/ui/document-manager/document-manager.mjs +0 -441
- package/esm2022/clipper.ui/ui/document-menu/document-menu.component.mjs +0 -217
- package/esm2022/clipper.ui/ui/references/references.component.mjs +0 -380
- package/esm2022/clipper.ui/ui/search-calendar/search-calendar.component.mjs +0 -116
- package/esm2022/clipper.ui/ui/search-dialog/search-dialog.component.mjs +0 -339
- package/esm2022/clipper.ui/ui/search-facets/search-facets.component.mjs +0 -251
- package/esm2022/clipper.ui/ui/search-free-text-help/search-free-text-help.component.mjs +0 -17
- package/esm2022/clipper.ui/ui/search-free-text-query-builder/search-free-text-query-builder.component.mjs +0 -106
- package/esm2022/clipper.ui/ui/search-result-item/search-result-item.component.mjs +0 -120
- package/esm2022/clipper.ui/ui/search-result-manager/search-result-manager.mjs +0 -531
- package/esm2022/core/arsedizioni-ars-utils-core.mjs +0 -5
- package/esm2022/core/core.module.mjs +0 -151
- package/esm2022/core/dateFnsAdapter.mjs +0 -203
- package/esm2022/core/definitions.mjs +0 -47
- package/esm2022/core/directives/autoFocusDirective.mjs +0 -22
- package/esm2022/core/directives/changeDateIntervalDirective.mjs +0 -48
- package/esm2022/core/directives/copyClipboardDirective.mjs +0 -46
- package/esm2022/core/directives/validators.mjs +0 -502
- package/esm2022/core/pipes/format.pipe.mjs +0 -53
- package/esm2022/core/pipes/replace.pipe.mjs +0 -29
- package/esm2022/core/pipes/safe-html.pipe.mjs +0 -24
- package/esm2022/core/pipes/safe-url.pipe.mjs +0 -24
- package/esm2022/core/pipes/search-callback.pipe.mjs +0 -21
- package/esm2022/core/pipes/search-filter.pipe.mjs +0 -50
- package/esm2022/core/public_api.mjs +0 -22
- package/esm2022/core/selectable.mjs +0 -131
- package/esm2022/core/services/broadcast.service.mjs +0 -35
- package/esm2022/core/services/broadcastChannelManager.mjs +0 -80
- package/esm2022/core/services/environment.service.mjs +0 -29
- package/esm2022/core/services/screen.service.mjs +0 -23
- package/esm2022/core/services/theme.service.mjs +0 -140
- package/esm2022/core/system.mjs +0 -664
- package/esm2022/evolution.common/arsedizioni-ars-utils-evolution.common.mjs +0 -5
- package/esm2022/evolution.common/common/common.module.mjs +0 -16
- package/esm2022/evolution.common/common/definitions.mjs +0 -454
- package/esm2022/evolution.common/common/interceptors/auth.interceptor.mjs +0 -100
- package/esm2022/evolution.common/common/messages.mjs +0 -8
- package/esm2022/evolution.common/common/services/evolution.service.mjs +0 -488
- package/esm2022/evolution.common/public_api.mjs +0 -5
- package/esm2022/help/arsedizioni-ars-utils-help.mjs +0 -5
- package/esm2022/help/components/help-viewer/help-viewer.component.mjs +0 -442
- package/esm2022/help/definitions.mjs +0 -2
- package/esm2022/help/help.module.mjs +0 -12
- package/esm2022/help/public_api.mjs +0 -7
- package/esm2022/help/services/help.service.mjs +0 -77
- package/esm2022/public_api.mjs +0 -15
- package/esm2022/support.common/arsedizioni-ars-utils-support.common.mjs +0 -5
- package/esm2022/support.common/common/common.module.mjs +0 -16
- package/esm2022/support.common/common/definitions.mjs +0 -29
- package/esm2022/support.common/common/interceptors/auth.interceptor.mjs +0 -100
- package/esm2022/support.common/common/messages.mjs +0 -13
- package/esm2022/support.common/common/services/support.service.mjs +0 -287
- package/esm2022/support.common/public_api.mjs +0 -8
- package/esm2022/support.ui/arsedizioni-ars-utils-support.ui.mjs +0 -5
- package/esm2022/support.ui/public_api.mjs +0 -5
- package/esm2022/support.ui/ui/notifications-browser/notification/notification.component.mjs +0 -80
- package/esm2022/support.ui/ui/notifications-browser/notifications-browser.component.mjs +0 -233
- package/esm2022/tinymce/arsedizioni-ars-utils-tinymce.mjs +0 -5
- package/esm2022/tinymce/full-screen-editor/full-screen-editor.component.mjs +0 -48
- package/esm2022/tinymce/public_api.mjs +0 -7
- package/esm2022/tinymce/tinymce.module.mjs +0 -19
- package/esm2022/tinymce/utils.mjs +0 -150
- package/esm2022/ui/arsedizioni-ars-utils-ui.mjs +0 -5
- package/esm2022/ui/public_api.mjs +0 -12
- package/esm2022/ui/ui/components/button-selector/button-selector.component.mjs +0 -150
- package/esm2022/ui/ui/components/button-toggle/button-toggle.component.mjs +0 -51
- package/esm2022/ui/ui/components/calendar-empty-header/calendar-empy-header.component.mjs +0 -30
- package/esm2022/ui/ui/components/chips-selector/chips-selector.component.mjs +0 -272
- package/esm2022/ui/ui/components/file-input/file-input.component.mjs +0 -264
- package/esm2022/ui/ui/components/file-preview/file-preview.component.mjs +0 -73
- package/esm2022/ui/ui/components/filter-bar/filter-bar.component.mjs +0 -356
- package/esm2022/ui/ui/definitions.mjs +0 -2
- package/esm2022/ui/ui/dialogs/busy/busy-dialog.component.mjs +0 -47
- package/esm2022/ui/ui/dialogs/confirm/confirm-dialog.component.mjs +0 -101
- package/esm2022/ui/ui/dialogs/credentials/credentials-dialog.component.mjs +0 -86
- package/esm2022/ui/ui/dialogs/info/info-dialog.component.mjs +0 -51
- package/esm2022/ui/ui/dialogs/prompt/prompt-dialog.component.mjs +0 -77
- package/esm2022/ui/ui/dialogs/prompt-date/prompt-date-dialog.component.mjs +0 -79
- package/esm2022/ui/ui/dialogs/prompt-time/prompt-time-dialog.component.mjs +0 -72
- package/esm2022/ui/ui/dialogs/recover-password/recover-password-dialog.component.mjs +0 -49
- package/esm2022/ui/ui/dialogs/reset-password/reset-password-dialog.component.mjs +0 -89
- package/esm2022/ui/ui/dialogs/select/select-dialog.component.mjs +0 -374
- package/esm2022/ui/ui/dialogs/select-file/select-file-dialog.component.mjs +0 -106
- package/esm2022/ui/ui/dialogs/select-picture/select-picture-dialog.component.mjs +0 -62
- package/esm2022/ui/ui/dialogs/select-tree/select-tree-dialog.component.mjs +0 -277
- package/esm2022/ui/ui/dialogs/send-to/send-to-dialog.component.mjs +0 -90
- package/esm2022/ui/ui/dialogs/toast/toast.component.mjs +0 -32
- package/esm2022/ui/ui/directives/resize-table-column.directive.mjs +0 -63
- package/esm2022/ui/ui/filters.mjs +0 -43
- package/esm2022/ui/ui/paginatorIntl.mjs +0 -34
- package/esm2022/ui/ui/services/dialog.service.mjs +0 -417
- package/esm2022/ui/ui/services/ui.service.mjs +0 -21
- package/esm2022/ui/ui/ui.module.mjs +0 -21
- package/esm2022/ui.application/arsedizioni-ars-utils-ui.application.mjs +0 -5
- package/esm2022/ui.application/public_api.mjs +0 -21
- package/esm2022/ui.application/ui/components/button-selector/button-selector.component.mjs +0 -150
- package/esm2022/ui.application/ui/components/button-toggle/button-toggle.component.mjs +0 -51
- package/esm2022/ui.application/ui/components/calendar-empty-header/calendar-empy-header.component.mjs +0 -30
- package/esm2022/ui.application/ui/components/chips-selector/chips-selector.component.mjs +0 -272
- package/esm2022/ui.application/ui/components/file-input/file-input.component.mjs +0 -264
- package/esm2022/ui.application/ui/components/file-preview/file-preview.component.mjs +0 -73
- package/esm2022/ui.application/ui/components/filter-bar/filter-bar.component.mjs +0 -356
- package/esm2022/ui.application/ui/definitions.mjs +0 -31
- package/esm2022/ui.application/ui/dialogs/prompt/prompt-dialog.component.mjs +0 -77
- package/esm2022/ui.application/ui/dialogs/prompt-date/prompt-date-dialog.component.mjs +0 -79
- package/esm2022/ui.application/ui/dialogs/prompt-time/prompt-time-dialog.component.mjs +0 -72
- package/esm2022/ui.application/ui/dialogs/select/select-dialog.component.mjs +0 -374
- package/esm2022/ui.application/ui/dialogs/select-file/select-file-dialog.component.mjs +0 -106
- package/esm2022/ui.application/ui/dialogs/select-picture/select-picture-dialog.component.mjs +0 -62
- package/esm2022/ui.application/ui/dialogs/select-tree/select-tree-dialog.component.mjs +0 -277
- package/esm2022/ui.application/ui/dialogs/send-to/send-to-dialog.component.mjs +0 -90
- package/esm2022/ui.application/ui/directives/resize-table-column.directive.mjs +0 -63
- package/esm2022/ui.application/ui/filters.mjs +0 -43
- package/esm2022/ui.application/ui/services/applicationDialog.service.mjs +0 -304
- package/esm2022/ui.application/ui/ui.module.mjs +0 -30
- package/esm2022/ui.oauth/arsedizioni-ars-utils-ui.oauth.mjs +0 -5
- package/esm2022/ui.oauth/public_api.mjs +0 -6
- package/esm2022/ui.oauth/ui/components/login/login-oauth.component.mjs +0 -199
- package/esm2022/ui.oauth/ui/definitions.mjs +0 -7
- package/esm2022/ui.oauth/ui/ui.module.mjs +0 -13
- package/styles/ui.colors.scss +0 -77
- package/styles/ui.scss +0 -318
- package/ui/ui/components/button-selector/button-selector.component.d.ts +0 -52
- package/ui/ui/components/button-toggle/button-toggle.component.d.ts +0 -28
- package/ui/ui/components/calendar-empty-header/calendar-empy-header.component.d.ts +0 -11
- package/ui/ui/components/chips-selector/chips-selector.component.d.ts +0 -82
- package/ui/ui/components/file-input/file-input.component.d.ts +0 -88
- package/ui/ui/components/file-preview/file-preview.component.d.ts +0 -26
- package/ui/ui/components/filter-bar/filter-bar.component.d.ts +0 -83
- package/ui/ui/dialogs/prompt/prompt-dialog.component.d.ts +0 -18
- package/ui/ui/dialogs/prompt-date/prompt-date-dialog.component.d.ts +0 -18
- package/ui/ui/dialogs/prompt-time/prompt-time-dialog.component.d.ts +0 -18
- package/ui/ui/dialogs/select/select-dialog.component.d.ts +0 -122
- package/ui/ui/dialogs/select-file/select-file-dialog.component.d.ts +0 -36
- package/ui/ui/dialogs/select-picture/select-picture-dialog.component.d.ts +0 -26
- package/ui/ui/dialogs/select-tree/select-tree-dialog.component.d.ts +0 -98
- package/ui/ui/dialogs/send-to/send-to-dialog.component.d.ts +0 -28
- package/ui/ui/directives/resize-table-column.directive.d.ts +0 -19
- package/ui/ui/filters.d.ts +0 -57
|
@@ -1,2041 +0,0 @@
|
|
|
1
|
-
import { computed, signal } from '@angular/core';
|
|
2
|
-
export var ClipperServiceFlags;
|
|
3
|
-
(function (ClipperServiceFlags) {
|
|
4
|
-
ClipperServiceFlags[ClipperServiceFlags["None"] = 0] = "None";
|
|
5
|
-
ClipperServiceFlags[ClipperServiceFlags["NotifySystemErrors"] = 1] = "NotifySystemErrors";
|
|
6
|
-
ClipperServiceFlags[ClipperServiceFlags["DisplayConnectionStateMessages"] = 2] = "DisplayConnectionStateMessages";
|
|
7
|
-
})(ClipperServiceFlags || (ClipperServiceFlags = {}));
|
|
8
|
-
export var ClipperRecurrenceType;
|
|
9
|
-
(function (ClipperRecurrenceType) {
|
|
10
|
-
ClipperRecurrenceType[ClipperRecurrenceType["Year"] = 1] = "Year";
|
|
11
|
-
ClipperRecurrenceType[ClipperRecurrenceType["Month"] = 2] = "Month";
|
|
12
|
-
ClipperRecurrenceType[ClipperRecurrenceType["Day"] = 3] = "Day";
|
|
13
|
-
})(ClipperRecurrenceType || (ClipperRecurrenceType = {}));
|
|
14
|
-
export const ClipperRecurrenceTypes = [
|
|
15
|
-
{ name: 'Anni', value: ClipperRecurrenceType.Year },
|
|
16
|
-
{ name: 'Mesi', value: ClipperRecurrenceType.Month },
|
|
17
|
-
{ name: 'Giorni', value: ClipperRecurrenceType.Day }
|
|
18
|
-
];
|
|
19
|
-
export var ClipperSelectionMode;
|
|
20
|
-
(function (ClipperSelectionMode) {
|
|
21
|
-
ClipperSelectionMode[ClipperSelectionMode["Single"] = 1] = "Single";
|
|
22
|
-
ClipperSelectionMode[ClipperSelectionMode["Multi"] = 2] = "Multi";
|
|
23
|
-
ClipperSelectionMode[ClipperSelectionMode["Any"] = 3] = "Any";
|
|
24
|
-
})(ClipperSelectionMode || (ClipperSelectionMode = {}));
|
|
25
|
-
export var ClipperModuleGroup;
|
|
26
|
-
(function (ClipperModuleGroup) {
|
|
27
|
-
ClipperModuleGroup[ClipperModuleGroup["Home"] = 0] = "Home";
|
|
28
|
-
ClipperModuleGroup[ClipperModuleGroup["NormativaVigente"] = 1] = "NormativaVigente";
|
|
29
|
-
ClipperModuleGroup[ClipperModuleGroup["UltimeNovit\u00E0"] = 2] = "UltimeNovit\u00E0";
|
|
30
|
-
ClipperModuleGroup[ClipperModuleGroup["ParApprofondire"] = 3] = "ParApprofondire";
|
|
31
|
-
ClipperModuleGroup[ClipperModuleGroup["DGInfo"] = 4] = "DGInfo";
|
|
32
|
-
ClipperModuleGroup[ClipperModuleGroup["Giurisprudenza"] = 5] = "Giurisprudenza";
|
|
33
|
-
ClipperModuleGroup[ClipperModuleGroup["Calendario"] = 11] = "Calendario";
|
|
34
|
-
ClipperModuleGroup[ClipperModuleGroup["Archivio"] = 12] = "Archivio";
|
|
35
|
-
ClipperModuleGroup[ClipperModuleGroup["Ricerca"] = 99] = "Ricerca";
|
|
36
|
-
})(ClipperModuleGroup || (ClipperModuleGroup = {}));
|
|
37
|
-
export var ClipperModule;
|
|
38
|
-
(function (ClipperModule) {
|
|
39
|
-
ClipperModule[ClipperModule["NormativaVigente"] = 4] = "NormativaVigente";
|
|
40
|
-
ClipperModule[ClipperModule["News"] = 1] = "News";
|
|
41
|
-
ClipperModule[ClipperModule["GazzetteBollettiniEFontiDiverse"] = 2] = "GazzetteBollettiniEFontiDiverse";
|
|
42
|
-
ClipperModule[ClipperModule["Giurisprudenza"] = 5] = "Giurisprudenza";
|
|
43
|
-
ClipperModule[ClipperModule["ModificheAbrogazioniERinvii"] = 3] = "ModificheAbrogazioniERinvii";
|
|
44
|
-
ClipperModule[ClipperModule["ScadenzeESegnalazioni"] = 12] = "ScadenzeESegnalazioni";
|
|
45
|
-
ClipperModule[ClipperModule["AllerteAlimentari"] = 8] = "AllerteAlimentari";
|
|
46
|
-
ClipperModule[ClipperModule["Approfondimenti"] = 6] = "Approfondimenti";
|
|
47
|
-
ClipperModule[ClipperModule["QuesitiECasiRisolti"] = 10] = "QuesitiECasiRisolti";
|
|
48
|
-
ClipperModule[ClipperModule["MetodiDiAnalisi"] = 11] = "MetodiDiAnalisi";
|
|
49
|
-
ClipperModule[ClipperModule["DGInfo"] = 61] = "DGInfo";
|
|
50
|
-
ClipperModule[ClipperModule["Ricerca"] = 99] = "Ricerca";
|
|
51
|
-
})(ClipperModule || (ClipperModule = {}));
|
|
52
|
-
export var ClipperModel;
|
|
53
|
-
(function (ClipperModel) {
|
|
54
|
-
ClipperModel[ClipperModel["Unknown"] = 0] = "Unknown";
|
|
55
|
-
ClipperModel[ClipperModel["AggiornamentoNormativo"] = 2] = "AggiornamentoNormativo";
|
|
56
|
-
ClipperModel[ClipperModel["News"] = 3] = "News";
|
|
57
|
-
ClipperModel[ClipperModel["Articoli"] = 4] = "Articoli";
|
|
58
|
-
ClipperModel[ClipperModel["Juris"] = 5] = "Juris";
|
|
59
|
-
ClipperModel[ClipperModel["Quesiti"] = 8] = "Quesiti";
|
|
60
|
-
ClipperModel[ClipperModel["NormativaVigente"] = 9] = "NormativaVigente";
|
|
61
|
-
ClipperModel[ClipperModel["Scadenze"] = 10] = "Scadenze";
|
|
62
|
-
ClipperModel[ClipperModel["Coordinamento"] = 11] = "Coordinamento";
|
|
63
|
-
ClipperModel[ClipperModel["AllerteAlimentari"] = 13] = "AllerteAlimentari";
|
|
64
|
-
ClipperModel[ClipperModel["MetodiDiAnalisi"] = 14] = "MetodiDiAnalisi";
|
|
65
|
-
ClipperModel[ClipperModel["GiurisprudenzaRecente"] = 18] = "GiurisprudenzaRecente";
|
|
66
|
-
ClipperModel[ClipperModel["Segnalazioni"] = 20] = "Segnalazioni";
|
|
67
|
-
ClipperModel[ClipperModel["UltimeNovit\u00E0"] = 21] = "UltimeNovit\u00E0";
|
|
68
|
-
})(ClipperModel || (ClipperModel = {}));
|
|
69
|
-
export const ClipperModels = [
|
|
70
|
-
{ value: ClipperModel.AggiornamentoNormativo, name: "Testi storici" },
|
|
71
|
-
{ value: ClipperModel.News, name: 'News' },
|
|
72
|
-
{ value: ClipperModel.Articoli, name: 'Articoli' },
|
|
73
|
-
{ value: ClipperModel.Juris, name: 'Note a sentenza' },
|
|
74
|
-
{ value: ClipperModel.GiurisprudenzaRecente, name: 'Giurisprudenza' },
|
|
75
|
-
{ value: ClipperModel.Quesiti, name: 'Quesiti' },
|
|
76
|
-
{ value: ClipperModel.NormativaVigente, name: 'Normativa vigente' },
|
|
77
|
-
{ value: ClipperModel.Scadenze, name: 'Scadenze' },
|
|
78
|
-
{ value: ClipperModel.AllerteAlimentari, name: 'Allerte alimentari' },
|
|
79
|
-
{ value: ClipperModel.Coordinamento, name: 'Modifiche e abrogazioni' },
|
|
80
|
-
];
|
|
81
|
-
export const ClipperModuleGroups = [
|
|
82
|
-
{ name: "Ultime novità", value: ClipperModuleGroup.Home },
|
|
83
|
-
{ name: "Ricerca", value: ClipperModuleGroup.Ricerca },
|
|
84
|
-
{ name: "Normativa vigente", value: ClipperModuleGroup.NormativaVigente },
|
|
85
|
-
{ name: "Rimani aggiornato", value: ClipperModuleGroup.UltimeNovità },
|
|
86
|
-
{ name: "Contributi", value: ClipperModuleGroup.ParApprofondire },
|
|
87
|
-
{ name: "DG Info", value: ClipperModuleGroup.DGInfo },
|
|
88
|
-
{ name: "Calendario", value: ClipperModuleGroup.Calendario },
|
|
89
|
-
{ name: "Archivio", value: ClipperModuleGroup.Archivio }
|
|
90
|
-
];
|
|
91
|
-
export const ClipperModules = [
|
|
92
|
-
{ name: 'News, articoli di approfondimento e note a sentenza', shortName: 'Novità', value: ClipperModule.News },
|
|
93
|
-
{ name: 'Gazzette, Bollettini e fonti diverse', shortName: 'Gazzette, Bollettini e fonti diverse', value: ClipperModule.GazzetteBollettiniEFontiDiverse },
|
|
94
|
-
{ name: 'Giurisprudenza', shortName: 'Giurisprudenza', value: ClipperModule.Giurisprudenza },
|
|
95
|
-
{ name: 'Modifiche, abrogazioni e rinvii', shortName: 'Modifiche, abrogazioni e rinvii', value: ClipperModule.ModificheAbrogazioniERinvii },
|
|
96
|
-
{ name: 'Allerte alimentari', shortName: 'Allerte alimentari', value: ClipperModule.AllerteAlimentari },
|
|
97
|
-
{ name: 'Scadenze e segnalazioni', shortName: 'Scadenze e segnalazioni', value: ClipperModule.ScadenzeESegnalazioni },
|
|
98
|
-
{ name: 'Normativa vigente', shortName: 'Normativa vigente', value: ClipperModule.NormativaVigente },
|
|
99
|
-
{ name: 'Quesiti e casi risolti', shortName: 'Quesiti', value: ClipperModule.QuesitiECasiRisolti },
|
|
100
|
-
];
|
|
101
|
-
export var ClipperChannel;
|
|
102
|
-
(function (ClipperChannel) {
|
|
103
|
-
ClipperChannel[ClipperChannel["None"] = 0] = "None";
|
|
104
|
-
ClipperChannel[ClipperChannel["LavoroEAmbiente"] = 1] = "LavoroEAmbiente";
|
|
105
|
-
ClipperChannel[ClipperChannel["SostanzeAlimentari"] = 2] = "SostanzeAlimentari";
|
|
106
|
-
ClipperChannel[ClipperChannel["MerciPericolose"] = 3] = "MerciPericolose";
|
|
107
|
-
ClipperChannel[ClipperChannel["Energia"] = 4] = "Energia";
|
|
108
|
-
ClipperChannel[ClipperChannel["DGInfo"] = 5] = "DGInfo";
|
|
109
|
-
})(ClipperChannel || (ClipperChannel = {}));
|
|
110
|
-
export const ClipperChannels = [
|
|
111
|
-
{ value: ClipperChannel.LavoroEAmbiente, name: "Lavoro e Ambiente", header: "LA" },
|
|
112
|
-
{ value: ClipperChannel.SostanzeAlimentari, name: "Sostanze Alimentari", header: "SA" },
|
|
113
|
-
{ value: ClipperChannel.Energia, name: "Energia", header: "E" },
|
|
114
|
-
{ value: ClipperChannel.MerciPericolose, name: "Merci Pericolose", header: "MP" }
|
|
115
|
-
];
|
|
116
|
-
export const ClipperRegions = [
|
|
117
|
-
{
|
|
118
|
-
value: '4RAB',
|
|
119
|
-
name: 'Abruzzo',
|
|
120
|
-
},
|
|
121
|
-
{
|
|
122
|
-
value: '4RBA',
|
|
123
|
-
name: 'Basilicata',
|
|
124
|
-
},
|
|
125
|
-
{
|
|
126
|
-
value: '4RCAL',
|
|
127
|
-
name: 'Calabria',
|
|
128
|
-
},
|
|
129
|
-
{
|
|
130
|
-
value: '4RCAM',
|
|
131
|
-
name: 'Campania',
|
|
132
|
-
},
|
|
133
|
-
{
|
|
134
|
-
value: '4REM',
|
|
135
|
-
name: 'Emilia Romagna',
|
|
136
|
-
},
|
|
137
|
-
{
|
|
138
|
-
value: '4RFVG',
|
|
139
|
-
name: 'Friuli Venezia Giulia',
|
|
140
|
-
},
|
|
141
|
-
{
|
|
142
|
-
value: '4RLA',
|
|
143
|
-
name: 'Lazio',
|
|
144
|
-
},
|
|
145
|
-
{
|
|
146
|
-
value: '4RLI',
|
|
147
|
-
name: 'Liguria',
|
|
148
|
-
},
|
|
149
|
-
{
|
|
150
|
-
value: '4RLO',
|
|
151
|
-
name: 'Lombardia',
|
|
152
|
-
},
|
|
153
|
-
{
|
|
154
|
-
value: '4RMA',
|
|
155
|
-
name: 'Marche',
|
|
156
|
-
},
|
|
157
|
-
{
|
|
158
|
-
value: '4RMO',
|
|
159
|
-
name: 'Molise',
|
|
160
|
-
},
|
|
161
|
-
{
|
|
162
|
-
value: '4RPI',
|
|
163
|
-
name: 'Piemonte',
|
|
164
|
-
},
|
|
165
|
-
{
|
|
166
|
-
value: '4RPU',
|
|
167
|
-
name: 'Puglia',
|
|
168
|
-
},
|
|
169
|
-
{
|
|
170
|
-
value: '4RSA',
|
|
171
|
-
name: 'Sardegna',
|
|
172
|
-
},
|
|
173
|
-
{
|
|
174
|
-
value: '4RSI',
|
|
175
|
-
name: 'Sicilia',
|
|
176
|
-
},
|
|
177
|
-
{
|
|
178
|
-
value: '4RTO',
|
|
179
|
-
name: 'Toscana',
|
|
180
|
-
},
|
|
181
|
-
{
|
|
182
|
-
value: '4RTAA',
|
|
183
|
-
name: 'Trentino Alto Adige',
|
|
184
|
-
},
|
|
185
|
-
{
|
|
186
|
-
value: '4RUM',
|
|
187
|
-
name: 'Umbria',
|
|
188
|
-
},
|
|
189
|
-
{
|
|
190
|
-
value: '4RVA',
|
|
191
|
-
name: "Valle D'Aosta",
|
|
192
|
-
},
|
|
193
|
-
{
|
|
194
|
-
value: '4RVE',
|
|
195
|
-
name: 'Veneto',
|
|
196
|
-
},
|
|
197
|
-
{
|
|
198
|
-
value: '4PAT',
|
|
199
|
-
name: 'Prov. Aut. Trento',
|
|
200
|
-
},
|
|
201
|
-
{
|
|
202
|
-
value: '4PAB',
|
|
203
|
-
name: 'Prov. Aut. Bolzano',
|
|
204
|
-
}
|
|
205
|
-
];
|
|
206
|
-
export const ClipperSectors = [
|
|
207
|
-
{
|
|
208
|
-
value: 'LC',
|
|
209
|
-
name: 'Legislazione comunitaria',
|
|
210
|
-
shortName: 'Comunitaria',
|
|
211
|
-
group: 'S',
|
|
212
|
-
channels: '|LA|SA|OP|E|',
|
|
213
|
-
},
|
|
214
|
-
{
|
|
215
|
-
value: 'LN',
|
|
216
|
-
name: 'Legislazione nazionale',
|
|
217
|
-
shortName: 'Nazionale',
|
|
218
|
-
group: 'S',
|
|
219
|
-
channels: '|LA|SA|OP|E|',
|
|
220
|
-
},
|
|
221
|
-
{
|
|
222
|
-
value: 'LR',
|
|
223
|
-
name: 'Legislazione regionale',
|
|
224
|
-
shortName: 'Regionale',
|
|
225
|
-
group: 'S',
|
|
226
|
-
channels: '|LA|SA|OP|E|',
|
|
227
|
-
},
|
|
228
|
-
{
|
|
229
|
-
value: '4RAB',
|
|
230
|
-
name: ' Abruzzo',
|
|
231
|
-
group: 'A',
|
|
232
|
-
channels: '|LA|SA|OP|E|',
|
|
233
|
-
},
|
|
234
|
-
{
|
|
235
|
-
value: '4PAB',
|
|
236
|
-
name: ' Prov. Aut. Bolzano',
|
|
237
|
-
group: 'A',
|
|
238
|
-
channels: '|LA|SA|OP|E|',
|
|
239
|
-
},
|
|
240
|
-
{
|
|
241
|
-
value: '4RBA',
|
|
242
|
-
name: ' Basilicata',
|
|
243
|
-
group: 'A',
|
|
244
|
-
channels: '|LA|SA|OP|E|',
|
|
245
|
-
},
|
|
246
|
-
{
|
|
247
|
-
value: '4RCAL',
|
|
248
|
-
name: ' Calabria',
|
|
249
|
-
group: 'A',
|
|
250
|
-
channels: '|LA|SA|OP|E|',
|
|
251
|
-
},
|
|
252
|
-
{
|
|
253
|
-
value: '4RCAM',
|
|
254
|
-
name: ' Campania',
|
|
255
|
-
group: 'A',
|
|
256
|
-
channels: '|LA|SA|OP|E|',
|
|
257
|
-
},
|
|
258
|
-
{
|
|
259
|
-
value: '4REM',
|
|
260
|
-
name: ' Emilia Romagna',
|
|
261
|
-
group: 'A',
|
|
262
|
-
channels: '|LA|SA|OP|E|',
|
|
263
|
-
},
|
|
264
|
-
{
|
|
265
|
-
value: '4RFVG',
|
|
266
|
-
name: ' Friuli Venezia Giulia',
|
|
267
|
-
group: 'A',
|
|
268
|
-
channels: '|LA|SA|OP|E|',
|
|
269
|
-
},
|
|
270
|
-
{
|
|
271
|
-
value: '4RLA',
|
|
272
|
-
name: ' Lazio',
|
|
273
|
-
group: 'A',
|
|
274
|
-
channels: '|LA|SA|OP|E|',
|
|
275
|
-
},
|
|
276
|
-
{
|
|
277
|
-
value: '4RLI',
|
|
278
|
-
name: ' Liguria',
|
|
279
|
-
group: 'A',
|
|
280
|
-
channels: '|LA|SA|OP|E|',
|
|
281
|
-
},
|
|
282
|
-
{
|
|
283
|
-
value: '4RLO',
|
|
284
|
-
name: ' Lombardia',
|
|
285
|
-
group: 'A',
|
|
286
|
-
channels: '|LA|SA|OP|E|',
|
|
287
|
-
},
|
|
288
|
-
{
|
|
289
|
-
value: '4RMA',
|
|
290
|
-
name: ' Marche',
|
|
291
|
-
group: 'A',
|
|
292
|
-
channels: '|LA|SA|OP|E|',
|
|
293
|
-
},
|
|
294
|
-
{
|
|
295
|
-
value: '4RMO',
|
|
296
|
-
name: ' Molise',
|
|
297
|
-
group: 'A',
|
|
298
|
-
channels: '|LA|SA|OP|E|',
|
|
299
|
-
},
|
|
300
|
-
{
|
|
301
|
-
value: '4RPI',
|
|
302
|
-
name: ' Piemonte',
|
|
303
|
-
group: 'A',
|
|
304
|
-
channels: '|LA|SA|OP|E|',
|
|
305
|
-
},
|
|
306
|
-
{
|
|
307
|
-
value: '4RPU',
|
|
308
|
-
name: ' Puglia',
|
|
309
|
-
group: 'A',
|
|
310
|
-
channels: '|LA|SA|OP|E|',
|
|
311
|
-
},
|
|
312
|
-
{
|
|
313
|
-
value: '4RSA',
|
|
314
|
-
name: ' Sardegna',
|
|
315
|
-
group: 'A',
|
|
316
|
-
channels: '|LA|SA|OP|E|',
|
|
317
|
-
},
|
|
318
|
-
{
|
|
319
|
-
value: '4RSI',
|
|
320
|
-
name: ' Sicilia',
|
|
321
|
-
group: 'A',
|
|
322
|
-
channels: '|LA|SA|OP|E|',
|
|
323
|
-
},
|
|
324
|
-
{
|
|
325
|
-
value: '4RTO',
|
|
326
|
-
name: ' Toscana',
|
|
327
|
-
group: 'A',
|
|
328
|
-
channels: '|LA|SA|OP|E|',
|
|
329
|
-
},
|
|
330
|
-
{
|
|
331
|
-
value: '4RTAA',
|
|
332
|
-
name: ' Trentino Alto Adige',
|
|
333
|
-
group: 'A',
|
|
334
|
-
channels: '|LA|SA|OP|E|',
|
|
335
|
-
},
|
|
336
|
-
{
|
|
337
|
-
value: '4PAT',
|
|
338
|
-
name: ' Prov. Aut. Trento',
|
|
339
|
-
group: 'A',
|
|
340
|
-
channels: '|LA|SA|OP|E|',
|
|
341
|
-
},
|
|
342
|
-
{
|
|
343
|
-
value: '4RUM',
|
|
344
|
-
name: ' Umbria',
|
|
345
|
-
group: 'A',
|
|
346
|
-
channels: '|LA|SA|OP|E|',
|
|
347
|
-
},
|
|
348
|
-
{
|
|
349
|
-
value: '4RVA',
|
|
350
|
-
name: " Valle D'Aosta",
|
|
351
|
-
group: 'A',
|
|
352
|
-
channels: '|LA|SA|OP|E|',
|
|
353
|
-
},
|
|
354
|
-
{
|
|
355
|
-
value: '4RVE',
|
|
356
|
-
name: ' Veneto',
|
|
357
|
-
group: 'A',
|
|
358
|
-
channels: '|LA|SA|OP|E|',
|
|
359
|
-
},
|
|
360
|
-
{
|
|
361
|
-
value: 'GC',
|
|
362
|
-
name: 'Giurisprudenza comunitaria',
|
|
363
|
-
shortName: 'Giuris. comunitaria',
|
|
364
|
-
group: 'S',
|
|
365
|
-
channels: '|LA|SA|OP|E|',
|
|
366
|
-
},
|
|
367
|
-
{
|
|
368
|
-
value: 'GN',
|
|
369
|
-
name: 'Giurisprudenza nazionale',
|
|
370
|
-
shortName: 'Giurisprudenza',
|
|
371
|
-
group: 'S',
|
|
372
|
-
channels: '|LA|SA|OP|E|',
|
|
373
|
-
},
|
|
374
|
-
{
|
|
375
|
-
value: 'TN',
|
|
376
|
-
name: 'Normativa tecnica',
|
|
377
|
-
shortName: 'Tecnica',
|
|
378
|
-
group: 'S',
|
|
379
|
-
channels: '|LA|SA|OP|E|',
|
|
380
|
-
},
|
|
381
|
-
{
|
|
382
|
-
value: 'TI',
|
|
383
|
-
name: 'Normativa tecnica internazionale',
|
|
384
|
-
shortName: 'Tecnica internaz.',
|
|
385
|
-
group: 'S',
|
|
386
|
-
channels: '|LA|SA|OP|E|',
|
|
387
|
-
},
|
|
388
|
-
{
|
|
389
|
-
value: 'NI',
|
|
390
|
-
name: 'Normativa internazionale',
|
|
391
|
-
shortName: 'Internazionale',
|
|
392
|
-
group: 'S',
|
|
393
|
-
channels: '|LA|SA|OP|E|',
|
|
394
|
-
},
|
|
395
|
-
/* {
|
|
396
|
-
value: 'SN',
|
|
397
|
-
name: 'Documentazione scientifica',
|
|
398
|
-
shortName: 'Scientifica',
|
|
399
|
-
group: 'S',
|
|
400
|
-
channels: '|SA|',
|
|
401
|
-
} */
|
|
402
|
-
];
|
|
403
|
-
export const ClipperSectorTypes = [
|
|
404
|
-
{
|
|
405
|
-
parentValue: 'NI',
|
|
406
|
-
value: '14',
|
|
407
|
-
name: 'Convenzione Internazionale',
|
|
408
|
-
},
|
|
409
|
-
{
|
|
410
|
-
parentValue: 'NI',
|
|
411
|
-
value: '6',
|
|
412
|
-
name: 'Accordo Multilaterale',
|
|
413
|
-
},
|
|
414
|
-
{
|
|
415
|
-
parentValue: 'LN',
|
|
416
|
-
value: '4',
|
|
417
|
-
name: 'Accordo (naz.)',
|
|
418
|
-
},
|
|
419
|
-
{
|
|
420
|
-
parentValue: 'LN',
|
|
421
|
-
value: '75',
|
|
422
|
-
name: 'Altri documenti (naz.)',
|
|
423
|
-
},
|
|
424
|
-
{
|
|
425
|
-
parentValue: 'LN',
|
|
426
|
-
value: '17',
|
|
427
|
-
name: 'Circolare Commissariale',
|
|
428
|
-
},
|
|
429
|
-
{
|
|
430
|
-
parentValue: 'LN',
|
|
431
|
-
value: '58',
|
|
432
|
-
name: 'Circolare (Comitati)',
|
|
433
|
-
},
|
|
434
|
-
{
|
|
435
|
-
parentValue: 'LN',
|
|
436
|
-
value: '10',
|
|
437
|
-
name: 'Circolare Ministeriale',
|
|
438
|
-
},
|
|
439
|
-
{
|
|
440
|
-
parentValue: 'LN',
|
|
441
|
-
value: '13',
|
|
442
|
-
name: 'Comunicato (naz.)',
|
|
443
|
-
},
|
|
444
|
-
{
|
|
445
|
-
parentValue: 'LN',
|
|
446
|
-
value: '15',
|
|
447
|
-
name: 'Costituzione della Repubblica',
|
|
448
|
-
},
|
|
449
|
-
{
|
|
450
|
-
parentValue: 'LN',
|
|
451
|
-
value: '18',
|
|
452
|
-
name: 'Decreto Commissariale',
|
|
453
|
-
},
|
|
454
|
-
{
|
|
455
|
-
parentValue: 'LN',
|
|
456
|
-
value: '21',
|
|
457
|
-
name: 'Decreto Capo Provv. Stato',
|
|
458
|
-
},
|
|
459
|
-
{
|
|
460
|
-
parentValue: 'LN',
|
|
461
|
-
value: '22',
|
|
462
|
-
name: 'Decreto Pres. Cons. Ministri',
|
|
463
|
-
},
|
|
464
|
-
{
|
|
465
|
-
parentValue: 'LN',
|
|
466
|
-
value: '25',
|
|
467
|
-
name: 'Decreto Presidente Repubblica',
|
|
468
|
-
},
|
|
469
|
-
{
|
|
470
|
-
parentValue: 'LN',
|
|
471
|
-
value: '27',
|
|
472
|
-
name: 'Decreto Legge',
|
|
473
|
-
},
|
|
474
|
-
{
|
|
475
|
-
parentValue: 'LN',
|
|
476
|
-
value: '28',
|
|
477
|
-
name: 'Decreto Legge Luogotenenziale',
|
|
478
|
-
},
|
|
479
|
-
{
|
|
480
|
-
parentValue: 'LN',
|
|
481
|
-
value: '29',
|
|
482
|
-
name: 'D.Lgs. Capo Provv. Stato',
|
|
483
|
-
},
|
|
484
|
-
{
|
|
485
|
-
parentValue: 'LN',
|
|
486
|
-
value: '30',
|
|
487
|
-
name: 'D.Lgs. Governo',
|
|
488
|
-
},
|
|
489
|
-
{
|
|
490
|
-
parentValue: 'LN',
|
|
491
|
-
value: '32',
|
|
492
|
-
name: 'D.Lgs. Luogotenenziale',
|
|
493
|
-
},
|
|
494
|
-
{
|
|
495
|
-
parentValue: 'LN',
|
|
496
|
-
value: '33',
|
|
497
|
-
name: 'Decreto Luogotenenziale',
|
|
498
|
-
},
|
|
499
|
-
{
|
|
500
|
-
parentValue: 'LN',
|
|
501
|
-
value: '34',
|
|
502
|
-
name: 'Decreto Ministeriale',
|
|
503
|
-
},
|
|
504
|
-
{
|
|
505
|
-
parentValue: 'LN',
|
|
506
|
-
value: '35',
|
|
507
|
-
name: 'Deliberazione (naz.)',
|
|
508
|
-
},
|
|
509
|
-
{
|
|
510
|
-
parentValue: 'LN',
|
|
511
|
-
value: '47',
|
|
512
|
-
name: 'Determinazione (naz.)',
|
|
513
|
-
},
|
|
514
|
-
{
|
|
515
|
-
parentValue: 'LN',
|
|
516
|
-
value: '26',
|
|
517
|
-
name: 'Documento di consultazione',
|
|
518
|
-
},
|
|
519
|
-
{
|
|
520
|
-
parentValue: 'LN',
|
|
521
|
-
value: '48',
|
|
522
|
-
name: 'Legge',
|
|
523
|
-
},
|
|
524
|
-
{
|
|
525
|
-
parentValue: 'LN',
|
|
526
|
-
value: '42',
|
|
527
|
-
name: 'Lettera Circolare (Comitati)',
|
|
528
|
-
},
|
|
529
|
-
{
|
|
530
|
-
parentValue: 'LN',
|
|
531
|
-
value: '43',
|
|
532
|
-
name: 'Lettera Circolare Ministeriale',
|
|
533
|
-
},
|
|
534
|
-
{
|
|
535
|
-
parentValue: 'LN',
|
|
536
|
-
value: '56',
|
|
537
|
-
name: 'Nota Ministeriale',
|
|
538
|
-
},
|
|
539
|
-
{
|
|
540
|
-
parentValue: 'LN',
|
|
541
|
-
value: '91',
|
|
542
|
-
name: 'Ordinanza Commissariale',
|
|
543
|
-
},
|
|
544
|
-
{
|
|
545
|
-
parentValue: 'LN',
|
|
546
|
-
value: '82',
|
|
547
|
-
name: 'Ordinanza Pres. Cons. Ministri',
|
|
548
|
-
},
|
|
549
|
-
{
|
|
550
|
-
parentValue: 'LN',
|
|
551
|
-
value: '57',
|
|
552
|
-
name: 'Ordinanza Ministeriale',
|
|
553
|
-
},
|
|
554
|
-
{
|
|
555
|
-
parentValue: 'LN',
|
|
556
|
-
value: '76',
|
|
557
|
-
name: 'Provvedimento (naz.)',
|
|
558
|
-
},
|
|
559
|
-
{
|
|
560
|
-
parentValue: 'LN',
|
|
561
|
-
value: '66',
|
|
562
|
-
name: 'Regio Decreto',
|
|
563
|
-
},
|
|
564
|
-
{
|
|
565
|
-
parentValue: 'LN',
|
|
566
|
-
value: '67',
|
|
567
|
-
name: 'Regio Decreto Legge',
|
|
568
|
-
},
|
|
569
|
-
{
|
|
570
|
-
parentValue: 'LN',
|
|
571
|
-
value: '68',
|
|
572
|
-
name: 'Regio Decreto Legislativo',
|
|
573
|
-
},
|
|
574
|
-
{
|
|
575
|
-
parentValue: 'LN',
|
|
576
|
-
value: '71',
|
|
577
|
-
name: 'Statuto delle Regioni Ordinarie',
|
|
578
|
-
},
|
|
579
|
-
{
|
|
580
|
-
parentValue: 'LC',
|
|
581
|
-
value: '139',
|
|
582
|
-
name: 'Accordi (CE)',
|
|
583
|
-
},
|
|
584
|
-
{
|
|
585
|
-
parentValue: 'LC',
|
|
586
|
-
value: '140',
|
|
587
|
-
name: 'Atti diversi (CE/UE)',
|
|
588
|
-
},
|
|
589
|
-
{
|
|
590
|
-
parentValue: 'LC',
|
|
591
|
-
value: '131',
|
|
592
|
-
name: 'Posizione Comune (CE)',
|
|
593
|
-
},
|
|
594
|
-
{
|
|
595
|
-
parentValue: 'LC',
|
|
596
|
-
value: '132',
|
|
597
|
-
name: 'Posizione Comune (UE)',
|
|
598
|
-
},
|
|
599
|
-
{
|
|
600
|
-
parentValue: 'LC',
|
|
601
|
-
value: '126',
|
|
602
|
-
name: 'Comunicazione (CE)',
|
|
603
|
-
},
|
|
604
|
-
{
|
|
605
|
-
parentValue: 'LC',
|
|
606
|
-
value: '127',
|
|
607
|
-
name: 'Comunicazione (UE)',
|
|
608
|
-
},
|
|
609
|
-
{
|
|
610
|
-
parentValue: 'LC',
|
|
611
|
-
value: '111',
|
|
612
|
-
name: 'Decisione (CE)',
|
|
613
|
-
},
|
|
614
|
-
{
|
|
615
|
-
parentValue: 'LC',
|
|
616
|
-
value: '112',
|
|
617
|
-
name: 'Decisione (UE)',
|
|
618
|
-
},
|
|
619
|
-
{
|
|
620
|
-
parentValue: 'LC',
|
|
621
|
-
value: '113',
|
|
622
|
-
name: 'Decisione (UE)',
|
|
623
|
-
},
|
|
624
|
-
{
|
|
625
|
-
parentValue: 'LC',
|
|
626
|
-
value: '121',
|
|
627
|
-
name: 'Direttiva (CEE)',
|
|
628
|
-
},
|
|
629
|
-
{
|
|
630
|
-
parentValue: 'LC',
|
|
631
|
-
value: '122',
|
|
632
|
-
name: 'Direttiva (CE)',
|
|
633
|
-
},
|
|
634
|
-
{
|
|
635
|
-
parentValue: 'LC',
|
|
636
|
-
value: '123',
|
|
637
|
-
name: 'Direttiva (UE)',
|
|
638
|
-
},
|
|
639
|
-
{
|
|
640
|
-
parentValue: 'LC',
|
|
641
|
-
value: '138',
|
|
642
|
-
name: 'Parere',
|
|
643
|
-
},
|
|
644
|
-
{
|
|
645
|
-
parentValue: 'LC',
|
|
646
|
-
value: '128',
|
|
647
|
-
name: 'Raccomandazione (CEE)',
|
|
648
|
-
},
|
|
649
|
-
{
|
|
650
|
-
parentValue: 'LC',
|
|
651
|
-
value: '129',
|
|
652
|
-
name: 'Raccomandazione (CE)',
|
|
653
|
-
},
|
|
654
|
-
{
|
|
655
|
-
parentValue: 'LC',
|
|
656
|
-
value: '130',
|
|
657
|
-
name: 'Raccomandazione (UE)',
|
|
658
|
-
},
|
|
659
|
-
{
|
|
660
|
-
parentValue: 'LC',
|
|
661
|
-
value: '116',
|
|
662
|
-
name: 'Regolamento (CEE)',
|
|
663
|
-
},
|
|
664
|
-
{
|
|
665
|
-
parentValue: 'LC',
|
|
666
|
-
value: '117',
|
|
667
|
-
name: 'Regolamento (CE)',
|
|
668
|
-
},
|
|
669
|
-
{
|
|
670
|
-
parentValue: 'LC',
|
|
671
|
-
value: '118',
|
|
672
|
-
name: 'Regolamento (UE)',
|
|
673
|
-
},
|
|
674
|
-
{
|
|
675
|
-
parentValue: 'LC',
|
|
676
|
-
value: '135',
|
|
677
|
-
name: 'Rettifica',
|
|
678
|
-
},
|
|
679
|
-
{
|
|
680
|
-
parentValue: 'LC',
|
|
681
|
-
value: '133',
|
|
682
|
-
name: 'Risoluzione',
|
|
683
|
-
},
|
|
684
|
-
{
|
|
685
|
-
parentValue: 'LC',
|
|
686
|
-
value: '134',
|
|
687
|
-
name: 'Trattato',
|
|
688
|
-
},
|
|
689
|
-
{
|
|
690
|
-
parentValue: 'LR',
|
|
691
|
-
value: '69',
|
|
692
|
-
name: 'Altri documenti (reg.)',
|
|
693
|
-
},
|
|
694
|
-
{
|
|
695
|
-
parentValue: 'LR',
|
|
696
|
-
value: '11',
|
|
697
|
-
name: 'Circolare Pres. Giunta Reg.',
|
|
698
|
-
},
|
|
699
|
-
{
|
|
700
|
-
parentValue: 'LR',
|
|
701
|
-
value: '46',
|
|
702
|
-
name: "Circolare dell'Assessore",
|
|
703
|
-
},
|
|
704
|
-
{
|
|
705
|
-
parentValue: 'LR',
|
|
706
|
-
value: '83',
|
|
707
|
-
name: 'Circolare reg.',
|
|
708
|
-
},
|
|
709
|
-
{
|
|
710
|
-
parentValue: 'LR',
|
|
711
|
-
value: '70',
|
|
712
|
-
name: 'Comunicato (reg.)',
|
|
713
|
-
},
|
|
714
|
-
{
|
|
715
|
-
parentValue: 'LR',
|
|
716
|
-
value: '80',
|
|
717
|
-
name: 'Decreto del Dirigente',
|
|
718
|
-
},
|
|
719
|
-
{
|
|
720
|
-
parentValue: 'LR',
|
|
721
|
-
value: '24',
|
|
722
|
-
name: 'Decreto Pres. Giunta Prov.',
|
|
723
|
-
},
|
|
724
|
-
{
|
|
725
|
-
parentValue: 'LR',
|
|
726
|
-
value: '23',
|
|
727
|
-
name: 'Decreto Pres. Giunta Reg.',
|
|
728
|
-
},
|
|
729
|
-
{
|
|
730
|
-
parentValue: 'LR',
|
|
731
|
-
value: '19',
|
|
732
|
-
name: "Decreto dell'Assessore Regionale",
|
|
733
|
-
},
|
|
734
|
-
{
|
|
735
|
-
parentValue: 'LR',
|
|
736
|
-
value: '31',
|
|
737
|
-
name: 'Delib. Consiglio Prov.',
|
|
738
|
-
},
|
|
739
|
-
{
|
|
740
|
-
parentValue: 'LR',
|
|
741
|
-
value: '36',
|
|
742
|
-
name: 'Delib. Consiglio Reg.',
|
|
743
|
-
},
|
|
744
|
-
{
|
|
745
|
-
parentValue: 'LR',
|
|
746
|
-
value: '37',
|
|
747
|
-
name: 'Delib. Giunta Prov.',
|
|
748
|
-
},
|
|
749
|
-
{
|
|
750
|
-
parentValue: 'LR',
|
|
751
|
-
value: '38',
|
|
752
|
-
name: 'Delib. Giunta Reg.',
|
|
753
|
-
},
|
|
754
|
-
{
|
|
755
|
-
parentValue: 'LR',
|
|
756
|
-
value: '81',
|
|
757
|
-
name: 'Determinazione del Dirigente',
|
|
758
|
-
},
|
|
759
|
-
{
|
|
760
|
-
parentValue: 'LR',
|
|
761
|
-
value: '12',
|
|
762
|
-
name: 'Direttiva (reg.)',
|
|
763
|
-
},
|
|
764
|
-
{
|
|
765
|
-
parentValue: 'LR',
|
|
766
|
-
value: '49',
|
|
767
|
-
name: 'Legge Prov. Aut.',
|
|
768
|
-
},
|
|
769
|
-
{
|
|
770
|
-
parentValue: 'LR',
|
|
771
|
-
value: '50',
|
|
772
|
-
name: 'Legge Regionale',
|
|
773
|
-
},
|
|
774
|
-
{
|
|
775
|
-
parentValue: 'LR',
|
|
776
|
-
value: '51',
|
|
777
|
-
name: 'Linee guida (reg.)',
|
|
778
|
-
},
|
|
779
|
-
{
|
|
780
|
-
parentValue: 'LR',
|
|
781
|
-
value: '9',
|
|
782
|
-
name: 'Ordinanza Pres. Prov.',
|
|
783
|
-
},
|
|
784
|
-
{
|
|
785
|
-
parentValue: 'LR',
|
|
786
|
-
value: '55',
|
|
787
|
-
name: 'Ordinanza Pres. Reg.',
|
|
788
|
-
},
|
|
789
|
-
{
|
|
790
|
-
parentValue: 'LR',
|
|
791
|
-
value: '85',
|
|
792
|
-
name: 'Provvedimento (reg.)',
|
|
793
|
-
},
|
|
794
|
-
{
|
|
795
|
-
parentValue: 'LR',
|
|
796
|
-
value: '65',
|
|
797
|
-
name: 'Regolamento Regionale',
|
|
798
|
-
},
|
|
799
|
-
{
|
|
800
|
-
parentValue: 'GN',
|
|
801
|
-
value: '63',
|
|
802
|
-
name: 'Decisione',
|
|
803
|
-
},
|
|
804
|
-
{
|
|
805
|
-
parentValue: 'GN',
|
|
806
|
-
value: '41',
|
|
807
|
-
name: 'Decreto Penale',
|
|
808
|
-
},
|
|
809
|
-
{
|
|
810
|
-
parentValue: 'GN',
|
|
811
|
-
value: '54',
|
|
812
|
-
name: 'Ordinanza',
|
|
813
|
-
},
|
|
814
|
-
{
|
|
815
|
-
parentValue: 'GN',
|
|
816
|
-
value: '62',
|
|
817
|
-
name: 'Ricorso',
|
|
818
|
-
},
|
|
819
|
-
{
|
|
820
|
-
parentValue: 'GN',
|
|
821
|
-
value: '72',
|
|
822
|
-
name: 'Sentenza',
|
|
823
|
-
},
|
|
824
|
-
{
|
|
825
|
-
parentValue: 'GC',
|
|
826
|
-
value: '143',
|
|
827
|
-
name: 'Ordinanza (CE)',
|
|
828
|
-
},
|
|
829
|
-
{
|
|
830
|
-
parentValue: 'GC',
|
|
831
|
-
value: '144',
|
|
832
|
-
name: 'Ordinanza (UE)',
|
|
833
|
-
},
|
|
834
|
-
{
|
|
835
|
-
parentValue: 'GC',
|
|
836
|
-
value: '141',
|
|
837
|
-
name: 'Sentenza (CE)',
|
|
838
|
-
},
|
|
839
|
-
{
|
|
840
|
-
parentValue: 'GC',
|
|
841
|
-
value: '142',
|
|
842
|
-
name: 'Sentenza (UE)',
|
|
843
|
-
},
|
|
844
|
-
{
|
|
845
|
-
parentValue: 'TN',
|
|
846
|
-
value: '73',
|
|
847
|
-
name: 'Altri documenti (Enti ed Istituti)',
|
|
848
|
-
},
|
|
849
|
-
{
|
|
850
|
-
parentValue: 'TN',
|
|
851
|
-
value: '44',
|
|
852
|
-
name: 'Circolare (Enti ed Istituti)',
|
|
853
|
-
},
|
|
854
|
-
{
|
|
855
|
-
parentValue: 'TN',
|
|
856
|
-
value: '20',
|
|
857
|
-
name: 'Comunicato (Enti ed Istituti)',
|
|
858
|
-
},
|
|
859
|
-
{
|
|
860
|
-
parentValue: 'TN',
|
|
861
|
-
value: '60',
|
|
862
|
-
name: 'Decreto (Enti ed Istituti)',
|
|
863
|
-
},
|
|
864
|
-
{
|
|
865
|
-
parentValue: 'TN',
|
|
866
|
-
value: '40',
|
|
867
|
-
name: 'Delibera (Enti ed Istituti)',
|
|
868
|
-
},
|
|
869
|
-
{
|
|
870
|
-
parentValue: 'TN',
|
|
871
|
-
value: '53',
|
|
872
|
-
name: 'Fascicolo (Enti ed Istituti)',
|
|
873
|
-
},
|
|
874
|
-
{
|
|
875
|
-
parentValue: 'TN',
|
|
876
|
-
value: '45',
|
|
877
|
-
name: 'Istruzione Tecnica',
|
|
878
|
-
},
|
|
879
|
-
{
|
|
880
|
-
parentValue: 'TN',
|
|
881
|
-
value: '59',
|
|
882
|
-
name: 'Lettera Circolare (Enti ed Istituti)',
|
|
883
|
-
},
|
|
884
|
-
{
|
|
885
|
-
parentValue: 'TN',
|
|
886
|
-
value: '79',
|
|
887
|
-
name: 'Linee guida (Enti ed Istituti)',
|
|
888
|
-
},
|
|
889
|
-
{
|
|
890
|
-
parentValue: 'TN',
|
|
891
|
-
value: '98',
|
|
892
|
-
name: 'Norma Tecnica',
|
|
893
|
-
},
|
|
894
|
-
{
|
|
895
|
-
parentValue: 'TN',
|
|
896
|
-
value: '97',
|
|
897
|
-
name: 'Opuscolo Tecnico',
|
|
898
|
-
},
|
|
899
|
-
{
|
|
900
|
-
parentValue: 'TN',
|
|
901
|
-
value: '77',
|
|
902
|
-
name: 'Pubblicazione (Enti ed Istituti)',
|
|
903
|
-
},
|
|
904
|
-
{
|
|
905
|
-
parentValue: 'TN',
|
|
906
|
-
value: '86',
|
|
907
|
-
name: 'Quaderno',
|
|
908
|
-
},
|
|
909
|
-
{
|
|
910
|
-
parentValue: 'TN',
|
|
911
|
-
value: '52',
|
|
912
|
-
name: 'Regolamento (Enti ed Istituti)',
|
|
913
|
-
},
|
|
914
|
-
{
|
|
915
|
-
parentValue: 'TN',
|
|
916
|
-
value: '84',
|
|
917
|
-
name: 'Istruzione Operativa (Enti e Istituti)',
|
|
918
|
-
},
|
|
919
|
-
{
|
|
920
|
-
parentValue: 'TN',
|
|
921
|
-
value: '94',
|
|
922
|
-
name: 'Nota (Enti e Istituti)',
|
|
923
|
-
},
|
|
924
|
-
{
|
|
925
|
-
parentValue: 'NI',
|
|
926
|
-
value: '104',
|
|
927
|
-
name: 'Regolamento UNECE',
|
|
928
|
-
},
|
|
929
|
-
{
|
|
930
|
-
parentValue: 'SN',
|
|
931
|
-
value: '105',
|
|
932
|
-
name: 'Documento',
|
|
933
|
-
},
|
|
934
|
-
{
|
|
935
|
-
parentValue: 'TN',
|
|
936
|
-
value: '106',
|
|
937
|
-
name: 'Direttiva (Enti e Istituti)',
|
|
938
|
-
},
|
|
939
|
-
{
|
|
940
|
-
parentValue: 'TN',
|
|
941
|
-
value: '74',
|
|
942
|
-
name: 'Prassi di riferimento',
|
|
943
|
-
},
|
|
944
|
-
{
|
|
945
|
-
parentValue: 'LN',
|
|
946
|
-
value: '16',
|
|
947
|
-
name: 'Linee guida (naz.)',
|
|
948
|
-
},
|
|
949
|
-
{
|
|
950
|
-
parentValue: 'LN',
|
|
951
|
-
value: '3',
|
|
952
|
-
name: 'Direttiva (naz.)',
|
|
953
|
-
},
|
|
954
|
-
{
|
|
955
|
-
parentValue: 'TI',
|
|
956
|
-
value: '107',
|
|
957
|
-
name: 'Normativa Tecnica Internazionale',
|
|
958
|
-
},
|
|
959
|
-
];
|
|
960
|
-
export const ClipperAuthors = [
|
|
961
|
-
{
|
|
962
|
-
sectorId: 'LR',
|
|
963
|
-
channels: null,
|
|
964
|
-
value: '4RAB',
|
|
965
|
-
name: 'Abruzzo',
|
|
966
|
-
},
|
|
967
|
-
{
|
|
968
|
-
sectorId: 'LR',
|
|
969
|
-
channels: null,
|
|
970
|
-
value: '4RBA',
|
|
971
|
-
name: 'Basilicata',
|
|
972
|
-
},
|
|
973
|
-
{
|
|
974
|
-
sectorId: 'LR',
|
|
975
|
-
channels: null,
|
|
976
|
-
value: '4RCAL',
|
|
977
|
-
name: 'Calabria',
|
|
978
|
-
},
|
|
979
|
-
{
|
|
980
|
-
sectorId: 'LR',
|
|
981
|
-
channels: null,
|
|
982
|
-
value: '4RCAM',
|
|
983
|
-
name: 'Campania',
|
|
984
|
-
},
|
|
985
|
-
{
|
|
986
|
-
sectorId: 'LR',
|
|
987
|
-
channels: null,
|
|
988
|
-
value: '4REM',
|
|
989
|
-
name: 'Emilia Romagna',
|
|
990
|
-
},
|
|
991
|
-
{
|
|
992
|
-
sectorId: 'LR',
|
|
993
|
-
channels: null,
|
|
994
|
-
value: '4RFVG',
|
|
995
|
-
name: 'Friuli Venezia Giulia',
|
|
996
|
-
},
|
|
997
|
-
{
|
|
998
|
-
sectorId: 'LR',
|
|
999
|
-
channels: null,
|
|
1000
|
-
value: '4RLA',
|
|
1001
|
-
name: 'Lazio',
|
|
1002
|
-
},
|
|
1003
|
-
{
|
|
1004
|
-
sectorId: 'LR',
|
|
1005
|
-
channels: null,
|
|
1006
|
-
value: '4RLI',
|
|
1007
|
-
name: 'Liguria',
|
|
1008
|
-
},
|
|
1009
|
-
{
|
|
1010
|
-
sectorId: 'LR',
|
|
1011
|
-
channels: null,
|
|
1012
|
-
value: '4RLO',
|
|
1013
|
-
name: 'Lombardia',
|
|
1014
|
-
},
|
|
1015
|
-
{
|
|
1016
|
-
sectorId: 'LR',
|
|
1017
|
-
channels: null,
|
|
1018
|
-
value: '4RMA',
|
|
1019
|
-
name: 'Marche',
|
|
1020
|
-
},
|
|
1021
|
-
{
|
|
1022
|
-
sectorId: 'LR',
|
|
1023
|
-
channels: null,
|
|
1024
|
-
value: '4RMO',
|
|
1025
|
-
name: 'Molise',
|
|
1026
|
-
},
|
|
1027
|
-
{
|
|
1028
|
-
sectorId: 'LR',
|
|
1029
|
-
channels: null,
|
|
1030
|
-
value: '4RPI',
|
|
1031
|
-
name: 'Piemonte',
|
|
1032
|
-
},
|
|
1033
|
-
{
|
|
1034
|
-
sectorId: 'LR',
|
|
1035
|
-
channels: null,
|
|
1036
|
-
value: '4RPU',
|
|
1037
|
-
name: 'Puglia',
|
|
1038
|
-
},
|
|
1039
|
-
{
|
|
1040
|
-
sectorId: 'LR',
|
|
1041
|
-
channels: null,
|
|
1042
|
-
value: '4RSA',
|
|
1043
|
-
name: 'Sardegna',
|
|
1044
|
-
},
|
|
1045
|
-
{
|
|
1046
|
-
sectorId: 'LR',
|
|
1047
|
-
channels: null,
|
|
1048
|
-
value: '4RSI',
|
|
1049
|
-
name: 'Sicilia',
|
|
1050
|
-
},
|
|
1051
|
-
{
|
|
1052
|
-
sectorId: 'LR',
|
|
1053
|
-
channels: null,
|
|
1054
|
-
value: '4RTO',
|
|
1055
|
-
name: 'Toscana',
|
|
1056
|
-
},
|
|
1057
|
-
{
|
|
1058
|
-
sectorId: 'LR',
|
|
1059
|
-
channels: null,
|
|
1060
|
-
value: '4RTAA',
|
|
1061
|
-
name: 'Trentino Trentino Alto Adige',
|
|
1062
|
-
},
|
|
1063
|
-
{
|
|
1064
|
-
sectorId: 'LR',
|
|
1065
|
-
channels: null,
|
|
1066
|
-
value: '4RUM',
|
|
1067
|
-
name: 'Umbria',
|
|
1068
|
-
},
|
|
1069
|
-
{
|
|
1070
|
-
sectorId: 'LR',
|
|
1071
|
-
channels: null,
|
|
1072
|
-
value: '4RVA',
|
|
1073
|
-
name: "Valle D'Aosta",
|
|
1074
|
-
},
|
|
1075
|
-
{
|
|
1076
|
-
sectorId: 'LR',
|
|
1077
|
-
channels: null,
|
|
1078
|
-
value: '4RVE',
|
|
1079
|
-
name: 'Veneto',
|
|
1080
|
-
},
|
|
1081
|
-
{
|
|
1082
|
-
sectorId: 'LR',
|
|
1083
|
-
channels: null,
|
|
1084
|
-
value: '4PAB',
|
|
1085
|
-
name: 'Prov. Autonoma di Bolzano',
|
|
1086
|
-
},
|
|
1087
|
-
{
|
|
1088
|
-
sectorId: 'LR',
|
|
1089
|
-
channels: null,
|
|
1090
|
-
value: '4PAT',
|
|
1091
|
-
name: 'Prov. Autonoma di Trento',
|
|
1092
|
-
},
|
|
1093
|
-
{
|
|
1094
|
-
sectorId: 'TN',
|
|
1095
|
-
channels: '|LA|',
|
|
1096
|
-
value: '6CEI',
|
|
1097
|
-
name: 'C.E.I. - Comitato Elettrotecnico Italiano',
|
|
1098
|
-
},
|
|
1099
|
-
{
|
|
1100
|
-
sectorId: 'TN',
|
|
1101
|
-
channels: '|LA|SA|',
|
|
1102
|
-
value: '6CNR',
|
|
1103
|
-
name: 'C.N.R. - Consiglio Nazionale delle Ricerche',
|
|
1104
|
-
},
|
|
1105
|
-
{
|
|
1106
|
-
sectorId: 'TN',
|
|
1107
|
-
channels: '|LA|',
|
|
1108
|
-
value: '6ENPI',
|
|
1109
|
-
name: 'E.N.P.I. - Ente Nazionale Prevenzione Infortuni',
|
|
1110
|
-
},
|
|
1111
|
-
{
|
|
1112
|
-
sectorId: 'TN',
|
|
1113
|
-
channels: '|LA|',
|
|
1114
|
-
value: '6INAI',
|
|
1115
|
-
name: 'I.N.A.I.L. - Istituto nazionale Assicurazione Infortuni sul Lavoro',
|
|
1116
|
-
},
|
|
1117
|
-
{
|
|
1118
|
-
sectorId: 'TN',
|
|
1119
|
-
channels: '|LA|',
|
|
1120
|
-
value: '6ISPS',
|
|
1121
|
-
name: 'I.S.P.E.S.L. - Istituto Superiore per la Prevenzione e la Sicurezza del Lavoro',
|
|
1122
|
-
},
|
|
1123
|
-
{
|
|
1124
|
-
sectorId: 'TN',
|
|
1125
|
-
channels: '|LA|',
|
|
1126
|
-
value: '6INPS',
|
|
1127
|
-
name: 'I.N.P.S. - Istituto Nazionale Previdenza Sociale',
|
|
1128
|
-
},
|
|
1129
|
-
{
|
|
1130
|
-
sectorId: 'TN',
|
|
1131
|
-
channels: '|LA|SA|',
|
|
1132
|
-
value: '6ISS',
|
|
1133
|
-
name: 'I.S.S. - Istituto Superiore di Sanità',
|
|
1134
|
-
},
|
|
1135
|
-
{
|
|
1136
|
-
sectorId: 'TN',
|
|
1137
|
-
channels: '|LA|SA|',
|
|
1138
|
-
value: '6UNI',
|
|
1139
|
-
name: 'U.N.I. - Ente Nazionale Italiano di Unificazione',
|
|
1140
|
-
},
|
|
1141
|
-
{
|
|
1142
|
-
sectorId: 'GN',
|
|
1143
|
-
channels: null,
|
|
1144
|
-
value: '5CC',
|
|
1145
|
-
name: 'Corte Costituzionale',
|
|
1146
|
-
},
|
|
1147
|
-
{
|
|
1148
|
-
sectorId: 'GN',
|
|
1149
|
-
channels: null,
|
|
1150
|
-
value: '5CCC',
|
|
1151
|
-
name: 'Corte di Cassazione Civile',
|
|
1152
|
-
},
|
|
1153
|
-
{
|
|
1154
|
-
sectorId: 'GN',
|
|
1155
|
-
channels: null,
|
|
1156
|
-
value: '5CCP',
|
|
1157
|
-
name: 'Corte di Cassazione Penale',
|
|
1158
|
-
},
|
|
1159
|
-
{
|
|
1160
|
-
sectorId: 'GN',
|
|
1161
|
-
channels: null,
|
|
1162
|
-
value: '5CASA',
|
|
1163
|
-
name: "Corte d'Assise d'Appello",
|
|
1164
|
-
},
|
|
1165
|
-
{
|
|
1166
|
-
sectorId: 'GN',
|
|
1167
|
-
channels: null,
|
|
1168
|
-
value: '5CAS',
|
|
1169
|
-
name: "Corte d'Assise",
|
|
1170
|
-
},
|
|
1171
|
-
{
|
|
1172
|
-
sectorId: 'GN',
|
|
1173
|
-
channels: null,
|
|
1174
|
-
value: '5CA',
|
|
1175
|
-
name: "Corte d'Appello",
|
|
1176
|
-
},
|
|
1177
|
-
{
|
|
1178
|
-
sectorId: 'GN',
|
|
1179
|
-
channels: null,
|
|
1180
|
-
value: '5PCA',
|
|
1181
|
-
name: "Procura Generale Corte d'Appello",
|
|
1182
|
-
},
|
|
1183
|
-
{
|
|
1184
|
-
sectorId: 'GN',
|
|
1185
|
-
channels: null,
|
|
1186
|
-
value: '5GDP',
|
|
1187
|
-
name: 'Giudice di Pace',
|
|
1188
|
-
},
|
|
1189
|
-
{
|
|
1190
|
-
sectorId: 'GN',
|
|
1191
|
-
channels: null,
|
|
1192
|
-
value: '5PR',
|
|
1193
|
-
name: 'Procura della Repubblica',
|
|
1194
|
-
},
|
|
1195
|
-
{
|
|
1196
|
-
sectorId: 'GN',
|
|
1197
|
-
channels: null,
|
|
1198
|
-
value: '5T',
|
|
1199
|
-
name: 'Tribunale',
|
|
1200
|
-
},
|
|
1201
|
-
{
|
|
1202
|
-
sectorId: 'GN',
|
|
1203
|
-
channels: null,
|
|
1204
|
-
value: '5P',
|
|
1205
|
-
name: 'Pretura',
|
|
1206
|
-
},
|
|
1207
|
-
{
|
|
1208
|
-
sectorId: 'GN',
|
|
1209
|
-
channels: null,
|
|
1210
|
-
value: '5CDS',
|
|
1211
|
-
name: 'Consiglio di Stato',
|
|
1212
|
-
},
|
|
1213
|
-
{
|
|
1214
|
-
sectorId: 'GN',
|
|
1215
|
-
channels: null,
|
|
1216
|
-
value: '5TAR',
|
|
1217
|
-
name: 'Tribunale Amministrativo Regionale',
|
|
1218
|
-
},
|
|
1219
|
-
{
|
|
1220
|
-
sectorId: 'GN',
|
|
1221
|
-
channels: null,
|
|
1222
|
-
value: '5TSA',
|
|
1223
|
-
name: 'Tribunale Superiore delle Acque',
|
|
1224
|
-
},
|
|
1225
|
-
{
|
|
1226
|
-
sectorId: 'GN',
|
|
1227
|
-
channels: null,
|
|
1228
|
-
value: '5TGA',
|
|
1229
|
-
name: 'Tribunale Regionale acque',
|
|
1230
|
-
},
|
|
1231
|
-
{
|
|
1232
|
-
sectorId: 'GN',
|
|
1233
|
-
channels: null,
|
|
1234
|
-
value: '5CTP',
|
|
1235
|
-
name: 'Commissione Tributaria Provinciale',
|
|
1236
|
-
},
|
|
1237
|
-
{
|
|
1238
|
-
sectorId: 'GN',
|
|
1239
|
-
channels: null,
|
|
1240
|
-
value: '5CTR',
|
|
1241
|
-
name: 'Commissione Tributaria Regionale',
|
|
1242
|
-
},
|
|
1243
|
-
{
|
|
1244
|
-
sectorId: 'GN',
|
|
1245
|
-
channels: null,
|
|
1246
|
-
value: '5CGAS',
|
|
1247
|
-
name: 'Cons. di Giustizia Amm.va della Sicilia',
|
|
1248
|
-
},
|
|
1249
|
-
{
|
|
1250
|
-
sectorId: 'GN',
|
|
1251
|
-
channels: null,
|
|
1252
|
-
value: '5CDC',
|
|
1253
|
-
name: 'Corte dei Conti',
|
|
1254
|
-
},
|
|
1255
|
-
{
|
|
1256
|
-
sectorId: 'GC',
|
|
1257
|
-
channels: null,
|
|
1258
|
-
value: '3CJCE',
|
|
1259
|
-
name: 'Corte di Giustizia CEE/CE',
|
|
1260
|
-
},
|
|
1261
|
-
{
|
|
1262
|
-
sectorId: 'GC',
|
|
1263
|
-
channels: null,
|
|
1264
|
-
value: '3CEDM',
|
|
1265
|
-
name: "Corte Europea per i Diritti dell'Uomo",
|
|
1266
|
-
},
|
|
1267
|
-
{
|
|
1268
|
-
sectorId: 'GC',
|
|
1269
|
-
channels: null,
|
|
1270
|
-
value: '3CWJ',
|
|
1271
|
-
name: 'Corte Internazionale di Giustizia',
|
|
1272
|
-
},
|
|
1273
|
-
{
|
|
1274
|
-
sectorId: 'GC',
|
|
1275
|
-
channels: null,
|
|
1276
|
-
value: '3T1CE',
|
|
1277
|
-
name: 'Tribunale di Primo Grado CEE/CE',
|
|
1278
|
-
},
|
|
1279
|
-
];
|
|
1280
|
-
export const ClipperSources = [
|
|
1281
|
-
{
|
|
1282
|
-
value: 'ACCML',
|
|
1283
|
-
name: 'Accordi Multilaterali',
|
|
1284
|
-
},
|
|
1285
|
-
{
|
|
1286
|
-
value: 'AEEG',
|
|
1287
|
-
name: "Sito Autorità per l'Energia Elettrica, il Gas e il Sistema Idrico",
|
|
1288
|
-
},
|
|
1289
|
-
{
|
|
1290
|
-
value: 'ARERA',
|
|
1291
|
-
name: 'Sito Autorità di Regolazione per Energia, Reti e Ambiente',
|
|
1292
|
-
},
|
|
1293
|
-
{
|
|
1294
|
-
value: 'BUR',
|
|
1295
|
-
name: 'Bollettino Uff. Regione',
|
|
1296
|
-
},
|
|
1297
|
-
{
|
|
1298
|
-
value: 'BUS',
|
|
1299
|
-
name: 'Suppl. speciale al Bollettino Uff.',
|
|
1300
|
-
},
|
|
1301
|
-
{
|
|
1302
|
-
value: 'BUSO',
|
|
1303
|
-
name: 'Suppl. ordin. al Bollettino Uff.',
|
|
1304
|
-
},
|
|
1305
|
-
{
|
|
1306
|
-
value: 'BUSS',
|
|
1307
|
-
name: 'Suppl. straord. al Bollettino Uff.',
|
|
1308
|
-
},
|
|
1309
|
-
{
|
|
1310
|
-
value: 'GU',
|
|
1311
|
-
name: 'Gazzetta Ufficiale Italiana',
|
|
1312
|
-
},
|
|
1313
|
-
{
|
|
1314
|
-
value: 'GUCC',
|
|
1315
|
-
name: 'Gazz. Uff. Corte Costituzionale',
|
|
1316
|
-
},
|
|
1317
|
-
{
|
|
1318
|
-
value: 'GUCE',
|
|
1319
|
-
name: 'Gazzetta ufficiale delle Comunità europee',
|
|
1320
|
-
},
|
|
1321
|
-
{
|
|
1322
|
-
value: 'GUES',
|
|
1323
|
-
name: 'Gazz. Uff. Ediz. Speciale',
|
|
1324
|
-
},
|
|
1325
|
-
{
|
|
1326
|
-
value: 'GURS',
|
|
1327
|
-
name: 'Gazz. Uff. Regione Sicilia',
|
|
1328
|
-
},
|
|
1329
|
-
{
|
|
1330
|
-
value: 'GUS',
|
|
1331
|
-
name: 'Gazz. Uff. Serie Speciale',
|
|
1332
|
-
},
|
|
1333
|
-
{
|
|
1334
|
-
value: 'GUSO',
|
|
1335
|
-
name: 'Suppl. ordin. alla Gazzetta Ufficiale',
|
|
1336
|
-
},
|
|
1337
|
-
{
|
|
1338
|
-
value: 'GUSS',
|
|
1339
|
-
name: 'Suppl. straord. alla Gazzetta Ufficiale',
|
|
1340
|
-
},
|
|
1341
|
-
{
|
|
1342
|
-
value: 'GUUE',
|
|
1343
|
-
name: 'Gazzetta ufficiale dell’Unione europea',
|
|
1344
|
-
},
|
|
1345
|
-
{
|
|
1346
|
-
value: 'MAC',
|
|
1347
|
-
name: 'Massimario Civile',
|
|
1348
|
-
},
|
|
1349
|
-
{
|
|
1350
|
-
value: 'MAP',
|
|
1351
|
-
name: 'Massimario Penale',
|
|
1352
|
-
},
|
|
1353
|
-
{
|
|
1354
|
-
value: 'NONE',
|
|
1355
|
-
name: 'Fonti diverse',
|
|
1356
|
-
}
|
|
1357
|
-
];
|
|
1358
|
-
export class ClipperChannelSettings {
|
|
1359
|
-
constructor() {
|
|
1360
|
-
this.isEnabled = false;
|
|
1361
|
-
this.isActive = false;
|
|
1362
|
-
this.sectors = [];
|
|
1363
|
-
this.regions = [];
|
|
1364
|
-
}
|
|
1365
|
-
/**
|
|
1366
|
-
* Check at least one of sector values is contained in sectors list
|
|
1367
|
-
* @param values : the admitted values
|
|
1368
|
-
* @returns true if at least one value has been found
|
|
1369
|
-
*/
|
|
1370
|
-
hasAnyOfSectors(values) {
|
|
1371
|
-
if (this.isEnabled === true && this.isActive === true) {
|
|
1372
|
-
for (let i = 0; i < values.length; i++) {
|
|
1373
|
-
if (this.sectors.filter(n => n.value === values[i])?.length > 0) {
|
|
1374
|
-
return true;
|
|
1375
|
-
}
|
|
1376
|
-
}
|
|
1377
|
-
}
|
|
1378
|
-
return false;
|
|
1379
|
-
}
|
|
1380
|
-
/**
|
|
1381
|
-
* Check at least one of region values is contained in regions list
|
|
1382
|
-
* @param values : the admitted values
|
|
1383
|
-
* @returns true if at least one value has been found
|
|
1384
|
-
*/
|
|
1385
|
-
hasAnyOfRegions(values) {
|
|
1386
|
-
if (this.isEnabled === true && this.isActive === true) {
|
|
1387
|
-
for (let i = 0; i < values.length; i++) {
|
|
1388
|
-
if (this.regions.filter(n => n.value === values[i])?.length > 0) {
|
|
1389
|
-
return true;
|
|
1390
|
-
}
|
|
1391
|
-
}
|
|
1392
|
-
}
|
|
1393
|
-
return false;
|
|
1394
|
-
}
|
|
1395
|
-
}
|
|
1396
|
-
export class ClipperSearchParams {
|
|
1397
|
-
constructor() {
|
|
1398
|
-
this.version = 6;
|
|
1399
|
-
this.searchId = null;
|
|
1400
|
-
this.searchName = null;
|
|
1401
|
-
this.text = null;
|
|
1402
|
-
this.augmentedText = null;
|
|
1403
|
-
this.title = null;
|
|
1404
|
-
this.titleOnly = false;
|
|
1405
|
-
this.showUnreadDocumentsOnly = false;
|
|
1406
|
-
this.showCommentedDocumentsOnly = false;
|
|
1407
|
-
this.showNotAbrogatedDocumentsOnly = false;
|
|
1408
|
-
this.expandTextQueryUsingAI = false;
|
|
1409
|
-
this.number = null;
|
|
1410
|
-
this.fromDate = null;
|
|
1411
|
-
this.toDate = null;
|
|
1412
|
-
this.year = null;
|
|
1413
|
-
this.sourceNumber = null;
|
|
1414
|
-
this.source = null;
|
|
1415
|
-
this.sourceFromDate = null;
|
|
1416
|
-
this.sourceToDate = null;
|
|
1417
|
-
this.sourceYear = null;
|
|
1418
|
-
this.sector = null;
|
|
1419
|
-
this.sectors = null;
|
|
1420
|
-
this.topic = null;
|
|
1421
|
-
this.topics = null;
|
|
1422
|
-
this.taxonomy = null;
|
|
1423
|
-
this.taxonomies = null;
|
|
1424
|
-
this.taxonomyPath = null;
|
|
1425
|
-
this.taxonomyNode = null;
|
|
1426
|
-
this.type = null;
|
|
1427
|
-
this.types = null;
|
|
1428
|
-
this.tag = null;
|
|
1429
|
-
this.tags = null;
|
|
1430
|
-
this.author = null;
|
|
1431
|
-
this.authors = null;
|
|
1432
|
-
this.changeReason = null;
|
|
1433
|
-
this.changedNumber = null;
|
|
1434
|
-
this.changedYear = null;
|
|
1435
|
-
this.changedTitle = null;
|
|
1436
|
-
this.modifierNumber = null;
|
|
1437
|
-
this.modifierYear = null;
|
|
1438
|
-
this.modifierTitle = null;
|
|
1439
|
-
this.model = null;
|
|
1440
|
-
this.models = null;
|
|
1441
|
-
this.module = null;
|
|
1442
|
-
this.modules = null;
|
|
1443
|
-
this.mode = null;
|
|
1444
|
-
this.channels = [...ClipperChannels];
|
|
1445
|
-
this.count = 15;
|
|
1446
|
-
this.id = null;
|
|
1447
|
-
this.anchor = null;
|
|
1448
|
-
this.excludeTextReferences = false;
|
|
1449
|
-
this.excludeNotesReferences = false;
|
|
1450
|
-
this.useModifierInfo = false;
|
|
1451
|
-
this.returnModifierInfo = false;
|
|
1452
|
-
this.first = 0;
|
|
1453
|
-
this.sortMode = null;
|
|
1454
|
-
}
|
|
1455
|
-
}
|
|
1456
|
-
export var ClipperDocumentContainer;
|
|
1457
|
-
(function (ClipperDocumentContainer) {
|
|
1458
|
-
ClipperDocumentContainer[ClipperDocumentContainer["None"] = 0] = "None";
|
|
1459
|
-
ClipperDocumentContainer[ClipperDocumentContainer["LavoroEAmbiente"] = 1] = "LavoroEAmbiente";
|
|
1460
|
-
ClipperDocumentContainer[ClipperDocumentContainer["SostanzeAlimentari"] = 2] = "SostanzeAlimentari";
|
|
1461
|
-
ClipperDocumentContainer[ClipperDocumentContainer["OrangeProject"] = 4] = "OrangeProject";
|
|
1462
|
-
ClipperDocumentContainer[ClipperDocumentContainer["Energia"] = 8] = "Energia";
|
|
1463
|
-
ClipperDocumentContainer[ClipperDocumentContainer["DGInfo"] = 16] = "DGInfo";
|
|
1464
|
-
ClipperDocumentContainer[ClipperDocumentContainer["DLGS231"] = 32] = "DLGS231";
|
|
1465
|
-
ClipperDocumentContainer[ClipperDocumentContainer["All"] = 63] = "All";
|
|
1466
|
-
})(ClipperDocumentContainer || (ClipperDocumentContainer = {}));
|
|
1467
|
-
export const ClipperDocumentChangeReasons = [
|
|
1468
|
-
{ name: 'Abrogazione', value: 1 },
|
|
1469
|
-
{ name: 'Annullamento', value: 5 },
|
|
1470
|
-
{ name: 'Modifica', value: 2 },
|
|
1471
|
-
{ name: 'Sostiuzione', value: 3 },
|
|
1472
|
-
{ name: 'Segnalazione', value: 6 },
|
|
1473
|
-
{ name: 'Rettifica', value: 7 },
|
|
1474
|
-
];
|
|
1475
|
-
export class ClipperSearchResult {
|
|
1476
|
-
constructor() {
|
|
1477
|
-
this.days = null;
|
|
1478
|
-
this.interval = null;
|
|
1479
|
-
this.items = null;
|
|
1480
|
-
this.facets = new ClipperSearchFacetsSnapshot();
|
|
1481
|
-
this.total = null;
|
|
1482
|
-
this.terms = null;
|
|
1483
|
-
this.searchInfo = null;
|
|
1484
|
-
this.searchParams = new ClipperSearchParams();
|
|
1485
|
-
this.snapshotMode = null;
|
|
1486
|
-
}
|
|
1487
|
-
}
|
|
1488
|
-
export class ClipperSearchFacetsSnapshot {
|
|
1489
|
-
constructor() {
|
|
1490
|
-
this.groups = [];
|
|
1491
|
-
this.usedGroups = [];
|
|
1492
|
-
this.hasFacets = false;
|
|
1493
|
-
this.hasMoreFacets = false;
|
|
1494
|
-
this.hasTooManyResults = false;
|
|
1495
|
-
this.sector = null;
|
|
1496
|
-
this.author = null;
|
|
1497
|
-
this.anchor = null;
|
|
1498
|
-
this.type = null;
|
|
1499
|
-
this.reason = null;
|
|
1500
|
-
this.fromDate = null;
|
|
1501
|
-
this.toDate = null;
|
|
1502
|
-
this.interval = null;
|
|
1503
|
-
this.changedInterval = false;
|
|
1504
|
-
this.changedSector = false;
|
|
1505
|
-
this.changedAuthor = false;
|
|
1506
|
-
this.changedAnchor = false;
|
|
1507
|
-
this.changedType = false;
|
|
1508
|
-
this.changedReason = false;
|
|
1509
|
-
}
|
|
1510
|
-
}
|
|
1511
|
-
export class ClipperSearchCalendarSnapshotResult {
|
|
1512
|
-
constructor() {
|
|
1513
|
-
this.months = null;
|
|
1514
|
-
}
|
|
1515
|
-
}
|
|
1516
|
-
export var ClipperSort;
|
|
1517
|
-
(function (ClipperSort) {
|
|
1518
|
-
ClipperSort[ClipperSort["Default"] = 0] = "Default";
|
|
1519
|
-
ClipperSort[ClipperSort["Relevance"] = 1] = "Relevance";
|
|
1520
|
-
ClipperSort[ClipperSort["DateAsc"] = 2] = "DateAsc";
|
|
1521
|
-
ClipperSort[ClipperSort["DateDesc"] = 3] = "DateDesc";
|
|
1522
|
-
ClipperSort[ClipperSort["SourceDateAsc"] = 7] = "SourceDateAsc";
|
|
1523
|
-
ClipperSort[ClipperSort["SourceDateDesc"] = 8] = "SourceDateDesc";
|
|
1524
|
-
ClipperSort[ClipperSort["Popularity"] = 5] = "Popularity";
|
|
1525
|
-
})(ClipperSort || (ClipperSort = {}));
|
|
1526
|
-
export var ClipperQueryReferencesMode;
|
|
1527
|
-
(function (ClipperQueryReferencesMode) {
|
|
1528
|
-
ClipperQueryReferencesMode[ClipperQueryReferencesMode["ReferencesIn"] = 1] = "ReferencesIn";
|
|
1529
|
-
ClipperQueryReferencesMode[ClipperQueryReferencesMode["ReferencesOut"] = 2] = "ReferencesOut";
|
|
1530
|
-
ClipperQueryReferencesMode[ClipperQueryReferencesMode["ChangesIn"] = 3] = "ChangesIn";
|
|
1531
|
-
ClipperQueryReferencesMode[ClipperQueryReferencesMode["ChangesOut"] = 5] = "ChangesOut";
|
|
1532
|
-
ClipperQueryReferencesMode[ClipperQueryReferencesMode["Juris"] = 4] = "Juris";
|
|
1533
|
-
})(ClipperQueryReferencesMode || (ClipperQueryReferencesMode = {}));
|
|
1534
|
-
export var ClipperFacet;
|
|
1535
|
-
(function (ClipperFacet) {
|
|
1536
|
-
ClipperFacet[ClipperFacet["Sector"] = 1] = "Sector";
|
|
1537
|
-
ClipperFacet[ClipperFacet["Year"] = 2] = "Year";
|
|
1538
|
-
ClipperFacet[ClipperFacet["DocumentType"] = 3] = "DocumentType";
|
|
1539
|
-
ClipperFacet[ClipperFacet["Topic"] = 4] = "Topic";
|
|
1540
|
-
ClipperFacet[ClipperFacet["Article"] = 5] = "Article";
|
|
1541
|
-
ClipperFacet[ClipperFacet["Author"] = 6] = "Author";
|
|
1542
|
-
ClipperFacet[ClipperFacet["Reason"] = 95] = "Reason";
|
|
1543
|
-
})(ClipperFacet || (ClipperFacet = {}));
|
|
1544
|
-
export var ClipperExportDocumentsFormat;
|
|
1545
|
-
(function (ClipperExportDocumentsFormat) {
|
|
1546
|
-
ClipperExportDocumentsFormat[ClipperExportDocumentsFormat["Deafault"] = 1] = "Deafault";
|
|
1547
|
-
ClipperExportDocumentsFormat[ClipperExportDocumentsFormat["iCalendar"] = 2] = "iCalendar";
|
|
1548
|
-
})(ClipperExportDocumentsFormat || (ClipperExportDocumentsFormat = {}));
|
|
1549
|
-
export class ClipperDashboard {
|
|
1550
|
-
constructor() {
|
|
1551
|
-
this.items = signal([]);
|
|
1552
|
-
this.isTrial = false;
|
|
1553
|
-
this.expiredDeadlines = null;
|
|
1554
|
-
this.expiringDeadlines = null;
|
|
1555
|
-
this.documentUpdates = null;
|
|
1556
|
-
this.unreadItems = computed(() => {
|
|
1557
|
-
const states = [];
|
|
1558
|
-
let totalUnread = 0;
|
|
1559
|
-
this.items().filter((x) => x.id == ClipperModule.News
|
|
1560
|
-
|| x.id === ClipperModule.Approfondimenti).forEach((x) => {
|
|
1561
|
-
totalUnread += x.unreadItems ?? 0;
|
|
1562
|
-
});
|
|
1563
|
-
states.push([ClipperModule.News, totalUnread]);
|
|
1564
|
-
states.push([ClipperModule.GazzetteBollettiniEFontiDiverse, this.items().find((x) => x.id == ClipperModule.GazzetteBollettiniEFontiDiverse)?.unreadItems ?? 0]);
|
|
1565
|
-
states.push([ClipperModule.Giurisprudenza, this.items().find((x) => x.id == ClipperModule.Giurisprudenza)?.unreadItems ?? 0]);
|
|
1566
|
-
states.push([ClipperModule.ModificheAbrogazioniERinvii, this.items().find((x) => x.id == ClipperModule.ModificheAbrogazioniERinvii)?.unreadItems ?? 0]);
|
|
1567
|
-
states.push([ClipperModule.AllerteAlimentari, this.items().find((x) => x.id == ClipperModule.AllerteAlimentari)?.unreadItems ?? 0]);
|
|
1568
|
-
states.push([ClipperModule.QuesitiECasiRisolti, this.items().find((x) => x.id == ClipperModule.QuesitiECasiRisolti)?.unreadItems ?? 0]);
|
|
1569
|
-
return states;
|
|
1570
|
-
});
|
|
1571
|
-
this.unreadItemsByModel = computed(() => {
|
|
1572
|
-
const states = [];
|
|
1573
|
-
this.items().forEach(item => {
|
|
1574
|
-
if (item.models) {
|
|
1575
|
-
item.models.forEach(itemModel => {
|
|
1576
|
-
states.push([itemModel.id, itemModel.unreadItems]);
|
|
1577
|
-
});
|
|
1578
|
-
}
|
|
1579
|
-
else {
|
|
1580
|
-
if (item.id == ClipperModule.News) {
|
|
1581
|
-
states.push([ClipperModel.News, item.unreadItems]);
|
|
1582
|
-
}
|
|
1583
|
-
else if (item.id == ClipperModule.GazzetteBollettiniEFontiDiverse) {
|
|
1584
|
-
states.push([ClipperModel.AggiornamentoNormativo, item.unreadItems]);
|
|
1585
|
-
}
|
|
1586
|
-
else if (item.id == ClipperModule.QuesitiECasiRisolti) {
|
|
1587
|
-
states.push([ClipperModel.Quesiti, item.unreadItems]);
|
|
1588
|
-
}
|
|
1589
|
-
else if (item.id == ClipperModule.AllerteAlimentari) {
|
|
1590
|
-
states.push([ClipperModel.AllerteAlimentari, item.unreadItems]);
|
|
1591
|
-
}
|
|
1592
|
-
else if (item.id == ClipperModule.Approfondimenti) {
|
|
1593
|
-
states.push([ClipperModel.Articoli, item.unreadItems]);
|
|
1594
|
-
}
|
|
1595
|
-
else if (item.id == ClipperModule.ModificheAbrogazioniERinvii) {
|
|
1596
|
-
states.push([ClipperModel.Coordinamento, item.unreadItems]);
|
|
1597
|
-
}
|
|
1598
|
-
else if (item.id == ClipperModule.Giurisprudenza) {
|
|
1599
|
-
states.push([ClipperModel.Juris, item.unreadItems]);
|
|
1600
|
-
}
|
|
1601
|
-
}
|
|
1602
|
-
});
|
|
1603
|
-
return states;
|
|
1604
|
-
});
|
|
1605
|
-
}
|
|
1606
|
-
/**
|
|
1607
|
-
* Update unread items
|
|
1608
|
-
* @param module : the module
|
|
1609
|
-
* @param model : the optional model
|
|
1610
|
-
* @param increment : the increment (can be negative)
|
|
1611
|
-
*/
|
|
1612
|
-
updateUnreadItems(module, model, increment) {
|
|
1613
|
-
if (model) {
|
|
1614
|
-
this.items().forEach(item => {
|
|
1615
|
-
let itemModel = item.models.find(x => x.id === model);
|
|
1616
|
-
if (itemModel) {
|
|
1617
|
-
item.unreadItems += increment;
|
|
1618
|
-
itemModel.unreadItems += increment;
|
|
1619
|
-
return;
|
|
1620
|
-
}
|
|
1621
|
-
});
|
|
1622
|
-
}
|
|
1623
|
-
else {
|
|
1624
|
-
let item = this.items()?.find((x) => x.id == module);
|
|
1625
|
-
if (item) {
|
|
1626
|
-
item.unreadItems += increment;
|
|
1627
|
-
}
|
|
1628
|
-
}
|
|
1629
|
-
this.items.update((values) => [...values]);
|
|
1630
|
-
}
|
|
1631
|
-
/***
|
|
1632
|
-
* Get the module unread items
|
|
1633
|
-
* @param module: the module
|
|
1634
|
-
* @param model : the optional model
|
|
1635
|
-
* @returns the module unread items
|
|
1636
|
-
*/
|
|
1637
|
-
getUnreadItems(module, model) {
|
|
1638
|
-
if (model) {
|
|
1639
|
-
return this.unreadItemsByModel()?.find((x) => x[0] === model)?.[1];
|
|
1640
|
-
}
|
|
1641
|
-
return this.unreadItems()?.find((x) => x[0] === module)?.[1];
|
|
1642
|
-
}
|
|
1643
|
-
}
|
|
1644
|
-
export class ClipperTeamMemberInfo {
|
|
1645
|
-
constructor() {
|
|
1646
|
-
this.name = null;
|
|
1647
|
-
this.email = null;
|
|
1648
|
-
this.isAdmin = null;
|
|
1649
|
-
this.isDisabled = null;
|
|
1650
|
-
this.hasPermission55 = null;
|
|
1651
|
-
this.hasPermission56 = null;
|
|
1652
|
-
this.hasPermission57 = null;
|
|
1653
|
-
}
|
|
1654
|
-
}
|
|
1655
|
-
export var ClipperTeamProduct;
|
|
1656
|
-
(function (ClipperTeamProduct) {
|
|
1657
|
-
ClipperTeamProduct[ClipperTeamProduct["SharedArchive"] = 1004676] = "SharedArchive";
|
|
1658
|
-
ClipperTeamProduct[ClipperTeamProduct["SharedCalendar"] = 1004683] = "SharedCalendar";
|
|
1659
|
-
})(ClipperTeamProduct || (ClipperTeamProduct = {}));
|
|
1660
|
-
export var ClipperTeamProductPermission;
|
|
1661
|
-
(function (ClipperTeamProductPermission) {
|
|
1662
|
-
ClipperTeamProductPermission[ClipperTeamProductPermission["SharedArchive"] = 56] = "SharedArchive";
|
|
1663
|
-
ClipperTeamProductPermission[ClipperTeamProductPermission["SharedCalendar"] = 57] = "SharedCalendar";
|
|
1664
|
-
})(ClipperTeamProductPermission || (ClipperTeamProductPermission = {}));
|
|
1665
|
-
export class ClipperTeamInfo {
|
|
1666
|
-
constructor() {
|
|
1667
|
-
this.id = null;
|
|
1668
|
-
this.customerId = null;
|
|
1669
|
-
this.title = null;
|
|
1670
|
-
this.isDisabled = null;
|
|
1671
|
-
this.created = null;
|
|
1672
|
-
this.lastModified = null;
|
|
1673
|
-
}
|
|
1674
|
-
}
|
|
1675
|
-
export var ClipperCalendarState;
|
|
1676
|
-
(function (ClipperCalendarState) {
|
|
1677
|
-
ClipperCalendarState[ClipperCalendarState["Open"] = 101] = "Open";
|
|
1678
|
-
ClipperCalendarState[ClipperCalendarState["Expired"] = 102] = "Expired";
|
|
1679
|
-
ClipperCalendarState[ClipperCalendarState["Expiring"] = 103] = "Expiring";
|
|
1680
|
-
ClipperCalendarState[ClipperCalendarState["Closed"] = 104] = "Closed";
|
|
1681
|
-
})(ClipperCalendarState || (ClipperCalendarState = {}));
|
|
1682
|
-
export const ClipperCalendarStates = [
|
|
1683
|
-
{ name: 'Aperte', value: ClipperCalendarState.Open },
|
|
1684
|
-
{ name: 'Chiuse', value: ClipperCalendarState.Closed },
|
|
1685
|
-
{ name: 'Scadute', value: ClipperCalendarState.Expired },
|
|
1686
|
-
{ name: 'Imminenti', value: ClipperCalendarState.Expiring }
|
|
1687
|
-
];
|
|
1688
|
-
export class ClipperCalendarSearchParams {
|
|
1689
|
-
constructor() {
|
|
1690
|
-
this.id = null;
|
|
1691
|
-
this.fromDate = null;
|
|
1692
|
-
this.toDate = null;
|
|
1693
|
-
this.teamId = null;
|
|
1694
|
-
this.text = null;
|
|
1695
|
-
this.month = null;
|
|
1696
|
-
this.year = null;
|
|
1697
|
-
this.sortDescending = null;
|
|
1698
|
-
this.state = null;
|
|
1699
|
-
this.recurrentOnly = null;
|
|
1700
|
-
this.first = 0;
|
|
1701
|
-
this.count = 15;
|
|
1702
|
-
}
|
|
1703
|
-
}
|
|
1704
|
-
export var ClipperCalendarCopyMode;
|
|
1705
|
-
(function (ClipperCalendarCopyMode) {
|
|
1706
|
-
ClipperCalendarCopyMode[ClipperCalendarCopyMode["Duplicate"] = 1] = "Duplicate";
|
|
1707
|
-
ClipperCalendarCopyMode[ClipperCalendarCopyMode["Move"] = 2] = "Move";
|
|
1708
|
-
})(ClipperCalendarCopyMode || (ClipperCalendarCopyMode = {}));
|
|
1709
|
-
export var ClipperArchiveFileType;
|
|
1710
|
-
(function (ClipperArchiveFileType) {
|
|
1711
|
-
ClipperArchiveFileType[ClipperArchiveFileType["None"] = 0] = "None";
|
|
1712
|
-
ClipperArchiveFileType[ClipperArchiveFileType["Procedure"] = 1] = "Procedure";
|
|
1713
|
-
ClipperArchiveFileType[ClipperArchiveFileType["OperatingInstructions"] = 2] = "OperatingInstructions";
|
|
1714
|
-
ClipperArchiveFileType[ClipperArchiveFileType["TechnicalReport"] = 3] = "TechnicalReport";
|
|
1715
|
-
ClipperArchiveFileType[ClipperArchiveFileType["AdministrativeDocument"] = 4] = "AdministrativeDocument";
|
|
1716
|
-
ClipperArchiveFileType[ClipperArchiveFileType["Document"] = 5] = "Document";
|
|
1717
|
-
ClipperArchiveFileType[ClipperArchiveFileType["OtherApplicableRules"] = 6] = "OtherApplicableRules";
|
|
1718
|
-
ClipperArchiveFileType[ClipperArchiveFileType["Other"] = 7] = "Other";
|
|
1719
|
-
ClipperArchiveFileType[ClipperArchiveFileType["File"] = 101] = "File";
|
|
1720
|
-
ClipperArchiveFileType[ClipperArchiveFileType["Image"] = 102] = "Image";
|
|
1721
|
-
})(ClipperArchiveFileType || (ClipperArchiveFileType = {}));
|
|
1722
|
-
export const ClipperArchiveFileTypes = [
|
|
1723
|
-
{ name: 'File', value: ClipperArchiveFileType.File },
|
|
1724
|
-
{ name: 'Immagine', value: ClipperArchiveFileType.Image },
|
|
1725
|
-
{ name: 'Procedura', value: ClipperArchiveFileType.Procedure },
|
|
1726
|
-
{ name: 'Istruzioni operative', value: ClipperArchiveFileType.OperatingInstructions },
|
|
1727
|
-
{ name: 'Relazione tecnica', value: ClipperArchiveFileType.TechnicalReport },
|
|
1728
|
-
{ name: 'Documento iter amministrativo', value: ClipperArchiveFileType.AdministrativeDocument },
|
|
1729
|
-
{ name: 'Documento aziendale', value: ClipperArchiveFileType.Document },
|
|
1730
|
-
{ name: 'Altre norme applicabili', value: ClipperArchiveFileType.OtherApplicableRules },
|
|
1731
|
-
{ name: 'Altro', value: ClipperArchiveFileType.Other }
|
|
1732
|
-
];
|
|
1733
|
-
export var ClipperArchiveFileStorageType;
|
|
1734
|
-
(function (ClipperArchiveFileStorageType) {
|
|
1735
|
-
ClipperArchiveFileStorageType[ClipperArchiveFileStorageType["ArsCloud"] = 2] = "ArsCloud";
|
|
1736
|
-
ClipperArchiveFileStorageType[ClipperArchiveFileStorageType["OtherCloud"] = 3] = "OtherCloud";
|
|
1737
|
-
})(ClipperArchiveFileStorageType || (ClipperArchiveFileStorageType = {}));
|
|
1738
|
-
export const ClipperArchiveFileStorageTypes = [
|
|
1739
|
-
{ name: 'ARS Cloud', value: ClipperArchiveFileStorageType.ArsCloud },
|
|
1740
|
-
{ name: 'Altro cloud', value: ClipperArchiveFileStorageType.OtherCloud }
|
|
1741
|
-
];
|
|
1742
|
-
export class ClipperArchiveFoldersSearchParams {
|
|
1743
|
-
constructor() {
|
|
1744
|
-
this.teamId = null;
|
|
1745
|
-
this.privateOnly = null;
|
|
1746
|
-
}
|
|
1747
|
-
}
|
|
1748
|
-
export class ClipperArchiveFilesSearchParams {
|
|
1749
|
-
constructor() {
|
|
1750
|
-
this.teamId = null;
|
|
1751
|
-
this.folderId = null;
|
|
1752
|
-
this.folderName = null;
|
|
1753
|
-
this.fileType = null;
|
|
1754
|
-
this.fromDate = null;
|
|
1755
|
-
this.toDate = null;
|
|
1756
|
-
this.topicPath = null;
|
|
1757
|
-
this.topicId = null;
|
|
1758
|
-
this.topicName = null;
|
|
1759
|
-
this.titlesOnly = null;
|
|
1760
|
-
this.text = null;
|
|
1761
|
-
this.documentNumber = null;
|
|
1762
|
-
this.documentYear = null;
|
|
1763
|
-
this.first = null;
|
|
1764
|
-
this.count = null;
|
|
1765
|
-
}
|
|
1766
|
-
}
|
|
1767
|
-
export var ClipperArchiveCopyMode;
|
|
1768
|
-
(function (ClipperArchiveCopyMode) {
|
|
1769
|
-
ClipperArchiveCopyMode[ClipperArchiveCopyMode["Duplicate"] = 1] = "Duplicate";
|
|
1770
|
-
ClipperArchiveCopyMode[ClipperArchiveCopyMode["Move"] = 2] = "Move";
|
|
1771
|
-
})(ClipperArchiveCopyMode || (ClipperArchiveCopyMode = {}));
|
|
1772
|
-
export class ClipperUtils {
|
|
1773
|
-
/**
|
|
1774
|
-
* Check if a model is readable
|
|
1775
|
-
* @param model : the model to check
|
|
1776
|
-
* @returns : true if the model is readable
|
|
1777
|
-
*/
|
|
1778
|
-
static isClipperModelReadable(model) {
|
|
1779
|
-
return model !== ClipperModel.Unknown &&
|
|
1780
|
-
model !== ClipperModel.NormativaVigente &&
|
|
1781
|
-
model !== ClipperModel.Scadenze &&
|
|
1782
|
-
model !== ClipperModel.Segnalazioni;
|
|
1783
|
-
}
|
|
1784
|
-
/**
|
|
1785
|
-
* Return the Clipper module from a document
|
|
1786
|
-
* @param item: the documenti item
|
|
1787
|
-
* @returns the module id
|
|
1788
|
-
*/
|
|
1789
|
-
static getClipperModuleFromModel(item) {
|
|
1790
|
-
switch (item.model) {
|
|
1791
|
-
case ClipperModel.AllerteAlimentari: return ClipperModule.AllerteAlimentari;
|
|
1792
|
-
case ClipperModel.News:
|
|
1793
|
-
case ClipperModel.Articoli:
|
|
1794
|
-
case ClipperModel.Juris: return ClipperModule.News;
|
|
1795
|
-
case ClipperModel.Quesiti: return ClipperModule.QuesitiECasiRisolti;
|
|
1796
|
-
case ClipperModel.Coordinamento: return ClipperModule.ModificheAbrogazioniERinvii;
|
|
1797
|
-
case ClipperModel.GiurisprudenzaRecente: return ClipperModule.Giurisprudenza;
|
|
1798
|
-
case ClipperModel.NormativaVigente: return ClipperModule.NormativaVigente;
|
|
1799
|
-
case ClipperModel.Segnalazioni:
|
|
1800
|
-
case ClipperModel.Scadenze: return ClipperModule.ScadenzeESegnalazioni;
|
|
1801
|
-
case ClipperModel.AggiornamentoNormativo: return ClipperModule.GazzetteBollettiniEFontiDiverse;
|
|
1802
|
-
}
|
|
1803
|
-
return null;
|
|
1804
|
-
}
|
|
1805
|
-
/**
|
|
1806
|
-
* Return the Clipper group name
|
|
1807
|
-
* @param value: the group value
|
|
1808
|
-
* @returns the group name
|
|
1809
|
-
*/
|
|
1810
|
-
static getClipperModuleGroupName(value) {
|
|
1811
|
-
return ClipperModuleGroups.filter((n) => n.value === value)?.[0].name;
|
|
1812
|
-
}
|
|
1813
|
-
/**
|
|
1814
|
-
* Return the list of modules of a group
|
|
1815
|
-
* @param value: the module name
|
|
1816
|
-
* @returns the list of modules
|
|
1817
|
-
*/
|
|
1818
|
-
static getClipperModuleGroupItems(value) {
|
|
1819
|
-
return ClipperModules.filter((n) => n.parentValue === value);
|
|
1820
|
-
}
|
|
1821
|
-
/**
|
|
1822
|
-
* Check modules against current selected in filter
|
|
1823
|
-
* @param modules : the modules to check for
|
|
1824
|
-
* @param mode : thc check mode: 1) exactly all elements 2) all elements 3) any of the elements specified
|
|
1825
|
-
* @returns true if the check is successfull
|
|
1826
|
-
*/
|
|
1827
|
-
static checkModules(modules, currentModules, mode = 1) {
|
|
1828
|
-
let ok = false;
|
|
1829
|
-
if (mode === 1) {
|
|
1830
|
-
// All and only the elements specified
|
|
1831
|
-
for (let i = 0; i < currentModules.length; i++) {
|
|
1832
|
-
ok = (modules.findIndex(x => x === currentModules[i].value) ?? -1) !== -1;
|
|
1833
|
-
if (!ok) {
|
|
1834
|
-
break;
|
|
1835
|
-
}
|
|
1836
|
-
}
|
|
1837
|
-
ok = ok && modules.length >= (currentModules?.length ?? 0);
|
|
1838
|
-
}
|
|
1839
|
-
else if (mode === 2) {
|
|
1840
|
-
// All the elements specified
|
|
1841
|
-
for (let i = 0; i < modules.length; i++) {
|
|
1842
|
-
ok = (currentModules?.findIndex(x => x.value === modules[i]) ?? -1) !== -1;
|
|
1843
|
-
if (!ok) {
|
|
1844
|
-
break;
|
|
1845
|
-
}
|
|
1846
|
-
}
|
|
1847
|
-
}
|
|
1848
|
-
else if (mode === 3) {
|
|
1849
|
-
// Any of the specified elements
|
|
1850
|
-
for (let i = 0; i < modules.length; i++) {
|
|
1851
|
-
ok = (currentModules?.findIndex(x => x.value === modules[i]) ?? -1) !== -1;
|
|
1852
|
-
if (ok) {
|
|
1853
|
-
break;
|
|
1854
|
-
}
|
|
1855
|
-
}
|
|
1856
|
-
}
|
|
1857
|
-
return ok;
|
|
1858
|
-
}
|
|
1859
|
-
/**
|
|
1860
|
-
* Return the list of available sort options for a list of modules
|
|
1861
|
-
* @param modules : the modules list
|
|
1862
|
-
* @returns the list of availbale sort options
|
|
1863
|
-
*/
|
|
1864
|
-
static getClipperAvailableSortOptions(modules = undefined, params = undefined) {
|
|
1865
|
-
const options = [
|
|
1866
|
-
{ name: "Data decrescente", value: ClipperSort.DateDesc },
|
|
1867
|
-
{ name: "Data crescente", value: ClipperSort.DateAsc },
|
|
1868
|
-
{ name: "Data fonte decrescente", value: ClipperSort.SourceDateDesc },
|
|
1869
|
-
{ name: "Data fonte crescente", value: ClipperSort.SourceDateAsc },
|
|
1870
|
-
{ name: "Rilevanza", value: ClipperSort.Relevance },
|
|
1871
|
-
{ name: "Popolarità", value: ClipperSort.Popularity },
|
|
1872
|
-
];
|
|
1873
|
-
let sortOptions = [];
|
|
1874
|
-
if (params && ClipperSearchUtils.isTextQuery(params)) {
|
|
1875
|
-
sortOptions.push(options[4]);
|
|
1876
|
-
}
|
|
1877
|
-
if (modules?.length > 0) {
|
|
1878
|
-
if (this.checkModules([ClipperModule.GazzetteBollettiniEFontiDiverse], modules, 1)) {
|
|
1879
|
-
sortOptions.push(options[2]);
|
|
1880
|
-
sortOptions.push(options[3]);
|
|
1881
|
-
}
|
|
1882
|
-
else if (this.checkModules([ClipperModule.NormativaVigente, ClipperModule.Giurisprudenza, ClipperModule.GazzetteBollettiniEFontiDiverse], modules, 3)) {
|
|
1883
|
-
sortOptions.push(options[0]);
|
|
1884
|
-
sortOptions.push(options[1]);
|
|
1885
|
-
sortOptions.push(options[2]);
|
|
1886
|
-
sortOptions.push(options[3]);
|
|
1887
|
-
sortOptions.push(options[5]);
|
|
1888
|
-
}
|
|
1889
|
-
else {
|
|
1890
|
-
sortOptions.push(options[0]);
|
|
1891
|
-
sortOptions.push(options[1]);
|
|
1892
|
-
}
|
|
1893
|
-
}
|
|
1894
|
-
else {
|
|
1895
|
-
sortOptions.push(options[0]);
|
|
1896
|
-
sortOptions.push(options[1]);
|
|
1897
|
-
}
|
|
1898
|
-
return sortOptions;
|
|
1899
|
-
}
|
|
1900
|
-
}
|
|
1901
|
-
export class ClipperSearchUtils {
|
|
1902
|
-
/**
|
|
1903
|
-
* Clear the search params object
|
|
1904
|
-
* @param params : the search params to clear
|
|
1905
|
-
*/
|
|
1906
|
-
static clear(params) {
|
|
1907
|
-
params.sector = null;
|
|
1908
|
-
params.sectors = null;
|
|
1909
|
-
params.author = null;
|
|
1910
|
-
params.authors = null;
|
|
1911
|
-
params.topic = null;
|
|
1912
|
-
params.topics = null;
|
|
1913
|
-
params.taxonomy = null;
|
|
1914
|
-
params.taxonomies = null;
|
|
1915
|
-
params.taxonomyPath = null;
|
|
1916
|
-
params.taxonomyNode = null;
|
|
1917
|
-
params.number = null;
|
|
1918
|
-
params.fromDate = null;
|
|
1919
|
-
params.toDate = null;
|
|
1920
|
-
params.year = null;
|
|
1921
|
-
params.sourceNumber = null;
|
|
1922
|
-
params.source = null;
|
|
1923
|
-
params.sourceFromDate = null;
|
|
1924
|
-
params.sourceToDate = null;
|
|
1925
|
-
params.sourceYear = null;
|
|
1926
|
-
params.tags = null;
|
|
1927
|
-
params.text = null;
|
|
1928
|
-
params.augmentedText = null;
|
|
1929
|
-
params.titleOnly = false;
|
|
1930
|
-
params.type = null;
|
|
1931
|
-
params.types = null;
|
|
1932
|
-
params.showUnreadDocumentsOnly = false;
|
|
1933
|
-
params.showCommentedDocumentsOnly = false;
|
|
1934
|
-
params.showNotAbrogatedDocumentsOnly = false;
|
|
1935
|
-
params.expandTextQueryUsingAI = false;
|
|
1936
|
-
params.channels = [...ClipperChannels];
|
|
1937
|
-
params.changeReason = null;
|
|
1938
|
-
params.changedNumber = null;
|
|
1939
|
-
params.changedYear = null;
|
|
1940
|
-
params.changedTitle = null;
|
|
1941
|
-
params.modifierNumber = null;
|
|
1942
|
-
params.modifierYear = null;
|
|
1943
|
-
params.modifierTitle = null;
|
|
1944
|
-
params.model = null;
|
|
1945
|
-
params.models = null;
|
|
1946
|
-
params.module = null;
|
|
1947
|
-
params.modules = null;
|
|
1948
|
-
}
|
|
1949
|
-
/**
|
|
1950
|
-
* Get hte model list related to a list of modules
|
|
1951
|
-
* @param modules: the modules to check
|
|
1952
|
-
* @parma single: true to select only the most representative
|
|
1953
|
-
* @returns the list fo models
|
|
1954
|
-
*/
|
|
1955
|
-
static getModulesModels(modules, single = false) {
|
|
1956
|
-
const models = [];
|
|
1957
|
-
if ((modules?.length ?? 0) > 0) {
|
|
1958
|
-
modules?.forEach(module => {
|
|
1959
|
-
switch (module.value) {
|
|
1960
|
-
case ClipperModule.ScadenzeESegnalazioni:
|
|
1961
|
-
[ClipperModel.Scadenze, ClipperModel.Segnalazioni].forEach(x => models.push(x));
|
|
1962
|
-
break;
|
|
1963
|
-
case ClipperModule.QuesitiECasiRisolti:
|
|
1964
|
-
models.push(ClipperModel.Quesiti);
|
|
1965
|
-
break;
|
|
1966
|
-
case ClipperModule.News:
|
|
1967
|
-
single
|
|
1968
|
-
? models.push(ClipperModel.News)
|
|
1969
|
-
: [ClipperModel.Articoli, ClipperModel.News, ClipperModel.Juris].forEach(x => models.push(x));
|
|
1970
|
-
break;
|
|
1971
|
-
case ClipperModule.Approfondimenti:
|
|
1972
|
-
models.push(ClipperModel.Articoli);
|
|
1973
|
-
break;
|
|
1974
|
-
case ClipperModule.AllerteAlimentari:
|
|
1975
|
-
models.push(ClipperModel.AllerteAlimentari);
|
|
1976
|
-
break;
|
|
1977
|
-
case ClipperModule.GazzetteBollettiniEFontiDiverse:
|
|
1978
|
-
models.push(ClipperModel.AggiornamentoNormativo);
|
|
1979
|
-
break;
|
|
1980
|
-
case ClipperModule.NormativaVigente:
|
|
1981
|
-
models.push(ClipperModel.NormativaVigente);
|
|
1982
|
-
break;
|
|
1983
|
-
case ClipperModule.ModificheAbrogazioniERinvii:
|
|
1984
|
-
models.push(ClipperModel.Coordinamento);
|
|
1985
|
-
break;
|
|
1986
|
-
case ClipperModule.Giurisprudenza:
|
|
1987
|
-
models.push(ClipperModel.Juris);
|
|
1988
|
-
break;
|
|
1989
|
-
}
|
|
1990
|
-
});
|
|
1991
|
-
}
|
|
1992
|
-
return models;
|
|
1993
|
-
}
|
|
1994
|
-
/**
|
|
1995
|
-
* Check if current filter is a text based search
|
|
1996
|
-
* @param params : the search params to check
|
|
1997
|
-
* @returns true if is a text based search
|
|
1998
|
-
*/
|
|
1999
|
-
static isTextQuery(params) {
|
|
2000
|
-
return params.text != null && params.text?.length > 0;
|
|
2001
|
-
}
|
|
2002
|
-
/**
|
|
2003
|
-
* Try to add a query
|
|
2004
|
-
* @param q : the new query
|
|
2005
|
-
* @param queries : the new query
|
|
2006
|
-
*/
|
|
2007
|
-
static concatTextQuery(q, queries) {
|
|
2008
|
-
if (q && q.length > 0) {
|
|
2009
|
-
if (queries.length == 0 && (q[0] === '+' || q[0] === '-'))
|
|
2010
|
-
q = q.substring(1);
|
|
2011
|
-
if (q[q.length - 1] !== '\"' && q.indexOf(' ') !== -1)
|
|
2012
|
-
q = "\"" + q + "\"";
|
|
2013
|
-
if (queries.length > 0)
|
|
2014
|
-
queries += ", ";
|
|
2015
|
-
queries += q;
|
|
2016
|
-
}
|
|
2017
|
-
return queries;
|
|
2018
|
-
}
|
|
2019
|
-
/**
|
|
2020
|
-
* Normalize text query
|
|
2021
|
-
* @param text : the text query to normalize
|
|
2022
|
-
* @returns : the text normalized or null
|
|
2023
|
-
*/
|
|
2024
|
-
static normalizeTextQuery(text) {
|
|
2025
|
-
if (!text || text.length === 0)
|
|
2026
|
-
return null;
|
|
2027
|
-
let q = '';
|
|
2028
|
-
let queries = '';
|
|
2029
|
-
for (let i = 0; i < text.length; i++) {
|
|
2030
|
-
if (text[i] === ',') {
|
|
2031
|
-
queries = this.concatTextQuery(q.trim(), queries);
|
|
2032
|
-
q = '';
|
|
2033
|
-
}
|
|
2034
|
-
else
|
|
2035
|
-
q += text[i];
|
|
2036
|
-
}
|
|
2037
|
-
queries = this.concatTextQuery(q.trim(), queries);
|
|
2038
|
-
return queries;
|
|
2039
|
-
}
|
|
2040
|
-
}
|
|
2041
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmaW5pdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcnMtdXRpbHMvY2xpcHBlci5jb21tb24vY29tbW9uL2RlZmluaXRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE9BQU8sRUFBRSxRQUFRLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR3pELE1BQU0sQ0FBTixJQUFZLG1CQUtYO0FBTEQsV0FBWSxtQkFBbUI7SUFDN0IsNkRBQVEsQ0FBQTtJQUNSLHlGQUFzQixDQUFBO0lBQ3RCLGlIQUF1QyxDQUFBO0FBRXpDLENBQUMsRUFMVyxtQkFBbUIsS0FBbkIsbUJBQW1CLFFBSzlCO0FBQ0QsTUFBTSxDQUFOLElBQVkscUJBSVg7QUFKRCxXQUFZLHFCQUFxQjtJQUMvQixpRUFBUSxDQUFBO0lBQ1IsbUVBQVMsQ0FBQTtJQUNULCtEQUFPLENBQUE7QUFDVCxDQUFDLEVBSlcscUJBQXFCLEtBQXJCLHFCQUFxQixRQUloQztBQUVELE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUEyQztJQUM1RSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLHFCQUFxQixDQUFDLElBQUksRUFBRTtJQUNuRCxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLHFCQUFxQixDQUFDLEtBQUssRUFBRTtJQUNwRCxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLHFCQUFxQixDQUFDLEdBQUcsRUFBRTtDQUNyRCxDQUFBO0FBRUQsTUFBTSxDQUFOLElBQVksb0JBSVg7QUFKRCxXQUFZLG9CQUFvQjtJQUM5QixtRUFBVSxDQUFBO0lBQ1YsaUVBQVMsQ0FBQTtJQUNULDZEQUFPLENBQUE7QUFDVCxDQUFDLEVBSlcsb0JBQW9CLEtBQXBCLG9CQUFvQixRQUkvQjtBQUVELE1BQU0sQ0FBTixJQUFZLGtCQVVYO0FBVkQsV0FBWSxrQkFBa0I7SUFDNUIsMkRBQVEsQ0FBQTtJQUNSLG1GQUFvQixDQUFBO0lBQ3BCLHFGQUFnQixDQUFBO0lBQ2hCLGlGQUFtQixDQUFBO0lBQ25CLCtEQUFVLENBQUE7SUFDViwrRUFBa0IsQ0FBQTtJQUNsQix3RUFBZSxDQUFBO0lBQ2Ysb0VBQWEsQ0FBQTtJQUNiLGtFQUFZLENBQUE7QUFDZCxDQUFDLEVBVlcsa0JBQWtCLEtBQWxCLGtCQUFrQixRQVU3QjtBQUVELE1BQU0sQ0FBTixJQUFZLGFBY1g7QUFkRCxXQUFZLGFBQWE7SUFDdkIseUVBQW9CLENBQUE7SUFDcEIsaURBQVEsQ0FBQTtJQUNSLHVHQUFtQyxDQUFBO0lBQ25DLHFFQUFrQixDQUFBO0lBQ2xCLCtGQUErQixDQUFBO0lBQy9CLG9GQUEwQixDQUFBO0lBQzFCLDJFQUFxQixDQUFBO0lBQ3JCLHVFQUFtQixDQUFBO0lBQ25CLGdGQUF3QixDQUFBO0lBQ3hCLHdFQUFvQixDQUFBO0lBQ3BCLHNEQUFXLENBQUE7SUFDWCx3REFBWSxDQUFBO0FBRWQsQ0FBQyxFQWRXLGFBQWEsS0FBYixhQUFhLFFBY3hCO0FBRUQsTUFBTSxDQUFOLElBQVksWUFlWDtBQWZELFdBQVksWUFBWTtJQUN0QixxREFBVyxDQUFBO0lBQ1gsbUZBQTBCLENBQUE7SUFDMUIsK0NBQVEsQ0FBQTtJQUNSLHVEQUFZLENBQUE7SUFDWixpREFBUyxDQUFBO0lBQ1QscURBQVcsQ0FBQTtJQUNYLHVFQUFvQixDQUFBO0lBQ3BCLHdEQUFhLENBQUE7SUFDYixrRUFBa0IsQ0FBQTtJQUNsQiwwRUFBc0IsQ0FBQTtJQUN0QixzRUFBb0IsQ0FBQTtJQUNwQixrRkFBMEIsQ0FBQTtJQUMxQixnRUFBaUIsQ0FBQTtJQUNqQiwwRUFBaUIsQ0FBQTtBQUNuQixDQUFDLEVBZlcsWUFBWSxLQUFaLFlBQVksUUFldkI7QUFFRCxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQTRCO0lBQ3BELEVBQUUsS0FBSyxFQUFFLFlBQVksQ0FBQyxzQkFBc0IsRUFBRSxJQUFJLEVBQUUsZUFBZSxFQUFFO0lBQ3JFLEVBQUUsS0FBSyxFQUFFLFlBQVksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRTtJQUMxQyxFQUFFLEtBQUssRUFBRSxZQUFZLENBQUMsUUFBUSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7SUFDbEQsRUFBRSxLQUFLLEVBQUUsWUFBWSxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsaUJBQWlCLEVBQUU7SUFDdEQsRUFBRSxLQUFLLEVBQUUsWUFBWSxDQUFDLHFCQUFxQixFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRTtJQUNyRSxFQUFFLEtBQUssRUFBRSxZQUFZLENBQUMsT0FBTyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUU7SUFDaEQsRUFBRSxLQUFLLEVBQUUsWUFBWSxDQUFDLGdCQUFnQixFQUFFLElBQUksRUFBRSxtQkFBbUIsRUFBRTtJQUNuRSxFQUFFLEtBQUssRUFBRSxZQUFZLENBQUMsUUFBUSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7SUFDbEQsRUFBRSxLQUFLLEVBQUUsWUFBWSxDQUFDLGlCQUFpQixFQUFFLElBQUksRUFBRSxvQkFBb0IsRUFBRTtJQUNyRSxFQUFFLEtBQUssRUFBRSxZQUFZLENBQUMsYUFBYSxFQUFFLElBQUksRUFBRSx5QkFBeUIsRUFBRTtDQUN2RSxDQUFBO0FBRUQsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQTRCO0lBQzFELEVBQUUsSUFBSSxFQUFFLGVBQWUsRUFBRSxLQUFLLEVBQUUsa0JBQWtCLENBQUMsSUFBSSxFQUFFO0lBQ3pELEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsa0JBQWtCLENBQUMsT0FBTyxFQUFFO0lBQ3RELEVBQUUsSUFBSSxFQUFFLG1CQUFtQixFQUFFLEtBQUssRUFBRSxrQkFBa0IsQ0FBQyxnQkFBZ0IsRUFBRTtJQUN6RSxFQUFFLElBQUksRUFBRSxtQkFBbUIsRUFBRSxLQUFLLEVBQUUsa0JBQWtCLENBQUMsWUFBWSxFQUFFO0lBQ3JFLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsa0JBQWtCLENBQUMsZUFBZSxFQUFFO0lBQ2pFLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsa0JBQWtCLENBQUMsTUFBTSxFQUFFO0lBQ3JELEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsa0JBQWtCLENBQUMsVUFBVSxFQUFFO0lBQzVELEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsa0JBQWtCLENBQUMsUUFBUSxFQUFFO0NBQ3pELENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxjQUFjLEdBQTRCO0lBQ3JELEVBQUUsSUFBSSxFQUFFLHFEQUFxRCxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLGFBQWEsQ0FBQyxJQUFJLEVBQUU7SUFDL0csRUFBRSxJQUFJLEVBQUUsc0NBQXNDLEVBQUUsU0FBUyxFQUFFLHNDQUFzQyxFQUFFLEtBQUssRUFBRSxhQUFhLENBQUMsK0JBQStCLEVBQUU7SUFDekosRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFLEtBQUssRUFBRSxhQUFhLENBQUMsY0FBYyxFQUFFO0lBQzVGLEVBQUUsSUFBSSxFQUFFLGlDQUFpQyxFQUFFLFNBQVMsRUFBRSxpQ0FBaUMsRUFBRSxLQUFLLEVBQUUsYUFBYSxDQUFDLDJCQUEyQixFQUFFO0lBQzNJLEVBQUUsSUFBSSxFQUFFLG9CQUFvQixFQUFFLFNBQVMsRUFBRSxvQkFBb0IsRUFBRSxLQUFLLEVBQUUsYUFBYSxDQUFDLGlCQUFpQixFQUFFO0lBQ3ZHLEVBQUUsSUFBSSxFQUFFLHlCQUF5QixFQUFFLFNBQVMsRUFBRSx5QkFBeUIsRUFBRSxLQUFLLEVBQUUsYUFBYSxDQUFDLHFCQUFxQixFQUFFO0lBQ3JILEVBQUUsSUFBSSxFQUFFLG1CQUFtQixFQUFFLFNBQVMsRUFBRSxtQkFBbUIsRUFBRSxLQUFLLEVBQUUsYUFBYSxDQUFDLGdCQUFnQixFQUFFO0lBQ3BHLEVBQUUsSUFBSSxFQUFFLHdCQUF3QixFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLGFBQWEsQ0FBQyxtQkFBbUIsRUFBRTtDQUNuRyxDQUFBO0FBRUQsTUFBTSxDQUFOLElBQVksY0FPWDtBQVBELFdBQVksY0FBYztJQUN4QixtREFBUSxDQUFBO0lBQ1IseUVBQW1CLENBQUE7SUFDbkIsK0VBQXNCLENBQUE7SUFDdEIseUVBQW1CLENBQUE7SUFDbkIseURBQVcsQ0FBQTtJQUNYLHVEQUFVLENBQUE7QUFDWixDQUFDLEVBUFcsY0FBYyxLQUFkLGNBQWMsUUFPekI7QUFFRCxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQW9DO0lBQzlELEVBQUUsS0FBSyxFQUFFLGNBQWMsQ0FBQyxlQUFlLEVBQUUsSUFBSSxFQUFFLG1CQUFtQixFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7SUFDbEYsRUFBRSxLQUFLLEVBQUUsY0FBYyxDQUFDLGtCQUFrQixFQUFFLElBQUksRUFBRSxxQkFBcUIsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO0lBQ3ZGLEVBQUUsS0FBSyxFQUFFLGNBQWMsQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFO0lBQy9ELEVBQUUsS0FBSyxFQUFFLGNBQWMsQ0FBQyxlQUFlLEVBQUUsSUFBSSxFQUFFLGtCQUFrQixFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Q0FDbEYsQ0FBQTtBQUVELE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBNEI7SUFDckQ7UUFDRSxLQUFLLEVBQUUsTUFBTTtRQUNiLElBQUksRUFBRSxTQUFTO0tBQ2hCO0lBQ0Q7UUFDRSxLQUFLLEVBQUUsTUFBTTtRQUNiLElBQUksRUFBRSxZQUFZO0tBQ25CO0lBQ0Q7UUFDRSxLQUFLLEVBQUUsT0FBTztRQUNkLElBQUksRUFBRSxVQUFVO0tBQ2pCO0lBQ0Q7UUFDRSxLQUFLLEVBQUUsT0FBTztRQUNkLElBQUksRUFBRSxVQUFVO0tBQ2pCO0lBQ0Q7UUFDRSxLQUFLLEVBQUUsTUFBTTtRQUNiLElBQUksRUFBRSxnQkFBZ0I7S0FDdkI7SUFDRDtRQUNFLEtBQUssRUFBRSxPQUFPO1FBQ2QsSUFBSSxFQUFFLHVCQUF1QjtLQUM5QjtJQUNEO1FBQ0UsS0FBSyxFQUFFLE1BQU07UUFDYixJQUFJLEVBQUUsT0FBTztLQUNkO0lBQ0Q7UUFDRSxLQUFLLEVBQUUsTUFBTTtRQUNiLElBQUksRUFBRSxTQUFTO0tBQ2hCO0lBQ0Q7UUFDRSxLQUFLLEVBQUUsTUFBTTtRQUNiLElBQUksRUFBRSxXQUFXO0tBQ2xCO0lBQ0Q7UUFDRSxLQUFLLEVBQUUsTUFBTTtRQUNiLElBQUksRUFBRSxRQUFRO0tBQ2Y7SUFDRDtRQUNFLEtBQUssRUFBRSxNQUFNO1FBQ2IsSUFBSSxFQUFFLFFBQVE7S0FDZjtJQUNEO1FBQ0UsS0FBSyxFQUFFLE1BQU07UUFDYixJQUFJLEVBQUUsVUFBVTtLQUNqQjtJQUNEO1FBQ0UsS0FBSyxFQUFFLE1BQU07UUFDYixJQUFJLEVBQUUsUUFBUTtLQUNmO0lBQ0Q7UUFDRSxLQUFLLEVBQUUsTUFBTTtRQUNiLElBQUksRUFBRSxVQUFVO0tBQ2pCO0lBQ0Q7UUFDRSxLQUFLLEVBQUUsTUFBTTtRQUNiLElBQUksRUFBRSxTQUFTO0tBQ2hCO0lBQ0Q7UUFDRSxLQUFLLEVBQUUsTUFBTTtRQUNiLElBQUksRUFBRSxTQUFTO0tBQ2hCO0lBQ0Q7UUFDRSxLQUFLLEVBQUUsT0FBTztRQUNkLElBQUksRUFBRSxxQkFBcUI7S0FDNUI7SUFDRDtRQUNFLEtBQUssRUFBRSxNQUFNO1FBQ2IsSUFBSSxFQUFFLFFBQVE7S0FDZjtJQUNEO1FBQ0UsS0FBSyxFQUFFLE1BQU07UUFDYixJQUFJLEVBQUUsZUFBZTtLQUN0QjtJQUNEO1FBQ0UsS0FBSyxFQUFFLE1BQU07UUFDYixJQUFJLEVBQUUsUUFBUTtLQUNmO0lBQ0Q7UUFDRSxLQUFLLEVBQUUsTUFBTTtRQUNiLElBQUksRUFBRSxtQkFBbUI7S0FDMUI7SUFDRDtRQUNFLEtBQUssRUFBRSxNQUFNO1FBQ2IsSUFBSSxFQUFFLG9CQUFvQjtLQUMzQjtDQUNGLENBQUE7QUFVRCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQWlCO0lBQzFDO1FBQ0UsS0FBSyxFQUFFLElBQUk7UUFDWCxJQUFJLEVBQUUsMEJBQTBCO1FBQ2hDLFNBQVMsRUFBRSxhQUFhO1FBQ3hCLEtBQUssRUFBRSxHQUFHO1FBQ1YsUUFBUSxFQUFFLGNBQWM7S0FDekI7SUFDRDtRQUNFLEtBQUssRUFBRSxJQUFJO1FBQ1gsSUFBSSxFQUFFLHdCQUF3QjtRQUM5QixTQUFTLEVBQUUsV0FBVztRQUN0QixLQUFLLEVBQUUsR0FBRztRQUNWLFFBQVEsRUFBRSxjQUFjO0tBQ3pCO0lBRUQ7UUFDRSxLQUFLLEVBQUUsSUFBSTtRQUNYLElBQUksRUFBRSx3QkFBd0I7UUFDOUIsU0FBUyxFQUFFLFdBQVc7UUFDdEIsS0FBSyxFQUFFLEdBQUc7UUFDVixRQUFRLEVBQUUsY0FBYztLQUN6QjtJQUNEO1FBQ0UsS0FBSyxFQUFFLE1BQU07UUFDYixJQUFJLEVBQUUsV0FBVztRQUNqQixLQUFLLEVBQUUsR0FBRztRQUNWLFFBQVEsRUFBRSxjQUFjO0tBQ3pCO0lBQ0Q7UUFDRSxLQUFLLEVBQUUsTUFBTTtRQUNiLElBQUksRUFBRSxzQkFBc0I7UUFDNUIsS0FBSyxFQUFFLEdBQUc7UUFDVixRQUFRLEVBQUUsY0FBYztLQUN6QjtJQUNEO1FBQ0UsS0FBSyxFQUFFLE1BQU07UUFDYixJQUFJLEVBQUUsY0FBYztRQUNwQixLQUFLLEVBQUUsR0FBRztRQUNWLFFBQVEsRUFBRSxjQUFjO0tBQ3pCO0lBQ0Q7UUFDRSxLQUFLLEVBQUUsT0FBTztRQUNkLElBQUksRUFBRSxZQUFZO1FBQ2xCLEtBQUssRUFBRSxHQUFHO1FBQ1YsUUFBUSxFQUFFLGNBQWM7S0FDekI7SUFDRDtRQUNFLEtBQUssRUFBRSxPQUFPO1FBQ2QsSUFBSSxFQUFFLFlBQVk7UUFDbEIsS0FBSyxFQUFFLEdBQUc7UUFDVixRQUFRLEVBQUUsY0FBYztLQUN6QjtJQUNEO1FBQ0UsS0FBSyxFQUFFLE1BQU07UUFDYixJQUFJLEVBQUUsa0JBQWtCO1FBQ3hCLEtBQUssRUFBRSxHQUFHO1FBQ1YsUUFBUSxFQUFFLGNBQWM7S0FDekI7SUFDRDtRQUNFLEtBQUssRUFBRSxPQUFPO1FBQ2QsSUFBSSxFQUFFLHlCQUF5QjtRQUMvQixLQUFLLEVBQUUsR0FBRztRQUNWLFFBQVEsRUFBRSxjQUFjO0tBQ3pCO0lBQ0Q7UUFDRSxLQUFLLEVBQUUsTUFBTTtRQUNiLElBQUksRUFBRSxTQUFTO1FBQ2YsS0FBSyxFQUFFLEdBQUc7UUFDVixRQUFRLEVBQUUsY0FBYztLQUN6QjtJQUNEO1FBQ0UsS0FBSyxFQUFFLE1BQU07UUFDYixJQUFJLEVBQUUsV0FBVztRQUNqQixLQUFLLEVBQUUsR0FBRztRQUNWLFFBQVEsRUFBRSxjQUFjO0tBQ3pCO0lBQ0Q7UUFDRSxLQUFLLEVBQUUsTUFBTTtRQUNiLElBQUksRUFBRSxhQUFhO1FBQ25CLEtBQUssRUFBRSxHQUFHO1FBQ1YsUUFBUSxFQUFFLGNBQWM7S0FDekI7SUFDRDtRQUNFLEtBQUssRUFBRSxNQUFNO1FBQ2IsSUFBSSxFQUFFLFVBQVU7UUFDaEIsS0FBSyxFQUFFLEdBQUc7UUFDVixRQUFRLEVBQUUsY0FBYztLQUN6QjtJQUNEO1FBQ0UsS0FBSyxFQUFFLE1BQU07UUFDYixJQUFJLEVBQUUsVUFBVTtRQUNoQixLQUFLLEVBQUUsR0FBRztRQUNWLFFBQVEsRUFBRSxjQUFjO0tBQ3pCO0lBQ0Q7UUFDRSxLQUFLLEVBQUUsTUFBTTtRQUNiLElBQUksRUFBRSxZQUFZO1FBQ2xCLEtBQUssRUFBRSxHQUFHO1FBQ1YsUUFBUSxFQUFFLGNBQWM7S0FDekI7SUFDRDtRQUNFLEtBQUssRUFBRSxNQUFNO1FBQ2IsSUFBSSxFQUFFLFVBQVU7UUFDaEIsS0FBSyxFQUFFLEdBQUc7UUFDVixRQUFRLEVBQUUsY0FBYztLQUN6QjtJQUNEO1FBQ0UsS0FBSyxFQUFFLE1BQU07UUFDYixJQUFJLEVBQUUsWUFBWTtRQUNsQixLQUFLLEVBQUUsR0FBRztRQUNWLFFBQVEsRUFBRSxjQUFjO0tBQ3pCO0lBQ0Q7UUFDRSxLQUFLLEVBQUUsTUFBTTtRQUNiLElBQUksRUFBRSxXQUFXO1FBQ2pCLEtBQUssRUFBRSxHQUFHO1FBQ1YsUUFBUSxFQUFFLGNBQWM7S0FDekI7SUFDRDtRQUNFLEtBQUssRUFBRSxNQUFNO1FBQ2IsSUFBSSxFQUFFLFdBQVc7UUFDakIsS0FBSyxFQUFFLEdBQUc7UUFDVixRQUFRLEVBQUUsY0FBYztLQUN6QjtJQUNEO1FBQ0UsS0FBSyxFQUFFLE9BQU87UUFDZCxJQUFJLEVBQUUsdUJBQXVCO1FBQzdCLEtBQUssRUFBRSxHQUFHO1FBQ1YsUUFBUSxFQUFFLGNBQWM7S0FDekI7SUFDRDtRQUNFLEtBQUssRUFBRSxNQUFNO1FBQ2IsSUFBSSxFQUFFLHFCQUFxQjtRQUMzQixLQUFLLEVBQUUsR0FBRztRQUNWLFFBQVEsRUFBRSxjQUFjO0tBQ3pCO0lBQ0Q7UUFDRSxLQUFLLEVBQUUsTUFBTTtRQUNiLElBQUksRUFBRSxVQUFVO1FBQ2hCLEtBQUssRUFBRSxHQUFHO1FBQ1YsUUFBUSxFQUFFLGNBQWM7S0FDekI7SUFDRDtRQUNFLEtBQUssRUFBRSxNQUFNO1FBQ2IsSUFBSSxFQUFFLGlCQUFpQjtRQUN2QixLQUFLLEVBQUUsR0FBRztRQUNWLFFBQVEsRUFBRSxjQUFjO0tBQ3pCO0lBQ0Q7UUFDRSxLQUFLLEVBQUUsTUFBTTtRQUNiLElBQUksRUFBRSxVQUFVO1FBQ2hCLEtBQUssRUFBRSxHQUFHO1FBQ1YsUUFBUSxFQUFFLGNBQWM7S0FDekI7SUFDRDtRQUNFLEtBQUssRUFBRSxJQUFJO1FBQ1gsSUFBSSxFQUFFLDRCQUE0QjtRQUNsQyxTQUFTLEVBQUUscUJBQXFCO1FBQ2hDLEtBQUssRUFBRSxHQUFHO1FBQ1YsUUFBUSxFQUFFLGNBQWM7S0FDekI7SUFDRDtRQUNFLEtBQUssRUFBRSxJQUFJO1FBQ1gsSUFBSSxFQUFFLDBCQUEwQjtRQUNoQyxTQUFTLEVBQUUsZ0JBQWdCO1FBQzNCLEtBQUssRUFBRSxHQUFHO1FBQ1YsUUFBUSxFQUFFLGNBQWM7S0FDekI7SUFDRDtRQUNFLEtBQUssRUFBRSxJQUFJO1FBQ1gsSUFBSSxFQUFFLG1CQUFtQjtRQUN6QixTQUFTLEVBQUUsU0FBUztRQUNwQixLQUFLLEVBQUUsR0FBRztRQUNWLFFBQVEsRUFBRSxjQUFjO0tBQ3pCO0lBQ0Q7UUFDRSxLQUFLLEVBQUUsSUFBSTtRQUNYLElBQUksRUFBRSxrQ0FBa0M7UUFDeEMsU0FBUyxFQUFFLG1CQUFtQjtRQUM5QixLQUFLLEVBQUUsR0FBRztRQUNWLFFBQVEsRUFBRSxjQUFjO0tBQ3pCO0lBQ0Q7UUFDRSxLQUFLLEVBQUUsSUFBSTtRQUNYLElBQUksRUFBRSwwQkFBMEI7UUFDaEMsU0FBUyxFQUFFLGdCQUFnQjtRQUMzQixLQUFLLEVBQUUsR0FBRztRQUNWLFFBQVEsRUFBRSxjQUFjO0tBQ3pCO0lBQ0Q7Ozs7OztTQU1LO0NBQ04sQ0FBQTtBQUVELE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUE0QjtJQUV6RDtRQUNFLFdBQVcsRUFBRSxJQUFJO1FBQ2pCLEtBQUssRUFBRSxJQUFJO1FBQ1gsSUFBSSxFQUFFLDRCQUE0QjtLQUNuQztJQUNEO1FBQ0UsV0FBVyxFQUFFLElBQUk7UUFDakIsS0FBSyxFQUFFLEdBQUc7UUFDVixJQUFJLEVBQUUsdUJBQXVCO0tBQzlCO0lBQ0Q7UUFDRSxXQUFXLEVBQUUsSUFBSTtRQUNqQixLQUFLLEVBQUUsR0FBRztRQUNWLElBQUksRUFBRSxnQkFBZ0I7S0FDdkI7SUFDRDtRQUNFLFdBQVcsRUFBRSxJQUFJO1FBQ2pCLEtBQUssRUFBRSxJQUFJO1FBQ1gsSUFBSSxFQUFFLHdCQUF3QjtLQUMvQjtJQUNEO1FBQ0UsV0FBVyxFQUFFLElBQUk7UUFDakIsS0FBSyxFQUFFLElBQUk7UUFDWCxJQUFJLEVBQUUseUJBQXlCO0tBQ2hDO0lBQ0Q7UUFDRSxXQUFXLEVBQUUsSUFBSTtRQUNqQixLQUFLLEVBQUUsSUFBSTtRQUNYLElBQUksRUFBRSxzQkFBc0I7S0FDN0I7SUFDRDtRQUNFLFdBQVcsRUFBRSxJQUFJO1FBQ2pCLEtBQUssRUFBRSxJQUFJO1FBQ1gsSUFBSSxFQUFFLHdCQUF3QjtLQUMvQjtJQUNEO1FBQ0UsV0FBVyxFQUFFLElBQUk7UUFDakIsS0FBSyxFQUFFLElBQUk7UUFDWCxJQUFJLEVBQUUsbUJBQW1CO0tBQzFCO0lBQ0Q7UUFDRSxXQUFXLEVBQUUsSUFBSTtRQUNqQixLQUFLLEVBQUUsSUFBSTtRQUNYLElBQUksRUFBRSwrQkFBK0I7S0FDdEM7SUFDRDtRQUNFLFdBQVcsRUFBRSxJQUFJO1FBQ2pCLEtBQUssRUFBRSxJQUFJO1FBQ1gsSUFBSSxFQUFFLHVCQUF1QjtLQUM5QjtJQUNEO1FBQ0UsV0FBVyxFQUFFLElBQUk7UUFDakIsS0FBSyxFQUFFLElBQUk7UUFDWCxJQUFJLEVBQUUsMkJBQTJCO0tBQ2xDO0lBQ0Q7UUFDRSxXQUFXLEVBQUUsSUFBSTtRQUNqQixLQUFLLEVBQUUsSUFBSTtRQUNYLElBQUksRUFBRSw4QkFBOEI7S0FDckM7SUFDRDtRQUNFLFdBQVcsRUFBRSxJQUFJO1FBQ2pCLEtBQUssRUFBRSxJQUFJO1FBQ1gsSUFBSSxFQUFFLCtCQUErQjtLQUN0QztJQUNEO1FBQ0UsV0FBVyxFQUFFLElBQUk7UUFDakIsS0FBSyxFQUFFLElBQUk7UUFDWCxJQUFJLEVBQUUsZUFBZTtLQUN0QjtJQUNEO1FBQ0UsV0FBVyxFQUFFLElBQUk7UUFDakIsS0FBSyxFQUFFLElBQUk7UUFDWCxJQUFJLEVBQUUsK0JBQStCO0tBQ3RDO0lBQ0Q7UUFDRSxXQUFXLEVBQUUsSUFBSTtRQUNqQixLQUFLLEVBQUUsSUFBSTtRQUNYLElBQUksRUFBRSwwQkFBMEI7S0FDakM7SUFDRDtRQUNFLFdBQVcsRUFBRSxJQUFJO1FBQ2pCLEtBQUssRUFBRSxJQUFJO1FBQ1gsSUFBSSxFQUFFLGdCQUFnQjtLQUN2QjtJQUNEO1FBQ0UsV0FBVyxFQUFFLElBQUk7UUFDakIsS0FBSyxFQUFFLElBQUk7UUFDWCxJQUFJLEVBQUUsd0JBQXdCO0tBQy9CO0lBQ0Q7UUFDRSxXQUFXLEVBQUUsSUFBSTtRQUNqQixLQUFLLEVBQUUsSUFBSTtRQUNYLElBQUksRUFBRSx5QkFBeUI7S0FDaEM7SUFDRDtRQUNFLFdBQVcsRUFBRSxJQUFJO1FBQ2pCLEtBQUssRUFBRSxJQUFJO1FBQ1gsSUFBSSxFQUFFLHNCQUFzQjtLQUM3QjtJQUNEO1FBQ0UsV0FBVyxFQUFFLElBQUk7UUFDakIsS0FBSyxFQUFFLElBQUk7UUFDWCxJQUFJLEVBQUUsc0JBQXNCO0tBQzdCO0lBQ0Q7UUFDRSxXQUFXLEVBQUUsSUFBSTtRQUNqQixLQUFLLEVBQUUsSUFBSTtRQUNYLElBQUksRUFBRSx1QkFBdUI7S0FDOUI7SUFDRDtRQUNFLFdBQVcsRUFBRSxJQUFJO1FBQ2pCLEtBQUssRUFBRSxJQUFJO1FBQ1gsSUFBSSxFQUFFLDRCQUE0QjtLQUNuQztJQUNEO1FBQ0UsV0FBVyxFQUFFLElBQUk7UUFDakIsS0FBSyxFQUFFLElBQUk7UUFDWCxJQUFJLEVBQUUsT0FBTztLQUNkO0lBQ0Q7UUFDRSxXQUFXLEVBQUUsSUFBSTtRQUNqQixLQUFLLEVBQUUsSUFBSTtRQUNYLElBQUksRUFBRSw4QkFBOEI7S0FDckM7SUFDRDtRQUNFLFdBQVcsRUFBRSxJQUFJO1FBQ2pCLEtBQUssRUFBRSxJQUFJO1FBQ1gsSUFBSSxFQUFFLGdDQUFnQztLQUN2QztJQUNEO1FBQ0UsV0FBVyxFQUFFLElBQUk7UUFDakIsS0FBSyxFQUFFLElBQUk7UUFDWCxJQUFJLEVBQUUsbUJBQW1CO0tBQzFCO0lBQ0Q7UUFDRSxXQUFXLEVBQUUsSUFBSTtRQUNqQixLQUFLLEVBQUUsSUFBSTtRQUNYLElBQUksRUFBRSx5QkFBeUI7S0FDaEM7SUFDRDtRQUNFLFdBQVcsRUFBRSxJQUFJO1FBQ2pCLEtBQUssRUFBRSxJQUFJO1FBQ1gsSUFBSSxFQUFFLGdDQUFnQztLQUN2QztJQUNEO1FBQ0UsV0FBVyxFQUFFLElBQUk7UUFDakIsS0FBSyxFQUFFLElBQUk7UUFDWCxJQUFJLEVBQUUsd0JBQXdCO0tBQy9CO0lBQ0Q7UUFDRSxXQUFXLEVBQUUsSUFBSTtRQUNqQixLQUFLLEVBQUUsSUFBSTtRQUNYLElBQUksRUFBRSxzQkFBc0I7S0FDN0I7SUFDRDtRQUNFLFdBQVcsRUFBRSxJQUFJO1FBQ2pCLEtBQUssRUFBRSxJQUFJO1FBQ1gsSUFBSSxFQUFFLGVBQWU7S0FDdEI7SUFDRDtRQUNFLFdBQVcsRUFBRSxJQUFJO1FBQ2pCLEtBQUssRUFBRSxJQUFJO1FBQ1gsSUFBSSxFQUFFLHFCQUFxQjtLQUM1QjtJQUNEO1FBQ0UsV0FBVyxFQUFFLElBQUk7UUFDakIsS0FBSyxFQUFFLElBQUk7UUFDWCxJQUFJLEVBQUUsMkJBQTJCO0tBQ2xDO0lBQ0Q7UUFDRSxXQUFXLEVBQUUsSUFBSTtRQUNqQixLQUFLLEVBQUUsSUFBSTtRQUNYLElBQUksRUFBRSxpQ0FBaUM7S0FDeEM7SUFDRDtRQUNFLFdBQVcsRUFBRSxJQUFJO1FBQ2pCLEtBQUssRUFBRSxLQUFLO1FBQ1osSUFBSSxFQUFFLGNBQWM7S0FDckI7SUFDRDtRQUNFLFdBQVcsRUFBRSxJQUFJO1FBQ2pCLEtBQUssRUFBRSxLQUFLO1FBQ1osSUFBSSxFQUFFLHNCQUFzQjtLQUM3QjtJQUNEO1FBQ0UsV0FBVyxFQUFFLElBQUk7UUFDakIsS0FBSyxFQUFFLEtBQUs7UUFDWixJQUFJLEVBQUUsdUJBQXVCO0tBQzlCO0lBQ0Q7UUFDRSxXQUFXLEVBQUUsSUFBSTtRQUNqQixLQUFLLEVBQUUsS0FBSztRQUNaLElBQUksRUFBRSx1QkFBdUI7S0FDOUI7SUFDRDtRQUNFLFdBQVcsRUFBRSxJQUFJO1FBQ2pCLEtBQUssRUFBRSxLQUFLO1FBQ1osSUFBSSxFQUFFLG9CQUFvQjtLQUMzQjtJQUNEO1FBQ0UsV0FBVyxFQUFFLElBQUk7UUFDakIsS0FBSyxFQUFFLEtBQUs7UUFDWixJQUFJLEVBQUUsb0JBQW9CO0tBQzNCO0lBQ0Q7UUFDRSxXQUFXLEVBQUUsSUFBSTtRQUNqQixLQUFLLEVBQUUsS0FBSztRQUNaLElBQUksRUFBRSxnQkFBZ0I7S0FDdkI7SUFDRDtRQUNFLFdBQVcsRUFBRSxJQUFJO1FBQ2pCLEtBQUssRUFBRSxLQUFLO1FBQ1osSUFBSSxFQUFFLGdCQUFnQjtLQUN2QjtJQUNEO1FBQ0UsV0FBVyxFQUFFLElBQUk7UUFDakIsS0FBSyxFQUFFLEtBQUs7UUFDWixJQUFJLEVBQUUsZ0JBQWdCO0tBQ3ZCO0lBQ0Q7UUFDRSxXQUFXLEVBQUUsSUFBSTtRQUNqQixLQUFLLEVBQUUsS0FBSztRQUNaLElBQUksRUFBRSxpQkFBaUI7S0FDeEI7SUFDRDtRQUNFLFdBQVcsRUFBRSxJQUFJO1FBQ2pCLEtBQUssRUFBRSxLQUFLO1FBQ1osSUFBSSxFQUFFLGdCQUFnQjtLQUN2QjtJQUNEO1FBQ0UsV0FBVyxFQUFFLElBQUk7UUFDakIsS0FBSyxFQUFFLEtBQUs7UUFDWixJQUFJLEVBQUUsZ0JBQWdCO0tBQ3ZCO0lBQ0Q7UUFDRSxXQUFXLEVBQUUsSUFBSTtRQUNqQixLQUFLLEVBQUUsS0FBSztRQUNaLElBQUksRUFBRSxRQUFRO0tBQ2Y7SUFDRDtRQUNFLFdBQVcsRUFBRSxJQUFJO1FBQ2pCLEtBQUssRUFBRSxLQUFLO1FBQ1osSUFBSSxFQUFFLHVCQUF1QjtLQUM5QjtJQUNEO1FBQ0UsV0FBVyxFQUFFLElBQUk7UUFDakIsS0FBSyxFQUFFLEtBQUs7UUFDWixJQUFJLEVBQUUsc0JBQXNCO0tBQzdCO0lBQ0Q7UUFDRSxXQUFXLEVBQUUsSUFBSTtRQUNqQixLQUFLLEVBQUUsS0FBSztRQUNaLElBQUksRUFBRSxzQkFBc0I7S0FDN0I7SUFDRDtRQUNFLFdBQVcsRUFBRSxJQUFJO1FBQ2pCLEtBQUssRUFBRSxLQUFLO1FBQ1osSUFBSSxFQUFFLG1CQUFtQjtLQUMxQjtJQUNEO1FBQ0UsV0FBVyxFQUFFLElBQUk7UUFDakIsS0FBSyxFQUFFLEtBQUs7UUFDWixJQUFJLEVBQUUsa0JBQWtCO0tBQ3pCO0lBQ0Q7UUFDRSxXQUFXLEVBQUUsSUFBSTtRQUNqQixLQUFLLEVBQUUsS0FBSztRQUNaLElBQUksRUFBRSxrQkFBa0I7S0FDekI7SUFDRDtRQUNFLFdBQVcsRUFBRSxJQUFJO1FBQ2pCLEtBQUssRUFBRSxLQUFLO1FBQ1osSUFBSSxFQUFFLFdBQVc7S0FDbEI7SUFDRDtRQUNFLFdBQVcsRUFBRSxJQUFJO1FBQ2pCLEtBQUssRUFBRSxLQUFLO1FBQ1osSUFBSSxFQUFFLGFBQWE7S0FDcEI7SUFDRDtRQUNFLFdBQVcsRUFBRSxJQUFJO1FBQ2pCLEtBQUssRUFBRSxLQUFLO1FBQ1osSUFBSSxFQUFFLFVBQVU7S0FDakI7SUFDRDtRQUNFLFdBQVcsRUFBRSxJQUFJO1FBQ2pCLEtBQUssRUFBRSxJQUFJO1FBQ1gsSUFBSSxFQUFFLHdCQUF3QjtLQUMvQjtJQUNEO1FBQ0UsV0FBVyxFQUFFLElBQUk7UUFDakIsS0FBSyxFQUFFLElBQUk7UUFDWCxJQUFJLEVBQUUsNkJBQTZCO0tBQ3BDO0lBQ0Q7UUFDRSxXQUFXLEVBQUUsSUFBSTtRQUNqQixLQUFLLEVBQUUsSUFBSTtRQUNYLElBQUksRUFBRSwwQkFBMEI7S0FDakM7SUFDRDtRQUNFLFdBQVcsRUFBRSxJQUFJO1FBQ2pCLEtBQUssRUFBRSxJQUFJO1FBQ1gsSUFBSSxFQUFFLGdCQUFnQjtLQUN2QjtJQUNEO1FBQ0UsV0FBVyxFQUFFLElBQUk7UUFDakIsS0FBSyxFQUFFLElBQUk7UUFDWCxJQUFJLEVBQUUsbUJBQW1CO0tBQzFCO0lBQ0Q7UUFDRSxXQUFXLEVBQUUsSUFBSTtRQUNqQixLQUFLLEVBQUUsSUFBSTtRQUNYLElBQUksRUFBRSx1QkFBdUI7S0FDOUI7SUFDRDtRQUNFLFdBQVcsRUFBRSxJQUFJO1FBQ2pCLEtBQUssRUFBRSxJQUFJO1FBQ1gsSUFBSSxFQUFFLDRCQUE0QjtLQUNuQztJQUNEO1FBQ0UsV0FBVyxFQUFFLElBQUk7UUFDakIsS0FBSyxFQUFFLElBQUk7UUFDWCxJQUFJLEVBQUUsMkJBQTJCO0tBQ2xDO0lBQ0Q7UUFDRSxXQUFXLEVBQUUsSUFBSTtRQUNqQixLQUFLLEVBQUUsSUFBSTtRQUNYLElBQUksRUFBRSxrQ0FBa0M7S0FDekM7SUFDRDtRQUNFLFdBQVcsRUFBRSxJQUFJO1FBQ2pCLEtBQUssRUFBRSxJQUFJO1FBQ1gsSUFBSSxFQUFFLHdCQUF3QjtLQUMvQjtJQUNEO1FBQ0UsV0FBVyxFQUFFLElBQUk7UUFDakIsS0FBSyxFQUFFLElBQUk7UUFDWCxJQUFJLEVBQUUsdUJBQXVCO0tBQzlCO0lBQ0Q7UUFDRSxXQUFXLEVBQUUsSUFBSTtRQUNqQixLQUFLLEVBQUUsSUFBSTtRQUNYLElBQUksRUFBRSxxQkFBcUI7S0FDNUI7SUFDRDtRQUNFLFdBQVcsRUFBRSxJQUFJO1FBQ2pCLEtBQUssRUFBRSxJQUFJO1FBQ1gsSUFBSSxFQUFFLG9CQUFvQjtLQUMzQjtJQUNEO1FBQ0UsV0FBVyxFQUFFLElBQUk7UUFDakIsS0FBSyxFQUFFLElBQUk7UUFDWCxJQUFJLEVBQUUsOEJBQThCO0tBQ3JDO0lBQ0Q7UUFDRSxXQUFXLEVBQUUsSUFBSTtRQUNqQixLQUFLLEVBQUUsSUFBSTtRQUNYLElBQUksRUFBRSxrQkFBa0I7S0FDekI7SUFDRDtRQUNFLFdBQVcsRUFBRSxJQUFJO1FBQ2pCLEtBQUssRUFBRSxJQUFJO1FBQ1gsSUFBSSxFQUFFLGtCQUFrQjtLQUN6QjtJQUNEO1FBQ0UsV0FBVyxFQUFFLElBQUk7UUFDakIsS0FBSyxFQUFFLElBQUk7UUFDWCxJQUFJLEVBQUUsaUJBQWlCO0tBQ3hCO0lBQ0Q7UUFDRSxXQUFXLEVBQUUsSUFBSTtRQUNqQixLQUFLLEVBQUUsSUFBSTtRQUNYLElBQUksRUFBRSxvQkFBb0I7S0FDM0I7SUFDRDtRQUNFLFdBQVcsRUFBRSxJQUFJO1FBQ2pCLEtBQUssRUFBRSxHQUFHO1FBQ1YsSUFBSSxFQUFFLHVCQUF1QjtLQUM5QjtJQUNEO1FBQ0UsV0FBVyxFQUFFLElBQUk7UUFDakIsS0FBSyxFQUFFLElBQUk7UUFDWCxJQUFJLEVBQUUsc0JBQXNCO0tBQzdCO0lBQ0Q7UUFDRSxXQUFXLEVBQUUsSUFBSTtRQUNqQixLQUFLLEVBQUUsSUFBSTtRQUNYLElBQUksRUFBRSxzQkFBc0I7S0FDN0I7SUFDRDtRQUNFLFdBQVcsRUFBRSxJQUFJO1FBQ2pCLEtBQUssRUFBRSxJQUFJO1FBQ1gsSUFBSSxFQUFFLHVCQUF1QjtLQUM5QjtJQUNEO1FBQ0UsV0FBVyxFQUFFLElBQUk7UUFDakIsS0FBSyxFQUFFLElBQUk7UUFDWCxJQUFJLEVBQUUsV0FBVztLQUNsQjtJQUNEO1FBQ0UsV0FBVyxFQUFFLElBQUk7UUFDakIsS0FBSyxFQUFFLElBQUk7UUFDWCxJQUFJLEVBQUUsZ0JBQWdCO0tBQ3ZCO0lBQ0Q7UUFDRSxXQUFXLEVBQUUsSUFBSTtRQUNqQixLQUFLLEVBQUUsSUFBSTtRQUNYLElBQUksRUFBRSxXQUFXO0tBQ2xCO0lBQ0Q7UUFDRSxXQUFXLEVBQUUsSUFBSTtRQUNqQixLQUFLLEVBQUUsSUFBSTtRQUNYLElBQUksRUFBRSxTQUFTO0tBQ2hCO0lBQ0Q7UUFDRSxXQUFXLEVBQUUsSUFBSTtRQUNqQixLQUFLLEVBQUUsSUFBSTtRQUNYLElBQUksRUFBRSxVQUFVO0tBQ2pCO0lBQ0Q7UUFDRSxXQUFXLEVBQUUsSUFBSTtRQUNqQixLQUFLLEVBQUUsS0FBSztRQUNaLElBQUksRUFBRSxnQkFBZ0I7S0FDdkI7SUFDRDtRQUNFLFdBQVcsRUFBRSxJQUFJO1FBQ2pCLEtBQUssRUFBRSxLQUFLO1FBQ1osSUFBSSxFQUFFLGdCQUFnQjtLQUN2QjtJQUNEO1FBQ0UsV0FBVyxFQUFFLElBQUk7UUFDakIsS0FBSyxFQUFFLEtBQUs7UUFDWixJQUFJLEVBQUUsZUFBZTtLQUN0QjtJQUNEO1FBQ0UsV0FBVyxFQUFFLElBQUk7UUFDakIsS0FBSyxFQUFFLEtBQUs7UUFDWixJQUFJLEVBQUUsZUFBZTtLQUN0QjtJQUNEO1FBQ0UsV0FBVyxFQUFFLElBQUk7UUFDakIsS0FBSyxFQUFFLElBQUk7UUFDWCxJQUFJLEVBQUUsb0NBQW9DO0tBQzNDO0lBQ0Q7UUFDRSxXQUFXLEVBQUUsSUFBSTtRQUNqQixLQUFLLEVBQUUsSUFBSTtRQUNYLElBQUksRUFBRSw4QkFBOEI7S0FDckM7SUFDRDtRQUNFLFdBQVcsRUFBRSxJQUFJO1FBQ2pCLEtBQUssRUFBRSxJQUFJO1FBQ1gsSUFBSSxFQUFFLGdDQUFnQztLQUN2QztJQUNEO1FBQ0UsV0FBVyxFQUFFLElBQUk7UUFDakIsS0FBSyxFQUFFLElBQUk7UUFDWCxJQUFJLEVBQUUsNEJBQTRCO0tBQ25DO0lBQ0Q7UUFDRSxXQUFXLEVBQUUsSUFBSTtRQUNqQixLQUFLLEVBQUUsSUFBSTtRQUNYLElBQUksRUFBRSw2QkFBNkI7S0FDcEM7SUFDRDtRQUNFLFdBQVcsRUFBRSxJQUFJO1FBQ2pCLEtBQUssRUFBRSxJQUFJO1FBQ1gsSUFBSSxFQUFFLDhCQUE4QjtLQUNyQztJQUNEO1FBQ0UsV0FBVyxFQUFFLElBQUk7UUFDakIsS0FBSyxFQUFFLElBQUk7UUFDWCxJQUFJLEVBQUUsb0JBQW9CO0tBQzNCO0lBQ0Q7UUFDRSxXQUFXLEVBQUUsSUFBSTtRQUNqQixLQUFLLEVBQUUsSUFBSTtRQUNYLElBQUksRUFBRSxzQ0FBc0M7S0FDN0M7SUFDRDtRQUNFLFdBQVcsRUFBRSxJQUFJO1FBQ2pCLEtBQUssRUFBRSxJQUFJO1FBQ1gsSUFBSSxFQUFFLGdDQUFnQztLQUN2QztJQUNEO1FBQ0UsV0FBVyxFQUFFLElBQUk7UUFDakIsS0FBSyxFQUFFLElBQUk7UUFDWCxJQUFJLEVBQUUsZUFBZTtLQUN0QjtJQUNEO1FBQ0UsV0FBVyxFQUFFLElBQUk7UUFDakIsS0FBSyxFQUFFLElBQUk7UUFDWCxJQUFJLEVBQUUsa0JBQWtCO0tBQ3pCO0lBQ0Q7UUFDRSxXQUFXLEVBQUUsSUFBSTtRQUNqQixLQUFLLEVBQUUsSUFBSTtRQUNYLElBQUksRUFBRSxrQ0FBa0M7S0FDekM7SUFDRDtRQUNFLFdBQVcsRUFBRSxJQUFJO1FBQ2pCLEtBQUssRUFBRSxJQUFJO1FBQ1gsSUFBSSxFQUFFLFVBQVU7S0FDakI7SUFDRDtRQUNFLFdBQVcsRUFBRSxJQUFJO1FBQ2pCLEtBQUssRUFBRSxJQUFJO1FBQ1gsSUFBSSxFQUFFLGdDQUFnQztLQUN2QztJQUNEO1FBQ0UsV0FBVyxFQUFFLElBQUk7UUFDakIsS0FBSyxFQUFFLElBQUk7UUFDWCxJQUFJLEVBQUUsd0NBQXdDO0tBQy9DO0lBQ0Q7UUFDRSxXQUFXLEVBQUUsSUFBSTtRQUNqQixLQUFLLEVBQUUsSUFBSTtRQUNYLElBQUksRUFBRSx3QkFBd0I7S0FDL0I7SUFDRDtRQUNFLFdBQVcsRUFBRSxJQUFJO1FBQ2pCLEtBQUssRUFBRSxLQUFLO1FBQ1osSUFBSSxFQUFFLG1CQUFtQjtLQUMxQjtJQUNEO1FBQ0UsV0FBVyxFQUFFLElBQUk7UUFDakIsS0FBSyxFQUFFLEtBQUs7UUFDWixJQUFJLEVBQUUsV0FBVztLQUNsQjtJQUNEO1FBQ0UsV0FBVyxFQUFFLElBQUk7UUFDakIsS0FBSyxFQUFFLEtBQUs7UUFDWixJQUFJLEVBQUUsNkJBQTZCO0tBQ3BDO0lBQ0Q7UUFDRSxXQUFXLEVBQUUsSUFBSTtRQUNqQixLQUFLLEVBQUUsSUFBSTtRQUNYLElBQUksRUFBRSx1QkFBdUI7S0FDOUI7SUFDRDtRQUNFLFdBQVcsRUFBRSxJQUFJO1FBQ2pCLEtBQUssRUFBRSxJQUFJO1FBQ1gsSUFBSSxFQUFFLG9CQUFvQjtLQUMzQjtJQUNEO1FBQ0UsV0FBVyxFQUFFLElBQUk7UUFDakIsS0FBSyxFQUFFLEdBQUc7UUFDVixJQUFJLEVBQUUsa0JBQWtCO0tBQ3pCO0lBQ0Q7UUFDRSxXQUFXLEVBQUUsSUFBSTtRQUNqQixLQUFLLEVBQUUsS0FBSztRQUNaLElBQUksRUFBRSxrQ0FBa0M7S0FDekM7Q0FDRixDQUFBO0FBRUQsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFpQjtJQUMxQztRQUNFLFFBQVEsRUFBRSxJQUFJO1FBQ2QsUUFBUSxFQUFFLElBQUk7UUFDZCxLQUFLLEVBQUUsTUFBTTtRQUNiLElBQUksRUFBRSxTQUFTO0tBQ2hCO0lBQ0Q7UUFDRSxRQUFRLEVBQUUsSUFBSTtRQUNkLFFBQVEsRUFBRSxJQUFJO1FBQ2QsS0FBSyxFQUFFLE1BQU07UUFDYixJQUFJLEVBQUUsWUFBWTtLQUNuQjtJQUNEO1FBQ0UsUUFBUSxFQUFFLElBQUk7UUFDZCxRQUFRLEVBQUUsSUFBSTtRQUNkLEtBQUssRUFBRSxPQUFPO1FBQ2QsSUFBSSxFQUFFLFVBQVU7S0FDakI7SUFDRDtRQUNFLFFBQVEsRUFBRSxJQUFJO1FBQ2QsUUFBUSxFQUFFLElBQUk7UUFDZCxLQUFLLEVBQUUsT0FBTztRQUNkLElBQUksRUFBRSxVQUFVO0tBQ2pCO0lBQ0Q7UUFDRSxRQUFRLEVBQUUsSUFBSTtRQUNkLFFBQVEsRUFBRSxJQUFJO1FBQ2QsS0FBSyxFQUFFLE1BQU07UUFDYixJQUFJLEVBQUUsZ0JBQWdCO0tBQ3ZCO0lBQ0Q7UUFDRSxRQUFRLEVBQUUsSUFBSTtRQUNkLFFBQVEsRUFBRSxJQUFJO1FBQ2QsS0FBSyxFQUFFLE9BQU87UUFDZCxJQUFJLEVBQUUsdUJBQXVCO0tBQzlCO0lBQ0Q7UUFDRSxRQUFRLEVBQUUsSUFBSTtRQUNkLFFBQVEsRUFBRSxJQUFJO1FBQ2QsS0FBSyxFQUFFLE1BQU07UUFDYixJQUFJLEVBQUUsT0FBTztLQUNkO0lBQ0Q7UUFDRSxRQUFRLEVBQUUsSUFBSTtRQUNkLFFBQVEsRUFBRSxJQUFJO1FBQ2QsS0FBSyxFQUFFLE1BQU07UUFDYixJQUFJLEVBQUUsU0FBUztLQUNoQjtJQUNEO1FBQ0UsUUFBUSxFQUFFLElBQUk7UUFDZCxRQUFRLEVBQUUsSUFBSTtRQUNkLEtBQUssRUFBRSxNQUFNO1FBQ2IsSUFBSSxFQUFFLFdBQVc7S0FDbEI7SUFDRDtRQUNFLFFBQVEsRUFBRSxJQUFJO1FBQ2QsUUFBUSxFQUFFLElBQUk7UUFDZCxLQUFLLEVBQUUsTUFBTTtRQUNiLElBQUksRUFBRSxRQUFRO0tBQ2Y7SUFDRDtRQUNFLFFBQVEsRUFBRSxJQUFJO1FBQ2QsUUFBUSxFQUFFLElBQUk7UUFDZCxLQUFLLEVBQUUsTUFBTTtRQUNiLElBQUksRUFBRSxRQUFRO0tBQ2Y7SUFDRDtRQUNFLFFBQVEsRUFBRSxJQUFJO1FBQ2QsUUFBUSxFQUFFLElBQUk7UUFDZCxLQUFLLEVBQUUsTUFBTTtRQUNiLElBQUksRUFBRSxVQUFVO0tBQ2pCO0lBQ0Q7UUFDRSxRQUFRLEVBQUUsSUFBSTtRQUNkLFFBQVEsRUFBRSxJQUFJO1FBQ2QsS0FBSyxFQUFFLE1BQU07UUFDYixJQUFJLEVBQUUsUUFBUTtLQUNmO0lBQ0Q7UUFDRSxRQUFRLEVBQUUsSUFBSTtRQUNkLFFBQVEsRUFBRSxJQUFJO1FBQ2QsS0FBSyxFQUFFLE1BQU07UUFDYixJQUFJLEVBQUUsVUFBVTtLQUNqQjtJQUNEO1FBQ0UsUUFBUSxFQUFFLElBQUk7UUFDZCxRQUFRLEVBQUUsSUFBSTtRQUNkLEtBQUssRUFBRSxNQUFNO1FBQ2IsSUFBSSxFQUFFLFNBQVM7S0FDaEI7SUFDRDtRQUNFLFFBQVEsRUFBRSxJQUFJO1FBQ2QsUUFBUSxFQUFFLElBQUk7UUFDZCxLQUFLLEVBQUUsTUFBTTtRQUNiLElBQUksRUFBRSxTQUFTO0tBQ2hCO0lBQ0Q7UUFDRSxRQUFRLEVBQUUsSUFBSTtRQUNkLFFBQVEsRUFBRSxJQUFJO1FBQ2QsS0FBSyxFQUFFLE9BQU87UUFDZCxJQUFJLEVBQUUsOEJBQThCO0tBQ3JDO0lBQ0Q7UUFDRSxRQUFRLEVBQUUsSUFBSTtRQUNkLFFBQVEsRUFBRSxJQUFJO1FBQ2QsS0FBSyxFQUFFLE1BQU07UUFDYixJQUFJLEVBQUUsUUFBUTtLQUNmO0lBQ0Q7UUFDRSxRQUFRLEVBQUUsSUFBSTtRQUNkLFFBQVEsRUFBRSxJQUFJO1FBQ2QsS0FBSyxFQUFFLE1BQU07UUFDYixJQUFJLEVBQUUsZUFBZTtLQUN0QjtJQUNEO1FBQ0UsUUFBUSxFQUFFLElBQUk7UUFDZCxRQUFRLEVBQUUsSUFBSTtRQUNkLEtBQUssRUFBRSxNQUFNO1FBQ2IsSUFBSSxFQUFFLFFBQVE7S0FDZjtJQUNEO1FBQ0UsUUFBUSxFQUFFLElBQUk7UUFDZCxRQUFRLEVBQUUsSUFBSTtRQUNkLEtBQUssRUFBRSxNQUFNO1FBQ2IsSUFBSSxFQUFFLDJCQUEyQjtLQUNsQztJQUNEO1FBQ0UsUUFBUSxFQUFFLElBQUk7UUFDZCxRQUFRLEVBQUUsSUFBSTtRQUNkLEtBQUssRUFBRSxNQUFNO1FBQ2IsSUFBSSxFQUFFLDBCQUEwQjtLQUNqQztJQUNEO1FBQ0UsUUFBUSxFQUFFLElBQUk7UUFDZCxRQUFRLEVBQUUsTUFBTTtRQUNoQixLQUFLLEVBQUUsTUFBTTtRQUNiLElBQUksRUFBRSwyQ0FBMkM7S0FDbEQ7SUFDRDtRQUNFLFFBQVEsRUFBRSxJQUFJO1FBQ2QsUUFBUSxFQUFFLFNBQVM7UUFDbkIsS0FBSyxFQUFFLE1BQU07UUFDYixJQUFJLEVBQUUsNkNBQTZDO0tBQ3BEO0lBQ0Q7UUFDRSxRQUFRLEVBQUUsSUFBSTtRQUNkLFFBQVEsRUFBRSxNQUFNO1FBQ2hCLEtBQUssRUFBRSxPQUFPO1FBQ2QsSUFBSSxFQUFFLGlEQUFpRDtLQUN4RDtJQUNEO1FBQ0UsUUFBUSxFQUFFLElBQUk7UUFDZCxRQUFRLEVBQUUsTUFBTTtRQUNoQixLQUFLLEVBQUUsT0FBTztRQUNkLElBQUksRUFDRixvRUFBb0U7S0FDdkU7SUFDRDtRQUNFLFFBQVEsRUFBRSxJQUFJO1FBQ2QsUUFBUSxFQUFFLE1BQU07UUFDaEIsS0FBSyxFQUFFLE9BQU87UUFDZCxJQUFJLEVBQ0YsZ0ZBQWdGO0tBQ25GO0lBQ0Q7UUFDRSxRQUFRLEVBQUUsSUFBSTtRQUNkLFFBQVEsRUFBRSxNQUFNO1FBQ2hCLEtBQUssRUFBRSxPQUFPO1FBQ2QsSUFBSSxFQUFFLGtEQUFrRDtLQUN6RDtJQUNEO1FBQ0UsUUFBUSxFQUFFLElBQUk7UUFDZCxRQUFRLEVBQUUsU0FBUztRQUNuQixLQUFLLEVBQUUsTUFBTTtRQUNiLElBQUksRUFBRSx1Q0FBdUM7S0FDOUM7SUFDRDtRQUNFLFFBQVEsRUFBRSxJQUFJO1FBQ2QsUUFBUSxFQUFFLFNBQVM7UUFDbkIsS0FBSyxFQUFFLE1BQU07UUFDYixJQUFJLEVBQUUsa0RBQWtEO0tBQ3pEO0lBQ0Q7UUFDRSxRQUFRLEVBQUUsSUFBSTtRQUNkLFFBQVEsRUFBRSxJQUFJO1FBQ2QsS0FBSyxFQUFFLEtBQUs7UUFDWixJQUFJLEVBQUUsc0JBQXNCO0tBQzdCO0lBQ0Q7UUFDRSxRQUFRLEVBQUUsSUFBSTtRQUNkLFFBQVEsRUFBRSxJQUFJO1FBQ2QsS0FBSyxFQUFFLE1BQU07UUFDYixJQUFJLEVBQUUsNEJBQTRCO0tBQ25DO0lBQ0Q7UUFDRSxRQUFRLEVBQUUsSUFBSTtRQUNkLFFBQVEsRUFBRSxJQUFJO1FBQ2QsS0FBSyxFQUFFLE1BQU07UUFDYixJQUFJLEVBQUUsNEJBQTRCO0tBQ25DO0lBQ0Q7UUFDRSxRQUFRLEVBQUUsSUFBSTtRQUNkLFFBQVEsRUFBRSxJQUFJO1FBQ2QsS0FBSyxFQUFFLE9BQU87UUFDZCxJQUFJLEVBQUUsMEJBQTBCO0tBQ2pDO0lBQ0Q7UUFDRSxRQUFRLEVBQUUsSUFBSTtRQUNkLFFBQVEsRUFBRSxJQUFJO1FBQ2QsS0FBSyxFQUFFLE1BQU07UUFDYixJQUFJLEVBQUUsZ0JBQWdCO0tBQ3ZCO0lBQ0Q7UUFDRSxRQUFRLEVBQUUsSUFBSTtRQUNkLFFBQVEsRUFBRSxJQUFJO1FBQ2QsS0FBSyxFQUFFLEtBQUs7UUFDWixJQUFJLEVBQUUsaUJBQWlCO0tBQ3hCO0lBQ0Q7UUFDRSxRQUFRLEVBQUUsSUFBSTtRQUNkLFFBQVEsRUFBRSxJQUFJO1FBQ2QsS0FBSyxFQUFFLE1BQU07UUFDYixJQUFJLEVBQUUsa0NBQWtDO0tBQ3pDO0lBQ0Q7UUFDRSxRQUFRLEVBQUUsSUFBSTtRQUNkLFFBQVEsRUFBRSxJQUFJO1FBQ2QsS0FBSyxFQUFFLE1BQU07UUFDYixJQUFJLEVBQUUsaUJBQWlCO0tBQ3hCO0lBQ0Q7UUFDRSxRQUFRLEVBQUUsSUFBSTtRQUNkLFFBQVEsRUFBRSxJQUFJO1FBQ2QsS0FBSyxFQUFFLEtBQUs7UUFDWixJQUFJLEVBQUUsMEJBQTBCO0tBQ2pDO0lBQ0Q7UUFDRSxRQUFRLEVBQUUsSUFBSTtRQUNkLFFBQVEsRUFBRSxJQUFJO1FBQ2QsS0FBSyxFQUFFLElBQUk7UUFDWCxJQUFJLEVBQUUsV0FBVztLQUNsQjtJQUNEO1FBQ0UsUUFBUSxFQUFFLElBQUk7UUFDZCxRQUFRLEVBQUUsSUFBSTtRQUNkLEtBQUssRUFBRSxJQUFJO1FBQ1gsSUFBSSxFQUFFLFNBQVM7S0FDaEI7SUFDRDtRQUNFLFFBQVEsRUFBRSxJQUFJO1FBQ2QsUUFBUSxFQUFFLElBQUk7UUFDZCxLQUFLLEVBQUUsTUFBTTtRQUNiLElBQUksRUFBRSxvQkFBb0I7S0FDM0I7SUFDRDtRQUNFLFFBQVEsRUFBRSxJQUFJO1FBQ2QsUUFBUSxFQUFFLElBQUk7UUFDZCxLQUFLLEVBQUUsTUFBTTtRQUNiLElBQUksRUFBRSxvQ0FBb0M7S0FDM0M7SUFDRDtRQUNFLFFBQVEsRUFBRSxJQUFJO1FBQ2QsUUFBUSxFQUFFLElBQUk7UUFDZCxLQUFLLEVBQUUsTUFBTTtRQUNiLElBQUksRUFBRSxpQ0FBaUM7S0FDeEM7SUFDRDtRQUNFLFFBQVEsRUFBRSxJQUFJO1FBQ2QsUUFBUSxFQUFFLElBQUk7UUFDZCxLQUFLLEVBQUUsTUFBTTtRQUNiLElBQUksRUFBRSwyQkFBMkI7S0FDbEM7SUFDRDtRQUNFLFFBQVEsRUFBRSxJQUFJO1FBQ2QsUUFBUSxFQUFFLElBQUk7UUFDZCxLQUFLLEVBQUUsTUFBTTtRQUNiLElBQUksRUFBRSxvQ0FBb0M7S0FDM0M7SUFDRDtRQUNFLFFBQVEsRUFBRSxJQUFJO1FBQ2QsUUFBUSxFQUFFLElBQUk7UUFDZCxLQUFLLEVBQUUsTUFBTTtRQUNiLElBQUksRUFBRSxrQ0FBa0M7S0FDekM7SUFDRDtRQUNFLFFBQVEsRUFBRSxJQUFJO1FBQ2QsUUFBUSxFQUFFLElBQUk7UUFDZCxLQUFLLEVBQUUsT0FBTztRQUNkLElBQUksRUFBRSx5Q0FBeUM7S0FDaEQ7SUFDRDtRQUNFLFFBQVEsRUFBRSxJQUFJO1FBQ2QsUUFBUSxFQUFFLElBQUk7UUFDZCxLQUFLLEVBQUUsTUFBTTtRQUNiLElBQUksRUFBRSxpQkFBaUI7S0FDeEI7SUFDRDtRQUNFLFFBQVEsRUFBRSxJQUFJO1FBQ2QsUUFBUSxFQUFFLElBQUk7UUFDZCxLQUFLLEVBQUUsT0FBTztRQUNkLElBQUksRUFBRSwyQkFBMkI7S0FDbEM7SUFDRDtRQUNFLFFBQVEsRUFBRSxJQUFJO1FBQ2QsUUFBUSxFQUFFLElBQUk7UUFDZCxLQUFLLEVBQUUsT0FBTztRQUNkLElBQUksRUFBRSx1Q0FBdUM7S0FDOUM7SUFDRDtRQUNFLFFBQVEsRUFBRSxJQUFJO1FBQ2QsUUFBUSxFQUFFLElBQUk7UUFDZCxLQUFLLEVBQUUsTUFBTTtRQUNiLElBQUksRUFBRSxtQ0FBbUM7S0FDMUM7SUFDRDtRQUNFLFFBQVEsRUFBRSxJQUFJO1FBQ2QsUUFBUSxFQUFFLElBQUk7UUFDZCxLQUFLLEVBQUUsT0FBTztRQUNkLElBQUksRUFBRSxpQ0FBaUM7S0FDeEM7Q0FDRixDQUFBO0FBRUQsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUE0QjtJQUNyRDtRQUNFLEtBQUssRUFBRSxPQUFPO1FBQ2QsSUFBSSxFQUFFLHVCQUF1QjtLQUM5QjtJQUNEO1FBQ0UsS0FBSyxFQUFFLE1BQU07UUFDYixJQUFJLEVBQUUsbUVBQW1FO0tBQzFFO0lBQ0Q7UUFDRSxLQUFLLEVBQUUsT0FBTztRQUNkLElBQUksRUFBRSwyREFBMkQ7S0FDbEU7SUFDRDtRQUNFLEtBQUssRUFBRSxLQUFLO1FBQ1osSUFBSSxFQUFFLHlCQUF5QjtLQUNoQztJQUNEO1FBQ0UsS0FBSyxFQUFFLEtBQUs7UUFDWixJQUFJLEVBQUUsb0NBQW9DO0tBQzNDO0lBQ0Q7UUFDRSxLQUFLLEVBQUUsTUFBTTtRQUNiLElBQUksRUFBRSxrQ0FBa0M7S0FDekM7SUFDRDtRQUNFLEtBQUssRUFBRSxNQUFNO1FBQ2IsSUFBSSxFQUFFLG9DQUFvQztLQUMzQztJQUNEO1FBQ0UsS0FBSyxFQUFFLElBQUk7UUFDWCxJQUFJLEVBQUUsOEJBQThCO0tBQ3JDO0lBQ0Q7UUFDRSxLQUFLLEVBQUUsTUFBTTtRQUNiLElBQUksRUFBRSxpQ0FBaUM7S0FDeEM7SUFDRDtRQUNFLEtBQUssRUFBRSxNQUFNO1FBQ2IsSUFBSSxFQUFFLDJDQUEyQztLQUNsRDtJQUNEO1FBQ0UsS0FBSyxFQUFFLE1BQU07UUFDYixJQUFJLEVBQUUsMkJBQTJCO0tBQ2xDO0lBQ0Q7UUFDRSxLQUFLLEVBQUUsTUFBTTtRQUNiLElBQUksRUFBRSw0QkFBNEI7S0FDbkM7SUFDRDtRQUNFLEtBQUssRUFBRSxLQUFLO1FBQ1osSUFBSSxFQUFFLDJCQUEyQjtLQUNsQztJQUNEO1FBQ0UsS0FBSyxFQUFFLE1BQU07UUFDYixJQUFJLEVBQUUsd0NBQXdDO0tBQy9DO0lBQ0Q7UUFDRSxLQUFLLEVBQUUsTUFBTTtRQUNiLElBQUksRUFBRSwwQ0FBMEM7S0FDakQ7SUFDRDtRQUNFLEtBQUssRUFBRSxNQUFNO1FBQ2IsSUFBSSxFQUFFLHdDQUF3QztLQUMvQztJQUNEO1FBQ0UsS0FBSyxFQUFFLEtBQUs7UUFDWixJQUFJLEVBQUUsbUJBQW1CO0tBQzFCO0lBQ0Q7UUFDRSxLQUFLLEVBQUUsS0FBSztRQUNaLElBQUksRUFBRSxtQkFBbUI7S0FDMUI7SUFDRDtRQUNFLEtBQUssRUFBRSxNQUFNO1FBQ2IsSUFBSSxFQUFFLGVBQWU7S0FDdEI7Q0FDRixDQUFBO0FBU0QsTUFBTSxPQUFPLHNCQUFzQjtJQUFuQztRQUdFLGNBQVMsR0FBb0IsS0FBSyxDQUFDO1FBQ25DLGFBQVEsR0FBb0IsS0FBSyxDQUFDO1FBQ2xDLFlBQU8sR0FBeUMsRUFBRSxDQUFDO1FBQ25ELFlBQU8sR0FBeUMsRUFBRSxDQUFDO0lBa0NyRCxDQUFDO0lBaENDOzs7O09BSUc7SUFDSCxlQUFlLENBQUMsTUFBZ0I7UUFDOUIsSUFBSSxJQUFJLENBQUMsU0FBUyxLQUFLLElBQUksSUFBSSxJQUFJLENBQUMsUUFBUSxLQUFLLElBQUksRUFBRSxDQUFDO1lBQ3RELEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7Z0JBQ3ZDLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxLQUFLLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztvQkFDaEUsT0FBTyxJQUFJLENBQUM7Z0JBQ2QsQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILGVBQWUsQ0FBQyxNQUFnQjtRQUM5QixJQUFJLElBQUksQ0FBQyxTQUFTLEtBQUssSUFBSSxJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssSUFBSSxFQUFFLENBQUM7WUFDdEQsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztnQkFDdkMsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLEtBQUssTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO29CQUNoRSxPQUFPLElBQUksQ0FBQztnQkFDZCxDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUM7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7Q0FFRjtBQWlERCxNQUFNLE9BQU8sbUJBQW1CO0lBQWhDO1FBQ0UsWUFBTyxHQUFXLENBQUMsQ0FBQztRQUNwQixhQUFRLEdBQW1CLElBQUksQ0FBQztRQUNoQyxlQUFVLEdBQW1CLElBQUksQ0FBQztRQUNsQyxTQUFJLEdBQW1CLElBQUksQ0FBQztRQUM1QixrQkFBYSxHQUFtQixJQUFJLENBQUM7UUFDckMsVUFBSyxHQUFtQixJQUFJLENBQUM7UUFDN0IsY0FBUyxHQUFvQixLQUFLLENBQUM7UUFDbkMsNEJBQXVCLEdBQW9CLEtBQUssQ0FBQztRQUNqRCwrQkFBMEIsR0FBb0IsS0FBSyxDQUFDO1FBQ3BELGtDQUE2QixHQUFvQixLQUFLLENBQUM7UUFDdkQsMkJBQXNCLEdBQW9CLEtBQUssQ0FBQztRQUNoRCxXQUFNLEdBQW1CLElBQUksQ0FBQztRQUM5QixhQUFRLEdBQWlCLElBQUksQ0FBQztRQUM5QixXQUFNLEdBQWlCLElBQUksQ0FBQztRQUM1QixTQUFJLEdBQW1CLElBQUksQ0FBQztRQUM1QixpQkFBWSxHQUFtQixJQUFJLENBQUM7UUFDcEMsV0FBTSxHQUFtQixJQUFJLENBQUM7UUFDOUIsbUJBQWMsR0FBaUIsSUFBSSxDQUFDO1FBQ3BDLGlCQUFZLEdBQWlCLElBQUksQ0FBQztRQUNsQyxlQUFVLEdBQW1CLElBQUksQ0FBQztRQUNsQyxXQUFNLEdBQW1CLElBQUksQ0FBQztRQUM5QixZQUFPLEdBQXlCLElBQUksQ0FBQztRQUNyQyxVQUFLLEdBQW1CLElBQUksQ0FBQztRQUM3QixXQUFNLEdBQW9DLElBQUksQ0FBQztRQUMvQyxhQUFRLEdBQW1CLElBQUksQ0FBQztRQUNoQyxlQUFVLEdBQW9DLElBQUksQ0FBQztRQUNuRCxpQkFBWSxHQUFtQixJQUFJLENBQUM7UUFDcEMsaUJBQVksR0FBbUIsSUFBSSxDQUFDO1FBQ3BDLFNBQUksR0FBbUIsSUFBSSxDQUFDO1FBQzVCLFVBQUssR0FBb0MsSUFBSSxDQUFDO1FBQzlDLFFBQUcsR0FBbUIsSUFBSSxDQUFDO1FBQzNCLFNBQUksR0FBb0MsSUFBSSxDQUFDO1FBQzdDLFdBQU0sR0FBbUIsSUFBSSxDQUFDO1FBQzlCLFlBQU8sR0FBb0MsSUFBSSxDQUFDO1FBQ2hELGlCQUFZLEdBQW1CLElBQUksQ0FBQztRQUNwQyxrQkFBYSxHQUFtQixJQUFJLENBQUM7UUFDckMsZ0JBQVcsR0FBbUIsSUFBSSxDQUFDO1FBQ25DLGlCQUFZLEdBQW1CLElBQUksQ0FBQztRQUNwQyxtQkFBYyxHQUFtQixJQUFJLENBQUM7UUFDdEMsaUJBQVksR0FBbUIsSUFBSSxDQUFDO1FBQ3BDLGtCQUFhLEdBQW1CLElBQUksQ0FBQztRQUNyQyxVQUFLLEdBQXlCLElBQUksQ0FBQztRQUNuQyxXQUFNLEdBQTJCLElBQUksQ0FBQztRQUN0QyxXQUFNLEdBQTBCLElBQUksQ0FBQztRQUNyQyxZQUFPLEdBQTJDLElBQUksQ0FBQztRQUN2RCxTQUFJLEdBQXVDLElBQUksQ0FBQztRQUNoRCxhQUFRLEdBQTRDLENBQUMsR0FBRyxlQUFlLENBQUMsQ0FBQztRQUN6RSxVQUFLLEdBQW1CLEVBQUUsQ0FBQztRQUMzQixPQUFFLEdBQW1CLElBQUksQ0FBQztRQUMxQixXQUFNLEdBQW1CLElBQUksQ0FBQztRQUM5QiwwQkFBcUIsR0FBb0IsS0FBSyxDQUFDO1FBQy9DLDJCQUFzQixHQUFvQixLQUFLLENBQUM7UUFDaEQsb0JBQWUsR0FBb0IsS0FBSyxDQUFDO1FBQ3pDLHVCQUFrQixHQUFvQixLQUFLLENBQUM7UUFDNUMsVUFBSyxHQUFtQixDQUFDLENBQUM7UUFDMUIsYUFBUSxHQUFtQixJQUFJLENBQUM7SUFDbEMsQ0FBQztDQUFBO0FBa0JELE1BQU0sQ0FBTixJQUFZLHdCQVNYO0FBVEQsV0FBWSx3QkFBd0I7SUFDbEMsdUVBQVEsQ0FBQTtJQUNSLDZGQUFtQixDQUFBO0lBQ25CLG1HQUFzQixDQUFBO0lBQ3RCLHlGQUFpQixDQUFBO0lBQ2pCLDZFQUFXLENBQUE7SUFDWCw0RUFBYSxDQUFBO0lBQ2IsOEVBQWMsQ0FBQTtJQUNkLHNFQUFVLENBQUE7QUFDWixDQUFDLEVBVFcsd0JBQXdCLEtBQXhCLHdCQUF3QixRQVNuQztBQUVELE1BQU0sQ0FBQyxNQUFNLDRCQUE0QixHQUE0QjtJQUNuRSxFQUFFLElBQUksRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRTtJQUNqQyxFQUFFLElBQUksRUFBRSxjQUFjLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRTtJQUNsQyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRTtJQUM5QixFQUFFLElBQUksRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRTtJQUNqQyxFQUFFLElBQUksRUFBRSxjQUFjLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRTtJQUNsQyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRTtDQUNoQyxDQUFBO0FBbUZELE1BQU0sT0FBTyxtQkFBbUI7SUFBaEM7UUFDRSxTQUFJLEdBQW1CLElBQUksQ0FBQztRQUM1QixhQUFRLEdBQW1CLElBQUksQ0FBQztRQUNoQyxVQUFLLEdBQWtDLElBQUksQ0FBQztRQUM1QyxXQUFNLEdBQXdDLElBQUksMkJBQTJCLEVBQUUsQ0FBQztRQUVoRixVQUFLLEdBQW1CLElBQUksQ0FBQztRQUM3QixVQUFLLEdBQXFCLElBQUksQ0FBQztRQUMvQixlQUFVLEdBQWdCLElBQUksQ0FBQztRQUMvQixpQkFBWSxHQUFnQyxJQUFJLG1CQUFtQixFQUFFLENBQUM7UUFDdEUsaUJBQVksR0FBdUMsSUFBSSxDQUFDO0lBQzFELENBQUM7Q0FBQTtBQXlCRCxNQUFNLE9BQU8sMkJBQTJCO0lBQXhDO1FBQ0UsV0FBTSxHQUE4QixFQUFFLENBQUM7UUFDdkMsZUFBVSxHQUE4QixFQUFFLENBQUM7UUFDM0MsY0FBUyxHQUFZLEtBQUssQ0FBQztRQUMzQixrQkFBYSxHQUFZLEtBQUssQ0FBQztRQUMvQixzQkFBaUIsR0FBWSxLQUFLLENBQUM7UUFDbkMsV0FBTSxHQUFtQixJQUFJLENBQUM7UUFDOUIsV0FBTSxHQUFtQixJQUFJLENBQUM7UUFDOUIsV0FBTSxHQUFtQixJQUFJLENBQUM7UUFDOUIsU0FBSSxHQUFtQixJQUFJLENBQUM7UUFDNUIsV0FBTSxHQUFtQixJQUFJLENBQUM7UUFDOUIsYUFBUSxHQUFpQixJQUFJLENBQUM7UUFDOUIsV0FBTSxHQUFpQixJQUFJLENBQUM7UUFDNUIsYUFBUSxHQUFtQixJQUFJLENBQUM7UUFDaEMsb0JBQWUsR0FBWSxLQUFLLENBQUM7UUFDakMsa0JBQWEsR0FBWSxLQUFLLENBQUM7UUFDL0Isa0JBQWEsR0FBWSxLQUFLLENBQUM7UUFDL0Isa0JBQWEsR0FBWSxLQUFLLENBQUM7UUFDL0IsZ0JBQVcsR0FBWSxLQUFLLENBQUM7UUFDN0Isa0JBQWEsR0FBWSxLQUFLLENBQUM7SUFDakMsQ0FBQztDQUFBO0FBYUQsTUFBTSxPQUFPLG1DQUFtQztJQUFoRDtRQUNFLFdBQU0sR0FBaUQsSUFBSSxDQUFDO0lBQzlELENBQUM7Q0FBQTtBQUlELE1BQU0sQ0FBTixJQUFZLFdBUVg7QUFSRCxXQUFZLFdBQVc7SUFDckIsbURBQVcsQ0FBQTtJQUNYLHVEQUFhLENBQUE7SUFDYixtREFBVyxDQUFBO0lBQ1gscURBQVksQ0FBQTtJQUNaLCtEQUFpQixDQUFBO0lBQ2pCLGlFQUFrQixDQUFBO0lBQ2xCLHlEQUFjLENBQUE7QUFDaEIsQ0FBQyxFQVJXLFdBQVcsS0FBWCxXQUFXLFFBUXRCO0FBRUQsTUFBTSxDQUFOLElBQVksMEJBTVg7QUFORCxXQUFZLDBCQUEwQjtJQUNwQywyRkFBZ0IsQ0FBQTtJQUNoQiw2RkFBaUIsQ0FBQTtJQUNqQixxRkFBYSxDQUFBO0lBQ2IsdUZBQWMsQ0FBQTtJQUNkLDZFQUFTLENBQUE7QUFDWCxDQUFDLEVBTlcsMEJBQTBCLEtBQTFCLDBCQUEwQixRQU1yQztBQUVELE1BQU0sQ0FBTixJQUFZLFlBUVg7QUFSRCxXQUFZLFlBQVk7SUFDdEIsbURBQVUsQ0FBQTtJQUNWLCtDQUFRLENBQUE7SUFDUiwrREFBZ0IsQ0FBQTtJQUNoQixpREFBUyxDQUFBO0lBQ1QscURBQVcsQ0FBQTtJQUNYLG1EQUFVLENBQUE7SUFDVixvREFBVyxDQUFBO0FBQ2IsQ0FBQyxFQVJXLFlBQVksS0FBWixZQUFZLFFBUXZCO0FBUUQsTUFBTSxDQUFOLElBQVksNEJBR1g7QUFIRCxXQUFZLDRCQUE0QjtJQUN0Qyx1RkFBWSxDQUFBO0lBQ1oseUZBQWEsQ0FBQTtBQUNmLENBQUMsRUFIVyw0QkFBNEIsS0FBNUIsNEJBQTRCLFFBR3ZDO0FBMElELE1BQU0sT0FBTyxnQkFBZ0I7SUFBN0I7UUFDRSxVQUFLLEdBQUcsTUFBTSxDQUF5QixFQUFFLENBQUMsQ0FBQztRQUMzQyxZQUFPLEdBQW9CLEtBQUssQ0FBQztRQUNqQyxxQkFBZ0IsR0FBbUIsSUFBSSxDQUFDO1FBQ3hDLHNCQUFpQixHQUFtQixJQUFJLENBQUM7UUFDekMsb0JBQWUsR0FBbUIsSUFBSSxDQUFDO1FBQ3ZDLGdCQUFXLEdBQXNDLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDN0QsTUFBTSxNQUFNLEdBQThCLEVBQUUsQ0FBQztZQUM3QyxJQUFJLFdBQVcsR0FBRyxDQUFDLENBQUM7WUFDcEIsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQXVCLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksYUFBYSxDQUFDLElBQUk7bUJBQ3RFLENBQUMsQ0FBQyxFQUFFLEtBQUssYUFBYSxDQUFDLGVBQWUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQXVCLEVBQUUsRUFBRTtnQkFDN0UsV0FBVyxJQUFJLENBQUMsQ0FBQyxXQUFXLElBQUksQ0FBQyxDQUFDO1lBQ3BDLENBQUMsQ0FBQyxDQUFDO1lBQ0wsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQztZQUMvQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsYUFBYSxDQUFDLCtCQUErQixFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUF1QixFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLGFBQWEsQ0FBQywrQkFBK0IsQ0FBQyxFQUFFLFdBQVcsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3RMLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxhQUFhLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUF1QixFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLGFBQWEsQ0FBQyxjQUFjLENBQUMsRUFBRSxXQUFXLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNwSixNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsYUFBYSxDQUFDLDJCQUEyQixFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUF1QixFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLGFBQWEsQ0FBQywyQkFBMkIsQ0FBQyxFQUFFLFdBQVcsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzlLLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxhQUFhLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQXVCLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksYUFBYSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsV0FBVyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDMUosTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLGFBQWEsQ0FBQyxtQkFBbUIsRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBdUIsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxhQUFhLENBQUMsbUJBQW1CLENBQUMsRUFBRSxXQUFXLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM5SixPQUFPLE1BQU0sQ0FBQztRQUNoQixDQUFDLENBQUMsQ0FBQztRQUNILHVCQUFrQixHQUFxQyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQ25FLE1BQU0sTUFBTSxHQUE2QixFQUFFLENBQUM7WUFDNUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDMUIsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7b0JBQ2hCLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFO3dCQUM5QixNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDLEVBQUUsRUFBRSxTQUFTLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztvQkFDckQsQ0FBQyxDQUFDLENBQUM7Z0JBQ0wsQ0FBQztxQkFBTSxDQUFDO29CQUNOLElBQUksSUFBSSxDQUFDLEVBQUUsSUFBSSxhQUFhLENBQUMsSUFBSSxFQUFFLENBQUM7d0JBQ2xDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO29CQUNyRCxDQUFDO3lCQUFNLElBQUksSUFBSSxDQUFDLEVBQUUsSUFBSSxhQUFhLENBQUMsK0JBQStCLEVBQUUsQ0FBQzt3QkFDcEUsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLFlBQVksQ0FBQyxzQkFBc0IsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztvQkFDdkUsQ0FBQzt5QkFBTSxJQUFJLElBQUksQ0FBQyxFQUFFLElBQUksYUFBYSxDQUFDLG1CQUFtQixFQUFFLENBQUM7d0JBQ3hELE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO29CQUN4RCxDQUFDO3lCQUFNLElBQUksSUFBSSxDQUFDLEVBQUUsSUFBSSxhQUFhLENBQUMsaUJBQWlCLEVBQUUsQ0FBQzt3QkFDdEQsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLFlBQVksQ0FBQyxpQkFBaUIsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztvQkFDbEUsQ0FBQzt5QkFBTSxJQUFJLElBQUksQ0FBQyxFQUFFLElBQUksYUFBYSxDQUFDLGVBQWUsRUFBRSxDQUFDO3dCQUNwRCxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztvQkFDekQsQ0FBQzt5QkFBTSxJQUFJLElBQUksQ0FBQyxFQUFFLElBQUksYUFBYSxDQUFDLDJCQUEyQixFQUFFLENBQUM7d0JBQ2hFLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxZQUFZLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO29CQUM5RCxDQUFDO3lCQUFNLElBQUksSUFBSSxDQUFDLEVBQUUsSUFBSSxhQUFhLENBQUMsY0FBYyxFQUFFLENBQUM7d0JBQ25ELE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO29CQUN0RCxDQUFDO2dCQUNILENBQUM7WUFDSCxDQUFDLENBQUMsQ0FBQTtZQUNGLE9BQU8sTUFBTSxDQUFDO1FBQ2hCLENBQUMsQ0FBQyxDQUFDO0lBdUNMLENBQUM7SUFyQ0M7Ozs7O09BS0c7SUFDSCxpQkFBaUIsQ0FBQyxNQUFxQixFQUFFLEtBQTBCLEVBQUUsU0FBaUI7UUFDcEYsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNWLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7Z0JBQzFCLElBQUksU0FBUyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxLQUFLLENBQUMsQ0FBQztnQkFDdEQsSUFBSSxTQUFTLEVBQUUsQ0FBQztvQkFDZCxJQUFJLENBQUMsV0FBVyxJQUFJLFNBQVMsQ0FBQztvQkFDOUIsU0FBUyxDQUFDLFdBQVcsSUFBSSxTQUFTLENBQUM7b0JBQ25DLE9BQU87Z0JBQ1QsQ0FBQztZQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBdUIsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxNQUFNLENBQUMsQ0FBQztZQUMzRSxJQUFJLElBQUksRUFBRSxDQUFDO2dCQUNULElBQUksQ0FBQyxXQUFXLElBQUksU0FBUyxDQUFDO1lBQ2hDLENBQUM7UUFDSCxDQUFDO1FBQ0QsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUE4QixFQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUNyRSxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxjQUFjLENBQUMsTUFBcUIsRUFBRSxLQUEwQjtRQUM5RCxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ1YsT0FBTyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUF5QixFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM3RixDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsV0FBVyxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBMEIsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDeEYsQ0FBQztDQUNGO0FBR0QsTUFBTSxPQUFPLHFCQUFxQjtJQUFsQztRQUdFLFNBQUksR0FBbUIsSUFBSSxDQUFDO1FBQzVCLFVBQUssR0FBbUIsSUFBSSxDQUFDO1FBQzdCLFlBQU8sR0FBb0IsSUFBSSxDQUFDO1FBQ2hDLGVBQVUsR0FBb0IsSUFBSSxDQUFDO1FBQ25DLG9CQUFlLEdBQW9CLElBQUksQ0FBQztRQUN4QyxvQkFBZSxHQUFvQixJQUFJLENBQUM7UUFDeEMsb0JBQWUsR0FBb0IsSUFBSSxDQUFDO0lBQzFDLENBQUM7Q0FBQTtBQUVELE1BQU0sQ0FBTixJQUFZLGtCQUdYO0FBSEQsV0FBWSxrQkFBa0I7SUFDNUIsbUZBQXVCLENBQUE7SUFDdkIscUZBQXdCLENBQUE7QUFDMUIsQ0FBQyxFQUhXLGtCQUFrQixLQUFsQixrQkFBa0IsUUFHN0I7QUFFRCxNQUFNLENBQU4sSUFBWSw0QkFHWDtBQUhELFdBQVksNEJBQTRCO0lBQ3RDLGtHQUFrQixDQUFBO0lBQ2xCLG9HQUFtQixDQUFBO0FBQ3JCLENBQUMsRUFIVyw0QkFBNEIsS0FBNUIsNEJBQTRCLFFBR3ZDO0FBZ0NELE1BQU0sT0FBTyxlQUFlO0lBQTVCO1FBQ0UsT0FBRSxHQUFtQixJQUFJLENBQUM7UUFDMUIsZUFBVSxHQUFtQixJQUFJLENBQUM7UUFDbEMsVUFBSyxHQUFtQixJQUFJLENBQUM7UUFDN0IsZUFBVSxHQUFvQixJQUFJLENBQUM7UUFDbkMsWUFBTyxHQUFtQixJQUFJLENBQUM7UUFDL0IsaUJBQVksR0FBbUIsSUFBSSxDQUFDO0lBQ3RDLENBQUM7Q0FBQTtBQUVELE1BQU0sQ0FBTixJQUFZLG9CQUtYO0FBTEQsV0FBWSxvQkFBb0I7SUFDOUIsaUVBQVUsQ0FBQTtJQUNWLHVFQUFhLENBQUE7SUFDYix5RUFBYyxDQUFBO0lBQ2QscUVBQVksQ0FBQTtBQUNkLENBQUMsRUFMVyxvQkFBb0IsS0FBcEIsb0JBQW9CLFFBSy9CO0FBRUQsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQTBDO0lBQzFFLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsb0JBQW9CLENBQUMsSUFBSSxFQUFFO0lBQ3BELEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsb0JBQW9CLENBQUMsTUFBTSxFQUFFO0lBQ3RELEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsb0JBQW9CLENBQUMsT0FBTyxFQUFFO0lBQ3hELEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsb0JBQW9CLENBQUMsUUFBUSxFQUFFO0NBQzVELENBQUE7QUFHRCxNQUFNLE9BQU8sMkJBQTJCO0lBQXhDO1FBQ0UsT0FBRSxHQUFtQixJQUFJLENBQUM7UUFDMUIsYUFBUSxHQUFpQixJQUFJLENBQUM7UUFDOUIsV0FBTSxHQUFpQixJQUFJLENBQUM7UUFDNUIsV0FBTSxHQUFtQixJQUFJLENBQUM7UUFDOUIsU0FBSSxHQUFtQixJQUFJLENBQUM7UUFDNUIsVUFBSyxHQUFtQixJQUFJLENBQUM7UUFDN0IsU0FBSSxHQUFtQixJQUFJLENBQUM7UUFDNUIsbUJBQWMsR0FBb0IsSUFBSSxDQUFDO1FBQ3ZDLFVBQUssR0FBaUMsSUFBSSxDQUFDO1FBQzNDLGtCQUFhLEdBQW9CLElBQUksQ0FBQztRQUN0QyxVQUFLLEdBQW1CLENBQUMsQ0FBQztRQUMxQixVQUFLLEdBQW1CLEVBQUUsQ0FBQTtJQUM1QixDQUFDO0NBQUE7QUF5REQsTUFBTSxDQUFOLElBQVksdUJBR1g7QUFIRCxXQUFZLHVCQUF1QjtJQUNqQywrRUFBYSxDQUFBO0lBQ2IscUVBQVEsQ0FBQTtBQUNWLENBQUMsRUFIVyx1QkFBdUIsS0FBdkIsdUJBQXVCLFFBR2xDO0FBUUQsTUFBTSxDQUFOLElBQVksc0JBV1g7QUFYRCxXQUFZLHNCQUFzQjtJQUNoQyxtRUFBUSxDQUFBO0lBQ1IsNkVBQWEsQ0FBQTtJQUNiLHFHQUF5QixDQUFBO0lBQ3pCLHlGQUFtQixDQUFBO0lBQ25CLHVHQUEwQixDQUFBO0lBQzFCLDJFQUFZLENBQUE7SUFDWixtR0FBd0IsQ0FBQTtJQUN4QixxRUFBUyxDQUFBO0lBQ1QscUVBQVUsQ0FBQTtJQUNWLHVFQUFXLENBQUE7QUFDYixDQUFDLEVBWFcsc0JBQXNCLEtBQXRCLHNCQUFzQixRQVdqQztBQUVELE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUE0QztJQUM5RSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLHNCQUFzQixDQUFDLElBQUksRUFBRTtJQUNwRCxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLHNCQUFzQixDQUFDLEtBQUssRUFBRTtJQUN6RCxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLHNCQUFzQixDQUFDLFNBQVMsRUFBRTtJQUM5RCxFQUFFLElBQUksRUFBRSxzQkFBc0IsRUFBRSxLQUFLLEVBQUUsc0JBQXNCLENBQUMscUJBQXFCLEVBQUU7SUFDckYsRUFBRSxJQUFJLEVBQUUsbUJBQW1CLEVBQUUsS0FBSyxFQUFFLHNCQUFzQixDQUFDLGVBQWUsRUFBRTtJQUM1RSxFQUFFLElBQUksRUFBRSwrQkFBK0IsRUFBRSxLQUFLLEVBQUUsc0JBQXNCLENBQUMsc0JBQXNCLEVBQUU7SUFDL0YsRUFBRSxJQUFJLEVBQUUscUJBQXFCLEVBQUUsS0FBSyxFQUFFLHNCQUFzQixDQUFDLFFBQVEsRUFBRTtJQUN2RSxFQUFFLElBQUksRUFBRSx5QkFBeUIsRUFBRSxLQUFLLEVBQUUsc0JBQXNCLENBQUMsb0JBQW9CLEVBQUU7SUFDdkYsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxzQkFBc0IsQ0FBQyxLQUFLLEVBQUU7Q0FDdkQsQ0FBQTtBQUdELE1BQU0sQ0FBTixJQUFZLDZCQUdYO0FBSEQsV0FBWSw2QkFBNkI7SUFDdkMseUZBQVksQ0FBQTtJQUNaLDZGQUFjLENBQUE7QUFDaEIsQ0FBQyxFQUhXLDZCQUE2QixLQUE3Qiw2QkFBNkIsUUFHeEM7QUFDRCxNQUFNLENBQUMsTUFBTSw4QkFBOEIsR0FBbUQ7SUFDNUYsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSw2QkFBNkIsQ0FBQyxRQUFRLEVBQUU7SUFDcEUsRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBRSw2QkFBNkIsQ0FBQyxVQUFVLEVBQUU7Q0FDekUsQ0FBQTtBQW1FRCxNQUFNLE9BQU8saUNBQWlDO0lBQTlDO1FBQ0UsV0FBTSxHQUFtQixJQUFJLENBQUM7UUFDOUIsZ0JBQVcsR0FBb0IsSUFBSSxDQUFDO0lBQ3RDLENBQUM7Q0FBQTtBQVdELE1BQU0sT0FBTywrQkFBK0I7SUFBNUM7UUFDRSxXQUFNLEdBQW1CLElBQUksQ0FBQztRQUM5QixhQUFRLEdBQW1CLElBQUksQ0FBQztRQUNoQyxlQUFVLEdBQW1CLElBQUksQ0FBQztRQUNsQyxhQUFRLEdBQW1DLElBQUksQ0FBQztRQUNoRCxhQUFRLEdBQWlCLElBQUksQ0FBQztRQUM5QixXQUFNLEdBQWlCLElBQUksQ0FBQztRQUM1QixjQUFTLEdBQW1CLElBQUksQ0FBQztRQUNqQyxZQUFPLEdBQW1CLElBQUksQ0FBQztRQUMvQixjQUFTLEdBQW1CLElBQUksQ0FBQztRQUNqQyxlQUFVLEdBQW9CLElBQUksQ0FBQztRQUNuQyxTQUFJLEdBQW1CLElBQUksQ0FBQztRQUM1QixtQkFBYyxHQUFtQixJQUFJLENBQUM7UUFDdEMsaUJBQVksR0FBbUIsSUFBSSxDQUFDO1FBQ3BDLFVBQUssR0FBbUIsSUFBSSxDQUFDO1FBQzdCLFVBQUssR0FBbUIsSUFBSSxDQUFDO0lBQy9CLENBQUM7Q0FBQTtBQWtCRCxNQUFNLENBQU4sSUFBWSxzQkFHWDtBQUhELFdBQVksc0JBQXNCO0lBQ2hDLDZFQUFhLENBQUE7SUFDYixtRUFBUSxDQUFBO0FBQ1YsQ0FBQyxFQUhXLHNCQUFzQixLQUF0QixzQkFBc0IsUUFHakM7QUFnQkQsTUFBTSxPQUFPLFlBQVk7SUFFdkI7Ozs7T0FJRztJQUNILE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxLQUFtQjtRQUMvQyxPQUFPLEtBQUssS0FBSyxZQUFZLENBQUMsT0FBTztZQUNuQyxLQUFLLEtBQUssWUFBWSxDQUFDLGdCQUFnQjtZQUN2QyxLQUFLLEtBQUssWUFBWSxDQUFDLFFBQVE7WUFDL0IsS0FBSyxLQUFLLFlBQVksQ0FBQyxZQUFZLENBQUE7SUFDdkMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxNQUFNLENBQUMseUJBQXlCLENBQUMsSUFBeUI7UUFDeEQsUUFBUSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDbkIsS0FBSyxZQUFZLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxPQUFPLGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQztZQUM1RSxLQUFLLFlBQVksQ0FBQyxJQUFJLENBQUM7WUFDdkIsS0FBSyxZQUFZLENBQUMsUUFBUSxDQUFDO1lBQzNCLEtBQUssWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU8sYUFBYSxDQUFDLElBQUksQ0FBQztZQUNuRCxLQUFLLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQztZQUNwRSxLQUFLLFlBQVksQ0FBQyxhQUFhLENBQUMsQ0FBQyxPQUFPLGFBQWEsQ0FBQywyQkFBMkIsQ0FBQztZQUNsRixLQUFLLFlBQVksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLE9BQU8sYUFBYSxDQUFDLGNBQWMsQ0FBQztZQUM3RSxLQUFLLFlBQVksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLE9BQU8sYUFBYSxDQUFDLGdCQUFnQixDQUFDO1lBQzFFLEtBQUssWUFBWSxDQUFDLFlBQVksQ0FBQztZQUMvQixLQUFLLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQyxPQUFPLGFBQWEsQ0FBQyxxQkFBcUIsQ0FBQztZQUN2RSxLQUFLLFlBQVksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLE9BQU8sYUFBYSxDQUFDLCtCQUErQixDQUFDO1FBQ2pHLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFHRDs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLHlCQUF5QixDQUFDLEtBQXlCO1FBQ3hELE9BQU8sbUJBQW1CLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxLQUFLLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ3hFLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLDBCQUEwQixDQUFDLEtBQXlCO1FBQ3pELE9BQU8sY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsS0FBSyxLQUFLLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSyxNQUFNLENBQUMsWUFBWSxDQUFDLE9BQXdCLEVBQUUsY0FBOEMsRUFBRSxPQUFlLENBQUM7UUFDcEgsSUFBSSxFQUFFLEdBQVksS0FBSyxDQUFDO1FBQ3hCLElBQUksSUFBSSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ2Ysc0NBQXNDO1lBQ3RDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxjQUFjLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7Z0JBQy9DLEVBQUUsR0FBRyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7Z0JBQzFFLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQztvQkFDUixNQUFNO2dCQUNSLENBQUM7WUFDSCxDQUFDO1lBQ0QsRUFBRSxHQUFHLEVBQUUsSUFBSSxPQUFPLENBQUMsTUFBTSxJQUFJLENBQUMsY0FBYyxFQUFFLE1BQU0sSUFBSSxDQUFDLENBQUMsQ0FBQztRQUM3RCxDQUFDO2FBQU0sSUFBSSxJQUFJLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDdEIsNkJBQTZCO1lBQzdCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7Z0JBQ3hDLEVBQUUsR0FBRyxDQUFDLGNBQWMsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxLQUFLLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7Z0JBQzNFLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQztvQkFDUixNQUFNO2dCQUNSLENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQzthQUFNLElBQUksSUFBSSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ3RCLG9DQUFvQztZQUNwQyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO2dCQUN4QyxFQUFFLEdBQUcsQ0FBQyxjQUFjLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssS0FBSyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO2dCQUMzRSxJQUFJLEVBQUUsRUFBRSxDQUFDO29CQUNQLE1BQU07Z0JBQ1IsQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDO1FBQ0QsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILE1BQU0sQ0FBQyw4QkFBOEIsQ0FDbkMsVUFBNkQsU0FBUyxFQUN0RSxTQUFpRCxTQUFTO1FBQzFELE1BQU0sT0FBTyxHQUFpQztZQUM1QyxFQUFFLElBQUksRUFBRSxrQkFBa0IsRUFBRSxLQUFLLEVBQUUsV0FBVyxDQUFDLFFBQVEsRUFBRTtZQUN6RCxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxLQUFLLEVBQUUsV0FBVyxDQUFDLE9BQU8sRUFBRTtZQUN0RCxFQUFFLElBQUksRUFBRSx3QkFBd0IsRUFBRSxLQUFLLEVBQUUsV0FBVyxDQUFDLGNBQWMsRUFBRTtZQUNyRSxFQUFFLElBQUksRUFBRSxzQkFBc0IsRUFBRSxLQUFLLEVBQUUsV0FBVyxDQUFDLGFBQWEsRUFBRTtZQUNsRSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLFdBQVcsQ0FBQyxTQUFTLEVBQUU7WUFDbkQsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsVUFBVSxFQUFFO1NBQ3RELENBQUM7UUFDRixJQUFJLFdBQVcsR0FBNEIsRUFBRSxDQUFBO1FBQzdDLElBQUksTUFBTSxJQUFJLGtCQUFrQixDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1lBQ3JELFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDL0IsQ0FBQztRQUNELElBQUksT0FBTyxFQUFFLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUN4QixJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxhQUFhLENBQUMsK0JBQStCLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDbkYsV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDN0IsV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUMvQixDQUFDO2lCQUFNLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsRUFBRSxhQUFhLENBQUMsY0FBYyxFQUFFLGFBQWEsQ0FBQywrQkFBK0IsQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUN4SixXQUFXLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUM3QixXQUFXLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUM3QixXQUFXLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUM3QixXQUFXLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUM3QixXQUFXLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQy9CLENBQUM7aUJBQU0sQ0FBQztnQkFDTixXQUFXLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUM3QixXQUFXLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQy9CLENBQUM7UUFDSCxDQUFDO2FBQU0sQ0FBQztZQUNOLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDN0IsV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMvQixDQUFDO1FBQ0QsT0FBTyxXQUFXLENBQUM7SUFDckIsQ0FBQztDQUVGO0FBRUQsTUFBTSxPQUFPLGtCQUFrQjtJQUU3Qjs7O09BR0c7SUFDSCxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQTJCO1FBQ3RDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ3JCLE1BQU0sQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ3RCLE1BQU0sQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ3JCLE1BQU0sQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ3RCLE1BQU0sQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLE1BQU0sQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ3JCLE1BQU0sQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1FBQ3ZCLE1BQU0sQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO1FBQ3pCLE1BQU0sQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1FBQzNCLE1BQU0sQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1FBQzNCLE1BQU0sQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ3JCLE1BQU0sQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1FBQ3ZCLE1BQU0sQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ3JCLE1BQU0sQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ25CLE1BQU0sQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1FBQzNCLE1BQU0sQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ3JCLE1BQU0sQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDO1FBQzdCLE1BQU0sQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1FBQzNCLE1BQU0sQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO1FBQ3pCLE1BQU0sQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ25CLE1BQU0sQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ25CLE1BQU0sQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO1FBQzVCLE1BQU0sQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ3pCLE1BQU0sQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ25CLE1BQU0sQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLE1BQU0sQ0FBQyx1QkFBdUIsR0FBRyxLQUFLLENBQUM7UUFDdkMsTUFBTSxDQUFDLDBCQUEwQixHQUFHLEtBQUssQ0FBQztRQUMxQyxNQUFNLENBQUMsNkJBQTZCLEdBQUcsS0FBSyxDQUFDO1FBQzdDLE1BQU0sQ0FBQyxzQkFBc0IsR0FBRyxLQUFLLENBQUM7UUFDdEMsTUFBTSxDQUFDLFFBQVEsR0FBRyxDQUFDLEdBQUcsZUFBZSxDQUFDLENBQUM7UUFDdkMsTUFBTSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7UUFDM0IsTUFBTSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7UUFDNUIsTUFBTSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7UUFDMUIsTUFBTSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7UUFDM0IsTUFBTSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUM7UUFDN0IsTUFBTSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7UUFDM0IsTUFBTSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7UUFDNUIsTUFBTSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7UUFDcEIsTUFBTSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7UUFDckIsTUFBTSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7UUFDckIsTUFBTSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7SUFDeEIsQ0FBQztJQUdEOzs7OztPQUtHO0lBQ0gsTUFBTSxDQUFDLGdCQUFnQixDQUNyQixPQUEwRCxFQUMxRCxTQUF5QixLQUFLO1FBQzlCLE1BQU0sTUFBTSxHQUFtQixFQUFFLENBQUM7UUFDbEMsSUFBSSxDQUFDLE9BQU8sRUFBRSxNQUFNLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDL0IsT0FBTyxFQUFFLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRTtnQkFDeEIsUUFBUSxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUM7b0JBQ3JCLEtBQUssYUFBYSxDQUFDLHFCQUFxQjt3QkFDdEMsQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLFlBQVksQ0FBQyxZQUFZLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7d0JBQ2hGLE1BQU07b0JBQ1IsS0FBSyxhQUFhLENBQUMsbUJBQW1CO3dCQUNwQyxNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQzt3QkFDbEMsTUFBTTtvQkFDUixLQUFLLGFBQWEsQ0FBQyxJQUFJO3dCQUNyQixNQUFNOzRCQUNKLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUM7NEJBQ2hDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsWUFBWSxDQUFDLElBQUksRUFBRSxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO3dCQUNoRyxNQUFNO29CQUNSLEtBQUssYUFBYSxDQUFDLGVBQWU7d0JBQ2hDLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDO3dCQUNuQyxNQUFNO29CQUNSLEtBQUssYUFBYSxDQUFDLGlCQUFpQjt3QkFDbEMsTUFBTSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsaUJBQWlCLENBQUMsQ0FBQzt3QkFDNUMsTUFBTTtvQkFDUixLQUFLLGFBQWEsQ0FBQywrQkFBK0I7d0JBQ2hELE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLHNCQUFzQixDQUFDLENBQUM7d0JBQ2pELE1BQU07b0JBQ1IsS0FBSyxhQUFhLENBQUMsZ0JBQWdCO3dCQUNqQyxNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO3dCQUMzQyxNQUFNO29CQUNSLEtBQUssYUFBYSxDQUFDLDJCQUEyQjt3QkFDNUMsTUFBTSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLENBQUM7d0JBQ3hDLE1BQU07b0JBQ1IsS0FBSyxhQUFhLENBQUMsY0FBYzt3QkFDL0IsTUFBTSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7d0JBQ2hDLE1BQU07Z0JBQ1YsQ0FBQztZQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLFdBQVcsQ0FBQyxNQUEyQjtRQUM1QyxPQUFPLE1BQU0sQ0FBQyxJQUFJLElBQUksSUFBSSxJQUFJLE1BQU0sQ0FBQyxJQUFJLEVBQUUsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBRUQ7Ozs7Y0FJVTtJQUNGLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBUyxFQUFFLE9BQWU7UUFDdkQsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUN0QixJQUFJLE9BQU8sQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDO2dCQUN2RCxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNyQixJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDbkQsQ0FBQyxHQUFHLElBQUksR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDO1lBQ3RCLElBQUksT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDO2dCQUFFLE9BQU8sSUFBSSxJQUFJLENBQUM7WUFDeEMsT0FBTyxJQUFJLENBQUMsQ0FBQztRQUNmLENBQUM7UUFDRCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxJQUFZO1FBQ3BDLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxDQUFDO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFDNUMsSUFBSSxDQUFDLEdBQVcsRUFBRSxDQUFDO1FBQ25CLElBQUksT0FBTyxHQUFXLEVBQUUsQ0FBQztRQUN6QixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQ3JDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO2dCQUNwQixPQUFPLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsT0FBTyxDQUFDLENBQUM7Z0JBQ2xELENBQUMsR0FBRyxFQUFFLENBQUM7WUFDVCxDQUFDOztnQkFDSSxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3BCLENBQUM7UUFDRCxPQUFPLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDbEQsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiXHJcbmltcG9ydCB7IFNlbmRUb0RpYWxvZ1Jlc3VsdCB9IGZyb20gJ0BhcnNlZGl6aW9uaS9hcnMtdXRpbHMvdWkuYXBwbGljYXRpb24nO1xyXG5pbXBvcnQgeyBGb2xkZXIsIExvZ2luUmVzdWx0LCBOYW1lVmFsdWVJdGVtIH0gZnJvbSAnQGFyc2VkaXppb25pL2Fycy11dGlscy9jb3JlJztcclxuaW1wb3J0IHsgTG9naW5PQXV0aFR5cGUgfSBmcm9tICdAYXJzZWRpemlvbmkvYXJzLXV0aWxzL3VpLm9hdXRoJztcclxuaW1wb3J0IHsgY29tcHV0ZWQsIFNpZ25hbCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5cclxuZXhwb3J0IGVudW0gQ2xpcHBlclNlcnZpY2VGbGFncyB7XHJcbiAgTm9uZSA9IDAsXHJcbiAgTm90aWZ5U3lzdGVtRXJyb3JzID0gMSxcclxuICBEaXNwbGF5Q29ubmVjdGlvblN0YXRlTWVzc2FnZXMgPSAxIDw8IDFcclxuXHJcbn1cclxuZXhwb3J0IGVudW0gQ2xpcHBlclJlY3VycmVuY2VUeXBlIHtcclxuICBZZWFyID0gMSxcclxuICBNb250aCA9IDIsXHJcbiAgRGF5ID0gM1xyXG59XHJcblxyXG5leHBvcnQgY29uc3QgQ2xpcHBlclJlY3VycmVuY2VUeXBlczogTmFtZVZhbHVlSXRlbTxDbGlwcGVyUmVjdXJyZW5jZVR5cGU+W10gPSBbXHJcbiAgeyBuYW1lOiAnQW5uaScsIHZhbHVlOiBDbGlwcGVyUmVjdXJyZW5jZVR5cGUuWWVhciB9LFxyXG4gIHsgbmFtZTogJ01lc2knLCB2YWx1ZTogQ2xpcHBlclJlY3VycmVuY2VUeXBlLk1vbnRoIH0sXHJcbiAgeyBuYW1lOiAnR2lvcm5pJywgdmFsdWU6IENsaXBwZXJSZWN1cnJlbmNlVHlwZS5EYXkgfVxyXG5dXHJcblxyXG5leHBvcnQgZW51bSBDbGlwcGVyU2VsZWN0aW9uTW9kZSB7XHJcbiAgU2luZ2xlID0gMSxcclxuICBNdWx0aSA9IDIsXHJcbiAgQW55ID0gM1xyXG59XHJcblxyXG5leHBvcnQgZW51bSBDbGlwcGVyTW9kdWxlR3JvdXAge1xyXG4gIEhvbWUgPSAwLFxyXG4gIE5vcm1hdGl2YVZpZ2VudGUgPSAxLFxyXG4gIFVsdGltZU5vdml0w6AgPSAyLFxyXG4gIFBhckFwcHJvZm9uZGlyZSA9IDMsXHJcbiAgREdJbmZvID0gNCxcclxuICBHaXVyaXNwcnVkZW56YSA9IDUsXHJcbiAgQ2FsZW5kYXJpbyA9IDExLFxyXG4gIEFyY2hpdmlvID0gMTIsXHJcbiAgUmljZXJjYSA9IDk5XHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIENsaXBwZXJNb2R1bGUge1xyXG4gIE5vcm1hdGl2YVZpZ2VudGUgPSA0LFxyXG4gIE5ld3MgPSAxLFxyXG4gIEdhenpldHRlQm9sbGV0dGluaUVGb250aURpdmVyc2UgPSAyLFxyXG4gIEdpdXJpc3BydWRlbnphID0gNSxcclxuICBNb2RpZmljaGVBYnJvZ2F6aW9uaUVSaW52aWkgPSAzLFxyXG4gIFNjYWRlbnplRVNlZ25hbGF6aW9uaSA9IDEyLFxyXG4gIEFsbGVydGVBbGltZW50YXJpID0gOCxcclxuICBBcHByb2ZvbmRpbWVudGkgPSA2LFxyXG4gIFF1ZXNpdGlFQ2FzaVJpc29sdGkgPSAxMCxcclxuICBNZXRvZGlEaUFuYWxpc2kgPSAxMSxcclxuICBER0luZm8gPSA2MSxcclxuICBSaWNlcmNhID0gOTlcclxuXHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIENsaXBwZXJNb2RlbCB7XHJcbiAgVW5rbm93biA9IDAsXHJcbiAgQWdnaW9ybmFtZW50b05vcm1hdGl2byA9IDIsXHJcbiAgTmV3cyA9IDMsXHJcbiAgQXJ0aWNvbGkgPSA0LFxyXG4gIEp1cmlzID0gNSxcclxuICBRdWVzaXRpID0gOCxcclxuICBOb3JtYXRpdmFWaWdlbnRlID0gOSxcclxuICBTY2FkZW56ZSA9IDEwLFxyXG4gIENvb3JkaW5hbWVudG8gPSAxMSxcclxuICBBbGxlcnRlQWxpbWVudGFyaSA9IDEzLFxyXG4gIE1ldG9kaURpQW5hbGlzaSA9IDE0LFxyXG4gIEdpdXJpc3BydWRlbnphUmVjZW50ZSA9IDE4LFxyXG4gIFNlZ25hbGF6aW9uaSA9IDIwLFxyXG4gIFVsdGltZU5vdml0w6AgPSAyMVxyXG59XHJcblxyXG5leHBvcnQgY29uc3QgQ2xpcHBlck1vZGVsczogTmFtZVZhbHVlSXRlbTxudW1iZXI+W10gPSBbXHJcbiAgeyB2YWx1ZTogQ2xpcHBlck1vZGVsLkFnZ2lvcm5hbWVudG9Ob3JtYXRpdm8sIG5hbWU6IFwiVGVzdGkgc3RvcmljaVwiIH0sXHJcbiAgeyB2YWx1ZTogQ2xpcHBlck1vZGVsLk5ld3MsIG5hbWU6ICdOZXdzJyB9LFxyXG4gIHsgdmFsdWU6IENsaXBwZXJNb2RlbC5BcnRpY29saSwgbmFtZTogJ0FydGljb2xpJyB9LFxyXG4gIHsgdmFsdWU6IENsaXBwZXJNb2RlbC5KdXJpcywgbmFtZTogJ05vdGUgYSBzZW50ZW56YScgfSxcclxuICB7IHZhbHVlOiBDbGlwcGVyTW9kZWwuR2l1cmlzcHJ1ZGVuemFSZWNlbnRlLCBuYW1lOiAnR2l1cmlzcHJ1ZGVuemEnIH0sXHJcbiAgeyB2YWx1ZTogQ2xpcHBlck1vZGVsLlF1ZXNpdGksIG5hbWU6ICdRdWVzaXRpJyB9LFxyXG4gIHsgdmFsdWU6IENsaXBwZXJNb2RlbC5Ob3JtYXRpdmFWaWdlbnRlLCBuYW1lOiAnTm9ybWF0aXZhIHZpZ2VudGUnIH0sXHJcbiAgeyB2YWx1ZTogQ2xpcHBlck1vZGVsLlNjYWRlbnplLCBuYW1lOiAnU2NhZGVuemUnIH0sXHJcbiAgeyB2YWx1ZTogQ2xpcHBlck1vZGVsLkFsbGVydGVBbGltZW50YXJpLCBuYW1lOiAnQWxsZXJ0ZSBhbGltZW50YXJpJyB9LFxyXG4gIHsgdmFsdWU6IENsaXBwZXJNb2RlbC5Db29yZGluYW1lbnRvLCBuYW1lOiAnTW9kaWZpY2hlIGUgYWJyb2dhemlvbmknIH0sXHJcbl1cclxuXHJcbmV4cG9ydCBjb25zdCBDbGlwcGVyTW9kdWxlR3JvdXBzOiBOYW1lVmFsdWVJdGVtPG51bWJlcj5bXSA9IFtcclxuICB7IG5hbWU6IFwiVWx0aW1lIG5vdml0w6BcIiwgdmFsdWU6IENsaXBwZXJNb2R1bGVHcm91cC5Ib21lIH0sXHJcbiAgeyBuYW1lOiBcIlJpY2VyY2FcIiwgdmFsdWU6IENsaXBwZXJNb2R1bGVHcm91cC5SaWNlcmNhIH0sXHJcbiAgeyBuYW1lOiBcIk5vcm1hdGl2YSB2aWdlbnRlXCIsIHZhbHVlOiBDbGlwcGVyTW9kdWxlR3JvdXAuTm9ybWF0aXZhVmlnZW50ZSB9LFxyXG4gIHsgbmFtZTogXCJSaW1hbmkgYWdnaW9ybmF0b1wiLCB2YWx1ZTogQ2xpcHBlck1vZHVsZUdyb3VwLlVsdGltZU5vdml0w6AgfSxcclxuICB7IG5hbWU6IFwiQ29udHJpYnV0aVwiLCB2YWx1ZTogQ2xpcHBlck1vZHVsZUdyb3VwLlBhckFwcHJvZm9uZGlyZSB9LFxyXG4gIHsgbmFtZTogXCJERyBJbmZvXCIsIHZhbHVlOiBDbGlwcGVyTW9kdWxlR3JvdXAuREdJbmZvIH0sXHJcbiAgeyBuYW1lOiBcIkNhbGVuZGFyaW9cIiwgdmFsdWU6IENsaXBwZXJNb2R1bGVHcm91cC5DYWxlbmRhcmlvIH0sXHJcbiAgeyBuYW1lOiBcIkFyY2hpdmlvXCIsIHZhbHVlOiBDbGlwcGVyTW9kdWxlR3JvdXAuQXJjaGl2aW8gfVxyXG5dO1xyXG5cclxuZXhwb3J0IGNvbnN0IENsaXBwZXJNb2R1bGVzOiBOYW1lVmFsdWVJdGVtPG51bWJlcj5bXSA9IFtcclxuICB7IG5hbWU6ICdOZXdzLCBhcnRpY29saSBkaSBhcHByb2ZvbmRpbWVudG8gZSBub3RlIGEgc2VudGVuemEnLCBzaG9ydE5hbWU6ICdOb3ZpdMOgJywgdmFsdWU6IENsaXBwZXJNb2R1bGUuTmV3cyB9LFxyXG4gIHsgbmFtZTogJ0dhenpldHRlLCBCb2xsZXR0aW5pIGUgZm9udGkgZGl2ZXJzZScsIHNob3J0TmFtZTogJ0dhenpldHRlLCBCb2xsZXR0aW5pIGUgZm9udGkgZGl2ZXJzZScsIHZhbHVlOiBDbGlwcGVyTW9kdWxlLkdhenpldHRlQm9sbGV0dGluaUVGb250aURpdmVyc2UgfSxcclxuICB7IG5hbWU6ICdHaXVyaXNwcnVkZW56YScsIHNob3J0TmFtZTogJ0dpdXJpc3BydWRlbnphJywgdmFsdWU6IENsaXBwZXJNb2R1bGUuR2l1cmlzcHJ1ZGVuemEgfSxcclxuICB7IG5hbWU6ICdNb2RpZmljaGUsIGFicm9nYXppb25pIGUgcmludmlpJywgc2hvcnROYW1lOiAnTW9kaWZpY2hlLCBhYnJvZ2F6aW9uaSBlIHJpbnZpaScsIHZhbHVlOiBDbGlwcGVyTW9kdWxlLk1vZGlmaWNoZUFicm9nYXppb25pRVJpbnZpaSB9LFxyXG4gIHsgbmFtZTogJ0FsbGVydGUgYWxpbWVudGFyaScsIHNob3J0TmFtZTogJ0FsbGVydGUgYWxpbWVudGFyaScsIHZhbHVlOiBDbGlwcGVyTW9kdWxlLkFsbGVydGVBbGltZW50YXJpIH0sXHJcbiAgeyBuYW1lOiAnU2NhZGVuemUgZSBzZWduYWxhemlvbmknLCBzaG9ydE5hbWU6ICdTY2FkZW56ZSBlIHNlZ25hbGF6aW9uaScsIHZhbHVlOiBDbGlwcGVyTW9kdWxlLlNjYWRlbnplRVNlZ25hbGF6aW9uaSB9LFxyXG4gIHsgbmFtZTogJ05vcm1hdGl2YSB2aWdlbnRlJywgc2hvcnROYW1lOiAnTm9ybWF0aXZhIHZpZ2VudGUnLCB2YWx1ZTogQ2xpcHBlck1vZHVsZS5Ob3JtYXRpdmFWaWdlbnRlIH0sXHJcbiAgeyBuYW1lOiAnUXVlc2l0aSBlIGNhc2kgcmlzb2x0aScsIHNob3J0TmFtZTogJ1F1ZXNpdGknLCB2YWx1ZTogQ2xpcHBlck1vZHVsZS5RdWVzaXRpRUNhc2lSaXNvbHRpIH0sXHJcbl1cclxuXHJcbmV4cG9ydCBlbnVtIENsaXBwZXJDaGFubmVsIHtcclxuICBOb25lID0gMCxcclxuICBMYXZvcm9FQW1iaWVudGUgPSAxLFxyXG4gIFNvc3RhbnplQWxpbWVudGFyaSA9IDIsXHJcbiAgTWVyY2lQZXJpY29sb3NlID0gMyxcclxuICBFbmVyZ2lhID0gNCxcclxuICBER0luZm8gPSA1XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBDbGlwcGVyQ2hhbm5lbHM6IE5hbWVWYWx1ZUl0ZW08Q2xpcHBlckNoYW5uZWw+W10gPSBbXHJcbiAgeyB2YWx1ZTogQ2xpcHBlckNoYW5uZWwuTGF2b3JvRUFtYmllbnRlLCBuYW1lOiBcIkxhdm9ybyBlIEFtYmllbnRlXCIsIGhlYWRlcjogXCJMQVwiIH0sXHJcbiAgeyB2YWx1ZTogQ2xpcHBlckNoYW5uZWwuU29zdGFuemVBbGltZW50YXJpLCBuYW1lOiBcIlNvc3RhbnplIEFsaW1lbnRhcmlcIiwgaGVhZGVyOiBcIlNBXCIgfSxcclxuICB7IHZhbHVlOiBDbGlwcGVyQ2hhbm5lbC5FbmVyZ2lhLCBuYW1lOiBcIkVuZXJnaWFcIiwgaGVhZGVyOiBcIkVcIiB9LFxyXG4gIHsgdmFsdWU6IENsaXBwZXJDaGFubmVsLk1lcmNpUGVyaWNvbG9zZSwgbmFtZTogXCJNZXJjaSBQZXJpY29sb3NlXCIsIGhlYWRlcjogXCJNUFwiIH1cclxuXVxyXG5cclxuZXhwb3J0IGNvbnN0IENsaXBwZXJSZWdpb25zOiBOYW1lVmFsdWVJdGVtPHN0cmluZz5bXSA9IFtcclxuICB7XHJcbiAgICB2YWx1ZTogJzRSQUInLFxyXG4gICAgbmFtZTogJ0FicnV6em8nLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdmFsdWU6ICc0UkJBJyxcclxuICAgIG5hbWU6ICdCYXNpbGljYXRhJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHZhbHVlOiAnNFJDQUwnLFxyXG4gICAgbmFtZTogJ0NhbGFicmlhJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHZhbHVlOiAnNFJDQU0nLFxyXG4gICAgbmFtZTogJ0NhbXBhbmlhJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHZhbHVlOiAnNFJFTScsXHJcbiAgICBuYW1lOiAnRW1pbGlhIFJvbWFnbmEnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdmFsdWU6ICc0UkZWRycsXHJcbiAgICBuYW1lOiAnRnJpdWxpIFZlbmV6aWEgR2l1bGlhJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHZhbHVlOiAnNFJMQScsXHJcbiAgICBuYW1lOiAnTGF6aW8nLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdmFsdWU6ICc0UkxJJyxcclxuICAgIG5hbWU6ICdMaWd1cmlhJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHZhbHVlOiAnNFJMTycsXHJcbiAgICBuYW1lOiAnTG9tYmFyZGlhJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHZhbHVlOiAnNFJNQScsXHJcbiAgICBuYW1lOiAnTWFyY2hlJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHZhbHVlOiAnNFJNTycsXHJcbiAgICBuYW1lOiAnTW9saXNlJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHZhbHVlOiAnNFJQSScsXHJcbiAgICBuYW1lOiAnUGllbW9udGUnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdmFsdWU6ICc0UlBVJyxcclxuICAgIG5hbWU6ICdQdWdsaWEnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdmFsdWU6ICc0UlNBJyxcclxuICAgIG5hbWU6ICdTYXJkZWduYScsXHJcbiAgfSxcclxuICB7XHJcbiAgICB2YWx1ZTogJzRSU0knLFxyXG4gICAgbmFtZTogJ1NpY2lsaWEnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdmFsdWU6ICc0UlRPJyxcclxuICAgIG5hbWU6ICdUb3NjYW5hJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHZhbHVlOiAnNFJUQUEnLFxyXG4gICAgbmFtZTogJ1RyZW50aW5vIEFsdG8gQWRpZ2UnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdmFsdWU6ICc0UlVNJyxcclxuICAgIG5hbWU6ICdVbWJyaWEnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdmFsdWU6ICc0UlZBJyxcclxuICAgIG5hbWU6IFwiVmFsbGUgRCdBb3N0YVwiLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdmFsdWU6ICc0UlZFJyxcclxuICAgIG5hbWU6ICdWZW5ldG8nLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdmFsdWU6ICc0UEFUJyxcclxuICAgIG5hbWU6ICdQcm92LiBBdXQuIFRyZW50bycsXHJcbiAgfSxcclxuICB7XHJcbiAgICB2YWx1ZTogJzRQQUInLFxyXG4gICAgbmFtZTogJ1Byb3YuIEF1dC4gQm9semFubycsXHJcbiAgfVxyXG5dXHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFNlY3RvckluZm8gZXh0ZW5kcyBOYW1lVmFsdWVJdGVtPHN0cmluZz4ge1xyXG5cclxuICBzaG9ydE5hbWU/OiBzdHJpbmcgfCBudWxsO1xyXG4gIGdyb3VwPzogc3RyaW5nIHwgbnVsbDtcclxuICBjaGFubmVscz86IHN0cmluZyB8IG51bGw7XHJcbiAgc2VjdG9ySWQ/OiBzdHJpbmcgfCBudWxsO1xyXG59XHJcblxyXG5leHBvcnQgY29uc3QgQ2xpcHBlclNlY3RvcnM6IFNlY3RvckluZm9bXSA9IFtcclxuICB7XHJcbiAgICB2YWx1ZTogJ0xDJyxcclxuICAgIG5hbWU6ICdMZWdpc2xhemlvbmUgY29tdW5pdGFyaWEnLFxyXG4gICAgc2hvcnROYW1lOiAnQ29tdW5pdGFyaWEnLFxyXG4gICAgZ3JvdXA6ICdTJyxcclxuICAgIGNoYW5uZWxzOiAnfExBfFNBfE9QfEV8JyxcclxuICB9LFxyXG4gIHtcclxuICAgIHZhbHVlOiAnTE4nLFxyXG4gICAgbmFtZTogJ0xlZ2lzbGF6aW9uZSBuYXppb25hbGUnLFxyXG4gICAgc2hvcnROYW1lOiAnTmF6aW9uYWxlJyxcclxuICAgIGdyb3VwOiAnUycsXHJcbiAgICBjaGFubmVsczogJ3xMQXxTQXxPUHxFfCcsXHJcbiAgfSxcclxuXHJcbiAge1xyXG4gICAgdmFsdWU6ICdMUicsXHJcbiAgICBuYW1lOiAnTGVnaXNsYXppb25lIHJlZ2lvbmFsZScsXHJcbiAgICBzaG9ydE5hbWU6ICdSZWdpb25hbGUnLFxyXG4gICAgZ3JvdXA6ICdTJyxcclxuICAgIGNoYW5uZWxzOiAnfExBfFNBfE9QfEV8JyxcclxuICB9LFxyXG4gIHtcclxuICAgIHZhbHVlOiAnNFJBQicsXHJcbiAgICBuYW1lOiAnICBBYnJ1enpvJyxcclxuICAgIGdyb3VwOiAnQScsXHJcbiAgICBjaGFubmVsczogJ3xMQXxTQXxPUHxFfCcsXHJcbiAgfSxcclxuICB7XHJcbiAgICB2YWx1ZTogJzRQQUInLFxyXG4gICAgbmFtZTogJyAgUHJvdi4gQXV0LiBCb2x6YW5vJyxcclxuICAgIGdyb3VwOiAnQScsXHJcbiAgICBjaGFubmVsczogJ3xMQXxTQXxPUHxFfCcsXHJcbiAgfSxcclxuICB7XHJcbiAgICB2YWx1ZTogJzRSQkEnLFxyXG4gICAgbmFtZTogJyAgQmFzaWxpY2F0YScsXHJcbiAgICBncm91cDogJ0EnLFxyXG4gICAgY2hhbm5lbHM6ICd8TEF8U0F8T1B8RXwnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdmFsdWU6ICc0UkNBTCcsXHJcbiAgICBuYW1lOiAnICBDYWxhYnJpYScsXHJcbiAgICBncm91cDogJ0EnLFxyXG4gICAgY2hhbm5lbHM6ICd8TEF8U0F8T1B8RXwnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdmFsdWU6ICc0UkNBTScsXHJcbiAgICBuYW1lOiAnICBDYW1wYW5pYScsXHJcbiAgICBncm91cDogJ0EnLFxyXG4gICAgY2hhbm5lbHM6ICd8TEF8U0F8T1B8RXwnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdmFsdWU6ICc0UkVNJyxcclxuICAgIG5hbWU6ICcgIEVtaWxpYSBSb21hZ25hJyxcclxuICAgIGdyb3VwOiAnQScsXHJcbiAgICBjaGFubmVsczogJ3xMQXxTQXxPUHxFfCcsXHJcbiAgfSxcclxuICB7XHJcbiAgICB2YWx1ZTogJzRSRlZHJyxcclxuICAgIG5hbWU6ICcgIEZyaXVsaSBWZW5lemlhIEdpdWxpYScsXHJcbiAgICBncm91cDogJ0EnLFxyXG4gICAgY2hhbm5lbHM6ICd8TEF8U0F8T1B8RXwnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdmFsdWU6ICc0UkxBJyxcclxuICAgIG5hbWU6ICcgIExhemlvJyxcclxuICAgIGdyb3VwOiAnQScsXHJcbiAgICBjaGFubmVsczogJ3xMQXxTQXxPUHxFfCcsXHJcbiAgfSxcclxuICB7XHJcbiAgICB2YWx1ZTogJzRSTEknLFxyXG4gICAgbmFtZTogJyAgTGlndXJpYScsXHJcbiAgICBncm91cDogJ0EnLFxyXG4gICAgY2hhbm5lbHM6ICd8TEF8U0F8T1B8RXwnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdmFsdWU6ICc0UkxPJyxcclxuICAgIG5hbWU6ICcgIExvbWJhcmRpYScsXHJcbiAgICBncm91cDogJ0EnLFxyXG4gICAgY2hhbm5lbHM6ICd8TEF8U0F8T1B8RXwnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdmFsdWU6ICc0Uk1BJyxcclxuICAgIG5hbWU6ICcgIE1hcmNoZScsXHJcbiAgICBncm91cDogJ0EnLFxyXG4gICAgY2hhbm5lbHM6ICd8TEF8U0F8T1B8RXwnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdmFsdWU6ICc0Uk1PJyxcclxuICAgIG5hbWU6ICcgIE1vbGlzZScsXHJcbiAgICBncm91cDogJ0EnLFxyXG4gICAgY2hhbm5lbHM6ICd8TEF8U0F8T1B8RXwnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdmFsdWU6ICc0UlBJJyxcclxuICAgIG5hbWU6ICcgIFBpZW1vbnRlJyxcclxuICAgIGdyb3VwOiAnQScsXHJcbiAgICBjaGFubmVsczogJ3xMQXxTQXxPUHxFfCcsXHJcbiAgfSxcclxuICB7XHJcbiAgICB2YWx1ZTogJzRSUFUnLFxyXG4gICAgbmFtZTogJyAgUHVnbGlhJyxcclxuICAgIGdyb3VwOiAnQScsXHJcbiAgICBjaGFubmVsczogJ3xMQXxTQXxPUHxFfCcsXHJcbiAgfSxcclxuICB7XHJcbiAgICB2YWx1ZTogJzRSU0EnLFxyXG4gICAgbmFtZTogJyAgU2FyZGVnbmEnLFxyXG4gICAgZ3JvdXA6ICdBJyxcclxuICAgIGNoYW5uZWxzOiAnfExBfFNBfE9QfEV8JyxcclxuICB9LFxyXG4gIHtcclxuICAgIHZhbHVlOiAnNFJTSScsXHJcbiAgICBuYW1lOiAnICBTaWNpbGlhJyxcclxuICAgIGdyb3VwOiAnQScsXHJcbiAgICBjaGFubmVsczogJ3xMQXxTQXxPUHxFfCcsXHJcbiAgfSxcclxuICB7XHJcbiAgICB2YWx1ZTogJzRSVE8nLFxyXG4gICAgbmFtZTogJyAgVG9zY2FuYScsXHJcbiAgICBncm91cDogJ0EnLFxyXG4gICAgY2hhbm5lbHM6ICd8TEF8U0F8T1B8RXwnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdmFsdWU6ICc0UlRBQScsXHJcbiAgICBuYW1lOiAnICBUcmVudGlubyBBbHRvIEFkaWdlJyxcclxuICAgIGdyb3VwOiAnQScsXHJcbiAgICBjaGFubmVsczogJ3xMQXxTQXxPUHxFfCcsXHJcbiAgfSxcclxuICB7XHJcbiAgICB2YWx1ZTogJzRQQVQnLFxyXG4gICAgbmFtZTogJyAgUHJvdi4gQXV0LiBUcmVudG8nLFxyXG4gICAgZ3JvdXA6ICdBJyxcclxuICAgIGNoYW5uZWxzOiAnfExBfFNBfE9QfEV8JyxcclxuICB9LFxyXG4gIHtcclxuICAgIHZhbHVlOiAnNFJVTScsXHJcbiAgICBuYW1lOiAnICBVbWJyaWEnLFxyXG4gICAgZ3JvdXA6ICdBJyxcclxuICAgIGNoYW5uZWxzOiAnfExBfFNBfE9QfEV8JyxcclxuICB9LFxyXG4gIHtcclxuICAgIHZhbHVlOiAnNFJWQScsXHJcbiAgICBuYW1lOiBcIiAgVmFsbGUgRCdBb3N0YVwiLFxyXG4gICAgZ3JvdXA6ICdBJyxcclxuICAgIGNoYW5uZWxzOiAnfExBfFNBfE9QfEV8JyxcclxuICB9LFxyXG4gIHtcclxuICAgIHZhbHVlOiAnNFJWRScsXHJcbiAgICBuYW1lOiAnICBWZW5ldG8nLFxyXG4gICAgZ3JvdXA6ICdBJyxcclxuICAgIGNoYW5uZWxzOiAnfExBfFNBfE9QfEV8JyxcclxuICB9LFxyXG4gIHtcclxuICAgIHZhbHVlOiAnR0MnLFxyXG4gICAgbmFtZTogJ0dpdXJpc3BydWRlbnphIGNvbXVuaXRhcmlhJyxcclxuICAgIHNob3J0TmFtZTogJ0dpdXJpcy4gY29tdW5pdGFyaWEnLFxyXG4gICAgZ3JvdXA6ICdTJyxcclxuICAgIGNoYW5uZWxzOiAnfExBfFNBfE9QfEV8JyxcclxuICB9LFxyXG4gIHtcclxuICAgIHZhbHVlOiAnR04nLFxyXG4gICAgbmFtZTogJ0dpdXJpc3BydWRlbnphIG5hemlvbmFsZScsXHJcbiAgICBzaG9ydE5hbWU6ICdHaXVyaXNwcnVkZW56YScsXHJcbiAgICBncm91cDogJ1MnLFxyXG4gICAgY2hhbm5lbHM6ICd8TEF8U0F8T1B8RXwnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdmFsdWU6ICdUTicsXHJcbiAgICBuYW1lOiAnTm9ybWF0aXZhIHRlY25pY2EnLFxyXG4gICAgc2hvcnROYW1lOiAnVGVjbmljYScsXHJcbiAgICBncm91cDogJ1MnLFxyXG4gICAgY2hhbm5lbHM6ICd8TEF8U0F8T1B8RXwnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdmFsdWU6ICdUSScsXHJcbiAgICBuYW1lOiAnTm9ybWF0aXZhIHRlY25pY2EgaW50ZXJuYXppb25hbGUnLFxyXG4gICAgc2hvcnROYW1lOiAnVGVjbmljYSBpbnRlcm5hei4nLFxyXG4gICAgZ3JvdXA6ICdTJyxcclxuICAgIGNoYW5uZWxzOiAnfExBfFNBfE9QfEV8JyxcclxuICB9LFxyXG4gIHtcclxuICAgIHZhbHVlOiAnTkknLFxyXG4gICAgbmFtZTogJ05vcm1hdGl2YSBpbnRlcm5hemlvbmFsZScsXHJcbiAgICBzaG9ydE5hbWU6ICdJbnRlcm5hemlvbmFsZScsXHJcbiAgICBncm91cDogJ1MnLFxyXG4gICAgY2hhbm5lbHM6ICd8TEF8U0F8T1B8RXwnLFxyXG4gIH0sXHJcbiAgLyoge1xyXG4gICAgIHZhbHVlOiAnU04nLFxyXG4gICAgIG5hbWU6ICdEb2N1bWVudGF6aW9uZSBzY2llbnRpZmljYScsXHJcbiAgICAgc2hvcnROYW1lOiAnU2NpZW50aWZpY2EnLFxyXG4gICAgIGdyb3VwOiAnUycsXHJcbiAgICAgY2hhbm5lbHM6ICd8U0F8JyxcclxuICAgfSAqL1xyXG5dXHJcblxyXG5leHBvcnQgY29uc3QgQ2xpcHBlclNlY3RvclR5cGVzOiBOYW1lVmFsdWVJdGVtPHN0cmluZz5bXSA9IFtcclxuXHJcbiAge1xyXG4gICAgcGFyZW50VmFsdWU6ICdOSScsXHJcbiAgICB2YWx1ZTogJzE0JyxcclxuICAgIG5hbWU6ICdDb252ZW56aW9uZSBJbnRlcm5hemlvbmFsZScsXHJcbiAgfSxcclxuICB7XHJcbiAgICBwYXJlbnRWYWx1ZTogJ05JJyxcclxuICAgIHZhbHVlOiAnNicsXHJcbiAgICBuYW1lOiAnQWNjb3JkbyBNdWx0aWxhdGVyYWxlJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhcmVudFZhbHVlOiAnTE4nLFxyXG4gICAgdmFsdWU6ICc0JyxcclxuICAgIG5hbWU6ICdBY2NvcmRvIChuYXouKScsXHJcbiAgfSxcclxuICB7XHJcbiAgICBwYXJlbnRWYWx1ZTogJ0xOJyxcclxuICAgIHZhbHVlOiAnNzUnLFxyXG4gICAgbmFtZTogJ0FsdHJpIGRvY3VtZW50aSAobmF6LiknLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgcGFyZW50VmFsdWU6ICdMTicsXHJcbiAgICB2YWx1ZTogJzE3JyxcclxuICAgIG5hbWU6ICdDaXJjb2xhcmUgQ29tbWlzc2FyaWFsZScsXHJcbiAgfSxcclxuICB7XHJcbiAgICBwYXJlbnRWYWx1ZTogJ0xOJyxcclxuICAgIHZhbHVlOiAnNTgnLFxyXG4gICAgbmFtZTogJ0NpcmNvbGFyZSAoQ29taXRhdGkpJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhcmVudFZhbHVlOiAnTE4nLFxyXG4gICAgdmFsdWU6ICcxMCcsXHJcbiAgICBuYW1lOiAnQ2lyY29sYXJlIE1pbmlzdGVyaWFsZScsXHJcbiAgfSxcclxuICB7XHJcbiAgICBwYXJlbnRWYWx1ZTogJ0xOJyxcclxuICAgIHZhbHVlOiAnMTMnLFxyXG4gICAgbmFtZTogJ0NvbXVuaWNhdG8gKG5hei4pJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhcmVudFZhbHVlOiAnTE4nLFxyXG4gICAgdmFsdWU6ICcxNScsXHJcbiAgICBuYW1lOiAnQ29zdGl0dXppb25lIGRlbGxhIFJlcHViYmxpY2EnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgcGFyZW50VmFsdWU6ICdMTicsXHJcbiAgICB2YWx1ZTogJzE4JyxcclxuICAgIG5hbWU6ICdEZWNyZXRvIENvbW1pc3NhcmlhbGUnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgcGFyZW50VmFsdWU6ICdMTicsXHJcbiAgICB2YWx1ZTogJzIxJyxcclxuICAgIG5hbWU6ICdEZWNyZXRvIENhcG8gUHJvdnYuIFN0YXRvJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhcmVudFZhbHVlOiAnTE4nLFxyXG4gICAgdmFsdWU6ICcyMicsXHJcbiAgICBuYW1lOiAnRGVjcmV0byBQcmVzLiBDb25zLiBNaW5pc3RyaScsXHJcbiAgfSxcclxuICB7XHJcbiAgICBwYXJlbnRWYWx1ZTogJ0xOJyxcclxuICAgIHZhbHVlOiAnMjUnLFxyXG4gICAgbmFtZTogJ0RlY3JldG8gUHJlc2lkZW50ZSBSZXB1YmJsaWNhJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhcmVudFZhbHVlOiAnTE4nLFxyXG4gICAgdmFsdWU6ICcyNycsXHJcbiAgICBuYW1lOiAnRGVjcmV0byBMZWdnZScsXHJcbiAgfSxcclxuICB7XHJcbiAgICBwYXJlbnRWYWx1ZTogJ0xOJyxcclxuICAgIHZhbHVlOiAnMjgnLFxyXG4gICAgbmFtZTogJ0RlY3JldG8gTGVnZ2UgTHVvZ290ZW5lbnppYWxlJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhcmVudFZhbHVlOiAnTE4nLFxyXG4gICAgdmFsdWU6ICcyOScsXHJcbiAgICBuYW1lOiAnRC5MZ3MuIENhcG8gUHJvdnYuIFN0YXRvJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhcmVudFZhbHVlOiAnTE4nLFxyXG4gICAgdmFsdWU6ICczMCcsXHJcbiAgICBuYW1lOiAnRC5MZ3MuIEdvdmVybm8nLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgcGFyZW50VmFsdWU6ICdMTicsXHJcbiAgICB2YWx1ZTogJzMyJyxcclxuICAgIG5hbWU6ICdELkxncy4gTHVvZ290ZW5lbnppYWxlJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhcmVudFZhbHVlOiAnTE4nLFxyXG4gICAgdmFsdWU6ICczMycsXHJcbiAgICBuYW1lOiAnRGVjcmV0byBMdW9nb3RlbmVuemlhbGUnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgcGFyZW50VmFsdWU6ICdMTicsXHJcbiAgICB2YWx1ZTogJzM0JyxcclxuICAgIG5hbWU6ICdEZWNyZXRvIE1pbmlzdGVyaWFsZScsXHJcbiAgfSxcclxuICB7XHJcbiAgICBwYXJlbnRWYWx1ZTogJ0xOJyxcclxuICAgIHZhbHVlOiAnMzUnLFxyXG4gICAgbmFtZTogJ0RlbGliZXJhemlvbmUgKG5hei4pJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhcmVudFZhbHVlOiAnTE4nLFxyXG4gICAgdmFsdWU6ICc0NycsXHJcbiAgICBuYW1lOiAnRGV0ZXJtaW5hemlvbmUgKG5hei4pJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhcmVudFZhbHVlOiAnTE4nLFxyXG4gICAgdmFsdWU6ICcyNicsXHJcbiAgICBuYW1lOiAnRG9jdW1lbnRvIGRpIGNvbnN1bHRhemlvbmUnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgcGFyZW50VmFsdWU6ICdMTicsXHJcbiAgICB2YWx1ZTogJzQ4JyxcclxuICAgIG5hbWU6ICdMZWdnZScsXHJcbiAgfSxcclxuICB7XHJcbiAgICBwYXJlbnRWYWx1ZTogJ0xOJyxcclxuICAgIHZhbHVlOiAnNDInLFxyXG4gICAgbmFtZTogJ0xldHRlcmEgQ2lyY29sYXJlIChDb21pdGF0aSknLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgcGFyZW50VmFsdWU6ICdMTicsXHJcbiAgICB2YWx1ZTogJzQzJyxcclxuICAgIG5hbWU6ICdMZXR0ZXJhIENpcmNvbGFyZSBNaW5pc3RlcmlhbGUnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgcGFyZW50VmFsdWU6ICdMTicsXHJcbiAgICB2YWx1ZTogJzU2JyxcclxuICAgIG5hbWU6ICdOb3RhIE1pbmlzdGVyaWFsZScsXHJcbiAgfSxcclxuICB7XHJcbiAgICBwYXJlbnRWYWx1ZTogJ0xOJyxcclxuICAgIHZhbHVlOiAnOTEnLFxyXG4gICAgbmFtZTogJ09yZGluYW56YSBDb21taXNzYXJpYWxlJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhcmVudFZhbHVlOiAnTE4nLFxyXG4gICAgdmFsdWU6ICc4MicsXHJcbiAgICBuYW1lOiAnT3JkaW5hbnphIFByZXMuIENvbnMuIE1pbmlzdHJpJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhcmVudFZhbHVlOiAnTE4nLFxyXG4gICAgdmFsdWU6ICc1NycsXHJcbiAgICBuYW1lOiAnT3JkaW5hbnphIE1pbmlzdGVyaWFsZScsXHJcbiAgfSxcclxuICB7XHJcbiAgICBwYXJlbnRWYWx1ZTogJ0xOJyxcclxuICAgIHZhbHVlOiAnNzYnLFxyXG4gICAgbmFtZTogJ1Byb3Z2ZWRpbWVudG8gKG5hei4pJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhcmVudFZhbHVlOiAnTE4nLFxyXG4gICAgdmFsdWU6ICc2NicsXHJcbiAgICBuYW1lOiAnUmVnaW8gRGVjcmV0bycsXHJcbiAgfSxcclxuICB7XHJcbiAgICBwYXJlbnRWYWx1ZTogJ0xOJyxcclxuICAgIHZhbHVlOiAnNjcnLFxyXG4gICAgbmFtZTogJ1JlZ2lvIERlY3JldG8gTGVnZ2UnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgcGFyZW50VmFsdWU6ICdMTicsXHJcbiAgICB2YWx1ZTogJzY4JyxcclxuICAgIG5hbWU6ICdSZWdpbyBEZWNyZXRvIExlZ2lzbGF0aXZvJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhcmVudFZhbHVlOiAnTE4nLFxyXG4gICAgdmFsdWU6ICc3MScsXHJcbiAgICBuYW1lOiAnU3RhdHV0byBkZWxsZSBSZWdpb25pIE9yZGluYXJpZScsXHJcbiAgfSxcclxuICB7XHJcbiAgICBwYXJlbnRWYWx1ZTogJ0xDJyxcclxuICAgIHZhbHVlOiAnMTM5JyxcclxuICAgIG5hbWU6ICdBY2NvcmRpIChDRSknLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgcGFyZW50VmFsdWU6ICdMQycsXHJcbiAgICB2YWx1ZTogJzE0MCcsXHJcbiAgICBuYW1lOiAnQXR0aSBkaXZlcnNpIChDRS9VRSknLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgcGFyZW50VmFsdWU6ICdMQycsXHJcbiAgICB2YWx1ZTogJzEzMScsXHJcbiAgICBuYW1lOiAnUG9zaXppb25lIENvbXVuZSAoQ0UpJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhcmVudFZhbHVlOiAnTEMnLFxyXG4gICAgdmFsdWU6ICcxMzInLFxyXG4gICAgbmFtZTogJ1Bvc2l6aW9uZSBDb211bmUgKFVFKScsXHJcbiAgfSxcclxuICB7XHJcbiAgICBwYXJlbnRWYWx1ZTogJ0xDJyxcclxuICAgIHZhbHVlOiAnMTI2JyxcclxuICAgIG5hbWU6ICdDb211bmljYXppb25lIChDRSknLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgcGFyZW50VmFsdWU6ICdMQycsXHJcbiAgICB2YWx1ZTogJzEyNycsXHJcbiAgICBuYW1lOiAnQ29tdW5pY2F6aW9uZSAoVUUpJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhcmVudFZhbHVlOiAnTEMnLFxyXG4gICAgdmFsdWU6ICcxMTEnLFxyXG4gICAgbmFtZTogJ0RlY2lzaW9uZSAoQ0UpJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhcmVudFZhbHVlOiAnTEMnLFxyXG4gICAgdmFsdWU6ICcxMTInLFxyXG4gICAgbmFtZTogJ0RlY2lzaW9uZSAoVUUpJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhcmVudFZhbHVlOiAnTEMnLFxyXG4gICAgdmFsdWU6ICcxMTMnLFxyXG4gICAgbmFtZTogJ0RlY2lzaW9uZSAoVUUpJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhcmVudFZhbHVlOiAnTEMnLFxyXG4gICAgdmFsdWU6ICcxMjEnLFxyXG4gICAgbmFtZTogJ0RpcmV0dGl2YSAoQ0VFKScsXHJcbiAgfSxcclxuICB7XHJcbiAgICBwYXJlbnRWYWx1ZTogJ0xDJyxcclxuICAgIHZhbHVlOiAnMTIyJyxcclxuICAgIG5hbWU6ICdEaXJldHRpdmEgKENFKScsXHJcbiAgfSxcclxuICB7XHJcbiAgICBwYXJlbnRWYWx1ZTogJ0xDJyxcclxuICAgIHZhbHVlOiAnMTIzJyxcclxuICAgIG5hbWU6ICdEaXJldHRpdmEgKFVFKScsXHJcbiAgfSxcclxuICB7XHJcbiAgICBwYXJlbnRWYWx1ZTogJ0xDJyxcclxuICAgIHZhbHVlOiAnMTM4JyxcclxuICAgIG5hbWU6ICdQYXJlcmUnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgcGFyZW50VmFsdWU6ICdMQycsXHJcbiAgICB2YWx1ZTogJzEyOCcsXHJcbiAgICBuYW1lOiAnUmFjY29tYW5kYXppb25lIChDRUUpJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhcmVudFZhbHVlOiAnTEMnLFxyXG4gICAgdmFsdWU6ICcxMjknLFxyXG4gICAgbmFtZTogJ1JhY2NvbWFuZGF6aW9uZSAoQ0UpJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhcmVudFZhbHVlOiAnTEMnLFxyXG4gICAgdmFsdWU6ICcxMzAnLFxyXG4gICAgbmFtZTogJ1JhY2NvbWFuZGF6aW9uZSAoVUUpJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhcmVudFZhbHVlOiAnTEMnLFxyXG4gICAgdmFsdWU6ICcxMTYnLFxyXG4gICAgbmFtZTogJ1JlZ29sYW1lbnRvIChDRUUpJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhcmVudFZhbHVlOiAnTEMnLFxyXG4gICAgdmFsdWU6ICcxMTcnLFxyXG4gICAgbmFtZTogJ1JlZ29sYW1lbnRvIChDRSknLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgcGFyZW50VmFsdWU6ICdMQycsXHJcbiAgICB2YWx1ZTogJzExOCcsXHJcbiAgICBuYW1lOiAnUmVnb2xhbWVudG8gKFVFKScsXHJcbiAgfSxcclxuICB7XHJcbiAgICBwYXJlbnRWYWx1ZTogJ0xDJyxcclxuICAgIHZhbHVlOiAnMTM1JyxcclxuICAgIG5hbWU6ICdSZXR0aWZpY2EnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgcGFyZW50VmFsdWU6ICdMQycsXHJcbiAgICB2YWx1ZTogJzEzMycsXHJcbiAgICBuYW1lOiAnUmlzb2x1emlvbmUnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgcGFyZW50VmFsdWU6ICdMQycsXHJcbiAgICB2YWx1ZTogJzEzNCcsXHJcbiAgICBuYW1lOiAnVHJhdHRhdG8nLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgcGFyZW50VmFsdWU6ICdMUicsXHJcbiAgICB2YWx1ZTogJzY5JyxcclxuICAgIG5hbWU6ICdBbHRyaSBkb2N1bWVudGkgKHJlZy4pJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhcmVudFZhbHVlOiAnTFInLFxyXG4gICAgdmFsdWU6ICcxMScsXHJcbiAgICBuYW1lOiAnQ2lyY29sYXJlIFByZXMuIEdpdW50YSBSZWcuJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhcmVudFZhbHVlOiAnTFInLFxyXG4gICAgdmFsdWU6ICc0NicsXHJcbiAgICBuYW1lOiBcIkNpcmNvbGFyZSBkZWxsJ0Fzc2Vzc29yZVwiLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgcGFyZW50VmFsdWU6ICdMUicsXHJcbiAgICB2YWx1ZTogJzgzJyxcclxuICAgIG5hbWU6ICdDaXJjb2xhcmUgcmVnLicsXHJcbiAgfSxcclxuICB7XHJcbiAgICBwYXJlbnRWYWx1ZTogJ0xSJyxcclxuICAgIHZhbHVlOiAnNzAnLFxyXG4gICAgbmFtZTogJ0NvbXVuaWNhdG8gKHJlZy4pJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhcmVudFZhbHVlOiAnTFInLFxyXG4gICAgdmFsdWU6ICc4MCcsXHJcbiAgICBuYW1lOiAnRGVjcmV0byBkZWwgRGlyaWdlbnRlJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhcmVudFZhbHVlOiAnTFInLFxyXG4gICAgdmFsdWU6ICcyNCcsXHJcbiAgICBuYW1lOiAnRGVjcmV0byBQcmVzLiBHaXVudGEgUHJvdi4nLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgcGFyZW50VmFsdWU6ICdMUicsXHJcbiAgICB2YWx1ZTogJzIzJyxcclxuICAgIG5hbWU6ICdEZWNyZXRvIFByZXMuIEdpdW50YSBSZWcuJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhcmVudFZhbHVlOiAnTFInLFxyXG4gICAgdmFsdWU6ICcxOScsXHJcbiAgICBuYW1lOiBcIkRlY3JldG8gZGVsbCdBc3Nlc3NvcmUgUmVnaW9uYWxlXCIsXHJcbiAgfSxcclxuICB7XHJcbiAgICBwYXJlbnRWYWx1ZTogJ0xSJyxcclxuICAgIHZhbHVlOiAnMzEnLFxyXG4gICAgbmFtZTogJ0RlbGliLiBDb25zaWdsaW8gUHJvdi4nLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgcGFyZW50VmFsdWU6ICdMUicsXHJcbiAgICB2YWx1ZTogJzM2JyxcclxuICAgIG5hbWU6ICdEZWxpYi4gQ29uc2lnbGlvIFJlZy4nLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgcGFyZW50VmFsdWU6ICdMUicsXHJcbiAgICB2YWx1ZTogJzM3JyxcclxuICAgIG5hbWU6ICdEZWxpYi4gR2l1bnRhIFByb3YuJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhcmVudFZhbHVlOiAnTFInLFxyXG4gICAgdmFsdWU6ICczOCcsXHJcbiAgICBuYW1lOiAnRGVsaWIuIEdpdW50YSBSZWcuJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhcmVudFZhbHVlOiAnTFInLFxyXG4gICAgdmFsdWU6ICc4MScsXHJcbiAgICBuYW1lOiAnRGV0ZXJtaW5hemlvbmUgZGVsIERpcmlnZW50ZScsXHJcbiAgfSxcclxuICB7XHJcbiAgICBwYXJlbnRWYWx1ZTogJ0xSJyxcclxuICAgIHZhbHVlOiAnMTInLFxyXG4gICAgbmFtZTogJ0RpcmV0dGl2YSAocmVnLiknLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgcGFyZW50VmFsdWU6ICdMUicsXHJcbiAgICB2YWx1ZTogJzQ5JyxcclxuICAgIG5hbWU6ICdMZWdnZSBQcm92LiBBdXQuJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhcmVudFZhbHVlOiAnTFInLFxyXG4gICAgdmFsdWU6ICc1MCcsXHJcbiAgICBuYW1lOiAnTGVnZ2UgUmVnaW9uYWxlJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhcmVudFZhbHVlOiAnTFInLFxyXG4gICAgdmFsdWU6ICc1MScsXHJcbiAgICBuYW1lOiAnTGluZWUgZ3VpZGEgKHJlZy4pJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhcmVudFZhbHVlOiAnTFInLFxyXG4gICAgdmFsdWU6ICc5JyxcclxuICAgIG5hbWU6ICdPcmRpbmFuemEgUHJlcy4gUHJvdi4nLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgcGFyZW50VmFsdWU6ICdMUicsXHJcbiAgICB2YWx1ZTogJzU1JyxcclxuICAgIG5hbWU6ICdPcmRpbmFuemEgUHJlcy4gUmVnLicsXHJcbiAgfSxcclxuICB7XHJcbiAgICBwYXJlbnRWYWx1ZTogJ0xSJyxcclxuICAgIHZhbHVlOiAnODUnLFxyXG4gICAgbmFtZTogJ1Byb3Z2ZWRpbWVudG8gKHJlZy4pJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhcmVudFZhbHVlOiAnTFInLFxyXG4gICAgdmFsdWU6ICc2NScsXHJcbiAgICBuYW1lOiAnUmVnb2xhbWVudG8gUmVnaW9uYWxlJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhcmVudFZhbHVlOiAnR04nLFxyXG4gICAgdmFsdWU6ICc2MycsXHJcbiAgICBuYW1lOiAnRGVjaXNpb25lJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhcmVudFZhbHVlOiAnR04nLFxyXG4gICAgdmFsdWU6ICc0MScsXHJcbiAgICBuYW1lOiAnRGVjcmV0byBQZW5hbGUnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgcGFyZW50VmFsdWU6ICdHTicsXHJcbiAgICB2YWx1ZTogJzU0JyxcclxuICAgIG5hbWU6ICdPcmRpbmFuemEnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgcGFyZW50VmFsdWU6ICdHTicsXHJcbiAgICB2YWx1ZTogJzYyJyxcclxuICAgIG5hbWU6ICdSaWNvcnNvJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhcmVudFZhbHVlOiAnR04nLFxyXG4gICAgdmFsdWU6ICc3MicsXHJcbiAgICBuYW1lOiAnU2VudGVuemEnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgcGFyZW50VmFsdWU6ICdHQycsXHJcbiAgICB2YWx1ZTogJzE0MycsXHJcbiAgICBuYW1lOiAnT3JkaW5hbnphIChDRSknLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgcGFyZW50VmFsdWU6ICdHQycsXHJcbiAgICB2YWx1ZTogJzE0NCcsXHJcbiAgICBuYW1lOiAnT3JkaW5hbnphIChVRSknLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgcGFyZW50VmFsdWU6ICdHQycsXHJcbiAgICB2YWx1ZTogJzE0MScsXHJcbiAgICBuYW1lOiAnU2VudGVuemEgKENFKScsXHJcbiAgfSxcclxuICB7XHJcbiAgICBwYXJlbnRWYWx1ZTogJ0dDJyxcclxuICAgIHZhbHVlOiAnMTQyJyxcclxuICAgIG5hbWU6ICdTZW50ZW56YSAoVUUpJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhcmVudFZhbHVlOiAnVE4nLFxyXG4gICAgdmFsdWU6ICc3MycsXHJcbiAgICBuYW1lOiAnQWx0cmkgZG9jdW1lbnRpIChFbnRpIGVkIElzdGl0dXRpKScsXHJcbiAgfSxcclxuICB7XHJcbiAgICBwYXJlbnRWYWx1ZTogJ1ROJyxcclxuICAgIHZhbHVlOiAnNDQnLFxyXG4gICAgbmFtZTogJ0NpcmNvbGFyZSAoRW50aSBlZCBJc3RpdHV0aSknLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgcGFyZW50VmFsdWU6ICdUTicsXHJcbiAgICB2YWx1ZTogJzIwJyxcclxuICAgIG5hbWU6ICdDb211bmljYXRvICAoRW50aSBlZCBJc3RpdHV0aSknLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgcGFyZW50VmFsdWU6ICdUTicsXHJcbiAgICB2YWx1ZTogJzYwJyxcclxuICAgIG5hbWU6ICdEZWNyZXRvIChFbnRpIGVkIElzdGl0dXRpKScsXHJcbiAgfSxcclxuICB7XHJcbiAgICBwYXJlbnRWYWx1ZTogJ1ROJyxcclxuICAgIHZhbHVlOiAnNDAnLFxyXG4gICAgbmFtZTogJ0RlbGliZXJhIChFbnRpIGVkIElzdGl0dXRpKScsXHJcbiAgfSxcclxuICB7XHJcbiAgICBwYXJlbnRWYWx1ZTogJ1ROJyxcclxuICAgIHZhbHVlOiAnNTMnLFxyXG4gICAgbmFtZTogJ0Zhc2NpY29sbyAoRW50aSBlZCBJc3RpdHV0aSknLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgcGFyZW50VmFsdWU6ICdUTicsXHJcbiAgICB2YWx1ZTogJzQ1JyxcclxuICAgIG5hbWU6ICdJc3RydXppb25lIFRlY25pY2EnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgcGFyZW50VmFsdWU6ICdUTicsXHJcbiAgICB2YWx1ZTogJzU5JyxcclxuICAgIG5hbWU6ICdMZXR0ZXJhIENpcmNvbGFyZSAoRW50aSBlZCBJc3RpdHV0aSknLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgcGFyZW50VmFsdWU6ICdUTicsXHJcbiAgICB2YWx1ZTogJzc5JyxcclxuICAgIG5hbWU6ICdMaW5lZSBndWlkYSAoRW50aSBlZCBJc3RpdHV0aSknLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgcGFyZW50VmFsdWU6ICdUTicsXHJcbiAgICB2YWx1ZTogJzk4JyxcclxuICAgIG5hbWU6ICdOb3JtYSBUZWNuaWNhJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhcmVudFZhbHVlOiAnVE4nLFxyXG4gICAgdmFsdWU6ICc5NycsXHJcbiAgICBuYW1lOiAnT3B1c2NvbG8gVGVjbmljbycsXHJcbiAgfSxcclxuICB7XHJcbiAgICBwYXJlbnRWYWx1ZTogJ1ROJyxcclxuICAgIHZhbHVlOiAnNzcnLFxyXG4gICAgbmFtZTogJ1B1YmJsaWNhemlvbmUgKEVudGkgZWQgSXN0aXR1dGkpJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhcmVudFZhbHVlOiAnVE4nLFxyXG4gICAgdmFsdWU6ICc4NicsXHJcbiAgICBuYW1lOiAnUXVhZGVybm8nLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgcGFyZW50VmFsdWU6ICdUTicsXHJcbiAgICB2YWx1ZTogJzUyJyxcclxuICAgIG5hbWU6ICdSZWdvbGFtZW50byAoRW50aSBlZCBJc3RpdHV0aSknLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgcGFyZW50VmFsdWU6ICdUTicsXHJcbiAgICB2YWx1ZTogJzg0JyxcclxuICAgIG5hbWU6ICdJc3RydXppb25lIE9wZXJhdGl2YSAoRW50aSBlIElzdGl0dXRpKScsXHJcbiAgfSxcclxuICB7XHJcbiAgICBwYXJlbnRWYWx1ZTogJ1ROJyxcclxuICAgIHZhbHVlOiAnOTQnLFxyXG4gICAgbmFtZTogJ05vdGEgKEVudGkgZSBJc3RpdHV0aSknLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgcGFyZW50VmFsdWU6ICdOSScsXHJcbiAgICB2YWx1ZTogJzEwNCcsXHJcbiAgICBuYW1lOiAnUmVnb2xhbWVudG8gVU5FQ0UnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgcGFyZW50VmFsdWU6ICdTTicsXHJcbiAgICB2YWx1ZTogJzEwNScsXHJcbiAgICBuYW1lOiAnRG9jdW1lbnRvJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhcmVudFZhbHVlOiAnVE4nLFxyXG4gICAgdmFsdWU6ICcxMDYnLFxyXG4gICAgbmFtZTogJ0RpcmV0dGl2YSAoRW50aSBlIElzdGl0dXRpKScsXHJcbiAgfSxcclxuICB7XHJcbiAgICBwYXJlbnRWYWx1ZTogJ1ROJyxcclxuICAgIHZhbHVlOiAnNzQnLFxyXG4gICAgbmFtZTogJ1ByYXNzaSBkaSByaWZlcmltZW50bycsXHJcbiAgfSxcclxuICB7XHJcbiAgICBwYXJlbnRWYWx1ZTogJ0xOJyxcclxuICAgIHZhbHVlOiAnMTYnLFxyXG4gICAgbmFtZTogJ0xpbmVlIGd1aWRhIChuYXouKScsXHJcbiAgfSxcclxuICB7XHJcbiAgICBwYXJlbnRWYWx1ZTogJ0xOJyxcclxuICAgIHZhbHVlOiAnMycsXHJcbiAgICBuYW1lOiAnRGlyZXR0aXZhIChuYXouKScsXHJcbiAgfSxcclxuICB7XHJcbiAgICBwYXJlbnRWYWx1ZTogJ1RJJyxcclxuICAgIHZhbHVlOiAnMTA3JyxcclxuICAgIG5hbWU6ICdOb3JtYXRpdmEgVGVjbmljYSBJbnRlcm5hemlvbmFsZScsXHJcbiAgfSxcclxuXVxyXG5cclxuZXhwb3J0IGNvbnN0IENsaXBwZXJBdXRob3JzOiBTZWN0b3JJbmZvW10gPSBbXHJcbiAge1xyXG4gICAgc2VjdG9ySWQ6ICdMUicsXHJcbiAgICBjaGFubmVsczogbnVsbCxcclxuICAgIHZhbHVlOiAnNFJBQicsXHJcbiAgICBuYW1lOiAnQWJydXp6bycsXHJcbiAgfSxcclxuICB7XHJcbiAgICBzZWN0b3JJZDogJ0xSJyxcclxuICAgIGNoYW5uZWxzOiBudWxsLFxyXG4gICAgdmFsdWU6ICc0UkJBJyxcclxuICAgIG5hbWU6ICdCYXNpbGljYXRhJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHNlY3RvcklkOiAnTFInLFxyXG4gICAgY2hhbm5lbHM6IG51bGwsXHJcbiAgICB2YWx1ZTogJzRSQ0FMJyxcclxuICAgIG5hbWU6ICdDYWxhYnJpYScsXHJcbiAgfSxcclxuICB7XHJcbiAgICBzZWN0b3JJZDogJ0xSJyxcclxuICAgIGNoYW5uZWxzOiBudWxsLFxyXG4gICAgdmFsdWU6ICc0UkNBTScsXHJcbiAgICBuYW1lOiAnQ2FtcGFuaWEnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgc2VjdG9ySWQ6ICdMUicsXHJcbiAgICBjaGFubmVsczogbnVsbCxcclxuICAgIHZhbHVlOiAnNFJFTScsXHJcbiAgICBuYW1lOiAnRW1pbGlhIFJvbWFnbmEnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgc2VjdG9ySWQ6ICdMUicsXHJcbiAgICBjaGFubmVsczogbnVsbCxcclxuICAgIHZhbHVlOiAnNFJGVkcnLFxyXG4gICAgbmFtZTogJ0ZyaXVsaSBWZW5lemlhIEdpdWxpYScsXHJcbiAgfSxcclxuICB7XHJcbiAgICBzZWN0b3JJZDogJ0xSJyxcclxuICAgIGNoYW5uZWxzOiBudWxsLFxyXG4gICAgdmFsdWU6ICc0UkxBJyxcclxuICAgIG5hbWU6ICdMYXppbycsXHJcbiAgfSxcclxuICB7XHJcbiAgICBzZWN0b3JJZDogJ0xSJyxcclxuICAgIGNoYW5uZWxzOiBudWxsLFxyXG4gICAgdmFsdWU6ICc0UkxJJyxcclxuICAgIG5hbWU6ICdMaWd1cmlhJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHNlY3RvcklkOiAnTFInLFxyXG4gICAgY2hhbm5lbHM6IG51bGwsXHJcbiAgICB2YWx1ZTogJzRSTE8nLFxyXG4gICAgbmFtZTogJ0xvbWJhcmRpYScsXHJcbiAgfSxcclxuICB7XHJcbiAgICBzZWN0b3JJZDogJ0xSJyxcclxuICAgIGNoYW5uZWxzOiBudWxsLFxyXG4gICAgdmFsdWU6ICc0Uk1BJyxcclxuICAgIG5hbWU6ICdNYXJjaGUnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgc2VjdG9ySWQ6ICdMUicsXHJcbiAgICBjaGFubmVsczogbnVsbCxcclxuICAgIHZhbHVlOiAnNFJNTycsXHJcbiAgICBuYW1lOiAnTW9saXNlJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHNlY3RvcklkOiAnTFInLFxyXG4gICAgY2hhbm5lbHM6IG51bGwsXHJcbiAgICB2YWx1ZTogJzRSUEknLFxyXG4gICAgbmFtZTogJ1BpZW1vbnRlJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHNlY3RvcklkOiAnTFInLFxyXG4gICAgY2hhbm5lbHM6IG51bGwsXHJcbiAgICB2YWx1ZTogJzRSUFUnLFxyXG4gICAgbmFtZTogJ1B1Z2xpYScsXHJcbiAgfSxcclxuICB7XHJcbiAgICBzZWN0b3JJZDogJ0xSJyxcclxuICAgIGNoYW5uZWxzOiBudWxsLFxyXG4gICAgdmFsdWU6ICc0UlNBJyxcclxuICAgIG5hbWU6ICdTYXJkZWduYScsXHJcbiAgfSxcclxuICB7XHJcbiAgICBzZWN0b3JJZDogJ0xSJyxcclxuICAgIGNoYW5uZWxzOiBudWxsLFxyXG4gICAgdmFsdWU6ICc0UlNJJyxcclxuICAgIG5hbWU6ICdTaWNpbGlhJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHNlY3RvcklkOiAnTFInLFxyXG4gICAgY2hhbm5lbHM6IG51bGwsXHJcbiAgICB2YWx1ZTogJzRSVE8nLFxyXG4gICAgbmFtZTogJ1Rvc2NhbmEnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgc2VjdG9ySWQ6ICdMUicsXHJcbiAgICBjaGFubmVsczogbnVsbCxcclxuICAgIHZhbHVlOiAnNFJUQUEnLFxyXG4gICAgbmFtZTogJ1RyZW50aW5vIFRyZW50aW5vIEFsdG8gQWRpZ2UnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgc2VjdG9ySWQ6ICdMUicsXHJcbiAgICBjaGFubmVsczogbnVsbCxcclxuICAgIHZhbHVlOiAnNFJVTScsXHJcbiAgICBuYW1lOiAnVW1icmlhJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHNlY3RvcklkOiAnTFInLFxyXG4gICAgY2hhbm5lbHM6IG51bGwsXHJcbiAgICB2YWx1ZTogJzRSVkEnLFxyXG4gICAgbmFtZTogXCJWYWxsZSBEJ0Fvc3RhXCIsXHJcbiAgfSxcclxuICB7XHJcbiAgICBzZWN0b3JJZDogJ0xSJyxcclxuICAgIGNoYW5uZWxzOiBudWxsLFxyXG4gICAgdmFsdWU6ICc0UlZFJyxcclxuICAgIG5hbWU6ICdWZW5ldG8nLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgc2VjdG9ySWQ6ICdMUicsXHJcbiAgICBjaGFubmVsczogbnVsbCxcclxuICAgIHZhbHVlOiAnNFBBQicsXHJcbiAgICBuYW1lOiAnUHJvdi4gQXV0b25vbWEgZGkgQm9semFubycsXHJcbiAgfSxcclxuICB7XHJcbiAgICBzZWN0b3JJZDogJ0xSJyxcclxuICAgIGNoYW5uZWxzOiBudWxsLFxyXG4gICAgdmFsdWU6ICc0UEFUJyxcclxuICAgIG5hbWU6ICdQcm92LiBBdXRvbm9tYSBkaSBUcmVudG8nLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgc2VjdG9ySWQ6ICdUTicsXHJcbiAgICBjaGFubmVsczogJ3xMQXwnLFxyXG4gICAgdmFsdWU6ICc2Q0VJJyxcclxuICAgIG5hbWU6ICdDLkUuSS4gLSBDb21pdGF0byBFbGV0dHJvdGVjbmljbyBJdGFsaWFubycsXHJcbiAgfSxcclxuICB7XHJcbiAgICBzZWN0b3JJZDogJ1ROJyxcclxuICAgIGNoYW5uZWxzOiAnfExBfFNBfCcsXHJcbiAgICB2YWx1ZTogJzZDTlInLFxyXG4gICAgbmFtZTogJ0MuTi5SLiAtIENvbnNpZ2xpbyBOYXppb25hbGUgZGVsbGUgUmljZXJjaGUnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgc2VjdG9ySWQ6ICdUTicsXHJcbiAgICBjaGFubmVsczogJ3xMQXwnLFxyXG4gICAgdmFsdWU6ICc2RU5QSScsXHJcbiAgICBuYW1lOiAnRS5OLlAuSS4gLSBFbnRlIE5hemlvbmFsZSBQcmV2ZW56aW9uZSBJbmZvcnR1bmknLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgc2VjdG9ySWQ6ICdUTicsXHJcbiAgICBjaGFubmVsczogJ3xMQXwnLFxyXG4gICAgdmFsdWU6ICc2SU5BSScsXHJcbiAgICBuYW1lOlxyXG4gICAgICAnSS5OLkEuSS5MLiAtIElzdGl0dXRvIG5hemlvbmFsZSBBc3NpY3VyYXppb25lIEluZm9ydHVuaSBzdWwgTGF2b3JvJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHNlY3RvcklkOiAnVE4nLFxyXG4gICAgY2hhbm5lbHM6ICd8TEF8JyxcclxuICAgIHZhbHVlOiAnNklTUFMnLFxyXG4gICAgbmFtZTpcclxuICAgICAgJ0kuUy5QLkUuUy5MLiAtIElzdGl0dXRvIFN1cGVyaW9yZSBwZXIgbGEgUHJldmVuemlvbmUgZSBsYSBTaWN1cmV6emEgZGVsIExhdm9ybycsXHJcbiAgfSxcclxuICB7XHJcbiAgICBzZWN0b3JJZDogJ1ROJyxcclxuICAgIGNoYW5uZWxzOiAnfExBfCcsXHJcbiAgICB2YWx1ZTogJzZJTlBTJyxcclxuICAgIG5hbWU6ICdJLk4uUC5TLiAtIElzdGl0dXRvIE5hemlvbmFsZSBQcmV2aWRlbnphIFNvY2lhbGUnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgc2VjdG9ySWQ6ICdUTicsXHJcbiAgICBjaGFubmVsczogJ3xMQXxTQXwnLFxyXG4gICAgdmFsdWU6ICc2SVNTJyxcclxuICAgIG5hbWU6ICdJLlMuUy4gLSBJc3RpdHV0byBTdXBlcmlvcmUgZGkgU2FuaXTDoCcsXHJcbiAgfSxcclxuICB7XHJcbiAgICBzZWN0b3JJZDogJ1ROJyxcclxuICAgIGNoYW5uZWxzOiAnfExBfFNBfCcsXHJcbiAgICB2YWx1ZTogJzZVTkknLFxyXG4gICAgbmFtZTogJ1UuTi5JLiAtIEVudGUgTmF6aW9uYWxlIEl0YWxpYW5vIGRpIFVuaWZpY2F6aW9uZScsXHJcbiAgfSxcclxuICB7XHJcbiAgICBzZWN0b3JJZDogJ0dOJyxcclxuICAgIGNoYW5uZWxzOiBudWxsLFxyXG4gICAgdmFsdWU6ICc1Q0MnLFxyXG4gICAgbmFtZTogJ0NvcnRlIENvc3RpdHV6aW9uYWxlJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHNlY3RvcklkOiAnR04nLFxyXG4gICAgY2hhbm5lbHM6IG51bGwsXHJcbiAgICB2YWx1ZTogJzVDQ0MnLFxyXG4gICAgbmFtZTogJ0NvcnRlIGRpIENhc3NhemlvbmUgQ2l2aWxlJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHNlY3RvcklkOiAnR04nLFxyXG4gICAgY2hhbm5lbHM6IG51bGwsXHJcbiAgICB2YWx1ZTogJzVDQ1AnLFxyXG4gICAgbmFtZTogJ0NvcnRlIGRpIENhc3NhemlvbmUgUGVuYWxlJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHNlY3RvcklkOiAnR04nLFxyXG4gICAgY2hhbm5lbHM6IG51bGwsXHJcbiAgICB2YWx1ZTogJzVDQVNBJyxcclxuICAgIG5hbWU6IFwiQ29ydGUgZCdBc3Npc2UgZCdBcHBlbGxvXCIsXHJcbiAgfSxcclxuICB7XHJcbiAgICBzZWN0b3JJZDogJ0dOJyxcclxuICAgIGNoYW5uZWxzOiBudWxsLFxyXG4gICAgdmFsdWU6ICc1Q0FTJyxcclxuICAgIG5hbWU6IFwiQ29ydGUgZCdBc3Npc2VcIixcclxuICB9LFxyXG4gIHtcclxuICAgIHNlY3RvcklkOiAnR04nLFxyXG4gICAgY2hhbm5lbHM6IG51bGwsXHJcbiAgICB2YWx1ZTogJzVDQScsXHJcbiAgICBuYW1lOiBcIkNvcnRlIGQnQXBwZWxsb1wiLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgc2VjdG9ySWQ6ICdHTicsXHJcbiAgICBjaGFubmVsczogbnVsbCxcclxuICAgIHZhbHVlOiAnNVBDQScsXHJcbiAgICBuYW1lOiBcIlByb2N1cmEgR2VuZXJhbGUgQ29ydGUgZCdBcHBlbGxvXCIsXHJcbiAgfSxcclxuICB7XHJcbiAgICBzZWN0b3JJZDogJ0dOJyxcclxuICAgIGNoYW5uZWxzOiBudWxsLFxyXG4gICAgdmFsdWU6ICc1R0RQJyxcclxuICAgIG5hbWU6ICdHaXVkaWNlIGRpIFBhY2UnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgc2VjdG9ySWQ6ICdHTicsXHJcbiAgICBjaGFubmVsczogbnVsbCxcclxuICAgIHZhbHVlOiAnNVBSJyxcclxuICAgIG5hbWU6ICdQcm9jdXJhIGRlbGxhIFJlcHViYmxpY2EnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgc2VjdG9ySWQ6ICdHTicsXHJcbiAgICBjaGFubmVsczogbnVsbCxcclxuICAgIHZhbHVlOiAnNVQnLFxyXG4gICAgbmFtZTogJ1RyaWJ1bmFsZScsXHJcbiAgfSxcclxuICB7XHJcbiAgICBzZWN0b3JJZDogJ0dOJyxcclxuICAgIGNoYW5uZWxzOiBudWxsLFxyXG4gICAgdmFsdWU6ICc1UCcsXHJcbiAgICBuYW1lOiAnUHJldHVyYScsXHJcbiAgfSxcclxuICB7XHJcbiAgICBzZWN0b3JJZDogJ0dOJyxcclxuICAgIGNoYW5uZWxzOiBudWxsLFxyXG4gICAgdmFsdWU6ICc1Q0RTJyxcclxuICAgIG5hbWU6ICdDb25zaWdsaW8gZGkgU3RhdG8nLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgc2VjdG9ySWQ6ICdHTicsXHJcbiAgICBjaGFubmVsczogbnVsbCxcclxuICAgIHZhbHVlOiAnNVRBUicsXHJcbiAgICBuYW1lOiAnVHJpYnVuYWxlIEFtbWluaXN0cmF0aXZvIFJlZ2lvbmFsZScsXHJcbiAgfSxcclxuICB7XHJcbiAgICBzZWN0b3JJZDogJ0dOJyxcclxuICAgIGNoYW5uZWxzOiBudWxsLFxyXG4gICAgdmFsdWU6ICc1VFNBJyxcclxuICAgIG5hbWU6ICdUcmlidW5hbGUgU3VwZXJpb3JlIGRlbGxlIEFjcXVlJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHNlY3RvcklkOiAnR04nLFxyXG4gICAgY2hhbm5lbHM6IG51bGwsXHJcbiAgICB2YWx1ZTogJzVUR0EnLFxyXG4gICAgbmFtZTogJ1RyaWJ1bmFsZSBSZWdpb25hbGUgYWNxdWUnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgc2VjdG9ySWQ6ICdHTicsXHJcbiAgICBjaGFubmVsczogbnVsbCxcclxuICAgIHZhbHVlOiAnNUNUUCcsXHJcbiAgICBuYW1lOiAnQ29tbWlzc2lvbmUgVHJpYnV0YXJpYSBQcm92aW5jaWFsZScsXHJcbiAgfSxcclxuICB7XHJcbiAgICBzZWN0b3JJZDogJ0dOJyxcclxuICAgIGNoYW5uZWxzOiBudWxsLFxyXG4gICAgdmFsdWU6ICc1Q1RSJyxcclxuICAgIG5hbWU6ICdDb21taXNzaW9uZSBUcmlidXRhcmlhIFJlZ2lvbmFsZScsXHJcbiAgfSxcclxuICB7XHJcbiAgICBzZWN0b3JJZDogJ0dOJyxcclxuICAgIGNoYW5uZWxzOiBudWxsLFxyXG4gICAgdmFsdWU6ICc1Q0dBUycsXHJcbiAgICBuYW1lOiAnQ29ucy4gZGkgR2l1c3RpemlhIEFtbS52YSBkZWxsYSBTaWNpbGlhJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHNlY3RvcklkOiAnR04nLFxyXG4gICAgY2hhbm5lbHM6IG51bGwsXHJcbiAgICB2YWx1ZTogJzVDREMnLFxyXG4gICAgbmFtZTogJ0NvcnRlIGRlaSBDb250aScsXHJcbiAgfSxcclxuICB7XHJcbiAgICBzZWN0b3JJZDogJ0dDJyxcclxuICAgIGNoYW5uZWxzOiBudWxsLFxyXG4gICAgdmFsdWU6ICczQ0pDRScsXHJcbiAgICBuYW1lOiAnQ29ydGUgZGkgR2l1c3RpemlhIENFRS9DRScsXHJcbiAgfSxcclxuICB7XHJcbiAgICBzZWN0b3JJZDogJ0dDJyxcclxuICAgIGNoYW5uZWxzOiBudWxsLFxyXG4gICAgdmFsdWU6ICczQ0VETScsXHJcbiAgICBuYW1lOiBcIkNvcnRlIEV1cm9wZWEgcGVyIGkgRGlyaXR0aSBkZWxsJ1VvbW9cIixcclxuICB9LFxyXG4gIHtcclxuICAgIHNlY3RvcklkOiAnR0MnLFxyXG4gICAgY2hhbm5lbHM6IG51bGwsXHJcbiAgICB2YWx1ZTogJzNDV0onLFxyXG4gICAgbmFtZTogJ0NvcnRlIEludGVybmF6aW9uYWxlIGRpIEdpdXN0aXppYScsXHJcbiAgfSxcclxuICB7XHJcbiAgICBzZWN0b3JJZDogJ0dDJyxcclxuICAgIGNoYW5uZWxzOiBudWxsLFxyXG4gICAgdmFsdWU6ICczVDFDRScsXHJcbiAgICBuYW1lOiAnVHJpYnVuYWxlIGRpIFByaW1vIEdyYWRvIENFRS9DRScsXHJcbiAgfSxcclxuXVxyXG5cclxuZXhwb3J0IGNvbnN0IENsaXBwZXJTb3VyY2VzOiBOYW1lVmFsdWVJdGVtPHN0cmluZz5bXSA9IFtcclxuICB7XHJcbiAgICB2YWx1ZTogJ0FDQ01MJyxcclxuICAgIG5hbWU6ICdBY2NvcmRpIE11bHRpbGF0ZXJhbGknLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdmFsdWU6ICdBRUVHJyxcclxuICAgIG5hbWU6IFwiU2l0byBBdXRvcml0w6AgcGVyIGwnRW5lcmdpYSBFbGV0dHJpY2EsIGlsIEdhcyBlIGlsIFNpc3RlbWEgSWRyaWNvXCIsXHJcbiAgfSxcclxuICB7XHJcbiAgICB2YWx1ZTogJ0FSRVJBJyxcclxuICAgIG5hbWU6ICdTaXRvIEF1dG9yaXTDoCBkaSBSZWdvbGF6aW9uZSBwZXIgRW5lcmdpYSwgUmV0aSBlIEFtYmllbnRlJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHZhbHVlOiAnQlVSJyxcclxuICAgIG5hbWU6ICdCb2xsZXR0aW5vIFVmZi4gUmVnaW9uZScsXHJcbiAgfSxcclxuICB7XHJcbiAgICB2YWx1ZTogJ0JVUycsXHJcbiAgICBuYW1lOiAnU3VwcGwuIHNwZWNpYWxlIGFsIEJvbGxldHRpbm8gVWZmLicsXHJcbiAgfSxcclxuICB7XHJcbiAgICB2YWx1ZTogJ0JVU08nLFxyXG4gICAgbmFtZTogJ1N1cHBsLiBvcmRpbi4gYWwgQm9sbGV0dGlubyBVZmYuJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHZhbHVlOiAnQlVTUycsXHJcbiAgICBuYW1lOiAnU3VwcGwuIHN0cmFvcmQuIGFsIEJvbGxldHRpbm8gVWZmLicsXHJcbiAgfSxcclxuICB7XHJcbiAgICB2YWx1ZTogJ0dVJyxcclxuICAgIG5hbWU6ICdHYXp6ZXR0YSAgVWZmaWNpYWxlIEl0YWxpYW5hJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHZhbHVlOiAnR1VDQycsXHJcbiAgICBuYW1lOiAnR2F6ei4gVWZmLiBDb3J0ZSBDb3N0aXR1emlvbmFsZScsXHJcbiAgfSxcclxuICB7XHJcbiAgICB2YWx1ZTogJ0dVQ0UnLFxyXG4gICAgbmFtZTogJ0dhenpldHRhIHVmZmljaWFsZSBkZWxsZSBDb211bml0w6AgZXVyb3BlZScsXHJcbiAgfSxcclxuICB7XHJcbiAgICB2YWx1ZTogJ0dVRVMnLFxyXG4gICAgbmFtZTogJ0dhenouIFVmZi4gRWRpei4gU3BlY2lhbGUnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdmFsdWU6ICdHVVJTJyxcclxuICAgIG5hbWU6ICdHYXp6LiBVZmYuIFJlZ2lvbmUgU2ljaWxpYScsXHJcbiAgfSxcclxuICB7XHJcbiAgICB2YWx1ZTogJ0dVUycsXHJcbiAgICBuYW1lOiAnR2F6ei4gVWZmLiBTZXJpZSBTcGVjaWFsZScsXHJcbiAgfSxcclxuICB7XHJcbiAgICB2YWx1ZTogJ0dVU08nLFxyXG4gICAgbmFtZTogJ1N1cHBsLiBvcmRpbi4gYWxsYSAgR2F6emV0dGEgVWZmaWNpYWxlJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHZhbHVlOiAnR1VTUycsXHJcbiAgICBuYW1lOiAnU3VwcGwuIHN0cmFvcmQuIGFsbGEgIEdhenpldHRhIFVmZmljaWFsZScsXHJcbiAgfSxcclxuICB7XHJcbiAgICB2YWx1ZTogJ0dVVUUnLFxyXG4gICAgbmFtZTogJ0dhenpldHRhIHVmZmljaWFsZSBkZWxs4oCZVW5pb25lIGV1cm9wZWEnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdmFsdWU6ICdNQUMnLFxyXG4gICAgbmFtZTogJ01hc3NpbWFyaW8gQ2l2aWxlJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHZhbHVlOiAnTUFQJyxcclxuICAgIG5hbWU6ICdNYXNzaW1hcmlvIFBlbmFsZScsXHJcbiAgfSxcclxuICB7XHJcbiAgICB2YWx1ZTogJ05PTkUnLFxyXG4gICAgbmFtZTogJ0ZvbnRpIGRpdmVyc2UnLFxyXG4gIH1cclxuXVxyXG5cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ2xpcHBlckNoYW5uZWxTZXR0aW5nc0l0ZW08VD4ge1xyXG4gIG5hbWU6IHN0cmluZztcclxuICB2YWx1ZTogVDtcclxuICBjaGVja2VkOiBib29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgQ2xpcHBlckNoYW5uZWxTZXR0aW5ncyB7XHJcbiAgY2hhbm5lbElkOiBDbGlwcGVyQ2hhbm5lbDtcclxuICBjaGFubmVsTmFtZTogc3RyaW5nO1xyXG4gIGlzRW5hYmxlZD86IGJvb2xlYW4gfCBudWxsID0gZmFsc2U7XHJcbiAgaXNBY3RpdmU/OiBib29sZWFuIHwgbnVsbCA9IGZhbHNlO1xyXG4gIHNlY3RvcnM6IENsaXBwZXJDaGFubmVsU2V0dGluZ3NJdGVtPHN0cmluZz5bXSA9IFtdO1xyXG4gIHJlZ2lvbnM6IENsaXBwZXJDaGFubmVsU2V0dGluZ3NJdGVtPHN0cmluZz5bXSA9IFtdO1xyXG5cclxuICAvKipcclxuICAgKiBDaGVjayBhdCBsZWFzdCBvbmUgb2Ygc2VjdG9yIHZhbHVlcyBpcyBjb250YWluZWQgaW4gc2VjdG9ycyBsaXN0XHJcbiAgICogQHBhcmFtIHZhbHVlcyA6IHRoZSBhZG1pdHRlZCB2YWx1ZXNcclxuICAgKiBAcmV0dXJucyB0cnVlIGlmIGF0IGxlYXN0IG9uZSB2YWx1ZSBoYXMgYmVlbiBmb3VuZFxyXG4gICAqL1xyXG4gIGhhc0FueU9mU2VjdG9ycyh2YWx1ZXM6IHN0cmluZ1tdKTogYm9vbGVhbiB7XHJcbiAgICBpZiAodGhpcy5pc0VuYWJsZWQgPT09IHRydWUgJiYgdGhpcy5pc0FjdGl2ZSA9PT0gdHJ1ZSkge1xyXG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHZhbHVlcy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgIGlmICh0aGlzLnNlY3RvcnMuZmlsdGVyKG4gPT4gbi52YWx1ZSA9PT0gdmFsdWVzW2ldKT8ubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDaGVjayBhdCBsZWFzdCBvbmUgb2YgcmVnaW9uIHZhbHVlcyBpcyBjb250YWluZWQgaW4gcmVnaW9ucyBsaXN0XHJcbiAgICogQHBhcmFtIHZhbHVlcyA6IHRoZSBhZG1pdHRlZCB2YWx1ZXNcclxuICAgKiBAcmV0dXJucyB0cnVlIGlmIGF0IGxlYXN0IG9uZSB2YWx1ZSBoYXMgYmVlbiBmb3VuZFxyXG4gICAqL1xyXG4gIGhhc0FueU9mUmVnaW9ucyh2YWx1ZXM6IHN0cmluZ1tdKTogYm9vbGVhbiB7XHJcbiAgICBpZiAodGhpcy5pc0VuYWJsZWQgPT09IHRydWUgJiYgdGhpcy5pc0FjdGl2ZSA9PT0gdHJ1ZSkge1xyXG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHZhbHVlcy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgIGlmICh0aGlzLnJlZ2lvbnMuZmlsdGVyKG4gPT4gbi52YWx1ZSA9PT0gdmFsdWVzW2ldKT8ubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG5cclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBDbGlwcGVyVXNlckNoYW5uZWxJbmZvIHtcclxuICBjaGFubmVsOiBDbGlwcGVyQ2hhbm5lbDtcclxuICBjaGFubmVsTmFtZT86IHN0cmluZyB8IG51bGw7XHJcbiAgZXhwaXJpbmdEYXRlOiBzdHJpbmc7XHJcbiAgaXNUcmlhbD86IGJvb2xlYW4gfCBudWxsO1xyXG4gIGlzRGlzYWJsZWQ6IGJvb2xlYW47XHJcbiAgaXNEdmQ6IGJvb2xlYW47XHJcbiAgaXNBY3RpdmU6IGJvb2xlYW47XHJcbiAgZG9jdW1lbnRzVmlld2FibGU/OiBudW1iZXIgfCBudWxsO1xyXG4gIGRvY3VtZW50c1ZpZXdlZD86IG51bWJlciB8IG51bGw7XHJcbiAgc2V0dGluZ3M/OiBDbGlwcGVyQ2hhbm5lbFNldHRpbmdzIHwgbnVsbDtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBDbGlwcGVyVXNlckluZm8ge1xyXG4gIHVzZXJJZDogbnVtYmVyO1xyXG4gIGN1c3RvbWVySWQ/OiBudW1iZXIgfCBudWxsO1xyXG4gIGNvbXBhbnlOYW1lOiBzdHJpbmc7XHJcbiAgZGlzcGxheU5hbWU6IHN0cmluZztcclxuICBmaXJzdE5hbWU6IHN0cmluZztcclxuICBlbWFpbDogc3RyaW5nO1xyXG4gIE9BVVRIPzogYm9vbGVhbiB8IG51bGw7XHJcbiAgc2Vzc2lvbklkPzogc3RyaW5nIHwgbnVsbDtcclxuICBzY29wZTogbnVtYmVyO1xyXG4gIGlzQXV0aGVudGljYXRlZDogYm9vbGVhbjtcclxuICBpc1RlbXBvcmFyeTogYm9vbGVhbjtcclxuICBoYXNUcmlhbDogYm9vbGVhbjtcclxuICBoYXNUZWFtOiBib29sZWFuO1xyXG4gIGhhc0FJOiBib29sZWFuO1xyXG4gIGhhc0FJQXNzaXN0YW50OiBib29sZWFuO1xyXG4gIGhhc0FJRWRpdG9yOiBib29sZWFuO1xyXG4gIGNoYW5uZWxzOiBDbGlwcGVyVXNlckNoYW5uZWxJbmZvW107XHJcbiAgZmlyc3RDaGFubmVsVHJpYWw6IENsaXBwZXJVc2VyQ2hhbm5lbEluZm87XHJcbiAgdHJpYWxJbmZvPzogQ2xpcHBlclVzZXJUcmlhbEluZm8gfCBudWxsO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIENsaXBwZXJMb2dpblJlc3VsdCBleHRlbmRzIExvZ2luUmVzdWx0PENsaXBwZXJVc2VySW5mbz4ge1xyXG4gIHNldHRpbmdzPzogQ2xpcHBlckNoYW5uZWxTZXR0aW5nc1tdIHwgbnVsbDtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBDbGlwcGVyTG9naW5JbmZvIHtcclxuICBjb250ZXh0OiBDbGlwcGVyVXNlckluZm87XHJcbiAgY29tcGxpYW5jZUNvbnRleHQ/OiBhbnkgfCBudWxsO1xyXG4gIHVzZXJTZXR0aW5ncz86IENsaXBwZXJDaGFubmVsU2V0dGluZ3NbXSB8IG51bGw7XHJcbiAgdXNlckNyZWRlbnRpYWxzPzogc3RyaW5nIHwgbnVsbDtcclxuICBPQVVUSD86IExvZ2luT0F1dGhUeXBlIHwgbnVsbDtcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIENsaXBwZXJTZWFyY2hQYXJhbXMge1xyXG4gIHZlcnNpb246IG51bWJlciA9IDY7XHJcbiAgc2VhcmNoSWQ/OiBudW1iZXIgfCBudWxsID0gbnVsbDtcclxuICBzZWFyY2hOYW1lPzogc3RyaW5nIHwgbnVsbCA9IG51bGw7XHJcbiAgdGV4dD86IHN0cmluZyB8IG51bGwgPSBudWxsO1xyXG4gIGF1Z21lbnRlZFRleHQ/OiBzdHJpbmcgfCBudWxsID0gbnVsbDtcclxuICB0aXRsZT86IHN0cmluZyB8IG51bGwgPSBudWxsO1xyXG4gIHRpdGxlT25seT86IGJvb2xlYW4gfCBudWxsID0gZmFsc2U7XHJcbiAgc2hvd1VucmVhZERvY3VtZW50c09ubHk/OiBib29sZWFuIHwgbnVsbCA9IGZhbHNlO1xyXG4gIHNob3dDb21tZW50ZWREb2N1bWVudHNPbmx5PzogYm9vbGVhbiB8IG51bGwgPSBmYWxzZTtcclxuICBzaG93Tm90QWJyb2dhdGVkRG9jdW1lbnRzT25seT86IGJvb2xlYW4gfCBudWxsID0gZmFsc2U7XHJcbiAgZXhwYW5kVGV4dFF1ZXJ5VXNpbmdBST86IGJvb2xlYW4gfCBudWxsID0gZmFsc2U7XHJcbiAgbnVtYmVyPzogc3RyaW5nIHwgbnVsbCA9IG51bGw7XHJcbiAgZnJvbURhdGU/OiBEYXRlIHwgbnVsbCA9IG51bGw7XHJcbiAgdG9EYXRlPzogRGF0ZSB8IG51bGwgPSBudWxsO1xyXG4gIHllYXI/OiBudW1iZXIgfCBudWxsID0gbnVsbDtcclxuICBzb3VyY2VOdW1iZXI/OiBzdHJpbmcgfCBudWxsID0gbnVsbDtcclxuICBzb3VyY2U/OiBzdHJpbmcgfCBudWxsID0gbnVsbDtcclxuICBzb3VyY2VGcm9tRGF0ZT86IERhdGUgfCBudWxsID0gbnVsbDtcclxuICBzb3VyY2VUb0RhdGU/OiBEYXRlIHwgbnVsbCA9IG51bGw7XHJcbiAgc291cmNlWWVhcj86IG51bWJlciB8IG51bGwgPSBudWxsO1xyXG4gIHNlY3Rvcj86IHN0cmluZyB8IG51bGwgPSBudWxsO1xyXG4gIHNlY3RvcnM/OiBTZWN0b3JJbmZvW10gfCBudWxsID0gbnVsbDtcclxuICB0b3BpYz86IHN0cmluZyB8IG51bGwgPSBudWxsO1xyXG4gIHRvcGljcz86IE5hbWVWYWx1ZUl0ZW08c3RyaW5nPltdIHwgbnVsbCA9IG51bGw7XHJcbiAgdGF4b25vbXk/OiBzdHJpbmcgfCBudWxsID0gbnVsbDtcclxuICB0YXhvbm9taWVzPzogTmFtZVZhbHVlSXRlbTxzdHJpbmc+W10gfCBudWxsID0gbnVsbDtcclxuICB0YXhvbm9teVBhdGg/OiBzdHJpbmcgfCBudWxsID0gbnVsbDtcclxuICB0YXhvbm9teU5vZGU/OiBzdHJpbmcgfCBudWxsID0gbnVsbDtcclxuICB0eXBlPzogc3RyaW5nIHwgbnVsbCA9IG51bGw7XHJcbiAgdHlwZXM/OiBOYW1lVmFsdWVJdGVtPHN0cmluZz5bXSB8IG51bGwgPSBudWxsO1xyXG4gIHRhZz86IHN0cmluZyB8IG51bGwgPSBudWxsO1xyXG4gIHRhZ3M/OiBOYW1lVmFsdWVJdGVtPHN0cmluZz5bXSB8IG51bGwgPSBudWxsO1xyXG4gIGF1dGhvcj86IHN0cmluZyB8IG51bGwgPSBudWxsO1xyXG4gIGF1dGhvcnM/OiBOYW1lVmFsdWVJdGVtPHN0cmluZz5bXSB8IG51bGwgPSBudWxsO1xyXG4gIGNoYW5nZVJlYXNvbj86IG51bWJlciB8IG51bGwgPSBudWxsO1xyXG4gIGNoYW5nZWROdW1iZXI/OiBzdHJpbmcgfCBudWxsID0gbnVsbDtcclxuICBjaGFuZ2VkWWVhcj86IG51bWJlciB8IG51bGwgPSBudWxsO1xyXG4gIGNoYW5nZWRUaXRsZT86IHN0cmluZyB8IG51bGwgPSBudWxsO1xyXG4gIG1vZGlmaWVyTnVtYmVyPzogc3RyaW5nIHwgbnVsbCA9IG51bGw7XHJcbiAgbW9kaWZpZXJZZWFyPzogbnVtYmVyIHwgbnVsbCA9IG51bGw7XHJcbiAgbW9kaWZpZXJUaXRsZT86IHN0cmluZyB8IG51bGwgPSBudWxsO1xyXG4gIG1vZGVsPzogQ2xpcHBlck1vZGVsIHwgbnVsbCA9IG51bGw7XHJcbiAgbW9kZWxzPzogQ2xpcHBlck1vZGVsW10gfCBudWxsID0gbnVsbDtcclxuICBtb2R1bGU/OiBDbGlwcGVyTW9kdWxlIHwgbnVsbCA9IG51bGw7XHJcbiAgbW9kdWxlcz86IE5hbWVWYWx1ZUl0ZW08Q2xpcHBlck1vZHVsZT5bXSB8IG51bGwgPSBudWxsO1xyXG4gIG1vZGU/OiBDbGlwcGVyUXVlcnlSZWZlcmVuY2VzTW9kZSB8IG51bGwgPSBudWxsO1xyXG4gIGNoYW5uZWxzPzogTmFtZVZhbHVlSXRlbTxDbGlwcGVyQ2hhbm5lbD5bXSB8IG51bGwgPSBbLi4uQ2xpcHBlckNoYW5uZWxzXTtcclxuICBjb3VudD86IG51bWJlciB8IG51bGwgPSAxNTtcclxuICBpZD86IHN0cmluZyB8IG51bGwgPSBudWxsO1xyXG4gIGFuY2hvcj86IHN0cmluZyB8IG51bGwgPSBudWxsO1xyXG4gIGV4Y2x1ZGVUZXh0UmVmZXJlbmNlcz86IGJvb2xlYW4gfCBudWxsID0gZmFsc2U7XHJcbiAgZXhjbHVkZU5vdGVzUmVmZXJlbmNlcz86IGJvb2xlYW4gfCBudWxsID0gZmFsc2U7XHJcbiAgdXNlTW9kaWZpZXJJbmZvPzogYm9vbGVhbiB8IG51bGwgPSBmYWxzZTtcclxuICByZXR1cm5Nb2RpZmllckluZm8/OiBib29sZWFuIHwgbnVsbCA9IGZhbHNlO1xyXG4gIGZpcnN0PzogbnVtYmVyIHwgbnVsbCA9IDA7XHJcbiAgc29ydE1vZGU/OiBudW1iZXIgfCBudWxsID0gbnVsbDtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBDbGlwcGVyUmVmZXJlbmNlc1NlYXJjaFBhcmFtcyB7XHJcbiAgZG9jdW1lbnRJZDogc3RyaW5nO1xyXG4gIHllYXI/OiBudW1iZXIgfCBudWxsO1xyXG4gIHNlY3Rvcj86IHN0cmluZyB8IG51bGw7XHJcbiAgYXV0aG9yPzogc3RyaW5nIHwgbnVsbDtcclxuICBhbmNob3I/OiBzdHJpbmcgfCBudWxsO1xyXG4gIG1vZGVsPzogc3RyaW5nIHwgbnVsbDtcclxuICBtb2RlPzogQ2xpcHBlclF1ZXJ5UmVmZXJlbmNlc01vZGUgfCBudWxsO1xyXG4gIGV4Y2x1ZGVUZXh0UmVmZXJlbmNlcz86IGJvb2xlYW4gfCBudWxsO1xyXG4gIGV4Y2x1ZGVOb3Rlc1JlZmVyZW5jZXM/OiBib29sZWFuIHwgbnVsbDtcclxuICB1c2VNb2RpZmllckluZm8/OiBib29sZWFuIHwgbnVsbDtcclxuICByZXR1cm5Nb2RpZmllckluZm8/OiBib29sZWFuIHwgbnVsbDtcclxuICBjb3VudD86IG51bWJlciB8IG51bGw7XHJcbiAgZmlyc3Q/OiBudW1iZXIgfCBudWxsO1xyXG59XHJcblxyXG5leHBvcnQgZW51bSBDbGlwcGVyRG9jdW1lbnRDb250YWluZXIge1xyXG4gIE5vbmUgPSAwLFxyXG4gIExhdm9yb0VBbWJpZW50ZSA9IDEsXHJcbiAgU29zdGFuemVBbGltZW50YXJpID0gMixcclxuICBPcmFuZ2VQcm9qZWN0ID0gNCxcclxuICBFbmVyZ2lhID0gOCxcclxuICBER0luZm8gPSAweDEwLFxyXG4gIERMR1MyMzEgPSAweDIwLFxyXG4gIEFsbCA9IDB4M0ZcclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IENsaXBwZXJEb2N1bWVudENoYW5nZVJlYXNvbnM6IE5hbWVWYWx1ZUl0ZW08bnVtYmVyPltdID0gW1xyXG4gIHsgbmFtZTogJ0Ficm9nYXppb25lJywgdmFsdWU6IDEgfSxcclxuICB7IG5hbWU6ICdBbm51bGxhbWVudG8nLCB2YWx1ZTogNSB9LFxyXG4gIHsgbmFtZTogJ01vZGlmaWNhJywgdmFsdWU6IDIgfSxcclxuICB7IG5hbWU6ICdTb3N0aXV6aW9uZScsIHZhbHVlOiAzIH0sXHJcbiAgeyBuYW1lOiAnU2VnbmFsYXppb25lJywgdmFsdWU6IDYgfSxcclxuICB7IG5hbWU6ICdSZXR0aWZpY2EnLCB2YWx1ZTogNyB9LFxyXG5dXHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIENsaXBwZXJEb2N1bWVudEFuY2hvckluZm8ge1xyXG4gIGRvY3VtZW50SWQ6IHN0cmluZztcclxuICB0eXBlOiBudW1iZXI7XHJcbiAgdHlwZURlc2NyaXB0aW9uOiBzdHJpbmc7XHJcbiAgdGV4dDogc3RyaW5nO1xyXG4gIHRpdGxlPzogc3RyaW5nIHwgbnVsbDtcclxuICBkZXNjcmlwdGlvbj86IHN0cmluZyB8IG51bGw7XHJcbiAgdXJpOiBzdHJpbmc7XHJcbiAgb3JkaW5hbD86IHN0cmluZyB8IG51bGw7XHJcbiAgc2NvcmU/OiBudW1iZXIgfCBudWxsO1xyXG4gIHZlcnlSZWxldmFudD86IGJvb2xlYW4gfCBudWxsO1xyXG4gIHZhbHVlPzogc3RyaW5nIHwgbnVsbDtcclxuICBsZXZlbD86IG51bWJlciB8IG51bGw7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ2xpcHBlckRvY3VtZW50UmVsZXZhbnRzIHtcclxuICBpdGVtczogQ2xpcHBlckRvY3VtZW50QW5jaG9ySW5mb1tdO1xyXG4gIGhpdHM6IG51bWJlcjtcclxuICBoaXQ6IG51bWJlcjtcclxuICBtaW5pbXVtU2NvcmU6IG51bWJlcjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBDbGlwcGVyRG9jdW1lbnRJbmZvIHtcclxuICBpZD86IHN0cmluZyB8IG51bGw7XHJcbiAgZG9jdW1lbnRJZD86IHN0cmluZyB8IG51bGw7XHJcbiAgbW9kZWw/OiBudW1iZXI7XHJcbiAgbW9kZWxOYW1lPzogc3RyaW5nIHwgbnVsbDtcclxuICBtb2R1bGU/OiBudW1iZXIgfCBudWxsO1xyXG4gIG1vZHVsZU5hbWU/OiBzdHJpbmcgfCBudWxsO1xyXG4gIGNoYW5uZWxOYW1lPzogc3RyaW5nIHwgbnVsbDtcclxuICBncm91cD86IHN0cmluZyB8IG51bGw7XHJcbiAgdGl0bGUyPzogc3RyaW5nIHwgbnVsbDtcclxuICB0aXRsZTE/OiBzdHJpbmcgfCBudWxsO1xyXG4gIHRhZ3M/OiBzdHJpbmcgfCBudWxsO1xyXG4gIHRvcGljcz86IHN0cmluZyB8IG51bGw7XHJcbiAgbnVtYmVyPzogc3RyaW5nIHwgbnVsbDtcclxuICBkYXRlPzogRGF0ZSB8IG51bGw7XHJcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmcgfCBudWxsO1xyXG4gIHB1Ymxpc2hpbmdEYXRlPzogRGF0ZSB8IG51bGw7XHJcbiAgcGljdHVyZUlkPzogc3RyaW5nIHwgbnVsbDtcclxuICBzb3VyY2VOdW1iZXI/OiBzdHJpbmcgfCBudWxsO1xyXG4gIHNvdXJjZURhdGU/OiBEYXRlIHwgbnVsbDtcclxuICBzb3VyY2U/OiBzdHJpbmcgfCBudWxsO1xyXG4gIHNlY3Rvcj86IHN0cmluZyB8IG51bGw7XHJcbiAgb3JpZ2luPzogc3RyaW5nIHwgbnVsbDtcclxuICBvcmlnaW5EZXNjcmlwdGlvbj86IHN0cmluZyB8IG51bGw7XHJcbiAgYXV0aG9yPzogc3RyaW5nIHwgbnVsbDtcclxuICBhbmNob3JzPzogQ2xpcHBlckRvY3VtZW50QW5jaG9ySW5mb1tdIHwgbnVsbDtcclxuICB0YXhvbm9teT86IHN0cmluZyB8IG51bGw7XHJcbiAgaW5mbz86IHN0cmluZyB8IG51bGw7XHJcbiAgaXNSZWFkPzogYm9vbGVhbiB8IG51bGw7XHJcbiAgaXNFeHBvcnRhYmxlPzogYm9vbGVhbiB8IG51bGw7XHJcbiAgaXNDb21tZW50ZWQ/OiBib29sZWFuIHwgbnVsbDtcclxuICBpc0p1cmlzPzogYm9vbGVhbiB8IG51bGw7XHJcbiAgaXNPdmVyPzogYm9vbGVhbiB8IG51bGw7XHJcbiAgaXNUcmlhbD86IGJvb2xlYW4gfCBudWxsO1xyXG4gIGlzTmV3PzogYm9vbGVhbiB8IG51bGw7XHJcbiAgaXNFeHBpcmVkPzogYm9vbGVhbiB8IG51bGw7XHJcbiAgaXNFeHBpcmluZz86IGJvb2xlYW4gfCBudWxsO1xyXG4gIGlzTWVudU9wZW4/OiBib29sZWFuIHwgbnVsbDtcclxuICBhcHBsaWNhYmxlRnJvbURhdGU/OiBEYXRlIHwgbnVsbDtcclxuICB2YWxpZGl0eVN0YXRlPzogbnVtYmVyIHwgbnVsbDtcclxuICB2YWxpZEZyb21EYXRlPzogRGF0ZSB8IG51bGw7XHJcbiAgdmFsaWRVbnRpbERhdGU/OiBEYXRlIHwgbnVsbDtcclxuICB2YWxpZGl0eURlc2NyaXB0aW9uPzogc3RyaW5nIHwgbnVsbDtcclxuICB2YWxpZGl0eUluZm8/OiBzdHJpbmcgfCBudWxsO1xyXG4gIGV4cGlyaW5nRGF0ZT86IERhdGUgfCBudWxsO1xyXG4gIGV4cGlyaW5nRGVzY3JpcHRpb24/OiBzdHJpbmcgfCBudWxsO1xyXG4gIGV4cGlyaW5nSW5mbz86IHN0cmluZyB8IG51bGw7XHJcbiAgcG9wdWxhcml0eT86IG51bWJlciB8IG51bGw7XHJcbiAgcGFydD86IG51bWJlciB8IG51bGw7XHJcbiAgcHJpbWFyeUlkPzogc3RyaW5nIHwgbnVsbDtcclxuICBwcmltYXJ5RGVzY3JpcHRpb24/OiBzdHJpbmcgfCBudWxsO1xyXG4gIHByaW1hcnlNb2RlbD86IG51bWJlciB8IG51bGw7XHJcbiAgaGFzUHJpbWFyeT86IGJvb2xlYW4gfCBudWxsO1xyXG4gIHNlY29uZGFyeUlkPzogc3RyaW5nIHwgbnVsbDtcclxuICBiYWc/OiBhbnkgfCBudWxsO1xyXG4gIGxhc3RVcGRhdGU/OiBzdHJpbmcgfCBudWxsO1xyXG5cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIENsaXBwZXJTZWFyY2hSZXN1bHQge1xyXG4gIGRheXM/OiBzdHJpbmcgfCBudWxsID0gbnVsbDtcclxuICBpbnRlcnZhbD86IHN0cmluZyB8IG51bGwgPSBudWxsO1xyXG4gIGl0ZW1zPzogQ2xpcHBlckRvY3VtZW50SW5mb1tdIHwgbnVsbCA9IG51bGw7XHJcbiAgZmFjZXRzPzogQ2xpcHBlclNlYXJjaEZhY2V0c1NuYXBzaG90IHwgbnVsbCA9IG5ldyBDbGlwcGVyU2VhcmNoRmFjZXRzU25hcHNob3QoKTtcclxuICB0YWdzPzogTmFtZVZhbHVlSXRlbTxzdHJpbmc+W10gfCBudWxsO1xyXG4gIHRvdGFsPzogbnVtYmVyIHwgbnVsbCA9IG51bGw7XHJcbiAgdGVybXM/OiBzdHJpbmdbXSB8IG51bGwgPSBudWxsO1xyXG4gIHNlYXJjaEluZm8/OiBhbnkgfCBudWxsID0gbnVsbDtcclxuICBzZWFyY2hQYXJhbXM/OiBDbGlwcGVyU2VhcmNoUGFyYW1zIHwgbnVsbCA9IG5ldyBDbGlwcGVyU2VhcmNoUGFyYW1zKCk7XHJcbiAgc25hcHNob3RNb2RlPzogQ2xpcHBlclF1ZXJ5UmVmZXJlbmNlc01vZGUgfCBudWxsID0gbnVsbDtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBDbGlwcGVyU2VhcmNoRmFjZXQge1xyXG4gIHR5cGU6IG51bWJlcjtcclxuICB0eXBlTmFtZTogc3RyaW5nO1xyXG4gIHRpdGxlOiBzdHJpbmc7XHJcbiAgdmFsdWU6IHN0cmluZztcclxuICBjb3VudDogbnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIENsaXBwZXJTZWFyY2hGYWNldEdyb3VwIHtcclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgc2VsZWN0ZWRWYWx1ZT86IHN0cmluZyB8IG51bGw7XHJcbiAgc2VsZWN0ZWRWYWx1ZURlc2NyaXB0aW9uPzogc3RyaW5nIHwgbnVsbDtcclxuICB2YWx1ZXM6IENsaXBwZXJTZWFyY2hGYWNldFtdO1xyXG4gIGluZGV4OiBudW1iZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ2xpcHBlclNlYXJjaEZhY2V0c1Jlc3VsdCB7XHJcbiAgaW50ZXJ2YWw/OiBzdHJpbmcgfCBudWxsO1xyXG4gIGZhY2V0cz86IENsaXBwZXJTZWFyY2hGYWNldFtdW10gfCBudWxsO1xyXG4gIHRvdGFsPzogbnVtYmVyIHwgbnVsbDtcclxufVxyXG5cclxuXHJcbmV4cG9ydCBjbGFzcyBDbGlwcGVyU2VhcmNoRmFjZXRzU25hcHNob3Qge1xyXG4gIGdyb3VwczogQ2xpcHBlclNlYXJjaEZhY2V0R3JvdXBbXSA9IFtdO1xyXG4gIHVzZWRHcm91cHM6IENsaXBwZXJTZWFyY2hGYWNldEdyb3VwW10gPSBbXTtcclxuICBoYXNGYWNldHM6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBoYXNNb3JlRmFjZXRzOiBib29sZWFuID0gZmFsc2U7XHJcbiAgaGFzVG9vTWFueVJlc3VsdHM6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBzZWN0b3I/OiBzdHJpbmcgfCBudWxsID0gbnVsbDtcclxuICBhdXRob3I/OiBzdHJpbmcgfCBudWxsID0gbnVsbDtcclxuICBhbmNob3I/OiBzdHJpbmcgfCBudWxsID0gbnVsbDtcclxuICB0eXBlPzogc3RyaW5nIHwgbnVsbCA9IG51bGw7XHJcbiAgcmVhc29uPzogc3RyaW5nIHwgbnVsbCA9IG51bGw7XHJcbiAgZnJvbURhdGU/OiBEYXRlIHwgbnVsbCA9IG51bGw7XHJcbiAgdG9EYXRlPzogRGF0ZSB8IG51bGwgPSBudWxsO1xyXG4gIGludGVydmFsPzogc3RyaW5nIHwgbnVsbCA9IG51bGw7XHJcbiAgY2hhbmdlZEludGVydmFsOiBib29sZWFuID0gZmFsc2U7XHJcbiAgY2hhbmdlZFNlY3RvcjogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGNoYW5nZWRBdXRob3I6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBjaGFuZ2VkQW5jaG9yOiBib29sZWFuID0gZmFsc2U7XHJcbiAgY2hhbmdlZFR5cGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBjaGFuZ2VkUmVhc29uOiBib29sZWFuID0gZmFsc2U7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ2xpcHBlclNlYXJjaENhbGVuZGFyU25hcHNob3RNb250aCB7XHJcbiAgZGF5czogbnVtYmVyW107XHJcbiAgbW9udGhTaG9ydE5hbWU6IHN0cmluZztcclxuICBtb250aE5hbWU6IHN0cmluZztcclxuICBtb250aDogbnVtYmVyO1xyXG4gIHllYXI6IG51bWJlcjtcclxuICB0b3RhbDogbnVtYmVyO1xyXG4gIGV4cGlyZWQ6IG51bWJlcjtcclxuICBleHBpcmluZzogbnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgQ2xpcHBlclNlYXJjaENhbGVuZGFyU25hcHNob3RSZXN1bHQge1xyXG4gIG1vbnRocz86IENsaXBwZXJTZWFyY2hDYWxlbmRhclNuYXBzaG90TW9udGhbXSB8IG51bGwgPSBudWxsO1xyXG59XHJcblxyXG5cclxuXHJcbmV4cG9ydCBlbnVtIENsaXBwZXJTb3J0IHtcclxuICBEZWZhdWx0ID0gMCxcclxuICBSZWxldmFuY2UgPSAxLFxyXG4gIERhdGVBc2MgPSAyLFxyXG4gIERhdGVEZXNjID0gMyxcclxuICBTb3VyY2VEYXRlQXNjID0gNyxcclxuICBTb3VyY2VEYXRlRGVzYyA9IDgsXHJcbiAgUG9wdWxhcml0eSA9IDVcclxufVxyXG5cclxuZXhwb3J0IGVudW0gQ2xpcHBlclF1ZXJ5UmVmZXJlbmNlc01vZGUge1xyXG4gIFJlZmVyZW5jZXNJbiA9IDEsXHJcbiAgUmVmZXJlbmNlc091dCA9IDIsXHJcbiAgQ2hhbmdlc0luID0gMyxcclxuICBDaGFuZ2VzT3V0ID0gNSxcclxuICBKdXJpcyA9IDRcclxufVxyXG5cclxuZXhwb3J0IGVudW0gQ2xpcHBlckZhY2V0IHtcclxuICBTZWN0b3IgPSAxLFxyXG4gIFllYXIgPSAyLFxyXG4gIERvY3VtZW50VHlwZSA9IDMsXHJcbiAgVG9waWMgPSA0LFxyXG4gIEFydGljbGUgPSA1LFxyXG4gIEF1dGhvciA9IDYsXHJcbiAgUmVhc29uID0gOTVcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBDbGlwcGVyT1RQSW5mbyB7XHJcbiAgY29kZTogc3RyaW5nO1xyXG4gIGNhblByZXZpZXc/OiBib29sZWFuIHwgbnVsbDtcclxuICBjYW5FbWJlZD86IGJvb2xlYW4gfCBudWxsO1xyXG59XHJcblxyXG5leHBvcnQgZW51bSBDbGlwcGVyRXhwb3J0RG9jdW1lbnRzRm9ybWF0IHtcclxuICBEZWFmYXVsdCA9IDEsXHJcbiAgaUNhbGVuZGFyID0gMlxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIENsaXBwZXJFeHBvcnREb2N1bWVudHNQYXJhbXMge1xyXG4gIHF1ZXJ5OiBDbGlwcGVyU2VhcmNoUGFyYW1zO1xyXG4gIGlkczogc3RyaW5nW107XHJcbiAgZm9ybWF0PzogQ2xpcHBlckV4cG9ydERvY3VtZW50c0Zvcm1hdCB8IG51bGw7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ2xpcHBlclNlbmREb2N1bWVudHNCeUVtYWlsUGFyYW1zIGV4dGVuZHMgU2VuZFRvRGlhbG9nUmVzdWx0IHtcclxuICBpZHM6IHN0cmluZ1tdO1xyXG4gIHB1YmxpYzogc3RyaW5nO1xyXG4gIGlzQ2FsZW5kYXI6IGJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ2xpcHBlckRvY3VtZW50U3RydWN0dXJlIHtcclxuICBpZDogc3RyaW5nO1xyXG4gIHRpdGxlOiBzdHJpbmc7XHJcbiAgaXRlbXM/OiBDbGlwcGVyRG9jdW1lbnRBbmNob3JJbmZvW10gfCBudWxsO1xyXG59XHJcblxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBDbGlwcGVyU2VhcmNoRmlsdGVyIHtcclxuICBjb250YWluZXI6IENsaXBwZXJEb2N1bWVudENvbnRhaW5lcjtcclxuICBtb2RlbHM6IG51bWJlcltdO1xyXG4gIHNlY3RvcnM6IHN0cmluZ1tdO1xyXG4gIHJlZ2lvbnM6IHN0cmluZ1tdO1xyXG4gIG5vdGlmaWNhdGlvbnM6IG51bWJlcltdO1xyXG4gIGlzRW5hYmxlZDogYm9vbGVhbjtcclxuICBpc0FjdGl2ZTogYm9vbGVhbjtcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIENsaXBwZXJUYXhvbm9teVBhcmFtcyB7XHJcbiAgY291bnRJdGVtczogYm9vbGVhbjtcclxuICBtb2RlbDogQ2xpcHBlck1vZGVsO1xyXG4gIHVzZXJGaWx0ZXJzPzogQ2xpcHBlclNlYXJjaEZpbHRlcltdIHwgbnVsbDtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBDbGlwcGVyVXNlclNlYXJjaCB7XHJcbiAgaWQ/OiBudW1iZXIgfCBudWxsO1xyXG4gIHVzZXJJZD86IG51bWJlciB8IG51bGw7XHJcbiAgbmFtZT86IHN0cmluZyB8IG51bGw7XHJcbiAgbW9kdWxlPzogQ2xpcHBlck1vZHVsZSB8IG51bGwsXHJcbiAgZGF0YT86IHN0cmluZyB8IG51bGw7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ2xpcHBlclVzZXJXb3JraW5nRG9jdW1lbnQge1xyXG4gIHVzZXJJZD86IG51bWJlciB8IG51bGw7XHJcbiAgZG9jdW1lbnRJZD86IHN0cmluZyB8IG51bGw7XHJcbiAgZG9jdW1lbnREZXNjcmlwdG9yPzogc3RyaW5nIHwgbnVsbDtcclxuICB0aXRsZTE/OiBzdHJpbmcgfCBudWxsO1xyXG4gIHRpdGxlMj86IHN0cmluZyB8IG51bGw7XHJcbiAgdGltZXN0YW1wPzogc3RyaW5nIHwgbnVsbDtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBDbGlwcGVyRGVsZXRlV29ya2luZ0RvY3VtZW50c1BhcmFtcyB7XHJcbiAgZG9jdW1lbnRJZHM6IHN0cmluZ1tdO1xyXG4gIGRlbGV0ZUFsbDogYm9vbGVhbjtcclxufVxyXG5cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ2xpcHBlclVzZXJMaW5rIHtcclxuICBpZD86IG51bWJlciB8IG51bGw7XHJcbiAgdXNlcklkOiBudW1iZXI7XHJcbiAgdXNlck5hbWU/OiBzdHJpbmcgfCBudWxsO1xyXG4gIGtleTogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIENsaXBwZXJVc2VyVHJpYWxJbmZvIHtcclxuICBjaGFubmVsTmFtZTogc3RyaW5nO1xyXG4gIGV4cGlyaW5nRGF0ZTogRGF0ZTtcclxuICByZW1haW5pbmdEb2N1bWVudHM6IG51bWJlcjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBDbGlwcGVyQXJzRXZlbnRJbmZvIHtcclxuICBpZDogbnVtYmVyO1xyXG4gIGxvY2F0aW9uPzogc3RyaW5nIHwgbnVsbDtcclxuICB0aXRsZT86IHN0cmluZyB8IG51bGw7XHJcbiAgcGljdHVyZUlkPzogc3RyaW5nIHwgbnVsbDtcclxuICBkYXRlPzogc3RyaW5nIHwgbnVsbDtcclxuICBlbmREYXRlPzogc3RyaW5nIHwgbnVsbDtcclxuICBzdGFydFRpbWU/OiBzdHJpbmcgfCBudWxsO1xyXG4gIGVuZFRpbWU/OiBzdHJpbmcgfCBudWxsO1xyXG4gIGhvdXJzPzogbnVtYmVyIHwgbnVsbDtcclxuICBkYXlzPzogbnVtYmVyIHwgbnVsbDtcclxuICBkYXRlSW50ZXJ2YWxEZXNjcmlwdGlvbj86IHN0cmluZyB8IG51bGw7XHJcbiAgZHVyYXRpb25EZXNjcmlwdGlvbj86IHN0cmluZyB8IG51bGw7XHJcbiAgZ3JvdXA/OiBzdHJpbmcgfCBudWxsO1xyXG4gIGFkZHJlc3M/OiBzdHJpbmcgfCBudWxsO1xyXG4gIGNpdHk/OiBzdHJpbmcgfCBudWxsO1xyXG4gIGlzT3Zlcj86IGJvb2xlYW4gfCBudWxsO1xyXG59XHJcblxyXG5cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ2xpcHBlclNlYXJjaEFyc0V2ZW50c1BhcmFtcyB7XHJcbiAgZ3JvdXA/OiBzdHJpbmcgfCBudWxsO1xyXG4gIGdyb3VwMT86IHN0cmluZyB8IG51bGw7XHJcbiAgY29sbGVjdEdyb3Vwcz86IGJvb2xlYW4gfCBudWxsO1xyXG4gIGNvbGxlY3RCdW5kbGVzPzogYm9vbGVhbiB8IG51bGw7XHJcbiAgZnJvbURhdGU/OiBzdHJpbmcgfCBudWxsO1xyXG4gIHVudGlsRGF0ZT86IHN0cmluZyB8IG51bGw7XHJcbiAgdGV4dD86IHN0cmluZyB8IG51bGw7XHJcbiAgc29ydEJ5Pzogc3RyaW5nIHwgbnVsbDtcclxuICBjb3VudDogbnVtYmVyXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ2xpcHBlclNlYXJjaEFyc0V2ZW50c1Jlc3VsdCB7XHJcbiAgaW50ZXJ2YWw/OiBzdHJpbmcgfCBudWxsO1xyXG4gIGl0ZW1zPzogQ2xpcHBlckFyc0V2ZW50SW5mb1tdIHwgbnVsbDtcclxuICB0b3RhbD86IG51bWJlciB8IG51bGw7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ2xpcHBlckRvY3VtZW50VXBkYXRlU3RhdGVQYXJhbXMge1xyXG4gIGRvY3VtZW50SWRzOiBzdHJpbmdbXSB8IG51bGw7XHJcbiAgaXNSZWFkOiBib29sZWFuIHwgbnVsbDtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBDbGlwcGVyRGFzaGJvYXJkTW9kZWxJdGVtIHtcclxuICBpZD86IENsaXBwZXJNb2RlbCB8IG51bGw7XHJcbiAgbmV3SXRlbXM/OiBudW1iZXIgfCBudWxsO1xyXG4gIHVucmVhZEl0ZW1zPzogbnVtYmVyIHwgbnVsbDtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBDbGlwcGVyRGFzaGJvYXJkSXRlbSB7XHJcbiAgaWQ/OiBDbGlwcGVyTW9kdWxlIHwgbnVsbDtcclxuICBtb2RlbHM/OiBDbGlwcGVyRGFzaGJvYXJkTW9kZWxJdGVtW10gfCBudWxsO1xyXG4gIG5ld0l0ZW1zPzogbnVtYmVyIHwgbnVsbDtcclxuICB1bnJlYWRJdGVtcz86IG51bWJlciB8IG51bGw7XHJcbiAgbGFzdFVwZGF0ZWQ/OiBzdHJpbmcgfCBudWxsO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIENsaXBwZXJEYXNoYm9hcmRSZXN1bHQge1xyXG4gIGl0ZW1zPzogQ2xpcHBlckRhc2hib2FyZEl0ZW1bXSB8IG51bGw7XHJcbiAgaXNUcmlhbD86IGJvb2xlYW4gfCBudWxsO1xyXG4gIGV4cGlyZWREZWFkbGluZXM/OiBudW1iZXIgfCBudWxsO1xyXG4gIGV4cGlyaW5nRGVhZGxpbmVzPzogbnVtYmVyIHwgbnVsbDtcclxuICBkb2N1bWVudFVwZGF0ZXM/OiBudW1iZXIgfCBudWxsO1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgQ2xpcHBlckRhc2hib2FyZCB7XHJcbiAgaXRlbXMgPSBzaWduYWw8Q2xpcHBlckRhc2hib2FyZEl0ZW1bXT4oW10pO1xyXG4gIGlzVHJpYWw/OiBib29sZWFuIHwgbnVsbCA9IGZhbHNlO1xyXG4gIGV4cGlyZWREZWFkbGluZXM/OiBudW1iZXIgfCBudWxsID0gbnVsbDtcclxuICBleHBpcmluZ0RlYWRsaW5lcz86IG51bWJlciB8IG51bGwgPSBudWxsO1xyXG4gIGRvY3VtZW50VXBkYXRlcz86IG51bWJlciB8IG51bGwgPSBudWxsO1xyXG4gIHVucmVhZEl0ZW1zOiBTaWduYWw8W0NsaXBwZXJNb2R1bGUsIG51bWJlcl1bXT4gPSBjb21wdXRlZCgoKSA9PiB7XHJcbiAgICBjb25zdCBzdGF0ZXM6IFtDbGlwcGVyTW9kdWxlLCBudW1iZXJdW10gPSBbXTtcclxuICAgIGxldCB0b3RhbFVucmVhZCA9IDA7XHJcbiAgICB0aGlzLml0ZW1zKCkuZmlsdGVyKCh4OiBDbGlwcGVyRGFzaGJvYXJkSXRlbSkgPT4geC5pZCA9PSBDbGlwcGVyTW9kdWxlLk5ld3NcclxuICAgICAgfHwgeC5pZCA9PT0gQ2xpcHBlck1vZHVsZS5BcHByb2ZvbmRpbWVudGkpLmZvckVhY2goKHg6IENsaXBwZXJEYXNoYm9hcmRJdGVtKSA9PiB7XHJcbiAgICAgICAgdG90YWxVbnJlYWQgKz0geC51bnJlYWRJdGVtcyA/PyAwO1xyXG4gICAgICB9KTtcclxuICAgIHN0YXRlcy5wdXNoKFtDbGlwcGVyTW9kdWxlLk5ld3MsIHRvdGFsVW5yZWFkXSk7XHJcbiAgICBzdGF0ZXMucHVzaChbQ2xpcHBlck1vZHVsZS5HYXp6ZXR0ZUJvbGxldHRpbmlFRm9udGlEaXZlcnNlLCB0aGlzLml0ZW1zKCkuZmluZCgoeDogQ2xpcHBlckRhc2hib2FyZEl0ZW0pID0+IHguaWQgPT0gQ2xpcHBlck1vZHVsZS5HYXp6ZXR0ZUJvbGxldHRpbmlFRm9udGlEaXZlcnNlKT8udW5yZWFkSXRlbXMgPz8gMF0pO1xyXG4gICAgc3RhdGVzLnB1c2goW0NsaXBwZXJNb2R1bGUuR2l1cmlzcHJ1ZGVuemEsIHRoaXMuaXRlbXMoKS5maW5kKCh4OiBDbGlwcGVyRGFzaGJvYXJkSXRlbSkgPT4geC5pZCA9PSBDbGlwcGVyTW9kdWxlLkdpdXJpc3BydWRlbnphKT8udW5yZWFkSXRlbXMgPz8gMF0pO1xyXG4gICAgc3RhdGVzLnB1c2goW0NsaXBwZXJNb2R1bGUuTW9kaWZpY2hlQWJyb2dhemlvbmlFUmludmlpLCB0aGlzLml0ZW1zKCkuZmluZCgoeDogQ2xpcHBlckRhc2hib2FyZEl0ZW0pID0+IHguaWQgPT0gQ2xpcHBlck1vZHVsZS5Nb2RpZmljaGVBYnJvZ2F6aW9uaUVSaW52aWkpPy51bnJlYWRJdGVtcyA/PyAwXSk7XHJcbiAgICBzdGF0ZXMucHVzaChbQ2xpcHBlck1vZHVsZS5BbGxlcnRlQWxpbWVudGFyaSwgdGhpcy5pdGVtcygpLmZpbmQoKHg6IENsaXBwZXJEYXNoYm9hcmRJdGVtKSA9PiB4LmlkID09IENsaXBwZXJNb2R1bGUuQWxsZXJ0ZUFsaW1lbnRhcmkpPy51bnJlYWRJdGVtcyA/PyAwXSk7XHJcbiAgICBzdGF0ZXMucHVzaChbQ2xpcHBlck1vZHVsZS5RdWVzaXRpRUNhc2lSaXNvbHRpLCB0aGlzLml0ZW1zKCkuZmluZCgoeDogQ2xpcHBlckRhc2hib2FyZEl0ZW0pID0+IHguaWQgPT0gQ2xpcHBlck1vZHVsZS5RdWVzaXRpRUNhc2lSaXNvbHRpKT8udW5yZWFkSXRlbXMgPz8gMF0pO1xyXG4gICAgcmV0dXJuIHN0YXRlcztcclxuICB9KTtcclxuICB1bnJlYWRJdGVtc0J5TW9kZWw6IFNpZ25hbDxbQ2xpcHBlck1vZGVsLCBudW1iZXJdW10+ID0gY29tcHV0ZWQoKCkgPT4ge1xyXG4gICAgY29uc3Qgc3RhdGVzOiBbQ2xpcHBlck1vZGVsLCBudW1iZXJdW10gPSBbXTtcclxuICAgIHRoaXMuaXRlbXMoKS5mb3JFYWNoKGl0ZW0gPT4ge1xyXG4gICAgICBpZiAoaXRlbS5tb2RlbHMpIHtcclxuICAgICAgICBpdGVtLm1vZGVscy5mb3JFYWNoKGl0ZW1Nb2RlbCA9PiB7XHJcbiAgICAgICAgICBzdGF0ZXMucHVzaChbaXRlbU1vZGVsLmlkLCBpdGVtTW9kZWwudW5yZWFkSXRlbXNdKTtcclxuICAgICAgICB9KTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBpZiAoaXRlbS5pZCA9PSBDbGlwcGVyTW9kdWxlLk5ld3MpIHtcclxuICAgICAgICAgIHN0YXRlcy5wdXNoKFtDbGlwcGVyTW9kZWwuTmV3cywgaXRlbS51bnJlYWRJdGVtc10pO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoaXRlbS5pZCA9PSBDbGlwcGVyTW9kdWxlLkdhenpldHRlQm9sbGV0dGluaUVGb250aURpdmVyc2UpIHtcclxuICAgICAgICAgIHN0YXRlcy5wdXNoKFtDbGlwcGVyTW9kZWwuQWdnaW9ybmFtZW50b05vcm1hdGl2bywgaXRlbS51bnJlYWRJdGVtc10pO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoaXRlbS5pZCA9PSBDbGlwcGVyTW9kdWxlLlF1ZXNpdGlFQ2FzaVJpc29sdGkpIHtcclxuICAgICAgICAgIHN0YXRlcy5wdXNoKFtDbGlwcGVyTW9kZWwuUXVlc2l0aSwgaXRlbS51bnJlYWRJdGVtc10pO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoaXRlbS5pZCA9PSBDbGlwcGVyTW9kdWxlLkFsbGVydGVBbGltZW50YXJpKSB7XHJcbiAgICAgICAgICBzdGF0ZXMucHVzaChbQ2xpcHBlck1vZGVsLkFsbGVydGVBbGltZW50YXJpLCBpdGVtLnVucmVhZEl0ZW1zXSk7XHJcbiAgICAgICAgfSBlbHNlIGlmIChpdGVtLmlkID09IENsaXBwZXJNb2R1bGUuQXBwcm9mb25kaW1lbnRpKSB7XHJcbiAgICAgICAgICBzdGF0ZXMucHVzaChbQ2xpcHBlck1vZGVsLkFydGljb2xpLCBpdGVtLnVucmVhZEl0ZW1zXSk7XHJcbiAgICAgICAgfSBlbHNlIGlmIChpdGVtLmlkID09IENsaXBwZXJNb2R1bGUuTW9kaWZpY2hlQWJyb2dhemlvbmlFUmludmlpKSB7XHJcbiAgICAgICAgICBzdGF0ZXMucHVzaChbQ2xpcHBlck1vZGVsLkNvb3JkaW5hbWVudG8sIGl0ZW0udW5yZWFkSXRlbXNdKTtcclxuICAgICAgICB9IGVsc2UgaWYgKGl0ZW0uaWQgPT0gQ2xpcHBlck1vZHVsZS5HaXVyaXNwcnVkZW56YSkge1xyXG4gICAgICAgICAgc3RhdGVzLnB1c2goW0NsaXBwZXJNb2RlbC5KdXJpcywgaXRlbS51bnJlYWRJdGVtc10pO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSlcclxuICAgIHJldHVybiBzdGF0ZXM7XHJcbiAgfSk7XHJcblxyXG4gIC8qKlxyXG4gICAqIFVwZGF0ZSB1bnJlYWQgaXRlbXNcclxuICAgKiBAcGFyYW0gbW9kdWxlIDogdGhlIG1vZHVsZVxyXG4gICAqIEBwYXJhbSBtb2RlbCA6IHRoZSBvcHRpb25hbCBtb2RlbFxyXG4gICAqIEBwYXJhbSBpbmNyZW1lbnQgOiB0aGUgaW5jcmVtZW50IChjYW4gYmUgbmVnYXRpdmUpXHJcbiAgICovXHJcbiAgdXBkYXRlVW5yZWFkSXRlbXMobW9kdWxlOiBDbGlwcGVyTW9kdWxlLCBtb2RlbDogQ2xpcHBlck1vZGVsIHwgbnVsbCwgaW5jcmVtZW50OiBudW1iZXIpIHtcclxuICAgIGlmIChtb2RlbCkge1xyXG4gICAgICB0aGlzLml0ZW1zKCkuZm9yRWFjaChpdGVtID0+IHtcclxuICAgICAgICBsZXQgaXRlbU1vZGVsID0gaXRlbS5tb2RlbHMuZmluZCh4ID0+IHguaWQgPT09IG1vZGVsKTtcclxuICAgICAgICBpZiAoaXRlbU1vZGVsKSB7XHJcbiAgICAgICAgICBpdGVtLnVucmVhZEl0ZW1zICs9IGluY3JlbWVudDtcclxuICAgICAgICAgIGl0ZW1Nb2RlbC51bnJlYWRJdGVtcyArPSBpbmNyZW1lbnQ7XHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGxldCBpdGVtID0gdGhpcy5pdGVtcygpPy5maW5kKCh4OiBDbGlwcGVyRGFzaGJvYXJkSXRlbSkgPT4geC5pZCA9PSBtb2R1bGUpO1xyXG4gICAgICBpZiAoaXRlbSkge1xyXG4gICAgICAgIGl0ZW0udW5yZWFkSXRlbXMgKz0gaW5jcmVtZW50O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICB0aGlzLml0ZW1zLnVwZGF0ZSgodmFsdWVzOiBDbGlwcGVyRGFzaGJvYXJkSXRlbVtdKSA9PiBbLi4udmFsdWVzXSk7XHJcbiAgfVxyXG5cclxuICAvKioqXHJcbiAgICogR2V0IHRoZSBtb2R1bGUgdW5yZWFkIGl0ZW1zXHJcbiAgICogQHBhcmFtIG1vZHVsZTogdGhlIG1vZHVsZVxyXG4gICAqIEBwYXJhbSBtb2RlbCA6IHRoZSBvcHRpb25hbCBtb2RlbFxyXG4gICAqIEByZXR1cm5zIHRoZSBtb2R1bGUgdW5yZWFkIGl0ZW1zXHJcbiAgICovXHJcbiAgZ2V0VW5yZWFkSXRlbXMobW9kdWxlOiBDbGlwcGVyTW9kdWxlLCBtb2RlbDogQ2xpcHBlck1vZGVsIHwgbnVsbCk6IG51bWJlciB7XHJcbiAgICBpZiAobW9kZWwpIHtcclxuICAgICAgcmV0dXJuIHRoaXMudW5yZWFkSXRlbXNCeU1vZGVsKCk/LmZpbmQoKHg6IFtDbGlwcGVyTW9kZWwsIG51bWJlcl0pID0+IHhbMF0gPT09IG1vZGVsKT8uWzFdO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMudW5yZWFkSXRlbXMoKT8uZmluZCgoeDogW0NsaXBwZXJNb2R1bGUsIG51bWJlcl0pID0+IHhbMF0gPT09IG1vZHVsZSk/LlsxXTtcclxuICB9XHJcbn1cclxuXHJcblxyXG5leHBvcnQgY2xhc3MgQ2xpcHBlclRlYW1NZW1iZXJJbmZvIHtcclxuICBpZDogbnVtYmVyO1xyXG4gIHRlYW1JZDogc3RyaW5nO1xyXG4gIG5hbWU/OiBzdHJpbmcgfCBudWxsID0gbnVsbDtcclxuICBlbWFpbD86IHN0cmluZyB8IG51bGwgPSBudWxsO1xyXG4gIGlzQWRtaW4/OiBib29sZWFuIHwgbnVsbCA9IG51bGw7XHJcbiAgaXNEaXNhYmxlZD86IGJvb2xlYW4gfCBudWxsID0gbnVsbDtcclxuICBoYXNQZXJtaXNzaW9uNTU/OiBib29sZWFuIHwgbnVsbCA9IG51bGw7XHJcbiAgaGFzUGVybWlzc2lvbjU2PzogYm9vbGVhbiB8IG51bGwgPSBudWxsO1xyXG4gIGhhc1Blcm1pc3Npb241Nz86IGJvb2xlYW4gfCBudWxsID0gbnVsbDtcclxufVxyXG5cclxuZXhwb3J0IGVudW0gQ2xpcHBlclRlYW1Qcm9kdWN0IHtcclxuICBTaGFyZWRBcmNoaXZlID0gMTAwNDY3NixcclxuICBTaGFyZWRDYWxlbmRhciA9IDEwMDQ2ODNcclxufVxyXG5cclxuZXhwb3J0IGVudW0gQ2xpcHBlclRlYW1Qcm9kdWN0UGVybWlzc2lvbiB7XHJcbiAgU2hhcmVkQXJjaGl2ZSA9IDU2LFxyXG4gIFNoYXJlZENhbGVuZGFyID0gNTdcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBDbGlwcGVyVGVhbVByb2R1Y3RJbmZvIHtcclxuICBwZXJtaXNzaW9uSWQ6IENsaXBwZXJUZWFtUHJvZHVjdFBlcm1pc3Npb247XHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIG1heE1lbWJlcnM6IG51bWJlcjtcclxuICB1c2VkTWVtYmVyczogbnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIENsaXBwZXJUZWFtTWVtYmVyc1NlYXJjaFJlc3VsdCB7XHJcbiAgdGVhbUlkPzogc3RyaW5nIHwgbnVsbDtcclxuICB0ZWFtVGl0bGU/OiBzdHJpbmcgfCBudWxsO1xyXG4gIHRvdGFsPzogbnVtYmVyIHwgbnVsbDtcclxuICBjdXN0b21lcklkPzogbnVtYmVyIHwgbnVsbDtcclxuICBjYW5FZGl0PzogYm9vbGVhbiB8IG51bGw7XHJcbiAgcHJvZHVjdHM/OiBDbGlwcGVyVGVhbVByb2R1Y3RJbmZvW10gfCBudWxsO1xyXG4gIGl0ZW1zPzogQ2xpcHBlclRlYW1NZW1iZXJJbmZvW10gfCBudWxsO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIENsaXBwZXJUZWFtc1NlYXJjaFBhcmFtcyB7XHJcbiAgdGVhbUlkPzogc3RyaW5nIHwgbnVsbDtcclxuICBwZXJtaXNzaW9uSWQ/OiBudW1iZXIgfCBudWxsO1xyXG4gIHByb2R1Y3RJZD86IG51bWJlciB8IG51bGw7XHJcbiAgYWN0aXZlTWVtYmVyc09ubHk/OiBib29sZWFuIHwgbnVsbDtcclxuICBpbmNsdWRlUlNUZWFtcz86IGJvb2xlYW4gfCBudWxsO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIENsaXBwZXJUZWFtc1NlYXJjaFJlc3VsdCB7XHJcbiAgdG90YWw6IG51bWJlcjtcclxuICBpdGVtczogTmFtZVZhbHVlSXRlbTxzdHJpbmc+W107XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBDbGlwcGVyVGVhbUluZm8ge1xyXG4gIGlkPzogc3RyaW5nIHwgbnVsbCA9IG51bGw7XHJcbiAgY3VzdG9tZXJJZD86IG51bWJlciB8IG51bGwgPSBudWxsO1xyXG4gIHRpdGxlPzogc3RyaW5nIHwgbnVsbCA9IG51bGw7XHJcbiAgaXNEaXNhYmxlZD86IGJvb2xlYW4gfCBudWxsID0gbnVsbDtcclxuICBjcmVhdGVkPzogc3RyaW5nIHwgbnVsbCA9IG51bGw7XHJcbiAgbGFzdE1vZGlmaWVkPzogc3RyaW5nIHwgbnVsbCA9IG51bGw7XHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIENsaXBwZXJDYWxlbmRhclN0YXRlIHtcclxuICBPcGVuID0gMTAxLFxyXG4gIEV4cGlyZWQgPSAxMDIsXHJcbiAgRXhwaXJpbmcgPSAxMDMsXHJcbiAgQ2xvc2VkID0gMTA0XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBDbGlwcGVyQ2FsZW5kYXJTdGF0ZXM6IE5hbWVWYWx1ZUl0ZW08Q2xpcHBlckNhbGVuZGFyU3RhdGU+W10gPSBbXHJcbiAgeyBuYW1lOiAnQXBlcnRlJywgdmFsdWU6IENsaXBwZXJDYWxlbmRhclN0YXRlLk9wZW4gfSxcclxuICB7IG5hbWU6ICdDaGl1c2UnLCB2YWx1ZTogQ2xpcHBlckNhbGVuZGFyU3RhdGUuQ2xvc2VkIH0sXHJcbiAgeyBuYW1lOiAnU2NhZHV0ZScsIHZhbHVlOiBDbGlwcGVyQ2FsZW5kYXJTdGF0ZS5FeHBpcmVkIH0sXHJcbiAgeyBuYW1lOiAnSW1taW5lbnRpJywgdmFsdWU6IENsaXBwZXJDYWxlbmRhclN0YXRlLkV4cGlyaW5nIH1cclxuXVxyXG5cclxuXHJcbmV4cG9ydCBjbGFzcyBDbGlwcGVyQ2FsZW5kYXJTZWFyY2hQYXJhbXMge1xyXG4gIGlkPzogc3RyaW5nIHwgbnVsbCA9IG51bGw7XHJcbiAgZnJvbURhdGU/OiBEYXRlIHwgbnVsbCA9IG51bGw7XHJcbiAgdG9EYXRlPzogRGF0ZSB8IG51bGwgPSBudWxsO1xyXG4gIHRlYW1JZD86IHN0cmluZyB8IG51bGwgPSBudWxsO1xyXG4gIHRleHQ/OiBzdHJpbmcgfCBudWxsID0gbnVsbDtcclxuICBtb250aD86IG51bWJlciB8IG51bGwgPSBudWxsO1xyXG4gIHllYXI/OiBudW1iZXIgfCBudWxsID0gbnVsbDtcclxuICBzb3J0RGVzY2VuZGluZz86IGJvb2xlYW4gfCBudWxsID0gbnVsbDtcclxuICBzdGF0ZT86IENsaXBwZXJDYWxlbmRhclN0YXRlIHwgbnVsbCA9IG51bGw7XHJcbiAgcmVjdXJyZW50T25seT86IGJvb2xlYW4gfCBudWxsID0gbnVsbDtcclxuICBmaXJzdD86IG51bWJlciB8IG51bGwgPSAwO1xyXG4gIGNvdW50PzogbnVtYmVyIHwgbnVsbCA9IDE1XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ2xpcHBlckNhbGVuZGFyU2VhcmNoUmVzdWx0IHtcclxuICBpbnRlcnZhbDogc3RyaW5nO1xyXG4gIGl0ZW1zOiBDbGlwcGVyRGVhZGxpbmVJbmZvW107XHJcbiAgZGF5czogbnVtYmVyW107XHJcbiAgdGVhbXM6IE5hbWVWYWx1ZUl0ZW08c3RyaW5nPltdO1xyXG4gIHRvdGFsOiBudW1iZXI7XHJcbn1cclxuXHJcblxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBDbGlwcGVyRGVhZGxpbmVJbmZvIHtcclxuICBpZD86IHN0cmluZyB8IG51bGw7XHJcbiAgY29tcGFueUlkPzogbnVtYmVyIHwgbnVsbDtcclxuICB1c2VySWQ/OiBudW1iZXIgfCBudWxsO1xyXG4gIHRlYW1JZDogc3RyaW5nO1xyXG4gIHRlYW1OYW1lPzogc3RyaW5nIHwgbnVsbDtcclxuICBncm91cD86IHN0cmluZyB8IG51bGw7XHJcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmcgfCBudWxsO1xyXG4gIGRvY3VtZW50VGl0bGU/OiBzdHJpbmcgfCBudWxsO1xyXG4gIGRvY3VtZW50SWQ/OiBzdHJpbmcgfCBudWxsO1xyXG4gIGRvY3VtZW50TnVtYmVyPzogc3RyaW5nIHwgbnVsbDtcclxuICBkb2N1bWVudERhdGU/OiBEYXRlIHwgbnVsbDtcclxuICBlbWFpbHM/OiBzdHJpbmcgfCBudWxsO1xyXG4gIGV4cGlyaW5nRGF0ZT86IERhdGUgfCBudWxsO1xyXG4gIGV4cGlyZWRBbGVydFNlbnQ/OiBib29sZWFuIHwgbnVsbDtcclxuICBleHBpcmluZ0luZm8/OiBzdHJpbmcgfCBudWxsO1xyXG4gIGV4cGlyaW5nRGVzY3JpcHRpb24/OiBzdHJpbmcgfCBudWxsO1xyXG4gIG5leHRFeHBpcmluZ0RhdGU/OiBEYXRlIHwgbnVsbDtcclxuICBhbGFybURheXM/OiBudW1iZXIgfCBudWxsO1xyXG4gIGFsYXJtRGF0ZT86IERhdGUgfCBudWxsO1xyXG4gIGFsYXJtTWVtbz86IHN0cmluZyB8IG51bGw7XHJcbiAgYWxhcm1TZW50PzogYm9vbGVhbiB8IG51bGw7XHJcbiAgaGFzQWxhcm0/OiBib29sZWFuIHwgbnVsbDtcclxuICBpc01lbnVPcGVuPzogYm9vbGVhbiB8IG51bGw7XHJcbiAgaXNPdmVyPzogYm9vbGVhbiB8IG51bGw7XHJcbiAgaXNFeHBpcmVkPzogYm9vbGVhbiB8IG51bGw7XHJcbiAgaXNFeHBpcmluZz86IGJvb2xlYW4gfCBudWxsO1xyXG4gIGlzQ2xvc2VkPzogYm9vbGVhbiB8IG51bGw7XHJcbiAgaXNDbG9zYWJsZT86IGJvb2xlYW4gfCBudWxsO1xyXG4gIGlzUHJpdmF0ZT86IGJvb2xlYW4gfCBudWxsO1xyXG4gIGlzUmVjdXJyZW50PzogYm9vbGVhbiB8IG51bGw7XHJcbiAgcmVjdXJyZW5jZVBhdHRlcm5UeXBlPzogQ2xpcHBlclJlY3VycmVuY2VUeXBlIHwgbnVsbDtcclxuICByZWN1cnJlbmNlRnJlcXVlbmN5PzogbnVtYmVyIHwgbnVsbDtcclxuICByZWN1cnJlbmNlRW5kT2ZNb250aD86IGJvb2xlYW4gfCBudWxsO1xyXG4gIHJlY3VycmVuY2VOZXdJZD86IHN0cmluZyB8IG51bGw7XHJcbiAgb3V0bG9va0FwcG9pbnRtZW50SWQ/OiBzdHJpbmcgfCBudWxsO1xyXG4gIGNyZWF0ZWQ/OiBEYXRlIHwgbnVsbDtcclxuICBsYXN0TW9kaWZpZWQ/OiBEYXRlIHwgbnVsbDtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBDbGlwcGVyQ2FsZW5kYXJTYXZlRGVhZGxpbmVQYXJhbXMge1xyXG4gIGRlYWRsaW5lOiBDbGlwcGVyRGVhZGxpbmVJbmZvO1xyXG4gIHRlYW1JZHM/OiBzdHJpbmdbXSB8IG51bGw7XHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIENsaXBwZXJDYWxlbmRhckNvcHlNb2RlIHtcclxuICBEdXBsaWNhdGUgPSAxLFxyXG4gIE1vdmUgPSAyXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ2xpcHBlckNhbGVuZGFyQ29weURlYWRsaW5lc1BhcmFtcyB7XHJcbiAgaWRzOiBzdHJpbmdbXTtcclxuICB0ZWFtSWQ6IHN0cmluZztcclxuICBtb2RlOiBDbGlwcGVyQ2FsZW5kYXJDb3B5TW9kZTtcclxufVxyXG5cclxuZXhwb3J0IGVudW0gQ2xpcHBlckFyY2hpdmVGaWxlVHlwZSB7XHJcbiAgTm9uZSA9IDAsXHJcbiAgUHJvY2VkdXJlID0gMSxcclxuICBPcGVyYXRpbmdJbnN0cnVjdGlvbnMgPSAyLFxyXG4gIFRlY2huaWNhbFJlcG9ydCA9IDMsXHJcbiAgQWRtaW5pc3RyYXRpdmVEb2N1bWVudCA9IDQsXHJcbiAgRG9jdW1lbnQgPSA1LFxyXG4gIE90aGVyQXBwbGljYWJsZVJ1bGVzID0gNixcclxuICBPdGhlciA9IDcsXHJcbiAgRmlsZSA9IDEwMSxcclxuICBJbWFnZSA9IDEwMlxyXG59XHJcblxyXG5leHBvcnQgY29uc3QgQ2xpcHBlckFyY2hpdmVGaWxlVHlwZXM6IE5hbWVWYWx1ZUl0ZW08Q2xpcHBlckFyY2hpdmVGaWxlVHlwZT5bXSA9IFtcclxuICB7IG5hbWU6ICdGaWxlJywgdmFsdWU6IENsaXBwZXJBcmNoaXZlRmlsZVR5cGUuRmlsZSB9LFxyXG4gIHsgbmFtZTogJ0ltbWFnaW5lJywgdmFsdWU6IENsaXBwZXJBcmNoaXZlRmlsZVR5cGUuSW1hZ2UgfSxcclxuICB7IG5hbWU6ICdQcm9jZWR1cmEnLCB2YWx1ZTogQ2xpcHBlckFyY2hpdmVGaWxlVHlwZS5Qcm9jZWR1cmUgfSxcclxuICB7IG5hbWU6ICdJc3RydXppb25pIG9wZXJhdGl2ZScsIHZhbHVlOiBDbGlwcGVyQXJjaGl2ZUZpbGVUeXBlLk9wZXJhdGluZ0luc3RydWN0aW9ucyB9LFxyXG4gIHsgbmFtZTogJ1JlbGF6aW9uZSB0ZWNuaWNhJywgdmFsdWU6IENsaXBwZXJBcmNoaXZlRmlsZVR5cGUuVGVjaG5pY2FsUmVwb3J0IH0sXHJcbiAgeyBuYW1lOiAnRG9jdW1lbnRvIGl0ZXIgYW1taW5pc3RyYXRpdm8nLCB2YWx1ZTogQ2xpcHBlckFyY2hpdmVGaWxlVHlwZS5BZG1pbmlzdHJhdGl2ZURvY3VtZW50IH0sXHJcbiAgeyBuYW1lOiAnRG9jdW1lbnRvIGF6aWVuZGFsZScsIHZhbHVlOiBDbGlwcGVyQXJjaGl2ZUZpbGVUeXBlLkRvY3VtZW50IH0sXHJcbiAgeyBuYW1lOiAnQWx0cmUgbm9ybWUgYXBwbGljYWJpbGknLCB2YWx1ZTogQ2xpcHBlckFyY2hpdmVGaWxlVHlwZS5PdGhlckFwcGxpY2FibGVSdWxlcyB9LFxyXG4gIHsgbmFtZTogJ0FsdHJvJywgdmFsdWU6IENsaXBwZXJBcmNoaXZlRmlsZVR5cGUuT3RoZXIgfVxyXG5dXHJcblxyXG5cclxuZXhwb3J0IGVudW0gQ2xpcHBlckFyY2hpdmVGaWxlU3RvcmFnZVR5cGUge1xyXG4gIEFyc0Nsb3VkID0gMixcclxuICBPdGhlckNsb3VkID0gM1xyXG59XHJcbmV4cG9ydCBjb25zdCBDbGlwcGVyQXJjaGl2ZUZpbGVTdG9yYWdlVHlwZXM6IE5hbWVWYWx1ZUl0ZW08Q2xpcHBlckFyY2hpdmVGaWxlU3RvcmFnZVR5cGU+W10gPSBbXHJcbiAgeyBuYW1lOiAnQVJTIENsb3VkJywgdmFsdWU6IENsaXBwZXJBcmNoaXZlRmlsZVN0b3JhZ2VUeXBlLkFyc0Nsb3VkIH0sXHJcbiAgeyBuYW1lOiAnQWx0cm8gY2xvdWQnLCB2YWx1ZTogQ2xpcHBlckFyY2hpdmVGaWxlU3RvcmFnZVR5cGUuT3RoZXJDbG91ZCB9XHJcbl1cclxuXHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIENsaXBwZXJBcmNoaXZlRmlsZUluZm8ge1xyXG4gIGlkPzogc3RyaW5nIHwgbnVsbDtcclxuICBwYXJlbnRGb2xkZXJJZD86IHN0cmluZyB8IG51bGw7XHJcbiAgaXNGb2xkZXI/OiBib29sZWFuIHwgbnVsbDtcclxuICBmb2xkZXJJZD86IHN0cmluZyB8IG51bGw7XHJcbiAgZm9sZGVyTmFtZT86IHN0cmluZyB8IG51bGw7XHJcbiAgZm9sZGVySXRlbXNDb3VudD86IG51bWJlciB8IG51bGw7XHJcbiAgdGVhbUlkOiBzdHJpbmc7XHJcbiAgdGVhbU5hbWU/OiBzdHJpbmcgfCBudWxsO1xyXG4gIHRvcGljSWQ/OiBzdHJpbmcgfCBudWxsO1xyXG4gIHRvcGljUGF0aD86IHN0cmluZyB8IG51bGw7XHJcbiAgdG9waWNOYW1lPzogc3RyaW5nIHwgbnVsbDtcclxuICB0b3BpY3M/OiBzdHJpbmdbXSB8IG51bGw7XHJcbiAgdGFncz86IHN0cmluZyB8IG51bGw7XHJcbiAgaXNQcml2YXRlPzogYm9vbGVhbiB8IG51bGw7XHJcbiAgaXNGaWxlPzogYm9vbGVhbiB8IG51bGw7XHJcbiAgZmlsZU5hbWU/OiBzdHJpbmcgfCBudWxsO1xyXG4gIHN0b3JhZ2VUeXBlPzogQ2xpcHBlckFyY2hpdmVGaWxlU3RvcmFnZVR5cGUgfCBudWxsO1xyXG4gIGlzQmluYXJ5PzogYm9vbGVhbiB8IG51bGw7XHJcbiAgYmluYXJ5SWQ/OiBudW1iZXIgfCBudWxsO1xyXG4gIGJpbmFyeUZpbGVQYXRoPzogc3RyaW5nIHwgbnVsbDtcclxuICBpc1Blcm1hbGluaz86IGJvb2xlYW4gfCBudWxsO1xyXG4gIGZpbGVUeXBlPzogQ2xpcHBlckFyY2hpdmVGaWxlVHlwZSB8IG51bGw7XHJcbiAgZmlsZT86IGFueSB8IG51bGw7XHJcbiAgbm90ZXM/OiBzdHJpbmcgfCBudWxsO1xyXG4gIHBvc2l0aW9uPzogbnVtYmVyIHwgbnVsbDtcclxuICBkb2N1bWVudElkcz86IHN0cmluZyB8IG51bGw7XHJcbiAgZG9jdW1lbnRMYXN0Q2hhbmdlZEJ5Pzogc3RyaW5nIHwgbnVsbDtcclxuICBkb2N1bWVudExhc3RDaGFuZ2VkQnlJZD86IHN0cmluZyB8IG51bGw7XHJcbiAgZG9jdW1lbnRMYXN0Q2hhbmdlZFJlYXNvbkRlc2NyaXB0aW9uPzogc3RyaW5nIHwgbnVsbDtcclxuICBkb2N1bWVudExhc3RDaGFuZ2VkPzogRGF0ZSB8IG51bGw7XHJcbiAgZG9jdW1lbnRVcGRhdGVTdGF0ZT86IG51bWJlciB8IG51bGw7XHJcbiAgaXNEb2N1bWVudENoYW5nZWQ/OiBib29sZWFuIHwgbnVsbDtcclxuICBjYW5QcmV2aWV3PzogYm9vbGVhbiB8IG51bGw7XHJcbiAgY2FuRW1iZWQ/OiBib29sZWFuIHwgbnVsbDtcclxuICBjaGFubmVsTmFtZT86IHN0cmluZyB8IG51bGw7XHJcbiAgbW9kZWw/OiBDbGlwcGVyTW9kZWwgfCBudWxsO1xyXG4gIG1vZGVsTmFtZT86IHN0cmluZyB8IG51bGw7XHJcbiAgdGl0bGUxPzogc3RyaW5nIHwgbnVsbDtcclxuICB0aXRsZTI/OiBzdHJpbmcgfCBudWxsO1xyXG4gIGRhdGU/OiBEYXRlIHwgbnVsbDtcclxuICBudW1iZXI/OiBzdHJpbmcgfCBudWxsO1xyXG4gIG9yaWdpbj86IHN0cmluZyB8IG51bGw7XHJcbiAgb3JpZ2luRGVzY3JpcHRpb24/OiBzdHJpbmcgfCBudWxsO1xyXG4gIGRvY3VtZW50SWQ/OiBzdHJpbmcgfCBudWxsO1xyXG4gIGRvY3VtZW50Q29kZT86IHN0cmluZyB8IG51bGw7XHJcbiAgaXNEb2N1bWVudD86IGJvb2xlYW4gfCBudWxsO1xyXG4gIGlzUmVhZD86IGJvb2xlYW4gfCBudWxsO1xyXG4gIGlzSnVyaXM/OiBib29sZWFuIHwgbnVsbDtcclxuICBpc01lbnVPcGVuPzogYm9vbGVhbiB8IG51bGw7XHJcbiAgaXNPdmVyPzogYm9vbGVhbiB8IG51bGw7XHJcbiAgdmFsaWRpdHlTdGF0ZT86IG51bWJlciB8IG51bGw7XHJcbiAgdmFsaWRVbnRpbERhdGU/OiBEYXRlIHwgbnVsbDtcclxuICBleHBpcmluZ0RhdGU/OiBEYXRlIHwgbnVsbDtcclxuICBleHBpcmluZ0luZm8/OiBzdHJpbmcgfCBudWxsO1xyXG4gIHVuaXF1ZUlkOiBzdHJpbmc7XHJcbn1cclxuXHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIENsaXBwZXJBcmNoaXZlRm9sZGVyVHJlZSBleHRlbmRzIEZvbGRlciB7XHJcbiAgc3ViRm9sZGVyczogQ2xpcHBlckFyY2hpdmVGb2xkZXJUcmVlW107XHJcbn1cclxuXHJcblxyXG5leHBvcnQgY2xhc3MgQ2xpcHBlckFyY2hpdmVGb2xkZXJzU2VhcmNoUGFyYW1zIHtcclxuICB0ZWFtSWQ/OiBzdHJpbmcgfCBudWxsID0gbnVsbDtcclxuICBwcml2YXRlT25seT86IGJvb2xlYW4gfCBudWxsID0gbnVsbDtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBDbGlwcGVyQXJjaGl2ZUZvbGRlcnNTZWFyY2hSZXN1bHQge1xyXG4gIG5hbWU6IHN0cmluZztcclxuICB0ZWFtczogTmFtZVZhbHVlSXRlbTxzdHJpbmc+W107XHJcbiAgZmlsZXM6IENsaXBwZXJBcmNoaXZlRmlsZUluZm9bXTtcclxuICBzdWJGb2xkZXJzOiBDbGlwcGVyQXJjaGl2ZUZvbGRlclRyZWVbXTtcclxuXHJcbn1cclxuXHJcblxyXG5leHBvcnQgY2xhc3MgQ2xpcHBlckFyY2hpdmVGaWxlc1NlYXJjaFBhcmFtcyB7XHJcbiAgdGVhbUlkPzogc3RyaW5nIHwgbnVsbCA9IG51bGw7XHJcbiAgZm9sZGVySWQ/OiBzdHJpbmcgfCBudWxsID0gbnVsbDtcclxuICBmb2xkZXJOYW1lPzogc3RyaW5nIHwgbnVsbCA9IG51bGw7XHJcbiAgZmlsZVR5cGU/OiBDbGlwcGVyQXJjaGl2ZUZpbGVUeXBlIHwgbnVsbCA9IG51bGw7XHJcbiAgZnJvbURhdGU/OiBEYXRlIHwgbnVsbCA9IG51bGw7XHJcbiAgdG9EYXRlPzogRGF0ZSB8IG51bGwgPSBudWxsO1xyXG4gIHRvcGljUGF0aD86IHN0cmluZyB8IG51bGwgPSBudWxsO1xyXG4gIHRvcGljSWQ/OiBzdHJpbmcgfCBudWxsID0gbnVsbDtcclxuICB0b3BpY05hbWU/OiBzdHJpbmcgfCBudWxsID0gbnVsbDtcclxuICB0aXRsZXNPbmx5PzogYm9vbGVhbiB8IG51bGwgPSBudWxsO1xyXG4gIHRleHQ/OiBzdHJpbmcgfCBudWxsID0gbnVsbDtcclxuICBkb2N1bWVudE51bWJlcj86IHN0cmluZyB8IG51bGwgPSBudWxsO1xyXG4gIGRvY3VtZW50WWVhcj86IG51bWJlciB8IG51bGwgPSBudWxsO1xyXG4gIGZpcnN0PzogbnVtYmVyIHwgbnVsbCA9IG51bGw7XHJcbiAgY291bnQ/OiBudW1iZXIgfCBudWxsID0gbnVsbDtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBDbGlwcGVyQXJjaGl2ZUZpbGVzU2VhcmNoUmVzdWx0IHtcclxuICBpdGVtczogQ2xpcHBlckFyY2hpdmVGaWxlSW5mb1tdO1xyXG4gIGZvbGRlck5hbWU/OiBzdHJpbmcgfCBudWxsO1xyXG4gIHRvdGFsOiBudW1iZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ2xpcHBlckFyY2hpdmVGb2xkZXJzSW1wb3J0UGFyYW1zIHtcclxuICB0ZWFtSWQ6IHN0cmluZztcclxuICBkZXN0Rm9sZGVySWQ/OiBzdHJpbmcgfCBudWxsO1xyXG4gIHNvdXJjZVBhdGg/OiBzdHJpbmcgfCBudWxsO1xyXG4gIHNvdXJjZUZpbGVOYW1lPzogc3RyaW5nIHwgbnVsbDtcclxuICBmaWxlPzogYW55IHwgbnVsbDtcclxuICBvdmVyd3JpdGU/OiBib29sZWFuIHwgbnVsbDtcclxuICB2ZXJzaW9uPzogbnVtYmVyIHwgbnVsbDtcclxufVxyXG5cclxuZXhwb3J0IGVudW0gQ2xpcHBlckFyY2hpdmVDb3B5TW9kZSB7XHJcbiAgRHVwbGljYXRlID0gMSxcclxuICBNb3ZlID0gMlxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIENsaXBwZXJBcmNoaXZlRmlsZXNDb3B5UGFyYW1zIHtcclxuICBkZXN0VGVhbUlkOiBzdHJpbmc7XHJcbiAgZGVzdEZvbGRlcklkPzogc3RyaW5nIHwgbnVsbDtcclxuICBmaWxlcz86IENsaXBwZXJBcmNoaXZlRmlsZUluZm9bXSB8IG51bGw7XHJcbiAgbW9kZT86IENsaXBwZXJBcmNoaXZlQ29weU1vZGUgfCBudWxsO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIENsaXBwZXJBcmNoaXZlRmlsZXNEZWxldGVQYXJhbXMge1xyXG4gIHNvdXJjZUZvbGRlcklkPzogc3RyaW5nIHwgbnVsbDtcclxuICBkZXN0Rm9sZGVySWQ/OiBzdHJpbmcgfCBudWxsO1xyXG4gIGZpbGVzPzogQ2xpcHBlckFyY2hpdmVGaWxlSW5mb1tdIHwgbnVsbDtcclxufVxyXG5cclxuXHJcbmV4cG9ydCBjbGFzcyBDbGlwcGVyVXRpbHMge1xyXG5cclxuICAvKipcclxuICAgKiBDaGVjayBpZiBhIG1vZGVsIGlzIHJlYWRhYmxlXHJcbiAgICogQHBhcmFtIG1vZGVsIDogdGhlIG1vZGVsIHRvIGNoZWNrXHJcbiAgICogQHJldHVybnMgOiB0cnVlIGlmIHRoZSBtb2RlbCBpcyByZWFkYWJsZVxyXG4gICAqL1xyXG4gIHN0YXRpYyBpc0NsaXBwZXJNb2RlbFJlYWRhYmxlKG1vZGVsOiBDbGlwcGVyTW9kZWwpOiBib29sZWFuIHtcclxuICAgIHJldHVybiBtb2RlbCAhPT0gQ2xpcHBlck1vZGVsLlVua25vd24gJiZcclxuICAgICAgbW9kZWwgIT09IENsaXBwZXJNb2RlbC5Ob3JtYXRpdmFWaWdlbnRlICYmXHJcbiAgICAgIG1vZGVsICE9PSBDbGlwcGVyTW9kZWwuU2NhZGVuemUgJiZcclxuICAgICAgbW9kZWwgIT09IENsaXBwZXJNb2RlbC5TZWduYWxhemlvbmlcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHVybiB0aGUgQ2xpcHBlciBtb2R1bGUgZnJvbSBhIGRvY3VtZW50IFxyXG4gICAqIEBwYXJhbSBpdGVtOiB0aGUgZG9jdW1lbnRpIGl0ZW1cclxuICAgKiBAcmV0dXJucyB0aGUgbW9kdWxlIGlkXHJcbiAgICovXHJcbiAgc3RhdGljIGdldENsaXBwZXJNb2R1bGVGcm9tTW9kZWwoaXRlbTogQ2xpcHBlckRvY3VtZW50SW5mbyk6IENsaXBwZXJNb2R1bGUgfCBudWxsIHtcclxuICAgIHN3aXRjaCAoaXRlbS5tb2RlbCkge1xyXG4gICAgICBjYXNlIENsaXBwZXJNb2RlbC5BbGxlcnRlQWxpbWVudGFyaTogcmV0dXJuIENsaXBwZXJNb2R1bGUuQWxsZXJ0ZUFsaW1lbnRhcmk7XHJcbiAgICAgIGNhc2UgQ2xpcHBlck1vZGVsLk5ld3M6XHJcbiAgICAgIGNhc2UgQ2xpcHBlck1vZGVsLkFydGljb2xpOlxyXG4gICAgICBjYXNlIENsaXBwZXJNb2RlbC5KdXJpczogcmV0dXJuIENsaXBwZXJNb2R1bGUuTmV3cztcclxuICAgICAgY2FzZSBDbGlwcGVyTW9kZWwuUXVlc2l0aTogcmV0dXJuIENsaXBwZXJNb2R1bGUuUXVlc2l0aUVDYXNpUmlzb2x0aTtcclxuICAgICAgY2FzZSBDbGlwcGVyTW9kZWwuQ29vcmRpbmFtZW50bzogcmV0dXJuIENsaXBwZXJNb2R1bGUuTW9kaWZpY2hlQWJyb2dhemlvbmlFUmludmlpO1xyXG4gICAgICBjYXNlIENsaXBwZXJNb2RlbC5HaXVyaXNwcnVkZW56YVJlY2VudGU6IHJldHVybiBDbGlwcGVyTW9kdWxlLkdpdXJpc3BydWRlbnphO1xyXG4gICAgICBjYXNlIENsaXBwZXJNb2RlbC5Ob3JtYXRpdmFWaWdlbnRlOiByZXR1cm4gQ2xpcHBlck1vZHVsZS5Ob3JtYXRpdmFWaWdlbnRlO1xyXG4gICAgICBjYXNlIENsaXBwZXJNb2RlbC5TZWduYWxhemlvbmk6XHJcbiAgICAgIGNhc2UgQ2xpcHBlck1vZGVsLlNjYWRlbnplOiByZXR1cm4gQ2xpcHBlck1vZHVsZS5TY2FkZW56ZUVTZWduYWxhemlvbmk7XHJcbiAgICAgIGNhc2UgQ2xpcHBlck1vZGVsLkFnZ2lvcm5hbWVudG9Ob3JtYXRpdm86IHJldHVybiBDbGlwcGVyTW9kdWxlLkdhenpldHRlQm9sbGV0dGluaUVGb250aURpdmVyc2U7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcblxyXG5cclxuICAvKipcclxuICAgKiBSZXR1cm4gdGhlIENsaXBwZXIgZ3JvdXAgbmFtZVxyXG4gICAqIEBwYXJhbSB2YWx1ZTogdGhlIGdyb3VwIHZhbHVlIFxyXG4gICAqIEByZXR1cm5zIHRoZSBncm91cCBuYW1lXHJcbiAgICovXHJcbiAgc3RhdGljIGdldENsaXBwZXJNb2R1bGVHcm91cE5hbWUodmFsdWU6IENsaXBwZXJNb2R1bGVHcm91cCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gQ2xpcHBlck1vZHVsZUdyb3Vwcy5maWx0ZXIoKG4pID0+IG4udmFsdWUgPT09IHZhbHVlKT8uWzBdLm5hbWU7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXR1cm4gdGhlIGxpc3Qgb2YgbW9kdWxlcyBvZiBhIGdyb3VwXHJcbiAgICogQHBhcmFtIHZhbHVlOiB0aGUgbW9kdWxlIG5hbWVcclxuICAgKiBAcmV0dXJucyB0aGUgbGlzdCBvZiBtb2R1bGVzXHJcbiAgICovXHJcbiAgc3RhdGljIGdldENsaXBwZXJNb2R1bGVHcm91cEl0ZW1zKHZhbHVlOiBDbGlwcGVyTW9kdWxlR3JvdXApOiBOYW1lVmFsdWVJdGVtPENsaXBwZXJNb2R1bGU+W10ge1xyXG4gICAgcmV0dXJuIENsaXBwZXJNb2R1bGVzLmZpbHRlcigobikgPT4gbi5wYXJlbnRWYWx1ZSA9PT0gdmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ2hlY2sgbW9kdWxlcyBhZ2FpbnN0IGN1cnJlbnQgc2VsZWN0ZWQgaW4gZmlsdGVyXHJcbiAgICogQHBhcmFtIG1vZHVsZXMgOiB0aGUgbW9kdWxlcyB0byBjaGVjayBmb3JcclxuICAgKiBAcGFyYW0gbW9kZSA6IHRoYyBjaGVjayBtb2RlOiAxKSBleGFjdGx5IGFsbCBlbGVtZW50cyAyKSBhbGwgZWxlbWVudHMgMykgYW55IG9mIHRoZSBlbGVtZW50cyBzcGVjaWZpZWRcclxuICAgKiBAcmV0dXJucyB0cnVlIGlmIHRoZSBjaGVjayBpcyBzdWNjZXNzZnVsbFxyXG4gICAqL1xyXG4gIHByaXZhdGUgc3RhdGljIGNoZWNrTW9kdWxlcyhtb2R1bGVzOiBDbGlwcGVyTW9kdWxlW10sIGN1cnJlbnRNb2R1bGVzOiBOYW1lVmFsdWVJdGVtPENsaXBwZXJNb2R1bGU+W10sIG1vZGU6IG51bWJlciA9IDEpOiBib29sZWFuIHtcclxuICAgIGxldCBvazogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgaWYgKG1vZGUgPT09IDEpIHtcclxuICAgICAgLy8gQWxsIGFuZCBvbmx5IHRoZSBlbGVtZW50cyBzcGVjaWZpZWRcclxuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjdXJyZW50TW9kdWxlcy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgIG9rID0gKG1vZHVsZXMuZmluZEluZGV4KHggPT4geCA9PT0gY3VycmVudE1vZHVsZXNbaV0udmFsdWUpID8/IC0xKSAhPT0gLTE7XHJcbiAgICAgICAgaWYgKCFvaykge1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIG9rID0gb2sgJiYgbW9kdWxlcy5sZW5ndGggPj0gKGN1cnJlbnRNb2R1bGVzPy5sZW5ndGggPz8gMCk7XHJcbiAgICB9IGVsc2UgaWYgKG1vZGUgPT09IDIpIHtcclxuICAgICAgLy8gQWxsIHRoZSBlbGVtZW50cyBzcGVjaWZpZWRcclxuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBtb2R1bGVzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgb2sgPSAoY3VycmVudE1vZHVsZXM/LmZpbmRJbmRleCh4ID0+IHgudmFsdWUgPT09IG1vZHVsZXNbaV0pID8/IC0xKSAhPT0gLTE7XHJcbiAgICAgICAgaWYgKCFvaykge1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9IGVsc2UgaWYgKG1vZGUgPT09IDMpIHtcclxuICAgICAgLy8gQW55IG9mIHRoZSBzcGVjaWZpZWQgZWxlbWVudHMgICAgXHJcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbW9kdWxlcy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgIG9rID0gKGN1cnJlbnRNb2R1bGVzPy5maW5kSW5kZXgoeCA9PiB4LnZhbHVlID09PSBtb2R1bGVzW2ldKSA/PyAtMSkgIT09IC0xO1xyXG4gICAgICAgIGlmIChvaykge1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gb2s7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXR1cm4gdGhlIGxpc3Qgb2YgYXZhaWxhYmxlIHNvcnQgb3B0aW9ucyBmb3IgYSBsaXN0IG9mIG1vZHVsZXNcclxuICAgKiBAcGFyYW0gbW9kdWxlcyA6IHRoZSBtb2R1bGVzIGxpc3RcclxuICAgKiBAcmV0dXJucyB0aGUgbGlzdCBvZiBhdmFpbGJhbGUgc29ydCBvcHRpb25zIFxyXG4gICAqL1xyXG4gIHN0YXRpYyBnZXRDbGlwcGVyQXZhaWxhYmxlU29ydE9wdGlvbnMoXHJcbiAgICBtb2R1bGVzOiBOYW1lVmFsdWVJdGVtPENsaXBwZXJNb2R1bGU+W10gfCBudWxsIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkLFxyXG4gICAgcGFyYW1zOiBDbGlwcGVyU2VhcmNoUGFyYW1zIHwgbnVsbCB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZCk6IE5hbWVWYWx1ZUl0ZW08Q2xpcHBlclNvcnQ+W10ge1xyXG4gICAgY29uc3Qgb3B0aW9uczogTmFtZVZhbHVlSXRlbTxDbGlwcGVyU29ydD5bXSA9IFtcclxuICAgICAgeyBuYW1lOiBcIkRhdGEgZGVjcmVzY2VudGVcIiwgdmFsdWU6IENsaXBwZXJTb3J0LkRhdGVEZXNjIH0sXHJcbiAgICAgIHsgbmFtZTogXCJEYXRhIGNyZXNjZW50ZVwiLCB2YWx1ZTogQ2xpcHBlclNvcnQuRGF0ZUFzYyB9LFxyXG4gICAgICB7IG5hbWU6IFwiRGF0YSBmb250ZSBkZWNyZXNjZW50ZVwiLCB2YWx1ZTogQ2xpcHBlclNvcnQuU291cmNlRGF0ZURlc2MgfSxcclxuICAgICAgeyBuYW1lOiBcIkRhdGEgZm9udGUgY3Jlc2NlbnRlXCIsIHZhbHVlOiBDbGlwcGVyU29ydC5Tb3VyY2VEYXRlQXNjIH0sXHJcbiAgICAgIHsgbmFtZTogXCJSaWxldmFuemFcIiwgdmFsdWU6IENsaXBwZXJTb3J0LlJlbGV2YW5jZSB9LFxyXG4gICAgICB7IG5hbWU6IFwiUG9wb2xhcml0w6BcIiwgdmFsdWU6IENsaXBwZXJTb3J0LlBvcHVsYXJpdHkgfSxcclxuICAgIF07XHJcbiAgICBsZXQgc29ydE9wdGlvbnM6IE5hbWVWYWx1ZUl0ZW08bnVtYmVyPltdID0gW11cclxuICAgIGlmIChwYXJhbXMgJiYgQ2xpcHBlclNlYXJjaFV0aWxzLmlzVGV4dFF1ZXJ5KHBhcmFtcykpIHtcclxuICAgICAgc29ydE9wdGlvbnMucHVzaChvcHRpb25zWzRdKTtcclxuICAgIH1cclxuICAgIGlmIChtb2R1bGVzPy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIGlmICh0aGlzLmNoZWNrTW9kdWxlcyhbQ2xpcHBlck1vZHVsZS5HYXp6ZXR0ZUJvbGxldHRpbmlFRm9udGlEaXZlcnNlXSwgbW9kdWxlcywgMSkpIHtcclxuICAgICAgICBzb3J0T3B0aW9ucy5wdXNoKG9wdGlvbnNbMl0pO1xyXG4gICAgICAgIHNvcnRPcHRpb25zLnB1c2gob3B0aW9uc1szXSk7XHJcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5jaGVja01vZHVsZXMoW0NsaXBwZXJNb2R1bGUuTm9ybWF0aXZhVmlnZW50ZSwgQ2xpcHBlck1vZHVsZS5HaXVyaXNwcnVkZW56YSwgQ2xpcHBlck1vZHVsZS5HYXp6ZXR0ZUJvbGxldHRpbmlFRm9udGlEaXZlcnNlXSwgbW9kdWxlcywgMykpIHtcclxuICAgICAgICBzb3J0T3B0aW9ucy5wdXNoKG9wdGlvbnNbMF0pO1xyXG4gICAgICAgIHNvcnRPcHRpb25zLnB1c2gob3B0aW9uc1sxXSk7XHJcbiAgICAgICAgc29ydE9wdGlvbnMucHVzaChvcHRpb25zWzJdKTtcclxuICAgICAgICBzb3J0T3B0aW9ucy5wdXNoKG9wdGlvbnNbM10pO1xyXG4gICAgICAgIHNvcnRPcHRpb25zLnB1c2gob3B0aW9uc1s1XSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgc29ydE9wdGlvbnMucHVzaChvcHRpb25zWzBdKTtcclxuICAgICAgICBzb3J0T3B0aW9ucy5wdXNoKG9wdGlvbnNbMV0pO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBzb3J0T3B0aW9ucy5wdXNoKG9wdGlvbnNbMF0pO1xyXG4gICAgICBzb3J0T3B0aW9ucy5wdXNoKG9wdGlvbnNbMV0pO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHNvcnRPcHRpb25zO1xyXG4gIH1cclxuXHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBDbGlwcGVyU2VhcmNoVXRpbHMge1xyXG5cclxuICAvKipcclxuICAgKiBDbGVhciB0aGUgc2VhcmNoIHBhcmFtcyBvYmplY3RcclxuICAgKiBAcGFyYW0gcGFyYW1zIDogdGhlIHNlYXJjaCBwYXJhbXMgdG8gY2xlYXJcclxuICAgKi9cclxuICBzdGF0aWMgY2xlYXIocGFyYW1zOiBDbGlwcGVyU2VhcmNoUGFyYW1zKSB7XHJcbiAgICBwYXJhbXMuc2VjdG9yID0gbnVsbDtcclxuICAgIHBhcmFtcy5zZWN0b3JzID0gbnVsbDtcclxuICAgIHBhcmFtcy5hdXRob3IgPSBudWxsO1xyXG4gICAgcGFyYW1zLmF1dGhvcnMgPSBudWxsO1xyXG4gICAgcGFyYW1zLnRvcGljID0gbnVsbDtcclxuICAgIHBhcmFtcy50b3BpY3MgPSBudWxsO1xyXG4gICAgcGFyYW1zLnRheG9ub215ID0gbnVsbDtcclxuICAgIHBhcmFtcy50YXhvbm9taWVzID0gbnVsbDtcclxuICAgIHBhcmFtcy50YXhvbm9teVBhdGggPSBudWxsO1xyXG4gICAgcGFyYW1zLnRheG9ub215Tm9kZSA9IG51bGw7XHJcbiAgICBwYXJhbXMubnVtYmVyID0gbnVsbDtcclxuICAgIHBhcmFtcy5mcm9tRGF0ZSA9IG51bGw7XHJcbiAgICBwYXJhbXMudG9EYXRlID0gbnVsbDtcclxuICAgIHBhcmFtcy55ZWFyID0gbnVsbDtcclxuICAgIHBhcmFtcy5zb3VyY2VOdW1iZXIgPSBudWxsO1xyXG4gICAgcGFyYW1zLnNvdXJjZSA9IG51bGw7XHJcbiAgICBwYXJhbXMuc291cmNlRnJvbURhdGUgPSBudWxsO1xyXG4gICAgcGFyYW1zLnNvdXJjZVRvRGF0ZSA9IG51bGw7XHJcbiAgICBwYXJhbXMuc291cmNlWWVhciA9IG51bGw7XHJcbiAgICBwYXJhbXMudGFncyA9IG51bGw7XHJcbiAgICBwYXJhbXMudGV4dCA9IG51bGw7XHJcbiAgICBwYXJhbXMuYXVnbWVudGVkVGV4dCA9IG51bGw7XHJcbiAgICBwYXJhbXMudGl0bGVPbmx5ID0gZmFsc2U7XHJcbiAgICBwYXJhbXMudHlwZSA9IG51bGw7XHJcbiAgICBwYXJhbXMudHlwZXMgPSBudWxsO1xyXG4gICAgcGFyYW1zLnNob3dVbnJlYWREb2N1bWVudHNPbmx5ID0gZmFsc2U7XHJcbiAgICBwYXJhbXMuc2hvd0NvbW1lbnRlZERvY3VtZW50c09ubHkgPSBmYWxzZTtcclxuICAgIHBhcmFtcy5zaG93Tm90QWJyb2dhdGVkRG9jdW1lbnRzT25seSA9IGZhbHNlO1xyXG4gICAgcGFyYW1zLmV4cGFuZFRleHRRdWVyeVVzaW5nQUkgPSBmYWxzZTtcclxuICAgIHBhcmFtcy5jaGFubmVscyA9IFsuLi5DbGlwcGVyQ2hhbm5lbHNdO1xyXG4gICAgcGFyYW1zLmNoYW5nZVJlYXNvbiA9IG51bGw7XHJcbiAgICBwYXJhbXMuY2hhbmdlZE51bWJlciA9IG51bGw7XHJcbiAgICBwYXJhbXMuY2hhbmdlZFllYXIgPSBudWxsO1xyXG4gICAgcGFyYW1zLmNoYW5nZWRUaXRsZSA9IG51bGw7XHJcbiAgICBwYXJhbXMubW9kaWZpZXJOdW1iZXIgPSBudWxsO1xyXG4gICAgcGFyYW1zLm1vZGlmaWVyWWVhciA9IG51bGw7XHJcbiAgICBwYXJhbXMubW9kaWZpZXJUaXRsZSA9IG51bGw7XHJcbiAgICBwYXJhbXMubW9kZWwgPSBudWxsO1xyXG4gICAgcGFyYW1zLm1vZGVscyA9IG51bGw7XHJcbiAgICBwYXJhbXMubW9kdWxlID0gbnVsbDtcclxuICAgIHBhcmFtcy5tb2R1bGVzID0gbnVsbDtcclxuICB9XHJcblxyXG5cclxuICAvKipcclxuICAgKiBHZXQgaHRlIG1vZGVsIGxpc3QgcmVsYXRlZCB0byBhIGxpc3Qgb2YgbW9kdWxlc1xyXG4gICAqIEBwYXJhbSBtb2R1bGVzOiB0aGUgbW9kdWxlcyB0byBjaGVja1xyXG4gICAqIEBwYXJtYSBzaW5nbGU6IHRydWUgdG8gc2VsZWN0IG9ubHkgdGhlIG1vc3QgcmVwcmVzZW50YXRpdmVcclxuICAgKiBAcmV0dXJucyB0aGUgbGlzdCBmbyBtb2RlbHNcclxuICAgKi9cclxuICBzdGF0aWMgZ2V0TW9kdWxlc01vZGVscyhcclxuICAgIG1vZHVsZXM6IE5hbWVWYWx1ZUl0ZW08Q2xpcHBlck1vZHVsZT5bXSB8IG51bGwgfCB1bmRlZmluZWQsXHJcbiAgICBzaW5nbGU6IGJvb2xlYW4gfCBudWxsID0gZmFsc2UpOiBDbGlwcGVyTW9kZWxbXSB7XHJcbiAgICBjb25zdCBtb2RlbHM6IENsaXBwZXJNb2RlbFtdID0gW107XHJcbiAgICBpZiAoKG1vZHVsZXM/Lmxlbmd0aCA/PyAwKSA+IDApIHtcclxuICAgICAgbW9kdWxlcz8uZm9yRWFjaChtb2R1bGUgPT4ge1xyXG4gICAgICAgIHN3aXRjaCAobW9kdWxlLnZhbHVlKSB7XHJcbiAgICAgICAgICBjYXNlIENsaXBwZXJNb2R1bGUuU2NhZGVuemVFU2VnbmFsYXppb25pOlxyXG4gICAgICAgICAgICBbQ2xpcHBlck1vZGVsLlNjYWRlbnplLCBDbGlwcGVyTW9kZWwuU2VnbmFsYXppb25pXS5mb3JFYWNoKHggPT4gbW9kZWxzLnB1c2goeCkpO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgIGNhc2UgQ2xpcHBlck1vZHVsZS5RdWVzaXRpRUNhc2lSaXNvbHRpOlxyXG4gICAgICAgICAgICBtb2RlbHMucHVzaChDbGlwcGVyTW9kZWwuUXVlc2l0aSk7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgY2FzZSBDbGlwcGVyTW9kdWxlLk5ld3M6ICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIHNpbmdsZVxyXG4gICAgICAgICAgICAgID8gbW9kZWxzLnB1c2goQ2xpcHBlck1vZGVsLk5ld3MpXHJcbiAgICAgICAgICAgICAgOiBbQ2xpcHBlck1vZGVsLkFydGljb2xpLCBDbGlwcGVyTW9kZWwuTmV3cywgQ2xpcHBlck1vZGVsLkp1cmlzXS5mb3JFYWNoKHggPT4gbW9kZWxzLnB1c2goeCkpO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgIGNhc2UgQ2xpcHBlck1vZHVsZS5BcHByb2ZvbmRpbWVudGk6XHJcbiAgICAgICAgICAgIG1vZGVscy5wdXNoKENsaXBwZXJNb2RlbC5BcnRpY29saSk7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgY2FzZSBDbGlwcGVyTW9kdWxlLkFsbGVydGVBbGltZW50YXJpOlxyXG4gICAgICAgICAgICBtb2RlbHMucHVzaChDbGlwcGVyTW9kZWwuQWxsZXJ0ZUFsaW1lbnRhcmkpO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgIGNhc2UgQ2xpcHBlck1vZHVsZS5HYXp6ZXR0ZUJvbGxldHRpbmlFRm9udGlEaXZlcnNlOlxyXG4gICAgICAgICAgICBtb2RlbHMucHVzaChDbGlwcGVyTW9kZWwuQWdnaW9ybmFtZW50b05vcm1hdGl2byk7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgY2FzZSBDbGlwcGVyTW9kdWxlLk5vcm1hdGl2YVZpZ2VudGU6XHJcbiAgICAgICAgICAgIG1vZGVscy5wdXNoKENsaXBwZXJNb2RlbC5Ob3JtYXRpdmFWaWdlbnRlKTtcclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICBjYXNlIENsaXBwZXJNb2R1bGUuTW9kaWZpY2hlQWJyb2dhemlvbmlFUmludmlpOlxyXG4gICAgICAgICAgICBtb2RlbHMucHVzaChDbGlwcGVyTW9kZWwuQ29vcmRpbmFtZW50byk7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgY2FzZSBDbGlwcGVyTW9kdWxlLkdpdXJpc3BydWRlbnphOlxyXG4gICAgICAgICAgICBtb2RlbHMucHVzaChDbGlwcGVyTW9kZWwuSnVyaXMpO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIG1vZGVscztcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENoZWNrIGlmIGN1cnJlbnQgZmlsdGVyIGlzIGEgdGV4dCBiYXNlZCBzZWFyY2ggXHJcbiAgICogQHBhcmFtIHBhcmFtcyA6IHRoZSBzZWFyY2ggcGFyYW1zIHRvIGNoZWNrXHJcbiAgICogQHJldHVybnMgdHJ1ZSBpZiBpcyBhIHRleHQgYmFzZWQgc2VhcmNoXHJcbiAgICovXHJcbiAgc3RhdGljIGlzVGV4dFF1ZXJ5KHBhcmFtczogQ2xpcHBlclNlYXJjaFBhcmFtcyk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHBhcmFtcy50ZXh0ICE9IG51bGwgJiYgcGFyYW1zLnRleHQ/Lmxlbmd0aCA+IDA7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBUcnkgdG8gYWRkIGEgcXVlcnlcclxuICAgKiBAcGFyYW0gcSA6IHRoZSBuZXcgcXVlcnlcclxuICAgKiBAcGFyYW0gcXVlcmllcyA6IHRoZSBuZXcgcXVlcnlcclxuICAgICAgICAgICovXHJcbiAgcHJpdmF0ZSBzdGF0aWMgY29uY2F0VGV4dFF1ZXJ5KHE6IHN0cmluZywgcXVlcmllczogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIGlmIChxICYmIHEubGVuZ3RoID4gMCkge1xyXG4gICAgICBpZiAocXVlcmllcy5sZW5ndGggPT0gMCAmJiAocVswXSA9PT0gJysnIHx8IHFbMF0gPT09ICctJykpXHJcbiAgICAgICAgcSA9IHEuc3Vic3RyaW5nKDEpO1xyXG4gICAgICBpZiAocVtxLmxlbmd0aCAtIDFdICE9PSAnXFxcIicgJiYgcS5pbmRleE9mKCcgJykgIT09IC0xKVxyXG4gICAgICAgIHEgPSBcIlxcXCJcIiArIHEgKyBcIlxcXCJcIjtcclxuICAgICAgaWYgKHF1ZXJpZXMubGVuZ3RoID4gMCkgcXVlcmllcyArPSBcIiwgXCI7XHJcbiAgICAgIHF1ZXJpZXMgKz0gcTtcclxuICAgIH1cclxuICAgIHJldHVybiBxdWVyaWVzO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTm9ybWFsaXplIHRleHQgcXVlcnlcclxuICAgKiBAcGFyYW0gdGV4dCA6IHRoZSB0ZXh0IHF1ZXJ5IHRvIG5vcm1hbGl6ZVxyXG4gICAqIEByZXR1cm5zIDogdGhlIHRleHQgbm9ybWFsaXplZCBvciBudWxsXHJcbiAgICovXHJcbiAgc3RhdGljIG5vcm1hbGl6ZVRleHRRdWVyeSh0ZXh0OiBzdHJpbmcpOiBzdHJpbmcgfCBudWxsIHtcclxuICAgIGlmICghdGV4dCB8fCB0ZXh0Lmxlbmd0aCA9PT0gMCkgcmV0dXJuIG51bGw7XHJcbiAgICBsZXQgcTogc3RyaW5nID0gJyc7XHJcbiAgICBsZXQgcXVlcmllczogc3RyaW5nID0gJyc7XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRleHQubGVuZ3RoOyBpKyspIHtcclxuICAgICAgaWYgKHRleHRbaV0gPT09ICcsJykge1xyXG4gICAgICAgIHF1ZXJpZXMgPSB0aGlzLmNvbmNhdFRleHRRdWVyeShxLnRyaW0oKSwgcXVlcmllcyk7XHJcbiAgICAgICAgcSA9ICcnO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2UgcSArPSB0ZXh0W2ldO1xyXG4gICAgfVxyXG4gICAgcXVlcmllcyA9IHRoaXMuY29uY2F0VGV4dFF1ZXJ5KHEudHJpbSgpLCBxdWVyaWVzKTtcclxuICAgIHJldHVybiBxdWVyaWVzO1xyXG4gIH1cclxufSJdfQ==
|