@progress-chef/platform-shared-components 0.0.129 → 0.0.130

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.
@@ -6,17 +6,18 @@ import { LoaderSize, LoaderThemeColor, LoaderType } from '../../atoms/loader/loa
6
6
  import { GridComponent } from '@progress/kendo-angular-grid';
7
7
  import { chevronDownIcon, chevronUpIcon, moreVerticalIcon } from '@progress/kendo-svg-icons';
8
8
  import * as i0 from "@angular/core";
9
- import * as i1 from "@angular/common";
10
- import * as i2 from "@progress/kendo-angular-buttons";
11
- import * as i3 from "../../atoms/icon/icon.component";
12
- import * as i4 from "@progress/kendo-angular-inputs";
13
- import * as i5 from "@progress/kendo-angular-grid";
14
- import * as i6 from "../../atoms/tooltip/tooltip.component";
15
- import * as i7 from "../../atoms/typography/typography.component";
16
- import * as i8 from "../../atoms/loader/loader.component";
17
- import * as i9 from "../../atoms/button/button.component";
18
- import * as i10 from "./grid-pagination-spacer/grid-pagination-spacer.component";
19
- import * as i11 from "./kebab-menu-filter.pipe";
9
+ import * as i1 from "@angular/platform-browser";
10
+ import * as i2 from "@angular/common";
11
+ import * as i3 from "@progress/kendo-angular-buttons";
12
+ import * as i4 from "../../atoms/icon/icon.component";
13
+ import * as i5 from "@progress/kendo-angular-inputs";
14
+ import * as i6 from "@progress/kendo-angular-grid";
15
+ import * as i7 from "../../atoms/tooltip/tooltip.component";
16
+ import * as i8 from "../../atoms/typography/typography.component";
17
+ import * as i9 from "../../atoms/loader/loader.component";
18
+ import * as i10 from "../../atoms/button/button.component";
19
+ import * as i11 from "./grid-pagination-spacer/grid-pagination-spacer.component";
20
+ import * as i12 from "./kebab-menu-filter.pipe";
20
21
  export class CustomColumnTemplate {
21
22
  constructor(template) {
22
23
  this.template = template;
@@ -51,8 +52,9 @@ export class GridPaginationComponent {
51
52
  set pageCount(value) {
52
53
  this._pageCount = value > 10 ? 10 : value;
53
54
  }
54
- constructor(cdRef, renderer) {
55
+ constructor(cdRef, sanitizer, renderer) {
55
56
  this.cdRef = cdRef;
57
+ this.sanitizer = sanitizer;
56
58
  this.renderer = renderer;
57
59
  this.skip = 0;
58
60
  this.itemName = 'Items';
@@ -140,6 +142,8 @@ export class GridPaginationComponent {
140
142
  this.isDeleteColumnSticky = false;
141
143
  this.emitRefreshEvt = new EventEmitter();
142
144
  this.isSelectAllCheckboxRequired = true;
145
+ this.kebabAIIcon = "data:image/png;base64,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";
146
+ this.kebabIconSafeUrl = this.sanitizer.bypassSecurityTrustResourceUrl(this.kebabAIIcon);
143
147
  this.columnTemplateDict = {};
144
148
  /*
145
149
  * This logic of dynamically calculating the height of grid need further brainstorming hence commented for now.
@@ -461,13 +465,13 @@ export class GridPaginationComponent {
461
465
  // Dispatch on document to make it globally available
462
466
  document.dispatchEvent(customEvent);
463
467
  }
464
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: GridPaginationComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
465
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: GridPaginationComponent, selector: "lib-grid-pagination", inputs: { skip: "skip", itemName: "itemName", showSelectAllMessage: "showSelectAllMessage", columnData: "columnData", pageSize: "pageSize", pageable: "pageable", sortable: "sortable", groupable: "groupable", reorderable: "reorderable", resizable: "resizable", checkBoxWidth: "checkBoxWidth", checkBoxColumnResizable: "checkBoxColumnResizable", checkBoxColumnMenu: "checkBoxColumnMenu", checkBoxColumnShowSelectedAll: "checkBoxColumnShowSelectedAll", checkBoxRequired: "checkBoxRequired", columnMenu: "columnMenu", mode: "mode", checkboxOnly: "checkboxOnly", dragColumns: "dragColumns", navigable: "navigable", gridHeight: "gridHeight", gridRowSelectByValue: "gridRowSelectByValue", noRecordsContent: "noRecordsContent", showToolbar: "showToolbar", kebabList: "kebabList", showKebab: "showKebab", icon: "icon", kebabColumnWidth: "kebabColumnWidth", selectColumn: "selectColumn", preSelected: "preSelected", gridView: "gridView", ignoreColumnCellClick: "ignoreColumnCellClick", allowColumnClick: "allowColumnClick", sort: "sort", hasApiSorting: "hasApiSorting", expandRowIndex: "expandRowIndex", customExpandRowColumn: "customExpandRowColumn", deleteColumnWidth: "deleteColumnWidth", sizes: "sizes", pageCount: "pageCount", showDeleteColumn: "showDeleteColumn", hideKebabRowIndex: "hideKebabRowIndex", loading: "loading", loaderType: "loaderType", loaderSize: "loaderSize", loaderTheme: "loaderTheme", disablePreSelectedRows: "disablePreSelectedRows", allowEditingCell: "allowEditingCell", columnContentNoWrap: "columnContentNoWrap", infiniteScrollLoader: "infiniteScrollLoader", isInfiniteScrollGrid: "isInfiniteScrollGrid", gridLoading: "gridLoading", minResizableWidth: "minResizableWidth", showRefresh: "showRefresh", isKebabColumnSticky: "isKebabColumnSticky", isCheckBoxColumnSticky: "isCheckBoxColumnSticky", isDeleteColumnSticky: "isDeleteColumnSticky", isSelectAllCheckboxRequired: "isSelectAllCheckboxRequired" }, outputs: { onSelectAllAcrossPages: "onSelectAllAcrossPages", selectedRowData: "selectedRowData", rowDetails: "rowDetails", kebabItemClick: "kebabItemClick", rowDataOfClickedCell: "rowDataOfClickedCell", onPageChange: "onPageChange", sortDirection: "sortDirection", deletedRowData: "deletedRowData", updatedData: "updatedData", onscrollBottom: "onscrollBottom", emitRefreshEvt: "emitRefreshEvt" }, queries: [{ propertyName: "templateRef", first: true, predicate: ["multiColumnData"], descendants: true }, { propertyName: "detailTemplate", first: true, predicate: ["detailTemplate"], descendants: true }, { propertyName: "impactColumn", first: true, predicate: ["impactColumn"], descendants: true }, { propertyName: "columnTemplates", predicate: CustomColumnTemplate }], viewQueries: [{ propertyName: "grid", first: true, predicate: GridComponent, descendants: true }, { propertyName: "gridElement", first: true, predicate: ["gridElement"], descendants: true }, { propertyName: "selectAllCheckbox", first: true, predicate: ["selectAllCheckbox"], descendants: true }, { propertyName: "selectAllMessageElement", first: true, predicate: ["selectAllMessageElement"], descendants: true }], ngImport: i0, template: "<div #gridElement [ngClass]=\"columnContentNoWrap ? 'column-content-nowrap' : ''\">\n <kendo-grid [data]=\"_gridView\" [pageSize]=\"pageSize\" [skip]=\"skip\" [selectable]=\"selectableSettings\"\n [pageable]=\"pageable\" [sortable]=\"sortable\" [loading]=\"gridLoading\" [groupable]=\"groupable\"\n [reorderable]=\"reorderable\" [resizable]=\"resizable\" [columnMenu]=\"columnMenu\" [navigable]=\"navigable\"\n [height]=\"gridHeight\" (change)=\"setSelectableSettings()\" (selectedKeysChange)=\"selectedKeysChange($event)\"\n [kendoGridSelectBy]=\"gridRowSelectByValue\" (detailExpand)=\"onDetailExpand($event)\" [selectedKeys]=\"_preSelected\"\n (pageChange)=\"pageChange($event)\" (cellClick)=\"cellClickHandler($event)\" (cellClose)=\"cellCloseHandler($event)\"\n [sort]=\"sort\" (sortChange)=\"sortChange($event)\" (scrollBottom)=\"scrollBottom()\" [ngClass]=\"getHeaderHeight()\"\n id=\"lib-grid\" [rowClass]=\"rowClass\">\n <div #selectAllMessageElement>\n <div class=\"lib-grid-select-all-message-container\"\n *ngIf=\"((selectedItemCount < _gridView.total) || allPagesSelected)\">\n <div *ngIf=\"(selectedItemCount < _gridView.total)\" class=\"lib-grid-select-all-message\">\n <lib-typography [defaultText]=\"'All '+selectedItemCount+' '+itemName+' on this page are selected.'\"\n type=\"BODY_SMALL\"></lib-typography>\n <u><lib-typography (click)=\"selectAcrossPages(true)\" class=\"select-all-handler\"\n [defaultText]=\"'Select all '+_gridView.total+' '+itemName+' from all pages'\"\n type=\"BODY_SMALL\"></lib-typography></u>\n </div>\n <div *ngIf=\"allPagesSelected\" class=\"lib-grid-select-all-message\">\n <lib-icon name=\"circle-checked\" class=\"all-selected-icon\"></lib-icon>\n <lib-typography [defaultText]=\"'All '+_gridView.total+' '+itemName+' across all pages are selected.'\"\n type=\"BODY_SMALL\"></lib-typography>\n <u><lib-typography (click)=\"selectAcrossPages(false)\" class=\"select-all-handler\"\n [defaultText]=\"'Clear selection'\" type=\"BODY_SMALL\"></lib-typography></u>\n </div>\n </div>\n </div>\n <ng-template kendoGridToolbarTemplate [position]=\"getPosition()\" let-position=\"position\">\n <ng-container *ngIf=\"showToolbar && position === 'top'\">\n <ng-content></ng-content>\n <ng-container *ngIf=\"showRefresh\">\n <ng-container *ngTemplateOutlet=\"showRefreshTemplate\"></ng-container>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"infiniteScrollLoader && position === 'bottom'\">\n <lib-grid-pagination-spacer></lib-grid-pagination-spacer>\n <lib-loader [type]=\"loaderType\" [size]=\"loaderSize\" [themeColor]=\"loaderTheme\"></lib-loader>\n <lib-grid-pagination-spacer></lib-grid-pagination-spacer>\n </ng-container>\n </ng-template>\n\n <ng-template #showRefreshTemplate>\n <lib-tooltip position=\"top\" showOn=\"hover\" [tooltipWidth]=\"68\" [callout]=\"true\">\n <div class=\"tooltip-content\">\n <lib-typography defaultText=\"Refresh\"></lib-typography>\n </div>\n <lib-button size=\"small\" width=\"2.4rem\" rounded=\"small\" fillMode=\"solid\" themeColor=\"primary\" iconName=\"reset\"\n [toggleable]=\"false\" (buttonClick)=\"refreshGridData()\" [iconButton]=\"true\" [iconFontSize]=\"13\"></lib-button>\n </lib-tooltip>\n </ng-template>\n\n <ng-template kendoGridLoadingTemplate>\n <div class=\"k-loading-color\"></div>\n <div class=\"loading-container\">\n <lib-loader [type]=\"loaderType\" [size]=\"loaderSize\" [themeColor]=\"loaderTheme\"></lib-loader>\n </div>\n </ng-template>\n\n <ng-template *ngIf=\"this._gridView.total === 0\" kendoGridNoRecordsTemplate>\n <lib-typography *ngIf=\"!loading\" [defaultText]=\"noRecordsContent\" type=\"BODY_MEDIUM\"></lib-typography>\n <lib-loader *ngIf=\"loading\" [type]=\"loaderType\" [size]=\"loaderSize\" [themeColor]=\"loaderTheme\"></lib-loader>\n </ng-template>\n <ng-container *ngIf=\"this._gridView.total > 0\">\n <kendo-grid-checkbox-column #selectAllCheckbox headerClass=\"select-all-header\" *ngIf=\"checkBoxRequired\"\n [width]=\"checkBoxWidth\" [resizable]=\"checkBoxColumnResizable\" [columnMenu]=\"checkBoxColumnMenu\"\n class=\"checkbox-column\" [sticky]=\"isCheckBoxColumnSticky && !customExpandRowColumn\">\n <ng-template kendoGridHeaderTemplate *ngIf=\"isSelectAllCheckboxRequired\">\n <input id=\"selectAllCheckboxId\" type=\"checkbox\" kendoCheckBox kendoGridSelectAllCheckbox\n [state]=\"selectAllState\" (selectAllChange)=\"onSelectAllChange($event)\" />\n </ng-template>\n </kendo-grid-checkbox-column>\n\n <kendo-grid-column class=\"grid-column\" *ngFor=\"let item of columnData; let i = index\" [field]=\"item.field\"\n [title]=\"item.title\" [width]=\"item.columnWidth\" [minResizableWidth]=\"minResizableWidth\"\n [sortable]=\"item.sortable\" [editor]=\"item.editor\" [class]=\"item.class\"\n [sticky]=\"item.columnSticky && !customExpandRowColumn\">\n\n <ng-template *ngIf=\"sortable\" kendoGridHeaderTemplate>\n {{item.title}}\n <span *ngIf=\"sort[0].field === item.field\">\n <span *ngIf=\"sort[0].dir === 'asc'\"></span>\n <span *ngIf=\"sort[0].dir === 'desc'\"></span>\n </span>\n </ng-template>\n\n <ng-template *ngIf=\"i === 0\" kendoGridCellTemplate let-dataItem>\n <div class=\"first-custom-column\">\n <lib-typography type=\"BODY_MEDIUM\">{{dataItem?.[item.field]}}</lib-typography>\n <lib-button class=\"chefy\" size=\"small\" rounded=\"full\" (buttonClick)=\"onChefyClick($event, dataItem)\" fillMode=\"solid\"\n themeColor=\"primary\" label=\"Chefy\" />\n </div>\n </ng-template>\n\n <ng-template *ngIf=\"item.customColumn\" kendoGridCellTemplate let-dataItem>\n <ng-container [ngTemplateOutlet]=\"columnTemplateDict[item.type]\"\n [ngTemplateOutletContext]=\"{$implicit: dataItem}\"></ng-container>\n </ng-template>\n\n <ng-template *ngIf=\"item.custom\" kendoGridCellTemplate let-dataItem>\n <ng-container *ngTemplateOutlet=\"templateRef; context: {$implicit: dataItem}\"></ng-container>\n </ng-template>\n <ng-template *ngIf=\"item.impact\" kendoGridCellTemplate let-dataItem>\n <ng-container *ngTemplateOutlet=\"impactColumn; context: {$implicit: dataItem}\"></ng-container>\n </ng-template>\n </kendo-grid-column>\n\n <kendo-grid-column *ngIf=\"showDeleteColumn\" [width]=\"deleteColumnWidth\" class=\"delete-column\" title=\"Action\"\n [sticky]=\"isDeleteColumnSticky && !customExpandRowColumn\">\n <ng-template kendoGridCellTemplate let-dataItem let-rowIndex=\"rowIndex\">\n <lib-tooltip showOn=\"hover\" position=\"bottom\" class=\"remove-tooltip\">\n <lib-icon name=\"delete\" class=\"delete-icon\" (click)=\"onDelete(dataItem)\"></lib-icon>\n <div class=\"tooltip-content\">\n <lib-typography defaultText=\"Remove\"></lib-typography>\n </div>\n </lib-tooltip>\n </ng-template>\n </kendo-grid-column>\n\n <kendo-grid-column [width]=\"kebabColumnWidth\" class=\"kebab-column\" *ngIf=\"showKebab\" title=\"Actions\"\n [sticky]=\"isKebabColumnSticky && !customExpandRowColumn\">\n <ng-template kendoGridCellTemplate let-dataItem let-rowIndex=\"rowIndex\">\n <kendo-dropdownbutton *ngIf=\"!hideKebabRowIndex.includes(rowIndex)\" [svgIcon]=\"icon\" fillMode=\"none\"\n [data]=\"kebabList | kebabMenuFilter : dataItem\" class=\"kebab\" (itemClick)=\"onKebabClick($event, dataItem)\"\n [popupSettings]=\"{ align: 'right', animate: true, popupClass: 'kebab-list' }\">\n </kendo-dropdownbutton>\n </ng-template>\n </kendo-grid-column>\n </ng-container>\n\n <!-- Limitation: detail template and sticky columns do not co-exist-->\n <ng-template *ngIf=\"customExpandRowColumn\" kendoGridDetailTemplate let-dataItem>\n <ng-container *ngTemplateOutlet=\"detailTemplate; context: {$implicit: dataItem}\"></ng-container>\n </ng-template>\n\n <kendo-grid-column *ngIf=\"customExpandRowColumn\" [width]=\"expandRowColumnWidth\" class=\"grid-column expand-column\">\n <ng-template kendoGridCellTemplate let-dataItem let-rowIndex=\"rowIndex\">\n <div [ngClass]=\"expandColumnClass()\">\n <span *ngIf=\"selectedRows.includes(dataItem[gridRowSelectByValue]) && disablePreSelectedRows\"\n class=\"expand-column-text\">\n Already added\n </span>\n <kendo-button *ngIf=\"!expandRowIndex.includes(rowIndex)\" [svgIcon]=\"arrowDownIcon\"\n (click)=\"expandRow(rowIndex)\" fillMode=\"none\" class=\"arrow-btn\">\n </kendo-button>\n <kendo-button *ngIf=\"expandRowIndex.includes(rowIndex)\" [svgIcon]=\"arrowUpIcon\"\n (click)=\"collapseRow(rowIndex)\" fillMode=\"none\" class=\"arrow-btn\">\n </kendo-button>\n </div>\n </ng-template>\n </kendo-grid-column>\n\n <ng-template kendoPagerTemplate let-totalPages=\"totalPages\" let-currentPage=\"currentPage\">\n <div class=\"pagination-wrapper\" [ngClass]=\"allPagesSelected ? 'pagination-disabled' : ''\">\n <kendo-pager-prev-buttons></kendo-pager-prev-buttons>\n <kendo-pager-numeric-buttons [buttonCount]=\"_pageCount\"></kendo-pager-numeric-buttons>\n <kendo-pager-next-buttons></kendo-pager-next-buttons>\n <kendo-pager-info></kendo-pager-info>\n <kendo-pager-page-sizes [pageSizes]=\"sizes\"></kendo-pager-page-sizes>\n </div>\n </ng-template>\n\n </kendo-grid>\n</div>\n", styles: [".loading-container{height:100%;display:flex;justify-content:center;align-items:center}::ng-deep .k-grid tr{height:50px}::ng-deep .pagination-wrapper{display:flex;width:100%}::ng-deep .pagination-disabled{color:#6c6f72!important;pointer-events:none}::ng-deep .lib-grid-select-all-message-container{height:2rem;display:none;gap:.25rem;justify-content:center;align-items:center;background-color:#eceff5!important;font-family:Inter,sans-serif!important;font-weight:400!important;font-style:normal;font-size:12px!important;line-height:16px!important;letter-spacing:.25px!important}::ng-deep .lib-grid-select-all-message-container .select-all-handler{cursor:pointer}::ng-deep .lib-grid-select-all-message-container .lib-grid-select-all-message{display:flex;gap:.25rem}::ng-deep .lib-grid-select-all-message-container .lib-grid-select-all-message .all-selected-icon{color:#198038}::ng-deep .disabled{cursor:none!important;pointer-events:none;opacity:.5}::ng-deep .lib-grid-select-all-message-show{display:flex!important}::ng-deep .k-grid .k-table-th,::ng-deep .k-grid .k-table-th.k-sorted{font-family:Inter,sans-serif!important;font-weight:600!important;font-style:normal!important;font-size:12px!important;line-height:16px!important;letter-spacing:.25px!important;background-color:#dee6f7!important;border-bottom-color:#ebecec!important;border-bottom-style:solid!important;border-bottom-width:2px!important;border-right:0px!important;border-left:0px!important;cursor:default!important}::ng-deep .k-grid .k-table-th .k-cell-inner,::ng-deep .k-grid .k-table-th.k-sorted .k-cell-inner{padding-right:.5rem;border-right:2px solid #C2D2F3!important}::ng-deep .k-grid .k-table-th .k-cell-inner .k-link,::ng-deep .k-grid .k-table-th.k-sorted .k-cell-inner .k-link{cursor:default!important}::ng-deep .k-grid .k-table-th:focus,::ng-deep .k-grid .k-table-th.k-sorted:focus{box-shadow:none!important}::ng-deep .k-grid .k-table-th.k-sorted{font-family:Inter,sans-serif!important;font-weight:600!important;font-style:normal!important;font-size:12px!important;line-height:16px!important;letter-spacing:.25px!important;background-color:#dee6f7!important}::ng-deep .k-grid tbody>tr:not(.k-detail-row):hover{background-color:#d0dcf5!important}::ng-deep .k-grid .k-table-row.k-selected>.k-table-td{background-color:#c9d7f4!important}::ng-deep .k-grid .k-table-row.k-disabled>.k-table-td{background-color:#fff!important}::ng-deep .k-grid .k-table-td{border-bottom-color:#ebecec!important;border-bottom-style:solid!important;border-bottom-width:1px!important;border-right:0px!important;border-left:0px!important}::ng-deep .k-grid td,::ng-deep .k-grid .k-table-td{white-space:nowrap!important}::ng-deep .k-table-alt-row{background-color:inherit!important}::ng-deep .k-grid .k-table-td{font-family:Inter,sans-serif!important;font-weight:400!important;font-style:normal;font-size:12px!important;line-height:16px!important;letter-spacing:.25px!important}::ng-deep .k-grid-norecords{text-align:center!important;opacity:.4}::ng-deep .k-grid-norecords td{padding:14px 0 14px 24px!important}::ng-deep kendo-pager.k-pager-wrap.k-grid-pager{font-family:Inter,sans-serif!important;font-weight:400!important;font-style:normal!important;font-size:14px!important;line-height:20px!important;letter-spacing:.25px!important}::ng-deep .k-pager{border-style:none!important}::ng-deep .k-input-value-text{overflow:unset!important}::ng-deep .k-grid th.k-header{vertical-align:middle!important;padding-left:16px;padding-right:.5rem}::ng-deep .grid-column,::ng-deep .kebab-column,::ng-deep .delete-column{padding:0!important}::ng-deep .grid-column kendo-button,::ng-deep .kebab-column kendo-button,::ng-deep .delete-column kendo-button{align-items:center!important;justify-content:center!important;display:flex!important}::ng-deep .k-checkbox{width:20px!important;height:20px!important;border-radius:0!important}::ng-deep .k-grid .k-hierarchy-cell,::ng-deep .k-grid .k-hierarchy-col{width:0;display:none}::ng-deep .k-grid .k-detail-row .k-detail-cell{background-color:#f4f8fa!important;padding:16px!important}::ng-deep .delete-icon{color:#dc267f!important;padding-left:12px;cursor:pointer}::ng-deep .remove-tooltip kendo-tooltip.k-tooltip{background-color:#fff;color:#000}::ng-deep .hide-header .k-grid-header{border:0px!important}::ng-deep .k-grouping-header{background-color:#eceff5!important}::ng-deep .k-grid-toolbar{padding:4px 16px!important;height:54px;background-color:#eceff5!important}::ng-deep .k-grid td:not(.kebab-column):not(.expand-column){padding-left:16px!important;padding-right:16px!important}::ng-deep .view-header .k-table-thead tr{height:50px}::ng-deep .hide-header .k-table-thead tr{height:0px;padding:0;display:block}::ng-deep td.kebab-column{display:flex;justify-content:center;align-items:center;height:inherit}::ng-deep .k-grid .k-table-td>.k-checkbox{vertical-align:middle!important}::ng-deep .kebab .k-button,::ng-deep .expand-column .k-button{border:0px}::ng-deep .expand-column{pointer-events:all!important}::ng-deep .expand-column-text{margin-right:32px}::ng-deep .expand-row{display:flex;align-items:center;justify-content:flex-end}::ng-deep .column-cursor-pointer{cursor:pointer}::ng-deep .column-content-nowrap .k-grid .k-table-th,::ng-deep .column-content-nowrap .k-grid td,::ng-deep .column-content-nowrap .k-grid .k-table-td{white-space:nowrap;text-overflow:clip}::ng-deep kendo-grid.k-grid .k-table-alt-row .k-grid-content-sticky,::ng-deep kendo-grid.k-grid .k-grid-row-sticky.k-table-alt-row td,::ng-deep kendo-grid.k-grid .k-grid-row-sticky.k-table-alt-row .k-table-td,::ng-deep .k-master-row.k-table-alt-row .k-grid-content-sticky,::ng-deep .k-master-row.k-table-alt-row .k-grid-row-sticky{background-color:#fff}::ng-deep kendo-grid.k-grid .k-grid-content-sticky:hover,::ng-deep kendo-grid.k-grid .k-grid-content-sticky.k-hover,::ng-deep kendo-grid.k-grid .k-table-row:hover .k-grid-content-sticky{background-color:#d0dcf5!important}::ng-deep .first-custom-column{position:relative}::ng-deep .first-custom-column .chefy{display:none;position:absolute;right:0;opacity:0;transition:opacity .2s ease}::ng-deep .first-custom-column .chefy .btn-padding{padding:.125rem .25rem}::ng-deep .k-grid tbody>tr:not(.k-detail-row):hover .first-custom-column .chefy{display:inline-block;opacity:1}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.ButtonComponent, selector: "button[kendoButton], span[kendoButton], kendo-button", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }, { kind: "component", type: i2.DropDownButtonComponent, selector: "kendo-dropdownbutton", inputs: ["arrowIcon", "icon", "svgIcon", "iconClass", "imageUrl", "textField", "data", "size", "rounded", "fillMode", "themeColor", "buttonAttributes"], outputs: ["itemClick", "focus", "blur"], exportAs: ["kendoDropDownButton"] }, { kind: "component", type: i3.IconComponent, selector: "lib-icon", inputs: ["name", "projectedIcon", "fontSize", "type"] }, { kind: "directive", type: i4.CheckBoxDirective, selector: "input[kendoCheckBox]", inputs: ["size", "rounded"] }, { kind: "component", type: i5.GridComponent, selector: "kendo-grid", inputs: ["data", "pageSize", "height", "rowHeight", "detailRowHeight", "skip", "scrollable", "selectable", "sort", "size", "trackBy", "filter", "group", "virtualColumns", "filterable", "sortable", "pageable", "groupable", "rowReorderable", "navigable", "navigatable", "autoSize", "rowClass", "rowSticky", "rowSelected", "cellSelected", "resizable", "reorderable", "loading", "columnMenu", "hideHeader", "isDetailExpanded", "isGroupExpanded"], outputs: ["filterChange", "pageChange", "groupChange", "sortChange", "selectionChange", "rowReorder", "dataStateChange", "groupExpand", "groupCollapse", "detailExpand", "detailCollapse", "edit", "cancel", "save", "remove", "add", "cellClose", "cellClick", "pdfExport", "excelExport", "columnResize", "columnReorder", "columnVisibilityChange", "columnLockedChange", "columnStickyChange", "scrollBottom", "contentScroll"], exportAs: ["kendoGrid"] }, { kind: "directive", type: i5.ToolbarTemplateDirective, selector: "[kendoGridToolbarTemplate]", inputs: ["position"] }, { kind: "directive", type: i5.SelectionDirective, selector: "[kendoGridSelectBy]" }, { kind: "component", type: i5.ColumnComponent, selector: "kendo-grid-column", inputs: ["field", "format", "sortable", "groupable", "editor", "filter", "filterable", "editable"] }, { kind: "directive", type: i5.DetailTemplateDirective, selector: "[kendoGridDetailTemplate]", inputs: ["kendoGridDetailTemplateShowIf"] }, { kind: "component", type: i5.CheckboxColumnComponent, selector: "kendo-grid-checkbox-column", inputs: ["showSelectAll"] }, { kind: "directive", type: i5.CellTemplateDirective, selector: "[kendoGridCellTemplate]" }, { kind: "directive", type: i5.NoRecordsTemplateDirective, selector: "[kendoGridNoRecordsTemplate]" }, { kind: "directive", type: i5.LoadingTemplateDirective, selector: "[kendoGridLoadingTemplate]" }, { kind: "directive", type: i5.HeaderTemplateDirective, selector: "[kendoGridHeaderTemplate]" }, { kind: "directive", type: i5.SelectAllCheckboxDirective, selector: "[kendoGridSelectAllCheckbox]", inputs: ["state"], outputs: ["selectAllChange"] }, { kind: "component", type: i5.PagerPrevButtonsComponent, selector: "kendo-pager-prev-buttons" }, { kind: "component", type: i5.PagerNextButtonsComponent, selector: "kendo-pager-next-buttons" }, { kind: "component", type: i5.PagerNumericButtonsComponent, selector: "kendo-pager-numeric-buttons", inputs: ["buttonCount"] }, { kind: "component", type: i5.PagerInfoComponent, selector: "kendo-pager-info" }, { kind: "component", type: i5.PagerPageSizesComponent, selector: "kendo-pager-page-sizes", inputs: ["pageSizes"] }, { kind: "directive", type: i5.PagerTemplateDirective, selector: "[kendoPagerTemplate]" }, { kind: "component", type: i6.TooltipComponent, selector: "lib-tooltip", inputs: ["position", "tooltipWidth", "tooltipHeight", "showOn", "closable", "title", "callout"] }, { kind: "component", type: i7.TypographyComponent, selector: "lib-typography", inputs: ["type", "defaultText", "isLabel", "hiddenLabel"] }, { kind: "component", type: i8.LoaderComponent, selector: "lib-loader", inputs: ["size", "type", "themeColor"] }, { kind: "component", type: i9.ButtonComponent, selector: "lib-button", inputs: ["size", "rounded", "fillMode", "themeColor", "label", "iconName", "disabled", "toggleable", "iconPosition", "fontType", "width", "iconButton", "projectedIcon", "formatFn", "iconFontSize"], outputs: ["buttonClick"] }, { kind: "component", type: i10.GridPaginationSpacerComponent, selector: "lib-grid-pagination-spacer" }, { kind: "pipe", type: i11.KebabMenuFilterPipe, name: "kebabMenuFilter" }] }); }
468
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: GridPaginationComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.DomSanitizer }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
469
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: GridPaginationComponent, selector: "lib-grid-pagination", inputs: { skip: "skip", itemName: "itemName", showSelectAllMessage: "showSelectAllMessage", columnData: "columnData", pageSize: "pageSize", pageable: "pageable", sortable: "sortable", groupable: "groupable", reorderable: "reorderable", resizable: "resizable", checkBoxWidth: "checkBoxWidth", checkBoxColumnResizable: "checkBoxColumnResizable", checkBoxColumnMenu: "checkBoxColumnMenu", checkBoxColumnShowSelectedAll: "checkBoxColumnShowSelectedAll", checkBoxRequired: "checkBoxRequired", columnMenu: "columnMenu", mode: "mode", checkboxOnly: "checkboxOnly", dragColumns: "dragColumns", navigable: "navigable", gridHeight: "gridHeight", gridRowSelectByValue: "gridRowSelectByValue", noRecordsContent: "noRecordsContent", showToolbar: "showToolbar", kebabList: "kebabList", showKebab: "showKebab", icon: "icon", kebabColumnWidth: "kebabColumnWidth", selectColumn: "selectColumn", preSelected: "preSelected", gridView: "gridView", ignoreColumnCellClick: "ignoreColumnCellClick", allowColumnClick: "allowColumnClick", sort: "sort", hasApiSorting: "hasApiSorting", expandRowIndex: "expandRowIndex", customExpandRowColumn: "customExpandRowColumn", deleteColumnWidth: "deleteColumnWidth", sizes: "sizes", pageCount: "pageCount", showDeleteColumn: "showDeleteColumn", hideKebabRowIndex: "hideKebabRowIndex", loading: "loading", loaderType: "loaderType", loaderSize: "loaderSize", loaderTheme: "loaderTheme", disablePreSelectedRows: "disablePreSelectedRows", allowEditingCell: "allowEditingCell", columnContentNoWrap: "columnContentNoWrap", infiniteScrollLoader: "infiniteScrollLoader", isInfiniteScrollGrid: "isInfiniteScrollGrid", gridLoading: "gridLoading", minResizableWidth: "minResizableWidth", showRefresh: "showRefresh", isKebabColumnSticky: "isKebabColumnSticky", isCheckBoxColumnSticky: "isCheckBoxColumnSticky", isDeleteColumnSticky: "isDeleteColumnSticky", isSelectAllCheckboxRequired: "isSelectAllCheckboxRequired" }, outputs: { onSelectAllAcrossPages: "onSelectAllAcrossPages", selectedRowData: "selectedRowData", rowDetails: "rowDetails", kebabItemClick: "kebabItemClick", rowDataOfClickedCell: "rowDataOfClickedCell", onPageChange: "onPageChange", sortDirection: "sortDirection", deletedRowData: "deletedRowData", updatedData: "updatedData", onscrollBottom: "onscrollBottom", emitRefreshEvt: "emitRefreshEvt" }, queries: [{ propertyName: "templateRef", first: true, predicate: ["multiColumnData"], descendants: true }, { propertyName: "detailTemplate", first: true, predicate: ["detailTemplate"], descendants: true }, { propertyName: "impactColumn", first: true, predicate: ["impactColumn"], descendants: true }, { propertyName: "columnTemplates", predicate: CustomColumnTemplate }], viewQueries: [{ propertyName: "grid", first: true, predicate: GridComponent, descendants: true }, { propertyName: "gridElement", first: true, predicate: ["gridElement"], descendants: true }, { propertyName: "selectAllCheckbox", first: true, predicate: ["selectAllCheckbox"], descendants: true }, { propertyName: "selectAllMessageElement", first: true, predicate: ["selectAllMessageElement"], descendants: true }], ngImport: i0, template: "<div #gridElement [ngClass]=\"columnContentNoWrap ? 'column-content-nowrap' : ''\">\n <kendo-grid [data]=\"_gridView\" [pageSize]=\"pageSize\" [skip]=\"skip\" [selectable]=\"selectableSettings\"\n [pageable]=\"pageable\" [sortable]=\"sortable\" [loading]=\"gridLoading\" [groupable]=\"groupable\"\n [reorderable]=\"reorderable\" [resizable]=\"resizable\" [columnMenu]=\"columnMenu\" [navigable]=\"navigable\"\n [height]=\"gridHeight\" (change)=\"setSelectableSettings()\" (selectedKeysChange)=\"selectedKeysChange($event)\"\n [kendoGridSelectBy]=\"gridRowSelectByValue\" (detailExpand)=\"onDetailExpand($event)\" [selectedKeys]=\"_preSelected\"\n (pageChange)=\"pageChange($event)\" (cellClick)=\"cellClickHandler($event)\" (cellClose)=\"cellCloseHandler($event)\"\n [sort]=\"sort\" (sortChange)=\"sortChange($event)\" (scrollBottom)=\"scrollBottom()\" [ngClass]=\"getHeaderHeight()\"\n id=\"lib-grid\" [rowClass]=\"rowClass\">\n <div #selectAllMessageElement>\n <div class=\"lib-grid-select-all-message-container\"\n *ngIf=\"((selectedItemCount < _gridView.total) || allPagesSelected)\">\n <div *ngIf=\"(selectedItemCount < _gridView.total)\" class=\"lib-grid-select-all-message\">\n <lib-typography [defaultText]=\"'All '+selectedItemCount+' '+itemName+' on this page are selected.'\"\n type=\"BODY_SMALL\"></lib-typography>\n <u><lib-typography (click)=\"selectAcrossPages(true)\" class=\"select-all-handler\"\n [defaultText]=\"'Select all '+_gridView.total+' '+itemName+' from all pages'\"\n type=\"BODY_SMALL\"></lib-typography></u>\n </div>\n <div *ngIf=\"allPagesSelected\" class=\"lib-grid-select-all-message\">\n <lib-icon name=\"circle-checked\" class=\"all-selected-icon\"></lib-icon>\n <lib-typography [defaultText]=\"'All '+_gridView.total+' '+itemName+' across all pages are selected.'\"\n type=\"BODY_SMALL\"></lib-typography>\n <u><lib-typography (click)=\"selectAcrossPages(false)\" class=\"select-all-handler\"\n [defaultText]=\"'Clear selection'\" type=\"BODY_SMALL\"></lib-typography></u>\n </div>\n </div>\n </div>\n <ng-template kendoGridToolbarTemplate [position]=\"getPosition()\" let-position=\"position\">\n <ng-container *ngIf=\"showToolbar && position === 'top'\">\n <ng-content></ng-content>\n <ng-container *ngIf=\"showRefresh\">\n <ng-container *ngTemplateOutlet=\"showRefreshTemplate\"></ng-container>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"infiniteScrollLoader && position === 'bottom'\">\n <lib-grid-pagination-spacer></lib-grid-pagination-spacer>\n <lib-loader [type]=\"loaderType\" [size]=\"loaderSize\" [themeColor]=\"loaderTheme\"></lib-loader>\n <lib-grid-pagination-spacer></lib-grid-pagination-spacer>\n </ng-container>\n </ng-template>\n\n <ng-template #showRefreshTemplate>\n <lib-tooltip position=\"top\" showOn=\"hover\" [tooltipWidth]=\"68\" [callout]=\"true\">\n <div class=\"tooltip-content\">\n <lib-typography defaultText=\"Refresh\"></lib-typography>\n </div>\n <lib-button size=\"small\" width=\"2.4rem\" rounded=\"small\" fillMode=\"solid\" themeColor=\"primary\" iconName=\"reset\"\n [toggleable]=\"false\" (buttonClick)=\"refreshGridData()\" [iconButton]=\"true\" [iconFontSize]=\"13\"></lib-button>\n </lib-tooltip>\n </ng-template>\n\n <ng-template kendoGridLoadingTemplate>\n <div class=\"k-loading-color\"></div>\n <div class=\"loading-container\">\n <lib-loader [type]=\"loaderType\" [size]=\"loaderSize\" [themeColor]=\"loaderTheme\"></lib-loader>\n </div>\n </ng-template>\n\n <ng-template *ngIf=\"this._gridView.total === 0\" kendoGridNoRecordsTemplate>\n <lib-typography *ngIf=\"!loading\" [defaultText]=\"noRecordsContent\" type=\"BODY_MEDIUM\"></lib-typography>\n <lib-loader *ngIf=\"loading\" [type]=\"loaderType\" [size]=\"loaderSize\" [themeColor]=\"loaderTheme\"></lib-loader>\n </ng-template>\n <ng-container *ngIf=\"this._gridView.total > 0\">\n <kendo-grid-checkbox-column #selectAllCheckbox headerClass=\"select-all-header\" *ngIf=\"checkBoxRequired\"\n [width]=\"checkBoxWidth\" [resizable]=\"checkBoxColumnResizable\" [columnMenu]=\"checkBoxColumnMenu\"\n class=\"checkbox-column\" [sticky]=\"isCheckBoxColumnSticky && !customExpandRowColumn\">\n <ng-template kendoGridHeaderTemplate *ngIf=\"isSelectAllCheckboxRequired\">\n <input id=\"selectAllCheckboxId\" type=\"checkbox\" kendoCheckBox kendoGridSelectAllCheckbox\n [state]=\"selectAllState\" (selectAllChange)=\"onSelectAllChange($event)\" />\n </ng-template>\n </kendo-grid-checkbox-column>\n\n <kendo-grid-column class=\"grid-column\" *ngFor=\"let item of columnData; let i = index\" [field]=\"item.field\"\n [title]=\"item.title\" [width]=\"item.columnWidth\" [minResizableWidth]=\"minResizableWidth\"\n [sortable]=\"item.sortable\" [editor]=\"item.editor\" [class]=\"item.class\"\n [sticky]=\"item.columnSticky && !customExpandRowColumn\">\n\n <ng-template *ngIf=\"sortable\" kendoGridHeaderTemplate>\n {{item.title}}\n <span *ngIf=\"sort[0].field === item.field\">\n <span *ngIf=\"sort[0].dir === 'asc'\"></span>\n <span *ngIf=\"sort[0].dir === 'desc'\"></span>\n </span>\n </ng-template>\n\n <!-- <ng-template *ngIf=\"i === 0\" kendoGridCellTemplate let-dataItem>\n <div class=\"first-custom-column\">\n <lib-typography type=\"BODY_MEDIUM\">{{dataItem?.[item.field]}}</lib-typography>\n <lib-button class=\"chefy\" size=\"small\" rounded=\"full\" (buttonClick)=\"onChefyClick($event, dataItem)\" fillMode=\"solid\"\n themeColor=\"primary\" label=\"Chefy\" />\n </div>\n </ng-template> -->\n\n <ng-template *ngIf=\"item.customColumn\" kendoGridCellTemplate let-dataItem>\n <ng-container [ngTemplateOutlet]=\"columnTemplateDict[item.type]\"\n [ngTemplateOutletContext]=\"{$implicit: dataItem}\"></ng-container>\n </ng-template>\n\n <ng-template *ngIf=\"item.custom\" kendoGridCellTemplate let-dataItem>\n <ng-container *ngTemplateOutlet=\"templateRef; context: {$implicit: dataItem}\"></ng-container>\n </ng-template>\n <ng-template *ngIf=\"item.impact\" kendoGridCellTemplate let-dataItem>\n <ng-container *ngTemplateOutlet=\"impactColumn; context: {$implicit: dataItem}\"></ng-container>\n </ng-template>\n </kendo-grid-column>\n\n <kendo-grid-column *ngIf=\"showDeleteColumn\" [width]=\"deleteColumnWidth\" class=\"delete-column\" title=\"Action\"\n [sticky]=\"isDeleteColumnSticky && !customExpandRowColumn\">\n <ng-template kendoGridCellTemplate let-dataItem let-rowIndex=\"rowIndex\">\n <lib-tooltip showOn=\"hover\" position=\"bottom\" class=\"remove-tooltip\">\n <lib-icon name=\"delete\" class=\"delete-icon\" (click)=\"onDelete(dataItem)\"></lib-icon>\n <div class=\"tooltip-content\">\n <lib-typography defaultText=\"Remove\"></lib-typography>\n </div>\n </lib-tooltip>\n </ng-template>\n </kendo-grid-column>\n\n <kendo-grid-column [width]=\"kebabColumnWidth\" class=\"kebab-column\" *ngIf=\"showKebab\" title=\"Actions\"\n [sticky]=\"isKebabColumnSticky && !customExpandRowColumn\">\n <ng-template kendoGridCellTemplate let-dataItem let-rowIndex=\"rowIndex\">\n <lib-tooltip position=\"bottom\" showOn=\"hover\" [tooltipWidth]=\"68\" [callout]=\"true\">\n <div class=\"tooltip-content\">\n <lib-typography defaultText=\"Ask Chef AI\"></lib-typography>\n </div>\n <img [src]=\"kebabIconSafeUrl\" [ngStyle]=\"{ width: '2rem', cursor: 'pointer' }\" (click)=\"onChefyClick($event, dataItem)\"/>\n </lib-tooltip>\n <kendo-dropdownbutton *ngIf=\"!hideKebabRowIndex.includes(rowIndex)\" [svgIcon]=\"icon\" fillMode=\"none\"\n [data]=\"kebabList | kebabMenuFilter : dataItem\" class=\"kebab\" (itemClick)=\"onKebabClick($event, dataItem)\"\n [popupSettings]=\"{ align: 'right', animate: true, popupClass: 'kebab-list' }\">\n </kendo-dropdownbutton>\n </ng-template>\n </kendo-grid-column>\n </ng-container>\n\n <!-- Limitation: detail template and sticky columns do not co-exist-->\n <ng-template *ngIf=\"customExpandRowColumn\" kendoGridDetailTemplate let-dataItem>\n <ng-container *ngTemplateOutlet=\"detailTemplate; context: {$implicit: dataItem}\"></ng-container>\n </ng-template>\n\n <kendo-grid-column *ngIf=\"customExpandRowColumn\" [width]=\"expandRowColumnWidth\" class=\"grid-column expand-column\">\n <ng-template kendoGridCellTemplate let-dataItem let-rowIndex=\"rowIndex\">\n <div [ngClass]=\"expandColumnClass()\">\n <span *ngIf=\"selectedRows.includes(dataItem[gridRowSelectByValue]) && disablePreSelectedRows\"\n class=\"expand-column-text\">\n Already added\n </span>\n <kendo-button *ngIf=\"!expandRowIndex.includes(rowIndex)\" [svgIcon]=\"arrowDownIcon\"\n (click)=\"expandRow(rowIndex)\" fillMode=\"none\" class=\"arrow-btn\">\n </kendo-button>\n <kendo-button *ngIf=\"expandRowIndex.includes(rowIndex)\" [svgIcon]=\"arrowUpIcon\"\n (click)=\"collapseRow(rowIndex)\" fillMode=\"none\" class=\"arrow-btn\">\n </kendo-button>\n </div>\n </ng-template>\n </kendo-grid-column>\n\n <ng-template kendoPagerTemplate let-totalPages=\"totalPages\" let-currentPage=\"currentPage\">\n <div class=\"pagination-wrapper\" [ngClass]=\"allPagesSelected ? 'pagination-disabled' : ''\">\n <kendo-pager-prev-buttons></kendo-pager-prev-buttons>\n <kendo-pager-numeric-buttons [buttonCount]=\"_pageCount\"></kendo-pager-numeric-buttons>\n <kendo-pager-next-buttons></kendo-pager-next-buttons>\n <kendo-pager-info></kendo-pager-info>\n <kendo-pager-page-sizes [pageSizes]=\"sizes\"></kendo-pager-page-sizes>\n </div>\n </ng-template>\n\n </kendo-grid>\n</div>\n", styles: [".loading-container{height:100%;display:flex;justify-content:center;align-items:center}::ng-deep .k-grid tr{height:50px}::ng-deep .pagination-wrapper{display:flex;width:100%}::ng-deep .pagination-disabled{color:#6c6f72!important;pointer-events:none}::ng-deep .lib-grid-select-all-message-container{height:2rem;display:none;gap:.25rem;justify-content:center;align-items:center;background-color:#eceff5!important;font-family:Inter,sans-serif!important;font-weight:400!important;font-style:normal;font-size:12px!important;line-height:16px!important;letter-spacing:.25px!important}::ng-deep .lib-grid-select-all-message-container .select-all-handler{cursor:pointer}::ng-deep .lib-grid-select-all-message-container .lib-grid-select-all-message{display:flex;gap:.25rem}::ng-deep .lib-grid-select-all-message-container .lib-grid-select-all-message .all-selected-icon{color:#198038}::ng-deep .disabled{cursor:none!important;pointer-events:none;opacity:.5}::ng-deep .lib-grid-select-all-message-show{display:flex!important}::ng-deep .k-grid .k-table-th,::ng-deep .k-grid .k-table-th.k-sorted{font-family:Inter,sans-serif!important;font-weight:600!important;font-style:normal!important;font-size:12px!important;line-height:16px!important;letter-spacing:.25px!important;background-color:#dee6f7!important;border-bottom-color:#ebecec!important;border-bottom-style:solid!important;border-bottom-width:2px!important;border-right:0px!important;border-left:0px!important;cursor:default!important}::ng-deep .k-grid .k-table-th .k-cell-inner,::ng-deep .k-grid .k-table-th.k-sorted .k-cell-inner{padding-right:.5rem;border-right:2px solid #C2D2F3!important}::ng-deep .k-grid .k-table-th .k-cell-inner .k-link,::ng-deep .k-grid .k-table-th.k-sorted .k-cell-inner .k-link{cursor:default!important}::ng-deep .k-grid .k-table-th:focus,::ng-deep .k-grid .k-table-th.k-sorted:focus{box-shadow:none!important}::ng-deep .k-grid .k-table-th.k-sorted{font-family:Inter,sans-serif!important;font-weight:600!important;font-style:normal!important;font-size:12px!important;line-height:16px!important;letter-spacing:.25px!important;background-color:#dee6f7!important}::ng-deep .k-grid tbody>tr:not(.k-detail-row):hover{background-color:#d0dcf5!important}::ng-deep .k-grid .k-table-row.k-selected>.k-table-td{background-color:#c9d7f4!important}::ng-deep .k-grid .k-table-row.k-disabled>.k-table-td{background-color:#fff!important}::ng-deep .k-grid .k-table-td{border-bottom-color:#ebecec!important;border-bottom-style:solid!important;border-bottom-width:1px!important;border-right:0px!important;border-left:0px!important}::ng-deep .k-grid td,::ng-deep .k-grid .k-table-td{white-space:nowrap!important}::ng-deep .k-table-alt-row{background-color:inherit!important}::ng-deep .k-grid .k-table-td{font-family:Inter,sans-serif!important;font-weight:400!important;font-style:normal;font-size:12px!important;line-height:16px!important;letter-spacing:.25px!important}::ng-deep .k-grid-norecords{text-align:center!important;opacity:.4}::ng-deep .k-grid-norecords td{padding:14px 0 14px 24px!important}::ng-deep kendo-pager.k-pager-wrap.k-grid-pager{font-family:Inter,sans-serif!important;font-weight:400!important;font-style:normal!important;font-size:14px!important;line-height:20px!important;letter-spacing:.25px!important}::ng-deep .k-pager{border-style:none!important}::ng-deep .k-input-value-text{overflow:unset!important}::ng-deep .k-grid th.k-header{vertical-align:middle!important;padding-left:16px;padding-right:.5rem}::ng-deep .grid-column,::ng-deep .kebab-column,::ng-deep .delete-column{padding:0!important}::ng-deep .grid-column kendo-button,::ng-deep .kebab-column kendo-button,::ng-deep .delete-column kendo-button{align-items:center!important;justify-content:center!important;display:flex!important}::ng-deep .k-checkbox{width:20px!important;height:20px!important;border-radius:0!important}::ng-deep .k-grid .k-hierarchy-cell,::ng-deep .k-grid .k-hierarchy-col{width:0;display:none}::ng-deep .k-grid .k-detail-row .k-detail-cell{background-color:#f4f8fa!important;padding:16px!important}::ng-deep .delete-icon{color:#dc267f!important;padding-left:12px;cursor:pointer}::ng-deep .remove-tooltip kendo-tooltip.k-tooltip{background-color:#fff;color:#000}::ng-deep .hide-header .k-grid-header{border:0px!important}::ng-deep .k-grouping-header{background-color:#eceff5!important}::ng-deep .k-grid-toolbar{padding:4px 16px!important;height:54px;background-color:#eceff5!important}::ng-deep .k-grid td:not(.kebab-column):not(.expand-column){padding-left:16px!important;padding-right:16px!important}::ng-deep .view-header .k-table-thead tr{height:50px}::ng-deep .hide-header .k-table-thead tr{height:0px;padding:0;display:block}::ng-deep td.kebab-column{display:flex;justify-content:center;align-items:center;height:inherit}::ng-deep .k-grid .k-table-td>.k-checkbox{vertical-align:middle!important}::ng-deep .kebab .k-button,::ng-deep .expand-column .k-button{border:0px}::ng-deep .expand-column{pointer-events:all!important}::ng-deep .expand-column-text{margin-right:32px}::ng-deep .expand-row{display:flex;align-items:center;justify-content:flex-end}::ng-deep .column-cursor-pointer{cursor:pointer}::ng-deep .column-content-nowrap .k-grid .k-table-th,::ng-deep .column-content-nowrap .k-grid td,::ng-deep .column-content-nowrap .k-grid .k-table-td{white-space:nowrap;text-overflow:clip}::ng-deep kendo-grid.k-grid .k-table-alt-row .k-grid-content-sticky,::ng-deep kendo-grid.k-grid .k-grid-row-sticky.k-table-alt-row td,::ng-deep kendo-grid.k-grid .k-grid-row-sticky.k-table-alt-row .k-table-td,::ng-deep .k-master-row.k-table-alt-row .k-grid-content-sticky,::ng-deep .k-master-row.k-table-alt-row .k-grid-row-sticky{background-color:#fff}::ng-deep kendo-grid.k-grid .k-grid-content-sticky:hover,::ng-deep kendo-grid.k-grid .k-grid-content-sticky.k-hover,::ng-deep kendo-grid.k-grid .k-table-row:hover .k-grid-content-sticky{background-color:#d0dcf5!important}::ng-deep .first-custom-column{position:relative}::ng-deep .first-custom-column .chefy{display:none;position:absolute;right:0;opacity:0;transition:opacity .2s ease}::ng-deep .first-custom-column .chefy .btn-padding{padding:.125rem .25rem}::ng-deep .k-grid tbody>tr:not(.k-detail-row):hover .first-custom-column .chefy{display:inline-block;opacity:1}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i3.ButtonComponent, selector: "button[kendoButton], span[kendoButton], kendo-button", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }, { kind: "component", type: i3.DropDownButtonComponent, selector: "kendo-dropdownbutton", inputs: ["arrowIcon", "icon", "svgIcon", "iconClass", "imageUrl", "textField", "data", "size", "rounded", "fillMode", "themeColor", "buttonAttributes"], outputs: ["itemClick", "focus", "blur"], exportAs: ["kendoDropDownButton"] }, { kind: "component", type: i4.IconComponent, selector: "lib-icon", inputs: ["name", "projectedIcon", "fontSize", "type"] }, { kind: "directive", type: i5.CheckBoxDirective, selector: "input[kendoCheckBox]", inputs: ["size", "rounded"] }, { kind: "component", type: i6.GridComponent, selector: "kendo-grid", inputs: ["data", "pageSize", "height", "rowHeight", "detailRowHeight", "skip", "scrollable", "selectable", "sort", "size", "trackBy", "filter", "group", "virtualColumns", "filterable", "sortable", "pageable", "groupable", "rowReorderable", "navigable", "navigatable", "autoSize", "rowClass", "rowSticky", "rowSelected", "cellSelected", "resizable", "reorderable", "loading", "columnMenu", "hideHeader", "isDetailExpanded", "isGroupExpanded"], outputs: ["filterChange", "pageChange", "groupChange", "sortChange", "selectionChange", "rowReorder", "dataStateChange", "groupExpand", "groupCollapse", "detailExpand", "detailCollapse", "edit", "cancel", "save", "remove", "add", "cellClose", "cellClick", "pdfExport", "excelExport", "columnResize", "columnReorder", "columnVisibilityChange", "columnLockedChange", "columnStickyChange", "scrollBottom", "contentScroll"], exportAs: ["kendoGrid"] }, { kind: "directive", type: i6.ToolbarTemplateDirective, selector: "[kendoGridToolbarTemplate]", inputs: ["position"] }, { kind: "directive", type: i6.SelectionDirective, selector: "[kendoGridSelectBy]" }, { kind: "component", type: i6.ColumnComponent, selector: "kendo-grid-column", inputs: ["field", "format", "sortable", "groupable", "editor", "filter", "filterable", "editable"] }, { kind: "directive", type: i6.DetailTemplateDirective, selector: "[kendoGridDetailTemplate]", inputs: ["kendoGridDetailTemplateShowIf"] }, { kind: "component", type: i6.CheckboxColumnComponent, selector: "kendo-grid-checkbox-column", inputs: ["showSelectAll"] }, { kind: "directive", type: i6.CellTemplateDirective, selector: "[kendoGridCellTemplate]" }, { kind: "directive", type: i6.NoRecordsTemplateDirective, selector: "[kendoGridNoRecordsTemplate]" }, { kind: "directive", type: i6.LoadingTemplateDirective, selector: "[kendoGridLoadingTemplate]" }, { kind: "directive", type: i6.HeaderTemplateDirective, selector: "[kendoGridHeaderTemplate]" }, { kind: "directive", type: i6.SelectAllCheckboxDirective, selector: "[kendoGridSelectAllCheckbox]", inputs: ["state"], outputs: ["selectAllChange"] }, { kind: "component", type: i6.PagerPrevButtonsComponent, selector: "kendo-pager-prev-buttons" }, { kind: "component", type: i6.PagerNextButtonsComponent, selector: "kendo-pager-next-buttons" }, { kind: "component", type: i6.PagerNumericButtonsComponent, selector: "kendo-pager-numeric-buttons", inputs: ["buttonCount"] }, { kind: "component", type: i6.PagerInfoComponent, selector: "kendo-pager-info" }, { kind: "component", type: i6.PagerPageSizesComponent, selector: "kendo-pager-page-sizes", inputs: ["pageSizes"] }, { kind: "directive", type: i6.PagerTemplateDirective, selector: "[kendoPagerTemplate]" }, { kind: "component", type: i7.TooltipComponent, selector: "lib-tooltip", inputs: ["position", "tooltipWidth", "tooltipHeight", "showOn", "closable", "title", "callout"] }, { kind: "component", type: i8.TypographyComponent, selector: "lib-typography", inputs: ["type", "defaultText", "isLabel", "hiddenLabel"] }, { kind: "component", type: i9.LoaderComponent, selector: "lib-loader", inputs: ["size", "type", "themeColor"] }, { kind: "component", type: i10.ButtonComponent, selector: "lib-button", inputs: ["size", "rounded", "fillMode", "themeColor", "label", "iconName", "disabled", "toggleable", "iconPosition", "fontType", "width", "iconButton", "projectedIcon", "formatFn", "iconFontSize"], outputs: ["buttonClick"] }, { kind: "component", type: i11.GridPaginationSpacerComponent, selector: "lib-grid-pagination-spacer" }, { kind: "pipe", type: i12.KebabMenuFilterPipe, name: "kebabMenuFilter" }] }); }
466
470
  }
467
471
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: GridPaginationComponent, decorators: [{
468
472
  type: Component,
469
- args: [{ selector: 'lib-grid-pagination', template: "<div #gridElement [ngClass]=\"columnContentNoWrap ? 'column-content-nowrap' : ''\">\n <kendo-grid [data]=\"_gridView\" [pageSize]=\"pageSize\" [skip]=\"skip\" [selectable]=\"selectableSettings\"\n [pageable]=\"pageable\" [sortable]=\"sortable\" [loading]=\"gridLoading\" [groupable]=\"groupable\"\n [reorderable]=\"reorderable\" [resizable]=\"resizable\" [columnMenu]=\"columnMenu\" [navigable]=\"navigable\"\n [height]=\"gridHeight\" (change)=\"setSelectableSettings()\" (selectedKeysChange)=\"selectedKeysChange($event)\"\n [kendoGridSelectBy]=\"gridRowSelectByValue\" (detailExpand)=\"onDetailExpand($event)\" [selectedKeys]=\"_preSelected\"\n (pageChange)=\"pageChange($event)\" (cellClick)=\"cellClickHandler($event)\" (cellClose)=\"cellCloseHandler($event)\"\n [sort]=\"sort\" (sortChange)=\"sortChange($event)\" (scrollBottom)=\"scrollBottom()\" [ngClass]=\"getHeaderHeight()\"\n id=\"lib-grid\" [rowClass]=\"rowClass\">\n <div #selectAllMessageElement>\n <div class=\"lib-grid-select-all-message-container\"\n *ngIf=\"((selectedItemCount < _gridView.total) || allPagesSelected)\">\n <div *ngIf=\"(selectedItemCount < _gridView.total)\" class=\"lib-grid-select-all-message\">\n <lib-typography [defaultText]=\"'All '+selectedItemCount+' '+itemName+' on this page are selected.'\"\n type=\"BODY_SMALL\"></lib-typography>\n <u><lib-typography (click)=\"selectAcrossPages(true)\" class=\"select-all-handler\"\n [defaultText]=\"'Select all '+_gridView.total+' '+itemName+' from all pages'\"\n type=\"BODY_SMALL\"></lib-typography></u>\n </div>\n <div *ngIf=\"allPagesSelected\" class=\"lib-grid-select-all-message\">\n <lib-icon name=\"circle-checked\" class=\"all-selected-icon\"></lib-icon>\n <lib-typography [defaultText]=\"'All '+_gridView.total+' '+itemName+' across all pages are selected.'\"\n type=\"BODY_SMALL\"></lib-typography>\n <u><lib-typography (click)=\"selectAcrossPages(false)\" class=\"select-all-handler\"\n [defaultText]=\"'Clear selection'\" type=\"BODY_SMALL\"></lib-typography></u>\n </div>\n </div>\n </div>\n <ng-template kendoGridToolbarTemplate [position]=\"getPosition()\" let-position=\"position\">\n <ng-container *ngIf=\"showToolbar && position === 'top'\">\n <ng-content></ng-content>\n <ng-container *ngIf=\"showRefresh\">\n <ng-container *ngTemplateOutlet=\"showRefreshTemplate\"></ng-container>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"infiniteScrollLoader && position === 'bottom'\">\n <lib-grid-pagination-spacer></lib-grid-pagination-spacer>\n <lib-loader [type]=\"loaderType\" [size]=\"loaderSize\" [themeColor]=\"loaderTheme\"></lib-loader>\n <lib-grid-pagination-spacer></lib-grid-pagination-spacer>\n </ng-container>\n </ng-template>\n\n <ng-template #showRefreshTemplate>\n <lib-tooltip position=\"top\" showOn=\"hover\" [tooltipWidth]=\"68\" [callout]=\"true\">\n <div class=\"tooltip-content\">\n <lib-typography defaultText=\"Refresh\"></lib-typography>\n </div>\n <lib-button size=\"small\" width=\"2.4rem\" rounded=\"small\" fillMode=\"solid\" themeColor=\"primary\" iconName=\"reset\"\n [toggleable]=\"false\" (buttonClick)=\"refreshGridData()\" [iconButton]=\"true\" [iconFontSize]=\"13\"></lib-button>\n </lib-tooltip>\n </ng-template>\n\n <ng-template kendoGridLoadingTemplate>\n <div class=\"k-loading-color\"></div>\n <div class=\"loading-container\">\n <lib-loader [type]=\"loaderType\" [size]=\"loaderSize\" [themeColor]=\"loaderTheme\"></lib-loader>\n </div>\n </ng-template>\n\n <ng-template *ngIf=\"this._gridView.total === 0\" kendoGridNoRecordsTemplate>\n <lib-typography *ngIf=\"!loading\" [defaultText]=\"noRecordsContent\" type=\"BODY_MEDIUM\"></lib-typography>\n <lib-loader *ngIf=\"loading\" [type]=\"loaderType\" [size]=\"loaderSize\" [themeColor]=\"loaderTheme\"></lib-loader>\n </ng-template>\n <ng-container *ngIf=\"this._gridView.total > 0\">\n <kendo-grid-checkbox-column #selectAllCheckbox headerClass=\"select-all-header\" *ngIf=\"checkBoxRequired\"\n [width]=\"checkBoxWidth\" [resizable]=\"checkBoxColumnResizable\" [columnMenu]=\"checkBoxColumnMenu\"\n class=\"checkbox-column\" [sticky]=\"isCheckBoxColumnSticky && !customExpandRowColumn\">\n <ng-template kendoGridHeaderTemplate *ngIf=\"isSelectAllCheckboxRequired\">\n <input id=\"selectAllCheckboxId\" type=\"checkbox\" kendoCheckBox kendoGridSelectAllCheckbox\n [state]=\"selectAllState\" (selectAllChange)=\"onSelectAllChange($event)\" />\n </ng-template>\n </kendo-grid-checkbox-column>\n\n <kendo-grid-column class=\"grid-column\" *ngFor=\"let item of columnData; let i = index\" [field]=\"item.field\"\n [title]=\"item.title\" [width]=\"item.columnWidth\" [minResizableWidth]=\"minResizableWidth\"\n [sortable]=\"item.sortable\" [editor]=\"item.editor\" [class]=\"item.class\"\n [sticky]=\"item.columnSticky && !customExpandRowColumn\">\n\n <ng-template *ngIf=\"sortable\" kendoGridHeaderTemplate>\n {{item.title}}\n <span *ngIf=\"sort[0].field === item.field\">\n <span *ngIf=\"sort[0].dir === 'asc'\"></span>\n <span *ngIf=\"sort[0].dir === 'desc'\"></span>\n </span>\n </ng-template>\n\n <ng-template *ngIf=\"i === 0\" kendoGridCellTemplate let-dataItem>\n <div class=\"first-custom-column\">\n <lib-typography type=\"BODY_MEDIUM\">{{dataItem?.[item.field]}}</lib-typography>\n <lib-button class=\"chefy\" size=\"small\" rounded=\"full\" (buttonClick)=\"onChefyClick($event, dataItem)\" fillMode=\"solid\"\n themeColor=\"primary\" label=\"Chefy\" />\n </div>\n </ng-template>\n\n <ng-template *ngIf=\"item.customColumn\" kendoGridCellTemplate let-dataItem>\n <ng-container [ngTemplateOutlet]=\"columnTemplateDict[item.type]\"\n [ngTemplateOutletContext]=\"{$implicit: dataItem}\"></ng-container>\n </ng-template>\n\n <ng-template *ngIf=\"item.custom\" kendoGridCellTemplate let-dataItem>\n <ng-container *ngTemplateOutlet=\"templateRef; context: {$implicit: dataItem}\"></ng-container>\n </ng-template>\n <ng-template *ngIf=\"item.impact\" kendoGridCellTemplate let-dataItem>\n <ng-container *ngTemplateOutlet=\"impactColumn; context: {$implicit: dataItem}\"></ng-container>\n </ng-template>\n </kendo-grid-column>\n\n <kendo-grid-column *ngIf=\"showDeleteColumn\" [width]=\"deleteColumnWidth\" class=\"delete-column\" title=\"Action\"\n [sticky]=\"isDeleteColumnSticky && !customExpandRowColumn\">\n <ng-template kendoGridCellTemplate let-dataItem let-rowIndex=\"rowIndex\">\n <lib-tooltip showOn=\"hover\" position=\"bottom\" class=\"remove-tooltip\">\n <lib-icon name=\"delete\" class=\"delete-icon\" (click)=\"onDelete(dataItem)\"></lib-icon>\n <div class=\"tooltip-content\">\n <lib-typography defaultText=\"Remove\"></lib-typography>\n </div>\n </lib-tooltip>\n </ng-template>\n </kendo-grid-column>\n\n <kendo-grid-column [width]=\"kebabColumnWidth\" class=\"kebab-column\" *ngIf=\"showKebab\" title=\"Actions\"\n [sticky]=\"isKebabColumnSticky && !customExpandRowColumn\">\n <ng-template kendoGridCellTemplate let-dataItem let-rowIndex=\"rowIndex\">\n <kendo-dropdownbutton *ngIf=\"!hideKebabRowIndex.includes(rowIndex)\" [svgIcon]=\"icon\" fillMode=\"none\"\n [data]=\"kebabList | kebabMenuFilter : dataItem\" class=\"kebab\" (itemClick)=\"onKebabClick($event, dataItem)\"\n [popupSettings]=\"{ align: 'right', animate: true, popupClass: 'kebab-list' }\">\n </kendo-dropdownbutton>\n </ng-template>\n </kendo-grid-column>\n </ng-container>\n\n <!-- Limitation: detail template and sticky columns do not co-exist-->\n <ng-template *ngIf=\"customExpandRowColumn\" kendoGridDetailTemplate let-dataItem>\n <ng-container *ngTemplateOutlet=\"detailTemplate; context: {$implicit: dataItem}\"></ng-container>\n </ng-template>\n\n <kendo-grid-column *ngIf=\"customExpandRowColumn\" [width]=\"expandRowColumnWidth\" class=\"grid-column expand-column\">\n <ng-template kendoGridCellTemplate let-dataItem let-rowIndex=\"rowIndex\">\n <div [ngClass]=\"expandColumnClass()\">\n <span *ngIf=\"selectedRows.includes(dataItem[gridRowSelectByValue]) && disablePreSelectedRows\"\n class=\"expand-column-text\">\n Already added\n </span>\n <kendo-button *ngIf=\"!expandRowIndex.includes(rowIndex)\" [svgIcon]=\"arrowDownIcon\"\n (click)=\"expandRow(rowIndex)\" fillMode=\"none\" class=\"arrow-btn\">\n </kendo-button>\n <kendo-button *ngIf=\"expandRowIndex.includes(rowIndex)\" [svgIcon]=\"arrowUpIcon\"\n (click)=\"collapseRow(rowIndex)\" fillMode=\"none\" class=\"arrow-btn\">\n </kendo-button>\n </div>\n </ng-template>\n </kendo-grid-column>\n\n <ng-template kendoPagerTemplate let-totalPages=\"totalPages\" let-currentPage=\"currentPage\">\n <div class=\"pagination-wrapper\" [ngClass]=\"allPagesSelected ? 'pagination-disabled' : ''\">\n <kendo-pager-prev-buttons></kendo-pager-prev-buttons>\n <kendo-pager-numeric-buttons [buttonCount]=\"_pageCount\"></kendo-pager-numeric-buttons>\n <kendo-pager-next-buttons></kendo-pager-next-buttons>\n <kendo-pager-info></kendo-pager-info>\n <kendo-pager-page-sizes [pageSizes]=\"sizes\"></kendo-pager-page-sizes>\n </div>\n </ng-template>\n\n </kendo-grid>\n</div>\n", styles: [".loading-container{height:100%;display:flex;justify-content:center;align-items:center}::ng-deep .k-grid tr{height:50px}::ng-deep .pagination-wrapper{display:flex;width:100%}::ng-deep .pagination-disabled{color:#6c6f72!important;pointer-events:none}::ng-deep .lib-grid-select-all-message-container{height:2rem;display:none;gap:.25rem;justify-content:center;align-items:center;background-color:#eceff5!important;font-family:Inter,sans-serif!important;font-weight:400!important;font-style:normal;font-size:12px!important;line-height:16px!important;letter-spacing:.25px!important}::ng-deep .lib-grid-select-all-message-container .select-all-handler{cursor:pointer}::ng-deep .lib-grid-select-all-message-container .lib-grid-select-all-message{display:flex;gap:.25rem}::ng-deep .lib-grid-select-all-message-container .lib-grid-select-all-message .all-selected-icon{color:#198038}::ng-deep .disabled{cursor:none!important;pointer-events:none;opacity:.5}::ng-deep .lib-grid-select-all-message-show{display:flex!important}::ng-deep .k-grid .k-table-th,::ng-deep .k-grid .k-table-th.k-sorted{font-family:Inter,sans-serif!important;font-weight:600!important;font-style:normal!important;font-size:12px!important;line-height:16px!important;letter-spacing:.25px!important;background-color:#dee6f7!important;border-bottom-color:#ebecec!important;border-bottom-style:solid!important;border-bottom-width:2px!important;border-right:0px!important;border-left:0px!important;cursor:default!important}::ng-deep .k-grid .k-table-th .k-cell-inner,::ng-deep .k-grid .k-table-th.k-sorted .k-cell-inner{padding-right:.5rem;border-right:2px solid #C2D2F3!important}::ng-deep .k-grid .k-table-th .k-cell-inner .k-link,::ng-deep .k-grid .k-table-th.k-sorted .k-cell-inner .k-link{cursor:default!important}::ng-deep .k-grid .k-table-th:focus,::ng-deep .k-grid .k-table-th.k-sorted:focus{box-shadow:none!important}::ng-deep .k-grid .k-table-th.k-sorted{font-family:Inter,sans-serif!important;font-weight:600!important;font-style:normal!important;font-size:12px!important;line-height:16px!important;letter-spacing:.25px!important;background-color:#dee6f7!important}::ng-deep .k-grid tbody>tr:not(.k-detail-row):hover{background-color:#d0dcf5!important}::ng-deep .k-grid .k-table-row.k-selected>.k-table-td{background-color:#c9d7f4!important}::ng-deep .k-grid .k-table-row.k-disabled>.k-table-td{background-color:#fff!important}::ng-deep .k-grid .k-table-td{border-bottom-color:#ebecec!important;border-bottom-style:solid!important;border-bottom-width:1px!important;border-right:0px!important;border-left:0px!important}::ng-deep .k-grid td,::ng-deep .k-grid .k-table-td{white-space:nowrap!important}::ng-deep .k-table-alt-row{background-color:inherit!important}::ng-deep .k-grid .k-table-td{font-family:Inter,sans-serif!important;font-weight:400!important;font-style:normal;font-size:12px!important;line-height:16px!important;letter-spacing:.25px!important}::ng-deep .k-grid-norecords{text-align:center!important;opacity:.4}::ng-deep .k-grid-norecords td{padding:14px 0 14px 24px!important}::ng-deep kendo-pager.k-pager-wrap.k-grid-pager{font-family:Inter,sans-serif!important;font-weight:400!important;font-style:normal!important;font-size:14px!important;line-height:20px!important;letter-spacing:.25px!important}::ng-deep .k-pager{border-style:none!important}::ng-deep .k-input-value-text{overflow:unset!important}::ng-deep .k-grid th.k-header{vertical-align:middle!important;padding-left:16px;padding-right:.5rem}::ng-deep .grid-column,::ng-deep .kebab-column,::ng-deep .delete-column{padding:0!important}::ng-deep .grid-column kendo-button,::ng-deep .kebab-column kendo-button,::ng-deep .delete-column kendo-button{align-items:center!important;justify-content:center!important;display:flex!important}::ng-deep .k-checkbox{width:20px!important;height:20px!important;border-radius:0!important}::ng-deep .k-grid .k-hierarchy-cell,::ng-deep .k-grid .k-hierarchy-col{width:0;display:none}::ng-deep .k-grid .k-detail-row .k-detail-cell{background-color:#f4f8fa!important;padding:16px!important}::ng-deep .delete-icon{color:#dc267f!important;padding-left:12px;cursor:pointer}::ng-deep .remove-tooltip kendo-tooltip.k-tooltip{background-color:#fff;color:#000}::ng-deep .hide-header .k-grid-header{border:0px!important}::ng-deep .k-grouping-header{background-color:#eceff5!important}::ng-deep .k-grid-toolbar{padding:4px 16px!important;height:54px;background-color:#eceff5!important}::ng-deep .k-grid td:not(.kebab-column):not(.expand-column){padding-left:16px!important;padding-right:16px!important}::ng-deep .view-header .k-table-thead tr{height:50px}::ng-deep .hide-header .k-table-thead tr{height:0px;padding:0;display:block}::ng-deep td.kebab-column{display:flex;justify-content:center;align-items:center;height:inherit}::ng-deep .k-grid .k-table-td>.k-checkbox{vertical-align:middle!important}::ng-deep .kebab .k-button,::ng-deep .expand-column .k-button{border:0px}::ng-deep .expand-column{pointer-events:all!important}::ng-deep .expand-column-text{margin-right:32px}::ng-deep .expand-row{display:flex;align-items:center;justify-content:flex-end}::ng-deep .column-cursor-pointer{cursor:pointer}::ng-deep .column-content-nowrap .k-grid .k-table-th,::ng-deep .column-content-nowrap .k-grid td,::ng-deep .column-content-nowrap .k-grid .k-table-td{white-space:nowrap;text-overflow:clip}::ng-deep kendo-grid.k-grid .k-table-alt-row .k-grid-content-sticky,::ng-deep kendo-grid.k-grid .k-grid-row-sticky.k-table-alt-row td,::ng-deep kendo-grid.k-grid .k-grid-row-sticky.k-table-alt-row .k-table-td,::ng-deep .k-master-row.k-table-alt-row .k-grid-content-sticky,::ng-deep .k-master-row.k-table-alt-row .k-grid-row-sticky{background-color:#fff}::ng-deep kendo-grid.k-grid .k-grid-content-sticky:hover,::ng-deep kendo-grid.k-grid .k-grid-content-sticky.k-hover,::ng-deep kendo-grid.k-grid .k-table-row:hover .k-grid-content-sticky{background-color:#d0dcf5!important}::ng-deep .first-custom-column{position:relative}::ng-deep .first-custom-column .chefy{display:none;position:absolute;right:0;opacity:0;transition:opacity .2s ease}::ng-deep .first-custom-column .chefy .btn-padding{padding:.125rem .25rem}::ng-deep .k-grid tbody>tr:not(.k-detail-row):hover .first-custom-column .chefy{display:inline-block;opacity:1}\n"] }]
470
- }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.Renderer2 }], propDecorators: { columnTemplates: [{
473
+ args: [{ selector: 'lib-grid-pagination', template: "<div #gridElement [ngClass]=\"columnContentNoWrap ? 'column-content-nowrap' : ''\">\n <kendo-grid [data]=\"_gridView\" [pageSize]=\"pageSize\" [skip]=\"skip\" [selectable]=\"selectableSettings\"\n [pageable]=\"pageable\" [sortable]=\"sortable\" [loading]=\"gridLoading\" [groupable]=\"groupable\"\n [reorderable]=\"reorderable\" [resizable]=\"resizable\" [columnMenu]=\"columnMenu\" [navigable]=\"navigable\"\n [height]=\"gridHeight\" (change)=\"setSelectableSettings()\" (selectedKeysChange)=\"selectedKeysChange($event)\"\n [kendoGridSelectBy]=\"gridRowSelectByValue\" (detailExpand)=\"onDetailExpand($event)\" [selectedKeys]=\"_preSelected\"\n (pageChange)=\"pageChange($event)\" (cellClick)=\"cellClickHandler($event)\" (cellClose)=\"cellCloseHandler($event)\"\n [sort]=\"sort\" (sortChange)=\"sortChange($event)\" (scrollBottom)=\"scrollBottom()\" [ngClass]=\"getHeaderHeight()\"\n id=\"lib-grid\" [rowClass]=\"rowClass\">\n <div #selectAllMessageElement>\n <div class=\"lib-grid-select-all-message-container\"\n *ngIf=\"((selectedItemCount < _gridView.total) || allPagesSelected)\">\n <div *ngIf=\"(selectedItemCount < _gridView.total)\" class=\"lib-grid-select-all-message\">\n <lib-typography [defaultText]=\"'All '+selectedItemCount+' '+itemName+' on this page are selected.'\"\n type=\"BODY_SMALL\"></lib-typography>\n <u><lib-typography (click)=\"selectAcrossPages(true)\" class=\"select-all-handler\"\n [defaultText]=\"'Select all '+_gridView.total+' '+itemName+' from all pages'\"\n type=\"BODY_SMALL\"></lib-typography></u>\n </div>\n <div *ngIf=\"allPagesSelected\" class=\"lib-grid-select-all-message\">\n <lib-icon name=\"circle-checked\" class=\"all-selected-icon\"></lib-icon>\n <lib-typography [defaultText]=\"'All '+_gridView.total+' '+itemName+' across all pages are selected.'\"\n type=\"BODY_SMALL\"></lib-typography>\n <u><lib-typography (click)=\"selectAcrossPages(false)\" class=\"select-all-handler\"\n [defaultText]=\"'Clear selection'\" type=\"BODY_SMALL\"></lib-typography></u>\n </div>\n </div>\n </div>\n <ng-template kendoGridToolbarTemplate [position]=\"getPosition()\" let-position=\"position\">\n <ng-container *ngIf=\"showToolbar && position === 'top'\">\n <ng-content></ng-content>\n <ng-container *ngIf=\"showRefresh\">\n <ng-container *ngTemplateOutlet=\"showRefreshTemplate\"></ng-container>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"infiniteScrollLoader && position === 'bottom'\">\n <lib-grid-pagination-spacer></lib-grid-pagination-spacer>\n <lib-loader [type]=\"loaderType\" [size]=\"loaderSize\" [themeColor]=\"loaderTheme\"></lib-loader>\n <lib-grid-pagination-spacer></lib-grid-pagination-spacer>\n </ng-container>\n </ng-template>\n\n <ng-template #showRefreshTemplate>\n <lib-tooltip position=\"top\" showOn=\"hover\" [tooltipWidth]=\"68\" [callout]=\"true\">\n <div class=\"tooltip-content\">\n <lib-typography defaultText=\"Refresh\"></lib-typography>\n </div>\n <lib-button size=\"small\" width=\"2.4rem\" rounded=\"small\" fillMode=\"solid\" themeColor=\"primary\" iconName=\"reset\"\n [toggleable]=\"false\" (buttonClick)=\"refreshGridData()\" [iconButton]=\"true\" [iconFontSize]=\"13\"></lib-button>\n </lib-tooltip>\n </ng-template>\n\n <ng-template kendoGridLoadingTemplate>\n <div class=\"k-loading-color\"></div>\n <div class=\"loading-container\">\n <lib-loader [type]=\"loaderType\" [size]=\"loaderSize\" [themeColor]=\"loaderTheme\"></lib-loader>\n </div>\n </ng-template>\n\n <ng-template *ngIf=\"this._gridView.total === 0\" kendoGridNoRecordsTemplate>\n <lib-typography *ngIf=\"!loading\" [defaultText]=\"noRecordsContent\" type=\"BODY_MEDIUM\"></lib-typography>\n <lib-loader *ngIf=\"loading\" [type]=\"loaderType\" [size]=\"loaderSize\" [themeColor]=\"loaderTheme\"></lib-loader>\n </ng-template>\n <ng-container *ngIf=\"this._gridView.total > 0\">\n <kendo-grid-checkbox-column #selectAllCheckbox headerClass=\"select-all-header\" *ngIf=\"checkBoxRequired\"\n [width]=\"checkBoxWidth\" [resizable]=\"checkBoxColumnResizable\" [columnMenu]=\"checkBoxColumnMenu\"\n class=\"checkbox-column\" [sticky]=\"isCheckBoxColumnSticky && !customExpandRowColumn\">\n <ng-template kendoGridHeaderTemplate *ngIf=\"isSelectAllCheckboxRequired\">\n <input id=\"selectAllCheckboxId\" type=\"checkbox\" kendoCheckBox kendoGridSelectAllCheckbox\n [state]=\"selectAllState\" (selectAllChange)=\"onSelectAllChange($event)\" />\n </ng-template>\n </kendo-grid-checkbox-column>\n\n <kendo-grid-column class=\"grid-column\" *ngFor=\"let item of columnData; let i = index\" [field]=\"item.field\"\n [title]=\"item.title\" [width]=\"item.columnWidth\" [minResizableWidth]=\"minResizableWidth\"\n [sortable]=\"item.sortable\" [editor]=\"item.editor\" [class]=\"item.class\"\n [sticky]=\"item.columnSticky && !customExpandRowColumn\">\n\n <ng-template *ngIf=\"sortable\" kendoGridHeaderTemplate>\n {{item.title}}\n <span *ngIf=\"sort[0].field === item.field\">\n <span *ngIf=\"sort[0].dir === 'asc'\"></span>\n <span *ngIf=\"sort[0].dir === 'desc'\"></span>\n </span>\n </ng-template>\n\n <!-- <ng-template *ngIf=\"i === 0\" kendoGridCellTemplate let-dataItem>\n <div class=\"first-custom-column\">\n <lib-typography type=\"BODY_MEDIUM\">{{dataItem?.[item.field]}}</lib-typography>\n <lib-button class=\"chefy\" size=\"small\" rounded=\"full\" (buttonClick)=\"onChefyClick($event, dataItem)\" fillMode=\"solid\"\n themeColor=\"primary\" label=\"Chefy\" />\n </div>\n </ng-template> -->\n\n <ng-template *ngIf=\"item.customColumn\" kendoGridCellTemplate let-dataItem>\n <ng-container [ngTemplateOutlet]=\"columnTemplateDict[item.type]\"\n [ngTemplateOutletContext]=\"{$implicit: dataItem}\"></ng-container>\n </ng-template>\n\n <ng-template *ngIf=\"item.custom\" kendoGridCellTemplate let-dataItem>\n <ng-container *ngTemplateOutlet=\"templateRef; context: {$implicit: dataItem}\"></ng-container>\n </ng-template>\n <ng-template *ngIf=\"item.impact\" kendoGridCellTemplate let-dataItem>\n <ng-container *ngTemplateOutlet=\"impactColumn; context: {$implicit: dataItem}\"></ng-container>\n </ng-template>\n </kendo-grid-column>\n\n <kendo-grid-column *ngIf=\"showDeleteColumn\" [width]=\"deleteColumnWidth\" class=\"delete-column\" title=\"Action\"\n [sticky]=\"isDeleteColumnSticky && !customExpandRowColumn\">\n <ng-template kendoGridCellTemplate let-dataItem let-rowIndex=\"rowIndex\">\n <lib-tooltip showOn=\"hover\" position=\"bottom\" class=\"remove-tooltip\">\n <lib-icon name=\"delete\" class=\"delete-icon\" (click)=\"onDelete(dataItem)\"></lib-icon>\n <div class=\"tooltip-content\">\n <lib-typography defaultText=\"Remove\"></lib-typography>\n </div>\n </lib-tooltip>\n </ng-template>\n </kendo-grid-column>\n\n <kendo-grid-column [width]=\"kebabColumnWidth\" class=\"kebab-column\" *ngIf=\"showKebab\" title=\"Actions\"\n [sticky]=\"isKebabColumnSticky && !customExpandRowColumn\">\n <ng-template kendoGridCellTemplate let-dataItem let-rowIndex=\"rowIndex\">\n <lib-tooltip position=\"bottom\" showOn=\"hover\" [tooltipWidth]=\"68\" [callout]=\"true\">\n <div class=\"tooltip-content\">\n <lib-typography defaultText=\"Ask Chef AI\"></lib-typography>\n </div>\n <img [src]=\"kebabIconSafeUrl\" [ngStyle]=\"{ width: '2rem', cursor: 'pointer' }\" (click)=\"onChefyClick($event, dataItem)\"/>\n </lib-tooltip>\n <kendo-dropdownbutton *ngIf=\"!hideKebabRowIndex.includes(rowIndex)\" [svgIcon]=\"icon\" fillMode=\"none\"\n [data]=\"kebabList | kebabMenuFilter : dataItem\" class=\"kebab\" (itemClick)=\"onKebabClick($event, dataItem)\"\n [popupSettings]=\"{ align: 'right', animate: true, popupClass: 'kebab-list' }\">\n </kendo-dropdownbutton>\n </ng-template>\n </kendo-grid-column>\n </ng-container>\n\n <!-- Limitation: detail template and sticky columns do not co-exist-->\n <ng-template *ngIf=\"customExpandRowColumn\" kendoGridDetailTemplate let-dataItem>\n <ng-container *ngTemplateOutlet=\"detailTemplate; context: {$implicit: dataItem}\"></ng-container>\n </ng-template>\n\n <kendo-grid-column *ngIf=\"customExpandRowColumn\" [width]=\"expandRowColumnWidth\" class=\"grid-column expand-column\">\n <ng-template kendoGridCellTemplate let-dataItem let-rowIndex=\"rowIndex\">\n <div [ngClass]=\"expandColumnClass()\">\n <span *ngIf=\"selectedRows.includes(dataItem[gridRowSelectByValue]) && disablePreSelectedRows\"\n class=\"expand-column-text\">\n Already added\n </span>\n <kendo-button *ngIf=\"!expandRowIndex.includes(rowIndex)\" [svgIcon]=\"arrowDownIcon\"\n (click)=\"expandRow(rowIndex)\" fillMode=\"none\" class=\"arrow-btn\">\n </kendo-button>\n <kendo-button *ngIf=\"expandRowIndex.includes(rowIndex)\" [svgIcon]=\"arrowUpIcon\"\n (click)=\"collapseRow(rowIndex)\" fillMode=\"none\" class=\"arrow-btn\">\n </kendo-button>\n </div>\n </ng-template>\n </kendo-grid-column>\n\n <ng-template kendoPagerTemplate let-totalPages=\"totalPages\" let-currentPage=\"currentPage\">\n <div class=\"pagination-wrapper\" [ngClass]=\"allPagesSelected ? 'pagination-disabled' : ''\">\n <kendo-pager-prev-buttons></kendo-pager-prev-buttons>\n <kendo-pager-numeric-buttons [buttonCount]=\"_pageCount\"></kendo-pager-numeric-buttons>\n <kendo-pager-next-buttons></kendo-pager-next-buttons>\n <kendo-pager-info></kendo-pager-info>\n <kendo-pager-page-sizes [pageSizes]=\"sizes\"></kendo-pager-page-sizes>\n </div>\n </ng-template>\n\n </kendo-grid>\n</div>\n", styles: [".loading-container{height:100%;display:flex;justify-content:center;align-items:center}::ng-deep .k-grid tr{height:50px}::ng-deep .pagination-wrapper{display:flex;width:100%}::ng-deep .pagination-disabled{color:#6c6f72!important;pointer-events:none}::ng-deep .lib-grid-select-all-message-container{height:2rem;display:none;gap:.25rem;justify-content:center;align-items:center;background-color:#eceff5!important;font-family:Inter,sans-serif!important;font-weight:400!important;font-style:normal;font-size:12px!important;line-height:16px!important;letter-spacing:.25px!important}::ng-deep .lib-grid-select-all-message-container .select-all-handler{cursor:pointer}::ng-deep .lib-grid-select-all-message-container .lib-grid-select-all-message{display:flex;gap:.25rem}::ng-deep .lib-grid-select-all-message-container .lib-grid-select-all-message .all-selected-icon{color:#198038}::ng-deep .disabled{cursor:none!important;pointer-events:none;opacity:.5}::ng-deep .lib-grid-select-all-message-show{display:flex!important}::ng-deep .k-grid .k-table-th,::ng-deep .k-grid .k-table-th.k-sorted{font-family:Inter,sans-serif!important;font-weight:600!important;font-style:normal!important;font-size:12px!important;line-height:16px!important;letter-spacing:.25px!important;background-color:#dee6f7!important;border-bottom-color:#ebecec!important;border-bottom-style:solid!important;border-bottom-width:2px!important;border-right:0px!important;border-left:0px!important;cursor:default!important}::ng-deep .k-grid .k-table-th .k-cell-inner,::ng-deep .k-grid .k-table-th.k-sorted .k-cell-inner{padding-right:.5rem;border-right:2px solid #C2D2F3!important}::ng-deep .k-grid .k-table-th .k-cell-inner .k-link,::ng-deep .k-grid .k-table-th.k-sorted .k-cell-inner .k-link{cursor:default!important}::ng-deep .k-grid .k-table-th:focus,::ng-deep .k-grid .k-table-th.k-sorted:focus{box-shadow:none!important}::ng-deep .k-grid .k-table-th.k-sorted{font-family:Inter,sans-serif!important;font-weight:600!important;font-style:normal!important;font-size:12px!important;line-height:16px!important;letter-spacing:.25px!important;background-color:#dee6f7!important}::ng-deep .k-grid tbody>tr:not(.k-detail-row):hover{background-color:#d0dcf5!important}::ng-deep .k-grid .k-table-row.k-selected>.k-table-td{background-color:#c9d7f4!important}::ng-deep .k-grid .k-table-row.k-disabled>.k-table-td{background-color:#fff!important}::ng-deep .k-grid .k-table-td{border-bottom-color:#ebecec!important;border-bottom-style:solid!important;border-bottom-width:1px!important;border-right:0px!important;border-left:0px!important}::ng-deep .k-grid td,::ng-deep .k-grid .k-table-td{white-space:nowrap!important}::ng-deep .k-table-alt-row{background-color:inherit!important}::ng-deep .k-grid .k-table-td{font-family:Inter,sans-serif!important;font-weight:400!important;font-style:normal;font-size:12px!important;line-height:16px!important;letter-spacing:.25px!important}::ng-deep .k-grid-norecords{text-align:center!important;opacity:.4}::ng-deep .k-grid-norecords td{padding:14px 0 14px 24px!important}::ng-deep kendo-pager.k-pager-wrap.k-grid-pager{font-family:Inter,sans-serif!important;font-weight:400!important;font-style:normal!important;font-size:14px!important;line-height:20px!important;letter-spacing:.25px!important}::ng-deep .k-pager{border-style:none!important}::ng-deep .k-input-value-text{overflow:unset!important}::ng-deep .k-grid th.k-header{vertical-align:middle!important;padding-left:16px;padding-right:.5rem}::ng-deep .grid-column,::ng-deep .kebab-column,::ng-deep .delete-column{padding:0!important}::ng-deep .grid-column kendo-button,::ng-deep .kebab-column kendo-button,::ng-deep .delete-column kendo-button{align-items:center!important;justify-content:center!important;display:flex!important}::ng-deep .k-checkbox{width:20px!important;height:20px!important;border-radius:0!important}::ng-deep .k-grid .k-hierarchy-cell,::ng-deep .k-grid .k-hierarchy-col{width:0;display:none}::ng-deep .k-grid .k-detail-row .k-detail-cell{background-color:#f4f8fa!important;padding:16px!important}::ng-deep .delete-icon{color:#dc267f!important;padding-left:12px;cursor:pointer}::ng-deep .remove-tooltip kendo-tooltip.k-tooltip{background-color:#fff;color:#000}::ng-deep .hide-header .k-grid-header{border:0px!important}::ng-deep .k-grouping-header{background-color:#eceff5!important}::ng-deep .k-grid-toolbar{padding:4px 16px!important;height:54px;background-color:#eceff5!important}::ng-deep .k-grid td:not(.kebab-column):not(.expand-column){padding-left:16px!important;padding-right:16px!important}::ng-deep .view-header .k-table-thead tr{height:50px}::ng-deep .hide-header .k-table-thead tr{height:0px;padding:0;display:block}::ng-deep td.kebab-column{display:flex;justify-content:center;align-items:center;height:inherit}::ng-deep .k-grid .k-table-td>.k-checkbox{vertical-align:middle!important}::ng-deep .kebab .k-button,::ng-deep .expand-column .k-button{border:0px}::ng-deep .expand-column{pointer-events:all!important}::ng-deep .expand-column-text{margin-right:32px}::ng-deep .expand-row{display:flex;align-items:center;justify-content:flex-end}::ng-deep .column-cursor-pointer{cursor:pointer}::ng-deep .column-content-nowrap .k-grid .k-table-th,::ng-deep .column-content-nowrap .k-grid td,::ng-deep .column-content-nowrap .k-grid .k-table-td{white-space:nowrap;text-overflow:clip}::ng-deep kendo-grid.k-grid .k-table-alt-row .k-grid-content-sticky,::ng-deep kendo-grid.k-grid .k-grid-row-sticky.k-table-alt-row td,::ng-deep kendo-grid.k-grid .k-grid-row-sticky.k-table-alt-row .k-table-td,::ng-deep .k-master-row.k-table-alt-row .k-grid-content-sticky,::ng-deep .k-master-row.k-table-alt-row .k-grid-row-sticky{background-color:#fff}::ng-deep kendo-grid.k-grid .k-grid-content-sticky:hover,::ng-deep kendo-grid.k-grid .k-grid-content-sticky.k-hover,::ng-deep kendo-grid.k-grid .k-table-row:hover .k-grid-content-sticky{background-color:#d0dcf5!important}::ng-deep .first-custom-column{position:relative}::ng-deep .first-custom-column .chefy{display:none;position:absolute;right:0;opacity:0;transition:opacity .2s ease}::ng-deep .first-custom-column .chefy .btn-padding{padding:.125rem .25rem}::ng-deep .k-grid tbody>tr:not(.k-detail-row):hover .first-custom-column .chefy{display:inline-block;opacity:1}\n"] }]
474
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1.DomSanitizer }, { type: i0.Renderer2 }], propDecorators: { columnTemplates: [{
471
475
  type: ContentChildren,
472
476
  args: [CustomColumnTemplate]
473
477
  }], templateRef: [{
@@ -630,4 +634,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
630
634
  }], isSelectAllCheckboxRequired: [{
631
635
  type: Input
632
636
  }] } });
633
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC1wYWdpbmF0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZC9zcmMvbGliL21vbGVjdWxlcy9ncmlkLXBhZ2luYXRpb24vZ3JpZC1wYWdpbmF0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZC9zcmMvbGliL21vbGVjdWxlcy9ncmlkLXBhZ2luYXRpb24vZ3JpZC1wYWdpbmF0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBc0QsU0FBUyxFQUFFLFlBQVksRUFBRSxlQUFlLEVBQUUsU0FBUyxFQUFjLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFxQyxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdk8sT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3RELE9BQU8sRUFBa0IsT0FBTyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDckUsT0FBTyxFQUFFLFVBQVUsRUFBRSxnQkFBZ0IsRUFBRSxVQUFVLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUMvRixPQUFPLEVBQWtDLGFBQWEsRUFBNkcsTUFBTSw4QkFBOEIsQ0FBQztBQUN4TSxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxnQkFBZ0IsRUFBVyxNQUFNLDJCQUEyQixDQUFDOzs7Ozs7Ozs7Ozs7O0FBTXRHLE1BQU0sT0FBTyxvQkFBb0I7SUFFL0IsWUFBbUIsUUFBZ0M7UUFBaEMsYUFBUSxHQUFSLFFBQVEsQ0FBd0I7UUFEMUMsU0FBSSxHQUFXLEVBQUUsQ0FBQztJQUM0QixDQUFDOytHQUY3QyxvQkFBb0I7bUdBQXBCLG9CQUFvQjs7NEZBQXBCLG9CQUFvQjtr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TUFBTTtnQkFHRSxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLHFCQUFxQjtzQkFBN0IsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBRUksY0FBYztzQkFBdkIsTUFBTTtnQkFDRSxLQUFLO3NCQUFiLEtBQUs7Z0JBRU8sU0FBUztzQkFBckIsS0FBSztnQkFHRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFPRyxzQkFBc0I7c0JBQTlCLEtBQUs7Z0JBRUksV0FBVztzQkFBcEIsTUFBTTtnQkFDRSxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csbUJBQW1CO3NCQUEzQixLQUFLO2dCQUNHLG9CQUFvQjtzQkFBNUIsS0FBSztnQkFDSSxjQUFjO3NCQUF2QixNQUFNO2dCQUNFLG9CQUFvQjtzQkFBNUIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUVHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFDRyxzQkFBc0I7c0JBQTlCLEtBQUs7Z0JBQ0csb0JBQW9CO3NCQUE1QixLQUFLO2dCQUNJLGNBQWM7c0JBQXZCLE1BQU07Z0JBQ0UsMkJBQTJCO3NCQUFuQyxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJDb250ZW50SW5pdCwgQWZ0ZXJWaWV3SW5pdCwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgQ29udGVudENoaWxkLCBDb250ZW50Q2hpbGRyZW4sIERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFF1ZXJ5TGlzdCwgUmVuZGVyZXIyLCBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgS2V5cyB9IGZyb20gJ0Bwcm9ncmVzcy9rZW5kby1hbmd1bGFyLWNvbW1vbic7XG5pbXBvcnQgeyBTb3J0RGVzY3JpcHRvciwgb3JkZXJCeSB9IGZyb20gJ0Bwcm9ncmVzcy9rZW5kby1kYXRhLXF1ZXJ5JztcbmltcG9ydCB7IExvYWRlclNpemUsIExvYWRlclRoZW1lQ29sb3IsIExvYWRlclR5cGUgfSBmcm9tICcuLi8uLi9hdG9tcy9sb2FkZXIvbG9hZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDZWxsQ2xpY2tFdmVudCwgQ2VsbENsb3NlRXZlbnQsIEdyaWRDb21wb25lbnQsIEdyaWREYXRhUmVzdWx0LCBQYWdlQ2hhbmdlRXZlbnQsIFJvd0NsYXNzQXJncywgU2VsZWN0QWxsQ2hlY2tib3hTdGF0ZSwgU2VsZWN0YWJsZU1vZGUsIFNlbGVjdGFibGVTZXR0aW5ncyB9IGZyb20gJ0Bwcm9ncmVzcy9rZW5kby1hbmd1bGFyLWdyaWQnO1xuaW1wb3J0IHsgY2hldnJvbkRvd25JY29uLCBjaGV2cm9uVXBJY29uLCBtb3JlVmVydGljYWxJY29uLCBTVkdJY29uIH0gZnJvbSAnQHByb2dyZXNzL2tlbmRvLXN2Zy1pY29ucyc7XG5cblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnbmctdGVtcGxhdGVbdHlwZV0nXG59KVxuZXhwb3J0IGNsYXNzIEN1c3RvbUNvbHVtblRlbXBsYXRlIHtcbiAgQElucHV0KCkgdHlwZTogc3RyaW5nID0gXCJcIjtcbiAgY29uc3RydWN0b3IocHVibGljIHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxDb21wb25lbnQ+KSB7IH1cbn1cblxuY29uc3QgY3JlYXRlRm9ybUdyb3VwID0gKGRhdGFJdGVtOiBhbnkpOiBGb3JtR3JvdXAgPT4ge1xuICBjb25zdCBmb3JtID0gbmV3IEZvcm1Hcm91cCh7fSk7XG4gIGZvciAobGV0IGRhdGEgb2YgT2JqZWN0LmtleXMoZGF0YUl0ZW0pKSB7XG4gICAgZm9ybS5hZGRDb250cm9sKGRhdGEsIG5ldyBGb3JtQ29udHJvbChkYXRhSXRlbVtkYXRhXSwgVmFsaWRhdG9ycy5yZXF1aXJlZCkpXG4gIH1cbiAgcmV0dXJuIGZvcm1cbn07XG5cblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItZ3JpZC1wYWdpbmF0aW9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2dyaWQtcGFnaW5hdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2dyaWQtcGFnaW5hdGlvbi5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEdyaWRQYWdpbmF0aW9uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlckNvbnRlbnRJbml0LCBBZnRlclZpZXdJbml0IHtcblxuICBAQ29udGVudENoaWxkcmVuKEN1c3RvbUNvbHVtblRlbXBsYXRlKSBjb2x1bW5UZW1wbGF0ZXMhOiBRdWVyeUxpc3Q8Q3VzdG9tQ29sdW1uVGVtcGxhdGU+IHwgW107XG4gIEBDb250ZW50Q2hpbGQoJ211bHRpQ29sdW1uRGF0YScpIHRlbXBsYXRlUmVmITogVGVtcGxhdGVSZWY8YW55PiB8IG51bGw7XG4gIEBDb250ZW50Q2hpbGQoJ2RldGFpbFRlbXBsYXRlJykgZGV0YWlsVGVtcGxhdGUhOiBUZW1wbGF0ZVJlZjxhbnk+IHwgbnVsbDtcbiAgQENvbnRlbnRDaGlsZCgnaW1wYWN0Q29sdW1uJykgaW1wYWN0Q29sdW1uITogVGVtcGxhdGVSZWY8YW55PiB8IG51bGw7XG4gIEBWaWV3Q2hpbGQoR3JpZENvbXBvbmVudCkgZ3JpZCE6IEdyaWRDb21wb25lbnQ7XG4gIEBWaWV3Q2hpbGQoJ2dyaWRFbGVtZW50JykgZ3JpZEVsZW1lbnQhOiBFbGVtZW50UmVmO1xuICBAVmlld0NoaWxkKCdzZWxlY3RBbGxDaGVja2JveCcpIHNlbGVjdEFsbENoZWNrYm94ITogRWxlbWVudFJlZjtcbiAgQFZpZXdDaGlsZCgnc2VsZWN0QWxsTWVzc2FnZUVsZW1lbnQnKSBzZWxlY3RBbGxNZXNzYWdlRWxlbWVudCE6IEVsZW1lbnRSZWY7XG4gIEBJbnB1dCgpIHNraXA6IG51bWJlciA9IDA7XG4gIEBJbnB1dCgpIGl0ZW1OYW1lOiBzdHJpbmcgPSAnSXRlbXMnO1xuICBASW5wdXQoKSBzaG93U2VsZWN0QWxsTWVzc2FnZTogYm9vbGVhbiA9IGZhbHNlO1xuICBhbGxQYWdlc1NlbGVjdGVkOiBib29sZWFuID0gZmFsc2U7XG4gIHByZXZpb3VzU2VsZWN0QWxsU3RhdGU6IFNlbGVjdEFsbENoZWNrYm94U3RhdGUgPSAndW5jaGVja2VkJztcbiAgQE91dHB1dCgpIG9uU2VsZWN0QWxsQWNyb3NzUGFnZXMgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG4gIEBJbnB1dCgpIGNvbHVtbkRhdGE6IGFueSA9IFtdO1xuICBASW5wdXQoKSBwYWdlU2l6ZTogbnVtYmVyID0gMDtcbiAgQElucHV0KCkgcGFnZWFibGU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgc29ydGFibGU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgZ3JvdXBhYmxlOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHJlb3JkZXJhYmxlOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHJlc2l6YWJsZTogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBjaGVja0JveFdpZHRoOiBudW1iZXIgPSA0NTtcbiAgQElucHV0KCkgY2hlY2tCb3hDb2x1bW5SZXNpemFibGU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgY2hlY2tCb3hDb2x1bW5NZW51OiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIGNoZWNrQm94Q29sdW1uU2hvd1NlbGVjdGVkQWxsOiBib29sZWFuID0gdHJ1ZTtcbiAgQElucHV0KCkgY2hlY2tCb3hSZXF1aXJlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBjb2x1bW5NZW51OiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIG1vZGU6IFNlbGVjdGFibGVNb2RlIHwgdW5kZWZpbmVkID0gJ211bHRpcGxlJztcbiAgQElucHV0KCkgY2hlY2tib3hPbmx5ID0gdHJ1ZTtcbiAgQElucHV0KCkgZHJhZ0NvbHVtbnMgPSBmYWxzZTtcbiAgQElucHV0KCkgbmF2aWdhYmxlOiBib29sZWFuID0gdHJ1ZTtcbiAgQElucHV0KCkgZ3JpZEhlaWdodCE6IGFueTtcbiAgQElucHV0KCkgZ3JpZFJvd1NlbGVjdEJ5VmFsdWU6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBub1JlY29yZHNDb250ZW50OiBzdHJpbmcgPSAnTm8gcmVjb3JkcyBhcmUgYXZhaWxhYmxlIHlldC4nO1xuICBAT3V0cHV0KCkgc2VsZWN0ZWRSb3dEYXRhID0gbmV3IEV2ZW50RW1pdHRlcjxhbnlbXT4oKTtcbiAgQElucHV0KCkgc2hvd1Rvb2xiYXI6IGJvb2xlYW4gPSBmYWxzZTtcbiAgZXh0cmFjdERhdGFJdGVtczogYW55O1xuICBzZWxlY3RhYmxlU2V0dGluZ3M6IFNlbGVjdGFibGVTZXR0aW5ncyA9IHt9O1xuICBASW5wdXQoKSBrZWJhYkxpc3Q6IGFueSA9IFtdO1xuICBASW5wdXQoKSBzaG93S2ViYWI6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQE91dHB1dCgpIHJvd0RldGFpbHMgPSBuZXcgRXZlbnRFbWl0dGVyPGFueVtdPigpO1xuICBAT3V0cHV0KCkga2ViYWJJdGVtQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQElucHV0KCkgaWNvbjogU1ZHSWNvbiA9IG1vcmVWZXJ0aWNhbEljb247XG4gIEBJbnB1dCgpIGtlYmFiQ29sdW1uV2lkdGg6IG51bWJlciA9IDkwO1xuICBkYXRhOiBhbnkgPSBbXTtcbiAgQElucHV0KCkgc2VsZWN0Q29sdW1uID0gJyc7XG4gIEBPdXRwdXQoKSByb3dEYXRhT2ZDbGlja2VkQ2VsbCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBfcHJlU2VsZWN0ZWQ6IGFueVtdID0gW107XG4gIEBJbnB1dCgpIHNldCBwcmVTZWxlY3RlZCh2YWx1ZTogYW55W10pIHtcbiAgICB0aGlzLl9wcmVTZWxlY3RlZCA9IHZhbHVlO1xuICAgIHRoaXMuaW5pdEdyaWQoKTtcbiAgfVxuICBfZ3JpZFZpZXc6IEdyaWREYXRhUmVzdWx0ID0geyBkYXRhOiBbXSwgdG90YWw6IDAgfTtcbiAgQElucHV0KCkgc2V0IGdyaWRWaWV3KHZhbHVlOiBHcmlkRGF0YVJlc3VsdCkge1xuICAgIHRoaXMuX2dyaWRWaWV3ID0gdmFsdWU7XG4gIH1cbiAgcHJlU2VsZWN0ZWRSZWNvcmRzOiBhbnlbXSA9IFtdO1xuICBAT3V0cHV0KCkgb25QYWdlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBJbnB1dCgpIGlnbm9yZUNvbHVtbkNlbGxDbGljazogbnVtYmVyW10gPSBbXTtcbiAgQElucHV0KCkgYWxsb3dDb2x1bW5DbGljazogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBzb3J0OiBTb3J0RGVzY3JpcHRvcltdID0gW1xuICAgIHtcbiAgICAgIGZpZWxkOiAnJyxcbiAgICAgIGRpcjogdW5kZWZpbmVkLFxuICAgIH0sXG4gIF07XG4gIEBJbnB1dCgpIGhhc0FwaVNvcnRpbmcgPSBmYWxzZTtcbiAgQE91dHB1dCgpIHNvcnREaXJlY3Rpb24gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgcHVibGljIGFycm93RG93bkljb246IFNWR0ljb24gPSBjaGV2cm9uRG93bkljb247XG4gIHB1YmxpYyBhcnJvd1VwSWNvbjogU1ZHSWNvbiA9IGNoZXZyb25VcEljb247XG4gIEBJbnB1dCgpIGV4cGFuZFJvd0luZGV4OiBudW1iZXJbXSA9IFtdO1xuICBASW5wdXQoKSBjdXN0b21FeHBhbmRSb3dDb2x1bW46IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgZGVsZXRlQ29sdW1uV2lkdGg6IG51bWJlciA9IDQyO1xuICBleHBhbmRSb3dDb2x1bW5XaWR0aDogbnVtYmVyID0gNTY7XG4gIEBPdXRwdXQoKSBkZWxldGVkUm93RGF0YSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBASW5wdXQoKSBzaXplczogYW55W10gPSBbXTtcbiAgX3BhZ2VDb3VudDogbnVtYmVyID0gMDtcbiAgQElucHV0KCkgc2V0IHBhZ2VDb3VudCh2YWx1ZTogbnVtYmVyKSB7XG4gICAgdGhpcy5fcGFnZUNvdW50ID0gdmFsdWUgPiAxMCA/IDEwIDogdmFsdWU7XG4gIH1cbiAgQElucHV0KCkgc2hvd0RlbGV0ZUNvbHVtbiA9IGZhbHNlO1xuICBASW5wdXQoKSBoaWRlS2ViYWJSb3dJbmRleDogbnVtYmVyW10gPSBbXTtcbiAgQElucHV0KCkgbG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBsb2FkZXJUeXBlOiBMb2FkZXJUeXBlID0gTG9hZGVyVHlwZS5wdWxzaW5nO1xuICBASW5wdXQoKSBsb2FkZXJTaXplOiBMb2FkZXJTaXplID0gTG9hZGVyU2l6ZS5tZWRpdW07XG4gIEBJbnB1dCgpIGxvYWRlclRoZW1lOiBMb2FkZXJUaGVtZUNvbG9yID0gTG9hZGVyVGhlbWVDb2xvci5wcmltYXJ5O1xuICBpbml0aWFsR3JpZEhlaWdodDogYW55O1xuICBncmlkQm90dG9tU3BhY2UgPSAyNDtcbiAgcmVzaXplSGVpZ2h0OiBhbnkgPSAwO1xuICBzZWxlY3RBbGxTdGF0ZTogU2VsZWN0QWxsQ2hlY2tib3hTdGF0ZSA9ICd1bmNoZWNrZWQnO1xuICBzZWxlY3RlZEl0ZW1Db3VudDogbnVtYmVyID0gMDtcbiAgc2VsZWN0ZWRSb3dzOiBhbnlbXSA9IFtdO1xuICBASW5wdXQoKSBkaXNhYmxlUHJlU2VsZWN0ZWRSb3dzID0gZmFsc2U7XG4gIHB1YmxpYyBmb3JtR3JvdXAhOiBGb3JtR3JvdXAgfCBhbnk7XG4gIEBPdXRwdXQoKSB1cGRhdGVkRGF0YSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBASW5wdXQoKSBhbGxvd0VkaXRpbmdDZWxsID0gZmFsc2U7XG4gIEBJbnB1dCgpIGNvbHVtbkNvbnRlbnROb1dyYXAgPSBmYWxzZTtcbiAgQElucHV0KCkgaW5maW5pdGVTY3JvbGxMb2FkZXIgPSBmYWxzZTtcbiAgQE91dHB1dCgpIG9uc2Nyb2xsQm90dG9tID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBJbnB1dCgpIGlzSW5maW5pdGVTY3JvbGxHcmlkOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIGdyaWRMb2FkaW5nOiBib29sZWFuID0gZmFsc2U7XG4gIHNlbGVjdEFsbE1zZ1BhcmVudEVsZW1lbnQ6IGFueTtcbiAgQElucHV0KCkgbWluUmVzaXphYmxlV2lkdGggPSA1MDtcbiAgQElucHV0KCkgc2hvd1JlZnJlc2ggPSBmYWxzZTtcbiAgQElucHV0KCkgaXNLZWJhYkNvbHVtblN0aWNreSA9IGZhbHNlO1xuICBASW5wdXQoKSBpc0NoZWNrQm94Q29sdW1uU3RpY2t5ID0gZmFsc2U7XG4gIEBJbnB1dCgpIGlzRGVsZXRlQ29sdW1uU3RpY2t5ID0gZmFsc2U7XG4gIEBPdXRwdXQoKSBlbWl0UmVmcmVzaEV2dCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQElucHV0KCkgaXNTZWxlY3RBbGxDaGVja2JveFJlcXVpcmVkID0gdHJ1ZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNkUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjJcbiAgKSB7XG4gICAgdGhpcy5zZXRTZWxlY3RhYmxlU2V0dGluZ3MoKTtcbiAgfVxuXG4gIGNvbHVtblRlbXBsYXRlRGljdDogYW55ID0ge307XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5jb2x1bW5EYXRhLmZvckVhY2goKGNvbHVtbjogYW55LCBpbmRleDogbnVtYmVyKSA9PiB7XG4gICAgICBjb2x1bW4uc29ydGFibGUgPSBjb2x1bW4uc29ydGFibGUgPT0gdW5kZWZpbmVkID8gdHJ1ZSA6IGNvbHVtbi5zb3J0YWJsZTtcbiAgICAgIGlmICghdGhpcy5pZ25vcmVDb2x1bW5DZWxsQ2xpY2suaW5jbHVkZXMoaW5kZXgpKSB7XG4gICAgICAgIGNvbHVtbi5jbGFzcyA9ICdjb2x1bW4tY3Vyc29yLXBvaW50ZXInO1xuICAgICAgfVxuICAgIH0pXG4gICAgaWYgKCF0aGlzLmhhc0FwaVNvcnRpbmcpIHtcbiAgICAgIHRoaXMubG9hZEdyaWREYXRhKCk7XG4gICAgfVxuICB9XG5cbiAgc2Nyb2xsQm90dG9tKCkge1xuICAgIHRoaXMub25zY3JvbGxCb3R0b20uZW1pdCgpO1xuICB9XG5cbiAgZ2V0UG9zaXRpb24oKTogYW55IHtcbiAgICBpZiAodGhpcy5zaG93VG9vbGJhciAmJiB0aGlzLmluZmluaXRlU2Nyb2xsTG9hZGVyKSB7XG4gICAgICByZXR1cm4gJ2JvdGgnO1xuICAgIH0gZWxzZSBpZiAodGhpcy5zaG93VG9vbGJhcikge1xuICAgICAgcmV0dXJuICd0b3AnO1xuICAgIH0gZWxzZSBpZiAodGhpcy5pbmZpbml0ZVNjcm9sbExvYWRlcikge1xuICAgICAgcmV0dXJuICdib3R0b20nO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICB9XG5cbiAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5wYWdlYWJsZSkge1xuICAgICAgdGhpcy5wYWdlU2l6ZSA9IHRoaXMuX2dyaWRWaWV3LmRhdGE/Lmxlbmd0aDtcbiAgICB9XG4gICAgdGhpcy5jb2x1bW5UZW1wbGF0ZXMuZm9yRWFjaCh4ID0+IHRoaXMuY29sdW1uVGVtcGxhdGVEaWN0W3gudHlwZV0gPSB4LnRlbXBsYXRlKTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICB0aGlzLmluaXRHcmlkKCk7XG4gIH1cblxuICBpbml0R3JpZCgpIHtcbiAgICBpZiAodGhpcy5jdXN0b21FeHBhbmRSb3dDb2x1bW4pIHtcbiAgICAgIHRoaXMuZXhwYW5kUm93SW5kZXguZm9yRWFjaCgoaWQpID0+IHtcbiAgICAgICAgdGhpcy5ncmlkLmV4cGFuZFJvdyhpZCk7XG4gICAgICB9KTtcbiAgICB9XG4gICAgdGhpcy5zZWxlY3RlZFJvd3MgPSB0aGlzLl9wcmVTZWxlY3RlZDtcblxuICAgIGlmICh0aGlzLnNlbGVjdGVkUm93cz8ubGVuZ3RoID4gMCkge1xuICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRSb3dzPy5sZW5ndGggPT0gdGhpcy5fZ3JpZFZpZXcudG90YWwpIHtcbiAgICAgICAgdGhpcy5zZWxlY3RBbGxTdGF0ZSA9ICdjaGVja2VkJztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuc2VsZWN0QWxsU3RhdGUgPSAnaW5kZXRlcm1pbmF0ZSc7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2VsZWN0QWxsU3RhdGUgPSAndW5jaGVja2VkJztcbiAgICB9XG4gICAgaWYgKHRoaXMuZ3JpZEVsZW1lbnQpIHtcbiAgICAgIHRoaXMuaW5pdGlhbEdyaWRIZWlnaHQgPVxuICAgICAgICB0aGlzLmdyaWRFbGVtZW50Py5uYXRpdmVFbGVtZW50Py5vZmZzZXRIZWlnaHQgKyB0aGlzLmdyaWRCb3R0b21TcGFjZTtcbiAgICAgIC8vIHRoaXMuZ2V0R3JpZEhlaWdodCgpO1xuXG4gICAgICBjb25zdCBncmlkQ29udGFpbmVyID0gdGhpcy5ncmlkRWxlbWVudD8ubmF0aXZlRWxlbWVudD8uZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgnay1ncmlkLWNvbnRhaW5lcicpWzBdO1xuICAgICAgaWYgKGdyaWRDb250YWluZXIgJiYgdGhpcy5zZWxlY3RBbGxNZXNzYWdlRWxlbWVudD8ubmF0aXZlRWxlbWVudCkge1xuICAgICAgICB0aGlzLnJlbmRlcmVyLmluc2VydEJlZm9yZShcbiAgICAgICAgICBncmlkQ29udGFpbmVyLnBhcmVudEVsZW1lbnQsXG4gICAgICAgICAgdGhpcy5zZWxlY3RBbGxNZXNzYWdlRWxlbWVudD8ubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICBncmlkQ29udGFpbmVyLFxuICAgICAgICAgIHRydWVcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IHNlbGVjdEFsbENoZWNrYm94ID0gdGhpcy5ncmlkRWxlbWVudD8ubmF0aXZlRWxlbWVudD8ucXVlcnlTZWxlY3RvcignLnNlbGVjdC1hbGwtaGVhZGVyIGlucHV0Jyk7XG4gICAgICBpZiAoc2VsZWN0QWxsQ2hlY2tib3gpIHtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRQcm9wZXJ0eShzZWxlY3RBbGxDaGVja2JveCwgJ2Rpc2FibGVkJywgdGhpcy5jYW5FbmFibGVTZWxlY3RBbGwoKSk7XG4gICAgICB9XG4gICAgICB0aGlzLmNkUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG4gIH1cblxuICBzZWxlY3RBY3Jvc3NQYWdlcyhpc1NlbGVjdGVkOiBib29sZWFuKSB7XG4gICAgdGhpcy50cmlnZ2VyU2VsZWN0QWxsUGFnZXNFdmVudChpc1NlbGVjdGVkKTtcbiAgICBpZiAoIWlzU2VsZWN0ZWQpIHtcbiAgICAgIHRoaXMub25TZWxlY3RBbGxDaGFuZ2UodGhpcy5wcmV2aW91c1NlbGVjdEFsbFN0YXRlKVxuICAgIH1cbiAgfVxuXG4gIHRyaWdnZXJTZWxlY3RBbGxQYWdlc0V2ZW50KGlzU2VsZWN0ZWQ6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmFsbFBhZ2VzU2VsZWN0ZWQgPSBpc1NlbGVjdGVkO1xuICAgIHRoaXMub25TZWxlY3RBbGxBY3Jvc3NQYWdlcy5lbWl0KGlzU2VsZWN0ZWQpO1xuICAgIHRoaXMuc2VsZWN0ZWRJdGVtQ291bnQgPSBpc1NlbGVjdGVkID8gdGhpcy5fZ3JpZFZpZXcudG90YWwgOiAwO1xuICAgIGNvbnNvbGUubG9nKCd0cmlnZ2VyU2VsZWN0QWxsUGFnZXNFdmVudCA6IGlzU2VsZWN0ZWQnLCBpc1NlbGVjdGVkKTtcbiAgfVxuXG4gIGFkZFNlbGVjdEFsbE1lc3NhZ2Uoc2VsZWN0QWxsOiBib29sZWFuKSB7XG4gICAgdGhpcy5zZWxlY3RBbGxNc2dQYXJlbnRFbGVtZW50ID0gdGhpcy5zZWxlY3RBbGxNZXNzYWdlRWxlbWVudD8ubmF0aXZlRWxlbWVudD8ucGFyZW50RWxlbWVudDtcbiAgICBpZiAodGhpcy5zaG93U2VsZWN0QWxsTWVzc2FnZSAmJiB0aGlzLnNlbGVjdEFsbE1zZ1BhcmVudEVsZW1lbnQgJiYgKHRoaXMuX3BhZ2VDb3VudCA+IDEgfHwgdGhpcy5pc0luZmluaXRlU2Nyb2xsR3JpZCkpIHtcbiAgICAgIGNvbnN0IHNlbGVjdEFsbE1zZ0VsZW1lbnQgPSB0aGlzLnNlbGVjdEFsbE1lc3NhZ2VFbGVtZW50Py5uYXRpdmVFbGVtZW50Py5xdWVyeVNlbGVjdG9yKCcubGliLWdyaWQtc2VsZWN0LWFsbC1tZXNzYWdlLWNvbnRhaW5lcicpO1xuICAgICAgaWYgKHNlbGVjdEFsbCkge1xuICAgICAgICBjb25zdCBiZWZvcmVIZWlnaHQgPSB0aGlzLnNlbGVjdEFsbE1zZ1BhcmVudEVsZW1lbnQub2Zmc2V0SGVpZ2h0O1xuXG4gICAgICAgIHNlbGVjdEFsbE1zZ0VsZW1lbnQ/LmNsYXNzTGlzdC5hZGQoJ2xpYi1ncmlkLXNlbGVjdC1hbGwtbWVzc2FnZS1zaG93Jyk7XG5cbiAgICAgICAgY29uc3QgYWZ0ZXJIZWlnaHQgPSB0aGlzLnNlbGVjdEFsbE1zZ1BhcmVudEVsZW1lbnQub2Zmc2V0SGVpZ2h0O1xuICAgICAgICB0aGlzLnNlbGVjdEFsbE1zZ1BhcmVudEVsZW1lbnQuc3R5bGUuaGVpZ2h0ID0gKHRoaXMuc2VsZWN0QWxsTXNnUGFyZW50RWxlbWVudC5vZmZzZXRIZWlnaHQgLSAoYWZ0ZXJIZWlnaHQgLSBiZWZvcmVIZWlnaHQpKSArICdweCc7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzZWxlY3RBbGxNc2dFbGVtZW50Py5jbGFzc0xpc3QucmVtb3ZlKCdsaWItZ3JpZC1zZWxlY3QtYWxsLW1lc3NhZ2Utc2hvdycpO1xuICAgICAgICBpZiAodGhpcy5hbGxQYWdlc1NlbGVjdGVkKSB7XG4gICAgICAgICAgdGhpcy50cmlnZ2VyU2VsZWN0QWxsUGFnZXNFdmVudChmYWxzZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwYWdlQ2hhbmdlKGV2ZW50OiBQYWdlQ2hhbmdlRXZlbnQpIHtcbiAgICBpZiAodGhpcy5zZWxlY3RBbGxNc2dQYXJlbnRFbGVtZW50KSB7XG4gICAgICB0aGlzLnNlbGVjdEFsbE1zZ1BhcmVudEVsZW1lbnQuc3R5bGUuaGVpZ2h0ID0gJydcbiAgICB9XG4gICAgdGhpcy5vblBhZ2VDaGFuZ2UuZW1pdChldmVudCk7XG4gIH1cblxuICBzZXRTZWxlY3RhYmxlU2V0dGluZ3MoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuY2hlY2tib3hPbmx5IHx8IHRoaXMubW9kZSA9PT0gJ3NpbmdsZScpIHtcbiAgICAgIHRoaXMuZHJhZ0NvbHVtbnMgPSBmYWxzZTtcbiAgICB9XG5cbiAgICB0aGlzLnNlbGVjdGFibGVTZXR0aW5ncyA9IHtcbiAgICAgIGNoZWNrYm94T25seTogdGhpcy5jaGVja2JveE9ubHksXG4gICAgICBtb2RlOiB0aGlzLm1vZGUsXG4gICAgICBkcmFnOiB0aGlzLmRyYWdDb2x1bW5zLFxuICAgIH07XG4gIH1cblxuICAvLyBXZSBjYW4gZXh0cmFjdCBkYXRhIG91dCBvZiByb3cgbnVtYmVyIHVzaW5nIGJlbG93IGZ1bmN0aW9uXG4gIC8qIGV4dHJhY3QoKSB7XG4gICAgdGhpcy5leHRyYWN0RGF0YUl0ZW1zID0gdGhpcy5teVNlbGVjdGlvbi5tYXAoaWR4ID0+IHtcbiAgICAgIHJldHVybiB0aGlzLmdyaWREYXRhLmZpbmQoKGRhdGE6IHsgUHJvZHVjdElEOiBudW1iZXI7IH0pID0+IGRhdGEuUHJvZHVjdElEID09PSBpZHgpO1xuICAgIH0pO1xuICAgIGNvbnNvbGUubG9nKHRoaXMuZXh0cmFjdERhdGFJdGVtcylcbiAgICB0aGlzLnNlbGVjdGVkUm93RGF0YS5lbWl0KHRoaXMuZXh0cmFjdERhdGFJdGVtcyk7XG4gIH0gKi9cblxuICBzZWxlY3RlZEtleXNDaGFuZ2Uocm93czogbnVtYmVyW10pIHtcbiAgICBsZXQgc2VsZWN0ZWRSb3dEYXRhOiBhbnkgPSBbXTtcbiAgICBsZXQgc2VsZWN0ZWRSb3dzQ291bnQgPSAwO1xuXG4gICAgaWYgKHJvd3M/Lmxlbmd0aCA+IDApIHtcbiAgICAgIHNlbGVjdGVkUm93c0NvdW50ID0gcm93cz8ubGVuZ3RoO1xuICAgIH0gZWxzZSBpZiAodGhpcy5zZWxlY3RlZFJvd3M/Lmxlbmd0aCA+IDAgJiYgdGhpcy5kaXNhYmxlUHJlU2VsZWN0ZWRSb3dzKSB7XG4gICAgICBzZWxlY3RlZFJvd3NDb3VudCA9IHRoaXMuc2VsZWN0ZWRSb3dzPy5sZW5ndGg7XG4gICAgICByb3dzID0gdGhpcy5zZWxlY3RlZFJvd3M7XG4gICAgfVxuICAgIHRoaXMucHJldmlvdXNTZWxlY3RBbGxTdGF0ZSA9IHRoaXMuc2VsZWN0QWxsU3RhdGU7XG4gICAgdGhpcy5zZWxlY3RBbGxTdGF0ZSA9IHRoaXMuZ2V0U2VsZWN0QWxsU3RhdGUoc2VsZWN0ZWRSb3dzQ291bnQpO1xuICAgIGlmICh0aGlzLnNlbGVjdEFsbFN0YXRlID09PSAndW5jaGVja2VkJyB8fCB0aGlzLnNlbGVjdEFsbFN0YXRlID09PSAnaW5kZXRlcm1pbmF0ZScpIHtcbiAgICAgIHRoaXMuYWRkU2VsZWN0QWxsTWVzc2FnZShmYWxzZSk7XG4gICAgfVxuXG4gICAgc2VsZWN0ZWRSb3dEYXRhID0gcm93cy5tYXAocm93RGF0YSA9PiB7XG4gICAgICByZXR1cm4gdGhpcy5fZ3JpZFZpZXcuZGF0YS5maW5kKChkYXRhKSA9PiBkYXRhW3RoaXMuZ3JpZFJvd1NlbGVjdEJ5VmFsdWVdID09PSByb3dEYXRhKTtcbiAgICB9KTtcblxuICAgIHRoaXMuc2VsZWN0ZWRSb3dEYXRhLmVtaXQoc2VsZWN0ZWRSb3dEYXRhKTtcbiAgfVxuXG4gIGdldFNlbGVjdEFsbFN0YXRlKHNlbGVjdGVkUm93c0NvdW50OiBudW1iZXIpOiBhbnkge1xuICAgIGlmIChzZWxlY3RlZFJvd3NDb3VudCA9PSB0aGlzLl9ncmlkVmlldy50b3RhbCkge1xuICAgICAgdGhpcy5zZWxlY3RBbGxTdGF0ZSA9ICdjaGVja2VkJztcbiAgICB9IGVsc2UgaWYgKHNlbGVjdGVkUm93c0NvdW50ID09IDApIHtcbiAgICAgIHRoaXMuc2VsZWN0QWxsU3RhdGUgPSAndW5jaGVja2VkJztcbiAgICAgIHRoaXMuYWRkU2VsZWN0QWxsTWVzc2FnZShmYWxzZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2VsZWN0QWxsU3RhdGUgPSAnaW5kZXRlcm1pbmF0ZSc7XG4gICAgICB0aGlzLmFkZFNlbGVjdEFsbE1lc3NhZ2UoZmFsc2UpO1xuICAgIH1cbiAgfVxuXG4gIG9uS2ViYWJDbGljayhpdGVtOiBhbnksIHJvd0RldGFpbHM6IGFueSkge1xuICAgIHRoaXMua2ViYWJJdGVtQ2xpY2suZW1pdCh7IGFjdGlvbjogaXRlbSwgcm93RGV0YWlscyB9KTtcbiAgfVxuXG4gIG9uRGV0YWlsRXhwYW5kKHJvd0RhdGE6IGFueSkge1xuICAgIHRoaXMucm93RGV0YWlscy5lbWl0KHJvd0RhdGEuZGF0YUl0ZW0pO1xuICB9XG5cbiAgY2VsbENsaWNrSGFuZGxlcihhcmdzOiBDZWxsQ2xpY2tFdmVudCkge1xuICAgIGlmICh0aGlzLmFsbG93Q29sdW1uQ2xpY2spIHtcbiAgICAgIGlmICh0aGlzLmlnbm9yZUNvbHVtbkNlbGxDbGljay5pbmNsdWRlcyhhcmdzLmNvbHVtbkluZGV4KSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICB0aGlzLnJvd0RhdGFPZkNsaWNrZWRDZWxsLmVtaXQoeyBkYXRhSXRlbTogYXJncy5kYXRhSXRlbSwgY29sdW1uSW5kZXg6IGFyZ3MuY29sdW1uSW5kZXggfSk7XG4gICAgfVxuICAgIGlmICh0aGlzLmFsbG93RWRpdGluZ0NlbGwpIHtcbiAgICAgIHRoaXMuZm9ybUdyb3VwID0gY3JlYXRlRm9ybUdyb3VwKGFyZ3MuZGF0YUl0ZW0pO1xuICAgICAgYXJncy5zZW5kZXIuZWRpdENlbGwoYXJncy5yb3dJbmRleCwgYXJncy5jb2x1bW5JbmRleCwgdGhpcy5mb3JtR3JvdXApO1xuICAgIH1cbiAgfVxuXG4gIHNvcnRDaGFuZ2Uoc29ydDogU29ydERlc2NyaXB0b3JbXSk6IHZvaWQge1xuICAgIHRoaXMuc29ydCA9IHNvcnQ7XG4gICAgaWYgKCF0aGlzLmhhc0FwaVNvcnRpbmcpIHtcbiAgICAgIHRoaXMubG9hZEdyaWREYXRhKCk7XG4gICAgfVxuICAgIHRoaXMuc29ydERpcmVjdGlvbi5lbWl0KHRoaXMuc29ydCk7XG4gIH1cblxuICBsb2FkR3JpZERhdGEoKTogdm9pZCB7XG4gICAgdGhpcy5fZ3JpZFZpZXcgPSB7XG4gICAgICBkYXRhOiBvcmRlckJ5KHRoaXMuX2dyaWRWaWV3Py5kYXRhLCB0aGlzLnNvcnQpLFxuICAgICAgdG90YWw6IHRoaXMuX2dyaWRWaWV3Py50b3RhbCxcbiAgICB9O1xuICB9XG5cbiAgZXhwYW5kUm93KGlkOiBudW1iZXIpIHtcbiAgICB0aGlzLmdyaWQuZXhwYW5kUm93KGlkKTtcbiAgICB0aGlzLmV4cGFuZFJvd0luZGV4LnB1c2goaWQpO1xuICAgIC8vIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgIC8vICAgdGhpcy5nZXRHcmlkSGVpZ2h0KCk7XG4gICAgLy8gfSwgMCk7XG4gIH1cblxuICBjb2xsYXBzZVJvdyhpZDogbnVtYmVyKSB7XG4gICAgdGhpcy5ncmlkLmNvbGxhcHNlUm93KGlkKTtcbiAgICB0aGlzLmV4cGFuZFJvd0luZGV4LnNwbGljZSh0aGlzLmV4cGFuZFJvd0luZGV4LmluZGV4T2YoaWQpLCAxKTtcbiAgICAvLyBpZiAodGhpcy5leHBhbmRSb3dJbmRleD8ubGVuZ3RoID09IDApIHtcbiAgICAvLyAgIGNvbnN0IHdpbmRvd0hlaWdodCA9IHdpbmRvdy5pbm5lckhlaWdodDtcbiAgICAvLyAgIGNvbnN0IHZpZXdwb3J0OiBhbnkgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbGliLWdyaWQnKTtcbiAgICAvLyAgIGNvbnN0IGdyaWRPZmZzZXQgPSB2aWV3cG9ydC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS50b3AgKyB3aW5kb3cuc2Nyb2xsWTtcbiAgICAvLyAgIGlmICh3aW5kb3dIZWlnaHQgPiBncmlkT2Zmc2V0ICsgdGhpcy5pbml0aWFsR3JpZEhlaWdodCkge1xuICAgIC8vICAgICB0aGlzLmhlaWdodCA9ICcxMDAlJztcbiAgICAvLyAgICAgcmV0dXJuO1xuICAgIC8vICAgfVxuICAgIC8vICAgLy8gdGhpcy5nZXRHcmlkSGVpZ2h0KCk7XG4gICAgLy8gfVxuICB9XG5cbiAgb25EZWxldGUocm93RGV0YWlsczogYW55KSB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLmdldEhlYWRlckhlaWdodCgpO1xuICAgIH0sIDEwMDApO1xuICAgIHRoaXMuZGVsZXRlZFJvd0RhdGEuZW1pdChyb3dEZXRhaWxzKTtcbiAgfVxuXG4gIGdldEhlYWRlckhlaWdodCgpIHtcbiAgICBpZiAodGhpcy5fZ3JpZFZpZXc/LmRhdGE/Lmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuICdoaWRlLWhlYWRlcic7XG4gICAgfVxuICAgIHJldHVybiAndmlldy1oZWFkZXInO1xuICB9XG5cbiAgLypcbiAgICogVGhpcyBsb2dpYyBvZiBkeW5hbWljYWxseSBjYWxjdWxhdGluZyB0aGUgaGVpZ2h0IG9mIGdyaWQgbmVlZCBmdXJ0aGVyIGJyYWluc3Rvcm1pbmcgaGVuY2UgY29tbWVudGVkIGZvciBub3cuXG4gICAqL1xuICAvLyBnZXRHcmlkSGVpZ2h0KCkge1xuICAvLyAgIGNvbnN0IHdpbmRvd0hlaWdodCA9IHdpbmRvdy5pbm5lckhlaWdodDtcbiAgLy8gICBjb25zdCB2aWV3cG9ydDogYW55ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xpYi1ncmlkJyk7XG4gIC8vICAgY29uc3QgZ3JpZE9mZnNldCA9IHZpZXdwb3J0LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcCArIHdpbmRvdy5zY3JvbGxZO1xuICAvLyAgIGNvbnN0IGdyaWRIZWlnaHQgPVxuICAvLyAgICAgdGhpcy5ncmlkRWxlbWVudC5uYXRpdmVFbGVtZW50Lm9mZnNldEhlaWdodCArIHRoaXMuZ3JpZEJvdHRvbVNwYWNlOyAvL2dyaWQgc2hvdWxkIGhhdmUgMjRweCBzcGFjZSBhdCBib3R0b21cbiAgLy8gICBpZiAoZ3JpZE9mZnNldCArIGdyaWRIZWlnaHQgPj0gd2luZG93SGVpZ2h0KSB7XG4gIC8vICAgICB0aGlzLmhlaWdodCA9IHdpbmRvd0hlaWdodCAtIChncmlkT2Zmc2V0ICsgdGhpcy5ncmlkQm90dG9tU3BhY2UpO1xuICAvLyAgIH1cbiAgLy8gfVxuXG4gIC8vIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpyZXNpemUnLCBbJyRldmVudCddKVxuICAvLyByZXNpemUoZXY6IGFueSkge1xuICAvLyAgIGlmIChldi50YXJnZXQuaW5uZXJIZWlnaHQgPiB0aGlzLnJlc2l6ZUhlaWdodCkge1xuICAvLyAgICAgdGhpcy5yZXNpemVIZWlnaHQgPSBldi50YXJnZXQuaW5uZXJIZWlnaHQ7XG4gIC8vICAgICB0aGlzLmhlaWdodCA9ICcxMDAlJztcbiAgLy8gICB9XG4gIC8vICAgaWYgKHRoaXMucmVzaXplSGVpZ2h0ID4gd2luZG93LmlubmVySGVpZ2h0KSB7XG4gIC8vICAgICB0aGlzLnJlc2l6ZUhlaWdodCA9IDA7XG4gIC8vICAgfVxuICAvLyAgIHRoaXMuZ2V0R3JpZEhlaWdodCgpO1xuICAvLyB9XG5cbiAgcm93Q2xhc3MgPSAoYXJnczogUm93Q2xhc3NBcmdzKSA9PiB7XG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRSb3dzICYmIHRoaXMuZGlzYWJsZVByZVNlbGVjdGVkUm93cykge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgJ2stZGlzYWJsZWQnOiB0aGlzLnNlbGVjdGVkUm93cy5pbmNsdWRlcyhcbiAgICAgICAgICBhcmdzLmRhdGFJdGVtW3RoaXMuZ3JpZFJvd1NlbGVjdEJ5VmFsdWVdXG4gICAgICAgICkgfHwgdGhpcy5hbGxQYWdlc1NlbGVjdGVkLFxuICAgICAgfTtcbiAgICB9XG4gICAgcmV0dXJuICcnO1xuICB9O1xuXG4gIGV4cGFuZENvbHVtbkNsYXNzKCkge1xuICAgIGlmICh0aGlzLnNlbGVjdGVkUm93cz8ubGVuZ3RoID4gMCAmJiB0aGlzLmRpc2FibGVQcmVTZWxlY3RlZFJvd3MpIHtcbiAgICAgIHRoaXMuZXhwYW5kUm93Q29sdW1uV2lkdGggPSAxOTQ7XG4gICAgICByZXR1cm4gJ2V4cGFuZC1yb3cnO1xuICAgIH1cbiAgICB0aGlzLmV4cGFuZFJvd0NvbHVtbldpZHRoID0gNTY7XG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAgb25TZWxlY3RBbGxDaGFuZ2UoY2hlY2tlZFN0YXRlOiBTZWxlY3RBbGxDaGVja2JveFN0YXRlKTogdm9pZCB7XG4gICAgaWYgKFxuICAgICAgY2hlY2tlZFN0YXRlID09PSAnY2hlY2tlZCdcbiAgICApIHtcbiAgICAgIHRoaXMuX3ByZVNlbGVjdGVkID0gdGhpcy5fZ3JpZFZpZXcuZGF0YVxuICAgICAgICAubWFwKChpdGVtOiBhbnkpID0+IGl0ZW1bdGhpcy5ncmlkUm93U2VsZWN0QnlWYWx1ZV0pXG4gICAgICAgIC5maWx0ZXIoKGlkOiBhbnkpID0+IGlkKTtcbiAgICAgIHRoaXMuc2VsZWN0QWxsU3RhdGUgPSAnY2hlY2tlZCc7XG4gICAgICB0aGlzLnNlbGVjdGVkSXRlbUNvdW50ID0gdGhpcy5fZ3JpZFZpZXcuZGF0YS5sZW5ndGg7XG4gICAgfSBlbHNlIGlmICh0aGlzLnNlbGVjdGVkUm93cz8ubGVuZ3RoID4gMCAmJiB0aGlzLmRpc2FibGVQcmVTZWxlY3RlZFJvd3MpIHtcbiAgICAgIHRoaXMuX3ByZVNlbGVjdGVkID0gdGhpcy5zZWxlY3RlZFJvd3M7XG4gICAgICB0aGlzLnNlbGVjdEFsbFN0YXRlID0gJ2luZGV0ZXJtaW5hdGUnO1xuICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1Db3VudCA9IDA7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX3ByZVNlbGVjdGVkID0gW107XG4gICAgICB0aGlzLnNlbGVjdEFsbFN0YXRlID0gJ3VuY2hlY2tlZCc7XG4gICAgICB0aGlzLnNlbGVjdGVkSXRlbUNvdW50ID0gMDtcbiAgICB9XG4gICAgdGhpcy5hZGRTZWxlY3RBbGxNZXNzYWdlKHRoaXMuc2VsZWN0QWxsU3RhdGUgPT09ICdjaGVja2VkJyk7XG4gIH1cblxuICBjYW5FbmFibGVTZWxlY3RBbGwoKSB7XG4gICAgcmV0dXJuICh0aGlzLnNlbGVjdGVkUm93cz8ubGVuZ3RoID09IHRoaXMuX2dyaWRWaWV3LnRvdGFsICYmXG4gICAgICB0aGlzLmRpc2FibGVQcmVTZWxlY3RlZFJvd3MpXG4gIH1cblxuICBwdWJsaWMgY2VsbENsb3NlSGFuZGxlcihhcmdzOiBDZWxsQ2xvc2VFdmVudCk6IHZvaWQge1xuICAgIGxldCB7IGZvcm1Hcm91cCwgZGF0YUl0ZW0gfSA9IGFyZ3M7XG4gICAgaWYgKCFmb3JtR3JvdXAudmFsaWQpIHtcbiAgICAgIGFyZ3MucHJldmVudERlZmF1bHQoKTtcbiAgICB9IGVsc2UgaWYgKGZvcm1Hcm91cC5kaXJ0eSkge1xuICAgICAgaWYgKGFyZ3Mub3JpZ2luYWxFdmVudCAmJiBhcmdzLm9yaWdpbmFsRXZlbnQua2V5Q29kZSA9PT0gS2V5cy5Fc2NhcGUpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgT2JqZWN0LmFzc2lnbihkYXRhSXRlbSwgZm9ybUdyb3VwLnZhbHVlKTtcbiAgICAgIHRoaXMuc2F2ZUNoYW5nZXMoKTtcbiAgICAgIHRoaXMudXBkYXRlZERhdGEuZW1pdCh0aGlzLmdyaWQuZGF0YSlcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc2F2ZUNoYW5nZXMoKTogdm9pZCB7XG4gICAgdGhpcy5ncmlkLmNsb3NlQ2VsbCgpO1xuICAgIHRoaXMuZ3JpZC5jYW5jZWxDZWxsKCk7XG4gIH1cblxuICByZWZyZXNoR3JpZERhdGEoKSB7XG4gICAgdGhpcy5lbWl0UmVmcmVzaEV2dC5lbWl0KCk7XG4gIH1cblxuICBvbkNoZWZ5Q2xpY2soZTogYW55LCBkYXRhSXRlbTogYW55KSB7XG4gICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICBjb25zdCBjdXN0b21FdmVudCA9IG5ldyBDdXN0b21FdmVudCgnZ3JpZENoZWZ5Q2xpY2snLCB7XG4gICAgICBkZXRhaWw6IHtcbiAgICAgICAgZGF0YUl0ZW06IGRhdGFJdGVtXG4gICAgICB9LFxuICAgICAgYnViYmxlczogdHJ1ZSxcbiAgICAgIGNhbmNlbGFibGU6IHRydWVcbiAgICB9KTtcblxuICAgIC8vIERpc3BhdGNoIG9uIGRvY3VtZW50IHRvIG1ha2UgaXQgZ2xvYmFsbHkgYXZhaWxhYmxlXG4gICAgZG9jdW1lbnQuZGlzcGF0Y2hFdmVudChjdXN0b21FdmVudCk7XG4gIH1cblxufVxuIiwiPGRpdiAjZ3JpZEVsZW1lbnQgW25nQ2xhc3NdPVwiY29sdW1uQ29udGVudE5vV3JhcCA/ICdjb2x1bW4tY29udGVudC1ub3dyYXAnIDogJydcIj5cbiAgPGtlbmRvLWdyaWQgW2RhdGFdPVwiX2dyaWRWaWV3XCIgW3BhZ2VTaXplXT1cInBhZ2VTaXplXCIgW3NraXBdPVwic2tpcFwiIFtzZWxlY3RhYmxlXT1cInNlbGVjdGFibGVTZXR0aW5nc1wiXG4gICAgW3BhZ2VhYmxlXT1cInBhZ2VhYmxlXCIgW3NvcnRhYmxlXT1cInNvcnRhYmxlXCIgW2xvYWRpbmddPVwiZ3JpZExvYWRpbmdcIiBbZ3JvdXBhYmxlXT1cImdyb3VwYWJsZVwiXG4gICAgW3Jlb3JkZXJhYmxlXT1cInJlb3JkZXJhYmxlXCIgW3Jlc2l6YWJsZV09XCJyZXNpemFibGVcIiBbY29sdW1uTWVudV09XCJjb2x1bW5NZW51XCIgW25hdmlnYWJsZV09XCJuYXZpZ2FibGVcIlxuICAgIFtoZWlnaHRdPVwiZ3JpZEhlaWdodFwiIChjaGFuZ2UpPVwic2V0U2VsZWN0YWJsZVNldHRpbmdzKClcIiAoc2VsZWN0ZWRLZXlzQ2hhbmdlKT1cInNlbGVjdGVkS2V5c0NoYW5nZSgkZXZlbnQpXCJcbiAgICBba2VuZG9HcmlkU2VsZWN0QnldPVwiZ3JpZFJvd1NlbGVjdEJ5VmFsdWVcIiAoZGV0YWlsRXhwYW5kKT1cIm9uRGV0YWlsRXhwYW5kKCRldmVudClcIiBbc2VsZWN0ZWRLZXlzXT1cIl9wcmVTZWxlY3RlZFwiXG4gICAgKHBhZ2VDaGFuZ2UpPVwicGFnZUNoYW5nZSgkZXZlbnQpXCIgKGNlbGxDbGljayk9XCJjZWxsQ2xpY2tIYW5kbGVyKCRldmVudClcIiAoY2VsbENsb3NlKT1cImNlbGxDbG9zZUhhbmRsZXIoJGV2ZW50KVwiXG4gICAgW3NvcnRdPVwic29ydFwiIChzb3J0Q2hhbmdlKT1cInNvcnRDaGFuZ2UoJGV2ZW50KVwiIChzY3JvbGxCb3R0b20pPVwic2Nyb2xsQm90dG9tKClcIiBbbmdDbGFzc109XCJnZXRIZWFkZXJIZWlnaHQoKVwiXG4gICAgaWQ9XCJsaWItZ3JpZFwiIFtyb3dDbGFzc109XCJyb3dDbGFzc1wiPlxuICAgIDxkaXYgI3NlbGVjdEFsbE1lc3NhZ2VFbGVtZW50PlxuICAgICAgPGRpdiBjbGFzcz1cImxpYi1ncmlkLXNlbGVjdC1hbGwtbWVzc2FnZS1jb250YWluZXJcIlxuICAgICAgICAqbmdJZj1cIigoc2VsZWN0ZWRJdGVtQ291bnQgPCBfZ3JpZFZpZXcudG90YWwpIHx8IGFsbFBhZ2VzU2VsZWN0ZWQpXCI+XG4gICAgICAgIDxkaXYgKm5nSWY9XCIoc2VsZWN0ZWRJdGVtQ291bnQgPCBfZ3JpZFZpZXcudG90YWwpXCIgY2xhc3M9XCJsaWItZ3JpZC1zZWxlY3QtYWxsLW1lc3NhZ2VcIj5cbiAgICAgICAgICA8bGliLXR5cG9ncmFwaHkgW2RlZmF1bHRUZXh0XT1cIidBbGwgJytzZWxlY3RlZEl0ZW1Db3VudCsnICcraXRlbU5hbWUrJyBvbiB0aGlzIHBhZ2UgYXJlIHNlbGVjdGVkLidcIlxuICAgICAgICAgICAgdHlwZT1cIkJPRFlfU01BTExcIj48L2xpYi10eXBvZ3JhcGh5PlxuICAgICAgICAgIDx1PjxsaWItdHlwb2dyYXBoeSAoY2xpY2spPVwic2VsZWN0QWNyb3NzUGFnZXModHJ1ZSlcIiBjbGFzcz1cInNlbGVjdC1hbGwtaGFuZGxlclwiXG4gICAgICAgICAgICAgIFtkZWZhdWx0VGV4dF09XCInU2VsZWN0IGFsbCAnK19ncmlkVmlldy50b3RhbCsnICcraXRlbU5hbWUrJyBmcm9tIGFsbCBwYWdlcydcIlxuICAgICAgICAgICAgICB0eXBlPVwiQk9EWV9TTUFMTFwiPjwvbGliLXR5cG9ncmFwaHk+PC91PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiAqbmdJZj1cImFsbFBhZ2VzU2VsZWN0ZWRcIiBjbGFzcz1cImxpYi1ncmlkLXNlbGVjdC1hbGwtbWVzc2FnZVwiPlxuICAgICAgICAgIDxsaWItaWNvbiBuYW1lPVwiY2lyY2xlLWNoZWNrZWRcIiBjbGFzcz1cImFsbC1zZWxlY3RlZC1pY29uXCI+PC9saWItaWNvbj5cbiAgICAgICAgICA8bGliLXR5cG9ncmFwaHkgW2RlZmF1bHRUZXh0XT1cIidBbGwgJytfZ3JpZFZpZXcudG90YWwrJyAnK2l0ZW1OYW1lKycgYWNyb3NzIGFsbCBwYWdlcyBhcmUgc2VsZWN0ZWQuJ1wiXG4gICAgICAgICAgICB0eXBlPVwiQk9EWV9TTUFMTFwiPjwvbGliLXR5cG9ncmFwaHk+XG4gICAgICAgICAgPHU+PGxpYi10eXBvZ3JhcGh5IChjbGljayk9XCJzZWxlY3RBY3Jvc3NQYWdlcyhmYWxzZSlcIiBjbGFzcz1cInNlbGVjdC1hbGwtaGFuZGxlclwiXG4gICAgICAgICAgICAgIFtkZWZhdWx0VGV4dF09XCInQ2xlYXIgc2VsZWN0aW9uJ1wiIHR5cGU9XCJCT0RZX1NNQUxMXCI+PC9saWItdHlwb2dyYXBoeT48L3U+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPG5nLXRlbXBsYXRlIGtlbmRvR3JpZFRvb2xiYXJUZW1wbGF0ZSBbcG9zaXRpb25dPVwiZ2V0UG9zaXRpb24oKVwiIGxldC1wb3NpdGlvbj1cInBvc2l0aW9uXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2hvd1Rvb2xiYXIgJiYgcG9zaXRpb24gPT09ICd0b3AnXCI+XG4gICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNob3dSZWZyZXNoXCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInNob3dSZWZyZXNoVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpbmZpbml0ZVNjcm9sbExvYWRlciAmJiBwb3NpdGlvbiA9PT0gJ2JvdHRvbSdcIj5cbiAgICAgICAgPGxpYi1ncmlkLXBhZ2luYXRpb24tc3BhY2VyPjwvbGliLWdyaWQtcGFnaW5hdGlvbi1zcGFjZXI+XG4gICAgICAgIDxsaWItbG9hZGVyIFt0eXBlXT1cImxvYWRlclR5cGVcIiBbc2l6ZV09XCJsb2FkZXJTaXplXCIgW3RoZW1lQ29sb3JdPVwibG9hZGVyVGhlbWVcIj48L2xpYi1sb2FkZXI+XG4gICAgICAgIDxsaWItZ3JpZC1wYWdpbmF0aW9uLXNwYWNlcj48L2xpYi1ncmlkLXBhZ2luYXRpb24tc3BhY2VyPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgIDxuZy10ZW1wbGF0ZSAjc2hvd1JlZnJlc2hUZW1wbGF0ZT5cbiAgICAgIDxsaWItdG9vbHRpcCBwb3NpdGlvbj1cInRvcFwiIHNob3dPbj1cImhvdmVyXCIgW3Rvb2x0aXBXaWR0aF09XCI2OFwiIFtjYWxsb3V0XT1cInRydWVcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInRvb2x0aXAtY29udGVudFwiPlxuICAgICAgICAgIDxsaWItdHlwb2dyYXBoeSBkZWZhdWx0VGV4dD1cIlJlZnJlc2hcIj48L2xpYi10eXBvZ3JhcGh5PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGxpYi1idXR0b24gc2l6ZT1cInNtYWxsXCIgd2lkdGg9XCIyLjRyZW1cIiByb3VuZGVkPVwic21hbGxcIiBmaWxsTW9kZT1cInNvbGlkXCIgdGhlbWVDb2xvcj1cInByaW1hcnlcIiBpY29uTmFtZT1cInJlc2V0XCJcbiAgICAgICAgICBbdG9nZ2xlYWJsZV09XCJmYWxzZVwiIChidXR0b25DbGljayk9XCJyZWZyZXNoR3JpZERhdGEoKVwiIFtpY29uQnV0dG9uXT1cInRydWVcIiBbaWNvbkZvbnRTaXplXT1cIjEzXCI+PC9saWItYnV0dG9uPlxuICAgICAgPC9saWItdG9vbHRpcD5cbiAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgPG5nLXRlbXBsYXRlIGtlbmRvR3JpZExvYWRpbmdUZW1wbGF0ZT5cbiAgICAgIDxkaXYgY2xhc3M9XCJrLWxvYWRpbmctY29sb3JcIj48L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJsb2FkaW5nLWNvbnRhaW5lclwiPlxuICAgICAgICA8bGliLWxvYWRlciBbdHlwZV09XCJsb2FkZXJUeXBlXCIgW3NpemVdPVwibG9hZGVyU2l6ZVwiIFt0aGVtZUNvbG9yXT1cImxvYWRlclRoZW1lXCI+PC9saWItbG9hZGVyPlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgIDxuZy10ZW1wbGF0ZSAqbmdJZj1cInRoaXMuX2dyaWRWaWV3LnRvdGFsID09PSAwXCIga2VuZG9HcmlkTm9SZWNvcmRzVGVtcGxhdGU+XG4gICAgICA8bGliLXR5cG9ncmFwaHkgKm5nSWY9XCIhbG9hZGluZ1wiIFtkZWZhdWx0VGV4dF09XCJub1JlY29yZHNDb250ZW50XCIgdHlwZT1cIkJPRFlfTUVESVVNXCI+PC9saWItdHlwb2dyYXBoeT5cbiAgICAgIDxsaWItbG9hZGVyICpuZ0lmPVwibG9hZGluZ1wiIFt0eXBlXT1cImxvYWRlclR5cGVcIiBbc2l6ZV09XCJsb2FkZXJTaXplXCIgW3RoZW1lQ29sb3JdPVwibG9hZGVyVGhlbWVcIj48L2xpYi1sb2FkZXI+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwidGhpcy5fZ3JpZFZpZXcudG90YWwgPiAwXCI+XG4gICAgICA8a2VuZG8tZ3JpZC1jaGVja2JveC1jb2x1bW4gI3NlbGVjdEFsbENoZWNrYm94IGhlYWRlckNsYXNzPVwic2VsZWN0LWFsbC1oZWFkZXJcIiAqbmdJZj1cImNoZWNrQm94UmVxdWlyZWRcIlxuICAgICAgICBbd2lkdGhdPVwiY2hlY2tCb3hXaWR0aFwiIFtyZXNpemFibGVdPVwiY2hlY2tCb3hDb2x1bW5SZXNpemFibGVcIiBbY29sdW1uTWVudV09XCJjaGVja0JveENvbHVtbk1lbnVcIlxuICAgICAgICBjbGFzcz1cImNoZWNrYm94LWNvbHVtblwiIFtzdGlja3ldPVwiaXNDaGVja0JveENvbHVtblN0aWNreSAmJiAhY3VzdG9tRXhwYW5kUm93Q29sdW1uXCI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBrZW5kb0dyaWRIZWFkZXJUZW1wbGF0ZSAqbmdJZj1cImlzU2VsZWN0QWxsQ2hlY2tib3hSZXF1aXJlZFwiPlxuICAgICAgICAgIDxpbnB1dCBpZD1cInNlbGVjdEFsbENoZWNrYm94SWRcIiB0eXBlPVwiY2hlY2tib3hcIiBrZW5kb0NoZWNrQm94IGtlbmRvR3JpZFNlbGVjdEFsbENoZWNrYm94XG4gICAgICAgICAgICBbc3RhdGVdPVwic2VsZWN0QWxsU3RhdGVcIiAoc2VsZWN0QWxsQ2hhbmdlKT1cIm9uU2VsZWN0QWxsQ2hhbmdlKCRldmVudClcIiAvPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPC9rZW5kby1ncmlkLWNoZWNrYm94LWNvbHVtbj5cblxuICAgICAgPGtlbmRvLWdyaWQtY29sdW1uIGNsYXNzPVwiZ3JpZC1jb2x1bW5cIiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBjb2x1bW5EYXRhOyBsZXQgaSA9IGluZGV4XCIgW2ZpZWxkXT1cIml0ZW0uZmllbGRcIlxuICAgICAgICBbdGl0bGVdPVwiaXRlbS50aXRsZVwiIFt3aWR0aF09XCJpdGVtLmNvbHVtbldpZHRoXCIgW21pblJlc2l6YWJsZVdpZHRoXT1cIm1pblJlc2l6YWJsZVdpZHRoXCJcbiAgICAgICAgW3NvcnRhYmxlXT1cIml0ZW0uc29ydGFibGVcIiBbZWRpdG9yXT1cIml0ZW0uZWRpdG9yXCIgW2NsYXNzXT1cIml0ZW0uY2xhc3NcIlxuICAgICAgICBbc3RpY2t5XT1cIml0ZW0uY29sdW1uU3RpY2t5ICYmICFjdXN0b21FeHBhbmRSb3dDb2x1bW5cIj5cblxuICAgICAgICA8bmctdGVtcGxhdGUgKm5nSWY9XCJzb3J0YWJsZVwiIGtlbmRvR3JpZEhlYWRlclRlbXBsYXRlPlxuICAgICAgICAgIHt7aXRlbS50aXRsZX19XG4gICAgICAgICAgPHNwYW4gKm5nSWY9XCJzb3J0WzBdLmZpZWxkID09PSBpdGVtLmZpZWxkXCI+XG4gICAgICAgICAgICA8c3BhbiAqbmdJZj1cInNvcnRbMF0uZGlyID09PSAnYXNjJ1wiPjwvc3Bhbj5cbiAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwic29ydFswXS5kaXIgPT09ICdkZXNjJ1wiPjwvc3Bhbj5cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICAgICAgPG5nLXRlbXBsYXRlICpuZ0lmPVwiaSA9PT0gMFwiIGtlbmRvR3JpZENlbGxUZW1wbGF0ZSBsZXQtZGF0YUl0ZW0+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZpcnN0LWN1c3RvbS1jb2x1bW5cIj5cbiAgICAgICAgICAgIDxsaWItdHlwb2dyYXBoeSB0eXBlPVwiQk9EWV9NRURJVU1cIj57e2RhdGFJdGVtPy5baXRlbS5maWVsZF19fTwvbGliLXR5cG9ncmFwaHk+XG4gICAgICAgICAgICA8bGliLWJ1dHRvbiBjbGFzcz1cImNoZWZ5XCIgc2l6ZT1cInNtYWxsXCIgcm91bmRlZD1cImZ1bGxcIiAoYnV0dG9uQ2xpY2spPVwib25DaGVmeUNsaWNrKCRldmVudCwgZGF0YUl0ZW0pXCIgZmlsbE1vZGU9XCJzb2xpZFwiXG4gICAgICAgICAgICAgIHRoZW1lQ29sb3I9XCJwcmltYXJ5XCIgbGFiZWw9XCJDaGVmeVwiIC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICAgICAgPG5nLXRlbXBsYXRlICpuZ0lmPVwiaXRlbS5jdXN0b21Db2x1bW5cIiBrZW5kb0dyaWRDZWxsVGVtcGxhdGUgbGV0LWRhdGFJdGVtPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiY29sdW1uVGVtcGxhdGVEaWN0W2l0ZW0udHlwZV1cIlxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInskaW1wbGljaXQ6IGRhdGFJdGVtfVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgICAgIDxuZy10ZW1wbGF0ZSAqbmdJZj1cIml0ZW0uY3VzdG9tXCIga2VuZG9HcmlkQ2VsbFRlbXBsYXRlIGxldC1kYXRhSXRlbT5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwidGVtcGxhdGVSZWY7IGNvbnRleHQ6IHskaW1wbGljaXQ6IGRhdGFJdGVtfVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8bmctdGVtcGxhdGUgKm5nSWY9XCJpdGVtLmltcGFjdFwiIGtlbmRvR3JpZENlbGxUZW1wbGF0ZSBsZXQtZGF0YUl0ZW0+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImltcGFjdENvbHVtbjsgY29udGV4dDogeyRpbXBsaWNpdDogZGF0YUl0ZW19XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8L2tlbmRvLWdyaWQtY29sdW1uPlxuXG4gICAgICA8a2VuZG8tZ3JpZC1jb2x1bW4gKm5nSWY9XCJzaG93RGVsZXRlQ29sdW1uXCIgW3dpZHRoXT1cImRlbGV0ZUNvbHVtbldpZHRoXCIgY2xhc3M9XCJkZWxldGUtY29sdW1uXCIgdGl0bGU9XCJBY3Rpb25cIlxuICAgICAgICBbc3RpY2t5XT1cImlzRGVsZXRlQ29sdW1uU3RpY2t5ICYmICFjdXN0b21FeHBhbmRSb3dDb2x1bW5cIj5cbiAgICAgICAgPG5nLXRlbXBsYXRlIGtlbmRvR3JpZENlbGxUZW1wbGF0ZSBsZXQtZGF0YUl0ZW0gbGV0LXJvd0luZGV4PVwicm93SW5kZXhcIj5cbiAgICAgICAgICA8bGliLXRvb2x0aXAgc2hvd09uPVwiaG92ZXJcIiBwb3NpdGlvbj1cImJvdHRvbVwiIGNsYXNzPVwicmVtb3ZlLXRvb2x0aXBcIj5cbiAgICAgICAgICAgIDxsaWItaWNvbiBuYW1lPVwiZGVsZXRlXCIgY2xhc3M9XCJkZWxldGUtaWNvblwiIChjbGljayk9XCJvbkRlbGV0ZShkYXRhSXRlbSlcIj48L2xpYi1pY29uPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRvb2x0aXAtY29udGVudFwiPlxuICAgICAgICAgICAgICA8bGliLXR5cG9ncmFwaHkgZGVmYXVsdFRleHQ9XCJSZW1vdmVcIj48L2xpYi10eXBvZ3JhcGh5PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9saWItdG9vbHRpcD5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDwva2VuZG8tZ3JpZC1jb2x1bW4+XG5cbiAgICAgIDxrZW5kby1ncmlkLWNvbHVtbiBbd2lkdGhdPVwia2ViYWJDb2x1bW5XaWR0aFwiIGNsYXNzPVwia2ViYWItY29sdW1uXCIgKm5nSWY9XCJzaG93S2ViYWJcIiB0aXRsZT1cIkFjdGlvbnNcIlxuICAgICAgICBbc3RpY2t5XT1cImlzS2ViYWJDb2x1bW5TdGlja3kgJiYgIWN1c3RvbUV4cGFuZFJvd0NvbHVtblwiPlxuICAgICAgICA8bmctdGVtcGxhdGUga2VuZG9HcmlkQ2VsbFRlbXBsYXRlIGxldC1kYXRhSXRlbSBsZXQtcm93SW5kZXg9XCJyb3dJbmRleFwiPlxuICAgICAgICAgIDxrZW5kby1kcm9wZG93bmJ1dHRvbiAqbmdJZj1cIiFoaWRlS2ViYWJSb3dJbmRleC5pbmNsdWRlcyhyb3dJbmRleClcIiBbc3ZnSWNvbl09XCJpY29uXCIgZmlsbE1vZGU9XCJub25lXCJcbiAgICAgICAgICAgIFtkYXRhXT1cImtlYmFiTGlzdCB8IGtlYmFiTWVudUZpbHRlciA6IGRhdGFJdGVtXCIgY2xhc3M9XCJrZWJhYlwiIChpdGVtQ2xpY2spPVwib25LZWJhYkNsaWNrKCRldmVudCwgZGF0YUl0ZW0pXCJcbiAgICAgICAgICAgIFtwb3B1cFNldHRpbmdzXT1cInsgYWxpZ246ICdyaWdodCcsIGFuaW1hdGU6IHRydWUsIHBvcHVwQ2xhc3M6ICdrZWJhYi1saXN0JyB9XCI+XG4gICAgICAgICAgPC9rZW5kby1kcm9wZG93bmJ1dHRvbj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDwva2VuZG8tZ3JpZC1jb2x1bW4+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8IS0tIExpbWl0YXRpb246IGRldGFpbCB0ZW1wbGF0ZSBhbmQgc3RpY2t5IGNvbHVtbnMgZG8gbm90IGNvLWV4aXN0LS0+XG4gICAgPG5nLXRlbXBsYXRlICpuZ0lmPVwiY3VzdG9tRXhwYW5kUm93Q29sdW1uXCIga2VuZG9HcmlkRGV0YWlsVGVtcGxhdGUgbGV0LWRhdGFJdGVtPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImRldGFpbFRlbXBsYXRlOyBjb250ZXh0OiB7JGltcGxpY2l0OiBkYXRhSXRlbX1cIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgPGtlbmRvLWdyaWQtY29sdW1uICpuZ0lmPVwiY3VzdG9tRXhwYW5kUm93Q29sdW1uXCIgW3dpZHRoXT1cImV4cGFuZFJvd0NvbHVtbldpZHRoXCIgY2xhc3M9XCJncmlkLWNvbHVtbiBleHBhbmQtY29sdW1uXCI+XG4gICAgICA8bmctdGVtcGxhdGUga2VuZG9HcmlkQ2VsbFRlbXBsYXRlIGxldC1kYXRhSXRlbSBsZXQtcm93SW5kZXg9XCJyb3dJbmRleFwiPlxuICAgICAgICA8ZGl2IFtuZ0NsYXNzXT1cImV4cGFuZENvbHVtbkNsYXNzKClcIj5cbiAgICAgICAgICA8c3BhbiAqbmdJZj1cInNlbGVjdGVkUm93cy5pbmNsdWRlcyhkYXRhSXRlbVtncmlkUm93U2VsZWN0QnlWYWx1ZV0pICYmIGRpc2FibGVQcmVTZWxlY3RlZFJvd3NcIlxuICAgICAgICAgICAgY2xhc3M9XCJleHBhbmQtY29sdW1uLXRleHRcIj5cbiAgICAgICAgICAgIEFscmVhZHkgYWRkZWRcbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPGtlbmRvLWJ1dHRvbiAqbmdJZj1cIiFleHBhbmRSb3dJbmRleC5pbmNsdWRlcyhyb3dJbmRleClcIiBbc3ZnSWNvbl09XCJhcnJvd0Rvd25JY29uXCJcbiAgICAgICAgICAgIChjbGljayk9XCJleHBhbmRSb3cocm93SW5kZXgpXCIgZmlsbE1vZGU9XCJub25lXCIgY2xhc3M9XCJhcnJvdy1idG5cIj5cbiAgICAgICAgICA8L2tlbmRvLWJ1dHRvbj5cbiAgICAgICAgICA8a2VuZG8tYnV0dG9uICpuZ0lmPVwiZXhwYW5kUm93SW5kZXguaW5jbHVkZXMocm93SW5kZXgpXCIgW3N2Z0ljb25dPVwiYXJyb3dVcEljb25cIlxuICAgICAgICAgICAgKGNsaWNrKT1cImNvbGxhcHNlUm93KHJvd0luZGV4KVwiIGZpbGxNb2RlPVwibm9uZVwiIGNsYXNzPVwiYXJyb3ctYnRuXCI+XG4gICAgICAgICAgPC9rZW5kby1idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L2tlbmRvLWdyaWQtY29sdW1uPlxuXG4gICAgPG5nLXRlbXBsYXRlIGtlbmRvUGFnZXJUZW1wbGF0ZSBsZXQtdG90YWxQYWdlcz1cInRvdGFsUGFnZXNcIiBsZXQtY3VycmVudFBhZ2U9XCJjdXJyZW50UGFnZVwiPlxuICAgICAgPGRpdiBjbGFzcz1cInBhZ2luYXRpb24td3JhcHBlclwiIFtuZ0NsYXNzXT1cImFsbFBhZ2VzU2VsZWN0ZWQgPyAncGFnaW5hdGlvbi1kaXNhYmxlZCcgOiAnJ1wiPlxuICAgICAgICA8a2VuZG8tcGFnZXItcHJldi1idXR0b25zPjwva2VuZG8tcGFnZXItcHJldi1idXR0b25zPlxuICAgICAgICA8a2VuZG8tcGFnZXItbnVtZXJpYy1idXR0b25zIFtidXR0b25Db3VudF09XCJfcGFnZUNvdW50XCI+PC9rZW5kby1wYWdlci1udW1lcmljLWJ1dHRvbnM+XG4gICAgICAgIDxrZW5kby1wYWdlci1uZXh0LWJ1dHRvbnM+PC9rZW5kby1wYWdlci1uZXh0LWJ1dHRvbnM+XG4gICAgICAgIDxrZW5kby1wYWdlci1pbmZvPjwva2VuZG8tcGFnZXItaW5mbz5cbiAgICAgICAgPGtlbmRvLXBhZ2VyLXBhZ2Utc2l6ZXMgW3BhZ2VTaXplc109XCJzaXplc1wiPjwva2VuZG8tcGFnZXItcGFnZS1zaXplcz5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgPC9rZW5kby1ncmlkPlxuPC9kaXY+XG4iXX0=
637
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC1wYWdpbmF0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZC9zcmMvbGliL21vbGVjdWxlcy9ncmlkLXBhZ2luYXRpb24vZ3JpZC1wYWdpbmF0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZC9zcmMvbGliL21vbGVjdWxlcy9ncmlkLXBhZ2luYXRpb24vZ3JpZC1wYWdpbmF0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBc0QsU0FBUyxFQUFFLFlBQVksRUFBRSxlQUFlLEVBQUUsU0FBUyxFQUFjLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFxQyxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdk8sT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3RELE9BQU8sRUFBa0IsT0FBTyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDckUsT0FBTyxFQUFFLFVBQVUsRUFBRSxnQkFBZ0IsRUFBRSxVQUFVLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUMvRixPQUFPLEVBQWtDLGFBQWEsRUFBNkcsTUFBTSw4QkFBOEIsQ0FBQztBQUN4TSxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxnQkFBZ0IsRUFBVyxNQUFNLDJCQUEyQixDQUFDOzs7Ozs7Ozs7Ozs7OztBQU90RyxNQUFNLE9BQU8sb0JBQW9CO0lBRS9CLFlBQW1CLFFBQWdDO1FBQWhDLGFBQVEsR0FBUixRQUFRLENBQXdCO1FBRDFDLFNBQUksR0FBVyxFQUFFLENBQUM7SUFDNEIsQ0FBQzsrR0FGN0Msb0JBQW9CO21HQUFwQixvQkFBb0I7OzRGQUFwQixvQkFBb0I7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O3NCQUFwQixLQUFLO2dCQUlJLFlBQVk7c0JBQXJCLE1BQU07Z0JBQ0UscUJBQXFCO3NCQUE3QixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBTUcsYUFBYTtzQkFBckIsS0FBSztnQkFDSSxhQUFhO3NCQUF0QixNQUFNO2dCQUdFLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0cscUJBQXFCO3NCQUE3QixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFFSSxjQUFjO3NCQUF2QixNQUFNO2dCQUNFLEtBQUs7c0JBQWIsS0FBSztnQkFFTyxTQUFTO3NCQUFyQixLQUFLO2dCQUdHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQU9HLHNCQUFzQjtzQkFBOUIsS0FBSztnQkFFSSxXQUFXO3NCQUFwQixNQUFNO2dCQUNFLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBQ0csb0JBQW9CO3NCQUE1QixLQUFLO2dCQUNJLGNBQWM7c0JBQXZCLE1BQU07Z0JBQ0Usb0JBQW9CO3NCQUE1QixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBRUcsaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csbUJBQW1CO3NCQUEzQixLQUFLO2dCQUNHLHNCQUFzQjtzQkFBOUIsS0FBSztnQkFDRyxvQkFBb0I7c0JBQTVCLEtBQUs7Z0JBQ0ksY0FBYztzQkFBdkIsTUFBTTtnQkFDRSwyQkFBMkI7c0JBQW5DLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlckNvbnRlbnRJbml0LCBBZnRlclZpZXdJbml0LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBDb250ZW50Q2hpbGQsIENvbnRlbnRDaGlsZHJlbiwgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgUXVlcnlMaXN0LCBSZW5kZXJlcjIsIFRlbXBsYXRlUmVmLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBLZXlzIH0gZnJvbSAnQHByb2dyZXNzL2tlbmRvLWFuZ3VsYXItY29tbW9uJztcbmltcG9ydCB7IFNvcnREZXNjcmlwdG9yLCBvcmRlckJ5IH0gZnJvbSAnQHByb2dyZXNzL2tlbmRvLWRhdGEtcXVlcnknO1xuaW1wb3J0IHsgTG9hZGVyU2l6ZSwgTG9hZGVyVGhlbWVDb2xvciwgTG9hZGVyVHlwZSB9IGZyb20gJy4uLy4uL2F0b21zL2xvYWRlci9sb2FkZXIuY29tcG9uZW50JztcbmltcG9ydCB7IENlbGxDbGlja0V2ZW50LCBDZWxsQ2xvc2VFdmVudCwgR3JpZENvbXBvbmVudCwgR3JpZERhdGFSZXN1bHQsIFBhZ2VDaGFuZ2VFdmVudCwgUm93Q2xhc3NBcmdzLCBTZWxlY3RBbGxDaGVja2JveFN0YXRlLCBTZWxlY3RhYmxlTW9kZSwgU2VsZWN0YWJsZVNldHRpbmdzIH0gZnJvbSAnQHByb2dyZXNzL2tlbmRvLWFuZ3VsYXItZ3JpZCc7XG5pbXBvcnQgeyBjaGV2cm9uRG93bkljb24sIGNoZXZyb25VcEljb24sIG1vcmVWZXJ0aWNhbEljb24sIFNWR0ljb24gfSBmcm9tICdAcHJvZ3Jlc3Mva2VuZG8tc3ZnLWljb25zJztcbmltcG9ydCB7IERvbVNhbml0aXplciB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuXG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ25nLXRlbXBsYXRlW3R5cGVdJ1xufSlcbmV4cG9ydCBjbGFzcyBDdXN0b21Db2x1bW5UZW1wbGF0ZSB7XG4gIEBJbnB1dCgpIHR5cGU6IHN0cmluZyA9IFwiXCI7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyB0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8Q29tcG9uZW50PikgeyB9XG59XG5cbmNvbnN0IGNyZWF0ZUZvcm1Hcm91cCA9IChkYXRhSXRlbTogYW55KTogRm9ybUdyb3VwID0+IHtcbiAgY29uc3QgZm9ybSA9IG5ldyBGb3JtR3JvdXAoe30pO1xuICBmb3IgKGxldCBkYXRhIG9mIE9iamVjdC5rZXlzKGRhdGFJdGVtKSkge1xuICAgIGZvcm0uYWRkQ29udHJvbChkYXRhLCBuZXcgRm9ybUNvbnRyb2woZGF0YUl0ZW1bZGF0YV0sIFZhbGlkYXRvcnMucmVxdWlyZWQpKVxuICB9XG4gIHJldHVybiBmb3JtXG59O1xuXG5cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLWdyaWQtcGFnaW5hdGlvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9ncmlkLXBhZ2luYXRpb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9ncmlkLXBhZ2luYXRpb24uY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBHcmlkUGFnaW5hdGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJDb250ZW50SW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XG5cbiAgQENvbnRlbnRDaGlsZHJlbihDdXN0b21Db2x1bW5UZW1wbGF0ZSkgY29sdW1uVGVtcGxhdGVzITogUXVlcnlMaXN0PEN1c3RvbUNvbHVtblRlbXBsYXRlPiB8IFtdO1xuICBAQ29udGVudENoaWxkKCdtdWx0aUNvbHVtbkRhdGEnKSB0ZW1wbGF0ZVJlZiE6IFRlbXBsYXRlUmVmPGFueT4gfCBudWxsO1xuICBAQ29udGVudENoaWxkKCdkZXRhaWxUZW1wbGF0ZScpIGRldGFpbFRlbXBsYXRlITogVGVtcGxhdGVSZWY8YW55PiB8IG51bGw7XG4gIEBDb250ZW50Q2hpbGQoJ2ltcGFjdENvbHVtbicpIGltcGFjdENvbHVtbiE6IFRlbXBsYXRlUmVmPGFueT4gfCBudWxsO1xuICBAVmlld0NoaWxkKEdyaWRDb21wb25lbnQpIGdyaWQhOiBHcmlkQ29tcG9uZW50O1xuICBAVmlld0NoaWxkKCdncmlkRWxlbWVudCcpIGdyaWRFbGVtZW50ITogRWxlbWVudFJlZjtcbiAgQFZpZXdDaGlsZCgnc2VsZWN0QWxsQ2hlY2tib3gnKSBzZWxlY3RBbGxDaGVja2JveCE6IEVsZW1lbnRSZWY7XG4gIEBWaWV3Q2hpbGQoJ3NlbGVjdEFsbE1lc3NhZ2VFbGVtZW50Jykgc2VsZWN0QWxsTWVzc2FnZUVsZW1lbnQhOiBFbGVtZW50UmVmO1xuICBASW5wdXQoKSBza2lwOiBudW1iZXIgPSAwO1xuICBASW5wdXQoKSBpdGVtTmFtZTogc3RyaW5nID0gJ0l0ZW1zJztcbiAgQElucHV0KCkgc2hvd1NlbGVjdEFsbE1lc3NhZ2U6IGJvb2xlYW4gPSBmYWxzZTtcbiAgYWxsUGFnZXNTZWxlY3RlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBwcmV2aW91c1NlbGVjdEFsbFN0YXRlOiBTZWxlY3RBbGxDaGVja2JveFN0YXRlID0gJ3VuY2hlY2tlZCc7XG4gIEBPdXRwdXQoKSBvblNlbGVjdEFsbEFjcm9zc1BhZ2VzID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICBASW5wdXQoKSBjb2x1bW5EYXRhOiBhbnkgPSBbXTtcbiAgQElucHV0KCkgcGFnZVNpemU6IG51bWJlciA9IDA7XG4gIEBJbnB1dCgpIHBhZ2VhYmxlOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHNvcnRhYmxlOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIGdyb3VwYWJsZTogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSByZW9yZGVyYWJsZTogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSByZXNpemFibGU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgY2hlY2tCb3hXaWR0aDogbnVtYmVyID0gNDU7XG4gIEBJbnB1dCgpIGNoZWNrQm94Q29sdW1uUmVzaXphYmxlOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIGNoZWNrQm94Q29sdW1uTWVudTogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBjaGVja0JveENvbHVtblNob3dTZWxlY3RlZEFsbDogYm9vbGVhbiA9IHRydWU7XG4gIEBJbnB1dCgpIGNoZWNrQm94UmVxdWlyZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgY29sdW1uTWVudTogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBtb2RlOiBTZWxlY3RhYmxlTW9kZSB8IHVuZGVmaW5lZCA9ICdtdWx0aXBsZSc7XG4gIEBJbnB1dCgpIGNoZWNrYm94T25seSA9IHRydWU7XG4gIEBJbnB1dCgpIGRyYWdDb2x1bW5zID0gZmFsc2U7XG4gIEBJbnB1dCgpIG5hdmlnYWJsZTogYm9vbGVhbiA9IHRydWU7XG4gIEBJbnB1dCgpIGdyaWRIZWlnaHQhOiBhbnk7XG4gIEBJbnB1dCgpIGdyaWRSb3dTZWxlY3RCeVZhbHVlOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgbm9SZWNvcmRzQ29udGVudDogc3RyaW5nID0gJ05vIHJlY29yZHMgYXJlIGF2YWlsYWJsZSB5ZXQuJztcbiAgQE91dHB1dCgpIHNlbGVjdGVkUm93RGF0YSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55W10+KCk7XG4gIEBJbnB1dCgpIHNob3dUb29sYmFyOiBib29sZWFuID0gZmFsc2U7XG4gIGV4dHJhY3REYXRhSXRlbXM6IGFueTtcbiAgc2VsZWN0YWJsZVNldHRpbmdzOiBTZWxlY3RhYmxlU2V0dGluZ3MgPSB7fTtcbiAgQElucHV0KCkga2ViYWJMaXN0OiBhbnkgPSBbXTtcbiAgQElucHV0KCkgc2hvd0tlYmFiOiBib29sZWFuID0gZmFsc2U7XG4gIEBPdXRwdXQoKSByb3dEZXRhaWxzID0gbmV3IEV2ZW50RW1pdHRlcjxhbnlbXT4oKTtcbiAgQE91dHB1dCgpIGtlYmFiSXRlbUNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBJbnB1dCgpIGljb246IFNWR0ljb24gPSBtb3JlVmVydGljYWxJY29uO1xuICBASW5wdXQoKSBrZWJhYkNvbHVtbldpZHRoOiBudW1iZXIgPSA5MDtcbiAgZGF0YTogYW55ID0gW107XG4gIEBJbnB1dCgpIHNlbGVjdENvbHVtbiA9ICcnO1xuICBAT3V0cHV0KCkgcm93RGF0YU9mQ2xpY2tlZENlbGwgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgX3ByZVNlbGVjdGVkOiBhbnlbXSA9IFtdO1xuICBASW5wdXQoKSBzZXQgcHJlU2VsZWN0ZWQodmFsdWU6IGFueVtdKSB7XG4gICAgdGhpcy5fcHJlU2VsZWN0ZWQgPSB2YWx1ZTtcbiAgICB0aGlzLmluaXRHcmlkKCk7XG4gIH1cbiAgX2dyaWRWaWV3OiBHcmlkRGF0YVJlc3VsdCA9IHsgZGF0YTogW10sIHRvdGFsOiAwIH07XG4gIEBJbnB1dCgpIHNldCBncmlkVmlldyh2YWx1ZTogR3JpZERhdGFSZXN1bHQpIHtcbiAgICB0aGlzLl9ncmlkVmlldyA9IHZhbHVlO1xuICB9XG4gIHByZVNlbGVjdGVkUmVjb3JkczogYW55W10gPSBbXTtcbiAgQE91dHB1dCgpIG9uUGFnZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBASW5wdXQoKSBpZ25vcmVDb2x1bW5DZWxsQ2xpY2s6IG51bWJlcltdID0gW107XG4gIEBJbnB1dCgpIGFsbG93Q29sdW1uQ2xpY2s6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgc29ydDogU29ydERlc2NyaXB0b3JbXSA9IFtcbiAgICB7XG4gICAgICBmaWVsZDogJycsXG4gICAgICBkaXI6IHVuZGVmaW5lZCxcbiAgICB9LFxuICBdO1xuICBASW5wdXQoKSBoYXNBcGlTb3J0aW5nID0gZmFsc2U7XG4gIEBPdXRwdXQoKSBzb3J0RGlyZWN0aW9uID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIHB1YmxpYyBhcnJvd0Rvd25JY29uOiBTVkdJY29uID0gY2hldnJvbkRvd25JY29uO1xuICBwdWJsaWMgYXJyb3dVcEljb246IFNWR0ljb24gPSBjaGV2cm9uVXBJY29uO1xuICBASW5wdXQoKSBleHBhbmRSb3dJbmRleDogbnVtYmVyW10gPSBbXTtcbiAgQElucHV0KCkgY3VzdG9tRXhwYW5kUm93Q29sdW1uOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIGRlbGV0ZUNvbHVtbldpZHRoOiBudW1iZXIgPSA0MjtcbiAgZXhwYW5kUm93Q29sdW1uV2lkdGg6IG51bWJlciA9IDU2O1xuICBAT3V0cHV0KCkgZGVsZXRlZFJvd0RhdGEgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQElucHV0KCkgc2l6ZXM6IGFueVtdID0gW107XG4gIF9wYWdlQ291bnQ6IG51bWJlciA9IDA7XG4gIEBJbnB1dCgpIHNldCBwYWdlQ291bnQodmFsdWU6IG51bWJlcikge1xuICAgIHRoaXMuX3BhZ2VDb3VudCA9IHZhbHVlID4gMTAgPyAxMCA6IHZhbHVlO1xuICB9XG4gIEBJbnB1dCgpIHNob3dEZWxldGVDb2x1bW4gPSBmYWxzZTtcbiAgQElucHV0KCkgaGlkZUtlYmFiUm93SW5kZXg6IG51bWJlcltdID0gW107XG4gIEBJbnB1dCgpIGxvYWRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgbG9hZGVyVHlwZTogTG9hZGVyVHlwZSA9IExvYWRlclR5cGUucHVsc2luZztcbiAgQElucHV0KCkgbG9hZGVyU2l6ZTogTG9hZGVyU2l6ZSA9IExvYWRlclNpemUubWVkaXVtO1xuICBASW5wdXQoKSBsb2FkZXJUaGVtZTogTG9hZGVyVGhlbWVDb2xvciA9IExvYWRlclRoZW1lQ29sb3IucHJpbWFyeTtcbiAgaW5pdGlhbEdyaWRIZWlnaHQ6IGFueTtcbiAgZ3JpZEJvdHRvbVNwYWNlID0gMjQ7XG4gIHJlc2l6ZUhlaWdodDogYW55ID0gMDtcbiAgc2VsZWN0QWxsU3RhdGU6IFNlbGVjdEFsbENoZWNrYm94U3RhdGUgPSAndW5jaGVja2VkJztcbiAgc2VsZWN0ZWRJdGVtQ291bnQ6IG51bWJlciA9IDA7XG4gIHNlbGVjdGVkUm93czogYW55W10gPSBbXTtcbiAgQElucHV0KCkgZGlzYWJsZVByZVNlbGVjdGVkUm93cyA9IGZhbHNlO1xuICBwdWJsaWMgZm9ybUdyb3VwITogRm9ybUdyb3VwIHwgYW55O1xuICBAT3V0cHV0KCkgdXBkYXRlZERhdGEgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQElucHV0KCkgYWxsb3dFZGl0aW5nQ2VsbCA9IGZhbHNlO1xuICBASW5wdXQoKSBjb2x1bW5Db250ZW50Tm9XcmFwID0gZmFsc2U7XG4gIEBJbnB1dCgpIGluZmluaXRlU2Nyb2xsTG9hZGVyID0gZmFsc2U7XG4gIEBPdXRwdXQoKSBvbnNjcm9sbEJvdHRvbSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBASW5wdXQoKSBpc0luZmluaXRlU2Nyb2xsR3JpZDogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBncmlkTG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xuICBzZWxlY3RBbGxNc2dQYXJlbnRFbGVtZW50OiBhbnk7XG4gIEBJbnB1dCgpIG1pblJlc2l6YWJsZVdpZHRoID0gNTA7XG4gIEBJbnB1dCgpIHNob3dSZWZyZXNoID0gZmFsc2U7XG4gIEBJbnB1dCgpIGlzS2ViYWJDb2x1bW5TdGlja3kgPSBmYWxzZTtcbiAgQElucHV0KCkgaXNDaGVja0JveENvbHVtblN0aWNreSA9IGZhbHNlO1xuICBASW5wdXQoKSBpc0RlbGV0ZUNvbHVtblN0aWNreSA9IGZhbHNlO1xuICBAT3V0cHV0KCkgZW1pdFJlZnJlc2hFdnQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBJbnB1dCgpIGlzU2VsZWN0QWxsQ2hlY2tib3hSZXF1aXJlZCA9IHRydWU7XG5cbiAga2ViYWJBSUljb24gPSBcImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBV0FBQUFGZ0NBWUFBQUNGWWFOTUFBQVFBRWxFUVZSNEFlejlDYkJsMTVVZEJxNjl6NzF2L0VQKy8vUG5QQkdjUUlBVGlLbkFVc2twV3lwRnVTMUZ1eU9TMFIwZXdtcTdTY3RTTVV4R2xVcFNkQVEvSXV4eVZiR0NWS0JjVXJQc2RuWElQVVFRRWU0T3VlMEt5V1VMWVhVUkpFRVFMSUlBeWVLVWlTRUJaQ0l6a2NNZjNydjM3TjFyMy9mZVJ3S2NRREtSeUo5NWI5NzE5aG4yMldlZmZjOVo3N3p6SGo0VTdkVkdvSTFBRzRFMkFtOUpCRm9DZmt2QzNuYmFScUNOUUJzQm9DWGdkaGEwRVdnamNHdEc0QVlZZFV2QU44QkRhRjFvSTlCRzROYU1RRXZBdCtaemIwZmRScUNOd0EwUWdaYUFiNENIMExyUVJ1RFdpMEE3NG9oQVM4QVJoUlp0Qk5vSXRCRjRDeUxRRXZCYkVQUzJ5ellDYlFUYUNFUUVXZ0tPS0xSb0kzQnJSYUFkN1EwU2daYUFiNUFIMGJyUlJxQ053SzBYZ1phQWI3MW4zbzY0alVBYmdSc2tBaTBCM3lBUG9uWGoxb2xBTzlJMkFyTUl0QVE4aTBRcjJ3aTBFV2dqY0owajBCTHdkUTU0MjEwYmdUWUNiUVJtRVdnSmVCYUpWdDRhRVdoSDJVYmdCb3BBUzhBMzBNTm9YV2tqMEViZzFvcEFTOEMzMXZOdVI5dEdvSTNBRFJTQmxvQnZvSWR4ODd2U2pyQ05RQnVCcXlQUUV2RFYwV2pUYlFUYUNMUVJ1STRSYUFuNE9nYTc3YXFOUUJ1Qk5nSlhSNkFsNEt1amNYT24yOUcxRVdnamNJTkZvQ1hnRyt5QnRPNjBFV2dqY090RW9DWGdXK2RadHlOdEk5Qkc0QWFMUUV2QTErbUJ0TjIwRVdnajBFYmc5UkZvQ2ZqMUVXbnpiUVRhQ0xRUnVFNFJhQW40T2dXNjdhYU5RQnVCTmdLdmo4Q3RRY0N2SDNXYmJ5UFFScUNOd0EwUWdaYUFiNENIMExyUVJxQ053SzBaZ1phQWI4M24zbzY2alVBYmdSc2dBdGVCZ0crQVViWXV0QkZvSTlCRzRBYU1RRXZBTitCRGFWMXFJOUJHNE5hSVFFdkF0OFp6YmtmWlJxQ053RnNRZ1ovV1pVdkFQeTFDYlgwYmdUWUNiUVRlcEFpMEJQd21CYlkxMjBhZ2pVQWJnWjhXZ1phQWYxcUUydm8yQW0wRWRtWUVkb0RYTFFIdmdJZlV1dGhHb0kzQXpSbUJsb0J2enVmYWpxcU5RQnVCSFJDQmxvQjN3RU5xWFd3anNQTWkwSHI4UmlMUUV2QWJpVktyMDBhZ2pVQWJnVGNoQWkwQnZ3bEJiVTIyRVdnajBFYmdqVVNnSmVBM0VxVldwNDNBem9wQTYrME9pVUJMd0R2a1FiVnV0aEZvSTNEelJhQWw0SnZ2bWJZamFpUFFSbUNIUktBbDRCM3lvRm8zZDA0RVdrL2JDTHpSQ0xRRS9FWWoxZXExRVdnajBFYmdHa2VnSmVCckhORFdYQnVCTmdKdEJONW9CRm9DZnFPUmF2VjJSZ1JhTDM5Y0JHUnRiVTJKNG5PZisxeTU5dm0xenE4LzlPdmRoNGkxUDE3clJmcWpuL3RvZWVMeko1Szd5NDh6MHBaZjJ3aTBCSHh0NDlsYWF5TndRMGFBeEN2bmxzK1Z3OXV1ZEYvb3ZEQWNuUm5OcjNSWDVzK1gzY1Z4UFY2Y201dGJXTUxTNEJBT2RUN3k4RWRhWHJoT1Q3RU45SFVLZE50Tkc0RzNPQUo2WkZlM09IK3A3TUV3R1BaMER1WFdBc3BpUWJYZWxhcDZJU0VOT2hjNm5hVUxTL29XKzNyTGROOEcrcFo1MU5kam9HMGZOMm9FOXUvZkwrdDVydXoydTkyNnFvYzFmRDU3QUl2dTVhS2t0S0NvQmxwcXB6dnF0cnh3blI1a0cranJGT2kybXpZQ2IyVUVlT3lReW03WlRaMTZ2amRmTEhVR2FhVlQ5bGQ2dmM1eXJ5dkxSZG5aMVo4ZkRydWRidmR0Kzk2bWI2V3Z0MUxmYmFCdnBhZmRqdldXamNEd3dEQnBweHAyQnIybHNwZjJrWXdQZHVhSy9jVGUvbHh2ZFRoZkxwVmRuUjhNVS9jU0xxVmJObERYZWVBdEFWL25nTCtKM2JXbTJ3ajgyQWpraTdrb2V1VWdsYkpVcExRL0ZlbGdVZWorVkthOXFhT3JSYi9EWFRIcE9KVzk1Ym5sbGhkK2JDU3ZiVVViNkdzYno5WmFHNEViTWdLZGhVNUtYZ3lTNkxLV3NnK0ZIaXhLM1Yra1ltOVJGS3VGWWprVk90Y1phcmV3OVhZSGZKMmVZa3ZBMXluUWJUZHRCTjdLQ0JTMmxaQnkzMHZNUTN4Rms2OUNiTlVTRVZKc0JhZ1hNcXhuUGRlMzB0ZGJxZTgyME5mb2FiZG0yZ2pjeUJHd2pxdWxpcTk1NE1rV1RHeXBscnhTMjNpMXRxMjlZOXRhM2NyanhYbzg2bS9tY2JxUngzSXorZFlTOE0zME5OdXh0Qkg0TVJId0d1cU9qb2dOWEl3RW5KY01lU1Y3WHEyczNsdmxhclVtQVkrczZoZmVFdkNQQ2VNMUwyNEorSnFIdERYWVJ1REdpNENYUEZaUWRGeWNCT3dMbEV2bWVjVlJyMllTY003MWF1MTUwWHpVSDF2ZDdvQ3YweU84T1FqNE9nV3I3YWFOd0U2SkFIZTdjbnp0ZUhIaTh5YzYvOEVmL3dlOTh4c1hCeVBmSEl4dFBLeThtcXRzUEYraG1oL25hcUh5OGNLWTZacDE0MXdQTG05czlkZllidmEzSWVDUW5UTHVuZVpuUzhBNzdZbTEvcllSZUFNUitDc1BIaytIYnp2Y1hiaUV1YzY0WGxxdkx5OXRWcHVMRzdZMXQyVmIvUzBmZGJmeVZuZUVVYm5sNDNKTWpIelVZL2x3SkZ2elo0ditmSGU0M3I5emZWaWVlUGhFeXhOdklPWS9qMG9iMko4bmFtMmJOZ0kzZUFSVzcxalZ6bmlyMjlXNW9mVmxsNDN6MHBhTkZrWjVhMjR6Q05oR1BSSnVKekRHdUNES0VhcmVHTldnenRWOE9kSjUxWDcvWEZtMWZ4dmlUWHpXMTRDQTMwVHZXdE50Qk5vSS9Gd1JHSzRQTmVWdWQxelVjOGxsVjVYSHkxVTlYaVFKejQxc3hPTUk3b0I5M0IxeDV6dTJjVW5acVh6Y3EvTm9PSEpmcURQbVJlcStEVko1WU9sQ2V3VHhjejJGbjk2b0plQ2ZIcU5XbzQzQWpvdEFUam5wUXRHVmpzM1Zhc3Qxc3VXeDFnc1Y2a0VsVlljNzNZSXlqYVZLWTYyVTZYS01lbGdWdnN0S1c4VkFWbk5YRjlVNy9ZczQxSDRwOXliTmdKYUEzNlRBdG1iYkNMeVZFU2dYUzkwcVI3MXh3a0lleUhMZDhlV3E5UG1xcUh2ak1pc2xKc2dUV2VhaUxtMHVGNzdidWppY08zcTQ3b0FralBsNjdrejVWbzdsUnU3N0YvV3RKZUJmTklKdCt6WUNOMkFFekN3aFNVOEttWWZhaXBXK25GT2Vyd3ZyMWR3ZFgwMis0NkltQ2VjaUJ3Rno5K3VGSGthSncxN0tidHFZMjlCZWNRTU84YVp3U1crS1ViU0RhQ1BRUnVBMUVUQzNWSkdBYzhmbXJSU1NyNi9VeWJnRHRoN0pOMVhGWk9jN0pWOVVLUmRSNzRwVktBNmJ5bUZSWFVVcGM2V1VMUUcvSnJyWEx0TVM4TFdMWld1cGpjQmJHd0dIckswMS85ODM3U3gwQ2kxMDRLS0xWdWh1VDdwU0t4WnFJUUdMNlZocWpEV2pWcHNoV2ZKZXBvNHBWbHhrSmFzdlpMVitrUGxiTzdBZjAvdE5VTndTOEUzd0VOc2h0QkdJLzFpaStiM3V2d1o5Nmc0VUd4ZTloNVNHa3NwZHJySnFRZ0NMbFZsL1pQeml6VElxTTFSdXFObVlwQ3Uxbzh4QWx4aG0yRENiOXlwSVVXdmQvZ3JpVFpwaUxRRy9TWUZ0emJZUnVKNFJXSHR3VGU1Y3ZWUE9QWGt1TFYwNFhSU2lYWmRpTGlkWmNrMTdqTWNKTlFtNGR1K1BMYWV4MVNUZjNKQnZUUUltK1hJL0RCNU1jQmNNREVqQ2d5elN6VG1YbzFwYm5uaVRIbVliMkRjcHNLM1pOZ0xYT3dKUG5ZV091cU4wNFFKM3Npb2tZSm1ENkJLUEgxWjVwTEJLVWwyc1lQMHFXeHB4Qnp3bVlnZWNTY0NzRTZJMGtIVGRoeVRyWVhicnVXalJTZmxIN0lDdjkraHV6djVhQXI0NW4yczdxbHNzQWsvZGNZZkV6dmRLVHQzaGZORkhUc05jeTV5WkRNbXpjeVRYQVkrSXUrN0NZd1pSYzRGQkVUSTNhUkhLbEozazdlaWFvWmRkK2puN2NLTktjLy9lcDM5akdIOVRJdjQrUkp3ejMyTGhmZE9HMnhMd214YmExbkFiZ2VzWWdhY2ZUa0crVWhiRFdzckZhc3NYYzRWQlBYWWVJMEJ6RFZoV2dSZFE2VFFRTDFsWXdIT0MxU0tlUlN4cmtIUEtoaTdiek9WTlhaYkx4ZDcxdEw1M2ZXT3dpN3Zyd2VuOXA5TjFITmxOM1ZWTHdEZjE0MjBIZDVORzRJZUdOVHc2VkM4N0hhbDBhR0tMc0VRQzlpRjNzSjFxYklsa0ttNWM3ZzBCbDBqU2hZQUV6THdiQ2JpQkNvazNXWlpBeDJxZHE3TXM1Ykh2TFF2c01hdDNnYnZyY1dlY2ZzaUJ0dURuaWdDZnlNL1ZybTNVUnFDTndBMFVnYzY0bzRWNWwxdlpvWW91b3ZaRkg4dXdycmdEcmwzcm1wdmRJR0FrS0RxSVhiQ1FnSDFHd0xVMnUxL1BxdG1rMlFGYnhweVBmZG15N09WNThON0MwNjQ4OGtGK2VYZTZnWWErbzEzUkhlMTk2M3diZ1RZQ1RRUmVMSGFsc1JTOTNPbk1tK3FLbzFneDB3WFBxWmRqUjB2eWRRSldBSEgwc0EwZVFiQnNTc1JpU0dLdTZwNEtZZ0NVaTZKcEZXV3g2bVZhbEk3MmpWLzBOWjIyTDc5d0JQUVh0dEFhYUNOd2kwWGdSaHp1c281VEt0TkFpczR1bE1WZVNZU1V1MGlzQTNpUm5FY01iZ1dNQ0RrRGdvalJtUnhIeEk0WUJWd2FKTW8rZVhnQlJXZTM5dnNyMHVzczZGeXY1eXZEZGdkOGpTWkJTOERYS0pDdG1UWUNiMlVFVFB2SnRlaDdSM2VoS1BadzE3b0hrbllKV0lhVXVKc2wrU1lFRVZ0T1RKTmtnM3dKSVVBU2RoSXdDQThTUnBHZ1JVK1VwRnVVSzFJV0s5THBMa2pSNmJsVTZhMGM2ODNVdDk1TWcybkgwa2JnVm8yQVN6ZDVrb0dRZEtHNjE2VFlDeTkybWFjQmQ4RnB0dk1OR2ZCY2tJd0RKVVBXSVNpbHhKUjhLVW5hS0h2UXRJQlVrb0RMRlhMeUFzclVCN3FKRGRyN0drU2dKZUJyRU1UV3hIV0lnRVBXZkUzWC91VmE4Ym12Zks1YysveGE1OWYveDEvdlB2US9QdFJkKytPMTNrTk1mKzV6SHkwLy8va1QzTzI1WEFlUDN1b3VCR3RyZW9MalBiNjJWbHlxcTY1cE1haEVGbXZSRlo0REw1dWtlUkpxanlUTW1IRFg2MFRzZmttK05qMlNjTzUrUGI2SW93eGlwaTZ5S1dwUG1sMjZOWFN1aGl4VjRzdTBQVjhMQmhzaW5lZ3orZzRmQU53SzhjYWJjYlVFL0daRXRiVjV6U093aGpVNTl5Zm55dUg0U3ZlRloxOFlqb3JSL0VwZW1UKy9kWDZ4WEI0dlhya3l0M0JoYVdud0hBNTFIbjc0SXpmL3ZGNWJrN3YzbjA1bm43NnpQSU16dlpGWGc4Mk11YkhvZktXeVdJa3UxRWlEak5USlhtam1zWUtSYUJ2TVNMaVJDUmFFekhUT2lxb1NHWk5seDVYclZvM3VLUHRneTJ4aHkzMXh5L0xDVnJhNVVWME5xdjR6L2VlZU85UUpIMGpDTFFIajU3dHUvb242ODhXbGJYV2pSZUFSNkpIVUxjNnZ4OGRpRElhdWN4aHRMWENMdG1BajNaWEx0SkJUR296UjZWeTRzSFRUeitzVGR6d2w4eThjU0pzNDErbWo3bTI0RHNaaWMyTmdZUXpsTGpndDFLb05BUnNLRGVMTlZqUm52MllKelRsd0VDL0w0Z3U1S0tzekNiaFdqQ3ZJcVBZMHp0NEpBaDY3TDR6Y0YwZU8rWkhaM0hybHc0MytzRGNlcm5jNjY4TWlmTG5ScHN0TzhlZW1uNmc3NVVIc0REL2ZPaS8zeisrWDlZMjVzcHU2M2JxcTQvZXQ4NnJsZklXOEtQQkZ6N0xBajkwRGczWkdoN3MzL2J6bXpsZTQ4eTFxakRwVnY5dURlVDlEaGpXRXh3UnhEQ0VMR2NVZ0MzZkFFZ1JjWWtMQ1FiNEZNbmU4TmdNSk9mS0JLZ3RJd0JqVjBISHRuYkg1SUFpNGNpeFc3aVIzRE0xdFVLVGNzMUczbzlYRklueDU2MmJHenU3NXBwK29PL3Z4dE43UEl2RENreStrVXNmZGhJMzVYdGVYZE9BclV2aEs2dWJsMUpYbFZPWmRxalljcDl5dHJ4UTdmMTZ2cmVuZEgvMW9lWHh0cmZlcnYvRWJ3Ny81dTc4N2YveXphN3YramYveXQxZCs5Wjk4ZWc4Tzl2Y3RIOWh6b0x0NjROQndidUZJbHU3aHNhVzl0ZXRTNVRJa3VyVkxtVDBsOHlKKzM5c1FjTFBiOVFKdUpieVJCY3dLT0JHNzRBYWVZSjRrSXlXaUpCZDNzOUFtejRJemRHOGxldGlLK2FPOXdmQVE1bmNmd0VIcys3V0hmbnYxcjM5bWJmbXYvczV2TGRMbnVRYys4NG4rcnozMDY5MjdlUzUvNHNTSnhHTUtoWHNjVlFUUVhwTUk3UHlKT2hsSCszcVRSMkI0NEVxcWhqYVVBWlowYVB0UzN3NFdnM28vK3RqTHZkK3FESHhKK2o2ZmRuVzZsMVlYZC95MzlIZWZQcDMySERqUVQrUHg0bml1V04zS213Y0wwN2NCZUJkUXZ6ZDUvbUNCOGtPcFc5Nmp2ZjU5S0RvZk5FbTNWWVpWb2x0bEYzQTNTQUFBRUFCSlJFRlVhcGtnOHdzMWEwQ1NEY0pGU1JNVE9MOTRhMER5RFFJRzg0SU9SQWlkQUVwZGdyYTdyc1Z1Zzk1bXFmc0JLZE85cnVYZEtIc2ZKS08rdnk3cU82b0M3Nmo3L2NNNldOL2IzeGdzeDduODB2ZDVMbitJWjhVY3ovRUhIMHhyYTJ0VVI0Qit0TGUySWRneEViaWxIYzJhaWpMcFFQcXloR1Q3VWNwQlQ3NWZTOXVMQXF2RWtoYzI1MUwxbHZ2WTZmTmE1ZzhjSVBlTysrajRZc3JsS2plUEIwWDBHQ2ZCdTh6bFR2ZjBBZEh5THRGMGo2UjBIeVI5TUp1OFBidnVIbWQwU2NLb3B3U2N2ZG5SY2dOYUlFaTJBVWlzSkZ4TXlkY3B3VEtSRWtMeVZTSWtTTDZ1Skc4dHVnNFNzQlMzMFk4UFF2VmV1TjR0cWg4VTZQdGQvQTRrZWJ2VTlSR1k3cTNxMFVxWjY0VlJHZzJHblU0bnhyTUs2Q01FSFVGN1RTS2dFOUcrdGhHNHNTUFE0ZUZDMGEwSENsK1d3dmRwOG9NazNmMUlKT0RTVmlYNXNuWmxybGRZZDczYTJzazdZSWtuMGJseUplV085WkdMUlV1KzZ2Q0Q1bmliR3JnRGx2ZUs0SU11K0pDbzNFMUN2QmVpek90dE5YZkF0UWtKV0VDSjJoVm1pWnhITUdBa1Vacm43amJJbC9EWUZaTjhRNEpwa0lSVnVoRHRBbG8yYUFoWWlxNnBCb2ZlNXBBUHNPSmVLRDVFWTNjeC8zNUE3aERrZDJqQ1lUZmZ4d2V3WEh0YUtMVWMxUDI2eEprenhWazJ1bno2dE9EQkJ3WHQxVVJBbTlmMnBZM0FEUjZCcmJwT0kxVDluUEs4YWIxaXFWcTFWSzlhU1RDZGkycTV4bWhoWE9TZWQrUkduTmV5eG5QZDQydHJ4ZDJmKzF4enRudDg3US9uam4vMnM3dU8vLzd2Nzc3L0gvMmp2Yi95MmMvdFAvN1FmM1h3bC8vUjV3NXZIWHpia1R4WVBqcnV6eDJ0TzRPalZlb2NxeVVkcmFVNFJpSThscEdPT3ZTSWV6cnNTSWRNZEo5NVdpSUcyVFZsVStUWStaSjhXWVlacU4rUXNaRnNQUkRrUzUzWUFVY2VKR1dRcUJGMWJPOGVCQjYyK0pabk9qQ2VNYnVrZmNJKzJlOWg1bzlrdzdFYWNxejI0bGhGLzZweWNNejY4MGVsM3o5V3plODZob1dEeDlKdHR4L1J3ZkxCK2JlL2QrK3ZMQyt2L0tYLzRoOHYvZHBERHkxRURCNzR6R2Q0WHZ3UXo0cy9WNTc0L09jVEhieGxDRnJSWG04b0FxM1NXeHVCSzUxTnJYV2pRd3dxYkM1VXVybFU2K1pLSlZ1cnRXenVKVmF6YkMxbWpQcmorZ0kzWUcrdHY2L3ZuZVFybndlSzgxZXVkSEhod21DekxCZkhnN3gzWE9GWVZSZTNGM1hCWFNRKzVQeG9YNWE5QjFJNWVNQTc4L2ZrVHY4RFZkbTdZNVM2NzZ5MFI0SXJEMVFvZDJjcEYyc3BoaldLYnZiRUw5b1NEQk40UTV5SlBFYXdiRHR2aXRnTld5TWpUVFM2eFVUWHFEK3J5d0tyRlhVbEJKREhSQzJOSG9jQjExSzVtKzVtRkhOaktYYU5wRmdkUzNtb1NyM2I2bTd2OXJyWGUzOVZEajhrZytHOTB1bDhHTjMwZ0hmMWJ1MFU3MHZqOU81T3NyZHRiZFNIZ2RHKzdxVnE1Y29WTEN3eExzODk5MXpueE1NUDYrdmpkN1BtYjVtQjNxd1A4SllaVjZGYXkxYW5rcTFCcFZzTGxFdk1yOVFZcmRaYWtZQXAwMml4U3VQK3VFc211Y0VDOHdpZ3haVXI1WEJ1cmp2SWVWQktiOUhxdk04ZHg2QnlPOHcvQUg2a0Y4ZDlvdkpoVC9vQVVyckh5dUlEdFJaMzFxbDRKK1hSU2p2N1NieTdpVVh6WWtnQzdKZ1VQSmtvYUtJZ1FSWXdLZDFBZUdJWlFSSzJXZHBJdW9FOGtmRzNJU1lvRU5Jc1VSWk82YmtXNUFxb3g0NmFNamR0NHIyTlJ4TlNxdkZZSXNlYmdPdXVDcnFubG5Rbzg0dEFTK1h0bGpydlE5bTVpNk8rai9pd2FYb0FtdTUyK1B2WXdidk43VFozSEphTzdCVXRWdEo0ZlhHVXU0UGhlTno1L29VTHR3d3YzVElEUlh2dDZBakllRXNOZFNkalBLaGx2SkNsNGc1NHZKSjF6SjN2ZUcvV2FqVnJ2VkJqcTEvWDY4RVNOOVI0TCsvZkwrWHUzVVZSbGwxWDdXZXJkNm5ZUGpwNXpGMXVkNUgzdzdrRGh0d253QU1RUE9DUzdvR2tEN2ltTzdLbWQ1TGNqcHFrQTVtV3NoU0wzUDBPRGFsTHFUbElOaUNGTnp0ZXBwMGszS1JKdm8yMENlbGFRNlNSVGlEUndxYjFFOG4yb1VjZEVxNVBDSmdrVEFLMldzaWRpVzZTckZFbVE4RWRzTTZSZkpkcUVuRG1zWVJwY1p0SnV0MVQ4VDRTN29lZ2VwOExQaXdpRDhDRjU5WHlQcWJmN1lhM0FYSUladnV5MlFyYkxxUnFheml5UVdmUGFIVEw4TkxPR0NqYTY1YUxnRU5PZlA1RU92SDVPenIvd1I4ZjcyM2dsWDVsbzBHTjBURExhSzZXOFh4R05WOUx4VFBoYXA2RVBKOTlQSmMxVTIvY1k5dk8ycjg4WGxBR1k1RFRybmtFbXpQZEV5ZE9wT004MXoyeHR0WTU4WmxQOUNubi91cnYvTTdpWC8vTTJ2S3ZmbnB0ejY5ODlyTTgxMzNvVUhkMDhVaW4wemt5N2hWSHgwVnhyTzdxc2Jvb2puSm5lRFNySEhOTkpGYzlaZ0tlcCtKWWRvbjh3U3k2bnpxcnJzVXk1YTRNbmM5SVBPZE5QY3JKNzN5TlZNNmRheEFvZDhWd0JFRUdFdE9FSzV5WTFDczVUd2lGMnd6VVlYdHZvSytwTTVZMXlGR2VFRFo4UXRqQ2RNSCtPaTZwWjBoRDA3U1FOUzJSZkhlYjZGNWlYNFllTk9oaGd4eXhKRWV5eUZIaW1CZkNzK3ppV0U3cEdJOG9qbXJSUFdxcGQ2UVFQN0s1WGgvK3R6N3pUdzcrOWYvOGMvdi81bi8rai9hZStPMkhWazk4NWpQTC84N2FRd3YvM205OGV2anJ2LzVROTZNZi9XaHpYcnkydGhZYzltWThYMXlQSzV5L0h2MjBmYlFSK0praWNPTGhFN3JVLzM1M1dPNFpqTHBwY1dOVTd4cmI1c0tZSkV2UzdXY1pkN09PTzFtcVRvMXhhVktWdFk5N1ZiMHhyTmRIOHd1NE5QZk05NnYrY1Axc0diWitwczdmZ0RJWHZwdytmVG9ONzd5elhNV1pIbkJ4Ym5OanNEd0M5blhHNjBkOFM5K1p0Ynl6d09oREx0VURpdlRMMXNFRFZwVDM1MjU1YjkzcGZEQ1h4ZTExV1FRUjc2c0tYYTVVRjhhYStwVkloMGkxYWpKSllrb3lWWktmRkxBQW1PWjVoYm1pRHBCSWE4SWFZbFNlWWhRY0FlRko0QWtUd2xTNE1VdVlDeXhrZ09rb2p6SVBHMlJITjdZaFlFbUVaSzRvb2RJQm1JNjYyRUZ6ZHd3UDIvVEhoVWNTMmtINEdmNWxVV3hEazljaWFNYmpNcXhFbHpqT2ZaVVdSK3FVM3A3THp1MVdGTyt6VHZxZ2Rqc2YwcUs0cHloNjk5VTUzMWVrMFllS1R1ZDlvdnFlY3FONGg2a2VUblBGNnBXNUt3djFycmYzbHY3MDZlNVRRQkhQZ3M3dHlGdDNwTmV0MDdkQUJKNUs0M3ErWTVVT1N4MHQ1dkZvcWJaNmdVUTd6UEZyQ0JuM2FsUmRrM0ZKRWk0cmI4aTRtNjBhakcxckhsVTFYNVhEdmxwVjNybDY5cHJ2a0o1NjZpa1pIemlRS3B6cjlFZUwzVlFNaHNsMDJRcmZSODQ4QXRGM3VPbWRMbnFYT1g3SlZINVpvQSs0NnYybTZWN1g0b1BrdDl0ejBtTzVTSHR6S25pa290elJnMTh5U3FlR0ZCbXFMQmRQaFppVzdwSmdEYlQ1aFVQMmhHeE1telRTTERXa1NOTGxlRk1BVHJKMjZwa3JHbERmR2t4SW1ENnlqU0prbERjeWkxQUs3VUNtNUNzazJVZzcrOGc1SVhTTmRtTzNEUzJwU29SczNpZ1NDVGlnQ1BLdFJVbkNta2krQTJJNXErNnJWYmpqVFc5MzFYZDdvVUd5UEMrV3V3MXlMenUrSDhDOUpONjdQQnVQWnZRT0VYbEhrZnhRcGJKcXFWam9tUGJIQTNTV1RxTjQ2bzQ3T0ZhMjJJSDNHeURnSFRpcTF1VWRINEhoK2g0ZGJhWXViRHlzcyt3aStmTGpkNTdQWHMxTkNMamkrZU9ZNTU5Vkp3allwQ3JOcTE3MmV1Q1ZrY2g4cnBQcXZzelBsVStkWGIzbTgvenNuWGZLT3M0VWFUUlhidXBXYjdRbGM2NjJCTS83ekhBRThIZW80RTQraUErSjRwZElJQjkybnV0QzVYNnkybjJVSHpTVjIwMzFhRTVwYjFaZElsbnhERnNHbEpNZHNKQ0FDV3Qyd0FWM21LVWJDVGlUVkJ1NE5zUTdJV0dtbVRjVUFIZWxvQXh5ZEMvZ0xIY1NaeU5kU0o3RVRCclRwdkFwck5HTmZPSVFhQXNsZ253VjNBRTN0aExiSzNKVzJGVUUzSkF3L1RUMmJlRWpCMDNpUlExRnlDeWFzdXJBdUFPdVJmWlRIakdSSUdDZWYrdjdYRFYreDh4WXlUMEE3b2ZMZlpRZmd1RDlxdjRlVVgyN3d3NnJ5S3BMWHFpNm8zNnZHSGJxWGYyMDlLZC9xdFRka2ZlT2RYeEhScnQxK2cxSG9MTjdYb3M1NlVxM25POE9peVZKc2h3TEw2TWVtTWFYY1hWaFVxY3NWY3FvbENocnFZY3V0a3M3c3RxZjc2NTI1anFMWmIvc0h3SVo2dzMzL01ZVWoxTnR0REVubS9OUUZKMEVIb1dnbGdHZzh4QlpFdmh1Zys4QnNNL2REOEw5a0VBT0lpQnl3SVhsb3J0ZFpSZlRjeWJvbTBvblEzaXVDNDVKbEx0QmRVbmtvaG1VWmdMTXU1SUFKd2dDTmxONGtDeGxRNHhCamdTb044T0VnTG5rcnlwN2ZaMUhlMktpbXhvU0ZwSXdRREp1Q0ppRUh2M1Fka1B1TFBkQStNa3doNzlHYVF4TEF4RndITWhveHNPakl1Kzd4SnVWTExxQXp4UzdYV1FQWTdaUEJBZmc0T1BDWVJHSmVPMW52UFl3Zm95bDhjME5DNTd6SE05bCtNbEd1K2lPU2h0c0p0eDlOM2JxcFR2VjhkYnZtenNDdFVrcXk2TGY3WGNXeW1GbkpYWFNpaWRmZ0ZyUEVNUmJvNVlLR1JWcWpKR2xMbHp6SERkaHE1MUJjYmkzcTNlNFA5OWJIYzdKZkhsZ1ZGenJhRDFDZzkzQndIRVpTTkYxU3U2aUlvQXFoQ3dWakJRZjVVa2ZodXptdGNNeW01bVExa0lSNGt4TjRPNElzR0FpbWFkdVpLbXVUQkpHZXlSUE01SWE0VUdVRGFhRXpMUUZZbmRLMmRSVEgwaE5lN2txamRlbkk5K0F1cFErSlZtUWFDZUlFQklrWVFUaFVqcnJBaGF5MFZlWWhZL1M5QWVuRElDU0pSd1lFN3laRm5EY0JNZk1na2liVUZWVlJUV2xwQ3FKTWVMdFRxTVoyYkpSV2FubHBxa2VvN0M2U09raTlNSUxMOUFHamI0Sjk1dHRVdC9zRGxyN2JRUituZ2pZZ3FaeXpudlN3WUtXc2xzTDJTMktCUzdUWHBiTVRWQ05UT3F0R3dLdXdEUGcwbUR6NEJsaFVSWkhPcDEwcEJ6SUtqcmxmS1hkOHVmeDRZMjBLYnBkNy9SaHFqMVBCWWtRS2RZVVdReUZ1QXVwSlc2U3I5Y2tJQ09qRXJRc3hQUW1yN0FxMUx5UmZLV2tKb0ttaER3ZFBFUmlnN0k4d0hJU3JCRWtvNmJNU0lER2ZNQkp3QTNJYU82aEh5NEZFbTFSU3VFaXlSRUE1UlF6WGFldFNJUEUyZ0NsSTBEU0JZS0VJNXdCdnM5UXg2UGZhVC9SanNNV04zYmxVNWpUWVdJNlhwbktpZUJvblU4VkVDcUpDQU1va3FTQlVsV293RWZ0bm1GOHd0blZwR0pzNjlKeVJhYUc3anQzam5yWWtaZnVTSzlicDIvNkNBeno1VlFVcVZkMmkvbkUzVzhxZEdWQ3dMbHZrbE1tK2VZcCtkYmNBVnZzZ0NXVGdIMVZDejJjeW5RWW5iVEs0NHU1Tkt6Skd0YytaTDNoME12T3lJczZDSXFFYVNRTUlTT0JMRVVDWVltSXVadFpkbzhkTUxJSXVFZEV3MFlUMW5ERVArcVNTSm55Q1JwdlBWNnB4WUVEaVNwS0NOeElxa1pKSzhidVBBaXpRWlFyZVVvYWVPaVJHRUhpUnJRUEdlVGJsQ1d5WTloTDdDUWtRU0tldGZHd0Y3WlIwSFhxTk9UTGNmcUVlTUVoTmtjUW9STmdYMFk0YlY4TjBFZEE0STNFNUpLSjRHQ1k0SGhCVUlIRlNsV04zVytBZVliTEdRV3Z6UzBMUFluRFo2MVJaRUVSdStCTmlVRzlFenYxMHAzcWVPdjNUUmtCcmpFMHY2OHQ1b2F4VGVPWE5yYkx4RlpkZkxlckx4QThnc2lhd1EyUlREQk5KK3IwdUpRWHFjOHp3N3liNjNXaDh0eXZLMG5YT2xxcmQ5emgvZlYxMTNFM1Y4TmhEWkd4cTIycTZCV0JYaFMzODZTT3MvVG5CUkxOYzB3L1M1NEplWnI1RjhoSUw4SHl5MlRLODJKMmtSK3hyOER5bHJxUENXTjdFcVJEeklFWm1BU0pUQUxrSFNIWnNTOEl5WFVDdnMrUURORkEyUVdYTjNWQU9OdThCaGFrR0RwVFNYdWhCMHFuL2t3NmJVMFF1Z3dqNjV6Z25oOGVoQnQycHVCYkMvaFl3TDFxNDdOdzhJTHdFcFpFdUM5SHJZNnh1SThFdmtGY0FzRHRxNzhrNHFmNS9FNVQvM2xBbmhmbzh5Smc3T1FsdUw5TVcrZHp6cGRnV0tmZUtEbnFvb082N3l6QmQ3QlRMOXdmbE9zQUFCQUFTVVJCVkQ2aG5lcDY2L2RORm9FZ1h2a3JEeDVQcC9lZlR0Vm9xNU9yYWk1TEpnSG4xUXhiNVM1bzBXSGNBWHN5cmpzRGM5dlNwWFlyczlmZGlwUTRyc2ZES285NnVkNHFPbHJMdFk3Vm5VOC83ZDNsNVp5SHd5cXRyNDlKRHVzcHkzbkFuNGZLOXdINWxxZzg2ZkN2MGMzSFNDSmY1aHZDWTI3K3VHVjd3dXY4ZFRIN3B1VDZlNUx6TTJyNVJYNmdQNS9jTmdxM1hMZ2ptVUZ6aHRUazk1Q1plWE9ReEtCQnUzeGZLUUphb0VnRmtpWWtLU0NTSUNCSW5pQlorcFFndVllRVpTRFhEcHByMHQ0UXM5SnRFaXpiWUFvUHlmYk85cllOZ1UxdHVRRU1QWVJ5QW1mYUFmb29ZVHk3QzA5dGt6bkhnbHpDcXhMWUxHSHJKZndpeC9keWNuK1doemJmRWVEcjRuaWMrRElkL3lJTmYwRkVIb1hJNHhBOEthTGZaaXgvUU5KOVRxRXZHZU9zS3BkcXladnJZNHhIb3hHOW9EODc4R2JrZDZEWHJjczNYUVNjYS9jUlBLS3JkNnpxdUROT28wM3Bjb00xelBENCtka2VteEl3MTNYZjNKSUpYOGtBUm5iampvZ3BWM2NyYXMrOXl1dkIyTWVCN2pqWDVlYTR1dWJ6L0ZPZitwU3ZuRCtmZDNXN2RRY1k5N3JkZFhwOERxYW52Zllmd09UYkR2a0dDZU1KTjNuTWdTK1JkTCtDT2ovdVZmMkVWK01udmFxK3hmeDN0YTVQRlRtL1FGd29TTUNsZTEyWWtZQXpsSkk2Q0pEUVNIS0FRcEQ0bWtSUmtIQ0xWSG9nTWEwa1g1WTJHcUVaQk9va1dUTWhlUUk1T3pHVlJxcGpPZjNqcGxRRkx1SlNPSlNnZENGRm1vZ1p1dzFraUlOaFpzQnAwMkdnZ1FrazB0a2dCT3FRbWY0Ykg1UmJDYWxMbDNIcDJHTDZDdVdsQW42VzVQc3N4L2NkdGZ3azNCNm41Y2ZvNUpkRTlNL004eGZoL2xVNjlnM0t2ekMzSDZEUTUycXZYNUxzRjlUejVXb0xHK1BpWW5YaHdnV2pGenZ5MWgzcGRldjBUUmVCQng5Y2szZnRmNWNNMTRjNjJGZ3ZyTkNPZXg2NjI1TERWNDNIRUFaZmRPY09HUHdTanF2ZnVEckpCZVFOYXZBMXc4cnN1VnRiUGF5c0d0WjFIV1JjWk0xeXJRTW1JazRTemlUaDZzSWRkNHlxMFdnOWxRdm4wT21jUmxsK3YrelYzeXBRZkVOTW40QldqK1ZxOU9WcWxCL0xWemErYWxjMm52QXJHMStYamExdnBxM1I5NHJ4NkpsVVZ5OFcyUzZVWnVzazRVd0VnU0YyazhJZE1HcXlYN2FnUDBKSXdJR0VsQW92WWdkTUpCSnhvZ3dTamxvaFNUTXNjQ08za3FJc2t5K0pJT0VtSGVWWkdFWFdjNWZyM1BFaTJ0QTZRSHFrWkk5dzFsbm91cEFmZ1lrOXdZeUV4UndnU0l3QWZXeDhyYk5yZGllVlp4SXVkOENvU3BGTmppdkdkN0hrOFF1L05YMldiemJmS2R5L3pyRS96blpmTnF1K3lBOHNYeWhVSHhYVng3T21KenVhdnEwYjQ1TkE1N20wVXJ5MGljSDU3dmpjNWVIbzlDYWVlMjc4OE1PZjUraXdJeS9ka1Y2M1R0OTBFWGpxanFka3VIU2g2QXpYdXpaZkQ3aERJdm5xSEVsM0F2ZllEZmV5ZUVFT0VaYmpWWUE4MDFCeFlsbHBibDJ1L1g0V0crU2M1L0pXbnY5UFBuOWk3aE9mUDlILzZGYytXcTZ0clYyVGVSOGtURnYyOEVjK2toOWVXeHMvL01sUGJ2NnozL3F0eS8vRFAvZ0hGLzc3MzFoNytWLzg1bStlZWVUdi9iMFhILzNrLy9uNWk4K2VlVzd6NVplZnRZc1hUK1VMRjA3NWFIUVNOVWtsMXlmRjZwUEo2bFBKODhua2RvclVGK0R1MEovbjd2QUZNWHRKelY0Vzh3c2t1Y3ZxUEQ4MWpOUXhWdlBNdkt0TFE4d2dVVElZRVJBNFAwS0E1T2xUYkpOckVDM0xtam9vZ0VRb25PbVpydEZld0JzNXE1UEdMcFVwV2NPKzJXZ0V3NlprVzRmNUpjcFhpSE5TMjFseGU0RjRuajF3UE9EWUNKR1Q3TzFrQWFZNTFzTHRKTW40WksrdUdJZU5VMG5xVTkxTHp6M3ozMzM4Ly9UY2YvZUpqNzN3Ly83TnYzM21uLzdEdjN2dS8vazcvK0RDLzJQdDQ1ZisyOS84emZXSFAvdkp6VC80Z3o4WS9kRWYvVkgxOE1NUFo4VEdIRHZ6WW14MnB1T3QxemRkQkpLWHd5NG41RnllNit6S1ZpelZrRGt1ODY0NU40TWNybkcxbTRFODVNaXg2VEpuT3JpQUd5K3dYQ0RjQ3lkeUVOZTRkODFrM3V1MHdnKysrOUhGdnFvN1doby9lMlo0K3Q4NnpYcGMxMnVSNTVRMlB6K3VSVGFUNmlYVU5jbFVYMUt4NStqMkR6aTBieE5QY3J5UHUrTlJjZjh6OGZ4bHlxK1NoSjhVeTk5S25ua09tcC9YWEw5TVhKUmNieURuTVdvejV3N1o2cHBOREY0VFRZQVlEZU13blQyUWRBVUZLVFpKU2gwRVZFdUlrTzZoTUZjNDlSZ3p4Q1kyWURuaUszUnJBa0RBUzRTU2hNOHdZNHNQNElwWXZvQTZuK0ZSeXZPUzdRZVNNNDhWN0NsayszTTMrd3BiUHlvaVg2RDVMOEg4SzdUeEJEMTdpdGEvSjY3UHUrRjhwZlVWM1VwYjNhcXF6b0tVVHFWYjRlWjh2eFdHMlk3eFJvOUFIRDI4VXEzM3BOdWRFNU1sOTdUa3B2d1NEbDB1WEkzVkhseVM0VnpYRUZLT0dFbVlkN05hbmFUZ0FQV0UzT0FGTjM4ZEx2bzVpQzZiRi91UTYzMzhHbWhwVG0wdy9QNEZic0N1YjBSdTR6bmwxc1dMMVhnNDNOaHl2NnhGY2I1T3hpK1Uwbk11OWdOUklRSDdrOHF6VUVIK2dwaDlRYko5T2RYNXF5bnpJM29RY000LzBFd0NydXVYSmRjWHBTWUIxL1hZNjlxOEl2bldCcytNRU5uVE1pa3VBaGFCSTdreU5CQXBvQ1RkcElXb2xxS1NSSlFIQk5QelhvTTZqeWRvMmhzWUF4OElZZ1lFSUNUZ0VGNlo3M1lqeWZtS1ZQVUYrdldTMUkxdkoxTlYvd1hHNDZlbHF2N2M2L3dWRXV5alVIeUJyYjRFRnhLeVBPR3EzeUFaZncrQzA5YkIrZFRwWE9uMWJmUFM1bWExK3RSVGpsdmthZ240Rm5uUU4vb3dPN3M3bWxMWkhWWDFmRlpaa2xxWEFKbmpndTJhaUpKYUdxSTFMazBlTHlBM2tsc2xTdDdjdllGOElFTE9TT1NiNU9CWFlwQjVtSzZna3YzWlpaK3JMUm02Z3hHUWNKMHZmbFMyQjNoZXVYajY5S2FOeDVjSEd4dm5NM0NtZy9Gelk5VWZkR3o4YlJUNVNiWDhsZEx0QzJVMS9yTk9WWCtwSEc4OTBhbTNuaXpxOGJkU1hYOC9WZVBUS1ZjdlMxMWZRcTdYdWZNTUFuWXlKMGgyaE1FeXliY0JHQmZoaTBJNFpKVUVsUkpKdVFNbVNMNFFrakl3M2YweWVFWmtFdmNNN213TzdtRUppS0Q1MTBpWW1KR0EvWXJXZGw3RzFSa1oxOCtsOGZoa0dvMi9VMnh1UFMxYm82L1oxaWJQdjhlUG12c1h5cUw0a3FnK3BpWlBwTEUrVmFoOXI1Y0h6MjhDNXhjdVhicEM4dDBrK2ZKWVllZWU2ZUpudlBSbjFHL1Yyd2k4S1JHb3JVNCswRjdSMDNsdXpsYTgwQlYzV1NBWDlMaDRFeVUzVEVCSUp3MndEaUdETUFKT3IxZ243aERtMVlIU1JRY08yU1dGckJaZFdmVk9zYWdGK3ZVUzJRalgvWEtTY0g2YzU1YmY1Zm5sbzUvOTdPYlRhMnRYdnJTMmR1bEpuaG4vcTMvd0QxN3VYcnIwMHZDWnZ6aTkyN2FlS2ZtbFUzSDUwaW5kckU5MjZ0SEpUcTVPcWxXbk5OdkpnUERzVk0yZWtXelBpdnV6eVBZaUIzNkIySUI1N0U3QkFERVlBaGhCWWdYZm1RRGx3T1A5aDlKNS9NQXluOEVtUk96VURXQmJzb2tqM3ZjMm1Mb2drQmZaNTNOazkyY0ZPT1haVGtuT0o2V21iMVhOSGZDSUpEdzZtUzl2bnFwZWZ1V1pWNTUvNVprLy9laS8vK3lmL0VmL3p2UC8wNi8vaDZmLytTYys5c0svNE5udVAvL2tKOC8vczkvNkR5OC95clB6aDlmV3hvK3NyZFVSSTBBY3Q4akZwM0NMakxRZDVnMGRBVnV3bEpMMXZTTzdwSU05U0xJSEtvdm1NdUNINmtRU2huRUVUdklGT0cyRlpNRjA1TTJCMkxHRkRCMkRoeTdaQlQxdXErZjRjWDlaeW1KWlM1MDMxUjQvcFFjRDBkcVB2dCtxMGxWKzlEN01zK0lyUC9pQmRUZXFLdmZTUmxIa1N4emJlY3Q0Q1M2bkJQNGRGL2tHSEY5alRMNEsrRmZjOFdVUmVVSWczeVBPbGk2ajVJS0FNRGJDTkl3dHM0QjJrR3RNa05Ia0xlb0NvZWNLWVd5Vm9LMEpGVGFCOVJHSi9heWJmdzltVDhEWXArTnh1SDJOelo0MHlEZFY4VjBnblFUME5OOEJ6bnJoRjJzdk41Zm4xdGtUQUg1QVFYdTlKZ0w2bWx5YmFTUHdGa1ZnbUMzeHMvR0FyTEZvaGV5UlFsZTVrSGVSUC9wbWlCMHdlWWEwSTl6Y3prQ3ljSzUrMXNPY1pPSWszcEFjZzdHeGkvUWdPaTlsV3BKU2wxTkg1N2pEN3U3cUZrcVZHK3NXd1oxMzN1a1hMbHl3elpXVmZHbXdXZlhSMjZoeWZTbnhJMzdKSGE3Qm44a3Uzekh6cHdUK05UZjVxcnQ5QldaZkZzdGZFL2Z2SjhqWkJJd0tDRFRnQWlHNWduQUd4VFBqbEIxOEUwSkR4aXkzSUdaS01KNW9XcVZvU1FpRThhUmQ4QjJ1SVdESzcrZmF2cFp6OVpqWC9qamZCTDdtTGw4WDRHbW12MHVqcDFUMWVXaHgxanhmSEZxMWVmbjAvb3lXZlBHakx2MVJoVzFaRzRIckhZSGM5OFR2Zy9xdTBod1pRR1dQaXl3NnBHL3c2UTVZZ29FQmlXbkxIVEFYZFJBdkNRQWhqUVFUbjVOSkJOUURONERTNVU1NlhwTnc5MHNTVHNXOEY5S3JNeEp1dk12WDF0Yjg0YzkvM2g3NTFLY3lkOFBWbWRQZHpia3JjNWRHVlhrT3ZlNkw4NzEweWp1ajd4UzUrSWFrOURXcjZxOUtwWS81dVA2eTFmYTF3dVI3aGN2WkpOd0JjM3dNQUw5V0U1S29rSFVadXlEYWpJWjg4MVVrSEhGekVyQzdRS0FObERHV3lEdllsaTgrMlFGYnR1L1plUFMxdkxYKzVicmFlTnpyL0xWU2VFWTlHbit6VHIzditFaFBkWUhUT2wrZlhYNFpsK3JSNmMzSEQ3ekFYbW1udlg4b0F2cERKVzFCRzRIckZ3RWhVd3JXb0dPdmluRkczOFRuTS9KeWRsc21uODY3Q05lenhyYTNVUTJTbUlBRVRMSUE0Y1JNT3VralFFSldkM1RKTS9INzRWMDE4cTVLODV4QmVpT3A0MzlqRXdZRVlBUGNNQmRkbHdaeEZ2cjRIMzJzK3BNLytQam8wYzkrY3ZPUnRiOXo1VS8vL3NjdWZ2a2YvdDF6WDFqNzk4LzBONy83b2wrUjV6YzNSODhWVnpaUGxWbWVUWUtYa3RrcnliR2VlQXloTGhXUnhmbVBCTXRYa2ltWFBOT3drSVFINHYwb2thZ2pyWlFTY0FHeUFsVUNlS1RoNnp4emZrWGNYOEpXOWV6b3lzYXA5WmRlZXU3OHhaZFAvM245MGt0UC9CY2ZQL3YwMm45MC9tdi82Qk92L05udi9kYmx4OWZXTmg3NXY2MXR4WmszMXRic2hvbndEZVlJNDN1RGVkUzZjNnRFUUxqamt4TVBuOUM3OTkrZE5pNXZkY1lZOThZK0hvNXp2Vmg1NWhkd05pQUxkS0JKQ2NaRkd4STJFb2l4QWlRUFFZSkswVUFrQVZEdWhnVmM4VnE3ZDJyTGc1SGxoUkZ0RXNOUlBlNXRqVk1aZjIvaStJUEhVL2pBUmtMc3FIdjFxVHY4MGh6M3Nia2ViNlppNUliTmxHMDlpVnhLam92Si9STFBiVGJVTUJianY0aFZBQW1DT0tBZ0dEZnhRaVJrVTVaQVRaSTBRMkZ1eVdTY0hCc2Q0RkpYNUdKWDA2V095N3FrWXRQV0w0L21obW5jai9OZCtzSVc3ZjF6UkVCL2pqWnRrellDdjNnRUhJai8rbzJHMG54blBsVjFYVmE1SWdIbnVRcDVvWVl0WkhjU3NIWmNWU1hJVlJST0VqSGoyVU1HV1ZZRmtsd1RQM2hyZ0hRaHNmRVZOeGN4Q3dMMlFXMzF3cGlFUHM3VjNLaksvWEdxeXZoN0UvRjNKeDdCSXpSS0wzYlkvZkNkVC92SzZYRWVEYlRxVkxMVmdXMlFkTmU1QTc1Y1dyNVltRjlTa3FlNmpnbFRVNGlUWUJtL1JqYUVPeUZoUmNISUpnWk1ST0xRZ2p0bXpkejl1by81aFI0SldDNTFWUy95bmZCeVArbjZvSk0yNm42NU5lSTU5VXFjNzlJWHROZlBGUUg5dVZxMWpXN1NDRnpIWVQwSStmNkY3K3ZaOWJQYVNaMVVwMXlTS0h0RS9CMkh4WnE3VmhNTVRLUWptaFNhNkJ5NTBvWHN5azJhU1VQR1FtSlc3dUJVQzladjY3QU9taDFsZGh1TXpSYXFYQzFXWnNOSzZwNlE3TmMzMW92NGp6L2k3MCtzUGJnbWJMeXo3clUxajdQVmU1OGFWc3R6M3gvMUN0L3NvTGhTR0M2bjdCZVQ0UkxSN0lDMTJRRUxxVlVuSkl3Q01vV0daUHdFaVdVSmNJWWlBL3dJWVh4TEc1WEFScGU3Nmo3azRpRGhjcThvcm5TNnZjMlg1dFpISjUrNm93b2ZlTVRnYk5HKzMxYmpBQUFRQUVsRVFWVGVQMGNFOU9kbzB6WnBJL0FMUitENHYzWmM3emgyUjJkcGNXbTR2TGk4V0Zwbmw2c3VPSHpPeFB0RWx6eFFjbVdUUjF5YzlCQUFkM0NBTXFmMGdXanlnaWgza2dkM3h6eUNjR1JtMkQ0UkpZOGp1bG1rVHl0RGt2TDhPT3RpZDZFN3Z6NWNIMnoyTnp2TkxwaldkdGp0SkQ1NytPR1A1RWZXMXVwU2ZNdzNsazNOZHJrd1hGQzNDMkorUlF3andocGl0Vm1jNG8xc0VqdG5MQkV4Yk1ENlJnZFFIa0dRaExlNGk3NlUzTStSaUY5TzVoZjVRRGFXckQ5aTN6WFlONlV4Yms2MDk4OFJBVDZGbjZOVjI2U053QzhZZ1dNbmp4WDFWajFYcEdLM21oNVNLUTZKNlc2SURwMFo1OHdrYXlDVFVldHNDRml6ekFVaUNkTHMyb0pJQkVhV3pheTBBQTlESTAwQ2hqczNmQ0lBTjlCSUtibW1BZHN0SlJUNzZuNjlUMHRkMnVwdERmcjM5ZE12T0p5M3ZIbm11WTJvYkRJYWw5enJjMkorRG81TERNY1d3NUtkeE9wOGcyb1FhWUtoUlJNN3hzOUlvd0crZXduYk1YWlNJL3VHMVhiQmMzN1I4dmhGc1h6QmExL1AxZlIzdlcvNXFIZStBNXptTzM4UU44a0licWxoY1BkWm1ObGMxN3NyM0lRZEV1Z2hrYlFicW5NZ1N6cUowd0Z5Z0NObmt3QUpRbHg0b3Nuelh0WGtZQm9tNUFXSTFTNlduWG9UaEs0SkRTaW5lR3BRaUtRaDJ5eDUwbjJlMGo1UldTcFRPZGo5OHU2Q21qdjZycmM4bzlyYTRnNzRrdVo4emkzZ2x4bWtUUmhJc1R5NWFVaFdZRDVGa3djWUs4Ylk0Y3c3Z3lZWklneTdtVzk0dGdzMnJsL0UxdWdsRzQ4dTVIcThJVnJYT3pwWU41RHpuSmsza0RldEs3ZE1CSWJsc0NpTGttU0wzZHh4SFZJdERvckliaEVTc0VyUjdJREpBdWFPbWd5Ujg0UWdBSUZJZ21xQ1lMSURkaElIeWJjaGtkajlScHZNZGc3QVJVQmxTRXBKVkFlcXhSSUw5cW5ZUG41VHQxd2xHZHB1UzFUZDBmZDhqd1JNQnBieDVtWFVvM05PRWphelM1NTlpNkhJVWV0UWR4Y1NyWkIwWDBYRWxpRm1HVU5neEVRbms3ZzNjdTBYYkRSNktXOXV2Rmh2WHJtUUxyK3lVVzhGb1ZPdnZYL2hDT2d2YktFMTBFYmc1NGlBdWZGOE5nODgrWklVYVE4Z2V4MjZ5eUFERitIMkZsei9CRm5VQXdBY3d0Y3BncUVqNzRLbTNsay9oYzBrNjAwRUFWZEpSZ0ttL1dWVzcrZHh4SDRwaWlXeThvQkV2T01KT0YreHJKVnQ4clBBUlVFK0M4TlplTG9JU1J0ODA2bEUxWVFFRE1KZFlZeGJBd09jTlFHd0RJeVpFQXJ1ZzAyMjNQeVNaWHZacTlITE9ocGRHbzJxemRIRjV6TGE2NXBFUUsrSmxadkFTRHVFNnhzQjdtZFRLcnBkRk1XY0Y3cnNLc3RRbVNjNTlneXU1QVU0aWNCRkFPRTBEVVRlUklKd3pSdmlFQXFBNWErQ3VzejdGS0VYdHJpQjVwRUhoZzVkSWtqQXVwKzJsN05nV0dtM3dBNi94bk01RjFwdFNyWlgzT3dNcERpVHlzNzVvdWhlSWNaRjZ1YWtCYVBIcjlLRVg2dTV3bDJJaVFUakpZU0tJcW1DbnpCTWl6VFNsTlpGaWxkTTBpdGU5SzRVZFRYZVZSZUc5cm9tRVlqWmVrME10VWJhQ1B3c0VVaExTYm5lZXhDWkZ4R1NyeTRET2srRzZISjdsVWlNN21GUUJCQUZRTEpvZ1BqaVNQalJ1aUZpT09zRHJBdWRnSU9rUW15VEwrQk1Kd09QR3h6TFpKaDlMckxma0paRk1NeGFGZGpoMStYVDQ1d3pObEpocjZEc3ZLU0JZbkNoS0h0WHlxSXpLc3N5YXlxemtIeGhqS1VIR0tlSlpLelZBWVV3MWtrVENsVkxXcEtBTyt1YU9xOTBVbjZscTNsOURJek9qTHEydzhOMXc3aXZONHduclNPM1ZBVFd6Vkl1VXMrVHpudVNaWWd1a3d2bUdJU2VNMk53OGtSc2NBVWlDaUdBSUkwQStCRWFJR3MwaUhLUVBFS3lMUkI2VTVBcHlOV0lROHRFRWg2d25uM0pmbGZoRVFSM3c1MWlBT3NsN1BEcmJ4eDRJUy8xWDloYzJGeDZaVzZjejZUZThrdEZkM2loNlBTdmxHVjNYQlFkN29CTDQyN1duU1RzZmhYNU12QU1Ob1JmYWlyanJLcElxY2lxYVNSU3J0ZWQ3c1VhZmpGM3h1dkxKT0RvYTRlSDY0WnhYMjhJVDFvbmJ2NElrUGxPbkRnUi8rbHZjV0x0UktmY0xMb3c2enQ4U1BLY044V2NpL1ROcFRTUGcwb2hCVitObUtvQ09NdXV3aXdQc0k0a0xBMFNoRVRDTG1FUW1EdjQ1VndjYTNSY25DU01SUll2c25oZTNRYXAydXFkb0UvSDE0NVAva1lFV0l1ZGRhMnRyZG5EYTJ2VjV6OXpZdXREZzJmWHBSaGMwVlN1SnkwMmVJeXdxZENSaWxRQ3ljSWdpR002U0NiUWdGRkZMY0FXOWRZcDEwTW1LZGExNkt3WHZmN21LczZPNTM1bFg3MzJxVTlGQTdUWEx4NkJtTlcvdUpYV1FodUJueEtCRXg4NW9mdCtaVi94MU9xWlhybG45ekJmd2J4Vi9QaWZaVkNiOWMzUUpVcUhKTGp3ZUlFVTRBSW5XYmhSTm9oZEc2Y3NkMjlvd0hKSzZpQjBNQ05mZm9RV21vbThHeVIrRVVFU3BqUTE1elpQa0NCU2tQeTdOZnZYakdHNXB4eXVycTcydnJUOHBmaWZkZ3AyNkNVaStOU25QdVUxMzhjTXFCdzJndGtHdjV4YmQ4OGpScXhTTlZNeE1NM29HYVBXZ01TY053VjJrY0U4QytRemxLOUFiUjA1VjZzNFpTeTBPNTkrMnRsd2gwYm54bk9icy9uR2M2cjE2T2FMd0oxMzNpa3ZwbHdpYi9adFUrYklFUHphU09iNERmdkFIRDB6NzFLVzdzMmZrU1FCQ3BnbVFwS1BnNGhKeUNCbGdKUVIwcGwybG9XTVBEd0JKRjZWQWtJWmVsRnYyWVVrVHlNZzdWZ2lneVEySzJtbUMzamZLNS9icXJlR3hXYlJtMHR6NVE3OUwrUEF5d21JQ0FySkJyY0tucmNjZVowSDV4c2M2NWJBS25IajhNSG9HVU13Z1lBbnlMQk5lTDRvVnA5VnkyZkY4eXNzWHhjU01PNjRJeDhIYkxMN2xlaW14VFdJZ0FMWHdFcHJvbzNBVDRuQVUzaEtTL0V5VmYxZXFlTzU1SmozMm9kbU1yQnNmZTVTdTI0Z0FRZHpDb0k0R3hqVEJuaklLUWs3cVFPa2pxQ1FCazFkN0NVVTBteHVFN1F4bzNBQW1TODV1N0FQQmJnRDFpQjVsRXgzeGIyZlJ6NlhMQTFIblZHdmxMSmN4U3Ixc0ZNdmpoWmU4UzFIUERjRUxHN3JRY0lDMjRKYkxVeW9PR05rVUI3U0tES2paclc2YllxUmdKR0RmTStRdEYvSnRXMGtwUEhESjA3WTJ0cW5IR3pNd0RqUjN0Y2dBbm9OYkxRbTJnajgxQWdNanc3NW5VN3VsUXM4NngxMmxselNzcmd1d0RISWtJNURrb0hrQ081U1RRVFRQVnFRYldDV1I1QXZFV1ZYWTFiK1dra3p0T05PQWdkZ3p1TUlHaklxT2J4d3R4NnpjNnF5Sy9YVHJsU2tZZVZWTjN6RkRyOXlQY3JDanh0dWRwRkUrckpZZnRsemZTbkt4T3FzWGlPUVVKTjg2MGliZUwxSk1xWitIUVJNVkJkTHlSdU1WVTNpZFVBSUJOQmUxeVlDZW0zTXRGYmFDUHprQ0t4dkRJclU3UTZLWHJHa2cyS3ZwbUt2YU5ybFVINHBSdklOb2tRUUpxZGtRN0FKSGtjS1RLT1JDYkFrVWVaR0hXTitWazdabEZQWEd3aU05Z0pPQ2NMRE5sMDBGaERjRlZ2S2JuM3p2Q2hKZDZOYjdDNkg1V0lhcEY1T21jYXB2SU52cmVlNUNjNlh4Zk5aUno0RnMxTmk5Um5rOFdXMUVYZTdJMzRNR0w4S1ZEbWgyb1RWbHhUMXkvRDhNdm4ySWdsOGN4T2J0b05EOFJOZGY2c3JPWlBmYWhmYS9tK0ZDQ3l0emljcGlvRVZ1bFNrdEZlTHRGY2t4WDhXUEhCWDdrWkZlTXhBOE1PeHFXQWJTY1FTOHhQeVpUbW9QNEVwWldvUUpPMldZQ3d6b3pwQnJtV2RNTHljNWcwSkE4NGNpVmVNRGR6Ukp4WlIrRzZlajZ5aUtCWThsWDErVmJmakNkajFVaTJvU01CMlJpdy80NTVQbVkxNXJEQm0yYmhTR3lPUWZJd0NJMGtZWmJWcUsyRjhDWmtFYktOelJiMTF5Ykc1TmR6UXpMQzE5NXNRQWM3TU44RnFhN0tOd09zaWtERk8wdVArc2tpN29MSlBOTzBGWkluZ0RoakpnaUNiM1N1bjVMWk1JRTlPZ0VnSDRVNUJvblh1ZkVIU0RaMUllN1FqOGM1STJKa0dhQThDQk5pSGtYRXpVWnNWVFBkWnRNQzZWYWp2ZHJIRnN1TXNDOFBZMFplVnArdng1c1psSFcyYzBXcnJsSS9YbjBFOU9pTjVkRWt6ZDhBMlFwQnZjcEt2VjN3UEd2UGJ5YTB0MlBoU3d1aGxxVGRmQmthWGV0Vm9jMnZ3WWt2QWI5SnNpTm41SnBsdXpiWVJlRFVDaGw0aTczRjNpVVZMUXJMRHFrTVhTSnA5U240bkY4UktvaVFqc2d4QnFpQ2hvaUZRVHRQZ3hCa3NZYUlUYldaMUlTZjVJRjZmMnBsSmtJQjlCcWQ1T0VuZm14MndxK3ptN25lM0oxMGNTK3E3UkVmWTBkZEY3bU9sTzk1MDI3b292blhXclRvTHIxNEI2bzBrdVVxb3JVQmxoZVM2UkYwWHlHT21OMWgyU2F5NlVLYnhlZk90SzNWWmpmWXNIMzV6Q0hoSFIvamFPTTlaZTIwTXRWYmFDUHlZQ0FqTHhZZngvN3p3YmxiTTVlUkxXV1dKbTloNWtsK1hKRWtDRnBDSUc4QTVMWW5Ya3V5a2JGWUhjcVFUK0ZGNlFkb3N4N1lVdXFCZ1B4T1FpTTBsdVFqSlZoWmRzRm9udmlFVS9GSXdlUi9ESVJtZVNrNnc1VTY4OTJEVml0R3dBdktXWjE5WDl5dUYrR1lKR3hWaVZTbFdsK3BqeW5GSGZZdHlzeFM1a2tRdXFjc3JsZnVsb3JEMURvbjVUUGRaMjRreDJBaytjMWJ2QkRkYkgzZG9CSUw1NE80d3ExTTI2M0VsejV0Z21TV0V6TGxMRHhET1F5SDVFaVJPSjRKWXIwYVViWU1mbmdIMUJ1VFJrQjc1YUFlYUN0bEFnR21lL1RCTisrUlVKOWdsRmRtM3lJTHhTN2dnNFZ5QTU4SGFyM1ZjYlA5dmlocGxOdDFoOTNFY3QvN3lKZ2w0YnF2dTJyb2hYeEczelVKOFJMS3RPc2xKd2w1MUlnOGJkUVFicGVUMVV2eHlTdW1WVktTTEpYUmp0REFjM2JhMFpEdHMrRHZHWGQweG5yYU83c2dJQlBrKytPQ0Q0dDVKcHRJenRYbCtBYlpzSWtzT3pMdEkxeEVzR2xNeElCeG43RmFaSm9rRzZWNU54QWp5YmNvVG92dzE5ZkVydHFhT2JhZkVDeGZhQzlCbUVDL2hMQ0dhSGJDSkxqSzk2ZzBKeTJJTkdlUnhXZUJUd0RZSlUzK24zV3RyOFB2UC94b0pHRnZuUnh2cktYRTNxM21qbzBHMlZuZUVVQnQzSkkvNVpMYTZtamU3aWl1ZEpKZUtOTHE0dUx6NzR1WDk0L1ZEaDlEOEJuaW5qWCtuK0JzemRhZjQydnE1Z3lLd3RyYW1ILzNjUjR1LzllRGY2bjV2ZUtVLzNoZ056V3hvTGtNVERBMCtkRWo4V2EyU1VzeUIyS1Y2UTZCQm1KUGRLa2lrVG9ERUdlbHQ2Y0lHbkw3VVIxTlBnbVU2MnMrSU9kcEZmZ0pwOUNkOU5HbHVvYVVFMERmVk9ZTXNHSFRlWE9aeXR1RlQvL2pNNEttRnA3b2YvYU9QRmpFVzZ1MndXM3h0VGV5UnRiOVNQNzMya1hFWDVWYVMyQUhuOWFSMnVSQmNLbUNYUzhGbDdvS3ZsSW9ycGZnR1QrbzM1b3J1NXA5OC9OOGNQZjZ4ajFVUGYrUWpHU0srd3dhL1k5emxETjR4dnJhTzdxQUlQQUxvaGJyb3JpL1B6MWVEaldVYjJVbzJYOHdrNFF6dmtQQ1NnZHRaRjhrQVY3akFJSWlWN3BSTjJvTlVXZWFCV1hvaU1hM0RkaDJuTXN1YThpRGthVHJ5TU5ZUk0vSjExaHY3TktpYUpIWFJ3a1E3R1h4ejhMU0luRmJXdTZPVnVyOHkvMkpSOXg3NTE5Z0FPL3ZxbHB1Wk85ek5Fbkt4QXpsYmlwM3BpSnhOZ25QSmNZRUlVdDdnNTRweEpTT0daMmVQZDZkNHo1bTVVMXh0L2R4SkVlZ3ZuMHNGeVNzWDlieW50QXkzWlg0WnRPQ0dnUm02NWw1d2xhczUxRGt3SXlhU1pFc0Nic2d5NU5WdzFoRVQwcFhwanBaVHVDSGJTVjIwZTdVK2RJamc5K2lHZXQ2QXVzR3BaRjRUU1lFc1FwK0V1M0lzNWl5N2xTUzhVVllMbFhpdi8rUTU4aElkdkhiM2RiZmtsZVJTSkk0WkxwYmlKR0I1aWZKbGt2RzVRdVJDQ1Z3cUlSdWw1YXFMRkkvanV2dDRLM2JJMlhzckRyc2Q4NXNkZ2JsOWhZNUczWjdYTnU4NUw1TjRWOXl4UU9JZDhGeTRRN0pOVENjVEYvZkpaMXhERUtOTWQ4SUNaNzRwZXkxcElrZ1V6bnBpSmlkbE1aMWpoMHdaYldMWHUwMjgxQThpWmh2MlJ4c2lwZ1RQbjAxaUJ5d2QxelRJMEVWeldURzFGVnFaNzZEZks3cWpIVS9BWFd4WjEyV3pKMzV4b0RqYkIxN3FDTTUyMU05M0JSYzY0V1dFUHdBQUVBQkpSRUZVRFFIN1JpRVlkeVhlRzkvc0dkTGFqd2hvdkxSb0kzRHRJekJLdlhucGQrY0hDK2dWcS95MHZ3ckhMcEliU1U2SzJoRzdYMkZlakoxUFNCRkJqQk9RZkNkbERYRk95cHhwRWl0Q05qdllWOGtXTFBjcElyME5vdzRCd2dOVEhXZDdjeFdEU0FZMHU1UnVNcUR0UlUxcE5aV2QzU21WVEV1ZjN1NTRBcDdmOHR4RDNpcGhjZlo3cmtCOXBuUi9xWEI3S1ZHSytNdkt1dEo4RTJNd0pId283ZjJtUjZBbDREYzl4TGRtQjhQMVRxRkZmMUFVNVZMWjdlNU5uYzVlcExUTDRZT2NQV1Z6WkFjb0NBR0pFQTU1RmE1Tk9valV0d21YOVU2cVlGMVRUaEp0SlBOT3dKUUtuTkpNUno0UTlZRloycUVlYVRQQkJFQk51cUUvaWY0TWdHS1hwczZlMU92dUticTlYVjZVQTlXRkhVL0Ewdk5zeUZ0VzFaZXRyczR4OXhKUEcxNkE1K2ZjOHpOOEozeU9iMEF2Vi9BckhZenJXM1BXWHY5UjYvWHZzdTN4Vm9pQUxmYVRkbldnbmJSVWRNcTltb3E5NHJwa2tFRjJUelhQSVNqZEhGejNjSkl2U3dUbXdnd1JaQnhwU29RTWdOTjFRcTdpTGdJTE1wN0lTSWRlZ0hVSUdZaDA0T3AwMHhlazZadWs2K0ZIYlVnT2lmOHdZNWNXYVUrUjBsNHR5bDFsditnTHg3TFRuNWxlc1p5M3FpM3orcEtNeCtlOHFsNlNxbm9oVi9YelhvMmZOYXVldDd4MUxsZGI2NWV3M2hMd2RYcmduTkhYcWFlMm0xc3FBbzV1RXVIdU1aVzdvTVUrSWFGQll3Y3M4YmQvQys0NG14MHdDYkFoWEJKemNLaVRCT0VrV25kNWpVVGtBMU5DYm5hMTFKdEpueEF6YlhGS014M2xWK1AxOVpFMzJ1TzJFQ1RmOElWbjBqSVFTZlEzN1pXaTNKUEtjdEdsdzExeE4rMzBoN2VWWDdiNnl2a3QyZGk0bkRkSnRCdnJaM0sxK1lLTU5wNnJ0OWFmcVRiV242K3F6WE51VzFkNldLclJYdGNsQXB5dDE2V2Z0cE5iSVFKa1R5ZHpycTJ0cWRSVjZiQytDUmJJYzh1c21ud0pKOW96aUpvRXdVN0FQRmcvQVpWcGdta2VRVVNhSkR2THp3alZtekpPWFJLdEUwMDV5M2lVeTUzdjY4cWpmbFkzbGJQMjBYWUMrdUdxTE84Uzg4U3lpeXpUL3dVeDhIdXI4WTRuWUN3ZXlzbGxsRGZYMXpIZWVnWDE1cmxxYStOY3ZibCtyaHB0dkZ6bHpRdHkrY0xsNHVMTG83TjQybTZGNlhvampKR3o5VVp3by9WaHgwZUFESHJpSXlmMHJ6ejRZSG9LVHhXYlc2UE9LSHQvVk9lNWNiYkYybnlCcER1Z1dsZFNvZHdOa3pkSnNrcVFHRmtldTFmeDdUUkpNZElrMEtac0psbUdXWm95U0RkSU5Nb21TQ1RoQ2R3YlNVT04zQzVIbElObEVpaG9vb0JvUVFKT1hXdU9TTEFRL2xiTzR4SllCNmlwQ09FekNsRHN2UHY3cHkvNGxscGx0V3c2N0lwNjkxSkpXWFJrblo5R05zdngxdGFXanF2aEh0U3JUOTNoTzIrRU85UGpsb0IzNW5PNzRieDI3bG5QM25tbjlKZlBwYTM5UzhGb25aenJPRzZZcTUwRURGL0lKRGN5WFllYnpVUUNGa2dTUU1VSjgwYlNpaEJUVXZhUVF1SlVqcGZweUFmQS9GUTZKYUJPRys0a1ZtYytBRXFXVDlxNmloQXNvM0c5Q2ttRVBvZ1VJUk5FTzJ3N29MRUZIbzBzbVBFTFE2QXp6c0lPdGpsSjZNeU91Mis3c0dSN0w4K1BxNzV1U2lvdmJ4YjFaY2Y0U3VXeTdxbTNVZmg0dEhjRjQ4N3AvZm5PTzUvZUh1eU9HK2dPYzVnemVZZDUzTHI3QzBUZ3pXc2FmKzloRlU5cDBSMmxoZEY2TWE2clRtWG8xKzVEbnJHUzBMZ0RCZ2Jrd1k0blZVa0pKR0c0SklMa1NsSTFrQnNwdlVHa0JTUk5OSG1QcVRyUkkwazJaVkVIa2kvUjZGSHlmWUI2SkdLQTlxK1drWjdDUTBZOSs0YkVlMFVCK3FLUTFIRytTUml3d0YzaEFrbDRRTmt0U3RFWUh4bit6UXZnbTJ6NTRZZFAyUHI2c0RvejZtNFdxM3N1czd0THhlbzdMdS9aR0t3Zlp0blpQZGhhZitxTzZzQ0JGektQa0p6MTdYMGRJcURYb1krMmkxc2dBbytRd25yRG8yVnZmZGpiekt0RHRUVEhWVHcwK01EY3VSTUdQOTZqekdSYzR3RnJacVdSY0FOTzJZQWtPNUVrMzBnSGdveERUaEdrNjFlWFRkUHNubEdPNlJ5UUNTR3pUZWh2ZzdxWXdxZDE3dXpMQ09jTzNDV3gvOUpjdW9EMGlhR2ptS3V2bEl0UDdkK2MvL2QvL3pjSEp6Ni9WcTZ0clVVbjJGbVgrTU1QZnlRLy9rY2ZxeDVlKzhqNFQvN2c0Nk9RZjhSODRKRzF0VHJxT1RianVKeG83K3NRZ1IwNGthNURWTm91ZnVZSXJONEJ2ZExmN09XT3pudXZXSUhJaWtIbXpmbWxtMEFOaUY4YWdHZXJxTE1SVGhoSXpnVDVNb2dRd25OZ1lpb3hsWDUxSGRPNEdpWnN3SjJ4RTB3M3VwR2U2a1ErOUoyMkdubFZ1ZEVwNHp0QkRuKzRUZWVSQS9zSEw5cmkxcGh0aHpCWktVUU9xTTRkcUZaMkxlTVM1cDY2QTl3eVU2Mjkyd2o4Z2hGb0NmZ1hET0RQMFB6bVZuM3VZaXBTcDVkTFd5RFJyV1FTRnh6ejVMajQxVU15MG1SMlI3WWczd215UlI0d2lEdFBhZmtTYVpJZ2xVbVlrWjhCTGdqTThvMEVpVExJMWtqQ3BtekU2Y3g4NkFVbXBEdlJpVjJ3TjNXVGZMU25LOGdacUd2NjBSQXgrR1lnYk1xK0pCVThKeGxLMWhVNmRTQ0xFZlZLMG1xNGRhRWw0SnQ3TWwrLzBYSEdYci9PMnA1dTRnanc3TGZTb2xkS1p4NHFLNks2VEFKYzRJaDc1RWNsejRFYzU3RURyckloRUFSc1RyNzFiZUxqTVdzUUpFbVFoQnNrR2NDTWpDbkpqcGlBVTVjNlFhekFEN2Z4YmJLVlJyK3hRLzF0YWV6RGdHWUh6TjF2Sm1JSGJQVEZveCtSNUs1REVWMFcwNE44anpqbzJWWXFLWWRTOUhuQWpQWnFJL0FMUjRDeitCZTIwUnBvSXdBVTh6dy8xVUVsdWd1cWU4aHRlMGxrdXd6U0p4SUJZNXdNSkw0R0pEOFNva1VacFZONjh3SXk4bFdrR2JwUjN5Q0lWcWtRa25hYXNva0VTWGdiSkYvL0VlMUlxTFFkYldtanFZKzBOUGFDeUozMmd0eER1amU3M0FFY0hJL3NnZWdlbDdTTDVZTzUwWVgyQ0FMdGRTMGlFRFB4V3RpNTRXMjBEcjY1RWFpNS9UVXRZc2U0NHFrNEFFa0hYR1RaSEhORVlVRjR3dW1tQ3RGRUZJU0NMMERVT1luVWVBN0JkT1RCL0xiY1RvTmtTYjNJTjJEN3FYVEtiWVNON1R4Smx2bFpYZGdOY2c3Q0ZTUWtMWkJTaVpBcUJRRHFPN3R4T21yU28vNkN4aTVZc0tJcTg0cWl0emxjVUxSWEc0RnJFSUYySWwyRElMWW1HSUdGYmtwbEdwSlFWOGhoSkdBOUFNaUtpd3hOVUxqelF6eEVSTlVsSlZkQ2xKdG1iMzU5UUZZVm9UNlpqOElKRUpST2tBUmZMWDlkbm1hNXEyVnpsb2R1QTNiRjh1WTRJOW8yWmJONjJtM3lVSWdrS0VrM2FZbEVFbFpKQUVqQVJudm1QSUlBQ1JqekxGeEJTc3VxYVY0SzcwRnVndjh5am9OcTc3YytBdnJXdTlCNmNETkVJRmZnTGxlSHB0ejFpc2J1OTRBN0NSZ3k1Tmx2WWVSWEYwNjMyUDJtQkpJd3VZNTVscEVzWDBPaUlGbStCcEJYQ1hnN3piYU5IZ21Ua24xTmJBVDVObm1XUjVyNlY5VTFPbzF0RXEyd2I1MFJNRWxZaEg0NTJ6bkE4K0RrUmdJV25XZjdGWHF3WW9JRlFlcUpsQW50MVViZ0drU0FzL2dhV1BscEp0cjZtekVDc3JhMnBzZlgxb283MWs1MHNtejFIRFlFbEYrOHlaS0w3bkxWb1VPNkVGRks4aDUzbGhDQTVJZEdDakNWVVQ5TE41SWt5Z1pBMVArWU5Ja1IyenBoaytRWlJ3dUJwbzV0UTNyVUVjNzZCa3czN1pnSDAwS0VESVMrbVpDQUVYK3Z1RU1pSHJMNytLLzRGdmxHUWpMR2dNemNPL0g1dGM3eGY3bFduUGo4aVlTSjgyaXZOZ0kvYXdSYUF2NVpJOWJxTnhFZytjcVhscytWd0puZW5zV0RnN3lsYzlsOG1HR0RMUEhGRzdya3BaTGdPVU1TRitIdUV6QUhxTmZBREUwWlhMaFhGV1orQWtpbW9kZGdscVowb2ltakRUQk5BaFdmRXVva1BiSFo2RVY5Z0xxUk4wcno4QWV3SE5JUlA1V0wzeWFUYklYcHNuYnZWdWFEeW13dXU4Mk5QY2R2bStkeENYTUwzKy8zaCt0M2xpY2VQdEd1STdUWHp4T0JkdUw4UEZGcjIrQVJRRGZQWnhKdzNkTjFHWTZyUEdkQVE3NVpFRDg5NjNJaldacndvRmVrSVVVbitRWGhjVmVKR2ZueVl6N2c0Q1dVTWlGaXZtSUN2a3BURHA5SzJtalNNOGx5WjNvR3RxTSttelVGYkRPdGl6WlJGUFVoU2M0TitZY2Y1dUlrWEcvU0hBVFR5QWJsRzBXUmc0RGRoalh5WEdVK24ydGJHTlhqaGJ4VnphZnhadis4OWN1enEzZEdSMml2TmdJL0lnSS9zYWdsNEo4WW5yYnl4MFhnREo1U0xIWUtMWWJkc1k2SEVBdUNpdlBlZ1NNSTJMc0diWGJBRUNVQkM0eGthSTRnTnhLd0UrUks1c0h5SU1oR2dxb2sxV25lcDVLS3dYSEV0QzRJZEtvL3FXdnNvTGttU1lIVHJpT20rQ1FOdG8weU5PVUNZOTVjU2J5T0lOOXNKR0pEa3pZcWMxTmNjQWZjSXdrUGF2TzVESnVyNGZNdzRWbXd6a211K2wzZkxGZlBOcDJndmRvSS9Ld1JpTm41czdacDlXL05DRngxNXJ2V09icThyOWV4NGJ3T09zdkZZRzRQdjFSYmhlc1NDVzVZTzdvWmtyZ0Q1dGx2YzVZcUxJZVQ4TnhCQ2RoVWt1Y3dnN0IrbHY2SmtnUUt3bWY2VE0veVRSbnpQZ1Y0emRLTlpKdHQ2ZXlhbUpBdlFPNTlGUzQ4Z3BDVVJWSXRLSWxlTFRLZkJVdW11cWZxRjN1c00xaXFLaXpnUXE5L1lvMW53bXM4RXo3Um5na3o1TzM5QmlQUUV2QWJETlN0cnJhMnRuYlZtUytQR3RMQ29uVExWZlFIQjhwZS81aDJ1a2VSZEE5SmQ0SGdSM2NnbThmLzhCSkJiRTZpNDAzeUZXNWplY2VtMFpVSlRrR25BQkhTaGVjVkxHTzltTENRdHhPemVqNElqM3dZWTFram1HL0ttQWNSNmFiOHFuVGtBK0RsVFBDR3N6NThNOHBJTnhDRkU2WUtTOXdkMDhVOFFaa1Y4N2xNcTdtVER0ZGxjYlR1eVlHdG5xNnVwM3JYcFFXZUNmYzMrbWZ2dkxNODhaSDJUSmhodmlIdUc5MkptT2szdW8rdGZ6ZEFCQjdCOU14M3J0OVRyNFkyMGwzU2tWVXRpNE5hbG0rVFZCNTE3Z3hKWnZQOEtGL3lZN3NZL1RibnpqTEF0Sk1vUWJLRGs5RnNTcTZSSjltUzliQU5nN0N4Yk9lalhRQXkwUkZ4Q0RmWGppYnZVUjZnVHFRRFlON0I2Z1kwMWVTbmttMGQ0Z0h1Zm9WbjBzSXYzZ2lJc2M1U2NpZE1GWm1vazZMbVlZdVZhYzRLV2JXa1I0d0VYQlZ5QUVsV3RiWmRwVzdPVmYzVVcraHZsQ1JoT3NxTzI3dU53RStKZ1A2VStyYTZqVUFUZ1RNZ1N5N3VLVlI3WGVHWFVqeFlXSVRJcW9nZVZFM0hKT2xScXV6eCtKZ09Kd0VEOFdXV09VbVFWTWNiVE1KZEtJVTJPZldZeHRXQVFDSlAyWlJQSlV0cFJCcTRxRWVkaDdGSU56bzB4M2JPdEZOaUtwdDhwTUdtTXdSNWUrVERqNURnRGwyMlFmczB6OTF2c3dzV0VqQ1JDSlVpYzJ3azVWVlBjcGpkSEhYSFFTcXZjbWU4eTh0eW1NejZvM0xBandXTUZmdHI3ellDUHkwQ1hBVS9UYVd0dnhVaXNMYTJwbmQvN25QbEE1LzVSUC80SDY3TkhmL3MycTRULy9WbmxrLzhOdyt0bnZqalA5ejNycjNkQTBXaGgwWDBDR0szVzZhakdYcUVSSFRJZ0lNR0RmTGRaUkIrQ2RmODhvR2toZ21vWklRVEVPR3RVQktjUU1FY3dQS0dlQ2xuNmNqUEVHV2daaU5EQjNFSnlaelNDZFkxSXBKRXBGK0R5RVE1cFFjaTNVRDRPb01DOU1tRmRtblBLSTE1NDJhZHhBdktaRW43SnRoVkMvWVFCMnJ4Z3p6dlBseUpIZDAwTzFhWHZTUGxRQS9uSXd1SC92Zi9yejg0OEcvLzAwL3ZpUmorMWQvNW5jVmYvZlNuaHljWTJ6Z3JQdkg1ejZlSU53Y3c2eHczNWRVTzZxZEdnTFB1cCtxMENyZEFCUDc3L2Z2VC9NWUx3N2x5Y2FsY1QvdDdVaDVaei9tZFZSN2RXZG40cnJvbzd5bUs4bTd2ZGUrdUM5eFRpMzZnTnJ3ckNJaGt0RHNEQ3lZeUFMUUQ1ZWQyNGRRaVBNak1BU1BBdEpCMGczeG5pTHlBRit1RkFIVWFvbjJkRkcrMDBKQldwRVBYdVdHbW5pTXVtVlF4LzlyMlVSZk5RbEtIOVU2QWZvRCtpU1NvSmlhVlJZbjh6TjB2Sm5wOE0rRWJpSURqUWhiUjJyMUxPYWdoQ3hWOGQyVTRQSWE5YzZ1Mjk5Y2lkNCtMZE1mSnczb0FBQkFBU1VSQlZFOHVpL3RNN2Y1YzUzdlNXTjgzWmd5Ny9YeTRUT3Q3UjlYaVVwd1ZiejM5ZFBjcG9Eais0SU5CeEVMUEFoVHRmYXRGUUcrMUFiZmovZEVSNkt4L3F5Z0xER1FMeTFyNFBuNjZQeW9aNzNUb25RNi9TMVR2ZHBWN0JMakhrZTQyNkFjeS9GM0VZWjczTmdUc3JnTlhFbkJLQWswVE1uTVNtRThJMENIOHAxQjVGVkZDWldwTmpoYmdtRnl2bDFGS3JZYUluV1lDRkkwK3l6M3FwNGowTnFLT2d5SER1aytPSDhTZERRbmFFa25KTlJVTmhINUJoQ2FGYnhnRUJKa3c2aHJpVngzU0lma09NckJRTzFZejdIQnQ5cTRhL242UzlOME8zQXZvdlNKNlAyTjJqeWQ1cnpqZXliZWp3em5yWGg1VkxLZU5hdDY2VzExY3ZKajY1ODZsUjlpQTd4eFR6MXR4cTBXZ0plQmI3WW4vbVBGMnU0c0ptMmtvU1plb3NwODRDdmc3M1hBbklIY0pjSStJM08yaWQ0dFNPajdna0hlUm5FakFXS1ZjTU82QVhiV0VrSEkwQWFvTjE3R09oQWFhRTBBRU90dDFRaUJCamk2c0F5OXhjWXJJSThxSW1aeVZYWjBQWGVZYndYcVBOQ1VvMFVnQUU5SUZIUUVnY01RVmtyWkZJUUg2S3ZRSlRBTktIUUVKZHdvSWQ3M2dEbGM1dmc3TEI3V1FnTGtEenVZY3UvQk5pZ1FNM00xQjNDUEFmY1Q5QXI1WmliK1h3M3RuZGpzaVludmh1cFFMbmZOUnJ6c3F5Mkt1S0hRVjBMVUhINVR3NnRxaXRiWVRJcUE3d2NuV3g1OGpBdTV5ZkMzK1RzTmE1L2dmci9WKzlkTy9NZnlydi9OYmkzLzl2MTViL3RWL3NyYm4rQi8vM3I1Ly9aLzhad2YvOGgvK1o0Zi85Zi82OTQ5MmRIak1CbnJNVWtGUThvczFBNDd4blBNWUpjOTdjWlFFZEFTcWgxelRRU1RkeXgzeGlvc3NzbnhBZEtsWE9pUTVWQ2p4R3Jnd0QzSVV1WVpwRUxJTmxrT2FmMUVPWno1QTBhUkRCcWpQWVRFbERad3RBbWdrdGk5M2RzT2NUL1dkOVNEY3dZcndZOUllVVVhRW5NR1pmeFZVcHcyTE1oYnlTOFhFM1cvSk41UVlhNHg1Z2RVcmpNbGVwTFFmbWc2U3JBL1h3TkhhL0ZnVkVCeXpRbzlXSFQwMjd1cXhQT2dkR3k4WHh5NjliZkhvK2JldkhyNjhkL0hBLzdwM1lmK3Y4cno0My9ndmYzdmxyMzd1ZHhhUDh3eitnYzk4cHY5ckQvMTY5L2phV2dHZXo2Tzlic29JdEFSOFV6NVc0UGlERDZiTzhFcDNjZUhpWEQ0OVh0cEl4ZDY2M3o4ODNzcnZ6Q3AzYWxYRnNjSzlxU3dlRVBkZnFaUDlKUkxJdlR6RGZMOFZ4YnV6NnRzcXhjRktzSHZzdHNnenp3SGJkVjIxbEtJUUtVc2dGV0FlTGpyZExRcTRLNVJNcGpNRENMS2RNTUlLNFQ4cWdsVXM1d2Qwc2hucjRaa1U1cXluaVBxQVhKV08vQVJLTzlLQVhJZ0FhRE5rb0VtelhhUURZRHJLR2pEZGxFMzE0V2o4Q0YrNHcyLzhJYW15ak81U0YvUUhsS3dUbjBoRS9RU096UFlXNVJ4M3hDQmlJV1ZITEdsaXZNcVJXM2ZUODl3bWQ4bGJnb09qSXIyOTZwYnZxZnFkOTFlOTh1NXEwSHZBaXU2SDYxN24vbkZwOTByWDczS2VGMHUzKzA3UDZTaEcyTmZIeHZMbWVHVWVxK2pkZmZvMFAwN1ErV1l3YUsrYktBSXhxMitpNGJSRG1VVWdmaloyT2VXdWpqdHprTkZTNFdtUG9UN2lVcnpEVGU1MDk3dklrZmVLNHdGMys4c2tuRi94cFBlYStnZElKTyt1U2NDbXdtLzZzVm9CaTl6VkRVMjA2NG1zeTQvT1VoUUk4bkZOYkNvdzhvT3g4eUNtK0YxdEVMR1RxSnpsUW9CazVTNXdLckVlZ1Vpek1TYU5oWi9TQ1NRSElWREtWK0dSWi90R2Z5ckRYdVJET3Z0bzRBQkVXRVNBWUFvQmd6VDlzQTVUZU5UVDRYZ1Q4R3ppVENQQUNnUWdiSW9KRExBcE9EYWFBdUtOQnltQjVPc29DckZVcE15M3BqRzhPM1lmam9HVmVCUExTVy9MS2Iybkx2QUJMK1FlVjNrQVNUOHNTZTUzeFQzczVpNUwvbDRndjhzMUg0VVcrMnJZc25rOWowMzA1ZzhjNElHNlkzckpWTGJpSm9oQVM4QTN3VVA4VVVQWUU4dDRzOTlWcStkRWkxMVo2cjBxZWhpS2QzREIzMG1xdTBzRTl6TDlZVGorTXVWZmNwRjdSZVg5cnZKdVZ4eXJJUWNOdmtveWFIYkFwdEpEU2dWM2ZDSkY3SUFUUUFJMjRRNll4b3hHTXAzSjVBcHpSM0FaV0VZbFRDQUkwalVxQlNMdEpzRmtwTUtKaE10MldwaU8vQXpPQTFXbnZSa3dUVGZTYVFhOFFvZnRuQURybzYySEpCcko4cWh6cHo1ZlpxUTZrejdWY3diS3QzV0ZZOEhySURUTjVWT1V6bmhBT3FYd2pTdGxsWElNZnMzR0hURGxDcytMRCthRXQ1TjQzK09TM20rVEx6TWZnT0RERUxtZklBSExYVFQyWGhPOEUrNThjcjdQZ1dWSE1ZK01YbWQ0SlQzNDRJUGl6bEswMTgwVUFjNmdtMms0Ti9WWVpHMXQ4dmQzNy83Y1I4dGY0L25nMzFoYkd4em5lV0g4enZTdmYrWXp5Ny8yM3p5MCt0Zi8yOC91LzdYLyswT0hrczRmc2FYTzBXcCtlTFRxcDJPNUtJNVdTWTVsbVFISE1wZ21TS3hIVFlTN1l4S3U2RjZtZHhOTDFuelpKQU1TY1pmdFNvSTdQQ1FqYTVnSU9VTVFrbmswSUQ4RVIxZ2poUThqb0JDU3RKS2tCUW9FbW5xUWE0UXZMQUlsRVlRcmxEUk1FcWF1RTZIZlFLaExSSDBEaFUvTGFZNUdXQmVFeVRvblFNeGtwSytHc0s3SlU1OUc2QWROTzNnSm9heFZ6UHdWNXREb0NaVTRYZ01hc3FhK3NjNER3azhCSEtPclNnMmsybEZRZHJKZ2tFWG1zK2lTcWU1MlJjVDJnQWtPRVVjeXdMajcwUnJPWnhHUVk3V2tveFdmRWNuOG1IZUxvekxvSExYQndTTmZlZHV1UTMvam4vNWZEdnliZi95SGUzK056N241ZlRIUGkzLzFuMzU2ZUh4dHJYZGliYTFEV2NRY0FlZ1UybXNuUkVCM2dwT3Rqd0FYbHNSdlJ6dFhyblNYTGl3TmNHVnVZVFJmclpUci9QS25NejVTRlJ2dmlOL3NpdXRkTHZhQUYvcGg2WFh1UTZmODBMZ3MzajhxaXZlTWs5eFdKVDA0VG1tMVVsMnNpelRnUXUvd3ZGY0pjUGZXd0VReEFRbEhwdUJESUxHZ0pydFdaS0M2Z2FNNTcyVWRpeEdFRkhBWEJER0Jkb1RFbENSQnRZQlFDaFFJVUFjQnBodmlKVHMxNVRRZ0VPcE1JRmVsRVVabmVsZVgwMFpVSWNwYzBNZ21IUy9zcjJrVGxnU05EUlpIbjVNMG9vd3ZFcVcwSkVqME9RZzRJS0lRbGlKOG5jS2RUV3lDWnR3c2lHT0p5YzRmM0xSaUVnc1JaTUtJa0xQNFJycW04VXJRR1lzTWVGU3hNSUtzakhua015N3d0cXBUdmp0M3l2ZDVyM09YOTdyM29wc2V5RGs5WU9QeFBWTFpCOGp1ZDJ4V2VFZlgrb2ZMbDlQZXdXQ3dhNlBiSFFMb2ZXbDV1WXk1d25SNzc0QUk2QTd3c1hXUkVYZ0UwSXRYcnBReWw3c3Bwd0Z5V3ZCY3JtVE4rN2xkUEtJaTd4RG9uVHhiL1pDTC9oTHpIeFl0N3ZPa0g3S1UzcDhWZDlRcDNjWkZmeWduMlowVENWaGtXS3QybUE0Q2R1N1VTQmlLckJQaUNLSjREUURVSkpzZzM0YUVtUTdpQ1JJaUo1RjBBQ05KR1NuTGc3UUlGZTRtU2I1SkNxZ2tDUE16TWhNSW1qUmlHazdTRW1rWFlUbFBhaWN5MGcyaWJ0YkdKL29lRWp3ckZwNGRCL3pxTmxPN1Y3VnBpTmRZNElHSkRjVGx3Z0tDL2ltUjZLc0dRSitiR3RxaUR2Mmd0anBOVEpCZE1zRzRDMk1oakplYnNKN0liR2QwSitKcEtwUFlNay95WlZxVXNrUHlKUUhMd2xqQUx6djlZQzN5Tmt1NDNaSzh6MVh2OHBSNExBUWVXY2d2Q1k4dlJQejk0cmdEbnQ0aHVUNGlrdmVPZmNRZDltZzRQNGZlNXZuelpjd1ZPdG5lT3lBQ25GVTd3TXZXUlZ6ZWYxcHNkeXBROXJ1RldwOGZjaGRNc0Z0Vjk1bHBIQitRZ08xT2lIMkk0Zm9sZDhRWjQzMnVKR0RCQjdMb2U3TGdOa3NTaTN5VnBMQkFJaDRRL0tpc1FjRElHc1FSUkNFd0VzVUVzUnVPTXFDR053UWM1RnRsUXhCeGRpQ3pReElTM0lVYW1Nb0ptVW1RV093b0Ewd0xGS3dCK0FycWIwdW1aK1VoQTAxZDZQMGtrT2dhUGJiM242UjNWVjNZRGpUdFdCNStnNWZRTnlYNVhvMG9DNEI2NFMvN2NEZU9rZUNIQUV6Z1lEaGdEa0xBS2pEV01NWXpOM0hrbXhvbFk4NFlDK3NFRlR1cElaMWFaTUF2T1JjSW5oZExmT241Tm9QZXp1ZjJQb2plQmVCZWlEeUErTElVdU1lQkQ3ajRld1QrRGhFY3pyQzloYVpkT1dPdXp1Z051L0VuNmpnUU5tenZHejhDZXVPN2VGTjd5SFZFNWxpYm5PMis0OWQvdlhzM3ozVi8rWGYvM3Z3SFA3dTI2KzdmLy8zZDkvN2g3KzA3L2w4OWRLaUxkeHdaRDVlT2pPWUhSemQ3dzJNYjNmNnhjYUhIcWtTb0hLdUJZOXhGOFN3UngwZ0F4MXprcUlzZTR1STlJRnJzUlVxN29XbkpvQXVzR3hpazV5UUF5bVFpUWduS2hoeEN2Z3F3bklBZ2RISWpJeCtJTXBBYnBoQUJZdTNQSkhVUmNLRkNBTHdvcVNNZVUwOGdVUmM2UHlQbys5U1c0T28wd3M3Vk5pTWRpUEtyd2JLbTc2bWNwTm5hQXhPL29vd3ArcWhRK2l2aDkyc1FmWE5vdE9GczV5SFpoeE1nUWpyQXVBVmtJbGtRY1RSQU11SThIYVVKdWk0eUlPYkI4MktvOEZuSlhsZlp6N0pEQmpsQ25mZ3Rkdk5zYTBmenZDdWUzOGZ6SHhkeXJCcVVSN2M2bmFOYmk4WGg4MGNXRHYyMS8rc2ZIRGpPdWZNckQvMzI2Z09mV1Z1KyszZCthL0g5bjU2Y0Z4OWZXNXVjRlhQZUlaeEdlNzFWRWRDM3F1TzJYOFNYYW5MOHdRZFQvTTd6UE05MkYxYzY4MXBVSzFWTys4c0t4NHFpdnIxSStPQVkrWmRVTzc5c3ZjNERvMTd2L3MxQjk3N3hzSGZYdU5kNTcyYVIzcjFaeW0xYkNZZjRjWFoxREg2Y2RmUXkrSGxjVkVtK3FscEkwZ0pKRWxRS2h5dWNLOXFOeE9EQ1hSc2xINGh4TWJKb1FoUXlMV3ZLSjJrSEM0WGdibFlDb2hBQ1VHb0ptbitzWjZkUVNwb0RQNW9qYzNzV2lIUVluK2dwOVpYdENQb0FJdlN2bHBHK0dsRS9RNVJIbXZZRXROVDROck1SZWFaRHB3SHpqWHhOR2Z0bHVjelExQUdlQXdiamx0YWJMUzJ0czA1QUVpWVNZemlESWtFam5oQTJJa0lTb1Fzb21zdjVTanRocXdIejdud0VFV2hXb2RHWHlTdGpLUTBTaTVNd1RTT3FmRlFGZDlMZExCaU8zWmNxK0o2UitLR1I0amJ1cE4vRE0vNFBWS200Si9jNzkrVEVZeWNVOTlkaTkrYXk4NEdzbmZkVUtONGhxWCs0VTYvdjNkeFZMbGI5alg3OC8venUzbjg2blhqNEk1d01IQ0RhNjYySUFCL3dXOUZ0MnllNENPT3NiaFhRem5CWURIUHVwdFNmNTNacnhWSHNGMDNIUlB4Mmt1VUh4WEcvd1gvWlZCNUFTdmQ3S3U3TktYMG9GL3BlN29EZVhhbStqY1RiRUhEbFdPQ3hRRGM3bVlGR1JFbStxVVRTRWlvRkJQSEllV1lLb1FmcUpBVWhNVTRBa004SUlTSTlrNUVPNG1BZW9yd0RxWkVRRmpaZ1dkUUZVbkxSNUt4emZrUjNucEUyWUQ4eGJQWk1YVXdBc1AyUEFCdmo5WmpwenNvakgyazZ6WGNSR29tTXhOaXV3dFg1NEprQVZSR1NrRzJnR2JTVExDM1RUUVljR2VCSEEyb0x2VlVveDlhUXIvTE5qRkJKckl0eHhGaVZsb2p3Z1JBaS9LSndCdHI1WmtjRThVNEFCOEFXUWd2U3ZGY21WOXFYR1pTOENGVSs4MlNpS1R1NmZMWnp0V0JwRE95cHhBOFN0OVhxN3pIRkIvbWw2OTBPdWRlVDNBZkkvUUs5bDAvM0E2TDVEb1c5QTQ0ajFzR2VQTnJjcGYxZHZUdzZVc3kvY0NCOS84S1M0c0VIQmUzMWxrUkEzNUplMjA0UmsvN3k2ZFB5M01XTHFUc2FwYUx2WGNrMno5Q3NjTUh1SnowZWcrQjJyb3dQc095WHlIRy9ETWdESm5JL3ozSHZ0YVFmeXREM21jcTd1U2h2NC9IRHdSck5melN4VUlsMGF4RXUzS1NRcEpwS0tWSUpuUkt3T0syYWdLUUE5Z1Z5RHJuQ0NVd2hZRFZpa3phREExekRiS2NDaWQydktwaVlBQUlFUk1BNkVra1FrMFFEQktIVjNBSFhOVmt0U0kxOUMzVkZGSUlKNEFwbk9ZaVpqUFNQd3F3K3BOTUNpRzNKOXRFbTZrSTJkZE95SnQrUXNkQXZndTNrS2tSOWtDMEg3UjY3MzVyTzhvYlRDbTFvQUlrZUp5VEdNYURiQkV4THJLZm14Q0xIQnBGSlB3eGdFMmNHbVg1TlNKZzIzZU1Gdk1SRmhPb0UzN1NFUGNqRUxwTXFEazBHY0FlTTJBRUg1TEU1QUFBUUFFbEVRVlRQOFQxaEtjUDJaUGdoNHUxWjVEMG04Z0ZYdmR0VjdnWGtQaGZjVC92M3V2b0gyTTE3WE5MYlRlU3dtdTFGV1N6YXhxaHZPUmQ4NDA5N1JsMWRRM3U5VlJIUXQ2cmptNzdmdGNtNTdxODk5RkQzYi9CYzkyLys3dS9PSC8vczJxNS80N2QvZStWWFAvM3BQWCt0Mzk4My83YTNIU3lQN1Q5VXZlUElVVnZaZjFRV0ZvN3FZSGhVZTcyajFpbVBjYWQ3bEF2bkdCZlpzUXc1U3NtelFEbHNvZ2VKL1NUaFBmeGlaN2NuWFhKTkMxbDBRTDB1dWFNZ2h5alh2QnJpRVF0OEtpV2tSMWtneWdQa0Nrd2x5Y0NGK1VaT3l6REpJOG9RWlZSZ0dreFBnT2sxTFk4Nm1aQ3Frd0dDaEJzNDFXaGM2RU1BbE5pMkVmNzhaRXpHUUx0Tk8wcU93NG1KbldncndMWTlwdG5YRCtXYk1vV0VERkJmYUU4b3dYeVFaZXpVQXdoL2pUVXNuK2swa25sY0JXYzZFR1VUSHdVSWU5dkE1QXA3VVJhU2JSRHB3Q3c5a3l4emdwOGV4R2c0bTJ0dG5pZzcvQ0swVndQRERQQkxXRm1DNm00azNlY3FCMXoxWUc2K21QT2oxR25PaTQyZnBMelVZeDd6cWRNOUpwM2VzZkhjL0xIUlF1L291Q2VIczd6cndQKzZzTEEvNXVTL3pibDU0bmQrWi9IRTJ0cmNpZVp2VVR6VS9lam5QbGVlYVA5K01kNnNTOThzdzdlNjNlUGd0MTM5ZmorZlA3K1lpMkoxSzI4ZUxEZktZNHpMdTdLTjc2d0wrV0R1Sis1YTB2M2E3WDBZZys0RDJ1L2VyZjNCKzJUWWY3ZVFoSE5aN3F0UzJsVUplbU51dDdqTFRTUmN5WnFFQ3d1dWliM0UzMk1JSks1L2hiRURMbFJ3d2FMbTUxYnVQaVZrWnRxNHdKMkFLR1FHNWQ1T0JQaVJVUEtBVHVvZ1lDWkFUbldRSEdCT1NmREdCTFFUOWdQVVowT1dzeDFKektQTW9wQTZEZUVwTTBJaVZJQXBSUDBVb2Z1akVEcFJIdnJoUzhoQWxFM3lZZXUxRUg5dEh1d2IwUS83bEFZS0VhWVlEL0RpNENSSXVFRU9SZFpCV0VQRU9BeUlzWHQydUFWQVNYaUFPcFNOL2FaZjVpRzhFbCtqSHdKTkdWOUQwaXhUOFJwdG5HMmRYZEpzMDBlOENjU3pxN1B4V1JyaXVUTFpQR01UeHBXZlF2am1DL0NMQWhUeG4wSnJxaFhsR040ZGl3M0hJa3RWb1h2cXNuUEl1NTNidkRkNGozWDZINVJ1NS82Nm93OVkyYm12VHZtZVF2VXVWWDNmVnJmN3psRktSMGZkN3I0cmw2cVZIdWZ1bVJkZUdPSzU1enJ4Ry9Uai9MNWliVzB0SEErZ3ZYN3hDT2d2YnFLMU1JM0FhMFIvZVRsdGJXNzJPeWt0aXRsdTVIUkFSSTRoNFYxY1krK0YyQWRGOUI2bzNNK3lEMHVoRDZBbzdrYW44MTR1a0hlQk94WXIwcjVhZGRjWTBoczdpcG9OS3Vqc0oyT3dSTklsa0FxQTBrU1JYY0J2eWJsZ0hUV1pvczZVdFVuT1JqY0FoMEtvQjBsQUl4WFE1RXovQ0FoMUFnb1hMbmhFZXlFQlREaUtEU1o4NWVLUkJpaVpRTURRS0lieU5raEtFaEJsNVFSc0EyRFN2OGNSd1UvQWRqMzR4aENnN212S0loOTl2dzVDWDdiQmRrSmdBdm9oUlBnaUFGTndqdEdjc1hJT0Jzd0VXTytzRHhpTHpCSGthQm1OYk1pYWRRd0N2SkhVRFZ2VGNRSWlBaVY0TTliQ056MEV3Z2RqMEJxd3Y1RE0wZ2E1WFJxT0orbDZ4WmVLSGRhTU5ydGtkM1NON1RsMmdNODk0Q254alZsVEZpMHJvRHNHaGxXU1hiV212VjRXaDd4VHZ0Mkw0ajJjWng5MDFmc0J6amM0anlya0huN1hjSmRLL0MwS3ZNdUFvNVpsWDFuV3k3bmJYVEQwQjlXbFMxMHNMS1ErNS9RamJBaG5rTkJlMXlJQ2VpMk10RForT0FMRitmT3BLSGl5Njc3Z0lxdXFlc0JneCtEMkxrN2Y5M0lWM1NYQTNRSVNzT2lISWZwTGt2UkRYSmp2SXhHL216anFTZmRsbGNrT1dKQXEwVlFuNVVJVE1VMEllRU8rSkdEbExsZ1VHVUxpZGNJYUVzNUJ3RVJJcm1GeDFnTUpRdDBBK3dWRTNoZ2dpTFhYd0VEeXdhdDVuNlNEd0dnTW9PNE03clEvQTVRMUU0QnBDTW1YSlpqV2grNlB3N2E5MENkQzcrb3lkMFZqTSt6K0pMQXZZYjJRc05IRVFRQWhFT01UanN2QjV3TnZ4aVFzRlE2T3RwczhrNHluRVc0VFBRcE05RU9QWUFzYTVDdmJOUFlWUWduMklZaC96RGRTRUpjejdmVEpuYllKWTlvbzQ1blYyZmdjaVpyZ0cycjhsNGVaall5MlBDWDNwRURCWjEvRURsaFM3SUQ1NVZ5M2dnOHJ5SklsMmNNMzZrT2NKN2NoNlh0Y0U5LzRZODVKekxuN3lQZjNPT1F1aUx5WHRQNU9EdjRvVlBhaHhvcFpXa0RYQmpJY2RrWlZWY3pWdGE2aS9mdkZEUDgxdS9XYVdicjVEY25hMnByR2VkamRILzFvZVh4dHJVZk1IZWU1N3EvODltK3ZIdis5Mzl2MzEvN2dkdy84Vy8va254ejgxZi9tRHcrUDlxOGN5WVBCa2RHZ2UzU3JrR1BqSk1lc0tJN2xvanhxcVR6bVJVR3BnU05jVEVmSVo0ZUpBeTZ5eHlBcnhDNFRIYnBJejBVTGd0cys0Um9STVJJTkZ3MjRGaHBJczdqalVVNFI5Vk9ZQ3p3QTdtTEJkRUFvMlNac3VFOFdQUVVDTk5qSVNEdDFRZDJBUUZnVm9MNDU0dmlCR3pMYVpuSGM3QVBiT3FFWEFDOWhxVFFTVENHdTBIMDltcnFyOVY1Tmh4OE4yQ1lrcUxzdHQ4dGk3R3pEZk5TL0JsRjJOZGgrTXNqUTUzZ3d1WndpQU5iUFpLUm5jTnB3QThlT1p0d01ReU9keXQ2MFlWeGZKN2ZiUmh5YnVrbmJXZXhlYXlQcTZCTjRPZE9OZnRpTU5NdVlCNStiOE0wM0pDVHFCSFNKUGpubkJaUUVuZmplVUdSSWFmemtaTTBjSXBHS0xuRU9yYnJJUHVOM0NBN2grYTl3M2dtL1owQjh4M0NzanQrVGMxNW16dGRScnpoV0YzcHN2ZWdldTVqU3NYTmxlZVFzdWdkZm1sL2QreStHZTNmL3BYLzhqNWZ1ZitpaGhUdlcvbkR1Z2M5OHB2K09YMytvZS9kSGVWNTg0dk9KUVprT0lueHU4Wk1pRUxQMko5WHZtTG8zMjFHU3Izd2VLTDcvOU5QZDRzQ0JmaHFQRjlIRlB0dlN0NVZxN3luVVBpQmUzbDJMM1orUVBweFM4ZUc2bCs2dHl1S0RWYWR6eDdnczMxbVY1Ykc2VXg3Z0YyeTdjMWt1a29pSFhBeGRMcFRFQlFNdUhOUjFGZ0oxNW5mYzJVUmNvRngwdEFubFAzR0FxdzNjNmxKR21uT2RaQ3NCN214VkVwUUxWTFhZbHNJOFdPNEJGekdYeG9UUjFqYVk0QVlMM0NValNDWkloZFo1QzBRVVFnQ0NLQStBYlJzZ0x1RkxnSUxsMi9YVWw0QUt0R21QcG4zMEVRUWU0QzVTd011cDk2UEEyTEFiOWp1cnArOVg2eUhLWjJXczRNMCtxTTh5ekVDZDdiU3hNTzRHVGwzQ2ZESnV4K1NpdjBKQXdyWFh3akd4N2RFKzBnU29GK1hnQys4UVUzQzh0T2dCWng5VFpBYVlwd3A4M3BNeXhnQjBnYjZFYmJCREJZUlBXMmNva1BoSko2VVNSU09aNS9PRmk5QVVjdXlPNjR5Y0RaYlpwNEV2QVpyeUNSektQZ1JtSXBsZDFPeUFSMVh4YTVsQkpiSlFKVjNoZWZHQlVaSGVOaXJMZDNPK3ZtK3JrejQwTHZXK2NTb2ZRT284VUpWMmR5NzhmU2p6N1ZWVjNXWjFmYmcvV04rN3NZSGx4Wlh4UEpZdURKNDc5RnpueEVjZTVnRFlmM3YvMUFpMGdmcXBJWm9vUEhYSEhkSUhpdjdXVnJlL3ZqNFlkWHlSSzJoZmNubWJRTjlqTGgva2d1Q1hhbjZmUUQ3c3FnOFE5M2hLSDZpTGRFZVYwanZyTWgzbEx2aUFsZVZ1SzR0RkszUm9tam9tcW13UHJpUENVZFVrNFNxTEdiaVFoTFNha0NUeHhKQ1dqY2dBekFsQW5IbUNTeFZCY29xRUpFVURwVlF0RUpBZ1lTZ2NYSVRPM1pLNUJPR2Iwd3hmR2xMY2xzYUZIYUJoaDdBSEFnSVF6Sk13eERNZFFWekNRb0lhZkkwQ3NKTzRXUTZJQ1B0bmxGUmRSQ1oxVHVKaFh4VFVjNFE5am9lT2NUaDJGYUt2SDRXWnp0VjFVZVpoLzFYNDYvTHNqUDJ6M2xoQlJML2VkRThYV01Na1dBTlFCYUtVVElpd1ROM0pkUTJZNHU1VitPWWhmblgvMUhLcXZ3YWcwYXZoNERBZEVldk14aUViTUUyYllEVzFtNXU5aWdqNFJFVWxhWUF6UUNjb0tKWGxRa2VqZmVhYmRhNUp3SnhBSEJQY2hhYm9NNTF4bnp4emx0Ryt3bGlXR1NzaTN2UTdOWFJRcVN5TUZidTVBejZZVmQrV2s5N09lZnErWE9oZG5NUDNadkVQbThvdnNlM2RQSWQrUDV1LzIxMXZBOUpoQWZZVk5sNFdWQXZhMS82NE0rNThmK2tDZzRmMmVnTVJhQVAxQm9JVUt0Ly8wejhsbGFFb2N1NXk4ZlZUTGhiaFBDdURIRFBISFNyNEFCSStKQVord1lFUHM4MEQwSFFQSis0SGlUdUpkL0VMa21NOGp6dGdSYkhiQys2QXRTQUJhNWZsbXRrZ0ZtWE5sVkZ6TVlXTWMwWnd3U2pKdHlBVVNuYmlsTGRRSmtJU3drVVdVRG9RdW5vMThiS2RNQTlLaU1KcHcyalR1RVM1ZUlYQUJCTnk0QUlXZ21XMDM5d0NrUUQ3amp6Yk5XUVIwcHcxQUdzYlJBb3VBT3NhUktsTWlGZUU1VXc3NnliOU9hS2Z5RHYxSmdBdjZzM3l0RFVwRjVyN0VaaldnL3BvcnFrT3l6R0ZUeVdjQ2szNmFvbG1uTVozdXNZWFJwZTFBSDBWUGxBUkJmakd3UUlBQWhBZW9KMUdBalE3NlJOUmZoV2FQSnM0UW9kZ2d2TUdnWGpPMGFkeCsrcE4rYVErMGs0YkNJaENWTkY4bWtrSmFiYnpiV1NKcEFVQVBrOEhhaEp2ekpsbUIyeHdtdVdMUkQyRExFeUhuckp2NFFjbmFXVHNnRE9rVXdzR3hFSXR1cEpGRHZBN0J4S3czRTc1UG9QZVphcjN1bkF6QVgrQUJ1OFdrZmRCOHUwS3VZMkdENHZyWGhGZnFXRUxqanhBdnlndmRrZEszZlorQXhHNE5vRjZBeDNkZ0NweTRzU0pkSHh0clRpeDF2d3QxZDZ2L3NadkRQL203Lzd1L1A5MjdiTzc0amVSLy9hblA3M25mL2Zaeis3L3RZY2VPclRuSGU4NE10L3JIWlg1K2FPMnVIaVUzeEFmczZMa2psWkpxbktNRS9VWUp6U0JZMXhneDJyM294bCtpRHVLZmFacDFaSXVXMHFMek04VEEwNzJub21XR1pvTVF0NldabUV3elhrdERlQmNSSVFRa1E0NUEwd2dnYWd6SU9vRDRncldUQkZwQlVRQTBHWURxZ0xzQzNES0NhSitrbWxJWUZKSUg2NHFZeExSRjZYUXpneVRNbUVwNzllMVErUWJYWVdJVWlIMDZBZnRSRCtOMjVGbURjRHlxekRMQTBvelA0d29iM1NhOXJPMm1BenFWVEhKVC8wQTdVK0E1Z29mUWlHazg2VlJvNDZJQUEzQWk3Wlp3V3JHZytYc3I2bWpYd2cwZXZTUDQzTklvdzlLQjYvUXBlQUFvcHRJVVlaT0pFUFNOblh4T3ZqVmVkckZySjladWRNTUVYYURiTUZBTmpMNkk0VDZNVTlBZlNkbTBsa1g0RHhsRXhIT3daaDdaUmJ0Y29QQU9hbnpXYkJrb3J1WjMwdnM1eFE3NkNLSGlTT3NPOW9BZXRUZ3gwVDBtQlRwbVBhN1I3dTl6dEZpV0J3cEIzYmt5R0VjK3RjLzg1bUQveWEvRi9sVnJxRy84ZnRydS84My84WGZYL3Fidi92MzVrOTg1aFA5NXJmRlhIczgxbVBnWEhBTFgzcXJqcDNrcTFmMjdTdFdnZDdHMXRad3NMNithekEzdCtvNUg1VGU2R2lkdXUrc1VieTNSdnFRbWoyQVR1ZVh0ZE41QVAzKy9hbGIzaWVkNG9OZWxyZDcyVG5xbmM2ZU9oVzdhcEg1c2FDLzVkWVp3Uk8vaGRZTTBWcFZNbmN4bWJzcTVzR3p0MjFrUG9BTTRZTGdYSlFFNFc1VnVMdlJrTEg0T0QvTnVKSGhlY0Zza1FuTEJQeEh5WVlJTm8wZEhJOUVtdlNrRElpeWhsaWl2ZE9HczR5SWhjdHV3MElERmRxYW9TbVJxS1l5YU5vUi9RZG9ndVVDb1YraUNxRnNDaHFiZ3FnUElQb3pNQzlOTlRDVkR1SE43cWs3TFlzOHdMRlA4NkViWllFbUhXTzhxaTdLWnBqcFlLWkR1VjBXYlppZjZVNGtlTWtFVGQzRVIyZEpnQUpRZFVRc1FCOUZHRDZPbjRPNmV2eFVnc2gwL0pTQUFBRzJZMk00cG5hWmlHZldnR213VDNFUjVYTnVBTjFPQzhzQVpjc0ErNlkrd3dodXpodGtQdi80VkJTN1hSNVJvZWF4US9qRUJxQVZKRTFJb2t5TFJKNnZESFk0RkxZQzlBbkNxU0h3cVRRb1RDZklvdURHb0VHdGdwcE5NK3NDbG9UbFVqQk5rc1pTTGRpWFJZNVlxYmRKV2R4ZWREcnZML3U5dXpwbDkrNU90M3NQejRqdkU3TjdhOVc3MU1idjh5Mi9IVlY1RzhhZEExY3VsU3RuWHZqbUVJY09kYjUwN2x4NS9NRUgwM1NpeEZCdU9lZ3ROK0xwU21mSnZBQUFFQUJKUkVGVWdNL2VlYWZNcmF5VVY4NmQ2eGZqOFZ3cWlsMmNZS3ZJY3FBR2pwRXkzK1ZxNzNXeHUwWDFseUR5eTY3eWdLUjB2NmQwSDRyMFFTL1M3YVk4MTAxcGp4VnBWNjFwYnV6b2p3M2xPSHN4QmxLdEt0UVJFMXFra1pvZncyc3VqUURYRkRsVFlKZ0F3c2ZCaGFSQndKUnNEcmpBTXhDTExSWXlEVkdiQ3czVWRRNkdpSElhUWtPNFhMWHVJSEVFbUpqa0VUcVRRb0JOMkhCeWl3aEVCTXErK1lydGkwcE5HN1puMzdPbW9EWWtkQU5RUko0R3hUTWRKZHlGdWhPQTQyd0c1MVJ6ZGtMQk1vQ3lLZm94TXVvRG9STVN6aGo4Q0RSMXRBRVJaNW9BTCtwQ0dvbXJwTEQ5QkN4bEdzMFZlazBDazhZQ0VVS1RJNGlZZWh4K0UzdkdBRTRsQitzbFFRaElqRitCME9kemhiQmRTSkRFT2ZaRzN4bnZKaEg5Q0VTVVVXTzBKWWxLQWFZZ29wQXBnUEJmM1duSFRiYjdEaUxPY1R4RjRtMEltTWRVRm9YME1Xd2tTVkRPbVVoSEx4eXJoQzJodlJnY0RXNzc3MkdiTUk3UjZMdWw1QUhPZnhLdGNna1FHcEJKdmtsck1wR0JxUzVsRXJBcERrUGs3VWpwZHE2Sjl5azNKSlIzcThpOUFJL2g0dWdDZGhmZGU2OUp1cDBEdlkyaE9NaXZFWmZyU29ib2REcTd1OTJpZis1Y1dudndRV0diblhyL1FuN3JMOVI2QnpmbXpsZTU4eTA3WmRtcnplWTQwM1p4cDdzcWFnYzRHNDV4QmI1VFJPN2tySTIvci9zQTB4OFd5QU1RL0pKd2NrSDBMbWg2dDZzZTlWVHN5WnAyOGR2a2VSSnJmK3plR1huc2dKRXFLbWRWeVZ3Y1dUbXBSVkF6Ymp5aW9CVHlGcEE1TTlrZlhCUWlDWnE0TUVuQ0lvcFlPR1lrMGxBeU5xUXVGeGVYTjcxeEFRbU9ZSDNvQkpoc3lxakh0aVJEVmpmbFVRRGFvd0tUN0l6R0JKTi9PcFdUWEZOSDI5SFlxUjc5QjlqTVFmODVKTVJDanpRZ05Jb0cxSjNJOExOQjFCRlFLa3drRFNBQXR2TnBlZVIvRkVJbkVIVWhmd2owRWFMc1ZpWTJtY2IyRmYwSmV4SDZSRFRsSVFPUm9YUldNVWtEZkdXZXIzR0xDRVFra29nM3RSaTdVWWxoWkptd1RpRjhsc0puQlcxSUZ5d0FJRFJJWCtpWEV5QVJ1N0ZvaW5odWJBbGx1MFJNQ0ROQm1CWWtVQiswdzdBTG9pL2pVellEQXBuUFB4Qm52WFZkb3lZUmgxL2dwYUpJbkYrTlRVbTBydzBFQ2tBUXZuZ3pWcVpwMDZOTW1DYU1iUU9aN1JzU1pqNnJjRGtFT0YrYnRNSlVFc3ViSGJDSjdDV091T3JiUmVSMlRmbys0WHFRSkI4UzFYdFlkaCs3dVZlQUQ0cnJlOW5UN1hEY3h2RWZnR0NsTEdVSTNlaHNwVlRNRllVKzlkUlRWTVV0ZWNVVHVpVUhIb1B1aUtoME9xbVFiaUVsT2k0eUZNTWlGODB5ZVdlVmsyYXZBL3ZoZnBENjhiZDFEN0pKQTJqYUI1NlZ1YWJGTERva2VnYnRjTE5hMW81a3JNd1FtaU5FNGFya3hZQlFFdjVxMmpGSmgyUXpkcFVBSVZpT2dBdGRFQUNCZUdUS2xBSjhCZXZnQUgwR0RhTkpjN1VGY1lBeXdQMG9tb3Q2d2piU1pEQk5TU092ZnNYVVpraWZwcDF0SXo5cEpSVEtkc3IrbUdhS0JVMDYvQWpkYmN6cUtKMElQUWRWdDhHeFRjdlJTRFNYTXowRG1HNzZibnhoZnlGWjF0UlAwNkhUNUZuZXBIM2FCeVdhaSswYStkcVhwclI1WWJrd0VXaHNUTnV6bUl6WWtPREVGSFdhZW80OUpKOHRLUDBxUkQ3OGpSaUVuRDJYSmsxL2xSRHFTeU9WWEtWQTVKdG5QVWszdWl5TE9UR3ozWkF5MjVDTEovNHdIWHJDZG8wOTZqZHlXZzVlM3FRandUaEhtam9UZThxbUNoSXA4VnJKdVl4QTFEbkg1NHdKUWJlbFpOc2VyYzA1d0MraGZSbXF1MEZDRnBIOUFod2tEZ0hDTCtma2tFRDJNNHA3YUdOWm9JdjhibVFld01CeTJkM2NLanExWGlsNktXbDhHbVg1TFhuSDA3NGxCeDZETHJhMm5EdFI0eVRLQ1lXQnV4RGoyN21xRm5BdE9IblZ1VHdJemgzT3lZWkwxVlFUbTVBZ1JjRzZaakhFTGlVV2lMdlNkSlNIcEE1Q010K1VKK3BIR1RFaFdBSDdkT29FRUpKNjdKZTh5UVhEZkpTQi9RZ3hTUXRFaEgzTXdDbnV6UExtbXdhQ2VKM08rRFlUZ3ZxWVdXcWt1RkFLUndZMDd4QVFJR0I4WVIyZFJQaUFTWnFWa3pFd1R5NFhHTXVkZlFaQVM2RFByS01qTWdWRjFJZTVtV1E2K25ES2JZUWRYSzByVGIvT2NuaVVSMzRtSS8xYWdIb2U5a0lHNkgrMGJjQnlPSTNIVGVsRWs5K1drWWhLVUZNZ0VwaWxBUllBRUlEd3NFMkpxWFNtSitCempUNGpCZ0hXaDM3b2JVc0hCeUNNY3dDTmhGRm1BQ1lOaERJQTdwZ0pWa1M4T1VmQ1pqeDN6aFVQeVhuWFNPYkJ2SXRRZHhLVDZOT05lZHAyOXVueHdqU2FOSFdvT2JscG0yM0J0bzRvVnhqbE5uZ3NNU21QdWtDMG9sM3FOS2xJTWgxQ1JCQVRRbVFxbmR0bDU0UUdDcUdrQ3dvZVNSRVozcXdmdXFYaWxSUWRIUmVvK3VtaWNtY1NobjlPN1BSbXV0TUg4SXY0djlIdGVzZmRlS2JMMHpXeHNDV0lWVUR5RlN1Wm44VEhoY2Rld28ydG12Q2NUNkpha2dDY1RDemhSMEd4ekptV09SK2pPUXBIQTM0OHhSUnNoMEJNMG1nSDRSeU4rVWxBbTY3Y21YYmhnbEQzeGc3NW53dWk2YS9wVXlGVFhZZ0F1QXJza1kxSVlLUmhKcHhnaGhxMEJMQ1ZRQVhNQXdxRW8wekxCQWJoNklXTHBDRUUwSWNHMUJRQ3JLYW1VQUtnR3V1ZGlIVG9DY3NDa2FjYkNDS0llbWZHV1RjcDU5Z0ErQStCOXFnejBZMTY1bm1VNEFSbU1mZ3gwbG51eHFFRW5KSjJRRGg0OGNVajdiUkpnQjNNWXNJUzFsQ251UVZOWmhiUG1ad1VidnNiQ1dlWmM5enNqbG42R2ZrQUt6ekFXRkZNNnFnbk14ajdNSFpEeVRoRE1vQnBHaXhIdU02eGdHV0lOclNEaGlSSndzSTM3V25hcjVMT2NsRFBDVXB2d0ZmR2c3YlJnRDZoeWMvc002WlVhUngzQ04zak14Rm1DWU5nRzV4ei9NVEc2VGlaZjJBZWJDdlVBU0VDWHMzTFJMcExYRUMwUWlJcEY2d29xQkhGTHVDSVJiSndpVmdkQTYwS1V5MmtybE5YUk45MStyUlEvNWE4WXkzZWtnTmZPcjNmeTYyZTEveEUxTlVpcDVJNzRKUWdHck10eUZkakVwRUpPWjNnUWRDWmM0VkluR1dobHhnM1RtQnc0cHFBQ2pCT05mY29pN0QrTUJ3c2s2aVB0a1N6aUNoWkhuVmNGREJPOUpDYzA0Z3lzSTVPb2NIc3ZKRjlzZ0FJNlFBVjRZMmNrSzl4MVRsM3dWRWhyQTVNeUZkb2JRSmhXeTRJcmdhbS9GV0FhVHFCQnBIbWVLSUYyREw4YWNiSHZweDFBZEJPQStvMWJadHlOUDQwOVpHZjZqamxOcHc2SUdaeVZpY3k1VWtCcTJpSGtvbXc5VnF3TGR1Z3NjK1lobXpBOHBDczgyazdkc1BDNWhVczJrNExpNFF2UWwxcDB2SGFKUGd5VTRzeStrQ2RzR2VOWkg3V1J4TVg1a042VlBJWlU0RDFEVGczNElDRU5BQ1pvSlNRQkorQk43R09lc1pRQ0FSb0R3SE9GM0NlT0hlL0Uwbjd6SVBsSHZWOGdxQjlQbklhRnArbG03eXhDTE40Y2p6aFUvakd0azE3WnlYekZoQkJTQlkxY3BhT3ZEZG1CT0RjRk9vMkVHWWpQWk1PWVpMT09YY21VcWdIRWJPbzhRalpvZGxjbmN1TEhhVmtvc1ZtSjZjTnVhUVhEaHhnVTl5U0Z3TjJTNDRiZjNIZ0JiZE9QeWREblZOVkdXUkxQSzB6R3BjQmZVV0FjdzZjb1h5QjhqbktaK0Y0SG9MVEl2S2lRRmduTDdQc0FtZnNSY29yblA2YlRGZGl6dmQ2YXZnRUNNa0ZKcFJOT2lRTmdZWUR6alJiTkdTRHFDT2lqTDVzbDgzcTNXTWhUUUNtd2NVa2hQS1RYRWdSOWdsaDB4bkFYS1FwUTU4SUcwM2JhVHJ5emo0eFE5TkNBYndld3JJSnZHbkw5RlZ0d0haZ0c2RS9RZ2tJUEVBZEIzMk9OTUVrbkg2Q2FTZG1NdEx1MHpZc2ozVFVVUmsvZEZFdnlwczJyQXlKYUVPRWhJT1hFT3lYdWg3bGxKTnlGanNSOTB3eTdVeS9pbWc3QStQQU1TRkFPMDRZYlUwd3RlOVR5VHF3RGlFSllSeDBDaUd4U3BSRlBmWFJTR0ZEZ3VVZ2ZBcFExOWx1bG05azAzK2lXdmlUcUVrNTFRbGJQclVuckFsUWNacUtuQURNd2NIK2VEZVNzVzdrcEl5dnpTMHNDM0R5ZWN4bGtxbXBlZVp1cEJiQm1KWkc2ckloN3Bkbzd4enpMN0hKYVZvN0RjanpwUHpuQVp4bUdkZUpub0Z6blppOW9pS1h1VEhZTk5VS2xlWVNmUnY0Z2kyZERsVzJ1QVh2ZUlLMzRMQ0IxVHZ1OEc3Rjc4dHFqSDFVYmlyMEV1ZllXUWVlYy9oM09abWY1bVQ3dWtPK0tpSmZkc2VYaU1lNHpYM2NjdjZhbXozcGxyOE5zKzl4Ly9Wc2NudUpFKzhWZGR0VVE2M2NnUWJrS3RtazNUbXBEY0l0czVnRE16alREZmc0bUFUUlpDbko1MVF6R0cxbHRwdkFxU0lRTHNxVUNpUkN1V2xubnU0bUNBa1pMaUtJUjB3NGwwY0R3Tm1udlFaUlJyQWVvRTIyRWRxVmJabFlHVFk0VXVvNFFkdnd4amZBbUhjQ29ROFI1VzR0d0pTQUhsQ05Pa0JJUUFBb1g3V1JhT3JwRzRSNXdpTkJHV0lHNm1DV25za28reUZkOEdKYnB3aTltWXhzNUdlZ3I4NTArTXhZU093V2pidFJIaU9CZWN3a3FDZjBOY2Fpa3JoZGpFN3BxM01zQVp0SVBoYUVyZEFQNld3RFFweVV3emhHMjRrTlphOFROUFhNd1NjMjRVcGpzZzJmMmcvYkZtbUN1cENadmZDSEFDWnRuRklDckJlaTZaUDFUYjk4SGxFVzlYQWducjF6SHRGcHprVmFZSmtHMkJIbkxwU2RLeWNkTnllZUhKbHB3cXJrdnNYRHRTdjhhSGlSNlplSlp4bTg3ekJtWDZkOG5DYStEUGdYSWZKbnhLUEVWeDMyRlBGZDluV0tVLzhGZHY1eUFpNmlMRGU2VmJWMU1lZjZMdzRjWUZQY2toZWYraTA1YnR6NTlOT094VXU1bElWUjF2NW1HdmxsVHJpem5KSFBRdEozUmZCTmMzbVM4Z25MOXBpTGY4bHovb3JsL0ZXdjZpZUlKN2wzL3BaYS9uNXllNWFUNmtWTzNBdHF2c0d5ckptbkZWdzlTc2dVVFpvVFg5eHBqa3ZCT08rY1lEMmFkRHdMNWtNRW1LUXF6RXdzbTVCNHlkdnV0VG5udlBPaVVpdzJIcDJrSUdCS25aRXdWSVIxSUJ3a2pZQnplUmhnVGcrTVM4SkNCcGlPTWk0OTZwTVMwaFRLVnNwT2RGdkNKZkwwbXFObG1nbFlZNVBGMUJKSjdEbUo4cCtJc2pCSUcrd2dFRzBKQ2JBdUpDakJQT0VFQXBGNFBacUtxSndpNnBza2VFM2FJL0wwQ2RMUUNUV3VsdUpvcnVpUENEMldCUGs2WXp1RDFTWU5NZ05pTk9qQ1VjUm9WSVJqdzVRb20zYXo5cVJtcDdwVDhoT1FOR0JHbXBZSkRRbXlyUkpSQmtqekQ3T3hzdzlRbnpmakpFVEVDakFIb3ArSXIvTVQxS1NkUWxQQmovS0ZTeHhKc2EySG4rWUNvNHVTbXJwR0ovUWdvcEFHNGhEYWlIbmpiRU00b2hNeGh3YVk1Vk1GMXdIaFNOUVFUajQxcS9rVXg4eHZKclAxMHYxU0VweGwyYk5TKzNkUWpaKzBPaitPWEQrR1RBSjJmSUhPZkpIR3Y4cW9mWU5tdnlPcXA0eTdZaEx2eTZtdUwvSHNkLzFpU3FNMEd0WEhxWWhiOU5KYmROeFlXMXZ6TzRFYUR4d2FYeHBzYmw2NU1uZHBZMWljclFlRFo2c1MzNjNyNHVtaXdOZHI1SzhXNkh3WnVmcHliYVBIOHZyNlY2dk5qYS9aNXVZM3ZLcStyZG0vVjdnL3c4bjVVdUVnQWRzR0oyMG1zRTNDMlRqQkRWSDJHamlYTFZjWEtSQUJ1SU1MY2Z1Uk5Ga3pjUzRPYTJESVJ0QmV6azVWY2VIU1VwSnVTaVZTa0hEc2RnSXNSd0R4aUxsVVhHaGVRQzk4WWcrWTJIVEtTTE5iZGc5WENOdE5rRmlpckppQ05nQXVVY3J3clVtYjBDNElhZlNpWFVNNE14L0ErZ2JVb1lZempmQkpoTG13TzZsSFUvN2FOQnFkMFBzeGVFMDkyQUgxUkJ6MGo3bEpQaEpObm5YMEhRZzVnYlBjbldvV2NCaGp1cjBUWmhxc0Uvb3FISXN5eG1CY3dQWk5HOVo1dElzbkZ6THlZWS8xb1NPSXNTbEVFalJBRzhKUEpVb2JrN3FKRDRCQytBOEJDMlAwSmV4WVNJQ1BIZEZQSTFrT2txNDA5aEtrYWFzQVV4NTFsQ0tLNk9OVkpEVFBReFFBNHh0K2Ntd3hCOEs0MExBR1dCNHl5SmRQR0FsdzVya0RkaDdUR2VHVEhUQndoZCtXWEN3TkwzTzMvS3prNmp0ZWo3K2VON2Nlcit2Nnk3RHFpNEw4WjFLV2o2SW92bHFwUGpWVy9ZSklWNEVBQUJBQVNVUkJWRTVoZHFyWTJIaEJSRjdlR28wdUxsMjRzREdlbXh2ZHY3SlN4VnJFTFhyRlU3bEZodzduZzdlSFAvS1IvTWphV3YwbmYvRHgwYi80emQ5Yy81T1BmL3pTUC8va0o4Ly95VC84K05sLzlwLytweS85ODA5ODRvWC83eWYvOXZOYUZNK09ybHg1ZHF2YVBHV2JWMDVWV3hzbnBhcFA4bDMvRkN5ZklnbWZWTGRURE9ncFRzeG4xUHhaTVg5ZXM3MG9abWVZNTRTMVY1TEZUdHMzcU10ek5LdkVQYXR6c3J1VEhtWUFWeUo0T1lIZ2dTbUVlVUt1QWhjVkNMOGFMbHhiUWJvYWhNdTJRdWdFSkZqMk1rbGpXc2EyWVlOZU1FWGJMTWMyaEE2d1BXMkNpSDVDQnVneUluODFFTzFpc1Fkb3pRRk1pSjRKdHVjckVQNDNlZ0pnZ3JCRlk1aGNMSXVHZ1VrQlgxazIxY1ZNTnZVc0R6bXpQWlhlU05iTmRDbWRBTXViT2twcG9JejExUUFkRHJBdFl5WDBVMGxISVdmWXRnRmV0QUVIbkFnWmNKWjU1S08vQmtwRjJtdlNsTTM0S1pzODIxSTZRU1hlRWV0SldkakN6SmF6S25TWUQ3OFJhZnIycXB6MndYb25vbDNBUXkveWxOR3VRYVROblhNeTVsN0YrVGRLMlRjNU42K28rMFdTOEhuV25XVTZQdFh4VEJmUGNBNmZFZ2ZudUo5U3dja0VQNWx5ZlVxem5mU3QrcVJ2WEQ1Wlg3eDRhdjN5NVZQUFhycjBETmZSYy8vOEU1OTRnV3ZxelAvOEQvL2h1Zi9QMnRvci8rejNmdS95ZjcrMnR2RW5mL0FIb3ovNm96K3FIbGxicTJNTklvYkxsMXZ4anFkMks0NzdaeDd6bVc3WE9zQ1lBZHZJS1YwVUxjNXhmYjRJNkRQRTk3Z0N2dzJUSitGNEhHTDgrSVZIQlhoTTRVOXdJaitaUEg4N3VmMkE4blRoK1Z6cGRxazAyK3k0and0U0ZDYzBDamFtRHFuTG9DRGNYMTJxVEttU0NsUWxjV3NlZ0NTWUF6eVNRTVZkY1ZVN0FqVjNPRFhQTkdzRHpHakpFOTBqU0NSQUVrZ0pTQUc1Q21FTHl0SFJKb1FTQWdTY2tuM1FOZDVjcXN3Nzg5N0lxSnVDdXQ2QWZmcFZhSHh3T0IxMVp3WGJDZldVNElKR2M3RjRXekk5MFlzRU1FbXp0bWtiWlJPOHRqenFBeElOK0o1R1NmdlVaSHVoMzFNNDJDWHI2QVA0OEFRSnl2RW1MWkFZaThTME1sWWFkUUVUTmxCaUtxRUE3UW9sUzlpWEVKaGN6aVI5REw4bUFNaHhWd0gwNVZWTUd2R1Y3Zmc2dldrUExyd2dUUkx4eXJxcFlDempxQ1RlMENLZU5FNDFoY29FQUorMXVjUk9Qbk0rRUUwNjlQbkJpWjFUZytZVDlVcEpWa0RIaFdHRHU5bExoZm01MHZ5Rk10c3poZGwzazlrM1V6YWU3ZUp4QnZTTEtoTEhDanpqeFZkbzZBbDNld3FPN3pGY3o0dmFlWTcxQ2sxdmFiOWY3UUVuTDcxdTc1OGVBZjNwS3ExR1JPQzJwU1ViTFN5TVNtQkRnRXRGNWVkTWloYzgxYytDNThBRy81WjRmaExadnFyd1I5VXlVVDlHK1VUaE5Rbll2c1VKL29NU3VTSGd3dkxsd20yamdJMHB1UmdNaWZPV2Jia1RObjZRSmpqRDJSZTR5c0FGZ0NCZ1RRbEZTcUthSkM0WGRSS3dWOWs5L2xCTGtDL1REU2xuRTdxak1DTm8zWVBpcGVCd29tMGhrRFNGaWtBRkRaaDBDQkF1a0h2b2pUY1FzaWpnenFvQUtJbFFuWUZ0bXZyUU1RZjdEVGpsQkc1b0xxSFBEU0RSQVY5WjdHd3dBemp3UUpObmdwSTNiVWQ2Z2tZalh0Z3NSQ0IwRUw2NWt6TUlvM21md0pxMDBzYUVqQUZsdjBGY0JaS1dYcVRTRStPampKTXdYc0xZTlVSTUtVSEdvVS9ia1lZTGpRcWRub0xsOElsZjdzNCtIQmFTUVlpOHphb1lVaWRBaEdTVGFFWjltdUlkZVNCcytzVEpTRExmaUNpaVF0aHpQbGpQSEIvaUVvZ2tpQ1ptMkl5ZDVaeUZjMEZJd01qMElRaTVpVDF0VUR0R0dDMjhjT0ZwR3phTGJKZTVFVGhING4yeHFPMlpJdWZ2bGpVSjJPenJtdjF4dUgyUnczblVvVjhTNkZjZzZRbEF2K0hxMzlQTStWelg1MDNraXZUN20rWG1aclg2MUZQMEZPMzFCaUtnYjBDblZXRUVIajV4d2c0ZE9qUyt2SC8vK3VMeThzWDFzajdYSFhWZkhPWE1vNFllZDhEZGJ4V2F2dDcxL0xqVytZdWwxWStXVmYxWXQ2cWU2RlQxazcxY2ZhdHI5UTg2WnFlN2J1YzZzUU9HYlpST0F1WU1MN2dVVXdPRElzRHB6anpYS2lUK2lVQlZrYWE3MzVBaTFIUWdad2NYSENxRDEwMGFxRE80K0tTQnVjSkpMODZsQjVJTXBqdGdDTW1ZRUFLYUFDNUxzUGVBUTRDQWcyMEprMGJTSmQ2ejlGU25hUk5sUXM4eEFkc0ZDUVZpdDJibWsvWU5kUWt0QzgxelI4MFVEU0xBSmdEclE5RW5tVW1qU0VmQjZ4RFphSGMxb3N4Sk5DQ2N0Z00yUzFOR09SaVBnREFlU1FwUHpRNjRCQ1U1SmZIdFJpRlRFaGJxVGlEWWx0UHhTbU9QcnZzRW1NcG16QjZ1T3l5cW1JNnlBRlZDRGFCdmlJZUx1SHhhRnVtQWdIVUFCQ0xneFplbUlmVm9NR0laQVBzWEVjUzhFRkVBRXFGcjVrUE94bjJCTjJBU013Sld0a24wdjJoMndESXVURFk2amt0bDdlYzd0Yi9ZemZtWi9xaitibTljZmJNL3NqOGZqUFBqbXVXTERNeWpVbTE5dVV6K0ZhL2tpV3FzVDQzTnZsZmwvUHptWUhEK0lzK0dTYjZicTA4OVZUMzg4TVAwRXUzMUJpS2diMENuVllrSWNMSEVlZkhqSC90WTlTY2YvL2pvY1o1bFBiTDJkNjQ4L3ZmLy9zWC8zei80VHk3ODZ2cExMKys5ZlBhbHhZMEx6eSt1WDNpbU8xNC9PUmlQVC9aemZiSnJXeWRMeXp3bnJrNlJjRThtOTVPRkVQQlRJaFpmNEQyajdzOFJMNHI1V2JGOFFjMHVpZnU2T3JaSXpGV0MxRWtrODRHWlNyUDBZMmszaU1VWWNQTm1vVGtYSWp4SWx3dVhpODJ2QXBoR0xGWkpIRldBaTViNlR2MVkwTkUyMEtROXpBdGZDR3BIV1VCYzJJS2VoQzJtUklTMTdJL3BxQ2ZmNEZYUVB2V3BRRHQ4amJReFNkdTRHcXlTeUZNMjVTRi9HbWI2MjNyaHh3UWV2aEFlL1lXYyt1cVVVVGFwbjR4QitPWWt6ZmlWbWtybkZCTHRtakw2Yit5QWIwQ0lNcmFYYlVpakg2OEJNQmM2VFZ2UVRNQUJtOEpua3VXTlNVb1dvUUZmZUxQazFWdWFwSVJWTkNGbW5uUGlWWU0welBtQ2dFYWFqMThJemhramFocmVZdDBWbUwxQ25PTkRPU1BBQ3lwNFRvRm5FdVFVNXhibnBad3NZMDZhbnl5em4rUW00VlNucWs1eTQzQ3FzN0grek9LRjZwbkRLeXZQL3JWWFhubnVmL21QLytQVC8rb1RIM3ZoQzcvNXQ4ODgrc2xQbnYrejMvcXR5NVNiVDYrdGpSOVpXNnRKdnBsdXZuNG9MR3J2SHhVQlBvY2ZWZHlXL2F3UldQdlVwL3dzbDBhOXZKd0xjQU5hVlNOMGZGMmdGNkY2VHBEanZQaVV3NzREK0RjQVBPR1FyM0RCOEdNZHo0dmR2OFN0eTlmRTZtL3lZOTMzZUhUeExJOG1YaXJoRjBwZ3ZSU01Dck1xNVp5Ymc5NnFCcmUzRUc1dlNOeWtCQVFrZGtPRktwSXF1MVdJQ1BnQ2dKSmdud2dpYUFCNjRxK0NIOU1SY0M2aGtBalNzYVlSbGFLOXNvV3lZQXFoVkg2UWxRU0pOQVFlTUtvN1ZZT3dBcXdEZEZLWFhjTDI1TTNDR2o2aEppVDBJdUdSRUZwaHhpZENtSnlCU2FBcG5wWlFYWnE4QW8wVVlDWlpGMmxuM3pNWkpwMytSSm14dm9HQjQ2YnZOZ0VhZmZyTCt0ZzVocjhCZC9DU0JrSWJNaDIzVWlyekRacGZLU2hrWm9NcG42THB5NEZNMk5WbzZzSDRBSFNsZVQ1Tmh1VUtJUEVaTXNKSVRKTllHU3RIQkZFNEZkQ2dqanlQRk13NFYzSkhoZEF0Zm1meENqOVp2YWhtcHlUYnR5bWZGTGZIMmNtanRQOEZkK0hjazYrd1Y4NUZQQ25BdDhYOSt3QTNBMG5PSk5RWFRVc2VrNTJ2NDJlYmEreS92YTl0Qk9MNVhsdUx0Nm8xTGhKKy9QTE44K2R6RDZqbmdYRzF1Ym5oUmI2VXpjNG4xUmRGN1pScjhSZENBcWI2RTI3Mk9CZlNseWtmNVpsZUVQQVR5UGxwMVBYM3RLcWZTem1mS2MwdmNDR3RkK0FqRW5LbDJUS1BPSng2THBuTE9HZWhEWm8yVW9DZ1dhdzhUa2dwTWEyUXBwUkxDd0ZNTHBrdVkrZFNJNEpjWHQxQk84bklRWDhhSW5EV2M4R3lENUVnU1duc3hHdEFTVFBSUjNLUjVBandBN3hCM1BpWjFWM1luMkR5VDlrWlIrNkFaWk9BRzZ1Wkp4a3dFYmNBYkNQT0pnRVdDWk53SmdJVVRaNHk3a2xhcG0wbUVtdy9nOU03TkdDL2xKSGZCdlhDUHpQQkJEVERNalM3M3ZBMUlQQ21IdFJoVE1JSDZrakVkQXFsREFoSmVCdDhVMElnNHVFaVppRDR4c01PSittcjhud1dyR2FOeFBFdW5IM3dSa0E0U0lWQVJmZ3NCUW93dWg1Z2RNMkZVVzRNY3g3dzBOY1R2d2NvNGJrclduZEZ0anFDVi9pbS9WTEtkbEp6L1JkUzV5ZTFzc2ZWN1ZIaXp6aXFMOEhsTVhGL2dnYWZsSXh2QS9JRGp2bzVHZWV6dWJCWGNocHR4SHlPRFFZKzlTa0hmVUY3WGJNSTZEV3oxQnJ5aDNuMjljaW5QcFhqOThXOU8rNFlYZVo1Y2VwMkw2Nlc1YmxSdC9zaXY2UTRsZFMrVTNiU2t6ckdFNUw5SzFibEx4WDErTkZpYS9OTGFiVDFOZG5ZL0tac2JYMC9qVWZQbFRtL3hMUGlDMTFnbmVkMG8yVGVFUENyTytBY0s1bmd1bUQ4RXhkSElpRWtWU1JOMEFETG1rVWpWQUJmdU9EZEFkNEVsNTR4UFFYSmdVVHphdDVaRG1lYkFOdUtRNFJwSVJVMEVHVkJJRFVTNE5MMWFEK1ZhSWdlb0g0RHRtMzZObisxSCtxRDdXYVExNmRaTDBCVDJ2aUN1TFpMbUptbGhUcHlWVjZidExQVXAvMDdZeEZwWTVteHpEejhsS2t2QWlmWk9zc1FKTXo2U0p2SGVHYitUdXdMNitSMVkxZm1yMGJvQUxUWkFERGFOZG95QUxFRHpwUTJMV014NjhIaDhYbXczS09BYUhyalM2TGZpYklaa1ZDTkNpUmVTTTROK0lZTnRVd09OU3M0RzJJSDNGUGQ2amt1ZHMxZjdJekhwOUtvK25ZYWpiNkJyZkZYZFdQcmkybFVmMEZIVzEreWJGOWgyeWZLamo5WnFYNjd5UG9EMjB6UGozbzRzN0d4OGNxRnBhV05tTThROFFaMGt5NjI5eldLUUR6VGEyU3FOY01JTkpNMGZ0dDQ5WG54dzUvODVPWWpmK2Z2WFBuVGozM3M0di84ZC8vdXVYL3h0Ly8ybWI5ODZhVVg1bjlRUDkrOWN1NjU0dkw1VTdLNWRWSzJxcE1rM3BOYWpXUEhjbExkVHFyNXFRSTRHV2QxeWV4WnNmd2NtZUo1THI0WEpkdFoxcDluM1VYdVA5Y1RzRW1NQytGWnNjQzRiaDBDQnhlc0I1cGtVRUFVT1pjU0paMXVibVpaRFNFcDRHbzA2Z0xNSkEwMk9rRkNNejBhY0taZlJSUVFvWXNFa1JrNDNXWjZ0T2ZUUGpHVkVqS2F6ZkQ2ZkpTL3BveCtSUmxtTWpLUnZocnNrL1ZPZjUzRTJzaElUMkhoandrYXlUSk0vUTBKNXAzMXN6Y21ZOTlObWhJc2Z4WFJ4eFRSQnhGdEE5djk4V0VZN1ZuNE1rMzdOTjNJU05OOWQvQng4YmxFZ2trSk9IaW1LN1c2akpMN0JuRlp6RjlSczNOaStZeGFmb0h5ZWM2WDV4THNtYVRDN3hqUW9JU2ZURmFmTE1iMXliUTFPbGxzams3cStOTEo0YVgxVSttNUs4OVdnL0h6L3d2bllzekpSMzdqWXkvL0Qvdys0MC9XUG43cFgvem1iNjQvc3JhMjlUaS84NGo1VE5mYSswMklnTDRKTmx1VGJ5QUNhOVE1TStvYVJSMXcyZHJTR2hjZDZZeTRQTXYxL1QydXdXOEs1TStaZmt5QUx6bDRabWQ0VExsejVsN3BhOG50bXduK3ZlVCtIRW42SmNvTHpNZVA2YmxRTGF0Wmh0VnVQRTh3cTJHUnRTem0xaXh5cm0wdWV6UlF2aXFKb1pHUkRyQmorZ0l4NmpoQ0haRVA0aEhtNlI5dEFwWUo2dEFzN2RKVHRuT1NqYmp3U2tqeEt3TkNKQUVCVUNmZ2xGTlFGMkYzaGlZZk9nM0FpN3A4alZ2WU42YTRPbzNHRmpXbTBpa2IwSmR0U1h2aFc4Q2kzSVREVTBRZXJnSithcER3bFJLaUNCamJUTWpYT1Y1SC9NS2dBUXZObldPbTZ6NEJpNWlYQ1dnZkFZN1ppYkFWMGxqbWhQRzhPS1N6SHhlMllUODB4N1poMDkxNUxrVG5zcmdGUmdsMlNkM1BKZmpwZ3NSS3IvOUNIZDlnL1JNd2Z3eXdMd0Y0Vk15L0FQaVhhTzVyTHZnV1IzR1MrUmU4a0hORnlwYzdsWTlHRjBmNTBPS2hQUC9DQzk0Y0xiQmhlMS8vQ1BEWlhQOU8yeDRaZ1U5OXltKzdzR1NYVCsvUC9YUExsV3owTit0Ky9Zb25mYW4yL0t3QTN5V2hmdE1sZHE0QkFBQVFBRWxFUVZUYy9seEVIblB6TDRubkwzUG4rNWhZL1pWay9rVGgvblJoK0c3cGVMYUV2Y1JGZVo1dHJpaHN4SVZLWXM4R001cW80WjVmaFhFOXUzSGRtbkNST3UyN3FMcksxVWlUY2xJdUFpN05QMlFXdXd0M3hFSmVwdzBYZm95ZHdMekp1OU9xQ1cwbktJbEhwV2lrTUMxUUlFQVRnSkFYaE5ZRmlEUWhVMHp5WUQxdjZ0SW1FNU04MktLQlkxSkc4ZW90MDJSSWdkT2VSM3YyR1drTDZjcHlnbktTRjZFT0IwamZ3a2VlbjB2aVd4clRIdTBaRjJPZjVnQ1BXN2ZCeUdLMkkyWjdXUFJER1BXTTBpZHQ0U1JZRUs2a3pvbDBwdG1FUGtRKzBQZ2xjSHB2M2hBd0dHTnpNKzUrd2QwdlJ2VHVNcC81eTN6R3B3dTNrM3plZjBINVZETC9hckw4bUJxK3lJRThLdkhIY0tCZmhOblhrUDFibnRJUGFPWUZ6cE56T1k4dXIxL0pvL0h0dy9vc25yYmowWXRFck5oeGUxLzNDUENaWHZjKzJ3NGpBbHp6RDMvK2hEMSs0SVY4LzhyNXFoeHNidmFyNnVKV0QyZDhNejNySS8yZWo3bkRMYXMvTDhyT1kzbGtYMHBWL1dVZGpSNUxtNk92bEZYMXRVNmRuK1laOGZkNnNHYzc4Q0RnQzF5VVYvakZ5MWljTEd0RzFxMjVrNnJkWmp0Z043Q2dRZU1HVjN3c3Y1Z0lTc0pvUUVKb0pFbUVyQVR1d2dDbUE1RVBDYllMMEJ6WE9jQ2VFR2sza2tqbzBwYVFWSVFrcHR4Uk5tQmFhQnZUK3BBQ1FTTlo5cXJ0S0VOVGpxakhWUmZKRU94YkNEQ0dUVTJrWDROb1QyQUNoN0lKL1FwSjBvMjhzYitRQVl0eUF1RWZTUkwwVnhvWmhKbmNxV3NPY2htOEllRHMzQVVUTE9RTlo5MUVDb3k2UGdPaVh3VzJiVEVmdTE2aEZLRlBJWW5RYS9JY3NqdmNLTTNZTDYxNXZITWEzekZ0cEdieFIzQmU1ak0vM2VHWFphWFpYM1JRZjRQNGFsbFhYKzdhNkVzcFY0OWF6bi9HNCtFdm9zRFhTdFRmcXNyeTVGWi8vUVdyaTNNWHozVXVMOCt0ang1LzRZWDh5S2MrbGRmVzFwd3hERkMwOS9XT2dGN3ZEdHYrcm9wQUVNamFtbkVSMkNOcmF6V3g5WFdldlQzK3UzLy80cU5ybnp6L3IvN2h4OC95N1BqRi8ray8vRCtjM2h4V3orcWxqV2VINC9WVG5kSFdxWUlveFU1MjNIaytqSk9GZzlKUHFrd2dicy9BOC9OY3lxZmQvU1V5dzhzQ3U2QnVsd1crb1lnZGxWWEtCUjRVd3p4cEFCUDRSQXBkNVVkY1NPVE4wYVNiTW1IWkJHUVJkc0ZDNm5pQVNaQ0FNQ1cvVnlWNzhDbWlsNWxPeUtaY2FHY0t4TVYwaUt0Qit3ak15aUlkN1p0ODZBdDdGZVk0UXFhY2RRMGl2UTNseGxKcFJpbERUNXMwUjdjdFFmOG1lUUdtWk1rRTBOaWdtK3pYQ1RaZ0JyeUVOZEtrSlNvWUsweGx4RzZpSjQzT1ZhOHg2c3lJVkR6NDRPNVdOZ1c0VEdNWDJEYit6dlJMTkhpYWVJNDJUdEhUazlROVJmQTVnN3ZmZktvamxPWW5PNlB4cVY2MWNhcFkzemhWWGhxZHV2aU4wVE9QZlB6ZmZlNlJ2L08zWG94ejNhOTk0bSs5OHUzZitxM0xqNjk5Yk9PN2YvRHhFZWRaamJVMVE4dy9kc0ErMi9zdGlvQytSZjIyM2Y2TUVZaXp1czZWdXJKUkhuVUxYKytnODRyVStTelhFQmVvZlkrTStDM3VWSi9rWW4wY2tDK3kvRkZ4ZjR4YjA2K3A1U2NUOHJjSzJBLzR3WnE3SjV3cjRaZEtZS053cTVMREVyZGRKR09TclA5b0FLUWxJRUVtRUdGK0F2YUo1aUxoQmRrNE04RS9OQWt6MElXQWsxZWlRb0RRaTlaQlFaU2dUVFJwMWpWcHlzYkk2MlRVWVhaRlhXT0lRNWNHYU5xd2ZpWWJmV0YvY1pQQzJJZXpiQUtsK3Fzdyt0R0FKak5oaEFlb0Q5YUI0d1hKV0poV2tTWWJVaUZOUEJSbzRzYVlRemhvNFJhMGtVeHo1NHBBTWtjeTQ0R01nMitZVmdqR1NXU2pnRndxUlY0dVJIaTJLejlJQU05dC9Va3hmd0lPbnUyQ1o3cnlLQVA0VmJnOXhUNitvNUNUZkdOOWdmWmVodVJMdEx3aDNUd3FjTDYrN2E4dUdkMXA3eDBRQWQwQlB0NG9McjZsZmh3SFNYTFVyVk5WYmxYb2JLQ3NMK2JzWjFEak9ZaCtqOVhmTk1qWE0vQlZjc1FYdVhDLzZEd1hGTXRQU0s2ZjFHemY0bm54RHpydzV6dnFMM2Y1aFU3SmI5UUw4WEh5N0Z6SWtpeUxraUFDa2swMHU2aWJwQURMazNsOFNQZUM1OFdKTllua0V4TklLSVhSQ2JCZnVLT0JNZUhtTU1LTlpRSFdDUjBNZ0JJdUFOdDdnR2syUVpOdThtd1RaU0RsUUZsRmFkTnpaa3F3YmdKUU1VQmJVVVo5QkR5S0JkN1ltc3BJQjBpbVRoZ1Iwam15MERQV0VYUlhuSFhrT0JiUUdHK2hkUkdPWGZneFF6bitCcXdnalV2RUpqNGhxTkdLMGNJTW1XbENtVmMzSkk0aWRBdVlNMTN4R1d4eUozdTVBNXpyUUU0emZ6SjVqai9jeERkTmY0SzJ2MHduSHVWd3ZpaWFIbWNmOGZkMS82S0duWEpOcHl1eGMwZzFDYmkzd2VPcFVmeG1OLzZqQ2JUWGpvaEFySjhkNGVpdDdpU1BLVHpPaXNjOHY3dThmN0NlcTFjdTlucGJaM3FEd2JNaitQZGQ5WnVGeTlkZHE4ZUZYOERVeUk5cVhUMkc4ZFlUWmE2ZTdPYnh0N3VlZjlCMVA5MkZuK3NxTG5FWEhEdGdFckRaaENDY05HZGM2MDU1TllDWUtBbG9kbnNKUXFtWUVKQkFtUmNYVEM1S0ovRUZEQWp5bmNHWlIrZzFVS3BUbDYzQm5XbFRUanNJc0MwQ2tSYnhKdDNrTWIyaTNTUVpLV25zQ2YyT01xRytNTkdBYWJENTY4aVhmUnB0TytVRWlUb0tveC9Ha1pzSitON0RONUZvUno5RklRSHFLMmxZSUFqSlVpaEF5QVJzS080UU0vQU5ySUZhUmhOYmMwcWZFREI3UzREeEU4aVk1THZSRWJsRW5DTk9kd1UvSUw3VnFlc25wUm8vQVQ1RGt1NFh4UFhSbFBIVnVpNitrVWFkNzdodW50cXEwd3Y5cmY3TG1KdTdkT1owZHpOK2V4Ni8yWTI1Z3ZiYUVSR0krYk1qSEcyZG5Qejk0a2ZXMXVySFAvYXgrRnVxVy9GYnpULzUrTDk3NmRGUC9rZm4vOVhILzQ4di82dUwzM3ZwMk9yYzZkNUwzMzV1YS8ybFo0ckxGNTdwOG55d2s4Y25VNTE1VHB4UGxYRnVHT2ZHUERNdTRLZTRDNHUvQ2ZBTUo4SnpZbjZhQlBLU21MMnM3aGNTejRzVGhCK1JNUzRoZFFJeXljUWJjZ21TQ2JKeGtJNG1KQ1JNQ2VMaUs4c2pCY29nM2dhc0I2a0tRV1pFazJiZW0zSUJmSXJ0UEMxRVdaT2ZwcHM4MDFFVzZRRFRiTW5DZUJYbW1IU2FhMUlTQ1JZSVdFU0VKRWkyM3ZTdExKdkFtRGZheXc1d2VJZzBrNnluRFJId0JsOHhJVjh3VFFzUkF5cUxtNVBHYzJHV3VZdXRlTFF6S2p4dkp2Zkx5ZndpNDNaZTNjNG8zd0JKcVA5LzlzN3RSN0xyT3UvZjJ2dFVWWGNQTHlhVkVXeEZlUWdmeGZqTmdJQTgwVUNBd0FFTUF3ckVOOXNCRW9Rd2JBZVFnQ0JCWHFieWIraFBjQU14RURzd0VpUXdBOEZpZEJrSm9DZ2FGbTE2aHNPNWRVM2Y2bmJxMURsN3IzeHJWL1hNU0xURUlhZTdwNmRyblRucnJIMi9mT2YwcjNmdnVzeEg5TnpQRmU3bkN2ZHpjYU1YY0tPU2ZEUHkvZ3h5dmxHMXpjMWVURGUyaFQ0UFB2b3U5M1MvL1kzZnZmdWQvL2g3ZS8vbnYveisvdHZmK01iUlgvMm5menY1cytGYjg3K3c3eWI1MWx1dHZmZWM4TTBBaDh5TG54ZGZnWER4aCtnamZFSUYxTjdQdWZ2KyszcjFLMS9SVjN1OUxnOTI2aVI1M0hVNENDSGZVd0tYcjkxL1FKQzhSM3JZL3VJUDJQWjNTWnAza0xPOWhlazYvYnVFeFY4VFVYOUhHTnp1Qy9iN01VejdBUVNLdGlGejQ2TnRWZHNXNkRxUnJGd05vMEFwc3RFQS9tTUhRc0FLaE0yYjBURXNhbUdCOE0vOVlxdWF6RndCVUZtM21NSFJyTVNGTkRreEk0dndzamJXTEdlaDVDcU40MkZoaGlGY2lmSmllZWJNVy84MFpSdzA4OVpmWmovRkpHaGkvc29BVHMzNnBtd3NyUUNFTXhBZ0NGQkdUUEFpZFVDN2hDeVhHbExxK0ZmRmduOWR6TGVEakxjRUQzckFYWUw0bzZqcGc1RDFQVkc5RHRHL0F2QnRRTitoL3o0NytKRkNtQmQrR2lBM0liaW5nN0Rmay80azlYY1dvK3BlWmprL0w2RUM0UkxPYVhPbkpJSVRDQitQeDJrZTYwVXZ5U1FFSEtqMjdvVVF1ZW9LUHlVRStNTXVQMUxGRDBncmUzL3hPNUwwL3dYTjF3bUpkeVhudjQ0NWZjZ1Y4dTJleVA1QVpOYVgwRVJGUzhna2RBVHdjaW5vRWxtU0NTTkJaTitCMEEzbW1SSklFWmdSYVBUc1NwU2VLY3hoT1p3WXl5cFRsZVdLV2ZoeEsra28yd0ZXSHp5c1BCMVB6cGY1REpTVE1YcGVXVUF5RzdHVFp1MkMzb3haYkl5elpsd0w1Qm1XcUpud3pTcGw2eUVwNklGTVgrb1N2S0N4Wlk0V2lBQzljdTZjZndGd0MrbmFIRlBiOVpFYXduZTJVOG54dHNpRExlUzcvWncrNnFYMHQvVHZjWVg4QTBuNU95S1pBTVk3MFBSOWxmQkQ5dlplaVBwVC9ubHhNK1J3cjQ5OGtIdGhNbjB3YmI1OGNKRFlwWitYVUlGd0NlZTB5Vk1pRlFpNjRWRGZCN3BmcSt2YTN2ZTVzNE9EUllONzNYYSsyWWJ3UVlyaHgybVpmdFJyOFFQTW0rK3BmUzlBdTN4SDJuUTl0TzI3SWJWL1hlWDBkd1BJN1VFZ1JHS2M5b00wL0JPN1JjNUoyMDYxNDhxUHIvUUhVc29lb29md0pWaEZCQ2YvUUxDQllDdG1ZY3Nud29TcllPYWhXTUZaZ0pwWCtvY21URnNaQy80TWhDM09UTmdoYkYrVUlYcWNHQVJnbWxxY1dTVnNhUkNBL1pncDQycndaVHl6ejVVSlVsNFpwOFkrWVZXdEJZZ0FRZkRRUkRQRUFOd3RnVzZwTWFlMm43WFpDWmp2eERDbTM5L1JmRzlIMDgzdDFINndsZHIzQnUzaWVxL3Qvb3EvM0w2TnRId254UEM5UWVwK0tIMzljZHZJQjEyc2JnNEdnM3ZBRnc0Tzh2SDBpeGd0M3I1MnpRRmM3c0RsdTlqUHp1V2JsYzlJTVJ5Vzl4YmIrejdmK2VZMzYvZUhmemk5L3RaYng5LzdvOS9mLzg0Zi9ON2V2eHovL2Qwckh4M2RlZkZnZk92RjhmNU4xTk9iZzJWem85ZTJONnJVM1lpcHU4bTlTdTVMeW8wcXlJMG9jcE1BdmhWeXZvMmM3bXBPOTBWMVg2RGpBSmxIZ0lCR0srQStNZGVHQXY0ai9FVEJReDRaMDVSNVNnK2FlVE13N1pkWnFjTXlqeng0c0YybEt5ZkR4YTh2YkJzc0R6dE93bGFXNGVMb3dYenJXODJENEM5ZVlIR1VZOVdtellGelZlcVJnbXA1M3k3WHpQT1k4MWcwNzB2Tzl5V2xPNlpORlAyb1I2MjJxRmxmOUVaZnN1bDVreStFM3VndjJ4dURlbkZqYXptNzhVLy9VZS9tN3p6NDROWjMvOTNYYm4vN3JYOTk5enUvOTdXOTcvM1IxL2F2di9YbThkdC8rT2IwblcrK1dmOHQ5M2JmSGc0N2lJMmdETWd2bDB5QmNNbm00OU41UWdXR0xMZlhEUEx5aFZrS0tYWTd1YjlnMGhTcFBTUms3bXVRanlENGdFdkE5eFRLdldMNUxqUi9INm8vNEVOelBVTGU1ZGJHQjFIQ3JTaDRFUGxLZmhBWWlKZEVXV1laQkRaQWFJbDVZZGdXaktvQTE5QmNTQ3NOYkk3QVU5WjQzRmhUcmJ4NUJ0UTg0MFpHUmpsTXEyUEcrcXQwQ3p4bXdqSThGZVZYQWV4Z0dBVzZqS3k5MHF1eUNEM1lEb04wSEMyWHVtS2paak04d1o1c0JKeFR0cm5OQ2QveWlUVE85eFpMVXdOOWwrSHJuTVYxRHVLNnFsN254SDdFeHQ0VHlOK0loQThodU0wL0FCNncyV25WYUd0dkZSdkNqMDFYSUd5NkFCczcvK0UxUGZrdWlsamVYL3pTSWpacDB1YnFJUFg2WE5IcExZbnlRVVo2aitEOEFUUVR3UEk5QXBVQVZnUHdqeXNKSDFRaDNLcEVScEVyWWU0Uno1bS9wR1VhbVFNYUVVU3ljUTFIamdrMG80QTNKL05Td2xicVo2d0EwUjVOZ1JyNldGOVpRQWxHVmFZeGduSUlXSUFuV3lkSEdXQ2NhWlpYeWpCTUw3RFJtT0ZoZm1tSG96UFBlcUpxRWJHMUpoa3BOSkNYWnBuZVRGVnliZ25mdXJKM2gyaCswQlA5dUJmd1UvN3llYmRDL2lGSHdUMzBUQWh6YTBmbFJ5TDJ3bG9rZ1BPSDB1bHRTTFBmMjltYWJMK2FXdjkrWGQ0TFAvbDB1d2dicW9Ebzd1Nmo3NkpZdnZCaDgrcmdpeE44b1Q2b21ucXZpdW1XNVBoQjdnOStIRkg5UURwOGx5L29mUytxZnIrZjVZZGJWWHkzei8za1hwQmJ2WUFIbFdETVZlQ2N0aVE2dVlzSzBOTUVKLzhJT25JY2hLNnVEU0RXMXNiMTBYbGRqd0FBRUFCSlJFRlVJMHNYNEpwWGdwWWVyQTBSQUJZM3p6b25ZUVVQVWJBc1N2Z0Vza3crU1NNK1YzbGdyWlA4VlR1d01rdzlHWU9WRVBiNXlNQmNtaXA5emhGWThoY05WOEE2N29zKzZBRzN0b0orc0IzenU3MmNmamhBYzEzUVhrOU5lejIyeXg5VlZmZGVmNUQvcGtycDcva2kzRzE3eis1TDQ1ZW1YejA0YUZGUXo3SGJkT0RIcGlwZ1B5T2JPbmVmdDYwYWg0KytpMkozK09ieW5XOStzN2IvNis1Ly8rZTNqdi9uTjk4OCtGOS84TFc5Ly83SHYzTm5aNXcveG1KNnEycngwUlVvOXpiMVpvenhJNjcrYnZNaHVrUGJDeXBIQXN5NW5FdzBheDJNMDFaWE1LUm1CRittS1l3K0JDdTNIOEQwRXlCYWVBVmk1akY5RldZUHBjNjZyY2ZENE1FNHIyeFFXRU5LRUF6Qk9nRTRsblhhU1RuTEF3L204MlFBNnhTbFArbHg1YU5tMEJLdDV2Yk1VVlRkbzkzaEw1M2JGY0t0N2FBM2Z5WG9qZGcwdDZyWjVPT1haeC9lL20vZitOMjdmOHE5OWovbG52di9XSC9IN3A4TjM1cnZVdVBoY0pqaGh5dEFCZmhVOCtybmhpancrYWM1d3RVODJCYStBRFZmdEJxblVYcUhvc24rRzd6YjBIeURTOXFiT2FjOWRHbUNsRnYrdVU3b2FlbFFpTFRIRFl5dnpCNC9ZZEJBRzhqS1J3YXVSUFhFREpvMGk1ZjBFaGJnOFhhRWNRV3Y1Z1hsbjFvSktWQ0dIYXhuamgweGpabXJBTWVaR1YrWkVMYWNDeVFuOEVVMVJQcklOTDdnMW9tbUNkTkhRUlAvT3NnM09kcmJJbmtVY2p4cXVuYldHNFI2c04yMkprcnB4eSt1d0tjb1lEOEJuMUxFczEwQjRPcFBSanF1UTd1MTNhK2p0Tk8yU2tjcWVVOXp2cTA1M2NnNWZhUTVqMmdUV2dkQ0M2b1FNekpRUkFvVXdldmpwaWVRL1lRWG9LeU03UkVsNnBodjlWU1pMdHh0Um1Eak5HWERETUY4S1dPbHdJUGxTbC9nOVZFWTY4TlNiSHpGeUgrZXlnNlZjYlZ3TWNJMzVMeUNjRTV0bGZNazVFVGdkaDh4L2FiazdnNWhQR29yUFlxU3A3MVlMOFoxM1Y3OXlVOTAzWTA3VitDWEttQlA5eTh0NEptdWdDbXd5LzNpcXorNTBvN3IxK3FYOE5JMGROT2pLc1M5cW10dm8xdmVRR28vMHRUdGFVb1Q1TlNCNENyd1pXV0RuUkNESUN1TE1RMFFZRzFLY1A3RFJneXU4MkRlZ0N5RUx4Rlo2akt1NnpZc0xvK0hGVHlFVEtVeGhCSm40TVF6V0hLc0MyVWlUY3FZTTRUZ05TUDJOV3BDTWM0cDVHNGFVeHJGNWZKVzdCWTN1YmQ3cDljdVJxRkxSeTloUENWOGE4SzMzZDM5azh6bS9YUUZQbFVCQi9DblNuUnFCWjd6aHV4RnV6ZlQyOFBmN0hhSGJ5N3ZMRjZwRjNVN1NUa2ZoT1Z5VDd1OFI0QWRDdkkwYUY0UVhxMG9PcTRvRFVaS1R4Z0NUQ01tRFgwbnhrZHdEVlJsampKY3ZBSFhqSEdZWng1ckEvU1cvL05wajlJRllCa3pDNkVjRm5wa1ltMXF5VmlWWkZiNTNVQksyeThOYUFibmdwQ1RJWjU3djlweGhXdnY3cGh5ZmtlaTJLdjRRbVZ2T1R2VVFXLzhDclhZSFE2WGJ3K0gzZTd1YmdKWUFuNjRBcCt1QUovK1R5L2tKVnlCbjFmZ2k3aWFxNWQ2TFdKWUlQYW1RSmlFSUpOSzRxU0tZUklsekFqaFJvQ1dlOEtLVE9LcG1iVWtCSjhReUh6OENFTmxUT2xSUUJ1Z2hyMTF1S1JaM2tsYU5sU3lEUE9oREpkMFlSMWhlMnhiemROTzJpeU5NNTF4anNFeW9CWmxYR2hCUkdJSWlDRWdCS1lJd05iWVZtWkxtb0o5OENLZzRZdU4zSHJSZVpBdzVhZ25NV0RhZGJFZXRNSTkzNnNaZnJnQ24wTUJQa3VmbzVaWDJYZ0Yzc0FiZVR1OTBHSzdXblJaWnVoSHdoZlRLdEpDNEl0MG1QUGhXa2pXRHBub3l3cGVZZlFUQkJYYlNyQzNpREdNWWxFTndrcXdGak93bWpIT2ZGWVQxcVV4em5KaUNZcmltTTZlR01iYVNycUNCOHVyR1ROWUNYU3dPR0Foa0wwSUlqUmlWVVFzek5KY3Z5cllzbkkxbklLZ3JRUU5yWTVCNWtGMG1pcE0wczdXeFBiRGJWL2M5c2ZoaHl2d09SU3dKL2R6Vkh2K3F2aUlUMWVCNFJENjFZUGZhakc2dWpob2VyT0I5R3pWU3lPQVFSUE1DSy9WQ2xoSlgrNnZRbTBNUWdRU2M3eUNtQ3RXUUV2a1liVy9Xd0FNZXpRRFY3Wm1WcDZlYWJxdVkyVktYY1l0emZoNll1dCtDR2J3c0hhdFBvMnhjcTc3Sm5NaEVoRER5dGdqWTFnQk9Lc1N0Z1N3dGxIUUJCRUNtSE9DbVV4ZUdyL0VQZC9YdU9kN2hYdStYOC93d3hYNEhBcndtZnNjdGJ5S0swQk1EWWVTYlUvNGZlNEpKMlN1RXNPOGdreXFnT05vSDAwRzVzVGZraFJkQVVxMTZGYWNCWlc1WmxoNW1EZklhaUJEbWNiNHc3UVN0c2QxYlZiUHl0SERyT1NmUUphZWFjbzBCUStHZVNXUVYrbThsdWlxSHBOWjZPR1lWamtRUVdLd2dZTDd2bnBFR0IveVY4ZVlMenhPb3c3cVhjN1o1cjY3K3liTENWdGdhVDlkZ2Mrb2dEM05uN0dLRjNjRlBxbkFkaWRKUWxoRXRSZmg5RENxSGdiQ09BSk5oS1RJS29HR25QbVh2WUlMVEhKWlllUXlBd2hjSmRYcExRd1F3bzhCVnRkaEpVeUxQU3pIZWd5ekt0dGp1T1NqdEZzdWpNTU84elI1R0dhWnJNZ3BJNlZVTE9mTU50UkswQ1FwWk1iQWdTcnVNT091UWc4WW4wa1lkUFIrdWdKUHJVRDVtWGpxVmo2dEFjKy85QW9zWlpFajJpWkttUFNBZ3dDaEtWK3dra1VReVlIazQybUVoZVlrbXJOa21tWnV0V1ltazNZOFNVVWhOMm1FSlFwWUNXTGgxb1FFdGZoRHMzeWFsakpXbmxWUHdpekxkSjZsanFMc01RZVdCZ3NKTHpURzJEY3lNWnM2QXBpV014RkwyZ3JiQWFUalFHYXNUQURyWFc1UTM5R1VEaFJwbHRvSlY3M3d3eFY0YWdYQ1U3ZmdEYmdDVk9CS3E2bWZaRkhseEQvUjliRGlDcGlyM2dtTlVFYXlCMDFZamdRa2dBMTBHV1FkR1dlSkJPZ0tlb3hicVpXcHBSbE1EWmEyQWlaSWxXR1lNYy95VCtJbHpLWlVoS3dzZ2RJK1dNNDJDS3hGc0w3Rm9iQmhNRitSYzRhdGdETlh3Ull1bFFXUUlKMXlCVXdtRThCQytIWjMyZFEralN2Z2JWOEJ3NC9UVU1CK0xrNmpIVzlqd3hYSVZ6UlZRQjJpSHBHQmUzeXc5cUJ5TEpBNXcyc0FLL2tGaUlDSFFIZ0Zyd283SG9Pd3JzTUdYUnE0SFFHV1czbXVpQzNNTXF1MGRWbExNMXVubjdTSkVoQUM5OFJZeThwWSttTitCWExtc1EyaFFTV0poSGxHT01xYTl5RGhQdE9PdWticmJnRmZBY09QSjFUZ2x4Ymp6OFl2emZkTVYrQ0pGS2dHTDNjdDJwbm1zTTgvMWUva3JOdzN6ZnRjVWM2NEp1MW9CYU1CZ2lpaFdLQXZzR09hZ2dlQnFBekRqT0F0WVY1NHdnemNxZ0RMb09RRnJtQ0ZZQTBBeXl0YlYwdG5RWjRBNDZYc2liZDZUQlh6Q3U1NUNHc0pna1NPaFJaV3hvMEtXZVVnSzJUQk5zYkl3amwxKzZGTkU0VEZvbm5KQVF3L1RrV0JjQ3F0ZUNNYnIwRFgvSDJLL0pNOTZPS2dFdHpoa3ZlMlp1d2paMEk1MmFZdjdHRUx4RnNNQVRFRUJBTXc0L0s0ZWdaSW9oRW5adkhNU09hNm1xNmtXMW94UXBocEJDVkJiSzJZc1JkbFdTWnlWU3NjdzJxSnpEaXNuWUxld0ZnZ3Jqa0cwRTdnS3hFMkpzc0ZBc2NzQzdZeHlSTDJPYWY5RlBJNHBuNzk1VEY4QlF3L1RrT0JjQnFOZUJ1dXdBdmYvdFZ1TW0ybTNTenN4N2E5dmV6eW5ZNEFMaXZnbk1zS1dDaFRKSEFqd1JzSlBRbENmQXBUZVNvWlNtY25vYmRlM2E3WUNaWXFwZ1F1RGVCalc3d0Fsc2V3MGo5dXNESk1zM3hsUGxleUJiM21vVXcxRTBLWTBJMVN3U3dJWVV3VEdudklncmdRcmNhcEMvdXl5UHR4UEp2RW5peEdlRC9EaitkQ2dZcytTRDVuRjMySVByN25RWUhkM1Rmekc3aTVyUEczODZzM0Z1T0V3VEhIUFFtcTlvR01XZ1FOSDdhV1NFMWlyRlVsRUZuaTRXbXBhd045U1RlL05uM2tsV0hXSnFURHlrcDV0bDZndS9LV2o0ZnA2N29sdmdyYlZvUVF6TUkwTS9BRk9rSGcyRUliSUJ4cnFFVlJNMjJXYzIraTlXaTJNK2pWTDgrMjJqZkF0VFQ4Y0FXZVhvSHc5RTE0QzY3QUl3V3UvdVFyK3RNdjNkVmUxNlFxeENiRU9LdENHRmVRTVlFMlI5WmxUaWxyU3RDY2lUS2FzcjRaWFRrdFRNamlvUmNtMHl5TndJUjV3aE1XTm1PNFFKbnBKeDRselFDOXF2Y28zZUtXVHNzcXlzMkVUTlBFellvc1M3WTlEMXoxY2kwOER1aE5RNGkxaUN5M3QxOXB1MWViWk4rTFBJUWZyc0RwS09BQVBoMGR2UlZBaDhOcit2cnI3NnV0RUxkMitsMHZoS1lYNHF3WHduRWtoUG13emFHNjFKUnpOZ0FuZXl1YXN1WmFQZ1podG82Q1FJWEZpeWM0QzJ6TnN5V0dsZWxxb0xVd0NOU2ZNYTYxbVE2YWNrc1lZanU3TkViWTVpcVRtd3pFTHJSako0bXJXZ0pZY3B3SENmeUZVUjBIaWRPZ3ZUcGdhN21GVjdyNjROZFQrZDZINFRWV2dCK2Zwb0RuZjZvQzlpUi9haUV2NEFvOG1RS2l3K0d3bUhhUytxRnFlbEhtdlJqSFZSQ3VnSFdPbkFuZ3JnQ1lHQWF5QWp6TkRLMmxuM1hjd2tLQVFvVmwxZ1krc293ckRSWm12b1UvYWV0eTNGcXcrcFp2cTJJTHJ6eUJ6VFpzQld5V2szSlZMc3VnWVI2NUFvNmhkeHlsUDQzUnZvQytXcjZPOTd1MzhYL3o3cTU5NzRQWUNHMTRicTdBVXluQXAvU3A2bnRsVitEbkZUQTRxWVN0am92T1JRVk1hQWRjZXg0SVpBSUZYOWhDRWxXWU1jNzZEUE5hd21vQk0za0lYWUU4RElQUXhHTnhaVnpYSUM3cGxrZlR0Vm5hU2I2bFdid1k2NTIweGRZNWxzQXhpWTF0SWhyMkpRdkhITVpRcldXdzFmSVhTOFp3bUZsWDRZY3JjRW9LT0lCUFNVaHY1bWNWdUxJZFUyNVRyVW1QY3NvajV1NHA4ckVJZ1JhUVFoRHdoSkIrWlQzNU9OWXNiQVllNWcyV1lFSHpKM0dHTFFoTEIvbE1yNDhaTEd4bGFDakdSNzM0VlR2V3A3Qk00QUNDQk1RZ1NVVG1BQTZ6ZHZjMXBYdmFOVWZjcnA1M2JjMWRZdVk4VjZjUDlubFFnRS9sOHpCTUgrUHpwb0MyRTc0SVI2Q2w5aGhJZTVxNmthZ2NpZkJQZkFrcEJ2NnhMd0o3QUFXQUdSUkdVbDdXcDhVdDV6Rnd3c0pjcjRMTGF5Q28va0lUaFVSbGVWa1pHOHBXa1d0eGM2d2ZtQlE0QXNLWFYwbmNsSmpiTHd4MCtYN3VsdmU3cmoxRXQ1Z3ZsOUVCdkw0bDdrNVhnWEM2elhscnJzQktnYndNS1RkZHJUbHhCZHp0MFQ5Y0FSTjRYZVNURjRLb0NJaEJGUEF5eUFCUFhadmxxS1hTVGp5QlM2Q1c4aWRlV2U2WEd1c3FYNndETWJ1cUk2d3ZFRUk0Y2dEUlZzQXhkRkpXd0hxWVdzSzNXZDdQemZKd3VXem5TNkRqaVB4MEJVNWRBZjRZbkhxYjNxQXJBSzFENnJxbUJ0cGo3ZElvcTNJRmpDTW81aEIwUVpBRklCcWhLQWNkejVOWThTZHhlcUo2VlpxVlVXb0psR0V6ME9NVHgwbnI5QVplSzJQMWlvZXRnUmxpYlJIN3ByWWNvQjEvR09ZQWpsVHppSU1mYWJNYzUrV3lmdmw0OUZsWHdHekdUMWZnMHhYZ00vZnBoYnlFSy9CWkZlaGVqU25JWW9FMmpFTklEL2pYLzRoMnhIWm1vbWlRbFM5NjJadkFrQUh1SkNoemlGUzdvb0NTb1pMMm1HZVE5Vmg5QlYrTFlvVlI2TTk3dHZFemFTVU9ka1ZiblpaQzhLWWNSVzFGM2dqeVhBUmpia3ZzQjBrSHNaOG52ZFJmakxvWE9NWlZKYis2QXFlcGdBUDROTlgwdGg0cVVCOXNwNjN0bDJ2RllweVc0UUZSKzBCRmJBVk1BT3RTQUs0cUM0UzVUNnVzUitOSmtqTE1VMW1DVUFXOTBNQzg0a3NhRTVRQkd0RXREMjJWQkgyVXpXcGMyeklPNWoweUM3RXlZS3Z3eE5jRXpaWXh5cXlLY2h5aUhGUnRPRWlTSnkrK1dDKysvSVZ0amhWK3VBS25yb0FEK05RbDlRWk5nYmV2dlpIRzlVdDFmUFVmSFcvTDlvTkZ0VDFLU1k4Vm1BRzZCRmZBcE9QcWt4aEVNS2xwMVZiR1FpVkFMelFMUzRHb2hjekVMcXd1eFlDVlYrWE9nZ3JvU25yeHJGZThsV0VZZG1pNUtNbk5uZUdjQkxtTDRLOEp5WE51UzQ5N0ZmWmZDZU9EbHdlenllVE9ZV1B2LzdVYWJxN0FhU3ZnQUQ1dFJiMjlsUUlpYXY5bjJsLzhoMy9WL05ud3QrZFY3RTlEcUNaQlpjS0hic0k5NEVuZ1RqRlJ5dGU0dUQ2MldpUW95VnFkdDZjQUFCQUFTVVJCVkVrK00xSWdTVy9uU2RnQWVtSUVLaXhNYjlWQWIzRUZXejB4NXF1bE0xN3lzVHJZcDVIYWNsdkN0NG5RV2JEL1NnazZyWkJuc2JjMSsrY3ZmRmovNWJWLzAxei8xbHZkNnYyL3E3cCtkUVZPVXdIK0xKeG1jOTZXSy9BUEs4QVg1RklNV2xjQnh4RjVGQVdqQURrV3RTKzhRYUovREx5Q0FrNURKQTBGb29aTjhLQzN0TWZOOGhrMytNTENab3hEaFlWWGJha3lhT201QkF6QVdUUTNvbWtxMmgwR2NNOVgyeW4zZmhlNVc2WnIxNjZwaU5XQkg2N0FtU2tRenF4bGIzZ3pGZmdGc3g3MEpVV1ZPb29lOTBSR0VRWmdITE80ZmV1WTdiRXE3QzFtRXBRZ1hZVlZtTDB5dGZDSnNReXNiREZEOTJOMU1nUTBWWG83emF4ZThXeU9wMlRiK2dXaG54dlduRlM1TzZ4eU91d2hUU0xTWXRBUFNVUllzcHhhcm41eEJjNUFBUWZ3R1lqcVRYNVNnZTAycHUyb2RSODQ3Z2VNZXFJamJrTWMwd3FBRGFNRmVZWTdBeVpOQzJnRnlyQzF1UEtCTzhZc1dkTFczc0ptQmxtYWxpMkhBTFV3ZDNuTmcyRXo2d2M4UXVhMmgycFpBUWV1Z0Nzc0QwUFhUbU83YUZKWFB2bW1MR1pHNTZjcmNEWUtPSURQUmxkdjllY1VJSDFUMEZUM29NYzkyNEtBaklqV1k2NVdheExXVnNCbEMwTFdvTVFhb2pnQjY5b1hDQk9MNXZVeFg4cXQ0NnV3c0QzYXcvYWtoR3hZQmNLaVNaQnJyb0M1SlpKR1FidFJoWTViSXFuZVdZYlZlS3l3bXl0d2hnbzRnTTlRM1BOdit1TDIrTkp5WEFBczJoMXJYbjB3STJjY3c3N3NCc0x0QUdDRnlFRFBEUXJRMVBZQkFzQ1VZaXF3ZzJ0WEVOeFlnWllwbG03d1RTeFl3bGJ1a1FtVHNUWUxDeFNTQ1dERm5CQS9ZbnYza05yN1FkTmhMMWF6dERWTzhNTVZPQWNGN09rK2gyNjhpMDFYd0Q0WlYrVWxWN3Y1T0tBYkVYZ2p3cmZzQWRNYmdBc1hSUTI2SjJhUHB4VFFxbG8yZzVtbWE3TndabjVTdnA1R3dySU0yY3BNcWwzQ3drUmhKQlF2NVFvRUViYUFEaW96WkQza0w0VDdWYzczb2k0UFU3dVloL2l5Zi9TWXF2bDU5Z3FFcysvQ2UzQUZnTzdWbUxwdVZnOTBlbHkxaTVIbTFqNmN3ZFV3YXE1bURjQVFneVloQ1Z2OTBnVDJlSm9KWU9tV2I4YXdHa0tMRWI2V1JoaWp4SVU4WDFtcHc3SXJIMVlod3RkYVk4eStobjJ1cW9jaHBYdmMrNzJYK1dMY0FKUDVjbmJIVjhEdzR6d1VDT2ZSeVliMDRkUDhKUXI4azhHdC9QTFdWaFBTWWxaaGRwUTdIT1dzTTFFME1VakhWV21XQWtlK3lGYmFFZkowYlFiWUZUNEJNWHdLblFDUXgvN1pveXpBdWl6YlhZVVpGeXRsVFVFeVhRN0s3WWNBK3pUZVhGVEdvdm1nMXphSGNUNmJ5cUp1cnVLbTRSeCt1QUpucllBOXRXZmRoN2Z2Q3VDbmQrL3E4WU5GTjRBdUFKa0hpYk1RWWgxRGFLSklSMHNSM0F2bStoV0FGbWZMWEZ2VkVxQWdTRUV2ZGtTV3BJVVFKSVNJbFFVd1ppVWdwUTZzRlpvMXhZUU1lejlFQ3BDVzFhelBSWlE0RjQ0RDJwdTJ5TE1xNWNYT2xyWWpjRTNPNm42NkFtZXRRRGpyRHJ4OVY4QVVlSU5RaTgxUmR6enRONE90RjJjcGJzOUVlbldNVlZOSmFHTlpCUmZ3RVpVcmFCYitrcDB3QTlleEVuZ2xhQ0VNQlFrU0NkMlZDY09DQUpFQVFMQ3F3NG84Qzh6TFJRaGd0QUhhUk9oQ2hOc2ZJYzZhWHB5RzBNNjJYdXdXMC8zay8rc3gvRGd2QmV4cFBhKyt6clFmYi94aUt6QWNEdldyWHpob2x5OTgyTHp5eXVHOEk0QkQxYXNKMFlid2JhTnc5VXZqQTBuNmtwYUZ2cXM1cVFHMVdJQVFzRUxZaHZYS1Y5WStNRTBzRDFMK0ZRQXI2MXM3bVlHc1hFTnJBWEFWeFBxc1k1QzVWTDFad2d2VG5hMjkyUWlqaFkxeE9MekdDcXpycHl0d3hncUVNMjdmbTNjRlRoUlFRamkvUFJ4MjMzcnJyYmJxeHliYS80NFJaQnBFanFQSU9Bam1YTG91Z1d4N3RheEhEdktFcXAwd3FDcUU2UXdhVGt2WTRtYVd6QjFlYzJvWFFNeXpycVZ5bjlkZXJiUHZmbGl3dFBVNVlaK3pvS2g3Vld4Mmg4UGwyeHlialhGZEUzNjRBbWV0Z0FQNHJCWDI5djlCQmJxdVNrRGlIbXcraUpMdkFmbWVRQThKeHhtM0NCS0JTWUJtUU0wVVNwL05ja2FYTWhKOU1uOWlYT1ZtR29zWXAxblB1dFVWb3JYNHhQWWJKa3dDOG1HVWRDaWkwMWpKb3V2YldLeThteXR3dmdxY0RvRFBkOHplMnlWUVlFZENWNG5PdVJkN3lGM2R1eEc0UzhvZUVyeHpRZTZrWUZRNVUyV0lwc3AxY2NZSmRBM0NKNWFTcWxrQk1NdXhBamtMQXB6R2lIQnJXWWhzZ25jUlZLZDg2QThJK29PZ2VSSnlibnJ6bHBTSEg2N0F1U3ZBWi9IYysvUU9YUUYweXdYM1l6Tlh1L2t3aG5SUHVBb09vZ1JqbmdmeWxMQWtRTWxGTlZPeVdaR1ZaaXRmczVUV01GYnRrcVdibFdJZ2N4OHFMS3dUbU1BSG5hdHFiZmpDMnlSSVBxeTQydVl2Z0drbGFiSHRLK0NIZW5uZ2ZCWGdjM20rSFhwdnJvQXBrRisxL3dUVFZzRHBNQ29CckxpbldROUoyUmswZFpJVFY3R1p0bG9GbjFDMXhIaFIyd00yenhMV25zWE5rN1hGbVJkbEFhNStVU0J1YTJTZEkrY2p4dmNnZVM5S091SStjWjJXODdTcTVGZFg0RE1yOEZRVkhNQlBKWjlYL3J3S3ZOd2NwOWltT1VGNXlGZkg3blA3OWw3TzZWQnpOeWQvRTNjaEFFS1lzSVNRa2lKQ1R3c0JFaU1rME9oRENDS2hRZ2dCd2Q0SlFTL0NjbVZnbVp6TlFPck11cHk3V2NwcG4xaStIVVJ2SzhLK3BiRW9DL0RxcHl0d3pncUVjKzdQdTNNRmlnTExXVDgxb1owendoVnd1SmRUdXA5U09zeXBteU8xS3dCcmdwRFFMQVBoa3lxQllDVmd3MFA0UnFaSGhCQkVpdEZKNE5xWVJtcVhGVEFoVHFpVDVWMm5LVTAxNVgxdUI5L21DMyszSytSOURUSmwrdzVnaXVEbitTc1F6cjlMNzlFVktBcDBWYlhGRjl6MFVGTjNMM2Y1WG1yYkkwMWNGZWUyUSs0Z0JEQ1h3UkJoZVY1RWhPRUF3cGJRTmZqYXl0ZDhYTVVsclBLRjVWaUY3RlpZRzJ4THV6YWx0cHQxWGJ1LzdObzdXZk1kNkhML2hYWTZtOXo1YWJMaWJzK2ZBcy83aU1QelBnRWYvL09wd0J0NEk3LzA4WGk1M2F2bi9lckt1RW41V0lCSlFPSUxjMXBINUlZdm5yVmNBU2VtYzFWcjgyU0lwNEtwTk5Bcy9MZ0hEeFpoRHBTTFlMN1FwNjIxRlVYbmpFK2hHTGV0SHY1S2c2UFVIc3p3S3ByZi90Sy9kd0JUTnovUFh3RUg4UGxyN2oxU2dTSCtLL2FhTDJiYmlnaHh2K3RyV2xaQkNPTXc3VWVNZTVXTUkrTlJaQ213VjlGQWRuSkJxK0RyYUZvczViejJ5aEkwZTlGTnlWMjJ6MFZ3cm9DMkNtSGVpekt1MkNiYm5jYW85ZGEyTkVjWWRjRFZibS93eFF5T2hWWDhkQVhPWFFFSDhMbEw3aDBXQmE1ZDA5Y09QOHlUT3krbStGSHFaR2VuR1ZUMnFUUk1CNzF3M0NjMENjNTVERmlLbExjeUFJU3Y2Z3EwbVQ3emxidkh6ZkxBZE5Fc2tSR3JXMFdEZWh4dldadTlNQjFVc1JaVXkrMVhYMmdudi9aaWV1MlZEL1B3MmpXMlhFYmxsOCtpZ0pkOWFnVWN3RTh0b1Rmd3VSVGdmc0R1bjN3OVgvL1NuNmV2ZnVHMzJpdVNscjFlckxlcU9EVllEcmdDTmdDSFlDdGc0U3FWL0NWY2RRM2RaSjd4NHRjcllUQU5SS2x0UWZEQnpyWjY3bkVWYlcxWm05YjJJUGJtOXRIanJ4NzhWdnZiZC84ODdYNzk2eGtjeStlYWcxZHlCWjVTQVQ2blQ5bUNWM2NGUHE4Q0JyN2hNQStIa3JQTXV6N1NvaGZ5dElkMHhOWHJVUkRZcDlZYUxvQ3pFTGJXamZKaVpxQmRKOEc4TXNIOEttSWxsUHUvV0xDTkNkdmE1M2JFUVJVd2pwSnE2YlFkc3MvaGNPandwWjUrUGpzRkhNRFBUbnZ2K1RFRnVqWW1sVzRoT1kwSjNIM0ozYjdtTkZITkM0VzlsVUVoaEt5dGJrVjR0ZE04MnhBUjVwbXBMWk5wR2NnNXNlNmMzajdjY1Y4MDNRKzVPeUx6U2ZyTDhOMFBuTGlmejcwQ0R1RG4vaFplamdsc0Q2cFVkZTBpYUpvZ3RRZlF2Sy9JRS9xRmtNUWtLaWRLd0FvZFR4RlpRYmY0b0l4WnBvcHlIWng1VWUxeXluTnkrRWhUZHg5bW1nNUQyOHgzbHY3Sk4wcm81d1ZRd0FGOEFXNkNEd0dvais1eUIzZTVRTGVZUkYzdXEwRTQ1ekhadXlDRXM1Q3JxeFd3UW9TNGhXQjFCa1U1QkZZR1hDV3pQQ1NuQk5VNWtoNXF1OXlUdHJtdjdlSW9hR2NmL3VoS0ZiKzRBczlZQVFmd003NEIzdjFLZ1JlM2tkQzFkVXo1R0RtTkNOQVJOTnQ3Zytma2JRdlJEQ1dGbFlTbFc0R1dkUzFjak5zTzlMSTI1aVMyczJDVk1kdDZFSEorZ0dVM3hueSttTnlac2pCTGZQN1RhN29DcDZLQUEvaFVaUFJHbmw2QnExM01lYzVWN1dGSWNoK2h1Z2ZJZ1lRd0NkQW1xaWJ1M3lhQUMyWE41Q29acW9sTU5pNHpuR2xrTkJQQThyU2N1U1p1V0hDVzBUdlVrSTc2TVU2N2tKc3ZEaUxiZ1IrdXdETlh3QUg4ekcrQkQ4QVVzUGNERDFLYWEyNk9PbW52dDRqM2tvUURMbmluRXRBUXZoM0JTcWdhZlFuZGZHS0VjRGJMQUFFc1pzaGNOSmRMQTRsVDB2aUlmUndpcGVsTzdKcTk1aFlMTThWUFYrQVpLK0FBZnNZM3dMdGZLV0R2Qno0OGZHMGUrNjhlOWlzQ09JVDdRRHdJUWV5dGFNc29TQUpiOG1ZRnVNOUEwS3BaQVRFQnpDeExGbktYb0ViTW1rV2xnY3BVa2h4ZGFlWkhyWFN6Ym52V3ZIYjRpZ040SmJ0Zm43RUNEdUJuZkFPOCs3VUN3MkcrL3EzZmFOOGUvdWJpN2VHYjAxQnRUVUtzcGtGa1hrWFVVYlFoak5zZ0JMRVN3TkN5TFV6ZzBwZXdCczFjSldNUklUT1duUWJJTkNMTVdnbXo1dVhaL0VzN1RRUGM3T3dESU90ZTNia0N6MVNCOEV4Nzk4NWRnVitnUU9peTlxSjAvVW9XdlJCbVZVVUwybkFsM0lhZ1NpQ0RNS2Fwck1NcGlOUWg0SmcyaWtIMldQOG9WSmh0OVh2THE3aVNSN2lhci83a0s2VDFMK2pVazEyQmMxYkFBWHpPZ2ovMzNaM1RCT0oyUC9kN3NTVkVtMzRzWDZnemp5RXNZa0JYQ1hJUXdNQWJ1UklPM0dzZ21GTU1XbGNTamduc1VTK0dVUlZobjZpYnkxTGJFZDRuZkVlNisvcjdDZ2o4Y0FVdWdnSU80SXR3RjN3TW4xRGdoWDdXZ1VnM2lISEJWZkNzVjRWWkw2Q3BBbXdiNHJFVk1BcUlDZUd5QWlhSWozc1JvMEhBcUJmaTBYYUlNMVJvMzc1MkxlM3VmajFqT0ZSMlprYm5weXZ3YkJWd0FEOWIvYjMzWDZCQTZucXBpcm1PVVk4amdWcEJSM3h4emQ0WFhBZWtGSkJoRm90WFJLaWxNUzhmRThhaktvQmJFRGlTU3VhaC8ySUxFUVhNdUdTR0g2N0F4VkRBQVh3eDdzTVRqbUp6aW9WTzJxUnByS3IzYVRleTZnM042VDV0TERtM1FST0tFY0NSUmhnbjBWd0w5QWc1N3dueVh0YjJPRURtVjdacWY5L3Y1anc2ejlWTXczTTFXaC9zeGlpZ1lkeUZITVo4dmUxK1NPbEc2cm9iT1dmN1RvZUphTWM4QTNCK0NHSENPQkc2YzlWOEpORDdYQVhmcjFTUFFtN3JickhsQU42WUorZjVtcWdEK1BtNlh4c3oybDdkdGpXT0p1M3llQzkzOHh2YXRUZHkyOTVIVGx3QnA3SUNqaUNFYmZXckJMRndTYXlwaHFZajZISXZkUE05U0hQVVF6MXZqc2RwWTRUemlUNVhDamlBbi94MmVjbHpWR0R5YXkrbW5MdTYwdWFZSUIxMTdYTEVGYkI5VDhROEtyY2drSFBnWGpBaG5DcEpYZEMwak5DNWFPYTJSVHFJcVQwTUxTYTVXVFJmZnZrbEIvQTUzanZ2NnNrVmNBQS91VlplOGh3VmVQSHVSTnNIdWV0YU5FSVFRL004Q3VxZWFCTkRibnVTMjRyV0M5clFONVc5QlMza1dRZzY1VnA0MGtsL1VuSDVlK1ZYdHBZampQSTVEdDI3Y2dXZVdBRUg4Qk5MNVFYUFV3SDdYNU83Ri81eE81dEtNNDl4cm1Fd3E0QTZHbkNERXI2cEkzeVhGZEtTQUY0UXlIVTBTQ1BORU1GdGlucTZ0YTMxdUc3YnF6OFo2WG1PM2Z0eUJaNVVnZWNHd0U4NklTOTNPUlFZRHFGdjR2WHUxUmY2RFY1NVpkNVhuUXZTb2tKZTlqUjNYUEcyUFhBVmJFQ1d4RlZ3SXB5emJVRk1NN2NlWGgzODZvVHdyUW5mZHRmZS8zczVaUEZaWERJRkhNQ1g3SVplbnVtSURvZVMzeDcrWm5jM0wzS1lBQUFGTlVsRVFWVDlyZDlvcXlvMlBlRVdSTkJaRmZPa0owb3puNmU5Z0VtZjJ3LzlvTE8rYU4zdnkySjMrTStXVm5kMzkwM3UvNWIzLzE0ZWFYd21sMFlCQi9DbHVaV1hleUw5M2pMMXVhZEx5QjczQTBiOXFQZDdVVWY5U3ZmN01SLzFJc2FNejdreVhsYmErWjd2NVg0Y0xzM3NuZ3pBbDJhNlBwSG5WWUh0TnFZdDRlcTJrdU90Q3FOQnhQMUJ6N3p1TTN3NGlEcW1uMjlYZWRtL3NuUUFQNjgzZXNQRzdRRGVzQnYrdkU1M2dHWGVHV2k5VStYakhZSjNwOUw3MndReC9UNmhlN2pWdzNpNzB2bGdLeS83MG5jQVA2ODNlc1BHN1FEZXNCdit2RTQzdm93dUt1cEJ6TWM5Wkc1QjVIdDk2ZTVWb3ZlNEozeXZGL0tveDd5WXRYN0IvOWZqNS9VMlg4UnhuK21ZSE1CbktxODNmbG9LNUdVdnFTNXE3YnBqYUx1WFUzZEhrVDhXN1Q2QzRvWnErampuN29FR25VNlJ1OVBxMTl0eEJjNVNBUWZ3V2FycmJaK2FBbG9mcG1RZnlFakxJOVhsSHJTNW84dkY3WnpiVzhqTG0yaTdqMFBTQi8xbVBxMlFITUNucHJ3M2RKWUtPSURQVWwxdis5UVU2RjZOU2NOc0Rwa2VhVnJzb1puZXlkM3NZeXludDNRK0pvQm5IM2ZON0FGa01kMUM3UUErTmVXZmJVT1h2WGNIOEdXL3c1ZGtmbnZ2M2NwWUxwdGxxbWRwUGo1T3Vqakk3WHcvNVBFRFhVejNxK2I0OEVxNk0xM2djSUd2SUYyU2FmczBMcmtDRHVCTGZvTXZ5L1JlK3hldjVBcXpUaGI5UnJka0RsM016V3ZUcjNka3ErN0Z1bW0zdE8zMm0vVDYrMS9YeXpKdm44ZmxWc0FCZkxudjc2V1ozZXZ2djY5YmVLVUxXOU5HMFp0WHZhM1pzbDdXS2JSMTkySzFtR3pGWnJxZjJ2b0x2NTZ1WGVQTGN2RGpxUlh3QnM1Y0FRZndtVXZzSFp5R0FzUGhVRi9IKzkzV1YxNXA5dTdNNmkvKzJuTDIyaUhtdDQrNnhRaFhGNWIrMVMvOGNmdVgxOTVJSW5JYVhYb2Jyc0NaSytBQVBuT0p2WU5UVWtBSjRiejc1cHZwK3JmZWFyLzFGbzNld3VVN0g1ZytIRW9XS2QvN29LZlVwemZqQ3B5cEFnN2dNNVhYRzNjRlBxOENYbThURkhBQWI4SmQ5am02QXE3QWhWVEFBWHdoYjRzUHloVndCVFpCQVFmd0p0eGxuK05uVmNETHV3TG5vb0FEK0Z4azlrNWNBVmZBRmZpa0FnN2dUMnJpS2E2QUsrQUtuSXNDRHVCemtkazcrU3dLZUZsWFlGTVVjQUJ2eXAzMmVib0Nyc0NGVThBQmZPRnVpUS9JRlhBRk5rVUJCL0NtM09rbm5hZVhjd1ZjZ1hOVHdBRjhibEo3UjY2QUsrQUsvS3dDRHVDZjFjTmpyb0FyNEFxY213SU80SE9UK2trNjhqS3VnQ3V3U1FvNGdEZnBidnRjWFFGWDRFSXA0QUMrVUxmREIrTUt1QUticElBRCtOSGQ5cEFyNEFxNEF1ZXFnQVA0WE9YMnpsd0JWOEFWZUtTQUEvaVJGaDV5QlZ3QlYrQmNGYmd3QUQ3WFdYdG5yb0FyNEFwY0FBVWN3QmZnSnZnUVhBRlhZRE1WY0FCdjVuMzNXYnNDcnNBRlVHQUY0QXN3RUIrQ0srQUt1QUticG9BRGVOUHV1TS9YRlhBRkxvd0NEdUFMY3l0OElLNkFLL0FNRkhpbVhUcUFuNm44M3JrcjRBcHNzZ0lPNEUyKyt6NTNWOEFWZUtZS09JQ2ZxZnpldVN1dzJRcHMrdXdkd0p2K0JQajhYUUZYNEprcDRBQitadEo3eDY2QUs3RHBDamlBTi8wSjhQbHZyZ0krODJldWdBUDRtZDhDSDRBcjRBcHNxZ0lPNEUyOTh6NXZWOEFWZU9ZS09JQ2YrUzN3QVd5bUFqNXJWd0J3QVB0VDRBcTRBcTdBTTFMQUFmeU1oUGR1WFFGWHdCVndBUHN6c0lrSytKeGRnUXVoZ0FQNFF0d0dINFFyNEFwc29nSU80RTI4Nno1blY4QVZ1QkFLT0lBdnhHM1lyRUg0YkYwQlYyQ2xnQU40cFlOZlhRRlh3QlU0ZHdVY3dPY3V1WGZvQ3JnQ3JzQktBUWZ3U29mTnVmcE1YUUZYNE1JbzRBQytNTGZDQitJS3VBS2Jwb0FEZU5QdXVNL1hGWEFGTG93Q0R1Qnp2UlhlbVN2Z0NyZ0NqeFQ0L3dBQUFQLy93eFpERWdBQUFBWkpSRUZVQXdDZ2lWOUNzQnd6UXdBQUFBQkpSVTVFcmtKZ2dnPT1cIjtcbiAga2ViYWJJY29uU2FmZVVybCA9IHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RSZXNvdXJjZVVybCh0aGlzLmtlYmFiQUlJY29uKTtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSBzYW5pdGl6ZXI6IERvbVNhbml0aXplcixcbiAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjJcbiAgKSB7XG4gICAgdGhpcy5zZXRTZWxlY3RhYmxlU2V0dGluZ3MoKTtcbiAgfVxuXG4gIGNvbHVtblRlbXBsYXRlRGljdDogYW55ID0ge307XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5jb2x1bW5EYXRhLmZvckVhY2goKGNvbHVtbjogYW55LCBpbmRleDogbnVtYmVyKSA9PiB7XG4gICAgICBjb2x1bW4uc29ydGFibGUgPSBjb2x1bW4uc29ydGFibGUgPT0gdW5kZWZpbmVkID8gdHJ1ZSA6IGNvbHVtbi5zb3J0YWJsZTtcbiAgICAgIGlmICghdGhpcy5pZ25vcmVDb2x1bW5DZWxsQ2xpY2suaW5jbHVkZXMoaW5kZXgpKSB7XG4gICAgICAgIGNvbHVtbi5jbGFzcyA9ICdjb2x1bW4tY3Vyc29yLXBvaW50ZXInO1xuICAgICAgfVxuICAgIH0pXG4gICAgaWYgKCF0aGlzLmhhc0FwaVNvcnRpbmcpIHtcbiAgICAgIHRoaXMubG9hZEdyaWREYXRhKCk7XG4gICAgfVxuICB9XG5cbiAgc2Nyb2xsQm90dG9tKCkge1xuICAgIHRoaXMub25zY3JvbGxCb3R0b20uZW1pdCgpO1xuICB9XG5cbiAgZ2V0UG9zaXRpb24oKTogYW55IHtcbiAgICBpZiAodGhpcy5zaG93VG9vbGJhciAmJiB0aGlzLmluZmluaXRlU2Nyb2xsTG9hZGVyKSB7XG4gICAgICByZXR1cm4gJ2JvdGgnO1xuICAgIH0gZWxzZSBpZiAodGhpcy5zaG93VG9vbGJhcikge1xuICAgICAgcmV0dXJuICd0b3AnO1xuICAgIH0gZWxzZSBpZiAodGhpcy5pbmZpbml0ZVNjcm9sbExvYWRlcikge1xuICAgICAgcmV0dXJuICdib3R0b20nO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICB9XG5cbiAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5wYWdlYWJsZSkge1xuICAgICAgdGhpcy5wYWdlU2l6ZSA9IHRoaXMuX2dyaWRWaWV3LmRhdGE/Lmxlbmd0aDtcbiAgICB9XG4gICAgdGhpcy5jb2x1bW5UZW1wbGF0ZXMuZm9yRWFjaCh4ID0+IHRoaXMuY29sdW1uVGVtcGxhdGVEaWN0W3gudHlwZV0gPSB4LnRlbXBsYXRlKTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICB0aGlzLmluaXRHcmlkKCk7XG4gIH1cblxuICBpbml0R3JpZCgpIHtcbiAgICBpZiAodGhpcy5jdXN0b21FeHBhbmRSb3dDb2x1bW4pIHtcbiAgICAgIHRoaXMuZXhwYW5kUm93SW5kZXguZm9yRWFjaCgoaWQpID0+IHtcbiAgICAgICAgdGhpcy5ncmlkLmV4cGFuZFJvdyhpZCk7XG4gICAgICB9KTtcbiAgICB9XG4gICAgdGhpcy5zZWxlY3RlZFJvd3MgPSB0aGlzLl9wcmVTZWxlY3RlZDtcblxuICAgIGlmICh0aGlzLnNlbGVjdGVkUm93cz8ubGVuZ3RoID4gMCkge1xuICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRSb3dzPy5sZW5ndGggPT0gdGhpcy5fZ3JpZFZpZXcudG90YWwpIHtcbiAgICAgICAgdGhpcy5zZWxlY3RBbGxTdGF0ZSA9ICdjaGVja2VkJztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuc2VsZWN0QWxsU3RhdGUgPSAnaW5kZXRlcm1pbmF0ZSc7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2VsZWN0QWxsU3RhdGUgPSAndW5jaGVja2VkJztcbiAgICB9XG4gICAgaWYgKHRoaXMuZ3JpZEVsZW1lbnQpIHtcbiAgICAgIHRoaXMuaW5pdGlhbEdyaWRIZWlnaHQgPVxuICAgICAgICB0aGlzLmdyaWRFbGVtZW50Py5uYXRpdmVFbGVtZW50Py5vZmZzZXRIZWlnaHQgKyB0aGlzLmdyaWRCb3R0b21TcGFjZTtcbiAgICAgIC8vIHRoaXMuZ2V0R3JpZEhlaWdodCgpO1xuXG4gICAgICBjb25zdCBncmlkQ29udGFpbmVyID0gdGhpcy5ncmlkRWxlbWVudD8ubmF0aXZlRWxlbWVudD8uZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgnay1ncmlkLWNvbnRhaW5lcicpWzBdO1xuICAgICAgaWYgKGdyaWRDb250YWluZXIgJiYgdGhpcy5zZWxlY3RBbGxNZXNzYWdlRWxlbWVudD8ubmF0aXZlRWxlbWVudCkge1xuICAgICAgICB0aGlzLnJlbmRlcmVyLmluc2VydEJlZm9yZShcbiAgICAgICAgICBncmlkQ29udGFpbmVyLnBhcmVudEVsZW1lbnQsXG4gICAgICAgICAgdGhpcy5zZWxlY3RBbGxNZXNzYWdlRWxlbWVudD8ubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICBncmlkQ29udGFpbmVyLFxuICAgICAgICAgIHRydWVcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IHNlbGVjdEFsbENoZWNrYm94ID0gdGhpcy5ncmlkRWxlbWVudD8ubmF0aXZlRWxlbWVudD8ucXVlcnlTZWxlY3RvcignLnNlbGVjdC1hbGwtaGVhZGVyIGlucHV0Jyk7XG4gICAgICBpZiAoc2VsZWN0QWxsQ2hlY2tib3gpIHtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRQcm9wZXJ0eShzZWxlY3RBbGxDaGVja2JveCwgJ2Rpc2FibGVkJywgdGhpcy5jYW5FbmFibGVTZWxlY3RBbGwoKSk7XG4gICAgICB9XG4gICAgICB0aGlzLmNkUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG4gIH1cblxuICBzZWxlY3RBY3Jvc3NQYWdlcyhpc1NlbGVjdGVkOiBib29sZWFuKSB7XG4gICAgdGhpcy50cmlnZ2VyU2VsZWN0QWxsUGFnZXNFdmVudChpc1NlbGVjdGVkKTtcbiAgICBpZiAoIWlzU2VsZWN0ZWQpIHtcbiAgICAgIHRoaXMub25TZWxlY3RBbGxDaGFuZ2UodGhpcy5wcmV2aW91c1NlbGVjdEFsbFN0YXRlKVxuICAgIH1cbiAgfVxuXG4gIHRyaWdnZXJTZWxlY3RBbGxQYWdlc0V2ZW50KGlzU2VsZWN0ZWQ6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmFsbFBhZ2VzU2VsZWN0ZWQgPSBpc1NlbGVjdGVkO1xuICAgIHRoaXMub25TZWxlY3RBbGxBY3Jvc3NQYWdlcy5lbWl0KGlzU2VsZWN0ZWQpO1xuICAgIHRoaXMuc2VsZWN0ZWRJdGVtQ291bnQgPSBpc1NlbGVjdGVkID8gdGhpcy5fZ3JpZFZpZXcudG90YWwgOiAwO1xuICAgIGNvbnNvbGUubG9nKCd0cmlnZ2VyU2VsZWN0QWxsUGFnZXNFdmVudCA6IGlzU2VsZWN0ZWQnLCBpc1NlbGVjdGVkKTtcbiAgfVxuXG4gIGFkZFNlbGVjdEFsbE1lc3NhZ2Uoc2VsZWN0QWxsOiBib29sZWFuKSB7XG4gICAgdGhpcy5zZWxlY3RBbGxNc2dQYXJlbnRFbGVtZW50ID0gdGhpcy5zZWxlY3RBbGxNZXNzYWdlRWxlbWVudD8ubmF0aXZlRWxlbWVudD8ucGFyZW50RWxlbWVudDtcbiAgICBpZiAodGhpcy5zaG93U2VsZWN0QWxsTWVzc2FnZSAmJiB0aGlzLnNlbGVjdEFsbE1zZ1BhcmVudEVsZW1lbnQgJiYgKHRoaXMuX3BhZ2VDb3VudCA+IDEgfHwgdGhpcy5pc0luZmluaXRlU2Nyb2xsR3JpZCkpIHtcbiAgICAgIGNvbnN0IHNlbGVjdEFsbE1zZ0VsZW1lbnQgPSB0aGlzLnNlbGVjdEFsbE1lc3NhZ2VFbGVtZW50Py5uYXRpdmVFbGVtZW50Py5xdWVyeVNlbGVjdG9yKCcubGliLWdyaWQtc2VsZWN0LWFsbC1tZXNzYWdlLWNvbnRhaW5lcicpO1xuICAgICAgaWYgKHNlbGVjdEFsbCkge1xuICAgICAgICBjb25zdCBiZWZvcmVIZWlnaHQgPSB0aGlzLnNlbGVjdEFsbE1zZ1BhcmVudEVsZW1lbnQub2Zmc2V0SGVpZ2h0O1xuXG4gICAgICAgIHNlbGVjdEFsbE1zZ0VsZW1lbnQ/LmNsYXNzTGlzdC5hZGQoJ2xpYi1ncmlkLXNlbGVjdC1hbGwtbWVzc2FnZS1zaG93Jyk7XG5cbiAgICAgICAgY29uc3QgYWZ0ZXJIZWlnaHQgPSB0aGlzLnNlbGVjdEFsbE1zZ1BhcmVudEVsZW1lbnQub2Zmc2V0SGVpZ2h0O1xuICAgICAgICB0aGlzLnNlbGVjdEFsbE1zZ1BhcmVudEVsZW1lbnQuc3R5bGUuaGVpZ2h0ID0gKHRoaXMuc2VsZWN0QWxsTXNnUGFyZW50RWxlbWVudC5vZmZzZXRIZWlnaHQgLSAoYWZ0ZXJIZWlnaHQgLSBiZWZvcmVIZWlnaHQpKSArICdweCc7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzZWxlY3RBbGxNc2dFbGVtZW50Py5jbGFzc0xpc3QucmVtb3ZlKCdsaWItZ3JpZC1zZWxlY3QtYWxsLW1lc3NhZ2Utc2hvdycpO1xuICAgICAgICBpZiAodGhpcy5hbGxQYWdlc1NlbGVjdGVkKSB7XG4gICAgICAgICAgdGhpcy50cmlnZ2VyU2VsZWN0QWxsUGFnZXNFdmVudChmYWxzZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwYWdlQ2hhbmdlKGV2ZW50OiBQYWdlQ2hhbmdlRXZlbnQpIHtcbiAgICBpZiAodGhpcy5zZWxlY3RBbGxNc2dQYXJlbnRFbGVtZW50KSB7XG4gICAgICB0aGlzLnNlbGVjdEFsbE1zZ1BhcmVudEVsZW1lbnQuc3R5bGUuaGVpZ2h0ID0gJydcbiAgICB9XG4gICAgdGhpcy5vblBhZ2VDaGFuZ2UuZW1pdChldmVudCk7XG4gIH1cblxuICBzZXRTZWxlY3RhYmxlU2V0dGluZ3MoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuY2hlY2tib3hPbmx5IHx8IHRoaXMubW9kZSA9PT0gJ3NpbmdsZScpIHtcbiAgICAgIHRoaXMuZHJhZ0NvbHVtbnMgPSBmYWxzZTtcbiAgICB9XG5cbiAgICB0aGlzLnNlbGVjdGFibGVTZXR0aW5ncyA9IHtcbiAgICAgIGNoZWNrYm94T25seTogdGhpcy5jaGVja2JveE9ubHksXG4gICAgICBtb2RlOiB0aGlzLm1vZGUsXG4gICAgICBkcmFnOiB0aGlzLmRyYWdDb2x1bW5zLFxuICAgIH07XG4gIH1cblxuICAvLyBXZSBjYW4gZXh0cmFjdCBkYXRhIG91dCBvZiByb3cgbnVtYmVyIHVzaW5nIGJlbG93IGZ1bmN0aW9uXG4gIC8qIGV4dHJhY3QoKSB7XG4gICAgdGhpcy5leHRyYWN0RGF0YUl0ZW1zID0gdGhpcy5teVNlbGVjdGlvbi5tYXAoaWR4ID0+IHtcbiAgICAgIHJldHVybiB0aGlzLmdyaWREYXRhLmZpbmQoKGRhdGE6IHsgUHJvZHVjdElEOiBudW1iZXI7IH0pID0+IGRhdGEuUHJvZHVjdElEID09PSBpZHgpO1xuICAgIH0pO1xuICAgIGNvbnNvbGUubG9nKHRoaXMuZXh0cmFjdERhdGFJdGVtcylcbiAgICB0aGlzLnNlbGVjdGVkUm93RGF0YS5lbWl0KHRoaXMuZXh0cmFjdERhdGFJdGVtcyk7XG4gIH0gKi9cblxuICBzZWxlY3RlZEtleXNDaGFuZ2Uocm93czogbnVtYmVyW10pIHtcbiAgICBsZXQgc2VsZWN0ZWRSb3dEYXRhOiBhbnkgPSBbXTtcbiAgICBsZXQgc2VsZWN0ZWRSb3dzQ291bnQgPSAwO1xuXG4gICAgaWYgKHJvd3M/Lmxlbmd0aCA+IDApIHtcbiAgICAgIHNlbGVjdGVkUm93c0NvdW50ID0gcm93cz8ubGVuZ3RoO1xuICAgIH0gZWxzZSBpZiAodGhpcy5zZWxlY3RlZFJvd3M/Lmxlbmd0aCA+IDAgJiYgdGhpcy5kaXNhYmxlUHJlU2VsZWN0ZWRSb3dzKSB7XG4gICAgICBzZWxlY3RlZFJvd3NDb3VudCA9IHRoaXMuc2VsZWN0ZWRSb3dzPy5sZW5ndGg7XG4gICAgICByb3dzID0gdGhpcy5zZWxlY3RlZFJvd3M7XG4gICAgfVxuICAgIHRoaXMucHJldmlvdXNTZWxlY3RBbGxTdGF0ZSA9IHRoaXMuc2VsZWN0QWxsU3RhdGU7XG4gICAgdGhpcy5zZWxlY3RBbGxTdGF0ZSA9IHRoaXMuZ2V0U2VsZWN0QWxsU3RhdGUoc2VsZWN0ZWRSb3dzQ291bnQpO1xuICAgIGlmICh0aGlzLnNlbGVjdEFsbFN0YXRlID09PSAndW5jaGVja2VkJyB8fCB0aGlzLnNlbGVjdEFsbFN0YXRlID09PSAnaW5kZXRlcm1pbmF0ZScpIHtcbiAgICAgIHRoaXMuYWRkU2VsZWN0QWxsTWVzc2FnZShmYWxzZSk7XG4gICAgfVxuXG4gICAgc2VsZWN0ZWRSb3dEYXRhID0gcm93cy5tYXAocm93RGF0YSA9PiB7XG4gICAgICByZXR1cm4gdGhpcy5fZ3JpZFZpZXcuZGF0YS5maW5kKChkYXRhKSA9PiBkYXRhW3RoaXMuZ3JpZFJvd1NlbGVjdEJ5VmFsdWVdID09PSByb3dEYXRhKTtcbiAgICB9KTtcblxuICAgIHRoaXMuc2VsZWN0ZWRSb3dEYXRhLmVtaXQoc2VsZWN0ZWRSb3dEYXRhKTtcbiAgfVxuXG4gIGdldFNlbGVjdEFsbFN0YXRlKHNlbGVjdGVkUm93c0NvdW50OiBudW1iZXIpOiBhbnkge1xuICAgIGlmIChzZWxlY3RlZFJvd3NDb3VudCA9PSB0aGlzLl9ncmlkVmlldy50b3RhbCkge1xuICAgICAgdGhpcy5zZWxlY3RBbGxTdGF0ZSA9ICdjaGVja2VkJztcbiAgICB9IGVsc2UgaWYgKHNlbGVjdGVkUm93c0NvdW50ID09IDApIHtcbiAgICAgIHRoaXMuc2VsZWN0QWxsU3RhdGUgPSAndW5jaGVja2VkJztcbiAgICAgIHRoaXMuYWRkU2VsZWN0QWxsTWVzc2FnZShmYWxzZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2VsZWN0QWxsU3RhdGUgPSAnaW5kZXRlcm1pbmF0ZSc7XG4gICAgICB0aGlzLmFkZFNlbGVjdEFsbE1lc3NhZ2UoZmFsc2UpO1xuICAgIH1cbiAgfVxuXG4gIG9uS2ViYWJDbGljayhpdGVtOiBhbnksIHJvd0RldGFpbHM6IGFueSkge1xuICAgIHRoaXMua2ViYWJJdGVtQ2xpY2suZW1pdCh7IGFjdGlvbjogaXRlbSwgcm93RGV0YWlscyB9KTtcbiAgfVxuXG4gIG9uRGV0YWlsRXhwYW5kKHJvd0RhdGE6IGFueSkge1xuICAgIHRoaXMucm93RGV0YWlscy5lbWl0KHJvd0RhdGEuZGF0YUl0ZW0pO1xuICB9XG5cbiAgY2VsbENsaWNrSGFuZGxlcihhcmdzOiBDZWxsQ2xpY2tFdmVudCkge1xuICAgIGlmICh0aGlzLmFsbG93Q29sdW1uQ2xpY2spIHtcbiAgICAgIGlmICh0aGlzLmlnbm9yZUNvbHVtbkNlbGxDbGljay5pbmNsdWRlcyhhcmdzLmNvbHVtbkluZGV4KSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICB0aGlzLnJvd0RhdGFPZkNsaWNrZWRDZWxsLmVtaXQoeyBkYXRhSXRlbTogYXJncy5kYXRhSXRlbSwgY29sdW1uSW5kZXg6IGFyZ3MuY29sdW1uSW5kZXggfSk7XG4gICAgfVxuICAgIGlmICh0aGlzLmFsbG93RWRpdGluZ0NlbGwpIHtcbiAgICAgIHRoaXMuZm9ybUdyb3VwID0gY3JlYXRlRm9ybUdyb3VwKGFyZ3MuZGF0YUl0ZW0pO1xuICAgICAgYXJncy5zZW5kZXIuZWRpdENlbGwoYXJncy5yb3dJbmRleCwgYXJncy5jb2x1bW5JbmRleCwgdGhpcy5mb3JtR3JvdXApO1xuICAgIH1cbiAgfVxuXG4gIHNvcnRDaGFuZ2Uoc29ydDogU29ydERlc2NyaXB0b3JbXSk6IHZvaWQge1xuICAgIHRoaXMuc29ydCA9IHNvcnQ7XG4gICAgaWYgKCF0aGlzLmhhc0FwaVNvcnRpbmcpIHtcbiAgICAgIHRoaXMubG9hZEdyaWREYXRhKCk7XG4gICAgfVxuICAgIHRoaXMuc29ydERpcmVjdGlvbi5lbWl0KHRoaXMuc29ydCk7XG4gIH1cblxuICBsb2FkR3JpZERhdGEoKTogdm9pZCB7XG4gICAgdGhpcy5fZ3JpZFZpZXcgPSB7XG4gICAgICBkYXRhOiBvcmRlckJ5KHRoaXMuX2dyaWRWaWV3Py5kYXRhLCB0aGlzLnNvcnQpLFxuICAgICAgdG90YWw6IHRoaXMuX2dyaWRWaWV3Py50b3RhbCxcbiAgICB9O1xuICB9XG5cbiAgZXhwYW5kUm93KGlkOiBudW1iZXIpIHtcbiAgICB0aGlzLmdyaWQuZXhwYW5kUm93KGlkKTtcbiAgICB0aGlzLmV4cGFuZFJvd0luZGV4LnB1c2goaWQpO1xuICAgIC8vIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgIC8vICAgdGhpcy5nZXRHcmlkSGVpZ2h0KCk7XG4gICAgLy8gfSwgMCk7XG4gIH1cblxuICBjb2xsYXBzZVJvdyhpZDogbnVtYmVyKSB7XG4gICAgdGhpcy5ncmlkLmNvbGxhcHNlUm93KGlkKTtcbiAgICB0aGlzLmV4cGFuZFJvd0luZGV4LnNwbGljZSh0aGlzLmV4cGFuZFJvd0luZGV4LmluZGV4T2YoaWQpLCAxKTtcbiAgICAvLyBpZiAodGhpcy5leHBhbmRSb3dJbmRleD8ubGVuZ3RoID09IDApIHtcbiAgICAvLyAgIGNvbnN0IHdpbmRvd0hlaWdodCA9IHdpbmRvdy5pbm5lckhlaWdodDtcbiAgICAvLyAgIGNvbnN0IHZpZXdwb3J0OiBhbnkgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbGliLWdyaWQnKTtcbiAgICAvLyAgIGNvbnN0IGdyaWRPZmZzZXQgPSB2aWV3cG9ydC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS50b3AgKyB3aW5kb3cuc2Nyb2xsWTtcbiAgICAvLyAgIGlmICh3aW5kb3dIZWlnaHQgPiBncmlkT2Zmc2V0ICsgdGhpcy5pbml0aWFsR3JpZEhlaWdodCkge1xuICAgIC8vICAgICB0aGlzLmhlaWdodCA9ICcxMDAlJztcbiAgICAvLyAgICAgcmV0dXJuO1xuICAgIC8vICAgfVxuICAgIC8vICAgLy8gdGhpcy5nZXRHcmlkSGVpZ2h0KCk7XG4gICAgLy8gfVxuICB9XG5cbiAgb25EZWxldGUocm93RGV0YWlsczogYW55KSB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLmdldEhlYWRlckhlaWdodCgpO1xuICAgIH0sIDEwMDApO1xuICAgIHRoaXMuZGVsZXRlZFJvd0RhdGEuZW1pdChyb3dEZXRhaWxzKTtcbiAgfVxuXG4gIGdldEhlYWRlckhlaWdodCgpIHtcbiAgICBpZiAodGhpcy5fZ3JpZFZpZXc/LmRhdGE/Lmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuICdoaWRlLWhlYWRlcic7XG4gICAgfVxuICAgIHJldHVybiAndmlldy1oZWFkZXInO1xuICB9XG5cbiAgLypcbiAgICogVGhpcyBsb2dpYyBvZiBkeW5hbWljYWxseSBjYWxjdWxhdGluZyB0aGUgaGVpZ2h0IG9mIGdyaWQgbmVlZCBmdXJ0aGVyIGJyYWluc3Rvcm1pbmcgaGVuY2UgY29tbWVudGVkIGZvciBub3cuXG4gICAqL1xuICAvLyBnZXRHcmlkSGVpZ2h0KCkge1xuICAvLyAgIGNvbnN0IHdpbmRvd0hlaWdodCA9IHdpbmRvdy5pbm5lckhlaWdodDtcbiAgLy8gICBjb25zdCB2aWV3cG9ydDogYW55ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xpYi1ncmlkJyk7XG4gIC8vICAgY29uc3QgZ3JpZE9mZnNldCA9IHZpZXdwb3J0LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcCArIHdpbmRvdy5zY3JvbGxZO1xuICAvLyAgIGNvbnN0IGdyaWRIZWlnaHQgPVxuICAvLyAgICAgdGhpcy5ncmlkRWxlbWVudC5uYXRpdmVFbGVtZW50Lm9mZnNldEhlaWdodCArIHRoaXMuZ3JpZEJvdHRvbVNwYWNlOyAvL2dyaWQgc2hvdWxkIGhhdmUgMjRweCBzcGFjZSBhdCBib3R0b21cbiAgLy8gICBpZiAoZ3JpZE9mZnNldCArIGdyaWRIZWlnaHQgPj0gd2luZG93SGVpZ2h0KSB7XG4gIC8vICAgICB0aGlzLmhlaWdodCA9IHdpbmRvd0hlaWdodCAtIChncmlkT2Zmc2V0ICsgdGhpcy5ncmlkQm90dG9tU3BhY2UpO1xuICAvLyAgIH1cbiAgLy8gfVxuXG4gIC8vIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpyZXNpemUnLCBbJyRldmVudCddKVxuICAvLyByZXNpemUoZXY6IGFueSkge1xuICAvLyAgIGlmIChldi50YXJnZXQuaW5uZXJIZWlnaHQgPiB0aGlzLnJlc2l6ZUhlaWdodCkge1xuICAvLyAgICAgdGhpcy5yZXNpemVIZWlnaHQgPSBldi50YXJnZXQuaW5uZXJIZWlnaHQ7XG4gIC8vICAgICB0aGlzLmhlaWdodCA9ICcxMDAlJztcbiAgLy8gICB9XG4gIC8vICAgaWYgKHRoaXMucmVzaXplSGVpZ2h0ID4gd2luZG93LmlubmVySGVpZ2h0KSB7XG4gIC8vICAgICB0aGlzLnJlc2l6ZUhlaWdodCA9IDA7XG4gIC8vICAgfVxuICAvLyAgIHRoaXMuZ2V0R3JpZEhlaWdodCgpO1xuICAvLyB9XG5cbiAgcm93Q2xhc3MgPSAoYXJnczogUm93Q2xhc3NBcmdzKSA9PiB7XG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRSb3dzICYmIHRoaXMuZGlzYWJsZVByZVNlbGVjdGVkUm93cykge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgJ2stZGlzYWJsZWQnOiB0aGlzLnNlbGVjdGVkUm93cy5pbmNsdWRlcyhcbiAgICAgICAgICBhcmdzLmRhdGFJdGVtW3RoaXMuZ3JpZFJvd1NlbGVjdEJ5VmFsdWVdXG4gICAgICAgICkgfHwgdGhpcy5hbGxQYWdlc1NlbGVjdGVkLFxuICAgICAgfTtcbiAgICB9XG4gICAgcmV0dXJuICcnO1xuICB9O1xuXG4gIGV4cGFuZENvbHVtbkNsYXNzKCkge1xuICAgIGlmICh0aGlzLnNlbGVjdGVkUm93cz8ubGVuZ3RoID4gMCAmJiB0aGlzLmRpc2FibGVQcmVTZWxlY3RlZFJvd3MpIHtcbiAgICAgIHRoaXMuZXhwYW5kUm93Q29sdW1uV2lkdGggPSAxOTQ7XG4gICAgICByZXR1cm4gJ2V4cGFuZC1yb3cnO1xuICAgIH1cbiAgICB0aGlzLmV4cGFuZFJvd0NvbHVtbldpZHRoID0gNTY7XG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAgb25TZWxlY3RBbGxDaGFuZ2UoY2hlY2tlZFN0YXRlOiBTZWxlY3RBbGxDaGVja2JveFN0YXRlKTogdm9pZCB7XG4gICAgaWYgKFxuICAgICAgY2hlY2tlZFN0YXRlID09PSAnY2hlY2tlZCdcbiAgICApIHtcbiAgICAgIHRoaXMuX3ByZVNlbGVjdGVkID0gdGhpcy5fZ3JpZFZpZXcuZGF0YVxuICAgICAgICAubWFwKChpdGVtOiBhbnkpID0+IGl0ZW1bdGhpcy5ncmlkUm93U2VsZWN0QnlWYWx1ZV0pXG4gICAgICAgIC5maWx0ZXIoKGlkOiBhbnkpID0+IGlkKTtcbiAgICAgIHRoaXMuc2VsZWN0QWxsU3RhdGUgPSAnY2hlY2tlZCc7XG4gICAgICB0aGlzLnNlbGVjdGVkSXRlbUNvdW50ID0gdGhpcy5fZ3JpZFZpZXcuZGF0YS5sZW5ndGg7XG4gICAgfSBlbHNlIGlmICh0aGlzLnNlbGVjdGVkUm93cz8ubGVuZ3RoID4gMCAmJiB0aGlzLmRpc2FibGVQcmVTZWxlY3RlZFJvd3MpIHtcbiAgICAgIHRoaXMuX3ByZVNlbGVjdGVkID0gdGhpcy5zZWxlY3RlZFJvd3M7XG4gICAgICB0aGlzLnNlbGVjdEFsbFN0YXRlID0gJ2luZGV0ZXJtaW5hdGUnO1xuICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1Db3VudCA9IDA7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX3ByZVNlbGVjdGVkID0gW107XG4gICAgICB0aGlzLnNlbGVjdEFsbFN0YXRlID0gJ3VuY2hlY2tlZCc7XG4gICAgICB0aGlzLnNlbGVjdGVkSXRlbUNvdW50ID0gMDtcbiAgICB9XG4gICAgdGhpcy5hZGRTZWxlY3RBbGxNZXNzYWdlKHRoaXMuc2VsZWN0QWxsU3RhdGUgPT09ICdjaGVja2VkJyk7XG4gIH1cblxuICBjYW5FbmFibGVTZWxlY3RBbGwoKSB7XG4gICAgcmV0dXJuICh0aGlzLnNlbGVjdGVkUm93cz8ubGVuZ3RoID09IHRoaXMuX2dyaWRWaWV3LnRvdGFsICYmXG4gICAgICB0aGlzLmRpc2FibGVQcmVTZWxlY3RlZFJvd3MpXG4gIH1cblxuICBwdWJsaWMgY2VsbENsb3NlSGFuZGxlcihhcmdzOiBDZWxsQ2xvc2VFdmVudCk6IHZvaWQge1xuICAgIGxldCB7IGZvcm1Hcm91cCwgZGF0YUl0ZW0gfSA9IGFyZ3M7XG4gICAgaWYgKCFmb3JtR3JvdXAudmFsaWQpIHtcbiAgICAgIGFyZ3MucHJldmVudERlZmF1bHQoKTtcbiAgICB9IGVsc2UgaWYgKGZvcm1Hcm91cC5kaXJ0eSkge1xuICAgICAgaWYgKGFyZ3Mub3JpZ2luYWxFdmVudCAmJiBhcmdzLm9yaWdpbmFsRXZlbnQua2V5Q29kZSA9PT0gS2V5cy5Fc2NhcGUpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgT2JqZWN0LmFzc2lnbihkYXRhSXRlbSwgZm9ybUdyb3VwLnZhbHVlKTtcbiAgICAgIHRoaXMuc2F2ZUNoYW5nZXMoKTtcbiAgICAgIHRoaXMudXBkYXRlZERhdGEuZW1pdCh0aGlzLmdyaWQuZGF0YSlcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc2F2ZUNoYW5nZXMoKTogdm9pZCB7XG4gICAgdGhpcy5ncmlkLmNsb3NlQ2VsbCgpO1xuICAgIHRoaXMuZ3JpZC5jYW5jZWxDZWxsKCk7XG4gIH1cblxuICByZWZyZXNoR3JpZERhdGEoKSB7XG4gICAgdGhpcy5lbWl0UmVmcmVzaEV2dC5lbWl0KCk7XG4gIH1cblxuICBvbkNoZWZ5Q2xpY2soZTogYW55LCBkYXRhSXRlbTogYW55KSB7XG4gICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICBjb25zdCBjdXN0b21FdmVudCA9IG5ldyBDdXN0b21FdmVudCgnZ3JpZENoZWZ5Q2xpY2snLCB7XG4gICAgICBkZXRhaWw6IHtcbiAgICAgICAgZGF0YUl0ZW06IGRhdGFJdGVtXG4gICAgICB9LFxuICAgICAgYnViYmxlczogdHJ1ZSxcbiAgICAgIGNhbmNlbGFibGU6IHRydWVcbiAgICB9KTtcblxuICAgIC8vIERpc3BhdGNoIG9uIGRvY3VtZW50IHRvIG1ha2UgaXQgZ2xvYmFsbHkgYXZhaWxhYmxlXG4gICAgZG9jdW1lbnQuZGlzcGF0Y2hFdmVudChjdXN0b21FdmVudCk7XG4gIH1cblxufVxuIiwiPGRpdiAjZ3JpZEVsZW1lbnQgW25nQ2xhc3NdPVwiY29sdW1uQ29udGVudE5vV3JhcCA/ICdjb2x1bW4tY29udGVudC1ub3dyYXAnIDogJydcIj5cbiAgPGtlbmRvLWdyaWQgW2RhdGFdPVwiX2dyaWRWaWV3XCIgW3BhZ2VTaXplXT1cInBhZ2VTaXplXCIgW3NraXBdPVwic2tpcFwiIFtzZWxlY3RhYmxlXT1cInNlbGVjdGFibGVTZXR0aW5nc1wiXG4gICAgW3BhZ2VhYmxlXT1cInBhZ2VhYmxlXCIgW3NvcnRhYmxlXT1cInNvcnRhYmxlXCIgW2xvYWRpbmddPVwiZ3JpZExvYWRpbmdcIiBbZ3JvdXBhYmxlXT1cImdyb3VwYWJsZVwiXG4gICAgW3Jlb3JkZXJhYmxlXT1cInJlb3JkZXJhYmxlXCIgW3Jlc2l6YWJsZV09XCJyZXNpemFibGVcIiBbY29sdW1uTWVudV09XCJjb2x1bW5NZW51XCIgW25hdmlnYWJsZV09XCJuYXZpZ2FibGVcIlxuICAgIFtoZWlnaHRdPVwiZ3JpZEhlaWdodFwiIChjaGFuZ2UpPVwic2V0U2VsZWN0YWJsZVNldHRpbmdzKClcIiAoc2VsZWN0ZWRLZXlzQ2hhbmdlKT1cInNlbGVjdGVkS2V5c0NoYW5nZSgkZXZlbnQpXCJcbiAgICBba2VuZG9HcmlkU2VsZWN0QnldPVwiZ3JpZFJvd1NlbGVjdEJ5VmFsdWVcIiAoZGV0YWlsRXhwYW5kKT1cIm9uRGV0YWlsRXhwYW5kKCRldmVudClcIiBbc2VsZWN0ZWRLZXlzXT1cIl9wcmVTZWxlY3RlZFwiXG4gICAgKHBhZ2VDaGFuZ2UpPVwicGFnZUNoYW5nZSgkZXZlbnQpXCIgKGNlbGxDbGljayk9XCJjZWxsQ2xpY2tIYW5kbGVyKCRldmVudClcIiAoY2VsbENsb3NlKT1cImNlbGxDbG9zZUhhbmRsZXIoJGV2ZW50KVwiXG4gICAgW3NvcnRdPVwic29ydFwiIChzb3J0Q2hhbmdlKT1cInNvcnRDaGFuZ2UoJGV2ZW50KVwiIChzY3JvbGxCb3R0b20pPVwic2Nyb2xsQm90dG9tKClcIiBbbmdDbGFzc109XCJnZXRIZWFkZXJIZWlnaHQoKVwiXG4gICAgaWQ9XCJsaWItZ3JpZFwiIFtyb3dDbGFzc109XCJyb3dDbGFzc1wiPlxuICAgIDxkaXYgI3NlbGVjdEFsbE1lc3NhZ2VFbGVtZW50PlxuICAgICAgPGRpdiBjbGFzcz1cImxpYi1ncmlkLXNlbGVjdC1hbGwtbWVzc2FnZS1jb250YWluZXJcIlxuICAgICAgICAqbmdJZj1cIigoc2VsZWN0ZWRJdGVtQ291bnQgPCBfZ3JpZFZpZXcudG90YWwpIHx8IGFsbFBhZ2VzU2VsZWN0ZWQpXCI+XG4gICAgICAgIDxkaXYgKm5nSWY9XCIoc2VsZWN0ZWRJdGVtQ291bnQgPCBfZ3JpZFZpZXcudG90YWwpXCIgY2xhc3M9XCJsaWItZ3JpZC1zZWxlY3QtYWxsLW1lc3NhZ2VcIj5cbiAgICAgICAgICA8bGliLXR5cG9ncmFwaHkgW2RlZmF1bHRUZXh0XT1cIidBbGwgJytzZWxlY3RlZEl0ZW1Db3VudCsnICcraXRlbU5hbWUrJyBvbiB0aGlzIHBhZ2UgYXJlIHNlbGVjdGVkLidcIlxuICAgICAgICAgICAgdHlwZT1cIkJPRFlfU01BTExcIj48L2xpYi10eXBvZ3JhcGh5PlxuICAgICAgICAgIDx1PjxsaWItdHlwb2dyYXBoeSAoY2xpY2spPVwic2VsZWN0QWNyb3NzUGFnZXModHJ1ZSlcIiBjbGFzcz1cInNlbGVjdC1hbGwtaGFuZGxlclwiXG4gICAgICAgICAgICAgIFtkZWZhdWx0VGV4dF09XCInU2VsZWN0IGFsbCAnK19ncmlkVmlldy50b3RhbCsnICcraXRlbU5hbWUrJyBmcm9tIGFsbCBwYWdlcydcIlxuICAgICAgICAgICAgICB0eXBlPVwiQk9EWV9TTUFMTFwiPjwvbGliLXR5cG9ncmFwaHk+PC91PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiAqbmdJZj1cImFsbFBhZ2VzU2VsZWN0ZWRcIiBjbGFzcz1cImxpYi1ncmlkLXNlbGVjdC1hbGwtbWVzc2FnZVwiPlxuICAgICAgICAgIDxsaWItaWNvbiBuYW1lPVwiY2lyY2xlLWNoZWNrZWRcIiBjbGFzcz1cImFsbC1zZWxlY3RlZC1pY29uXCI+PC9saWItaWNvbj5cbiAgICAgICAgICA8bGliLXR5cG9ncmFwaHkgW2RlZmF1bHRUZXh0XT1cIidBbGwgJytfZ3JpZFZpZXcudG90YWwrJyAnK2l0ZW1OYW1lKycgYWNyb3NzIGFsbCBwYWdlcyBhcmUgc2VsZWN0ZWQuJ1wiXG4gICAgICAgICAgICB0eXBlPVwiQk9EWV9TTUFMTFwiPjwvbGliLXR5cG9ncmFwaHk+XG4gICAgICAgICAgPHU+PGxpYi10eXBvZ3JhcGh5IChjbGljayk9XCJzZWxlY3RBY3Jvc3NQYWdlcyhmYWxzZSlcIiBjbGFzcz1cInNlbGVjdC1hbGwtaGFuZGxlclwiXG4gICAgICAgICAgICAgIFtkZWZhdWx0VGV4dF09XCInQ2xlYXIgc2VsZWN0aW9uJ1wiIHR5cGU9XCJCT0RZX1NNQUxMXCI+PC9saWItdHlwb2dyYXBoeT48L3U+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPG5nLXRlbXBsYXRlIGtlbmRvR3JpZFRvb2xiYXJUZW1wbGF0ZSBbcG9zaXRpb25dPVwiZ2V0UG9zaXRpb24oKVwiIGxldC1wb3NpdGlvbj1cInBvc2l0aW9uXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2hvd1Rvb2xiYXIgJiYgcG9zaXRpb24gPT09ICd0b3AnXCI+XG4gICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNob3dSZWZyZXNoXCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInNob3dSZWZyZXNoVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpbmZpbml0ZVNjcm9sbExvYWRlciAmJiBwb3NpdGlvbiA9PT0gJ2JvdHRvbSdcIj5cbiAgICAgICAgPGxpYi1ncmlkLXBhZ2luYXRpb24tc3BhY2VyPjwvbGliLWdyaWQtcGFnaW5hdGlvbi1zcGFjZXI+XG4gICAgICAgIDxsaWItbG9hZGVyIFt0eXBlXT1cImxvYWRlclR5cGVcIiBbc2l6ZV09XCJsb2FkZXJTaXplXCIgW3RoZW1lQ29sb3JdPVwibG9hZGVyVGhlbWVcIj48L2xpYi1sb2FkZXI+XG4gICAgICAgIDxsaWItZ3JpZC1wYWdpbmF0aW9uLXNwYWNlcj48L2xpYi1ncmlkLXBhZ2luYXRpb24tc3BhY2VyPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgIDxuZy10ZW1wbGF0ZSAjc2hvd1JlZnJlc2hUZW1wbGF0ZT5cbiAgICAgIDxsaWItdG9vbHRpcCBwb3NpdGlvbj1cInRvcFwiIHNob3dPbj1cImhvdmVyXCIgW3Rvb2x0aXBXaWR0aF09XCI2OFwiIFtjYWxsb3V0XT1cInRydWVcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInRvb2x0aXAtY29udGVudFwiPlxuICAgICAgICAgIDxsaWItdHlwb2dyYXBoeSBkZWZhdWx0VGV4dD1cIlJlZnJlc2hcIj48L2xpYi10eXBvZ3JhcGh5PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGxpYi1idXR0b24gc2l6ZT1cInNtYWxsXCIgd2lkdGg9XCIyLjRyZW1cIiByb3VuZGVkPVwic21hbGxcIiBmaWxsTW9kZT1cInNvbGlkXCIgdGhlbWVDb2xvcj1cInByaW1hcnlcIiBpY29uTmFtZT1cInJlc2V0XCJcbiAgICAgICAgICBbdG9nZ2xlYWJsZV09XCJmYWxzZVwiIChidXR0b25DbGljayk9XCJyZWZyZXNoR3JpZERhdGEoKVwiIFtpY29uQnV0dG9uXT1cInRydWVcIiBbaWNvbkZvbnRTaXplXT1cIjEzXCI+PC9saWItYnV0dG9uPlxuICAgICAgPC9saWItdG9vbHRpcD5cbiAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgPG5nLXRlbXBsYXRlIGtlbmRvR3JpZExvYWRpbmdUZW1wbGF0ZT5cbiAgICAgIDxkaXYgY2xhc3M9XCJrLWxvYWRpbmctY29sb3JcIj48L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJsb2FkaW5nLWNvbnRhaW5lclwiPlxuICAgICAgICA8bGliLWxvYWRlciBbdHlwZV09XCJsb2FkZXJUeXBlXCIgW3NpemVdPVwibG9hZGVyU2l6ZVwiIFt0aGVtZUNvbG9yXT1cImxvYWRlclRoZW1lXCI+PC9saWItbG9hZGVyPlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgIDxuZy10ZW1wbGF0ZSAqbmdJZj1cInRoaXMuX2dyaWRWaWV3LnRvdGFsID09PSAwXCIga2VuZG9HcmlkTm9SZWNvcmRzVGVtcGxhdGU+XG4gICAgICA8bGliLXR5cG9ncmFwaHkgKm5nSWY9XCIhbG9hZGluZ1wiIFtkZWZhdWx0VGV4dF09XCJub1JlY29yZHNDb250ZW50XCIgdHlwZT1cIkJPRFlfTUVESVVNXCI+PC9saWItdHlwb2dyYXBoeT5cbiAgICAgIDxsaWItbG9hZGVyICpuZ0lmPVwibG9hZGluZ1wiIFt0eXBlXT1cImxvYWRlclR5cGVcIiBbc2l6ZV09XCJsb2FkZXJTaXplXCIgW3RoZW1lQ29sb3JdPVwibG9hZGVyVGhlbWVcIj48L2xpYi1sb2FkZXI+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwidGhpcy5fZ3JpZFZpZXcudG90YWwgPiAwXCI+XG4gICAgICA8a2VuZG8tZ3JpZC1jaGVja2JveC1jb2x1bW4gI3NlbGVjdEFsbENoZWNrYm94IGhlYWRlckNsYXNzPVwic2VsZWN0LWFsbC1oZWFkZXJcIiAqbmdJZj1cImNoZWNrQm94UmVxdWlyZWRcIlxuICAgICAgICBbd2lkdGhdPVwiY2hlY2tCb3hXaWR0aFwiIFtyZXNpemFibGVdPVwiY2hlY2tCb3hDb2x1bW5SZXNpemFibGVcIiBbY29sdW1uTWVudV09XCJjaGVja0JveENvbHVtbk1lbnVcIlxuICAgICAgICBjbGFzcz1cImNoZWNrYm94LWNvbHVtblwiIFtzdGlja3ldPVwiaXNDaGVja0JveENvbHVtblN0aWNreSAmJiAhY3VzdG9tRXhwYW5kUm93Q29sdW1uXCI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBrZW5kb0dyaWRIZWFkZXJUZW1wbGF0ZSAqbmdJZj1cImlzU2VsZWN0QWxsQ2hlY2tib3hSZXF1aXJlZFwiPlxuICAgICAgICAgIDxpbnB1dCBpZD1cInNlbGVjdEFsbENoZWNrYm94SWRcIiB0eXBlPVwiY2hlY2tib3hcIiBrZW5kb0NoZWNrQm94IGtlbmRvR3JpZFNlbGVjdEFsbENoZWNrYm94XG4gICAgICAgICAgICBbc3RhdGVdPVwic2VsZWN0QWxsU3RhdGVcIiAoc2VsZWN0QWxsQ2hhbmdlKT1cIm9uU2VsZWN0QWxsQ2hhbmdlKCRldmVudClcIiAvPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPC9rZW5kby1ncmlkLWNoZWNrYm94LWNvbHVtbj5cblxuICAgICAgPGtlbmRvLWdyaWQtY29sdW1uIGNsYXNzPVwiZ3JpZC1jb2x1bW5cIiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBjb2x1bW5EYXRhOyBsZXQgaSA9IGluZGV4XCIgW2ZpZWxkXT1cIml0ZW0uZmllbGRcIlxuICAgICAgICBbdGl0bGVdPVwiaXRlbS50aXRsZVwiIFt3aWR0aF09XCJpdGVtLmNvbHVtbldpZHRoXCIgW21pblJlc2l6YWJsZVdpZHRoXT1cIm1pblJlc2l6YWJsZVdpZHRoXCJcbiAgICAgICAgW3NvcnRhYmxlXT1cIml0ZW0uc29ydGFibGVcIiBbZWRpdG9yXT1cIml0ZW0uZWRpdG9yXCIgW2NsYXNzXT1cIml0ZW0uY2xhc3NcIlxuICAgICAgICBbc3RpY2t5XT1cIml0ZW0uY29sdW1uU3RpY2t5ICYmICFjdXN0b21FeHBhbmRSb3dDb2x1bW5cIj5cblxuICAgICAgICA8bmctdGVtcGxhdGUgKm5nSWY9XCJzb3J0YWJsZVwiIGtlbmRvR3JpZEhlYWRlclRlbXBsYXRlPlxuICAgICAgICAgIHt7aXRlbS50aXRsZX19XG4gICAgICAgICAgPHNwYW4gKm5nSWY9XCJzb3J0WzBdLmZpZWxkID09PSBpdGVtLmZpZWxkXCI+XG4gICAgICAgICAgICA8c3BhbiAqbmdJZj1cInNvcnRbMF0uZGlyID09PSAnYXNjJ1wiPjwvc3Bhbj5cbiAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwic29ydFswXS5kaXIgPT09ICdkZXNjJ1wiPjwvc3Bhbj5cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICAgICAgPCEtLSA8bmctdGVtcGxhdGUgKm5nSWY9XCJpID09PSAwXCIga2VuZG9HcmlkQ2VsbFRlbXBsYXRlIGxldC1kYXRhSXRlbT5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmlyc3QtY3VzdG9tLWNvbHVtblwiPlxuICAgICAgICAgICAgPGxpYi10eXBvZ3JhcGh5IHR5cGU9XCJCT0RZX01FRElVTVwiPnt7ZGF0YUl0ZW0/LltpdGVtLmZpZWxkXX19PC9saWItdHlwb2dyYXBoeT5cbiAgICAgICAgICAgIDxsaWItYnV0dG9uIGNsYXNzPVwiY2hlZnlcIiBzaXplPVwic21hbGxcIiByb3VuZGVkPVwiZnVsbFwiIChidXR0b25DbGljayk9XCJvbkNoZWZ5Q2xpY2soJGV2ZW50LCBkYXRhSXRlbSlcIiBmaWxsTW9kZT1cInNvbGlkXCJcbiAgICAgICAgICAgICAgdGhlbWVDb2xvcj1cInByaW1hcnlcIiBsYWJlbD1cIkNoZWZ5XCIgLz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT4gLS0+XG5cbiAgICAgICAgPG5nLXRlbXBsYXRlICpuZ0lmPVwiaXRlbS5jdXN0b21Db2x1bW5cIiBrZW5kb0dyaWRDZWxsVGVtcGxhdGUgbGV0LWRhdGFJdGVtPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiY29sdW1uVGVtcGxhdGVEaWN0W2l0ZW0udHlwZV1cIlxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInskaW1wbGljaXQ6IGRhdGFJdGVtfVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgICAgIDxuZy10ZW1wbGF0ZSAqbmdJZj1cIml0ZW0uY3VzdG9tXCIga2VuZG9HcmlkQ2VsbFRlbXBsYXRlIGxldC1kYXRhSXRlbT5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwidGVtcGxhdGVSZWY7IGNvbnRleHQ6IHskaW1wbGljaXQ6IGRhdGFJdGVtfVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8bmctdGVtcGxhdGUgKm5nSWY9XCJpdGVtLmltcGFjdFwiIGtlbmRvR3JpZENlbGxUZW1wbGF0ZSBsZXQtZGF0YUl0ZW0+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImltcGFjdENvbHVtbjsgY29udGV4dDogeyRpbXBsaWNpdDogZGF0YUl0ZW19XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8L2tlbmRvLWdyaWQtY29sdW1uPlxuXG4gICAgICA8a2VuZG8tZ3JpZC1jb2x1bW4gKm5nSWY9XCJzaG93RGVsZXRlQ29sdW1uXCIgW3dpZHRoXT1cImRlbGV0ZUNvbHVtbldpZHRoXCIgY2xhc3M9XCJkZWxldGUtY29sdW1uXCIgdGl0bGU9XCJBY3Rpb25cIlxuICAgICAgICBbc3RpY2t5XT1cImlzRGVsZXRlQ29sdW1uU3RpY2t5ICYmICFjdXN0b21FeHBhbmRSb3dDb2x1bW5cIj5cbiAgICAgICAgPG5nLXRlbXBsYXRlIGtlbmRvR3JpZENlbGxUZW1wbGF0ZSBsZXQtZGF0YUl0ZW0gbGV0LXJvd0luZGV4PVwicm93SW5kZXhcIj5cbiAgICAgICAgICA8bGliLXRvb2x0aXAgc2hvd09uPVwiaG92ZXJcIiBwb3NpdGlvbj1cImJvdHRvbVwiIGNsYXNzPVwicmVtb3ZlLXRvb2x0aXBcIj5cbiAgICAgICAgICAgIDxsaWItaWNvbiBuYW1lPVwiZGVsZXRlXCIgY2xhc3M9XCJkZWxldGUtaWNvblwiIChjbGljayk9XCJvbkRlbGV0ZShkYXRhSXRlbSlcIj48L2xpYi1pY29uPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRvb2x0aXAtY29udGVudFwiPlxuICAgICAgICAgICAgICA8bGliLXR5cG9ncmFwaHkgZGVmYXVsdFRleHQ9XCJSZW1vdmVcIj48L2xpYi10eXBvZ3JhcGh5PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9saWItdG9vbHRpcD5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDwva2VuZG8tZ3JpZC1jb2x1bW4+XG5cbiAgICAgIDxrZW5kby1ncmlkLWNvbHVtbiBbd2lkdGhdPVwia2ViYWJDb2x1bW5XaWR0aFwiIGNsYXNzPVwia2ViYWItY29sdW1uXCIgKm5nSWY9XCJzaG93S2ViYWJcIiB0aXRsZT1cIkFjdGlvbnNcIlxuICAgICAgICBbc3RpY2t5XT1cImlzS2ViYWJDb2x1bW5TdGlja3kgJiYgIWN1c3RvbUV4cGFuZFJvd0NvbHVtblwiPlxuICAgICAgICA8bmctdGVtcGxhdGUga2VuZG9HcmlkQ2VsbFRlbXBsYXRlIGxldC1kYXRhSXRlbSBsZXQtcm93SW5kZXg9XCJyb3dJbmRleFwiPlxuICAgICAgICAgIDxsaWItdG9vbHRpcCBwb3NpdGlvbj1cImJvdHRvbVwiIHNob3dPbj1cImhvdmVyXCIgW3Rvb2x0aXBXaWR0aF09XCI2OFwiIFtjYWxsb3V0XT1cInRydWVcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0b29sdGlwLWNvbnRlbnRcIj5cbiAgICAgICAgICAgICAgPGxpYi10eXBvZ3JhcGh5IGRlZmF1bHRUZXh0PVwiQXNrIENoZWYgQUlcIj48L2xpYi10eXBvZ3JhcGh5PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8aW1nIFtzcmNdPVwia2ViYWJJY29uU2FmZVVybFwiIFtuZ1N0eWxlXT1cInsgd2lkdGg6ICcycmVtJywgY3Vyc29yOiAncG9pbnRlcicgfVwiIChjbGljayk9XCJvbkNoZWZ5Q2xpY2soJGV2ZW50LCBkYXRhSXRlbSlcIi8+XG4gICAgICAgICAgPC9saWItdG9vbHRpcD5cbiAgICAgICAgICA8a2VuZG8tZHJvcGRvd25idXR0b24gKm5nSWY9XCIhaGlkZUtlYmFiUm93SW5kZXguaW5jbHVkZXMocm93SW5kZXgpXCIgW3N2Z0ljb25dPVwiaWNvblwiIGZpbGxNb2RlPVwibm9uZVwiXG4gICAgICAgICAgICBbZGF0YV09XCJrZWJhYkxpc3QgfCBrZWJhYk1lbnVGaWx0ZXIgOiBkYXRhSXRlbVwiIGNsYXNzPVwia2ViYWJcIiAoaXRlbUNsaWNrKT1cIm9uS2ViYWJDbGljaygkZXZlbnQsIGRhdGFJdGVtKVwiXG4gICAgICAgICAgICBbcG9wdXBTZXR0aW5nc109XCJ7IGFsaWduOiAncmlnaHQnLCBhbmltYXRlOiB0cnVlLCBwb3B1cENsYXNzOiAna2ViYWItbGlzdCcgfVwiPlxuICAgICAgICAgIDwva2VuZG8tZHJvcGRvd25idXR0b24+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8L2tlbmRvLWdyaWQtY29sdW1uPlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPCEtLSBMaW1pdGF0aW9uOiBkZXRhaWwgdGVtcGxhdGUgYW5kIHN0aWNreSBjb2x1bW5zIGRvIG5vdCBjby1leGlzdC0tPlxuICAgIDxuZy10ZW1wbGF0ZSAqbmdJZj1cImN1c3RvbUV4cGFuZFJvd0NvbHVtblwiIGtlbmRvR3JpZERldGFpbFRlbXBsYXRlIGxldC1kYXRhSXRlbT5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJkZXRhaWxUZW1wbGF0ZTsgY29udGV4dDogeyRpbXBsaWNpdDogZGF0YUl0ZW19XCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgIDxrZW5kby1ncmlkLWNvbHVtbiAqbmdJZj1cImN1c3RvbUV4cGFuZFJvd0NvbHVtblwiIFt3aWR0aF09XCJleHBhbmRSb3dDb2x1bW5XaWR0aFwiIGNsYXNzPVwiZ3JpZC1jb2x1bW4gZXhwYW5kLWNvbHVtblwiPlxuICAgICAgPG5nLXRlbXBsYXRlIGtlbmRvR3JpZENlbGxUZW1wbGF0ZSBsZXQtZGF0YUl0ZW0gbGV0LXJvd0luZGV4PVwicm93SW5kZXhcIj5cbiAgICAgICAgPGRpdiBbbmdDbGFzc109XCJleHBhbmRDb2x1bW5DbGFzcygpXCI+XG4gICAgICAgICAgPHNwYW4gKm5nSWY9XCJzZWxlY3RlZFJvd3MuaW5jbHVkZXMoZGF0YUl0ZW1bZ3JpZFJvd1NlbGVjdEJ5VmFsdWVdKSAmJiBkaXNhYmxlUHJlU2VsZWN0ZWRSb3dzXCJcbiAgICAgICAgICAgIGNsYXNzPVwiZXhwYW5kLWNvbHVtbi10ZXh0XCI+XG4gICAgICAgICAgICBBbHJlYWR5IGFkZGVkXG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDxrZW5kby1idXR0b24gKm5nSWY9XCIhZXhwYW5kUm93SW5kZXguaW5jbHVkZXMocm93SW5kZXgpXCIgW3N2Z0ljb25dPVwiYXJyb3dEb3duSWNvblwiXG4gICAgICAgICAgICAoY2xpY2spPVwiZXhwYW5kUm93KHJvd0luZGV4KVwiIGZpbGxNb2RlPVwibm9uZVwiIGNsYXNzPVwiYXJyb3ctYnRuXCI+XG4gICAgICAgICAgPC9rZW5kby1idXR0b24+XG4gICAgICAgICAgPGtlbmRvLWJ1dHRvbiAqbmdJZj1cImV4cGFuZFJvd0luZGV4LmluY2x1ZGVzKHJvd0luZGV4KVwiIFtzdmdJY29uXT1cImFycm93VXBJY29uXCJcbiAgICAgICAgICAgIChjbGljayk9XCJjb2xsYXBzZVJvdyhyb3dJbmRleClcIiBmaWxsTW9kZT1cIm5vbmVcIiBjbGFzcz1cImFycm93LWJ0blwiPlxuICAgICAgICAgIDwva2VuZG8tYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9rZW5kby1ncmlkLWNvbHVtbj5cblxuICAgIDxuZy10ZW1wbGF0ZSBrZW5kb1BhZ2VyVGVtcGxhdGUgbGV0LXRvdGFsUGFnZXM9XCJ0b3RhbFBhZ2VzXCIgbGV0LWN1cnJlbnRQYWdlPVwiY3VycmVudFBhZ2VcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJwYWdpbmF0aW9uLXdyYXBwZXJcIiBbbmdDbGFzc109XCJhbGxQYWdlc1NlbGVjdGVkID8gJ3BhZ2luYXRpb24tZGlzYWJsZWQnIDogJydcIj5cbiAgICAgICAgPGtlbmRvLXBhZ2VyLXByZXYtYnV0dG9ucz48L2tlbmRvLXBhZ2VyLXByZXYtYnV0dG9ucz5cbiAgICAgICAgPGtlbmRvLXBhZ2VyLW51bWVyaWMtYnV0dG9ucyBbYnV0dG9uQ291bnRdPVwiX3BhZ2VDb3VudFwiPjwva2VuZG8tcGFnZXItbnVtZXJpYy1idXR0b25zPlxuICAgICAgICA8a2VuZG8tcGFnZXItbmV4dC1idXR0b25zPjwva2VuZG8tcGFnZXItbmV4dC1idXR0b25zPlxuICAgICAgICA8a2VuZG8tcGFnZXItaW5mbz48L2tlbmRvLXBhZ2VyLWluZm8+XG4gICAgICAgIDxrZW5kby1wYWdlci1wYWdlLXNpemVzIFtwYWdlU2l6ZXNdPVwic2l6ZXNcIj48L2tlbmRvLXBhZ2VyLXBhZ2Utc2l6ZXM+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuXG4gIDwva2VuZG8tZ3JpZD5cbjwvZGl2PlxuIl19