ngx-sumax-erp-components 1.1.7 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (73) hide show
  1. package/README.md +24 -24
  2. package/esm2022/lib/date-picker/CustomDatePickerFormat.mjs +1 -1
  3. package/esm2022/lib/date-picker/CustomDatePickerI18n.mjs +1 -1
  4. package/esm2022/lib/date-picker/date-picker.component.mjs +3 -3
  5. package/esm2022/lib/date-picker/date-picker.mjs +1 -1
  6. package/esm2022/lib/date-picker/date-picker.module.mjs +1 -1
  7. package/esm2022/lib/date-picker/date-picker.service.mjs +1 -1
  8. package/esm2022/lib/date-time-picker/date-time-picker.component.mjs +3 -3
  9. package/esm2022/lib/date-time-picker/date-time-picker.mjs +1 -1
  10. package/esm2022/lib/date-time-picker/date-time-picker.module.mjs +1 -1
  11. package/esm2022/lib/date-time-picker/date-time-picker.service.mjs +1 -1
  12. package/esm2022/lib/date-time-picker-editable/date-time-picker-editable.component.mjs +3 -3
  13. package/esm2022/lib/date-time-picker-editable/date-time-picker-editable.module.mjs +1 -1
  14. package/esm2022/lib/date-time-picker-editable/date-time-picker-editable.service.mjs +1 -1
  15. package/esm2022/lib/dialog-ag-grid-search/dialog-ag-grid-search.component.mjs +8 -8
  16. package/esm2022/lib/dialog-ag-grid-search/dialog-ag-grid-search.module.mjs +1 -1
  17. package/esm2022/lib/error-message/error-message.component.mjs +3 -3
  18. package/esm2022/lib/error-message/error-message.module.mjs +1 -1
  19. package/esm2022/lib/input-number/input-number.component.mjs +3 -3
  20. package/esm2022/lib/input-number/input-number.mjs +1 -1
  21. package/esm2022/lib/input-number/input-number.module.mjs +1 -1
  22. package/esm2022/lib/input-number/input-number.service.mjs +1 -1
  23. package/esm2022/lib/input-text/input-text.component.mjs +3 -3
  24. package/esm2022/lib/input-text/input-text.mjs +1 -1
  25. package/esm2022/lib/input-text/input-text.module.mjs +1 -1
  26. package/esm2022/lib/input-text/input-text.service.mjs +1 -1
  27. package/esm2022/lib/ng-select-multiple/ng-select-multiple.component.mjs +3 -3
  28. package/esm2022/lib/ng-select-multiple/ng-select-multiple.mjs +1 -1
  29. package/esm2022/lib/ng-select-multiple/ng-select-multiple.module.mjs +1 -1
  30. package/esm2022/lib/ng-select-multiple/ng-select-multiple.service.mjs +1 -1
  31. package/esm2022/lib/ng-select-simple/ng-select-simple.component.mjs +3 -3
  32. package/esm2022/lib/ng-select-simple/ng-select-simple.mjs +1 -1
  33. package/esm2022/lib/ng-select-simple/ng-select-simple.module.mjs +1 -1
  34. package/esm2022/lib/ng-select-simple/ng-select-simple.service.mjs +1 -1
  35. package/esm2022/lib/sc-ag-grid/cell-editors/container-shared/container-shared.component.mjs +3 -3
  36. package/esm2022/lib/sc-ag-grid/cell-render/no-rows-overlay/noRowsOverlayCustom.component.mjs +11 -11
  37. package/esm2022/lib/sc-ag-grid/cell-render/no-rows-overlay/noRowsOverlayDefault.component.mjs +9 -9
  38. package/esm2022/lib/sc-ag-grid/cell-render/sc-cell-render-button/sc-cell-render-button.component.mjs +123 -123
  39. package/esm2022/lib/sc-ag-grid/cell-render/sc-cell-render-checkbox-list/sc-cell-render-checkbox-list.component.mjs +37 -37
  40. package/esm2022/lib/sc-ag-grid/cell-render/sc-cell-render-config.mjs +1 -1
  41. package/esm2022/lib/sc-ag-grid/cell-render/sc-cell-render-select/sc-cell-render-select.component.mjs +19 -19
  42. package/esm2022/lib/sc-ag-grid/cell-render/sc-cell-render-toggle/sc-cell-render-toggle.component.mjs +9 -9
  43. package/esm2022/lib/sc-ag-grid/directives/scAgGrid.directive.mjs +1 -1
  44. package/esm2022/lib/sc-ag-grid/index.mjs +1 -1
  45. package/esm2022/lib/sc-ag-grid/input-search/input-search.component.mjs +3 -3
  46. package/esm2022/lib/sc-ag-grid/input-search/input-search.module.mjs +1 -1
  47. package/esm2022/lib/sc-ag-grid/sc-ag-grid-customizable/sc-ag-grid-customizable.component.mjs +9 -9
  48. package/esm2022/lib/sc-ag-grid/sc-ag-grid-pagination/sc-ag-grid-pagination.component.mjs +3 -3
  49. package/esm2022/lib/sc-ag-grid/sc-ag-grid-pagination/sc-ag-grid-pagination.module.mjs +1 -1
  50. package/esm2022/lib/sc-ag-grid/sc-ag-grid.module.mjs +1 -1
  51. package/esm2022/lib/sc-ag-grid/sc-grid.uitl.mjs +1 -1
  52. package/esm2022/lib/sc-wizard/sc-wizard.component.mjs +3 -3
  53. package/esm2022/lib/sc-wizard/sc-wizard.module.mjs +1 -1
  54. package/esm2022/lib/text-area/text-area.component.mjs +3 -3
  55. package/esm2022/lib/text-area/text-area.mjs +1 -1
  56. package/esm2022/lib/text-area/text-area.module.mjs +1 -1
  57. package/esm2022/lib/text-area/text-area.service.mjs +1 -1
  58. package/esm2022/lib/tooltip-message/tooltip-message.component.mjs +3 -3
  59. package/esm2022/lib/tooltip-message/tooltip-message.module.mjs +1 -1
  60. package/esm2022/lib/utils/DateTimeModel.mjs +1 -1
  61. package/esm2022/lib/utils/DateTimePickerEditable.mjs +1 -1
  62. package/esm2022/lib/utils/DateUtil.mjs +1 -1
  63. package/esm2022/lib/utils/INgSelect.mjs +1 -1
  64. package/esm2022/lib/utils/IScAgGrid.mjs +1 -1
  65. package/esm2022/lib/utils/NgSelectUtils.mjs +1 -1
  66. package/esm2022/lib/utils/ScWizardBase.mjs +1 -1
  67. package/esm2022/lib/utils/SharedComponentsUtil.mjs +1 -1
  68. package/esm2022/lib/utils/ValidateUtil.mjs +1 -1
  69. package/esm2022/lib/utils/message-util.service.mjs +1 -1
  70. package/esm2022/public-api.mjs +1 -1
  71. package/fesm2022/ngx-sumax-erp-components.mjs +245 -245
  72. package/fesm2022/ngx-sumax-erp-components.mjs.map +1 -1
  73. package/package.json +2 -2
@@ -525,7 +525,7 @@ export class NgSelectSimpleComponent {
525
525
  useExisting: forwardRef(() => NgSelectSimpleComponent),
526
526
  multi: true,
527
527
  },
528
- ], viewQueries: [{ propertyName: "ngSelectSimple", first: true, predicate: ["ngSelectSimple"], descendants: true }, { propertyName: "btnSearch", first: true, predicate: ["btnSearch"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<label *ngIf=\"label != null && label != '' && showLabel\" class=\"d-flex sumax-label mb-0 p-0\">\r\n <span *ngIf=\"!templateLabel; else templateLabel\" [title]=\"label\" style=\"white-space: nowrap; overflow: hidden; text-overflow: ellipsis\">\r\n {{ label }}\r\n </span>\r\n <span *ngIf=\"required\" [class.text-danger]=\"controls?.errors != null\"> *</span>\r\n <span *ngIf=\"labelInfo\">\r\n <i class=\"fa fa-exclamation-circle text-info ms-2\" [matTooltip]=\"textLabelInfo\" matTooltipClass=\"bg-info\"></i>\r\n </span>\r\n</label>\r\n\r\n<div\r\n [class.input-icon]=\"controls?.errors != null && (controls?.dirty || controls?.touched) && submitted\"\r\n [class.right]=\"controls?.errors != null && (controls?.dirty || controls?.touched) && submitted\"\r\n [class.refresh]=\"controls?.errors != null && (controls?.dirty || controls?.touched) && submitted && refresh\"\r\n [class.search]=\"controls?.errors != null && (controls?.dirty || controls?.touched) && submitted && search\">\r\n <div class=\"d-flex\">\r\n <div\r\n class=\"position-relative\"\r\n [class.ng-select-container-fullbuttons]=\"search && refresh && redirect\"\r\n [class.app-ng-selec-container]=\"search || refresh\"\r\n [class.w-100]=\"!search && !refresh\"\r\n style=\"flex: 1; min-width: 0;\">\r\n <ng-select\r\n #ngSelectSimple\r\n [class]=\"search || refresh ? 'app-ng-select ng-select-fixed-width' : 'w-100 ng-select-fixed-width'\"\r\n [class.action]=\"search && refresh\"\r\n [items]=\"items | async\"\r\n [(ngModel)]=\"_value\"\r\n [disabled]=\"disabled\"\r\n [readonly]=\"readonly\"\r\n (change)=\"eventChange($event)\"\r\n (blur)=\"eventBlur($event)\"\r\n (focus)=\"eventFocus($event)\"\r\n (search)=\"eventSearch($event)\"\r\n [markFirst]=\"markFirst\"\r\n [clearable]=\"!required && clearable\"\r\n [virtualScroll]=\"virtualScroll\"\r\n [inputAttrs]=\"{ autocomplete: autocomplete }\"\r\n [clearOnBackspace]=\"clearOnBackspace\"\r\n [openOnEnter]=\"openOnEnter\"\r\n (keydown.delete)=\"!required && clearable ? clear() : ''\"\r\n (clear)=\"clear()\"\r\n (keyup.F1)=\"f1KeyUp()\"\r\n [notFoundText]=\"notFoundText\"\r\n placeholder=\"Seleccionar\"\r\n (keyup.enter)=\"enterKeyUp()\"\r\n [clearAllText]=\"clearAllText\"\r\n [searchable]=\"searchable\"\r\n (keyup.ArrowLeft)=\"leftKeyUp()\"\r\n [appendTo]=\"appendTo\"\r\n [loading]=\"loading\"\r\n [loadingText]=\"loadingText\"\r\n [class.ng-select-invalid]=\"controls?.errors != null && (controls?.dirty || controls?.touched) && submitted\"\r\n [class.ng-select-touched]=\"controls?.errors != null && (controls?.dirty || controls?.touched) && submitted\"\r\n [class.upperCase]=\"upperCase\"\r\n [ngClass]=\"setNgClass\"\r\n style=\"max-width: 100%; width: 100%;\">\r\n\r\n <!-- OPCIONES DE LISTADO -->\r\n <ng-template ng-option-tmp let-item=\"item\" let-index=\"index\">\r\n <span data-toggle=\"tooltip\" title=\"{{ item.label }}\">{{ item.label }}</span>\r\n </ng-template>\r\n </ng-select>\r\n\r\n <!-- tooltip-message es el icono de error -->\r\n <tooltip-message\r\n [label]=\"label\"\r\n [controls]=\"controls\"\r\n [validatorMessage]=\"validatorMessage\"\r\n [submitted]=\"submitted\"\r\n [tooltipMessage]=\"tooltipMessage\"></tooltip-message>\r\n </div>\r\n <ng-container *ngIf=\"search && refresh && redirect; else templateAction\">\r\n <div class=\"app-ng-select-action bd-highligh\">\r\n <button\r\n #btnSearch\r\n type=\"button\"\r\n [disabled]=\"disabled || readonly\"\r\n class=\"btn btn-success p-0 rounded-0 h-100\"\r\n (keyup.ArrowLeft)=\"ngSelectSimple.focus()\"\r\n style=\"background-color: orange; border-color: orange\"\r\n (click)=\"onSearch()\">\r\n <i class=\"fa fa-search text-white px-1\" [matTooltip]=\"'Buscar'\" matTooltipClass=\"custom-tooltip\"></i>\r\n </button>\r\n <button\r\n *ngIf=\"refresh\"\r\n type=\"button\"\r\n [disabled]=\"disabled || readonly || isRefreshDisabled\"\r\n class=\"btn btn-info p-0 rounded-0 h-100\"\r\n (click)=\"onRefresh()\">\r\n <i class=\"fa fa-refresh text-white px-1\" [matTooltip]=\"'Refrescar'\" matTooltipClass=\"bg-info\"></i>\r\n </button>\r\n <button\r\n type=\"button\"\r\n class=\"btn btn-success p-0 rounded-0 h-100\"\r\n (click)=\"openEnlace()\"\r\n [disabled]=\"disabled || readonly || isRedirectDisabled\">\r\n <em class=\"fa-regular fa-rectangle-list text-white px-1\" [matTooltip]=\"titleRedirect!\" matTooltipClass=\"bg-success\"> </em>\r\n </button>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-template #templateAction>\r\n <div class=\"app-ng-select-button bd-highlight\" *ngIf=\"search\">\r\n <button\r\n #btnSearch\r\n type=\"button\"\r\n [disabled]=\"disabled || readonly\"\r\n class=\"btn btn-success p-0 rounded-0 h-100\"\r\n (keyup.ArrowLeft)=\"ngSelectSimple.focus()\"\r\n (click)=\"onSearch()\">\r\n <i class=\"fa fa-search text-white px-1\" [matTooltip]=\"'Buscar'\" matTooltipClass=\"bg-success\"></i>\r\n </button>\r\n </div>\r\n <div class=\"app-ng-select-button bd-highlight\" *ngIf=\"refresh\">\r\n <button\r\n *ngIf=\"refresh\"\r\n type=\"button\"\r\n [disabled]=\"disabled || readonly || isRefreshDisabled\"\r\n class=\"btn btn-info p-0 rounded-0 h-100\"\r\n (click)=\"onRefresh()\">\r\n <i class=\"fa fa-refresh text-white px-1\" [matTooltip]=\"'Refrescar'\" matTooltipClass=\"bg-info\"></i>\r\n </button>\r\n </div>\r\n <div class=\"app-ng-select-button bd-highlight\" *ngIf=\"redirect\">\r\n <button\r\n type=\"button\"\r\n class=\"btn btn-success p-0 rounded-0 h-100\"\r\n style=\"padding-top: 3px; padding-bottom: 7px; border-radius: 0px\"\r\n (click)=\"openEnlace()\"\r\n [disabled]=\"disabled || readonly || isRedirectDisabled\">\r\n <em class=\"fa-regular fa-rectangle-list text-white px-1\" [matTooltip]=\"titleRedirect!\" matTooltipClass=\"bg-success\"> </em>\r\n </button>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-content select=\"[more-buttons]\"></ng-content>\r\n </div>\r\n</div>\r\n\r\n<!-- error-message es el mansaje que aparece abajo del componente -->\r\n<error-message\r\n [label]=\"label\"\r\n [controls]=\"controls\"\r\n [validatorMessage]=\"validatorMessage\"\r\n [submitted]=\"submitted\"\r\n [tooltipMessage]=\"tooltipMessage\"></error-message>\r\n", styles: ["ng-select-simple{display:block}.sumax-label{color:#646c9a!important}.input-icon tooltip-message{color:#ccc;position:absolute;z-index:3;font-size:16px;text-align:center;right:9px;top:50%;transform:translateY(-50%)}.input-icon.right>.form-control{padding-right:33px;padding-left:12px}.upperCase .ng-select-container .ng-value-container .ng-input>input{text-transform:uppercase}.app-ng-select-button{width:34px}.app-ng-select-button button{width:100%}.app-ng-selec-container{width:calc(100% - 34px)}.ng-select-container-fullbuttons{width:calc(100% - 102px)}.app-ng-select-action{width:8rem}.app-ng-select-action button{min-width:2rem;width:33%}.overflow-box{padding:5px;height:100px;border:1px solid #999;overflow:hidden}.ng-dropdown-panel{width:auto!important;max-width:550px;min-width:100%}.custom-tooltip{--mdc-plain-tooltip-container-color: orange}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-disabled{color:#999!important}\n"], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i6.errorMessageComponent, selector: "error-message", inputs: ["tooltipMessage", "validatorMessage", "controls", "label", "submitted"] }, { kind: "component", type: i7.tooltipMessageComponent, selector: "tooltip-message", inputs: ["tooltipMessage", "validatorMessage", "controls", "label", "submitted"] }, { kind: "directive", type: i8.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i9.NgSelectComponent, selector: "ng-select", inputs: ["bindLabel", "bindValue", "markFirst", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "appearance", "dropdownPosition", "appendTo", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "openOnEnter", "maxSelectedItems", "groupBy", "groupValue", "bufferAmount", "virtualScroll", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "tabIndex", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "typeahead", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd", "deselectOnClick"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { kind: "directive", type: i9.NgOptionTemplateDirective, selector: "[ng-option-tmp]" }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }], encapsulation: i0.ViewEncapsulation.None }); }
528
+ ], viewQueries: [{ propertyName: "ngSelectSimple", first: true, predicate: ["ngSelectSimple"], descendants: true }, { propertyName: "btnSearch", first: true, predicate: ["btnSearch"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<label *ngIf=\"label != null && label != '' && showLabel\" class=\"d-flex sumax-label mb-0 p-0\">\n <span *ngIf=\"!templateLabel; else templateLabel\" [title]=\"label\" style=\"white-space: nowrap; overflow: hidden; text-overflow: ellipsis\">\n {{ label }}\n </span>\n <span *ngIf=\"required\" [class.text-danger]=\"controls?.errors != null\"> *</span>\n <span *ngIf=\"labelInfo\">\n <i class=\"fa fa-exclamation-circle text-info ms-2\" [matTooltip]=\"textLabelInfo\" matTooltipClass=\"bg-info\"></i>\n </span>\n</label>\n\n<div\n [class.input-icon]=\"controls?.errors != null && (controls?.dirty || controls?.touched) && submitted\"\n [class.right]=\"controls?.errors != null && (controls?.dirty || controls?.touched) && submitted\"\n [class.refresh]=\"controls?.errors != null && (controls?.dirty || controls?.touched) && submitted && refresh\"\n [class.search]=\"controls?.errors != null && (controls?.dirty || controls?.touched) && submitted && search\">\n <div class=\"d-flex\">\n <div\n class=\"position-relative\"\n [class.ng-select-container-fullbuttons]=\"search && refresh && redirect\"\n [class.app-ng-selec-container]=\"search || refresh\"\n [class.w-100]=\"!search && !refresh\"\n style=\"flex: 1; min-width: 0;\">\n <ng-select\n #ngSelectSimple\n [class]=\"search || refresh ? 'app-ng-select ng-select-fixed-width' : 'w-100 ng-select-fixed-width'\"\n [class.action]=\"search && refresh\"\n [items]=\"items | async\"\n [(ngModel)]=\"_value\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n (change)=\"eventChange($event)\"\n (blur)=\"eventBlur($event)\"\n (focus)=\"eventFocus($event)\"\n (search)=\"eventSearch($event)\"\n [markFirst]=\"markFirst\"\n [clearable]=\"!required && clearable\"\n [virtualScroll]=\"virtualScroll\"\n [inputAttrs]=\"{ autocomplete: autocomplete }\"\n [clearOnBackspace]=\"clearOnBackspace\"\n [openOnEnter]=\"openOnEnter\"\n (keydown.delete)=\"!required && clearable ? clear() : ''\"\n (clear)=\"clear()\"\n (keyup.F1)=\"f1KeyUp()\"\n [notFoundText]=\"notFoundText\"\n placeholder=\"Seleccionar\"\n (keyup.enter)=\"enterKeyUp()\"\n [clearAllText]=\"clearAllText\"\n [searchable]=\"searchable\"\n (keyup.ArrowLeft)=\"leftKeyUp()\"\n [appendTo]=\"appendTo\"\n [loading]=\"loading\"\n [loadingText]=\"loadingText\"\n [class.ng-select-invalid]=\"controls?.errors != null && (controls?.dirty || controls?.touched) && submitted\"\n [class.ng-select-touched]=\"controls?.errors != null && (controls?.dirty || controls?.touched) && submitted\"\n [class.upperCase]=\"upperCase\"\n [ngClass]=\"setNgClass\"\n style=\"max-width: 100%; width: 100%;\">\n\n <!-- OPCIONES DE LISTADO -->\n <ng-template ng-option-tmp let-item=\"item\" let-index=\"index\">\n <span data-toggle=\"tooltip\" title=\"{{ item.label }}\">{{ item.label }}</span>\n </ng-template>\n </ng-select>\n\n <!-- tooltip-message es el icono de error -->\n <tooltip-message\n [label]=\"label\"\n [controls]=\"controls\"\n [validatorMessage]=\"validatorMessage\"\n [submitted]=\"submitted\"\n [tooltipMessage]=\"tooltipMessage\"></tooltip-message>\n </div>\n <ng-container *ngIf=\"search && refresh && redirect; else templateAction\">\n <div class=\"app-ng-select-action bd-highligh\">\n <button\n #btnSearch\n type=\"button\"\n [disabled]=\"disabled || readonly\"\n class=\"btn btn-success p-0 rounded-0 h-100\"\n (keyup.ArrowLeft)=\"ngSelectSimple.focus()\"\n style=\"background-color: orange; border-color: orange\"\n (click)=\"onSearch()\">\n <i class=\"fa fa-search text-white px-1\" [matTooltip]=\"'Buscar'\" matTooltipClass=\"custom-tooltip\"></i>\n </button>\n <button\n *ngIf=\"refresh\"\n type=\"button\"\n [disabled]=\"disabled || readonly || isRefreshDisabled\"\n class=\"btn btn-info p-0 rounded-0 h-100\"\n (click)=\"onRefresh()\">\n <i class=\"fa fa-refresh text-white px-1\" [matTooltip]=\"'Refrescar'\" matTooltipClass=\"bg-info\"></i>\n </button>\n <button\n type=\"button\"\n class=\"btn btn-success p-0 rounded-0 h-100\"\n (click)=\"openEnlace()\"\n [disabled]=\"disabled || readonly || isRedirectDisabled\">\n <em class=\"fa-regular fa-rectangle-list text-white px-1\" [matTooltip]=\"titleRedirect!\" matTooltipClass=\"bg-success\"> </em>\n </button>\n </div>\n </ng-container>\n\n <ng-template #templateAction>\n <div class=\"app-ng-select-button bd-highlight\" *ngIf=\"search\">\n <button\n #btnSearch\n type=\"button\"\n [disabled]=\"disabled || readonly\"\n class=\"btn btn-success p-0 rounded-0 h-100\"\n (keyup.ArrowLeft)=\"ngSelectSimple.focus()\"\n (click)=\"onSearch()\">\n <i class=\"fa fa-search text-white px-1\" [matTooltip]=\"'Buscar'\" matTooltipClass=\"bg-success\"></i>\n </button>\n </div>\n <div class=\"app-ng-select-button bd-highlight\" *ngIf=\"refresh\">\n <button\n *ngIf=\"refresh\"\n type=\"button\"\n [disabled]=\"disabled || readonly || isRefreshDisabled\"\n class=\"btn btn-info p-0 rounded-0 h-100\"\n (click)=\"onRefresh()\">\n <i class=\"fa fa-refresh text-white px-1\" [matTooltip]=\"'Refrescar'\" matTooltipClass=\"bg-info\"></i>\n </button>\n </div>\n <div class=\"app-ng-select-button bd-highlight\" *ngIf=\"redirect\">\n <button\n type=\"button\"\n class=\"btn btn-success p-0 rounded-0 h-100\"\n style=\"padding-top: 3px; padding-bottom: 7px; border-radius: 0px\"\n (click)=\"openEnlace()\"\n [disabled]=\"disabled || readonly || isRedirectDisabled\">\n <em class=\"fa-regular fa-rectangle-list text-white px-1\" [matTooltip]=\"titleRedirect!\" matTooltipClass=\"bg-success\"> </em>\n </button>\n </div>\n </ng-template>\n\n <ng-content select=\"[more-buttons]\"></ng-content>\n </div>\n</div>\n\n<!-- error-message es el mansaje que aparece abajo del componente -->\n<error-message\n [label]=\"label\"\n [controls]=\"controls\"\n [validatorMessage]=\"validatorMessage\"\n [submitted]=\"submitted\"\n [tooltipMessage]=\"tooltipMessage\"></error-message>\n", styles: ["ng-select-simple{display:block}.sumax-label{color:#646c9a!important}.input-icon tooltip-message{color:#ccc;position:absolute;z-index:3;font-size:16px;text-align:center;right:9px;top:50%;transform:translateY(-50%)}.input-icon.right>.form-control{padding-right:33px;padding-left:12px}.upperCase .ng-select-container .ng-value-container .ng-input>input{text-transform:uppercase}.app-ng-select-button{width:34px}.app-ng-select-button button{width:100%}.app-ng-selec-container{width:calc(100% - 34px)}.ng-select-container-fullbuttons{width:calc(100% - 102px)}.app-ng-select-action{width:8rem}.app-ng-select-action button{min-width:2rem;width:33%}.overflow-box{padding:5px;height:100px;border:1px solid #999;overflow:hidden}.ng-dropdown-panel{width:auto!important;max-width:550px;min-width:100%}.custom-tooltip{--mdc-plain-tooltip-container-color: orange}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-disabled{color:#999!important}\n"], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i6.errorMessageComponent, selector: "error-message", inputs: ["tooltipMessage", "validatorMessage", "controls", "label", "submitted"] }, { kind: "component", type: i7.tooltipMessageComponent, selector: "tooltip-message", inputs: ["tooltipMessage", "validatorMessage", "controls", "label", "submitted"] }, { kind: "directive", type: i8.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i9.NgSelectComponent, selector: "ng-select", inputs: ["bindLabel", "bindValue", "markFirst", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "appearance", "dropdownPosition", "appendTo", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "openOnEnter", "maxSelectedItems", "groupBy", "groupValue", "bufferAmount", "virtualScroll", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "tabIndex", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "typeahead", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd", "deselectOnClick"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { kind: "directive", type: i9.NgOptionTemplateDirective, selector: "[ng-option-tmp]" }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }], encapsulation: i0.ViewEncapsulation.None }); }
529
529
  }
530
530
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: NgSelectSimpleComponent, decorators: [{
531
531
  type: Component,
@@ -540,7 +540,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
540
540
  useExisting: forwardRef(() => NgSelectSimpleComponent),
541
541
  multi: true,
542
542
  },
543
- ], encapsulation: ViewEncapsulation.None, template: "<label *ngIf=\"label != null && label != '' && showLabel\" class=\"d-flex sumax-label mb-0 p-0\">\r\n <span *ngIf=\"!templateLabel; else templateLabel\" [title]=\"label\" style=\"white-space: nowrap; overflow: hidden; text-overflow: ellipsis\">\r\n {{ label }}\r\n </span>\r\n <span *ngIf=\"required\" [class.text-danger]=\"controls?.errors != null\"> *</span>\r\n <span *ngIf=\"labelInfo\">\r\n <i class=\"fa fa-exclamation-circle text-info ms-2\" [matTooltip]=\"textLabelInfo\" matTooltipClass=\"bg-info\"></i>\r\n </span>\r\n</label>\r\n\r\n<div\r\n [class.input-icon]=\"controls?.errors != null && (controls?.dirty || controls?.touched) && submitted\"\r\n [class.right]=\"controls?.errors != null && (controls?.dirty || controls?.touched) && submitted\"\r\n [class.refresh]=\"controls?.errors != null && (controls?.dirty || controls?.touched) && submitted && refresh\"\r\n [class.search]=\"controls?.errors != null && (controls?.dirty || controls?.touched) && submitted && search\">\r\n <div class=\"d-flex\">\r\n <div\r\n class=\"position-relative\"\r\n [class.ng-select-container-fullbuttons]=\"search && refresh && redirect\"\r\n [class.app-ng-selec-container]=\"search || refresh\"\r\n [class.w-100]=\"!search && !refresh\"\r\n style=\"flex: 1; min-width: 0;\">\r\n <ng-select\r\n #ngSelectSimple\r\n [class]=\"search || refresh ? 'app-ng-select ng-select-fixed-width' : 'w-100 ng-select-fixed-width'\"\r\n [class.action]=\"search && refresh\"\r\n [items]=\"items | async\"\r\n [(ngModel)]=\"_value\"\r\n [disabled]=\"disabled\"\r\n [readonly]=\"readonly\"\r\n (change)=\"eventChange($event)\"\r\n (blur)=\"eventBlur($event)\"\r\n (focus)=\"eventFocus($event)\"\r\n (search)=\"eventSearch($event)\"\r\n [markFirst]=\"markFirst\"\r\n [clearable]=\"!required && clearable\"\r\n [virtualScroll]=\"virtualScroll\"\r\n [inputAttrs]=\"{ autocomplete: autocomplete }\"\r\n [clearOnBackspace]=\"clearOnBackspace\"\r\n [openOnEnter]=\"openOnEnter\"\r\n (keydown.delete)=\"!required && clearable ? clear() : ''\"\r\n (clear)=\"clear()\"\r\n (keyup.F1)=\"f1KeyUp()\"\r\n [notFoundText]=\"notFoundText\"\r\n placeholder=\"Seleccionar\"\r\n (keyup.enter)=\"enterKeyUp()\"\r\n [clearAllText]=\"clearAllText\"\r\n [searchable]=\"searchable\"\r\n (keyup.ArrowLeft)=\"leftKeyUp()\"\r\n [appendTo]=\"appendTo\"\r\n [loading]=\"loading\"\r\n [loadingText]=\"loadingText\"\r\n [class.ng-select-invalid]=\"controls?.errors != null && (controls?.dirty || controls?.touched) && submitted\"\r\n [class.ng-select-touched]=\"controls?.errors != null && (controls?.dirty || controls?.touched) && submitted\"\r\n [class.upperCase]=\"upperCase\"\r\n [ngClass]=\"setNgClass\"\r\n style=\"max-width: 100%; width: 100%;\">\r\n\r\n <!-- OPCIONES DE LISTADO -->\r\n <ng-template ng-option-tmp let-item=\"item\" let-index=\"index\">\r\n <span data-toggle=\"tooltip\" title=\"{{ item.label }}\">{{ item.label }}</span>\r\n </ng-template>\r\n </ng-select>\r\n\r\n <!-- tooltip-message es el icono de error -->\r\n <tooltip-message\r\n [label]=\"label\"\r\n [controls]=\"controls\"\r\n [validatorMessage]=\"validatorMessage\"\r\n [submitted]=\"submitted\"\r\n [tooltipMessage]=\"tooltipMessage\"></tooltip-message>\r\n </div>\r\n <ng-container *ngIf=\"search && refresh && redirect; else templateAction\">\r\n <div class=\"app-ng-select-action bd-highligh\">\r\n <button\r\n #btnSearch\r\n type=\"button\"\r\n [disabled]=\"disabled || readonly\"\r\n class=\"btn btn-success p-0 rounded-0 h-100\"\r\n (keyup.ArrowLeft)=\"ngSelectSimple.focus()\"\r\n style=\"background-color: orange; border-color: orange\"\r\n (click)=\"onSearch()\">\r\n <i class=\"fa fa-search text-white px-1\" [matTooltip]=\"'Buscar'\" matTooltipClass=\"custom-tooltip\"></i>\r\n </button>\r\n <button\r\n *ngIf=\"refresh\"\r\n type=\"button\"\r\n [disabled]=\"disabled || readonly || isRefreshDisabled\"\r\n class=\"btn btn-info p-0 rounded-0 h-100\"\r\n (click)=\"onRefresh()\">\r\n <i class=\"fa fa-refresh text-white px-1\" [matTooltip]=\"'Refrescar'\" matTooltipClass=\"bg-info\"></i>\r\n </button>\r\n <button\r\n type=\"button\"\r\n class=\"btn btn-success p-0 rounded-0 h-100\"\r\n (click)=\"openEnlace()\"\r\n [disabled]=\"disabled || readonly || isRedirectDisabled\">\r\n <em class=\"fa-regular fa-rectangle-list text-white px-1\" [matTooltip]=\"titleRedirect!\" matTooltipClass=\"bg-success\"> </em>\r\n </button>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-template #templateAction>\r\n <div class=\"app-ng-select-button bd-highlight\" *ngIf=\"search\">\r\n <button\r\n #btnSearch\r\n type=\"button\"\r\n [disabled]=\"disabled || readonly\"\r\n class=\"btn btn-success p-0 rounded-0 h-100\"\r\n (keyup.ArrowLeft)=\"ngSelectSimple.focus()\"\r\n (click)=\"onSearch()\">\r\n <i class=\"fa fa-search text-white px-1\" [matTooltip]=\"'Buscar'\" matTooltipClass=\"bg-success\"></i>\r\n </button>\r\n </div>\r\n <div class=\"app-ng-select-button bd-highlight\" *ngIf=\"refresh\">\r\n <button\r\n *ngIf=\"refresh\"\r\n type=\"button\"\r\n [disabled]=\"disabled || readonly || isRefreshDisabled\"\r\n class=\"btn btn-info p-0 rounded-0 h-100\"\r\n (click)=\"onRefresh()\">\r\n <i class=\"fa fa-refresh text-white px-1\" [matTooltip]=\"'Refrescar'\" matTooltipClass=\"bg-info\"></i>\r\n </button>\r\n </div>\r\n <div class=\"app-ng-select-button bd-highlight\" *ngIf=\"redirect\">\r\n <button\r\n type=\"button\"\r\n class=\"btn btn-success p-0 rounded-0 h-100\"\r\n style=\"padding-top: 3px; padding-bottom: 7px; border-radius: 0px\"\r\n (click)=\"openEnlace()\"\r\n [disabled]=\"disabled || readonly || isRedirectDisabled\">\r\n <em class=\"fa-regular fa-rectangle-list text-white px-1\" [matTooltip]=\"titleRedirect!\" matTooltipClass=\"bg-success\"> </em>\r\n </button>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-content select=\"[more-buttons]\"></ng-content>\r\n </div>\r\n</div>\r\n\r\n<!-- error-message es el mansaje que aparece abajo del componente -->\r\n<error-message\r\n [label]=\"label\"\r\n [controls]=\"controls\"\r\n [validatorMessage]=\"validatorMessage\"\r\n [submitted]=\"submitted\"\r\n [tooltipMessage]=\"tooltipMessage\"></error-message>\r\n", styles: ["ng-select-simple{display:block}.sumax-label{color:#646c9a!important}.input-icon tooltip-message{color:#ccc;position:absolute;z-index:3;font-size:16px;text-align:center;right:9px;top:50%;transform:translateY(-50%)}.input-icon.right>.form-control{padding-right:33px;padding-left:12px}.upperCase .ng-select-container .ng-value-container .ng-input>input{text-transform:uppercase}.app-ng-select-button{width:34px}.app-ng-select-button button{width:100%}.app-ng-selec-container{width:calc(100% - 34px)}.ng-select-container-fullbuttons{width:calc(100% - 102px)}.app-ng-select-action{width:8rem}.app-ng-select-action button{min-width:2rem;width:33%}.overflow-box{padding:5px;height:100px;border:1px solid #999;overflow:hidden}.ng-dropdown-panel{width:auto!important;max-width:550px;min-width:100%}.custom-tooltip{--mdc-plain-tooltip-container-color: orange}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-disabled{color:#999!important}\n"] }]
543
+ ], encapsulation: ViewEncapsulation.None, template: "<label *ngIf=\"label != null && label != '' && showLabel\" class=\"d-flex sumax-label mb-0 p-0\">\n <span *ngIf=\"!templateLabel; else templateLabel\" [title]=\"label\" style=\"white-space: nowrap; overflow: hidden; text-overflow: ellipsis\">\n {{ label }}\n </span>\n <span *ngIf=\"required\" [class.text-danger]=\"controls?.errors != null\"> *</span>\n <span *ngIf=\"labelInfo\">\n <i class=\"fa fa-exclamation-circle text-info ms-2\" [matTooltip]=\"textLabelInfo\" matTooltipClass=\"bg-info\"></i>\n </span>\n</label>\n\n<div\n [class.input-icon]=\"controls?.errors != null && (controls?.dirty || controls?.touched) && submitted\"\n [class.right]=\"controls?.errors != null && (controls?.dirty || controls?.touched) && submitted\"\n [class.refresh]=\"controls?.errors != null && (controls?.dirty || controls?.touched) && submitted && refresh\"\n [class.search]=\"controls?.errors != null && (controls?.dirty || controls?.touched) && submitted && search\">\n <div class=\"d-flex\">\n <div\n class=\"position-relative\"\n [class.ng-select-container-fullbuttons]=\"search && refresh && redirect\"\n [class.app-ng-selec-container]=\"search || refresh\"\n [class.w-100]=\"!search && !refresh\"\n style=\"flex: 1; min-width: 0;\">\n <ng-select\n #ngSelectSimple\n [class]=\"search || refresh ? 'app-ng-select ng-select-fixed-width' : 'w-100 ng-select-fixed-width'\"\n [class.action]=\"search && refresh\"\n [items]=\"items | async\"\n [(ngModel)]=\"_value\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n (change)=\"eventChange($event)\"\n (blur)=\"eventBlur($event)\"\n (focus)=\"eventFocus($event)\"\n (search)=\"eventSearch($event)\"\n [markFirst]=\"markFirst\"\n [clearable]=\"!required && clearable\"\n [virtualScroll]=\"virtualScroll\"\n [inputAttrs]=\"{ autocomplete: autocomplete }\"\n [clearOnBackspace]=\"clearOnBackspace\"\n [openOnEnter]=\"openOnEnter\"\n (keydown.delete)=\"!required && clearable ? clear() : ''\"\n (clear)=\"clear()\"\n (keyup.F1)=\"f1KeyUp()\"\n [notFoundText]=\"notFoundText\"\n placeholder=\"Seleccionar\"\n (keyup.enter)=\"enterKeyUp()\"\n [clearAllText]=\"clearAllText\"\n [searchable]=\"searchable\"\n (keyup.ArrowLeft)=\"leftKeyUp()\"\n [appendTo]=\"appendTo\"\n [loading]=\"loading\"\n [loadingText]=\"loadingText\"\n [class.ng-select-invalid]=\"controls?.errors != null && (controls?.dirty || controls?.touched) && submitted\"\n [class.ng-select-touched]=\"controls?.errors != null && (controls?.dirty || controls?.touched) && submitted\"\n [class.upperCase]=\"upperCase\"\n [ngClass]=\"setNgClass\"\n style=\"max-width: 100%; width: 100%;\">\n\n <!-- OPCIONES DE LISTADO -->\n <ng-template ng-option-tmp let-item=\"item\" let-index=\"index\">\n <span data-toggle=\"tooltip\" title=\"{{ item.label }}\">{{ item.label }}</span>\n </ng-template>\n </ng-select>\n\n <!-- tooltip-message es el icono de error -->\n <tooltip-message\n [label]=\"label\"\n [controls]=\"controls\"\n [validatorMessage]=\"validatorMessage\"\n [submitted]=\"submitted\"\n [tooltipMessage]=\"tooltipMessage\"></tooltip-message>\n </div>\n <ng-container *ngIf=\"search && refresh && redirect; else templateAction\">\n <div class=\"app-ng-select-action bd-highligh\">\n <button\n #btnSearch\n type=\"button\"\n [disabled]=\"disabled || readonly\"\n class=\"btn btn-success p-0 rounded-0 h-100\"\n (keyup.ArrowLeft)=\"ngSelectSimple.focus()\"\n style=\"background-color: orange; border-color: orange\"\n (click)=\"onSearch()\">\n <i class=\"fa fa-search text-white px-1\" [matTooltip]=\"'Buscar'\" matTooltipClass=\"custom-tooltip\"></i>\n </button>\n <button\n *ngIf=\"refresh\"\n type=\"button\"\n [disabled]=\"disabled || readonly || isRefreshDisabled\"\n class=\"btn btn-info p-0 rounded-0 h-100\"\n (click)=\"onRefresh()\">\n <i class=\"fa fa-refresh text-white px-1\" [matTooltip]=\"'Refrescar'\" matTooltipClass=\"bg-info\"></i>\n </button>\n <button\n type=\"button\"\n class=\"btn btn-success p-0 rounded-0 h-100\"\n (click)=\"openEnlace()\"\n [disabled]=\"disabled || readonly || isRedirectDisabled\">\n <em class=\"fa-regular fa-rectangle-list text-white px-1\" [matTooltip]=\"titleRedirect!\" matTooltipClass=\"bg-success\"> </em>\n </button>\n </div>\n </ng-container>\n\n <ng-template #templateAction>\n <div class=\"app-ng-select-button bd-highlight\" *ngIf=\"search\">\n <button\n #btnSearch\n type=\"button\"\n [disabled]=\"disabled || readonly\"\n class=\"btn btn-success p-0 rounded-0 h-100\"\n (keyup.ArrowLeft)=\"ngSelectSimple.focus()\"\n (click)=\"onSearch()\">\n <i class=\"fa fa-search text-white px-1\" [matTooltip]=\"'Buscar'\" matTooltipClass=\"bg-success\"></i>\n </button>\n </div>\n <div class=\"app-ng-select-button bd-highlight\" *ngIf=\"refresh\">\n <button\n *ngIf=\"refresh\"\n type=\"button\"\n [disabled]=\"disabled || readonly || isRefreshDisabled\"\n class=\"btn btn-info p-0 rounded-0 h-100\"\n (click)=\"onRefresh()\">\n <i class=\"fa fa-refresh text-white px-1\" [matTooltip]=\"'Refrescar'\" matTooltipClass=\"bg-info\"></i>\n </button>\n </div>\n <div class=\"app-ng-select-button bd-highlight\" *ngIf=\"redirect\">\n <button\n type=\"button\"\n class=\"btn btn-success p-0 rounded-0 h-100\"\n style=\"padding-top: 3px; padding-bottom: 7px; border-radius: 0px\"\n (click)=\"openEnlace()\"\n [disabled]=\"disabled || readonly || isRedirectDisabled\">\n <em class=\"fa-regular fa-rectangle-list text-white px-1\" [matTooltip]=\"titleRedirect!\" matTooltipClass=\"bg-success\"> </em>\n </button>\n </div>\n </ng-template>\n\n <ng-content select=\"[more-buttons]\"></ng-content>\n </div>\n</div>\n\n<!-- error-message es el mansaje que aparece abajo del componente -->\n<error-message\n [label]=\"label\"\n [controls]=\"controls\"\n [validatorMessage]=\"validatorMessage\"\n [submitted]=\"submitted\"\n [tooltipMessage]=\"tooltipMessage\"></error-message>\n", styles: ["ng-select-simple{display:block}.sumax-label{color:#646c9a!important}.input-icon tooltip-message{color:#ccc;position:absolute;z-index:3;font-size:16px;text-align:center;right:9px;top:50%;transform:translateY(-50%)}.input-icon.right>.form-control{padding-right:33px;padding-left:12px}.upperCase .ng-select-container .ng-value-container .ng-input>input{text-transform:uppercase}.app-ng-select-button{width:34px}.app-ng-select-button button{width:100%}.app-ng-selec-container{width:calc(100% - 34px)}.ng-select-container-fullbuttons{width:calc(100% - 102px)}.app-ng-select-action{width:8rem}.app-ng-select-action button{min-width:2rem;width:33%}.overflow-box{padding:5px;height:100px;border:1px solid #999;overflow:hidden}.ng-dropdown-panel{width:auto!important;max-width:550px;min-width:100%}.custom-tooltip{--mdc-plain-tooltip-container-color: orange}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-disabled{color:#999!important}\n"] }]
544
544
  }], ctorParameters: () => [{ type: i1.MessageUtilService }, { type: i2.MatDialog }, { type: i3.NgSelectSimpleService }], propDecorators: { ngSelectSimple: [{
545
545
  type: ViewChild,
546
546
  args: ["ngSelectSimple"]
@@ -648,4 +648,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
648
648
  }], onsearch: [{
649
649
  type: Output
650
650
  }] } });
