Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@farris/app-navigation-be

Package Overview
Dependencies
Maintainers
26
Versions
16
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@farris/app-navigation-be - npm Package Compare versions

Comparing version 0.0.7 to 0.0.8

15

bundles/farris-app-navigation-be.umd.js

@@ -403,13 +403,10 @@ (function (global, factory) {

/** 用户点击确定时调用postApi传出参数 */
/** 用户 */
/** 用户点击确定时调用postApi传出参数 */
/**
* 用户
* 用户点击确定时调用postApi传出参数
* @return {?}
*/
AppNavigationBeComponent.prototype.clickConfirm = /** 用户点击确定时调用postApi传出参数 */
/**
* 用户
* @return {?}
*/
AppNavigationBeComponent.prototype.clickConfirm = /**
* 用户点击确定时调用postApi传出参数
* @return {?}
*/
function () {

@@ -422,3 +419,2 @@ var _this = this;

var relativePath = this.editorParams.relativePath || '';
// const relativePath = this.formBasicService.formMetaBasicInfo.relativePath;
/** @type {?} */

@@ -436,2 +432,3 @@ var path = '/api/dev/main/v1.0/mdservice/pickMetadata?currentPath=' + relativePath;

*/function (data) {
data['processMode'] === 'interpretation' ? 'interpretation' : 'general';
_this.submitModal.emit(data);

@@ -438,0 +435,0 @@ }));

2

bundles/farris-app-navigation-be.umd.min.js

@@ -1,2 +0,2 @@

!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("lodash-es"),require("@farris/ui-notify"),require("@angular/core"),require("@angular/common"),require("@farris/ui-input-group"),require("@angular/common/http"),require("@farris/ui-pagination")):"function"==typeof define&&define.amd?define("@farris/app-navigation-be",["exports","lodash-es","@farris/ui-notify","@angular/core","@angular/common","@farris/ui-input-group","@angular/common/http","@farris/ui-pagination"],t):t((e.farris=e.farris||{},e.farris["app-navigation-be"]={}),e.lodashEs,e.uiNotify,e.ng.core,e.ng.common,e.uiInputGroup,e.ng.common.http,e.uiPagination)}(this,function(e,o,t,a,n,i,r,s){"use strict";l.prototype.ngOnInit=function(){this.beData=[],this.modalConfig=this.editorParams.modalConfig||this.modalConfig,this.getAllDataInfo(),this.getRecentDataInfo(),this.getRecommandDataInfo(),this.chooseRecommand=!0},l.prototype.onPageChange=function(e){this.pageIndex!==e.pageIndex&&(this.pageIndex=e.pageIndex,this.paginationOptions.currentPage=e.pageIndex)},l.prototype.getAllDataInfo=function(){var t=this,e=this.injector.get(r.HttpClient),a=this.editorParams.relativePath||"",n=this.editorParams.source||"be";return e.get("/api/dev/main/v1.0/mdservice/unionmdlist?path="+a+"&pageIndex=1&pageSize=1000&metadataTypeList=."+n,{headers:new r.HttpHeaders({"Content-Type":"application/json"}),responseType:"json"}).subscribe(function(e){t.reinvokeInterface(e),t.beAllData=o.cloneDeep(t.getFormData(e,"all")),t.beAllDataCopy=o.cloneDeep(t.beAllData)})},l.prototype.getRecentDataInfo=function(){var t=this,e=this.injector.get(r.HttpClient),a=this.editorParams.relativePath||"",a="/"==a[0]?a.split("/")[1]:a.split("/")[0],n=this.editorParams.source||"be";return e.get("/api/dev/main/v1.0/mdservice/getmdrecentuse?appId="+a+"&metadataTypeList=."+n,{headers:new r.HttpHeaders({"Content-Type":"application/json"}),responseType:"json"}).subscribe(function(e){t.beRecentData=o.cloneDeep(t.getFormData(e,"recent")),t.beRecentData&&t.beRecentData.length&&(t.showRecommandData(),t.getUniqueData(t.beData))})},l.prototype.getRecommandDataInfo=function(){var t=this,e=this.editorParams.range||"Bo",a=this.injector.get(r.HttpClient),n=this.editorParams.relativePath||"",i=this.editorParams.source||"be";return a.get("/api/dev/main/v1.0/mdservice/metadataListIn"+e+"?path="+n+"&metadataTypeList=."+i,{headers:new r.HttpHeaders({"Content-Type":"application/json"}),responseType:"json"}).subscribe(function(e){t.beRecommandData=o.cloneDeep(t.getFormData(e,"local")),t.beRecommandData&&t.beRecommandData.length&&(t.showRecommandData(),t.getUniqueData(t.beData))})},l.prototype.getFormData=function(e,a){var n=[],e=e.metadataIndexItems||e;return e&&e.forEach(function(e,t){t={id:t,name:e.name,label:e.code,source:e.nameSpace,hide:!1,active:!1,data:e,category:a};n.push(t)}),n},l.prototype.showRecommandData=function(){var t=this;this.chooseRecommand=!0,this.beData=[],this.foldRecent=!1,this.beRecommandData&&this.beRecommandData.length&&this.beRecommandData.forEach(function(e){t.beData.push(o.cloneDeep(e))}),this.beRecentData&&this.beRecentData.length&&this.beRecentData.forEach(function(e){t.beData.push(o.cloneDeep(e))}),this.getUniqueData(this.beData),this.beData=this.onSearchValueChanged(this.searchValue)},l.prototype.showAllData=function(){this.beData=o.cloneDeep(this.beAllData),this.chooseRecommand=!1,this.foldRecent=!1,this.beData=this.onSearchValueChanged(this.searchValue)},l.prototype.onSearchValueChanged=function(e){var a,t=this.chooseRecommand?this.beData:this.beAllDataCopy;return t&&(e=(e=e==undefined?"":e).originalEvent!=undefined?e.value||"":e,this.searchValue=e,this.supportPaging=""==this.searchValue,a=(a=""==(a=e.replaceAll(" ","").replaceAll(">",""))?" ":a).toLowerCase(),t.forEach(function(e){var t=(e.name+" "+e.label+" "+e.source).toLowerCase();e.hide=0==t.includes(a)})),this.beData=o.cloneDeep(t),this.beData},l.prototype.getBeDataItem=function(t){var a=this;this.beData.forEach(function(e){t.data.code==e.data.code?(e.active=!e.active,a.selectedCommand=o.cloneDeep(t)):e.active=!1})},l.prototype.clickConfirm=function(){var e,t,a,n,i=this;if(this.selectedCommand&&this.selectedCommand.active)return e=this.injector.get(r.HttpClient),t="/api/dev/main/v1.0/mdservice/pickMetadata?currentPath="+(this.editorParams.relativePath||""),a=this.selectedCommand.data,n={headers:new r.HttpHeaders({"Content-Type":"application/json"})},e.post(t,a,n).subscribe(function(e){i.submitModal.emit(e)});switch(this.editorParams.source){case"be":this.notifyService.info("未选择业务实体");break;case"vo":this.notifyService.info("未选择视图对象");break;case"qo":this.notifyService.info("未选择查询对象");break;default:this.notifyService.info("未选择元数据")}return null},l.prototype.onClear=function(){this.beData=this.onSearchValueChanged("")},l.prototype.clickCancel=function(){this.closeModal.emit()},l.prototype.foldInRecent=function(){this.foldRecent=!this.foldRecent,this.beData&&!this.searchValue&&this.beData.forEach(function(e){"recent"==e.category&&(e.hide=!e.hide)})},l.prototype.foldInLocal=function(){this.foldLocal=!this.foldLocal,this.beData&&!this.searchValue&&this.beData.forEach(function(e){"local"==e.category&&(e.hide=!e.hide)})},l.prototype.getUniqueData=function(e){if(e){for(var t=o.cloneDeep(e),a=0;a<t.length;a++)for(var n=a+1;n<t.length;n++)t[a].id==t[n].id&&(t.splice(n,1),n--);e=o.cloneDeep(t)}return e},l.prototype.reinvokeInterface=function(e){var t=this;if(e.page){var a,n,i,e=e.page.total||0;if(1e3<e)return a=this.injector.get(r.HttpClient),n=this.editorParams.relativePath||"",i=this.editorParams.source||"be",a.get("/api/dev/main/v1.0/mdservice/unionmdlist?path="+n+"&pageIndex=1&pageSize="+e+"&metadataTypeList=."+i,{headers:new r.HttpHeaders({"Content-Type":"application/json"}),responseType:"json"}).subscribe(function(e){t.beAllData=o.cloneDeep(t.getFormData(e,"all")),t.beAllDataCopy=o.cloneDeep(t.beAllData)})}},l.decorators=[{type:a.Component,args:[{selector:"farris-appNavigationBe",template:'<div class="f-navBe">\n <div class="f-navBe-header">\n <div class="f-navBe-recent" (click)="showRecommandData()">\n <div\n [ngClass]="{\'f-navBe-recent-text-focus\':chooseRecommand,\'f-navBe-recent-text\':!chooseRecommand}">\n 推荐</div>\n </div>\n <div class="f-navBe-allData" (click)="showAllData()">\n <div\n [ngClass]="{\'f-navBe-allData-text-focus\':!chooseRecommand,\'f-navBe-allData-text\':chooseRecommand}">\n 全部</div>\n </div>\n <div class="f-navBe-remainder">\n <div class="f-navBe-search">\n <input-group [groupText]="groupIcon" [(value)]="searchValue"\n (clickHandle)="onSearchValueChanged($event)" (valueChange)="onSearchValueChanged($event)"\n (clear)="onClear()" placeholder="请输入名称/编号搜索" style="font-size:2px;"></input-group>\n </div>\n </div>\n </div>\n <div class="f-navBe-content" *ngIf="chooseRecommand">\n <div class="f-navBe-content-recent" *ngIf="chooseRecommand && !recentFoldIn">\n <div class="f-navBe-recentHeader" (click)="foldInRecent()">\n <div *ngIf="foldRecent" class="f-icon f-icon-arrow-60-right"\n style="color:#6E7088;font-size:12px;margin:0px 7px 0 0;"></div>\n <div *ngIf="!foldRecent" class="f-icon f-icon-arrow-60-down"\n style="color:#6E7088;font-size:12px;margin:0px 7px 0 0;"></div>\n <div class="f-navBe-recommandLabel">最近使用</div>\n </div>\n <ng-container *ngFor="let beDataItem of beData">\n <ng-container *ngIf="!beDataItem.hide && beDataItem.category == \'recent\'">\n <div [ngClass]="{\'f-navBe-item\':!beDataItem.active,\'f-navBe-item-active\':beDataItem.active}"\n (click)="getBeDataItem(beDataItem)">\n <div class="f-navBe-itemIcon">\n <div class="f-icon f-icon-window"\n style="color:#2BA85E;font-size:3px; width: 12px;height: 12px;padding: 0px 0px 2px 1px;">\n </div>\n </div>\n <div class="f-navBe-name">{{beDataItem.name}} ({{beDataItem.label}})</div>\n <div class="f-navBe-source">{{beDataItem.source}}</div>\n </div>\n </ng-container>\n </ng-container>\n </div>\n <div class="f-navBe-content-local" *ngIf="chooseRecommand && !localFoldIn">\n <div class="f-navBe-localHeader" (click)="foldInLocal()">\n <div *ngIf="foldLocal" class="f-icon f-icon-arrow-60-right"\n style="color:#6E7088;font-size:12px;margin:0px 7px 0 0;"></div>\n <div *ngIf="!foldLocal" class="f-icon f-icon-arrow-60-down"\n style="color:#6E7088;font-size:12px;margin:0px 7px 0 0;"></div>\n <div class="f-navBe-recommandLabel">本地元数据</div>\n </div>\n <ng-container *ngFor="let beDataItem of beData">\n <ng-container *ngIf="!beDataItem.hide && beDataItem.category == \'local\'">\n <div [ngClass]="{\'f-navBe-item\':!beDataItem.active,\'f-navBe-item-active\':beDataItem.active}"\n (click)="getBeDataItem(beDataItem)">\n <div class="f-navBe-itemIcon">\n <div class="f-icon f-icon-window"\n style="color:#2BA85E;font-size:3px; width: 12px;height: 12px;padding: 0px 0px 2px 1px;">\n </div>\n </div>\n <div class="f-navBe-name">{{beDataItem.name}} ({{beDataItem.label}})</div>\n <div class="f-navBe-source">{{beDataItem.source}}</div>\n </div>\n </ng-container>\n </ng-container>\n </div>\n </div>\n <div class="f-navBe-content2" *ngIf="!chooseRecommand">\n <div *ngFor="let beDataItem of (supportPaging ? (beData | paginate: paginationOptions) : beData)">\n <ng-container *ngIf="!beDataItem.hide">\n <div [ngClass]="{\'f-navBe-item\':!beDataItem.active,\'f-navBe-item-active\':beDataItem.active}"\n (click)="getBeDataItem(beDataItem)">\n <div class="f-navBe-itemIcon">\n <div class="f-icon f-icon-window"\n style="color:#2BA85E;font-size:3px; width: 12px;height: 12px;padding: 0px 0px 2px 0px;">\n </div>\n </div>\n <div class="f-navBe-name">{{beDataItem.name}} ({{beDataItem.label}})</div>\n <div class="f-navBe-source">{{beDataItem.source}}</div>\n </div>\n </ng-container>\n </div>\n <div *ngIf="supportPaging" class="f-navBe-content2-paging">\n <pagination-controls #pager [id]="paginationOptions?.id" [maxSize]="pagerLabelSize" [directionLinks]="true"\n [autoHide]="false" [responsive]="true" [previousLabel]="\' \'" [nextLabel]="\' \'"\n [showPageInfo]="showPageInfo" [showPageNumber]="showPageNumber" [showPageList]="showPageList"\n (pageChange)="onPageChange($event)">\n </pagination-controls>\n </div>\n </div>\n</div>\n\x3c!-- <ng-template #footer>\n <button type="button" class="btn btn-secondary" (click)="clickCancel()">取消</button>\n <button type="button" class="btn btn-primary" (click)="clickConfirm()">确定</button>\n</ng-template> --\x3e\n \x3c!-- 底部区域 --\x3e\n <div class="f-page-bottom">\n <div class="f-page-button">\n <div class="f-page-cancel-btn" (click)="clickCancel()">\n <span class="textCancel">取消</span>\n </div>\n <div class="f-page-sure-btn" (click)="clickConfirm()">\n <span class="textSure">确认</span>\n </div>\n </div>\n </div>',styles:[":host{overflow:hidden;position:absolute;top:0;left:0;right:0;bottom:0}.f-page-bottom{margin-top:0;height:60px;width:100%;border:1px solid #dee1ea;background-color:#fff;z-index:2000;bottom:0;left:0;position:absolute;display:flex;justify-content:flex-end;align-items:center}.f-page-button{float:right;margin-right:30px;width:200px;display:flex}.f-page-cancel-btn{width:75px;height:32px;display:inline-block;background:#fff;border:1px solid #d8dce6;box-shadow:0 1px 0 0 rgb(0 0 0 / 4%);border-radius:3px;margin-right:8px;text-align:center;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-wrap:wrap}.f-page-sure-btn{width:100px;height:32px;display:flex;background:#5989e7;border-radius:3px;text-align:center;cursor:pointer;align-items:center;justify-content:center;flex-wrap:wrap}.textCancel{font-family:PingFangSC-Regular;font-size:13px;color:#2d2f33}.textSure{font-family:PingFangSC-Regular;font-size:13px;color:#fff}.f-navBe{background-color:#fff;height:100%}.f-navBe-header{display:flex;min-width:400px;width:100%;height:44px;align-items:center;border:1px solid #e5e9ef;background:#f9f9fc;position:absolute;top:0;z-index:2}.f-navBe-allData{flex:2;text-align:center;display:flex;justify-content:center;align-items:center}.f-navBe-allData-text{width:32px;height:44px;font-family:PingFangSC-Medium;font-size:16px;color:#2d2f33;font-weight:500;padding-top:12px;cursor:pointer}.f-navBe-allData-text-focus{width:32px;height:44px;color:#2a87ff;border-bottom:3px solid #00f;font-family:PingFangSC-Medium;font-size:16px;font-weight:500;padding-top:12px;cursor:pointer}.f-navBe-recent{flex:2;text-align:center;display:flex;justify-content:center;align-items:center}.f-navBe-recent-text{width:32px;height:44px;font-family:PingFangSC-Medium;font-size:16px;color:#2d2f33;font-weight:500;padding-top:12px;cursor:pointer}.f-navBe-recent-text-focus{width:32px;height:44px;color:#2a87ff;border-bottom:3px solid #00f;font-family:PingFangSC-Medium;font-size:16px;font-weight:500;padding-top:12px;cursor:pointer}.f-navBe-remainder{flex:12}.f-navBe-search{width:220px;height:26.6px;background:#fff;border-radius:6px;float:right;margin-right:40px}.f-navBe-content{width:100%;min-width:400px;overflow:scroll;height:calc(100% - 50px)}.f-navBe-content2{width:100%;min-width:400px;margin-top:44px;height:calc(100% - 130px);overflow:scroll}.f-navBe-content2-paging{position:absolute;bottom:55px;right:50px}.f-navBe-content-recent{width:100%;min-width:400px;margin-top:44px}.f-navBe-content-local{width:100%;min-width:400px}.f-navBe-recommandLabel{height:18px;font-family:PingFangSC-Regular;font-size:13px;color:#3d4c6b;font-weight:400;cursor:pointer}.f-navBe-localHeader,.f-navBe-recentHeader{height:32px;background:#fafaff;width:100%;display:flex;align-items:center;padding-left:10px;cursor:pointer;border:1px solid rgba(233,236,243,1)}.f-navBe-item{height:62px;padding:15px 0 8px 18px;border:1px solid #e5e9ef}.f-navBe-item:hover{background-color:#edf5fc!important;cursor:pointer}.f-navBe-item-active{height:62px;padding:15px 0 8px 18px;border:1px solid #e5e9ef;background-color:#edf5fc!important}.f-navBe-itemIcon{width:16px;height:16px;padding:1px;margin-right:6px;background-color:#dcf4e8;display:inline-block}.f-navBe-name{width:80%;height:18px;font-family:PingFangSC-Regular;font-size:13px;color:#2d2f33;font-weight:400;overflow:hidden;display:inline-block;vertical-align:top}.f-navBe-source{width:100%;height:17px;font-family:PingFangSC-Regular;font-size:12px;color:#949ba7;font-weight:400}"]}]}],l.ctorParameters=function(){return[{type:a.Injector},{type:t.NotifyService}]},l.propDecorators={editorParams:[{type:a.Input}],closeModal:[{type:a.Output}],submitModal:[{type:a.Output}],modalFooter:[{type:a.ViewChild,args:["footer"]}]};var c=l;function l(e,t){this.injector=e,this.notifyService=t,this.closeModal=new a.EventEmitter,this.submitModal=new a.EventEmitter,this.groupIcon='<span class="k-icon k-i-search"></span>',this.chooseRecommand=!0,this.recentFoldIn=!1,this.localFoldIn=!1,this.relativePath="",this.isDeisgnerEnv=!0,this.foldLocal=!1,this.foldRecent=!1,this.pagerOnServer=!1,this.pageList=[20,50,100],this.pageIndex=1,this.pageSize=20,this.pagerHeight=56,this.showPageList=!1,this.showPageInfo=!0,this.showPageNumber=!0,this.pagerLabelSize=7,this.total=0,this.supportPaging=!0,this.modalConfig={title:"选择业务实体",width:900,height:500,resizable:!0,showButtons:!1,showMaxButton:!1,minWidth:650,minHeight:300},this.paginationOptions={id:"Farris-beMetadata-Pagination_",itemsPerPage:this.pageSize,currentPage:this.pageIndex,pageList:this.pageList,totalItems:this.total,remote:this.pagerOnServer}}d.decorators=[{type:a.NgModule,args:[{declarations:[c],imports:[n.CommonModule,i.InputGroupModule,r.HttpClientModule,s.PaginationModule],exports:[c]}]}];n=d;function d(){}e.AppNavigationBeComponent=c,e.AppNavigationBeModule=n,Object.defineProperty(e,"__esModule",{value:!0})});
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("lodash-es"),require("@farris/ui-notify"),require("@angular/core"),require("@angular/common"),require("@farris/ui-input-group"),require("@angular/common/http"),require("@farris/ui-pagination")):"function"==typeof define&&define.amd?define("@farris/app-navigation-be",["exports","lodash-es","@farris/ui-notify","@angular/core","@angular/common","@farris/ui-input-group","@angular/common/http","@farris/ui-pagination"],t):t((e.farris=e.farris||{},e.farris["app-navigation-be"]={}),e.lodashEs,e.uiNotify,e.ng.core,e.ng.common,e.uiInputGroup,e.ng.common.http,e.uiPagination)}(this,function(e,o,t,a,n,i,s,r){"use strict";l.prototype.ngOnInit=function(){this.beData=[],this.modalConfig=this.editorParams.modalConfig||this.modalConfig,this.getAllDataInfo(),this.getRecentDataInfo(),this.getRecommandDataInfo(),this.chooseRecommand=!0},l.prototype.onPageChange=function(e){this.pageIndex!==e.pageIndex&&(this.pageIndex=e.pageIndex,this.paginationOptions.currentPage=e.pageIndex)},l.prototype.getAllDataInfo=function(){var t=this,e=this.injector.get(s.HttpClient),a=this.editorParams.relativePath||"",n=this.editorParams.source||"be";return e.get("/api/dev/main/v1.0/mdservice/unionmdlist?path="+a+"&pageIndex=1&pageSize=1000&metadataTypeList=."+n,{headers:new s.HttpHeaders({"Content-Type":"application/json"}),responseType:"json"}).subscribe(function(e){t.reinvokeInterface(e),t.beAllData=o.cloneDeep(t.getFormData(e,"all")),t.beAllDataCopy=o.cloneDeep(t.beAllData)})},l.prototype.getRecentDataInfo=function(){var t=this,e=this.injector.get(s.HttpClient),a=this.editorParams.relativePath||"",a="/"==a[0]?a.split("/")[1]:a.split("/")[0],n=this.editorParams.source||"be";return e.get("/api/dev/main/v1.0/mdservice/getmdrecentuse?appId="+a+"&metadataTypeList=."+n,{headers:new s.HttpHeaders({"Content-Type":"application/json"}),responseType:"json"}).subscribe(function(e){t.beRecentData=o.cloneDeep(t.getFormData(e,"recent")),t.beRecentData&&t.beRecentData.length&&(t.showRecommandData(),t.getUniqueData(t.beData))})},l.prototype.getRecommandDataInfo=function(){var t=this,e=this.editorParams.range||"Bo",a=this.injector.get(s.HttpClient),n=this.editorParams.relativePath||"",i=this.editorParams.source||"be";return a.get("/api/dev/main/v1.0/mdservice/metadataListIn"+e+"?path="+n+"&metadataTypeList=."+i,{headers:new s.HttpHeaders({"Content-Type":"application/json"}),responseType:"json"}).subscribe(function(e){t.beRecommandData=o.cloneDeep(t.getFormData(e,"local")),t.beRecommandData&&t.beRecommandData.length&&(t.showRecommandData(),t.getUniqueData(t.beData))})},l.prototype.getFormData=function(e,a){var n=[],e=e.metadataIndexItems||e;return e&&e.forEach(function(e,t){t={id:t,name:e.name,label:e.code,source:e.nameSpace,hide:!1,active:!1,data:e,category:a};n.push(t)}),n},l.prototype.showRecommandData=function(){var t=this;this.chooseRecommand=!0,this.beData=[],this.foldRecent=!1,this.beRecommandData&&this.beRecommandData.length&&this.beRecommandData.forEach(function(e){t.beData.push(o.cloneDeep(e))}),this.beRecentData&&this.beRecentData.length&&this.beRecentData.forEach(function(e){t.beData.push(o.cloneDeep(e))}),this.getUniqueData(this.beData),this.beData=this.onSearchValueChanged(this.searchValue)},l.prototype.showAllData=function(){this.beData=o.cloneDeep(this.beAllData),this.chooseRecommand=!1,this.foldRecent=!1,this.beData=this.onSearchValueChanged(this.searchValue)},l.prototype.onSearchValueChanged=function(e){var a,t=this.chooseRecommand?this.beData:this.beAllDataCopy;return t&&(e=(e=e==undefined?"":e).originalEvent!=undefined?e.value||"":e,this.searchValue=e,this.supportPaging=""==this.searchValue,a=(a=""==(a=e.replaceAll(" ","").replaceAll(">",""))?" ":a).toLowerCase(),t.forEach(function(e){var t=(e.name+" "+e.label+" "+e.source).toLowerCase();e.hide=0==t.includes(a)})),this.beData=o.cloneDeep(t),this.beData},l.prototype.getBeDataItem=function(t){var a=this;this.beData.forEach(function(e){t.data.code==e.data.code?(e.active=!e.active,a.selectedCommand=o.cloneDeep(t)):e.active=!1})},l.prototype.clickConfirm=function(){var e,t,a,n,i=this;if(this.selectedCommand&&this.selectedCommand.active)return e=this.injector.get(s.HttpClient),t="/api/dev/main/v1.0/mdservice/pickMetadata?currentPath="+(this.editorParams.relativePath||""),a=this.selectedCommand.data,n={headers:new s.HttpHeaders({"Content-Type":"application/json"})},e.post(t,a,n).subscribe(function(e){e.processMode,i.submitModal.emit(e)});switch(this.editorParams.source){case"be":this.notifyService.info("未选择业务实体");break;case"vo":this.notifyService.info("未选择视图对象");break;case"qo":this.notifyService.info("未选择查询对象");break;default:this.notifyService.info("未选择元数据")}return null},l.prototype.onClear=function(){this.beData=this.onSearchValueChanged("")},l.prototype.clickCancel=function(){this.closeModal.emit()},l.prototype.foldInRecent=function(){this.foldRecent=!this.foldRecent,this.beData&&!this.searchValue&&this.beData.forEach(function(e){"recent"==e.category&&(e.hide=!e.hide)})},l.prototype.foldInLocal=function(){this.foldLocal=!this.foldLocal,this.beData&&!this.searchValue&&this.beData.forEach(function(e){"local"==e.category&&(e.hide=!e.hide)})},l.prototype.getUniqueData=function(e){if(e){for(var t=o.cloneDeep(e),a=0;a<t.length;a++)for(var n=a+1;n<t.length;n++)t[a].id==t[n].id&&(t.splice(n,1),n--);e=o.cloneDeep(t)}return e},l.prototype.reinvokeInterface=function(e){var t=this;if(e.page){var a,n,i,e=e.page.total||0;if(1e3<e)return a=this.injector.get(s.HttpClient),n=this.editorParams.relativePath||"",i=this.editorParams.source||"be",a.get("/api/dev/main/v1.0/mdservice/unionmdlist?path="+n+"&pageIndex=1&pageSize="+e+"&metadataTypeList=."+i,{headers:new s.HttpHeaders({"Content-Type":"application/json"}),responseType:"json"}).subscribe(function(e){t.beAllData=o.cloneDeep(t.getFormData(e,"all")),t.beAllDataCopy=o.cloneDeep(t.beAllData)})}},l.decorators=[{type:a.Component,args:[{selector:"farris-appNavigationBe",template:'<div class="f-navBe">\n <div class="f-navBe-header">\n <div class="f-navBe-recent" (click)="showRecommandData()">\n <div\n [ngClass]="{\'f-navBe-recent-text-focus\':chooseRecommand,\'f-navBe-recent-text\':!chooseRecommand}">\n 推荐</div>\n </div>\n <div class="f-navBe-allData" (click)="showAllData()">\n <div\n [ngClass]="{\'f-navBe-allData-text-focus\':!chooseRecommand,\'f-navBe-allData-text\':chooseRecommand}">\n 全部</div>\n </div>\n <div class="f-navBe-remainder">\n <div class="f-navBe-search">\n <input-group [groupText]="groupIcon" [(value)]="searchValue"\n (clickHandle)="onSearchValueChanged($event)" (valueChange)="onSearchValueChanged($event)"\n (clear)="onClear()" placeholder="请输入名称/编号搜索" style="font-size:2px;"></input-group>\n </div>\n </div>\n </div>\n <div class="f-navBe-content" *ngIf="chooseRecommand">\n <div class="f-navBe-content-recent" *ngIf="chooseRecommand && !recentFoldIn">\n <div class="f-navBe-recentHeader" (click)="foldInRecent()">\n <div *ngIf="foldRecent" class="f-icon f-icon-arrow-60-right"\n style="color:#6E7088;font-size:12px;margin:0px 7px 0 0;"></div>\n <div *ngIf="!foldRecent" class="f-icon f-icon-arrow-60-down"\n style="color:#6E7088;font-size:12px;margin:0px 7px 0 0;"></div>\n <div class="f-navBe-recommandLabel">最近使用</div>\n </div>\n <ng-container *ngFor="let beDataItem of beData">\n <ng-container *ngIf="!beDataItem.hide && beDataItem.category == \'recent\'">\n <div [ngClass]="{\'f-navBe-item\':!beDataItem.active,\'f-navBe-item-active\':beDataItem.active}"\n (click)="getBeDataItem(beDataItem)">\n <div class="f-navBe-itemIcon">\n <div class="f-icon f-icon-window"\n style="color:#2BA85E;font-size:3px; width: 12px;height: 12px;padding: 0px 0px 2px 1px;">\n </div>\n </div>\n <div class="f-navBe-name">{{beDataItem.name}} ({{beDataItem.label}})</div>\n <div class="f-navBe-source">{{beDataItem.source}}</div>\n </div>\n </ng-container>\n </ng-container>\n </div>\n <div class="f-navBe-content-local" *ngIf="chooseRecommand && !localFoldIn">\n <div class="f-navBe-localHeader" (click)="foldInLocal()">\n <div *ngIf="foldLocal" class="f-icon f-icon-arrow-60-right"\n style="color:#6E7088;font-size:12px;margin:0px 7px 0 0;"></div>\n <div *ngIf="!foldLocal" class="f-icon f-icon-arrow-60-down"\n style="color:#6E7088;font-size:12px;margin:0px 7px 0 0;"></div>\n <div class="f-navBe-recommandLabel">本地元数据</div>\n </div>\n <ng-container *ngFor="let beDataItem of beData">\n <ng-container *ngIf="!beDataItem.hide && beDataItem.category == \'local\'">\n <div [ngClass]="{\'f-navBe-item\':!beDataItem.active,\'f-navBe-item-active\':beDataItem.active}"\n (click)="getBeDataItem(beDataItem)">\n <div class="f-navBe-itemIcon">\n <div class="f-icon f-icon-window"\n style="color:#2BA85E;font-size:3px; width: 12px;height: 12px;padding: 0px 0px 2px 1px;">\n </div>\n </div>\n <div class="f-navBe-name">{{beDataItem.name}} ({{beDataItem.label}})</div>\n <div class="f-navBe-source">{{beDataItem.source}}</div>\n </div>\n </ng-container>\n </ng-container>\n </div>\n </div>\n <div class="f-navBe-content2" *ngIf="!chooseRecommand">\n <div *ngFor="let beDataItem of (supportPaging ? (beData | paginate: paginationOptions) : beData)">\n <ng-container *ngIf="!beDataItem.hide">\n <div [ngClass]="{\'f-navBe-item\':!beDataItem.active,\'f-navBe-item-active\':beDataItem.active}"\n (click)="getBeDataItem(beDataItem)">\n <div class="f-navBe-itemIcon">\n <div class="f-icon f-icon-window"\n style="color:#2BA85E;font-size:3px; width: 12px;height: 12px;padding: 0px 0px 2px 0px;">\n </div>\n </div>\n <div class="f-navBe-name">{{beDataItem.name}} ({{beDataItem.label}})</div>\n <div class="f-navBe-source">{{beDataItem.source}}</div>\n </div>\n </ng-container>\n </div>\n <div *ngIf="supportPaging" class="f-navBe-content2-paging">\n <pagination-controls #pager [id]="paginationOptions?.id" [maxSize]="pagerLabelSize" [directionLinks]="true"\n [autoHide]="false" [responsive]="true" [previousLabel]="\' \'" [nextLabel]="\' \'"\n [showPageInfo]="showPageInfo" [showPageNumber]="showPageNumber" [showPageList]="showPageList"\n (pageChange)="onPageChange($event)">\n </pagination-controls>\n </div>\n </div>\n</div>\n\x3c!-- <ng-template #footer>\n <button type="button" class="btn btn-secondary" (click)="clickCancel()">取消</button>\n <button type="button" class="btn btn-primary" (click)="clickConfirm()">确定</button>\n</ng-template> --\x3e\n \x3c!-- 底部区域 --\x3e\n <div class="f-page-bottom">\n <div class="f-page-button">\n <div class="f-page-cancel-btn" (click)="clickCancel()">\n <span class="textCancel">取消</span>\n </div>\n <div class="f-page-sure-btn" (click)="clickConfirm()">\n <span class="textSure">确认</span>\n </div>\n </div>\n </div>',styles:[":host{overflow:hidden;position:absolute;top:0;left:0;right:0;bottom:0}.f-page-bottom{margin-top:0;height:60px;width:100%;border:1px solid #dee1ea;background-color:#fff;z-index:2000;bottom:0;left:0;position:absolute;display:flex;justify-content:flex-end;align-items:center}.f-page-button{float:right;margin-right:30px;width:200px;display:flex}.f-page-cancel-btn{width:75px;height:32px;display:inline-block;background:#fff;border:1px solid #d8dce6;box-shadow:0 1px 0 0 rgb(0 0 0 / 4%);border-radius:3px;margin-right:8px;text-align:center;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-wrap:wrap}.f-page-sure-btn{width:100px;height:32px;display:flex;background:#5989e7;border-radius:3px;text-align:center;cursor:pointer;align-items:center;justify-content:center;flex-wrap:wrap}.textCancel{font-family:PingFangSC-Regular;font-size:13px;color:#2d2f33}.textSure{font-family:PingFangSC-Regular;font-size:13px;color:#fff}.f-navBe{background-color:#fff;height:100%}.f-navBe-header{display:flex;min-width:400px;width:100%;height:44px;align-items:center;border:1px solid #e5e9ef;background:#f9f9fc;position:absolute;top:0;z-index:2}.f-navBe-allData{flex:2;text-align:center;display:flex;justify-content:center;align-items:center}.f-navBe-allData-text{width:32px;height:44px;font-family:PingFangSC-Medium;font-size:16px;color:#2d2f33;font-weight:500;padding-top:12px;cursor:pointer}.f-navBe-allData-text-focus{width:32px;height:44px;color:#2a87ff;border-bottom:3px solid #00f;font-family:PingFangSC-Medium;font-size:16px;font-weight:500;padding-top:12px;cursor:pointer}.f-navBe-recent{flex:2;text-align:center;display:flex;justify-content:center;align-items:center}.f-navBe-recent-text{width:32px;height:44px;font-family:PingFangSC-Medium;font-size:16px;color:#2d2f33;font-weight:500;padding-top:12px;cursor:pointer}.f-navBe-recent-text-focus{width:32px;height:44px;color:#2a87ff;border-bottom:3px solid #00f;font-family:PingFangSC-Medium;font-size:16px;font-weight:500;padding-top:12px;cursor:pointer}.f-navBe-remainder{flex:12}.f-navBe-search{width:220px;height:26.6px;background:#fff;border-radius:6px;float:right;margin-right:40px}.f-navBe-content{width:100%;min-width:400px;overflow:scroll;height:calc(100% - 50px)}.f-navBe-content2{width:100%;min-width:400px;margin-top:44px;height:calc(100% - 130px);overflow:scroll}.f-navBe-content2-paging{position:absolute;bottom:55px;right:50px}.f-navBe-content-recent{width:100%;min-width:400px;margin-top:44px}.f-navBe-content-local{width:100%;min-width:400px}.f-navBe-recommandLabel{height:18px;font-family:PingFangSC-Regular;font-size:13px;color:#3d4c6b;font-weight:400;cursor:pointer}.f-navBe-localHeader,.f-navBe-recentHeader{height:32px;background:#fafaff;width:100%;display:flex;align-items:center;padding-left:10px;cursor:pointer;border:1px solid rgba(233,236,243,1)}.f-navBe-item{height:62px;padding:15px 0 8px 18px;border:1px solid #e5e9ef}.f-navBe-item:hover{background-color:#edf5fc!important;cursor:pointer}.f-navBe-item-active{height:62px;padding:15px 0 8px 18px;border:1px solid #e5e9ef;background-color:#edf5fc!important}.f-navBe-itemIcon{width:16px;height:16px;padding:1px;margin-right:6px;background-color:#dcf4e8;display:inline-block}.f-navBe-name{width:80%;height:18px;font-family:PingFangSC-Regular;font-size:13px;color:#2d2f33;font-weight:400;overflow:hidden;display:inline-block;vertical-align:top}.f-navBe-source{width:100%;height:17px;font-family:PingFangSC-Regular;font-size:12px;color:#949ba7;font-weight:400}"]}]}],l.ctorParameters=function(){return[{type:a.Injector},{type:t.NotifyService}]},l.propDecorators={editorParams:[{type:a.Input}],closeModal:[{type:a.Output}],submitModal:[{type:a.Output}],modalFooter:[{type:a.ViewChild,args:["footer"]}]};var c=l;function l(e,t){this.injector=e,this.notifyService=t,this.closeModal=new a.EventEmitter,this.submitModal=new a.EventEmitter,this.groupIcon='<span class="k-icon k-i-search"></span>',this.chooseRecommand=!0,this.recentFoldIn=!1,this.localFoldIn=!1,this.relativePath="",this.isDeisgnerEnv=!0,this.foldLocal=!1,this.foldRecent=!1,this.pagerOnServer=!1,this.pageList=[20,50,100],this.pageIndex=1,this.pageSize=20,this.pagerHeight=56,this.showPageList=!1,this.showPageInfo=!0,this.showPageNumber=!0,this.pagerLabelSize=7,this.total=0,this.supportPaging=!0,this.modalConfig={title:"选择业务实体",width:900,height:500,resizable:!0,showButtons:!1,showMaxButton:!1,minWidth:650,minHeight:300},this.paginationOptions={id:"Farris-beMetadata-Pagination_",itemsPerPage:this.pageSize,currentPage:this.pageIndex,pageList:this.pageList,totalItems:this.total,remote:this.pagerOnServer}}d.decorators=[{type:a.NgModule,args:[{declarations:[c],imports:[n.CommonModule,i.InputGroupModule,s.HttpClientModule,r.PaginationModule],exports:[c]}]}];n=d;function d(){}e.AppNavigationBeComponent=c,e.AppNavigationBeModule=n,Object.defineProperty(e,"__esModule",{value:!0})});
//# sourceMappingURL=farris-app-navigation-be.umd.min.js.map

