keevo-components 1.7.0 → 1.7.2
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/esm2022/lib/api/services/imagens.service.mjs +4 -1
- package/esm2022/lib/table/table.component.mjs +15 -7
- package/esm2022/lib/tree-table/kv-treetable.component.mjs +3 -3
- package/esm2022/lib/workspace/kvworkspace.module.mjs +8 -4
- package/esm2022/lib/workspace/workspace.component.mjs +114 -8
- package/fesm2022/keevo-components.mjs +137 -14
- package/fesm2022/keevo-components.mjs.map +1 -1
- package/lib/api/services/imagens.service.d.ts +1 -0
- package/lib/table/table.component.d.ts +1 -0
- package/lib/workspace/kvworkspace.module.d.ts +2 -1
- package/lib/workspace/workspace.component.d.ts +18 -0
- package/package.json +1 -1
|
@@ -2,10 +2,7 @@ import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
|
2
2
|
import { ImagensService } from '../api/services/imagens.service';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
import * as i1 from "@angular/common";
|
|
5
|
-
import * as i2 from "
|
|
6
|
-
import * as i3 from "primeng/inputtext";
|
|
7
|
-
import * as i4 from "@angular/forms";
|
|
8
|
-
import * as i5 from "../buttons/button-personalize/button-personalize.component";
|
|
5
|
+
import * as i2 from "../table/table.component";
|
|
9
6
|
export class WorkspaceComponent {
|
|
10
7
|
constructor() {
|
|
11
8
|
this.nomeSistema = 'Nome do Sistema';
|
|
@@ -18,11 +15,19 @@ export class WorkspaceComponent {
|
|
|
18
15
|
this.imgPersonagens = '';
|
|
19
16
|
this.imgLogoKeevo = '';
|
|
20
17
|
this.styleBackground = '';
|
|
18
|
+
this.imgLogoKeevoCenter = '';
|
|
19
|
+
this.tableSizeMaster = 5;
|
|
20
|
+
this.dataSourceMaster = [];
|
|
21
|
+
this.tableSizeEmpresa = 5;
|
|
22
|
+
this.dataSourceEmpresa = [];
|
|
21
23
|
}
|
|
22
24
|
ngOnInit() {
|
|
23
25
|
this.imgPersonagens = ImagensService.getPersonagensWorkSpace();
|
|
24
26
|
this.imgLogoKeevo = ImagensService.getLogoKeevo();
|
|
25
|
-
this.
|
|
27
|
+
this.imgLogoKeevoCenter = ImagensService.getLogoKeevoCenter();
|
|
28
|
+
this.styleBackground =
|
|
29
|
+
'background-image: url(' + ImagensService.getBackgroundWorkSpace() + ');';
|
|
30
|
+
this.columnConfigTableMaster();
|
|
26
31
|
this.verificaMasterUnica();
|
|
27
32
|
}
|
|
28
33
|
verificaMasterUnica() {
|
|
@@ -36,6 +41,7 @@ export class WorkspaceComponent {
|
|
|
36
41
|
this.visivel = false;
|
|
37
42
|
else {
|
|
38
43
|
this.empresas = master.empresas;
|
|
44
|
+
this.columnConfigTableEmpresa();
|
|
39
45
|
this.verificaEmpresaUnica();
|
|
40
46
|
}
|
|
41
47
|
}
|
|
@@ -44,6 +50,7 @@ export class WorkspaceComponent {
|
|
|
44
50
|
this.selecionarEmpresa(this.empresas[0]);
|
|
45
51
|
}
|
|
46
52
|
selecionarEmpresa(empresa) {
|
|
53
|
+
console.log(empresa, 'selecionarEmpresa');
|
|
47
54
|
this.onGetEmpresaSelecionada.emit(empresa);
|
|
48
55
|
this.empresaSelecionada = empresa;
|
|
49
56
|
this.visivel = false;
|
|
@@ -55,12 +62,111 @@ export class WorkspaceComponent {
|
|
|
55
62
|
filtrarEmpresa(event) {
|
|
56
63
|
this.empresas = this.masterSelecionada.empresas.filter((e) => e.nomeempresa.toLowerCase().includes(event.toLowerCase()));
|
|
57
64
|
}
|
|
65
|
+
//------------------MASTER------------------------
|
|
66
|
+
columnConfigTableMaster() {
|
|
67
|
+
this.dataSourceMaster = this.masters;
|
|
68
|
+
this.tableConfigMaster = {
|
|
69
|
+
lazy: false,
|
|
70
|
+
columns: [
|
|
71
|
+
{
|
|
72
|
+
position: 0,
|
|
73
|
+
field: 'idmaster',
|
|
74
|
+
header: 'Licença',
|
|
75
|
+
width: '',
|
|
76
|
+
centralize: false,
|
|
77
|
+
sortable: false,
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
position: 1,
|
|
81
|
+
field: 'razaosocial',
|
|
82
|
+
header: '',
|
|
83
|
+
width: '80%',
|
|
84
|
+
centralize: false,
|
|
85
|
+
sortable: false,
|
|
86
|
+
},
|
|
87
|
+
],
|
|
88
|
+
actions: [
|
|
89
|
+
{
|
|
90
|
+
label: 'Acessar',
|
|
91
|
+
icon: 'login',
|
|
92
|
+
tooltip: 'Acessar Master',
|
|
93
|
+
command: () => {
|
|
94
|
+
this.selecionarMaster(this.selectedItemMaster);
|
|
95
|
+
},
|
|
96
|
+
disabled: () => {
|
|
97
|
+
return false;
|
|
98
|
+
},
|
|
99
|
+
},
|
|
100
|
+
],
|
|
101
|
+
actionsLote: [],
|
|
102
|
+
enableCation: false,
|
|
103
|
+
enableFilter: false,
|
|
104
|
+
enableSelect: false,
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
activeItemMaster(e) {
|
|
108
|
+
this.selectedItemMaster = e;
|
|
109
|
+
console.log('activeItemMaster', this.selectedItemMaster);
|
|
110
|
+
}
|
|
111
|
+
doubleClickMaster(e) {
|
|
112
|
+
console.log('doubleClickMaster');
|
|
113
|
+
this.selectedItemMaster = e.rowData;
|
|
114
|
+
this.selecionarMaster(e.rowData);
|
|
115
|
+
}
|
|
116
|
+
//------------------Empresa------------------------
|
|
117
|
+
columnConfigTableEmpresa() {
|
|
118
|
+
this.dataSourceEmpresa = this.empresas;
|
|
119
|
+
this.tableConfigEmpresa = {
|
|
120
|
+
lazy: false,
|
|
121
|
+
columns: [
|
|
122
|
+
{
|
|
123
|
+
position: 0,
|
|
124
|
+
field: 'cnpjempresa',
|
|
125
|
+
header: 'Empresa',
|
|
126
|
+
width: '',
|
|
127
|
+
centralize: false,
|
|
128
|
+
sortable: false,
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
position: 1,
|
|
132
|
+
field: 'nomeempresa',
|
|
133
|
+
header: '',
|
|
134
|
+
width: '80%',
|
|
135
|
+
centralize: false,
|
|
136
|
+
sortable: false,
|
|
137
|
+
},
|
|
138
|
+
],
|
|
139
|
+
actions: [
|
|
140
|
+
{
|
|
141
|
+
label: 'Acessar',
|
|
142
|
+
icon: 'login',
|
|
143
|
+
tooltip: 'Acessar Empresa',
|
|
144
|
+
command: () => {
|
|
145
|
+
this.selecionarEmpresa(this.selectedItemEmpresa);
|
|
146
|
+
},
|
|
147
|
+
},
|
|
148
|
+
],
|
|
149
|
+
actionsLote: [],
|
|
150
|
+
enableCation: true,
|
|
151
|
+
enableFilter: true,
|
|
152
|
+
enableSelect: false,
|
|
153
|
+
};
|
|
154
|
+
}
|
|
155
|
+
activeItemEmpresa(e) {
|
|
156
|
+
console.log(e, 'activeItemEmpresa');
|
|
157
|
+
this.selectedItemEmpresa = e;
|
|
158
|
+
}
|
|
159
|
+
doubleClickEmpresa(e) {
|
|
160
|
+
this.selectedItemEmpresa = e.rowData;
|
|
161
|
+
this.selecionarEmpresa(e.rowData);
|
|
162
|
+
console.log(this.selectedItemEmpresa, 'doubleClickEmpresa');
|
|
163
|
+
}
|
|
58
164
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: WorkspaceComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
59
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: WorkspaceComponent, selector: "kv-workspace", inputs: { nomeSistema: "nomeSistema", nomeUsuario: "nomeUsuario", masters: "masters", somenteMaster: "somenteMaster" }, outputs: { onGetMasterSelecionada: "onGetMasterSelecionada", onGetEmpresaSelecionada: "onGetEmpresaSelecionada" }, ngImport: i0, template: "<div
|
|
165
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: WorkspaceComponent, selector: "kv-workspace", inputs: { nomeSistema: "nomeSistema", nomeUsuario: "nomeUsuario", masters: "masters", somenteMaster: "somenteMaster" }, outputs: { onGetMasterSelecionada: "onGetMasterSelecionada", onGetEmpresaSelecionada: "onGetEmpresaSelecionada" }, ngImport: i0, template: "<div\r\n *ngIf=\"visivel\"\r\n [style]=\"styleBackground\"\r\n class=\"h-screen flex justify-content-center align-items-center login-container flex-column\"\r\n>\r\n <div\r\n id=\"card-container\"\r\n class=\"flex flex-column justify-content-around card-login formgrid p-fluid col-12 w-10 lg:w-7\"\r\n style=\"min-width: 750px\"\r\n >\r\n <div class=\"field col-12 flex justify-content-center mb-1\">\r\n <img [src]=\"imgLogoKeevoCenter\" style=\"width: 200px\" />\r\n </div>\r\n\r\n <div class=\"col-12 align-items-center z-5\">\r\n <div class=\"col-9\">\r\n Ol\u00E1, <b>{{ nomeUsuario }}.</b> Bem vindo(a)!\r\n </div>\r\n <b class=\"field col-9 flex\">\r\n Escolha qual workspace voc\u00EA deseja acessar:</b>\r\n </div>\r\n\r\n <!-- IN\u00CDCIO DO WORKSPACE DE CONTABILIDADE (MASTERS) -->\r\n <div *ngIf=\"!masterSelecionada\" class=\"col-12 z-5\">\r\n \r\n <kv-table\r\n [tableSize]=\"tableSizeMaster\"\r\n [rows]=\"5\"\r\n [config]=\"tableConfigMaster\"\r\n [paginator]=\"false\"\r\n [dataSource]=\"dataSourceMaster\"\r\n [rowsPerPageOptions]=\"[5, 10, 25, 50, 100, 200]\"\r\n [acoesLinhaTabela]=\"true\"\r\n (doubleClickEvent)=\"doubleClickMaster($event)\"\r\n (onActiveItem)=\"activeItemMaster($event)\"\r\n >\r\n </kv-table>\r\n \r\n </div>\r\n <!-- FIM DO WORKSPACE DE CONTABILIDADE (MASTERS) -->\r\n\r\n <!-- IN\u00CDCIO DO WORKSPACE EMPRESA -->\r\n <div *ngIf=\"masterSelecionada && !empresaSelecionada\" class=\"col-12 z-5\">\r\n <kv-table\r\n [tableSize]=\"tableSizeEmpresa\"\r\n [rows]=\"5\"\r\n [config]=\"tableConfigEmpresa\"\r\n [paginator]=\"false\"\r\n [dataSource]=\"dataSourceEmpresa\"\r\n [rowsPerPageOptions]=\"[5, 10, 25, 50, 100, 200]\"\r\n [acoesLinhaTabela]=\"true\"\r\n (doubleClickEvent)=\"doubleClickEmpresa($event)\"\r\n (onActiveItem)=\"activeItemEmpresa($event)\"\r\n >\r\n </kv-table>\r\n </div>\r\n <!-- FIM DO WORKSPACE EMPRESA -->\r\n </div>\r\n</div>\r\n", styles: ["*{margin:0}::ng-deep body{margin:0!important}.login-container{background-repeat:no-repeat;background-size:cover}#card-container{background:#fff;border-radius:14px;-moz-border-radius:14px;-ms-border-radius:14px;-o-border-radius:14px;-webkit-border-radius:14px;position:relative}.p-inputtext{font-size:1rem}#logo{background:linear-gradient(97deg,#002542 5.7%,#115a94 102.3%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.border-card{border-radius:12px;border:1px dashed #2770E8}#master-card h1{color:#26406b}.bg-white1{background-color:#f1f1f1}.bg-white2{background-color:#f2f3f5}#personagens-imagem{width:60%!important;position:absolute;transform:translate(-2%,-91%)}#master-container{--sb-track-color: #f1f1f1;--sb-thumb-color: #183462;--sb-size: 5px;scrollbar-color:var(--sb-thumb-color) var(--sb-track-color)}#master-container::-webkit-scrollbar{width:var(--sb-size)}#master-container::-webkit-scrollbar-track{background:var(--sb-track-color);border-radius:40px}#master-container::-webkit-scrollbar-thumb{background:var(--sb-thumb-color);border-radius:40px}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.TableComponent, selector: "kv-table", inputs: ["templates", "config", "dataSource", "selectedItems", "totalRecords", "paginator", "rowsPerPageOptions", "rows", "pageLinksOptions", "showFirstLastIcon", "tableSize", "applyStyle", "acoesLinhaTabela", "filterColumnsBtn", "filtrosAvancados"], outputs: ["onActiveItem", "onActiveItemLote", "onPaginate", "onSelectionChange", "doubleClickEvent", "filterField", "filtrosAvancadosEmit"] }] }); }
|
|
60
166
|
}
|
|
61
167
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: WorkspaceComponent, decorators: [{
|
|
62
168
|
type: Component,
|
|
63
|
-
args: [{ selector: 'kv-workspace', template: "<div
|
|
169
|
+
args: [{ selector: 'kv-workspace', template: "<div\r\n *ngIf=\"visivel\"\r\n [style]=\"styleBackground\"\r\n class=\"h-screen flex justify-content-center align-items-center login-container flex-column\"\r\n>\r\n <div\r\n id=\"card-container\"\r\n class=\"flex flex-column justify-content-around card-login formgrid p-fluid col-12 w-10 lg:w-7\"\r\n style=\"min-width: 750px\"\r\n >\r\n <div class=\"field col-12 flex justify-content-center mb-1\">\r\n <img [src]=\"imgLogoKeevoCenter\" style=\"width: 200px\" />\r\n </div>\r\n\r\n <div class=\"col-12 align-items-center z-5\">\r\n <div class=\"col-9\">\r\n Ol\u00E1, <b>{{ nomeUsuario }}.</b> Bem vindo(a)!\r\n </div>\r\n <b class=\"field col-9 flex\">\r\n Escolha qual workspace voc\u00EA deseja acessar:</b>\r\n </div>\r\n\r\n <!-- IN\u00CDCIO DO WORKSPACE DE CONTABILIDADE (MASTERS) -->\r\n <div *ngIf=\"!masterSelecionada\" class=\"col-12 z-5\">\r\n \r\n <kv-table\r\n [tableSize]=\"tableSizeMaster\"\r\n [rows]=\"5\"\r\n [config]=\"tableConfigMaster\"\r\n [paginator]=\"false\"\r\n [dataSource]=\"dataSourceMaster\"\r\n [rowsPerPageOptions]=\"[5, 10, 25, 50, 100, 200]\"\r\n [acoesLinhaTabela]=\"true\"\r\n (doubleClickEvent)=\"doubleClickMaster($event)\"\r\n (onActiveItem)=\"activeItemMaster($event)\"\r\n >\r\n </kv-table>\r\n \r\n </div>\r\n <!-- FIM DO WORKSPACE DE CONTABILIDADE (MASTERS) -->\r\n\r\n <!-- IN\u00CDCIO DO WORKSPACE EMPRESA -->\r\n <div *ngIf=\"masterSelecionada && !empresaSelecionada\" class=\"col-12 z-5\">\r\n <kv-table\r\n [tableSize]=\"tableSizeEmpresa\"\r\n [rows]=\"5\"\r\n [config]=\"tableConfigEmpresa\"\r\n [paginator]=\"false\"\r\n [dataSource]=\"dataSourceEmpresa\"\r\n [rowsPerPageOptions]=\"[5, 10, 25, 50, 100, 200]\"\r\n [acoesLinhaTabela]=\"true\"\r\n (doubleClickEvent)=\"doubleClickEmpresa($event)\"\r\n (onActiveItem)=\"activeItemEmpresa($event)\"\r\n >\r\n </kv-table>\r\n </div>\r\n <!-- FIM DO WORKSPACE EMPRESA -->\r\n </div>\r\n</div>\r\n", styles: ["*{margin:0}::ng-deep body{margin:0!important}.login-container{background-repeat:no-repeat;background-size:cover}#card-container{background:#fff;border-radius:14px;-moz-border-radius:14px;-ms-border-radius:14px;-o-border-radius:14px;-webkit-border-radius:14px;position:relative}.p-inputtext{font-size:1rem}#logo{background:linear-gradient(97deg,#002542 5.7%,#115a94 102.3%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.border-card{border-radius:12px;border:1px dashed #2770E8}#master-card h1{color:#26406b}.bg-white1{background-color:#f1f1f1}.bg-white2{background-color:#f2f3f5}#personagens-imagem{width:60%!important;position:absolute;transform:translate(-2%,-91%)}#master-container{--sb-track-color: #f1f1f1;--sb-thumb-color: #183462;--sb-size: 5px;scrollbar-color:var(--sb-thumb-color) var(--sb-track-color)}#master-container::-webkit-scrollbar{width:var(--sb-size)}#master-container::-webkit-scrollbar-track{background:var(--sb-track-color);border-radius:40px}#master-container::-webkit-scrollbar-thumb{background:var(--sb-thumb-color);border-radius:40px}\n"] }]
|
|
64
170
|
}], ctorParameters: function () { return []; }, propDecorators: { nomeSistema: [{
|
|
65
171
|
type: Input
|
|
66
172
|
}], nomeUsuario: [{
|
|
@@ -74,4 +180,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
74
180
|
}], onGetEmpresaSelecionada: [{
|
|
75
181
|
type: Output
|
|
76
182
|
}] } });
|
|
77
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya3NwYWNlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlZXZvLWNvbXBvbmVudHMvc3JjL2xpYi93b3Jrc3BhY2Uvd29ya3NwYWNlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlZXZvLWNvbXBvbmVudHMvc3JjL2xpYi93b3Jrc3BhY2Uvd29ya3NwYWNlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOzs7Ozs7O0FBT2pFLE1BQU0sT0FBTyxrQkFBa0I7SUFxQjdCO1FBbEJTLGdCQUFXLEdBQVcsaUJBQWlCLENBQUM7UUFDeEMsZ0JBQVcsR0FBVyx3QkFBd0IsQ0FBQztRQUUvQyxrQkFBYSxHQUFZLEtBQUssQ0FBQyxDQUFDLHlDQUF5QztRQUV4RSwyQkFBc0IsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQ2pELDRCQUF1QixHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFNNUQsWUFBTyxHQUFHLElBQUksQ0FBQztRQUNmLGdCQUFXLEdBQUcsRUFBRSxDQUFDO1FBQ2pCLG1CQUFjLEdBQUcsRUFBRSxDQUFDO1FBQ3BCLGlCQUFZLEdBQUcsRUFBRSxDQUFDO1FBQ2xCLG9CQUFlLEdBQUcsRUFBRSxDQUFDO0lBRU4sQ0FBQztJQUVoQixRQUFRO1FBQ04sSUFBSSxDQUFDLGNBQWMsR0FBRyxjQUFjLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztRQUMvRCxJQUFJLENBQUMsWUFBWSxHQUFHLGNBQWMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNsRCxJQUFJLENBQUMsZUFBZSxHQUFHLHdCQUF3QixHQUFHLGNBQWMsQ0FBQyxzQkFBc0IsRUFBRSxHQUFHLElBQUksQ0FBQztRQUNqRyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRUQsbUJBQW1CO1FBQ2pCLElBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLElBQUksQ0FBQztZQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdEUsQ0FBQztJQUVELGdCQUFnQixDQUFDLE1BQVc7UUFDMUIsSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN6QyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsTUFBTSxDQUFDO1FBRWhDLElBQUksSUFBSSxDQUFDLGFBQWE7WUFDcEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7YUFDbEI7WUFDSCxJQUFJLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUM7WUFDaEMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7U0FDN0I7SUFDSCxDQUFDO0lBRUQsb0JBQW9CO1FBQ2xCLElBQUcsSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sSUFBSSxDQUFDO1lBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMxRixDQUFDO0lBRUQsaUJBQWlCLENBQUMsT0FBWTtRQUM1QixJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzNDLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxPQUFPLENBQUM7UUFDbEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7SUFDdkIsQ0FBQztJQUVELE1BQU07UUFDSixJQUFJLENBQUMsa0JBQWtCLEdBQUcsU0FBUyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxTQUFTLENBQUM7SUFDckMsQ0FBQztJQUVELGNBQWMsQ0FBQyxLQUFVO1FBQ3ZCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUNoRSxDQUFDLENBQUMsV0FBVyxDQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FDMUQsQ0FBQztJQUNKLENBQUM7K0dBakVVLGtCQUFrQjttR0FBbEIsa0JBQWtCLCtSQ1IvQixrOU1BNEdBOzs0RkRwR2Esa0JBQWtCO2tCQUw5QixTQUFTOytCQUNFLGNBQWM7MEVBT2YsV0FBVztzQkFBbkIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUVJLHNCQUFzQjtzQkFBL0IsTUFBTTtnQkFDRyx1QkFBdUI7c0JBQWhDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEltYWdlbnNTZXJ2aWNlIH0gZnJvbSAnLi4vYXBpL3NlcnZpY2VzL2ltYWdlbnMuc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2t2LXdvcmtzcGFjZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3dvcmtzcGFjZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vd29ya3NwYWNlLmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBXb3Jrc3BhY2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIFxyXG5cclxuICBASW5wdXQoKSBub21lU2lzdGVtYTogc3RyaW5nID0gJ05vbWUgZG8gU2lzdGVtYSc7XHJcbiAgQElucHV0KCkgbm9tZVVzdWFyaW86IHN0cmluZyA9ICdOb21lIGRvIFVzdcOhcmlvIExvZ2Fkbyc7XHJcbiAgQElucHV0KCkgbWFzdGVycyE6IGFueVtdOyAvLyBMaXN0YSBkYXMgY29udGFiaWxpZGFkZXMgZSBzdWFzIHJlc3BlY3RpdmFzIGVtcHJlc2FzXHJcbiAgQElucHV0KCkgc29tZW50ZU1hc3RlcjogYm9vbGVhbiA9IGZhbHNlOyAvLyBTZSBmb3IgYXBlbmFzIHNlbGXDp8OjbyBkZSBjb250YWJpbGlkYWRlXHJcblxyXG4gIEBPdXRwdXQoKSBvbkdldE1hc3RlclNlbGVjaW9uYWRhID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgQE91dHB1dCgpIG9uR2V0RW1wcmVzYVNlbGVjaW9uYWRhID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgICBcclxuICBlbXByZXNhcyE6IGFueVtdO1xyXG4gIG1hc3RlclNlbGVjaW9uYWRhITogYW55O1xyXG4gIGVtcHJlc2FTZWxlY2lvbmFkYSE6IGFueTtcclxuXHJcbiAgdmlzaXZlbCA9IHRydWU7XHJcbiAgdHh0UGVzcXVpc2EgPSAnJztcclxuICBpbWdQZXJzb25hZ2VucyA9ICcnO1xyXG4gIGltZ0xvZ29LZWV2byA9ICcnO1xyXG4gIHN0eWxlQmFja2dyb3VuZCA9ICcnO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHt9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5pbWdQZXJzb25hZ2VucyA9IEltYWdlbnNTZXJ2aWNlLmdldFBlcnNvbmFnZW5zV29ya1NwYWNlKCk7XHJcbiAgICB0aGlzLmltZ0xvZ29LZWV2byA9IEltYWdlbnNTZXJ2aWNlLmdldExvZ29LZWV2bygpO1xyXG4gICAgdGhpcy5zdHlsZUJhY2tncm91bmQgPSBcImJhY2tncm91bmQtaW1hZ2U6IHVybChcIiArIEltYWdlbnNTZXJ2aWNlLmdldEJhY2tncm91bmRXb3JrU3BhY2UoKSArIFwiKTtcIjtcclxuICAgIHRoaXMudmVyaWZpY2FNYXN0ZXJVbmljYSgpO1xyXG4gIH1cclxuXHJcbiAgdmVyaWZpY2FNYXN0ZXJVbmljYSgpe1xyXG4gICAgaWYodGhpcy5tYXN0ZXJzLmxlbmd0aCA9PSAxKSB0aGlzLnNlbGVjaW9uYXJNYXN0ZXIodGhpcy5tYXN0ZXJzWzBdKTtcclxuICB9XHJcblxyXG4gIHNlbGVjaW9uYXJNYXN0ZXIobWFzdGVyOiBhbnkpIHtcclxuICAgIHRoaXMub25HZXRNYXN0ZXJTZWxlY2lvbmFkYS5lbWl0KG1hc3Rlcik7XHJcbiAgICB0aGlzLm1hc3RlclNlbGVjaW9uYWRhID0gbWFzdGVyO1xyXG5cclxuICAgIGlmICh0aGlzLnNvbWVudGVNYXN0ZXIpIFxyXG4gICAgICB0aGlzLnZpc2l2ZWwgPSBmYWxzZTtcclxuICAgIGVsc2Uge1xyXG4gICAgICB0aGlzLmVtcHJlc2FzID0gbWFzdGVyLmVtcHJlc2FzO1xyXG4gICAgICB0aGlzLnZlcmlmaWNhRW1wcmVzYVVuaWNhKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICB2ZXJpZmljYUVtcHJlc2FVbmljYSgpe1xyXG4gICAgaWYodGhpcy5lbXByZXNhcyAmJiB0aGlzLmVtcHJlc2FzLmxlbmd0aCA9PSAxKSB0aGlzLnNlbGVjaW9uYXJFbXByZXNhKHRoaXMuZW1wcmVzYXNbMF0pO1xyXG4gIH1cclxuXHJcbiAgc2VsZWNpb25hckVtcHJlc2EoZW1wcmVzYTogYW55KSB7XHJcbiAgICB0aGlzLm9uR2V0RW1wcmVzYVNlbGVjaW9uYWRhLmVtaXQoZW1wcmVzYSk7XHJcbiAgICB0aGlzLmVtcHJlc2FTZWxlY2lvbmFkYSA9IGVtcHJlc2E7XHJcbiAgICB0aGlzLnZpc2l2ZWwgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIHZvbHRhcigpIHtcclxuICAgIHRoaXMuZW1wcmVzYVNlbGVjaW9uYWRhID0gdW5kZWZpbmVkO1xyXG4gICAgdGhpcy5tYXN0ZXJTZWxlY2lvbmFkYSA9IHVuZGVmaW5lZDtcclxuICB9XHJcblxyXG4gIGZpbHRyYXJFbXByZXNhKGV2ZW50OiBhbnkpIHtcclxuICAgIHRoaXMuZW1wcmVzYXMgPSB0aGlzLm1hc3RlclNlbGVjaW9uYWRhLmVtcHJlc2FzLmZpbHRlcigoZTogYW55KSA9PlxyXG4gICAgICBlLm5vbWVlbXByZXNhLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoZXZlbnQudG9Mb3dlckNhc2UoKSlcclxuICAgICk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgKm5nSWY9XCJ2aXNpdmVsXCIgW3N0eWxlXT1cInN0eWxlQmFja2dyb3VuZFwiIGNsYXNzPVwiaC1zY3JlZW4gZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlciBsb2dpbi1jb250YWluZXIgZmxleC1jb2x1bW5cIj5cclxuICA8ZGl2IGlkPVwiY2FyZC1jb250YWluZXJcIlxyXG4gICAgY2xhc3M9XCJmbGV4IGZsZXgtY29sdW1uIGp1c3RpZnktY29udGVudC1hcm91bmQgY2FyZC1sb2dpbiBmb3JtZ3JpZCBwLWZsdWlkIGNvbC0xMiB3LTEwIGxnOnctN1wiPlxyXG4gICAgPGRpdiBjbGFzcz1cImZpZWxkIGNvbC0xMiBmbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgbWItNFwiPlxyXG4gICAgICA8aDEgY2xhc3M9XCJ0ZXh0LTZ4bCB0ZXh0LWJsdWUtOTAwXCIgaWQ9XCJsb2dvXCI+e3tub21lU2lzdGVtYX19PC9oMT5cclxuICAgIDwvZGl2PlxyXG5cclxuXHJcbiAgICA8IS0tIElOw41DSU8gRE8gV09SS1NQQUNFIERFIENPTlRBQklMSURBREUgKE1BU1RFUlMpIC0tPlxyXG4gICAgPGRpdiAqbmdJZj1cIiFtYXN0ZXJTZWxlY2lvbmFkYVwiIGNsYXNzPVwiY29sLTEyIHotNVwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZm9ybWdyaWQgcC1mbHVpZCBmaWVsZCBjb2wtMTIgZmxleCBmbGV4LWNvbHVtbiBhbGlnbi1pdGVtcy1jZW50ZXIgei01XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkIGNvbC02IHRleHQtbGdcIj5cclxuICAgICAgICAgIE9sw6EgPHNwYW4gY2xhc3M9XCJmb250LWJvbGRcIj57e25vbWVVc3VhcmlvfX0sPC9zcGFuPiBiZW0gdmluZG8gKGEpLlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZCBjb2wtNiB0ZXh0LWxnXCI+XHJcbiAgICAgICAgICBFc2NvbGhhIHF1YWwgPHNwYW4gY2xhc3M9XCJmb250LWJvbGRcIj5Xb3Jrc3BhY2U8L3NwYW4+IHZvY8OqIGRlc2VqYVxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJmb250LWJvbGRcIj5hY2Vzc2FyPC9zcGFuPjpcclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZm9ybWdyaWQgcC1mbHVpZCBmaWVsZCBjb2wtMTIgZmxleCBmbGV4LWNvbHVtbiBhbGlnbi1pdGVtcy1jZW50ZXIgei01XCI+XHJcbiAgICAgICAgPGRpdiBpZD1cIm1hc3Rlci1jb250YWluZXJcIlxyXG4gICAgICAgICAgY2xhc3M9XCJmaWVsZCBjb2wtNyBmbGV4IGdhcC0yIGp1c3RpZnktY29udGVudC1jZW50ZXIgZmxleC13cmFwIG1heC1oLTIxcmVtIG92ZXJmbG93LXgtYXV0byB6LTVcIiA+XHJcblxyXG4gICAgICAgICAgPGRpdiBbcFRvb2x0aXBdPVwibWFzdGVyLnJhemFvc29jaWFsXCIgaWQ9XCJtYXN0ZXItY2FyZFwiICpuZ0Zvcj1cImxldCBtYXN0ZXIgb2YgbWFzdGVyc1wiXHJcblxyXG4gICAgICAgICAgICBjbGFzcz1cInRleHQtb3ZlcmZsb3ctZWxsaXBzaXMgb3ZlcmZsb3ctaGlkZGVuIHctMTByZW0gaC0xMHJlbSBmbGV4IGZsZXgtY29sdW1uIGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiB0ZXh0LWNlbnRlciBwLTMgZ2FwLTIgYm9yZGVyLWNhcmRcIj5cclxuICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNVwiIGhlaWdodD1cIjIzXCIgdmlld0JveD1cIjAgMCAyNSAyM1wiIGZpbGw9XCIjMEU0RjgyXCI+XHJcbiAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgIGQ9XCJNMjAgMTUuMzMzM0gxNy41VjE3Ljg4ODlIMjBNMjAgMTAuMjIyMkgxNy41VjEyLjc3NzhIMjBNMjIuNSAyMC40NDQ0SDEyLjVWMTcuODg4OUgxNVYxNS4zMzMzSDEyLjVWMTIuNzc3OEgxNVYxMC4yMjIySDEyLjVWNy42NjY2N0gyMi41TTEwIDUuMTExMTFINy41VjIuNTU1NTZIMTBNMTAgMTAuMjIyMkg3LjVWNy42NjY2N0gxME0xMCAxNS4zMzMzSDcuNVYxMi43Nzc4SDEwTTEwIDIwLjQ0NDRINy41VjE3Ljg4ODlIMTBNNSA1LjExMTExSDIuNVYyLjU1NTU2SDVNNSAxMC4yMjIySDIuNVY3LjY2NjY3SDVNNSAxNS4zMzMzSDIuNVYxMi43Nzc4SDVNNSAyMC40NDQ0SDIuNVYxNy44ODg5SDVNMTIuNSA1LjExMTExVjBIMFYyM0gyNVY1LjExMTExSDEyLjVaXCJcclxuICAgICAgICAgICAgICAgIGZpbGw9XCIjMEU0RjgyXCIgLz5cclxuICAgICAgICAgICAgPC9zdmc+XHJcblxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1sZyB0ZXh0LWJsdWUtODAwIHRleHQtb3ZlcmZsb3ctZWxsaXBzaXMgb3ZlcmZsb3ctaGlkZGVuIGgtM3JlbSB3LWZ1bGwgdGV4dC1jZW50ZXIgZm9udC1zZW1pYm9sZFwiPlxyXG4gICAgICAgICAgICAgIHt7ICBtYXN0ZXIucmF6YW9zb2NpYWwuc3BsaXQoJyAnKVswXSArICcgJyArIG1hc3Rlci5yYXphb3NvY2lhbC5zcGxpdCgnICcpWzFdIHx8IG1hc3Rlci5yYXphb3NvY2lhbCAgfX1cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8a3YtYnV0dG9uLXBlcnNvbmFsaXplIGNvbG9yPVwiYmctYmx1ZS05MDBcIiBsYWJlbD1cIkFjZXNzYXJcIiAob25DbGljayk9XCJzZWxlY2lvbmFyTWFzdGVyKG1hc3RlcilcIiA+PC9rdi1idXR0b24tcGVyc29uYWxpemU+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDwhLS0gRklNIERPIFdPUktTUEFDRSBERSBDT05UQUJJTElEQURFIChNQVNURVJTKSAtLT5cclxuXHJcbiAgICA8IS0tIElOw41DSU8gRE8gV09SS1NQQUNFIEVNUFJFU0EgLS0+XHJcbiAgICA8ZGl2ICpuZ0lmPVwibWFzdGVyU2VsZWNpb25hZGEgJiYgIWVtcHJlc2FTZWxlY2lvbmFkYVwiIGNsYXNzPVwiY29sLTEyIHotNVwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZm9ybWdyaWQgcC1mbHVpZCBmaWVsZCBjb2wtMTIgZmxleCBmbGV4LWNvbHVtbiBhbGlnbi1pdGVtcy1jZW50ZXIgei01XCI+XHJcblxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtOCBmbGV4IHhsOmZsZXgtcm93IGZsZXgtY29sdW1uIHAtMCBib3JkZXItY2FyZCBib3JkZXItcm91bmQtMnhsIGp1c3RpZnktY29udGVudC1iZXR3ZWVuIHotNVwiPlxyXG5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sdW1uIHhsOmZsZXgtcm93IHctZnVsbCB4bDp3LTlcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggYm9yZGVyLXJvdW5kLWxlZnQtMnhsIGJnLXdoaXRlMSBwLTMgZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZm9udC1zZW1pYm9sZCBtLTAgeGw6dy00IHctZnVsbCB6LTVcIj5cclxuICAgICAgICAgICAgICBXb3Jrc3BhY2VcclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ2FwLTIgcC0zIGZsZXggYWxpZ24taXRlbXMtY2VudGVyIG0tMCB4bDp3LTcgc206dy1mdWxsXCJcclxuICAgICAgICAgICAgICBbcFRvb2x0aXBdPVwibWFzdGVyU2VsZWNpb25hZGEucmF6YW9zb2NpYWxcIj5cclxuICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI1XCIgaGVpZ2h0PVwiMjNcIiB2aWV3Qm94PVwiMCAwIDI1IDIzXCIgZmlsbD1cIiMwRTRGODJcIj5cclxuICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgIGQ9XCJNMjAgMTUuMzMzM0gxNy41VjE3Ljg4ODlIMjBNMjAgMTAuMjIyMkgxNy41VjEyLjc3NzhIMjBNMjIuNSAyMC40NDQ0SDEyLjVWMTcuODg4OUgxNVYxNS4zMzMzSDEyLjVWMTIuNzc3OEgxNVYxMC4yMjIySDEyLjVWNy42NjY2N0gyMi41TTEwIDUuMTExMTFINy41VjIuNTU1NTZIMTBNMTAgMTAuMjIyMkg3LjVWNy42NjY2N0gxME0xMCAxNS4zMzMzSDcuNVYxMi43Nzc4SDEwTTEwIDIwLjQ0NDRINy41VjE3Ljg4ODlIMTBNNSA1LjExMTExSDIuNVYyLjU1NTU2SDVNNSAxMC4yMjIySDIuNVY3LjY2NjY3SDVNNSAxNS4zMzMzSDIuNVYxMi43Nzc4SDVNNSAyMC40NDQ0SDIuNVYxNy44ODg5SDVNMTIuNSA1LjExMTExVjBIMFYyM0gyNVY1LjExMTExSDEyLjVaXCJcclxuICAgICAgICAgICAgICAgICAgZmlsbD1cIiMwRTRGODJcIiAvPlxyXG4gICAgICAgICAgICAgIDwvc3ZnPlxyXG5cclxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInctZnVsbCB3aGl0ZS1zcGFjZS1ub3dyYXAgb3ZlcmZsb3ctaGlkZGVuIHRleHQtb3ZlcmZsb3ctZWxsaXBzaXNcIj57e21hc3RlclNlbGVjaW9uYWRhLnJhemFvc29jaWFsfX08L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImJnLXdoaXRlMiBib3JkZXItcm91bmQtcmlnaHQtMnhsIHAtMyBmbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBjdXJzb3ItcG9pbnRlciBtLTAgeGw6dy0xIHctZnVsbFwiKGNsaWNrKT1cInZvbHRhcigpXCI+XHJcbiAgICAgICAgICAgIDxpIGNsYXNzPVwicGkgcGktYXJyb3ctbGVmdFwiPjwvaT5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZvcm1ncmlkIHAtZmx1aWQgZmllbGQgY29sLTEyIGZsZXggZmxleC1jb2x1bW4gYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcblxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImdyaWQgZm9ybWdyaWQgY29sLTEwIG1kOmNvbC03IG1kOmNvbC02IHAtZmx1aWQgZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmaWVsZCBwLTAgY29sLTEyIHhsOmNvbC02IGZvbnQtc2VtaWJvbGQgXCI+U2VsZWNpb25lIGEgZW1wcmVzYTwvc3Bhbj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkIHAtMCBjb2wtMTIgeGw6Y29sLTZcIj5cclxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInAtaW5wdXQtaWNvbi1sZWZ0XCI+XHJcbiAgICAgICAgICAgICAgICA8aSBjbGFzcz1cInBpIHBpLXNlYXJjaFwiPjwvaT5cclxuICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIHBJbnB1dFRleHQgKG5nTW9kZWxDaGFuZ2UpPVwiZmlsdHJhckVtcHJlc2EoJGV2ZW50KVwiIFsobmdNb2RlbCldPVwidHh0UGVzcXVpc2FcIiAvPlxyXG4gICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICA8ZGl2IGlkPVwibWFzdGVyLWNvbnRhaW5lclwiIGNsYXNzPVwiZmllbGQgIG10LTMgcmVsYXRpdmUgei01IGNvbC0xMCBtZDpjb2wtNyAgZmxleCBnYXAtMiBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGZsZXgtd3JhcCBtYXgtaC0xNXJlbSBvdmVyZmxvdy14LWF1dG9cIiA+XHJcblxyXG4gICAgICAgICAgICA8ZGl2ICBjbGFzcz1cImdyaWQgZm9ybWdyaWQgY29sLTEyIHAtZmx1aWQgYm9yZGVyLWJvdHRvbS0xIGJvcmRlci0zMDBcIiAqbmdGb3I9XCJsZXQgZW1wcmVzYSBvZiBlbXByZXNhc1wiID5cclxuICAgICAgICAgICAgICA8c3BhbiBbcFRvb2x0aXBdPVwiZW1wcmVzYS5ub21lZW1wcmVzYSB8fCBlbXByZXNhLm5vbWVmYW50YXNpYVwiIGNsYXNzPVwiZmllbGQgbWQ6Y29sLTEwIGNvbC0xMiAgZmxleCBnYXAtMVwiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LWJhc2Ugd2hpdGUtc3BhY2Utbm93cmFwIG92ZXJmbG93LWhpZGRlbiB0ZXh0LW92ZXJmbG93LWVsbGlwc2lzXCI+e3tlbXByZXNhLm5vbWVlbXByZXNhIHx8IGVtcHJlc2Eubm9tZWZhbnRhc2lhIH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgIDwvc3Bhbj5cclxuXHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkIG1kOmNvbC0yICBjb2wtMTIgYmctYmx1ZS05MDAgZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlciBweS0yIHB4LTIgY29sIGJvcmRlci1yb3VuZC1tZCBjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJzZWxlY2lvbmFyRW1wcmVzYShlbXByZXNhKVwiPlxyXG4gICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJwaSBwaS1hbmdsZS1yaWdodCB0ZXh0LXhsIHRleHQtd2hpdGVcIj48L2k+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8IS0tIEZJTSBETyBXT1JLU1BBQ0UgRU1QUkVTQSAtLT5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwiIGxnOmJsb2NrIGhpZGRlbiB3LWZ1bGwgY29sLTEyIGdyaWQgZm9ybWdyaWQgcG9pbnRlci1ldmVudHMtbm9uZVx0XCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZCBjb2wtMTIgIGZsZXgganVzdGlmeS1jb250ZW50LWVuZFwiIGlkPVwicGVyc29uYWdlbnMtaW1hZ2VtXCI+PGltZyBbc3JjXT1cImltZ1BlcnNvbmFnZW5zXCIgY2xhc3M9XCJmaWVsZCB3LWZ1bGwgY29sLTEyXCIgYWx0PVwiXCI+PC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuICA8aW1nIFtzcmNdPVwiaW1nTG9nb0tlZXZvXCIgY2xhc3M9XCJ3LTlyZW0gbXQtNlwiIC8+XHJcbjwvZGl2PlxyXG4iXX0=
|
|
183
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya3NwYWNlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlZXZvLWNvbXBvbmVudHMvc3JjL2xpYi93b3Jrc3BhY2Uvd29ya3NwYWNlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlZXZvLWNvbXBvbmVudHMvc3JjL2xpYi93b3Jrc3BhY2Uvd29ya3NwYWNlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOzs7O0FBU2pFLE1BQU0sT0FBTyxrQkFBa0I7SUFpQzdCO1FBaENTLGdCQUFXLEdBQVcsaUJBQWlCLENBQUM7UUFDeEMsZ0JBQVcsR0FBVyx3QkFBd0IsQ0FBQztRQUUvQyxrQkFBYSxHQUFZLEtBQUssQ0FBQyxDQUFDLHlDQUF5QztRQUV4RSwyQkFBc0IsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQ2pELDRCQUF1QixHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFNNUQsWUFBTyxHQUFHLElBQUksQ0FBQztRQUNmLGdCQUFXLEdBQUcsRUFBRSxDQUFDO1FBQ2pCLG1CQUFjLEdBQUcsRUFBRSxDQUFDO1FBQ3BCLGlCQUFZLEdBQUcsRUFBRSxDQUFDO1FBQ2xCLG9CQUFlLEdBQUcsRUFBRSxDQUFDO1FBQ3JCLHVCQUFrQixHQUFHLEVBQUUsQ0FBQztRQUt4QixvQkFBZSxHQUFXLENBQUMsQ0FBQztRQUU1QixxQkFBZ0IsR0FBUSxFQUFFLENBQUM7UUFJM0IscUJBQWdCLEdBQVcsQ0FBQyxDQUFDO1FBRTdCLHNCQUFpQixHQUFRLEVBQUUsQ0FBQztJQUViLENBQUM7SUFFaEIsUUFBUTtRQUNOLElBQUksQ0FBQyxjQUFjLEdB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QixTQUFTOytCQUNFLGNBQWM7MEVBS2YsV0FBVztzQkFBbkIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUVJLHNCQUFzQjtzQkFBL0IsTUFBTTtnQkFDRyx1QkFBdUI7c0JBQWhDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEltYWdlbnNTZXJ2aWNlIH0gZnJvbSAnLi4vYXBpL3NlcnZpY2VzL2ltYWdlbnMuc2VydmljZSc7XHJcbmltcG9ydCB7IFRhYmxlQ29uZmlnQ29sdW1uIH0gZnJvbSAnLi4vYXBpL2NvbXBvbmVudHMvdGFibGUvdGFibGUuY29uZmlnLmNvbHVtbic7XHJcbmltcG9ydCB7IFRhYmxlQ29uZmlnIH0gZnJvbSAnLi4vYXBpL2NvbXBvbmVudHMvdGFibGUvdGFibGUuY29uZmlnJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAna3Ytd29ya3NwYWNlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vd29ya3NwYWNlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi93b3Jrc3BhY2UuY29tcG9uZW50LnNjc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFdvcmtzcGFjZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQElucHV0KCkgbm9tZVNpc3RlbWE6IHN0cmluZyA9ICdOb21lIGRvIFNpc3RlbWEnO1xyXG4gIEBJbnB1dCgpIG5vbWVVc3VhcmlvOiBzdHJpbmcgPSAnTm9tZSBkbyBVc3XDoXJpbyBMb2dhZG8nO1xyXG4gIEBJbnB1dCgpIG1hc3RlcnMhOiBhbnlbXTsgLy8gTGlzdGEgZGFzIGNvbnRhYmlsaWRhZGVzIGUgc3VhcyByZXNwZWN0aXZhcyBlbXByZXNhc1xyXG4gIEBJbnB1dCgpIHNvbWVudGVNYXN0ZXI6IGJvb2xlYW4gPSBmYWxzZTsgLy8gU2UgZm9yIGFwZW5hcyBzZWxlw6fDo28gZGUgY29udGFiaWxpZGFkZVxyXG5cclxuICBAT3V0cHV0KCkgb25HZXRNYXN0ZXJTZWxlY2lvbmFkYSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIEBPdXRwdXQoKSBvbkdldEVtcHJlc2FTZWxlY2lvbmFkYSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICBlbXByZXNhcyE6IGFueVtdO1xyXG4gIG1hc3RlclNlbGVjaW9uYWRhITogYW55O1xyXG4gIGVtcHJlc2FTZWxlY2lvbmFkYSE6IGFueTtcclxuXHJcbiAgdmlzaXZlbCA9IHRydWU7XHJcbiAgdHh0UGVzcXVpc2EgPSAnJztcclxuICBpbWdQZXJzb25hZ2VucyA9ICcnO1xyXG4gIGltZ0xvZ29LZWV2byA9ICcnO1xyXG4gIHN0eWxlQmFja2dyb3VuZCA9ICcnO1xyXG4gIGltZ0xvZ29LZWV2b0NlbnRlciA9ICcnO1xyXG5cclxuICAvL1RhYmVsYSBNYXN0ZXJcclxuICBzZWxlY3RlZEl0ZW1NYXN0ZXI6IGFueTtcclxuICBzZWxlY3RlZEl0ZW1zTG90ZU1hc3RlcjogYW55O1xyXG4gIHRhYmxlU2l6ZU1hc3RlcjogbnVtYmVyID0gNTtcclxuICB0YWJsZUNvbmZpZ01hc3RlciE6IFRhYmxlQ29uZmlnO1xyXG4gIGRhdGFTb3VyY2VNYXN0ZXI6IGFueSA9IFtdO1xyXG4gIC8vVGFiZWxhICBFbXByZXNhXHJcbiAgc2VsZWN0ZWRJdGVtRW1wcmVzYTogYW55O1xyXG4gIHNlbGVjdGVkSXRlbXNMb3RlRW1wcmVzYTogYW55O1xyXG4gIHRhYmxlU2l6ZUVtcHJlc2E6IG51bWJlciA9IDU7XHJcbiAgdGFibGVDb25maWdFbXByZXNhITogVGFibGVDb25maWc7XHJcbiAgZGF0YVNvdXJjZUVtcHJlc2E6IGFueSA9IFtdO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHt9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5pbWdQZXJzb25hZ2VucyA9IEltYWdlbnNTZXJ2aWNlLmdldFBlcnNvbmFnZW5zV29ya1NwYWNlKCk7XHJcbiAgICB0aGlzLmltZ0xvZ29LZWV2byA9IEltYWdlbnNTZXJ2aWNlLmdldExvZ29LZWV2bygpO1xyXG4gICAgdGhpcy5pbWdMb2dvS2Vldm9DZW50ZXIgPSBJbWFnZW5zU2VydmljZS5nZXRMb2dvS2Vldm9DZW50ZXIoKTtcclxuICAgIHRoaXMuc3R5bGVCYWNrZ3JvdW5kID1cclxuICAgICAgJ2JhY2tncm91bmQtaW1hZ2U6IHVybCgnICsgSW1hZ2Vuc1NlcnZpY2UuZ2V0QmFja2dyb3VuZFdvcmtTcGFjZSgpICsgJyk7JztcclxuICAgIHRoaXMuY29sdW1uQ29uZmlnVGFibGVNYXN0ZXIoKTtcclxuICAgIHRoaXMudmVyaWZpY2FNYXN0ZXJVbmljYSgpO1xyXG4gIH1cclxuXHJcbiAgdmVyaWZpY2FNYXN0ZXJVbmljYSgpIHtcclxuICAgIGlmICh0aGlzLm1hc3RlcnMubGVuZ3RoID09IDEpIHRoaXMuc2VsZWNpb25hck1hc3Rlcih0aGlzLm1hc3RlcnNbMF0pO1xyXG4gIH1cclxuXHJcbiAgc2VsZWNpb25hck1hc3RlcihtYXN0ZXI6IGFueSkge1xyXG4gICAgdGhpcy5vbkdldE1hc3RlclNlbGVjaW9uYWRhLmVtaXQobWFzdGVyKTtcclxuICAgIHRoaXMubWFzdGVyU2VsZWNpb25hZGEgPSBtYXN0ZXI7XHJcblxyXG4gICAgaWYgKHRoaXMuc29tZW50ZU1hc3RlcikgdGhpcy52aXNpdmVsID0gZmFsc2U7XHJcbiAgICBlbHNlIHtcclxuICAgICAgdGhpcy5lbXByZXNhcyA9IG1hc3Rlci5lbXByZXNhcztcclxuICAgICAgdGhpcy5jb2x1bW5Db25maWdUYWJsZUVtcHJlc2EoKTtcclxuICAgICAgdGhpcy52ZXJpZmljYUVtcHJlc2FVbmljYSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgdmVyaWZpY2FFbXByZXNhVW5pY2EoKSB7XHJcbiAgICBpZiAodGhpcy5lbXByZXNhcyAmJiB0aGlzLmVtcHJlc2FzLmxlbmd0aCA9PSAxKVxyXG4gICAgICB0aGlzLnNlbGVjaW9uYXJFbXByZXNhKHRoaXMuZW1wcmVzYXNbMF0pO1xyXG4gIH1cclxuXHJcbiAgc2VsZWNpb25hckVtcHJlc2EoZW1wcmVzYTogYW55KSB7XHJcbiAgICBjb25zb2xlLmxvZyhlbXByZXNhLCAnc2VsZWNpb25hckVtcHJlc2EnKTtcclxuICAgIHRoaXMub25HZXRFbXByZXNhU2VsZWNpb25hZGEuZW1pdChlbXByZXNhKTtcclxuICAgIHRoaXMuZW1wcmVzYVNlbGVjaW9uYWRhID0gZW1wcmVzYTtcclxuICAgIHRoaXMudmlzaXZlbCA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgdm9sdGFyKCkge1xyXG4gICAgdGhpcy5lbXByZXNhU2VsZWNpb25hZGEgPSB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLm1hc3RlclNlbGVjaW9uYWRhID0gdW5kZWZpbmVkO1xyXG4gIH1cclxuXHJcbiAgZmlsdHJhckVtcHJlc2EoZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy5lbXByZXNhcyA9IHRoaXMubWFzdGVyU2VsZWNpb25hZGEuZW1wcmVzYXMuZmlsdGVyKChlOiBhbnkpID0+XHJcbiAgICAgIGUubm9tZWVtcHJlc2EudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhldmVudC50b0xvd2VyQ2FzZSgpKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIC8vLS0tLS0tLS0tLS0tLS0tLS0tTUFTVEVSLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4gIGNvbHVtbkNvbmZpZ1RhYmxlTWFzdGVyKCkge1xyXG4gICAgdGhpcy5kYXRhU291cmNlTWFzdGVyID0gdGhpcy5tYXN0ZXJzO1xyXG4gICAgdGhpcy50YWJsZUNvbmZpZ01hc3RlciA9IHtcclxuICAgICAgbGF6eTogZmFsc2UsXHJcbiAgICAgIGNvbHVtbnM6IFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICBwb3NpdGlvbjogMCxcclxuICAgICAgICAgIGZpZWxkOiAnaWRtYXN0ZXInLFxyXG4gICAgICAgICAgaGVhZGVyOiAnTGljZW7Dp2EnLFxyXG4gICAgICAgICAgd2lkdGg6ICcnLFxyXG4gICAgICAgICAgY2VudHJhbGl6ZTogZmFsc2UsXHJcbiAgICAgICAgICBzb3J0YWJsZTogZmFsc2UsXHJcbiAgICAgICAgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICBwb3NpdGlvbjogMSxcclxuICAgICAgICAgIGZpZWxkOiAncmF6YW9zb2NpYWwnLFxyXG4gICAgICAgICAgaGVhZGVyOiAnJyxcclxuICAgICAgICAgIHdpZHRoOiAnODAlJyxcclxuICAgICAgICAgIGNlbnRyYWxpemU6IGZhbHNlLFxyXG4gICAgICAgICAgc29ydGFibGU6IGZhbHNlLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIF0sXHJcbiAgICAgIGFjdGlvbnM6IFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICBsYWJlbDogJ0FjZXNzYXInLFxyXG4gICAgICAgICAgaWNvbjogJ2xvZ2luJyxcclxuICAgICAgICAgIHRvb2x0aXA6ICdBY2Vzc2FyIE1hc3RlcicsXHJcbiAgICAgICAgICBjb21tYW5kOiAoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuc2VsZWNpb25hck1hc3Rlcih0aGlzLnNlbGVjdGVkSXRlbU1hc3Rlcik7XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgZGlzYWJsZWQ6ICgpID0+IHtcclxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICB9LFxyXG4gICAgICBdLFxyXG4gICAgICBhY3Rpb25zTG90ZTogW10sXHJcbiAgICAgIGVuYWJsZUNhdGlvbjogZmFsc2UsXHJcbiAgICAgIGVuYWJsZUZpbHRlcjogZmFsc2UsXHJcbiAgICAgIGVuYWJsZVNlbGVjdDogZmFsc2UsXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgYWN0aXZlSXRlbU1hc3RlcihlOiBhbnkpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRJdGVtTWFzdGVyID0gZTtcclxuICAgIGNvbnNvbGUubG9nKCdhY3RpdmVJdGVtTWFzdGVyJywgdGhpcy5zZWxlY3RlZEl0ZW1NYXN0ZXIpO1xyXG4gIH1cclxuXHJcbiAgZG91YmxlQ2xpY2tNYXN0ZXIoZTogYW55KSB7XHJcbiAgICBjb25zb2xlLmxvZygnZG91YmxlQ2xpY2tNYXN0ZXInKTtcclxuICAgIHRoaXMuc2VsZWN0ZWRJdGVtTWFzdGVyID0gZS5yb3dEYXRhO1xyXG4gICAgdGhpcy5zZWxlY2lvbmFyTWFzdGVyKGUucm93RGF0YSk7XHJcbiAgfVxyXG5cclxuICAvLy0tLS0tLS0tLS0tLS0tLS0tLUVtcHJlc2EtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiAgY29sdW1uQ29uZmlnVGFibGVFbXByZXNhKCkge1xyXG4gICAgdGhpcy5kYXRhU291cmNlRW1wcmVzYSA9IHRoaXMuZW1wcmVzYXM7XHJcbiAgICB0aGlzLnRhYmxlQ29uZmlnRW1wcmVzYSA9IHtcclxuICAgICAgbGF6eTogZmFsc2UsXHJcbiAgICAgIGNvbHVtbnM6IFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICBwb3NpdGlvbjogMCxcclxuICAgICAgICAgIGZpZWxkOiAnY25wamVtcHJlc2EnLFxyXG4gICAgICAgICAgaGVhZGVyOiAnRW1wcmVzYScsXHJcbiAgICAgICAgICB3aWR0aDogJycsXHJcbiAgICAgICAgICBjZW50cmFsaXplOiBmYWxzZSxcclxuICAgICAgICAgIHNvcnRhYmxlOiBmYWxzZSxcclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIHBvc2l0aW9uOiAxLFxyXG4gICAgICAgICAgZmllbGQ6ICdub21lZW1wcmVzYScsXHJcbiAgICAgICAgICBoZWFkZXI6ICcnLFxyXG4gICAgICAgICAgd2lkdGg6ICc4MCUnLFxyXG4gICAgICAgICAgY2VudHJhbGl6ZTogZmFsc2UsXHJcbiAgICAgICAgICBzb3J0YWJsZTogZmFsc2UsXHJcbiAgICAgICAgfSxcclxuICAgICAgXSxcclxuICAgICAgYWN0aW9uczogW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgIGxhYmVsOiAnQWNlc3NhcicsXHJcbiAgICAgICAgICBpY29uOiAnbG9naW4nLFxyXG4gICAgICAgICAgdG9vbHRpcDogJ0FjZXNzYXIgRW1wcmVzYScsXHJcbiAgICAgICAgICBjb21tYW5kOiAoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuc2VsZWNpb25hckVtcHJlc2EodGhpcy5zZWxlY3RlZEl0ZW1FbXByZXNhKTtcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgfSxcclxuICAgICAgXSxcclxuICAgICAgYWN0aW9uc0xvdGU6IFtdLFxyXG4gICAgICBlbmFibGVDYXRpb246IHRydWUsXHJcbiAgICAgIGVuYWJsZUZpbHRlcjogdHJ1ZSxcclxuICAgICAgZW5hYmxlU2VsZWN0OiBmYWxzZSxcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBhY3RpdmVJdGVtRW1wcmVzYShlOiBhbnkpIHtcclxuICAgIGNvbnNvbGUubG9nKGUsICdhY3RpdmVJdGVtRW1wcmVzYScpO1xyXG4gICAgdGhpcy5zZWxlY3RlZEl0ZW1FbXByZXNhID0gZTtcclxuICB9XHJcblxyXG4gIGRvdWJsZUNsaWNrRW1wcmVzYShlOiBhbnkpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRJdGVtRW1wcmVzYSA9IGUucm93RGF0YTtcclxuICAgIHRoaXMuc2VsZWNpb25hckVtcHJlc2EoZS5yb3dEYXRhKTtcclxuICAgIGNvbnNvbGUubG9nKHRoaXMuc2VsZWN0ZWRJdGVtRW1wcmVzYSwgJ2RvdWJsZUNsaWNrRW1wcmVzYScpO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2XHJcbiAgKm5nSWY9XCJ2aXNpdmVsXCJcclxuICBbc3R5bGVdPVwic3R5bGVCYWNrZ3JvdW5kXCJcclxuICBjbGFzcz1cImgtc2NyZWVuIGZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXIgbG9naW4tY29udGFpbmVyIGZsZXgtY29sdW1uXCJcclxuPlxyXG4gIDxkaXZcclxuICAgIGlkPVwiY2FyZC1jb250YWluZXJcIlxyXG4gICAgY2xhc3M9XCJmbGV4IGZsZXgtY29sdW1uIGp1c3RpZnktY29udGVudC1hcm91bmQgY2FyZC1sb2dpbiBmb3JtZ3JpZCBwLWZsdWlkIGNvbC0xMiB3LTEwIGxnOnctN1wiXHJcbiAgICBzdHlsZT1cIm1pbi13aWR0aDogNzUwcHhcIlxyXG4gID5cclxuICAgIDxkaXYgY2xhc3M9XCJmaWVsZCBjb2wtMTIgZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIG1iLTFcIj5cclxuICAgICAgPGltZyBbc3JjXT1cImltZ0xvZ29LZWV2b0NlbnRlclwiIHN0eWxlPVwid2lkdGg6IDIwMHB4XCIgLz5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgYWxpZ24taXRlbXMtY2VudGVyIHotNVwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiY29sLTlcIj5cclxuICAgICAgICBPbMOhLCA8Yj57eyBub21lVXN1YXJpbyB9fS48L2I+IEJlbSB2aW5kbyhhKSFcclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxiIGNsYXNzPVwiZmllbGQgY29sLTkgZmxleFwiPlxyXG4gICAgICAgIEVzY29saGEgcXVhbCB3b3Jrc3BhY2Ugdm9jw6ogZGVzZWphIGFjZXNzYXI6PC9iPlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPCEtLSBJTsONQ0lPIERPIFdPUktTUEFDRSBERSBDT05UQUJJTElEQURFIChNQVNURVJTKSAtLT5cclxuICAgIDxkaXYgKm5nSWY9XCIhbWFzdGVyU2VsZWNpb25hZGFcIiBjbGFzcz1cImNvbC0xMiB6LTVcIj5cclxuICAgICAgXHJcbiAgICAgICAgPGt2LXRhYmxlXHJcbiAgICAgICAgICBbdGFibGVTaXplXT1cInRhYmxlU2l6ZU1hc3RlclwiXHJcbiAgICAgICAgICBbcm93c109XCI1XCJcclxuICAgICAgICAgIFtjb25maWddPVwidGFibGVDb25maWdNYXN0ZXJcIlxyXG4gICAgICAgICAgW3BhZ2luYXRvcl09XCJmYWxzZVwiXHJcbiAgICAgICAgICBbZGF0YVNvdXJjZV09XCJkYXRhU291cmNlTWFzdGVyXCJcclxuICAgICAgICAgIFtyb3dzUGVyUGFnZU9wdGlvbnNdPVwiWzUsIDEwLCAyNSwgNTAsIDEwMCwgMjAwXVwiXHJcbiAgICAgICAgICBbYWNvZXNMaW5oYVRhYmVsYV09XCJ0cnVlXCJcclxuICAgICAgICAgIChkb3VibGVDbGlja0V2ZW50KT1cImRvdWJsZUNsaWNrTWFzdGVyKCRldmVudClcIlxyXG4gICAgICAgICAgKG9uQWN0aXZlSXRlbSk9XCJhY3RpdmVJdGVtTWFzdGVyKCRldmVudClcIlxyXG4gICAgICAgID5cclxuICAgICAgICA8L2t2LXRhYmxlPlxyXG4gICAgIFxyXG4gICAgPC9kaXY+XHJcbiAgICA8IS0tIEZJTSBETyBXT1JLU1BBQ0UgREUgQ09OVEFCSUxJREFERSAoTUFTVEVSUykgLS0+XHJcblxyXG4gICAgPCEtLSBJTsONQ0lPIERPIFdPUktTUEFDRSBFTVBSRVNBIC0tPlxyXG4gICAgPGRpdiAqbmdJZj1cIm1hc3RlclNlbGVjaW9uYWRhICYmICFlbXByZXNhU2VsZWNpb25hZGFcIiBjbGFzcz1cImNvbC0xMiB6LTVcIj5cclxuICAgICAgPGt2LXRhYmxlXHJcbiAgICAgICAgW3RhYmxlU2l6ZV09XCJ0YWJsZVNpemVFbXByZXNhXCJcclxuICAgICAgICBbcm93c109XCI1XCJcclxuICAgICAgICBbY29uZmlnXT1cInRhYmxlQ29uZmlnRW1wcmVzYVwiXHJcbiAgICAgICAgW3BhZ2luYXRvcl09XCJmYWxzZVwiXHJcbiAgICAgICAgW2RhdGFTb3VyY2VdPVwiZGF0YVNvdXJjZUVtcHJlc2FcIlxyXG4gICAgICAgIFtyb3dzUGVyUGFnZU9wdGlvbnNdPVwiWzUsIDEwLCAyNSwgNTAsIDEwMCwgMjAwXVwiXHJcbiAgICAgICAgW2Fjb2VzTGluaGFUYWJlbGFdPVwidHJ1ZVwiXHJcbiAgICAgICAgKGRvdWJsZUNsaWNrRXZlbnQpPVwiZG91YmxlQ2xpY2tFbXByZXNhKCRldmVudClcIlxyXG4gICAgICAgIChvbkFjdGl2ZUl0ZW0pPVwiYWN0aXZlSXRlbUVtcHJlc2EoJGV2ZW50KVwiXHJcbiAgICAgID5cclxuICAgICAgPC9rdi10YWJsZT5cclxuICAgIDwvZGl2PlxyXG4gICAgPCEtLSBGSU0gRE8gV09SS1NQQUNFIEVNUFJFU0EgLS0+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
|