651
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctc2VsZWN0LXNpbXBsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc3VtYXgtZXJwLWNvbXBvbmVudC9zcmMvbGliL25nLXNlbGVjdC1zaW1wbGUvbmctc2VsZWN0LXNpbXBsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc3VtYXgtZXJwLWNvbXBvbmVudC9zcmMvbGliL25nLXNlbGVjdC1zaW1wbGUvbmctc2VsZWN0LXNpbXBsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUVULFlBQVksRUFDWixVQUFVLEVBQ1YsS0FBSyxFQUlMLE1BQU0sRUFHTixTQUFTLEVBQ1QsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBbUIsYUFBYSxFQUFFLGlCQUFpQixFQUFvQixNQUFNLGdCQUFnQixDQUFDO0FBR3JHLE9BQU8sRUFBYyxFQUFFLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBQ3BELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUV2RyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNyRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7Ozs7Ozs7O0FBSXJELE1BQU0sT0FBTyxZQUFZO0lBQ3ZCLFlBQ1MsYUFBMkIsRUFBRSxFQUM3QixRQUFnQixFQUFFLEVBQ2xCLFFBQWdCLE9BQU8sRUFDdkIsVUFBNkIsRUFBRSxDQUFDLEVBQUUsQ0FBQztRQUhuQyxlQUFVLEdBQVYsVUFBVSxDQUFtQjtRQUM3QixVQUFLLEdBQUwsS0FBSyxDQUFhO1FBQ2xCLFVBQUssR0FBTCxLQUFLLENBQWtCO1FBQ3ZCLFlB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QUNHLE1BQU07c0JBQWYsTUFBTTtnQkFDRyxNQUFNO3NCQUFmLE1BQU07Z0JBQ0csSUFBSTtzQkFBYixNQUFNO2dCQUNHLE9BQU87c0JBQWhCLE1BQU07Z0JBQ0csU0FBUztzQkFBbEIsTUFBTTtnQkFDRyxRQUFRO3NCQUFqQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgRWxlbWVudFJlZixcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgZm9yd2FyZFJlZixcclxuICBJbnB1dCxcclxuICBPbkNoYW5nZXMsXHJcbiAgT25EZXN0cm95LFxyXG4gIE9uSW5pdCxcclxuICBPdXRwdXQsXHJcbiAgU2ltcGxlQ2hhbmdlcyxcclxuICBUZW1wbGF0ZVJlZixcclxuICBWaWV3Q2hpbGQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBOR19WQUxJREFUT1JTLCBOR19WQUxVRV9BQ0NFU1NPUiwgVmFsaWRhdGlvbkVycm9ycyB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5pbXBvcnQgeyBNYXREaWFsb2cgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nXCI7XHJcbmltcG9ydCB7IE5nU2VsZWN0Q29tcG9uZW50IH0gZnJvbSBcIkBuZy1zZWxlY3Qvbmctc2VsZWN0XCI7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mLCBTdWJzY3JpcHRpb24gfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyBzaGFyZVJlcGxheSB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xyXG5pbXBvcnQgeyBEaWFsb2dBZ0dyaWRTZWFyY2hDb21wb25lbnQgfSBmcm9tICcuLi9kaWFsb2ctYWctZ3JpZC1zZWFyY2gvZGlhbG9nLWFnLWdyaWQtc2VhcmNoLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE1lc3NhZ2VVdGlsU2VydmljZSB9IGZyb20gXCIuLi91dGlscy9tZXNzYWdlLXV0aWwuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBTaGFyZWRDb21wb25lbnRzVXRpbCB9IGZyb20gXCIuLi91dGlscy9TaGFyZWRDb21wb25lbnRzVXRpbFwiO1xyXG5pbXBvcnQgeyBWYWxpZGF0ZVV0aWwgfSBmcm9tIFwiLi4vdXRpbHMvVmFsaWRhdGVVdGlsXCI7XHJcbmltcG9ydCB7IE5nU2VsZWN0U2ltcGxlU2VydmljZSB9IGZyb20gXCIuL25nLXNlbGVjdC1zaW1wbGUuc2VydmljZVwiO1xyXG5cclxuXHJcbmV4cG9ydCBjbGFzcyBTZWFyY2hQYXJhbXMge1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIGNvbHVtbkRlZnM6IENvbHVtbkRlZnNbXSA9IFtdLFxyXG4gICAgcHVibGljIHRpdGxlOiBzdHJpbmcgPSBcIlwiLFxyXG4gICAgcHVibGljIHdpZHRoOiBzdHJpbmcgPSBcIjk5MHB4XCIsXHJcbiAgICBwdWJsaWMgcm93RGF0YTogT2JzZXJ2YWJsZTxhbnlbXT4gPSBvZihbXSlcclxuICApIHsgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgQ29sdW1uRGVmcyB7XHJcbiAgaGVhZGVyTmFtZT86IHN0cmluZztcclxuICBmaWVsZD86IHN0cmluZztcclxuICB3aWR0aD86IHN0cmluZztcclxuICBjZWxsUmVuZGVyZXI/OiBhbnk7XHJcbiAgdmFsdWVHZXR0ZXI/OiAoZmllbGQ6IGFueSkgPT4gc3RyaW5nIHwgc3RyaW5nO1xyXG4gIHNvcnRhYmxlPzogYm9vbGVhbjtcclxuICByZXNpemFibGU/OiBib29sZWFuO1xyXG4gIGNlbGxDbGFzcz86IHN0cmluZ1tdO1xyXG4gIGNlbGxTdHlsZT86IHt9O1xyXG4gIHZhbHVlRm9ybWF0dGVyPzogYW55O1xyXG4gIHBpbm5lZD86IHN0cmluZztcclxuICBzb3J0Pzogc3RyaW5nO1xyXG59XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ25nLXNlbGVjdC1zaW1wbGUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9uZy1zZWxlY3Qtc2ltcGxlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9uZy1zZWxlY3Qtc2ltcGxlLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBOZ1NlbGVjdFNpbXBsZUNvbXBvbmVudCksXHJcbiAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTkdfVkFMSURBVE9SUyxcclxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gTmdTZWxlY3RTaW1wbGVDb21wb25lbnQpLFxyXG4gICAgICBtdWx0aTogdHJ1ZSxcclxuICAgIH0sXHJcbiAgXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTmdTZWxlY3RTaW1wbGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcclxuICBAVmlld0NoaWxkKFwibmdTZWxlY3RTaW1wbGVcIikgbmdTZWxlY3RTaW1wbGUhOiBOZ1NlbGVjdENvbXBvbmVudDtcclxuICBAVmlld0NoaWxkKFwiYnRuU2VhcmNoXCIpIGJ0blNlYXJjaCE6IEVsZW1lbnRSZWY7XHJcblxyXG4gIC8qKlxyXG4gICAqIEBkZXNjcmlwdGlvbiBDb250cm9sYSBsYSB2aXN1YWxpemFjacOzbiBkZWwgdGV4dG8gc3VwZXJpb3IgKGxhYmVsKVxyXG4gICAqIEBkZWZhdWx0IHRydWVcclxuICAgKiBAdHlwZSBib29sZWFuXHJcbiAgICovXHJcbiAgQElucHV0KCkgc2hvd0xhYmVsOiBib29sZWFuID0gdHJ1ZTtcclxuICBcclxuICAvKipcclxuICAgKiBAZGVzY3JpcHRpb24gVGV4dG8gYSBtb3N0cmFyIGNvbW8gZXRpcXVldGEgZGVsIGNhbXBvXHJcbiAgICogQGRlZmF1bHQgbnVsbFxyXG4gICAqIEB0eXBlIGFueVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGxhYmVsOiBhbnkgPSBudWxsO1xyXG4gIFxyXG4gIC8qKlxyXG4gICAqIEBkZXNjcmlwdGlvbiBWYWxvciBwYXJhIGVsIGF0cmlidXRvIGF1dG9jb21wbGV0ZSBkZWwgaW5wdXRcclxuICAgKiBAZGVmYXVsdCBcIm5vLWF1dG9jb21wbGV0ZS1uZy1zZWxlY3RcIlxyXG4gICAqIEB0eXBlIHN0cmluZ1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGF1dG9jb21wbGV0ZTogc3RyaW5nID0gXCJuby1hdXRvY29tcGxldGUtbmctc2VsZWN0XCI7XHJcbiAgXHJcbiAgLyoqXHJcbiAgICogQGRlc2NyaXB0aW9uIFJlZmVyZW5jaWEgYWwgc2lndWllbnRlIGNvbnRyb2wgcGFyYSBuYXZlZ2FjacOzblxyXG4gICAqIEBkZWZhdWx0IHVuZGVmaW5lZFxyXG4gICAqIEB0eXBlIGFueVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIG5leHQ6IGFueTtcclxuICBcclxuICAvKipcclxuICAgKiBAZGVzY3JpcHRpb24gUmVmZXJlbmNpYSBhbCBjb250cm9sIGFsdGVybmF0aXZvIGN1YW5kbyBlbCBzaWd1aWVudGUgZXN0w6EgZGVzaGFiaWxpdGFkb1xyXG4gICAqIEBkZWZhdWx0IHVuZGVmaW5lZFxyXG4gICAqIEB0eXBlIGFueVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIG5leHRJc0Rpc2FibGU6IGFueTtcclxuICBcclxuICAvKipcclxuICAgKiBAZGVzY3JpcHRpb24gUmVmZXJlbmNpYSBhbCBjb250cm9sIGFudGVyaW9yIHBhcmEgbmF2ZWdhY2nDs25cclxuICAgKiBAZGVmYXVsdCB1bmRlZmluZWRcclxuICAgKiBAdHlwZSBhbnlcclxuICAgKi9cclxuICBASW5wdXQoKSBiYWNrOiBhbnk7XHJcbiAgXHJcbiAgLyoqXHJcbiAgICogQGRlc2NyaXB0aW9uIFJlZmVyZW5jaWEgYWwgY29udHJvbCBhbHRlcm5hdGl2byBjdWFuZG8gZWwgYW50ZXJpb3IgZXN0w6EgZGVzaGFiaWxpdGFkb1xyXG4gICAqIEBkZWZhdWx0IHVuZGVmaW5lZFxyXG4gICAqIEB0eXBlIGFueVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGJhY2tJc0Rpc2FibGU6IGFueTtcclxuICBcclxuICAvKipcclxuICAgKiBAZGVzY3JpcHRpb24gSW5kaWNhIHNpIGVsIGNhbXBvIGVzIG9ibGlnYXRvcmlvXHJcbiAgICogQGRlZmF1bHQgZmFsc2VcclxuICAgKiBAdHlwZSBib29sZWFuXHJcbiAgICovXHJcbiAgQElucHV0KCkgcmVxdWlyZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBcclxuICAvKipcclxuICAgKiBAZGVzY3JpcHRpb24gRGVzaGFiaWxpdGEgZWwgY29udHJvbFxyXG4gICAqIEBkZWZhdWx0IGZhbHNlXHJcbiAgICogQHR5cGUgYm9vbGVhblxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgXHJcbiAgLyoqXHJcbiAgICogQGRlc2NyaXB0aW9uIEVzdGFibGVjZSBlbCBjb250cm9sIGNvbW8gc29sbyBsZWN0dXJhXHJcbiAgICogQGRlZmF1bHQgZmFsc2VcclxuICAgKiBAdHlwZSBib29sZWFuXHJcbiAgICovXHJcbiAgQElucHV0KCkgcmVhZG9ubHk6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBcclxuICAvKipcclxuICAgKiBAZGVzY3JpcHRpb24gTXVlc3RyYSBtZW5zYWplcyBkZSB2YWxpZGFjacOzblxyXG4gICAqIEBkZWZhdWx0IGZhbHNlXHJcbiAgICogQHR5cGUgYm9vbGVhblxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHZhbGlkYXRvck1lc3NhZ2U6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBcclxuICAvKipcclxuICAgKiBAZGVzY3JpcHRpb24gTXVlc3RyYSBtZW5zYWplcyBkZSBheXVkYSBjb21vIHRvb2x0aXBzXHJcbiAgICogQGRlZmF1bHQgdHJ1ZVxyXG4gICAqIEB0eXBlIGJvb2xlYW5cclxuICAgKi9cclxuICBASW5wdXQoKSB0b29sdGlwTWVzc2FnZTogYm9vbGVhbiA9IHRydWU7XHJcbiAgXHJcbiAgLyoqXHJcbiAgICogQGRlc2NyaXB0aW9uIEFicmUgZWwgc2VsZWN0b3IgYWwgcmVjaWJpciBlbCBmb2NvXHJcbiAgICogQGRlZmF1bHQgZmFsc2VcclxuICAgKiBAdHlwZSBib29sZWFuXHJcbiAgICovXHJcbiAgQElucHV0KCkgb3BlbldoZW5Gb2N1czogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIFxyXG4gIC8qKlxyXG4gICAqIEBkZXNjcmlwdGlvbiBDYW1wbyBwb3IgZWwgY3VhbCBzZSByZWFsaXphcsOhIGxhIGLDunNxdWVkYVxyXG4gICAqIEBkZWZhdWx0IFwidmFsdWVcIlxyXG4gICAqIEB0eXBlIHN0cmluZ1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHNlYXJjaEJ5OiBzdHJpbmcgPSBcInZhbHVlXCI7XHJcbiAgXHJcbiAgLyoqXHJcbiAgICogQGRlc2NyaXB0aW9uIE1hcmNhIGVsIHByaW1lciBlbGVtZW50byBhdXRvbcOhdGljYW1lbnRlXHJcbiAgICogQGRlZmF1bHQgZmFsc2VcclxuICAgKiBAdHlwZSBib29sZWFuXHJcbiAgICovXHJcbiAgQElucHV0KCkgbWFya0ZpcnN0SXRlbTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIFxyXG4gIC8qKlxyXG4gICAqIEBkZXNjcmlwdGlvbiBNYXJjYSBhdXRvbcOhdGljYW1lbnRlIGN1YW5kbyBzb2xvIGhheSB1biBlbGVtZW50b1xyXG4gICAqIEBkZWZhdWx0IGZhbHNlXHJcbiAgICogQHR5cGUgYm9vbGVhblxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIG1hcmtXaGVuSGF2ZU9uZUl0ZW06IGJvb2xlYW4gPSBmYWxzZTtcclxuICBcclxuICAvKipcclxuICAgKiBAZGVzY3JpcHRpb24gSW5kaWNhIHNpIGVsIGZvcm11bGFyaW8gaGEgc2lkbyBlbnZpYWRvIHBhcmEgbW9zdHJhciB2YWxpZGFjaW9uZXNcclxuICAgKiBAZGVmYXVsdCB0cnVlXHJcbiAgICogQHR5cGUgYm9vbGVhblxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHN1Ym1pdHRlZDogYm9vbGVhbiA9IHRydWU7XHJcbiAgXHJcbiAgLyoqXHJcbiAgICogQGRlc2NyaXB0aW9uIENsYXNlcyBDU1MgYWRpY2lvbmFsZXMgcGFyYSBlbCBjb21wb25lbnRlXHJcbiAgICogQGRlZmF1bHQgXCJcIlxyXG4gICAqIEB0eXBlIHN0cmluZ1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHNldE5nQ2xhc3M6IHN0cmluZyA9IFwiXCI7XHJcbiAgXHJcbiAgLyoqXHJcbiAgICogQGRlc2NyaXB0aW9uIEhhYmlsaXRhIGxhIGLDunNxdWVkYSBlbiBlbCBzZWxlY3RvclxyXG4gICAqIEBkZWZhdWx0IHRydWVcclxuICAgKiBAdHlwZSBib29sZWFuXHJcbiAgICovXHJcbiAgQElucHV0KCkgc2VhcmNoYWJsZTogYm9vbGVhbiA9IHRydWU7XHJcbiAgXHJcbiAgLyoqXHJcbiAgICogQGRlc2NyaXB0aW9uIE11ZXN0cmEgYWxlcnRhcyBkZSB2YWxpZGFjacOzblxyXG4gICAqIEBkZWZhdWx0IGZhbHNlXHJcbiAgICogQHR5cGUgYm9vbGVhblxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHZhbGlkYXRvckFsZXJ0OiBib29sZWFuID0gZmFsc2U7XHJcbiAgXHJcbiAgLyoqXHJcbiAgICogQGRlc2NyaXB0aW9uIENvbnZpZXJ0ZSBlbCB0ZXh0byBhIG1hecO6c2N1bGFzXHJcbiAgICogQGRlZmF1bHQgZmFsc2VcclxuICAgKiBAdHlwZSBib29sZWFuXHJcbiAgICovXHJcbiAgQElucHV0KCkgdXBwZXJDYXNlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgXHJcbiAgLyoqXHJcbiAgICogQGRlc2NyaXB0aW9uIFBsYW50aWxsYSBwZXJzb25hbGl6YWRhIHBhcmEgbGEgZXRpcXVldGFcclxuICAgKiBAZGVmYXVsdCBudWxsXHJcbiAgICogQHR5cGUgVGVtcGxhdGVSZWY8YW55PiB8IG51bGxcclxuICAgKi9cclxuICBASW5wdXQoKSB0ZW1wbGF0ZUxhYmVsOiBUZW1wbGF0ZVJlZjxhbnk+IHwgbnVsbCA9IG51bGw7XHJcbiAgXHJcbiAgLyoqXHJcbiAgICogQGRlc2NyaXB0aW9uIEVsZW1lbnRvIGFsIHF1ZSBzZSBhZGp1bnRhcsOhIGVsIGRyb3Bkb3duXHJcbiAgICogQGRlZmF1bHQgXCJib2R5XCJcclxuICAgKiBAdHlwZSBzdHJpbmdcclxuICAgKi9cclxuICBASW5wdXQoKSBhcHBlbmRUbzogc3RyaW5nID0gXCJib2R5XCI7XHJcbiAgXHJcbiAgLyoqXHJcbiAgICogQGRlc2NyaXB0aW9uIExpc3RhIGRlIGVsZW1lbnRvcyBwYXJhIGVsIHNlbGVjdG9yXHJcbiAgICogQGRlZmF1bHQgdW5kZWZpbmVkXHJcbiAgICogQHR5cGUgT2JzZXJ2YWJsZTxhbnlbXT5cclxuICAgKi9cclxuICBASW5wdXQoKSBpdGVtcyE6IE9ic2VydmFibGU8YW55W10+O1xyXG4gIFxyXG4gIC8qKlxyXG4gICAqIEBkZXNjcmlwdGlvbiBJbmRpY2Egc2kgZXN0w6EgY2FyZ2FuZG8gZGF0b3NcclxuICAgKiBAZGVmYXVsdCB0cnVlXHJcbiAgICogQHR5cGUgYm9vbGVhblxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGxvYWRpbmc6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIFxyXG4gIC8qKlxyXG4gICAqIEBkZXNjcmlwdGlvbiBUZXh0byBhIG1vc3RyYXIgZHVyYW50ZSBsYSBjYXJnYVxyXG4gICAqIEBkZWZhdWx0IFwiQ2FyZ2FuZG8uLi5cIlxyXG4gICAqIEB0eXBlIHN0cmluZ1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGxvYWRpbmdUZXh0OiBzdHJpbmcgPSBcIkNhcmdhbmRvLi4uXCI7XHJcbiAgXHJcbiAgLyoqXHJcbiAgICogQGRlc2NyaXB0aW9uIFRleHRvIHBhcmEgZWwgYm90w7NuIGRlIGxpbXBpYXIgc2VsZWNjacOzblxyXG4gICAqIEBkZWZhdWx0IFwiTGltcGlhclwiXHJcbiAgICogQHR5cGUgc3RyaW5nXHJcbiAgICovXHJcbiAgQElucHV0KCkgY2xlYXJBbGxUZXh0OiBzdHJpbmcgPSBcIkxpbXBpYXJcIjtcclxuICBcclxuICAvKipcclxuICAgKiBAZGVzY3JpcHRpb24gVGV4dG8gYSBtb3N0cmFyIGN1YW5kbyBubyBoYXkgcmVzdWx0YWRvc1xyXG4gICAqIEBkZWZhdWx0IFwiTm8gc2UgZW5jb250cmFyb24gcmVzdWx0YWRvc1wiXHJcbiAgICogQHR5cGUgc3RyaW5nXHJcbiAgICovXHJcbiAgQElucHV0KCkgbm90Rm91bmRUZXh0OiBzdHJpbmcgPSBcIk5vIHNlIGVuY29udHJhcm9uIHJlc3VsdGFkb3NcIjtcclxuICBcclxuICAvKipcclxuICAgKiBAZGVzY3JpcHRpb24gTWFyY2EgZWwgcHJpbWVyIGVsZW1lbnRvIGRlIGxhIGxpc3RhXHJcbiAgICogQGRlZmF1bHQgdHJ1ZVxyXG4gICAqIEB0eXBlIGJvb2xlYW5cclxuICAgKi9cclxuICBASW5wdXQoKSBtYXJrRmlyc3Q6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIFxyXG4gIC8qKlxyXG4gICAqIEBkZXNjcmlwdGlvbiBQZXJtaXRlIGxpbXBpYXIgbGEgc2VsZWNjacOzblxyXG4gICAqIEBkZWZhdWx0IHRydWVcclxuICAgKiBAdHlwZSBib29sZWFuXHJcbiAgICovXHJcbiAgQElucHV0KCkgY2xlYXJhYmxlOiBib29sZWFuID0gdHJ1ZTtcclxuICBcclxuICAvKipcclxuICAgKiBAZGVzY3JpcHRpb24gTGltcGlhIGxhIHNlbGVjY2nDs24gYWwgcHJlc2lvbmFyIHJldHJvY2Vzb1xyXG4gICAqIEBkZWZhdWx0IGZhbHNlXHJcbiAgICogQHR5cGUgYm9vbGVhblxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGNsZWFyT25CYWNrc3BhY2U6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBcclxuICAvKipcclxuICAgKiBAZGVzY3JpcHRpb24gSGFiaWxpdGEgZWwgZGVzcGxhemFtaWVudG8gdmlydHVhbCBwYXJhIGxpc3RhcyBncmFuZGVzXHJcbiAgICogQGRlZmF1bHQgdHJ1ZVxyXG4gICAqIEB0eXBlIGJvb2xlYW5cclxuICAgKi9cclxuICBASW5wdXQoKSB2aXJ0dWFsU2Nyb2xsOiBib29sZWFuID0gdHJ1ZTtcclxuICBcclxuICAvKipcclxuICAgKiBAZGVzY3JpcHRpb24gQWJyZSBlbCBzZWxlY3RvciBhbCBwcmVzaW9uYXIgRW50ZXJcclxuICAgKiBAZGVmYXVsdCBmYWxzZVxyXG4gICAqIEB0eXBlIGJvb2xlYW5cclxuICAgKi9cclxuICBASW5wdXQoKSBvcGVuT25FbnRlcjogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIFxyXG4gIC8qKlxyXG4gICAqIEBkZXNjcmlwdGlvbiBNdWVzdHJhIGVsIGJvdMOzbiBkZSBhY3R1YWxpemFyXHJcbiAgICogQGRlZmF1bHQgZmFsc2VcclxuICAgKiBAdHlwZSBib29sZWFuXHJcbiAgICovXHJcbiAgQElucHV0KCkgcmVmcmVzaDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIFxyXG4gIC8qKlxyXG4gICAqIEBkZXNjcmlwdGlvbiBEZXNoYWJpbGl0YSBlbCBib3TDs24gZGUgYWN0dWFsaXphclxyXG4gICAqIEBkZWZhdWx0IGZhbHNlXHJcbiAgICogQHR5cGUgYm9vbGVhblxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGlzUmVmcmVzaERpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgXHJcbiAgLyoqXHJcbiAgICogQGRlc2NyaXB0aW9uIE11ZXN0cmEgZWwgYm90w7NuIGRlIGLDunNxdWVkYVxyXG4gICAqIEBkZWZhdWx0IGZhbHNlXHJcbiAgICogQHR5cGUgYm9vbGVhblxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHNlYXJjaDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIFxyXG4gIC8qKlxyXG4gICAqIEBkZXNjcmlwdGlvbiBNdWVzdHJhIGVsIGJvdMOzbiBkZSByZWRpcmVjY2nDs25cclxuICAgKiBAZGVmYXVsdCBmYWxzZVxyXG4gICAqIEB0eXBlIGJvb2xlYW5cclxuICAgKi9cclxuICBASW5wdXQoKSByZWRpcmVjdDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIFxyXG4gIC8qKlxyXG4gICAqIEBkZXNjcmlwdGlvbiBQYXLDoW1ldHJvcyBwYXJhIGxhIGLDunNxdWVkYSBhdmFuemFkYVxyXG4gICAqIEBkZWZhdWx0IG5ldyBTZWFyY2hQYXJhbXMoKVxyXG4gICAqIEB0eXBlIFNlYXJjaFBhcmFtc1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHNlYXJjaFBhcmFtczogU2VhcmNoUGFyYW1zID0gbmV3IFNlYXJjaFBhcmFtcygpO1xyXG4gIFxyXG4gIC8qKlxyXG4gICAqIEBkZXNjcmlwdGlvbiBIYWJpbGl0YSBpbmZvcm1hY2nDs24gYWRpY2lvbmFsIHBhcmEgbGEgZXRpcXVldGFcclxuICAgKiBAZGVmYXVsdCBmYWxzZVxyXG4gICAqIEB0eXBlIGJvb2xlYW5cclxuICAgKi9cclxuICBASW5wdXQoKSBsYWJlbEluZm86IGJvb2xlYW4gPSBmYWxzZTtcclxuICBcclxuICAvKipcclxuICAgKiBAZGVzY3JpcHRpb24gVGV4dG8gaW5mb3JtYXRpdm8gYWRpY2lvbmFsIHBhcmEgbGEgZXRpcXVldGFcclxuICAgKiBAZGVmYXVsdCBcIlwiXHJcbiAgICogQHR5cGUgc3RyaW5nXHJcbiAgICovXHJcbiAgQElucHV0KCkgdGV4dExhYmVsSW5mbzogc3RyaW5nID0gXCJcIjtcclxuICBcclxuICAvKipcclxuICAgKiBAZGVzY3JpcHRpb24gVVJMIHBhcmEgcmVkaXJlY2Npw7NuXHJcbiAgICogQGRlZmF1bHQgXCJcIlxyXG4gICAqIEB0eXBlIHN0cmluZ1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHVybFJlZGlyZWN0OiBzdHJpbmcgPSBcIlwiO1xyXG4gIFxyXG4gIC8qKlxyXG4gICAqIEBkZXNjcmlwdGlvbiBUw610dWxvIHBhcmEgZWwgYm90w7NuIGRlIHJlZGlyZWNjacOzblxyXG4gICAqIEBkZWZhdWx0IFwiXCJcclxuICAgKiBAdHlwZSBzdHJpbmdcclxuICAgKi9cclxuICBASW5wdXQoKSB0aXRsZVJlZGlyZWN0OiBzdHJpbmcgPSBcIlwiO1xyXG4gIFxyXG4gIC8qKlxyXG4gICAqIEBkZXNjcmlwdGlvbiBEZXNoYWJpbGl0YSBlbCBib3TDs24gZGUgcmVkaXJlY2Npw7NuXHJcbiAgICogQGRlZmF1bHQgZmFsc2VcclxuICAgKiBAdHlwZSBib29sZWFuXHJcbiAgICovXHJcbiAgQElucHV0KCkgaXNSZWRpcmVjdERpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBPdXRwdXQoKSBvbk5leHQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBvbkJhY2s6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBjaGFuZ2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBibHVyOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgb25mb2N1czogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIG9ucmVmcmVzaDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIG9uc2VhcmNoOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICB2YWxpZGF0ZVV0aWwgPSBuZXcgVmFsaWRhdGVVdGlsKCk7XHJcbiAgc2hhcmVkQ29tcG9uZW50c1V0aWwgPSBuZXcgU2hhcmVkQ29tcG9uZW50c1V0aWwoKTtcclxuXHJcbiAgYWxsSXRlbXMgPSBbXTtcclxuICBfdmFsdWU6IGFueTtcclxuICBjb250cm9sczogYW55O1xyXG5cclxuICBwcml2YXRlIHN1YnNjcmlwdGlvbnM6IFN1YnNjcmlwdGlvbltdID0gW107XHJcblxyXG4gIG9uQ2hhbmdlID0gKF86IGFueSkgPT4geyB9O1xyXG5cclxuICBvblZhbGlkYXRpb25DaGFuZ2UgPSAoKSA9PiB7IH07XHJcblxyXG4gIG9uVG91Y2hlZCA9ICgpID0+IHsgfTtcclxuXHJcbiAgZm9jdXMgPSAoKSA9PiB7XHJcbiAgICB0aGlzLm5nU2VsZWN0U2ltcGxlLmZvY3VzKCk7XHJcbiAgICBpZiAodGhpcy5vcGVuV2hlbkZvY3VzKSB7XHJcbiAgICAgIHRoaXMubmdTZWxlY3RTaW1wbGUub3BlbigpO1xyXG4gICAgfVxyXG4gIH07XHJcblxyXG4gIGNsb3NlID0gKCkgPT4ge1xyXG4gICAgdGhpcy5uZ1NlbGVjdFNpbXBsZS5jbG9zZSgpO1xyXG4gIH07XHJcblxyXG4gIG9wZW5FbmxhY2UgKCk6IHZvaWQge1xyXG4gICAgd2luZG93Lm9wZW4odGhpcy51cmxSZWRpcmVjdCk7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgbWVzc2FnZVV0aWxTZXJ2aWNlOiBNZXNzYWdlVXRpbFNlcnZpY2UsXHJcbiAgICBwdWJsaWMgZGlhbG9nOiBNYXREaWFsb2csXHJcbiAgICBwcml2YXRlIG5nU2VsZWN0U2ltcGxlU2VydmljZTogTmdTZWxlY3RTaW1wbGVTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICB0aGlzLnZhbGlkYXRvck1lc3NhZ2UgPSB0aGlzLm5nU2VsZWN0U2ltcGxlU2VydmljZS5nZXRWYWxpZGF0b3JNZXNzYWdlKCk7XHJcbiAgICB0aGlzLnRvb2x0aXBNZXNzYWdlID0gdGhpcy5uZ1NlbGVjdFNpbXBsZVNlcnZpY2UuZ2V0VG9vbHRpcE1lc3NhZ2UoKTtcclxuICAgIHRoaXMub3BlbldoZW5Gb2N1cyA9IHRoaXMubmdTZWxlY3RTaW1wbGVTZXJ2aWNlLmdldE9wZW5XaGVuRm9jdXMoKTtcclxuICAgIHRoaXMuc2VhcmNoQnkgPSB0aGlzLm5nU2VsZWN0U2ltcGxlU2VydmljZS5nZXRTZWFyY2hCeSgpO1xyXG4gICAgdGhpcy5tYXJrRmlyc3RJdGVtID0gdGhpcy5uZ1NlbGVjdFNpbXBsZVNlcnZpY2UuZ2V0TWFya0ZpcnN0SXRlbSgpO1xyXG4gICAgdGhpcy5zdWJtaXR0ZWQgPSB0aGlzLm5nU2VsZWN0U2ltcGxlU2VydmljZS5nZXRTdWJtaXR0ZWQoKTtcclxuICAgIHRoaXMuc2VhcmNoYWJsZSA9IHRoaXMubmdTZWxlY3RTaW1wbGVTZXJ2aWNlLmdldFNlYXJjaGFibGUoKTtcclxuICAgIHRoaXMudmFsaWRhdG9yQWxlcnQgPSB0aGlzLm5nU2VsZWN0U2ltcGxlU2VydmljZS5nZXRWYWxpZGF0b3JBbGVydCgpO1xyXG4gICAgdGhpcy51cHBlckNhc2UgPSB0aGlzLm5nU2VsZWN0U2ltcGxlU2VydmljZS5nZXRVcHBlckNhc2UoKTtcclxuICAgIHRoaXMuYXBwZW5kVG8gPSB0aGlzLm5nU2VsZWN0U2ltcGxlU2VydmljZS5nZXRBcHBlbmRUbygpO1xyXG4gICAgdGhpcy5sb2FkaW5nVGV4dCA9IHRoaXMubmdTZWxlY3RTaW1wbGVTZXJ2aWNlLmdldExvYWRpbmdUZXh0KCk7XHJcbiAgICB0aGlzLmNsZWFyQWxsVGV4dCA9IHRoaXMubmdTZWxlY3RTaW1wbGVTZXJ2aWNlLmdldENsZWFyQWxsVGV4dCgpO1xyXG4gICAgdGhpcy5tYXJrRmlyc3QgPSB0aGlzLm5nU2VsZWN0U2ltcGxlU2VydmljZS5nZXRNYXJrRmlyc3QoKTtcclxuICAgIHRoaXMuY2xlYXJhYmxlID0gdGhpcy5uZ1NlbGVjdFNpbXBsZVNlcnZpY2UuZ2V0Q2xlYXJhYmxlKCk7XHJcbiAgICB0aGlzLmNsZWFyT25CYWNrc3BhY2UgPSB0aGlzLm5nU2VsZWN0U2ltcGxlU2VydmljZS5nZXRDbGVhck9uQmFja3NwYWNlKCk7XHJcbiAgICB0aGlzLnZpcnR1YWxTY3JvbGwgPSB0aGlzLm5nU2VsZWN0U2ltcGxlU2VydmljZS5nZXRWaXJ0dWFsU2Nyb2xsKCk7XHJcbiAgICB0aGlzLm9wZW5PbkVudGVyID0gdGhpcy5uZ1NlbGVjdFNpbXBsZVNlcnZpY2UuZ2V0T3Blbk9uRW50ZXIoKTtcclxuICAgIHRoaXMubm90Rm91bmRUZXh0ID0gdGhpcy5uZ1NlbGVjdFNpbXBsZVNlcnZpY2UuZ2V0Tm90Rm91bmRUZXh0KCk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSAoKTogdm9pZCB7XHJcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMuZm9yRWFjaChzID0+IHMudW5zdWJzY3JpYmUoKSlcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzIChjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBpZiAoY2hhbmdlc1tcIml0ZW1zXCJdKSB7XHJcbiAgICAgIHRoaXMubG9hZGluZyA9IHRydWU7XHJcbiAgICAgIHRoaXMuY2FyZ2EoKTtcclxuICAgIH1cclxuICAgIGlmIChjaGFuZ2VzW1wic3VibWl0dGVkXCJdKSB7XHJcbiAgICAgIGlmICh0aGlzLmNvbnRyb2xzICE9PSB1bmRlZmluZWQgJiYgY2hhbmdlc1tcInN1Ym1pdHRlZFwiXS5jdXJyZW50VmFsdWUpIHtcclxuICAgICAgICB0aGlzLmNvbnRyb2xzLm1hcmtBc0RpcnR5KCk7XHJcbiAgICAgICAgdGhpcy5jb250cm9scy5tYXJrQXNUb3VjaGVkKCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGFzeW5jIGNhcmdhICgpIHtcclxuICAgIHRoaXMuYWxsSXRlbXMgPSBhd2FpdCBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XHJcbiAgICAgIHRoaXMuaXRlbXMgPSB0aGlzLml0ZW1zLnBpcGUoc2hhcmVSZXBsYXkoeyByZWZDb3VudDogdHJ1ZSB9KSk7XHJcbiAgICAgIGNvbnN0IHN1YnNjcmlwdGlvbiA9IHRoaXMuaXRlbXMuc3Vic2NyaWJlKChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgIHJlc29sdmUocmVzKTtcclxuICAgICAgfSk7XHJcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKHN1YnNjcmlwdGlvbik7XHJcbiAgICB9KTtcclxuICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgaWYgKHRoaXMuX3ZhbHVlICE9IG51bGwpIHtcclxuICAgICAgdGhpcy5hbGxJdGVtcy5mb3JFYWNoKChlbGVtZW50KSA9PiB7XHJcbiAgICAgICAgaWYgKFxyXG4gICAgICAgICAgIXRoaXMudmFsaWRhdGVVdGlsLmlzVW5kZWZpbmVkT3JOdWxsKHRoaXMuZ2V0T2JqZWN0KGVsZW1lbnQsIHRoaXMuc2VhcmNoQnkpKSAmJlxyXG4gICAgICAgICAgdGhpcy5nZXRPYmplY3QoZWxlbWVudCwgdGhpcy5zZWFyY2hCeSkgPT09IHRoaXMuX3ZhbHVlXHJcbiAgICAgICAgKSB7XHJcbiAgICAgICAgICB0aGlzLl92YWx1ZSA9IGVsZW1lbnQ7XHJcbiAgICAgICAgICB0aGlzLm9uQ2hhbmdlKHRoaXMuX3ZhbHVlKTtcclxuICAgICAgICAgIHRoaXMub25WYWxpZGF0aW9uQ2hhbmdlKCk7XHJcbiAgICAgICAgICB0aGlzLmNoYW5nZS5lbWl0KHRoaXMuX3ZhbHVlKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaWYgKHRoaXMubWFya0ZpcnN0SXRlbSAmJiB0aGlzLmFsbEl0ZW1zLmxlbmd0aCA+IDApIHtcclxuICAgICAgICB0aGlzLl92YWx1ZSA9IHRoaXMuYWxsSXRlbXNbMF07XHJcbiAgICAgICAgdGhpcy5vbkNoYW5nZSh0aGlzLl92YWx1ZSk7XHJcbiAgICAgICAgdGhpcy5vblZhbGlkYXRpb25DaGFuZ2UoKTtcclxuICAgICAgICB0aGlzLmNoYW5nZS5lbWl0KHRoaXMuX3ZhbHVlKTtcclxuICAgICAgfVxyXG4gICAgICBpZiAodGhpcy5tYXJrV2hlbkhhdmVPbmVJdGVtICYmIHRoaXMuYWxsSXRlbXMubGVuZ3RoID09PSAxKSB7XHJcbiAgICAgICAgdGhpcy5fdmFsdWUgPSB0aGlzLmFsbEl0ZW1zWzBdO1xyXG4gICAgICAgIHRoaXMub25DaGFuZ2UodGhpcy5fdmFsdWUpO1xyXG4gICAgICAgIHRoaXMub25WYWxpZGF0aW9uQ2hhbmdlKCk7XHJcbiAgICAgICAgdGhpcy5jaGFuZ2UuZW1pdCh0aGlzLl92YWx1ZSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nT25Jbml0ICgpIHsgfVxyXG5cclxuICBnZXRPYmplY3QgKG9iajogYW55LCBrZXk6IGFueSkge1xyXG4gICAgcmV0dXJuIGtleS5zcGxpdChcIi5cIikucmVkdWNlKGZ1bmN0aW9uIChvOiBhbnksIHg6IGFueSkge1xyXG4gICAgICByZXR1cm4gdHlwZW9mIG8gPT0gXCJ1bmRlZmluZWRcIiB8fCBvID09PSBudWxsID8gbyA6IG9beF07XHJcbiAgICB9LCBvYmopO1xyXG4gIH1cclxuXHJcbiAgd3JpdGVWYWx1ZSAodmFsdWU6IGFueSk6IHZvaWQge1xyXG4gICAgaWYgKHZhbHVlICE9IG51bGwpIHtcclxuICAgICAgaWYgKHRoaXMubG9hZGluZykge1xyXG4gICAgICAgIHRoaXMuX3ZhbHVlID0gdmFsdWU7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5fdmFsdWUgPSB2YWx1ZTtcclxuICAgICAgICB0aGlzLmFsbEl0ZW1zLmZvckVhY2goKGVsZW1lbnQpID0+IHtcclxuICAgICAgICAgIGlmIChcclxuICAgICAgICAgICAgIXRoaXMudmFsaWRhdGVVdGlsLmlzVW5kZWZpbmVkT3JOdWxsKHRoaXMuZ2V0T2JqZWN0KGVsZW1lbnQsIHRoaXMuc2VhcmNoQnkpKSAmJlxyXG4gICAgICAgICAgICB0aGlzLmdldE9iamVjdChlbGVtZW50LCB0aGlzLnNlYXJjaEJ5KSA9PT0gdGhpcy5fdmFsdWVcclxuICAgICAgICAgICkge1xyXG4gICAgICAgICAgICB0aGlzLl92YWx1ZSA9IGVsZW1lbnQ7XHJcbiAgICAgICAgICAgIHRoaXMub25DaGFuZ2UodGhpcy5fdmFsdWUpO1xyXG4gICAgICAgICAgICB0aGlzLm9uVmFsaWRhdGlvbkNoYW5nZSgpO1xyXG4gICAgICAgICAgICB0aGlzLmNoYW5nZS5lbWl0KHRoaXMuX3ZhbHVlKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG5cclxuICAgICAgLy90aGlzLnNlYXJjaEVsZW1lbnQodmFsdWUpO1xyXG4gICAgICB0aGlzLm9uVmFsaWRhdGlvbkNoYW5nZSgpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5fdmFsdWUgPSBudWxsO1xyXG4gICAgICB0aGlzLm9uVmFsaWRhdGlvbkNoYW5nZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuICByZWdpc3Rlck9uQ2hhbmdlIChmbjogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XHJcbiAgfVxyXG4gIHJlZ2lzdGVyT25Ub3VjaGVkIChmbjogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xyXG4gIH1cclxuICBzZXREaXNhYmxlZFN0YXRlIChpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcclxuICB9XHJcblxyXG4gIHZhbGlkYXRlIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgYW55IHtcclxuICAgIHRoaXMuY29udHJvbHMgPSBjb250cm9sO1xyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uVmFsaWRhdG9yQ2hhbmdlPyhmbjogKCkgPT4gdm9pZCk6IHZvaWQge1xyXG4gICAgdGhpcy5vblZhbGlkYXRpb25DaGFuZ2UgPSBmbjtcclxuICB9XHJcblxyXG4gIGV2ZW50Q2hhbmdlIChlOiBhbnkpIHtcclxuICAgIHRoaXMub25DaGFuZ2UoZSk7XHJcbiAgICB0aGlzLm9uVmFsaWRhdGlvbkNoYW5nZSgpO1xyXG4gICAgdGhpcy5jaGFuZ2UuZW1pdChlKTtcclxuICB9XHJcblxyXG4gIGV2ZW50Qmx1ciAoZTogYW55KSB7XHJcbiAgICB0aGlzLm9uVG91Y2hlZCgpO1xyXG4gICAgdGhpcy5vblZhbGlkYXRpb25DaGFuZ2UoKTtcclxuICAgIHRoaXMuYmx1ci5lbWl0KGUpO1xyXG4gIH1cclxuXHJcbiAgZXZlbnRGb2N1cyAoZTogYW55KSB7XHJcbiAgICAvLyB0aGlzLm5nU2VsZWN0U2ltcGxlLmZvY3VzKCk7XHJcbiAgICBpZiAodGhpcy5vcGVuV2hlbkZvY3VzKSB7XHJcbiAgICAgIHRoaXMubmdTZWxlY3RTaW1wbGUub3BlbigpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5vbmZvY3VzLmVtaXQoZSk7XHJcbiAgfVxyXG5cclxuICBldmVudFNlYXJjaCAoZTogYW55KSB7XHJcbiAgICB0aGlzLm9uc2VhcmNoLmVtaXQoZSk7XHJcbiAgfVxyXG5cclxuICBlbnRlcktleVVwICgpIHtcclxuICAgIHRoaXMubmdTZWxlY3RTaW1wbGUuY2xvc2UoKTtcclxuICAgIGlmICghdGhpcy5kaXNhYmxlZCkge1xyXG4gICAgICBsZXQgdmFsaWRhdG9yID0gdGhpcy5zaGFyZWRDb21wb25lbnRzVXRpbC5zdG9wQnlWYWxpZGF0b3IodGhpcy5jb250cm9scywgdGhpcy52YWxpZGF0b3JBbGVydCwgdGhpcy5sYWJlbCk7XHJcbiAgICAgIGlmICh2YWxpZGF0b3IuZXJyb3IpIHtcclxuICAgICAgICB0aGlzLm1lc3NhZ2VVdGlsU2VydmljZS5nZXRNZXNzYWdlRXJyb3IoXCIwMDAwNDZcIiwgXCJFcnJvclwiLCB2YWxpZGF0b3IubWVzc2FnZSk7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5uZXh0ICE9IHVuZGVmaW5lZCkge1xyXG4gICAgICBpZiAodGhpcy5uZXh0LmRpc2FibGVkIHx8IHRoaXMubmV4dC5yZWFkb25seSkge1xyXG4gICAgICAgIGlmICh0aGlzLm5leHRJc0Rpc2FibGUgIT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICB0aGlzLm5leHRJc0Rpc2FibGUuZm9jdXMoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5uZXh0LmZvY3VzKCk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGlmICh0aGlzLm5leHRJc0Rpc2FibGUgIT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgdGhpcy5uZXh0SXNEaXNhYmxlLmZvY3VzKCk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5vbk5leHQuZW1pdCgpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBsZWZ0S2V5VXAgKCkge1xyXG4gICAgdGhpcy5uZ1NlbGVjdFNpbXBsZS5jbG9zZSgpO1xyXG4gICAgaWYgKCF0aGlzLmRpc2FibGVkKSB7XHJcbiAgICAgIGxldCB2YWxpZGF0b3IgPSB0aGlzLnNoYXJlZENvbXBvbmVudHNVdGlsLnN0b3BCeVZhbGlkYXRvcih0aGlzLmNvbnRyb2xzLCB0aGlzLnZhbGlkYXRvckFsZXJ0LCB0aGlzLmxhYmVsKTtcclxuICAgICAgaWYgKHZhbGlkYXRvci5lcnJvcikge1xyXG4gICAgICAgIHRoaXMubWVzc2FnZVV0aWxTZXJ2aWNlLmdldE1lc3NhZ2VFcnJvcihcIjAwMDA0NlwiLCBcIkVycm9yXCIsIHZhbGlkYXRvci5tZXNzYWdlKTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGlmICh0aGlzLmJhY2sgIT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIGlmICh0aGlzLmJhY2suZGlzYWJsZWQgfHwgdGhpcy5iYWNrLnJlYWRvbmx5KSB7XHJcbiAgICAgICAgaWYgKHRoaXMuYmFja0lzRGlzYWJsZSAhPSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgIHRoaXMuYmFja0lzRGlzYWJsZS5mb2N1cygpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmJhY2suZm9jdXMoKTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaWYgKHRoaXMuYmFja0lzRGlzYWJsZSAhPSB1bmRlZmluZWQpIHtcclxuICAgICAgICB0aGlzLmJhY2tJc0Rpc2FibGUuZm9jdXMoKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLm9uQmFjay5lbWl0KCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNsZWFyICgpIHtcclxuICAgIHRoaXMuX3ZhbHVlID0gbnVsbDtcclxuICAgIHRoaXMub25DaGFuZ2UodGhpcy5fdmFsdWUpO1xyXG4gICAgdGhpcy5vblZhbGlkYXRpb25DaGFuZ2UoKTtcclxuICAgIHRoaXMuY2hhbmdlLmVtaXQodGhpcy5fdmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgb25SZWZyZXNoICgpIHtcclxuICAgIHRoaXMub25yZWZyZXNoLmVtaXQoKTtcclxuICB9XHJcblxyXG4gIGFzeW5jIG9uU2VhcmNoICgpIHtcclxuICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oRGlhbG9nQWdHcmlkU2VhcmNoQ29tcG9uZW50LCB7XHJcbiAgICAgIHdpZHRoOiB0aGlzLnNlYXJjaFBhcmFtcy53aWR0aCxcclxuICAgICAgZGlzYWJsZUNsb3NlOiB0cnVlLFxyXG4gICAgfSk7XHJcbiAgICBsZXQgcm93ZGF0YSA9IGF3YWl0IHRoaXMuc2VhcmNoUGFyYW1zLnJvd0RhdGEudG9Qcm9taXNlKCk7XHJcbiAgICBsZXQgaW5zdGFuY2UgPSBkaWFsb2dSZWYuY29tcG9uZW50SW5zdGFuY2U7XHJcbiAgICBpbnN0YW5jZS50aXR0bGUgPSB0aGlzLnNlYXJjaFBhcmFtcy50aXRsZSA9PT0gXCJcIiA/IHRoaXMubGFiZWwgOiB0aGlzLnNlYXJjaFBhcmFtcy50aXRsZTtcclxuICAgIGluc3RhbmNlLnJvd0RhdGEgPSByb3dkYXRhICYmIHJvd2RhdGEubGVuZ3RoIDwgMSA/IHRoaXMuaXRlbXMgOiB0aGlzLnNlYXJjaFBhcmFtcy5yb3dEYXRhO1xyXG4gICAgaW5zdGFuY2UuY29sdW1uRGVmcyA9IHRoaXMuc2VhcmNoUGFyYW1zLmNvbHVtbkRlZnM7XHJcbiAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoKHJlc3A6IGFueVtdKSA9PiB7XHJcbiAgICAgIHRoaXMuZm9jdXMoKTtcclxuICAgICAgaWYgKHJlc3AubGVuZ3RoID4gMCkge1xyXG4gICAgICAgIHRoaXMuX3ZhbHVlID0gcmVzcFswXTtcclxuICAgICAgICB0aGlzLm9uQ2hhbmdlKHRoaXMuX3ZhbHVlKTtcclxuICAgICAgICB0aGlzLm9uVmFsaWRhdGlvbkNoYW5nZSgpO1xyXG4gICAgICAgIHRoaXMuY2hhbmdlLmVtaXQodGhpcy5fdmFsdWUpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGYxS2V5VXAgKCkge1xyXG4gICAgaWYgKCF0aGlzLmJ0blNlYXJjaCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLm5nU2VsZWN0U2ltcGxlLmNsb3NlKCk7XHJcbiAgICAvL3RoaXMuYnRuU2VhcmNoLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcclxuICAgIHRoaXMub25TZWFyY2goKTtcclxuICB9XHJcbn1cclxuIiwiPGxhYmVsICpuZ0lmPVwibGFiZWwgIT0gbnVsbCAmJiBsYWJlbCAhPSAnJyAmJiBzaG93TGFiZWxcIiBjbGFzcz1cImQtZmxleCBzdW1heC1sYWJlbCBtYi0wIHAtMFwiPlxyXG4gIDxzcGFuICpuZ0lmPVwiIXRlbXBsYXRlTGFiZWw7IGVsc2UgdGVtcGxhdGVMYWJlbFwiIFt0aXRsZV09XCJsYWJlbFwiIHN0eWxlPVwid2hpdGUtc3BhY2U6IG5vd3JhcDsgb3ZlcmZsb3c6IGhpZGRlbjsgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXNcIj5cclxuICAgIHt7IGxhYmVsIH19XHJcbiAgPC9zcGFuPlxyXG4gIDxzcGFuICpuZ0lmPVwicmVxdWlyZWRcIiBbY2xhc3MudGV4dC1kYW5nZXJdPVwiY29udHJvbHM/LmVycm9ycyAhPSBudWxsXCI+ICo8L3NwYW4+XHJcbiAgPHNwYW4gKm5nSWY9XCJsYWJlbEluZm9cIj5cclxuICAgIDxpIGNsYXNzPVwiZmEgZmEtZXhjbGFtYXRpb24tY2lyY2xlIHRleHQtaW5mbyBtcy0yXCIgW21hdFRvb2x0aXBdPVwidGV4dExhYmVsSW5mb1wiIG1hdFRvb2x0aXBDbGFzcz1cImJnLWluZm9cIj48L2k+XHJcbiAgPC9zcGFuPlxyXG48L2xhYmVsPlxyXG5cclxuPGRpdlxyXG4gIFtjbGFzcy5pbnB1dC1pY29uXT1cImNvbnRyb2xzPy5lcnJvcnMgIT0gbnVsbCAmJiAoY29udHJvbHM/LmRpcnR5IHx8IGNvbnRyb2xzPy50b3VjaGVkKSAmJiBzdWJtaXR0ZWRcIlxyXG4gIFtjbGFzcy5yaWdodF09XCJjb250cm9scz8uZXJyb3JzICE9IG51bGwgJiYgKGNvbnRyb2xzPy5kaXJ0eSB8fCBjb250cm9scz8udG91Y2hlZCkgJiYgc3VibWl0dGVkXCJcclxuICBbY2xhc3MucmVmcmVzaF09XCJjb250cm9scz8uZXJyb3JzICE9IG51bGwgJiYgKGNvbnRyb2xzPy5kaXJ0eSB8fCBjb250cm9scz8udG91Y2hlZCkgJiYgc3VibWl0dGVkICYmIHJlZnJlc2hcIlxyXG4gIFtjbGFzcy5zZWFyY2hdPVwiY29udHJvbHM/LmVycm9ycyAhPSBudWxsICYmIChjb250cm9scz8uZGlydHkgfHwgY29udHJvbHM/LnRvdWNoZWQpICYmIHN1Ym1pdHRlZCAmJiBzZWFyY2hcIj5cclxuICA8ZGl2IGNsYXNzPVwiZC1mbGV4XCI+XHJcbiAgICA8ZGl2XHJcbiAgICAgIGNsYXNzPVwicG9zaXRpb24tcmVsYXRpdmVcIlxyXG4gICAgICBbY2xhc3Mubmctc2VsZWN0LWNvbnRhaW5lci1mdWxsYnV0dG9uc109XCJzZWFyY2ggJiYgcmVmcmVzaCAmJiByZWRpcmVjdFwiXHJcbiAgICAgIFtjbGFzcy5hcHAtbmctc2VsZWMtY29udGFpbmVyXT1cInNlYXJjaCB8fCByZWZyZXNoXCJcclxuICAgICAgW2NsYXNzLnctMTAwXT1cIiFzZWFyY2ggJiYgIXJlZnJlc2hcIlxyXG4gICAgICBzdHlsZT1cImZsZXg6IDE7IG1pbi13aWR0aDogMDtcIj5cclxuICAgICAgPG5nLXNlbGVjdFxyXG4gICAgICAgICNuZ1NlbGVjdFNpbXBsZVxyXG4gICAgICAgIFtjbGFzc109XCJzZWFyY2ggfHwgcmVmcmVzaCA/ICdhcHAtbmctc2VsZWN0IG5nLXNlbGVjdC1maXhlZC13aWR0aCcgOiAndy0xMDAgbmctc2VsZWN0LWZpeGVkLXdpZHRoJ1wiXHJcbiAgICAgICAgW2NsYXNzLmFjdGlvbl09XCJzZWFyY2ggJiYgcmVmcmVzaFwiXHJcbiAgICAgICAgW2l0ZW1zXT1cIml0ZW1zIHwgYXN5bmNcIlxyXG4gICAgICAgIFsobmdNb2RlbCldPVwiX3ZhbHVlXCJcclxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG4gICAgICAgIFtyZWFkb25seV09XCJyZWFkb25seVwiXHJcbiAgICAgICAgKGNoYW5nZSk9XCJldmVudENoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgICAoYmx1cik9XCJldmVudEJsdXIoJGV2ZW50KVwiXHJcbiAgICAgICAgKGZvY3VzKT1cImV2ZW50Rm9jdXMoJGV2ZW50KVwiXHJcbiAgICAgICAgKHNlYXJjaCk9XCJldmVudFNlYXJjaCgkZXZlbnQpXCJcclxuICAgICAgICBbbWFya0ZpcnN0XT1cIm1hcmtGaXJzdFwiXHJcbiAgICAgICAgW2NsZWFyYWJsZV09XCIhcmVxdWlyZWQgJiYgY2xlYXJhYmxlXCJcclxuICAgICAgICBbdmlydHVhbFNjcm9sbF09XCJ2aXJ0dWFsU2Nyb2xsXCJcclxuICAgICAgICBbaW5wdXRBdHRyc109XCJ7IGF1dG9jb21wbGV0ZTogYXV0b2NvbXBsZXRlIH1cIlxyXG4gICAgICAgIFtjbGVhck9uQmFja3NwYWNlXT1cImNsZWFyT25CYWNrc3BhY2VcIlxyXG4gICAgICAgIFtvcGVuT25FbnRlcl09XCJvcGVuT25FbnRlclwiXHJcbiAgICAgICAgKGtleWRvd24uZGVsZXRlKT1cIiFyZXF1aXJlZCAmJiBjbGVhcmFibGUgPyBjbGVhcigpIDogJydcIlxyXG4gICAgICAgIChjbGVhcik9XCJjbGVhcigpXCJcclxuICAgICAgICAoa2V5dXAuRjEpPVwiZjFLZXlVcCgpXCJcclxuICAgICAgICBbbm90Rm91bmRUZXh0XT1cIm5vdEZvdW5kVGV4dFwiXHJcbiAgICAgICAgcGxhY2Vob2xkZXI9XCJTZWxlY2Npb25hclwiXHJcbiAgICAgICAgKGtleXVwLmVudGVyKT1cImVudGVyS2V5VXAoKVwiXHJcbiAgICAgICAgW2NsZWFyQWxsVGV4dF09XCJjbGVhckFsbFRleHRcIlxyXG4gICAgICAgIFtzZWFyY2hhYmxlXT1cInNlYXJjaGFibGVcIlxyXG4gICAgICAgIChrZXl1cC5BcnJvd0xlZnQpPVwibGVmdEtleVVwKClcIlxyXG4gICAgICAgIFthcHBlbmRUb109XCJhcHBlbmRUb1wiXHJcbiAgICAgICAgW2xvYWRpbmddPVwibG9hZGluZ1wiXHJcbiAgICAgICAgW2xvYWRpbmdUZXh0XT1cImxvYWRpbmdUZXh0XCJcclxuICAgICAgICBbY2xhc3Mubmctc2VsZWN0LWludmFsaWRdPVwiY29udHJvbHM/LmVycm9ycyAhPSBudWxsICYmIChjb250cm9scz8uZGlydHkgfHwgY29udHJvbHM/LnRvdWNoZWQpICYmIHN1Ym1pdHRlZFwiXHJcbiAgICAgICAgW2NsYXNzLm5nLXNlbGVjdC10b3VjaGVkXT1cImNvbnRyb2xzPy5lcnJvcnMgIT0gbnVsbCAmJiAoY29udHJvbHM/LmRpcnR5IHx8IGNvbnRyb2xzPy50b3VjaGVkKSAmJiBzdWJtaXR0ZWRcIlxyXG4gICAgICAgIFtjbGFzcy51cHBlckNhc2VdPVwidXBwZXJDYXNlXCJcclxuICAgICAgICBbbmdDbGFzc109XCJzZXROZ0NsYXNzXCJcclxuICAgICAgICBzdHlsZT1cIm1heC13aWR0aDogMTAwJTsgd2lkdGg6IDEwMCU7XCI+XHJcblxyXG4gICAgICAgIDwhLS0gT1BDSU9ORVMgREUgTElTVEFETyAtLT5cclxuICAgICAgICA8bmctdGVtcGxhdGUgbmctb3B0aW9uLXRtcCBsZXQtaXRlbT1cIml0ZW1cIiBsZXQtaW5kZXg9XCJpbmRleFwiPlxyXG4gICAgICAgICAgPHNwYW4gZGF0YS10b2dnbGU9XCJ0b29sdGlwXCIgdGl0bGU9XCJ7eyBpdGVtLmxhYmVsIH19XCI+e3sgaXRlbS5sYWJlbCB9fTwvc3Bhbj5cclxuICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICA8L25nLXNlbGVjdD5cclxuXHJcbiAgICAgIDwhLS0gdG9vbHRpcC1tZXNzYWdlIGVzIGVsIGljb25vIGRlIGVycm9yIC0tPlxyXG4gICAgICA8dG9vbHRpcC1tZXNzYWdlXHJcbiAgICAgICAgW2xhYmVsXT1cImxhYmVsXCJcclxuICAgICAgICBbY29udHJvbHNdPVwiY29udHJvbHNcIlxyXG4gICAgICAgIFt2YWxpZGF0b3JNZXNzYWdlXT1cInZhbGlkYXRvck1lc3NhZ2VcIlxyXG4gICAgICAgIFtzdWJtaXR0ZWRdPVwic3VibWl0dGVkXCJcclxuICAgICAgICBbdG9vbHRpcE1lc3NhZ2VdPVwidG9vbHRpcE1lc3NhZ2VcIj48L3Rvb2x0aXAtbWVzc2FnZT5cclxuICAgIDwvZGl2PlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNlYXJjaCAmJiByZWZyZXNoICYmIHJlZGlyZWN0OyBlbHNlIHRlbXBsYXRlQWN0aW9uXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJhcHAtbmctc2VsZWN0LWFjdGlvbiBiZC1oaWdobGlnaFwiPlxyXG4gICAgICAgIDxidXR0b25cclxuICAgICAgICAgICNidG5TZWFyY2hcclxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkIHx8IHJlYWRvbmx5XCJcclxuICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1zdWNjZXNzIHAtMCByb3VuZGVkLTAgaC0xMDBcIlxyXG4gICAgICAgICAgKGtleXVwLkFycm93TGVmdCk9XCJuZ1NlbGVjdFNpbXBsZS5mb2N1cygpXCJcclxuICAgICAgICAgIHN0eWxlPVwiYmFja2dyb3VuZC1jb2xvcjogb3JhbmdlOyBib3JkZXItY29sb3I6IG9yYW5nZVwiXHJcbiAgICAgICAgICAoY2xpY2spPVwib25TZWFyY2goKVwiPlxyXG4gICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS1zZWFyY2ggdGV4dC13aGl0ZSBweC0xXCIgW21hdFRvb2x0aXBdPVwiJ0J1c2NhcidcIiBtYXRUb29sdGlwQ2xhc3M9XCJjdXN0b20tdG9vbHRpcFwiPjwvaT5cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAqbmdJZj1cInJlZnJlc2hcIlxyXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWQgfHwgcmVhZG9ubHkgfHwgaXNSZWZyZXNoRGlzYWJsZWRcIlxyXG4gICAgICAgICAgY2xhc3M9XCJidG4gYnRuLWluZm8gcC0wIHJvdW5kZWQtMCBoLTEwMFwiXHJcbiAgICAgICAgICAoY2xpY2spPVwib25SZWZyZXNoKClcIj5cclxuICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtcmVmcmVzaCB0ZXh0LXdoaXRlIHB4LTFcIiBbbWF0VG9vbHRpcF09XCInUmVmcmVzY2FyJ1wiIG1hdFRvb2x0aXBDbGFzcz1cImJnLWluZm9cIj48L2k+XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICBjbGFzcz1cImJ0biBidG4tc3VjY2VzcyBwLTAgcm91bmRlZC0wIGgtMTAwXCJcclxuICAgICAgICAgIChjbGljayk9XCJvcGVuRW5sYWNlKClcIlxyXG4gICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkIHx8IHJlYWRvbmx5IHx8IGlzUmVkaXJlY3REaXNhYmxlZFwiPlxyXG4gICAgICAgICAgPGVtIGNsYXNzPVwiZmEtcmVndWxhciBmYS1yZWN0YW5nbGUtbGlzdCB0ZXh0LXdoaXRlIHB4LTFcIiBbbWF0VG9vbHRpcF09XCJ0aXRsZVJlZGlyZWN0IVwiIG1hdFRvb2x0aXBDbGFzcz1cImJnLXN1Y2Nlc3NcIj4gPC9lbT5cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICA8bmctdGVtcGxhdGUgI3RlbXBsYXRlQWN0aW9uPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiYXBwLW5nLXNlbGVjdC1idXR0b24gYmQtaGlnaGxpZ2h0XCIgKm5nSWY9XCJzZWFyY2hcIj5cclxuICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAjYnRuU2VhcmNoXHJcbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZCB8fCByZWFkb25seVwiXHJcbiAgICAgICAgICBjbGFzcz1cImJ0biBidG4tc3VjY2VzcyBwLTAgcm91bmRlZC0wIGgtMTAwXCJcclxuICAgICAgICAgIChrZXl1cC5BcnJvd0xlZnQpPVwibmdTZWxlY3RTaW1wbGUuZm9jdXMoKVwiXHJcbiAgICAgICAgICAoY2xpY2spPVwib25TZWFyY2goKVwiPlxyXG4gICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS1zZWFyY2ggdGV4dC13aGl0ZSBweC0xXCIgW21hdFRvb2x0aXBdPVwiJ0J1c2NhcidcIiBtYXRUb29sdGlwQ2xhc3M9XCJiZy1zdWNjZXNzXCI+PC9pPlxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImFwcC1uZy1zZWxlY3QtYnV0dG9uIGJkLWhpZ2hsaWdodFwiICpuZ0lmPVwicmVmcmVzaFwiPlxyXG4gICAgICAgIDxidXR0b25cclxuICAgICAgICAgICpuZ0lmPVwicmVmcmVzaFwiXHJcbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZCB8fCByZWFkb25seSB8fCBpc1JlZnJlc2hEaXNhYmxlZFwiXHJcbiAgICAgICAgICBjbGFzcz1cImJ0biBidG4taW5mbyBwLTAgcm91bmRlZC0wIGgtMTAwXCJcclxuICAgICAgICAgIChjbGljayk9XCJvblJlZnJlc2goKVwiPlxyXG4gICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS1yZWZyZXNoIHRleHQtd2hpdGUgcHgtMVwiIFttYXRUb29sdGlwXT1cIidSZWZyZXNjYXInXCIgbWF0VG9vbHRpcENsYXNzPVwiYmctaW5mb1wiPjwvaT5cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJhcHAtbmctc2VsZWN0LWJ1dHRvbiBiZC1oaWdobGlnaHRcIiAqbmdJZj1cInJlZGlyZWN0XCI+XHJcbiAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICBjbGFzcz1cImJ0biBidG4tc3VjY2VzcyBwLTAgcm91bmRlZC0wIGgtMTAwXCJcclxuICAgICAgICAgIHN0eWxlPVwicGFkZGluZy10b3A6IDNweDsgcGFkZGluZy1ib3R0b206IDdweDsgYm9yZGVyLXJhZGl1czogMHB4XCJcclxuICAgICAgICAgIChjbGljayk9XCJvcGVuRW5sYWNlKClcIlxyXG4gICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkIHx8IHJlYWRvbmx5IHx8IGlzUmVkaXJlY3REaXNhYmxlZFwiPlxyXG4gICAgICAgICAgPGVtIGNsYXNzPVwiZmEtcmVndWxhciBmYS1yZWN0YW5nbGUtbGlzdCB0ZXh0LXdoaXRlIHB4LTFcIiBbbWF0VG9vbHRpcF09XCJ0aXRsZVJlZGlyZWN0IVwiIG1hdFRvb2x0aXBDbGFzcz1cImJnLXN1Y2Nlc3NcIj4gPC9lbT5cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIlttb3JlLWJ1dHRvbnNdXCI+PC9uZy1jb250ZW50PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuXHJcbjwhLS0gZXJyb3ItbWVzc2FnZSBlcyBlbCBtYW5zYWplIHF1ZSBhcGFyZWNlIGFiYWpvIGRlbCBjb21wb25lbnRlIC0tPlxyXG48ZXJyb3ItbWVzc2FnZVxyXG4gIFtsYWJlbF09XCJsYWJlbFwiXHJcbiAgW2NvbnRyb2xzXT1cImNvbnRyb2xzXCJcclxuICBbdmFsaWRhdG9yTWVzc2FnZV09XCJ2YWxpZGF0b3JNZXNzYWdlXCJcclxuICBbc3VibWl0dGVkXT1cInN1Ym1pdHRlZFwiXHJcbiAgW3Rvb2x0aXBNZXNzYWdlXT1cInRvb2x0aXBNZXNzYWdlXCI+PC9lcnJvci1tZXNzYWdlPlxyXG4iXX0=
651
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctc2VsZWN0LXNpbXBsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc3VtYXgtZXJwLWNvbXBvbmVudC9zcmMvbGliL25nLXNlbGVjdC1zaW1wbGUvbmctc2VsZWN0LXNpbXBsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc3VtYXgtZXJwLWNvbXBvbmVudC9zcmMvbGliL25nLXNlbGVjdC1zaW1wbGUvbmctc2VsZWN0LXNpbXBsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUVULFlBQVksRUFDWixVQUFVLEVBQ1YsS0FBSyxFQUlMLE1BQU0sRUFHTixTQUFTLEVBQ1QsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBbUIsYUFBYSxFQUFFLGlCQUFpQixFQUFvQixNQUFNLGdCQUFnQixDQUFDO0FBR3JHLE9BQU8sRUFBYyxFQUFFLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBQ3BELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUV2RyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNyRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7Ozs7Ozs7O0FBSXJELE1BQU0sT0FBTyxZQUFZO0lBQ3ZCLFlBQ1MsYUFBMkIsRUFBRSxFQUM3QixRQUFnQixFQUFFLEVBQ2xCLFFBQWdCLE9BQU8sRUFDdkIsVUFBNkIsRUFBRSxDQUFDLEVBQUUsQ0FBQztRQUhuQyxlQUFVLEdBQVYsVUFBVSxDQUFtQjtRQUM3QixVQUFLLEdBQUwsS0FBSyxDQUFhO1FBQ2xCLFVBQUssR0FBTCxLQUFLLENBQWtCO1FBQ3ZCLFlB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QUNHLE1BQU07c0JBQWYsTUFBTTtnQkFDRyxNQUFNO3NCQUFmLE1BQU07Z0JBQ0csSUFBSTtzQkFBYixNQUFNO2dCQUNHLE9BQU87c0JBQWhCLE1BQU07Z0JBQ0csU0FBUztzQkFBbEIsTUFBTTtnQkFDRyxRQUFRO3NCQUFqQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIGZvcndhcmRSZWYsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBOR19WQUxJREFUT1JTLCBOR19WQUxVRV9BQ0NFU1NPUiwgVmFsaWRhdGlvbkVycm9ycyB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2RpYWxvZ1wiO1xuaW1wb3J0IHsgTmdTZWxlY3RDb21wb25lbnQgfSBmcm9tIFwiQG5nLXNlbGVjdC9uZy1zZWxlY3RcIjtcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mLCBTdWJzY3JpcHRpb24gfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHsgc2hhcmVSZXBsYXkgfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcbmltcG9ydCB7IERpYWxvZ0FnR3JpZFNlYXJjaENvbXBvbmVudCB9IGZyb20gJy4uL2RpYWxvZy1hZy1ncmlkLXNlYXJjaC9kaWFsb2ctYWctZ3JpZC1zZWFyY2guY29tcG9uZW50JztcbmltcG9ydCB7IE1lc3NhZ2VVdGlsU2VydmljZSB9IGZyb20gXCIuLi91dGlscy9tZXNzYWdlLXV0aWwuc2VydmljZVwiO1xuaW1wb3J0IHsgU2hhcmVkQ29tcG9uZW50c1V0aWwgfSBmcm9tIFwiLi4vdXRpbHMvU2hhcmVkQ29tcG9uZW50c1V0aWxcIjtcbmltcG9ydCB7IFZhbGlkYXRlVXRpbCB9IGZyb20gXCIuLi91dGlscy9WYWxpZGF0ZVV0aWxcIjtcbmltcG9ydCB7IE5nU2VsZWN0U2ltcGxlU2VydmljZSB9IGZyb20gXCIuL25nLXNlbGVjdC1zaW1wbGUuc2VydmljZVwiO1xuXG5cbmV4cG9ydCBjbGFzcyBTZWFyY2hQYXJhbXMge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgY29sdW1uRGVmczogQ29sdW1uRGVmc1tdID0gW10sXG4gICAgcHVibGljIHRpdGxlOiBzdHJpbmcgPSBcIlwiLFxuICAgIHB1YmxpYyB3aWR0aDogc3RyaW5nID0gXCI5OTBweFwiLFxuICAgIHB1YmxpYyByb3dEYXRhOiBPYnNlcnZhYmxlPGFueVtdPiA9IG9mKFtdKVxuICApIHsgfVxufVxuXG5leHBvcnQgY2xhc3MgQ29sdW1uRGVmcyB7XG4gIGhlYWRlck5hbWU/OiBzdHJpbmc7XG4gIGZpZWxkPzogc3RyaW5nO1xuICB3aWR0aD86IHN0cmluZztcbiAgY2VsbFJlbmRlcmVyPzogYW55O1xuICB2YWx1ZUdldHRlcj86IChmaWVsZDogYW55KSA9PiBzdHJpbmcgfCBzdHJpbmc7XG4gIHNvcnRhYmxlPzogYm9vbGVhbjtcbiAgcmVzaXphYmxlPzogYm9vbGVhbjtcbiAgY2VsbENsYXNzPzogc3RyaW5nW107XG4gIGNlbGxTdHlsZT86IHt9O1xuICB2YWx1ZUZvcm1hdHRlcj86IGFueTtcbiAgcGlubmVkPzogc3RyaW5nO1xuICBzb3J0Pzogc3RyaW5nO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduZy1zZWxlY3Qtc2ltcGxlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL25nLXNlbGVjdC1zaW1wbGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9uZy1zZWxlY3Qtc2ltcGxlLmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gTmdTZWxlY3RTaW1wbGVDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxJREFUT1JTLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gTmdTZWxlY3RTaW1wbGVDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgTmdTZWxlY3RTaW1wbGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcbiAgQFZpZXdDaGlsZChcIm5nU2VsZWN0U2ltcGxlXCIpIG5nU2VsZWN0U2ltcGxlITogTmdTZWxlY3RDb21wb25lbnQ7XG4gIEBWaWV3Q2hpbGQoXCJidG5TZWFyY2hcIikgYnRuU2VhcmNoITogRWxlbWVudFJlZjtcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIENvbnRyb2xhIGxhIHZpc3VhbGl6YWNpw7NuIGRlbCB0ZXh0byBzdXBlcmlvciAobGFiZWwpXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICogQHR5cGUgYm9vbGVhblxuICAgKi9cbiAgQElucHV0KCkgc2hvd0xhYmVsOiBib29sZWFuID0gdHJ1ZTtcbiAgXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gVGV4dG8gYSBtb3N0cmFyIGNvbW8gZXRpcXVldGEgZGVsIGNhbXBvXG4gICAqIEBkZWZhdWx0IG51bGxcbiAgICogQHR5cGUgYW55XG4gICAqL1xuICBASW5wdXQoKSBsYWJlbDogYW55ID0gbnVsbDtcbiAgXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gVmFsb3IgcGFyYSBlbCBhdHJpYnV0byBhdXRvY29tcGxldGUgZGVsIGlucHV0XG4gICAqIEBkZWZhdWx0IFwibm8tYXV0b2NvbXBsZXRlLW5nLXNlbGVjdFwiXG4gICAqIEB0eXBlIHN0cmluZ1xuICAgKi9cbiAgQElucHV0KCkgYXV0b2NvbXBsZXRlOiBzdHJpbmcgPSBcIm5vLWF1dG9jb21wbGV0ZS1uZy1zZWxlY3RcIjtcbiAgXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gUmVmZXJlbmNpYSBhbCBzaWd1aWVudGUgY29udHJvbCBwYXJhIG5hdmVnYWNpw7NuXG4gICAqIEBkZWZhdWx0IHVuZGVmaW5lZFxuICAgKiBAdHlwZSBhbnlcbiAgICovXG4gIEBJbnB1dCgpIG5leHQ6IGFueTtcbiAgXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gUmVmZXJlbmNpYSBhbCBjb250cm9sIGFsdGVybmF0aXZvIGN1YW5kbyBlbCBzaWd1aWVudGUgZXN0w6EgZGVzaGFiaWxpdGFkb1xuICAgKiBAZGVmYXVsdCB1bmRlZmluZWRcbiAgICogQHR5cGUgYW55XG4gICAqL1xuICBASW5wdXQoKSBuZXh0SXNEaXNhYmxlOiBhbnk7XG4gIFxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFJlZmVyZW5jaWEgYWwgY29udHJvbCBhbnRlcmlvciBwYXJhIG5hdmVnYWNpw7NuXG4gICAqIEBkZWZhdWx0IHVuZGVmaW5lZFxuICAgKiBAdHlwZSBhbnlcbiAgICovXG4gIEBJbnB1dCgpIGJhY2s6IGFueTtcbiAgXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gUmVmZXJlbmNpYSBhbCBjb250cm9sIGFsdGVybmF0aXZvIGN1YW5kbyBlbCBhbnRlcmlvciBlc3TDoSBkZXNoYWJpbGl0YWRvXG4gICAqIEBkZWZhdWx0IHVuZGVmaW5lZFxuICAgKiBAdHlwZSBhbnlcbiAgICovXG4gIEBJbnB1dCgpIGJhY2tJc0Rpc2FibGU6IGFueTtcbiAgXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gSW5kaWNhIHNpIGVsIGNhbXBvIGVzIG9ibGlnYXRvcmlvXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqIEB0eXBlIGJvb2xlYW5cbiAgICovXG4gIEBJbnB1dCgpIHJlcXVpcmVkOiBib29sZWFuID0gZmFsc2U7XG4gIFxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIERlc2hhYmlsaXRhIGVsIGNvbnRyb2xcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICogQHR5cGUgYm9vbGVhblxuICAgKi9cbiAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gRXN0YWJsZWNlIGVsIGNvbnRyb2wgY29tbyBzb2xvIGxlY3R1cmFcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICogQHR5cGUgYm9vbGVhblxuICAgKi9cbiAgQElucHV0KCkgcmVhZG9ubHk6IGJvb2xlYW4gPSBmYWxzZTtcbiAgXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gTXVlc3RyYSBtZW5zYWplcyBkZSB2YWxpZGFjacOzblxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKiBAdHlwZSBib29sZWFuXG4gICAqL1xuICBASW5wdXQoKSB2YWxpZGF0b3JNZXNzYWdlOiBib29sZWFuID0gZmFsc2U7XG4gIFxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIE11ZXN0cmEgbWVuc2FqZXMgZGUgYXl1ZGEgY29tbyB0b29sdGlwc1xuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqIEB0eXBlIGJvb2xlYW5cbiAgICovXG4gIEBJbnB1dCgpIHRvb2x0aXBNZXNzYWdlOiBib29sZWFuID0gdHJ1ZTtcbiAgXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gQWJyZSBlbCBzZWxlY3RvciBhbCByZWNpYmlyIGVsIGZvY29cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICogQHR5cGUgYm9vbGVhblxuICAgKi9cbiAgQElucHV0KCkgb3BlbldoZW5Gb2N1czogYm9vbGVhbiA9IGZhbHNlO1xuICBcbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBDYW1wbyBwb3IgZWwgY3VhbCBzZSByZWFsaXphcsOhIGxhIGLDunNxdWVkYVxuICAgKiBAZGVmYXVsdCBcInZhbHVlXCJcbiAgICogQHR5cGUgc3RyaW5nXG4gICAqL1xuICBASW5wdXQoKSBzZWFyY2hCeTogc3RyaW5nID0gXCJ2YWx1ZVwiO1xuICBcbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBNYXJjYSBlbCBwcmltZXIgZWxlbWVudG8gYXV0b23DoXRpY2FtZW50ZVxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKiBAdHlwZSBib29sZWFuXG4gICAqL1xuICBASW5wdXQoKSBtYXJrRmlyc3RJdGVtOiBib29sZWFuID0gZmFsc2U7XG4gIFxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIE1hcmNhIGF1dG9tw6F0aWNhbWVudGUgY3VhbmRvIHNvbG8gaGF5IHVuIGVsZW1lbnRvXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqIEB0eXBlIGJvb2xlYW5cbiAgICovXG4gIEBJbnB1dCgpIG1hcmtXaGVuSGF2ZU9uZUl0ZW06IGJvb2xlYW4gPSBmYWxzZTtcbiAgXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gSW5kaWNhIHNpIGVsIGZvcm11bGFyaW8gaGEgc2lkbyBlbnZpYWRvIHBhcmEgbW9zdHJhciB2YWxpZGFjaW9uZXNcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKiBAdHlwZSBib29sZWFuXG4gICAqL1xuICBASW5wdXQoKSBzdWJtaXR0ZWQ6IGJvb2xlYW4gPSB0cnVlO1xuICBcbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBDbGFzZXMgQ1NTIGFkaWNpb25hbGVzIHBhcmEgZWwgY29tcG9uZW50ZVxuICAgKiBAZGVmYXVsdCBcIlwiXG4gICAqIEB0eXBlIHN0cmluZ1xuICAgKi9cbiAgQElucHV0KCkgc2V0TmdDbGFzczogc3RyaW5nID0gXCJcIjtcbiAgXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gSGFiaWxpdGEgbGEgYsO6c3F1ZWRhIGVuIGVsIHNlbGVjdG9yXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICogQHR5cGUgYm9vbGVhblxuICAgKi9cbiAgQElucHV0KCkgc2VhcmNoYWJsZTogYm9vbGVhbiA9IHRydWU7XG4gIFxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIE11ZXN0cmEgYWxlcnRhcyBkZSB2YWxpZGFjacOzblxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKiBAdHlwZSBib29sZWFuXG4gICAqL1xuICBASW5wdXQoKSB2YWxpZGF0b3JBbGVydDogYm9vbGVhbiA9IGZhbHNlO1xuICBcbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBDb252aWVydGUgZWwgdGV4dG8gYSBtYXnDunNjdWxhc1xuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKiBAdHlwZSBib29sZWFuXG4gICAqL1xuICBASW5wdXQoKSB1cHBlckNhc2U6IGJvb2xlYW4gPSBmYWxzZTtcbiAgXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gUGxhbnRpbGxhIHBlcnNvbmFsaXphZGEgcGFyYSBsYSBldGlxdWV0YVxuICAgKiBAZGVmYXVsdCBudWxsXG4gICAqIEB0eXBlIFRlbXBsYXRlUmVmPGFueT4gfCBudWxsXG4gICAqL1xuICBASW5wdXQoKSB0ZW1wbGF0ZUxhYmVsOiBUZW1wbGF0ZVJlZjxhbnk+IHwgbnVsbCA9IG51bGw7XG4gIFxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIEVsZW1lbnRvIGFsIHF1ZSBzZSBhZGp1bnRhcsOhIGVsIGRyb3Bkb3duXG4gICAqIEBkZWZhdWx0IFwiYm9keVwiXG4gICAqIEB0eXBlIHN0cmluZ1xuICAgKi9cbiAgQElucHV0KCkgYXBwZW5kVG86IHN0cmluZyA9IFwiYm9keVwiO1xuICBcbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBMaXN0YSBkZSBlbGVtZW50b3MgcGFyYSBlbCBzZWxlY3RvclxuICAgKiBAZGVmYXVsdCB1bmRlZmluZWRcbiAgICogQHR5cGUgT2JzZXJ2YWJsZTxhbnlbXT5cbiAgICovXG4gIEBJbnB1dCgpIGl0ZW1zITogT2JzZXJ2YWJsZTxhbnlbXT47XG4gIFxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIEluZGljYSBzaSBlc3TDoSBjYXJnYW5kbyBkYXRvc1xuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqIEB0eXBlIGJvb2xlYW5cbiAgICovXG4gIEBJbnB1dCgpIGxvYWRpbmc6IGJvb2xlYW4gPSB0cnVlO1xuICBcbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBUZXh0byBhIG1vc3RyYXIgZHVyYW50ZSBsYSBjYXJnYVxuICAgKiBAZGVmYXVsdCBcIkNhcmdhbmRvLi4uXCJcbiAgICogQHR5cGUgc3RyaW5nXG4gICAqL1xuICBASW5wdXQoKSBsb2FkaW5nVGV4dDogc3RyaW5nID0gXCJDYXJnYW5kby4uLlwiO1xuICBcbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBUZXh0byBwYXJhIGVsIGJvdMOzbiBkZSBsaW1waWFyIHNlbGVjY2nDs25cbiAgICogQGRlZmF1bHQgXCJMaW1waWFyXCJcbiAgICogQHR5cGUgc3RyaW5nXG4gICAqL1xuICBASW5wdXQoKSBjbGVhckFsbFRleHQ6IHN0cmluZyA9IFwiTGltcGlhclwiO1xuICBcbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBUZXh0byBhIG1vc3RyYXIgY3VhbmRvIG5vIGhheSByZXN1bHRhZG9zXG4gICAqIEBkZWZhdWx0IFwiTm8gc2UgZW5jb250cmFyb24gcmVzdWx0YWRvc1wiXG4gICAqIEB0eXBlIHN0cmluZ1xuICAgKi9cbiAgQElucHV0KCkgbm90Rm91bmRUZXh0OiBzdHJpbmcgPSBcIk5vIHNlIGVuY29udHJhcm9uIHJlc3VsdGFkb3NcIjtcbiAgXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gTWFyY2EgZWwgcHJpbWVyIGVsZW1lbnRvIGRlIGxhIGxpc3RhXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICogQHR5cGUgYm9vbGVhblxuICAgKi9cbiAgQElucHV0KCkgbWFya0ZpcnN0OiBib29sZWFuID0gdHJ1ZTtcbiAgXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gUGVybWl0ZSBsaW1waWFyIGxhIHNlbGVjY2nDs25cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKiBAdHlwZSBib29sZWFuXG4gICAqL1xuICBASW5wdXQoKSBjbGVhcmFibGU6IGJvb2xlYW4gPSB0cnVlO1xuICBcbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBMaW1waWEgbGEgc2VsZWNjacOzbiBhbCBwcmVzaW9uYXIgcmV0cm9jZXNvXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqIEB0eXBlIGJvb2xlYW5cbiAgICovXG4gIEBJbnB1dCgpIGNsZWFyT25CYWNrc3BhY2U6IGJvb2xlYW4gPSBmYWxzZTtcbiAgXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gSGFiaWxpdGEgZWwgZGVzcGxhemFtaWVudG8gdmlydHVhbCBwYXJhIGxpc3RhcyBncmFuZGVzXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICogQHR5cGUgYm9vbGVhblxuICAgKi9cbiAgQElucHV0KCkgdmlydHVhbFNjcm9sbDogYm9vbGVhbiA9IHRydWU7XG4gIFxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIEFicmUgZWwgc2VsZWN0b3IgYWwgcHJlc2lvbmFyIEVudGVyXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqIEB0eXBlIGJvb2xlYW5cbiAgICovXG4gIEBJbnB1dCgpIG9wZW5PbkVudGVyOiBib29sZWFuID0gZmFsc2U7XG4gIFxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIE11ZXN0cmEgZWwgYm90w7NuIGRlIGFjdHVhbGl6YXJcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICogQHR5cGUgYm9vbGVhblxuICAgKi9cbiAgQElucHV0KCkgcmVmcmVzaDogYm9vbGVhbiA9IGZhbHNlO1xuICBcbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBEZXNoYWJpbGl0YSBlbCBib3TDs24gZGUgYWN0dWFsaXphclxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKiBAdHlwZSBib29sZWFuXG4gICAqL1xuICBASW5wdXQoKSBpc1JlZnJlc2hEaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBcbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBNdWVzdHJhIGVsIGJvdMOzbiBkZSBiw7pzcXVlZGFcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICogQHR5cGUgYm9vbGVhblxuICAgKi9cbiAgQElucHV0KCkgc2VhcmNoOiBib29sZWFuID0gZmFsc2U7XG4gIFxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIE11ZXN0cmEgZWwgYm90w7NuIGRlIHJlZGlyZWNjacOzblxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKiBAdHlwZSBib29sZWFuXG4gICAqL1xuICBASW5wdXQoKSByZWRpcmVjdDogYm9vbGVhbiA9IGZhbHNlO1xuICBcbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBQYXLDoW1ldHJvcyBwYXJhIGxhIGLDunNxdWVkYSBhdmFuemFkYVxuICAgKiBAZGVmYXVsdCBuZXcgU2VhcmNoUGFyYW1zKClcbiAgICogQHR5cGUgU2VhcmNoUGFyYW1zXG4gICAqL1xuICBASW5wdXQoKSBzZWFyY2hQYXJhbXM6IFNlYXJjaFBhcmFtcyA9IG5ldyBTZWFyY2hQYXJhbXMoKTtcbiAgXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gSGFiaWxpdGEgaW5mb3JtYWNpw7NuIGFkaWNpb25hbCBwYXJhIGxhIGV0aXF1ZXRhXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqIEB0eXBlIGJvb2xlYW5cbiAgICovXG4gIEBJbnB1dCgpIGxhYmVsSW5mbzogYm9vbGVhbiA9IGZhbHNlO1xuICBcbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBUZXh0byBpbmZvcm1hdGl2byBhZGljaW9uYWwgcGFyYSBsYSBldGlxdWV0YVxuICAgKiBAZGVmYXVsdCBcIlwiXG4gICAqIEB0eXBlIHN0cmluZ1xuICAgKi9cbiAgQElucHV0KCkgdGV4dExhYmVsSW5mbzogc3RyaW5nID0gXCJcIjtcbiAgXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gVVJMIHBhcmEgcmVkaXJlY2Npw7NuXG4gICAqIEBkZWZhdWx0IFwiXCJcbiAgICogQHR5cGUgc3RyaW5nXG4gICAqL1xuICBASW5wdXQoKSB1cmxSZWRpcmVjdDogc3RyaW5nID0gXCJcIjtcbiAgXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gVMOtdHVsbyBwYXJhIGVsIGJvdMOzbiBkZSByZWRpcmVjY2nDs25cbiAgICogQGRlZmF1bHQgXCJcIlxuICAgKiBAdHlwZSBzdHJpbmdcbiAgICovXG4gIEBJbnB1dCgpIHRpdGxlUmVkaXJlY3Q6IHN0cmluZyA9IFwiXCI7XG4gIFxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIERlc2hhYmlsaXRhIGVsIGJvdMOzbiBkZSByZWRpcmVjY2nDs25cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICogQHR5cGUgYm9vbGVhblxuICAgKi9cbiAgQElucHV0KCkgaXNSZWRpcmVjdERpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQE91dHB1dCgpIG9uTmV4dDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBvbkJhY2s6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgY2hhbmdlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIGJsdXI6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgb25mb2N1czogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBvbnJlZnJlc2g6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgb25zZWFyY2g6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICB2YWxpZGF0ZVV0aWwgPSBuZXcgVmFsaWRhdGVVdGlsKCk7XG4gIHNoYXJlZENvbXBvbmVudHNVdGlsID0gbmV3IFNoYXJlZENvbXBvbmVudHNVdGlsKCk7XG5cbiAgYWxsSXRlbXMgPSBbXTtcbiAgX3ZhbHVlOiBhbnk7XG4gIGNvbnRyb2xzOiBhbnk7XG5cbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb25zOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xuXG4gIG9uQ2hhbmdlID0gKF86IGFueSkgPT4geyB9O1xuXG4gIG9uVmFsaWRhdGlvbkNoYW5nZSA9ICgpID0+IHsgfTtcblxuICBvblRvdWNoZWQgPSAoKSA9PiB7IH07XG5cbiAgZm9jdXMgPSAoKSA9PiB7XG4gICAgdGhpcy5uZ1NlbGVjdFNpbXBsZS5mb2N1cygpO1xuICAgIGlmICh0aGlzLm9wZW5XaGVuRm9jdXMpIHtcbiAgICAgIHRoaXMubmdTZWxlY3RTaW1wbGUub3BlbigpO1xuICAgIH1cbiAgfTtcblxuICBjbG9zZSA9ICgpID0+IHtcbiAgICB0aGlzLm5nU2VsZWN0U2ltcGxlLmNsb3NlKCk7XG4gIH07XG5cbiAgb3BlbkVubGFjZSAoKTogdm9pZCB7XG4gICAgd2luZG93Lm9wZW4odGhpcy51cmxSZWRpcmVjdCk7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIG1lc3NhZ2VVdGlsU2VydmljZTogTWVzc2FnZVV0aWxTZXJ2aWNlLFxuICAgIHB1YmxpYyBkaWFsb2c6IE1hdERpYWxvZyxcbiAgICBwcml2YXRlIG5nU2VsZWN0U2ltcGxlU2VydmljZTogTmdTZWxlY3RTaW1wbGVTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMudmFsaWRhdG9yTWVzc2FnZSA9IHRoaXMubmdTZWxlY3RTaW1wbGVTZXJ2aWNlLmdldFZhbGlkYXRvck1lc3NhZ2UoKTtcbiAgICB0aGlzLnRvb2x0aXBNZXNzYWdlID0gdGhpcy5uZ1NlbGVjdFNpbXBsZVNlcnZpY2UuZ2V0VG9vbHRpcE1lc3NhZ2UoKTtcbiAgICB0aGlzLm9wZW5XaGVuRm9jdXMgPSB0aGlzLm5nU2VsZWN0U2ltcGxlU2VydmljZS5nZXRPcGVuV2hlbkZvY3VzKCk7XG4gICAgdGhpcy5zZWFyY2hCeSA9IHRoaXMubmdTZWxlY3RTaW1wbGVTZXJ2aWNlLmdldFNlYXJjaEJ5KCk7XG4gICAgdGhpcy5tYXJrRmlyc3RJdGVtID0gdGhpcy5uZ1NlbGVjdFNpbXBsZVNlcnZpY2UuZ2V0TWFya0ZpcnN0SXRlbSgpO1xuICAgIHRoaXMuc3VibWl0dGVkID0gdGhpcy5uZ1NlbGVjdFNpbXBsZVNlcnZpY2UuZ2V0U3VibWl0dGVkKCk7XG4gICAgdGhpcy5zZWFyY2hhYmxlID0gdGhpcy5uZ1NlbGVjdFNpbXBsZVNlcnZpY2UuZ2V0U2VhcmNoYWJsZSgpO1xuICAgIHRoaXMudmFsaWRhdG9yQWxlcnQgPSB0aGlzLm5nU2VsZWN0U2ltcGxlU2VydmljZS5nZXRWYWxpZGF0b3JBbGVydCgpO1xuICAgIHRoaXMudXBwZXJDYXNlID0gdGhpcy5uZ1NlbGVjdFNpbXBsZVNlcnZpY2UuZ2V0VXBwZXJDYXNlKCk7XG4gICAgdGhpcy5hcHBlbmRUbyA9IHRoaXMubmdTZWxlY3RTaW1wbGVTZXJ2aWNlLmdldEFwcGVuZFRvKCk7XG4gICAgdGhpcy5sb2FkaW5nVGV4dCA9IHRoaXMubmdTZWxlY3RTaW1wbGVTZXJ2aWNlLmdldExvYWRpbmdUZXh0KCk7XG4gICAgdGhpcy5jbGVhckFsbFRleHQgPSB0aGlzLm5nU2VsZWN0U2ltcGxlU2VydmljZS5nZXRDbGVhckFsbFRleHQoKTtcbiAgICB0aGlzLm1hcmtGaXJzdCA9IHRoaXMubmdTZWxlY3RTaW1wbGVTZXJ2aWNlLmdldE1hcmtGaXJzdCgpO1xuICAgIHRoaXMuY2xlYXJhYmxlID0gdGhpcy5uZ1NlbGVjdFNpbXBsZVNlcnZpY2UuZ2V0Q2xlYXJhYmxlKCk7XG4gICAgdGhpcy5jbGVhck9uQmFja3NwYWNlID0gdGhpcy5uZ1NlbGVjdFNpbXBsZVNlcnZpY2UuZ2V0Q2xlYXJPbkJhY2tzcGFjZSgpO1xuICAgIHRoaXMudmlydHVhbFNjcm9sbCA9IHRoaXMubmdTZWxlY3RTaW1wbGVTZXJ2aWNlLmdldFZpcnR1YWxTY3JvbGwoKTtcbiAgICB0aGlzLm9wZW5PbkVudGVyID0gdGhpcy5uZ1NlbGVjdFNpbXBsZVNlcnZpY2UuZ2V0T3Blbk9uRW50ZXIoKTtcbiAgICB0aGlzLm5vdEZvdW5kVGV4dCA9IHRoaXMubmdTZWxlY3RTaW1wbGVTZXJ2aWNlLmdldE5vdEZvdW5kVGV4dCgpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3kgKCk6IHZvaWQge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5mb3JFYWNoKHMgPT4gcy51bnN1YnNjcmliZSgpKVxuICB9XG5cbiAgbmdPbkNoYW5nZXMgKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlc1tcIml0ZW1zXCJdKSB7XG4gICAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xuICAgICAgdGhpcy5jYXJnYSgpO1xuICAgIH1cbiAgICBpZiAoY2hhbmdlc1tcInN1Ym1pdHRlZFwiXSkge1xuICAgICAgaWYgKHRoaXMuY29udHJvbHMgIT09IHVuZGVmaW5lZCAmJiBjaGFuZ2VzW1wic3VibWl0dGVkXCJdLmN1cnJlbnRWYWx1ZSkge1xuICAgICAgICB0aGlzLmNvbnRyb2xzLm1hcmtBc0RpcnR5KCk7XG4gICAgICAgIHRoaXMuY29udHJvbHMubWFya0FzVG91Y2hlZCgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGFzeW5jIGNhcmdhICgpIHtcbiAgICB0aGlzLmFsbEl0ZW1zID0gYXdhaXQgbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgdGhpcy5pdGVtcyA9IHRoaXMuaXRlbXMucGlwZShzaGFyZVJlcGxheSh7IHJlZkNvdW50OiB0cnVlIH0pKTtcbiAgICAgIGNvbnN0IHN1YnNjcmlwdGlvbiA9IHRoaXMuaXRlbXMuc3Vic2NyaWJlKChyZXM6IGFueSkgPT4ge1xuICAgICAgICByZXNvbHZlKHJlcyk7XG4gICAgICB9KTtcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKHN1YnNjcmlwdGlvbik7XG4gICAgfSk7XG4gICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgaWYgKHRoaXMuX3ZhbHVlICE9IG51bGwpIHtcbiAgICAgIHRoaXMuYWxsSXRlbXMuZm9yRWFjaCgoZWxlbWVudCkgPT4ge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgIXRoaXMudmFsaWRhdGVVdGlsLmlzVW5kZWZpbmVkT3JOdWxsKHRoaXMuZ2V0T2JqZWN0KGVsZW1lbnQsIHRoaXMuc2VhcmNoQnkpKSAmJlxuICAgICAgICAgIHRoaXMuZ2V0T2JqZWN0KGVsZW1lbnQsIHRoaXMuc2VhcmNoQnkpID09PSB0aGlzLl92YWx1ZVxuICAgICAgICApIHtcbiAgICAgICAgICB0aGlzLl92YWx1ZSA9IGVsZW1lbnQ7XG4gICAgICAgICAgdGhpcy5vbkNoYW5nZSh0aGlzLl92YWx1ZSk7XG4gICAgICAgICAgdGhpcy5vblZhbGlkYXRpb25DaGFuZ2UoKTtcbiAgICAgICAgICB0aGlzLmNoYW5nZS5lbWl0KHRoaXMuX3ZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICh0aGlzLm1hcmtGaXJzdEl0ZW0gJiYgdGhpcy5hbGxJdGVtcy5sZW5ndGggPiAwKSB7XG4gICAgICAgIHRoaXMuX3ZhbHVlID0gdGhpcy5hbGxJdGVtc1swXTtcbiAgICAgICAgdGhpcy5vbkNoYW5nZSh0aGlzLl92YWx1ZSk7XG4gICAgICAgIHRoaXMub25WYWxpZGF0aW9uQ2hhbmdlKCk7XG4gICAgICAgIHRoaXMuY2hhbmdlLmVtaXQodGhpcy5fdmFsdWUpO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMubWFya1doZW5IYXZlT25lSXRlbSAmJiB0aGlzLmFsbEl0ZW1zLmxlbmd0aCA9PT0gMSkge1xuICAgICAgICB0aGlzLl92YWx1ZSA9IHRoaXMuYWxsSXRlbXNbMF07XG4gICAgICAgIHRoaXMub25DaGFuZ2UodGhpcy5fdmFsdWUpO1xuICAgICAgICB0aGlzLm9uVmFsaWRhdGlvbkNoYW5nZSgpO1xuICAgICAgICB0aGlzLmNoYW5nZS5lbWl0KHRoaXMuX3ZhbHVlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBuZ09uSW5pdCAoKSB7IH1cblxuICBnZXRPYmplY3QgKG9iajogYW55LCBrZXk6IGFueSkge1xuICAgIHJldHVybiBrZXkuc3BsaXQoXCIuXCIpLnJlZHVjZShmdW5jdGlvbiAobzogYW55LCB4OiBhbnkpIHtcbiAgICAgIHJldHVybiB0eXBlb2YgbyA9PSBcInVuZGVmaW5lZFwiIHx8IG8gPT09IG51bGwgPyBvIDogb1t4XTtcbiAgICB9LCBvYmopO1xuICB9XG5cbiAgd3JpdGVWYWx1ZSAodmFsdWU6IGFueSk6IHZvaWQge1xuICAgIGlmICh2YWx1ZSAhPSBudWxsKSB7XG4gICAgICBpZiAodGhpcy5sb2FkaW5nKSB7XG4gICAgICAgIHRoaXMuX3ZhbHVlID0gdmFsdWU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLl92YWx1ZSA9IHZhbHVlO1xuICAgICAgICB0aGlzLmFsbEl0ZW1zLmZvckVhY2goKGVsZW1lbnQpID0+IHtcbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAhdGhpcy52YWxpZGF0ZVV0aWwuaXNVbmRlZmluZWRPck51bGwodGhpcy5nZXRPYmplY3QoZWxlbWVudCwgdGhpcy5zZWFyY2hCeSkpICYmXG4gICAgICAgICAgICB0aGlzLmdldE9iamVjdChlbGVtZW50LCB0aGlzLnNlYXJjaEJ5KSA9PT0gdGhpcy5fdmFsdWVcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIHRoaXMuX3ZhbHVlID0gZWxlbWVudDtcbiAgICAgICAgICAgIHRoaXMub25DaGFuZ2UodGhpcy5fdmFsdWUpO1xuICAgICAgICAgICAgdGhpcy5vblZhbGlkYXRpb25DaGFuZ2UoKTtcbiAgICAgICAgICAgIHRoaXMuY2hhbmdlLmVtaXQodGhpcy5fdmFsdWUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICAgIC8vdGhpcy5zZWFyY2hFbGVtZW50KHZhbHVlKTtcbiAgICAgIHRoaXMub25WYWxpZGF0aW9uQ2hhbmdlKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX3ZhbHVlID0gbnVsbDtcbiAgICAgIHRoaXMub25WYWxpZGF0aW9uQ2hhbmdlKCk7XG4gICAgfVxuICB9XG4gIHJlZ2lzdGVyT25DaGFuZ2UgKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gIH1cbiAgcmVnaXN0ZXJPblRvdWNoZWQgKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xuICB9XG4gIHNldERpc2FibGVkU3RhdGUgKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgfVxuXG4gIHZhbGlkYXRlIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgYW55IHtcbiAgICB0aGlzLmNvbnRyb2xzID0gY29udHJvbDtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHJlZ2lzdGVyT25WYWxpZGF0b3JDaGFuZ2U/KGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5vblZhbGlkYXRpb25DaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIGV2ZW50Q2hhbmdlIChlOiBhbnkpIHtcbiAgICB0aGlzLm9uQ2hhbmdlKGUpO1xuICAgIHRoaXMub25WYWxpZGF0aW9uQ2hhbmdlKCk7XG4gICAgdGhpcy5jaGFuZ2UuZW1pdChlKTtcbiAgfVxuXG4gIGV2ZW50Qmx1ciAoZTogYW55KSB7XG4gICAgdGhpcy5vblRvdWNoZWQoKTtcbiAgICB0aGlzLm9uVmFsaWRhdGlvbkNoYW5nZSgpO1xuICAgIHRoaXMuYmx1ci5lbWl0KGUpO1xuICB9XG5cbiAgZXZlbnRGb2N1cyAoZTogYW55KSB7XG4gICAgLy8gdGhpcy5uZ1NlbGVjdFNpbXBsZS5mb2N1cygpO1xuICAgIGlmICh0aGlzLm9wZW5XaGVuRm9jdXMpIHtcbiAgICAgIHRoaXMubmdTZWxlY3RTaW1wbGUub3BlbigpO1xuICAgIH1cbiAgICB0aGlzLm9uZm9jdXMuZW1pdChlKTtcbiAgfVxuXG4gIGV2ZW50U2VhcmNoIChlOiBhbnkpIHtcbiAgICB0aGlzLm9uc2VhcmNoLmVtaXQoZSk7XG4gIH1cblxuICBlbnRlcktleVVwICgpIHtcbiAgICB0aGlzLm5nU2VsZWN0U2ltcGxlLmNsb3NlKCk7XG4gICAgaWYgKCF0aGlzLmRpc2FibGVkKSB7XG4gICAgICBsZXQgdmFsaWRhdG9yID0gdGhpcy5zaGFyZWRDb21wb25lbnRzVXRpbC5zdG9wQnlWYWxpZGF0b3IodGhpcy5jb250cm9scywgdGhpcy52YWxpZGF0b3JBbGVydCwgdGhpcy5sYWJlbCk7XG4gICAgICBpZiAodmFsaWRhdG9yLmVycm9yKSB7XG4gICAgICAgIHRoaXMubWVzc2FnZVV0aWxTZXJ2aWNlLmdldE1lc3NhZ2VFcnJvcihcIjAwMDA0NlwiLCBcIkVycm9yXCIsIHZhbGlkYXRvci5tZXNzYWdlKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAodGhpcy5uZXh0ICE9IHVuZGVmaW5lZCkge1xuICAgICAgaWYgKHRoaXMubmV4dC5kaXNhYmxlZCB8fCB0aGlzLm5leHQucmVhZG9ubHkpIHtcbiAgICAgICAgaWYgKHRoaXMubmV4dElzRGlzYWJsZSAhPSB1bmRlZmluZWQpIHtcbiAgICAgICAgICB0aGlzLm5leHRJc0Rpc2FibGUuZm9jdXMoKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5uZXh0LmZvY3VzKCk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICh0aGlzLm5leHRJc0Rpc2FibGUgIT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHRoaXMubmV4dElzRGlzYWJsZS5mb2N1cygpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5vbk5leHQuZW1pdCgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGxlZnRLZXlVcCAoKSB7XG4gICAgdGhpcy5uZ1NlbGVjdFNpbXBsZS5jbG9zZSgpO1xuICAgIGlmICghdGhpcy5kaXNhYmxlZCkge1xuICAgICAgbGV0IHZhbGlkYXRvciA9IHRoaXMuc2hhcmVkQ29tcG9uZW50c1V0aWwuc3RvcEJ5VmFsaWRhdG9yKHRoaXMuY29udHJvbHMsIHRoaXMudmFsaWRhdG9yQWxlcnQsIHRoaXMubGFiZWwpO1xuICAgICAgaWYgKHZhbGlkYXRvci5lcnJvcikge1xuICAgICAgICB0aGlzLm1lc3NhZ2VVdGlsU2VydmljZS5nZXRNZXNzYWdlRXJyb3IoXCIwMDAwNDZcIiwgXCJFcnJvclwiLCB2YWxpZGF0b3IubWVzc2FnZSk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKHRoaXMuYmFjayAhPSB1bmRlZmluZWQpIHtcbiAgICAgIGlmICh0aGlzLmJhY2suZGlzYWJsZWQgfHwgdGhpcy5iYWNrLnJlYWRvbmx5KSB7XG4gICAgICAgIGlmICh0aGlzLmJhY2tJc0Rpc2FibGUgIT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgdGhpcy5iYWNrSXNEaXNhYmxlLmZvY3VzKCk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuYmFjay5mb2N1cygpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBpZiAodGhpcy5iYWNrSXNEaXNhYmxlICE9IHVuZGVmaW5lZCkge1xuICAgICAgICB0aGlzLmJhY2tJc0Rpc2FibGUuZm9jdXMoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMub25CYWNrLmVtaXQoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBjbGVhciAoKSB7XG4gICAgdGhpcy5fdmFsdWUgPSBudWxsO1xuICAgIHRoaXMub25DaGFuZ2UodGhpcy5fdmFsdWUpO1xuICAgIHRoaXMub25WYWxpZGF0aW9uQ2hhbmdlKCk7XG4gICAgdGhpcy5jaGFuZ2UuZW1pdCh0aGlzLl92YWx1ZSk7XG4gIH1cblxuICBvblJlZnJlc2ggKCkge1xuICAgIHRoaXMub25yZWZyZXNoLmVtaXQoKTtcbiAgfVxuXG4gIGFzeW5jIG9uU2VhcmNoICgpIHtcbiAgICBjb25zdCBkaWFsb2dSZWYgPSB0aGlzLmRpYWxvZy5vcGVuKERpYWxvZ0FnR3JpZFNlYXJjaENvbXBvbmVudCwge1xuICAgICAgd2lkdGg6IHRoaXMuc2VhcmNoUGFyYW1zLndpZHRoLFxuICAgICAgZGlzYWJsZUNsb3NlOiB0cnVlLFxuICAgIH0pO1xuICAgIGxldCByb3dkYXRhID0gYXdhaXQgdGhpcy5zZWFyY2hQYXJhbXMucm93RGF0YS50b1Byb21pc2UoKTtcbiAgICBsZXQgaW5zdGFuY2UgPSBkaWFsb2dSZWYuY29tcG9uZW50SW5zdGFuY2U7XG4gICAgaW5zdGFuY2UudGl0dGxlID0gdGhpcy5zZWFyY2hQYXJhbXMudGl0bGUgPT09IFwiXCIgPyB0aGlzLmxhYmVsIDogdGhpcy5zZWFyY2hQYXJhbXMudGl0bGU7XG4gICAgaW5zdGFuY2Uucm93RGF0YSA9IHJvd2RhdGEgJiYgcm93ZGF0YS5sZW5ndGggPCAxID8gdGhpcy5pdGVtcyA6IHRoaXMuc2VhcmNoUGFyYW1zLnJvd0RhdGE7XG4gICAgaW5zdGFuY2UuY29sdW1uRGVmcyA9IHRoaXMuc2VhcmNoUGFyYW1zLmNvbHVtbkRlZnM7XG4gICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKChyZXNwOiBhbnlbXSkgPT4ge1xuICAgICAgdGhpcy5mb2N1cygpO1xuICAgICAgaWYgKHJlc3AubGVuZ3RoID4gMCkge1xuICAgICAgICB0aGlzLl92YWx1ZSA9IHJlc3BbMF07XG4gICAgICAgIHRoaXMub25DaGFuZ2UodGhpcy5fdmFsdWUpO1xuICAgICAgICB0aGlzLm9uVmFsaWRhdGlvbkNoYW5nZSgpO1xuICAgICAgICB0aGlzLmNoYW5nZS5lbWl0KHRoaXMuX3ZhbHVlKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGYxS2V5VXAgKCkge1xuICAgIGlmICghdGhpcy5idG5TZWFyY2gpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5uZ1NlbGVjdFNpbXBsZS5jbG9zZSgpO1xuICAgIC8vdGhpcy5idG5TZWFyY2gubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgIHRoaXMub25TZWFyY2goKTtcbiAgfVxufVxuIiwiPGxhYmVsICpuZ0lmPVwibGFiZWwgIT0gbnVsbCAmJiBsYWJlbCAhPSAnJyAmJiBzaG93TGFiZWxcIiBjbGFzcz1cImQtZmxleCBzdW1heC1sYWJlbCBtYi0wIHAtMFwiPlxuICA8c3BhbiAqbmdJZj1cIiF0ZW1wbGF0ZUxhYmVsOyBlbHNlIHRlbXBsYXRlTGFiZWxcIiBbdGl0bGVdPVwibGFiZWxcIiBzdHlsZT1cIndoaXRlLXNwYWNlOiBub3dyYXA7IG92ZXJmbG93OiBoaWRkZW47IHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzXCI+XG4gICAge3sgbGFiZWwgfX1cbiAgPC9zcGFuPlxuICA8c3BhbiAqbmdJZj1cInJlcXVpcmVkXCIgW2NsYXNzLnRleHQtZGFuZ2VyXT1cImNvbnRyb2xzPy5lcnJvcnMgIT0gbnVsbFwiPiAqPC9zcGFuPlxuICA8c3BhbiAqbmdJZj1cImxhYmVsSW5mb1wiPlxuICAgIDxpIGNsYXNzPVwiZmEgZmEtZXhjbGFtYXRpb24tY2lyY2xlIHRleHQtaW5mbyBtcy0yXCIgW21hdFRvb2x0aXBdPVwidGV4dExhYmVsSW5mb1wiIG1hdFRvb2x0aXBDbGFzcz1cImJnLWluZm9cIj48L2k+XG4gIDwvc3Bhbj5cbjwvbGFiZWw+XG5cbjxkaXZcbiAgW2NsYXNzLmlucHV0LWljb25dPVwiY29udHJvbHM/LmVycm9ycyAhPSBudWxsICYmIChjb250cm9scz8uZGlydHkgfHwgY29udHJvbHM/LnRvdWNoZWQpICYmIHN1Ym1pdHRlZFwiXG4gIFtjbGFzcy5yaWdodF09XCJjb250cm9scz8uZXJyb3JzICE9IG51bGwgJiYgKGNvbnRyb2xzPy5kaXJ0eSB8fCBjb250cm9scz8udG91Y2hlZCkgJiYgc3VibWl0dGVkXCJcbiAgW2NsYXNzLnJlZnJlc2hdPVwiY29udHJvbHM/LmVycm9ycyAhPSBudWxsICYmIChjb250cm9scz8uZGlydHkgfHwgY29udHJvbHM/LnRvdWNoZWQpICYmIHN1Ym1pdHRlZCAmJiByZWZyZXNoXCJcbiAgW2NsYXNzLnNlYXJjaF09XCJjb250cm9scz8uZXJyb3JzICE9IG51bGwgJiYgKGNvbnRyb2xzPy5kaXJ0eSB8fCBjb250cm9scz8udG91Y2hlZCkgJiYgc3VibWl0dGVkICYmIHNlYXJjaFwiPlxuICA8ZGl2IGNsYXNzPVwiZC1mbGV4XCI+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJwb3NpdGlvbi1yZWxhdGl2ZVwiXG4gICAgICBbY2xhc3Mubmctc2VsZWN0LWNvbnRhaW5lci1mdWxsYnV0dG9uc109XCJzZWFyY2ggJiYgcmVmcmVzaCAmJiByZWRpcmVjdFwiXG4gICAgICBbY2xhc3MuYXBwLW5nLXNlbGVjLWNvbnRhaW5lcl09XCJzZWFyY2ggfHwgcmVmcmVzaFwiXG4gICAgICBbY2xhc3Mudy0xMDBdPVwiIXNlYXJjaCAmJiAhcmVmcmVzaFwiXG4gICAgICBzdHlsZT1cImZsZXg6IDE7IG1pbi13aWR0aDogMDtcIj5cbiAgICAgIDxuZy1zZWxlY3RcbiAgICAgICAgI25nU2VsZWN0U2ltcGxlXG4gICAgICAgIFtjbGFzc109XCJzZWFyY2ggfHwgcmVmcmVzaCA/ICdhcHAtbmctc2VsZWN0IG5nLXNlbGVjdC1maXhlZC13aWR0aCcgOiAndy0xMDAgbmctc2VsZWN0LWZpeGVkLXdpZHRoJ1wiXG4gICAgICAgIFtjbGFzcy5hY3Rpb25dPVwic2VhcmNoICYmIHJlZnJlc2hcIlxuICAgICAgICBbaXRlbXNdPVwiaXRlbXMgfCBhc3luY1wiXG4gICAgICAgIFsobmdNb2RlbCldPVwiX3ZhbHVlXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCJcbiAgICAgICAgKGNoYW5nZSk9XCJldmVudENoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgKGJsdXIpPVwiZXZlbnRCbHVyKCRldmVudClcIlxuICAgICAgICAoZm9jdXMpPVwiZXZlbnRGb2N1cygkZXZlbnQpXCJcbiAgICAgICAgKHNlYXJjaCk9XCJldmVudFNlYXJjaCgkZXZlbnQpXCJcbiAgICAgICAgW21hcmtGaXJzdF09XCJtYXJrRmlyc3RcIlxuICAgICAgICBbY2xlYXJhYmxlXT1cIiFyZXF1aXJlZCAmJiBjbGVhcmFibGVcIlxuICAgICAgICBbdmlydHVhbFNjcm9sbF09XCJ2aXJ0dWFsU2Nyb2xsXCJcbiAgICAgICAgW2lucHV0QXR0cnNdPVwieyBhdXRvY29tcGxldGU6IGF1dG9jb21wbGV0ZSB9XCJcbiAgICAgICAgW2NsZWFyT25CYWNrc3BhY2VdPVwiY2xlYXJPbkJhY2tzcGFjZVwiXG4gICAgICAgIFtvcGVuT25FbnRlcl09XCJvcGVuT25FbnRlclwiXG4gICAgICAgIChrZXlkb3duLmRlbGV0ZSk9XCIhcmVxdWlyZWQgJiYgY2xlYXJhYmxlID8gY2xlYXIoKSA6ICcnXCJcbiAgICAgICAgKGNsZWFyKT1cImNsZWFyKClcIlxuICAgICAgICAoa2V5dXAuRjEpPVwiZjFLZXlVcCgpXCJcbiAgICAgICAgW25vdEZvdW5kVGV4dF09XCJub3RGb3VuZFRleHRcIlxuICAgICAgICBwbGFjZWhvbGRlcj1cIlNlbGVjY2lvbmFyXCJcbiAgICAgICAgKGtleXVwLmVudGVyKT1cImVudGVyS2V5VXAoKVwiXG4gICAgICAgIFtjbGVhckFsbFRleHRdPVwiY2xlYXJBbGxUZXh0XCJcbiAgICAgICAgW3NlYXJjaGFibGVdPVwic2VhcmNoYWJsZVwiXG4gICAgICAgIChrZXl1cC5BcnJvd0xlZnQpPVwibGVmdEtleVVwKClcIlxuICAgICAgICBbYXBwZW5kVG9dPVwiYXBwZW5kVG9cIlxuICAgICAgICBbbG9hZGluZ109XCJsb2FkaW5nXCJcbiAgICAgICAgW2xvYWRpbmdUZXh0XT1cImxvYWRpbmdUZXh0XCJcbiAgICAgICAgW2NsYXNzLm5nLXNlbGVjdC1pbnZhbGlkXT1cImNvbnRyb2xzPy5lcnJvcnMgIT0gbnVsbCAmJiAoY29udHJvbHM/LmRpcnR5IHx8IGNvbnRyb2xzPy50b3VjaGVkKSAmJiBzdWJtaXR0ZWRcIlxuICAgICAgICBbY2xhc3Mubmctc2VsZWN0LXRvdWNoZWRdPVwiY29udHJvbHM/LmVycm9ycyAhPSBudWxsICYmIChjb250cm9scz8uZGlydHkgfHwgY29udHJvbHM/LnRvdWNoZWQpICYmIHN1Ym1pdHRlZFwiXG4gICAgICAgIFtjbGFzcy51cHBlckNhc2VdPVwidXBwZXJDYXNlXCJcbiAgICAgICAgW25nQ2xhc3NdPVwic2V0TmdDbGFzc1wiXG4gICAgICAgIHN0eWxlPVwibWF4LXdpZHRoOiAxMDAlOyB3aWR0aDogMTAwJTtcIj5cblxuICAgICAgICA8IS0tIE9QQ0lPTkVTIERFIExJU1RBRE8gLS0+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBuZy1vcHRpb24tdG1wIGxldC1pdGVtPVwiaXRlbVwiIGxldC1pbmRleD1cImluZGV4XCI+XG4gICAgICAgICAgPHNwYW4gZGF0YS10b2dnbGU9XCJ0b29sdGlwXCIgdGl0bGU9XCJ7eyBpdGVtLmxhYmVsIH19XCI+e3sgaXRlbS5sYWJlbCB9fTwvc3Bhbj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDwvbmctc2VsZWN0PlxuXG4gICAgICA8IS0tIHRvb2x0aXAtbWVzc2FnZSBlcyBlbCBpY29ubyBkZSBlcnJvciAtLT5cbiAgICAgIDx0b29sdGlwLW1lc3NhZ2VcbiAgICAgICAgW2xhYmVsXT1cImxhYmVsXCJcbiAgICAgICAgW2NvbnRyb2xzXT1cImNvbnRyb2xzXCJcbiAgICAgICAgW3ZhbGlkYXRvck1lc3NhZ2VdPVwidmFsaWRhdG9yTWVzc2FnZVwiXG4gICAgICAgIFtzdWJtaXR0ZWRdPVwic3VibWl0dGVkXCJcbiAgICAgICAgW3Rvb2x0aXBNZXNzYWdlXT1cInRvb2x0aXBNZXNzYWdlXCI+PC90b29sdGlwLW1lc3NhZ2U+XG4gICAgPC9kaXY+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNlYXJjaCAmJiByZWZyZXNoICYmIHJlZGlyZWN0OyBlbHNlIHRlbXBsYXRlQWN0aW9uXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiYXBwLW5nLXNlbGVjdC1hY3Rpb24gYmQtaGlnaGxpZ2hcIj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICNidG5TZWFyY2hcbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWQgfHwgcmVhZG9ubHlcIlxuICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1zdWNjZXNzIHAtMCByb3VuZGVkLTAgaC0xMDBcIlxuICAgICAgICAgIChrZXl1cC5BcnJvd0xlZnQpPVwibmdTZWxlY3RTaW1wbGUuZm9jdXMoKVwiXG4gICAgICAgICAgc3R5bGU9XCJiYWNrZ3JvdW5kLWNvbG9yOiBvcmFuZ2U7IGJvcmRlci1jb2xvcjogb3JhbmdlXCJcbiAgICAgICAgICAoY2xpY2spPVwib25TZWFyY2goKVwiPlxuICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtc2VhcmNoIHRleHQtd2hpdGUgcHgtMVwiIFttYXRUb29sdGlwXT1cIidCdXNjYXInXCIgbWF0VG9vbHRpcENsYXNzPVwiY3VzdG9tLXRvb2x0aXBcIj48L2k+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgKm5nSWY9XCJyZWZyZXNoXCJcbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWQgfHwgcmVhZG9ubHkgfHwgaXNSZWZyZXNoRGlzYWJsZWRcIlxuICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1pbmZvIHAtMCByb3VuZGVkLTAgaC0xMDBcIlxuICAgICAgICAgIChjbGljayk9XCJvblJlZnJlc2goKVwiPlxuICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtcmVmcmVzaCB0ZXh0LXdoaXRlIHB4LTFcIiBbbWF0VG9vbHRpcF09XCInUmVmcmVzY2FyJ1wiIG1hdFRvb2x0aXBDbGFzcz1cImJnLWluZm9cIj48L2k+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgY2xhc3M9XCJidG4gYnRuLXN1Y2Nlc3MgcC0wIHJvdW5kZWQtMCBoLTEwMFwiXG4gICAgICAgICAgKGNsaWNrKT1cIm9wZW5FbmxhY2UoKVwiXG4gICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkIHx8IHJlYWRvbmx5IHx8IGlzUmVkaXJlY3REaXNhYmxlZFwiPlxuICAgICAgICAgIDxlbSBjbGFzcz1cImZhLXJlZ3VsYXIgZmEtcmVjdGFuZ2xlLWxpc3QgdGV4dC13aGl0ZSBweC0xXCIgW21hdFRvb2x0aXBdPVwidGl0bGVSZWRpcmVjdCFcIiBtYXRUb29sdGlwQ2xhc3M9XCJiZy1zdWNjZXNzXCI+IDwvZW0+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8bmctdGVtcGxhdGUgI3RlbXBsYXRlQWN0aW9uPlxuICAgICAgPGRpdiBjbGFzcz1cImFwcC1uZy1zZWxlY3QtYnV0dG9uIGJkLWhpZ2hsaWdodFwiICpuZ0lmPVwic2VhcmNoXCI+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAjYnRuU2VhcmNoXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkIHx8IHJlYWRvbmx5XCJcbiAgICAgICAgICBjbGFzcz1cImJ0biBidG4tc3VjY2VzcyBwLTAgcm91bmRlZC0wIGgtMTAwXCJcbiAgICAgICAgICAoa2V5dXAuQXJyb3dMZWZ0KT1cIm5nU2VsZWN0U2ltcGxlLmZvY3VzKClcIlxuICAgICAgICAgIChjbGljayk9XCJvblNlYXJjaCgpXCI+XG4gICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS1zZWFyY2ggdGV4dC13aGl0ZSBweC0xXCIgW21hdFRvb2x0aXBdPVwiJ0J1c2NhcidcIiBtYXRUb29sdGlwQ2xhc3M9XCJiZy1zdWNjZXNzXCI+PC9pPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImFwcC1uZy1zZWxlY3QtYnV0dG9uIGJkLWhpZ2hsaWdodFwiICpuZ0lmPVwicmVmcmVzaFwiPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgKm5nSWY9XCJyZWZyZXNoXCJcbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWQgfHwgcmVhZG9ubHkgfHwgaXNSZWZyZXNoRGlzYWJsZWRcIlxuICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1pbmZvIHAtMCByb3VuZGVkLTAgaC0xMDBcIlxuICAgICAgICAgIChjbGljayk9XCJvblJlZnJlc2goKVwiPlxuICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtcmVmcmVzaCB0ZXh0LXdoaXRlIHB4LTFcIiBbbWF0VG9vbHRpcF09XCInUmVmcmVzY2FyJ1wiIG1hdFRvb2x0aXBDbGFzcz1cImJnLWluZm9cIj48L2k+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiYXBwLW5nLXNlbGVjdC1idXR0b24gYmQtaGlnaGxpZ2h0XCIgKm5nSWY9XCJyZWRpcmVjdFwiPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgY2xhc3M9XCJidG4gYnRuLXN1Y2Nlc3MgcC0wIHJvdW5kZWQtMCBoLTEwMFwiXG4gICAgICAgICAgc3R5bGU9XCJwYWRkaW5nLXRvcDogM3B4OyBwYWRkaW5nLWJvdHRvbTogN3B4OyBib3JkZXItcmFkaXVzOiAwcHhcIlxuICAgICAgICAgIChjbGljayk9XCJvcGVuRW5sYWNlKClcIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZCB8fCByZWFkb25seSB8fCBpc1JlZGlyZWN0RGlzYWJsZWRcIj5cbiAgICAgICAgICA8ZW0gY2xhc3M9XCJmYS1yZWd1bGFyIGZhLXJlY3RhbmdsZS1saXN0IHRleHQtd2hpdGUgcHgtMVwiIFttYXRUb29sdGlwXT1cInRpdGxlUmVkaXJlY3QhXCIgbWF0VG9vbHRpcENsYXNzPVwiYmctc3VjY2Vzc1wiPiA8L2VtPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbbW9yZS1idXR0b25zXVwiPjwvbmctY29udGVudD5cbiAgPC9kaXY+XG48L2Rpdj5cblxuPCEtLSBlcnJvci1tZXNzYWdlIGVzIGVsIG1hbnNhamUgcXVlIGFwYXJlY2UgYWJham8gZGVsIGNvbXBvbmVudGUgLS0+XG48ZXJyb3ItbWVzc2FnZVxuICBbbGFiZWxdPVwibGFiZWxcIlxuICBbY29udHJvbHNdPVwiY29udHJvbHNcIlxuICBbdmFsaWRhdG9yTWVzc2FnZV09XCJ2YWxpZGF0b3JNZXNzYWdlXCJcbiAgW3N1Ym1pdHRlZF09XCJzdWJtaXR0ZWRcIlxuICBbdG9vbHRpcE1lc3NhZ2VdPVwidG9vbHRpcE1lc3NhZ2VcIj48L2Vycm9yLW1lc3NhZ2U+XG4iXX0=
@@ -1,3 +1,3 @@
1
1
  export class NgSelectSimple {
2
2
  }
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctc2VsZWN0LXNpbXBsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zdW1heC1lcnAtY29tcG9uZW50L3NyYy9saWIvbmctc2VsZWN0LXNpbXBsZS9uZy1zZWxlY3Qtc2ltcGxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxjQUFjO0NBbUIxQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBOZ1NlbGVjdFNpbXBsZSB7XHJcbiAgdmFsaWRhdG9yTWVzc2FnZT86IGJvb2xlYW47XHJcbiAgdG9vbHRpcE1lc3NhZ2U/OiBib29sZWFuO1xyXG4gIG9wZW5XaGVuRm9jdXM/OiBib29sZWFuO1xyXG4gIHNlYXJjaEJ5Pzogc3RyaW5nO1xyXG4gIG1hcmtGaXJzdEl0ZW0/OiBib29sZWFuO1xyXG4gIHN1Ym1pdHRlZD86IGJvb2xlYW47XHJcbiAgc2VhcmNoYWJsZT86IGJvb2xlYW47XHJcbiAgdmFsaWRhdG9yQWxlcnQ/OiBib29sZWFuO1xyXG4gIHVwcGVyQ2FzZT86IGJvb2xlYW47XHJcbiAgYXBwZW5kVG8/OiBzdHJpbmc7XHJcbiAgbG9hZGluZ1RleHQ/OiBzdHJpbmc7XHJcbiAgY2xlYXJBbGxUZXh0Pzogc3RyaW5nO1xyXG4gIG1hcmtGaXJzdD86IGJvb2xlYW47XHJcbiAgY2xlYXJhYmxlPzogYm9vbGVhbjtcclxuICBjbGVhck9uQmFja3NwYWNlPzogYm9vbGVhbjtcclxuICB2aXJ0dWFsU2Nyb2xsPzogYm9vbGVhbjtcclxuICBvcGVuT25FbnRlcj86IGJvb2xlYW47XHJcbiAgbm90Rm91bmRUZXh0Pzogc3RyaW5nO1xyXG59XHJcbiJdfQ==
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctc2VsZWN0LXNpbXBsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zdW1heC1lcnAtY29tcG9uZW50L3NyYy9saWIvbmctc2VsZWN0LXNpbXBsZS9uZy1zZWxlY3Qtc2ltcGxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxjQUFjO0NBbUIxQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBOZ1NlbGVjdFNpbXBsZSB7XG4gIHZhbGlkYXRvck1lc3NhZ2U/OiBib29sZWFuO1xuICB0b29sdGlwTWVzc2FnZT86IGJvb2xlYW47XG4gIG9wZW5XaGVuRm9jdXM/OiBib29sZWFuO1xuICBzZWFyY2hCeT86IHN0cmluZztcbiAgbWFya0ZpcnN0SXRlbT86IGJvb2xlYW47XG4gIHN1Ym1pdHRlZD86IGJvb2xlYW47XG4gIHNlYXJjaGFibGU/OiBib29sZWFuO1xuICB2YWxpZGF0b3JBbGVydD86IGJvb2xlYW47XG4gIHVwcGVyQ2FzZT86IGJvb2xlYW47XG4gIGFwcGVuZFRvPzogc3RyaW5nO1xuICBsb2FkaW5nVGV4dD86IHN0cmluZztcbiAgY2xlYXJBbGxUZXh0Pzogc3RyaW5nO1xuICBtYXJrRmlyc3Q/OiBib29sZWFuO1xuICBjbGVhcmFibGU/OiBib29sZWFuO1xuICBjbGVhck9uQmFja3NwYWNlPzogYm9vbGVhbjtcbiAgdmlydHVhbFNjcm9sbD86IGJvb2xlYW47XG4gIG9wZW5PbkVudGVyPzogYm9vbGVhbjtcbiAgbm90Rm91bmRUZXh0Pzogc3RyaW5nO1xufVxuIl19
@@ -50,4 +50,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
50
50
  providers: [],