@@ -355,5 +355,4 @@ /**

}
/** 用户点击确定时调用postApi传出参数 */
/**
* 用户
* 用户点击确定时调用postApi传出参数
* @return {?}

@@ -367,3 +366,2 @@ */

const relativePath = this.editorParams.relativePath || '';
// const relativePath = this.formBasicService.formMetaBasicInfo.relativePath;
/** @type {?} */

@@ -382,2 +380,3 @@ const path = '/api/dev/main/v1.0/mdservice/pickMetadata?currentPath=' + relativePath;

data => {
data['processMode'] === 'interpretation' ? 'interpretation' : 'general';
this.submitModal.emit(data);

@@ -671,2 +670,2 @@ }));

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLW5hdmlnYXRpb24tYmUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGZhcnJpcy9hcHAtbmF2aWdhdGlvbi1iZS8iLCJzb3VyY2VzIjpbImxpYi9hcHAtbmF2aWdhdGlvbi1iZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUVqSCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBUWxELE1BQU0sT0FBTyx3QkFBd0I7Ozs7O0lBaUZuQyxZQUVTLFFBQWtCLEVBQ2pCLGFBQTRCO1FBRDdCLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDakIsa0JBQWEsR0FBYixhQUFhLENBQWU7O1FBaEY1QixlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQzs7UUFFckMsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBTWhELGNBQVMsR0FBRyx5Q0FBeUMsQ0FBQzs7OztRQUV0RCxvQkFBZSxHQUFZLElBQUksQ0FBQzs7OztRQVVoQyxpQkFBWSxHQUFZLEtBQUssQ0FBQzs7OztRQUU5QixnQkFBVyxHQUFZLEtBQUssQ0FBQzs7UUFFN0IsaUJBQVksR0FBRyxFQUFFLENBQUM7O1FBRWxCLGtCQUFhLEdBQUcsSUFBSSxDQUFDOzs7O1FBRXJCLGNBQVMsR0FBWSxLQUFLLENBQUM7Ozs7UUFFM0IsZUFBVSxHQUFZLEtBQUssQ0FBQzs7OztRQUs1QixrQkFBYSxHQUFHLEtBQUssQ0FBQzs7OztRQUV0QixhQUFRLEdBQUcsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDOzs7O1FBRXpCLGNBQVMsR0FBRyxDQUFDLENBQUM7Ozs7UUFFZCxhQUFRLEdBQUcsRUFBRSxDQUFDOzs7O1FBRWQsZ0JBQVcsR0FBRyxFQUFFLENBQUM7Ozs7UUFFakIsaUJBQVksR0FBRyxLQUFLLENBQUM7Ozs7UUFFckIsaUJBQVksR0FBRyxJQUFJLENBQUM7Ozs7UUFFcEIsbUJBQWMsR0FBRyxJQUFJLENBQUM7Ozs7UUFFdEIsbUJBQWMsR0FBRyxDQUFDLENBQUM7Ozs7UUFFbkIsVUFBSyxHQUFHLENBQUMsQ0FBQzs7OztRQUVWLGtCQUFhLEdBQUcsSUFBSSxDQUFDOzs7O1FBRXJCLGdCQUFXLEdBQUc7WUFDWixLQUFLLEVBQUUsUUFBUTtZQUNmLEtBQUssRUFBRSxHQUFHO1lBQ1YsTUFBTSxFQUFFLEdBQUc7WUFDWCxTQUFTLEVBQUUsSUFBSTtZQUNmLFdBQVcsRUFBRSxLQUFLO1lBQ2xCLGFBQWEsRUFBRSxLQUFLO1lBQ3BCLFFBQVEsRUFBRSxHQUFHO1lBQ2IsU0FBUyxFQUFFLEdBQUc7U0FDZixDQUFDO1FBRUYsc0JBQWlCLEdBQUc7WUFDbEIsRUFBRSxFQUFFLCtCQUErQjtZQUNuQyxZQUFZLEVBQUUsSUFBSSxDQUFDLFFBQVE7WUFDM0IsV0FBVyxFQUFFLElBQUksQ0FBQyxTQUFTO1lBQzNCLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtZQUN2QixVQUFVLEVBQUUsSUFBSSxDQUFDLEtBQUs7WUFDdEIsTUFBTSxFQUFFLElBQUksQ0FBQyxhQUFhO1NBQzNCLENBQUM7SUFNRSxDQUFDOzs7O0lBRUwsUUFBUTtRQUNOLElBQUksQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDO1FBQ3BHLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztRQUM1QixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQztJQUM5QixDQUFDOzs7OztJQUVELFlBQVksQ0FBQyxJQUEyQjtRQUN0QyxJQUFJLElBQUksQ0FBQyxTQUFTLEtBQUssSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNyQyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7WUFDaEMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1NBQ3JEO0lBQ0gsQ0FBQzs7Ozs7SUFJRCxjQUFjOztjQUNOLElBQUksR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUM7OztjQUVwQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLElBQUksRUFBRTs7Y0FDbkQsUUFBUSxHQUFHLElBQUk7O2NBQ2YsTUFBTSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxJQUFJLElBQUk7UUFDL0MsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLGdEQUFnRCxHQUFHLFlBQVksR0FBRyx3QkFBd0IsR0FBRyxRQUFRLEdBQUcscUJBQXFCLEdBQUcsTUFBTSxFQUFFO1lBQ3RKLE9BQU8sRUFBRSxJQUFJLFdBQVcsQ0FBQyxFQUFFLGNBQWMsRUFBRSxrQkFBa0IsRUFBRSxDQUFDO1lBQ2hFLFlBQVksRUFBRSxNQUFNO1NBQ3JCLENBQUMsQ0FBQyxTQUFTOzs7O1FBQUMsSUFBSSxDQUFDLEVBQUU7WUFDbEIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzdCLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7WUFDMUQsSUFBSSxDQUFDLGFBQWEsR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2pELENBQUMsRUFBQyxDQUFDO0lBQ0wsQ0FBQzs7Ozs7SUFHRCxpQkFBaUI7O2NBQ1QsSUFBSSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQzs7O2NBRXBDLFlBQVksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksSUFBSSxFQUFFOztjQUNuRCxLQUFLLEdBQUcsWUFBWSxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7O2NBQ3hGLE1BQU0sR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sSUFBSSxJQUFJO1FBQy9DLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxvREFBb0QsR0FBRyxLQUFLLEdBQUcscUJBQXFCLEdBQUcsTUFBTSxFQUFFO1lBQzdHLE9BQU8sRUFBRSxJQUFJLFdBQVcsQ0FBQyxFQUFFLGNBQWMsRUFBRSxrQkFBa0IsRUFBRSxDQUFDO1lBQ2hFLFlBQVksRUFBRSxNQUFNO1NBQ3JCLENBQUMsQ0FBQyxTQUFTOzs7O1FBQUMsSUFBSSxDQUFDLEVBQUU7WUFDbEIsSUFBSSxDQUFDLFlBQVksR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQztZQUNoRSxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUU7Z0JBQ3JCLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUU7b0JBQzVCLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO29CQUN6QixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztpQkFDakM7YUFDRjtRQUNILENBQUMsRUFBQyxDQUFDO0lBQ0wsQ0FBQzs7Ozs7SUFHRCxvQkFBb0I7O2NBQ1osS0FBSyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxJQUFJLElBQUk7O2NBQ3ZDLElBQUksR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUM7OztjQUVwQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLElBQUksRUFBRTs7O2NBRW5ELE1BQU0sR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sSUFBSSxJQUFJO1FBQy9DLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyw2Q0FBNkMsR0FBRyxLQUFLLEdBQUcsUUFBUSxHQUFHLFlBQVksR0FBRyxxQkFBcUIsR0FBRyxNQUFNLEVBQUU7WUFDaEksT0FBTyxFQUFFLElBQUksV0FBVyxDQUFDLEVBQUUsY0FBYyxFQUFFLGtCQUFrQixFQUFFLENBQUM7WUFDaEUsWUFBWSxFQUFFLE1BQU07U0FDckIsQ0FBQyxDQUFDLFNBQVM7Ozs7UUFBQyxJQUFJLENBQUMsRUFBRTtZQUNsQixJQUFJLENBQUMsZUFBZSxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO1lBQ2xFLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRTtnQkFDeEIsSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sRUFBRTtvQkFDL0IsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7b0JBQ3pCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2lCQUNqQzthQUNGO1FBQ0gsQ0FBQyxFQUFDLENBQUM7SUFDTCxDQUFDOzs7Ozs7O0lBRUQsV0FBVyxDQUFDLElBQUksRUFBRSxRQUFROztZQUNwQixRQUFRLEdBQUcsRUFBRTs7Y0FDWCxVQUFVLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJO1FBQ2pGLElBQUksVUFBVSxFQUFFO1lBQ2QsVUFBVSxDQUFDLE9BQU87Ozs7O1lBQUMsVUFBVSxjQUFjLEVBQUUsS0FBSzs7b0JBQzVDLGtCQUFrQixHQUFHO29CQUN2QixFQUFFLEVBQUUsS0FBSztvQkFDVCxJQUFJLEVBQUUsY0FBYyxDQUFDLElBQUk7b0JBQ3pCLEtBQUssRUFBRSxjQUFjLENBQUMsSUFBSTtvQkFDMUIsTUFBTSxFQUFFLGNBQWMsQ0FBQyxTQUFTO29CQUNoQyxJQUFJLEVBQUUsS0FBSztvQkFDWCxNQUFNLEVBQUUsS0FBSztvQkFDYixJQUFJLEVBQUUsY0FBYztvQkFDcEIsUUFBUSxFQUFFLFFBQVE7aUJBQ25CO2dCQUNELFFBQVEsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztZQUNwQyxDQUFDLEVBQUMsQ0FBQztTQUNKO1FBQ0QsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQzs7Ozs7SUFHRCxpQkFBaUI7UUFDZixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQztRQUM1QixJQUFJLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQztRQUNqQixJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztRQUN4QixJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUU7WUFDeEIsSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sRUFBRTtnQkFDL0IsSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPOzs7O2dCQUFDLG1CQUFtQixDQUFDLEVBQUU7b0JBQ2pELElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUM7Z0JBQ25ELENBQUMsRUFBQyxDQUFDO2FBQ0o7U0FDRjtRQUNELElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNyQixJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFO2dCQUM1QixJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU87Ozs7Z0JBQUMsZ0JBQWdCLENBQUMsRUFBRTtvQkFDM0MsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQztnQkFDaEQsQ0FBQyxFQUFDLENBQUM7YUFDSjtTQUNGO1FBQ0QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDaEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzVELENBQUM7Ozs7O0lBR0QsV0FBVztRQUNULElBQUksQ0FBQyxNQUFNLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN4QyxJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQztRQUM3QixJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztRQUN4QixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDNUQsQ0FBQzs7Ozs7O0lBR0Qsb0JBQW9CLENBQUMsV0FBVzs7Y0FDeEIsWUFBWSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhO1FBQzVFLElBQUksWUFBWSxFQUFFO1lBQ2hCLFdBQVcsR0FBRyxXQUFXLElBQUksU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQztZQUMxRCxXQUFXLEdBQUcsV0FBVyxDQUFDLGVBQWUsQ0FBQyxJQUFJLFNBQVMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQztZQUNoRyxJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztZQUMvQixhQUFhO1lBQ2IsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsV0FBVyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7O2dCQUN2RCxLQUFLLEdBQUcsV0FBVyxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUM7WUFDL0QsS0FBSyxHQUFHLEtBQUssSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO1lBQ2xDLEtBQUssR0FBRyxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDNUIsWUFBWSxDQUFDLE9BQU87Ozs7WUFBQyxVQUFVLENBQUMsRUFBRTs7b0JBQzVCLGNBQWMsR0FBSSxHQUFHLFVBQVUsQ0FBQyxJQUFJLElBQUksVUFBVSxDQUFDLEtBQUssSUFBSSxVQUFVLENBQUMsTUFBTSxFQUFFOztzQkFDN0UsWUFBWSxHQUFHLGNBQWMsQ0FBQyxXQUFXLEVBQUU7Z0JBQ2pELFVBQVUsQ0FBQyxJQUFJLEdBQUcsWUFBWSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO1lBQ3pFLENBQUMsRUFBQyxDQUFBO1NBQ0g7UUFDRCxJQUFJLENBQUMsTUFBTSxHQUFHLFNBQVMsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUN0QyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQzs7Ozs7O0lBR0QsYUFBYSxDQUFDLGtCQUFrQjtRQUM5QixJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU87Ozs7UUFBQyxVQUFVLENBQUMsRUFBRTtZQUMvQixJQUFJLGtCQUFrQixDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUU7Z0JBQ3hELFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDO2dCQUN2QyxJQUFJLENBQUMsZUFBZSxHQUFHLFNBQVMsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO2FBQ3REO2lCQUNJO2dCQUNILFVBQVUsQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO2FBQzNCO1FBQ0gsQ0FBQyxFQUFDLENBQUE7SUFFSixDQUFDOzs7Ozs7SUFJRCxZQUFZO1FBQ1YsSUFBSSxJQUFJLENBQUMsZUFBZSxJQUFJLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLEVBQUU7O2tCQUNwRCxJQUFJLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDOztrQkFDcEMsWUFBWSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxJQUFJLEVBQUU7OztrQkFFbkQsSUFBSSxHQUFHLHdEQUF3RCxHQUFHLFlBQVk7O2tCQUM5RSxJQUFJLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJOztrQkFDaEMsWUFBWSxHQUFHO2dCQUNuQixPQUFPLEVBQUUsSUFBSSxXQUFXLENBQUMsRUFBRSxjQUFjLEVBQUUsa0JBQWtCLEVBQUUsQ0FBQzthQUNqRTtZQUNELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLFlBQVksQ0FBQyxDQUFDLFNBQVM7Ozs7WUFBQyxJQUFJLENBQUMsRUFBRTtnQkFDMUQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDOUIsQ0FBQyxFQUFDLENBQUM7U0FDSjthQUNJOztrQkFDRyxNQUFNLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNO1lBQ3ZDLFFBQVEsTUFBTSxFQUFDO2dCQUNiLEtBQUssSUFBSTtvQkFDUCxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDO29CQUN0QyxNQUFNO2dCQUNSLEtBQUssSUFBSTtvQkFDUCxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDO29CQUN0QyxNQUFNO2dCQUNSLEtBQUssSUFBSTtvQkFDUCxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDO29CQUN0QyxNQUFNO2dCQUNSO29CQUNFLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUM7b0JBQ3JDLE1BQU07YUFDVDtZQUVELE9BQU8sSUFBSSxDQUFDO1NBQ2I7SUFDSCxDQUFDOzs7OztJQUdELE9BQU87UUFDTCxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUM5QyxDQUFDOzs7O0lBSUQsV0FBVztRQUNULElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDekIsQ0FBQzs7OztJQUVELFlBQVk7UUFDVixJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQztRQUNuQyxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ3BDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTzs7OztZQUFDLFVBQVUsQ0FBQyxFQUFFO2dCQUMvQixJQUFJLFVBQVUsQ0FBQyxRQUFRLElBQUksUUFBUSxFQUFFO29CQUNuQyxVQUFVLENBQUMsSUFBSSxHQUFHLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQztpQkFDcEM7WUFDSCxDQUFDLEVBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQzs7OztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUNqQyxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsRUFBRTtZQUN0QyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU87Ozs7WUFBQyxVQUFVLENBQUMsRUFBRTtnQkFDL0IsSUFBSSxVQUFVLENBQUMsUUFBUSxJQUFJLE9BQU8sRUFBRTtvQkFDbEMsVUFBVSxDQUFDLElBQUksR0FBRyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUM7aUJBQ3BDO1lBQ0gsQ0FBQyxFQUFDLENBQUM7U0FDSjtJQUNILENBQUM7Ozs7OztJQUdELGFBQWEsQ0FBQyxJQUFJO1FBQ2hCLElBQUksSUFBSSxFQUFFOztnQkFDSixLQUFLLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQztZQUMzQixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtnQkFDckMsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO29CQUN6QyxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUU7d0JBQ3BDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO3dCQUNuQixDQUFDLEVBQUUsQ0FBQztxQkFDTDtpQkFDRjthQUNGO1lBQ0QsSUFBSSxHQUFHLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUN6QjtRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQzs7Ozs7O0lBRUQsaUJBQWlCLENBQUMsSUFBSTtRQUNwQixJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRTs7a0JBQ1YsUUFBUSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO1lBQzNDLElBQUksUUFBUSxHQUFHLElBQUksRUFBRTs7c0JBQ2IsSUFBSSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQzs7c0JBQ3BDLFlBQVksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksSUFBSSxFQUFFOztzQkFDbkQsTUFBTSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxJQUFJLElBQUk7Z0JBQy9DLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxnREFBZ0QsR0FBRyxZQUFZLEdBQUcsd0JBQXdCLEdBQUcsUUFBUSxHQUFHLHFCQUFxQixHQUFHLE1BQU0sRUFBRTtvQkFDdEosT0FBTyxFQUFFLElBQUksV0FBVyxDQUFDLEVBQUUsY0FBYyxFQUFFLGtCQUFrQixFQUFFLENBQUM7b0JBQ2hFLFlBQVksRUFBRSxNQUFNO2lCQUNyQixDQUFDLENBQUMsU0FBUzs7OztnQkFBQyxJQUFJLENBQUMsRUFBRTtvQkFDbEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztvQkFDMUQsSUFBSSxDQUFDLGFBQWEsR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO2dCQUNqRCxDQUFDLEVBQUMsQ0FBQzthQUNKO1NBQ0Y7SUFDSCxDQUFDOzs7WUF6V0YsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSx3QkFBd0I7Z0JBQ2xDLHN3TUFBaUQ7O2FBRWxEOzs7O1lBVndELFFBQVE7WUFJeEQsYUFBYTs7OzJCQVVuQixLQUFLO3lCQUVMLE1BQU07MEJBRU4sTUFBTTswQkFDTixTQUFTLFNBQUMsUUFBUTs7Ozs7OztJQUxuQixnREFBMkI7O0lBRTNCLDhDQUErQzs7SUFFL0MsK0NBQWdEOztJQUNoRCwrQ0FBbUQ7Ozs7O0lBRW5ELDBDQUFZOzs7OztJQUVaLCtDQUFvQjs7SUFDcEIsNkNBQXNEOzs7OztJQUV0RCxtREFBZ0M7Ozs7O0lBRWhDLG1EQUFxQjs7Ozs7SUFFckIsbURBQXFCOzs7OztJQUVyQixnREFBa0I7Ozs7O0lBRWxCLDZDQUFVOzs7OztJQUVWLGdEQUE4Qjs7Ozs7SUFFOUIsK0NBQTZCOztJQUU3QixnREFBa0I7O0lBRWxCLGlEQUFxQjs7Ozs7SUFFckIsNkNBQTJCOzs7OztJQUUzQiw4Q0FBNEI7Ozs7O0lBRTVCLGlEQUFjOzs7OztJQUdkLGlEQUFzQjs7Ozs7SUFFdEIsNENBQXlCOzs7OztJQUV6Qiw2Q0FBYzs7Ozs7SUFFZCw0Q0FBYzs7Ozs7SUFFZCwrQ0FBaUI7Ozs7O0lBRWpCLGdEQUFxQjs7Ozs7SUFFckIsZ0RBQW9COzs7OztJQUVwQixrREFBc0I7Ozs7O0lBRXRCLGtEQUFtQjs7Ozs7SUFFbkIseUNBQVU7Ozs7O0lBRVYsaURBQXFCOzs7OztJQUVyQiwrQ0FTRTs7SUFFRixxREFPRTs7SUFJQSw0Q0FBeUI7Ozs7O0lBQ3pCLGlEQUFvQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIEluamVjdG9yLCBWaWV3Q2hpbGQsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG4vLyBpbXBvcnQgeyBGb3JtQmFzaWNTZXJ2aWNlIH0gZnJvbSAnQGZhcnJpcy9kZXNpZ25lci1zZXJ2aWNlcyc7IFxuaW1wb3J0IHsgY2xvbmVEZWVwIH0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBIZWFkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgTm90aWZ5U2VydmljZSB9IGZyb20gJ0BmYXJyaXMvdWktbm90aWZ5JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZmFycmlzLWFwcE5hdmlnYXRpb25CZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9hcHAtbmF2aWdhdGlvbi1iZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2FwcC1uYXZpZ2F0aW9uLWJlLmNvbXBvbmVudC5jc3MnXVxufSlcblxuZXhwb3J0IGNsYXNzIEFwcE5hdmlnYXRpb25CZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIC8qKiDlhaXlj4IgKi9cbiAgQElucHV0KCkgZWRpdG9yUGFyYW1zOiBhbnk7XG4gIC8vIOaooeaAgeahhuWFs+mXrVxuICBAT3V0cHV0KCkgY2xvc2VNb2RhbCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAvLyDmqKHmgIHmoYbnoa7lrprlkI7lhbPpl63vvIzlubbkvKDpgJLlj4LmlbBcbiAgQE91dHB1dCgpIHN1Ym1pdE1vZGFsID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBWaWV3Q2hpbGQoJ2Zvb3RlcicpIG1vZGFsRm9vdGVyOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICAvKiog5Y6f5aeL5pWw5o2uICovXG4gIGJlRGF0YTogYW55O1xuICAvKiog5pCc57Si5qGG6L6T5YWl5YC8ICovXG4gIHNlYXJjaFZhbHVlOiBzdHJpbmc7XG4gIGdyb3VwSWNvbiA9ICc8c3BhbiBjbGFzcz1cImstaWNvbiBrLWktc2VhcmNoXCI+PC9zcGFuPic7XG4gIC8qKiDlvZPliY3pgInkuK3nmoTlsZXnpLrmlbDmja4gKi9cbiAgY2hvb3NlUmVjb21tYW5kOiBib29sZWFuID0gdHJ1ZTtcbiAgLyoqIOeUqOaIt+mAieaLqeeahOaVsOaNriAqL1xuICBzZWxlY3RlZENvbW1hbmQ6IGFueTtcbiAgLyoqIOaOqOiNkOaVsOaNriAqL1xuICBiZVJlY29tbWFuZERhdGE6IGFueTtcbiAgLyoqIOacgOi/keaVsOaNriAqL1xuICBiZVJlY2VudERhdGE6IGFueTtcbiAgLyoqIOWFqOmDqOaVsOaNriovXG4gIGJlQWxsRGF0YTtcbiAgLyoqIOaUtuaKmOacgOi/keebuOWFs+eahOaVsOaNriAqL1xuICByZWNlbnRGb2xkSW46IGJvb2xlYW4gPSBmYWxzZTtcbiAgLyoqIOaUtuaKmOacrOWcsOebuOWFs+eahOaVsOaNriAqL1xuICBsb2NhbEZvbGRJbjogYm9vbGVhbiA9IGZhbHNlO1xuICAvLyDot6/lvoTvvIjorr7orqHml7bnlKjvvIlcbiAgcmVsYXRpdmVQYXRoID0gJyc7XG4gIC8vIOW9k+WJjeeOr+Wig+aYr+WQpuiuvuiuoeaXtlxuICBpc0RlaXNnbmVyRW52ID0gdHJ1ZTtcbiAgLyoqIOaUtuaKmOacrOWcsOaVsOaNriAqL1xuICBmb2xkTG9jYWw6IGJvb2xlYW4gPSBmYWxzZTtcbiAgLyoqIOaUtuaKmOacgOi/keaVsOaNriAqL1xuICBmb2xkUmVjZW50OiBib29sZWFuID0gZmFsc2U7XG4gIC8qKiDigJzlhajpg6jigJ3mlbDmja7nmoTlia/mnKwgKi9cbiAgYmVBbGxEYXRhQ29weTtcblxuICAvKiog5ZCv55So5pyN5Yqh5Zmo56uv5YiG6aG1ICovXG4gIHBhZ2VyT25TZXJ2ZXIgPSBmYWxzZTtcbiAgLyoqIOavj+mhteiusOW9leaVsCAqL1xuICBwYWdlTGlzdCA9IFsyMCwgNTAsIDEwMF07XG4gIC8qKiDlvZPliY3pobXnoIEgKi9cbiAgcGFnZUluZGV4ID0gMTtcbiAgLyoqIOavj+mhteiusOW9leaVsCAqL1xuICBwYWdlU2l6ZSA9IDIwO1xuICAvKiog5YiG6aG15Yy66auY5bqmICovXG4gIHBhZ2VySGVpZ2h0ID0gNTY7XG4gIC8qKiDmmL7npLrmr4/pobXorrDlvZXmlbAgKi9cbiAgc2hvd1BhZ2VMaXN0ID0gZmFsc2U7XG4gIC8qKiDmmL7npLrliIbpobXkv6Hmga8gKi9cbiAgc2hvd1BhZ2VJbmZvID0gdHJ1ZTtcbiAgLyoqIOaYvuekuumhteeggSAqL1xuICBzaG93UGFnZU51bWJlciA9IHRydWU7XG4gIC8qKiDmmL7npLrpobXnoIHmnIDlpKfmlbDph48gKi9cbiAgcGFnZXJMYWJlbFNpemUgPSA3O1xuICAvKiog5oC76K6w5b2V5pWwICovXG4gIHRvdGFsID0gMDtcbiAgLyoqIOaYr+WQpuaUr+aMgeWIhumhtSAqL1xuICBzdXBwb3J0UGFnaW5nID0gdHJ1ZTtcbiAgLyoqIOW8ueeql+iuvuWumuWGheWuuSAqL1xuICBtb2RhbENvbmZpZyA9IHtcbiAgICB0aXRsZTogJ+mAieaLqeS4muWKoeWunuS9kycsXG4gICAgd2lkdGg6IDkwMCxcbiAgICBoZWlnaHQ6IDUwMCxcbiAgICByZXNpemFibGU6IHRydWUsXG4gICAgc2hvd0J1dHRvbnM6IGZhbHNlLFxuICAgIHNob3dNYXhCdXR0b246IGZhbHNlLFxuICAgIG1pbldpZHRoOiA2NTAsXG4gICAgbWluSGVpZ2h0OiAzMDAsXG4gIH07XG5cbiAgcGFnaW5hdGlvbk9wdGlvbnMgPSB7XG4gICAgaWQ6ICdGYXJyaXMtYmVNZXRhZGF0YS1QYWdpbmF0aW9uXycsXG4gICAgaXRlbXNQZXJQYWdlOiB0aGlzLnBhZ2VTaXplLFxuICAgIGN1cnJlbnRQYWdlOiB0aGlzLnBhZ2VJbmRleCxcbiAgICBwYWdlTGlzdDogdGhpcy5wYWdlTGlzdCxcbiAgICB0b3RhbEl0ZW1zOiB0aGlzLnRvdGFsLFxuICAgIHJlbW90ZTogdGhpcy5wYWdlck9uU2VydmVyXG4gIH07XG5cbiAgY29uc3RydWN0b3IoXG4gICAgLy8gcHJpdmF0ZSBmb3JtQmFzaWNTZXJ2aWNlOiBGb3JtQmFzaWNTZXJ2aWNlLFxuICAgIHB1YmxpYyBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgcHJpdmF0ZSBub3RpZnlTZXJ2aWNlOiBOb3RpZnlTZXJ2aWNlXG4gICkgeyB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5iZURhdGEgPSBbXTtcbiAgICB0aGlzLm1vZGFsQ29uZmlnID0gdGhpcy5lZGl0b3JQYXJhbXMubW9kYWxDb25maWcgPyB0aGlzLmVkaXRvclBhcmFtcy5tb2RhbENvbmZpZyA6IHRoaXMubW9kYWxDb25maWc7XG4gICAgdGhpcy5nZXRBbGxEYXRhSW5mbygpO1xuICAgIHRoaXMuZ2V0UmVjZW50RGF0YUluZm8oKTtcbiAgICB0aGlzLmdldFJlY29tbWFuZERhdGFJbmZvKCk7XG4gICAgdGhpcy5jaG9vc2VSZWNvbW1hbmQgPSB0cnVlO1xuICB9XG5cbiAgb25QYWdlQ2hhbmdlKHBhZ2U6IHsgcGFnZUluZGV4OiBudW1iZXIgfSkge1xuICAgIGlmICh0aGlzLnBhZ2VJbmRleCAhPT0gcGFnZS5wYWdlSW5kZXgpIHtcbiAgICAgIHRoaXMucGFnZUluZGV4ID0gcGFnZS5wYWdlSW5kZXg7XG4gICAgICB0aGlzLnBhZ2luYXRpb25PcHRpb25zLmN1cnJlbnRQYWdlID0gcGFnZS5wYWdlSW5kZXg7XG4gICAgfVxuICB9XG4gIC8qKlxuICAgKiDojrflj5blhajpg6jmlbDmja5cbiAgICovXG4gIGdldEFsbERhdGFJbmZvKCkge1xuICAgIGNvbnN0IGh0dHAgPSB0aGlzLmluamVjdG9yLmdldChIdHRwQ2xpZW50KTtcbiAgICAvLyBjb25zdCByZWxhdGl2ZVBhdGggPSB0aGlzLmZvcm1CYXNpY1NlcnZpY2UuZm9ybU1ldGFCYXNpY0luZm8ucmVsYXRpdmVQYXRoO1xuICAgIGNvbnN0IHJlbGF0aXZlUGF0aCA9IHRoaXMuZWRpdG9yUGFyYW1zLnJlbGF0aXZlUGF0aCB8fCAnJztcbiAgICBjb25zdCBwYWdlU2l6ZSA9IDEwMDA7XG4gICAgY29uc3Qgc291cmNlID0gdGhpcy5lZGl0b3JQYXJhbXMuc291cmNlIHx8ICdiZSdcbiAgICByZXR1cm4gaHR0cC5nZXQoJy9hcGkvZGV2L21haW4vdjEuMC9tZHNlcnZpY2UvdW5pb25tZGxpc3Q/cGF0aD0nICsgcmVsYXRpdmVQYXRoICsgJyZwYWdlSW5kZXg9MSZwYWdlU2l6ZT0nICsgcGFnZVNpemUgKyAnJm1ldGFkYXRhVHlwZUxpc3Q9LicgKyBzb3VyY2UsIHtcbiAgICAgIGhlYWRlcnM6IG5ldyBIdHRwSGVhZGVycyh7ICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicgfSksXG4gICAgICByZXNwb25zZVR5cGU6ICdqc29uJ1xuICAgIH0pLnN1YnNjcmliZShkYXRhID0+IHtcbiAgICAgIHRoaXMucmVpbnZva2VJbnRlcmZhY2UoZGF0YSk7XG4gICAgICB0aGlzLmJlQWxsRGF0YSA9IGNsb25lRGVlcCh0aGlzLmdldEZvcm1EYXRhKGRhdGEsICdhbGwnKSk7XG4gICAgICB0aGlzLmJlQWxsRGF0YUNvcHkgPSBjbG9uZURlZXAodGhpcy5iZUFsbERhdGEpO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqIOiOt+WPluacgOi/keaVsOaNriAqL1xuICBnZXRSZWNlbnREYXRhSW5mbygpIHtcbiAgICBjb25zdCBodHRwID0gdGhpcy5pbmplY3Rvci5nZXQoSHR0cENsaWVudCk7XG4gICAgLy8gY29uc3QgcmVsYXRpdmVQYXRoID0gdGhpcy5mb3JtQmFzaWNTZXJ2aWNlLmZvcm1NZXRhQmFzaWNJbmZvLnJlbGF0aXZlUGF0aCB8fCAnJztcbiAgICBjb25zdCByZWxhdGl2ZVBhdGggPSB0aGlzLmVkaXRvclBhcmFtcy5yZWxhdGl2ZVBhdGggfHwgJyc7XG4gICAgY29uc3QgYXBwSWQgPSByZWxhdGl2ZVBhdGhbMF0gPT0gJy8nID8gcmVsYXRpdmVQYXRoLnNwbGl0KCcvJylbMV0gOiByZWxhdGl2ZVBhdGguc3BsaXQoJy8nKVswXTtcbiAgICBjb25zdCBzb3VyY2UgPSB0aGlzLmVkaXRvclBhcmFtcy5zb3VyY2UgfHwgJ2JlJztcbiAgICByZXR1cm4gaHR0cC5nZXQoJy9hcGkvZGV2L21haW4vdjEuMC9tZHNlcnZpY2UvZ2V0bWRyZWNlbnR1c2U/YXBwSWQ9JyArIGFwcElkICsgJyZtZXRhZGF0YVR5cGVMaXN0PS4nICsgc291cmNlLCB7XG4gICAgICBoZWFkZXJzOiBuZXcgSHR0cEhlYWRlcnMoeyAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nIH0pLFxuICAgICAgcmVzcG9uc2VUeXBlOiAnanNvbidcbiAgICB9KS5zdWJzY3JpYmUoZGF0YSA9PiB7XG4gICAgICB0aGlzLmJlUmVjZW50RGF0YSA9IGNsb25lRGVlcCh0aGlzLmdldEZvcm1EYXRhKGRhdGEsICdyZWNlbnQnKSk7XG4gICAgICBpZiAodGhpcy5iZVJlY2VudERhdGEpIHtcbiAgICAgICAgaWYgKHRoaXMuYmVSZWNlbnREYXRhLmxlbmd0aCkge1xuICAgICAgICAgIHRoaXMuc2hvd1JlY29tbWFuZERhdGEoKTtcbiAgICAgICAgICB0aGlzLmdldFVuaXF1ZURhdGEodGhpcy5iZURhdGEpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICAvKiog6I635Y+W5o6o6I2Q5pWw5o2uICovXG4gIGdldFJlY29tbWFuZERhdGFJbmZvKCkge1xuICAgIGNvbnN0IHJhbmdlID0gdGhpcy5lZGl0b3JQYXJhbXMucmFuZ2UgfHwgJ0JvJztcbiAgICBjb25zdCBodHRwID0gdGhpcy5pbmplY3Rvci5nZXQoSHR0cENsaWVudCk7XG4gICAgLy8gY29uc3QgcmVsYXRpdmVQYXRoID0gdGhpcy5mb3JtQmFzaWNTZXJ2aWNlLmZvcm1NZXRhQmFzaWNJbmZvLnJlbGF0aXZlUGF0aDtcbiAgICBjb25zdCByZWxhdGl2ZVBhdGggPSB0aGlzLmVkaXRvclBhcmFtcy5yZWxhdGl2ZVBhdGggfHwgJyc7XG4gICAgLy8g5o6o6I2QXG4gICAgY29uc3Qgc291cmNlID0gdGhpcy5lZGl0b3JQYXJhbXMuc291cmNlIHx8ICdiZSdcbiAgICByZXR1cm4gaHR0cC5nZXQoJy9hcGkvZGV2L21haW4vdjEuMC9tZHNlcnZpY2UvbWV0YWRhdGFMaXN0SW4nICsgcmFuZ2UgKyAnP3BhdGg9JyArIHJlbGF0aXZlUGF0aCArICcmbWV0YWRhdGFUeXBlTGlzdD0uJyArIHNvdXJjZSwge1xuICAgICAgaGVhZGVyczogbmV3IEh0dHBIZWFkZXJzKHsgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyB9KSxcbiAgICAgIHJlc3BvbnNlVHlwZTogJ2pzb24nXG4gICAgfSkuc3Vic2NyaWJlKGRhdGEgPT4ge1xuICAgICAgdGhpcy5iZVJlY29tbWFuZERhdGEgPSBjbG9uZURlZXAodGhpcy5nZXRGb3JtRGF0YShkYXRhLCAnbG9jYWwnKSk7XG4gICAgICBpZiAodGhpcy5iZVJlY29tbWFuZERhdGEpIHtcbiAgICAgICAgaWYgKHRoaXMuYmVSZWNvbW1hbmREYXRhLmxlbmd0aCkge1xuICAgICAgICAgIHRoaXMuc2hvd1JlY29tbWFuZERhdGEoKTtcbiAgICAgICAgICB0aGlzLmdldFVuaXF1ZURhdGEodGhpcy5iZURhdGEpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbiAgLyoqIOiOt+WPluaVsOaNriAqL1xuICBnZXRGb3JtRGF0YShkYXRhLCBjYXRlZ29yeSkge1xuICAgIGxldCBtZXRhZGF0YSA9IFtdO1xuICAgIGNvbnN0IGJlTWV0YWRhdGEgPSBkYXRhWydtZXRhZGF0YUluZGV4SXRlbXMnXSA/IGRhdGFbJ21ldGFkYXRhSW5kZXhJdGVtcyddIDogZGF0YTtcbiAgICBpZiAoYmVNZXRhZGF0YSkge1xuICAgICAgYmVNZXRhZGF0YS5mb3JFYWNoKGZ1bmN0aW9uIChiZU1ldGFkYXRhSXRlbSwgaW5kZXgpIHtcbiAgICAgICAgbGV0IGJlTWV0YWRhdGFJdGVtVGVtcCA9IHtcbiAgICAgICAgICBpZDogaW5kZXgsXG4gICAgICAgICAgbmFtZTogYmVNZXRhZGF0YUl0ZW0ubmFtZSxcbiAgICAgICAgICBsYWJlbDogYmVNZXRhZGF0YUl0ZW0uY29kZSxcbiAgICAgICAgICBzb3VyY2U6IGJlTWV0YWRhdGFJdGVtLm5hbWVTcGFjZSxcbiAgICAgICAgICBoaWRlOiBmYWxzZSxcbiAgICAgICAgICBhY3RpdmU6IGZhbHNlLFxuICAgICAgICAgIGRhdGE6IGJlTWV0YWRhdGFJdGVtLFxuICAgICAgICAgIGNhdGVnb3J5OiBjYXRlZ29yeVxuICAgICAgICB9XG4gICAgICAgIG1ldGFkYXRhLnB1c2goYmVNZXRhZGF0YUl0ZW1UZW1wKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gbWV0YWRhdGE7XG4gIH1cblxuICAvKiog5bGV56S64oCc5o6o6I2Q4oCd5LiA5qCPICovXG4gIHNob3dSZWNvbW1hbmREYXRhKCkge1xuICAgIHRoaXMuY2hvb3NlUmVjb21tYW5kID0gdHJ1ZTtcbiAgICB0aGlzLmJlRGF0YSA9IFtdO1xuICAgIHRoaXMuZm9sZFJlY2VudCA9IGZhbHNlO1xuICAgIGlmICh0aGlzLmJlUmVjb21tYW5kRGF0YSkge1xuICAgICAgaWYgKHRoaXMuYmVSZWNvbW1hbmREYXRhLmxlbmd0aCkge1xuICAgICAgICB0aGlzLmJlUmVjb21tYW5kRGF0YS5mb3JFYWNoKGJlUmVjb21tYW5kRGF0YUl0ZW0gPT4ge1xuICAgICAgICAgIHRoaXMuYmVEYXRhLnB1c2goY2xvbmVEZWVwKGJlUmVjb21tYW5kRGF0YUl0ZW0pKTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuICAgIGlmICh0aGlzLmJlUmVjZW50RGF0YSkge1xuICAgICAgaWYgKHRoaXMuYmVSZWNlbnREYXRhLmxlbmd0aCkge1xuICAgICAgICB0aGlzLmJlUmVjZW50RGF0YS5mb3JFYWNoKGJlUmVjZW50RGF0YUl0ZW0gPT4ge1xuICAgICAgICAgIHRoaXMuYmVEYXRhLnB1c2goY2xvbmVEZWVwKGJlUmVjZW50RGF0YUl0ZW0pKTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuZ2V0VW5pcXVlRGF0YSh0aGlzLmJlRGF0YSk7XG4gICAgdGhpcy5iZURhdGEgPSB0aGlzLm9uU2VhcmNoVmFsdWVDaGFuZ2VkKHRoaXMuc2VhcmNoVmFsdWUpO1xuICB9XG5cbiAgLyoqIOWxleekuuKAnOWFqOmDqOKAneS4gOagjyAqL1xuICBzaG93QWxsRGF0YSgpIHtcbiAgICB0aGlzLmJlRGF0YSA9IGNsb25lRGVlcCh0aGlzLmJlQWxsRGF0YSk7XG4gICAgdGhpcy5jaG9vc2VSZWNvbW1hbmQgPSBmYWxzZTtcbiAgICB0aGlzLmZvbGRSZWNlbnQgPSBmYWxzZTtcbiAgICB0aGlzLmJlRGF0YSA9IHRoaXMub25TZWFyY2hWYWx1ZUNoYW5nZWQodGhpcy5zZWFyY2hWYWx1ZSk7XG4gIH1cblxuICAvKiog5pCc57Si6aG5ICovXG4gIG9uU2VhcmNoVmFsdWVDaGFuZ2VkKHNlYXJjaFZhbHVlKSB7XG4gICAgY29uc3Qgc2VhcmNoZWREYXRhID0gdGhpcy5jaG9vc2VSZWNvbW1hbmQgPyB0aGlzLmJlRGF0YSA6IHRoaXMuYmVBbGxEYXRhQ29weTtcbiAgICBpZiAoc2VhcmNoZWREYXRhKSB7XG4gICAgICBzZWFyY2hWYWx1ZSA9IHNlYXJjaFZhbHVlID09IHVuZGVmaW5lZCA/ICcnIDogc2VhcmNoVmFsdWU7XG4gICAgICBzZWFyY2hWYWx1ZSA9IHNlYXJjaFZhbHVlWydvcmlnaW5hbEV2ZW50J10gIT0gdW5kZWZpbmVkID8gc2VhcmNoVmFsdWUudmFsdWUgfHwgJycgOiBzZWFyY2hWYWx1ZTtcbiAgICAgIHRoaXMuc2VhcmNoVmFsdWUgPSBzZWFyY2hWYWx1ZTtcbiAgICAgIC8vIOaQnOe0ouahhuacieWAvOaXtuWFs+mXreWIhumhtVxuICAgICAgdGhpcy5zdXBwb3J0UGFnaW5nID0gdGhpcy5zZWFyY2hWYWx1ZSA9PSAnJyA/IHRydWUgOiBmYWxzZTtcbiAgICAgIGxldCB2YWx1ZSA9IHNlYXJjaFZhbHVlLnJlcGxhY2VBbGwoJyAnLCAnJykucmVwbGFjZUFsbCgnPicsICcnKTtcbiAgICAgIHZhbHVlID0gdmFsdWUgPT0gJycgPyAnICcgOiB2YWx1ZTtcbiAgICAgIHZhbHVlID0gdmFsdWUudG9Mb3dlckNhc2UoKTtcbiAgICAgIHNlYXJjaGVkRGF0YS5mb3JFYWNoKGJlRGF0YUl0ZW0gPT4ge1xuICAgICAgICBsZXQgY29tYmluZWRTdHJpbmcgPSAgYCR7YmVEYXRhSXRlbS5uYW1lfSAke2JlRGF0YUl0ZW0ubGFiZWx9ICR7YmVEYXRhSXRlbS5zb3VyY2V9YDtcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWRJdGVtID0gY29tYmluZWRTdHJpbmcudG9Mb3dlckNhc2UoKTtcbiAgICAgICAgYmVEYXRhSXRlbS5oaWRlID0gc2VsZWN0ZWRJdGVtLmluY2x1ZGVzKHZhbHVlKSA9PSBmYWxzZSA/IHRydWUgOiBmYWxzZTtcbiAgICAgIH0pXG4gICAgfVxuICAgIHRoaXMuYmVEYXRhID0gY2xvbmVEZWVwKHNlYXJjaGVkRGF0YSk7XG4gICAgcmV0dXJuIHRoaXMuYmVEYXRhO1xuICB9XG5cbiAgLyoqIOeUqOaIt+mAieaLqeWAvCAqL1xuICBnZXRCZURhdGFJdGVtKHNlbGVjdGVkQmVEYXRhSXRlbSkge1xuICAgIHRoaXMuYmVEYXRhLmZvckVhY2goYmVEYXRhSXRlbSA9PiB7XG4gICAgICBpZiAoc2VsZWN0ZWRCZURhdGFJdGVtLmRhdGEuY29kZSA9PSBiZURhdGFJdGVtLmRhdGEuY29kZSkge1xuICAgICAgICBiZURhdGFJdGVtLmFjdGl2ZSA9ICFiZURhdGFJdGVtLmFjdGl2ZTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZENvbW1hbmQgPSBjbG9uZURlZXAoc2VsZWN0ZWRCZURhdGFJdGVtKTtcbiAgICAgIH1cbiAgICAgIGVsc2Uge1xuICAgICAgICBiZURhdGFJdGVtLmFjdGl2ZSA9IGZhbHNlO1xuICAgICAgfVxuICAgIH0pXG5cbiAgfVxuXG4gIC8qKiDnlKjmiLfngrnlh7vnoa7lrprml7bosIPnlKhwb3N0QXBp5Lyg5Ye65Y+C5pWwICovXG4gIC8qKiDnlKjmiLcgKi9cbiAgY2xpY2tDb25maXJtKCkge1xuICAgIGlmICh0aGlzLnNlbGVjdGVkQ29tbWFuZCAmJiB0aGlzLnNlbGVjdGVkQ29tbWFuZFsnYWN0aXZlJ10pIHtcbiAgICAgIGNvbnN0IGh0dHAgPSB0aGlzLmluamVjdG9yLmdldChIdHRwQ2xpZW50KTtcbiAgICAgIGNvbnN0IHJlbGF0aXZlUGF0aCA9IHRoaXMuZWRpdG9yUGFyYW1zLnJlbGF0aXZlUGF0aCB8fCAnJztcbiAgICAgIC8vIGNvbnN0IHJlbGF0aXZlUGF0aCA9IHRoaXMuZm9ybUJhc2ljU2VydmljZS5mb3JtTWV0YUJhc2ljSW5mby5yZWxhdGl2ZVBhdGg7XG4gICAgICBjb25zdCBwYXRoID0gJy9hcGkvZGV2L21haW4vdjEuMC9tZHNlcnZpY2UvcGlja01ldGFkYXRhP2N1cnJlbnRQYXRoPScgKyByZWxhdGl2ZVBhdGg7XG4gICAgICBjb25zdCBib2R5ID0gdGhpcy5zZWxlY3RlZENvbW1hbmQuZGF0YTtcbiAgICAgIGNvbnN0IGhlYWRlck9wdGlvbiA9IHtcbiAgICAgICAgaGVhZGVyczogbmV3IEh0dHBIZWFkZXJzKHsgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyB9KVxuICAgICAgfVxuICAgICAgcmV0dXJuIGh0dHAucG9zdChwYXRoLCBib2R5LCBoZWFkZXJPcHRpb24pLnN1YnNjcmliZShkYXRhID0+IHtcbiAgICAgICAgdGhpcy5zdWJtaXRNb2RhbC5lbWl0KGRhdGEpO1xuICAgICAgfSk7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgY29uc3Qgc291cmNlID0gdGhpcy5lZGl0b3JQYXJhbXMuc291cmNlO1xuICAgICAgc3dpdGNoIChzb3VyY2Upe1xuICAgICAgICBjYXNlICdiZSc6XG4gICAgICAgICAgdGhpcy5ub3RpZnlTZXJ2aWNlWydpbmZvJ10oJ+acqumAieaLqeS4muWKoeWunuS9kycpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICd2byc6XG4gICAgICAgICAgdGhpcy5ub3RpZnlTZXJ2aWNlWydpbmZvJ10oJ+acqumAieaLqeinhuWbvuWvueixoScpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdxbyc6XG4gICAgICAgICAgdGhpcy5ub3RpZnlTZXJ2aWNlWydpbmZvJ10oJ+acqumAieaLqeafpeivouWvueixoScpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIHRoaXMubm90aWZ5U2VydmljZVsnaW5mbyddKCfmnKrpgInmi6nlhYPmlbDmja4nKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIFxuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG5cbiAgLyoqIOa4heepuuaQnOe0ouWGheWuuSAqL1xuICBvbkNsZWFyKCkge1xuICAgIHRoaXMuYmVEYXRhID0gdGhpcy5vblNlYXJjaFZhbHVlQ2hhbmdlZCgnJyk7XG4gIH1cblxuXG5cbiAgY2xpY2tDYW5jZWwoKSB7XG4gICAgdGhpcy5jbG9zZU1vZGFsLmVtaXQoKTtcbiAgfVxuXG4gIGZvbGRJblJlY2VudCgpIHtcbiAgICB0aGlzLmZvbGRSZWNlbnQgPSAhdGhpcy5mb2xkUmVjZW50O1xuICAgIGlmICh0aGlzLmJlRGF0YSAmJiAhdGhpcy5zZWFyY2hWYWx1ZSkge1xuICAgICAgdGhpcy5iZURhdGEuZm9yRWFjaChiZURhdGFJdGVtID0+IHtcbiAgICAgICAgaWYgKGJlRGF0YUl0ZW0uY2F0ZWdvcnkgPT0gJ3JlY2VudCcpIHtcbiAgICAgICAgICBiZURhdGFJdGVtLmhpZGUgPSAhYmVEYXRhSXRlbS5oaWRlO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBmb2xkSW5Mb2NhbCgpIHtcbiAgICB0aGlzLmZvbGRMb2NhbCA9ICF0aGlzLmZvbGRMb2NhbDtcbiAgICBpZiAodGhpcy5iZURhdGEgJiYgISh0aGlzLnNlYXJjaFZhbHVlKSkge1xuICAgICAgdGhpcy5iZURhdGEuZm9yRWFjaChiZURhdGFJdGVtID0+IHtcbiAgICAgICAgaWYgKGJlRGF0YUl0ZW0uY2F0ZWdvcnkgPT0gJ2xvY2FsJykge1xuICAgICAgICAgIGJlRGF0YUl0ZW0uaGlkZSA9ICFiZURhdGFJdGVtLmhpZGU7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIC8qKiDljrvph40qL1xuICBnZXRVbmlxdWVEYXRhKGRhdGEpIHtcbiAgICBpZiAoZGF0YSkge1xuICAgICAgbGV0IHZhbHVlID0gY2xvbmVEZWVwKGRhdGEpO1xuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB2YWx1ZS5sZW5ndGg7IGkrKykge1xuICAgICAgICBmb3IgKGxldCBqID0gaSArIDE7IGogPCB2YWx1ZS5sZW5ndGg7IGorKykge1xuICAgICAgICAgIGlmICh2YWx1ZVtpXVsnaWQnXSA9PSB2YWx1ZVtqXVsnaWQnXSkge1xuICAgICAgICAgICAgdmFsdWUuc3BsaWNlKGosIDEpO1xuICAgICAgICAgICAgai0tO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgZGF0YSA9IGNsb25lRGVlcCh2YWx1ZSk7XG4gICAgfVxuICAgIHJldHVybiBkYXRhO1xuICB9XG4gIC8qKiDmjqXlj6PmlbDmja7otoXov4cxMDAw5p2h5pe277yM6YeN5paw6LCD5Y+W5omA5pyJ5pWw5o2uICovXG4gIHJlaW52b2tlSW50ZXJmYWNlKGRhdGEpIHtcbiAgICBpZiAoZGF0YVsncGFnZSddKSB7XG4gICAgICBjb25zdCB0b3RhbE51bSA9IGRhdGFbJ3BhZ2UnXVsndG90YWwnXSB8fCAwO1xuICAgICAgaWYgKHRvdGFsTnVtID4gMTAwMCkge1xuICAgICAgICBjb25zdCBodHRwID0gdGhpcy5pbmplY3Rvci5nZXQoSHR0cENsaWVudCk7XG4gICAgICAgIGNvbnN0IHJlbGF0aXZlUGF0aCA9IHRoaXMuZWRpdG9yUGFyYW1zLnJlbGF0aXZlUGF0aCB8fCAnJztcbiAgICAgICAgY29uc3Qgc291cmNlID0gdGhpcy5lZGl0b3JQYXJhbXMuc291cmNlIHx8ICdiZSdcbiAgICAgICAgcmV0dXJuIGh0dHAuZ2V0KCcvYXBpL2Rldi9tYWluL3YxLjAvbWRzZXJ2aWNlL3VuaW9ubWRsaXN0P3BhdGg9JyArIHJlbGF0aXZlUGF0aCArICcmcGFnZUluZGV4PTEmcGFnZVNpemU9JyArIHRvdGFsTnVtICsgJyZtZXRhZGF0YVR5cGVMaXN0PS4nICsgc291cmNlLCB7XG4gICAgICAgICAgaGVhZGVyczogbmV3IEh0dHBIZWFkZXJzKHsgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyB9KSxcbiAgICAgICAgICByZXNwb25zZVR5cGU6ICdqc29uJ1xuICAgICAgICB9KS5zdWJzY3JpYmUoZGF0YSA9PiB7XG4gICAgICAgICAgdGhpcy5iZUFsbERhdGEgPSBjbG9uZURlZXAodGhpcy5nZXRGb3JtRGF0YShkYXRhLCAnYWxsJykpO1xuICAgICAgICAgIHRoaXMuYmVBbGxEYXRhQ29weSA9IGNsb25lRGVlcCh0aGlzLmJlQWxsRGF0YSk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLW5hdmlnYXRpb24tYmUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGZhcnJpcy9hcHAtbmF2aWdhdGlvbi1iZS8iLCJzb3VyY2VzIjpbImxpYi9hcHAtbmF2aWdhdGlvbi1iZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUVqSCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBUWxELE1BQU0sT0FBTyx3QkFBd0I7Ozs7O0lBaUZuQyxZQUVTLFFBQWtCLEVBQ2pCLGFBQTRCO1FBRDdCLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDakIsa0JBQWEsR0FBYixhQUFhLENBQWU7O1FBaEY1QixlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQzs7UUFFckMsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBTWhELGNBQVMsR0FBRyx5Q0FBeUMsQ0FBQzs7OztRQUV0RCxvQkFBZSxHQUFZLElBQUksQ0FBQzs7OztRQVVoQyxpQkFBWSxHQUFZLEtBQUssQ0FBQzs7OztRQUU5QixnQkFBVyxHQUFZLEtBQUssQ0FBQzs7UUFFN0IsaUJBQVksR0FBRyxFQUFFLENBQUM7O1FBRWxCLGtCQUFhLEdBQUcsSUFBSSxDQUFDOzs7O1FBRXJCLGNBQVMsR0FBWSxLQUFLLENBQUM7Ozs7UUFFM0IsZUFBVSxHQUFZLEtBQUssQ0FBQzs7OztRQUs1QixrQkFBYSxHQUFHLEtBQUssQ0FBQzs7OztRQUV0QixhQUFRLEdBQUcsQ0FBQyxFQUFFLEVBQUUsRUFB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QXlCOzs7OztJQUV6Qiw2Q0FBYzs7Ozs7SUFFZCw0Q0FBYzs7Ozs7SUFFZCwrQ0FBaUI7Ozs7O0lBRWpCLGdEQUFxQjs7Ozs7SUFFckIsZ0RBQW9COzs7OztJQUVwQixrREFBc0I7Ozs7O0lBRXRCLGtEQUFtQjs7Ozs7SUFFbkIseUNBQVU7Ozs7O0lBRVYsaURBQXFCOzs7OztJQUVyQiwrQ0FTRTs7SUFFRixxREFPRTs7SUFJQSw0Q0FBeUI7Ozs7O0lBQ3pCLGlEQUFvQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIEluamVjdG9yLCBWaWV3Q2hpbGQsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG4vLyBpbXBvcnQgeyBGb3JtQmFzaWNTZXJ2aWNlIH0gZnJvbSAnQGZhcnJpcy9kZXNpZ25lci1zZXJ2aWNlcyc7IFxuaW1wb3J0IHsgY2xvbmVEZWVwIH0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBIZWFkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgTm90aWZ5U2VydmljZSB9IGZyb20gJ0BmYXJyaXMvdWktbm90aWZ5JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZmFycmlzLWFwcE5hdmlnYXRpb25CZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9hcHAtbmF2aWdhdGlvbi1iZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2FwcC1uYXZpZ2F0aW9uLWJlLmNvbXBvbmVudC5jc3MnXVxufSlcblxuZXhwb3J0IGNsYXNzIEFwcE5hdmlnYXRpb25CZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIC8qKiDlhaXlj4IgKi9cbiAgQElucHV0KCkgZWRpdG9yUGFyYW1zOiBhbnk7XG4gIC8vIOaooeaAgeahhuWFs+mXrVxuICBAT3V0cHV0KCkgY2xvc2VNb2RhbCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAvLyDmqKHmgIHmoYbnoa7lrprlkI7lhbPpl63vvIzlubbkvKDpgJLlj4LmlbBcbiAgQE91dHB1dCgpIHN1Ym1pdE1vZGFsID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBWaWV3Q2hpbGQoJ2Zvb3RlcicpIG1vZGFsRm9vdGVyOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICAvKiog5Y6f5aeL5pWw5o2uICovXG4gIGJlRGF0YTogYW55O1xuICAvKiog5pCc57Si5qGG6L6T5YWl5YC8ICovXG4gIHNlYXJjaFZhbHVlOiBzdHJpbmc7XG4gIGdyb3VwSWNvbiA9ICc8c3BhbiBjbGFzcz1cImstaWNvbiBrLWktc2VhcmNoXCI+PC9zcGFuPic7XG4gIC8qKiDlvZPliY3pgInkuK3nmoTlsZXnpLrmlbDmja4gKi9cbiAgY2hvb3NlUmVjb21tYW5kOiBib29sZWFuID0gdHJ1ZTtcbiAgLyoqIOeUqOaIt+mAieaLqeeahOaVsOaNriAqL1xuICBzZWxlY3RlZENvbW1hbmQ6IGFueTtcbiAgLyoqIOaOqOiNkOaVsOaNriAqL1xuICBiZVJlY29tbWFuZERhdGE6IGFueTtcbiAgLyoqIOacgOi/keaVsOaNriAqL1xuICBiZVJlY2VudERhdGE6IGFueTtcbiAgLyoqIOWFqOmDqOaVsOaNriovXG4gIGJlQWxsRGF0YTtcbiAgLyoqIOaUtuaKmOacgOi/keebuOWFs+eahOaVsOaNriAqL1xuICByZWNlbnRGb2xkSW46IGJvb2xlYW4gPSBmYWxzZTtcbiAgLyoqIOaUtuaKmOacrOWcsOebuOWFs+eahOaVsOaNriAqL1xuICBsb2NhbEZvbGRJbjogYm9vbGVhbiA9IGZhbHNlO1xuICAvLyDot6/lvoTvvIjorr7orqHml7bnlKjvvIlcbiAgcmVsYXRpdmVQYXRoID0gJyc7XG4gIC8vIOW9k+WJjeeOr+Wig+aYr+WQpuiuvuiuoeaXtlxuICBpc0RlaXNnbmVyRW52ID0gdHJ1ZTtcbiAgLyoqIOaUtuaKmOacrOWcsOaVsOaNriAqL1xuICBmb2xkTG9jYWw6IGJvb2xlYW4gPSBmYWxzZTtcbiAgLyoqIOaUtuaKmOacgOi/keaVsOaNriAqL1xuICBmb2xkUmVjZW50OiBib29sZWFuID0gZmFsc2U7XG4gIC8qKiDigJzlhajpg6jigJ3mlbDmja7nmoTlia/mnKwgKi9cbiAgYmVBbGxEYXRhQ29weTtcblxuICAvKiog5ZCv55So5pyN5Yqh5Zmo56uv5YiG6aG1ICovXG4gIHBhZ2VyT25TZXJ2ZXIgPSBmYWxzZTtcbiAgLyoqIOavj+mhteiusOW9leaVsCAqL1xuICBwYWdlTGlzdCA9IFsyMCwgNTAsIDEwMF07XG4gIC8qKiDlvZPliY3pobXnoIEgKi9cbiAgcGFnZUluZGV4ID0gMTtcbiAgLyoqIOavj+mhteiusOW9leaVsCAqL1xuICBwYWdlU2l6ZSA9IDIwO1xuICAvKiog5YiG6aG15Yy66auY5bqmICovXG4gIHBhZ2VySGVpZ2h0ID0gNTY7XG4gIC8qKiDmmL7npLrmr4/pobXorrDlvZXmlbAgKi9cbiAgc2hvd1BhZ2VMaXN0ID0gZmFsc2U7XG4gIC8qKiDmmL7npLrliIbpobXkv6Hmga8gKi9cbiAgc2hvd1BhZ2VJbmZvID0gdHJ1ZTtcbiAgLyoqIOaYvuekuumhteeggSAqL1xuICBzaG93UGFnZU51bWJlciA9IHRydWU7XG4gIC8qKiDmmL7npLrpobXnoIHmnIDlpKfmlbDph48gKi9cbiAgcGFnZXJMYWJlbFNpemUgPSA3O1xuICAvKiog5oC76K6w5b2V5pWwICovXG4gIHRvdGFsID0gMDtcbiAgLyoqIOaYr+WQpuaUr+aMgeWIhumhtSAqL1xuICBzdXBwb3J0UGFnaW5nID0gdHJ1ZTtcbiAgLyoqIOW8ueeql+iuvuWumuWGheWuuSAqL1xuICBtb2RhbENvbmZpZyA9IHtcbiAgICB0aXRsZTogJ+mAieaLqeS4muWKoeWunuS9kycsXG4gICAgd2lkdGg6IDkwMCxcbiAgICBoZWlnaHQ6IDUwMCxcbiAgICByZXNpemFibGU6IHRydWUsXG4gICAgc2hvd0J1dHRvbnM6IGZhbHNlLFxuICAgIHNob3dNYXhCdXR0b246IGZhbHNlLFxuICAgIG1pbldpZHRoOiA2NTAsXG4gICAgbWluSGVpZ2h0OiAzMDAsXG4gIH07XG5cbiAgcGFnaW5hdGlvbk9wdGlvbnMgPSB7XG4gICAgaWQ6ICdGYXJyaXMtYmVNZXRhZGF0YS1QYWdpbmF0aW9uXycsXG4gICAgaXRlbXNQZXJQYWdlOiB0aGlzLnBhZ2VTaXplLFxuICAgIGN1cnJlbnRQYWdlOiB0aGlzLnBhZ2VJbmRleCxcbiAgICBwYWdlTGlzdDogdGhpcy5wYWdlTGlzdCxcbiAgICB0b3RhbEl0ZW1zOiB0aGlzLnRvdGFsLFxuICAgIHJlbW90ZTogdGhpcy5wYWdlck9uU2VydmVyXG4gIH07XG5cbiAgY29uc3RydWN0b3IoXG4gICAgLy8gcHJpdmF0ZSBmb3JtQmFzaWNTZXJ2aWNlOiBGb3JtQmFzaWNTZXJ2aWNlLFxuICAgIHB1YmxpYyBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgcHJpdmF0ZSBub3RpZnlTZXJ2aWNlOiBOb3RpZnlTZXJ2aWNlXG4gICkgeyB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5iZURhdGEgPSBbXTtcbiAgICB0aGlzLm1vZGFsQ29uZmlnID0gdGhpcy5lZGl0b3JQYXJhbXMubW9kYWxDb25maWcgPyB0aGlzLmVkaXRvclBhcmFtcy5tb2RhbENvbmZpZyA6IHRoaXMubW9kYWxDb25maWc7XG4gICAgdGhpcy5nZXRBbGxEYXRhSW5mbygpO1xuICAgIHRoaXMuZ2V0UmVjZW50RGF0YUluZm8oKTtcbiAgICB0aGlzLmdldFJlY29tbWFuZERhdGFJbmZvKCk7XG4gICAgdGhpcy5jaG9vc2VSZWNvbW1hbmQgPSB0cnVlO1xuICB9XG5cbiAgb25QYWdlQ2hhbmdlKHBhZ2U6IHsgcGFnZUluZGV4OiBudW1iZXIgfSkge1xuICAgIGlmICh0aGlzLnBhZ2VJbmRleCAhPT0gcGFnZS5wYWdlSW5kZXgpIHtcbiAgICAgIHRoaXMucGFnZUluZGV4ID0gcGFnZS5wYWdlSW5kZXg7XG4gICAgICB0aGlzLnBhZ2luYXRpb25PcHRpb25zLmN1cnJlbnRQYWdlID0gcGFnZS5wYWdlSW5kZXg7XG4gICAgfVxuICB9XG4gIC8qKlxuICAgKiDojrflj5blhajpg6jmlbDmja5cbiAgICovXG4gIGdldEFsbERhdGFJbmZvKCkge1xuICAgIGNvbnN0IGh0dHAgPSB0aGlzLmluamVjdG9yLmdldChIdHRwQ2xpZW50KTtcbiAgICAvLyBjb25zdCByZWxhdGl2ZVBhdGggPSB0aGlzLmZvcm1CYXNpY1NlcnZpY2UuZm9ybU1ldGFCYXNpY0luZm8ucmVsYXRpdmVQYXRoO1xuICAgIGNvbnN0IHJlbGF0aXZlUGF0aCA9IHRoaXMuZWRpdG9yUGFyYW1zLnJlbGF0aXZlUGF0aCB8fCAnJztcbiAgICBjb25zdCBwYWdlU2l6ZSA9IDEwMDA7XG4gICAgY29uc3Qgc291cmNlID0gdGhpcy5lZGl0b3JQYXJhbXMuc291cmNlIHx8ICdiZSdcbiAgICByZXR1cm4gaHR0cC5nZXQoJy9hcGkvZGV2L21haW4vdjEuMC9tZHNlcnZpY2UvdW5pb25tZGxpc3Q/cGF0aD0nICsgcmVsYXRpdmVQYXRoICsgJyZwYWdlSW5kZXg9MSZwYWdlU2l6ZT0nICsgcGFnZVNpemUgKyAnJm1ldGFkYXRhVHlwZUxpc3Q9LicgKyBzb3VyY2UsIHtcbiAgICAgIGhlYWRlcnM6IG5ldyBIdHRwSGVhZGVycyh7ICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicgfSksXG4gICAgICByZXNwb25zZVR5cGU6ICdqc29uJ1xuICAgIH0pLnN1YnNjcmliZShkYXRhID0+IHtcbiAgICAgIHRoaXMucmVpbnZva2VJbnRlcmZhY2UoZGF0YSk7XG4gICAgICB0aGlzLmJlQWxsRGF0YSA9IGNsb25lRGVlcCh0aGlzLmdldEZvcm1EYXRhKGRhdGEsICdhbGwnKSk7XG4gICAgICB0aGlzLmJlQWxsRGF0YUNvcHkgPSBjbG9uZURlZXAodGhpcy5iZUFsbERhdGEpO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqIOiOt+WPluacgOi/keaVsOaNriAqL1xuICBnZXRSZWNlbnREYXRhSW5mbygpIHtcbiAgICBjb25zdCBodHRwID0gdGhpcy5pbmplY3Rvci5nZXQoSHR0cENsaWVudCk7XG4gICAgLy8gY29uc3QgcmVsYXRpdmVQYXRoID0gdGhpcy5mb3JtQmFzaWNTZXJ2aWNlLmZvcm1NZXRhQmFzaWNJbmZvLnJlbGF0aXZlUGF0aCB8fCAnJztcbiAgICBjb25zdCByZWxhdGl2ZVBhdGggPSB0aGlzLmVkaXRvclBhcmFtcy5yZWxhdGl2ZVBhdGggfHwgJyc7XG4gICAgY29uc3QgYXBwSWQgPSByZWxhdGl2ZVBhdGhbMF0gPT0gJy8nID8gcmVsYXRpdmVQYXRoLnNwbGl0KCcvJylbMV0gOiByZWxhdGl2ZVBhdGguc3BsaXQoJy8nKVswXTtcbiAgICBjb25zdCBzb3VyY2UgPSB0aGlzLmVkaXRvclBhcmFtcy5zb3VyY2UgfHwgJ2JlJztcbiAgICByZXR1cm4gaHR0cC5nZXQoJy9hcGkvZGV2L21haW4vdjEuMC9tZHNlcnZpY2UvZ2V0bWRyZWNlbnR1c2U/YXBwSWQ9JyArIGFwcElkICsgJyZtZXRhZGF0YVR5cGVMaXN0PS4nICsgc291cmNlLCB7XG4gICAgICBoZWFkZXJzOiBuZXcgSHR0cEhlYWRlcnMoeyAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nIH0pLFxuICAgICAgcmVzcG9uc2VUeXBlOiAnanNvbidcbiAgICB9KS5zdWJzY3JpYmUoZGF0YSA9PiB7XG4gICAgICB0aGlzLmJlUmVjZW50RGF0YSA9IGNsb25lRGVlcCh0aGlzLmdldEZvcm1EYXRhKGRhdGEsICdyZWNlbnQnKSk7XG4gICAgICBpZiAodGhpcy5iZVJlY2VudERhdGEpIHtcbiAgICAgICAgaWYgKHRoaXMuYmVSZWNlbnREYXRhLmxlbmd0aCkge1xuICAgICAgICAgIHRoaXMuc2hvd1JlY29tbWFuZERhdGEoKTtcbiAgICAgICAgICB0aGlzLmdldFVuaXF1ZURhdGEodGhpcy5iZURhdGEpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICAvKiog6I635Y+W5o6o6I2Q5pWw5o2uICovXG4gIGdldFJlY29tbWFuZERhdGFJbmZvKCkge1xuICAgIGNvbnN0IHJhbmdlID0gdGhpcy5lZGl0b3JQYXJhbXMucmFuZ2UgfHwgJ0JvJztcbiAgICBjb25zdCBodHRwID0gdGhpcy5pbmplY3Rvci5nZXQoSHR0cENsaWVudCk7XG4gICAgLy8gY29uc3QgcmVsYXRpdmVQYXRoID0gdGhpcy5mb3JtQmFzaWNTZXJ2aWNlLmZvcm1NZXRhQmFzaWNJbmZvLnJlbGF0aXZlUGF0aDtcbiAgICBjb25zdCByZWxhdGl2ZVBhdGggPSB0aGlzLmVkaXRvclBhcmFtcy5yZWxhdGl2ZVBhdGggfHwgJyc7XG4gICAgLy8g5o6o6I2QXG4gICAgY29uc3Qgc291cmNlID0gdGhpcy5lZGl0b3JQYXJhbXMuc291cmNlIHx8ICdiZSdcbiAgICByZXR1cm4gaHR0cC5nZXQoJy9hcGkvZGV2L21haW4vdjEuMC9tZHNlcnZpY2UvbWV0YWRhdGFMaXN0SW4nICsgcmFuZ2UgKyAnP3BhdGg9JyArIHJlbGF0aXZlUGF0aCArICcmbWV0YWRhdGFUeXBlTGlzdD0uJyArIHNvdXJjZSwge1xuICAgICAgaGVhZGVyczogbmV3IEh0dHBIZWFkZXJzKHsgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyB9KSxcbiAgICAgIHJlc3BvbnNlVHlwZTogJ2pzb24nXG4gICAgfSkuc3Vic2NyaWJlKGRhdGEgPT4ge1xuICAgICAgdGhpcy5iZVJlY29tbWFuZERhdGEgPSBjbG9uZURlZXAodGhpcy5nZXRGb3JtRGF0YShkYXRhLCAnbG9jYWwnKSk7XG4gICAgICBpZiAodGhpcy5iZVJlY29tbWFuZERhdGEpIHtcbiAgICAgICAgaWYgKHRoaXMuYmVSZWNvbW1hbmREYXRhLmxlbmd0aCkge1xuICAgICAgICAgIHRoaXMuc2hvd1JlY29tbWFuZERhdGEoKTtcbiAgICAgICAgICB0aGlzLmdldFVuaXF1ZURhdGEodGhpcy5iZURhdGEpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbiAgLyoqIOiOt+WPluaVsOaNriAqL1xuICBnZXRGb3JtRGF0YShkYXRhLCBjYXRlZ29yeSkge1xuICAgIGxldCBtZXRhZGF0YSA9IFtdO1xuICAgIGNvbnN0IGJlTWV0YWRhdGEgPSBkYXRhWydtZXRhZGF0YUluZGV4SXRlbXMnXSA/IGRhdGFbJ21ldGFkYXRhSW5kZXhJdGVtcyddIDogZGF0YTtcbiAgICBpZiAoYmVNZXRhZGF0YSkge1xuICAgICAgYmVNZXRhZGF0YS5mb3JFYWNoKGZ1bmN0aW9uIChiZU1ldGFkYXRhSXRlbSwgaW5kZXgpIHtcbiAgICAgICAgbGV0IGJlTWV0YWRhdGFJdGVtVGVtcCA9IHtcbiAgICAgICAgICBpZDogaW5kZXgsXG4gICAgICAgICAgbmFtZTogYmVNZXRhZGF0YUl0ZW0ubmFtZSxcbiAgICAgICAgICBsYWJlbDogYmVNZXRhZGF0YUl0ZW0uY29kZSxcbiAgICAgICAgICBzb3VyY2U6IGJlTWV0YWRhdGFJdGVtLm5hbWVTcGFjZSxcbiAgICAgICAgICBoaWRlOiBmYWxzZSxcbiAgICAgICAgICBhY3RpdmU6IGZhbHNlLFxuICAgICAgICAgIGRhdGE6IGJlTWV0YWRhdGFJdGVtLFxuICAgICAgICAgIGNhdGVnb3J5OiBjYXRlZ29yeVxuICAgICAgICB9XG4gICAgICAgIG1ldGFkYXRhLnB1c2goYmVNZXRhZGF0YUl0ZW1UZW1wKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gbWV0YWRhdGE7XG4gIH1cblxuICAvKiog5bGV56S64oCc5o6o6I2Q4oCd5LiA5qCPICovXG4gIHNob3dSZWNvbW1hbmREYXRhKCkge1xuICAgIHRoaXMuY2hvb3NlUmVjb21tYW5kID0gdHJ1ZTtcbiAgICB0aGlzLmJlRGF0YSA9IFtdO1xuICAgIHRoaXMuZm9sZFJlY2VudCA9IGZhbHNlO1xuICAgIGlmICh0aGlzLmJlUmVjb21tYW5kRGF0YSkge1xuICAgICAgaWYgKHRoaXMuYmVSZWNvbW1hbmREYXRhLmxlbmd0aCkge1xuICAgICAgICB0aGlzLmJlUmVjb21tYW5kRGF0YS5mb3JFYWNoKGJlUmVjb21tYW5kRGF0YUl0ZW0gPT4ge1xuICAgICAgICAgIHRoaXMuYmVEYXRhLnB1c2goY2xvbmVEZWVwKGJlUmVjb21tYW5kRGF0YUl0ZW0pKTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuICAgIGlmICh0aGlzLmJlUmVjZW50RGF0YSkge1xuICAgICAgaWYgKHRoaXMuYmVSZWNlbnREYXRhLmxlbmd0aCkge1xuICAgICAgICB0aGlzLmJlUmVjZW50RGF0YS5mb3JFYWNoKGJlUmVjZW50RGF0YUl0ZW0gPT4ge1xuICAgICAgICAgIHRoaXMuYmVEYXRhLnB1c2goY2xvbmVEZWVwKGJlUmVjZW50RGF0YUl0ZW0pKTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuZ2V0VW5pcXVlRGF0YSh0aGlzLmJlRGF0YSk7XG4gICAgdGhpcy5iZURhdGEgPSB0aGlzLm9uU2VhcmNoVmFsdWVDaGFuZ2VkKHRoaXMuc2VhcmNoVmFsdWUpO1xuICB9XG5cbiAgLyoqIOWxleekuuKAnOWFqOmDqOKAneS4gOagjyAqL1xuICBzaG93QWxsRGF0YSgpIHtcbiAgICB0aGlzLmJlRGF0YSA9IGNsb25lRGVlcCh0aGlzLmJlQWxsRGF0YSk7XG4gICAgdGhpcy5jaG9vc2VSZWNvbW1hbmQgPSBmYWxzZTtcbiAgICB0aGlzLmZvbGRSZWNlbnQgPSBmYWxzZTtcbiAgICB0aGlzLmJlRGF0YSA9IHRoaXMub25TZWFyY2hWYWx1ZUNoYW5nZWQodGhpcy5zZWFyY2hWYWx1ZSk7XG4gIH1cblxuICAvKiog5pCc57Si6aG5ICovXG4gIG9uU2VhcmNoVmFsdWVDaGFuZ2VkKHNlYXJjaFZhbHVlKSB7XG4gICAgY29uc3Qgc2VhcmNoZWREYXRhID0gdGhpcy5jaG9vc2VSZWNvbW1hbmQgPyB0aGlzLmJlRGF0YSA6IHRoaXMuYmVBbGxEYXRhQ29weTtcbiAgICBpZiAoc2VhcmNoZWREYXRhKSB7XG4gICAgICBzZWFyY2hWYWx1ZSA9IHNlYXJjaFZhbHVlID09IHVuZGVmaW5lZCA/ICcnIDogc2VhcmNoVmFsdWU7XG4gICAgICBzZWFyY2hWYWx1ZSA9IHNlYXJjaFZhbHVlWydvcmlnaW5hbEV2ZW50J10gIT0gdW5kZWZpbmVkID8gc2VhcmNoVmFsdWUudmFsdWUgfHwgJycgOiBzZWFyY2hWYWx1ZTtcbiAgICAgIHRoaXMuc2VhcmNoVmFsdWUgPSBzZWFyY2hWYWx1ZTtcbiAgICAgIC8vIOaQnOe0ouahhuacieWAvOaXtuWFs+mXreWIhumhtVxuICAgICAgdGhpcy5zdXBwb3J0UGFnaW5nID0gdGhpcy5zZWFyY2hWYWx1ZSA9PSAnJyA/IHRydWUgOiBmYWxzZTtcbiAgICAgIGxldCB2YWx1ZSA9IHNlYXJjaFZhbHVlLnJlcGxhY2VBbGwoJyAnLCAnJykucmVwbGFjZUFsbCgnPicsICcnKTtcbiAgICAgIHZhbHVlID0gdmFsdWUgPT0gJycgPyAnICcgOiB2YWx1ZTtcbiAgICAgIHZhbHVlID0gdmFsdWUudG9Mb3dlckNhc2UoKTtcbiAgICAgIHNlYXJjaGVkRGF0YS5mb3JFYWNoKGJlRGF0YUl0ZW0gPT4ge1xuICAgICAgICBsZXQgY29tYmluZWRTdHJpbmcgPSBgJHtiZURhdGFJdGVtLm5hbWV9ICR7YmVEYXRhSXRlbS5sYWJlbH0gJHtiZURhdGFJdGVtLnNvdXJjZX1gO1xuICAgICAgICBjb25zdCBzZWxlY3RlZEl0ZW0gPSBjb21iaW5lZFN0cmluZy50b0xvd2VyQ2FzZSgpO1xuICAgICAgICBiZURhdGFJdGVtLmhpZGUgPSBzZWxlY3RlZEl0ZW0uaW5jbHVkZXModmFsdWUpID09IGZhbHNlID8gdHJ1ZSA6IGZhbHNlO1xuICAgICAgfSlcbiAgICB9XG4gICAgdGhpcy5iZURhdGEgPSBjbG9uZURlZXAoc2VhcmNoZWREYXRhKTtcbiAgICByZXR1cm4gdGhpcy5iZURhdGE7XG4gIH1cblxuICAvKiog55So5oi36YCJ5oup5YC8ICovXG4gIGdldEJlRGF0YUl0ZW0oc2VsZWN0ZWRCZURhdGFJdGVtKSB7XG4gICAgdGhpcy5iZURhdGEuZm9yRWFjaChiZURhdGFJdGVtID0+IHtcbiAgICAgIGlmIChzZWxlY3RlZEJlRGF0YUl0ZW0uZGF0YS5jb2RlID09IGJlRGF0YUl0ZW0uZGF0YS5jb2RlKSB7XG4gICAgICAgIGJlRGF0YUl0ZW0uYWN0aXZlID0gIWJlRGF0YUl0ZW0uYWN0aXZlO1xuICAgICAgICB0aGlzLnNlbGVjdGVkQ29tbWFuZCA9IGNsb25lRGVlcChzZWxlY3RlZEJlRGF0YUl0ZW0pO1xuICAgICAgfVxuICAgICAgZWxzZSB7XG4gICAgICAgIGJlRGF0YUl0ZW0uYWN0aXZlID0gZmFsc2U7XG4gICAgICB9XG4gICAgfSlcblxuICB9XG5cbiAgLyoqIOeUqOaIt+eCueWHu+ehruWumuaXtuiwg+eUqHBvc3RBcGnkvKDlh7rlj4LmlbAgKi9cbiAgY2xpY2tDb25maXJtKCkge1xuICAgIGlmICh0aGlzLnNlbGVjdGVkQ29tbWFuZCAmJiB0aGlzLnNlbGVjdGVkQ29tbWFuZFsnYWN0aXZlJ10pIHtcbiAgICAgIGNvbnN0IGh0dHAgPSB0aGlzLmluamVjdG9yLmdldChIdHRwQ2xpZW50KTtcbiAgICAgIGNvbnN0IHJlbGF0aXZlUGF0aCA9IHRoaXMuZWRpdG9yUGFyYW1zLnJlbGF0aXZlUGF0aCB8fCAnJztcbiAgICAgIGNvbnN0IHBhdGggPSAnL2FwaS9kZXYvbWFpbi92MS4wL21kc2VydmljZS9waWNrTWV0YWRhdGE/Y3VycmVudFBhdGg9JyArIHJlbGF0aXZlUGF0aDtcbiAgICAgIGNvbnN0IGJvZHkgPSB0aGlzLnNlbGVjdGVkQ29tbWFuZC5kYXRhO1xuICAgICAgY29uc3QgaGVhZGVyT3B0aW9uID0ge1xuICAgICAgICBoZWFkZXJzOiBuZXcgSHR0cEhlYWRlcnMoeyAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nIH0pXG4gICAgICB9XG4gICAgICByZXR1cm4gaHR0cC5wb3N0KHBhdGgsIGJvZHksIGhlYWRlck9wdGlvbikuc3Vic2NyaWJlKGRhdGEgPT4ge1xuICAgICAgICBkYXRhWydwcm9jZXNzTW9kZSddID09PSAnaW50ZXJwcmV0YXRpb24nID8gJ2ludGVycHJldGF0aW9uJyA6ICdnZW5lcmFsJztcbiAgICAgICAgdGhpcy5zdWJtaXRNb2RhbC5lbWl0KGRhdGEpO1xuICAgICAgfSk7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgY29uc3Qgc291cmNlID0gdGhpcy5lZGl0b3JQYXJhbXMuc291cmNlO1xuICAgICAgc3dpdGNoIChzb3VyY2UpIHtcbiAgICAgICAgY2FzZSAnYmUnOlxuICAgICAgICAgIHRoaXMubm90aWZ5U2VydmljZVsnaW5mbyddKCfmnKrpgInmi6nkuJrliqHlrp7kvZMnKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAndm8nOlxuICAgICAgICAgIHRoaXMubm90aWZ5U2VydmljZVsnaW5mbyddKCfmnKrpgInmi6nop4blm77lr7nosaEnKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAncW8nOlxuICAgICAgICAgIHRoaXMubm90aWZ5U2VydmljZVsnaW5mbyddKCfmnKrpgInmi6nmn6Xor6Llr7nosaEnKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICB0aGlzLm5vdGlmeVNlcnZpY2VbJ2luZm8nXSgn5pyq6YCJ5oup5YWD5pWw5o2uJyk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgfVxuXG4gIC8qKiDmuIXnqbrmkJzntKLlhoXlrrkgKi9cbiAgb25DbGVhcigpIHtcbiAgICB0aGlzLmJlRGF0YSA9IHRoaXMub25TZWFyY2hWYWx1ZUNoYW5nZWQoJycpO1xuICB9XG5cblxuXG4gIGNsaWNrQ2FuY2VsKCkge1xuICAgIHRoaXMuY2xvc2VNb2RhbC5lbWl0KCk7XG4gIH1cblxuICBmb2xkSW5SZWNlbnQoKSB7XG4gICAgdGhpcy5mb2xkUmVjZW50ID0gIXRoaXMuZm9sZFJlY2VudDtcbiAgICBpZiAodGhpcy5iZURhdGEgJiYgIXRoaXMuc2VhcmNoVmFsdWUpIHtcbiAgICAgIHRoaXMuYmVEYXRhLmZvckVhY2goYmVEYXRhSXRlbSA9PiB7XG4gICAgICAgIGlmIChiZURhdGFJdGVtLmNhdGVnb3J5ID09ICdyZWNlbnQnKSB7XG4gICAgICAgICAgYmVEYXRhSXRlbS5oaWRlID0gIWJlRGF0YUl0ZW0uaGlkZTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgZm9sZEluTG9jYWwoKSB7XG4gICAgdGhpcy5mb2xkTG9jYWwgPSAhdGhpcy5mb2xkTG9jYWw7XG4gICAgaWYgKHRoaXMuYmVEYXRhICYmICEodGhpcy5zZWFyY2hWYWx1ZSkpIHtcbiAgICAgIHRoaXMuYmVEYXRhLmZvckVhY2goYmVEYXRhSXRlbSA9PiB7XG4gICAgICAgIGlmIChiZURhdGFJdGVtLmNhdGVnb3J5ID09ICdsb2NhbCcpIHtcbiAgICAgICAgICBiZURhdGFJdGVtLmhpZGUgPSAhYmVEYXRhSXRlbS5oaWRlO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICAvKiog5Y676YeNKi9cbiAgZ2V0VW5pcXVlRGF0YShkYXRhKSB7XG4gICAgaWYgKGRhdGEpIHtcbiAgICAgIGxldCB2YWx1ZSA9IGNsb25lRGVlcChkYXRhKTtcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdmFsdWUubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgZm9yIChsZXQgaiA9IGkgKyAxOyBqIDwgdmFsdWUubGVuZ3RoOyBqKyspIHtcbiAgICAgICAgICBpZiAodmFsdWVbaV1bJ2lkJ10gPT0gdmFsdWVbal1bJ2lkJ10pIHtcbiAgICAgICAgICAgIHZhbHVlLnNwbGljZShqLCAxKTtcbiAgICAgICAgICAgIGotLTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGRhdGEgPSBjbG9uZURlZXAodmFsdWUpO1xuICAgIH1cbiAgICByZXR1cm4gZGF0YTtcbiAgfVxuICAvKiog5o6l5Y+j5pWw5o2u6LaF6L+HMTAwMOadoeaXtu+8jOmHjeaWsOiwg+WPluaJgOacieaVsOaNriAqL1xuICByZWludm9rZUludGVyZmFjZShkYXRhKSB7XG4gICAgaWYgKGRhdGFbJ3BhZ2UnXSkge1xuICAgICAgY29uc3QgdG90YWxOdW0gPSBkYXRhWydwYWdlJ11bJ3RvdGFsJ10gfHwgMDtcbiAgICAgIGlmICh0b3RhbE51bSA+IDEwMDApIHtcbiAgICAgICAgY29uc3QgaHR0cCA9IHRoaXMuaW5qZWN0b3IuZ2V0KEh0dHBDbGllbnQpO1xuICAgICAgICBjb25zdCByZWxhdGl2ZVBhdGggPSB0aGlzLmVkaXRvclBhcmFtcy5yZWxhdGl2ZVBhdGggfHwgJyc7XG4gICAgICAgIGNvbnN0IHNvdXJjZSA9IHRoaXMuZWRpdG9yUGFyYW1zLnNvdXJjZSB8fCAnYmUnXG4gICAgICAgIHJldHVybiBodHRwLmdldCgnL2FwaS9kZXYvbWFpbi92MS4wL21kc2VydmljZS91bmlvbm1kbGlzdD9wYXRoPScgKyByZWxhdGl2ZVBhdGggKyAnJnBhZ2VJbmRleD0xJnBhZ2VTaXplPScgKyB0b3RhbE51bSArICcmbWV0YWRhdGFUeXBlTGlzdD0uJyArIHNvdXJjZSwge1xuICAgICAgICAgIGhlYWRlcnM6IG5ldyBIdHRwSGVhZGVycyh7ICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicgfSksXG4gICAgICAgICAgcmVzcG9uc2VUeXBlOiAnanNvbidcbiAgICAgICAgfSkuc3Vic2NyaWJlKGRhdGEgPT4ge1xuICAgICAgICAgIHRoaXMuYmVBbGxEYXRhID0gY2xvbmVEZWVwKHRoaXMuZ2V0Rm9ybURhdGEoZGF0YSwgJ2FsbCcpKTtcbiAgICAgICAgICB0aGlzLmJlQWxsRGF0YUNvcHkgPSBjbG9uZURlZXAodGhpcy5iZUFsbERhdGEpO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuIl19

