You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
434 lines
47 KiB
434 lines
47 KiB
"use strict";
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var echarts = require("../../../../../components/ec-canvas/echarts.js");
|
|
var reality_1 = require("../../../../../api/reality");
|
|
function setOption(chart, chartData, color) {
|
|
var option = {
|
|
color: color,
|
|
series: [
|
|
{
|
|
type: 'pie',
|
|
radius: ['70%', '95%'],
|
|
silent: true,
|
|
avoidLabelOverlap: false,
|
|
label: {
|
|
show: false
|
|
},
|
|
labelLine: {
|
|
show: false,
|
|
normal: {
|
|
show: false
|
|
}
|
|
},
|
|
itemStyle: {
|
|
borderColor: '#fff',
|
|
borderWidth: '2',
|
|
},
|
|
data: chartData
|
|
}
|
|
]
|
|
};
|
|
chart.setOption(option);
|
|
}
|
|
Page({
|
|
data: {
|
|
selectTab: 'tab1',
|
|
type: 'first',
|
|
allnum: 0,
|
|
pageSize: 10,
|
|
pageIndex: 1,
|
|
listLength: 0,
|
|
evaluateCountList: [],
|
|
chartData: [],
|
|
loadVisible: true,
|
|
loadType: 'more',
|
|
isShow: false,
|
|
preloadVisible: true,
|
|
color: [],
|
|
ec: {},
|
|
isShowLoading: true,
|
|
},
|
|
onLoad: function () {
|
|
this.ecComponent = this.selectComponent('#mychart-dom-bar');
|
|
this.getEvaluateCountList();
|
|
this.selectComponent("#peopleList").getList(this.data);
|
|
},
|
|
onGetCode: function (e) {
|
|
this.setData({
|
|
listLength: e.detail.listLength
|
|
});
|
|
},
|
|
onReachBottom: function () {
|
|
if (this.data.listLength !== this.data.pageSize) {
|
|
this.setData({
|
|
loadType: 'none',
|
|
});
|
|
return;
|
|
}
|
|
this.setData({
|
|
loadType: 'more',
|
|
});
|
|
var obj = {
|
|
pageIndex: ++this.data.pageIndex,
|
|
pageSize: this.data.pageSize,
|
|
};
|
|
this.selectComponent("#peopleList").getList(this.data);
|
|
},
|
|
getEvaluateCountList: function () {
|
|
this.setData({
|
|
isShowLoading: true
|
|
});
|
|
var that = this;
|
|
var evaluateType = '1';
|
|
if (that.data.selectTab == 'tab1') {
|
|
evaluateType = '1';
|
|
}
|
|
else {
|
|
evaluateType = '2';
|
|
}
|
|
var cotegoryType = '1';
|
|
if (that.data.type == 'first') {
|
|
cotegoryType = '1';
|
|
}
|
|
else if (that.data.type == 'second') {
|
|
cotegoryType = '2';
|
|
}
|
|
else if (that.data.type == 'third') {
|
|
cotegoryType = '3';
|
|
}
|
|
reality_1.getEvaluateCountList(evaluateType, cotegoryType).then(function (res) {
|
|
that.setData.evaluateCountList = [];
|
|
that.setData.allnum = 0;
|
|
var datalength = res.data.length;
|
|
if (datalength == 0) {
|
|
that.setData({
|
|
loadVisible: false,
|
|
preloadVisible: false,
|
|
isShow: true,
|
|
isShowLoading: false
|
|
});
|
|
}
|
|
for (var i = 0; i < res.data.length; i++) {
|
|
that.setData({
|
|
allnum: that.data.allnum + res.data[i].count
|
|
});
|
|
}
|
|
;
|
|
if (datalength == 1) {
|
|
if (res.data[0].count != 0) {
|
|
that.setData({
|
|
evaluateCountList: res.data,
|
|
color: ['#AD6DFE'],
|
|
chartData: [
|
|
{
|
|
value: res.data[0].count / that.data.allnum,
|
|
name: '1'
|
|
}
|
|
],
|
|
});
|
|
}
|
|
}
|
|
else if (datalength == 2) {
|
|
if (res.data[1].count == 0) {
|
|
that.setData({
|
|
evaluateCountList: res.data,
|
|
color: ['#AD6DFE'],
|
|
chartData: [
|
|
{
|
|
value: res.data[0].count / that.data.allnum,
|
|
name: '1'
|
|
}
|
|
],
|
|
});
|
|
}
|
|
else {
|
|
that.setData({
|
|
evaluateCountList: res.data,
|
|
color: ['#AD6DFE', '#FFA270'],
|
|
chartData: [
|
|
{
|
|
value: res.data[0].count / that.data.allnum,
|
|
name: '1'
|
|
},
|
|
{
|
|
value: res.data[1].count / that.data.allnum,
|
|
name: '2'
|
|
}
|
|
],
|
|
});
|
|
}
|
|
}
|
|
else if (datalength == 3) {
|
|
if (res.data[2].count == 0) {
|
|
that.setData({
|
|
evaluateCountList: res.data,
|
|
color: ['#AD6DFE', '#FFA270'],
|
|
chartData: [
|
|
{
|
|
value: res.data[0].count / that.data.allnum,
|
|
name: '1'
|
|
},
|
|
{
|
|
value: res.data[1].count / that.data.allnum,
|
|
name: '2'
|
|
}
|
|
],
|
|
});
|
|
}
|
|
else {
|
|
that.setData({
|
|
evaluateCountList: res.data,
|
|
color: ['#AD6DFE', '#FFA270', '#29B9A5'],
|
|
chartData: [
|
|
{
|
|
value: res.data[0].count / that.data.allnum,
|
|
name: '1'
|
|
},
|
|
{
|
|
value: res.data[1].count / that.data.allnum,
|
|
name: '2'
|
|
},
|
|
{
|
|
value: res.data[2].count / that.data.allnum,
|
|
name: '3'
|
|
}
|
|
],
|
|
});
|
|
}
|
|
}
|
|
else if (datalength == 4) {
|
|
if (res.data[3].count == 0) {
|
|
that.setData({
|
|
evaluateCountList: res.data,
|
|
color: ['#AD6DFE', '#FFA270', '#29B9A5'],
|
|
chartData: [
|
|
{
|
|
value: res.data[0].count / that.data.allnum,
|
|
name: '1'
|
|
},
|
|
{
|
|
value: res.data[1].count / that.data.allnum,
|
|
name: '2'
|
|
},
|
|
{
|
|
value: res.data[2].count / that.data.allnum,
|
|
name: '3'
|
|
},
|
|
],
|
|
});
|
|
}
|
|
else {
|
|
that.setData({
|
|
evaluateCountList: res.data,
|
|
color: ['#AD6DFE', '#FFA270', '#29B9A5', '#63CFED'],
|
|
chartData: [
|
|
{
|
|
value: res.data[0].count / that.data.allnum,
|
|
name: '1'
|
|
},
|
|
{
|
|
value: res.data[1].count / that.data.allnum,
|
|
name: '2'
|
|
},
|
|
{
|
|
value: res.data[2].count / that.data.allnum,
|
|
name: '3'
|
|
},
|
|
{
|
|
value: res.data[3].count / that.data.allnum,
|
|
name: '4'
|
|
}
|
|
],
|
|
});
|
|
}
|
|
}
|
|
else if (datalength == 5) {
|
|
if (res.data[4].count == 0) {
|
|
that.setData({
|
|
evaluateCountList: res.data,
|
|
color: ['#AD6DFE', '#FFA270', '#29B9A5', '#63CFED'],
|
|
chartData: [
|
|
{
|
|
value: res.data[0].count / that.data.allnum,
|
|
name: '1'
|
|
},
|
|
{
|
|
value: res.data[1].count / that.data.allnum,
|
|
name: '2'
|
|
},
|
|
{
|
|
value: res.data[2].count / that.data.allnum,
|
|
name: '3'
|
|
},
|
|
{
|
|
value: res.data[3].count / that.data.allnum,
|
|
name: '4'
|
|
}
|
|
],
|
|
});
|
|
}
|
|
else {
|
|
that.setData({
|
|
evaluateCountList: res.data,
|
|
color: ['#AD6DFE', '#FFA270', '#29B9A5', '#63CFED', '#679CF7'],
|
|
chartData: [
|
|
{
|
|
value: res.data[0].count / that.data.allnum,
|
|
name: '1'
|
|
},
|
|
{
|
|
value: res.data[1].count / that.data.allnum,
|
|
name: '2'
|
|
},
|
|
{
|
|
value: res.data[2].count / that.data.allnum,
|
|
name: '3'
|
|
},
|
|
{
|
|
value: res.data[3].count / that.data.allnum,
|
|
name: '4'
|
|
},
|
|
{
|
|
value: res.data[4].count / that.data.allnum,
|
|
name: '5'
|
|
}
|
|
],
|
|
});
|
|
}
|
|
}
|
|
else if (datalength == 6) {
|
|
if (res.data[5].count == 0) {
|
|
that.setData({
|
|
evaluateCountList: res.data,
|
|
color: ['#AD6DFE', '#FFA270', '#29B9A5', '#63CFED', '#679CF7'],
|
|
chartData: [
|
|
{
|
|
value: res.data[0].count / that.data.allnum,
|
|
name: '1'
|
|
},
|
|
{
|
|
value: res.data[1].count / that.data.allnum,
|
|
name: '2'
|
|
},
|
|
{
|
|
value: res.data[2].count / that.data.allnum,
|
|
name: '3'
|
|
},
|
|
{
|
|
value: res.data[3].count / that.data.allnum,
|
|
name: '4'
|
|
},
|
|
{
|
|
value: res.data[4].count / that.data.allnum,
|
|
name: '5'
|
|
},
|
|
],
|
|
});
|
|
}
|
|
else {
|
|
that.setData({
|
|
evaluateCountList: res.data,
|
|
color: ['#AD6DFE', '#FFA270', '#29B9A5', '#63CFED', '#679CF7', '#FFC600'],
|
|
chartData: [
|
|
{
|
|
value: res.data[0].count / that.data.allnum,
|
|
name: '1'
|
|
},
|
|
{
|
|
value: res.data[1].count / that.data.allnum,
|
|
name: '2'
|
|
},
|
|
{
|
|
value: res.data[2].count / that.data.allnum,
|
|
name: '3'
|
|
},
|
|
{
|
|
value: res.data[3].count / that.data.allnum,
|
|
name: '4'
|
|
},
|
|
{
|
|
value: res.data[4].count / that.data.allnum,
|
|
name: '5'
|
|
},
|
|
{
|
|
value: res.data[5].count / that.data.allnum,
|
|
name: '6'
|
|
}
|
|
],
|
|
});
|
|
}
|
|
}
|
|
that.init();
|
|
});
|
|
},
|
|
init: function () {
|
|
var _this = this;
|
|
this.setData({
|
|
isShowLoading: true
|
|
});
|
|
this.ecComponent.init(function (canvas, width, height) {
|
|
var chart = echarts.init(canvas, null, {
|
|
width: width,
|
|
height: height
|
|
});
|
|
setOption(chart, _this.data.chartData, _this.data.color);
|
|
return chart;
|
|
});
|
|
if (this.data.chartData.length > 0) {
|
|
var that = this;
|
|
that.setData({
|
|
preloadVisible: false,
|
|
isShowLoading: false
|
|
});
|
|
}
|
|
this.setData({
|
|
isShowLoading: false
|
|
});
|
|
},
|
|
onTabChange: function (e) {
|
|
if (this.data.isShowLoading) {
|
|
wx.showToast({
|
|
title: '正在加载中请稍后切换',
|
|
icon: 'none',
|
|
duration: 2000,
|
|
mask: true,
|
|
});
|
|
return;
|
|
}
|
|
this.setData({
|
|
chartData: [],
|
|
color: [],
|
|
selectTab: e.currentTarget.dataset.tab,
|
|
pageSize: 10,
|
|
pageIndex: 1,
|
|
loadType: 'more',
|
|
isShow: false,
|
|
preloadVisible: true,
|
|
evaluateCountList: []
|
|
});
|
|
this.init();
|
|
this.getEvaluateCountList();
|
|
this.selectComponent("#peopleList").getList(this.data);
|
|
},
|
|
onButtonChange: function (e) {
|
|
if (this.data.isShowLoading) {
|
|
wx.showToast({
|
|
title: '正在加载中请稍后切换',
|
|
icon: 'none',
|
|
duration: 2000,
|
|
mask: true,
|
|
});
|
|
return;
|
|
}
|
|
this.setData({
|
|
chartData: [],
|
|
color: [],
|
|
type: e.currentTarget.dataset.type,
|
|
preloadVisible: true,
|
|
evaluateCountList: []
|
|
});
|
|
this.init();
|
|
this.getEvaluateCountList();
|
|
},
|
|
});
|
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVvcGxlU2F0aXNmaWVkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsicGVvcGxlU2F0aXNmaWVkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBRUEsd0VBQXlFO0FBQ3pFLHNEQUFpRTtBQUNqRSxTQUFTLFNBQVMsQ0FBQyxLQUFLLEVBQUUsU0FBUyxFQUFFLEtBQUs7SUFDeEMsSUFBSSxNQUFNLEdBQUc7UUFDWCxLQUFLLEVBQUUsS0FBSztRQUNaLE1BQU0sRUFBRTtZQUNOO2dCQUNFLElBQUksRUFBRSxLQUFLO2dCQUNYLE1BQU0sRUFBRSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUM7Z0JBQ3RCLE1BQU0sRUFBRSxJQUFJO2dCQUNaLGlCQUFpQixFQUFFLEtBQUs7Z0JBQ3hCLEtBQUssRUFBRTtvQkFDTCxJQUFJLEVBQUUsS0FBSztpQkFDWjtnQkFDRCxTQUFTLEVBQUU7b0JBQ1QsSUFBSSxFQUFFLEtBQUs7b0JBQ1gsTUFBTSxFQUFFO3dCQUNOLElBQUksRUFBRSxLQUFLO3FCQUNaO2lCQUNGO2dCQUNELFNBQVMsRUFBRTtvQkFDVCxXQUFXLEVBQUUsTUFBTTtvQkFDbkIsV0FBVyxFQUFFLEdBQUc7aUJBQ2pCO2dCQUNELElBQUksRUFBRSxTQUFTO2FBQ2hCO1NBQ0Y7S0FDRixDQUFDO0lBQ0YsS0FBSyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUMxQixDQUFDO0FBQ0QsSUFBSSxDQUFDO0lBS0gsSUFBSSxFQUFFO1FBQ0osU0FBUyxFQUFFLE1BQU07UUFDakIsSUFBSSxFQUFFLE9BQU87UUFDYixNQUFNLEVBQUUsQ0FBQztRQUNULFFBQVEsRUFBQyxFQUFFO1FBQ1gsU0FBUyxFQUFDLENBQUM7UUFDWCxVQUFVLEVBQUMsQ0FBQztRQUNaLGlCQUFpQixFQUFFLEVBQUU7UUFDckIsU0FBUyxFQUFFLEVBQUU7UUFDYixXQUFXLEVBQUMsSUFBSTtRQUNoQixRQUFRLEVBQUUsTUFBTTtRQUNoQixNQUFNLEVBQUMsS0FBSztR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QUNYLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1FBQzVCLElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUN4RCxDQUFDO0lBRUQsY0FBYyxFQUFkLFVBQWUsQ0FBWTtRQUN6QixJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQzNCLEVBQUUsQ0FBQyxTQUFTLENBQUM7Z0JBQ1gsS0FBSyxFQUFFLFlBQVk7Z0JBQ25CLElBQUksRUFBRSxNQUFNO2dCQUNaLFFBQVEsRUFBRSxJQUFJO2dCQUNkLElBQUksRUFBRSxJQUFJO2FBQ1gsQ0FBQyxDQUFDO1lBQ0gsT0FBTTtTQUNQO1FBQ0QsSUFBSSxDQUFDLE9BQU8sQ0FBQztZQUNYLFNBQVMsRUFBRSxFQUFFO1lBQ2IsS0FBSyxFQUFFLEVBQUU7WUFDVCxJQUFJLEVBQUUsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsSUFBSTtZQUNsQyxjQUFjLEVBQUUsSUFBSTtZQUNwQixpQkFBaUIsRUFBQyxFQUFFO1NBQ3JCLENBQUMsQ0FBQTtRQUNGLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQTtRQUNYLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFBO0lBQzdCLENBQUM7Q0FDRixDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBzdWJwYWdlcy9yZWFsaXR5L3BhZ2VzL3Blb3BsZVNhdGlzZmllZC9wZW9wbGVTYXRpc2ZpZWQuanNcclxuLy8gQHRzLWlnbm9yZVxyXG5pbXBvcnQgKiBhcyBlY2hhcnRzIGZyb20gJy4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvZWMtY2FudmFzL2VjaGFydHMuanMnXHJcbmltcG9ydCB7IGdldEV2YWx1YXRlQ291bnRMaXN0IH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vYXBpL3JlYWxpdHknXHJcbmZ1bmN0aW9uIHNldE9wdGlvbihjaGFydCwgY2hhcnREYXRhLCBjb2xvcikge1xyXG4gIHZhciBvcHRpb24gPSB7XHJcbiAgICBjb2xvcjogY29sb3IsXHJcbiAgICBzZXJpZXM6IFtcclxuICAgICAge1xyXG4gICAgICAgIHR5cGU6ICdwaWUnLFxyXG4gICAgICAgIHJhZGl1czogWyc3MCUnLCAnOTUlJ10sXHJcbiAgICAgICAgc2lsZW50OiB0cnVlLFxyXG4gICAgICAgIGF2b2lkTGFiZWxPdmVybGFwOiBmYWxzZSxcclxuICAgICAgICBsYWJlbDoge1xyXG4gICAgICAgICAgc2hvdzogZmFsc2VcclxuICAgICAgICB9LFxyXG4gICAgICAgIGxhYmVsTGluZToge1xyXG4gICAgICAgICAgc2hvdzogZmFsc2UsXHJcbiAgICAgICAgICBub3JtYWw6IHtcclxuICAgICAgICAgICAgc2hvdzogZmFsc2VcclxuICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICAgIGl0ZW1TdHlsZToge1xyXG4gICAgICAgICAgYm9yZGVyQ29sb3I6ICcjZmZmJyxcclxuICAgICAgICAgIGJvcmRlcldpZHRoOiAnMicsXHJcbiAgICAgICAgfSxcclxuICAgICAgICBkYXRhOiBjaGFydERhdGFcclxuICAgICAgfVxyXG4gICAgXVxyXG4gIH07XHJcbiAgY2hhcnQuc2V0T3B0aW9uKG9wdGlvbik7XHJcbn1cclxuUGFnZSh7XHJcblxyXG4gIC8qKlxyXG4gICAqIOmhtemdoueahOWIneWni+aVsOaNrlxyXG4gICAqL1xyXG4gIGRhdGE6IHtcclxuICAgIHNlbGVjdFRhYjogJ3RhYjEnLFxyXG4gICAgdHlwZTogJ2ZpcnN0JyxcclxuICAgIGFsbG51bTogMCwvL+aAu+aVsFxyXG4gICAgcGFnZVNpemU6MTAsXHJcbiAgICBwYWdlSW5kZXg6MSxcclxuICAgIGxpc3RMZW5ndGg6MCxcclxuICAgIGV2YWx1YXRlQ291bnRMaXN0OiBbXSxcclxuICAgIGNoYXJ0RGF0YTogW10sXHJcbiAgICBsb2FkVmlzaWJsZTp0cnVlLFxyXG4gICAgbG9hZFR5cGU6ICdtb3JlJyxcclxuICAgIGlzU2hvdzpmYWxzZSxcclxuICAgIHByZWxvYWRWaXNpYmxlOiB0cnVlLFxyXG4gICAgY29sb3I6IFtdLFxyXG4gICAgZWM6IHt9LFxyXG4gICAgaXNTaG93TG9hZGluZzp0cnVlLC8vdHJ1ZeWKoOi9veS4rSxmYWxzZeWKoOi9veWujOavlVxyXG4gIH0sXHJcbiAgLyoqXHJcbiAgICog55Sf5ZG95ZGo5pyf5Ye95pWwLS3nm5HlkKzpobXpnaLliqDovb1cclxuICAgKi9cclxuICBvbkxvYWQ6IGZ1bmN0aW9uICgpIHtcclxuICAgIHRoaXMuZWNDb21wb25lbnQgPSB0aGlzLnNlbGVjdENvbXBvbmVudCgnI215Y2hhcnQtZG9tLWJhcicpXHJcblxyXG4gICAgdGhpcy5nZXRFdmFsdWF0ZUNvdW50TGlzdCgpXHJcbiAgICB0aGlzLnNlbGVjdENvbXBvbmVudChcIiNwZW9wbGVMaXN0XCIpLmdldExpc3QodGhpcy5kYXRhKVxyXG4gIH0sXHJcbiAgIC8qKlxyXG4gICAqIOWtkOmhtemdouS8oOWAvFxyXG4gICAqL1xyXG4gIG9uR2V0Q29kZTogZnVuY3Rpb24gKGU6IHsgZGV0YWlsOiB7IHZhbDogYW55IH0gfSkge1xyXG4gICAgdGhpcy5zZXREYXRhKHtcclxuICAgICAgbGlzdExlbmd0aDogZS5kZXRhaWwubGlzdExlbmd0aFxyXG4gICAgfSlcclxuICB9LFxyXG4gIC8qKlxyXG4gICAgKiDpobXpnaLkuIrmi4nop6blupXkuovku7bnmoTlpITnkIblh73mlbBcclxuICAgICovXHJcbiAgb25SZWFjaEJvdHRvbTogZnVuY3Rpb24gKCkge1xyXG4gICAgLy8g5Yik5pat5piv5ZCm6ZyA6KaB5Zyo5Yqg6L295pWw5o2uXHJcbiAgICBpZiAodGhpcy5kYXRhLmxpc3RMZW5ndGggIT09IHRoaXMuZGF0YS5wYWdlU2l6ZSkge1xyXG4gICAgICB0aGlzLnNldERhdGEoe1xyXG4gICAgICAgIGxvYWRUeXBlOiAnbm9uZScsXHJcbiAgICAgIH0pXHJcbiAgICAgIHJldHVyblxyXG4gICAgfVxyXG4gICAgdGhpcy5zZXREYXRhKHtcclxuICAgICAgbG9hZFR5cGU6ICdtb3JlJyxcclxuICAgIH0pXHJcbiAgICBsZXQgb2JqID0ge1xyXG4gICAgICBwYWdlSW5kZXg6ICsrdGhpcy5kYXRhLnBhZ2VJbmRleCxcclxuICAgICAgcGFnZVNpemU6IHRoaXMuZGF0YS5wYWdlU2l6ZSxcclxuICAgIH1cclxuICAgIHRoaXMuc2VsZWN0Q29tcG9uZW50KFwiI3Blb3BsZUxpc3RcIikuZ2V0TGlzdCh0aGlzLmRhdGEpXHJcbiAgfSxcclxuICAvLyDojrflj5bmlbDmja5cclxuICBnZXRFdmFsdWF0ZUNvdW50TGlzdCgpIHtcclxuICAgIHRoaXMuc2V0RGF0YSh7XHJcbiAgICAgIGlzU2hvd0xvYWRpbmc6dHJ1ZVxyXG4gICAgfSlcclxuICAgIGxldCB0aGF0ID0gdGhpc1xyXG4gICAgbGV0IGV2YWx1YXRlVHlwZSA9ICcxJy8v6K+E5Lu357G75YirOjEu6Z2e5bi45ruh5oSP77yMMi7ln7rmnKzmu6HmhI/vvIwzLuS4jea7oeaEj1xyXG4gICAgaWYgKHRoYXQuZGF0YS5zZWxlY3RUYWIgPT0gJ3RhYjEnKSB7XHJcbiAgICAgIGV2YWx1YXRlVHlwZSA9ICcxJ1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgZXZhbHVhdGVUeXBlID0gJzInXHJcbiAgICB9XHJcbiAgICBsZXQgY290ZWdvcnlUeXBlID0gJzEnLy/liIbnsbvnsbvliKvvvJoxLuS4gOe6p++8jDIu5LqM57qn77yMMy7kuInnuqdcclxuICAgIGlmICh0aGF0LmRhdGEudHlwZSA9PSAnZmlyc3QnKSB7Ly/kuIDnuqdcclxuICAgICAgY290ZWdvcnlUeXBlID0gJzEnXHJcbiAgICB9IGVsc2UgaWYgKHRoYXQuZGF0YS50eXBlID09ICdzZWNvbmQnKSB7Ly/kuoznuqdcclxuICAgICAgY290ZWdvcnlUeXBlID0gJzInXHJcbiAgICB9IGVsc2UgaWYgKHRoYXQuZGF0YS50eXBlID09ICd0aGlyZCcpIHsvL+S4iee6p1xyXG4gICAgICBjb3RlZ29yeVR5cGUgPSAnMydcclxuICAgIH1cclxuICAgZ2V0RXZhbHVhdGVDb3VudExpc3QoZXZhbHVhdGVUeXBlLCBjb3RlZ29yeVR5cGUpLnRoZW4oZnVuY3Rpb24gKHJlczogeyBkYXRhOiBhbnkgfSkge1xyXG4gICAgICB0aGF0LnNldERhdGEuZXZhbHVhdGVDb3VudExpc3QgPSBbXVxyXG4gICAgICB0aGF0LnNldERhdGEuYWxsbnVtID0gMFxyXG4gICAgICBsZXQgZGF0YWxlbmd0aCA9IHJlcy5kYXRhLmxlbmd0aFxyXG5cclxuICAgICAgaWYgKGRhdGFsZW5ndGggPT0gMCkge1xyXG4gICAgICAgIHRoYXQuc2V0RGF0YSh7XHJcbiAgICAgICAgICBsb2FkVmlzaWJsZTogZmFsc2UsXHJcbiAgICAgICAgICBwcmVsb2FkVmlzaWJsZTpmYWxzZSxcclxuICAgICAgICAgIGlzU2hvdzogdHJ1ZSxcclxuICAgICAgICAgIGlzU2hvd0xvYWRpbmc6ZmFsc2VcclxuICAgICAgICB9KVxyXG4gICAgICB9XHJcblxyXG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHJlcy5kYXRhLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgdGhhdC5zZXREYXRhKHtcclxuICAgICAgICAgIGFsbG51bTogdGhhdC5kYXRhLmFsbG51bSArIHJlcy5kYXRhW2ldLmNvdW50XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH07XHJcbiAgICAgIGlmIChkYXRhbGVuZ3RoID09IDEpIHtcclxuICAgICAgICBpZiAocmVzLmRhdGFbMF0uY291bnQgIT0gMCkge1xyXG4gICAgICAgICAgdGhhdC5zZXREYXRhKHtcclxuICAgICAgICAgICAgZXZhbHVhdGVDb3VudExpc3Q6IHJlcy5kYXRhLFxyXG4gICAgICAgICAgICBjb2xvcjogWycjQUQ2REZFJ10sXHJcbiAgICAgICAgICAgIGNoYXJ0RGF0YTogW1xyXG4gICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIHZhbHVlOiByZXMuZGF0YVswXS5jb3VudCAvIHRoYXQuZGF0YS5hbGxudW0sXHJcbiAgICAgICAgICAgICAgICBuYW1lOiAnMSdcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIF0sXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICB9IGVsc2UgaWYgKGRhdGFsZW5ndGggPT0gMikge1xyXG4gICAgICAgIGlmIChyZXMuZGF0YVsxXS5jb3VudCA9PSAwKSB7XHJcbiAgICAgICAgICB0aGF0LnNldERhdGEoe1xyXG4gICAgICAgICAgICBldmFsdWF0ZUNvdW50TGlzdDogcmVzLmRhdGEsXHJcbiAgICAgICAgICAgIGNvbG9yOiBbJyNBRDZERkUnXSxcclxuICAgICAgICAgICAgY2hhcnREYXRhOiBbXHJcbiAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgdmFsdWU6IHJlcy5kYXRhWzBdLmNvdW50IC8gdGhhdC5kYXRhLmFsbG51bSxcclxuICAgICAgICAgICAgICAgIG5hbWU6ICcxJ1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXSxcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGF0LnNldERhdGEoe1xyXG4gICAgICAgICAgICBldmFsdWF0ZUNvdW50TGlzdDogcmVzLmRhdGEsXHJcbiAgICAgICAgICAgIGNvbG9yOiBbJyNBRDZERkUnLCAnI0ZGQTI3MCddLFxyXG4gICAgICAgICAgICBjaGFydERhdGE6IFtcclxuICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICB2YWx1ZTogcmVzLmRhdGFbMF0uY291bnQgLyB0aGF0LmRhdGEuYWxsbnVtLFxyXG4gICAgICAgICAgICAgICAgbmFtZTogJzEnXHJcbiAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICB2YWx1ZTogcmVzLmRhdGFbMV0uY291bnQgLyB0aGF0LmRhdGEuYWxsbnVtLFxyXG4gICAgICAgICAgICAgICAgbmFtZTogJzInXHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBdLFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2UgaWYgKGRhdGFsZW5ndGggPT0gMykge1xyXG4gICAgICAgIGlmIChyZXMuZGF0YVsyXS5jb3VudCA9PSAwKSB7XHJcbiAgICAgICAgICB0aGF0LnNldERhdGEoe1xyXG4gICAgICAgICAgICBldmFsdWF0ZUNvdW50TGlzdDogcmVzLmRhdGEsXHJcbiAgICAgICAgICAgIGNvbG9yOiBbJyNBRDZERkUnLCAnI0ZGQTI3MCddLFxyXG4gICAgICAgICAgICBjaGFydERhdGE6IFtcclxuICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICB2YWx1ZTogcmVzLmRhdGFbMF0uY291bnQgLyB0aGF0LmRhdGEuYWxsbnVtLFxyXG4gICAgICAgICAgICAgICAgbmFtZTogJzEnXHJcbiAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICB2YWx1ZTogcmVzLmRhdGFbMV0uY291bnQgLyB0aGF0LmRhdGEuYWxsbnVtLFxyXG4gICAgICAgICAgICAgICAgbmFtZTogJzInXHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBdLFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoYXQuc2V0RGF0YSh7XHJcbiAgICAgICAgICAgIGV2YWx1YXRlQ291bnRMaXN0OiByZXMuZGF0YSxcclxuICAgICAgICAgICAgY29sb3I6IFsnI0FENkRGRScsICcjRkZBMjcwJywgJyMyOUI5QTUnXSxcclxuICAgICAgICAgICAgY2hhcnREYXRhOiBbXHJcbiAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgdmFsdWU6IHJlcy5kYXRhWzBdLmNvdW50IC8gdGhhdC5kYXRhLmFsbG51bSxcclxuICAgICAgICAgICAgICAgIG5hbWU6ICcxJ1xyXG4gICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgdmFsdWU6IHJlcy5kYXRhWzFdLmNvdW50IC8gdGhhdC5kYXRhLmFsbG51bSxcclxuICAgICAgICAgICAgICAgIG5hbWU6ICcyJ1xyXG4gICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgdmFsdWU6IHJlcy5kYXRhWzJdLmNvdW50IC8gdGhhdC5kYXRhLmFsbG51bSxcclxuICAgICAgICAgICAgICAgIG5hbWU6ICczJ1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXSxcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIGlmIChkYXRhbGVuZ3RoID09IDQpIHtcclxuICAgICAgICBpZiAocmVzLmRhdGFbM10uY291bnQgPT0gMCkge1xyXG4gICAgICAgICAgdGhhdC5zZXREYXRhKHtcclxuICAgICAgICAgICAgZXZhbHVhdGVDb3VudExpc3Q6IHJlcy5kYXRhLFxyXG4gICAgICAgICAgICBjb2xvcjogWycjQUQ2REZFJywgJyNGRkEyNzAnLCAnIzI5QjlBNSddLFxyXG4gICAgICAgICAgICBjaGFydERhdGE6IFtcclxuICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICB2YWx1ZTogcmVzLmRhdGFbMF0uY291bnQgLyB0aGF0LmRhdGEuYWxsbnVtLFxyXG4gICAgICAgICAgICAgICAgbmFtZTogJzEnXHJcbiAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICB2YWx1ZTogcmVzLmRhdGFbMV0uY291bnQgLyB0aGF0LmRhdGEuYWxsbnVtLFxyXG4gICAgICAgICAgICAgICAgbmFtZTogJzInXHJcbiAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICB2YWx1ZTogcmVzLmRhdGFbMl0uY291bnQgLyB0aGF0LmRhdGEuYWxsbnVtLFxyXG4gICAgICAgICAgICAgICAgbmFtZTogJzMnXHJcbiAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgXSxcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGF0LnNldERhdGEoe1xyXG4gICAgICAgICAgICBldmFsdWF0ZUNvdW50TGlzdDogcmVzLmRhdGEsXHJcbiAgICAgICAgICAgIGNvbG9yOiBbJyNBRDZERkUnLCAnI0ZGQTI3MCcsICcjMjlCOUE1JywgJyM2M0NGRUQnXSxcclxuICAgICAgICAgICAgY2hhcnREYXRhOiBbXHJcbiAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgdmFsdWU6IHJlcy5kYXRhWzBdLmNvdW50IC8gdGhhdC5kYXRhLmFsbG51bSxcclxuICAgICAgICAgICAgICAgIG5hbWU6ICcxJ1xyXG4gICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgdmFsdWU6IHJlcy5kYXRhWzFdLmNvdW50IC8gdGhhdC5kYXRhLmFsbG51bSxcclxuICAgICAgICAgICAgICAgIG5hbWU6ICcyJ1xyXG4gICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgdmFsdWU6IHJlcy5kYXRhWzJdLmNvdW50IC8gdGhhdC5kYXRhLmFsbG51bSxcclxuICAgICAgICAgICAgICAgIG5hbWU6ICczJ1xyXG4gICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgdmFsdWU6IHJlcy5kYXRhWzNdLmNvdW50IC8gdGhhdC5kYXRhLmFsbG51bSxcclxuICAgICAgICAgICAgICAgIG5hbWU6ICc0J1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXSxcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgIH0gZWxzZSBpZiAoZGF0YWxlbmd0aCA9PSA1KSB7XHJcbiAgICAgICAgaWYgKHJlcy5kYXRhWzRdLmNvdW50ID09IDApIHtcclxuICAgICAgICAgIHRoYXQuc2V0RGF0YSh7XHJcbiAgICAgICAgICAgIGV2YWx1YXRlQ291bnRMaXN0OiByZXMuZGF0YSxcclxuICAgICAgICAgICAgY29sb3I6IFsnI0FENkRGRScsICcjRkZBMjcwJywgJyMyOUI5QTUnLCAnIzYzQ0ZFRCddLFxyXG4gICAgICAgICAgICBjaGFydERhdGE6IFtcclxuICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICB2YWx1ZTogcmVzLmRhdGFbMF0uY291bnQgLyB0aGF0LmRhdGEuYWxsbnVtLFxyXG4gICAgICAgICAgICAgICAgbmFtZTogJzEnXHJcbiAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICB2YWx1ZTogcmVzLmRhdGFbMV0uY291bnQgLyB0aGF0LmRhdGEuYWxsbnVtLFxyXG4gICAgICAgICAgICAgICAgbmFtZTogJzInXHJcbiAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICB2YWx1ZTogcmVzLmRhdGFbMl0uY291bnQgLyB0aGF0LmRhdGEuYWxsbnVtLFxyXG4gICAgICAgICAgICAgICAgbmFtZTogJzMnXHJcbiAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICB2YWx1ZTogcmVzLmRhdGFbM10uY291bnQgLyB0aGF0LmRhdGEuYWxsbnVtLFxyXG4gICAgICAgICAgICAgICAgbmFtZTogJzQnXHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBdLFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoYXQuc2V0RGF0YSh7XHJcbiAgICAgICAgICAgIGV2YWx1YXRlQ291bnRMaXN0OiByZXMuZGF0YSxcclxuICAgICAgICAgICAgY29sb3I6IFsnI0FENkRGRScsICcjRkZBMjcwJywgJyMyOUI5QTUnLCAnIzYzQ0ZFRCcsICcjNjc5Q0Y3J10sXHJcbiAgICAgICAgICAgIGNoYXJ0RGF0YTogW1xyXG4gICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIHZhbHVlOiByZXMuZGF0YVswXS5jb3VudCAvIHRoYXQuZGF0YS5hbGxudW0sXHJcbiAgICAgICAgICAgICAgICBuYW1lOiAnMSdcclxuICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIHZhbHVlOiByZXMuZGF0YVsxXS5jb3VudCAvIHRoYXQuZGF0YS5hbGxudW0sXHJcbiAgICAgICAgICAgICAgICBuYW1lOiAnMidcclxuICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIHZhbHVlOiByZXMuZGF0YVsyXS5jb3VudCAvIHRoYXQuZGF0YS5hbGxudW0sXHJcbiAgICAgICAgICAgICAgICBuYW1lOiAnMydcclxuICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIHZhbHVlOiByZXMuZGF0YVszXS5jb3VudCAvIHRoYXQuZGF0YS5hbGxudW0sXHJcbiAgICAgICAgICAgICAgICBuYW1lOiAnNCdcclxuICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIHZhbHVlOiByZXMuZGF0YVs0XS5jb3VudCAvIHRoYXQuZGF0YS5hbGxudW0sXHJcbiAgICAgICAgICAgICAgICBuYW1lOiAnNSdcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIF0sXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICB9IGVsc2UgaWYgKGRhdGFsZW5ndGggPT0gNikge1xyXG4gICAgICAgIGlmIChyZXMuZGF0YVs1XS5jb3VudCA9PSAwKSB7XHJcbiAgICAgICAgICB0aGF0LnNldERhdGEoe1xyXG4gICAgICAgICAgICBldmFsdWF0ZUNvdW50TGlzdDogcmVzLmRhdGEsXHJcbiAgICAgICAgICAgIGNvbG9yOiBbJyNBRDZERkUnLCAnI0ZGQTI3MCcsICcjMjlCOUE1JywgJyM2M0NGRUQnLCAnIzY3OUNGNyddLFxyXG4gICAgICAgICAgICBjaGFydERhdGE6IFtcclxuICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICB2YWx1ZTogcmVzLmRhdGFbMF0uY291bnQgLyB0aGF0LmRhdGEuYWxsbnVtLFxyXG4gICAgICAgICAgICAgICAgbmFtZTogJzEnXHJcbiAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICB2YWx1ZTogcmVzLmRhdGFbMV0uY291bnQgLyB0aGF0LmRhdGEuYWxsbnVtLFxyXG4gICAgICAgICAgICAgICAgbmFtZTogJzInXHJcbiAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICB2YWx1ZTogcmVzLmRhdGFbMl0uY291bnQgLyB0aGF0LmRhdGEuYWxsbnVtLFxyXG4gICAgICAgICAgICAgICAgbmFtZTogJzMnXHJcbiAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICB2YWx1ZTogcmVzLmRhdGFbM10uY291bnQgLyB0aGF0LmRhdGEuYWxsbnVtLFxyXG4gICAgICAgICAgICAgICAgbmFtZTogJzQnXHJcbiAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICB2YWx1ZTogcmVzLmRhdGFbNF0uY291bnQgLyB0aGF0LmRhdGEuYWxsbnVtLFxyXG4gICAgICAgICAgICAgICAgbmFtZTogJzUnXHJcbiAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgXSxcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGF0LnNldERhdGEoe1xyXG4gICAgICAgICAgICBldmFsdWF0ZUNvdW50TGlzdDogcmVzLmRhdGEsXHJcbiAgICAgICAgICAgIGNvbG9yOiBbJyNBRDZERkUnLCAnI0ZGQTI3MCcsICcjMjlCOUE1JywgJyM2M0NGRUQnLCAnIzY3OUNGNycsICcjRkZDNjAwJ10sXHJcbiAgICAgICAgICAgIGNoYXJ0RGF0YTogW1xyXG4gICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIHZhbHVlOiByZXMuZGF0YVswXS5jb3VudCAvIHRoYXQuZGF0YS5hbGxudW0sXHJcbiAgICAgICAgICAgICAgICBuYW1lOiAnMSdcclxuICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIHZhbHVlOiByZXMuZGF0YVsxXS5jb3VudCAvIHRoYXQuZGF0YS5hbGxudW0sXHJcbiAgICAgICAgICAgICAgICBuYW1lOiAnMidcclxuICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIHZhbHVlOiByZXMuZGF0YVsyXS5jb3VudCAvIHRoYXQuZGF0YS5hbGxudW0sXHJcbiAgICAgICAgICAgICAgICBuYW1lOiAnMydcclxuICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIHZhbHVlOiByZXMuZGF0YVszXS5jb3VudCAvIHRoYXQuZGF0YS5hbGxudW0sXHJcbiAgICAgICAgICAgICAgICBuYW1lOiAnNCdcclxuICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIHZhbHVlOiByZXMuZGF0YVs0XS5jb3VudCAvIHRoYXQuZGF0YS5hbGxudW0sXHJcbiAgICAgICAgICAgICAgICBuYW1lOiAnNSdcclxuICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIHZhbHVlOiByZXMuZGF0YVs1XS5jb3VudCAvIHRoYXQuZGF0YS5hbGxudW0sXHJcbiAgICAgICAgICAgICAgICBuYW1lOiAnNidcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIF0sXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICB9XHJcblxyXG4gICAgICB0aGF0LmluaXQoKVxyXG4gICAgfSlcclxuICB9LFxyXG4gIGluaXQoKSB7XHJcbiAgICB0aGlzLnNldERhdGEoe1xyXG4gICAgICBpc1Nob3dMb2FkaW5nOnRydWVcclxuICAgIH0pXHJcbiAgICAvLyBAdHMtaWdub3JlXHJcbiAgICB0aGlzLmVjQ29tcG9uZW50LmluaXQoKGNhbnZhczogYW55LCB3aWR0aDogYW55LCBoZWlnaHQ6IGFueSkgPT4ge1xyXG4gICAgICBjb25zdCBjaGFydCA9IGVjaGFydHMuaW5pdChjYW52YXMsIG51bGwsIHtcclxuICAgICAgICB3aWR0aDogd2lkdGgsXHJcbiAgICAgICAgaGVpZ2h0OiBoZWlnaHRcclxuICAgICAgfSlcclxuICAgICAgc2V0T3B0aW9uKGNoYXJ0LCB0aGlzLmRhdGEuY2hhcnREYXRhLCB0aGlzLmRhdGEuY29sb3IpXHJcbiAgICAgIHJldHVybiBjaGFydFxyXG4gICAgfSlcclxuICAgIGlmICh0aGlzLmRhdGEuY2hhcnREYXRhLmxlbmd0aCA+IDApe1xyXG4gICAgICBsZXQgdGhhdCA9IHRoaXNcclxuICAgICAgdGhhdC5zZXREYXRhKHtcclxuICAgICAgICBwcmVsb2FkVmlzaWJsZTogZmFsc2UsXHJcbiAgICAgICAgaXNTaG93TG9hZGluZzpmYWxzZVxyXG4gICAgICB9KVxyXG4gICAgfVxyXG4gICAgdGhpcy5zZXREYXRhKHtcclxuICAgICAgaXNTaG93TG9hZGluZzpmYWxzZVxyXG4gICAgfSlcclxuICB9LFxyXG4gIC8vIHRhYiDliIfmjaJcclxuIG9uVGFiQ2hhbmdlKGU6IEFueU9iamVjdCkge1xyXG4gICAgaWYgKHRoaXMuZGF0YS5pc1Nob3dMb2FkaW5nKSB7XHJcbiAgICAgIHd4LnNob3dUb2FzdCh7XHJcbiAgICAgICAgdGl0bGU6ICfmraPlnKjliqDovb3kuK3or7fnqI3lkI7liIfmjaInLCAvL+aPkOekuueahOWGheWuuSxcclxuICAgICAgICBpY29uOiAnbm9uZScsIC8v5Zu+5qCHLFxyXG4gICAgICAgIGR1cmF0aW9uOiAyMDAwLCAvL+W7tui/n+aXtumXtCxcclxuICAgICAgICBtYXNrOiB0cnVlLCAvL+aYvuekuumAj+aYjuiSmeWxgu+8jOmYsuatouinpuaRuOepv+mAjyxcclxuICAgICAgfSk7XHJcbiAgICAgIHJldHVyblxyXG4gICAgfVxyXG4gICAgdGhpcy5zZXREYXRhKHtcclxuICAgICAgY2hhcnREYXRhOiBbXSxcclxuICAgICAgY29sb3I6IFtdLFxyXG4gICAgICBzZWxlY3RUYWI6IGUuY3VycmVudFRhcmdldC5kYXRhc2V0LnRhYixcclxuICAgICAgcGFnZVNpemU6IDEwLFxyXG4gICAgICBwYWdlSW5kZXg6IDEsXHJcbiAgICAgIGxvYWRUeXBlOiAnbW9yZScsXHJcbiAgICAgIGlzU2hvdzogZmFsc2UsXHJcbiAgICAgIHByZWxvYWRWaXNpYmxlOiB0cnVlLFxyXG4gICAgICBldmFsdWF0ZUNvdW50TGlzdDpbXVxyXG4gICAgfSlcclxuICAgIHRoaXMuaW5pdCgpXHJcbiAgICB0aGlzLmdldEV2YWx1YXRlQ291bnRMaXN0KCk7XHJcbiAgICB0aGlzLnNlbGVjdENvbXBvbmVudChcIiNwZW9wbGVMaXN0XCIpLmdldExpc3QodGhpcy5kYXRhKVxyXG4gIH0sXHJcbiAgLy8g57G755uu5YiH5o2iXHJcbiAgb25CdXR0b25DaGFuZ2UoZTogQW55T2JqZWN0KSB7XHJcbiAgICBpZiAodGhpcy5kYXRhLmlzU2hvd0xvYWRpbmcpIHtcclxuICAgICAgd3guc2hvd1RvYXN0KHtcclxuICAgICAgICB0aXRsZTogJ+ato+WcqOWKoOi9veS4reivt+eojeWQjuWIh+aNoicsIC8v5o+Q56S655qE5YaF5a65LFxyXG4gICAgICAgIGljb246ICdub25lJywgLy/lm77moIcsXHJcbiAgICAgICAgZHVyYXRpb246IDIwMDAsIC8v5bu26L+f5pe26Ze0LFxyXG4gICAgICAgIG1hc2s6IHRydWUsIC8v5pi+56S66YCP5piO6JKZ5bGC77yM6Ziy5q2i6Kem5pG456m/6YCPLFxyXG4gICAgICB9KTtcclxuICAgICAgcmV0dXJuXHJcbiAgICB9XHJcbiAgICB0aGlzLnNldERhdGEoe1xyXG4gICAgICBjaGFydERhdGE6IFtdLFxyXG4gICAgICBjb2xvcjogW10sXHJcbiAgICAgIHR5cGU6IGUuY3VycmVudFRhcmdldC5kYXRhc2V0LnR5cGUsXHJcbiAgICAgIHByZWxvYWRWaXNpYmxlOiB0cnVlLFxyXG4gICAgICBldmFsdWF0ZUNvdW50TGlzdDpbXVxyXG4gICAgfSlcclxuICAgIHRoaXMuaW5pdCgpXHJcbiAgICB0aGlzLmdldEV2YWx1YXRlQ291bnRMaXN0KClcclxuICB9LFxyXG59KSJdfQ==
|