51
51
  }]
52
52
  }] });
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctc2VsZWN0LXNpbXBsZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc3VtYXgtZXJwLWNvbXBvbmVudC9zcmMvbGliL25nLXNlbGVjdC1zaW1wbGUvbmctc2VsZWN0LXNpbXBsZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBdUIsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDM0UsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDakYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3BELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ25FLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHVEQUF1RCxDQUFDOztBQVFqRyxNQUFNLE9BQU8sb0JBQW9CO0lBQy9CLE1BQU0sQ0FBQyxPQUFPLENBQUMsaUJBQWlDLElBQUksY0FBYyxFQUFFO1FBQ2xFLE9BQU87WUFDTCxRQUFRLEVBQUUsb0JBQW9CO1lBQzlCLFNBQVMsRUFBRTtnQkFDVCxFQUFFLE9BQU8sRUFBRSxvQ0FBb0MsRUFBRSxRQUFRLEVBQUUsY0FBYyxDQUFDLGdCQUFnQixFQUFFO2dCQUM1RixFQUFFLE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxRQUFRLEVBQUUsY0FBYyxDQUFDLGNBQWMsRUFBRTtnQkFDeEYsRUFBRSxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsUUFBUSxFQUFFLGNBQWMsQ0FBQyxhQUFhLEVBQUU7Z0JBQ3ZGLEVBQUUsT0FBTyxFQUFFLDRCQUE0QixFQUFFLFFBQVEsRUFBRSxjQUFjLENBQUMsUUFBUSxFQUFFO2dCQUM1RSxFQUFFLE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxRQUFRLEVBQUUsY0FBYyxDQUFDLGFBQWEsRUFBRTtnQkFDdkYsRUFBRSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsUUFBUSxFQUFFLGNBQWMsQ0FBQyxTQUFTLEVBQUU7Z0JBQzdFLEVBQUUsT0FBTyxFQUFFLDZCQUE2QixFQUFFLFFBQVEsRUFBRSxjQUFjLENBQUMsVUFBVSxFQUFFO2dCQUMvRSxFQUFFLE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxRQUFRLEVBQUUsY0FBYyxDQUFDLGNBQWMsRUFBRTtnQkFDeEYsRUFBRSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsUUFBUSxFQUFFLGNBQWMsQ0FBQyxTQUFTLEVBQUU7Z0JBQzlFLEVBQUUsT0FBTyxFQUFFLDRCQUE0QixFQUFFLFFBQVEsRUFBRSxjQUFjLENBQUMsUUFBUSxFQUFFO2dCQUM1RSxFQUFFLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxRQUFRLEVBQUUsY0FBYyxDQUFDLFdBQVcsRUFBRTtnQkFDbEYsRUFBRSxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsUUFBUSxFQUFFLGNBQWMsQ0FBQyxZQUFZLEVBQUU7Z0JBQ3JGLEVBQUUsT0FBTyxFQUFFLDZCQUE2QixFQUFFLFFBQVEsRUFBRSxjQUFjLENBQUMsU0FBUyxFQUFFO2dCQUM5RSxFQUFFLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxRQUFRLEVBQUUsY0FBYyxDQUFDLFNBQVMsRUFBRTtnQkFDN0UsRUFBRSxPQUFPLEVBQUUscUNBQXFDLEVBQUUsUUFBUSxFQUFFLGNBQWMsQ0FBQyxnQkFBZ0IsRUFBRTtnQkFDN0YsRUFBRSxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsUUFBUSxFQUFFLGNBQWMsQ0FBQyxhQUFhLEVBQUU7Z0JBQ3RGLEVBQUUsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLFFBQVEsRUFBRSxjQUFjLENBQUMsV0FBVyxFQUFFO2dCQUNuRixFQUFFLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxRQUFRLEVBQUUsY0FBYyxDQUFDLFlBQVksRUFBRTtnQkFDckYscUJBQXFCO2FBQ3RCO1NBQ0YsQ0FBQztJQUNKLENBQUM7K0dBMUJVLG9CQUFvQjtnSEFBcEIsb0JBQW9CLGlCQUxoQix1QkFBdUIsYUFDNUIsWUFBWSxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxrQkFBa0IsRUFBRSxvQkFBb0IsRUFBRSxnQkFBZ0IsRUFBRSxjQUFjLEVBQUUsd0JBQXdCLGFBQ3BKLHVCQUF1QjtnSEFHdEIsb0JBQW9CLFlBSnJCLFlBQVksRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsa0JBQWtCLEVBQUUsb0JBQW9CLEVBQUUsZ0JBQWdCLEVBQUUsY0FBYyxFQUFFLHdCQUF3Qjs7NEZBSW5KLG9CQUFvQjtrQkFOaEMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQztvQkFDdkMsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxrQkFBa0IsRUFBRSxvQkFBb0IsRUFBRSxnQkFBZ0IsRUFBRSxjQUFjLEVBQUUsd0JBQXdCLENBQUM7b0JBQy9KLE9BQU8sRUFBRSxDQUFDLHVCQUF1QixDQUFDO29CQUNsQyxTQUFTLEVBQUUsRUFBRTtpQkFDZCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcclxuaW1wb3J0IHsgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXBcIjtcclxuaW1wb3J0IHsgTmdTZWxlY3RNb2R1bGUgfSBmcm9tIFwiQG5nLXNlbGVjdC9uZy1zZWxlY3RcIjtcclxuaW1wb3J0IHsgRXJyb3JNZXNzYWdlTW9kdWxlIH0gZnJvbSBcIi4uL2Vycm9yLW1lc3NhZ2UvZXJyb3ItbWVzc2FnZS5tb2R1bGVcIjtcclxuaW1wb3J0IHsgVG9vbHRpcE1lc3NhZ2VNb2R1bGUgfSBmcm9tIFwiLi4vdG9vbHRpcC1tZXNzYWdlL3Rvb2x0aXAtbWVzc2FnZS5tb2R1bGVcIjtcclxuaW1wb3J0IHsgTmdTZWxlY3RTaW1wbGUgfSBmcm9tIFwiLi9uZy1zZWxlY3Qtc2ltcGxlXCI7XHJcbmltcG9ydCB7IE5nU2VsZWN0U2ltcGxlQ29tcG9uZW50IH0gZnJvbSBcIi4vbmctc2VsZWN0LXNpbXBsZS5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgTmdTZWxlY3RTaW1wbGVTZXJ2aWNlIH0gZnJvbSBcIi4vbmctc2VsZWN0LXNpbXBsZS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IERpYWxvZ0FnR3JpZFNlYXJjaE1vZHVsZSB9IGZyb20gXCIuLi9kaWFsb2ctYWctZ3JpZC1zZWFyY2gvZGlhbG9nLWFnLWdyaWQtc2VhcmNoLm1vZHVsZVwiO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtOZ1NlbGVjdFNpbXBsZUNvbXBvbmVudF0sXHJcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUsIEVycm9yTWVzc2FnZU1vZHVsZSwgVG9vbHRpcE1lc3NhZ2VNb2R1bGUsIE1hdFRvb2x0aXBNb2R1bGUsIE5nU2VsZWN0TW9kdWxlLCBEaWFsb2dBZ0dyaWRTZWFyY2hNb2R1bGVdLFxyXG4gIGV4cG9ydHM6IFtOZ1NlbGVjdFNpbXBsZUNvbXBvbmVudF0sXHJcbiAgcHJvdmlkZXJzOiBbXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIE5nU2VsZWN0U2ltcGxlTW9kdWxlIHtcclxuICBzdGF0aWMgZm9yUm9vdChuZ1NlbGVjdFNpbXBsZTogTmdTZWxlY3RTaW1wbGUgPSBuZXcgTmdTZWxlY3RTaW1wbGUoKSk6IE1vZHVsZVdpdGhQcm92aWRlcnM8TmdTZWxlY3RTaW1wbGVNb2R1bGU+IHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIG5nTW9kdWxlOiBOZ1NlbGVjdFNpbXBsZU1vZHVsZSxcclxuICAgICAgcHJvdmlkZXJzOiBbXHJcbiAgICAgICAgeyBwcm92aWRlOiBcIk5HX1NFTEVDVF9TSU1QTEVfVkFMSURBVE9SX01FU1NBR0VcIiwgdXNlVmFsdWU6IG5nU2VsZWN0U2ltcGxlLnZhbGlkYXRvck1lc3NhZ2UgfSxcclxuICAgICAgICB7IHByb3ZpZGU6IFwiTkdfU0VMRUNUX1NJTVBMRV9UT09MVElQX01FU1NBR0VcIiwgdXNlVmFsdWU6IG5nU2VsZWN0U2ltcGxlLnRvb2x0aXBNZXNzYWdlIH0sXHJcbiAgICAgICAgeyBwcm92aWRlOiBcIk5HX1NFTEVDVF9TSU1QTEVfT1BFTl9XSEVOX0ZPQ1VTXCIsIHVzZVZhbHVlOiBuZ1NlbGVjdFNpbXBsZS5vcGVuV2hlbkZvY3VzIH0sXHJcbiAgICAgICAgeyBwcm92aWRlOiBcIk5HX1NFTEVDVF9TSU1QTEVfU0VBUkNIX0JZXCIsIHVzZVZhbHVlOiBuZ1NlbGVjdFNpbXBsZS5zZWFyY2hCeSB9LFxyXG4gICAgICAgIHsgcHJvdmlkZTogXCJOR19TRUxFQ1RfU0lNUExFX01BUktfRklSU1RfSVRFTVwiLCB1c2VWYWx1ZTogbmdTZWxlY3RTaW1wbGUubWFya0ZpcnN0SXRlbSB9LFxyXG4gICAgICAgIHsgcHJvdmlkZTogXCJOR19TRUxFQ1RfU0lNUExFX1NVQk1JVFRFRFwiLCB1c2VWYWx1ZTogbmdTZWxlY3RTaW1wbGUuc3VibWl0dGVkIH0sXHJcbiAgICAgICAgeyBwcm92aWRlOiBcIk5HX1NFTEVDVF9TSU1QTEVfU0VBUkNIQUJMRVwiLCB1c2VWYWx1ZTogbmdTZWxlY3RTaW1wbGUuc2VhcmNoYWJsZSB9LFxyXG4gICAgICAgIHsgcHJvdmlkZTogXCJOR19TRUxFQ1RfU0lNUExFX1ZBTElEQVRPUl9BTEVSVFwiLCB1c2VWYWx1ZTogbmdTZWxlY3RTaW1wbGUudmFsaWRhdG9yQWxlcnQgfSxcclxuICAgICAgICB7IHByb3ZpZGU6IFwiTkdfU0VMRUNUX1NJTVBMRV9VUFBFUl9DQVNFXCIsIHVzZVZhbHVlOiBuZ1NlbGVjdFNpbXBsZS51cHBlckNhc2UgfSxcclxuICAgICAgICB7IHByb3ZpZGU6IFwiTkdfU0VMRUNUX1NJTVBMRV9BUFBFTkRfVE9cIiwgdXNlVmFsdWU6IG5nU2VsZWN0U2ltcGxlLmFwcGVuZFRvIH0sXHJcbiAgICAgICAgeyBwcm92aWRlOiBcIk5HX1NFTEVDVF9TSU1QTEVfTE9BRElOR19URVhUXCIsIHVzZVZhbHVlOiBuZ1NlbGVjdFNpbXBsZS5sb2FkaW5nVGV4dCB9LFxyXG4gICAgICAgIHsgcHJvdmlkZTogXCJOR19TRUxFQ1RfU0lNUExFX0NMRUFSX0FMTF9URVhUXCIsIHVzZVZhbHVlOiBuZ1NlbGVjdFNpbXBsZS5jbGVhckFsbFRleHQgfSxcclxuICAgICAgICB7IHByb3ZpZGU6IFwiTkdfU0VMRUNUX1NJTVBMRV9NQVJLX0ZJUlNUXCIsIHVzZVZhbHVlOiBuZ1NlbGVjdFNpbXBsZS5tYXJrRmlyc3QgfSxcclxuICAgICAgICB7IHByb3ZpZGU6IFwiTkdfU0VMRUNUX1NJTVBMRV9DTEVBUkFCTEVcIiwgdXNlVmFsdWU6IG5nU2VsZWN0U2ltcGxlLmNsZWFyYWJsZSB9LFxyXG4gICAgICAgIHsgcHJvdmlkZTogXCJOR19TRUxFQ1RfU0lNUExFX0NMRUFSX09OX0JBQ0tTUEFDRVwiLCB1c2VWYWx1ZTogbmdTZWxlY3RTaW1wbGUuY2xlYXJPbkJhY2tzcGFjZSB9LFxyXG4gICAgICAgIHsgcHJvdmlkZTogXCJOR19TRUxFQ1RfU0lNUExFX1ZJUlRVQUxfU0NST0xMXCIsIHVzZVZhbHVlOiBuZ1NlbGVjdFNpbXBsZS52aXJ0dWFsU2Nyb2xsIH0sXHJcbiAgICAgICAgeyBwcm92aWRlOiBcIk5HX1NFTEVDVF9TSU1QTEVfT1BFTl9PTl9FTlRFUlwiLCB1c2VWYWx1ZTogbmdTZWxlY3RTaW1wbGUub3Blbk9uRW50ZXIgfSxcclxuICAgICAgICB7IHByb3ZpZGU6IFwiTkdfU0VMRUNUX1NJTVBMRV9OT1RfRk9VTkRfVEVYVFwiLCB1c2VWYWx1ZTogbmdTZWxlY3RTaW1wbGUubm90Rm91bmRUZXh0IH0sXHJcbiAgICAgICAgTmdTZWxlY3RTaW1wbGVTZXJ2aWNlXHJcbiAgICAgIF0sXHJcbiAgICB9O1xyXG4gIH1cclxufVxyXG4iXX0=
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctc2VsZWN0LXNpbXBsZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc3VtYXgtZXJwLWNvbXBvbmVudC9zcmMvbGliL25nLXNlbGVjdC1zaW1wbGUvbmctc2VsZWN0LXNpbXBsZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBdUIsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDM0UsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDakYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3BELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ25FLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHVEQUF1RCxDQUFDOztBQVFqRyxNQUFNLE9BQU8sb0JBQW9CO0lBQy9CLE1BQU0sQ0FBQyxPQUFPLENBQUMsaUJBQWlDLElBQUksY0FBYyxFQUFFO1FBQ2xFLE9BQU87WUFDTCxRQUFRLEVBQUUsb0JBQW9CO1lBQzlCLFNBQVMsRUFBRTtnQkFDVCxFQUFFLE9BQU8sRUFBRSxvQ0FBb0MsRUFBRSxRQUFRLEVBQUUsY0FBYyxDQUFDLGdCQUFnQixFQUFFO2dCQUM1RixFQUFFLE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxRQUFRLEVBQUUsY0FBYyxDQUFDLGNBQWMsRUFBRTtnQkFDeEYsRUFBRSxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsUUFBUSxFQUFFLGNBQWMsQ0FBQyxhQUFhLEVBQUU7Z0JBQ3ZGLEVBQUUsT0FBTyxFQUFFLDRCQUE0QixFQUFFLFFBQVEsRUFBRSxjQUFjLENBQUMsUUFBUSxFQUFFO2dCQUM1RSxFQUFFLE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxRQUFRLEVBQUUsY0FBYyxDQUFDLGFBQWEsRUFBRTtnQkFDdkYsRUFBRSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsUUFBUSxFQUFFLGNBQWMsQ0FBQyxTQUFTLEVBQUU7Z0JBQzdFLEVBQUUsT0FBTyxFQUFFLDZCQUE2QixFQUFFLFFBQVEsRUFBRSxjQUFjLENBQUMsVUFBVSxFQUFFO2dCQUMvRSxFQUFFLE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxRQUFRLEVBQUUsY0FBYyxDQUFDLGNBQWMsRUFBRTtnQkFDeEYsRUFBRSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsUUFBUSxFQUFFLGNBQWMsQ0FBQyxTQUFTLEVBQUU7Z0JBQzlFLEVBQUUsT0FBTyxFQUFFLDRCQUE0QixFQUFFLFFBQVEsRUFBRSxjQUFjLENBQUMsUUFBUSxFQUFFO2dCQUM1RSxFQUFFLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxRQUFRLEVBQUUsY0FBYyxDQUFDLFdBQVcsRUFBRTtnQkFDbEYsRUFBRSxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsUUFBUSxFQUFFLGNBQWMsQ0FBQyxZQUFZLEVBQUU7Z0JBQ3JGLEVBQUUsT0FBTyxFQUFFLDZCQUE2QixFQUFFLFFBQVEsRUFBRSxjQUFjLENBQUMsU0FBUyxFQUFFO2dCQUM5RSxFQUFFLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxRQUFRLEVBQUUsY0FBYyxDQUFDLFNBQVMsRUFBRTtnQkFDN0UsRUFBRSxPQUFPLEVBQUUscUNBQXFDLEVBQUUsUUFBUSxFQUFFLGNBQWMsQ0FBQyxnQkFBZ0IsRUFBRTtnQkFDN0YsRUFBRSxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsUUFBUSxFQUFFLGNBQWMsQ0FBQyxhQUFhLEVBQUU7Z0JBQ3RGLEVBQUUsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLFFBQVEsRUFBRSxjQUFjLENBQUMsV0FBVyxFQUFFO2dCQUNuRixFQUFFLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxRQUFRLEVBQUUsY0FBYyxDQUFDLFlBQVksRUFBRTtnQkFDckYscUJBQXFCO2FBQ3RCO1NBQ0YsQ0FBQztJQUNKLENBQUM7K0dBMUJVLG9CQUFvQjtnSEFBcEIsb0JBQW9CLGlCQUxoQix1QkFBdUIsYUFDNUIsWUFBWSxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxrQkFBa0IsRUFBRSxvQkFBb0IsRUFBRSxnQkFBZ0IsRUFBRSxjQUFjLEVBQUUsd0JBQXdCLGFBQ3BKLHVCQUF1QjtnSEFHdEIsb0JBQW9CLFlBSnJCLFlBQVksRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsa0JBQWtCLEVBQUUsb0JBQW9CLEVBQUUsZ0JBQWdCLEVBQUUsY0FBYyxFQUFFLHdCQUF3Qjs7NEZBSW5KLG9CQUFvQjtrQkFOaEMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQztvQkFDdkMsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxrQkFBa0IsRUFBRSxvQkFBb0IsRUFBRSxnQkFBZ0IsRUFBRSxjQUFjLEVBQUUsd0JBQXdCLENBQUM7b0JBQy9KLE9BQU8sRUFBRSxDQUFDLHVCQUF1QixDQUFDO29CQUNsQyxTQUFTLEVBQUUsRUFBRTtpQkFDZCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcbmltcG9ydCB7IE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXBcIjtcbmltcG9ydCB7IE5nU2VsZWN0TW9kdWxlIH0gZnJvbSBcIkBuZy1zZWxlY3Qvbmctc2VsZWN0XCI7XG5pbXBvcnQgeyBFcnJvck1lc3NhZ2VNb2R1bGUgfSBmcm9tIFwiLi4vZXJyb3ItbWVzc2FnZS9lcnJvci1tZXNzYWdlLm1vZHVsZVwiO1xuaW1wb3J0IHsgVG9vbHRpcE1lc3NhZ2VNb2R1bGUgfSBmcm9tIFwiLi4vdG9vbHRpcC1tZXNzYWdlL3Rvb2x0aXAtbWVzc2FnZS5tb2R1bGVcIjtcbmltcG9ydCB7IE5nU2VsZWN0U2ltcGxlIH0gZnJvbSBcIi4vbmctc2VsZWN0LXNpbXBsZVwiO1xuaW1wb3J0IHsgTmdTZWxlY3RTaW1wbGVDb21wb25lbnQgfSBmcm9tIFwiLi9uZy1zZWxlY3Qtc2ltcGxlLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgTmdTZWxlY3RTaW1wbGVTZXJ2aWNlIH0gZnJvbSBcIi4vbmctc2VsZWN0LXNpbXBsZS5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBEaWFsb2dBZ0dyaWRTZWFyY2hNb2R1bGUgfSBmcm9tIFwiLi4vZGlhbG9nLWFnLWdyaWQtc2VhcmNoL2RpYWxvZy1hZy1ncmlkLXNlYXJjaC5tb2R1bGVcIjtcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbTmdTZWxlY3RTaW1wbGVDb21wb25lbnRdLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSwgRXJyb3JNZXNzYWdlTW9kdWxlLCBUb29sdGlwTWVzc2FnZU1vZHVsZSwgTWF0VG9vbHRpcE1vZHVsZSwgTmdTZWxlY3RNb2R1bGUsIERpYWxvZ0FnR3JpZFNlYXJjaE1vZHVsZV0sXG4gIGV4cG9ydHM6IFtOZ1NlbGVjdFNpbXBsZUNvbXBvbmVudF0sXG4gIHByb3ZpZGVyczogW10sXG59KVxuZXhwb3J0IGNsYXNzIE5nU2VsZWN0U2ltcGxlTW9kdWxlIHtcbiAgc3RhdGljIGZvclJvb3QobmdTZWxlY3RTaW1wbGU6IE5nU2VsZWN0U2ltcGxlID0gbmV3IE5nU2VsZWN0U2ltcGxlKCkpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPE5nU2VsZWN0U2ltcGxlTW9kdWxlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBOZ1NlbGVjdFNpbXBsZU1vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7IHByb3ZpZGU6IFwiTkdfU0VMRUNUX1NJTVBMRV9WQUxJREFUT1JfTUVTU0FHRVwiLCB1c2VWYWx1ZTogbmdTZWxlY3RTaW1wbGUudmFsaWRhdG9yTWVzc2FnZSB9LFxuICAgICAgICB7IHByb3ZpZGU6IFwiTkdfU0VMRUNUX1NJTVBMRV9UT09MVElQX01FU1NBR0VcIiwgdXNlVmFsdWU6IG5nU2VsZWN0U2ltcGxlLnRvb2x0aXBNZXNzYWdlIH0sXG4gICAgICAgIHsgcHJvdmlkZTogXCJOR19TRUxFQ1RfU0lNUExFX09QRU5fV0hFTl9GT0NVU1wiLCB1c2VWYWx1ZTogbmdTZWxlY3RTaW1wbGUub3BlbldoZW5Gb2N1cyB9LFxuICAgICAgICB7IHByb3ZpZGU6IFwiTkdfU0VMRUNUX1NJTVBMRV9TRUFSQ0hfQllcIiwgdXNlVmFsdWU6IG5nU2VsZWN0U2ltcGxlLnNlYXJjaEJ5IH0sXG4gICAgICAgIHsgcHJvdmlkZTogXCJOR19TRUxFQ1RfU0lNUExFX01BUktfRklSU1RfSVRFTVwiLCB1c2VWYWx1ZTogbmdTZWxlY3RTaW1wbGUubWFya0ZpcnN0SXRlbSB9LFxuICAgICAgICB7IHByb3ZpZGU6IFwiTkdfU0VMRUNUX1NJTVBMRV9TVUJNSVRURURcIiwgdXNlVmFsdWU6IG5nU2VsZWN0U2ltcGxlLnN1Ym1pdHRlZCB9LFxuICAgICAgICB7IHByb3ZpZGU6IFwiTkdfU0VMRUNUX1NJTVBMRV9TRUFSQ0hBQkxFXCIsIHVzZVZhbHVlOiBuZ1NlbGVjdFNpbXBsZS5zZWFyY2hhYmxlIH0sXG4gICAgICAgIHsgcHJvdmlkZTogXCJOR19TRUxFQ1RfU0lNUExFX1ZBTElEQVRPUl9BTEVSVFwiLCB1c2VWYWx1ZTogbmdTZWxlY3RTaW1wbGUudmFsaWRhdG9yQWxlcnQgfSxcbiAgICAgICAgeyBwcm92aWRlOiBcIk5HX1NFTEVDVF9TSU1QTEVfVVBQRVJfQ0FTRVwiLCB1c2VWYWx1ZTogbmdTZWxlY3RTaW1wbGUudXBwZXJDYXNlIH0sXG4gICAgICAgIHsgcHJvdmlkZTogXCJOR19TRUxFQ1RfU0lNUExFX0FQUEVORF9UT1wiLCB1c2VWYWx1ZTogbmdTZWxlY3RTaW1wbGUuYXBwZW5kVG8gfSxcbiAgICAgICAgeyBwcm92aWRlOiBcIk5HX1NFTEVDVF9TSU1QTEVfTE9BRElOR19URVhUXCIsIHVzZVZhbHVlOiBuZ1NlbGVjdFNpbXBsZS5sb2FkaW5nVGV4dCB9LFxuICAgICAgICB7IHByb3ZpZGU6IFwiTkdfU0VMRUNUX1NJTVBMRV9DTEVBUl9BTExfVEVYVFwiLCB1c2VWYWx1ZTogbmdTZWxlY3RTaW1wbGUuY2xlYXJBbGxUZXh0IH0sXG4gICAgICAgIHsgcHJvdmlkZTogXCJOR19TRUxFQ1RfU0lNUExFX01BUktfRklSU1RcIiwgdXNlVmFsdWU6IG5nU2VsZWN0U2ltcGxlLm1hcmtGaXJzdCB9LFxuICAgICAgICB7IHByb3ZpZGU6IFwiTkdfU0VMRUNUX1NJTVBMRV9DTEVBUkFCTEVcIiwgdXNlVmFsdWU6IG5nU2VsZWN0U2ltcGxlLmNsZWFyYWJsZSB9LFxuICAgICAgICB7IHByb3ZpZGU6IFwiTkdfU0VMRUNUX1NJTVBMRV9DTEVBUl9PTl9CQUNLU1BBQ0VcIiwgdXNlVmFsdWU6IG5nU2VsZWN0U2ltcGxlLmNsZWFyT25CYWNrc3BhY2UgfSxcbiAgICAgICAgeyBwcm92aWRlOiBcIk5HX1NFTEVDVF9TSU1QTEVfVklSVFVBTF9TQ1JPTExcIiwgdXNlVmFsdWU6IG5nU2VsZWN0U2ltcGxlLnZpcnR1YWxTY3JvbGwgfSxcbiAgICAgICAgeyBwcm92aWRlOiBcIk5HX1NFTEVDVF9TSU1QTEVfT1BFTl9PTl9FTlRFUlwiLCB1c2VWYWx1ZTogbmdTZWxlY3RTaW1wbGUub3Blbk9uRW50ZXIgfSxcbiAgICAgICAgeyBwcm92aWRlOiBcIk5HX1NFTEVDVF9TSU1QTEVfTk9UX0ZPVU5EX1RFWFRcIiwgdXNlVmFsdWU6IG5nU2VsZWN0U2ltcGxlLm5vdEZvdW5kVGV4dCB9LFxuICAgICAgICBOZ1NlbGVjdFNpbXBsZVNlcnZpY2VcbiAgICAgIF0sXG4gICAgfTtcbiAgfVxufVxuIl19
@@ -135,4 +135,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
135
135
  type: Inject,