@@ -358,5 +358,4 @@ import { cloneDeep } from 'lodash-es';

}
/** 用户点击确定时调用postApi传出参数 */
/**
* 用户
* 用户点击确定时调用postApi传出参数
* @return {?}

@@ -370,3 +369,2 @@ */

const relativePath = this.editorParams.relativePath || '';
// const relativePath = this.formBasicService.formMetaBasicInfo.relativePath;
/** @type {?} */

@@ -385,2 +383,3 @@ const path = '/api/dev/main/v1.0/mdservice/pickMetadata?currentPath=' + relativePath;

data => {
data['processMode'] === 'interpretation' ? 'interpretation' : 'general';
this.submitModal.emit(data);

@@ -387,0 +386,0 @@ }));

@@ -413,11 +413,8 @@ import { cloneDeep } from 'lodash-es';

/** 用户点击确定时调用postApi传出参数 */
/** 用户 */
/** 用户点击确定时调用postApi传出参数 */
/**
* 用户
* 用户点击确定时调用postApi传出参数
* @return {?}
*/
AppNavigationBeComponent.prototype.clickConfirm = /** 用户点击确定时调用postApi传出参数 */
/**
* 用户
AppNavigationBeComponent.prototype.clickConfirm = /**
* 用户点击确定时调用postApi传出参数
* @return {?}

@@ -432,3 +429,2 @@ */

var relativePath = this.editorParams.relativePath || '';
// const relativePath = this.formBasicService.formMetaBasicInfo.relativePath;
/** @type {?} */

@@ -447,2 +443,3 @@ var path = '/api/dev/main/v1.0/mdservice/pickMetadata?currentPath=' + relativePath;

function (data) {
data['processMode'] === 'interpretation' ? 'interpretation' : 'general';
_this.submitModal.emit(data);

@@ -449,0 +446,0 @@ }));

@@ -103,3 +103,2 @@ import { OnInit, EventEmitter, Injector, TemplateRef } from '@angular/core';

/** 用户点击确定时调用postApi传出参数 */
/** 用户 */
clickConfirm(): import("rxjs").Subscription;

@@ -106,0 +105,0 @@ /** 清空搜索内容 */

{
"name": "@farris/app-navigation-be",
"version": "0.0.7",
"version": "0.0.8",
"publishConfig": {

@@ -5,0 +5,0 @@ "access": "public",

@@ -15,2 +15,5 @@ ## 0.0.2

## 0.0.7
1. 提示内容修改
1. 提示内容修改
## 0.0.8
1. 增加interpretation判断

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc