UNPKG

ng-devui

Version:

DevUI components based on Angular

118 lines 42.3 kB
import { Component, EventEmitter, HostBinding, Input, Output, TemplateRef } from '@angular/core'; import * as i0 from "@angular/core"; import * as i1 from "@angular/common"; import * as i2 from "ng-devui/utils"; export class TimeAxisItemComponent { set type(type) { switch (type) { case 'success': this._type = 'right'; break; case 'danger': this._type = 'danger'; break; case 'warning': this._type = 'warning'; break; case 'primary': this._type = 'primary'; break; case 'running': this._type = 'running'; this.dotText = ''; break; default: break; } } /** * @deprecated Use type to replace. */ set status(status) { if (status !== undefined) { this.statusChanged.emit(status); if (status === 'running') { this.type = 'running'; } else if (this._type === 'running' && status === '') { this.type = 'primary'; } } } get horizontalNoLine() { return this.direction === 'horizontal' && this?.lineStyle?.style === 'none'; } get verticalNoLine() { return this.direction === 'vertical' && this?.lineStyle?.style === 'none'; } constructor() { this.horizontalAlign = 'center'; this.mode = 'normal'; this.statusChanged = new EventEmitter(); } ngOnInit() { if (this.position === undefined) { this.position = (this.direction === 'vertical' ? 'right' : 'bottom'); } } get extraTemplate() { return this.extraElement instanceof TemplateRef ? this.extraElement : null; } get dotTemplate() { return this.customDot instanceof TemplateRef ? this.extraElement : null; } get timeAxisLineClass() { let styleClass = `devui-time-axis-line-style-${this.lineStyle?.style || 'solid'}`; styleClass += this.timePosition !== 'bottom' ? ' devui-time-axis-item-line' : ' devui-time-axis-item-line-time-bottom'; return styleClass; } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TimeAxisItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); } static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TimeAxisItemComponent, selector: "d-time-axis-item", inputs: { model: "model", direction: "direction", time: "time", timePosition: "timePosition", position: "position", lineStyle: "lineStyle", customDot: "customDot", dotColor: "dotColor", iconClass: "iconClass", extraElement: "extraElement", text: "text", contentTemplate: "contentTemplate", data: "data", horizontalAlign: "horizontalAlign", mode: "mode", type: "type", status: "status" }, outputs: { statusChanged: "statusChanged" }, host: { properties: { "class.devui-time-axis-item-horizontal-no-line": "this.horizontalNoLine", "class.devui-time-axis-item-vertical-no-line": "this.verticalNoLine" } }, ngImport: i0, template: "<div\n [class.devui-time-axis-item-horizontal]=\"direction === 'horizontal'\"\n [class.devui-time-axis-item-vertical]=\"direction === 'vertical' && timePosition !== 'bottom'\"\n [class.devui-time-axis-item-vertical-time-bottom]=\"direction === 'vertical' && timePosition === 'bottom'\"\n>\n <div\n *ngIf=\"timePosition !== 'bottom' && mode !== 'bottom' && mode !== 'right'\"\n [class.devui-time-axis-item-data-horizontal-top]=\"direction === 'horizontal'\"\n [class.devui-time-axis-item-data-vertical-left]=\"direction === 'vertical'\"\n >\n <div *ngIf=\"time && (position === 'bottom' || position === 'right')\">\n <div [class.devui-time-axis-item-horizontal-align-center]=\"position === 'bottom' && horizontalAlign === 'center'\">{{ time }}</div>\n </div>\n <div\n *ngIf=\"position === 'top' || position === 'left'\"\n [class.devui-time-axis-item-horizontal-align-center]=\"position === 'top' && horizontalAlign === 'center'\"\n >\n <div *ngIf=\"model !== 'template'\" [innerHTML]=\"text | safe: 'html'\"></div>\n <div *ngIf=\"model === 'template'\">\n <ng-template [ngTemplateOutlet]=\"contentTemplate\" [ngTemplateOutletContext]=\"{ $implicit: this, data: data }\"></ng-template>\n </div>\n </div>\n </div>\n <div\n class=\"devui-time-axis-item-axis\"\n [class.devui-time-axis-item-axis-padding-horizontal]=\"direction === 'horizontal'\"\n [class.devui-time-axis-item-axis-padding-vertical]=\"direction === 'vertical'\"\n [class.devui-time-axis-item-axis-padding-mode-top]=\"mode === 'top'\"\n [class.devui-time-axis-item-axis-padding-mode-bottom]=\"mode === 'bottom'\"\n [class.devui-time-axis-item-axis-padding-mode-left]=\"mode === 'left'\"\n [class.devui-time-axis-item-axis-padding-mode-right]=\"mode === 'right'\"\n >\n <div\n *ngIf=\"!customDot && (_type === 'primary' || !_type)\"\n [style.borderColor]=\"dotColor\"\n class=\"devui-time-axis-item-dot devui-time-axis-item-type-{{ _type || 'primary' }} {{ iconClass }}\"\n ></div>\n <div\n *ngIf=\"!customDot && _type !== 'primary' && _type\"\n class=\"devui-time-axis-item-dot devui-time-axis-item-type-{{ _type || 'primary' }} {{ iconClass }}\"\n >\n <svg\n *ngIf=\"_type === 'danger'\"\n class=\"devui-icon devui-icon-error\"\n width=\"16px\"\n height=\"16px\"\n viewBox=\"0 0 16 16\"\n version=\"1.1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n >\n <g stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n <circle cx=\"8\" cy=\"8\" r=\"7\"></circle>\n <path\n d=\"M8,0 C3.6,0 0,3.6 0,8 C0,12.4 3.6,16 8,16 C12.4,16 16,12.4 16,8 C16,3.6 12.4,0 8,0 Z M9,12.6 L7,12.6 L7,10.6 L9,10.6 L9,12.6 Z M9,9.1 L7,9.1 L6.9,3.1 L9.1,3.1 L9,9.1 Z\"\n fill-rule=\"nonzero\"\n ></path>\n </g>\n </svg>\n <i *ngIf=\"_type === 'right' || _type === 'warning'\" class=\"devui-icon icon-{{ _type }}-o\"></i>\n <span *ngIf=\"_type === 'running'\">\n {{ dotText }}\n </span>\n </div>\n <div *ngIf=\"customDot\" class=\"devui-time-axis-item-custom-dot\">\n <ng-template [ngTemplateOutlet]=\"dotTemplate || defaultDotTemplate\"> </ng-template>\n <ng-template #defaultDotTemplate>\n <span [innerHTML]=\"customDot | safe: 'html'\"></span>\n </ng-template>\n </div>\n <div *ngIf=\"time && timePosition === 'bottom'\">{{ time }}</div>\n <div class=\"{{ timeAxisLineClass }}\" [style.borderColor]=\"lineStyle?.color\">\n <div *ngIf=\"extraElement\" class=\"devui-time-axis-middle-zone\">\n <ng-template [ngTemplateOutlet]=\"extraTemplate || defaultTemplate\"> </ng-template>\n <ng-template #defaultTemplate>\n <div [innerHTML]=\"extraElement | safe: 'html'\"></div>\n </ng-template>\n </div>\n </div>\n </div>\n <div\n *ngIf=\"mode !== 'top' && mode !== 'left'\"\n [class.devui-time-axis-item-data-horizontal-bottom]=\"direction === 'horizontal'\"\n [class.devui-time-axis-item-data-vertical-right]=\"direction === 'vertical' && timePosition !== 'bottom'\"\n [class.devui-time-axis-item-data-time-bottom]=\"timePosition === 'bottom'\"\n >\n <div *ngIf=\"time && (position === 'top' || position === 'left')\">\n <div [class.devui-time-axis-item-horizontal-align-center]=\"position === 'top' && horizontalAlign === 'center'\">{{ time }}</div>\n </div>\n <div\n *ngIf=\"position === 'bottom' || position === 'right'\"\n [class.devui-time-axis-item-horizontal-align-center]=\"position === 'bottom' && horizontalAlign === 'center'\"\n >\n <div *ngIf=\"model !== 'template'\" [innerHTML]=\"text | safe: 'html'\"></div>\n <div *ngIf=\"model === 'template'\">\n <ng-template [ngTemplateOutlet]=\"contentTemplate\" [ngTemplateOutletContext]=\"{ $implicit: this, data: data }\"></ng-template>\n </div>\n </div>\n </div>\n</div>\n", styles: [".devui-time-axis-item-horizontal{display:flex;flex-direction:column;height:100%}.devui-time-axis-item-horizontal .devui-time-axis-item-axis{display:flex;flex-direction:row;align-items:center}.devui-time-axis-item-horizontal .devui-time-axis-item-dot,.devui-time-axis-item-horizontal .devui-time-axis-item-dot>svg{width:18px;height:18px}.devui-time-axis-item-horizontal .devui-time-axis-item-dot>i{font-size:18px}.devui-time-axis-item-horizontal .devui-time-axis-item-custom-dot{width:18px;height:18px;text-align:center}.devui-time-axis-item-horizontal .devui-time-axis-item-line{position:relative;min-width:60px;width:calc(100% - 18px);border-bottom-width:2px;border-bottom-color:var(--devui-dividing-line, #f0f0f0)}.devui-time-axis-item-horizontal .devui-time-axis-item-data-horizontal-top{display:flex;align-items:flex-end;margin-right:12px;flex:1}.devui-time-axis-item-horizontal .devui-time-axis-item-data-horizontal-bottom{margin-right:12px;flex:1}.devui-time-axis-item-horizontal .devui-time-axis-item-axis-padding-horizontal{padding:12px 0}.devui-time-axis-item-horizontal .devui-time-axis-item-axis-padding-mode-top{padding-bottom:0}.devui-time-axis-item-horizontal .devui-time-axis-item-axis-padding-mode-bottom{padding-top:0}.devui-time-axis-item-horizontal .devui-time-axis-line-style-dashed{border-bottom-style:dashed}.devui-time-axis-item-horizontal .devui-time-axis-line-style-solid{border-bottom-style:solid}.devui-time-axis-item-horizontal .devui-time-axis-line-style-dotted{border-bottom-style:dotted}.devui-time-axis-item-horizontal .devui-time-axis-line-style-none{border-bottom-style:none}.devui-time-axis-item-horizontal .devui-time-axis-middle-zone{position:absolute;left:50%;transform:translate(-50%,-50%)}.devui-time-axis-item-vertical{display:flex;flex-direction:row;width:100%}.devui-time-axis-item-vertical .devui-time-axis-item-axis{display:flex;flex-direction:column;align-items:center}.devui-time-axis-item-vertical .devui-time-axis-item-dot,.devui-time-axis-item-vertical .devui-time-axis-item-dot>svg{width:18px;height:18px}.devui-time-axis-item-vertical .devui-time-axis-item-dot>i{font-size:18px}.devui-time-axis-item-vertical .devui-time-axis-item-custom-dot{width:18px;height:18px;text-align:center}.devui-time-axis-item-vertical .devui-time-axis-item-line{position:relative;height:calc(100% - 18px);border-left-width:2px;border-left-color:var(--devui-dividing-line, #f0f0f0)}.devui-time-axis-item-vertical .devui-time-axis-item-data-vertical-left{text-align:end;margin-bottom:24px;flex:1}.devui-time-axis-item-vertical .devui-time-axis-item-data-vertical-right{margin-bottom:24px;flex:1}.devui-time-axis-item-vertical .devui-time-axis-item-axis-padding-vertical{padding:0 12px}.devui-time-axis-item-vertical .devui-time-axis-item-axis-padding-mode-left{padding-right:0}.devui-time-axis-item-vertical .devui-time-axis-item-axis-padding-mode-right{padding-left:0}.devui-time-axis-item-vertical .devui-time-axis-line-style-dashed{border-left-style:dashed}.devui-time-axis-item-vertical .devui-time-axis-line-style-solid{border-left-style:solid}.devui-time-axis-item-vertical .devui-time-axis-line-style-dotted{border-left-style:dotted}.devui-time-axis-item-vertical .devui-time-axis-line-style-none{border-left-style:none}.devui-time-axis-item-vertical .devui-time-axis-middle-zone{position:absolute;top:50%;transform:translate(-50%,-50%)}.devui-time-axis-item-vertical-time-bottom{display:flex}.devui-time-axis-item-vertical-time-bottom .devui-time-axis-item-axis{display:flex;flex-direction:column;align-items:center}.devui-time-axis-item-vertical-time-bottom .devui-time-axis-item-dot,.devui-time-axis-item-vertical-time-bottom .devui-time-axis-item-dot>svg{width:18px;height:18px}.devui-time-axis-item-vertical-time-bottom .devui-time-axis-item-dot>i{font-size:18px}.devui-time-axis-item-vertical-time-bottom .devui-time-axis-item-custom-dot{width:18px;height:18px;text-align:center}.devui-time-axis-item-vertical-time-bottom .devui-time-axis-item-line-time-bottom{position:relative;height:calc(100% - 36px);border-left-width:2px;border-left-color:var(--devui-dividing-line, #f0f0f0)}.devui-time-axis-item-vertical-time-bottom .devui-time-axis-line-style-dashed{border-left-style:dashed}.devui-time-axis-item-vertical-time-bottom .devui-time-axis-line-style-solid{border-left-style:solid}.devui-time-axis-item-vertical-time-bottom .devui-time-axis-line-style-none{border-left-style:none}.devui-time-axis-item-vertical-time-bottom .devui-time-axis-middle-zone{position:absolute;top:50%;transform:translate(-50%,-50%)}.devui-time-axis-item-vertical-time-bottom .devui-time-axis-item-data-time-bottom{margin-left:12px;margin-bottom:40px}.devui-time-axis-item-vertical-time-bottom .devui-time-axis-item-template{margin-left:12px;margin-bottom:24px}.devui-time-axis-item-type-primary{border:2px solid var(--devui-placeholder, #808080);border-radius:50%}.devui-time-axis-item-type-right i{color:var(--devui-success, #058358)}.devui-time-axis-item-type-danger path{fill:var(--devui-danger, #e02128)}.devui-time-axis-item-type-danger circle{fill:var(--devui-light-text, #ffffff)}.devui-time-axis-item-type-warning i{color:var(--devui-warning, #fcc800)}.devui-time-axis-item-type-running{line-height:16px;text-align:center;animation:devui-time-axis-running 1.5s linear infinite;border:2px solid var(--devui-success, #058358);border-radius:50%}@keyframes devui-time-axis-running{0%{transform:rotate(0);color:var(--devui-success, #058358);border-color:var(--devui-success, #058358)}50%{transform:rotate(180deg);color:var(--devui-success, #058358);border-color:var(--devui-success, #058358)}to{transform:rotate(360deg);color:var(--devui-success, #058358);border-color:var(--devui-success, #058358)}}.devui-time-axis-item-data-hidden{visibility:hidden}:host.devui-time-axis-item-horizontal-no-line{width:auto!important}:host.devui-time-axis-item-horizontal-no-line .devui-time-axis-item-data-horizontal-top{width:max-content}:host.devui-time-axis-item-horizontal-no-line .devui-time-axis-item-data-horizontal-bottom{width:max-content}:host.devui-time-axis-item-vertical-no-line .devui-time-axis-item-data-time-bottom{margin-bottom:0}:host.devui-time-axis-item-vertical-no-line .devui-time-axis-item-data-vertical-left{margin-bottom:0}:host.devui-time-axis-item-vertical-no-line .devui-time-axis-item-data-vertical-right{margin-bottom:0}.devui-time-axis-item-horizontal-align-center{position:relative;width:fit-content;transform:translate(-50%);left:8px}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i2.SafePipe, name: "safe" }] }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TimeAxisItemComponent, decorators: [{ type: Component, args: [{ selector: 'd-time-axis-item', template: "<div\n [class.devui-time-axis-item-horizontal]=\"direction === 'horizontal'\"\n [class.devui-time-axis-item-vertical]=\"direction === 'vertical' && timePosition !== 'bottom'\"\n [class.devui-time-axis-item-vertical-time-bottom]=\"direction === 'vertical' && timePosition === 'bottom'\"\n>\n <div\n *ngIf=\"timePosition !== 'bottom' && mode !== 'bottom' && mode !== 'right'\"\n [class.devui-time-axis-item-data-horizontal-top]=\"direction === 'horizontal'\"\n [class.devui-time-axis-item-data-vertical-left]=\"direction === 'vertical'\"\n >\n <div *ngIf=\"time && (position === 'bottom' || position === 'right')\">\n <div [class.devui-time-axis-item-horizontal-align-center]=\"position === 'bottom' && horizontalAlign === 'center'\">{{ time }}</div>\n </div>\n <div\n *ngIf=\"position === 'top' || position === 'left'\"\n [class.devui-time-axis-item-horizontal-align-center]=\"position === 'top' && horizontalAlign === 'center'\"\n >\n <div *ngIf=\"model !== 'template'\" [innerHTML]=\"text | safe: 'html'\"></div>\n <div *ngIf=\"model === 'template'\">\n <ng-template [ngTemplateOutlet]=\"contentTemplate\" [ngTemplateOutletContext]=\"{ $implicit: this, data: data }\"></ng-template>\n </div>\n </div>\n </div>\n <div\n class=\"devui-time-axis-item-axis\"\n [class.devui-time-axis-item-axis-padding-horizontal]=\"direction === 'horizontal'\"\n [class.devui-time-axis-item-axis-padding-vertical]=\"direction === 'vertical'\"\n [class.devui-time-axis-item-axis-padding-mode-top]=\"mode === 'top'\"\n [class.devui-time-axis-item-axis-padding-mode-bottom]=\"mode === 'bottom'\"\n [class.devui-time-axis-item-axis-padding-mode-left]=\"mode === 'left'\"\n [class.devui-time-axis-item-axis-padding-mode-right]=\"mode === 'right'\"\n >\n <div\n *ngIf=\"!customDot && (_type === 'primary' || !_type)\"\n [style.borderColor]=\"dotColor\"\n class=\"devui-time-axis-item-dot devui-time-axis-item-type-{{ _type || 'primary' }} {{ iconClass }}\"\n ></div>\n <div\n *ngIf=\"!customDot && _type !== 'primary' && _type\"\n class=\"devui-time-axis-item-dot devui-time-axis-item-type-{{ _type || 'primary' }} {{ iconClass }}\"\n >\n <svg\n *ngIf=\"_type === 'danger'\"\n class=\"devui-icon devui-icon-error\"\n width=\"16px\"\n height=\"16px\"\n viewBox=\"0 0 16 16\"\n version=\"1.1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n >\n <g stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n <circle cx=\"8\" cy=\"8\" r=\"7\"></circle>\n <path\n d=\"M8,0 C3.6,0 0,3.6 0,8 C0,12.4 3.6,16 8,16 C12.4,16 16,12.4 16,8 C16,3.6 12.4,0 8,0 Z M9,12.6 L7,12.6 L7,10.6 L9,10.6 L9,12.6 Z M9,9.1 L7,9.1 L6.9,3.1 L9.1,3.1 L9,9.1 Z\"\n fill-rule=\"nonzero\"\n ></path>\n </g>\n </svg>\n <i *ngIf=\"_type === 'right' || _type === 'warning'\" class=\"devui-icon icon-{{ _type }}-o\"></i>\n <span *ngIf=\"_type === 'running'\">\n {{ dotText }}\n </span>\n </div>\n <div *ngIf=\"customDot\" class=\"devui-time-axis-item-custom-dot\">\n <ng-template [ngTemplateOutlet]=\"dotTemplate || defaultDotTemplate\"> </ng-template>\n <ng-template #defaultDotTemplate>\n <span [innerHTML]=\"customDot | safe: 'html'\"></span>\n </ng-template>\n </div>\n <div *ngIf=\"time && timePosition === 'bottom'\">{{ time }}</div>\n <div class=\"{{ timeAxisLineClass }}\" [style.borderColor]=\"lineStyle?.color\">\n <div *ngIf=\"extraElement\" class=\"devui-time-axis-middle-zone\">\n <ng-template [ngTemplateOutlet]=\"extraTemplate || defaultTemplate\"> </ng-template>\n <ng-template #defaultTemplate>\n <div [innerHTML]=\"extraElement | safe: 'html'\"></div>\n </ng-template>\n </div>\n </div>\n </div>\n <div\n *ngIf=\"mode !== 'top' && mode !== 'left'\"\n [class.devui-time-axis-item-data-horizontal-bottom]=\"direction === 'horizontal'\"\n [class.devui-time-axis-item-data-vertical-right]=\"direction === 'vertical' && timePosition !== 'bottom'\"\n [class.devui-time-axis-item-data-time-bottom]=\"timePosition === 'bottom'\"\n >\n <div *ngIf=\"time && (position === 'top' || position === 'left')\">\n <div [class.devui-time-axis-item-horizontal-align-center]=\"position === 'top' && horizontalAlign === 'center'\">{{ time }}</div>\n </div>\n <div\n *ngIf=\"position === 'bottom' || position === 'right'\"\n [class.devui-time-axis-item-horizontal-align-center]=\"position === 'bottom' && horizontalAlign === 'center'\"\n >\n <div *ngIf=\"model !== 'template'\" [innerHTML]=\"text | safe: 'html'\"></div>\n <div *ngIf=\"model === 'template'\">\n <ng-template [ngTemplateOutlet]=\"contentTemplate\" [ngTemplateOutletContext]=\"{ $implicit: this, data: data }\"></ng-template>\n </div>\n </div>\n </div>\n</div>\n", styles: [".devui-time-axis-item-horizontal{display:flex;flex-direction:column;height:100%}.devui-time-axis-item-horizontal .devui-time-axis-item-axis{display:flex;flex-direction:row;align-items:center}.devui-time-axis-item-horizontal .devui-time-axis-item-dot,.devui-time-axis-item-horizontal .devui-time-axis-item-dot>svg{width:18px;height:18px}.devui-time-axis-item-horizontal .devui-time-axis-item-dot>i{font-size:18px}.devui-time-axis-item-horizontal .devui-time-axis-item-custom-dot{width:18px;height:18px;text-align:center}.devui-time-axis-item-horizontal .devui-time-axis-item-line{position:relative;min-width:60px;width:calc(100% - 18px);border-bottom-width:2px;border-bottom-color:var(--devui-dividing-line, #f0f0f0)}.devui-time-axis-item-horizontal .devui-time-axis-item-data-horizontal-top{display:flex;align-items:flex-end;margin-right:12px;flex:1}.devui-time-axis-item-horizontal .devui-time-axis-item-data-horizontal-bottom{margin-right:12px;flex:1}.devui-time-axis-item-horizontal .devui-time-axis-item-axis-padding-horizontal{padding:12px 0}.devui-time-axis-item-horizontal .devui-time-axis-item-axis-padding-mode-top{padding-bottom:0}.devui-time-axis-item-horizontal .devui-time-axis-item-axis-padding-mode-bottom{padding-top:0}.devui-time-axis-item-horizontal .devui-time-axis-line-style-dashed{border-bottom-style:dashed}.devui-time-axis-item-horizontal .devui-time-axis-line-style-solid{border-bottom-style:solid}.devui-time-axis-item-horizontal .devui-time-axis-line-style-dotted{border-bottom-style:dotted}.devui-time-axis-item-horizontal .devui-time-axis-line-style-none{border-bottom-style:none}.devui-time-axis-item-horizontal .devui-time-axis-middle-zone{position:absolute;left:50%;transform:translate(-50%,-50%)}.devui-time-axis-item-vertical{display:flex;flex-direction:row;width:100%}.devui-time-axis-item-vertical .devui-time-axis-item-axis{display:flex;flex-direction:column;align-items:center}.devui-time-axis-item-vertical .devui-time-axis-item-dot,.devui-time-axis-item-vertical .devui-time-axis-item-dot>svg{width:18px;height:18px}.devui-time-axis-item-vertical .devui-time-axis-item-dot>i{font-size:18px}.devui-time-axis-item-vertical .devui-time-axis-item-custom-dot{width:18px;height:18px;text-align:center}.devui-time-axis-item-vertical .devui-time-axis-item-line{position:relative;height:calc(100% - 18px);border-left-width:2px;border-left-color:var(--devui-dividing-line, #f0f0f0)}.devui-time-axis-item-vertical .devui-time-axis-item-data-vertical-left{text-align:end;margin-bottom:24px;flex:1}.devui-time-axis-item-vertical .devui-time-axis-item-data-vertical-right{margin-bottom:24px;flex:1}.devui-time-axis-item-vertical .devui-time-axis-item-axis-padding-vertical{padding:0 12px}.devui-time-axis-item-vertical .devui-time-axis-item-axis-padding-mode-left{padding-right:0}.devui-time-axis-item-vertical .devui-time-axis-item-axis-padding-mode-right{padding-left:0}.devui-time-axis-item-vertical .devui-time-axis-line-style-dashed{border-left-style:dashed}.devui-time-axis-item-vertical .devui-time-axis-line-style-solid{border-left-style:solid}.devui-time-axis-item-vertical .devui-time-axis-line-style-dotted{border-left-style:dotted}.devui-time-axis-item-vertical .devui-time-axis-line-style-none{border-left-style:none}.devui-time-axis-item-vertical .devui-time-axis-middle-zone{position:absolute;top:50%;transform:translate(-50%,-50%)}.devui-time-axis-item-vertical-time-bottom{display:flex}.devui-time-axis-item-vertical-time-bottom .devui-time-axis-item-axis{display:flex;flex-direction:column;align-items:center}.devui-time-axis-item-vertical-time-bottom .devui-time-axis-item-dot,.devui-time-axis-item-vertical-time-bottom .devui-time-axis-item-dot>svg{width:18px;height:18px}.devui-time-axis-item-vertical-time-bottom .devui-time-axis-item-dot>i{font-size:18px}.devui-time-axis-item-vertical-time-bottom .devui-time-axis-item-custom-dot{width:18px;height:18px;text-align:center}.devui-time-axis-item-vertical-time-bottom .devui-time-axis-item-line-time-bottom{position:relative;height:calc(100% - 36px);border-left-width:2px;border-left-color:var(--devui-dividing-line, #f0f0f0)}.devui-time-axis-item-vertical-time-bottom .devui-time-axis-line-style-dashed{border-left-style:dashed}.devui-time-axis-item-vertical-time-bottom .devui-time-axis-line-style-solid{border-left-style:solid}.devui-time-axis-item-vertical-time-bottom .devui-time-axis-line-style-none{border-left-style:none}.devui-time-axis-item-vertical-time-bottom .devui-time-axis-middle-zone{position:absolute;top:50%;transform:translate(-50%,-50%)}.devui-time-axis-item-vertical-time-bottom .devui-time-axis-item-data-time-bottom{margin-left:12px;margin-bottom:40px}.devui-time-axis-item-vertical-time-bottom .devui-time-axis-item-template{margin-left:12px;margin-bottom:24px}.devui-time-axis-item-type-primary{border:2px solid var(--devui-placeholder, #808080);border-radius:50%}.devui-time-axis-item-type-right i{color:var(--devui-success, #058358)}.devui-time-axis-item-type-danger path{fill:var(--devui-danger, #e02128)}.devui-time-axis-item-type-danger circle{fill:var(--devui-light-text, #ffffff)}.devui-time-axis-item-type-warning i{color:var(--devui-warning, #fcc800)}.devui-time-axis-item-type-running{line-height:16px;text-align:center;animation:devui-time-axis-running 1.5s linear infinite;border:2px solid var(--devui-success, #058358);border-radius:50%}@keyframes devui-time-axis-running{0%{transform:rotate(0);color:var(--devui-success, #058358);border-color:var(--devui-success, #058358)}50%{transform:rotate(180deg);color:var(--devui-success, #058358);border-color:var(--devui-success, #058358)}to{transform:rotate(360deg);color:var(--devui-success, #058358);border-color:var(--devui-success, #058358)}}.devui-time-axis-item-data-hidden{visibility:hidden}:host.devui-time-axis-item-horizontal-no-line{width:auto!important}:host.devui-time-axis-item-horizontal-no-line .devui-time-axis-item-data-horizontal-top{width:max-content}:host.devui-time-axis-item-horizontal-no-line .devui-time-axis-item-data-horizontal-bottom{width:max-content}:host.devui-time-axis-item-vertical-no-line .devui-time-axis-item-data-time-bottom{margin-bottom:0}:host.devui-time-axis-item-vertical-no-line .devui-time-axis-item-data-vertical-left{margin-bottom:0}:host.devui-time-axis-item-vertical-no-line .devui-time-axis-item-data-vertical-right{margin-bottom:0}.devui-time-axis-item-horizontal-align-center{position:relative;width:fit-content;transform:translate(-50%);left:8px}\n"] }] }], ctorParameters: () => [], propDecorators: { model: [{ type: Input }], direction: [{ type: Input }], time: [{ type: Input }], timePosition: [{ type: Input }], position: [{ type: Input }], lineStyle: [{ type: Input }], customDot: [{ type: Input }], dotColor: [{ type: Input }], iconClass: [{ type: Input }], extraElement: [{ type: Input }], text: [{ type: Input }], contentTemplate: [{ type: Input }], data: [{ type: Input }], horizontalAlign: [{ type: Input }], mode: [{ type: Input }], statusChanged: [{ type: Output }], type: [{ type: Input }], status: [{ type: Input }], horizontalNoLine: [{ type: HostBinding, args: ['class.devui-time-axis-item-horizontal-no-line'] }], verticalNoLine: [{ type: HostBinding, args: ['class.devui-time-axis-item-vertical-no-line'] }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS1heGlzLWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vZGV2dWkvdGltZS1heGlzL3RpbWUtYXhpcy1pdGVtL3RpbWUtYXhpcy1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL2RldnVpL3RpbWUtYXhpcy90aW1lLWF4aXMtaXRlbS90aW1lLWF4aXMtaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7QUFRekcsTUFBTSxPQUFPLHFCQUFxQjtJQW9CaEMsSUFDSSxJQUFJLENBQUMsSUFBSTtRQUNYLFFBQVEsSUFBSSxFQUFFLENBQUM7WUFDZixLQUFLLFNBQVM7Z0JBQ1osSUFBSSxDQUFDLEtBQUssR0FBRyxPQUFPLENBQUM7Z0JBQ3JCLE1BQU07WUFFUixLQUFLLFFBQVE7Z0JBQ1gsSUFBSSxDQUFDLEtBQUssR0FBRyxRQUFRLENBQUM7Z0JBQ3RCLE1BQU07WUFFUixLQUFLLFNBQVM7Z0JBQ1osSUFBSSxDQUFDLEtBQUssR0FBRyxTQUFTLENBQUM7Z0JBQ3ZCLE1BQU07WUFFUixLQUFLLFNBQVM7Z0JBQ1osSUFBSSxDQUFDLEtBQUssR0FBRyxTQUFTLENBQUM7Z0JBQ3ZCLE1BQU07WUFFUixLQUFLLFNBQVM7Z0JBQ1osSUFBSSxDQUFDLEtBQUssR0FBRyxTQUFTLENBQUM7Z0JBQ3ZCLElBQUksQ0FBQyxPQUFPLEdBQUcsR0FBRyxDQUFDO2dCQUNuQixNQUFNO1lBRVI7Z0JBQ0UsTUFBTTtRQUNSLENBQUM7SUFDSCxDQUFDO0lBRUQ7O01BRUU7SUFDRixJQUNJLE1BQU0sQ0FBQyxNQUFNO1FBQ2YsSUFBSSxNQUFNLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDekIsSUFBSSxDQUFDLGFBQWEsQ0FB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bmVudCwgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZywgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGltZUF4aXNNb2RlIH0gZnJvbSAnLi4vdGltZS1heGlzLnR5cGUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdkLXRpbWUtYXhpcy1pdGVtJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RpbWUtYXhpcy1pdGVtLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGltZS1heGlzLWl0ZW0uY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBUaW1lQXhpc0l0ZW1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBtb2RlbDtcbiAgQElucHV0KCkgZGlyZWN0aW9uO1xuICBASW5wdXQoKSB0aW1lO1xuICBASW5wdXQoKSB0aW1lUG9zaXRpb247IC8vIGRpcmVjdGlvbuS4unZlcnRpY2Fs5pe2dGltZeeahOS9jee9rlxuICBASW5wdXQoKSBwb3NpdGlvbjtcbiAgQElucHV0KCkgbGluZVN0eWxlO1xuICBASW5wdXQoKSBjdXN0b21Eb3Q7XG4gIEBJbnB1dCgpIGRvdENvbG9yO1xuICBASW5wdXQoKSBpY29uQ2xhc3M7XG4gIEBJbnB1dCgpIGV4dHJhRWxlbWVudDtcbiAgQElucHV0KCkgdGV4dDtcbiAgQElucHV0KCkgY29udGVudFRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICBASW5wdXQoKSBkYXRhO1xuICBASW5wdXQoKSBob3Jpem9udGFsQWxpZ24gPSAnY2VudGVyJztcbiAgQElucHV0KCkgbW9kZTogVGltZUF4aXNNb2RlID0gJ25vcm1hbCc7XG4gIEBPdXRwdXQoKSBzdGF0dXNDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG4gIF90eXBlO1xuICBkb3RUZXh0OiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgc2V0IHR5cGUodHlwZSkge1xuICAgIHN3aXRjaCAodHlwZSkge1xuICAgIGNhc2UgJ3N1Y2Nlc3MnOlxuICAgICAgdGhpcy5fdHlwZSA9ICdyaWdodCc7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgJ2Rhbmdlcic6XG4gICAgICB0aGlzLl90eXBlID0gJ2Rhbmdlcic7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgJ3dhcm5pbmcnOlxuICAgICAgdGhpcy5fdHlwZSA9ICd3YXJuaW5nJztcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSAncHJpbWFyeSc6XG4gICAgICB0aGlzLl90eXBlID0gJ3ByaW1hcnknO1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlICdydW5uaW5nJzpcbiAgICAgIHRoaXMuX3R5cGUgPSAncnVubmluZyc7XG4gICAgICB0aGlzLmRvdFRleHQgPSAn4oa7JztcbiAgICAgIGJyZWFrO1xuXG4gICAgZGVmYXVsdDpcbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAqIEBkZXByZWNhdGVkIFVzZSB0eXBlIHRvIHJlcGxhY2UuXG4gICovXG4gIEBJbnB1dCgpXG4gIHNldCBzdGF0dXMoc3RhdHVzKSB7XG4gICAgaWYgKHN0YXR1cyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLnN0YXR1c0NoYW5nZWQuZW1pdChzdGF0dXMpO1xuXG4gICAgICBpZiAoc3RhdHVzID09PSAncnVubmluZycpIHtcbiAgICAgICAgdGhpcy50eXBlID0gJ3J1bm5pbmcnO1xuICAgICAgfSBlbHNlIGlmICh0aGlzLl90eXBlID09PSAncnVubmluZycgJiYgc3RhdHVzID09PSAnJykge1xuICAgICAgICB0aGlzLnR5cGUgPSAncHJpbWFyeSc7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5kZXZ1aS10aW1lLWF4aXMtaXRlbS1ob3Jpem9udGFsLW5vLWxpbmUnKSBnZXQgaG9yaXpvbnRhbE5vTGluZSgpIHtcbiAgICByZXR1cm4gdGhpcy5kaXJlY3Rpb24gPT09ICdob3Jpem9udGFsJyAmJiB0aGlzPy5saW5lU3R5bGU/LnN0eWxlID09PSAnbm9uZSc7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmRldnVpLXRpbWUtYXhpcy1pdGVtLXZlcnRpY2FsLW5vLWxpbmUnKSBnZXQgdmVydGljYWxOb0xpbmUoKSB7XG4gICAgcmV0dXJuIHRoaXMuZGlyZWN0aW9uID09PSAndmVydGljYWwnICYmIHRoaXM/LmxpbmVTdHlsZT8uc3R5bGUgPT09ICdub25lJztcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKCkgeyB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgaWYgKHRoaXMucG9zaXRpb24gPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5wb3NpdGlvbiA9ICh0aGlzLmRpcmVjdGlvbiA9PT0gJ3ZlcnRpY2FsJyA/ICdyaWdodCcgOiAnYm90dG9tJyk7XG4gICAgfVxuICB9XG5cbiAgZ2V0IGV4dHJhVGVtcGxhdGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuZXh0cmFFbGVtZW50IGluc3RhbmNlb2YgVGVtcGxhdGVSZWYgPyB0aGlzLmV4dHJhRWxlbWVudCA6IG51bGw7XG4gIH1cblxuICBnZXQgZG90VGVtcGxhdGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuY3VzdG9tRG90IGluc3RhbmNlb2YgVGVtcGxhdGVSZWYgPyB0aGlzLmV4dHJhRWxlbWVudCA6IG51bGw7XG4gIH1cblxuICBnZXQgdGltZUF4aXNMaW5lQ2xhc3MoKSB7XG4gICAgbGV0IHN0eWxlQ2xhc3MgPSBgZGV2dWktdGltZS1heGlzLWxpbmUtc3R5bGUtJHsgdGhpcy5saW5lU3R5bGU/LnN0eWxlIHx8ICdzb2xpZCcgfWA7XG4gICAgc3R5bGVDbGFzcyArPSB0aGlzLnRpbWVQb3NpdGlvbiAhPT0gJ2JvdHRvbScgPyAnIGRldnVpLXRpbWUtYXhpcy1pdGVtLWxpbmUnIDogJyBkZXZ1aS10aW1lLWF4aXMtaXRlbS1saW5lLXRpbWUtYm90dG9tJztcbiAgICByZXR1cm4gc3R5bGVDbGFzcztcbiAgfVxuXG59XG4iLCI8ZGl2XG4gIFtjbGFzcy5kZXZ1aS10aW1lLWF4aXMtaXRlbS1ob3Jpem9udGFsXT1cImRpcmVjdGlvbiA9PT0gJ2hvcml6b250YWwnXCJcbiAgW2NsYXNzLmRldnVpLXRpbWUtYXhpcy1pdGVtLXZlcnRpY2FsXT1cImRpcmVjdGlvbiA9PT0gJ3ZlcnRpY2FsJyAmJiB0aW1lUG9zaXRpb24gIT09ICdib3R0b20nXCJcbiAgW2NsYXNzLmRldnVpLXRpbWUtYXhpcy1pdGVtLXZlcnRpY2FsLXRpbWUtYm90dG9tXT1cImRpcmVjdGlvbiA9PT0gJ3ZlcnRpY2FsJyAmJiB0aW1lUG9zaXRpb24gPT09ICdib3R0b20nXCJcbj5cbiAgPGRpdlxuICAgICpuZ0lmPVwidGltZVBvc2l0aW9uICE9PSAnYm90dG9tJyAmJiBtb2RlICE9PSAnYm90dG9tJyAmJiBtb2RlICE9PSAncmlnaHQnXCJcbiAgICBbY2xhc3MuZGV2dWktdGltZS1heGlzLWl0ZW0tZGF0YS1ob3Jpem9udGFsLXRvcF09XCJkaXJlY3Rpb24gPT09ICdob3Jpem9udGFsJ1wiXG4gICAgW2NsYXNzLmRldnVpLXRpbWUtYXhpcy1pdGVtLWRhdGEtdmVydGljYWwtbGVmdF09XCJkaXJlY3Rpb24gPT09ICd2ZXJ0aWNhbCdcIlxuICA+XG4gICAgPGRpdiAqbmdJZj1cInRpbWUgJiYgKHBvc2l0aW9uID09PSAnYm90dG9tJyB8fCBwb3NpdGlvbiA9PT0gJ3JpZ2h0JylcIj5cbiAgICAgIDxkaXYgW2NsYXNzLmRldnVpLXRpbWUtYXhpcy1pdGVtLWhvcml6b250YWwtYWxpZ24tY2VudGVyXT1cInBvc2l0aW9uID09PSAnYm90dG9tJyAmJiBob3Jpem9udGFsQWxpZ24gPT09ICdjZW50ZXInXCI+e3sgdGltZSB9fTwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXZcbiAgICAgICpuZ0lmPVwicG9zaXRpb24gPT09ICd0b3AnIHx8IHBvc2l0aW9uID09PSAnbGVmdCdcIlxuICAgICAgW2NsYXNzLmRldnVpLXRpbWUtYXhpcy1pdGVtLWhvcml6b250YWwtYWxpZ24tY2VudGVyXT1cInBvc2l0aW9uID09PSAndG9wJyAmJiBob3Jpem9udGFsQWxpZ24gPT09ICdjZW50ZXInXCJcbiAgICA+XG4gICAgICA8ZGl2ICpuZ0lmPVwibW9kZWwgIT09ICd0ZW1wbGF0ZSdcIiBbaW5uZXJIVE1MXT1cInRleHQgfCBzYWZlOiAnaHRtbCdcIj48L2Rpdj5cbiAgICAgIDxkaXYgKm5nSWY9XCJtb2RlbCA9PT0gJ3RlbXBsYXRlJ1wiPlxuICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwiY29udGVudFRlbXBsYXRlXCIgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiB0aGlzLCBkYXRhOiBkYXRhIH1cIj48L25nLXRlbXBsYXRlPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2XG4gICAgY2xhc3M9XCJkZXZ1aS10aW1lLWF4aXMtaXRlbS1heGlzXCJcbiAgICBbY2xhc3MuZGV2dWktdGltZS1heGlzLWl0ZW0tYXhpcy1wYWRkaW5nLWhvcml6b250YWxdPVwiZGlyZWN0aW9uID09PSAnaG9yaXpvbnRhbCdcIlxuICAgIFtjbGFzcy5kZXZ1aS10aW1lLWF4aXMtaXRlbS1heGlzLXBhZGRpbmctdmVydGljYWxdPVwiZGlyZWN0aW9uID09PSAndmVydGljYWwnXCJcbiAgICBbY2xhc3MuZGV2dWktdGltZS1heGlzLWl0ZW0tYXhpcy1wYWRkaW5nLW1vZGUtdG9wXT1cIm1vZGUgPT09ICd0b3AnXCJcbiAgICBbY2xhc3MuZGV2dWktdGltZS1heGlzLWl0ZW0tYXhpcy1wYWRkaW5nLW1vZGUtYm90dG9tXT1cIm1vZGUgPT09ICdib3R0b20nXCJcbiAgICBbY2xhc3MuZGV2dWktdGltZS1heGlzLWl0ZW0tYXhpcy1wYWRkaW5nLW1vZGUtbGVmdF09XCJtb2RlID09PSAnbGVmdCdcIlxuICAgIFtjbGFzcy5kZXZ1aS10aW1lLWF4aXMtaXRlbS1heGlzLXBhZGRpbmctbW9kZS1yaWdodF09XCJtb2RlID09PSAncmlnaHQnXCJcbiAgPlxuICAgIDxkaXZcbiAgICAgICpuZ0lmPVwiIWN1c3RvbURvdCAmJiAoX3R5cGUgPT09ICdwcmltYXJ5JyB8fCAhX3R5cGUpXCJcbiAgICAgIFtzdHlsZS5ib3JkZXJDb2xvcl09XCJkb3RDb2xvclwiXG4gICAgICBjbGFzcz1cImRldnVpLXRpbWUtYXhpcy1pdGVtLWRvdCBkZXZ1aS10aW1lLWF4aXMtaXRlbS10eXBlLXt7IF90eXBlIHx8ICdwcmltYXJ5JyB9fSB7eyBpY29uQ2xhc3MgfX1cIlxuICAgID48L2Rpdj5cbiAgICA8ZGl2XG4gICAgICAqbmdJZj1cIiFjdXN0b21Eb3QgJiYgX3R5cGUgIT09ICdwcmltYXJ5JyAmJiBfdHlwZVwiXG4gICAgICBjbGFzcz1cImRldnVpLXRpbWUtYXhpcy1pdGVtLWRvdCBkZXZ1aS10aW1lLWF4aXMtaXRlbS10eXBlLXt7IF90eXBlIHx8ICdwcmltYXJ5JyB9fSB7eyBpY29uQ2xhc3MgfX1cIlxuICAgID5cbiAgICAgIDxzdmdcbiAgICAgICAgKm5nSWY9XCJfdHlwZSA9PT0gJ2RhbmdlcidcIlxuICAgICAgICBjbGFzcz1cImRldnVpLWljb24gZGV2dWktaWNvbi1lcnJvclwiXG4gICAgICAgIHdpZHRoPVwiMTZweFwiXG4gICAgICAgIGhlaWdodD1cIjE2cHhcIlxuICAgICAgICB2aWV3Qm94PVwiMCAwIDE2IDE2XCJcbiAgICAgICAgdmVyc2lvbj1cIjEuMVwiXG4gICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgICAgICB4bWxuczp4bGluaz1cImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmtcIlxuICAgICAgPlxuICAgICAgICA8ZyBzdHJva2U9XCJub25lXCIgc3Ryb2tlLXdpZHRoPVwiMVwiIGZpbGw9XCJub25lXCIgZmlsbC1ydWxlPVwiZXZlbm9kZFwiPlxuICAgICAgICAgIDxjaXJjbGUgY3g9XCI4XCIgY3k9XCI4XCIgcj1cIjdcIj48L2NpcmNsZT5cbiAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgZD1cIk04LDAgQzMuNiwwIDAsMy42IDAsOCBDMCwxMi40IDMuNiwxNiA4LDE2IEMxMi40LDE2IDE2LDEyLjQgMTYsOCBDMTYsMy42IDEyLjQsMCA4LDAgWiBNOSwxMi42IEw3LDEyLjYgTDcsMTAuNiBMOSwxMC42IEw5LDEyLjYgWiBNOSw5LjEgTDcsOS4xIEw2LjksMy4xIEw5LjEsMy4xIEw5LDkuMSBaXCJcbiAgICAgICAgICAgIGZpbGwtcnVsZT1cIm5vbnplcm9cIlxuICAgICAgICAgID48L3BhdGg+XG4gICAgICAgIDwvZz5cbiAgICAgIDwvc3ZnPlxuICAgICAgPGkgKm5nSWY9XCJfdHlwZSA9PT0gJ3JpZ2h0JyB8fCBfdHlwZSA9PT0gJ3dhcm5pbmcnXCIgY2xhc3M9XCJkZXZ1aS1pY29uIGljb24te3sgX3R5cGUgfX0tb1wiPjwvaT5cbiAgICAgIDxzcGFuICpuZ0lmPVwiX3R5cGUgPT09ICdydW5uaW5nJ1wiPlxuICAgICAgICB7eyBkb3RUZXh0IH19XG4gICAgICA8L3NwYW4+XG4gICAgPC9kaXY+XG4gICAgPGRpdiAqbmdJZj1cImN1c3RvbURvdFwiIGNsYXNzPVwiZGV2dWktdGltZS1heGlzLWl0ZW0tY3VzdG9tLWRvdFwiPlxuICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImRvdFRlbXBsYXRlIHx8IGRlZmF1bHREb3RUZW1wbGF0ZVwiPiA8L25nLXRlbXBsYXRlPlxuICAgICAgPG5nLXRlbXBsYXRlICNkZWZhdWx0RG90VGVtcGxhdGU+XG4gICAgICAgIDxzcGFuIFtpbm5lckhUTUxdPVwiY3VzdG9tRG90IHwgc2FmZTogJ2h0bWwnXCI+PC9zcGFuPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2ICpuZ0lmPVwidGltZSAmJiB0aW1lUG9zaXRpb24gPT09ICdib3R0b20nXCI+e3sgdGltZSB9fTwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJ7eyB0aW1lQXhpc0xpbmVDbGFzcyB9fVwiIFtzdHlsZS5ib3JkZXJDb2xvcl09XCJsaW5lU3R5bGU/LmNvbG9yXCI+XG4gICAgICA8ZGl2ICpuZ0lmPVwiZXh0cmFFbGVtZW50XCIgY2xhc3M9XCJkZXZ1aS10aW1lLWF4aXMtbWlkZGxlLXpvbmVcIj5cbiAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImV4dHJhVGVtcGxhdGUgfHwgZGVmYXVsdFRlbXBsYXRlXCI+IDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdFRlbXBsYXRlPlxuICAgICAgICAgIDxkaXYgW2lubmVySFRNTF09XCJleHRyYUVsZW1lbnQgfCBzYWZlOiAnaHRtbCdcIj48L2Rpdj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdlxuICAgICpuZ0lmPVwibW9kZSAhPT0gJ3RvcCcgJiYgbW9kZSAhPT0gJ2xlZnQnXCJcbiAgICBbY2xhc3MuZGV2dWktdGltZS1heGlzLWl0ZW0tZGF0YS1ob3Jpem9udGFsLWJvdHRvbV09XCJkaXJlY3Rpb24gPT09ICdob3Jpem9udGFsJ1wiXG4gICAgW2NsYXNzLmRldnVpLXRpbWUtYXhpcy1pdGVtLWRhdGEtdmVydGljYWwtcmlnaHRdPVwiZGlyZWN0aW9uID09PSAndmVydGljYWwnICYmIHRpbWVQb3NpdGlvbiAhPT0gJ2JvdHRvbSdcIlxuICAgIFtjbGFzcy5kZXZ1aS10aW1lLWF4aXMtaXRlbS1kYXRhLXRpbWUtYm90dG9tXT1cInRpbWVQb3NpdGlvbiA9PT0gJ2JvdHRvbSdcIlxuICA+XG4gICAgPGRpdiAqbmdJZj1cInRpbWUgJiYgKHBvc2l0aW9uID09PSAndG9wJyB8fCBwb3NpdGlvbiA9PT0gJ2xlZnQnKVwiPlxuICAgICAgPGRpdiBbY2xhc3MuZGV2dWktdGltZS1heGlzLWl0ZW0taG9yaXpvbnRhbC1hbGlnbi1jZW50ZXJdPVwicG9zaXRpb24gPT09ICd0b3AnICYmIGhvcml6b250YWxBbGlnbiA9PT0gJ2NlbnRlcidcIj57eyB0aW1lIH19PC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdlxuICAgICAgKm5nSWY9XCJwb3NpdGlvbiA9PT0gJ2JvdHRvbScgfHwgcG9zaXRpb24gPT09ICdyaWdodCdcIlxuICAgICAgW2NsYXNzLmRldnVpLXRpbWUtYXhpcy1pdGVtLWhvcml6b250YWwtYWxpZ24tY2VudGVyXT1cInBvc2l0aW9uID09PSAnYm90dG9tJyAmJiBob3Jpem9udGFsQWxpZ24gPT09ICdjZW50ZXInXCJcbiAgICA+XG4gICAgICA8ZGl2ICpuZ0lmPVwibW9kZWwgIT09ICd0ZW1wbGF0ZSdcIiBbaW5uZXJIVE1MXT1cInRleHQgfCBzYWZlOiAnaHRtbCdcIj48L2Rpdj5cbiAgICAgIDxkaXYgKm5nSWY9XCJtb2RlbCA9PT0gJ3RlbXBsYXRlJ1wiPlxuICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwiY29udGVudFRlbXBsYXRlXCIgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiB0aGlzLCBkYXRhOiBkYXRhIH1cIj48L25nLXRlbXBsYXRlPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=