136
136
  args: ["NG_SELECT_SIMPLE_NOT_FOUND_TEXT"]
137
137
  }] }] });
138
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctc2VsZWN0LXNpbXBsZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXN1bWF4LWVycC1jb21wb25lbnQvc3JjL2xpYi9uZy1zZWxlY3Qtc2ltcGxlL25nLXNlbGVjdC1zaW1wbGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFHbkQsTUFBTSxPQUFPLHFCQUFxQjtJQUNoQyxZQUN3RCxtQkFBNEIsS0FBSyxFQUNuQyxpQkFBMEIsSUFBSSxFQUM5QixnQkFBeUIsS0FBSyxFQUNwQyxXQUFtQixPQUFPLEVBQ3BCLGdCQUF5QixLQUFLLEVBQ3BDLFlBQXFCLElBQUksRUFDeEIsYUFBc0IsSUFBSSxFQUNyQixpQkFBMEIsS0FBSyxFQUNwQyxZQUFxQixLQUFLLEVBQzNCLFdBQW1CLE1BQU0sRUFDdEIsY0FBc0IsYUFBYSxFQUNqQyxlQUF1QixTQUFTLEVBQ3BDLFlBQXFCLElBQUksRUFDMUIsWUFBcUIsSUFBSSxFQUNoQixtQkFBNEIsS0FBSyxFQUNyQyxnQkFBeUIsSUFBSSxFQUM5QixjQUF1QixLQUFLLEVBQzNCLGVBQXVCLDhCQUE4QjtRQWpCbEQscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFpQjtRQUNuQyxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsa0JBQWEsR0FBYixhQUFhLENBQWlCO1FBQ3BDLGFBQVEsR0FBUixRQUFRLENBQWtCO1FBQ3BCLGtCQUFhLEdBQWIsYUFBYSxDQUFpQjtRQUNwQyxjQUFTLEdBQVQsU0FBUyxDQUFnQjtRQUN4QixlQUFVLEdBQVYsVUFBVSxDQUFnQjtRQUNyQixtQkFBYyxHQUFkLGNBQWMsQ0FBaUI7UUFDcEMsY0FBUyxHQUFULFNBQVMsQ0FBaUI7UUFDM0IsYUFBUSxHQUFSLFFBQVEsQ0FBaUI7UUFDdEIsZ0JBQVcsR0FBWCxXQUFX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QkFDcEMsTUFBTTsyQkFBQyw0QkFBNEI7OzBCQUNuQyxNQUFNOzJCQUFDLHFDQUFxQzs7MEJBQzVDLE1BQU07MkJBQUMsaUNBQWlDOzswQkFDeEMsTUFBTTsyQkFBQyxnQ0FBZ0M7OzBCQUN2QyxNQUFNOzJCQUFDLGlDQUFpQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBOZ1NlbGVjdFNpbXBsZVNlcnZpY2Uge1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgQEluamVjdChcIk5HX1NFTEVDVF9TSU1QTEVfVkFMSURBVE9SX01FU1NBR0VcIikgcHJpdmF0ZSB2YWxpZGF0b3JNZXNzYWdlOiBib29sZWFuID0gZmFsc2UsXHJcbiAgICBASW5qZWN0KFwiTkdfU0VMRUNUX1NJTVBMRV9UT09MVElQX01FU1NBR0VcIikgcHJpdmF0ZSB0b29sdGlwTWVzc2FnZTogYm9vbGVhbiA9IHRydWUsXHJcbiAgICBASW5qZWN0KFwiTkdfU0VMRUNUX1NJTVBMRV9PUEVOX1dIRU5fRk9DVVNcIikgcHJpdmF0ZSBvcGVuV2hlbkZvY3VzOiBib29sZWFuID0gZmFsc2UsXHJcbiAgICBASW5qZWN0KFwiTkdfU0VMRUNUX1NJTVBMRV9TRUFSQ0hfQllcIikgcHJpdmF0ZSBzZWFyY2hCeTogc3RyaW5nID0gXCJ2YWx1ZVwiLFxyXG4gICAgQEluamVjdChcIk5HX1NFTEVDVF9TSU1QTEVfTUFSS19GSVJTVF9JVEVNXCIpIHByaXZhdGUgbWFya0ZpcnN0SXRlbTogYm9vbGVhbiA9IGZhbHNlLFxyXG4gICAgQEluamVjdChcIk5HX1NFTEVDVF9TSU1QTEVfU1VCTUlUVEVEXCIpIHByaXZhdGUgc3VibWl0dGVkOiBib29sZWFuID0gdHJ1ZSxcclxuICAgIEBJbmplY3QoXCJOR19TRUxFQ1RfU0lNUExFX1NFQVJDSEFCTEVcIikgcHJpdmF0ZSBzZWFyY2hhYmxlOiBib29sZWFuID0gdHJ1ZSxcclxuICAgIEBJbmplY3QoXCJOR19TRUxFQ1RfU0lNUExFX1ZBTElEQVRPUl9BTEVSVFwiKSBwcml2YXRlIHZhbGlkYXRvckFsZXJ0OiBib29sZWFuID0gZmFsc2UsXHJcbiAgICBASW5qZWN0KFwiTkdfU0VMRUNUX1NJTVBMRV9VUFBFUl9DQVNFXCIpIHByaXZhdGUgdXBwZXJDYXNlOiBib29sZWFuID0gZmFsc2UsXHJcbiAgICBASW5qZWN0KFwiTkdfU0VMRUNUX1NJTVBMRV9BUFBFTkRfVE9cIikgcHJpdmF0ZSBhcHBlbmRUbzogc3RyaW5nID0gXCJib2R5XCIsXHJcbiAgICBASW5qZWN0KFwiTkdfU0VMRUNUX1NJTVBMRV9MT0FESU5HX1RFWFRcIikgcHJpdmF0ZSBsb2FkaW5nVGV4dDogc3RyaW5nID0gXCJDYXJnYW5kby4uLlwiLFxyXG4gICAgQEluamVjdChcIk5HX1NFTEVDVF9TSU1QTEVfQ0xFQVJfQUxMX1RFWFRcIikgcHJpdmF0ZSBjbGVhckFsbFRleHQ6IHN0cmluZyA9IFwiTGltcGlhclwiLFxyXG4gICAgQEluamVjdChcIk5HX1NFTEVDVF9TSU1QTEVfTUFSS19GSVJTVFwiKSBwcml2YXRlIG1hcmtGaXJzdDogYm9vbGVhbiA9IHRydWUsXHJcbiAgICBASW5qZWN0KFwiTkdfU0VMRUNUX1NJTVBMRV9DTEVBUkFCTEVcIikgcHJpdmF0ZSBjbGVhcmFibGU6IGJvb2xlYW4gPSB0cnVlLFxyXG4gICAgQEluamVjdChcIk5HX1NFTEVDVF9TSU1QTEVfQ0xFQVJfT05fQkFDS1NQQUNFXCIpIHByaXZhdGUgY2xlYXJPbkJhY2tzcGFjZTogYm9vbGVhbiA9IGZhbHNlLFxyXG4gICAgQEluamVjdChcIk5HX1NFTEVDVF9TSU1QTEVfVklSVFVBTF9TQ1JPTExcIikgcHJpdmF0ZSB2aXJ0dWFsU2Nyb2xsOiBib29sZWFuID0gdHJ1ZSxcclxuICAgIEBJbmplY3QoXCJOR19TRUxFQ1RfU0lNUExFX09QRU5fT05fRU5URVJcIikgcHJpdmF0ZSBvcGVuT25FbnRlcjogYm9vbGVhbiA9IGZhbHNlLFxyXG4gICAgQEluamVjdChcIk5HX1NFTEVDVF9TSU1QTEVfTk9UX0ZPVU5EX1RFWFRcIikgcHJpdmF0ZSBub3RGb3VuZFRleHQ6IHN0cmluZyA9IFwiTm8gc2UgZW5jb250cmFyb24gcmVzdWx0YWRvc1wiXHJcbiAgKSB7fVxyXG5cclxuICBwdWJsaWMgZ2V0VmFsaWRhdG9yTWVzc2FnZSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLnZhbGlkYXRvck1lc3NhZ2U7XHJcbiAgfVxyXG4gIHB1YmxpYyBnZXRUb29sdGlwTWVzc2FnZSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLnRvb2x0aXBNZXNzYWdlO1xyXG4gIH1cclxuICBwdWJsaWMgZ2V0T3BlbldoZW5Gb2N1cygpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLm9wZW5XaGVuRm9jdXM7XHJcbiAgfVxyXG4gIHB1YmxpYyBnZXRTZWFyY2hCeSgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuc2VhcmNoQnk7XHJcbiAgfVxyXG4gIHB1YmxpYyBnZXRNYXJrRmlyc3RJdGVtKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMubWFya0ZpcnN0SXRlbTtcclxuICB9XHJcbiAgcHVibGljIGdldFN1Ym1pdHRlZCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLnN1Ym1pdHRlZDtcclxuICB9XHJcbiAgcHVibGljIGdldFNlYXJjaGFibGUoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5zZWFyY2hhYmxlO1xyXG4gIH1cclxuICBwdWJsaWMgZ2V0VmFsaWRhdG9yQWxlcnQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy52YWxpZGF0b3JBbGVydDtcclxuICB9XHJcbiAgcHVibGljIGdldFVwcGVyQ2FzZSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLnVwcGVyQ2FzZTtcclxuICB9XHJcbiAgcHVibGljIGdldEFwcGVuZFRvKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5hcHBlbmRUbztcclxuICB9XHJcbiAgcHVibGljIGdldExvYWRpbmdUZXh0KCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5sb2FkaW5nVGV4dDtcclxuICB9XHJcbiAgcHVibGljIGdldENsZWFyQWxsVGV4dCgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuY2xlYXJBbGxUZXh0O1xyXG4gIH1cclxuICBwdWJsaWMgZ2V0TWFya0ZpcnN0KCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMubWFya0ZpcnN0O1xyXG4gIH1cclxuICBwdWJsaWMgZ2V0Q2xlYXJhYmxlKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuY2xlYXJhYmxlO1xyXG4gIH1cclxuICBwdWJsaWMgZ2V0Q2xlYXJPbkJhY2tzcGFjZSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmNsZWFyT25CYWNrc3BhY2U7XHJcbiAgfVxyXG4gIHB1YmxpYyBnZXRWaXJ0dWFsU2Nyb2xsKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMudmlydHVhbFNjcm9sbDtcclxuICB9XHJcbiAgcHVibGljIGdldE9wZW5PbkVudGVyKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMub3Blbk9uRW50ZXI7XHJcbiAgfVxyXG4gIHB1YmxpYyBnZXROb3RGb3VuZFRleHQoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLm5vdEZvdW5kVGV4dDtcclxuICB9XHJcbn1cclxuXHJcbi8vICAgQElucHV0KCkgdmFsaWRhdG9yTWVzc2FnZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4vLyAgIEBJbnB1dCgpIHRvb2x0aXBNZXNzYWdlOiBib29sZWFuID0gdHJ1ZTtcclxuLy8gICBASW5wdXQoKSBvcGVuV2hlbkZvY3VzOiBib29sZWFuID0gZmFsc2U7XHJcbi8vICAgQElucHV0KCkgc2VhcmNoQnk6IHN0cmluZyA9IFwidmFsdWVcIjtcclxuLy8gICBASW5wdXQoKSBtYXJrRmlyc3RJdGVtOiBib29sZWFuID0gZmFsc2U7XHJcbi8vICAgQElucHV0KCkgc3VibWl0dGVkOiBib29sZWFuID0gdHJ1ZTtcclxuLy8gICBASW5wdXQoKSBzZWFyY2hhYmxlOiBib29sZWFuID0gdHJ1ZTtcclxuLy8gICBASW5wdXQoKSB2YWxpZGF0b3JBbGVydDogYm9vbGVhbiA9IGZhbHNlO1xyXG4vLyAgIEBJbnB1dCgpIHVwcGVyQ2FzZSA9IGZhbHNlO1xyXG4vLyAgIEBJbnB1dCgpIGFwcGVuZFRvOiBhbnkgPSBcImJvZHlcIlxyXG4vLyAgIEBJbnB1dCgpIGxvYWRpbmdUZXh0OiBzdHJpbmcgPSBcIkNhcmdhbmRvLi4uXCI7XHJcbi8vICAgQElucHV0KCkgY2xlYXJBbGxUZXh0OiBzdHJpbmcgPSBcIkxpbXBpYXJcIjtcclxuLy8gICBASW5wdXQoKSBtYXJrRmlyc3Q6IGJvb2xlYW4gPSB0cnVlO1xyXG4vLyAgIEBJbnB1dCgpIGNsZWFyYWJsZTogYm9vbGVhbiA9IHRydWU7XHJcbi8vICAgQElucHV0KCkgY2xlYXJPbkJhY2tzcGFjZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4vLyAgIEBJbnB1dCgpIHZpcnR1YWxTY3JvbGw6IGJvb2xlYW4gPSB0cnVlO1xyXG4vLyAgIEBJbnB1dCgpIG9wZW5PbkVudGVyOiBib29sZWFuID0gZmFsc2U7XHJcbiJdfQ==
138
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctc2VsZWN0LXNpbXBsZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXN1bWF4LWVycC1jb21wb25lbnQvc3JjL2xpYi9uZy1zZWxlY3Qtc2ltcGxlL25nLXNlbGVjdC1zaW1wbGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFHbkQsTUFBTSxPQUFPLHFCQUFxQjtJQUNoQyxZQUN3RCxtQkFBNEIsS0FBSyxFQUNuQyxpQkFBMEIsSUFBSSxFQUM5QixnQkFBeUIsS0FBSyxFQUNwQyxXQUFtQixPQUFPLEVBQ3BCLGdCQUF5QixLQUFLLEVBQ3BDLFlBQXFCLElBQUksRUFDeEIsYUFBc0IsSUFBSSxFQUNyQixpQkFBMEIsS0FBSyxFQUNwQyxZQUFxQixLQUFLLEVBQzNCLFdBQW1CLE1BQU0sRUFDdEIsY0FBc0IsYUFBYSxFQUNqQyxlQUF1QixTQUFTLEVBQ3BDLFlBQXFCLElBQUksRUFDMUIsWUFBcUIsSUFBSSxFQUNoQixtQkFBNEIsS0FBSyxFQUNyQyxnQkFBeUIsSUFBSSxFQUM5QixjQUF1QixLQUFLLEVBQzNCLGVBQXVCLDhCQUE4QjtRQWpCbEQscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFpQjtRQUNuQyxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsa0JBQWEsR0FBYixhQUFhLENBQWlCO1FBQ3BDLGFBQVEsR0FBUixRQUFRLENBQWtCO1FBQ3BCLGtCQUFhLEdBQWIsYUFBYSxDQUFpQjtRQUNwQyxjQUFTLEdBQVQsU0FBUyxDQUFnQjtRQUN4QixlQUFVLEdBQVYsVUFBVSxDQUFnQjtRQUNyQixtQkFBYyxHQUFkLGNBQWMsQ0FBaUI7UUFDcEMsY0FBUyxHQUFULFNBQVMsQ0FBaUI7UUFDM0IsYUFBUSxHQUFSLFFBQVEsQ0FBaUI7UUFDdEIsZ0JBQVcsR0FBWCxXQUFXLENBQXdCO1FBQ2pDLGlCQUFZLEdBQVosWUFBWSxDQUFvQjtRQUNwQyxjQUFTLEdBQVQsU0FBUyxDQUFnQjtRQUMxQixjQUFTLEdBQVQsU0FBUyxDQUFnQjtRQUNoQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWlCO1FBQ3JDLGtCQUFhLEdBQWIsYUFBYSxDQUFnQjtRQUM5QixnQkFBVyxHQUFYLFdBQVcsQ0FBaUI7UUFDM0IsaUJBQVksR0FBWixZQUFZLENBQXlDO0lBQ3ZHLENBQUM7SUFFRyxtQkFBbUI7UUFDeEIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7SUFDL0IsQ0FBQztJQUNNLGlCQUFpQjtRQUN0QixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUM7SUFDN0IsQ0FBQztJQUNNLGdCQUFnQjtRQUNyQixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDNUIsQ0FBQztJQUNNLFdBQVc7UUFDaEIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7SUFDTSxnQkFBZ0I7UUFDckIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzVCLENBQUM7SUFDTSxZQUFZO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBQ00sYUFBYTtRQUNsQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDekIsQ0FBQztJQUNNLGlCQUFpQjtRQUN0QixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUM7SUFDN0IsQ0FBQztJQUNNLFlBQVk7UUFDakIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFDTSxXQUFXO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBQ00sY0FBYztRQUNuQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDMUIsQ0FBQztJQUNNLGVBQWU7UUFDcEIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzNCLENBQUM7SUFDTSxZQUFZO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBQ00sWUFBWTtRQUNqQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUNNLG1CQUFtQjtRQUN4QixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztJQUMvQixDQUFDO0lBQ00sZ0JBQWdCO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUM1QixDQUFDO0lBQ00sY0FBYztRQUNuQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDMUIsQ0FBQztJQUNNLGVBQWU7UUFDcEIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzNCLENBQUM7K0dBM0VVLHFCQUFxQixrQkFFdEIsb0NBQW9DLGFBQ3BDLGtDQUFrQyxhQUNsQyxrQ0FBa0MsYUFDbEMsNEJBQTRCLGFBQzVCLGtDQUFrQyxhQUNsQyw0QkFBNEIsYUFDNUIsNkJBQTZCLGFBQzdCLGtDQUFrQyxhQUNsQyw2QkFBNkIsYUFDN0IsNEJBQTRCLGFBQzVCLCtCQUErQixhQUMvQixpQ0FBaUMsYUFDakMsNkJBQTZCLGFBQzdCLDRCQUE0QixhQUM1QixxQ0FBcUMsYUFDckMsaUNBQWlDLGFBQ2pDLGdDQUFnQyxhQUNoQyxpQ0FBaUM7bUhBbkJoQyxxQkFBcUI7OzRGQUFyQixxQkFBcUI7a0JBRGpDLFVBQVU7OzBCQUdOLE1BQU07MkJBQUMsb0NBQW9DOzswQkFDM0MsTUFBTTsyQkFBQyxrQ0FBa0M7OzBCQUN6QyxNQUFNOzJCQUFDLGtDQUFrQzs7MEJBQ3pDLE1BQU07MkJBQUMsNEJBQTRCOzswQkFDbkMsTUFBTTsyQkFBQyxrQ0FBa0M7OzBCQUN6QyxNQUFNOzJCQUFDLDRCQUE0Qjs7MEJBQ25DLE1BQU07MkJBQUMsNkJBQTZCOzswQkFDcEMsTUFBTTsyQkFBQyxrQ0FBa0M7OzBCQUN6QyxNQUFNOzJCQUFDLDZCQUE2Qjs7MEJBQ3BDLE1BQU07MkJBQUMsNEJBQTRCOzswQkFDbkMsTUFBTTsyQkFBQywrQkFBK0I7OzBCQUN0QyxNQUFNOzJCQUFDLGlDQUFpQzs7MEJBQ3hDLE1BQU07MkJBQUMsNkJBQTZCOzswQkFDcEMsTUFBTTsyQkFBQyw0QkFBNEI7OzBCQUNuQyxNQUFNOzJCQUFDLHFDQUFxQzs7MEJBQzVDLE1BQU07MkJBQUMsaUNBQWlDOzswQkFDeEMsTUFBTTsyQkFBQyxnQ0FBZ0M7OzBCQUN2QyxNQUFNOzJCQUFDLGlDQUFpQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBOZ1NlbGVjdFNpbXBsZVNlcnZpY2Uge1xuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KFwiTkdfU0VMRUNUX1NJTVBMRV9WQUxJREFUT1JfTUVTU0FHRVwiKSBwcml2YXRlIHZhbGlkYXRvck1lc3NhZ2U6IGJvb2xlYW4gPSBmYWxzZSxcbiAgICBASW5qZWN0KFwiTkdfU0VMRUNUX1NJTVBMRV9UT09MVElQX01FU1NBR0VcIikgcHJpdmF0ZSB0b29sdGlwTWVzc2FnZTogYm9vbGVhbiA9IHRydWUsXG4gICAgQEluamVjdChcIk5HX1NFTEVDVF9TSU1QTEVfT1BFTl9XSEVOX0ZPQ1VTXCIpIHByaXZhdGUgb3BlbldoZW5Gb2N1czogYm9vbGVhbiA9IGZhbHNlLFxuICAgIEBJbmplY3QoXCJOR19TRUxFQ1RfU0lNUExFX1NFQVJDSF9CWVwiKSBwcml2YXRlIHNlYXJjaEJ5OiBzdHJpbmcgPSBcInZhbHVlXCIsXG4gICAgQEluamVjdChcIk5HX1NFTEVDVF9TSU1QTEVfTUFSS19GSVJTVF9JVEVNXCIpIHByaXZhdGUgbWFya0ZpcnN0SXRlbTogYm9vbGVhbiA9IGZhbHNlLFxuICAgIEBJbmplY3QoXCJOR19TRUxFQ1RfU0lNUExFX1NVQk1JVFRFRFwiKSBwcml2YXRlIHN1Ym1pdHRlZDogYm9vbGVhbiA9IHRydWUsXG4gICAgQEluamVjdChcIk5HX1NFTEVDVF9TSU1QTEVfU0VBUkNIQUJMRVwiKSBwcml2YXRlIHNlYXJjaGFibGU6IGJvb2xlYW4gPSB0cnVlLFxuICAgIEBJbmplY3QoXCJOR19TRUxFQ1RfU0lNUExFX1ZBTElEQVRPUl9BTEVSVFwiKSBwcml2YXRlIHZhbGlkYXRvckFsZXJ0OiBib29sZWFuID0gZmFsc2UsXG4gICAgQEluamVjdChcIk5HX1NFTEVDVF9TSU1QTEVfVVBQRVJfQ0FTRVwiKSBwcml2YXRlIHVwcGVyQ2FzZTogYm9vbGVhbiA9IGZhbHNlLFxuICAgIEBJbmplY3QoXCJOR19TRUxFQ1RfU0lNUExFX0FQUEVORF9UT1wiKSBwcml2YXRlIGFwcGVuZFRvOiBzdHJpbmcgPSBcImJvZHlcIixcbiAgICBASW5qZWN0KFwiTkdfU0VMRUNUX1NJTVBMRV9MT0FESU5HX1RFWFRcIikgcHJpdmF0ZSBsb2FkaW5nVGV4dDogc3RyaW5nID0gXCJDYXJnYW5kby4uLlwiLFxuICAgIEBJbmplY3QoXCJOR19TRUxFQ1RfU0lNUExFX0NMRUFSX0FMTF9URVhUXCIpIHByaXZhdGUgY2xlYXJBbGxUZXh0OiBzdHJpbmcgPSBcIkxpbXBpYXJcIixcbiAgICBASW5qZWN0KFwiTkdfU0VMRUNUX1NJTVBMRV9NQVJLX0ZJUlNUXCIpIHByaXZhdGUgbWFya0ZpcnN0OiBib29sZWFuID0gdHJ1ZSxcbiAgICBASW5qZWN0KFwiTkdfU0VMRUNUX1NJTVBMRV9DTEVBUkFCTEVcIikgcHJpdmF0ZSBjbGVhcmFibGU6IGJvb2xlYW4gPSB0cnVlLFxuICAgIEBJbmplY3QoXCJOR19TRUxFQ1RfU0lNUExFX0NMRUFSX09OX0JBQ0tTUEFDRVwiKSBwcml2YXRlIGNsZWFyT25CYWNrc3BhY2U6IGJvb2xlYW4gPSBmYWxzZSxcbiAgICBASW5qZWN0KFwiTkdfU0VMRUNUX1NJTVBMRV9WSVJUVUFMX1NDUk9MTFwiKSBwcml2YXRlIHZpcnR1YWxTY3JvbGw6IGJvb2xlYW4gPSB0cnVlLFxuICAgIEBJbmplY3QoXCJOR19TRUxFQ1RfU0lNUExFX09QRU5fT05fRU5URVJcIikgcHJpdmF0ZSBvcGVuT25FbnRlcjogYm9vbGVhbiA9IGZhbHNlLFxuICAgIEBJbmplY3QoXCJOR19TRUxFQ1RfU0lNUExFX05PVF9GT1VORF9URVhUXCIpIHByaXZhdGUgbm90Rm91bmRUZXh0OiBzdHJpbmcgPSBcIk5vIHNlIGVuY29udHJhcm9uIHJlc3VsdGFkb3NcIlxuICApIHt9XG5cbiAgcHVibGljIGdldFZhbGlkYXRvck1lc3NhZ2UoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudmFsaWRhdG9yTWVzc2FnZTtcbiAgfVxuICBwdWJsaWMgZ2V0VG9vbHRpcE1lc3NhZ2UoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudG9vbHRpcE1lc3NhZ2U7XG4gIH1cbiAgcHVibGljIGdldE9wZW5XaGVuRm9jdXMoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMub3BlbldoZW5Gb2N1cztcbiAgfVxuICBwdWJsaWMgZ2V0U2VhcmNoQnkoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5zZWFyY2hCeTtcbiAgfVxuICBwdWJsaWMgZ2V0TWFya0ZpcnN0SXRlbSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5tYXJrRmlyc3RJdGVtO1xuICB9XG4gIHB1YmxpYyBnZXRTdWJtaXR0ZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuc3VibWl0dGVkO1xuICB9XG4gIHB1YmxpYyBnZXRTZWFyY2hhYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnNlYXJjaGFibGU7XG4gIH1cbiAgcHVibGljIGdldFZhbGlkYXRvckFsZXJ0KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnZhbGlkYXRvckFsZXJ0O1xuICB9XG4gIHB1YmxpYyBnZXRVcHBlckNhc2UoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudXBwZXJDYXNlO1xuICB9XG4gIHB1YmxpYyBnZXRBcHBlbmRUbygpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmFwcGVuZFRvO1xuICB9XG4gIHB1YmxpYyBnZXRMb2FkaW5nVGV4dCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmxvYWRpbmdUZXh0O1xuICB9XG4gIHB1YmxpYyBnZXRDbGVhckFsbFRleHQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5jbGVhckFsbFRleHQ7XG4gIH1cbiAgcHVibGljIGdldE1hcmtGaXJzdCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5tYXJrRmlyc3Q7XG4gIH1cbiAgcHVibGljIGdldENsZWFyYWJsZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5jbGVhcmFibGU7XG4gIH1cbiAgcHVibGljIGdldENsZWFyT25CYWNrc3BhY2UoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuY2xlYXJPbkJhY2tzcGFjZTtcbiAgfVxuICBwdWJsaWMgZ2V0VmlydHVhbFNjcm9sbCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy52aXJ0dWFsU2Nyb2xsO1xuICB9XG4gIHB1YmxpYyBnZXRPcGVuT25FbnRlcigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5vcGVuT25FbnRlcjtcbiAgfVxuICBwdWJsaWMgZ2V0Tm90Rm91bmRUZXh0KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMubm90Rm91bmRUZXh0O1xuICB9XG59XG5cbi8vICAgQElucHV0KCkgdmFsaWRhdG9yTWVzc2FnZTogYm9vbGVhbiA9IGZhbHNlO1xuLy8gICBASW5wdXQoKSB0b29sdGlwTWVzc2FnZTogYm9vbGVhbiA9IHRydWU7XG4vLyAgIEBJbnB1dCgpIG9wZW5XaGVuRm9jdXM6IGJvb2xlYW4gPSBmYWxzZTtcbi8vICAgQElucHV0KCkgc2VhcmNoQnk6IHN0cmluZyA9IFwidmFsdWVcIjtcbi8vICAgQElucHV0KCkgbWFya0ZpcnN0SXRlbTogYm9vbGVhbiA9IGZhbHNlO1xuLy8gICBASW5wdXQoKSBzdWJtaXR0ZWQ6IGJvb2xlYW4gPSB0cnVlO1xuLy8gICBASW5wdXQoKSBzZWFyY2hhYmxlOiBib29sZWFuID0gdHJ1ZTtcbi8vICAgQElucHV0KCkgdmFsaWRhdG9yQWxlcnQ6IGJvb2xlYW4gPSBmYWxzZTtcbi8vICAgQElucHV0KCkgdXBwZXJDYXNlID0gZmFsc2U7XG4vLyAgIEBJbnB1dCgpIGFwcGVuZFRvOiBhbnkgPSBcImJvZHlcIlxuLy8gICBASW5wdXQoKSBsb2FkaW5nVGV4dDogc3RyaW5nID0gXCJDYXJnYW5kby4uLlwiO1xuLy8gICBASW5wdXQoKSBjbGVhckFsbFRleHQ6IHN0cmluZyA9IFwiTGltcGlhclwiO1xuLy8gICBASW5wdXQoKSBtYXJrRmlyc3Q6IGJvb2xlYW4gPSB0cnVlO1xuLy8gICBASW5wdXQoKSBjbGVhcmFibGU6IGJvb2xlYW4gPSB0cnVlO1xuLy8gICBASW5wdXQoKSBjbGVhck9uQmFja3NwYWNlOiBib29sZWFuID0gZmFsc2U7XG4vLyAgIEBJbnB1dCgpIHZpcnR1YWxTY3JvbGw6IGJvb2xlYW4gPSB0cnVlO1xuLy8gICBASW5wdXQoKSBvcGVuT25FbnRlcjogYm9vbGVhbiA9IGZhbHNlO1xuIl19