dbweb-common
Version:
用`yarn add dbweb-common`安装,不要忘记修改`angular.json`里的 `architect\build\options\assets`,加上
308 lines • 41.8 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Component, ElementRef, HostBinding, ViewChild } from '@angular/core';
import { MatDialog, MatIconRegistry } from '@angular/material';
import { DomSanitizer } from '@angular/platform-browser';
import { of } from 'rxjs';
import { map, startWith } from 'rxjs/operators';
import { BillComponent } from '../bill/bill.component';
import { IconSelectComponent } from '../components/icon-select/icon-select.component';
import { OwnerByEnum, ownerElement } from '../services/eleview/types/model';
import { ElementBackFace } from './service/back-face';
import { ElementService } from './service/element.service';
/** @type {?} */
const RecordViewControllerName = 'recordview';
/**
* @record
*/
function ElementPostTag() { }
if (false) {
/** @type {?} */
ElementPostTag.prototype.Roles;
/** @type {?} */
ElementPostTag.prototype.Other;
}
/**
* @record
*/
function ElementRecordViewPostTagOther() { }
if (false) {
/** @type {?} */
ElementRecordViewPostTagOther.prototype.EleName;
/** @type {?} */
ElementRecordViewPostTagOther.prototype.OwnerBy;
/** @type {?} */
ElementRecordViewPostTagOther.prototype.Owner;
/** @type {?} */
ElementRecordViewPostTagOther.prototype.Data;
}
export class ElementComponent {
/**
* @param {?} iconRegistry
* @param {?} sanitizer
* @param {?} svr
* @param {?} dialog
*/
constructor(iconRegistry, sanitizer, svr, dialog) {
this.svr = svr;
this.dialog = dialog;
// ElementOwnerNormal 正常的工作元素
this.ElementOwnerNormal = 0;
// ElementOwnerAutoCreate 自动创建的工作元素
this.ElementOwnerAutoCreate = 1;
this.hostClass = true;
this.onBeforeSave = this.onBeforeSave.bind(this);
/** @type {?} */
const icons = [
'all_chosen',
'cancel_chosen',
'return_chosen',
'single_chosen',
'double_down',
'drag_indicator',
'arrow_collapse',
'arrow_expand',
'sorting_arrows',
'color_add',
'file_copy'
];
icons.forEach((/**
* @param {?} v
* @return {?}
*/
v => {
iconRegistry.addSvgIcon(v, sanitizer.bypassSecurityTrustResourceUrl('assets/record-view/icon/' + v + '.svg'));
}));
}
/**
* @return {?}
*/
ngOnInit() {
this.bill.init.subscribe((/**
* @return {?}
*/
() => {
this.svr.bill = this.bill;
/** @type {?} */
const val = this.bill.formGroup.get('Params').value;
if (val) {
this.svr.Params = JSON.parse(val);
}
else {
this.svr.Params = {};
}
this.svr.onInit(this.bill.element);
this.svr.init.subscribe((/**
* @return {?}
*/
() => {
this.filteredCategories = this.bill.formGroup.get('Category').valueChanges.pipe(startWith(''), map((/**
* @param {?} cate
* @return {?}
*/
(cate) => {
return this.svr.Categories.filter((/**
* @param {?} str
* @return {?}
*/
str => str.includes(cate)));
})));
this.filteredCategoriesEN = this.bill.formGroup.get('CategoryEN').valueChanges.pipe(startWith(''), map((/**
* @param {?} cate
* @return {?}
*/
(cate) => {
return this.svr.CategoriesEN.filter((/**
* @param {?} str
* @return {?}
*/
str => str.includes(cate)));
})));
this.filteredControllers = this.bill.formGroup.get('Controller').valueChanges.pipe(startWith(''), map((/**
* @param {?} ctr
* @return {?}
*/
(ctr) => {
return this.svr.Controllers.filter((/**
* @param {?} c
* @return {?}
*/
c => c.Name.toLowerCase().includes(ctr.toLowerCase())));
})));
}));
}));
}
/**
* @return {?}
*/
baseActive() {
this.svr.BaseActive = true;
this.slider.nativeElement.style.top = '16px';
this.slider.nativeElement.style.transition = 'all 0.5s';
}
/**
* @param {?} tab
* @param {?} event
* @return {?}
*/
tabActive(tab, event) {
this.svr.ActiveTab = tab;
this.svr.BaseActive = false;
this.slider.nativeElement.style.top = ((/** @type {?} */ (event.target))).offsetTop + 'px';
this.slider.nativeElement.style.transition = 'all 0.5s';
}
/**
* @param {?} self
* @return {?}
*/
onBeforeSave(self) {
// 需要把最新修改的角色传递到后端
/** @type {?} */
const tag = (/** @type {?} */ ({
Roles: this.svr.Roles.filter((/**
* @param {?} v
* @return {?}
*/
v => v.Checked !== v.OldChecked)) // 只需要传递变动的角色
}));
// 只需要考虑最新的模块是recordview的情况,不需要考虑之前是recordview,现在不是的情况,这些情况
// 已经在后端进行了处理
if (this.bill.formGroup.get('Controller').value === RecordViewControllerName) {
/** @type {?} */
const recviewSvr = (/** @type {?} */ (this.svr.data.recordview));
/** @type {?} */
let eleName = this.bill.typeRecord.Name;
// 新增recordview的菜单项的话,需要把elename设置成最新的
if (this.bill.isAdd()) {
eleName = this.bill.formGroup.get('Name').value;
/** @type {?} */
const rec = recviewSvr.labelCategories || [];
rec.forEach((/**
* @param {?} v
* @return {?}
*/
v => (v.EleName = eleName)));
}
if (this.bill.isAdd() || this.bill.isEdit()) {
tag.Other = (/** @type {?} */ ({
EleName: eleName,
OwnerBy: OwnerByEnum.ownerByEle,
Owner: ownerElement,
Data: recviewSvr.labelCategories
}));
}
}
return of((/** @type {?} */ ({ record: { Params: JSON.stringify(this.svr.Params) }, tag: tag })));
}
/**
* @return {?}
*/
isBillController() {
if (this.svr.Controllers && this.bill && this.bill.formGroup && this.bill.formGroup.get('Controller').value) {
/** @type {?} */
const found = this.svr.Controllers.find((/**
* @param {?} v
* @return {?}
*/
v => v.Name === this.bill.formGroup.get('Controller').value));
return found && found.Bill;
}
return false;
}
/**
* @return {?}
*/
tabs() {
if (this.bill && this.bill.formGroup && this.bill.formGroup.get('Controller').value) {
if (this.isBillController()) {
return this.svr.data.bill.Tabs;
}
if (this.svr.data[this.bill.formGroup.get('Controller').value]) {
return this.svr.data[this.bill.formGroup.get('Controller').value].Tabs || [];
}
}
return [];
}
/**
* @return {?}
*/
selectIcon() {
// 查看或者删除状态下,不能修改图标
if (this.bill.isBrowse() || this.bill.isDelete()) {
return;
}
/** @type {?} */
const v = {
icon: this.bill.formGroup.get('Icon').value,
color: this.bill.formGroup.get('Color').value
};
/** @type {?} */
const dialogRef = this.dialog.open(IconSelectComponent, {
width: '384px',
height: '100%',
data: v,
position: {
top: '0px',
right: '0px'
}
});
dialogRef.afterClosed().subscribe((/**
* @param {?} result
* @return {?}
*/
result => {
if (result) {
this.bill.formGroup.get('Icon').setValue(result.icon);
this.bill.formGroup.get('Color').setValue(result.color);
}
}));
}
}
ElementComponent.decorators = [
{ type: Component, args: [{
selector: 'common-element',
template: "<common-bill #bill [onBeforeSave]=\"onBeforeSave\">\r\n\t<div class=\"\u83DC\u5355\u9879\u5B9A\u4E49\u680F mat-elevation-z2\">\r\n\t\t<div class=\"\u83DC\u5355\u9879\u5B9A\u4E49\u5BFC\u822A\u680F\">\r\n\t\t\t<div class=\"\u5BFC\u822A\u6ED1\u5757\" #slider></div>\r\n\t\t\t<div class=\"\u5BFC\u822A\u6837\u5F0F \u5B57\u4F53\u989C\u8272\" [class.\u5F53\u524D\u5BFC\u822A\u6837\u5F0F]=\"svr.BaseActive\" (click)=\"baseActive()\">\r\n\t\t\t\t\u57FA\u7840\u8BBE\u7F6E\r\n\t\t\t</div>\r\n\t\t\t<div *ngFor=\"let tab of tabs(); let index = index\" class=\"\u5BFC\u822A\u6837\u5F0F \u5B57\u4F53\u989C\u8272\"\r\n\t\t\t\t[class.\u5F53\u524D\u5BFC\u822A\u6837\u5F0F]=\"tab === svr.ActiveTab && !svr.BaseActive\" (click)=\"tabActive(tab, $event)\">\r\n\t\t\t\t{{ tab }}\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<div *ngIf=\"svr.BaseActive; else propertySetting\" class=\"\u57FA\u7840\u5C5E\u6027\u680F \u6A21\u5757\">\r\n\t\t\t<div [formGroup]=\"bill.formGroup\" class=\"main \u5B57\u4F53\u989C\u8272\" *ngIf=\"bill.formGroup\">\r\n\t\t\t\t<div class=\"\u4E00\u7EA7\u6807\u9898\">\u57FA\u672C\u4FE1\u606F</div>\r\n\t\t\t\t<div class=\"\u540D\u79F0\">\r\n\t\t\t\t\t<div class=\"\u4E8C\u7EA7\u6807\u9898\">\u540D\u79F0</div>\r\n\t\t\t\t\t<mat-form-field appearance=\"outline\">\r\n\t\t\t\t\t\t<input matInput formControlName=\"Name\" commonBillField />\r\n\t\t\t\t\t</mat-form-field>\r\n\t\t\t\t\t<div class=\"\u56FE\u6807 mat-elevation-z4\" (click)=\"selectIcon()\">\r\n\t\t\t\t\t\t<mat-icon [svgIcon]=\"bill.formGroup.get('Icon').value\"\r\n\t\t\t\t\t\t\t[ngClass]=\"bill.formGroup.get('Color').value\">\r\n\t\t\t\t\t\t</mat-icon>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t\t<div class=\"\u4E2D\u82F1\u6587\u663E\u793A\">\r\n\t\t\t\t\t<div class=\"\u4E2D\u6587\">\r\n\t\t\t\t\t\t<span class=\"\u4E8C\u7EA7\u6807\u9898\">\u663E\u793A\u540D\u79F0</span>\r\n\t\t\t\t\t\t<mat-form-field appearance=\"outline\">\r\n\t\t\t\t\t\t\t<input matInput formControlName=\"Label\" commonBillField />\r\n\t\t\t\t\t\t</mat-form-field>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div class=\"\u82F1\u6587\">\r\n\t\t\t\t\t\t<span class=\"\u4E8C\u7EA7\u6807\u9898\">\u663E\u793A\u540D\u79F0(\u82F1\u6587)</span>\r\n\t\t\t\t\t\t<mat-form-field appearance=\"outline\">\r\n\t\t\t\t\t\t\t<input matInput formControlName=\"LabelEN\" commonBillField />\r\n\t\t\t\t\t\t</mat-form-field>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t\t<span class=\"\u4E8C\u7EA7\u6807\u9898\">\u7C7B\u522B</span>\r\n\t\t\t\t<mat-form-field appearance=\"outline\">\r\n\t\t\t\t\t<input matInput [matAutocomplete]=\"auto\" formControlName=\"Category\" commonBillField />\r\n\t\t\t\t\t<mat-autocomplete #auto=\"matAutocomplete\">\r\n\t\t\t\t\t\t<mat-option *ngFor=\"let item of filteredCategories|async\" [value]=\"item\">{{item}}</mat-option>\r\n\t\t\t\t\t</mat-autocomplete>\r\n\t\t\t\t</mat-form-field>\r\n\t\t\t\t<span class=\"\u4E8C\u7EA7\u6807\u9898\">\u7C7B\u522B(\u82F1\u6587)</span>\r\n\t\t\t\t<mat-form-field appearance=\"outline\">\r\n\t\t\t\t\t<input matInput formControlName=\"CategoryEN\" [matAutocomplete]=\"auto_en\" commonBillField />\r\n\t\t\t\t\t<mat-autocomplete #auto_en=\"matAutocomplete\">\r\n\t\t\t\t\t\t<mat-option *ngFor=\"let item of filteredCategoriesEN|async\" [value]=\"item\">{{item}}</mat-option>\r\n\t\t\t\t\t</mat-autocomplete>\r\n\t\t\t\t</mat-form-field>\r\n\r\n\t\t\t\t<span class=\"\u4E8C\u7EA7\u6807\u9898\">\u6A21\u5757</span>\r\n\t\t\t\t<mat-form-field appearance=\"outline\">\r\n\t\t\t\t\t<input type=\"text\" matInput formControlName=\"Controller\" commonBillField\r\n\t\t\t\t\t\t[matAutocomplete]=\"auto_ctrl\">\r\n\t\t\t\t</mat-form-field>\r\n\r\n\t\t\t\t<mat-autocomplete #auto_ctrl=\"matAutocomplete\">\r\n\t\t\t\t\t<mat-option *ngFor=\"let module of filteredControllers|async\" [value]=\"module.Name\">{{module.Name}}\r\n\t\t\t\t\t</mat-option>\r\n\t\t\t\t</mat-autocomplete>\r\n\r\n\t\t\t\t<span class=\"\u4E8C\u7EA7\u6807\u9898\">\u521B\u5EFA\u7528\u6237</span>\r\n\t\t\t\t<mat-form-field appearance=\"outline\">\r\n\t\t\t\t\t<input matInput formControlName=\"UserName\" commonBillField />\r\n\t\t\t\t</mat-form-field>\r\n\t\t\t\t<span class=\"\u4E8C\u7EA7\u6807\u9898\">\u90E8\u95E8</span>\r\n\t\t\t\t<mat-form-field appearance=\"outline\">\r\n\t\t\t\t\t<input matInput formControlName=\"Dept\" commonBillField />\r\n\t\t\t\t</mat-form-field>\r\n\t\t\t\t<span class=\"\u4E8C\u7EA7\u6807\u9898\">\u5F52\u5C5E\u65B9\u5F0F</span>\r\n\t\t\t\t<mat-form-field appearance=\"outline\">\r\n\t\t\t\t\t<mat-select formControlName=\"Owner\" commonBillField>\r\n\t\t\t\t\t\t<mat-option [value]=\"ElementOwnerNormal\">\r\n\t\t\t\t\t\t\t\u6B63\u5E38\r\n\t\t\t\t\t\t</mat-option>\r\n\t\t\t\t\t\t<mat-option [value]=\"ElementOwnerAutoCreate\">\r\n\t\t\t\t\t\t\t\u81EA\u52A8\u521B\u5EFA\r\n\t\t\t\t\t\t</mat-option>\r\n\t\t\t\t\t</mat-select>\r\n\t\t\t\t</mat-form-field>\r\n\t\t\t\t<div class=\"checkbox\">\r\n\t\t\t\t\t<mat-checkbox [checked]=\"bill.formGroup.get('Pub').value===1\"\r\n\t\t\t\t\t\t(change)=\"bill.formGroup.get('Pub').patchValue($event.checked?1:0)\" commonBillField>\u516C\u5171\r\n\t\t\t\t\t</mat-checkbox>\r\n\t\t\t\t\t<mat-checkbox [checked]=\"bill.formGroup.get('NewWindow').value===1\"\r\n\t\t\t\t\t\t(change)=\"bill.formGroup.get('NewWindow').patchValue($event.checked?1:0)\" commonBillField>\r\n\t\t\t\t\t\t\u65B0\u7A97\u53E3\r\n\t\t\t\t\t</mat-checkbox>\r\n\t\t\t\t\t<mat-checkbox [checked]=\"bill.formGroup.get('IsAPI').value===1\"\r\n\t\t\t\t\t\t(change)=\"bill.formGroup.get('IsAPI').patchValue($event.checked?1:0)\" commonBillField>\u63A5\u53E3\r\n\t\t\t\t\t</mat-checkbox>\r\n\t\t\t\t</div>\r\n\t\t\t\t<span class=\"\u4E8C\u7EA7\u6807\u9898\">\u5E2E\u52A9\u6587\u6848</span>\r\n\t\t\t\t<mat-form-field appearance=\"outline\">\r\n\t\t\t\t\t<textarea matInput formControlName=\"HelpText\" commonBillField></textarea>\r\n\t\t\t\t</mat-form-field>\r\n\t\t\t\t<span class=\"\u4E8C\u7EA7\u6807\u9898\">\u5E2E\u52A9\u6587\u6848(\u82F1\u6587)</span>\r\n\t\t\t\t<mat-form-field appearance=\"outline\">\r\n\t\t\t\t\t<textarea matInput formControlName=\"HelpTextEN\" commonBillField></textarea>\r\n\t\t\t\t</mat-form-field>\r\n\t\t\t\t<div class=\"checkbox\">\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"\u5206\u5272\u7EBF\"></div>\r\n\t\t\t<div class=\"\u57FA\u7840\u5C5E\u6027-\u96B6\u5C5E\u89D2\u8272\u680F\">\r\n\t\t\t\t<div class=\"\u4E00\u7EA7\u6807\u9898 \u5B57\u4F53\u989C\u8272\">\u96B6\u5C5E\u89D2\u8272</div>\r\n\t\t\t\t<div class=\"\u57FA\u7840\u5C5E\u6027-\u96B6\u5C5E\u89D2\u8272-\u590D\u9009\u6846\" *ngFor=\"let role of svr.Roles\">\r\n\t\t\t\t\t<mat-checkbox [(ngModel)]=\"role.Checked\" (change)=\"role.Modify = true\">\r\n\t\t\t\t\t\t<span class=\"\u590D\u9009\u6846\u5185\u5BB9 \u4E8C\u7EA7\u6807\u9898\">{{ role.Name }}</span>\r\n\t\t\t\t\t</mat-checkbox>\r\n\t\t\t\t\t<ng-container *ngIf=\"role.Checked !== role.OldChecked\">*\r\n\t\t\t\t\t</ng-container>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<ng-template #propertySetting>\r\n\t\t\t<common-set-property-bill *ngIf=\"isBillController();else controllerPropertySetting\">\r\n\t\t\t</common-set-property-bill>\r\n\t\t\t<ng-template #controllerPropertySetting>\r\n\t\t\t\t<ng-container [ngSwitch]=\"bill.formGroup?.get('Controller').value\">\r\n\t\t\t\t\t<common-set-property-recordview *ngSwitchCase=\"'recordview'\">\r\n\t\t\t\t\t</common-set-property-recordview>\r\n\t\t\t\t\t<common-set-property-import *ngSwitchCase=\"'import'\">\r\n\t\t\t\t\t</common-set-property-import>\r\n\t\t\t\t\t<common-set-property-update *ngSwitchCase=\"'update'\">\r\n\t\t\t\t\t</common-set-property-update>\r\n\t\t\t\t</ng-container>\r\n\t\t\t</ng-template>\r\n\t\t</ng-template>\r\n\t</div>\r\n</common-bill>",
providers: [ElementService, ElementBackFace],
styles: ["@charset \"UTF-8\";.\u83DC\u5355\u9879\u5B9A\u4E49\u680F{display:flex;justify-content:space-between;width:100%;max-width:960px;height:100%;box-sizing:border-box;margin:0 auto;border-radius:4px}.\u83DC\u5355\u9879\u5B9A\u4E49\u680F .\u83DC\u5355\u9879\u5B9A\u4E49\u5BFC\u822A\u680F{width:152px;height:100%;flex-shrink:0;position:relative}.\u83DC\u5355\u9879\u5B9A\u4E49\u680F .\u83DC\u5355\u9879\u5B9A\u4E49\u5BFC\u822A\u680F .\u5BFC\u822A\u6837\u5F0F{width:100%;height:32px;line-height:32px;padding-left:24px;box-sizing:border-box;margin:16px 0;font-size:16px;font-weight:700;cursor:pointer}.\u83DC\u5355\u9879\u5B9A\u4E49\u680F .\u83DC\u5355\u9879\u5B9A\u4E49\u5BFC\u822A\u680F .\u5F53\u524D\u5BFC\u822A\u6837\u5F0F{font-size:20px}.\u83DC\u5355\u9879\u5B9A\u4E49\u680F .\u83DC\u5355\u9879\u5B9A\u4E49\u5BFC\u822A\u680F .\u5BFC\u822A\u6ED1\u5757{width:8px;height:32px;position:absolute;left:0;top:16px}.\u83DC\u5355\u9879\u5B9A\u4E49\u680F .\u83DC\u5355\u9879\u5B9A\u4E49\u5BFC\u822A\u680F .\u4E8C\u7EA7\u83DC\u5355{width:100%;position:absolute;top:118px;left:0}.\u83DC\u5355\u9879\u5B9A\u4E49\u680F .\u83DC\u5355\u9879\u5B9A\u4E49\u5BFC\u822A\u680F .\u4E8C\u7EA7\u83DC\u5355 button{width:100%;font-size:16px;padding-left:32px;text-align:left}.\u83DC\u5355\u9879\u5B9A\u4E49\u680F .\u57FA\u7840\u5C5E\u6027\u680F{padding:16px 0;box-sizing:border-box;display:flex;overflow-y:auto}.\u83DC\u5355\u9879\u5B9A\u4E49\u680F .\u57FA\u7840\u5C5E\u6027\u680F .main{width:471px;height:100%;padding:8px 48px;box-sizing:border-box;display:flex;flex-direction:column;font-size:14px}.\u83DC\u5355\u9879\u5B9A\u4E49\u680F .\u57FA\u7840\u5C5E\u6027\u680F .main ::ng-deep .mat-form-field-wrapper{margin:0;padding-bottom:10px}.\u83DC\u5355\u9879\u5B9A\u4E49\u680F .\u57FA\u7840\u5C5E\u6027\u680F .main ::ng-deep .mat-form-field-infix{border:0;padding:8px 0}.\u83DC\u5355\u9879\u5B9A\u4E49\u680F .\u57FA\u7840\u5C5E\u6027\u680F .main ::ng-deep .mat-select-arrow-wrapper{display:block}.\u83DC\u5355\u9879\u5B9A\u4E49\u680F .\u57FA\u7840\u5C5E\u6027\u680F .main .\u540D\u79F0{width:100%;position:relative}.\u83DC\u5355\u9879\u5B9A\u4E49\u680F .\u57FA\u7840\u5C5E\u6027\u680F .main .\u540D\u79F0 .mat-form-field{width:300px}.\u83DC\u5355\u9879\u5B9A\u4E49\u680F .\u57FA\u7840\u5C5E\u6027\u680F .main .\u540D\u79F0 .\u56FE\u6807{position:absolute;right:0;bottom:10px;width:56px;height:56px;border-radius:2px;display:flex;justify-content:center;align-items:center}.\u83DC\u5355\u9879\u5B9A\u4E49\u680F .\u57FA\u7840\u5C5E\u6027\u680F .main .\u4E2D\u82F1\u6587\u663E\u793A{display:flex}.\u83DC\u5355\u9879\u5B9A\u4E49\u680F .\u57FA\u7840\u5C5E\u6027\u680F .main .\u4E2D\u82F1\u6587\u663E\u793A .\u4E2D\u6587{flex-grow:1}.\u83DC\u5355\u9879\u5B9A\u4E49\u680F .\u57FA\u7840\u5C5E\u6027\u680F .main .\u4E2D\u82F1\u6587\u663E\u793A .\u82F1\u6587{flex-grow:1;margin-left:8px}.\u83DC\u5355\u9879\u5B9A\u4E49\u680F .\u57FA\u7840\u5C5E\u6027\u680F .main .\u4E2D\u82F1\u6587\u663E\u793A ::ng-deep .mat-form-field-wrapper{width:184px}.\u83DC\u5355\u9879\u5B9A\u4E49\u680F .\u57FA\u7840\u5C5E\u6027\u680F .main .checkbox{display:flex;margin-bottom:8px}.\u83DC\u5355\u9879\u5B9A\u4E49\u680F .\u57FA\u7840\u5C5E\u6027\u680F .main .checkbox .mat-checkbox{margin-right:8px}.\u83DC\u5355\u9879\u5B9A\u4E49\u680F .\u57FA\u7840\u5C5E\u6027\u680F .\u5206\u5272\u7EBF{width:1px;height:100%}.\u83DC\u5355\u9879\u5B9A\u4E49\u680F .\u57FA\u7840\u5C5E\u6027\u680F .\u57FA\u7840\u5C5E\u6027-\u96B6\u5C5E\u89D2\u8272\u680F{width:336px;height:100%;padding:8px 16px;box-sizing:border-box}.\u83DC\u5355\u9879\u5B9A\u4E49\u680F .\u57FA\u7840\u5C5E\u6027\u680F .\u57FA\u7840\u5C5E\u6027-\u96B6\u5C5E\u89D2\u8272\u680F .\u57FA\u7840\u5C5E\u6027-\u96B6\u5C5E\u89D2\u8272-\u590D\u9009\u6846{width:148px;height:47px;margin-bottom:8px;display:inline-block;font-size:14px;line-height:20px;vertical-align:top}.\u83DC\u5355\u9879\u5B9A\u4E49\u680F .\u57FA\u7840\u5C5E\u6027\u680F .\u57FA\u7840\u5C5E\u6027-\u96B6\u5C5E\u89D2\u8272\u680F .\u57FA\u7840\u5C5E\u6027-\u96B6\u5C5E\u89D2\u8272-\u590D\u9009\u6846 .\u590D\u9009\u6846\u5185\u5BB9{vertical-align:top}.\u83DC\u5355\u9879\u5B9A\u4E49\u680F .\u57FA\u7840\u5C5E\u6027\u680F .\u57FA\u7840\u5C5E\u6027-\u96B6\u5C5E\u89D2\u8272\u680F .\u57FA\u7840\u5C5E\u6027-\u96B6\u5C5E\u89D2\u8272-\u590D\u9009\u6846 ::ng-deep .mat-checkbox-layout{line-height:20px;height:47px;white-space:pre-wrap}.\u83DC\u5355\u9879\u5B9A\u4E49\u680F .\u57FA\u7840\u5C5E\u6027\u680F .\u57FA\u7840\u5C5E\u6027-\u96B6\u5C5E\u89D2\u8272\u680F .\u57FA\u7840\u5C5E\u6027-\u96B6\u5C5E\u89D2\u8272-\u590D\u9009\u6846 ::ng-deep .mat-checkbox-inner-container{margin:auto 8px 24px 0}.\u83DC\u5355\u9879\u5B9A\u4E49\u680F .\u6A21\u5757{width:808px;height:100%}.\u4E00\u7EA7\u6807\u9898{font-size:16px;font-weight:700;margin-bottom:16px}.\u4E8C\u7EA7\u6807\u9898{font-size:12px;margin-bottom:8px}"]
}] }
];
/** @nocollapse */
ElementComponent.ctorParameters = () => [
{ type: MatIconRegistry },
{ type: DomSanitizer },
{ type: ElementService },
{ type: MatDialog }
];
ElementComponent.propDecorators = {
hostClass: [{ type: HostBinding, args: ['class.element',] }],
slider: [{ type: ViewChild, args: ['slider', { static: false },] }],
bill: [{ type: ViewChild, args: ['bill', { static: true },] }]
};
if (false) {
/** @type {?} */
ElementComponent.prototype.ElementOwnerNormal;
/** @type {?} */
ElementComponent.prototype.ElementOwnerAutoCreate;
/** @type {?} */
ElementComponent.prototype.hostClass;
/** @type {?} */
ElementComponent.prototype.slider;
/** @type {?} */
ElementComponent.prototype.bill;
/** @type {?} */
ElementComponent.prototype.filteredCategories;
/** @type {?} */
ElementComponent.prototype.filteredCategoriesEN;
/** @type {?} */
ElementComponent.prototype.filteredControllers;
/** @type {?} */
ElementComponent.prototype.svr;
/**
* @type {?}
* @private
*/
ElementComponent.prototype.dialog;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9kYndlYi1jb21tb24vIiwic291cmNlcyI6WyJsaWIvZWxlbWVudC9lbGVtZW50LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFVLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0RixPQUFPLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN6RCxPQUFPLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEQsT0FBTyxFQUFtQixhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN4RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUV0RixPQUFPLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzVFLE9BQU8sRUFBYyxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNsRSxPQUFPLEVBQXlCLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDOztNQUM1RSx3QkFBd0IsR0FBRyxZQUFZOzs7O0FBQzdDLDZCQU9DOzs7SUFOQSwrQkFJSTs7SUFDSiwrQkFBVzs7Ozs7QUFFWiw0Q0FLQzs7O0lBSkEsZ0RBQWdCOztJQUNoQixnREFBcUI7O0lBQ3JCLDhDQUFjOztJQUNkLDZDQUE2Qjs7QUFROUIsTUFBTSxPQUFPLGdCQUFnQjs7Ozs7OztJQWM1QixZQUNDLFlBQTZCLEVBQzdCLFNBQXVCLEVBQ2hCLEdBQW1CLEVBQ2xCLE1BQWlCO1FBRGxCLFFBQUcsR0FBSCxHQUFHLENBQWdCO1FBQ2xCLFdBQU0sR0FBTixN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Z1BBQXVDO2dCQUV2QyxTQUFTLEVBQUUsQ0FBQyxjQUFjLEVBQUUsZUFBZSxDQUFDOzthQUM1Qzs7OztZQTlCbUIsZUFBZTtZQUMxQixZQUFZO1lBUVcsY0FBYztZQVRyQyxTQUFTOzs7d0JBcUNoQixXQUFXLFNBQUMsZUFBZTtxQkFDM0IsU0FBUyxTQUFDLFFBQVEsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7bUJBRXJDLFNBQVMsU0FBQyxNQUFNLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFOzs7O0lBUG5DLDhDQUFnQzs7SUFFaEMsa0RBQW9DOztJQUVwQyxxQ0FBK0M7O0lBQy9DLGtDQUNtQjs7SUFDbkIsZ0NBQ29COztJQUNwQiw4Q0FBeUM7O0lBQ3pDLGdEQUEyQzs7SUFDM0MsK0NBQThDOztJQUk3QywrQkFBMEI7Ozs7O0lBQzFCLGtDQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgSG9zdEJpbmRpbmcsIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdERpYWxvZywgTWF0SWNvblJlZ2lzdHJ5IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwnO1xyXG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgbWFwLCBzdGFydFdpdGggfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IEJlZm9yZVNhdmVQYXJhbSwgQmlsbENvbXBvbmVudCB9IGZyb20gJy4uL2JpbGwvYmlsbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBJY29uU2VsZWN0Q29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50cy9pY29uLXNlbGVjdC9pY29uLXNlbGVjdC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBNb2RlbEVsZW1lbnRDYXRlZ29yeSB9IGZyb20gJy4uL3NlcnZpY2VzL2VsZXZpZXcvZWxldmlldy1iYWNrZmFjZSc7XHJcbmltcG9ydCB7IE93bmVyQnlFbnVtLCBvd25lckVsZW1lbnQgfSBmcm9tICcuLi9zZXJ2aWNlcy9lbGV2aWV3L3R5cGVzL21vZGVsJztcclxuaW1wb3J0IHsgQ29udHJvbGxlciwgRWxlbWVudEJhY2tGYWNlIH0gZnJvbSAnLi9zZXJ2aWNlL2JhY2stZmFjZSc7XHJcbmltcG9ydCB7IEVsZW1lbnREYXRhUmVjb3JkVmlldywgRWxlbWVudFNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2UvZWxlbWVudC5zZXJ2aWNlJztcclxuY29uc3QgUmVjb3JkVmlld0NvbnRyb2xsZXJOYW1lID0gJ3JlY29yZHZpZXcnO1xyXG5pbnRlcmZhY2UgRWxlbWVudFBvc3RUYWcge1xyXG5cdFJvbGVzOiB7XHJcblx0XHROYW1lOiBzdHJpbmc7XHJcblx0XHRDaGVja2VkOiBib29sZWFuO1xyXG5cdFx0T2xkQ2hlY2tlZDogYm9vbGVhbjtcclxuXHR9W107XHJcblx0T3RoZXI6IGFueTtcclxufVxyXG5pbnRlcmZhY2UgRWxlbWVudFJlY29yZFZpZXdQb3N0VGFnT3RoZXIge1xyXG5cdEVsZU5hbWU6IHN0cmluZztcclxuXHRPd25lckJ5OiBPd25lckJ5RW51bTtcclxuXHRPd25lcjogc3RyaW5nO1xyXG5cdERhdGE6IE1vZGVsRWxlbWVudENhdGVnb3J5W107XHJcbn1cclxuQENvbXBvbmVudCh7XHJcblx0c2VsZWN0b3I6ICdjb21tb24tZWxlbWVudCcsXHJcblx0dGVtcGxhdGVVcmw6ICcuL2VsZW1lbnQuY29tcG9uZW50Lmh0bWwnLFxyXG5cdHN0eWxlVXJsczogWycuL2VsZW1lbnQuY29tcG9uZW50LnNjc3MnXSxcclxuXHRwcm92aWRlcnM6IFtFbGVtZW50U2VydmljZSwgRWxlbWVudEJhY2tGYWNlXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRWxlbWVudENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblx0Ly8gRWxlbWVudE93bmVyTm9ybWFsIOato+W4uOeahOW3peS9nOWFg+e0oFxyXG5cdHJlYWRvbmx5IEVsZW1lbnRPd25lck5vcm1hbCA9IDA7XHJcblx0Ly8gRWxlbWVudE93bmVyQXV0b0NyZWF0ZSDoh6rliqjliJvlu7rnmoTlt6XkvZzlhYPntKBcclxuXHRyZWFkb25seSBFbGVtZW50T3duZXJBdXRvQ3JlYXRlID0gMTtcclxuXHJcblx0QEhvc3RCaW5kaW5nKCdjbGFzcy5lbGVtZW50JykgaG9zdENsYXNzID0gdHJ1ZTtcclxuXHRAVmlld0NoaWxkKCdzbGlkZXInLCB7IHN0YXRpYzogZmFsc2UgfSlcclxuXHRzbGlkZXI6IEVsZW1lbnRSZWY7XHJcblx0QFZpZXdDaGlsZCgnYmlsbCcsIHsgc3RhdGljOiB0cnVlIH0pXHJcblx0YmlsbDogQmlsbENvbXBvbmVudDtcclxuXHRmaWx0ZXJlZENhdGVnb3JpZXM6IE9ic2VydmFibGU8c3RyaW5nW10+O1xyXG5cdGZpbHRlcmVkQ2F0ZWdvcmllc0VOOiBPYnNlcnZhYmxlPHN0cmluZ1tdPjtcclxuXHRmaWx0ZXJlZENvbnRyb2xsZXJzOiBPYnNlcnZhYmxlPENvbnRyb2xsZXJbXT47XHJcblx0Y29uc3RydWN0b3IoXHJcblx0XHRpY29uUmVnaXN0cnk6IE1hdEljb25SZWdpc3RyeSxcclxuXHRcdHNhbml0aXplcjogRG9tU2FuaXRpemVyLFxyXG5cdFx0cHVibGljIHN2cjogRWxlbWVudFNlcnZpY2UsXHJcblx0XHRwcml2YXRlIGRpYWxvZzogTWF0RGlhbG9nXHJcblx0KSB7XHJcblx0XHR0aGlzLm9uQmVmb3JlU2F2ZSA9IHRoaXMub25CZWZvcmVTYXZlLmJpbmQodGhpcyk7XHJcblx0XHRjb25zdCBpY29ucyA9IFtcclxuXHRcdFx0J2FsbF9jaG9zZW4nLFxyXG5cdFx0XHQnY2FuY2VsX2Nob3NlbicsXHJcblx0XHRcdCdyZXR1cm5fY2hvc2VuJyxcclxuXHRcdFx0J3NpbmdsZV9jaG9zZW4nLFxyXG5cdFx0XHQnZG91YmxlX2Rvd24nLFxyXG5cdFx0XHQnZHJhZ19pbmRpY2F0b3InLFxyXG5cdFx0XHQnYXJyb3dfY29sbGFwc2UnLFxyXG5cdFx0XHQnYXJyb3dfZXhwYW5kJyxcclxuXHRcdFx0J3NvcnRpbmdfYXJyb3dzJyxcclxuXHRcdFx0J2NvbG9yX2FkZCcsXHJcblx0XHRcdCdmaWxlX2NvcHknXHJcblx0XHRdO1xyXG5cdFx0aWNvbnMuZm9yRWFjaCh2ID0+IHtcclxuXHRcdFx0aWNvblJlZ2lzdHJ5LmFkZFN2Z0ljb24oXHJcblx0XHRcdFx0dixcclxuXHRcdFx0XHRzYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdFJlc291cmNlVXJsKCdhc3NldHMvcmVjb3JkLXZpZXcvaWNvbi8nICsgdiArICcuc3ZnJylcclxuXHRcdFx0KTtcclxuXHRcdH0pO1xyXG5cdH1cclxuXHJcblx0bmdPbkluaXQoKSB7XHJcblx0XHR0aGlzLmJpbGwuaW5pdC5zdWJzY3JpYmUoKCkgPT4ge1xyXG5cdFx0XHR0aGlzLnN2ci5iaWxsID0gdGhpcy5iaWxsO1xyXG5cdFx0XHRjb25zdCB2YWwgPSB0aGlzLmJpbGwuZm9ybUdyb3VwLmdldCgnUGFyYW1zJykudmFsdWU7XHJcblx0XHRcdGlmICh2YWwpIHtcclxuXHRcdFx0XHR0aGlzLnN2ci5QYXJhbXMgPSBKU09OLnBhcnNlKHZhbCk7XHJcblx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0dGhpcy5zdnIuUGFyYW1zID0ge307XHJcblx0XHRcdH1cclxuXHRcdFx0dGhpcy5zdnIub25Jbml0KHRoaXMuYmlsbC5lbGVtZW50KTtcclxuXHRcdFx0dGhpcy5zdnIuaW5pdC5zdWJzY3JpYmUoKCkgPT4ge1xyXG5cdFx0XHRcdHRoaXMuZmlsdGVyZWRDYXRlZ29yaWVzID0gdGhpcy5iaWxsLmZvcm1Hcm91cC5nZXQoJ0NhdGVnb3J5JykudmFsdWVDaGFuZ2VzLnBpcGUoXHJcblx0XHRcdFx0XHRzdGFydFdpdGgoJycpLFxyXG5cdFx0XHRcdFx0bWFwKChjYXRlOiBzdHJpbmcpID0+IHtcclxuXHRcdFx0XHRcdFx0cmV0dXJuIHRoaXMuc3ZyLkNhdGVnb3JpZXMuZmlsdGVyKHN0ciA9PiBzdHIuaW5jbHVkZXMoY2F0ZSkpO1xyXG5cdFx0XHRcdFx0fSlcclxuXHRcdFx0XHQpO1xyXG5cdFx0XHRcdHRoaXMuZmlsdGVyZWRDYXRlZ29yaWVzRU4gPSB0aGlzLmJpbGwuZm9ybUdyb3VwLmdldCgnQ2F0ZWdvcnlFTicpLnZhbHVlQ2hhbmdlcy5waXBlKFxyXG5cdFx0XHRcdFx0c3RhcnRXaXRoKCcnKSxcclxuXHRcdFx0XHRcdG1hcCgoY2F0ZTogc3RyaW5nKSA9PiB7XHJcblx0XHRcdFx0XHRcdHJldHVybiB0aGlzLnN2ci5DYXRlZ29yaWVzRU4uZmlsdGVyKHN0ciA9PiBzdHIuaW5jbHVkZXMoY2F0ZSkpO1xyXG5cdFx0XHRcdFx0fSlcclxuXHRcdFx0XHQpO1xyXG5cdFx0XHRcdHRoaXMuZmlsdGVyZWRDb250cm9sbGVycyA9IHRoaXMuYmlsbC5mb3JtR3JvdXAuZ2V0KCdDb250cm9sbGVyJykudmFsdWVDaGFuZ2VzLnBpcGUoXHJcblx0XHRcdFx0XHRzdGFydFdpdGgoJycpLFxyXG5cdFx0XHRcdFx0bWFwKChjdHI6IHN0cmluZykgPT4ge1xyXG5cdFx0XHRcdFx0XHRyZXR1cm4gdGhpcy5zdnIuQ29udHJvbGxlcnMuZmlsdGVyKGMgPT4gYy5OYW1lLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoY3RyLnRvTG93ZXJDYXNlKCkpKTtcclxuXHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0KTtcclxuXHRcdFx0fSk7XHJcblx0XHR9KTtcclxuXHR9XHJcblx0YmFzZUFjdGl2ZSgpIHtcclxuXHRcdHRoaXMuc3ZyLkJhc2VBY3RpdmUgPSB0cnVlO1xyXG5cdFx0dGhpcy5zbGlkZXIubmF0aXZlRWxlbWVudC5zdHlsZS50b3AgPSAnMTZweCc7XHJcblx0XHR0aGlzLnNsaWRlci5uYXRpdmVFbGVtZW50LnN0eWxlLnRyYW5zaXRpb24gPSAnYWxsIDAuNXMnO1xyXG5cdH1cclxuXHR0YWJBY3RpdmUodGFiOiBzdHJpbmcsIGV2ZW50OiBNb3VzZUV2ZW50KSB7XHJcblx0XHR0aGlzLnN2ci5BY3RpdmVUYWIgPSB0YWI7XHJcblx0XHR0aGlzLnN2ci5CYXNlQWN0aXZlID0gZmFsc2U7XHJcblx0XHR0aGlzLnNsaWRlci5uYXRpdmVFbGVtZW50LnN0eWxlLnRvcCA9ICg8SFRNTFRhYmxlQ2VsbEVsZW1lbnQ+ZXZlbnQudGFyZ2V0KS5vZmZzZXRUb3AgKyAncHgnO1xyXG5cdFx0dGhpcy5zbGlkZXIubmF0aXZlRWxlbWVudC5zdHlsZS50cmFuc2l0aW9uID0gJ2FsbCAwLjVzJztcclxuXHR9XHJcblx0b25CZWZvcmVTYXZlKHNlbGY6IEJpbGxDb21wb25lbnQpOiBPYnNlcnZhYmxlPEJlZm9yZVNhdmVQYXJhbT4ge1xyXG5cdFx0Ly8g6ZyA6KaB5oqK5pyA5paw5L+u5pS555qE6KeS6Imy5Lyg6YCS5Yiw5ZCO56uvXHJcblx0XHRjb25zdCB0YWcgPSB7XHJcblx0XHRcdFJvbGVzOiB0aGlzLnN2ci5Sb2xlcy5maWx0ZXIodiA9PiB2LkNoZWNrZWQgIT09IHYuT2xkQ2hlY2tlZCkgLy8g5Y+q6ZyA6KaB5Lyg6YCS5Y+Y5Yqo55qE6KeS6ImyXHJcblx0XHR9IGFzIEVsZW1lbnRQb3N0VGFnO1xyXG5cclxuXHRcdC8vIOWPqumcgOimgeiAg+iZkeacgOaWsOeahOaooeWdl+aYr3JlY29yZHZpZXfnmoTmg4XlhrXvvIzkuI3pnIDopoHogIPomZHkuYvliY3mmK9yZWNvcmR2aWV377yM546w5Zyo5LiN5piv55qE5oOF5Ya177yM6L+Z5Lqb5oOF5Ya1XHJcblx0XHQvLyDlt7Lnu4/lnKjlkI7nq6/ov5vooYzkuoblpITnkIZcclxuXHRcdGlmICh0aGlzLmJpbGwuZm9ybUdyb3VwLmdldCgnQ29udHJvbGxlcicpLnZhbHVlID09PSBSZWNvcmRWaWV3Q29udHJvbGxlck5hbWUpIHtcclxuXHRcdFx0Y29uc3QgcmVjdmlld1N2ciA9IHRoaXMuc3ZyLmRhdGEucmVjb3JkdmlldyBhcyBFbGVtZW50RGF0YVJlY29yZFZpZXc7XHJcblx0XHRcdGxldCBlbGVOYW1lID0gdGhpcy5iaWxsLnR5cGVSZWNvcmQuTmFtZTtcclxuXHRcdFx0Ly8g5paw5aKecmVjb3Jkdmlld+eahOiPnOWNlemhueeahOivne+8jOmcgOimgeaKimVsZW5hbWXorr7nva7miJDmnIDmlrDnmoRcclxuXHRcdFx0aWYgKHRoaXMuYmlsbC5pc0FkZCgpKSB7XHJcblx0XHRcdFx0ZWxlTmFtZSA9IHRoaXMuYmlsbC5mb3JtR3JvdXAuZ2V0KCdOYW1lJykudmFsdWU7XHJcblx0XHRcdFx0Y29uc3QgcmVjID0gcmVjdmlld1N2ci5sYWJlbENhdGVnb3JpZXMgfHwgW107XHJcblx0XHRcdFx0cmVjLmZvckVhY2godiA9PiAodi5FbGVOYW1lID0gZWxlTmFtZSkpO1xyXG5cdFx0XHR9XHJcblx0XHRcdGlmICh0aGlzLmJpbGwuaXNBZGQoKSB8fCB0aGlzLmJpbGwuaXNFZGl0KCkpIHtcclxuXHRcdFx0XHR0YWcuT3RoZXIgPSB7XHJcblx0XHRcdFx0XHRFbGVOYW1lOiBlbGVOYW1lLFxyXG5cdFx0XHRcdFx0T3duZXJCeTogT3duZXJCeUVudW0ub3duZXJCeUVsZSxcclxuXHRcdFx0XHRcdE93bmVyOiBvd25lckVsZW1lbnQsXHJcblx0XHRcdFx0XHREYXRhOiByZWN2aWV3U3ZyLmxhYmVsQ2F0ZWdvcmllc1xyXG5cdFx0XHRcdH0gYXMgRWxlbWVudFJlY29yZFZpZXdQb3N0VGFnT3RoZXI7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdHJldHVybiBvZih7IHJlY29yZDogeyBQYXJhbXM6IEpTT04uc3RyaW5naWZ5KHRoaXMuc3ZyLlBhcmFtcykgfSwgdGFnOiB0YWcgfSBhcyBCZWZvcmVTYXZlUGFyYW0pO1xyXG5cdH1cclxuXHRpc0JpbGxDb250cm9sbGVyKCk6IGJvb2xlYW4ge1xyXG5cdFx0aWYgKHRoaXMuc3ZyLkNvbnRyb2xsZXJzICYmIHRoaXMuYmlsbCAmJiB0aGlzLmJpbGwuZm9ybUdyb3VwICYmIHRoaXMuYmlsbC5mb3JtR3JvdXAuZ2V0KCdDb250cm9sbGVyJykudmFsdWUpIHtcclxuXHRcdFx0Y29uc3QgZm91bmQgPSB0aGlzLnN2ci5Db250cm9sbGVycy5maW5kKHYgPT4gdi5OYW1lID09PSB0aGlzLmJpbGwuZm9ybUdyb3VwLmdldCgnQ29udHJvbGxlcicpLnZhbHVlKTtcclxuXHRcdFx0cmV0dXJuIGZvdW5kICYmIGZvdW5kLkJpbGw7XHJcblx0XHR9XHJcblx0XHRyZXR1cm4gZmFsc2U7XHJcblx0fVxyXG5cdHRhYnMoKTogc3RyaW5nW10ge1xyXG5cdFx0aWYgKHRoaXMuYmlsbCAmJiB0aGlzLmJpbGwuZm9ybUdyb3VwICYmIHRoaXMuYmlsbC5mb3JtR3JvdXAuZ2V0KCdDb250cm9sbGVyJykudmFsdWUpIHtcclxuXHRcdFx0aWYgKHRoaXMuaXNCaWxsQ29udHJvbGxlcigpKSB7XHJcblx0XHRcdFx0cmV0dXJuIHRoaXMuc3ZyLmRhdGEuYmlsbC5UYWJzO1xyXG5cdFx0XHR9XHJcblx0XHRcdGlmICh0aGlzLnN2ci5kYXRhW3RoaXMuYmlsbC5mb3JtR3JvdXAuZ2V0KCdDb250cm9sbGVyJykudmFsdWVdKSB7XHJcblx0XHRcdFx0cmV0dXJuIHRoaXMuc3ZyLmRhdGFbdGhpcy5iaWxsLmZvcm1Hcm91cC5nZXQoJ0NvbnRyb2xsZXInKS52YWx1ZV0uVGFicyB8fCBbXTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdHJldHVybiBbXTtcclxuXHR9XHJcblx0c2VsZWN0SWNvbigpIHtcclxuXHRcdC8vIOafpeeci+aIluiAheWIoOmZpOeKtuaAgeS4i++8jOS4jeiDveS/ruaUueWbvuagh1xyXG5cdFx0aWYgKHRoaXMuYmlsbC5pc0Jyb3dzZSgpIHx8IHRoaXMuYmlsbC5pc0RlbGV0ZSgpKSB7XHJcblx0XHRcdHJldHVybjtcclxuXHRcdH1cclxuXHRcdGNvbnN0IHYgPSB7XHJcblx0XHRcdGljb246IHRoaXMuYmlsbC5mb3JtR3JvdXAuZ2V0KCdJY29uJykudmFsdWUsXHJcblx0XHRcdGNvbG9yOiB0aGlzLmJpbGwuZm9ybUdyb3VwLmdldCgnQ29sb3InKS52YWx1ZVxyXG5cdFx0fTtcclxuXHRcdGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oSWNvblNlbGVjdENvbXBvbmVudCwge1xyXG5cdFx0XHR3aWR0aDogJzM4NHB4JyxcclxuXHRcdFx0aGVpZ2h0OiAnMTAwJScsXHJcblx0XHRcdGRhdGE6IHYsXHJcblx0XHRcdHBvc2l0aW9uOiB7XHJcblx0XHRcdFx0dG9wOiAnMHB4JyxcclxuXHRcdFx0XHRyaWdodDogJzBweCdcclxuXHRcdFx0fVxyXG5cdFx0fSk7XHJcblx0XHRkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUocmVzdWx0ID0+IHtcclxuXHRcdFx0aWYgKHJlc3VsdCkge1xyXG5cdFx0XHRcdHRoaXMuYmlsbC5mb3JtR3JvdXAuZ2V0KCdJY29uJykuc2V0VmFsdWUocmVzdWx0Lmljb24pO1xyXG5cdFx0XHRcdHRoaXMuYmlsbC5mb3JtR3JvdXAuZ2V0KCdDb2xvcicpLnNldFZhbHVlKHJlc3VsdC5jb2xvcik7XHJcblx0XHRcdH1cclxuXHRcdH0pO1xyXG5cdH1cclxufVxyXG4iXX0=