UNPKG

dbweb-common

Version:

用`yarn add dbweb-common`安装,不要忘记修改`angular.json`里的 `architect\build\options\assets`,加上

308 lines 41.8 kB
/** * @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=