iptdevs-design-system 3.1.107 → 3.1.108
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/esm2020/lib/cod/modal-referred/modal-referred.component.mjs +5 -22
- package/esm2020/lib/cod/steps/cod-form-step-five/cod-form-step-five.component.mjs +3 -3
- package/fesm2015/iptdevs-design-system.mjs +6 -23
- package/fesm2015/iptdevs-design-system.mjs.map +1 -1
- package/fesm2020/iptdevs-design-system.mjs +6 -23
- package/fesm2020/iptdevs-design-system.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -73,33 +73,16 @@ export class ModalReferredComponent {
|
|
|
73
73
|
}
|
|
74
74
|
getRoleUser(codeRole) {
|
|
75
75
|
this.userService.getUserRoleByCode(codeRole).subscribe((response) => {
|
|
76
|
-
console.log(response.data);
|
|
76
|
+
console.log(response.data[0].role);
|
|
77
|
+
return response.data[0].role;
|
|
77
78
|
});
|
|
78
|
-
if (codeRole < 10) {
|
|
79
|
-
return "green300";
|
|
80
|
-
}
|
|
81
|
-
else if (codeRole >= 10 || codeRole < 20) {
|
|
82
|
-
return "red300";
|
|
83
|
-
}
|
|
84
|
-
else if (codeRole >= 20 || codeRole < 30) {
|
|
85
|
-
return "red300";
|
|
86
|
-
}
|
|
87
|
-
else if (codeRole >= 30 || codeRole < 40) {
|
|
88
|
-
return "red300";
|
|
89
|
-
}
|
|
90
|
-
else if (codeRole >= 40 || codeRole < 50) {
|
|
91
|
-
return "gray300";
|
|
92
|
-
}
|
|
93
|
-
else if (codeRole >= 50 || codeRole < 60) {
|
|
94
|
-
return "gray300";
|
|
95
|
-
}
|
|
96
79
|
}
|
|
97
80
|
}
|
|
98
81
|
ModalReferredComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: ModalReferredComponent, deps: [{ token: i1.FormBuilder }, { token: i2.BaseService }, { token: i3.UserService }], target: i0.ɵɵFactoryTarget.Component });
|
|
99
|
-
ModalReferredComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: ModalReferredComponent, selector: "cod-modal-referred", inputs: { visibility: "visibility" }, outputs: { userSelect: "userSelect", modalClose: "modalClose" }, ngImport: i0, template: "<main *ngIf=\"visibility\">\n <div @fade class=\"modal_container\">\n <div class=\"header_modal\">\n <h1>Datos de quien lo refiere</h1>\n <button (click)=\"closeModal()\">x</button>\n </div>\n <div class=\"grid_container\">\n <div>\n <section\n id=\"container\"\n class=\"flex flex-column bg-white border-round-2xl\"\n >\n <form\n autocomplete=\"off\"\n (ngSubmit)=\"search(searchUserForm)\"\n class=\"form\"\n [formGroup]=\"searchUserForm\"\n >\n <input\n placeholder=\"Buscar por nombre, documento o tel\u00E9fono\"\n [formControl]=\"$any(searchUserForm.controls['searchUser'])\"\n type=\"text\"\n pInputText\n />\n <p-button\n type=\"submit\"\n label=\"Buscar\"\n icon=\"pi pi-search\"\n [loading]=\"loading[0]\"\n (onClick)=\"load(0, searchUserForm)\"\n ></p-button>\n </form>\n </section>\n\n <div *ngIf=\"userExists\" class=\"referrerInformation\">\n <section class=\"userList\">\n <p-table\n [value]=\"allUsers\"\n [scrollable]=\"true\"\n scrollHeight=\"150px\"\n [tableStyle]=\"{'min-width': '50rem'}\">\n <ng-template pTemplate=\"header\">\n <tr>\n <th class=\"bg-blue-500 text-white text-center w-2 p-0 m-0\">Documento</th>\n <th class=\"bg-blue-500 text-white text-center w-2 p-0 m-0\">Nombres</th>\n <th class=\"bg-blue-500 text-white text-center w-2 p-0 m-0\">Apellidos</th>\n <th class=\"bg-blue-500 text-white text-center w-2 p-0 m-0\">Email</th>\n <th class=\"bg-blue-500 text-white text-center w-2 p-0 m-0\">Telefono</th>\n <th class=\"bg-blue-500 text-white text-center w-2 p-0 m-0\">Rol</th>\n <th class=\"bg-blue-500 text-white text-center w-2 p-0 m-0\">Admin</th>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"body\" let-user>\n <tr>\n <td class=\"pt-2 pb-2 text-sm text-left\">{{user.id_card}}</td>\n <td class=\"pt-2 pb-2 text-sm text-left\">{{user.name}}</td>\n <td class=\"pt-2 pb-2 text-sm text-left\">{{user.last_name}}</td>\n <td class=\"pt-2 pb-2 text-sm text-left\">{{user.email}}</td>\n <td class=\"pt-2 pb-2 text-sm text-right\">{{user.phone_number}}</td>\n <td
|
|
82
|
+
ModalReferredComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: ModalReferredComponent, selector: "cod-modal-referred", inputs: { visibility: "visibility" }, outputs: { userSelect: "userSelect", modalClose: "modalClose" }, ngImport: i0, template: "<main *ngIf=\"visibility\">\n <div @fade class=\"modal_container\">\n <div class=\"header_modal\">\n <h1>Datos de quien lo refiere</h1>\n <button (click)=\"closeModal()\">x</button>\n </div>\n <div class=\"grid_container\">\n <div>\n <section\n id=\"container\"\n class=\"flex flex-column bg-white border-round-2xl\"\n >\n <form\n autocomplete=\"off\"\n (ngSubmit)=\"search(searchUserForm)\"\n class=\"form\"\n [formGroup]=\"searchUserForm\"\n >\n <input\n placeholder=\"Buscar por nombre, documento o tel\u00E9fono\"\n [formControl]=\"$any(searchUserForm.controls['searchUser'])\"\n type=\"text\"\n pInputText\n />\n <p-button\n type=\"submit\"\n label=\"Buscar\"\n icon=\"pi pi-search\"\n [loading]=\"loading[0]\"\n (onClick)=\"load(0, searchUserForm)\"\n ></p-button>\n </form>\n </section>\n\n <div *ngIf=\"userExists\" class=\"referrerInformation\">\n <section class=\"userList\">\n <p-table\n [value]=\"allUsers\"\n [scrollable]=\"true\"\n scrollHeight=\"150px\"\n [tableStyle]=\"{'min-width': '50rem'}\">\n <ng-template pTemplate=\"header\">\n <tr>\n <th class=\"bg-blue-500 text-white text-center w-2 p-0 m-0\">Documento</th>\n <th class=\"bg-blue-500 text-white text-center w-2 p-0 m-0\">Nombres</th>\n <th class=\"bg-blue-500 text-white text-center w-2 p-0 m-0\">Apellidos</th>\n <th class=\"bg-blue-500 text-white text-center w-2 p-0 m-0\">Email</th>\n <th class=\"bg-blue-500 text-white text-center w-2 p-0 m-0\">Telefono</th>\n <th class=\"bg-blue-500 text-white text-center w-2 p-0 m-0\">Rol</th>\n <th class=\"bg-blue-500 text-white text-center w-2 p-0 m-0\">Admin</th>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"body\" let-user>\n <tr>\n <td class=\"pt-2 pb-2 text-sm text-left\">{{user.id_card}}</td>\n <td class=\"pt-2 pb-2 text-sm text-left\">{{user.name}}</td>\n <td class=\"pt-2 pb-2 text-sm text-left\">{{user.last_name}}</td>\n <td class=\"pt-2 pb-2 text-sm text-left\">{{user.email}}</td>\n <td class=\"pt-2 pb-2 text-sm text-right\">{{user.phone_number}}</td>\n <td class=\"pt-2 pb-2 text-sm text-center\">{{getRoleUser(user.role)}}</td>\n <td class=\"pt-2 pb-2 min-w-min\" style=\"text-align: center\">\n <p-button\n type=\"submit\"\n icon=\"pi pi-chevron-circle-right\"\n (click)=\"selectUser(user)\"\n ></p-button>\n </td>\n </tr>\n </ng-template>\n </p-table>\n </section>\n </div>\n </div>\n </div>\n </div>\n</main>\n", styles: [":host ::ng-deep .p-datatable .p-datatable-header{background:#3c82f6;color:#2e2e2e;border:1px solid #dee2e6;padding:0 0 15px;font-weight:500;height:2rem;border-top-left-radius:5px;border-top-right-radius:5px}:host ::ng-deep .p-datatable-table{padding-left:.5rem;padding-right:.5rem}#container{display:flex;flex-direction:row;justify-content:space-between}@media screen and (min-width: 320px){main{background:rgba(0,0,0,.472);color:#fff;position:fixed;top:0;left:0;height:100%;width:100vw;transition:all .5s;z-index:999}.referrerInformation{overflow:auto}main .modal_container{width:85%;height:-moz-fit-content;height:fit-content;position:absolute;inset:0;margin-top:5rem;margin-left:7%;background-color:#fff;border-radius:6px}.btn_select{margin:2px}.header_modal{display:flex;padding:15px 15px 0;align-items:center}.header_modal h1{padding:.5rem;background-color:#1c77f7;color:#fff;width:100%;border-radius:10px;font-size:1rem;font-weight:700;margin-bottom:0}.header_modal button{margin-left:auto;font-size:26px;padding:1.2rem;font-weight:200;color:#6c7f7d;display:flex;width:25px;height:25px;align-items:center;justify-content:center;transition:50ms;background-color:transparent;border:none}.header_modal button:hover{cursor:pointer;border-radius:50%;background-color:#d4d4d4}.referrer_Information{overflow:auto}.grid_container{display:grid;grid-template-columns:1fr;padding:10px;margin-bottom:1rem}form{display:flex;justify-content:start;flex-wrap:nowrap;flex-direction:row;align-items:center}.buttons-container{margin-top:2rem;margin-bottom:2rem;display:flex;justify-content:center;align-items:center;justify-items:center;align-content:center}}@media screen and (min-width: 768px){form{gap:1rem;height:90px}.header_modal h1{font-size:1.25rem}}@media screen and (min-width: 1366px){form{padding:0rem}}\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i6.Table, selector: "p-table", inputs: ["frozenColumns", "frozenValue", "style", "styleClass", "tableStyle", "tableStyleClass", "paginator", "pageLinks", "rowsPerPageOptions", "alwaysShowPaginator", "paginatorPosition", "paginatorDropdownAppendTo", "paginatorDropdownScrollHeight", "currentPageReportTemplate", "showCurrentPageReport", "showJumpToPageDropdown", "showJumpToPageInput", "showFirstLastIcon", "showPageLinks", "defaultSortOrder", "sortMode", "resetPageOnSort", "selectionMode", "selectionPageOnly", "contextMenuSelection", "contextMenuSelectionMode", "dataKey", "metaKeySelection", "rowSelectable", "rowTrackBy", "lazy", "lazyLoadOnInit", "compareSelectionBy", "csvSeparator", "exportFilename", "filters", "globalFilterFields", "filterDelay", "filterLocale", "expandedRowKeys", "editingRowKeys", "rowExpandMode", "scrollable", "scrollDirection", "rowGroupMode", "scrollHeight", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "virtualScrollDelay", "frozenWidth", "responsive", "contextMenu", "resizableColumns", "columnResizeMode", "reorderableColumns", "loading", "loadingIcon", "showLoader", "rowHover", "customSort", "showInitialSortBadge", "autoLayout", "exportFunction", "exportHeader", "stateKey", "stateStorage", "editMode", "groupRowsBy", "groupRowsByOrder", "responsiveLayout", "breakpoint", "virtualRowHeight", "value", "columns", "first", "rows", "totalRecords", "sortField", "sortOrder", "multiSortMeta", "selection", "selectAll"], outputs: ["selectAllChange", "selectionChange", "contextMenuSelectionChange", "onRowSelect", "onRowUnselect", "onPage", "onSort", "onFilter", "onLazyLoad", "onRowExpand", "onRowCollapse", "onContextMenuSelect", "onColResize", "onColReorder", "onRowReorder", "onEditInit", "onEditComplete", "onEditCancel", "onHeaderCheckboxToggle", "sortFunction", "firstChange", "rowsChange", "onStateSave", "onStateRestore"] }, { kind: "component", type: i7.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "style", "styleClass", "badgeClass", "ariaLabel"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "directive", type: i8.InputText, selector: "[pInputText]" }] });
|
|
100
83
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: ModalReferredComponent, decorators: [{
|
|
101
84
|
type: Component,
|
|
102
|
-
args: [{ selector: 'cod-modal-referred', template: "<main *ngIf=\"visibility\">\n <div @fade class=\"modal_container\">\n <div class=\"header_modal\">\n <h1>Datos de quien lo refiere</h1>\n <button (click)=\"closeModal()\">x</button>\n </div>\n <div class=\"grid_container\">\n <div>\n <section\n id=\"container\"\n class=\"flex flex-column bg-white border-round-2xl\"\n >\n <form\n autocomplete=\"off\"\n (ngSubmit)=\"search(searchUserForm)\"\n class=\"form\"\n [formGroup]=\"searchUserForm\"\n >\n <input\n placeholder=\"Buscar por nombre, documento o tel\u00E9fono\"\n [formControl]=\"$any(searchUserForm.controls['searchUser'])\"\n type=\"text\"\n pInputText\n />\n <p-button\n type=\"submit\"\n label=\"Buscar\"\n icon=\"pi pi-search\"\n [loading]=\"loading[0]\"\n (onClick)=\"load(0, searchUserForm)\"\n ></p-button>\n </form>\n </section>\n\n <div *ngIf=\"userExists\" class=\"referrerInformation\">\n <section class=\"userList\">\n <p-table\n [value]=\"allUsers\"\n [scrollable]=\"true\"\n scrollHeight=\"150px\"\n [tableStyle]=\"{'min-width': '50rem'}\">\n <ng-template pTemplate=\"header\">\n <tr>\n <th class=\"bg-blue-500 text-white text-center w-2 p-0 m-0\">Documento</th>\n <th class=\"bg-blue-500 text-white text-center w-2 p-0 m-0\">Nombres</th>\n <th class=\"bg-blue-500 text-white text-center w-2 p-0 m-0\">Apellidos</th>\n <th class=\"bg-blue-500 text-white text-center w-2 p-0 m-0\">Email</th>\n <th class=\"bg-blue-500 text-white text-center w-2 p-0 m-0\">Telefono</th>\n <th class=\"bg-blue-500 text-white text-center w-2 p-0 m-0\">Rol</th>\n <th class=\"bg-blue-500 text-white text-center w-2 p-0 m-0\">Admin</th>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"body\" let-user>\n <tr>\n <td class=\"pt-2 pb-2 text-sm text-left\">{{user.id_card}}</td>\n <td class=\"pt-2 pb-2 text-sm text-left\">{{user.name}}</td>\n <td class=\"pt-2 pb-2 text-sm text-left\">{{user.last_name}}</td>\n <td class=\"pt-2 pb-2 text-sm text-left\">{{user.email}}</td>\n <td class=\"pt-2 pb-2 text-sm text-right\">{{user.phone_number}}</td>\n <td
|
|
85
|
+
args: [{ selector: 'cod-modal-referred', template: "<main *ngIf=\"visibility\">\n <div @fade class=\"modal_container\">\n <div class=\"header_modal\">\n <h1>Datos de quien lo refiere</h1>\n <button (click)=\"closeModal()\">x</button>\n </div>\n <div class=\"grid_container\">\n <div>\n <section\n id=\"container\"\n class=\"flex flex-column bg-white border-round-2xl\"\n >\n <form\n autocomplete=\"off\"\n (ngSubmit)=\"search(searchUserForm)\"\n class=\"form\"\n [formGroup]=\"searchUserForm\"\n >\n <input\n placeholder=\"Buscar por nombre, documento o tel\u00E9fono\"\n [formControl]=\"$any(searchUserForm.controls['searchUser'])\"\n type=\"text\"\n pInputText\n />\n <p-button\n type=\"submit\"\n label=\"Buscar\"\n icon=\"pi pi-search\"\n [loading]=\"loading[0]\"\n (onClick)=\"load(0, searchUserForm)\"\n ></p-button>\n </form>\n </section>\n\n <div *ngIf=\"userExists\" class=\"referrerInformation\">\n <section class=\"userList\">\n <p-table\n [value]=\"allUsers\"\n [scrollable]=\"true\"\n scrollHeight=\"150px\"\n [tableStyle]=\"{'min-width': '50rem'}\">\n <ng-template pTemplate=\"header\">\n <tr>\n <th class=\"bg-blue-500 text-white text-center w-2 p-0 m-0\">Documento</th>\n <th class=\"bg-blue-500 text-white text-center w-2 p-0 m-0\">Nombres</th>\n <th class=\"bg-blue-500 text-white text-center w-2 p-0 m-0\">Apellidos</th>\n <th class=\"bg-blue-500 text-white text-center w-2 p-0 m-0\">Email</th>\n <th class=\"bg-blue-500 text-white text-center w-2 p-0 m-0\">Telefono</th>\n <th class=\"bg-blue-500 text-white text-center w-2 p-0 m-0\">Rol</th>\n <th class=\"bg-blue-500 text-white text-center w-2 p-0 m-0\">Admin</th>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"body\" let-user>\n <tr>\n <td class=\"pt-2 pb-2 text-sm text-left\">{{user.id_card}}</td>\n <td class=\"pt-2 pb-2 text-sm text-left\">{{user.name}}</td>\n <td class=\"pt-2 pb-2 text-sm text-left\">{{user.last_name}}</td>\n <td class=\"pt-2 pb-2 text-sm text-left\">{{user.email}}</td>\n <td class=\"pt-2 pb-2 text-sm text-right\">{{user.phone_number}}</td>\n <td class=\"pt-2 pb-2 text-sm text-center\">{{getRoleUser(user.role)}}</td>\n <td class=\"pt-2 pb-2 min-w-min\" style=\"text-align: center\">\n <p-button\n type=\"submit\"\n icon=\"pi pi-chevron-circle-right\"\n (click)=\"selectUser(user)\"\n ></p-button>\n </td>\n </tr>\n </ng-template>\n </p-table>\n </section>\n </div>\n </div>\n </div>\n </div>\n</main>\n", styles: [":host ::ng-deep .p-datatable .p-datatable-header{background:#3c82f6;color:#2e2e2e;border:1px solid #dee2e6;padding:0 0 15px;font-weight:500;height:2rem;border-top-left-radius:5px;border-top-right-radius:5px}:host ::ng-deep .p-datatable-table{padding-left:.5rem;padding-right:.5rem}#container{display:flex;flex-direction:row;justify-content:space-between}@media screen and (min-width: 320px){main{background:rgba(0,0,0,.472);color:#fff;position:fixed;top:0;left:0;height:100%;width:100vw;transition:all .5s;z-index:999}.referrerInformation{overflow:auto}main .modal_container{width:85%;height:-moz-fit-content;height:fit-content;position:absolute;inset:0;margin-top:5rem;margin-left:7%;background-color:#fff;border-radius:6px}.btn_select{margin:2px}.header_modal{display:flex;padding:15px 15px 0;align-items:center}.header_modal h1{padding:.5rem;background-color:#1c77f7;color:#fff;width:100%;border-radius:10px;font-size:1rem;font-weight:700;margin-bottom:0}.header_modal button{margin-left:auto;font-size:26px;padding:1.2rem;font-weight:200;color:#6c7f7d;display:flex;width:25px;height:25px;align-items:center;justify-content:center;transition:50ms;background-color:transparent;border:none}.header_modal button:hover{cursor:pointer;border-radius:50%;background-color:#d4d4d4}.referrer_Information{overflow:auto}.grid_container{display:grid;grid-template-columns:1fr;padding:10px;margin-bottom:1rem}form{display:flex;justify-content:start;flex-wrap:nowrap;flex-direction:row;align-items:center}.buttons-container{margin-top:2rem;margin-bottom:2rem;display:flex;justify-content:center;align-items:center;justify-items:center;align-content:center}}@media screen and (min-width: 768px){form{gap:1rem;height:90px}.header_modal h1{font-size:1.25rem}}@media screen and (min-width: 1366px){form{padding:0rem}}\n"] }]
|
|
103
86
|
}], ctorParameters: function () { return [{ type: i1.FormBuilder }, { type: i2.BaseService }, { type: i3.UserService }]; }, propDecorators: { visibility: [{
|
|
104
87
|
type: Input
|
|
105
88
|
}], userSelect: [{
|
|
@@ -107,4 +90,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImpor
|
|
|
107
90
|
}], modalClose: [{
|
|
108
91
|
type: Output
|
|
109
92
|
}] } });
|
|
110
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtcmVmZXJyZWQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vZGVzaWduLXN5c3RlbS9zcmMvbGliL2NvZC9tb2RhbC1yZWZlcnJlZC9tb2RhbC1yZWZlcnJlZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9kZXNpZ24tc3lzdGVtL3NyYy9saWIvY29kL21vZGFsLXJlZmVycmVkL21vZGFsLXJlZmVycmVkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUEwQixVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUlwRSxPQUFPLElBQUksTUFBTSxhQUFhLENBQUM7Ozs7Ozs7Ozs7QUFPL0IsTUFBTSxPQUFPLHNCQUFzQjtJQVVqQyxZQUNVLEVBQWUsRUFDZixXQUF3QixFQUN4QixXQUF3QjtRQUZ4QixPQUFFLEdBQUYsRUFBRSxDQUFhO1FBQ2YsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFaekIsZUFBVSxHQUFZLEtBQUssQ0FBQztRQUMzQixlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUNyQyxlQUFVLEdBQUcsSUFBSSxZQUFZLENBQVUsS0FBSyxDQUFDLENBQUM7UUFHeEQsZUFBVSxHQUFZLEtBQUssQ0FBQztRQUU1QixZQUFPLEdBQUcsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztJQU1wQyxDQUFDO0lBRUosUUFBUTtRQUNOLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNsQixDQUFDO0lBRUQsVUFBVTtRQUNSLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxV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QVEsQ0FBQTtTQUNoQjthQUFLLElBQUksUUFBUSxJQUFJLEVBQUUsSUFBSSxRQUFRLEdBQUcsRUFBRSxFQUFDO1lBQ3hDLE9BQU8sUUFBUSxDQUFBO1NBQ2hCO2FBQUssSUFBSSxRQUFRLElBQUksRUFBRSxJQUFJLFFBQVEsR0FBRyxFQUFFLEVBQUM7WUFDeEMsT0FBTyxRQUFRLENBQUE7U0FDaEI7YUFBSyxJQUFJLFFBQVEsSUFBSSxFQUFFLElBQUksUUFBUSxHQUFHLEVBQUUsRUFBQztZQUN4QyxPQUFPLFNBQVMsQ0FBQTtTQUNqQjthQUFLLElBQUksUUFBUSxJQUFJLEVBQUUsSUFBSSxRQUFRLEdBQUcsRUFBRSxFQUFDO1lBQ3hDLE9BQU8sU0FBUyxDQUFBO1NBQ2pCO0lBQ0gsQ0FBQzs7bUhBN0ZVLHNCQUFzQjt1R0FBdEIsc0JBQXNCLGlLQ1puQyxrMEdBNEVBOzJGRGhFYSxzQkFBc0I7a0JBTGxDLFNBQVM7K0JBQ0Usb0JBQW9CO3NKQUtyQixVQUFVO3NCQUFsQixLQUFLO2dCQUNJLFVBQVU7c0JBQW5CLE1BQU07Z0JBQ0csVUFBVTtzQkFBbkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBCYXNlU2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvdXRpbHMvYmFzZS1zZXJ2aWNlL2Jhc2Uuc2VydmljZSc7XG5pbXBvcnQgeyBVc2VyU2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvc2VydmljZXMvdXNlci1zZXJ2aWNlL3VzZXItc2VydmljZSc7XG5pbXBvcnQgeyBnZXRTdHVkZW50UnEgfSBmcm9tICcuLi8uLi9jb3JlL21vZGVscy91c2VyL3VzZXItcnEubW9kZWwnO1xuaW1wb3J0IFN3YWwgZnJvbSAnc3dlZXRhbGVydDInO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjb2QtbW9kYWwtcmVmZXJyZWQnLFxuICB0ZW1wbGF0ZVVybDogJy4vbW9kYWwtcmVmZXJyZWQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9tb2RhbC1yZWZlcnJlZC5jb21wb25lbnQuY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgTW9kYWxSZWZlcnJlZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIHZpc2liaWxpdHk6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQE91dHB1dCgpIHVzZXJTZWxlY3QgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIG1vZGFsQ2xvc2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KGZhbHNlKTtcblxuICBzZWFyY2hVc2VyRm9ybSE6IEZvcm1Hcm91cDtcbiAgdXNlckV4aXN0czogYm9vbGVhbiA9IGZhbHNlO1xuICBhbGxVc2VyczogYW55O1xuICBsb2FkaW5nID0gW2ZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGZiOiBGb3JtQnVpbGRlcixcbiAgICBwcml2YXRlIGJhc2VTZXJ2aWNlOiBCYXNlU2VydmljZSxcbiAgICBwcml2YXRlIHVzZXJTZXJ2aWNlOiBVc2VyU2VydmljZVxuICApIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5pbml0Rm9ybSgpO1xuICB9XG5cbiAgY2xvc2VNb2RhbCgpIHtcbiAgICB0aGlzLnZpc2liaWxpdHkgPSBmYWxzZTtcbiAgICB0aGlzLm1vZGFsQ2xvc2UuZW1pdChmYWxzZSk7XG4gIH1cblxuICBpbml0Rm9ybSgpIHtcbiAgICB0aGlzLnNlYXJjaFVzZXJGb3JtID0gdGhpcy5mYi5ncm91cCh7XG4gICAgICBzZWFyY2hVc2VyOiBbJycsW1ZhbGlkYXRvcnMucmVxdWlyZWQsVmFsaWRhdG9ycy5taW5MZW5ndGgoNCksVmFsaWRhdG9ycy5tYXhMZW5ndGgoMzApXSxdLFxuICAgIH0pO1xuXG4gICAgY29uc3Qgc2VhcmNoVXNlckNvbnRyb2wgPSB0aGlzLnNlYXJjaFVzZXJGb3JtLmdldCgnc2VhcmNoVXNlcicpO1xuICAgIGlmIChzZWFyY2hVc2VyQ29udHJvbCkge1xuICAgICAgc2VhcmNoVXNlckNvbnRyb2wudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgodmFsdWUpID0+IHtcbiAgICAgICAgLy8gdGhpcy5tb2RhbENsb3NlLmVtaXQoZmFsc2UpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgc2VsZWN0VXNlcihkYXRhIDogYW55KXtcbiAgICB0aGlzLnVzZXJTZWxlY3QuZW1pdChkYXRhKTtcbiAgICB0aGlzLm1vZGFsQ2xvc2UuZW1pdChmYWxzZSk7XG5cbiAgfVxuXG4gIGxvYWQoaW5kZXg6IGFueSwgZm9ybTogRm9ybUdyb3VwKSB7XG4gICAgdGhpcy5sb2FkaW5nW2luZGV4XSA9IHRydWU7XG4gICAgc2V0VGltZW91dCgoKSA9PiAodGhpcy5sb2FkaW5nW2luZGV4XSA9IGZhbHNlKSwgMTAwMCk7XG4gICAgdGhpcy5zZWFyY2goZm9ybSk7XG4gIH1cblxuICBzZWFyY2goZm9ybTogRm9ybUdyb3VwKSB7XG4gICAgbGV0IHJlcXVlc3Q6IGdldFN0dWRlbnRScSA9IHtcbiAgICAgIHRva2VuOiB0aGlzLmJhc2VTZXJ2aWNlLmdldFVzZXJUb2tlbigpLFxuICAgICAgcGFyYW06IGZvcm0udmFsdWUuc2VhcmNoVXNlcixcbiAgICB9O1xuICAgIGNvbnNvbGUubG9nKHJlcXVlc3QpO1xuXG4gICAgdGhpcy51c2VyU2VydmljZS5nZXRTdHVkZW50KHJlcXVlc3QpLnN1YnNjcmliZSgocmVzcG9uc2UpID0+IHtcbiAgICAgIGNvbnNvbGUubG9nKHJlc3BvbnNlLmRhdGEpO1xuXG4gICAgICAgIGlmIChyZXNwb25zZS5kYXRhID09IG51bGwpIHtcbiAgICAgICAgICB0aGlzLnVzZXJFeGlzdHMgPSBmYWxzZTtcbiAgICAgICAgICBTd2FsLmZpcmUoe1xuICAgICAgICAgICAgdGl0bGU6ICdPb3BzLi4uJyxcbiAgICAgICAgICAgIHRleHQ6ICdObyBoYXkgdXN1YXJpb3MgY29uIGxvcyBwYXLDoW1ldHJvcyBpbmdyZXNhZG9zJyxcbiAgICAgICAgICAgIGljb246ICdlcnJvcicsXG4gICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy51c2VyRXhpc3RzID0gdHJ1ZTtcbiAgICAgICAgICB0aGlzLmFsbFVzZXJzID0gcmVzcG9uc2UuZGF0YTtcbiAgICAgICAgICBjb25zb2xlLmxvZyhyZXNwb25zZS5kYXRhKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBnZXRSb2xlVXNlcihjb2RlUm9sZTogbnVtYmVyKTphbnkge1xuICAgIHRoaXMudXNlclNlcnZpY2UuZ2V0VXNlclJvbGVCeUNvZGUoY29kZVJvbGUpLnN1YnNjcmliZSgocmVzcG9uc2UpPT57XG4gICAgICBjb25zb2xlLmxvZyhyZXNwb25zZS5kYXRhKTtcbiAgICB9KVxuXG4gICAgaWYgKGNvZGVSb2xlIDwgMTApIHtcbiAgICAgIHJldHVybiBcImdyZWVuMzAwXCI7XG4gICAgfSBlbHNlIGlmIChjb2RlUm9sZSA+PSAxMCB8fCBjb2RlUm9sZSA8IDIwKXtcbiAgICAgIHJldHVybiBcInJlZDMwMFwiXG4gICAgfWVsc2UgaWYgKGNvZGVSb2xlID49IDIwIHx8IGNvZGVSb2xlIDwgMzApe1xuICAgICAgcmV0dXJuIFwicmVkMzAwXCJcbiAgICB9ZWxzZSBpZiAoY29kZVJvbGUgPj0gMzAgfHwgY29kZVJvbGUgPCA0MCl7XG4gICAgICByZXR1cm4gXCJyZWQzMDBcIlxuICAgIH1lbHNlIGlmIChjb2RlUm9sZSA+PSA0MCB8fCBjb2RlUm9sZSA8IDUwKXtcbiAgICAgIHJldHVybiBcImdyYXkzMDBcIlxuICAgIH1lbHNlIGlmIChjb2RlUm9sZSA+PSA1MCB8fCBjb2RlUm9sZSA8IDYwKXtcbiAgICAgIHJldHVybiBcImdyYXkzMDBcIlxuICAgIH1cbiAgfVxuXG59XG4iLCI8bWFpbiAqbmdJZj1cInZpc2liaWxpdHlcIj5cbiAgPGRpdiBAZmFkZSBjbGFzcz1cIm1vZGFsX2NvbnRhaW5lclwiPlxuICAgIDxkaXYgY2xhc3M9XCJoZWFkZXJfbW9kYWxcIj5cbiAgICAgIDxoMT5EYXRvcyBkZSBxdWllbiBsbyByZWZpZXJlPC9oMT5cbiAgICAgIDxidXR0b24gKGNsaWNrKT1cImNsb3NlTW9kYWwoKVwiPng8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiZ3JpZF9jb250YWluZXJcIj5cbiAgICAgIDxkaXY+XG4gICAgICAgIDxzZWN0aW9uXG4gICAgICAgICAgaWQ9XCJjb250YWluZXJcIlxuICAgICAgICAgIGNsYXNzPVwiZmxleCBmbGV4LWNvbHVtbiBiZy13aGl0ZSBib3JkZXItcm91bmQtMnhsXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxmb3JtXG4gICAgICAgICAgICBhdXRvY29tcGxldGU9XCJvZmZcIlxuICAgICAgICAgICAgKG5nU3VibWl0KT1cInNlYXJjaChzZWFyY2hVc2VyRm9ybSlcIlxuICAgICAgICAgICAgY2xhc3M9XCJmb3JtXCJcbiAgICAgICAgICAgIFtmb3JtR3JvdXBdPVwic2VhcmNoVXNlckZvcm1cIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIkJ1c2NhciBwb3Igbm9tYnJlLCBkb2N1bWVudG8gbyB0ZWzDqWZvbm9cIlxuICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwiJGFueShzZWFyY2hVc2VyRm9ybS5jb250cm9sc1snc2VhcmNoVXNlciddKVwiXG4gICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgcElucHV0VGV4dFxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxwLWJ1dHRvblxuICAgICAgICAgICAgICB0eXBlPVwic3VibWl0XCJcbiAgICAgICAgICAgICAgbGFiZWw9XCJCdXNjYXJcIlxuICAgICAgICAgICAgICBpY29uPVwicGkgcGktc2VhcmNoXCJcbiAgICAgICAgICAgICAgW2xvYWRpbmddPVwibG9hZGluZ1swXVwiXG4gICAgICAgICAgICAgIChvbkNsaWNrKT1cImxvYWQoMCwgc2VhcmNoVXNlckZvcm0pXCJcbiAgICAgICAgICAgID48L3AtYnV0dG9uPlxuICAgICAgICAgIDwvZm9ybT5cbiAgICAgICAgPC9zZWN0aW9uPlxuXG4gICAgICAgIDxkaXYgKm5nSWY9XCJ1c2VyRXhpc3RzXCIgY2xhc3M9XCJyZWZlcnJlckluZm9ybWF0aW9uXCI+XG4gICAgICAgICAgPHNlY3Rpb24gY2xhc3M9XCJ1c2VyTGlzdFwiPlxuICAgICAgICAgICAgICA8cC10YWJsZVxuICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJhbGxVc2Vyc1wiXG4gICAgICAgICAgICAgICAgW3Njcm9sbGFibGVdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgc2Nyb2xsSGVpZ2h0PVwiMTUwcHhcIlxuICAgICAgICAgICAgICAgIFt0YWJsZVN0eWxlXT1cInsnbWluLXdpZHRoJzogJzUwcmVtJ31cIj5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiaGVhZGVyXCI+XG4gICAgICAgICAgICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJiZy1ibHVlLTUwMCB0ZXh0LXdoaXRlIHRleHQtY2VudGVyIHctMiBwLTAgbS0wXCI+RG9jdW1lbnRvPC90aD5cbiAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJiZy1ibHVlLTUwMCB0ZXh0LXdoaXRlIHRleHQtY2VudGVyIHctMiBwLTAgbS0wXCI+Tm9tYnJlczwvdGg+XG4gICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPVwiYmctYmx1ZS01MDAgdGV4dC13aGl0ZSB0ZXh0LWNlbnRlciB3LTIgcC0wIG0tMFwiPkFwZWxsaWRvczwvdGg+XG4gICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPVwiYmctYmx1ZS01MDAgdGV4dC13aGl0ZSB0ZXh0LWNlbnRlciB3LTIgcC0wIG0tMFwiPkVtYWlsPC90aD5cbiAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJiZy1ibHVlLTUwMCB0ZXh0LXdoaXRlIHRleHQtY2VudGVyIHctMiBwLTAgbS0wXCI+VGVsZWZvbm88L3RoPlxuICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cImJnLWJsdWUtNTAwIHRleHQtd2hpdGUgdGV4dC1jZW50ZXIgdy0yIHAtMCBtLTBcIj5Sb2w8L3RoPlxuICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cImJnLWJsdWUtNTAwIHRleHQtd2hpdGUgdGV4dC1jZW50ZXIgdy0yIHAtMCBtLTBcIj5BZG1pbjwvdGg+XG4gICAgICAgICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiYm9keVwiIGxldC11c2VyPlxuICAgICAgICAgICAgICAgICAgICA8dHI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJwdC0yIHBiLTIgdGV4dC1zbSB0ZXh0LWxlZnRcIj57e3VzZXIuaWRfY2FyZH19PC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cInB0LTIgcGItMiB0ZXh0LXNtIHRleHQtbGVmdFwiPnt7dXNlci5uYW1lfX08L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwicHQtMiBwYi0yIHRleHQtc20gdGV4dC1sZWZ0XCI+e3t1c2VyLmxhc3RfbmFtZX19PC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cInB0LTIgcGItMiB0ZXh0LXNtIHRleHQtbGVmdFwiPnt7dXNlci5lbWFpbH19PC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cInB0LTIgcGItMiB0ZXh0LXNtIHRleHQtcmlnaHRcIj57e3VzZXIucGhvbmVfbnVtYmVyfX08L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkIFtuZ0NsYXNzXT1cImdldFJvbGVVc2VyKHVzZXIucm9sZSlcIiBjbGFzcz1cInB0LTIgcGItMiB0ZXh0LXNtIHRleHQtY2VudGVyXCI+e3t1c2VyLnJvbGV9fTwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJwdC0yIHBiLTIgbWluLXctbWluXCIgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHAtYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJzdWJtaXRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBpY29uPVwicGkgcGktY2hldnJvbi1jaXJjbGUtcmlnaHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwic2VsZWN0VXNlcih1c2VyKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICA+PC9wLWJ1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDwvcC10YWJsZT5cbiAgICAgICAgICA8L3NlY3Rpb24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9tYWluPlxuIl19
|
|
93
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtcmVmZXJyZWQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vZGVzaWduLXN5c3RlbS9zcmMvbGliL2NvZC9tb2RhbC1yZWZlcnJlZC9tb2RhbC1yZWZlcnJlZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9kZXNpZ24tc3lzdGVtL3NyYy9saWIvY29kL21vZGFsLXJlZmVycmVkL21vZGFsLXJlZmVycmVkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUEwQixVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUlwRSxPQUFPLElBQUksTUFBTSxhQUFhLENBQUM7Ozs7Ozs7Ozs7QUFPL0IsTUFBTSxPQUFPLHNCQUFzQjtJQVVqQyxZQUNVLEVBQWUsRUFDZixXQUF3QixFQUN4QixXQUF3QjtRQUZ4QixPQUFFLEdBQUYsRUFBRSxDQUFhO1FBQ2YsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFaekIsZUFBVSxHQUFZLEtBQUssQ0FBQztRQUMzQixlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUNyQyxlQUFVLEdBQUcsSUFBSSxZQUFZLENBQVUsS0FBSyxDQUFDLENBQUM7UUFHeEQsZUFBVSxHQUFZLEtBQUssQ0FBQztRQUU1QixZQUFPLEdBQUcsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztJQU1wQyxDQUFDO0lBRUosUUFBUTtRQUNOLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNsQixDQUFDO0lBRUQsVUFBVTtRQUNSLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxV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aUtDWm5DLDB5R0E0RUE7MkZEaEVhLHNCQUFzQjtrQkFMbEMsU0FBUzsrQkFDRSxvQkFBb0I7c0pBS3JCLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0ksVUFBVTtzQkFBbkIsTUFBTTtnQkFDRyxVQUFVO3NCQUFuQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEJhc2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS91dGlscy9iYXNlLXNlcnZpY2UvYmFzZS5zZXJ2aWNlJztcbmltcG9ydCB7IFVzZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS9zZXJ2aWNlcy91c2VyLXNlcnZpY2UvdXNlci1zZXJ2aWNlJztcbmltcG9ydCB7IGdldFN0dWRlbnRScSB9IGZyb20gJy4uLy4uL2NvcmUvbW9kZWxzL3VzZXIvdXNlci1ycS5tb2RlbCc7XG5pbXBvcnQgU3dhbCBmcm9tICdzd2VldGFsZXJ0Mic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NvZC1tb2RhbC1yZWZlcnJlZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9tb2RhbC1yZWZlcnJlZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL21vZGFsLXJlZmVycmVkLmNvbXBvbmVudC5jc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBNb2RhbFJlZmVycmVkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgdmlzaWJpbGl0eTogYm9vbGVhbiA9IGZhbHNlO1xuICBAT3V0cHV0KCkgdXNlclNlbGVjdCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgbW9kYWxDbG9zZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gIHNlYXJjaFVzZXJGb3JtITogRm9ybUdyb3VwO1xuICB1c2VyRXhpc3RzOiBib29sZWFuID0gZmFsc2U7XG4gIGFsbFVzZXJzOiBhbnk7XG4gIGxvYWRpbmcgPSBbZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2VdO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyLFxuICAgIHByaXZhdGUgYmFzZVNlcnZpY2U6IEJhc2VTZXJ2aWNlLFxuICAgIHByaXZhdGUgdXNlclNlcnZpY2U6IFVzZXJTZXJ2aWNlXG4gICkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmluaXRGb3JtKCk7XG4gIH1cblxuICBjbG9zZU1vZGFsKCkge1xuICAgIHRoaXMudmlzaWJpbGl0eSA9IGZhbHNlO1xuICAgIHRoaXMubW9kYWxDbG9zZS5lbWl0KGZhbHNlKTtcbiAgfVxuXG4gIGluaXRGb3JtKCkge1xuICAgIHRoaXMuc2VhcmNoVXNlckZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcbiAgICAgIHNlYXJjaFVzZXI6IFsnJyxbVmFsaWRhdG9ycy5yZXF1aXJlZCxWYWxpZGF0b3JzLm1pbkxlbmd0aCg0KSxWYWxpZGF0b3JzLm1heExlbmd0aCgzMCldLF0sXG4gICAgfSk7XG5cbiAgICBjb25zdCBzZWFyY2hVc2VyQ29udHJvbCA9IHRoaXMuc2VhcmNoVXNlckZvcm0uZ2V0KCdzZWFyY2hVc2VyJyk7XG4gICAgaWYgKHNlYXJjaFVzZXJDb250cm9sKSB7XG4gICAgICBzZWFyY2hVc2VyQ29udHJvbC52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKCh2YWx1ZSkgPT4ge1xuICAgICAgICAvLyB0aGlzLm1vZGFsQ2xvc2UuZW1pdChmYWxzZSk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBzZWxlY3RVc2VyKGRhdGEgOiBhbnkpe1xuICAgIHRoaXMudXNlclNlbGVjdC5lbWl0KGRhdGEpO1xuICAgIHRoaXMubW9kYWxDbG9zZS5lbWl0KGZhbHNlKTtcblxuICB9XG5cbiAgbG9hZChpbmRleDogYW55LCBmb3JtOiBGb3JtR3JvdXApIHtcbiAgICB0aGlzLmxvYWRpbmdbaW5kZXhdID0gdHJ1ZTtcbiAgICBzZXRUaW1lb3V0KCgpID0+ICh0aGlzLmxvYWRpbmdbaW5kZXhdID0gZmFsc2UpLCAxMDAwKTtcbiAgICB0aGlzLnNlYXJjaChmb3JtKTtcbiAgfVxuXG4gIHNlYXJjaChmb3JtOiBGb3JtR3JvdXApIHtcbiAgICBsZXQgcmVxdWVzdDogZ2V0U3R1ZGVudFJxID0ge1xuICAgICAgdG9rZW46IHRoaXMuYmFzZVNlcnZpY2UuZ2V0VXNlclRva2VuKCksXG4gICAgICBwYXJhbTogZm9ybS52YWx1ZS5zZWFyY2hVc2VyLFxuICAgIH07XG4gICAgY29uc29sZS5sb2cocmVxdWVzdCk7XG5cbiAgICB0aGlzLnVzZXJTZXJ2aWNlLmdldFN0dWRlbnQocmVxdWVzdCkuc3Vic2NyaWJlKChyZXNwb25zZSkgPT4ge1xuICAgICAgY29uc29sZS5sb2cocmVzcG9uc2UuZGF0YSk7XG5cbiAgICAgICAgaWYgKHJlc3BvbnNlLmRhdGEgPT0gbnVsbCkge1xuICAgICAgICAgIHRoaXMudXNlckV4aXN0cyA9IGZhbHNlO1xuICAgICAgICAgIFN3YWwuZmlyZSh7XG4gICAgICAgICAgICB0aXRsZTogJ09vcHMuLi4nLFxuICAgICAgICAgICAgdGV4dDogJ05vIGhheSB1c3VhcmlvcyBjb24gbG9zIHBhcsOhbWV0cm9zIGluZ3Jlc2Fkb3MnLFxuICAgICAgICAgICAgaWNvbjogJ2Vycm9yJyxcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLnVzZXJFeGlzdHMgPSB0cnVlO1xuICAgICAgICAgIHRoaXMuYWxsVXNlcnMgPSByZXNwb25zZS5kYXRhO1xuICAgICAgICAgIGNvbnNvbGUubG9nKHJlc3BvbnNlLmRhdGEpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIGdldFJvbGVVc2VyKGNvZGVSb2xlOiBudW1iZXIpOmFueSB7XG4gICAgdGhpcy51c2VyU2VydmljZS5nZXRVc2VyUm9sZUJ5Q29kZShjb2RlUm9sZSkuc3Vic2NyaWJlKChyZXNwb25zZSk9PntcbiAgICAgIGNvbnNvbGUubG9nKHJlc3BvbnNlLmRhdGFbMF0ucm9sZSk7XG4gICAgICByZXR1cm4gcmVzcG9uc2UuZGF0YVswXS5yb2xlO1xuICAgIH0pXG4gIH1cblxufVxuIiwiPG1haW4gKm5nSWY9XCJ2aXNpYmlsaXR5XCI+XG4gIDxkaXYgQGZhZGUgY2xhc3M9XCJtb2RhbF9jb250YWluZXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwiaGVhZGVyX21vZGFsXCI+XG4gICAgICA8aDE+RGF0b3MgZGUgcXVpZW4gbG8gcmVmaWVyZTwvaDE+XG4gICAgICA8YnV0dG9uIChjbGljayk9XCJjbG9zZU1vZGFsKClcIj54PC9idXR0b24+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImdyaWRfY29udGFpbmVyXCI+XG4gICAgICA8ZGl2PlxuICAgICAgICA8c2VjdGlvblxuICAgICAgICAgIGlkPVwiY29udGFpbmVyXCJcbiAgICAgICAgICBjbGFzcz1cImZsZXggZmxleC1jb2x1bW4gYmctd2hpdGUgYm9yZGVyLXJvdW5kLTJ4bFwiXG4gICAgICAgID5cbiAgICAgICAgICA8Zm9ybVxuICAgICAgICAgICAgYXV0b2NvbXBsZXRlPVwib2ZmXCJcbiAgICAgICAgICAgIChuZ1N1Ym1pdCk9XCJzZWFyY2goc2VhcmNoVXNlckZvcm0pXCJcbiAgICAgICAgICAgIGNsYXNzPVwiZm9ybVwiXG4gICAgICAgICAgICBbZm9ybUdyb3VwXT1cInNlYXJjaFVzZXJGb3JtXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJCdXNjYXIgcG9yIG5vbWJyZSwgZG9jdW1lbnRvIG8gdGVsw6lmb25vXCJcbiAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cIiRhbnkoc2VhcmNoVXNlckZvcm0uY29udHJvbHNbJ3NlYXJjaFVzZXInXSlcIlxuICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgIHBJbnB1dFRleHRcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8cC1idXR0b25cbiAgICAgICAgICAgICAgdHlwZT1cInN1Ym1pdFwiXG4gICAgICAgICAgICAgIGxhYmVsPVwiQnVzY2FyXCJcbiAgICAgICAgICAgICAgaWNvbj1cInBpIHBpLXNlYXJjaFwiXG4gICAgICAgICAgICAgIFtsb2FkaW5nXT1cImxvYWRpbmdbMF1cIlxuICAgICAgICAgICAgICAob25DbGljayk9XCJsb2FkKDAsIHNlYXJjaFVzZXJGb3JtKVwiXG4gICAgICAgICAgICA+PC9wLWJ1dHRvbj5cbiAgICAgICAgICA8L2Zvcm0+XG4gICAgICAgIDwvc2VjdGlvbj5cblxuICAgICAgICA8ZGl2ICpuZ0lmPVwidXNlckV4aXN0c1wiIGNsYXNzPVwicmVmZXJyZXJJbmZvcm1hdGlvblwiPlxuICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPVwidXNlckxpc3RcIj5cbiAgICAgICAgICAgICAgPHAtdGFibGVcbiAgICAgICAgICAgICAgICBbdmFsdWVdPVwiYWxsVXNlcnNcIlxuICAgICAgICAgICAgICAgIFtzY3JvbGxhYmxlXT1cInRydWVcIlxuICAgICAgICAgICAgICAgIHNjcm9sbEhlaWdodD1cIjE1MHB4XCJcbiAgICAgICAgICAgICAgICBbdGFibGVTdHlsZV09XCJ7J21pbi13aWR0aCc6ICc1MHJlbSd9XCI+XG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImhlYWRlclwiPlxuICAgICAgICAgICAgICAgICAgICA8dHI+XG4gICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPVwiYmctYmx1ZS01MDAgdGV4dC13aGl0ZSB0ZXh0LWNlbnRlciB3LTIgcC0wIG0tMFwiPkRvY3VtZW50bzwvdGg+XG4gICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPVwiYmctYmx1ZS01MDAgdGV4dC13aGl0ZSB0ZXh0LWNlbnRlciB3LTIgcC0wIG0tMFwiPk5vbWJyZXM8L3RoPlxuICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cImJnLWJsdWUtNTAwIHRleHQtd2hpdGUgdGV4dC1jZW50ZXIgdy0yIHAtMCBtLTBcIj5BcGVsbGlkb3M8L3RoPlxuICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cImJnLWJsdWUtNTAwIHRleHQtd2hpdGUgdGV4dC1jZW50ZXIgdy0yIHAtMCBtLTBcIj5FbWFpbDwvdGg+XG4gICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPVwiYmctYmx1ZS01MDAgdGV4dC13aGl0ZSB0ZXh0LWNlbnRlciB3LTIgcC0wIG0tMFwiPlRlbGVmb25vPC90aD5cbiAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJiZy1ibHVlLTUwMCB0ZXh0LXdoaXRlIHRleHQtY2VudGVyIHctMiBwLTAgbS0wXCI+Um9sPC90aD5cbiAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJiZy1ibHVlLTUwMCB0ZXh0LXdoaXRlIHRleHQtY2VudGVyIHctMiBwLTAgbS0wXCI+QWRtaW48L3RoPlxuICAgICAgICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImJvZHlcIiBsZXQtdXNlcj5cbiAgICAgICAgICAgICAgICAgICAgPHRyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwicHQtMiBwYi0yIHRleHQtc20gdGV4dC1sZWZ0XCI+e3t1c2VyLmlkX2NhcmR9fTwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJwdC0yIHBiLTIgdGV4dC1zbSB0ZXh0LWxlZnRcIj57e3VzZXIubmFtZX19PC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cInB0LTIgcGItMiB0ZXh0LXNtIHRleHQtbGVmdFwiPnt7dXNlci5sYXN0X25hbWV9fTwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJwdC0yIHBiLTIgdGV4dC1zbSB0ZXh0LWxlZnRcIj57e3VzZXIuZW1haWx9fTwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJwdC0yIHBiLTIgdGV4dC1zbSB0ZXh0LXJpZ2h0XCI+e3t1c2VyLnBob25lX251bWJlcn19PC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cInB0LTIgcGItMiB0ZXh0LXNtIHRleHQtY2VudGVyXCI+e3tnZXRSb2xlVXNlcih1c2VyLnJvbGUpfX08L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwicHQtMiBwYi0yIG1pbi13LW1pblwiIHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxwLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwic3VibWl0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgaWNvbj1cInBpIHBpLWNoZXZyb24tY2lyY2xlLXJpZ2h0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdFVzZXIodXNlcilcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPjwvcC1idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICA8L3AtdGFibGU+XG4gICAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvbWFpbj5cbiJdfQ==
|
|
@@ -183,10 +183,10 @@ export class CodFormStepFiveComponent extends CodFormSteps {
|
|
|
183
183
|
}
|
|
184
184
|
}
|
|
185
185
|
CodFormStepFiveComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: CodFormStepFiveComponent, deps: [{ token: i1.FormBuilder }, { token: i2.ParameterService }], target: i0.ɵɵFactoryTarget.Component });
|
|
186
|
-
CodFormStepFiveComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: CodFormStepFiveComponent, selector: "app-cod-form-step-five", inputs: { userRole: "userRole", initialData: "initialData" }, outputs: { changeStepEvent: "changeStepEvent", action: "action" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<form autocomplete=\"off\" [formGroup]=\"codFormStepFive\" class=\"grid\">\n <div class=\"col-12 md:col-6\">\n <cod-modal-referred\n *ngIf=\"modalVisible\"\n [visibility]=\"modalVisible\"\n (modalClose)=\"closeModal($event)\"\n (userSelect)=\"referredUser($event)\"\n ></cod-modal-referred>\n\n <ipt-select\n [control]=\"codFormStepFive.controls['marketing_reasons']\"\n [initialValue]=\"codFormStepFive.controls['marketing_reasons'].value\"\n (eventSelect)=\"selectMarketingReasons($event)\"\n [data]=\"marketingReasons\"\n [defaultText]=\"'\u00BFC\u00F3mo se enter\u00F3 del programa?'\"\n ></ipt-select>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Discapacidad'\"\n [control]=\"codFormStepFive.controls['disability']\"\n ></ipt-input>\n </div>\n <div class=\"col-12 md:col-6\">\n <ipt-select\n [control]=\"codFormStepFive.controls['study_reasons']\"\n [initialValue]=\"codFormStepFive.controls['study_reasons'].value\"\n (eventSelect)=\"selectStudyReasons($event)\"\n [data]=\"studyReasons\"\n [defaultText]=\"'Motivo'\"\n ></ipt-select>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'R\u00E9gimen de salud'\"\n [control]=\"codFormStepFive.controls['health_regimen']\"\n ></ipt-input>\n </div>\n <div class=\"col-12\">\n <h3 *ngIf=\"
|
|
186
|
+
CodFormStepFiveComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: CodFormStepFiveComponent, selector: "app-cod-form-step-five", inputs: { userRole: "userRole", initialData: "initialData" }, outputs: { changeStepEvent: "changeStepEvent", action: "action" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<form autocomplete=\"off\" [formGroup]=\"codFormStepFive\" class=\"grid\">\n <div class=\"col-12 md:col-6\">\n <cod-modal-referred\n *ngIf=\"modalVisible\"\n [visibility]=\"modalVisible\"\n (modalClose)=\"closeModal($event)\"\n (userSelect)=\"referredUser($event)\"\n ></cod-modal-referred>\n\n <ipt-select\n [control]=\"codFormStepFive.controls['marketing_reasons']\"\n [initialValue]=\"codFormStepFive.controls['marketing_reasons'].value\"\n (eventSelect)=\"selectMarketingReasons($event)\"\n [data]=\"marketingReasons\"\n [defaultText]=\"'\u00BFC\u00F3mo se enter\u00F3 del programa?'\"\n ></ipt-select>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Discapacidad'\"\n [control]=\"codFormStepFive.controls['disability']\"\n ></ipt-input>\n </div>\n <div class=\"col-12 md:col-6\">\n <ipt-select\n [control]=\"codFormStepFive.controls['study_reasons']\"\n [initialValue]=\"codFormStepFive.controls['study_reasons'].value\"\n (eventSelect)=\"selectStudyReasons($event)\"\n [data]=\"studyReasons\"\n [defaultText]=\"'Motivo'\"\n ></ipt-select>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'R\u00E9gimen de salud'\"\n [control]=\"codFormStepFive.controls['health_regimen']\"\n ></ipt-input>\n </div>\n <div class=\"col-12\">\n <h3 *ngIf=\"visbleReferred\" class=\"referred_title\">Datos del referido</h3>\n <div *ngIf=\"visbleReferred\" class=\"referred_user_data\">\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Documento'\"\n [control]=\"codFormStepFive.controls['document_refers']\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Nombres'\"\n [control]=\"codFormStepFive.controls['name_refers']\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Tel\u00E9fono'\"\n [control]=\"codFormStepFive.controls['phone_refers']\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Email'\"\n [control]=\"codFormStepFive.controls['email_refers']\"\n ></ipt-input>\n </div>\n <span class=\"p-float-label\">\n <textarea\n id=\"float-input\"\n rows=\"4\"\n cols=\"30\"\n pInputTextarea\n formControlName=\"observation\"\n ></textarea>\n <label for=\"float-input\">Observaciones</label>\n </span>\n <div class=\"flex flex-wrap justify-content-between gap-2\">\n <div\n *ngFor=\"let option of multiculturalities; index as i\"\n class=\"field-checkbox mt-4 flex align-items-center\"\n >\n <mat-checkbox\n [formControlName]=\"'multiculturalism' + '_' + (i + 1)\"\n class=\"example-margin\"\n ></mat-checkbox>\n <label [for]=\"option.code\">{{ option.name }}</label>\n </div>\n </div>\n </div>\n\n <div class=\"col-12 p-4 font-bold\">\n <p>\n * El estudiante o titular se comprometen a cancelar las cuotas\n establecidas en este contrato, los primeros 5 (cinco) d\u00EDas del mes. En\n caso de querer retirarse, deber\u00E1 informar por escrito 30 (treinta) d\u00EDas\n antes y cancelar lo correspondiente hasta la fecha definida de retiro,\n para poder obtener su paz y salvo.\n </p>\n <br /><br />\n <div class=\"flex gap-2\">\n <mat-checkbox\n formControlName=\"terms\"\n class=\"example-margin\"\n ></mat-checkbox>\n <!-- <p-checkbox [formControl]=\"getCheckboxControl()\"></p-checkbox> -->\n <!-- <ipt-checkbox [control]=\"codFormStepFive.controls['terms']\" [checkboxOption]=\"termsCheckboxStatus\"></ipt-checkbox> -->\n <p>\n DECLARO HABER LE\u00CDDO Y ACEPTO LOS T\u00C9RMINOS Y CONDICIONES DE LAS POL\u00CDTICAS\n ESTABLECIDAS EN LA INSTITUCI\u00D3N.\n </p>\n </div>\n </div>\n</form>\n\n<div class=\"flex mt-3 align-items-center gap-3\">\n <span\n *ngIf=\"\n (codFormStepFive.invalid && codFormStepFive.touched) ||\n (!termsCheckboxStatus && codFormStepFive.touched)\n \"\n class=\"\n text-red-500\n font-bold\n text-center\n mt-1\n py-2\n bg-red-100\n w-full\n border-round-xl\n \"\n >{{ errorMessage }}</span\n >\n <button\n type=\"submit\"\n class=\"ml-auto p-button-success p-button-sm\"\n (click)=\"sendForm()\"\n pButton\n [label]=\"sendFormMsg\"\n icon=\"pi pi-check\"\n ></button>\n</div>\n", styles: ["@media screen and (min-width: 320px){.referred_user_data{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:.8rem;margin-bottom:2rem;border:1px solid #ced4da;border-radius:6px;padding:.5rem}.referred_title{font-size:.8rem;font-weight:400;padding-left:1rem;color:#6c757d}}@media screen and (min-width: 768px){.referred_user_data{grid-template-columns:1fr 1fr}}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.InputComponent, selector: "ipt-input", inputs: ["inputType", "placeHolder", "validateText", "withPipe", "list", "iconUrl", "control", "prefix", "thousands", "decimal"], outputs: ["dateSelected"] }, { kind: "component", type: i5.SelectComponent, selector: "ipt-select", inputs: ["isRequired", "data", "defaultText", "selectCode", "disabledSel", "initialValue", "control"], outputs: ["eventSelect"] }, { kind: "component", type: i6.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i7.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }, { kind: "directive", type: i8.InputTextarea, selector: "[pInputTextarea]", inputs: ["autoResize"], outputs: ["onResize"] }, { kind: "component", type: i9.ModalReferredComponent, selector: "cod-modal-referred", inputs: ["visibility"], outputs: ["userSelect", "modalClose"] }] });
|
|
187
187
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: CodFormStepFiveComponent, decorators: [{
|
|
188
188
|
type: Component,
|
|
189
|
-
args: [{ selector: 'app-cod-form-step-five', template: "<form autocomplete=\"off\" [formGroup]=\"codFormStepFive\" class=\"grid\">\n <div class=\"col-12 md:col-6\">\n <cod-modal-referred\n *ngIf=\"modalVisible\"\n [visibility]=\"modalVisible\"\n (modalClose)=\"closeModal($event)\"\n (userSelect)=\"referredUser($event)\"\n ></cod-modal-referred>\n\n <ipt-select\n [control]=\"codFormStepFive.controls['marketing_reasons']\"\n [initialValue]=\"codFormStepFive.controls['marketing_reasons'].value\"\n (eventSelect)=\"selectMarketingReasons($event)\"\n [data]=\"marketingReasons\"\n [defaultText]=\"'\u00BFC\u00F3mo se enter\u00F3 del programa?'\"\n ></ipt-select>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Discapacidad'\"\n [control]=\"codFormStepFive.controls['disability']\"\n ></ipt-input>\n </div>\n <div class=\"col-12 md:col-6\">\n <ipt-select\n [control]=\"codFormStepFive.controls['study_reasons']\"\n [initialValue]=\"codFormStepFive.controls['study_reasons'].value\"\n (eventSelect)=\"selectStudyReasons($event)\"\n [data]=\"studyReasons\"\n [defaultText]=\"'Motivo'\"\n ></ipt-select>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'R\u00E9gimen de salud'\"\n [control]=\"codFormStepFive.controls['health_regimen']\"\n ></ipt-input>\n </div>\n <div class=\"col-12\">\n <h3 *ngIf=\"
|
|
189
|
+
args: [{ selector: 'app-cod-form-step-five', template: "<form autocomplete=\"off\" [formGroup]=\"codFormStepFive\" class=\"grid\">\n <div class=\"col-12 md:col-6\">\n <cod-modal-referred\n *ngIf=\"modalVisible\"\n [visibility]=\"modalVisible\"\n (modalClose)=\"closeModal($event)\"\n (userSelect)=\"referredUser($event)\"\n ></cod-modal-referred>\n\n <ipt-select\n [control]=\"codFormStepFive.controls['marketing_reasons']\"\n [initialValue]=\"codFormStepFive.controls['marketing_reasons'].value\"\n (eventSelect)=\"selectMarketingReasons($event)\"\n [data]=\"marketingReasons\"\n [defaultText]=\"'\u00BFC\u00F3mo se enter\u00F3 del programa?'\"\n ></ipt-select>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Discapacidad'\"\n [control]=\"codFormStepFive.controls['disability']\"\n ></ipt-input>\n </div>\n <div class=\"col-12 md:col-6\">\n <ipt-select\n [control]=\"codFormStepFive.controls['study_reasons']\"\n [initialValue]=\"codFormStepFive.controls['study_reasons'].value\"\n (eventSelect)=\"selectStudyReasons($event)\"\n [data]=\"studyReasons\"\n [defaultText]=\"'Motivo'\"\n ></ipt-select>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'R\u00E9gimen de salud'\"\n [control]=\"codFormStepFive.controls['health_regimen']\"\n ></ipt-input>\n </div>\n <div class=\"col-12\">\n <h3 *ngIf=\"visbleReferred\" class=\"referred_title\">Datos del referido</h3>\n <div *ngIf=\"visbleReferred\" class=\"referred_user_data\">\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Documento'\"\n [control]=\"codFormStepFive.controls['document_refers']\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Nombres'\"\n [control]=\"codFormStepFive.controls['name_refers']\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Tel\u00E9fono'\"\n [control]=\"codFormStepFive.controls['phone_refers']\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Email'\"\n [control]=\"codFormStepFive.controls['email_refers']\"\n ></ipt-input>\n </div>\n <span class=\"p-float-label\">\n <textarea\n id=\"float-input\"\n rows=\"4\"\n cols=\"30\"\n pInputTextarea\n formControlName=\"observation\"\n ></textarea>\n <label for=\"float-input\">Observaciones</label>\n </span>\n <div class=\"flex flex-wrap justify-content-between gap-2\">\n <div\n *ngFor=\"let option of multiculturalities; index as i\"\n class=\"field-checkbox mt-4 flex align-items-center\"\n >\n <mat-checkbox\n [formControlName]=\"'multiculturalism' + '_' + (i + 1)\"\n class=\"example-margin\"\n ></mat-checkbox>\n <label [for]=\"option.code\">{{ option.name }}</label>\n </div>\n </div>\n </div>\n\n <div class=\"col-12 p-4 font-bold\">\n <p>\n * El estudiante o titular se comprometen a cancelar las cuotas\n establecidas en este contrato, los primeros 5 (cinco) d\u00EDas del mes. En\n caso de querer retirarse, deber\u00E1 informar por escrito 30 (treinta) d\u00EDas\n antes y cancelar lo correspondiente hasta la fecha definida de retiro,\n para poder obtener su paz y salvo.\n </p>\n <br /><br />\n <div class=\"flex gap-2\">\n <mat-checkbox\n formControlName=\"terms\"\n class=\"example-margin\"\n ></mat-checkbox>\n <!-- <p-checkbox [formControl]=\"getCheckboxControl()\"></p-checkbox> -->\n <!-- <ipt-checkbox [control]=\"codFormStepFive.controls['terms']\" [checkboxOption]=\"termsCheckboxStatus\"></ipt-checkbox> -->\n <p>\n DECLARO HABER LE\u00CDDO Y ACEPTO LOS T\u00C9RMINOS Y CONDICIONES DE LAS POL\u00CDTICAS\n ESTABLECIDAS EN LA INSTITUCI\u00D3N.\n </p>\n </div>\n </div>\n</form>\n\n<div class=\"flex mt-3 align-items-center gap-3\">\n <span\n *ngIf=\"\n (codFormStepFive.invalid && codFormStepFive.touched) ||\n (!termsCheckboxStatus && codFormStepFive.touched)\n \"\n class=\"\n text-red-500\n font-bold\n text-center\n mt-1\n py-2\n bg-red-100\n w-full\n border-round-xl\n \"\n >{{ errorMessage }}</span\n >\n <button\n type=\"submit\"\n class=\"ml-auto p-button-success p-button-sm\"\n (click)=\"sendForm()\"\n pButton\n [label]=\"sendFormMsg\"\n icon=\"pi pi-check\"\n ></button>\n</div>\n", styles: ["@media screen and (min-width: 320px){.referred_user_data{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:.8rem;margin-bottom:2rem;border:1px solid #ced4da;border-radius:6px;padding:.5rem}.referred_title{font-size:.8rem;font-weight:400;padding-left:1rem;color:#6c757d}}@media screen and (min-width: 768px){.referred_user_data{grid-template-columns:1fr 1fr}}\n"] }]
|
|
190
190
|
}], ctorParameters: function () { return [{ type: i1.FormBuilder }, { type: i2.ParameterService }]; }, propDecorators: { userRole: [{
|
|
191
191
|
type: Input
|
|
192
192
|
}], initialData: [{
|
|
@@ -196,4 +196,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImpor
|
|
|
196
196
|
}], action: [{
|
|
197
197
|
type: Output
|
|
198
198
|
}] } });
|
|
199
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kLWZvcm0tc3RlcC1maXZlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2Rlc2lnbi1zeXN0ZW0vc3JjL2xpYi9jb2Qvc3RlcHMvY29kLWZvcm0tc3RlcC1maXZlL2NvZC1mb3JtLXN0ZXAtZml2ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9kZXNpZ24tc3lzdGVtL3NyYy9saWIvY29kL3N0ZXBzL2NvZC1mb3JtLXN0ZXAtZml2ZS9jb2QtZm9ybS1zdGVwLWZpdmUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3pHLE9BQU8sRUFBd0QsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHbEcsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxZQUFZLEVBQXNCLE1BQU0sNEJBQTRCLENBQUM7Ozs7Ozs7Ozs7O0FBTzlFLE1BQU0sT0FBTyx3QkFBeUIsU0FBUSxZQUFZO0lBbUJ4RCxZQUNVLEVBQWUsRUFDZixnQkFBa0M7UUFFMUMsS0FBSyxFQUFFLENBQUM7UUFIQSxPQUFFLEdBQUYsRUFBRSxDQUFhO1FBQ2YscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQWxCbEMsb0JBQWUsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBQzdDLFdBQU0sR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBSzlDLGlCQUFZLEdBQVcsMkJBQTJCLENBQUM7UUFFbkQsd0JBQW1CLEdBQVksS0FBSyxDQUFDO1FBRXJDLGlCQUFZLEdBQVksS0FBSyxDQUFDO1FBQzlCLG1CQUFjLEdBQVksS0FBSyxDQUFDO1FBRWhDLDBCQUEwQjtRQUMxQixhQUFRLEdBQUcsSUFBSSxlQUFlLEVBQUUs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TSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPbkluaXQsIE91dHB1dCwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBGb3JtQnVpbGRlciwgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFBhcmFtZXRlclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9jb3JlL3NlcnZpY2VzL3BhcmFtZXRlcnMtc2VydmljZS9wYXJhbWV0ZXJzLnNlcnZpY2UnO1xuaW1wb3J0IFN3YWwgZnJvbSAnc3dlZXRhbGVydDInO1xuaW1wb3J0IHsgQ29kRm9ybUNvbnRyb2xzIH0gZnJvbSAnLi4vLi4vbG9naWMvY29kLWZvcm0tY29udHJvbHMnO1xuaW1wb3J0IHsgQ29kRm9ybVN0ZXBzLCBsb2NhbFN0b3JhZ2VWYWx1ZXMgfSBmcm9tICcuLi8uLi9sb2dpYy9jb2QtZm9ybS1zdGVwcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1jb2QtZm9ybS1zdGVwLWZpdmUnLFxuICB0ZW1wbGF0ZVVybDogJy4vY29kLWZvcm0tc3RlcC1maXZlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY29kLWZvcm0tc3RlcC1maXZlLmNvbXBvbmVudC5jc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBDb2RGb3JtU3RlcEZpdmVDb21wb25lbnQgZXh0ZW5kcyBDb2RGb3JtU3RlcHMgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICBASW5wdXQoKSB1c2VyUm9sZSE6IG51bWJlcjtcbiAgQElucHV0KCkgaW5pdGlhbERhdGE/OiBhbnk7XG4gIEBPdXRwdXQoKSBjaGFuZ2VTdGVwRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcbiAgQE91dHB1dCgpIGFjdGlvbiA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIGNvZEZvcm1TdGVwRml2ZSE6IEZvcm1Hcm91cDtcbiAgbWFya2V0aW5nUmVhc29uczogYW55O1xuICBzdHVkeVJlYXNvbnM6IGFueTtcbiAgZXJyb3JNZXNzYWdlOiBzdHJpbmcgPSAnRmFsdGFuIGNhbXBvcyBwb3IgbGxlbmFyLic7XG4gIHNlbmRGb3JtTXNnITogc3RyaW5nO1xuICB0ZXJtc0NoZWNrYm94U3RhdHVzOiBib29sZWFuID0gZmFsc2U7XG4gIG11bHRpY3VsdHVyYWxpdGllczogYW55O1xuICBtb2RhbFZpc2libGU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgdmlzYmxlUmVmZXJyZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvLyBDb250cm9scyBkZWwgZm9ybXVsYXJpb1xuICBjb250cm9scyA9IG5ldyBDb2RGb3JtQ29udHJvbHMoKS5jb250cm9sc1s0XTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGZiOiBGb3JtQnVpbGRlcixcbiAgICBwcml2YXRlIHBhcmFtZXRlclNlcnZpY2U6IFBhcmFtZXRlclNlcnZpY2UsXG4gICkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgdGhpcy5pbml0Rm9ybSgpO1xuICAgIHRoaXMuc3RhcnRMb2NhbFN0b3JhZ2VXb3JrKCk7XG4gICAgdGhpcy5nZXRQYXJhbWV0ZXJzKCk7XG4gICAgdGhpcy5jb2RGb3JtU3RlcEZpdmUuY29udHJvbHNbJ3Rlcm1zJ10udmFsdWVDaGFuZ2VzLnN1YnNjcmliZShjaGFuZ2VzID0+IHtcbiAgICAgIHRoaXMudGVybXNDaGVja2JveFN0YXR1cyA9IGNoYW5nZXM7XG4gICAgICBpZiAoIXRoaXMudGVybXNDaGVja2JveFN0YXR1cykgdGhpcy5lcnJvck1lc3NhZ2UgPSAnRGViZSBtYXJjYXIgbGEgY2FzaWxsYSBkZSB0w6lybWlub3MgeSBjb25kaWNpb25lcy4nXG4gICAgfSlcbiAgICAvLyBpZiAodGhpcy51c2VyUm9sZSA9PT0gMzAgfHwgdGhpcy51c2VyUm9sZSA9PT0gMzEgfHwgdGhpcy51c2VyUm9sZSA9PT0gMzIpIHRoaXMuc2VuZEZvcm1Nc2cgPSAnRWRpdGFyIENPRCc7IC8vIFJvbGVzIEFkbWluaXN0cmF0aXZvc1xuICAgIGlmICh0aGlzLnVzZXJSb2xlID09PSAzMCB8fCB0aGlzLnVzZXJSb2xlID09PSAzMSB8fCB0aGlzLnVzZXJSb2xlID09PSAzMiB8fFxuICAgICAgICB0aGlzLnVzZXJSb2xlID09PSA0MCB8fCB0aGlzLnVzZXJSb2xlID09PSA0MSB8fCB0aGlzLnVzZXJSb2xlID09PSA0MiB8fFxuICAgICAgICB0aGlzLnVzZXJSb2xlID09PSA1MCB8fCB0aGlzLnVzZXJSb2xlID09PSA1MSB8fCB0aGlzLnVzZXJSb2xlID09PSA1MiB8fFxuICAgICAgICB0aGlzLnVzZXJSb2xlID09PSAxXG4gICAgICAgICkgdGhpcy5zZW5kRm9ybU1zZyA9ICdDcmVhciBDT0QnOyAvLyBSb2xlcyBjb21lcmNpYWxlc1xuICAgIGlmIChjaGFuZ2VzWydpbml0aWFsRGF0YSddKSB7XG4gICAgICBpZiAodGhpcy5pbml0aWFsRGF0YSAhPSBudWxsKSB7XG4gICAgICAgIHRoaXMuc2V0RGF0YUZyb21QcmV2aXVzQ29kKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgZ2V0UGFyYW1ldGVycygpIHtcbiAgICB0aGlzLnBhcmFtZXRlclNlcnZpY2UuZ2V0TWFya2V0aW5nUmVhc29ucygpLnN1YnNjcmliZSgocmVzcG9uc2UpID0+IHtcbiAgICAgIHRoaXMubWFya2V0aW5nUmVhc29ucyA9IHJlc3BvbnNlLmRhdGE7XG4gICAgfSk7XG4gICAgdGhpcy5wYXJhbWV0ZXJTZXJ2aWNlLmdldFN0dWR5UmVhc29ucygpLnN1YnNjcmliZSgocmVzcG9uc2UpID0+IHtcbiAgICAgIHRoaXMuc3R1ZHlSZWFzb25zID0gcmVzcG9uc2UuZGF0YTtcbiAgICB9KTtcbiAgICB0aGlzLnBhcmFtZXRlclNlcnZpY2UuZ2V0TXVsdGljdWx0dXJhbGlzbXMoKS5zdWJzY3JpYmUoKHJlc3BvbnNlKSA9PiB7XG4gICAgICB0aGlzLm11bHRpY3VsdHVyYWxpdGllcyA9IHJlc3BvbnNlLmRhdGE7XG4gICAgfSk7XG4gIH1cblxuICBpbml0Rm9ybSgpIHtcbiAgICB0aGlzLmNvZEZvcm1TdGVwRml2ZSA9IHRoaXMuZmIuZ3JvdXAoe1xuICAgICAgbWFya2V0aW5nX3JlYXNvbnM6ICBbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXV0sXG4gICAgICBvYnNlcnZhdGlvbjogICAgICAgIFsnJ10sXG4gICAgICBzdHVkeV9yZWFzb25zOiAgICAgIFsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXSxcbiAgICAgIHRlcm1zOiAgICAgICAgICAgICAgW2ZhbHNlLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF1dLFxuICAgICAgZGlzYWJpbGl0eTogICAgICAgICBbJyddLFxuICAgICAgbXVsdGljdWx0dXJhbGlzbV8xOiBbZmFsc2UsIFtdXSxcbiAgICAgIG11bHRpY3VsdHVyYWxpc21fMjogW2ZhbHNlLCBbXV0sXG4gICAgICBtdWx0aWN1bHR1cmFsaXNtXzM6IFtmYWxzZSwgW11dLFxuICAgICAgbXVsdGljdWx0dXJhbGlzbV80OiBbZmFsc2UsIFtdXSxcbiAgICAgIG11bHRpY3VsdHVyYWxpc21fNTogW2ZhbHNlLCBbXV0sXG4gICAgICBtdWx0aWN1bHR1cmFsaXNtXzY6IFtmYWxzZSwgW11dLFxuICAgICAgbXVsdGljdWx0dXJhbGlzbV83OiBbZmFsc2UsIFtdXSxcbiAgICAgIGhlYWx0aF9yZWdpbWVuOiAgICAgWycnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF1dLFxuICAgICAgY29kZV9yZWZlcnM6ICAgICAgICBbJyddLFxuICAgICAgZG9jdW1lbnRfcmVmZXJzOiAgICBbeyB2YWx1ZTogJycsIGRpc2FibGVkOiB0cnVlIH1dLFxuICAgICAgbmFtZV9yZWZlcnM6ICAgICAgICBbeyB2YWx1ZTogJycsIGRpc2FibGVkOiB0cnVlIH1dLFxuICAgICAgcGhvbmVfcmVmZXJzOiAgICAgICBbeyB2YWx1ZTogJycsIGRpc2FibGVkOiB0cnVlIH1dLFxuICAgICAgZW1haWxfcmVmZXJzOiAgICAgICBbeyB2YWx1ZTogJycsIGRpc2FibGVkOiB0cnVlIH1dLFxuICAgIH0pO1xuXG4gICAgdGhpcy5jb2RGb3JtU3RlcEZpdmUuY29udHJvbHNbJ21hcmtldGluZ19yZWFzb25zJ10udmFsdWVDaGFuZ2VzLnN1YnNjcmliZShjaGFuZ2UgPT4ge1xuICAgICAgaWYgKGNoYW5nZSA9PT0gJzEnKSB7XG4gICAgICAgIHRoaXMubW9kYWxWaXNpYmxlID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5jb2RGb3JtU3RlcEZpdmUuY29udHJvbHNbJ2NvZGVfcmVmZXJzJ10uc2V0VmFsaWRhdG9ycyhbVmFsaWRhdG9ycy5yZXF1aXJlZF0pO1xuICAgICAgICB0aGlzLmNvZEZvcm1TdGVwRml2ZS5jb250cm9sc1snY29kZV9yZWZlcnMnXS51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmNvZEZvcm1TdGVwRml2ZS5jb250cm9sc1snY29kZV9yZWZlcnMnXS5jbGVhclZhbGlkYXRvcnMoKTtcbiAgICAgICAgdGhpcy5jb2RGb3JtU3RlcEZpdmUuY29udHJvbHNbJ2NvZGVfcmVmZXJzJ10udXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICAgICAgICB0aGlzLm1vZGFsVmlzaWJsZSA9IGZhbHNlO1xuICAgICAgfVxuICAgIH0pXG4gIH1cblxuICBzdGFydExvY2FsU3RvcmFnZVdvcmsoKSB7XG4gICAgdGhpcy5jb250cm9scy5mb3JFYWNoKGNvbnRyb2wgPT4ge1xuICAgICAgbGV0IGxvY2FsU3RvcmFnZVZhbHVlOiBsb2NhbFN0b3JhZ2VWYWx1ZXMgPSB0aGlzLnJlYWRBbmRXcml0ZUxTKDUsIGNvbnRyb2wubmFtZSk7XG5cbiAgICAgIC8vIFNvbHVjacOzbiBhbCBidWcgZGVsIGNoZWNrYm94XG4gICAgICBpZiAobG9jYWxTdG9yYWdlVmFsdWUuY29udHJvbCA9PT0gJ3Rlcm1zJykge1xuICAgICAgICBsZXQgbmV4dFZhbHVlOiBib29sZWFuID0gbG9jYWxTdG9yYWdlVmFsdWUudmFsdWUgPT09ICd0cnVlJyA/IHRydWUgOiBmYWxzZTtcbiAgICAgICAgdGhpcy5jb2RGb3JtU3RlcEZpdmUuY29udHJvbHNbJ3Rlcm1zJ10uc2V0VmFsdWUobmV4dFZhbHVlKTtcbiAgICAgICAgdGhpcy50ZXJtc0NoZWNrYm94U3RhdHVzID0gbmV4dFZhbHVlO1xuICAgICAgfVxuICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gLy9cblxuICAgICAgdGhpcy5jb2RGb3JtU3RlcEZpdmUuY29udHJvbHNbY29udHJvbC5uYW1lXS5zZXRWYWx1ZShsb2NhbFN0b3JhZ2VWYWx1ZS52YWx1ZSk7XG4gICAgICB0aGlzLmxpc3RlbkZvcm1DaGFuZ2VzKDUsIGNvbnRyb2wubmFtZSwgdGhpcy5jb2RGb3JtU3RlcEZpdmUuY29udHJvbHNbY29udHJvbC5uYW1lXS52YWx1ZUNoYW5nZXMpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5jb250cm9scy5maWx0ZXIoY29udHJvbCA9PiBjb250cm9sLmRlc2NyaXB0aW9uID09PSAnTXVsdGljdWx0dXJhbGlzbW8nKS5mb3JFYWNoKGNvbnRyb2wgPT4ge1xuICAgICAgbGV0IGxvY2FsU3RvcmFnZVZhbHVlOiBsb2NhbFN0b3JhZ2VWYWx1ZXMgPSB0aGlzLnJlYWRBbmRXcml0ZUxTKDUsIGNvbnRyb2wubmFtZSk7XG4gICAgICBsZXQgbmV4dFZhbHVlOiBib29sZWFuID0gbG9jYWxTdG9yYWdlVmFsdWUudmFsdWUgPT09ICd0cnVlJyA/IHRydWUgOiBmYWxzZTtcbiAgICAgIHRoaXMuY29kRm9ybVN0ZXBGaXZlLmNvbnRyb2xzW2NvbnRyb2wubmFtZV0uc2V0VmFsdWUobmV4dFZhbHVlKTtcbiAgICB9KVxuICB9XG5cbiAgZ2V0Q2hlY2tib3hDb250cm9sKCk6IEZvcm1Db250cm9sIHtcbiAgICByZXR1cm4gdGhpcy5jb2RGb3JtU3RlcEZpdmUuY29udHJvbHNbJ3Rlcm1zJ10gYXMgRm9ybUNvbnRyb2w7XG4gIH1cblxuICBzZW5kRm9ybSgpIHtcbiAgICB0aGlzLmNvZEZvcm1TdGVwRml2ZS5tYXJrQWxsQXNUb3VjaGVkKCk7XG4gICAgaWYgKHRoaXMuY29kRm9ybVN0ZXBGaXZlLmludmFsaWQgfHwgdGhpcy50ZXJtc0NoZWNrYm94U3RhdHVzID09PSBmYWxzZSkgcmV0dXJuO1xuXG4gICAgLy8gaWYgKHRoaXMudXNlclJvbGUgPT09IDMwIHx8IHRoaXMudXNlclJvbGUgPT09IDMxIHx8IHRoaXMudXNlclJvbGUgPT09IDMyKSB0aGlzLmFjdGlvbi5lbWl0KCd1cGRhdGUnKTtcbiAgICBpZiAodGhpcy51c2VyUm9sZSA9PSAzMCB8fCB0aGlzLnVzZXJSb2xlID09IDMxIHx8IHRoaXMudXNlclJvbGUgPT0gMzIgfHxcbiAgICAgICAgdGhpcy51c2VyUm9sZSA9PSA0MCB8fCB0aGlzLnVzZXJSb2xlID09IDQxIHx8IHRoaXMudXNlclJvbGUgPT0gNDIgfHxcbiAgICAgICAgdGhpcy51c2VyUm9sZSA9PSA1MCB8fCB0aGlzLnVzZXJSb2xlID09IDUxIHx8IHRoaXMudXNlclJvbGUgPT0gNTIgfHxcbiAgICAgICAgdGhpcy51c2VyUm9sZSA9PSAxKSB0aGlzLmFjdGlvbi5lbWl0KCdjcmVhdGUnKTtcblxuICB9XG5cbiAgY2xlYW5TdG9yYWdlKCl7XG4gICAgc2Vzc2lvblN0b3JhZ2UuY2xlYXIoKTtcbiAgICB0aGlzLnN0YXJ0TG9jYWxTdG9yYWdlV29yaygpXG4gIH1cblxuICAvLyBFdmVudG9zIGRlbCBzZWxlY3RcbiAgc2VsZWN0TWFya2V0aW5nUmVhc29ucyhtYXJrZXRpbmdSZWFzb25zOiBhbnkpIHtcbiAgICBpZiAobWFya2V0aW5nUmVhc29ucyAhPT0gJ8K/Q8OzbW8gc2UgZW50ZXLDsyBkZWwgcHJvZ3JhbWE/Jykge1xuICAgICAgdGhpcy5jb2RGb3JtU3RlcEZpdmUuY29udHJvbHNbJ21hcmtldGluZ19yZWFzb25zJ10uc2V0VmFsdWUobWFya2V0aW5nUmVhc29ucyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY29kRm9ybVN0ZXBGaXZlLmNvbnRyb2xzWydtYXJrZXRpbmdfcmVhc29ucyddLnNldFZhbHVlKG51bGwpO1xuICAgIH1cbiAgfVxuXG4gIHNlbGVjdFN0dWR5UmVhc29ucyhzdHVkeVJlYXNvbnM6IGFueSkge1xuICAgIGlmIChzdHVkeVJlYXNvbnMgIT09ICdNb3Rpdm8nKSB7XG4gICAgICB0aGlzLmNvZEZvcm1TdGVwRml2ZS5jb250cm9sc1snc3R1ZHlfcmVhc29ucyddLnNldFZhbHVlKHN0dWR5UmVhc29ucyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY29kRm9ybVN0ZXBGaXZlLmNvbnRyb2xzWydzdHVkeV9yZWFzb25zJ10uc2V0VmFsdWUobnVsbCk7XG4gICAgfVxuICB9XG5cbiAgc2V0RGF0YUZyb21QcmV2aXVzQ29kKCkge1xuICAgIHRoaXMuY29kRm9ybVN0ZXBGaXZlLmNvbnRyb2xzWydtYXJrZXRpbmdfcmVhc29ucyddLnNldFZhbHVlKHRoaXMuaW5pdGlhbERhdGEuYWRpdGlvbmFsX2luZm9ybWF0aW9uLm1hcmtldGluZ19yZWFzb25zKTtcbiAgICB0aGlzLmNvZEZvcm1TdGVwRml2ZS5jb250cm9sc1snc3R1ZHlfcmVhc29ucyddLnNldFZhbHVlKHRoaXMuaW5pdGlhbERhdGEuYWRpdGlvbmFsX2luZm9ybWF0aW9uLnN0dWR5X3JlYXNvbnMpO1xuICAgIHRoaXMuY29kRm9ybVN0ZXBGaXZlLmNvbnRyb2xzWydkaXNhYmlsaXR5J10uc2V0VmFsdWUodGhpcy5pbml0aWFsRGF0YS5hZGl0aW9uYWxfaW5mb3JtYXRpb24uZGlzYWJpbGl0eSk7XG4gICAgdGhpcy5jb2RGb3JtU3RlcEZpdmUuY29udHJvbHNbJ2hlYWx0aF9yZWdpbWVuJ10uc2V0VmFsdWUodGhpcy5pbml0aWFsRGF0YS5hZGl0aW9uYWxfaW5mb3JtYXRpb24uaGVhbHRoX3JlZ2ltZW4pO1xuICAgIHRoaXMuY29kRm9ybVN0ZXBGaXZlLmNvbnRyb2xzWydvYnNlcnZhdGlvbiddLnNldFZhbHVlKHRoaXMuaW5pdGlhbERhdGEuYWRpdGlvbmFsX2luZm9ybWF0aW9uLm9ic2VydmF0aW9uKTtcbiAgICB0aGlzLmNvZEZvcm1TdGVwRml2ZS5jb250cm9sc1snY29kZV9yZWZlcnMnXS5zZXRWYWx1ZSh0aGlzLmluaXRpYWxEYXRhLmFkaXRpb25hbF9pbmZvcm1hdGlvbi5jb2RlX3JlZmVycyk7XG4gIH1cblxuICBjbGVhbkNvbXBvbmVudCgpe1xuICAgIHRoaXMucmVzZXRMb2NhbFN0b3JhZ2UodGhpcy5jb250cm9scyk7XG4gICAgdGhpcy5jb2RGb3JtU3RlcEZpdmUucmVzZXQoKTtcbiAgfVxuXG4gIGNsb3NlTW9kYWwocmVzcG9uczogYm9vbGVhbil7XG4gICAgdGhpcy5tb2RhbFZpc2libGUgPSByZXNwb25zO1xuICB9XG5cbiAgcmVmZXJyZWRVc2VyKGRhdGE6IGFueSl7XG4gICAgY29uc29sZS5sb2coJ3N0ZXA1Jyk7XG4gICAgY29uc29sZS5sb2coZGF0YSk7XG5cbiAgICBpZiAoZGF0YSkge1xuICAgICAgdGhpcy52aXNibGVSZWZlcnJlZCA9IHRydWU7XG4gICAgICB0aGlzLmNvZEZvcm1TdGVwRml2ZS5jb250cm9sc1snY29kZV9yZWZlcnMnXS5zZXRWYWx1ZShkYXRhWydjb2RlJ10pO1xuICAgICAgdGhpcy5jb2RGb3JtU3RlcEZpdmUuY29udHJvbHNbJ2RvY3VtZW50X3JlZmVycyddLnNldFZhbHVlKGRhdGFbJ2lkX2NhcmQnXSk7XG4gICAgICB0aGlzLmNvZEZvcm1TdGVwRml2ZS5jb250cm9sc1snbmFtZV9yZWZlcnMnXS5zZXRWYWx1ZShkYXRhWyduYW1lJ10pO1xuICAgICAgdGhpcy5jb2RGb3JtU3RlcEZpdmUuY29udHJvbHNbJ3Bob25lX3JlZmVycyddLnNldFZhbHVlKGRhdGFbJ3Bob25lX251bWJlciddKTtcbiAgICAgIHRoaXMuY29kRm9ybVN0ZXBGaXZlLmNvbnRyb2xzWydlbWFpbF9yZWZlcnMnXS5zZXRWYWx1ZShkYXRhWydlbWFpbCddKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy52aXNibGVSZWZlcnJlZCA9IGZhbHNlO1xuICAgICAgdGhpcy5jb2RGb3JtU3RlcEZpdmUuY29udHJvbHNbJ2NvZGVfcmVmZXJzJ10uc2V0VmFsdWUobnVsbCk7XG4gICAgICB0aGlzLmNvZEZvcm1TdGVwRml2ZS5jb250cm9sc1snZG9jdW1lbnRfcmVmZXJzJ10uc2V0VmFsdWUobnVsbCk7XG4gICAgICB0aGlzLmNvZEZvcm1TdGVwRml2ZS5jb250cm9sc1snbmFtZV9yZWZlcnMnXS5zZXRWYWx1ZShudWxsKTtcbiAgICAgIHRoaXMuY29kRm9ybVN0ZXBGaXZlLmNvbnRyb2xzWydwaG9uZV9yZWZlcnMnXS5zZXRWYWx1ZShudWxsKTtcbiAgICAgIHRoaXMuY29kRm9ybVN0ZXBGaXZlLmNvbnRyb2xzWydlbWFpbF9yZWZlcnMnXS5zZXRWYWx1ZShudWxsKTtcbiAgICB9XG4gIH1cblxuXG59XG4iLCI8Zm9ybSBhdXRvY29tcGxldGU9XCJvZmZcIiBbZm9ybUdyb3VwXT1cImNvZEZvcm1TdGVwRml2ZVwiIGNsYXNzPVwiZ3JpZFwiPlxuICA8ZGl2IGNsYXNzPVwiY29sLTEyIG1kOmNvbC02XCI+XG4gICAgPGNvZC1tb2RhbC1yZWZlcnJlZFxuICAgICpuZ0lmPVwibW9kYWxWaXNpYmxlXCJcbiAgICBbdmlzaWJpbGl0eV09XCJtb2RhbFZpc2libGVcIlxuICAgIChtb2RhbENsb3NlKT1cImNsb3NlTW9kYWwoJGV2ZW50KVwiXG4gICAgKHVzZXJTZWxlY3QpPVwicmVmZXJyZWRVc2VyKCRldmVudClcIlxuICAgID48L2NvZC1tb2RhbC1yZWZlcnJlZD5cblxuICAgIDxpcHQtc2VsZWN0XG4gICAgICBbY29udHJvbF09XCJjb2RGb3JtU3RlcEZpdmUuY29udHJvbHNbJ21hcmtldGluZ19yZWFzb25zJ11cIlxuICAgICAgW2luaXRpYWxWYWx1ZV09XCJjb2RGb3JtU3RlcEZpdmUuY29udHJvbHNbJ21hcmtldGluZ19yZWFzb25zJ10udmFsdWVcIlxuICAgICAgKGV2ZW50U2VsZWN0KT1cInNlbGVjdE1hcmtldGluZ1JlYXNvbnMoJGV2ZW50KVwiXG4gICAgICBbZGF0YV09XCJtYXJrZXRpbmdSZWFzb25zXCJcbiAgICAgIFtkZWZhdWx0VGV4dF09XCInwr9Dw7NtbyBzZSBlbnRlcsOzIGRlbCBwcm9ncmFtYT8nXCJcbiAgICA+PC9pcHQtc2VsZWN0PlxuICAgIDxpcHQtaW5wdXRcbiAgICAgIFtpbnB1dFR5cGVdPVwiJ3RleHQnXCJcbiAgICAgIFtwbGFjZUhvbGRlcl09XCInRGlzY2FwYWNpZGFkJ1wiXG4gICAgICBbY29udHJvbF09XCJjb2RGb3JtU3RlcEZpdmUuY29udHJvbHNbJ2Rpc2FiaWxpdHknXVwiXG4gICAgPjwvaXB0LWlucHV0PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImNvbC0xMiBtZDpjb2wtNlwiPlxuICAgIDxpcHQtc2VsZWN0XG4gICAgICBbY29udHJvbF09XCJjb2RGb3JtU3RlcEZpdmUuY29udHJvbHNbJ3N0dWR5X3JlYXNvbnMnXVwiXG4gICAgICBbaW5pdGlhbFZhbHVlXT1cImNvZEZvcm1TdGVwRml2ZS5jb250cm9sc1snc3R1ZHlfcmVhc29ucyddLnZhbHVlXCJcbiAgICAgIChldmVudFNlbGVjdCk9XCJzZWxlY3RTdHVkeVJlYXNvbnMoJGV2ZW50KVwiXG4gICAgICBbZGF0YV09XCJzdHVkeVJlYXNvbnNcIlxuICAgICAgW2RlZmF1bHRUZXh0XT1cIidNb3Rpdm8nXCJcbiAgICA+PC9pcHQtc2VsZWN0PlxuICAgIDxpcHQtaW5wdXRcbiAgICAgIFtpbnB1dFR5cGVdPVwiJ3RleHQnXCJcbiAgICAgIFtwbGFjZUhvbGRlcl09XCInUsOpZ2ltZW4gZGUgc2FsdWQnXCJcbiAgICAgIFtjb250cm9sXT1cImNvZEZvcm1TdGVwRml2ZS5jb250cm9sc1snaGVhbHRoX3JlZ2ltZW4nXVwiXG4gICAgPjwvaXB0LWlucHV0PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImNvbC0xMlwiPlxuICAgIDxoMyAqbmdJZj1cInRydWVcIiBjbGFzcz1cInJlZmVycmVkX3RpdGxlXCI+RGF0b3MgZGVsIHJlZmVyaWRvPC9oMz5cbiAgICA8ZGl2ICpuZ0lmPVwidHJ1ZVwiIGNsYXNzPVwicmVmZXJyZWRfdXNlcl9kYXRhXCI+XG4gICAgICA8aXB0LWlucHV0XG4gICAgICAgIFtpbnB1dFR5cGVdPVwiJ3RleHQnXCJcbiAgICAgICAgW3BsYWNlSG9sZGVyXT1cIidEb2N1bWVudG8nXCJcbiAgICAgICAgW2NvbnRyb2xdPVwiY29kRm9ybVN0ZXBGaXZlLmNvbnRyb2xzWydkb2N1bWVudF9yZWZlcnMnXVwiXG4gICAgICA+PC9pcHQtaW5wdXQ+XG4gICAgICA8aXB0LWlucHV0XG4gICAgICAgIFtpbnB1dFR5cGVdPVwiJ3RleHQnXCJcbiAgICAgICAgW3BsYWNlSG9sZGVyXT1cIidOb21icmVzJ1wiXG4gICAgICAgIFtjb250cm9sXT1cImNvZEZvcm1TdGVwRml2ZS5jb250cm9sc1snbmFtZV9yZWZlcnMnXVwiXG4gICAgICA+PC9pcHQtaW5wdXQ+XG4gICAgICA8aXB0LWlucHV0XG4gICAgICAgIFtpbnB1dFR5cGVdPVwiJ3RleHQnXCJcbiAgICAgICAgW3BsYWNlSG9sZGVyXT1cIidUZWzDqWZvbm8nXCJcbiAgICAgICAgW2NvbnRyb2xdPVwiY29kRm9ybVN0ZXBGaXZlLmNvbnRyb2xzWydwaG9uZV9yZWZlcnMnXVwiXG4gICAgICA+PC9pcHQtaW5wdXQ+XG4gICAgICA8aXB0LWlucHV0XG4gICAgICAgIFtpbnB1dFR5cGVdPVwiJ3RleHQnXCJcbiAgICAgICAgW3BsYWNlSG9sZGVyXT1cIidFbWFpbCdcIlxuICAgICAgICBbY29udHJvbF09XCJjb2RGb3JtU3RlcEZpdmUuY29udHJvbHNbJ2VtYWlsX3JlZmVycyddXCJcbiAgICAgID48L2lwdC1pbnB1dD5cbiAgICA8L2Rpdj5cbiAgICA8c3BhbiBjbGFzcz1cInAtZmxvYXQtbGFiZWxcIj5cbiAgICAgIDx0ZXh0YXJlYVxuICAgICAgICBpZD1cImZsb2F0LWlucHV0XCJcbiAgICAgICAgcm93cz1cIjRcIlxuICAgICAgICBjb2xzPVwiMzBcIlxuICAgICAgICBwSW5wdXRUZXh0YXJlYVxuICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJvYnNlcnZhdGlvblwiXG4gICAgICA+PC90ZXh0YXJlYT5cbiAgICAgIDxsYWJlbCBmb3I9XCJmbG9hdC1pbnB1dFwiPk9ic2VydmFjaW9uZXM8L2xhYmVsPlxuICAgIDwvc3Bhbj5cbiAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXdyYXAganVzdGlmeS1jb250ZW50LWJldHdlZW4gZ2FwLTJcIj5cbiAgICAgIDxkaXZcbiAgICAgICAgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBtdWx0aWN1bHR1cmFsaXRpZXM7IGluZGV4IGFzIGlcIlxuICAgICAgICBjbGFzcz1cImZpZWxkLWNoZWNrYm94IG10LTQgZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIlxuICAgICAgPlxuICAgICAgICA8bWF0LWNoZWNrYm94XG4gICAgICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCInbXVsdGljdWx0dXJhbGlzbScgKyAnXycgKyAoaSArIDEpXCJcbiAgICAgICAgICBjbGFzcz1cImV4YW1wbGUtbWFyZ2luXCJcbiAgICAgICAgPjwvbWF0LWNoZWNrYm94PlxuICAgICAgICA8bGFiZWwgW2Zvcl09XCJvcHRpb24uY29kZVwiPnt7IG9wdGlvbi5uYW1lIH19PC9sYWJlbD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwiY29sLTEyIHAtNCBmb250LWJvbGRcIj5cbiAgICA8cD5cbiAgICAgICogRWwgZXN0dWRpYW50ZSBvIHRpdHVsYXIgc2UgY29tcHJvbWV0ZW4gYSBjYW5jZWxhciBsYXMgY3VvdGFzXG4gICAgICBlc3RhYmxlY2lkYXMgZW4gZXN0ZSBjb250cmF0bywgbG9zIHByaW1lcm9zIDUgKGNpbmNvKSBkw61hcyBkZWwgbWVzLiBFblxuICAgICAgY2FzbyBkZSBxdWVyZXIgcmV0aXJhcnNlLCBkZWJlcsOhIGluZm9ybWFyIHBvciBlc2NyaXRvIDMwICh0cmVpbnRhKSBkw61hc1xuICAgICAgYW50ZXMgeSBjYW5jZWxhciBsbyBjb3JyZXNwb25kaWVudGUgaGFzdGEgbGEgZmVjaGEgZGVmaW5pZGEgZGUgcmV0aXJvLFxuICAgICAgcGFyYSBwb2RlciBvYnRlbmVyIHN1IHBheiB5IHNhbHZvLlxuICAgIDwvcD5cbiAgICA8YnIgLz48YnIgLz5cbiAgICA8ZGl2IGNsYXNzPVwiZmxleCBnYXAtMlwiPlxuICAgICAgPG1hdC1jaGVja2JveFxuICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJ0ZXJtc1wiXG4gICAgICAgIGNsYXNzPVwiZXhhbXBsZS1tYXJnaW5cIlxuICAgICAgPjwvbWF0LWNoZWNrYm94PlxuICAgICAgPCEtLSA8cC1jaGVja2JveCBbZm9ybUNvbnRyb2xdPVwiZ2V0Q2hlY2tib3hDb250cm9sKClcIj48L3AtY2hlY2tib3g+IC0tPlxuICAgICAgPCEtLSA8aXB0LWNoZWNrYm94IFtjb250cm9sXT1cImNvZEZvcm1TdGVwRml2ZS5jb250cm9sc1sndGVybXMnXVwiIFtjaGVja2JveE9wdGlvbl09XCJ0ZXJtc0NoZWNrYm94U3RhdHVzXCI+PC9pcHQtY2hlY2tib3g+IC0tPlxuICAgICAgPHA+XG4gICAgICAgIERFQ0xBUk8gSEFCRVIgTEXDjURPIFkgQUNFUFRPIExPUyBUw4lSTUlOT1MgWSBDT05ESUNJT05FUyBERSBMQVMgUE9Mw41USUNBU1xuICAgICAgICBFU1RBQkxFQ0lEQVMgRU4gTEEgSU5TVElUVUNJw5NOLlxuICAgICAgPC9wPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZm9ybT5cblxuPGRpdiBjbGFzcz1cImZsZXggbXQtMyBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTNcIj5cbiAgPHNwYW5cbiAgICAqbmdJZj1cIlxuICAgICAgKGNvZEZvcm1TdGVwRml2ZS5pbnZhbGlkICYmIGNvZEZvcm1TdGVwRml2ZS50b3VjaGVkKSB8fFxuICAgICAgKCF0ZXJtc0NoZWNrYm94U3RhdHVzICYmIGNvZEZvcm1TdGVwRml2ZS50b3VjaGVkKVxuICAgIFwiXG4gICAgY2xhc3M9XCJcbiAgICAgIHRleHQtcmVkLTUwMFxuICAgICAgZm9udC1ib2xkXG4gICAgICB0ZXh0LWNlbnRlclxuICAgICAgbXQtMVxuICAgICAgcHktMlxuICAgICAgYmctcmVkLTEwMFxuICAgICAgdy1mdWxsXG4gICAgICBib3JkZXItcm91bmQteGxcbiAgICBcIlxuICAgID57eyBlcnJvck1lc3NhZ2UgfX08L3NwYW5cbiAgPlxuICA8YnV0dG9uXG4gICAgdHlwZT1cInN1Ym1pdFwiXG4gICAgY2xhc3M9XCJtbC1hdXRvIHAtYnV0dG9uLXN1Y2Nlc3MgcC1idXR0b24tc21cIlxuICAgIChjbGljayk9XCJzZW5kRm9ybSgpXCJcbiAgICBwQnV0dG9uXG4gICAgW2xhYmVsXT1cInNlbmRGb3JtTXNnXCJcbiAgICBpY29uPVwicGkgcGktY2hlY2tcIlxuICA+PC9idXR0b24+XG48L2Rpdj5cbiJdfQ==
|
|
199
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kLWZvcm0tc3RlcC1maXZlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2Rlc2lnbi1zeXN0ZW0vc3JjL2xpYi9jb2Qvc3RlcHMvY29kLWZvcm0tc3RlcC1maXZlL2NvZC1mb3JtLXN0ZXAtZml2ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9kZXNpZ24tc3lzdGVtL3NyYy9saWIvY29kL3N0ZXBzL2NvZC1mb3JtLXN0ZXAtZml2ZS9jb2QtZm9ybS1zdGVwLWZpdmUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3pHLE9BQU8sRUFBd0QsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHbEcsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxZQUFZLEVBQXNCLE1BQU0sNEJBQTRCLENBQUM7Ozs7Ozs7Ozs7O0FBTzlFLE1BQU0sT0FBTyx3QkFBeUIsU0FBUSxZQUFZO0lBbUJ4RCxZQUNVLEVBQWUsRUFDZixnQkFBa0M7UUFFMUMsS0FBSyxFQUFFLENBQUM7UUFIQSxPQUFFLEdBQUYsRUFBRSxDQUFhO1FBQ2YscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQWxCbEMsb0JBQWUsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBQzdDLFdBQU0sR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBSzlDLGlCQUFZLEdBQVcsMkJBQTJCLENBQUM7UUFFbkQsd0JBQW1CLEdBQVksS0FBSyxDQUFDO1FBRXJDLGlCQUFZLEdBQVksS0FBSyxDQUFDO1FBQzlCLG1CQUFjLEdBQVksS0FBSyxDQUFDO1FBRWhDLDBCQUEwQjtRQUMxQixhQUFRLEdBQUcsSUFBSSxlQUFlLEVBQUUs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TSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPbkluaXQsIE91dHB1dCwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBGb3JtQnVpbGRlciwgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFBhcmFtZXRlclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9jb3JlL3NlcnZpY2VzL3BhcmFtZXRlcnMtc2VydmljZS9wYXJhbWV0ZXJzLnNlcnZpY2UnO1xuaW1wb3J0IFN3YWwgZnJvbSAnc3dlZXRhbGVydDInO1xuaW1wb3J0IHsgQ29kRm9ybUNvbnRyb2xzIH0gZnJvbSAnLi4vLi4vbG9naWMvY29kLWZvcm0tY29udHJvbHMnO1xuaW1wb3J0IHsgQ29kRm9ybVN0ZXBzLCBsb2NhbFN0b3JhZ2VWYWx1ZXMgfSBmcm9tICcuLi8uLi9sb2dpYy9jb2QtZm9ybS1zdGVwcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1jb2QtZm9ybS1zdGVwLWZpdmUnLFxuICB0ZW1wbGF0ZVVybDogJy4vY29kLWZvcm0tc3RlcC1maXZlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY29kLWZvcm0tc3RlcC1maXZlLmNvbXBvbmVudC5jc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBDb2RGb3JtU3RlcEZpdmVDb21wb25lbnQgZXh0ZW5kcyBDb2RGb3JtU3RlcHMgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICBASW5wdXQoKSB1c2VyUm9sZSE6IG51bWJlcjtcbiAgQElucHV0KCkgaW5pdGlhbERhdGE/OiBhbnk7XG4gIEBPdXRwdXQoKSBjaGFuZ2VTdGVwRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcbiAgQE91dHB1dCgpIGFjdGlvbiA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIGNvZEZvcm1TdGVwRml2ZSE6IEZvcm1Hcm91cDtcbiAgbWFya2V0aW5nUmVhc29uczogYW55O1xuICBzdHVkeVJlYXNvbnM6IGFueTtcbiAgZXJyb3JNZXNzYWdlOiBzdHJpbmcgPSAnRmFsdGFuIGNhbXBvcyBwb3IgbGxlbmFyLic7XG4gIHNlbmRGb3JtTXNnITogc3RyaW5nO1xuICB0ZXJtc0NoZWNrYm94U3RhdHVzOiBib29sZWFuID0gZmFsc2U7XG4gIG11bHRpY3VsdHVyYWxpdGllczogYW55O1xuICBtb2RhbFZpc2libGU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgdmlzYmxlUmVmZXJyZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvLyBDb250cm9scyBkZWwgZm9ybXVsYXJpb1xuICBjb250cm9scyA9IG5ldyBDb2RGb3JtQ29udHJvbHMoKS5jb250cm9sc1s0XTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGZiOiBGb3JtQnVpbGRlcixcbiAgICBwcml2YXRlIHBhcmFtZXRlclNlcnZpY2U6IFBhcmFtZXRlclNlcnZpY2UsXG4gICkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgdGhpcy5pbml0Rm9ybSgpO1xuICAgIHRoaXMuc3RhcnRMb2NhbFN0b3JhZ2VXb3JrKCk7XG4gICAgdGhpcy5nZXRQYXJhbWV0ZXJzKCk7XG4gICAgdGhpcy5jb2RGb3JtU3RlcEZpdmUuY29udHJvbHNbJ3Rlcm1zJ10udmFsdWVDaGFuZ2VzLnN1YnNjcmliZShjaGFuZ2VzID0+IHtcbiAgICAgIHRoaXMudGVybXNDaGVja2JveFN0YXR1cyA9IGNoYW5nZXM7XG4gICAgICBpZiAoIXRoaXMudGVybXNDaGVja2JveFN0YXR1cykgdGhpcy5lcnJvck1lc3NhZ2UgPSAnRGViZSBtYXJjYXIgbGEgY2FzaWxsYSBkZSB0w6lybWlub3MgeSBjb25kaWNpb25lcy4nXG4gICAgfSlcbiAgICAvLyBpZiAodGhpcy51c2VyUm9sZSA9PT0gMzAgfHwgdGhpcy51c2VyUm9sZSA9PT0gMzEgfHwgdGhpcy51c2VyUm9sZSA9PT0gMzIpIHRoaXMuc2VuZEZvcm1Nc2cgPSAnRWRpdGFyIENPRCc7IC8vIFJvbGVzIEFkbWluaXN0cmF0aXZvc1xuICAgIGlmICh0aGlzLnVzZXJSb2xlID09PSAzMCB8fCB0aGlzLnVzZXJSb2xlID09PSAzMSB8fCB0aGlzLnVzZXJSb2xlID09PSAzMiB8fFxuICAgICAgICB0aGlzLnVzZXJSb2xlID09PSA0MCB8fCB0aGlzLnVzZXJSb2xlID09PSA0MSB8fCB0aGlzLnVzZXJSb2xlID09PSA0MiB8fFxuICAgICAgICB0aGlzLnVzZXJSb2xlID09PSA1MCB8fCB0aGlzLnVzZXJSb2xlID09PSA1MSB8fCB0aGlzLnVzZXJSb2xlID09PSA1MiB8fFxuICAgICAgICB0aGlzLnVzZXJSb2xlID09PSAxXG4gICAgICAgICkgdGhpcy5zZW5kRm9ybU1zZyA9ICdDcmVhciBDT0QnOyAvLyBSb2xlcyBjb21lcmNpYWxlc1xuICAgIGlmIChjaGFuZ2VzWydpbml0aWFsRGF0YSddKSB7XG4gICAgICBpZiAodGhpcy5pbml0aWFsRGF0YSAhPSBudWxsKSB7XG4gICAgICAgIHRoaXMuc2V0RGF0YUZyb21QcmV2aXVzQ29kKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgZ2V0UGFyYW1ldGVycygpIHtcbiAgICB0aGlzLnBhcmFtZXRlclNlcnZpY2UuZ2V0TWFya2V0aW5nUmVhc29ucygpLnN1YnNjcmliZSgocmVzcG9uc2UpID0+IHtcbiAgICAgIHRoaXMubWFya2V0aW5nUmVhc29ucyA9IHJlc3BvbnNlLmRhdGE7XG4gICAgfSk7XG4gICAgdGhpcy5wYXJhbWV0ZXJTZXJ2aWNlLmdldFN0dWR5UmVhc29ucygpLnN1YnNjcmliZSgocmVzcG9uc2UpID0+IHtcbiAgICAgIHRoaXMuc3R1ZHlSZWFzb25zID0gcmVzcG9uc2UuZGF0YTtcbiAgICB9KTtcbiAgICB0aGlzLnBhcmFtZXRlclNlcnZpY2UuZ2V0TXVsdGljdWx0dXJhbGlzbXMoKS5zdWJzY3JpYmUoKHJlc3BvbnNlKSA9PiB7XG4gICAgICB0aGlzLm11bHRpY3VsdHVyYWxpdGllcyA9IHJlc3BvbnNlLmRhdGE7XG4gICAgfSk7XG4gIH1cblxuICBpbml0Rm9ybSgpIHtcbiAgICB0aGlzLmNvZEZvcm1TdGVwRml2ZSA9IHRoaXMuZmIuZ3JvdXAoe1xuICAgICAgbWFya2V0aW5nX3JlYXNvbnM6ICBbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXV0sXG4gICAgICBvYnNlcnZhdGlvbjogICAgICAgIFsnJ10sXG4gICAgICBzdHVkeV9yZWFzb25zOiAgICAgIFsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXSxcbiAgICAgIHRlcm1zOiAgICAgICAgICAgICAgW2ZhbHNlLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF1dLFxuICAgICAgZGlzYWJpbGl0eTogICAgICAgICBbJyddLFxuICAgICAgbXVsdGljdWx0dXJhbGlzbV8xOiBbZmFsc2UsIFtdXSxcbiAgICAgIG11bHRpY3VsdHVyYWxpc21fMjogW2ZhbHNlLCBbXV0sXG4gICAgICBtdWx0aWN1bHR1cmFsaXNtXzM6IFtmYWxzZSwgW11dLFxuICAgICAgbXVsdGljdWx0dXJhbGlzbV80OiBbZmFsc2UsIFtdXSxcbiAgICAgIG11bHRpY3VsdHVyYWxpc21fNTogW2ZhbHNlLCBbXV0sXG4gICAgICBtdWx0aWN1bHR1cmFsaXNtXzY6IFtmYWxzZSwgW11dLFxuICAgICAgbXVsdGljdWx0dXJhbGlzbV83OiBbZmFsc2UsIFtdXSxcbiAgICAgIGhlYWx0aF9yZWdpbWVuOiAgICAgWycnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF1dLFxuICAgICAgY29kZV9yZWZlcnM6ICAgICAgICBbJyddLFxuICAgICAgZG9jdW1lbnRfcmVmZXJzOiAgICBbeyB2YWx1ZTogJycsIGRpc2FibGVkOiB0cnVlIH1dLFxuICAgICAgbmFtZV9yZWZlcnM6ICAgICAgICBbeyB2YWx1ZTogJycsIGRpc2FibGVkOiB0cnVlIH1dLFxuICAgICAgcGhvbmVfcmVmZXJzOiAgICAgICBbeyB2YWx1ZTogJycsIGRpc2FibGVkOiB0cnVlIH1dLFxuICAgICAgZW1haWxfcmVmZXJzOiAgICAgICBbeyB2YWx1ZTogJycsIGRpc2FibGVkOiB0cnVlIH1dLFxuICAgIH0pO1xuXG4gICAgdGhpcy5jb2RGb3JtU3RlcEZpdmUuY29udHJvbHNbJ21hcmtldGluZ19yZWFzb25zJ10udmFsdWVDaGFuZ2VzLnN1YnNjcmliZShjaGFuZ2UgPT4ge1xuICAgICAgaWYgKGNoYW5nZSA9PT0gJzEnKSB7XG4gICAgICAgIHRoaXMubW9kYWxWaXNpYmxlID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5jb2RGb3JtU3RlcEZpdmUuY29udHJvbHNbJ2NvZGVfcmVmZXJzJ10uc2V0VmFsaWRhdG9ycyhbVmFsaWRhdG9ycy5yZXF1aXJlZF0pO1xuICAgICAgICB0aGlzLmNvZEZvcm1TdGVwRml2ZS5jb250cm9sc1snY29kZV9yZWZlcnMnXS51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmNvZEZvcm1TdGVwRml2ZS5jb250cm9sc1snY29kZV9yZWZlcnMnXS5jbGVhclZhbGlkYXRvcnMoKTtcbiAgICAgICAgdGhpcy5jb2RGb3JtU3RlcEZpdmUuY29udHJvbHNbJ2NvZGVfcmVmZXJzJ10udXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICAgICAgICB0aGlzLm1vZGFsVmlzaWJsZSA9IGZhbHNlO1xuICAgICAgfVxuICAgIH0pXG4gIH1cblxuICBzdGFydExvY2FsU3RvcmFnZVdvcmsoKSB7XG4gICAgdGhpcy5jb250cm9scy5mb3JFYWNoKGNvbnRyb2wgPT4ge1xuICAgICAgbGV0IGxvY2FsU3RvcmFnZVZhbHVlOiBsb2NhbFN0b3JhZ2VWYWx1ZXMgPSB0aGlzLnJlYWRBbmRXcml0ZUxTKDUsIGNvbnRyb2wubmFtZSk7XG5cbiAgICAgIC8vIFNvbHVjacOzbiBhbCBidWcgZGVsIGNoZWNrYm94XG4gICAgICBpZiAobG9jYWxTdG9yYWdlVmFsdWUuY29udHJvbCA9PT0gJ3Rlcm1zJykge1xuICAgICAgICBsZXQgbmV4dFZhbHVlOiBib29sZWFuID0gbG9jYWxTdG9yYWdlVmFsdWUudmFsdWUgPT09ICd0cnVlJyA/IHRydWUgOiBmYWxzZTtcbiAgICAgICAgdGhpcy5jb2RGb3JtU3RlcEZpdmUuY29udHJvbHNbJ3Rlcm1zJ10uc2V0VmFsdWUobmV4dFZhbHVlKTtcbiAgICAgICAgdGhpcy50ZXJtc0NoZWNrYm94U3RhdHVzID0gbmV4dFZhbHVlO1xuICAgICAgfVxuICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gLy9cblxuICAgICAgdGhpcy5jb2RGb3JtU3RlcEZpdmUuY29udHJvbHNbY29udHJvbC5uYW1lXS5zZXRWYWx1ZShsb2NhbFN0b3JhZ2VWYWx1ZS52YWx1ZSk7XG4gICAgICB0aGlzLmxpc3RlbkZvcm1DaGFuZ2VzKDUsIGNvbnRyb2wubmFtZSwgdGhpcy5jb2RGb3JtU3RlcEZpdmUuY29udHJvbHNbY29udHJvbC5uYW1lXS52YWx1ZUNoYW5nZXMpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5jb250cm9scy5maWx0ZXIoY29udHJvbCA9PiBjb250cm9sLmRlc2NyaXB0aW9uID09PSAnTXVsdGljdWx0dXJhbGlzbW8nKS5mb3JFYWNoKGNvbnRyb2wgPT4ge1xuICAgICAgbGV0IGxvY2FsU3RvcmFnZVZhbHVlOiBsb2NhbFN0b3JhZ2VWYWx1ZXMgPSB0aGlzLnJlYWRBbmRXcml0ZUxTKDUsIGNvbnRyb2wubmFtZSk7XG4gICAgICBsZXQgbmV4dFZhbHVlOiBib29sZWFuID0gbG9jYWxTdG9yYWdlVmFsdWUudmFsdWUgPT09ICd0cnVlJyA/IHRydWUgOiBmYWxzZTtcbiAgICAgIHRoaXMuY29kRm9ybVN0ZXBGaXZlLmNvbnRyb2xzW2NvbnRyb2wubmFtZV0uc2V0VmFsdWUobmV4dFZhbHVlKTtcbiAgICB9KVxuICB9XG5cbiAgZ2V0Q2hlY2tib3hDb250cm9sKCk6IEZvcm1Db250cm9sIHtcbiAgICByZXR1cm4gdGhpcy5jb2RGb3JtU3RlcEZpdmUuY29udHJvbHNbJ3Rlcm1zJ10gYXMgRm9ybUNvbnRyb2w7XG4gIH1cblxuICBzZW5kRm9ybSgpIHtcbiAgICB0aGlzLmNvZEZvcm1TdGVwRml2ZS5tYXJrQWxsQXNUb3VjaGVkKCk7XG4gICAgaWYgKHRoaXMuY29kRm9ybVN0ZXBGaXZlLmludmFsaWQgfHwgdGhpcy50ZXJtc0NoZWNrYm94U3RhdHVzID09PSBmYWxzZSkgcmV0dXJuO1xuXG4gICAgLy8gaWYgKHRoaXMudXNlclJvbGUgPT09IDMwIHx8IHRoaXMudXNlclJvbGUgPT09IDMxIHx8IHRoaXMudXNlclJvbGUgPT09IDMyKSB0aGlzLmFjdGlvbi5lbWl0KCd1cGRhdGUnKTtcbiAgICBpZiAodGhpcy51c2VyUm9sZSA9PSAzMCB8fCB0aGlzLnVzZXJSb2xlID09IDMxIHx8IHRoaXMudXNlclJvbGUgPT0gMzIgfHxcbiAgICAgICAgdGhpcy51c2VyUm9sZSA9PSA0MCB8fCB0aGlzLnVzZXJSb2xlID09IDQxIHx8IHRoaXMudXNlclJvbGUgPT0gNDIgfHxcbiAgICAgICAgdGhpcy51c2VyUm9sZSA9PSA1MCB8fCB0aGlzLnVzZXJSb2xlID09IDUxIHx8IHRoaXMudXNlclJvbGUgPT0gNTIgfHxcbiAgICAgICAgdGhpcy51c2VyUm9sZSA9PSAxKSB0aGlzLmFjdGlvbi5lbWl0KCdjcmVhdGUnKTtcblxuICB9XG5cbiAgY2xlYW5TdG9yYWdlKCl7XG4gICAgc2Vzc2lvblN0b3JhZ2UuY2xlYXIoKTtcbiAgICB0aGlzLnN0YXJ0TG9jYWxTdG9yYWdlV29yaygpXG4gIH1cblxuICAvLyBFdmVudG9zIGRlbCBzZWxlY3RcbiAgc2VsZWN0TWFya2V0aW5nUmVhc29ucyhtYXJrZXRpbmdSZWFzb25zOiBhbnkpIHtcbiAgICBpZiAobWFya2V0aW5nUmVhc29ucyAhPT0gJ8K/Q8OzbW8gc2UgZW50ZXLDsyBkZWwgcHJvZ3JhbWE/Jykge1xuICAgICAgdGhpcy5jb2RGb3JtU3RlcEZpdmUuY29udHJvbHNbJ21hcmtldGluZ19yZWFzb25zJ10uc2V0VmFsdWUobWFya2V0aW5nUmVhc29ucyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY29kRm9ybVN0ZXBGaXZlLmNvbnRyb2xzWydtYXJrZXRpbmdfcmVhc29ucyddLnNldFZhbHVlKG51bGwpO1xuICAgIH1cbiAgfVxuXG4gIHNlbGVjdFN0dWR5UmVhc29ucyhzdHVkeVJlYXNvbnM6IGFueSkge1xuICAgIGlmIChzdHVkeVJlYXNvbnMgIT09ICdNb3Rpdm8nKSB7XG4gICAgICB0aGlzLmNvZEZvcm1TdGVwRml2ZS5jb250cm9sc1snc3R1ZHlfcmVhc29ucyddLnNldFZhbHVlKHN0dWR5UmVhc29ucyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY29kRm9ybVN0ZXBGaXZlLmNvbnRyb2xzWydzdHVkeV9yZWFzb25zJ10uc2V0VmFsdWUobnVsbCk7XG4gICAgfVxuICB9XG5cbiAgc2V0RGF0YUZyb21QcmV2aXVzQ29kKCkge1xuICAgIHRoaXMuY29kRm9ybVN0ZXBGaXZlLmNvbnRyb2xzWydtYXJrZXRpbmdfcmVhc29ucyddLnNldFZhbHVlKHRoaXMuaW5pdGlhbERhdGEuYWRpdGlvbmFsX2luZm9ybWF0aW9uLm1hcmtldGluZ19yZWFzb25zKTtcbiAgICB0aGlzLmNvZEZvcm1TdGVwRml2ZS5jb250cm9sc1snc3R1ZHlfcmVhc29ucyddLnNldFZhbHVlKHRoaXMuaW5pdGlhbERhdGEuYWRpdGlvbmFsX2luZm9ybWF0aW9uLnN0dWR5X3JlYXNvbnMpO1xuICAgIHRoaXMuY29kRm9ybVN0ZXBGaXZlLmNvbnRyb2xzWydkaXNhYmlsaXR5J10uc2V0VmFsdWUodGhpcy5pbml0aWFsRGF0YS5hZGl0aW9uYWxfaW5mb3JtYXRpb24uZGlzYWJpbGl0eSk7XG4gICAgdGhpcy5jb2RGb3JtU3RlcEZpdmUuY29udHJvbHNbJ2hlYWx0aF9yZWdpbWVuJ10uc2V0VmFsdWUodGhpcy5pbml0aWFsRGF0YS5hZGl0aW9uYWxfaW5mb3JtYXRpb24uaGVhbHRoX3JlZ2ltZW4pO1xuICAgIHRoaXMuY29kRm9ybVN0ZXBGaXZlLmNvbnRyb2xzWydvYnNlcnZhdGlvbiddLnNldFZhbHVlKHRoaXMuaW5pdGlhbERhdGEuYWRpdGlvbmFsX2luZm9ybWF0aW9uLm9ic2VydmF0aW9uKTtcbiAgICB0aGlzLmNvZEZvcm1TdGVwRml2ZS5jb250cm9sc1snY29kZV9yZWZlcnMnXS5zZXRWYWx1ZSh0aGlzLmluaXRpYWxEYXRhLmFkaXRpb25hbF9pbmZvcm1hdGlvbi5jb2RlX3JlZmVycyk7XG4gIH1cblxuICBjbGVhbkNvbXBvbmVudCgpe1xuICAgIHRoaXMucmVzZXRMb2NhbFN0b3JhZ2UodGhpcy5jb250cm9scyk7XG4gICAgdGhpcy5jb2RGb3JtU3RlcEZpdmUucmVzZXQoKTtcbiAgfVxuXG4gIGNsb3NlTW9kYWwocmVzcG9uczogYm9vbGVhbil7XG4gICAgdGhpcy5tb2RhbFZpc2libGUgPSByZXNwb25zO1xuICB9XG5cbiAgcmVmZXJyZWRVc2VyKGRhdGE6IGFueSl7XG4gICAgY29uc29sZS5sb2coJ3N0ZXA1Jyk7XG4gICAgY29uc29sZS5sb2coZGF0YSk7XG5cbiAgICBpZiAoZGF0YSkge1xuICAgICAgdGhpcy52aXNibGVSZWZlcnJlZCA9IHRydWU7XG4gICAgICB0aGlzLmNvZEZvcm1TdGVwRml2ZS5jb250cm9sc1snY29kZV9yZWZlcnMnXS5zZXRWYWx1ZShkYXRhWydjb2RlJ10pO1xuICAgICAgdGhpcy5jb2RGb3JtU3RlcEZpdmUuY29udHJvbHNbJ2RvY3VtZW50X3JlZmVycyddLnNldFZhbHVlKGRhdGFbJ2lkX2NhcmQnXSk7XG4gICAgICB0aGlzLmNvZEZvcm1TdGVwRml2ZS5jb250cm9sc1snbmFtZV9yZWZlcnMnXS5zZXRWYWx1ZShkYXRhWyduYW1lJ10pO1xuICAgICAgdGhpcy5jb2RGb3JtU3RlcEZpdmUuY29udHJvbHNbJ3Bob25lX3JlZmVycyddLnNldFZhbHVlKGRhdGFbJ3Bob25lX251bWJlciddKTtcbiAgICAgIHRoaXMuY29kRm9ybVN0ZXBGaXZlLmNvbnRyb2xzWydlbWFpbF9yZWZlcnMnXS5zZXRWYWx1ZShkYXRhWydlbWFpbCddKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy52aXNibGVSZWZlcnJlZCA9IGZhbHNlO1xuICAgICAgdGhpcy5jb2RGb3JtU3RlcEZpdmUuY29udHJvbHNbJ2NvZGVfcmVmZXJzJ10uc2V0VmFsdWUobnVsbCk7XG4gICAgICB0aGlzLmNvZEZvcm1TdGVwRml2ZS5jb250cm9sc1snZG9jdW1lbnRfcmVmZXJzJ10uc2V0VmFsdWUobnVsbCk7XG4gICAgICB0aGlzLmNvZEZvcm1TdGVwRml2ZS5jb250cm9sc1snbmFtZV9yZWZlcnMnXS5zZXRWYWx1ZShudWxsKTtcbiAgICAgIHRoaXMuY29kRm9ybVN0ZXBGaXZlLmNvbnRyb2xzWydwaG9uZV9yZWZlcnMnXS5zZXRWYWx1ZShudWxsKTtcbiAgICAgIHRoaXMuY29kRm9ybVN0ZXBGaXZlLmNvbnRyb2xzWydlbWFpbF9yZWZlcnMnXS5zZXRWYWx1ZShudWxsKTtcbiAgICB9XG4gIH1cblxuXG59XG4iLCI8Zm9ybSBhdXRvY29tcGxldGU9XCJvZmZcIiBbZm9ybUdyb3VwXT1cImNvZEZvcm1TdGVwRml2ZVwiIGNsYXNzPVwiZ3JpZFwiPlxuICA8ZGl2IGNsYXNzPVwiY29sLTEyIG1kOmNvbC02XCI+XG4gICAgPGNvZC1tb2RhbC1yZWZlcnJlZFxuICAgICpuZ0lmPVwibW9kYWxWaXNpYmxlXCJcbiAgICBbdmlzaWJpbGl0eV09XCJtb2RhbFZpc2libGVcIlxuICAgIChtb2RhbENsb3NlKT1cImNsb3NlTW9kYWwoJGV2ZW50KVwiXG4gICAgKHVzZXJTZWxlY3QpPVwicmVmZXJyZWRVc2VyKCRldmVudClcIlxuICAgID48L2NvZC1tb2RhbC1yZWZlcnJlZD5cblxuICAgIDxpcHQtc2VsZWN0XG4gICAgICBbY29udHJvbF09XCJjb2RGb3JtU3RlcEZpdmUuY29udHJvbHNbJ21hcmtldGluZ19yZWFzb25zJ11cIlxuICAgICAgW2luaXRpYWxWYWx1ZV09XCJjb2RGb3JtU3RlcEZpdmUuY29udHJvbHNbJ21hcmtldGluZ19yZWFzb25zJ10udmFsdWVcIlxuICAgICAgKGV2ZW50U2VsZWN0KT1cInNlbGVjdE1hcmtldGluZ1JlYXNvbnMoJGV2ZW50KVwiXG4gICAgICBbZGF0YV09XCJtYXJrZXRpbmdSZWFzb25zXCJcbiAgICAgIFtkZWZhdWx0VGV4dF09XCInwr9Dw7NtbyBzZSBlbnRlcsOzIGRlbCBwcm9ncmFtYT8nXCJcbiAgICA+PC9pcHQtc2VsZWN0PlxuICAgIDxpcHQtaW5wdXRcbiAgICAgIFtpbnB1dFR5cGVdPVwiJ3RleHQnXCJcbiAgICAgIFtwbGFjZUhvbGRlcl09XCInRGlzY2FwYWNpZGFkJ1wiXG4gICAgICBbY29udHJvbF09XCJjb2RGb3JtU3RlcEZpdmUuY29udHJvbHNbJ2Rpc2FiaWxpdHknXVwiXG4gICAgPjwvaXB0LWlucHV0PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImNvbC0xMiBtZDpjb2wtNlwiPlxuICAgIDxpcHQtc2VsZWN0XG4gICAgICBbY29udHJvbF09XCJjb2RGb3JtU3RlcEZpdmUuY29udHJvbHNbJ3N0dWR5X3JlYXNvbnMnXVwiXG4gICAgICBbaW5pdGlhbFZhbHVlXT1cImNvZEZvcm1TdGVwRml2ZS5jb250cm9sc1snc3R1ZHlfcmVhc29ucyddLnZhbHVlXCJcbiAgICAgIChldmVudFNlbGVjdCk9XCJzZWxlY3RTdHVkeVJlYXNvbnMoJGV2ZW50KVwiXG4gICAgICBbZGF0YV09XCJzdHVkeVJlYXNvbnNcIlxuICAgICAgW2RlZmF1bHRUZXh0XT1cIidNb3Rpdm8nXCJcbiAgICA+PC9pcHQtc2VsZWN0PlxuICAgIDxpcHQtaW5wdXRcbiAgICAgIFtpbnB1dFR5cGVdPVwiJ3RleHQnXCJcbiAgICAgIFtwbGFjZUhvbGRlcl09XCInUsOpZ2ltZW4gZGUgc2FsdWQnXCJcbiAgICAgIFtjb250cm9sXT1cImNvZEZvcm1TdGVwRml2ZS5jb250cm9sc1snaGVhbHRoX3JlZ2ltZW4nXVwiXG4gICAgPjwvaXB0LWlucHV0PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImNvbC0xMlwiPlxuICAgIDxoMyAqbmdJZj1cInZpc2JsZVJlZmVycmVkXCIgY2xhc3M9XCJyZWZlcnJlZF90aXRsZVwiPkRhdG9zIGRlbCByZWZlcmlkbzwvaDM+XG4gICAgPGRpdiAqbmdJZj1cInZpc2JsZVJlZmVycmVkXCIgY2xhc3M9XCJyZWZlcnJlZF91c2VyX2RhdGFcIj5cbiAgICAgIDxpcHQtaW5wdXRcbiAgICAgICAgW2lucHV0VHlwZV09XCIndGV4dCdcIlxuICAgICAgICBbcGxhY2VIb2xkZXJdPVwiJ0RvY3VtZW50bydcIlxuICAgICAgICBbY29udHJvbF09XCJjb2RGb3JtU3RlcEZpdmUuY29udHJvbHNbJ2RvY3VtZW50X3JlZmVycyddXCJcbiAgICAgID48L2lwdC1pbnB1dD5cbiAgICAgIDxpcHQtaW5wdXRcbiAgICAgICAgW2lucHV0VHlwZV09XCIndGV4dCdcIlxuICAgICAgICBbcGxhY2VIb2xkZXJdPVwiJ05vbWJyZXMnXCJcbiAgICAgICAgW2NvbnRyb2xdPVwiY29kRm9ybVN0ZXBGaXZlLmNvbnRyb2xzWyduYW1lX3JlZmVycyddXCJcbiAgICAgID48L2lwdC1pbnB1dD5cbiAgICAgIDxpcHQtaW5wdXRcbiAgICAgICAgW2lucHV0VHlwZV09XCIndGV4dCdcIlxuICAgICAgICBbcGxhY2VIb2xkZXJdPVwiJ1RlbMOpZm9ubydcIlxuICAgICAgICBbY29udHJvbF09XCJjb2RGb3JtU3RlcEZpdmUuY29udHJvbHNbJ3Bob25lX3JlZmVycyddXCJcbiAgICAgID48L2lwdC1pbnB1dD5cbiAgICAgIDxpcHQtaW5wdXRcbiAgICAgICAgW2lucHV0VHlwZV09XCIndGV4dCdcIlxuICAgICAgICBbcGxhY2VIb2xkZXJdPVwiJ0VtYWlsJ1wiXG4gICAgICAgIFtjb250cm9sXT1cImNvZEZvcm1TdGVwRml2ZS5jb250cm9sc1snZW1haWxfcmVmZXJzJ11cIlxuICAgICAgPjwvaXB0LWlucHV0PlxuICAgIDwvZGl2PlxuICAgIDxzcGFuIGNsYXNzPVwicC1mbG9hdC1sYWJlbFwiPlxuICAgICAgPHRleHRhcmVhXG4gICAgICAgIGlkPVwiZmxvYXQtaW5wdXRcIlxuICAgICAgICByb3dzPVwiNFwiXG4gICAgICAgIGNvbHM9XCIzMFwiXG4gICAgICAgIHBJbnB1dFRleHRhcmVhXG4gICAgICAgIGZvcm1Db250cm9sTmFtZT1cIm9ic2VydmF0aW9uXCJcbiAgICAgID48L3RleHRhcmVhPlxuICAgICAgPGxhYmVsIGZvcj1cImZsb2F0LWlucHV0XCI+T2JzZXJ2YWNpb25lczwvbGFiZWw+XG4gICAgPC9zcGFuPlxuICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtd3JhcCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBnYXAtMlwiPlxuICAgICAgPGRpdlxuICAgICAgICAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIG11bHRpY3VsdHVyYWxpdGllczsgaW5kZXggYXMgaVwiXG4gICAgICAgIGNsYXNzPVwiZmllbGQtY2hlY2tib3ggbXQtNCBmbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiXG4gICAgICA+XG4gICAgICAgIDxtYXQtY2hlY2tib3hcbiAgICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cIidtdWx0aWN1bHR1cmFsaXNtJyArICdfJyArIChpICsgMSlcIlxuICAgICAgICAgIGNsYXNzPVwiZXhhbXBsZS1tYXJnaW5cIlxuICAgICAgICA+PC9tYXQtY2hlY2tib3g+XG4gICAgICAgIDxsYWJlbCBbZm9yXT1cIm9wdGlvbi5jb2RlXCI+e3sgb3B0aW9uLm5hbWUgfX08L2xhYmVsPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJjb2wtMTIgcC00IGZvbnQtYm9sZFwiPlxuICAgIDxwPlxuICAgICAgKiBFbCBlc3R1ZGlhbnRlIG8gdGl0dWxhciBzZSBjb21wcm9tZXRlbiBhIGNhbmNlbGFyIGxhcyBjdW90YXNcbiAgICAgIGVzdGFibGVjaWRhcyBlbiBlc3RlIGNvbnRyYXRvLCBsb3MgcHJpbWVyb3MgNSAoY2luY28pIGTDrWFzIGRlbCBtZXMuIEVuXG4gICAgICBjYXNvIGRlIHF1ZXJlciByZXRpcmFyc2UsIGRlYmVyw6EgaW5mb3JtYXIgcG9yIGVzY3JpdG8gMzAgKHRyZWludGEpIGTDrWFzXG4gICAgICBhbnRlcyB5IGNhbmNlbGFyIGxvIGNvcnJlc3BvbmRpZW50ZSBoYXN0YSBsYSBmZWNoYSBkZWZpbmlkYSBkZSByZXRpcm8sXG4gICAgICBwYXJhIHBvZGVyIG9idGVuZXIgc3UgcGF6IHkgc2Fsdm8uXG4gICAgPC9wPlxuICAgIDxiciAvPjxiciAvPlxuICAgIDxkaXYgY2xhc3M9XCJmbGV4IGdhcC0yXCI+XG4gICAgICA8bWF0LWNoZWNrYm94XG4gICAgICAgIGZvcm1Db250cm9sTmFtZT1cInRlcm1zXCJcbiAgICAgICAgY2xhc3M9XCJleGFtcGxlLW1hcmdpblwiXG4gICAgICA+PC9tYXQtY2hlY2tib3g+XG4gICAgICA8IS0tIDxwLWNoZWNrYm94IFtmb3JtQ29udHJvbF09XCJnZXRDaGVja2JveENvbnRyb2woKVwiPjwvcC1jaGVja2JveD4gLS0+XG4gICAgICA8IS0tIDxpcHQtY2hlY2tib3ggW2NvbnRyb2xdPVwiY29kRm9ybVN0ZXBGaXZlLmNvbnRyb2xzWyd0ZXJtcyddXCIgW2NoZWNrYm94T3B0aW9uXT1cInRlcm1zQ2hlY2tib3hTdGF0dXNcIj48L2lwdC1jaGVja2JveD4gLS0+XG4gICAgICA8cD5cbiAgICAgICAgREVDTEFSTyBIQUJFUiBMRcONRE8gWSBBQ0VQVE8gTE9TIFTDiVJNSU5PUyBZIENPTkRJQ0lPTkVTIERFIExBUyBQT0zDjVRJQ0FTXG4gICAgICAgIEVTVEFCTEVDSURBUyBFTiBMQSBJTlNUSVRVQ0nDk04uXG4gICAgICA8L3A+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9mb3JtPlxuXG48ZGl2IGNsYXNzPVwiZmxleCBtdC0zIGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtM1wiPlxuICA8c3BhblxuICAgICpuZ0lmPVwiXG4gICAgICAoY29kRm9ybVN0ZXBGaXZlLmludmFsaWQgJiYgY29kRm9ybVN0ZXBGaXZlLnRvdWNoZWQpIHx8XG4gICAgICAoIXRlcm1zQ2hlY2tib3hTdGF0dXMgJiYgY29kRm9ybVN0ZXBGaXZlLnRvdWNoZWQpXG4gICAgXCJcbiAgICBjbGFzcz1cIlxuICAgICAgdGV4dC1yZWQtNTAwXG4gICAgICBmb250LWJvbGRcbiAgICAgIHRleHQtY2VudGVyXG4gICAgICBtdC0xXG4gICAgICBweS0yXG4gICAgICBiZy1yZWQtMTAwXG4gICAgICB3LWZ1bGxcbiAgICAgIGJvcmRlci1yb3VuZC14bFxuICAgIFwiXG4gICAgPnt7IGVycm9yTWVzc2FnZSB9fTwvc3BhblxuICA+XG4gIDxidXR0b25cbiAgICB0eXBlPVwic3VibWl0XCJcbiAgICBjbGFzcz1cIm1sLWF1dG8gcC1idXR0b24tc3VjY2VzcyBwLWJ1dHRvbi1zbVwiXG4gICAgKGNsaWNrKT1cInNlbmRGb3JtKClcIlxuICAgIHBCdXR0b25cbiAgICBbbGFiZWxdPVwic2VuZEZvcm1Nc2dcIlxuICAgIGljb249XCJwaSBwaS1jaGVja1wiXG4gID48L2J1dHRvbj5cbjwvZGl2PlxuIl19
|