Comparing version 0.136.0-2022013016 to 0.137.5-2022020817
314
bin/patch.js
@@ -7,159 +7,159 @@ #!/usr/bin/env node | ||
'use strict'; | ||
'use strict'; | ||
const colors = require('colors'); | ||
const readline = require('readline'); | ||
const { exec } = require("child_process"); | ||
// const prompt = require('prompt'); | ||
const fs = require('fs'); | ||
const cwd = process.cwd(); | ||
function readJson(fileName) { | ||
console.log('Read File %s/%s.json', cwd , fileName); | ||
let rawdata = fs.readFileSync(cwd + '/' + fileName + '.json'); | ||
rawdata = rawdata | ||
.toString() | ||
.replace(/\\"|"(?:\\"|[^"])*"|(\/\/.*|\/\*[\s\S]*?\*\/)/g, (m, g) => | ||
g ? '' : m | ||
); | ||
return JSON.parse(rawdata); | ||
} | ||
function writeJson(fileName, jsonData, comment, callBack) { | ||
let data = JSON.stringify(jsonData, null, 2); | ||
if (comment !== undefined && comment !== null && comment !== '') { | ||
// data = '/** ' + comment + ' */\n' + data; | ||
} | ||
fs.writeFile(cwd + '/' + fileName + '.json', data, (err) => { | ||
if (err) throw err; | ||
console.log('Json file modified -> ' + (fileName + '.json').red); | ||
if (callBack !== undefined && callBack !== null) { | ||
callBack(); | ||
} | ||
}); | ||
} | ||
const rl = readline.createInterface({ | ||
input: process.stdin, | ||
output: process.stdout, | ||
}); | ||
const question = | ||
'\n\nThis program will change some json file for ngx3js.\n\nDo you want to check out and modify ' + | ||
'angular.json'.red + | ||
' , ' + | ||
'package.json'.red + | ||
', ' + | ||
'tsconfig.json'.red + | ||
' files? (Y/N)'; | ||
rl.question(question, function (agree) { | ||
rl.close(); | ||
switch (agree) { | ||
case 'YES': | ||
case 'Y': | ||
case 'Yes': | ||
case 'yes': | ||
case 'y': | ||
const packageJson = readJson('package'); | ||
if (packageJson['dependencies'] === undefined) { | ||
packageJson['dependencies'] = {}; | ||
} | ||
const dependencies = packageJson['dependencies']; | ||
dependencies['three'] = '0.136.0'; | ||
if (packageJson['devDependencies'] === undefined) { | ||
packageJson['devDependencies'] = {}; | ||
} | ||
const devDependencies = packageJson['devDependencies']; | ||
devDependencies['@types/three'] = '0.136.1'; | ||
const tsconfigJson = readJson('tsconfig'); | ||
if (tsconfigJson['compilerOptions'] === undefined) { | ||
tsconfigJson['compilerOptions'] = {}; | ||
} | ||
const angularJson = readJson('angular'); | ||
const defaultProject = angularJson['defaultProject']; | ||
const projects = angularJson['projects'][defaultProject]; | ||
if (projects['architect']['build']['options'] === undefined) { | ||
projects['architect']['build']['options'] = {}; | ||
} | ||
const architectBuildOptions = projects['architect']['build']['options']; | ||
if (architectBuildOptions['assets'] === undefined) { | ||
architectBuildOptions['assets'] = []; | ||
} | ||
const assets = architectBuildOptions['assets']; | ||
let isAssetFounded = false; | ||
assets.forEach(function (assInfo) { | ||
if (typeof assInfo === 'string') { | ||
if (assInfo === './node_modules/ngx3js/assets') { | ||
isAssetFounded = true; | ||
} | ||
} else if (assInfo['input'] === './node_modules/ngx3js/assets') { | ||
isAssetFounded = true; | ||
} | ||
}); | ||
if (!isAssetFounded) { | ||
assets.push({ | ||
glob: '**/*', | ||
input: './node_modules/ngx3js/assets', | ||
output: '/assets/examples/', | ||
}); | ||
} | ||
writeJson('package', packageJson, null, function () { | ||
console.log( | ||
'./package.json -- dependencies && devDependencies installed!\n' | ||
); | ||
writeJson( | ||
'./tsconfig', | ||
tsconfigJson, | ||
'To learn more about this file see: https://angular.io/config/tsconfig.', | ||
function () { | ||
console.log('./tsconfig.json -- compilerOptions installed!\n'); | ||
writeJson('angular', angularJson, null, function () { | ||
console.log('auto run '+'npm install'.red +'!!!'); | ||
exec("npm install", function(error, stdout, stderr) { | ||
if (error) { | ||
console.log(`error: ${error.message}`); | ||
} | ||
if (stderr) { | ||
console.log(`stderr: ${stderr}`); | ||
} | ||
if (stdout) { | ||
console.log(`stdout: ${stdout}`); | ||
} | ||
console.log( | ||
'RE RUN TO INSTALL "' + 'npm install'.red + '"' + ' in shell' | ||
); | ||
console.log( | ||
'RE RUN TO UPDATE "' + 'npm update'.red + '"' + ' in shell' | ||
); | ||
console.log('example - https://outmindkjg.github.io/ngx3js-doc/'); | ||
console.log( | ||
'api doc - https://outmindkjg.github.io/ngx3js-doc/docs' | ||
); | ||
console.log( | ||
'git hub - https://github.com/outmindkjg/ngx3js-module' | ||
); | ||
console.log('npm - https://www.npmjs.com/package/ngx3js'); | ||
console.log( | ||
'usage - https://github.com/outmindkjg/ngx3js-module#usage' | ||
); | ||
console.log('question - outmind0@gmail.com'); | ||
console.log( | ||
'\n' + 'Thank You - Patch ' + 'Success'.green + '!.\n\n' | ||
); | ||
}); | ||
}); | ||
} | ||
); | ||
}); | ||
break; | ||
default: | ||
console.log('usage - https://github.com/outmindkjg/ngx3js-module#usage'); | ||
console.log('Read this page to use ngx3js'); | ||
console.log('\n' + 'Thank You - Patch ' + 'Failed'.red + '!\n\n'); | ||
break; | ||
} | ||
}); | ||
const colors = require('colors'); | ||
const readline = require('readline'); | ||
const { exec } = require("child_process"); | ||
// const prompt = require('prompt'); | ||
const fs = require('fs'); | ||
const cwd = process.cwd(); | ||
function readJson(fileName) { | ||
console.log('Read File %s/%s.json', cwd , fileName); | ||
let rawdata = fs.readFileSync(cwd + '/' + fileName + '.json'); | ||
rawdata = rawdata | ||
.toString() | ||
.replace(/\\"|"(?:\\"|[^"])*"|(\/\/.*|\/\*[\s\S]*?\*\/)/g, (m, g) => | ||
g ? '' : m | ||
); | ||
return JSON.parse(rawdata); | ||
} | ||
function writeJson(fileName, jsonData, comment, callBack) { | ||
let data = JSON.stringify(jsonData, null, 2); | ||
if (comment !== undefined && comment !== null && comment !== '') { | ||
// data = '/** ' + comment + ' */\n' + data; | ||
} | ||
fs.writeFile(cwd + '/' + fileName + '.json', data, (err) => { | ||
if (err) throw err; | ||
console.log('Json file modified -> ' + (fileName + '.json').red); | ||
if (callBack !== undefined && callBack !== null) { | ||
callBack(); | ||
} | ||
}); | ||
} | ||
const rl = readline.createInterface({ | ||
input: process.stdin, | ||
output: process.stdout, | ||
}); | ||
const question = | ||
'\n\nThis program will change some json file for ngx3js.\n\nDo you want to check out and modify ' + | ||
'angular.json'.red + | ||
' , ' + | ||
'package.json'.red + | ||
', ' + | ||
'tsconfig.json'.red + | ||
' files? (Y/N)'; | ||
rl.question(question, function (agree) { | ||
rl.close(); | ||
switch (agree) { | ||
case 'YES': | ||
case 'Y': | ||
case 'Yes': | ||
case 'yes': | ||
case 'y': | ||
const packageJson = readJson('package'); | ||
if (packageJson['dependencies'] === undefined) { | ||
packageJson['dependencies'] = {}; | ||
} | ||
const dependencies = packageJson['dependencies']; | ||
dependencies['three'] = '0.137.5'; | ||
if (packageJson['devDependencies'] === undefined) { | ||
packageJson['devDependencies'] = {}; | ||
} | ||
const devDependencies = packageJson['devDependencies']; | ||
devDependencies['@types/three'] = '0.137.0'; | ||
const tsconfigJson = readJson('tsconfig'); | ||
if (tsconfigJson['compilerOptions'] === undefined) { | ||
tsconfigJson['compilerOptions'] = {}; | ||
} | ||
const angularJson = readJson('angular'); | ||
const defaultProject = angularJson['defaultProject']; | ||
const projects = angularJson['projects'][defaultProject]; | ||
if (projects['architect']['build']['options'] === undefined) { | ||
projects['architect']['build']['options'] = {}; | ||
} | ||
const architectBuildOptions = projects['architect']['build']['options']; | ||
if (architectBuildOptions['assets'] === undefined) { | ||
architectBuildOptions['assets'] = []; | ||
} | ||
const assets = architectBuildOptions['assets']; | ||
let isAssetFounded = false; | ||
assets.forEach(function (assInfo) { | ||
if (typeof assInfo === 'string') { | ||
if (assInfo === './node_modules/ngx3js/assets') { | ||
isAssetFounded = true; | ||
} | ||
} else if (assInfo['input'] === './node_modules/ngx3js/assets') { | ||
isAssetFounded = true; | ||
} | ||
}); | ||
if (!isAssetFounded) { | ||
assets.push({ | ||
glob: '**/*', | ||
input: './node_modules/ngx3js/assets', | ||
output: '/assets/examples/', | ||
}); | ||
} | ||
writeJson('package', packageJson, null, function () { | ||
console.log( | ||
'./package.json -- dependencies && devDependencies installed!\n' | ||
); | ||
writeJson( | ||
'./tsconfig', | ||
tsconfigJson, | ||
'To learn more about this file see: https://angular.io/config/tsconfig.', | ||
function () { | ||
console.log('./tsconfig.json -- compilerOptions installed!\n'); | ||
writeJson('angular', angularJson, null, function () { | ||
console.log('auto run '+'npm install'.red +'!!!'); | ||
exec("npm install", function(error, stdout, stderr) { | ||
if (error) { | ||
console.log(`error: ${error.message}`); | ||
} | ||
if (stderr) { | ||
console.log(`stderr: ${stderr}`); | ||
} | ||
if (stdout) { | ||
console.log(`stdout: ${stdout}`); | ||
} | ||
console.log( | ||
'RE RUN TO INSTALL "' + 'npm install'.red + '"' + ' in shell' | ||
); | ||
console.log( | ||
'RE RUN TO UPDATE "' + 'npm update'.red + '"' + ' in shell' | ||
); | ||
console.log('example - https://outmindkjg.github.io/ngx3js-doc/'); | ||
console.log( | ||
'api doc - https://outmindkjg.github.io/ngx3js-doc/docs' | ||
); | ||
console.log( | ||
'git hub - https://github.com/outmindkjg/ngx3js-module' | ||
); | ||
console.log('npm - https://www.npmjs.com/package/ngx3js'); | ||
console.log( | ||
'usage - https://github.com/outmindkjg/ngx3js-module#usage' | ||
); | ||
console.log('question - outmind0@gmail.com'); | ||
console.log( | ||
'\n' + 'Thank You - Patch ' + 'Success'.green + '!.\n\n' | ||
); | ||
}); | ||
}); | ||
} | ||
); | ||
}); | ||
break; | ||
default: | ||
console.log('usage - https://github.com/outmindkjg/ngx3js-module#usage'); | ||
console.log('Read this page to use ngx3js'); | ||
console.log('\n' + 'Thank You - Patch ' + 'Failed'.red + '!\n\n'); | ||
break; | ||
} | ||
}); | ||
@@ -186,2 +186,7 @@ export class ChartUtils { | ||
} | ||
static addDate(dateString, add) { | ||
const date = new Date(dateString); | ||
date.setDate(date.getDate() + add); | ||
return date.toISOString().split('T')[0]; | ||
} | ||
static isFunctionString(str) { | ||
@@ -200,3 +205,3 @@ if (str !== null && str !== undefined) { | ||
static isObjectString(str) { | ||
return /^\{/.test(str) && /\}$/.test(str); | ||
return /^\{/.test(str) && /'"[a-zA-Z0-9_]+"[ ]*:'/.test(str) && /\}$/.test(str); | ||
} | ||
@@ -294,15 +299,15 @@ static isCallableString(str) { | ||
'9': 9, | ||
A: 10, | ||
B: 11, | ||
C: 12, | ||
D: 13, | ||
E: 14, | ||
F: 15, | ||
a: 10, | ||
b: 11, | ||
c: 12, | ||
d: 13, | ||
e: 14, | ||
f: 15, | ||
'A': 10, | ||
'B': 11, | ||
'C': 12, | ||
'D': 13, | ||
'E': 14, | ||
'F': 15, | ||
'a': 10, | ||
'b': 11, | ||
'c': 12, | ||
'd': 13, | ||
'e': 14, | ||
'f': 15, | ||
}; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQtdXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gzanMvc3JjL2xpYi9jaGFydC9jaGFydC11dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUE2QkEsTUFBTSxPQUFPLFVBQVU7SUE2RGYsTUFBTSxDQUFDLGNBQWMsQ0FBQyxLQUFVLEVBQUUsWUFBaUI7UUFDekQsT0FBTyxPQUFPLEtBQUssS0FBSyxXQUFXLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQzVELENBQUM7SUFFTSxNQUFNLENBQUMsS0FBSyxDQUFDLElBQVk7UUFDL0IsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7SUFDbkIsQ0FBQztJQUVNLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBWSxFQUFFLEdBQVk7UUFDNUMsR0FBRyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ2xDLEdBQUcsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNsQyxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLEdBQUcsS0FBSyxDQUFDLEdBQUcsTUFBTSxDQUFDO1FBQ2xELE9BQU8sR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRU0sTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFtQjtRQUN4QyxJQUFJLEdBQUcsR0FBRyxNQUFNLElBQUksRUFBRSxDQUFDO1FBQ3ZCLElBQUksR0FBRyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUMxQyxJQUFJLEdBQUcsR0FBRyxJQUFJ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QVM7SUFDVCxTQUFTO0lBQ1QsU0FBUztDQUNULENBQUM7QUFFWSx1QkFBWSxHQVN0QjtJQUNILEdBQUcsRUFBRSxtQkFBbUI7SUFDeEIsTUFBTSxFQUFFLG1CQUFtQjtJQUMzQixNQUFNLEVBQUUsbUJBQW1CO0lBQzNCLEtBQUssRUFBRSxtQkFBbUI7SUFDMUIsSUFBSSxFQUFFLG1CQUFtQjtJQUN6QixNQUFNLEVBQUUsb0JBQW9CO0lBQzVCLElBQUksRUFBRSxvQkFBb0I7Q0FDMUIsQ0FBQztBQUVZLHVCQUFZLEdBQWE7SUFDdEMsbUJBQW1CO0lBQ25CLG1CQUFtQjtJQUNuQixtQkFBbUI7SUFDbkIsbUJBQW1CO0lBQ25CLG1CQUFtQjtJQUNuQixvQkFBb0I7SUFDcEIsb0JBQW9CO0NBQ3BCLENBQUM7QUFtR1ksc0JBQVcsR0FBOEI7SUFDdEQsR0FBRyxFQUFFLENBQUM7SUFDTixHQUFHLEVBQUUsQ0FBQztJQUNOLEdBQUcsRUFBRSxDQUFDO0lBQ04sR0FBRyxFQUFFLENBQUM7SUFDTixHQUFHLEVBQUUsQ0FBQztJQUNOLEdBQUcsRUFBRSxDQUFDO0lBQ04sR0FBRyxFQUFFLENBQUM7SUFDTixHQUFHLEVBQUUsQ0FBQztJQUNOLEdBQUcsRUFBRSxDQUFDO0lBQ04sR0FBRyxFQUFFLENBQUM7SUFDTixDQUFDLEVBQUUsRUFBRTtJQUNMLENBQUMsRUFBRSxFQUFFO0lBQ0wsQ0FBQyxFQUFFLEVBQUU7SUFDTCxDQUFDLEVBQUUsRUFBRTtJQUNMLENBQUMsRUFBRSxFQUFFO0lBQ0wsQ0FBQyxFQUFFLEVBQUU7SUFDTCxDQUFDLEVBQUUsRUFBRTtJQUNMLENBQUMsRUFBRSxFQUFFO0lBQ0wsQ0FBQyxFQUFFLEVBQUU7SUFDTCxDQUFDLEVBQUUsRUFBRTtJQUNMLENBQUMsRUFBRSxFQUFFO0lBQ0wsQ0FBQyxFQUFFLEVBQUU7Q0FDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBDaGFydENvbmZpZyB7XG5cdGNvdW50PzogbnVtYmVyO1xuXHRzZWN0aW9uPzogbnVtYmVyO1xuXHRtaW4/OiBudW1iZXI7XG5cdG1heD86IG51bWJlcjtcblx0ZGVjaW1hbHM/OiBudW1iZXI7XG5cdHByZWZpeD86IHN0cmluZztcblx0ZnJvbT86IG51bWJlcltdO1xuXHRjb250aW51aXR5PzogbnVtYmVyO1xuXHRybWluPzogbnVtYmVyO1xuXHRybWF4PzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENoYXJ0QWN0aW9uIHtcblx0bmFtZT86IHN0cmluZztcblx0aGFuZGxlcj86IHN0cmluZyB8IEZ1bmN0aW9uIHwgT2JqZWN0O1xuXHRvbmNsaWNrPzogRnVuY3Rpb247XG5cdHByb3BlcnR5Pzogc3RyaW5nO1xuXHRzZWxlY3Q/OiBhbnlbXSB8IHsgW2tleTogc3RyaW5nXTogYW55IH07XG5cdG1pbj86IG51bWJlcjtcblx0bWF4PzogbnVtYmVyO1xuXHRsaXN0ZW4/OiBib29sZWFuO1xuXHRjaGFuZ2U/OiBhbnk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hhcnRTaGFyZWRWYXIge1xuXHRba2V5OiBzdHJpbmddOiBhbnk7XG59XG5cbmV4cG9ydCBjbGFzcyBDaGFydFV0aWxzIHtcblx0cHVibGljIHN0YXRpYyBfc2VlZDogbnVtYmVyID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7XG5cblx0cHVibGljIHN0YXRpYyBNT05USFM6IHN0cmluZ1tdID0gW1xuXHRcdCdKYW51YXJ5Jyxcblx0XHQnRmVicnVhcnknLFxuXHRcdCdNYXJjaCcsXG5cdFx0J0FwcmlsJyxcblx0XHQnTWF5Jyxcblx0XHQnSnVuZScsXG5cdFx0J0p1bHknLFxuXHRcdCdBdWd1c3QnLFxuXHRcdCdTZXB0ZW1iZXInLFxuXHRcdCdPY3RvYmVyJyxcblx0XHQnTm92ZW1iZXInLFxuXHRcdCdEZWNlbWJlcicsXG5cdF07XG5cblx0cHVibGljIHN0YXRpYyBEQVlPRldFRUs6IHN0cmluZ1tdID0gWydNb24nLCAnVHVlJywgJ1dlZCcsICdUaHUnLCAnRnJpJywgJ1NhdCcsICdTdW4nXTtcblxuXHRwdWJsaWMgc3RhdGljIENPTE9SUzogc3RyaW5nW10gPSBbXG5cdFx0JyM0ZGM5ZjYnLFxuXHRcdCcjZjY3MDE5Jyxcblx0XHQnI2Y1Mzc5NCcsXG5cdFx0JyM1MzdiYzQnLFxuXHRcdCcjYWNjMjM2Jyxcblx0XHQnIzE2NmE4ZicsXG5cdFx0JyMwMGE5NTAnLFxuXHRcdCcjNTg1OTViJyxcblx0XHQnIzg1NDliYScsXG5cdF07XG5cblx0cHVibGljIHN0YXRpYyBDSEFSVF9DT0xPUlM6IHtcblx0XHRba2V5OiBzdHJpbmddOiBzdHJpbmc7XG5cdFx0cmVkOiBzdHJpbmc7XG5cdFx0b3JhbmdlOiBzdHJpbmc7XG5cdFx0eWVsbG93OiBzdHJpbmc7XG5cdFx0Z3JlZW46IHN0cmluZztcblx0XHRibHVlOiBzdHJpbmc7XG5cdFx0cHVycGxlOiBzdHJpbmc7XG5cdFx0Z3JleTogc3RyaW5nO1xuXHR9ID0ge1xuXHRcdHJlZDogJ3JnYigyNTUsIDk5LCAxMzIpJyxcblx0XHRvcmFuZ2U6ICdyZ2IoMjU1LCAxNTksIDY0KScsXG5cdFx0eWVsbG93OiAncmdiKDI1NSwgMjA1LCA4NiknLFxuXHRcdGdyZWVuOiAncmdiKDc1LCAxOTIsIDE5MiknLFxuXHRcdGJsdWU6ICdyZ2IoNTQsIDE2MiwgMjM1KScsXG5cdFx0cHVycGxlOiAncmdiKDE1MywgMTAyLCAyNTUpJyxcblx0XHRncmV5OiAncmdiKDIwMSwgMjAzLCAyMDcpJyxcblx0fTtcblxuXHRwdWJsaWMgc3RhdGljIE5BTUVEX0NPTE9SUzogc3RyaW5nW10gPSBbXG5cdFx0J3JnYigyNTUsIDk5LCAxMzIpJyxcblx0XHQncmdiKDI1NSwgMTU5LCA2NCknLFxuXHRcdCdyZ2IoMjU1LCAyMDUsIDg2KScsXG5cdFx0J3JnYig3NSwgMTkyLCAxOTIpJyxcblx0XHQncmdiKDU0LCAxNjIsIDIzNSknLFxuXHRcdCdyZ2IoMTUzLCAxMDIsIDI1NSknLFxuXHRcdCdyZ2IoMjAxLCAyMDMsIDIwNyknLFxuXHRdO1xuXG5cdHB1YmxpYyBzdGF0aWMgdmFsdWVPckRlZmF1bHQodmFsdWU6IGFueSwgZGVmYXVsdFZhbHVlOiBhbnkpOiBhbnkge1xuXHRcdHJldHVybiB0eXBlb2YgdmFsdWUgPT09ICd1bmRlZmluZWQnID8gZGVmYXVsdFZhbHVlIDogdmFsdWU7XG5cdH1cblxuXHRwdWJsaWMgc3RhdGljIHNyYW5kKHNlZWQ6IG51bWJlcikge1xuXHRcdHRoaXMuX3NlZWQgPSBzZWVkO1xuXHR9XG5cblx0cHVibGljIHN0YXRpYyByYW5kKG1pbj86IG51bWJlciwgbWF4PzogbnVtYmVyKSB7XG5cdFx0bWluID0gdGhpcy52YWx1ZU9yRGVmYXVsdChtaW4sIDApO1xuXHRcdG1heCA9IHRoaXMudmFsdWVPckRlZmF1bHQobWF4LCAwKTtcblx0XHR0aGlzLl9zZWVkID0gKHRoaXMuX3NlZWQgKiA5MzAxICsgNDkyOTcpICUgMjMzMjgwO1xuXHRcdHJldHVybiBtaW4gKyAodGhpcy5fc2VlZCAvIDIzMzI4MCkgKiAobWF4IC0gbWluKTtcblx0fVxuXG5cdHB1YmxpYyBzdGF0aWMgbnVtYmVycyhjb25maWc6IENoYXJ0Q29uZmlnKTogbnVtYmVyW10ge1xuXHRcdHZhciBjZmcgPSBjb25maWcgfHwge307XG5cdFx0dmFyIG1pbiA9IHRoaXMudmFsdWVPckRlZmF1bHQoY2ZnLm1pbiwgMCk7XG5cdFx0dmFyIG1heCA9IHRoaXMudmFsdWVPckRlZmF1bHQoY2ZnLm1heCwgMTAwKTtcblx0XHR2YXIgZnJvbSA9IHRoaXMudmFsdWVPckRlZmF1bHQoY2ZnLmZyb20sIFtdKTtcblx0XHR2YXIgY291bnQgPSB0aGlzLnZhbHVlT3JEZWZhdWx0KGNmZy5jb3VudCwgOCk7XG5cdFx0dmFyIGRlY2ltYWxzID0gdGhpcy52YWx1ZU9yRGVmYXVsdChjZmcuZGVjaW1hbHMsIDgpO1xuXHRcdHZhciBjb250aW51aXR5ID0gdGhpcy52YWx1ZU9yRGVmYXVsdChjZmcuY29udGludWl0eSwgMSk7XG5cdFx0dmFyIGRmYWN0b3IgPSBNYXRoLnBvdygxMCwgZGVjaW1hbHMpIHx8IDA7XG5cdFx0dmFyIGRhdGEgPSBbXTtcblx0XHR2YXIgaSwgdmFsdWU7XG5cdFx0Zm9yIChpID0gMDsgaSA8IGNvdW50OyArK2kpIHtcblx0XHRcdHZhbHVlID0gKGZyb21baV0gfHwgMCkgKyB0aGlzLnJhbmQobWluLCBtYXgpO1xuXHRcdFx0aWYgKHRoaXMucmFuZCgwLCAxKSA8PSBjb250aW51aXR5KSB7XG5cdFx0XHRcdGRhdGEucHVzaChNYXRoLnJvdW5kKGRmYWN0b3IgKiB2YWx1ZSkgLyBkZmFjdG9yKTtcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdGRhdGEucHVzaChudWxsKTtcblx0XHRcdH1cblx0XHR9XG5cdFx0cmV0dXJuIGRhdGE7XG5cdH1cblxuXHRwdWJsaWMgc3RhdGljIHBvaW50cyhjb25maWc6IENoYXJ0Q29uZmlnKTogeyB4OiBudW1iZXI7IHk6IG51bWJlciB9W10ge1xuXHRcdGNvbnN0IHhzID0gdGhpcy5udW1iZXJzKGNvbmZpZyk7XG5cdFx0Y29uc3QgeXMgPSB0aGlzLm51bWJlcnMoY29uZmlnKTtcblx0XHRyZXR1cm4geHMubWFwKCh4LCBpKSA9PiAoeyB4LCB5OiB5c1tpXSB9KSk7XG5cdH1cblxuXHRwdWJsaWMgc3RhdGljIGJ1YmJsZXMoY29uZmlnPzogQ2hhcnRDb25maWcpOiB7IHg6IG51bWJlcjsgeTogbnVtYmVyOyByOiBudW1iZXIgfVtdIHtcblx0XHRyZXR1cm4gdGhpcy5wb2ludHMoY29uZmlnKS5tYXAoKHB0OiBhbnkpID0+IHtcblx0XHRcdHB0LnIgPSB0aGlzLnJhbmQoY29uZmlnLnJtaW4sIGNvbmZpZy5ybWF4KTtcblx0XHRcdHJldHVybiBwdDtcblx0XHR9KTtcblx0fVxuXG5cdHB1YmxpYyBzdGF0aWMgbGFiZWxzKGNvbmZpZz86IENoYXJ0Q29uZmlnKTogc3RyaW5nW10ge1xuXHRcdHZhciBjZmcgPSBjb25maWcgfHwge307XG5cdFx0dmFyIG1pbiA9IGNmZy5taW4gfHwgMDtcblx0XHR2YXIgbWF4ID0gY2ZnLm1heCB8fCAxMDA7XG5cdFx0dmFyIGNvdW50ID0gY2ZnLmNvdW50IHx8IDg7XG5cdFx0dmFyIHN0ZXAgPSAobWF4IC0gbWluKSAvIGNvdW50O1xuXHRcdHZhciBkZWNpbWFscyA9IGNmZy5kZWNpbWFscyB8fCA4O1xuXHRcdHZhciBkZmFjdG9yID0gTWF0aC5wb3coMTAsIGRlY2ltYWxzKSB8fCAwO1xuXHRcdHZhciBwcmVmaXggPSBjZmcucHJlZml4IHx8ICcnO1xuXHRcdHZhciB2YWx1ZXMgPSBbXTtcblx0XHR2YXIgaTtcblx0XHRmb3IgKGkgPSBtaW47IGkgPCBtYXg7IGkgKz0gc3RlcCkge1xuXHRcdFx0dmFsdWVzLnB1c2gocHJlZml4ICsgTWF0aC5yb3VuZChkZmFjdG9yICogaSkgLyBkZmFjdG9yKTtcblx0XHR9XG5cdFx0cmV0dXJuIHZhbHVlcztcblx0fVxuXG5cdHB1YmxpYyBzdGF0aWMgbW9udGhzKGNvbmZpZz86IENoYXJ0Q29uZmlnKTogc3RyaW5nW10ge1xuXHRcdHZhciBjZmcgPSBjb25maWcgfHwge307XG5cdFx0dmFyIGNvdW50ID0gY2ZnLmNvdW50IHx8IDEyO1xuXHRcdHZhciBzZWN0aW9uID0gY2ZnLnNlY3Rpb24gfHwgMzA7XG5cdFx0dmFyIHZhbHVlcyA9IFtdO1xuXHRcdHZhciBpLCB2YWx1ZTtcblx0XHRmb3IgKGkgPSAwOyBpIDwgY291bnQ7ICsraSkge1xuXHRcdFx0dmFsdWUgPSB0aGlzLk1PTlRIU1tNYXRoLmNlaWwoaSkgJSAxMl07XG5cdFx0XHR2YWx1ZXMucHVzaCh2YWx1ZS5zdWJzdHJpbmcoMCwgc2VjdGlvbikpO1xuXHRcdH1cblx0XHRyZXR1cm4gdmFsdWVzO1xuXHR9XG5cblx0cHVibGljIHN0YXRpYyBkYXlvZndlZWsoY29uZmlnPzogQ2hhcnRDb25maWcpOiBzdHJpbmdbXSB7XG5cdFx0dmFyIGNmZyA9IGNvbmZpZyB8fCB7fTtcblx0XHR2YXIgY291bnQgPSBjZmcuY291bnQgfHwgNztcblx0XHR2YXIgc2VjdGlvbiA9IGNmZy5zZWN0aW9uIHx8IDc7XG5cdFx0dmFyIHZhbHVlcyA9IFtdO1xuXHRcdHZhciBpLCB2YWx1ZTtcblx0XHRmb3IgKGkgPSAwOyBpIDwgY291bnQ7ICsraSkge1xuXHRcdFx0dmFsdWUgPSB0aGlzLkRBWU9GV0VFS1tNYXRoLmNlaWwoaSkgJSA3XTtcblx0XHRcdHZhbHVlcy5wdXNoKHZhbHVlLnN1YnN0cmluZygwLCBzZWN0aW9uKSk7XG5cdFx0fVxuXHRcdHJldHVybiB2YWx1ZXM7XG5cdH1cblxuXHRwdWJsaWMgc3RhdGljIGNvbG9yKGluZGV4OiBudW1iZXIpIHtcblx0XHRyZXR1cm4gdGhpcy5DT0xPUlNbaW5kZXggJSB0aGlzLkNPTE9SUy5sZW5ndGhdO1xuXHR9XG5cblx0cHVibGljIHN0YXRpYyBjb2xvckhleE1hcDogeyBba2V5OiBzdHJpbmddOiBudW1iZXIgfSA9IHtcblx0XHQnMCc6IDAsXG5cdFx0JzEnOiAxLFxuXHRcdCcyJzogMixcblx0XHQnMyc6IDMsXG5cdFx0JzQnOiA0LFxuXHRcdCc1JzogNSxcblx0XHQnNic6IDYsXG5cdFx0JzcnOiA3LFxuXHRcdCc4JzogOCxcblx0XHQnOSc6IDksXG5cdFx0QTogMTAsXG5cdFx0QjogMTEsXG5cdFx0QzogMTIsXG5cdFx0RDogMTMsXG5cdFx0RTogMTQsXG5cdFx0RjogMTUsXG5cdFx0YTogMTAsXG5cdFx0YjogMTEsXG5cdFx0YzogMTIsXG5cdFx0ZDogMTMsXG5cdFx0ZTogMTQsXG5cdFx0ZjogMTUsXG5cdH07XG5cblx0cHVibGljIHN0YXRpYyBjb2xvckhleFBhcnNlKHN0cjogc3RyaW5nKSB7XG5cdFx0bGV0IGxlbiA9IHN0ci5sZW5ndGg7XG5cdFx0bGV0IHJldDtcblx0XHRpZiAoc3RyWzBdID09PSAnIycpIHtcblx0XHRcdGNvbnN0IG1hcCA9IHRoaXMuY29sb3JIZXhNYXA7XG5cdFx0XHRpZiAobGVuID09PSA0IHx8IGxlbiA9PT0gNSkge1xuXHRcdFx0XHRyZXQgPSB7XG5cdFx0XHRcdFx0cjogMjU1ICYgKG1hcFtzdHJbMV1dICogMTcpLFxuXHRcdFx0XHRcdGc6IDI1NSAmIChtYXBbc3RyWzJdXSAqIDE3KSxcblx0XHRcdFx0XHRiOiAyNTUgJiAobWFwW3N0clszXV0gKiAxNyksXG5cdFx0XHRcdFx0YTogbGVuID09PSA1ID8gbWFwW3N0cls0XV0gKiAxNyA6IDI1NSxcblx0XHRcdFx0fTtcblx0XHRcdH0gZWxzZSBpZiAobGVuID09PSA3IHx8IGxlbiA9PT0gOSkge1xuXHRcdFx0XHRyZXQgPSB7XG5cdFx0XHRcdFx0cjogKG1hcFtzdHJbMV1dIDw8IDQpIHwgbWFwW3N0clsyXV0sXG5cdFx0XHRcdFx0ZzogKG1hcFtzdHJbM11dIDw8IDQpIHwgbWFwW3N0cls0XV0sXG5cdFx0XHRcdFx0YjogKG1hcFtzdHJbNV1dIDw8IDQpIHwgbWFwW3N0cls2XV0sXG5cdFx0XHRcdFx0YTogbGVuID09PSA5ID8gKG1hcFtzdHJbN11dIDw8IDQpIHwgbWFwW3N0cls4XV0gOiAyNTUsXG5cdFx0XHRcdH07XG5cdFx0XHR9XG5cdFx0fVxuXHRcdHJldHVybiByZXQ7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2UgcmdiKGEpIHN0cmluZyB0byBSR0JBXG5cdCAqIEBwYXJhbSB7c3RyaW5nfSBzdHIgLSB0aGUgcmdiIHN0cmluZ1xuXHQgKiBAcmV0dXJucyB7UkdCQX0gLSB0aGUgcGFyc2VkIGNvbG9yXG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIGNvbG9yUmdiUGFyc2Uoc3RyOiBzdHJpbmcpOiB7IHI6IG51bWJlcjsgZzogbnVtYmVyOyBiOiBudW1iZXI7IGE6IG51bWJlciB9IHtcblx0XHRmdW5jdGlvbiByb3VuZCh2OiBudW1iZXIpIHtcblx0XHRcdHJldHVybiAodiArIDAuNSkgfCAwO1xuXHRcdH1cblx0XHRjb25zdCBsaW0gPSAodjogbnVtYmVyLCBsOiBudW1iZXIsIGg6IG51bWJlcikgPT4gTWF0aC5tYXgoTWF0aC5taW4odiwgaCksIGwpO1xuXHRcdC8qKlxuXHRcdCAqIGNvbnZlcnQgcGVyY2VudCB0byBieXRlIDAuLjI1NVxuXHRcdCAqIEBwYXJhbSB7bnVtYmVyfSB2IC0gMC4uMTAwXG5cdFx0ICovXG5cdFx0ZnVuY3Rpb24gcDJiKHY6IG51bWJlcikge1xuXHRcdFx0cmV0dXJuIGxpbShyb3VuZCh2ICogMi41NSksIDAsIDI1NSk7XG5cdFx0fVxuXG5cdFx0Y29uc3QgbSA9XG5cdFx0XHQvXnJnYmE/XFwoXFxzKihbLSsuXFxkXSspKCUpP1tcXHMsXSsoWy0rLmVcXGRdKykoJSk/W1xccyxdKyhbLSsuZVxcZF0rKSglKT8oPzpbXFxzLC9dKyhbLSsuZVxcZF0rKSglKT8pP1xccypcXCkkLy5leGVjKHN0cik7XG5cdFx0bGV0IGEgPSAyNTU7XG5cdFx0bGV0IHIsIGcsIGI7XG5cblx0XHRpZiAoIW0pIHtcblx0XHRcdHJldHVybiBudWxsO1xuXHRcdH1cblxuXHRcdC8vIHIgaXMgdW5kZWZpbmVkXG5cdFx0aWYgKG1bN10gIT09IHIpIHtcblx0XHRcdGNvbnN0IHYgPSArbVs3XTtcblx0XHRcdGEgPSAyNTUgJiAobVs4XSA/IHAyYih2KSA6IHYgKiAyNTUpO1xuXHRcdH1cblxuXHRcdHIgPSArbVsxXTtcblx0XHRnID0gK21bM107XG5cdFx0YiA9ICttWzVdO1xuXHRcdHIgPSAyNTUgJiAobVsyXSA/IHAyYihyKSA6IHIpO1xuXHRcdGcgPSAyNTUgJiAobVs0XSA/IHAyYihnKSA6IGcpO1xuXHRcdGIgPSAyNTUgJiAobVs2XSA/IHAyYihiKSA6IGIpO1xuXG5cdFx0cmV0dXJuIHtcblx0XHRcdHI6IHIsXG5cdFx0XHRnOiBnLFxuXHRcdFx0YjogYixcblx0XHRcdGE6IGEsXG5cdFx0fTtcblx0fVxuXG5cdHB1YmxpYyBzdGF0aWMgdHJhbnNwYXJlbnRpemUodmFsdWU6IHN0cmluZywgb3BhY2l0eT86IG51bWJlcikge1xuXHRcdHZhciBhbHBoYSA9IG9wYWNpdHkgPT09IHVuZGVmaW5lZCA/IDAuNSA6IDEgLSBvcGFjaXR5O1xuXHRcdGNvbnN0IGNvbG9yUmdiID0gdGhpcy5jb2xvckhleFBhcnNlKHZhbHVlKSB8fCB0aGlzLmNvbG9yUmdiUGFyc2UodmFsdWUpO1xuXHRcdHJldHVybiAncmdiYSgnICsgY29sb3JSZ2IuciArICcsJyArIGNvbG9yUmdiLmcgKyAnLCcgKyBjb2xvclJnYi5iICsgJywnICsgYWxwaGEgKyAnKSc7XG5cdH1cblxuXHRwdWJsaWMgc3RhdGljIG5hbWVkQ29sb3IoaW5kZXg6IG51bWJlcikge1xuXHRcdHJldHVybiB0aGlzLk5BTUVEX0NPTE9SU1tpbmRleCAlIHRoaXMuTkFNRURfQ09MT1JTLmxlbmd0aF07XG5cdH1cblxuXHRwdWJsaWMgc3RhdGljIG5ld0RhdGUoZGF5czogbnVtYmVyKTogRGF0ZSB7XG5cdFx0Y29uc3Qgbm93ID0gbmV3IERhdGUoKTtcblx0XHRub3cuc2V0RGF0ZShub3cuZ2V0RGF0ZSgpICsgZGF5cyk7XG5cdFx0cmV0dXJuIG5vdztcblx0fVxuXG5cdHB1YmxpYyBzdGF0aWMgbmV3RGF0ZVN0cmluZyhkYXlzOiBudW1iZXIpIHtcblx0XHRyZXR1cm4gdGhpcy5uZXdEYXRlKGRheXMpLnRvSVNPU3RyaW5nKCk7XG5cdH1cblxuXHRwdWJsaWMgc3RhdGljIHN0cmluZ2lmeShvcHRpb246IGFueSk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIEpTT04uc3RyaW5naWZ5KFxuXHRcdFx0b3B0aW9uLFxuXHRcdFx0KF8sIHZhbHVlKSA9PiB7XG5cdFx0XHRcdGlmICh0eXBlb2YgdmFsdWUgPT09ICdmdW5jdGlvbicpIHtcblx0XHRcdFx0XHRyZXR1cm4gdmFsdWVcblx0XHRcdFx0XHRcdC50b1N0cmluZygpXG5cdFx0XHRcdFx0XHQuc3BsaXQoJ1xcbicpXG5cdFx0XHRcdFx0XHQubWFwKChsaW5lOiBzdHJpbmcpID0+IGxpbmUudHJpbSgpKVxuXHRcdFx0XHRcdFx0LmpvaW4oJyAnKTtcblx0XHRcdFx0fVxuXHRcdFx0XHRyZXR1cm4gdmFsdWU7XG5cdFx0XHR9LFxuXHRcdFx0MlxuXHRcdCk7XG5cdH1cblxuXHRwdWJsaWMgc3RhdGljIHBhcnNlSVNPRGF0ZShkYXRlU3RyaW5nOiBzdHJpbmcpOiBEYXRlIHtcblx0XHRyZXR1cm4gbmV3IERhdGUoZGF0ZVN0cmluZyk7XG5cdH1cblxuXHRwdWJsaWMgc3RhdGljIGlzRnVuY3Rpb25TdHJpbmcoc3RyOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRpZiAoc3RyICE9PSBudWxsICYmIHN0ciAhPT0gdW5kZWZpbmVkKSB7XG5cdFx0XHRyZXR1cm4gKFxuXHRcdFx0XHQvXFwpWyBcXHRcXG5dKj0+WyBcXHRcXG5dKi8udGVzdChzdHIpIHx8XG5cdFx0XHRcdC9eKGZ1bmN0aW9ufGZ1bmN0aW9uIFthLXpBLVpdW2EtekEtWl8wLTldK3xbYS16QS1aXVthLXpBLVpfMC05XSspKHwgKVxcKFteXFwpXSpcXClbIFxcdFxcbl0qXFx7Ly50ZXN0KHN0cilcblx0XHRcdCk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHJldHVybiBmYWxzZTtcblx0XHR9XG5cdH1cblxuXHRwdWJsaWMgc3RhdGljIGdldEZ1bmN0aW9uU3RyaW5nKHN0cjogc3RyaW5nKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gc3RyLnJlcGxhY2UoL14oZnVuY3Rpb258ZnVuY3Rpb24gW2EtekEtWl1bYS16QS1aXzAtOV0rfFthLXpBLVpdW2EtekEtWl8wLTldKykofCApXFwoLywgJ2Z1bmN0aW9uKCcpO1xuXHR9XG5cblx0cHVibGljIHN0YXRpYyBpc09iamVjdFN0cmluZyhzdHI6IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiAvXlxcey8udGVzdChzdHIpICYmIC9cXH0kLy50ZXN0KHN0cik7XG5cdH1cblxuXHRwdWJsaWMgc3RhdGljIGlzQ2FsbGFibGVTdHJpbmcoc3RyOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gL14obmV3IHwpKG1hcHxEYXRlfFthLXpBLVpdW2EtekEtWjAtOV0rXFwuW2EtekEtWl1bYS16QS1aMC05X1xcLl0rKSh8XFwoLipcXCkpJC8udGVzdChzdHIpO1xuXHR9XG5cblx0cHVibGljIHN0YXRpYyBydW5DaGFydEFjdGlvbihhY3Rpb246IENoYXJ0QWN0aW9uKTogdm9pZCB7XG5cdFx0aWYgKGFjdGlvbiAhPT0gbnVsbCAmJiBhY3Rpb24ub25jbGljayAhPT0gbnVsbCkge1xuXHRcdFx0YWN0aW9uLm9uY2xpY2soKTtcblx0XHR9XG5cdH1cblxuXHRwdWJsaWMgc3RhdGljIGdldENoYXJ0U2hhcmVkVmFyKGNoYXJ0OiBhbnkpOiBDaGFydFNoYXJlZFZhciB7XG5cdFx0aWYgKGNoYXJ0LnNoYXJlZFZhciAhPT0gbnVsbCAmJiBjaGFydC5zaGFyZWRWYXIgIT09IHVuZGVmaW5lZCkge1xuXHRcdFx0cmV0dXJuIGNoYXJ0LnNoYXJlZFZhcjtcblx0XHR9XG5cdFx0cmV0dXJuIG51bGw7XG5cdH1cblxuXHRwdWJsaWMgc3RhdGljIGdldFN0cmluZzJGdW5jdGlvbihmdW5jdGlvbkJvZHk6IHN0cmluZywgYXJncz86IHsgW2tleTogc3RyaW5nXTogYW55IH0pIDogYW55IHtcblx0XHR0cnkge1xuXHRcdFx0aWYgKGFyZ3MgIT09IG51bGwgJiYgYXJncyAhPT0gdW5kZWZpbmVkKSB7XG5cdFx0XHRcdGNvbnN0IGFyZ3NLZXlzOiBzdHJpbmdbXSA9IFtdO1xuXHRcdFx0XHRjb25zdCBhcmdzVmFsdWVzOiBhbnlbXSA9IFtdO1xuXHRcdFx0XHRPYmplY3QuZW50cmllcyhhcmdzKS5mb3JFYWNoKChba2V5LCB2YWx1ZV0pID0+IHtcblx0XHRcdFx0XHRhcmdzS2V5cy5wdXNoKGtleSk7XG5cdFx0XHRcdFx0YXJnc1ZhbHVlcy5wdXNoKHZhbHVlKTtcblx0XHRcdFx0fSk7XG5cdFx0XHRcdHJldHVybiBuZXcgRnVuY3Rpb24oLi4uYXJnc0tleXMsICdyZXR1cm4gJyArIGZ1bmN0aW9uQm9keSkoLi4uYXJnc1ZhbHVlcyk7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRyZXR1cm4gbmV3IEZ1bmN0aW9uKCdyZXR1cm4gJyArIGZ1bmN0aW9uQm9keSkoKTtcblx0XHRcdH1cblx0XHR9IGNhdGNoIChleCkge1xuXHRcdFx0Y29uc29sZS5lcnJvcihleCwgZnVuY3Rpb25Cb2R5KTtcblx0XHRcdHJldHVybiBudWxsO1xuXHRcdH1cblx0fVxufVxuIl19 | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQtdXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gzanMvc3JjL2xpYi9jaGFydC9jaGFydC11dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUErQkEsTUFBTSxPQUFPLFVBQVU7SUE2RGYsTUFBTSxDQUFDLGNBQWMsQ0FBQyxLQUFVLEVBQUUsWUFBaUI7UUFDekQsT0FBTyxPQUFPLEtBQUssS0FBSyxXQUFXLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQzVELENBQUM7SUFFTSxNQUFNLENBQUMsS0FBSyxDQUFDLElBQVk7UUFDL0IsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7SUFDbkIsQ0FBQztJQUVNLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBWSxFQUFFLEdBQVk7UUFDNUMsR0FBRyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ2xDLEdBQUcsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNsQyxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLEdBQUcsS0FBSyxDQUFDLEdBQUcsTUFBTSxDQUFDO1FBQ2xELE9BQU8sR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRU0sTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFtQjtRQUN4QyxJQUFJLEdBQUcsR0FBRyxNQUFNLElBQUksRUFBRSxDQUFDO1FBQ3ZCLElBQUksR0FBRyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUMxQyxJQUFJLEdBQUcsR0FBRyxJQUFJ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SUFDUCxHQUFHLEVBQUUsRUFBRTtJQUNQLEdBQUcsRUFBRSxFQUFFO0lBQ1AsR0FBRyxFQUFFLEVBQUU7SUFDUCxHQUFHLEVBQUUsRUFBRTtJQUNQLEdBQUcsRUFBRSxFQUFFO0lBQ1AsR0FBRyxFQUFFLEVBQUU7SUFDUCxHQUFHLEVBQUUsRUFBRTtJQUNQLEdBQUcsRUFBRSxFQUFFO0lBQ1AsR0FBRyxFQUFFLEVBQUU7Q0FDUCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBDaGFydENvbmZpZyB7XG5cdGNvdW50PzogbnVtYmVyO1xuXHRzZWN0aW9uPzogbnVtYmVyO1xuXHRtaW4/OiBudW1iZXI7XG5cdG1heD86IG51bWJlcjtcblx0ZGVjaW1hbHM/OiBudW1iZXI7XG5cdHByZWZpeD86IHN0cmluZztcblx0ZnJvbT86IG51bWJlcltdO1xuXHRjb250aW51aXR5PzogbnVtYmVyO1xuXHRybWluPzogbnVtYmVyO1xuXHRybWF4PzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENoYXJ0QWN0aW9uIHtcblx0bmFtZT86IHN0cmluZztcblx0aGFuZGxlcj86IHN0cmluZyB8IEZ1bmN0aW9uIHwgT2JqZWN0O1xuXHRvbmNsaWNrPzogRnVuY3Rpb247XG5cdHByb3BlcnR5Pzogc3RyaW5nO1xuXHR2YWx1ZT8gOiBhbnk7XG5cdHNlbGVjdD86IGFueVtdIHwgeyBba2V5OiBzdHJpbmddOiBhbnkgfTtcblx0bWluPzogbnVtYmVyO1xuXHRtYXg/OiBudW1iZXI7XG5cdHN0ZXA/OiBudW1iZXI7XG5cdGxpc3Rlbj86IGJvb2xlYW47XG5cdGNoYW5nZT86IGFueTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDaGFydFNoYXJlZFZhciB7XG5cdFtrZXk6IHN0cmluZ106IGFueTtcbn1cblxuZXhwb3J0IGNsYXNzIENoYXJ0VXRpbHMge1xuXHRwdWJsaWMgc3RhdGljIF9zZWVkOiBudW1iZXIgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKTtcblxuXHRwdWJsaWMgc3RhdGljIE1PTlRIUzogc3RyaW5nW10gPSBbXG5cdFx0J0phbnVhcnknLFxuXHRcdCdGZWJydWFyeScsXG5cdFx0J01hcmNoJyxcblx0XHQnQXByaWwnLFxuXHRcdCdNYXknLFxuXHRcdCdKdW5lJyxcblx0XHQnSnVseScsXG5cdFx0J0F1Z3VzdCcsXG5cdFx0J1NlcHRlbWJlcicsXG5cdFx0J09jdG9iZXInLFxuXHRcdCdOb3ZlbWJlcicsXG5cdFx0J0RlY2VtYmVyJyxcblx0XTtcblxuXHRwdWJsaWMgc3RhdGljIERBWU9GV0VFSzogc3RyaW5nW10gPSBbJ01vbicsICdUdWUnLCAnV2VkJywgJ1RodScsICdGcmknLCAnU2F0JywgJ1N1biddO1xuXG5cdHB1YmxpYyBzdGF0aWMgQ09MT1JTOiBzdHJpbmdbXSA9IFtcblx0XHQnIzRkYzlmNicsXG5cdFx0JyNmNjcwMTknLFxuXHRcdCcjZjUzNzk0Jyxcblx0XHQnIzUzN2JjNCcsXG5cdFx0JyNhY2MyMzYnLFxuXHRcdCcjMTY2YThmJyxcblx0XHQnIzAwYTk1MCcsXG5cdFx0JyM1ODU5NWInLFxuXHRcdCcjODU0OWJhJyxcblx0XTtcblxuXHRwdWJsaWMgc3RhdGljIENIQVJUX0NPTE9SUzoge1xuXHRcdFtrZXk6IHN0cmluZ106IHN0cmluZztcblx0XHRyZWQ6IHN0cmluZztcblx0XHRvcmFuZ2U6IHN0cmluZztcblx0XHR5ZWxsb3c6IHN0cmluZztcblx0XHRncmVlbjogc3RyaW5nO1xuXHRcdGJsdWU6IHN0cmluZztcblx0XHRwdXJwbGU6IHN0cmluZztcblx0XHRncmV5OiBzdHJpbmc7XG5cdH0gPSB7XG5cdFx0cmVkOiAncmdiKDI1NSwgOTksIDEzMiknLFxuXHRcdG9yYW5nZTogJ3JnYigyNTUsIDE1OSwgNjQpJyxcblx0XHR5ZWxsb3c6ICdyZ2IoMjU1LCAyMDUsIDg2KScsXG5cdFx0Z3JlZW46ICdyZ2IoNzUsIDE5MiwgMTkyKScsXG5cdFx0Ymx1ZTogJ3JnYig1NCwgMTYyLCAyMzUpJyxcblx0XHRwdXJwbGU6ICdyZ2IoMTUzLCAxMDIsIDI1NSknLFxuXHRcdGdyZXk6ICdyZ2IoMjAxLCAyMDMsIDIwNyknLFxuXHR9O1xuXG5cdHB1YmxpYyBzdGF0aWMgTkFNRURfQ09MT1JTOiBzdHJpbmdbXSA9IFtcblx0XHQncmdiKDI1NSwgOTksIDEzMiknLFxuXHRcdCdyZ2IoMjU1LCAxNTksIDY0KScsXG5cdFx0J3JnYigyNTUsIDIwNSwgODYpJyxcblx0XHQncmdiKDc1LCAxOTIsIDE5MiknLFxuXHRcdCdyZ2IoNTQsIDE2MiwgMjM1KScsXG5cdFx0J3JnYigxNTMsIDEwMiwgMjU1KScsXG5cdFx0J3JnYigyMDEsIDIwMywgMjA3KScsXG5cdF07XG5cblx0cHVibGljIHN0YXRpYyB2YWx1ZU9yRGVmYXVsdCh2YWx1ZTogYW55LCBkZWZhdWx0VmFsdWU6IGFueSk6IGFueSB7XG5cdFx0cmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gJ3VuZGVmaW5lZCcgPyBkZWZhdWx0VmFsdWUgOiB2YWx1ZTtcblx0fVxuXG5cdHB1YmxpYyBzdGF0aWMgc3JhbmQoc2VlZDogbnVtYmVyKSB7XG5cdFx0dGhpcy5fc2VlZCA9IHNlZWQ7XG5cdH1cblxuXHRwdWJsaWMgc3RhdGljIHJhbmQobWluPzogbnVtYmVyLCBtYXg/OiBudW1iZXIpIHtcblx0XHRtaW4gPSB0aGlzLnZhbHVlT3JEZWZhdWx0KG1pbiwgMCk7XG5cdFx0bWF4ID0gdGhpcy52YWx1ZU9yRGVmYXVsdChtYXgsIDApO1xuXHRcdHRoaXMuX3NlZWQgPSAodGhpcy5fc2VlZCAqIDkzMDEgKyA0OTI5NykgJSAyMzMyODA7XG5cdFx0cmV0dXJuIG1pbiArICh0aGlzLl9zZWVkIC8gMjMzMjgwKSAqIChtYXggLSBtaW4pO1xuXHR9XG5cblx0cHVibGljIHN0YXRpYyBudW1iZXJzKGNvbmZpZzogQ2hhcnRDb25maWcpOiBudW1iZXJbXSB7XG5cdFx0dmFyIGNmZyA9IGNvbmZpZyB8fCB7fTtcblx0XHR2YXIgbWluID0gdGhpcy52YWx1ZU9yRGVmYXVsdChjZmcubWluLCAwKTtcblx0XHR2YXIgbWF4ID0gdGhpcy52YWx1ZU9yRGVmYXVsdChjZmcubWF4LCAxMDApO1xuXHRcdHZhciBmcm9tID0gdGhpcy52YWx1ZU9yRGVmYXVsdChjZmcuZnJvbSwgW10pO1xuXHRcdHZhciBjb3VudCA9IHRoaXMudmFsdWVPckRlZmF1bHQoY2ZnLmNvdW50LCA4KTtcblx0XHR2YXIgZGVjaW1hbHMgPSB0aGlzLnZhbHVlT3JEZWZhdWx0KGNmZy5kZWNpbWFscywgOCk7XG5cdFx0dmFyIGNvbnRpbnVpdHkgPSB0aGlzLnZhbHVlT3JEZWZhdWx0KGNmZy5jb250aW51aXR5LCAxKTtcblx0XHR2YXIgZGZhY3RvciA9IE1hdGgucG93KDEwLCBkZWNpbWFscykgfHwgMDtcblx0XHR2YXIgZGF0YSA9IFtdO1xuXHRcdHZhciBpLCB2YWx1ZTtcblx0XHRmb3IgKGkgPSAwOyBpIDwgY291bnQ7ICsraSkge1xuXHRcdFx0dmFsdWUgPSAoZnJvbVtpXSB8fCAwKSArIHRoaXMucmFuZChtaW4sIG1heCk7XG5cdFx0XHRpZiAodGhpcy5yYW5kKDAsIDEpIDw9IGNvbnRpbnVpdHkpIHtcblx0XHRcdFx0ZGF0YS5wdXNoKE1hdGgucm91bmQoZGZhY3RvciAqIHZhbHVlKSAvIGRmYWN0b3IpO1xuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0ZGF0YS5wdXNoKG51bGwpO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRyZXR1cm4gZGF0YTtcblx0fVxuXG5cdHB1YmxpYyBzdGF0aWMgcG9pbnRzKGNvbmZpZzogQ2hhcnRDb25maWcpOiB7IHg6IG51bWJlcjsgeTogbnVtYmVyIH1bXSB7XG5cdFx0Y29uc3QgeHMgPSB0aGlzLm51bWJlcnMoY29uZmlnKTtcblx0XHRjb25zdCB5cyA9IHRoaXMubnVtYmVycyhjb25maWcpO1xuXHRcdHJldHVybiB4cy5tYXAoKHgsIGkpID0+ICh7IHgsIHk6IHlzW2ldIH0pKTtcblx0fVxuXG5cdHB1YmxpYyBzdGF0aWMgYnViYmxlcyhjb25maWc/OiBDaGFydENvbmZpZyk6IHsgeDogbnVtYmVyOyB5OiBudW1iZXI7IHI6IG51bWJlciB9W10ge1xuXHRcdHJldHVybiB0aGlzLnBvaW50cyhjb25maWcpLm1hcCgocHQ6IGFueSkgPT4ge1xuXHRcdFx0cHQuciA9IHRoaXMucmFuZChjb25maWcucm1pbiwgY29uZmlnLnJtYXgpO1xuXHRcdFx0cmV0dXJuIHB0O1xuXHRcdH0pO1xuXHR9XG5cblx0cHVibGljIHN0YXRpYyBsYWJlbHMoY29uZmlnPzogQ2hhcnRDb25maWcpOiBzdHJpbmdbXSB7XG5cdFx0dmFyIGNmZyA9IGNvbmZpZyB8fCB7fTtcblx0XHR2YXIgbWluID0gY2ZnLm1pbiB8fCAwO1xuXHRcdHZhciBtYXggPSBjZmcubWF4IHx8IDEwMDtcblx0XHR2YXIgY291bnQgPSBjZmcuY291bnQgfHwgODtcblx0XHR2YXIgc3RlcCA9IChtYXggLSBtaW4pIC8gY291bnQ7XG5cdFx0dmFyIGRlY2ltYWxzID0gY2ZnLmRlY2ltYWxzIHx8IDg7XG5cdFx0dmFyIGRmYWN0b3IgPSBNYXRoLnBvdygxMCwgZGVjaW1hbHMpIHx8IDA7XG5cdFx0dmFyIHByZWZpeCA9IGNmZy5wcmVmaXggfHwgJyc7XG5cdFx0dmFyIHZhbHVlcyA9IFtdO1xuXHRcdHZhciBpO1xuXHRcdGZvciAoaSA9IG1pbjsgaSA8IG1heDsgaSArPSBzdGVwKSB7XG5cdFx0XHR2YWx1ZXMucHVzaChwcmVmaXggKyBNYXRoLnJvdW5kKGRmYWN0b3IgKiBpKSAvIGRmYWN0b3IpO1xuXHRcdH1cblx0XHRyZXR1cm4gdmFsdWVzO1xuXHR9XG5cblx0cHVibGljIHN0YXRpYyBtb250aHMoY29uZmlnPzogQ2hhcnRDb25maWcpOiBzdHJpbmdbXSB7XG5cdFx0dmFyIGNmZyA9IGNvbmZpZyB8fCB7fTtcblx0XHR2YXIgY291bnQgPSBjZmcuY291bnQgfHwgMTI7XG5cdFx0dmFyIHNlY3Rpb24gPSBjZmcuc2VjdGlvbiB8fCAzMDtcblx0XHR2YXIgdmFsdWVzID0gW107XG5cdFx0dmFyIGksIHZhbHVlO1xuXHRcdGZvciAoaSA9IDA7IGkgPCBjb3VudDsgKytpKSB7XG5cdFx0XHR2YWx1ZSA9IHRoaXMuTU9OVEhTW01hdGguY2VpbChpKSAlIDEyXTtcblx0XHRcdHZhbHVlcy5wdXNoKHZhbHVlLnN1YnN0cmluZygwLCBzZWN0aW9uKSk7XG5cdFx0fVxuXHRcdHJldHVybiB2YWx1ZXM7XG5cdH1cblxuXHRwdWJsaWMgc3RhdGljIGRheW9md2Vlayhjb25maWc/OiBDaGFydENvbmZpZyk6IHN0cmluZ1tdIHtcblx0XHR2YXIgY2ZnID0gY29uZmlnIHx8IHt9O1xuXHRcdHZhciBjb3VudCA9IGNmZy5jb3VudCB8fCA3O1xuXHRcdHZhciBzZWN0aW9uID0gY2ZnLnNlY3Rpb24gfHwgNztcblx0XHR2YXIgdmFsdWVzID0gW107XG5cdFx0dmFyIGksIHZhbHVlO1xuXHRcdGZvciAoaSA9IDA7IGkgPCBjb3VudDsgKytpKSB7XG5cdFx0XHR2YWx1ZSA9IHRoaXMuREFZT0ZXRUVLW01hdGguY2VpbChpKSAlIDddO1xuXHRcdFx0dmFsdWVzLnB1c2godmFsdWUuc3Vic3RyaW5nKDAsIHNlY3Rpb24pKTtcblx0XHR9XG5cdFx0cmV0dXJuIHZhbHVlcztcblx0fVxuXG5cdHB1YmxpYyBzdGF0aWMgY29sb3IoaW5kZXg6IG51bWJlcikge1xuXHRcdHJldHVybiB0aGlzLkNPTE9SU1tpbmRleCAlIHRoaXMuQ09MT1JTLmxlbmd0aF07XG5cdH1cblxuXHRwdWJsaWMgc3RhdGljIGNvbG9ySGV4TWFwOiB7IFtrZXk6IHN0cmluZ106IG51bWJlciB9ID0ge1xuXHRcdCcwJzogMCxcblx0XHQnMSc6IDEsXG5cdFx0JzInOiAyLFxuXHRcdCczJzogMyxcblx0XHQnNCc6IDQsXG5cdFx0JzUnOiA1LFxuXHRcdCc2JzogNixcblx0XHQnNyc6IDcsXG5cdFx0JzgnOiA4LFxuXHRcdCc5JzogOSxcblx0XHQnQSc6IDEwLFxuXHRcdCdCJzogMTEsXG5cdFx0J0MnOiAxMixcblx0XHQnRCc6IDEzLFxuXHRcdCdFJzogMTQsXG5cdFx0J0YnOiAxNSxcblx0XHQnYSc6IDEwLFxuXHRcdCdiJzogMTEsXG5cdFx0J2MnOiAxMixcblx0XHQnZCc6IDEzLFxuXHRcdCdlJzogMTQsXG5cdFx0J2YnOiAxNSxcblx0fTtcblxuXHRwdWJsaWMgc3RhdGljIGNvbG9ySGV4UGFyc2Uoc3RyOiBzdHJpbmcpIHtcblx0XHRsZXQgbGVuID0gc3RyLmxlbmd0aDtcblx0XHRsZXQgcmV0O1xuXHRcdGlmIChzdHJbMF0gPT09ICcjJykge1xuXHRcdFx0Y29uc3QgbWFwID0gdGhpcy5jb2xvckhleE1hcDtcblx0XHRcdGlmIChsZW4gPT09IDQgfHwgbGVuID09PSA1KSB7XG5cdFx0XHRcdHJldCA9IHtcblx0XHRcdFx0XHRyOiAyNTUgJiAobWFwW3N0clsxXV0gKiAxNyksXG5cdFx0XHRcdFx0ZzogMjU1ICYgKG1hcFtzdHJbMl1dICogMTcpLFxuXHRcdFx0XHRcdGI6IDI1NSAmIChtYXBbc3RyWzNdXSAqIDE3KSxcblx0XHRcdFx0XHRhOiBsZW4gPT09IDUgPyBtYXBbc3RyWzRdXSAqIDE3IDogMjU1LFxuXHRcdFx0XHR9O1xuXHRcdFx0fSBlbHNlIGlmIChsZW4gPT09IDcgfHwgbGVuID09PSA5KSB7XG5cdFx0XHRcdHJldCA9IHtcblx0XHRcdFx0XHRyOiAobWFwW3N0clsxXV0gPDwgNCkgfCBtYXBbc3RyWzJdXSxcblx0XHRcdFx0XHRnOiAobWFwW3N0clszXV0gPDwgNCkgfCBtYXBbc3RyWzRdXSxcblx0XHRcdFx0XHRiOiAobWFwW3N0cls1XV0gPDwgNCkgfCBtYXBbc3RyWzZdXSxcblx0XHRcdFx0XHRhOiBsZW4gPT09IDkgPyAobWFwW3N0cls3XV0gPDwgNCkgfCBtYXBbc3RyWzhdXSA6IDI1NSxcblx0XHRcdFx0fTtcblx0XHRcdH1cblx0XHR9XG5cdFx0cmV0dXJuIHJldDtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZSByZ2IoYSkgc3RyaW5nIHRvIFJHQkFcblx0ICogQHBhcmFtIHtzdHJpbmd9IHN0ciAtIHRoZSByZ2Igc3RyaW5nXG5cdCAqIEByZXR1cm5zIHtSR0JBfSAtIHRoZSBwYXJzZWQgY29sb3Jcblx0ICovXG5cdHB1YmxpYyBzdGF0aWMgY29sb3JSZ2JQYXJzZShzdHI6IHN0cmluZyk6IHsgcjogbnVtYmVyOyBnOiBudW1iZXI7IGI6IG51bWJlcjsgYTogbnVtYmVyIH0ge1xuXHRcdGZ1bmN0aW9uIHJvdW5kKHY6IG51bWJlcikge1xuXHRcdFx0cmV0dXJuICh2ICsgMC41KSB8IDA7XG5cdFx0fVxuXHRcdGNvbnN0IGxpbSA9ICh2OiBudW1iZXIsIGw6IG51bWJlciwgaDogbnVtYmVyKSA9PiBNYXRoLm1heChNYXRoLm1pbih2LCBoKSwgbCk7XG5cdFx0LyoqXG5cdFx0ICogY29udmVydCBwZXJjZW50IHRvIGJ5dGUgMC4uMjU1XG5cdFx0ICogQHBhcmFtIHtudW1iZXJ9IHYgLSAwLi4xMDBcblx0XHQgKi9cblx0XHRmdW5jdGlvbiBwMmIodjogbnVtYmVyKSB7XG5cdFx0XHRyZXR1cm4gbGltKHJvdW5kKHYgKiAyLjU1KSwgMCwgMjU1KTtcblx0XHR9XG5cblx0XHRjb25zdCBtID1cblx0XHRcdC9ecmdiYT9cXChcXHMqKFstKy5cXGRdKykoJSk/W1xccyxdKyhbLSsuZVxcZF0rKSglKT9bXFxzLF0rKFstKy5lXFxkXSspKCUpPyg/OltcXHMsL10rKFstKy5lXFxkXSspKCUpPyk/XFxzKlxcKSQvLmV4ZWMoc3RyKTtcblx0XHRsZXQgYSA9IDI1NTtcblx0XHRsZXQgciwgZywgYjtcblxuXHRcdGlmICghbSkge1xuXHRcdFx0cmV0dXJuIG51bGw7XG5cdFx0fVxuXG5cdFx0Ly8gciBpcyB1bmRlZmluZWRcblx0XHRpZiAobVs3XSAhPT0gcikge1xuXHRcdFx0Y29uc3QgdiA9ICttWzddO1xuXHRcdFx0YSA9IDI1NSAmIChtWzhdID8gcDJiKHYpIDogdiAqIDI1NSk7XG5cdFx0fVxuXG5cdFx0ciA9ICttWzFdO1xuXHRcdGcgPSArbVszXTtcblx0XHRiID0gK21bNV07XG5cdFx0ciA9IDI1NSAmIChtWzJdID8gcDJiKHIpIDogcik7XG5cdFx0ZyA9IDI1NSAmIChtWzRdID8gcDJiKGcpIDogZyk7XG5cdFx0YiA9IDI1NSAmIChtWzZdID8gcDJiKGIpIDogYik7XG5cblx0XHRyZXR1cm4ge1xuXHRcdFx0cjogcixcblx0XHRcdGc6IGcsXG5cdFx0XHRiOiBiLFxuXHRcdFx0YTogYSxcblx0XHR9O1xuXHR9XG5cblx0cHVibGljIHN0YXRpYyB0cmFuc3BhcmVudGl6ZSh2YWx1ZTogc3RyaW5nLCBvcGFjaXR5PzogbnVtYmVyKSB7XG5cdFx0dmFyIGFscGhhID0gb3BhY2l0eSA9PT0gdW5kZWZpbmVkID8gMC41IDogMSAtIG9wYWNpdHk7XG5cdFx0Y29uc3QgY29sb3JSZ2IgPSB0aGlzLmNvbG9ySGV4UGFyc2UodmFsdWUpIHx8IHRoaXMuY29sb3JSZ2JQYXJzZSh2YWx1ZSk7XG5cdFx0cmV0dXJuICdyZ2JhKCcgKyBjb2xvclJnYi5yICsgJywnICsgY29sb3JSZ2IuZyArICcsJyArIGNvbG9yUmdiLmIgKyAnLCcgKyBhbHBoYSArICcpJztcblx0fVxuXG5cdHB1YmxpYyBzdGF0aWMgbmFtZWRDb2xvcihpbmRleDogbnVtYmVyKSB7XG5cdFx0cmV0dXJuIHRoaXMuTkFNRURfQ09MT1JTW2luZGV4ICUgdGhpcy5OQU1FRF9DT0xPUlMubGVuZ3RoXTtcblx0fVxuXG5cdHB1YmxpYyBzdGF0aWMgbmV3RGF0ZShkYXlzOiBudW1iZXIpOiBEYXRlIHtcblx0XHRjb25zdCBub3cgPSBuZXcgRGF0ZSgpO1xuXHRcdG5vdy5zZXREYXRlKG5vdy5nZXREYXRlKCkgKyBkYXlzKTtcblx0XHRyZXR1cm4gbm93O1xuXHR9XG5cblx0cHVibGljIHN0YXRpYyBuZXdEYXRlU3RyaW5nKGRheXM6IG51bWJlcikge1xuXHRcdHJldHVybiB0aGlzLm5ld0RhdGUoZGF5cykudG9JU09TdHJpbmcoKTtcblx0fVxuXG5cdHB1YmxpYyBzdGF0aWMgc3RyaW5naWZ5KG9wdGlvbjogYW55KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gSlNPTi5zdHJpbmdpZnkoXG5cdFx0XHRvcHRpb24sXG5cdFx0XHQoXywgdmFsdWUpID0+IHtcblx0XHRcdFx0aWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ2Z1bmN0aW9uJykge1xuXHRcdFx0XHRcdHJldHVybiB2YWx1ZVxuXHRcdFx0XHRcdFx0LnRvU3RyaW5nKClcblx0XHRcdFx0XHRcdC5zcGxpdCgnXFxuJylcblx0XHRcdFx0XHRcdC5tYXAoKGxpbmU6IHN0cmluZykgPT4gbGluZS50cmltKCkpXG5cdFx0XHRcdFx0XHQuam9pbignICcpO1xuXHRcdFx0XHR9XG5cdFx0XHRcdHJldHVybiB2YWx1ZTtcblx0XHRcdH0sXG5cdFx0XHQyXG5cdFx0KTtcblx0fVxuXG5cdHB1YmxpYyBzdGF0aWMgcGFyc2VJU09EYXRlKGRhdGVTdHJpbmc6IHN0cmluZyk6IERhdGUge1xuXHRcdHJldHVybiBuZXcgRGF0ZShkYXRlU3RyaW5nKTtcblx0fVxuXG5cdHB1YmxpYyBzdGF0aWMgYWRkRGF0ZShkYXRlU3RyaW5nOiBzdHJpbmcsIGFkZCA6IG51bWJlcik6IHN0cmluZyB7XG5cdFx0Y29uc3QgZGF0ZSA9IG5ldyBEYXRlKGRhdGVTdHJpbmcpO1xuXHRcdGRhdGUuc2V0RGF0ZShkYXRlLmdldERhdGUoKSArIGFkZCk7XG5cdFx0cmV0dXJuIGRhdGUudG9JU09TdHJpbmcoKS5zcGxpdCgnVCcpWzBdOyBcblx0fVxuXG5cdHB1YmxpYyBzdGF0aWMgaXNGdW5jdGlvblN0cmluZyhzdHI6IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdGlmIChzdHIgIT09IG51bGwgJiYgc3RyICE9PSB1bmRlZmluZWQpIHtcblx0XHRcdHJldHVybiAoXG5cdFx0XHRcdC9cXClbIFxcdFxcbl0qPT5bIFxcdFxcbl0qLy50ZXN0KHN0cikgfHxcblx0XHRcdFx0L14oZnVuY3Rpb258ZnVuY3Rpb24gW2EtekEtWl1bYS16QS1aXzAtOV0rfFthLXpBLVpdW2EtekEtWl8wLTldKykofCApXFwoW15cXCldKlxcKVsgXFx0XFxuXSpcXHsvLnRlc3Qoc3RyKVxuXHRcdFx0KTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0cmV0dXJuIGZhbHNlO1xuXHRcdH1cblx0fVxuXG5cdHB1YmxpYyBzdGF0aWMgZ2V0RnVuY3Rpb25TdHJpbmcoc3RyOiBzdHJpbmcpOiBzdHJpbmcge1xuXHRcdHJldHVybiBzdHIucmVwbGFjZSgvXihmdW5jdGlvbnxmdW5jdGlvbiBbYS16QS1aXVthLXpBLVpfMC05XSt8W2EtekEtWl1bYS16QS1aXzAtOV0rKSh8IClcXCgvLCAnZnVuY3Rpb24oJyk7XG5cdH1cblxuXHRwdWJsaWMgc3RhdGljIGlzT2JqZWN0U3RyaW5nKHN0cjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIC9eXFx7Ly50ZXN0KHN0cikgJiYgLydcIlthLXpBLVowLTlfXStcIlsgXSo6Jy8udGVzdChzdHIpICYmIC9cXH0kLy50ZXN0KHN0cik7XG5cdH1cblxuXHRwdWJsaWMgc3RhdGljIGlzQ2FsbGFibGVTdHJpbmcoc3RyOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gL14obmV3IHwpKG1hcHxEYXRlfFthLXpBLVpdW2EtekEtWjAtOV0rXFwuW2EtekEtWl1bYS16QS1aMC05X1xcLl0rKSh8XFwoLipcXCkpJC8udGVzdChzdHIpO1xuXHR9XG5cblx0cHVibGljIHN0YXRpYyBydW5DaGFydEFjdGlvbihhY3Rpb246IENoYXJ0QWN0aW9uKTogdm9pZCB7XG5cdFx0aWYgKGFjdGlvbiAhPT0gbnVsbCAmJiBhY3Rpb24ub25jbGljayAhPT0gbnVsbCkge1xuXHRcdFx0YWN0aW9uLm9uY2xpY2soKTtcblx0XHR9XG5cdH1cblxuXHRwdWJsaWMgc3RhdGljIGdldENoYXJ0U2hhcmVkVmFyKGNoYXJ0OiBhbnkpOiBDaGFydFNoYXJlZFZhciB7XG5cdFx0aWYgKGNoYXJ0LnNoYXJlZFZhciAhPT0gbnVsbCAmJiBjaGFydC5zaGFyZWRWYXIgIT09IHVuZGVmaW5lZCkge1xuXHRcdFx0cmV0dXJuIGNoYXJ0LnNoYXJlZFZhcjtcblx0XHR9XG5cdFx0cmV0dXJuIG51bGw7XG5cdH1cblxuXHRwdWJsaWMgc3RhdGljIGdldFN0cmluZzJGdW5jdGlvbihmdW5jdGlvbkJvZHk6IHN0cmluZywgYXJncz86IHsgW2tleTogc3RyaW5nXTogYW55IH0pIDogYW55IHtcblx0XHR0cnkge1xuXHRcdFx0aWYgKGFyZ3MgIT09IG51bGwgJiYgYXJncyAhPT0gdW5kZWZpbmVkKSB7XG5cdFx0XHRcdGNvbnN0IGFyZ3NLZXlzOiBzdHJpbmdbXSA9IFtdO1xuXHRcdFx0XHRjb25zdCBhcmdzVmFsdWVzOiBhbnlbXSA9IFtdO1xuXHRcdFx0XHRPYmplY3QuZW50cmllcyhhcmdzKS5mb3JFYWNoKChba2V5LCB2YWx1ZV0pID0+IHtcblx0XHRcdFx0XHRhcmdzS2V5cy5wdXNoKGtleSk7XG5cdFx0XHRcdFx0YXJnc1ZhbHVlcy5wdXNoKHZhbHVlKTtcblx0XHRcdFx0fSk7XG5cdFx0XHRcdHJldHVybiBuZXcgRnVuY3Rpb24oLi4uYXJnc0tleXMsICdyZXR1cm4gJyArIGZ1bmN0aW9uQm9keSkoLi4uYXJnc1ZhbHVlcyk7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRyZXR1cm4gbmV3IEZ1bmN0aW9uKCdyZXR1cm4gJyArIGZ1bmN0aW9uQm9keSkoKTtcblx0XHRcdH1cblx0XHR9IGNhdGNoIChleCkge1xuXHRcdFx0Y29uc29sZS5lcnJvcihleCwgZnVuY3Rpb25Cb2R5KTtcblx0XHRcdHJldHVybiBudWxsO1xuXHRcdH1cblx0fVxufVxuIl19 |
@@ -28,3 +28,3 @@ import { Component, forwardRef, Input } from '@angular/core'; | ||
super(); | ||
this.eventTypes = ['pointermove', 'click']; | ||
this.eventTypes = ['pointermove', 'pointerdown', 'pointerup', 'click']; | ||
this.lookatCamera = false; | ||
@@ -213,5 +213,16 @@ this._parentMesh = null; | ||
break; | ||
case 'pointerup': | ||
eventType = 'mouseup'; | ||
break; | ||
case 'pointerdown': | ||
eventType = 'mousedown'; | ||
renderEvent.event.stopPropagation(); | ||
renderEvent.event.stopImmediatePropagation(); | ||
break; | ||
case 'pointermove': | ||
eventType = 'mousemove'; | ||
break; | ||
case 'pointerleave': | ||
eventType = 'mouseleave'; | ||
break; | ||
} | ||
@@ -236,11 +247,8 @@ uv.multiply(this._mapCanvasSize); | ||
case 'pointerleave': | ||
const virtualEventClick = this.getVirtualEvent(renderEvent); | ||
if (virtualEventClick !== null) { | ||
this._parentTextureCanvas.dispatchEvent(virtualEventClick); | ||
} | ||
break; | ||
case 'pointerdown': | ||
case 'pointerup': | ||
case 'pointermove': | ||
const virtualEventMove = this.getVirtualEvent(renderEvent); | ||
if (virtualEventMove !== null) { | ||
this._parentTextureCanvas.dispatchEvent(virtualEventMove); | ||
const virtualEvent = this.getVirtualEvent(renderEvent); | ||
if (virtualEvent !== null) { | ||
this._parentTextureCanvas.dispatchEvent(virtualEvent); | ||
} | ||
@@ -312,2 +320,2 @@ break; | ||
}] } }); | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQtcHJveHkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4M2pzL3NyYy9saWIvY2hhcnQvZXZlbnQtcHJveHkvZXZlbnQtcHJveHkuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4M2pzL3NyYy9saWIvY2hhcnQvZXZlbnQtcHJveHkvZXZlbnQtcHJveHkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUF5QixNQUFNLGVBQWUsQ0FBQztBQUVwRixPQUFPLEVBRU4sSUFBSSxFQUNKLFlBQVksRUFDWixNQUFNLGlCQUFpQixDQUFDO0FBR3pCLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3RGLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLDRCQUE0QixDQUFDOztBQUUzRTs7Ozs7Ozs7Ozs7OztHQWFHO0FBd0JILE1BQU0sT0FBTyxzQkFDWixTQUFRLDRCQUE0QjtJQU9wQzs7T0FFRztJQUNIO1FBQ0MsS0FBSyxFQUFFLENBQUM7UUFSRixlQUFVLEdBQWEsQ0FBQyxhQUFhLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFFdkMsaUJBQVksR0FBYSxLQUFLLENBQUM7UUFxRnZDLGdCQUFXLEdBQWMsSUFBSSxDQUFDO1FBQzlCLG9CQUFlLEdBQWtCLElBQUksQ0FBQztRQUN0QyxvQkFBZSxHQUF3QixJQUFJLENBQUM7UUFDNUMsbUJBQWMsR0FBaUIsSUFBSSxDQUFDO1FBQ3BDLHlCQUFvQixHQUFzQixJQUFJLENBQUM7UUFDL0MsbUJBQWMsR0FBa0IsSUFBSSxD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QzlCLFdBQVcsRUFBRSw4QkFBOEI7b0JBQzNDLFNBQVMsRUFBRSxDQUFDLDhCQUE4QixDQUFDO29CQUMzQyxTQUFTLEVBQUU7d0JBQ1Y7NEJBQ0MsT0FBTyxFQUFFLDRCQUE0Qjs0QkFDckMsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsdUJBQXVCLENBQUM7eUJBQ3JEO3dCQUNEOzRCQUNDLE9BQU8sRUFBRSw2QkFBNkI7NEJBQ3RDLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLHVCQUF1QixDQUFDO3lCQUNyRDt3QkFDRDs0QkFDQyxPQUFPLEVBQUUsaUNBQWlDOzRCQUMxQyxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSx1QkFBdUIsQ0FBQzt5QkFDckQ7d0JBQ0Q7NEJBQ0MsT0FBTyxFQUFFLGtDQUFrQzs0QkFDM0MsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsdUJBQXVCLENBQUM7eUJBQ3JEO3FCQUNEO2lCQUNEOzBFQU9nQixZQUFZO3NCQUEzQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBmb3J3YXJkUmVmLCBJbnB1dCwgT25Jbml0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7XG5cdEkzSlMsXG5cdE4zSlMsXG5cdE5neFRocmVlVXRpbFxufSBmcm9tICcuLi8uLi9pbnRlcmZhY2UnO1xuXG5pbXBvcnQgeyAgSVJlbmRlcmVyRXZlbnQsIElSZW5kZXJlclRpbWVyIH0gZnJvbSAnLi8uLi8uLi9uZ3gtaW50ZXJmYWNlJztcbmltcG9ydCB7IE5neEFic3RyYWN0T2JqZWN0M2RDb21wb25lbnQgfSBmcm9tICcuLy4uLy4uL29iamVjdDNkLmFic3RyYWN0JztcbmltcG9ydCB7IE5neEFic3RyYWN0UmVuZGVyZXJFdmVudENvbXBvbmVudCB9IGZyb20gJy4vLi4vLi4vcmVuZGVyZXItZXZlbnQuYWJzdHJhY3QnO1xuaW1wb3J0IHsgTmd4QWJzdHJhY3RSZW5kZXJlclVwZGF0ZUNvbXBvbmVudCB9IGZyb20gJy4vLi4vLi4vcmVuZGVyZXItdXBkYXRlLmFic3RyYWN0JztcbmltcG9ydCB7IE5neEFic3RyYWN0U3Vic2NyaWJlQ29tcG9uZW50IH0gZnJvbSAnLi8uLi8uLi9zdWJzY3JpYmUuYWJzdHJhY3QnO1xuXG4vKipcbiAqIFRoZSBNZXNoIGNvbXBvbmVudC5cbiAqXG4gKiBTZWUgdGhlIFtuZ3gzanMgZG9jc10oaHR0cHM6Ly9vdXRtaW5ka2pnLmdpdGh1Yi5pby9uZ3gzanMtZG9jLyMvZG9jcy9uZ3hhcGkvZW4vTmd4RXZlbnRQcm94eUNvbXBvbmVudCkgcGFnZSBmb3IgZGV0YWlscy5cbiAqIFNlZSB0aGUgW25neCBjaGFydGpzXShodHRwczovL291dG1pbmRramcuZ2l0aHViLmlvL25neDNqcy1kb2MvIy9leGFtcGxlcy9uZ3hfY2hhcnRqcykgcGFnZSBmb3IgYSBsaXZlIGRlbW8uXG4gKiBTZWUgdGhlIFtuZ3ggZWNoYXJ0c10oaHR0cHM6Ly9vdXRtaW5ka2pnLmdpdGh1Yi5pby9uZ3gzanMtZG9jLyMvZXhhbXBsZXMvbmd4X2VjaGFydHMpIHBhZ2UgZm9yIGEgbGl2ZSBkZW1vLlxuICpcbiAqIGBgYGh0bWxcbiAqIDxuZ3gzanMtZXZlbnQtcHJveHkgW2xvb2thdENhbWVyYV09XCJmYWxzZVwiPjwvbmd4M2pzLWV2ZW50LXByb3h5PlxuICogYGBgXG4gKlxuICogQHNlZSBUSFJFRS5NZXNoXG4gKiBAc2VlIFRIUkVFLkdyb3VwXG4gKi9cbkBDb21wb25lbnQoe1xuXHRzZWxlY3RvcjogJ25neDNqcy1ldmVudC1wcm94eScsXG5cdHRlbXBsYXRlVXJsOiAnLi9ldmVudC1wcm94eS5jb21wb25lbnQuaHRtbCcsXG5cdHN0eWxlVXJsczogWycuL2V2ZW50LXByb3h5LmNvbXBvbmVudC5zY3NzJ10sXG5cdHByb3ZpZGVyczogW1xuXHRcdHtcblx0XHRcdHByb3ZpZGU6IE5neEFic3RyYWN0T2JqZWN0M2RDb21wb25lbnQsXG5cdFx0XHR1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBOZ3hFdmVudFByb3h5Q29tcG9uZW50KSxcblx0XHR9LFxuXHRcdHtcblx0XHRcdHByb3ZpZGU6IE5neEFic3RyYWN0U3Vic2NyaWJlQ29tcG9uZW50LFxuXHRcdFx0dXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gTmd4RXZlbnRQcm94eUNvbXBvbmVudCksXG5cdFx0fSxcblx0XHR7XG5cdFx0XHRwcm92aWRlOiBOZ3hBYnN0cmFjdFJlbmRlcmVyRXZlbnRDb21wb25lbnQsXG5cdFx0XHR1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBOZ3hFdmVudFByb3h5Q29tcG9uZW50KSxcblx0XHR9LFxuXHRcdHtcblx0XHRcdHByb3ZpZGU6IE5neEFic3RyYWN0UmVuZGVyZXJVcGRhdGVDb21wb25lbnQsXG5cdFx0XHR1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBOZ3hFdmVudFByb3h5Q29tcG9uZW50KSxcblx0XHR9LFxuXHRdLFxufSlcbmV4cG9ydCBjbGFzcyBOZ3hFdmVudFByb3h5Q29tcG9uZW50XG5cdGV4dGVuZHMgTmd4QWJzdHJhY3RPYmplY3QzZENvbXBvbmVudFxuXHRpbXBsZW1lbnRzIE9uSW5pdFxue1xuXHRwdWJsaWMgZXZlbnRUeXBlczogc3RyaW5nW10gPSBbJ3BvaW50ZXJtb3ZlJywgJ2NsaWNrJ107XG5cblx0QElucHV0KCkgcHVibGljIGxvb2thdENhbWVyYSA6IGJvb2xlYW4gPSBmYWxzZTtcblxuXHQvKipcblx0ICogQ3JlYXRlcyBhbiBpbnN0YW5jZSBvZiBtZXNoIGNvbXBvbmVudC5cblx0ICovXG5cdGNvbnN0cnVjdG9yKCkge1xuXHRcdHN1cGVyKCk7XG5cdH1cblxuXHQvKipcblx0ICogQSBjYWxsYmFjayBtZXRob2QgdGhhdCBpcyBpbnZva2VkIGltbWVkaWF0ZWx5IGFmdGVyIHRoZSBkZWZhdWx0IGNoYW5nZSBkZXRlY3RvciBoYXMgY2hlY2tlZCB0aGUgZGlyZWN0aXZlJ3MgZGF0YS1ib3VuZCBwcm9wZXJ0aWVzIGZvciB0aGUgZmlyc3QgdGltZSwgYW5kIGJlZm9yZSBhbnkgb2YgdGhlIHZpZXcgb3IgY29udGVudCBjaGlsZHJlbiBoYXZlIGJlZW4gY2hlY2tlZC5cblx0ICogSXQgaXMgaW52b2tlZCBvbmx5IG9uY2Ugd2hlbiB0aGUgZGlyZWN0aXZlIGlzIGluc3RhbnRpYXRlZC5cblx0ICovXG5cdG5nT25Jbml0KCk6IHZvaWQge1xuXHRcdHN1cGVyLm5nT25Jbml0KCdldmVudC1wcm94eScpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEEgY2FsbGJhY2sgbWV0aG9kIHRoYXQgcGVyZm9ybXMgY3VzdG9tIGNsZWFuLXVwLCBpbnZva2VkIGltbWVkaWF0ZWx5IGJlZm9yZSBhIGRpcmVjdGl2ZSwgcGlwZSwgb3Igc2VydmljZSBpbnN0YW5jZSBpcyBkZXN0cm95ZWQuXG5cdCAqL1xuXHRuZ09uRGVzdHJveSgpOiB2b2lkIHtcblx0XHRzdXBlci5uZ09uRGVzdHJveSgpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEEgY2FsbGJhY2sgbWV0aG9kIHRoYXQgaXMgaW52b2tlZCBpbW1lZGlhdGVseSBhZnRlciB0aGUgZGVmYXVsdCBjaGFuZ2UgZGV0ZWN0b3IgaGFzIGNoZWNrZWQgdGhlIGRpcmVjdGl2ZSdzIGRhdGEtYm91bmQgcHJvcGVydGllcyBmb3IgdGhlIGZpcnN0IHRpbWUsIGFuZCBiZWZvcmUgYW55IG9mIHRoZSB2aWV3IG9yIGNvbnRlbnQgY2hpbGRyZW4gaGF2ZSBiZWVuIGNoZWNrZWQuXG5cdCAqIEl0IGlzIGludm9rZWQgb25seSBvbmNlIHdoZW4gdGhlIGRpcmVjdGl2ZSBpcyBpbnN0YW50aWF0ZWQuXG5cdCAqIGRlZmF1bHQgY2hhbmdlIGRldGVjdG9yIGhhcyBjaGVja2VkIGRhdGEtYm91bmQgcHJvcGVydGllcyBpZiBhdCBsZWFzdCBvbmUgaGFzIGNoYW5nZWQsIGFuZCBiZWZvcmUgdGhlIHZpZXcgYW5kIGNvbnRlbnQgY2hpbGRyZW4gYXJlIGNoZWNrZWQuXG5cdCAqXG5cdCAqIEBwYXJhbSBjaGFuZ2VzIFRoZSBjaGFuZ2VkIHByb3BlcnRpZXMuXG5cdCAqL1xuXHRuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG5cdFx0c3VwZXIubmdPbkNoYW5nZXMoY2hhbmdlcyk7XG5cdFx0aWYgKGNoYW5nZXMgJiYgdGhpcy5vYmplY3QzZCkge1xuXHRcdFx0dGhpcy5hZGRDaGFuZ2VzKGNoYW5nZXMpO1xuXHRcdH1cblx0fVxuXG5cdC8qKlxuXHQgKiBBIGNhbGxiYWNrIG1ldGhvZCB0aGF0IGlzIGludm9rZWQgaW1tZWRpYXRlbHkgYWZ0ZXIgQW5ndWxhciBoYXMgY29tcGxldGVkIGluaXRpYWxpemF0aW9uIG9mIGFsbCBvZiB0aGUgZGlyZWN0aXZlJ3MgY29udGVudC5cblx0ICogSXQgaXMgaW52b2tlZCBvbmx5IG9uY2Ugd2hlbiB0aGUgZGlyZWN0aXZlIGlzIGluc3RhbnRpYXRlZC5cblx0ICovXG5cdG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcblx0XHRzdXBlci5uZ0FmdGVyQ29udGVudEluaXQoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBTZXRzIHBhcmVudFxuXHQgKiBAcGFyYW0gcGFyZW50XG5cdCAqIEByZXR1cm5zIHRydWUgaWYgcGFyZW50XG5cdCAqL1xuXHRwdWJsaWMgc2V0UGFyZW50KHBhcmVudDogSTNKUy5PYmplY3QzRCk6IGJvb2xlYW4ge1xuXHRcdGlmIChzdXBlci5zZXRQYXJlbnQocGFyZW50KSkge1xuXHRcdFx0dGhpcy5nZXRPYmplY3QzZCgpO1xuXHRcdFx0dGhpcy5fcGFyZW50TWVzaCA9IHBhcmVudCBhcyBJM0pTLk1lc2g7XG5cdFx0XHR0aGlzLl9wYXJlbnRNYXRlcmlhbCA9IHRoaXMuX3BhcmVudE1lc2gubWF0ZXJpYWwgYXMgYW55O1xuXHRcdFx0dGhpcy5fcGFyZW50R2VvbWV0cnkgPSB0aGlzLl9wYXJlbnRNZXNoLmdlb21ldHJ5O1xuXHRcdFx0Y29uc3QgcGFyZW50TWF0ZXJpYWwgOiBhbnkgPSB0aGlzLl9wYXJlbnRNYXRlcmlhbDtcblx0XHRcdGNvbnN0IGNhbnZhc01hcCA9IHBhcmVudE1hdGVyaWFsLm1hcDtcblx0XHRcdHRoaXMuc2V0Q2FudmFzVGV4dHVyZShjYW52YXNNYXApO1xuXHRcdFx0dGhpcy5zdWJzY3JpYmVSZWZlcignY2FudmFzTWFwJywgTmd4VGhyZWVVdGlsLmdldFN1YnNjcmliZShjYW52YXNNYXAsICgpID0+IHtcblx0XHRcdFx0Y29uc3QgcGFyZW50TWF0ZXJpYWwgOiBhbnkgPSB0aGlzLl9wYXJlbnRNYXRlcmlhbDtcblx0XHRcdFx0Y29uc3QgY2FudmFzTWFwID0gcGFyZW50TWF0ZXJpYWwubWFwO1xuXHRcdFx0XHR0aGlzLnNldENhbnZhc1RleHR1cmUoY2FudmFzTWFwKTtcblx0XHRcdH0sICdsb2FkZWQnKSlcblx0XHRcdHJldHVybiB0cnVlO1xuXHRcdH1cblx0XHRyZXR1cm4gZmFsc2U7XG5cdH1cblxuXHQvKipcblx0ICogU2V0cyBjYW52YXMgdGV4dHVyZVxuXHQgKiBcblx0ICogQHBhcmFtIG1hcCBcblx0ICovXG5cdHByaXZhdGUgc2V0Q2FudmFzVGV4dHVyZShtYXAgOiBJM0pTLkNhbnZhc1RleHR1cmUpIHtcblx0XHRpZiAoTmd4VGhyZWVVdGlsLmlzTm90TnVsbChtYXApKSB7XG5cdFx0XHR0aGlzLl9wYXJlbnRUZXh0dXJlID0gbWFwO1xuXHRcdFx0dGhpcy5fcGFyZW50VGV4dHVyZUNhbnZhcyA9IHRoaXMuX3BhcmVudFRleHR1cmUuaW1hZ2U7XG5cdFx0XHRjb25zdCB3aWR0aCA9IHBhcnNlSW50KHRoaXMuX3BhcmVudFRleHR1cmVDYW52YXMuc3R5bGUud2lkdGgpIHx8IHRoaXMuX3BhcmVudFRleHR1cmVDYW52YXMud2lkdGg7XG5cdFx0XHRjb25zdCBoZWlnaHQgPSBwYXJzZUludCh0aGlzLl9wYXJlbnRUZXh0dXJlQ2FudmFzLnN0eWxlLmhlaWdodCkgfHwgdGhpcy5fcGFyZW50VGV4dHVyZUNhbnZhcy5oZWlnaHQ7XG5cdFx0XHR0aGlzLl9tYXBDYW52YXNTaXplID0gbmV3IE4zSlMuVmVjdG9yMih3aWR0aCxoZWlnaHQpO1xuXHRcdH1cblx0fVxuXG5cdHByaXZhdGUgX3BhcmVudE1lc2g6IEkzSlMuTWVzaCA9IG51bGw7XG5cdHByaXZhdGUgX3BhcmVudE1hdGVyaWFsOiBJM0pTLk1hdGVyaWFsID0gbnVsbDtcblx0cHJpdmF0ZSBfcGFyZW50R2VvbWV0cnk6IEkzSlMuQnVmZmVyR2VvbWV0cnkgPSBudWxsO1xuXHRwcml2YXRlIF9wYXJlbnRUZXh0dXJlOiBJM0pTLlRleHR1cmUgPSBudWxsO1xuXHRwcml2YXRlIF9wYXJlbnRUZXh0dXJlQ2FudmFzOiBIVE1MQ2FudmFzRWxlbWVudCA9IG51bGw7XG5cdHByaXZhdGUgX21hcENhbnZhc1NpemUgOiBJM0pTLlZlY3RvcjIgPSBudWxsO1xuXG5cdC8qKlxuXHQgKiBBcHBseXMgY2hhbmdlczNkXG5cdCAqIEBwYXJhbSBjaGFuZ2VzXG5cdCAqIEByZXR1cm5zXG5cdCAqL1xuXHRwcm90ZWN0ZWQgYXBwbHlDaGFuZ2VzM2QoY2hhbmdlczogc3RyaW5nW10pOiB2b2lkIHtcblx0XHRpZiAodGhpcy5vYmplY3QzZCAhPT0gbnVsbCkge1xuXHRcdFx0aWYgKE5neFRocmVlVXRpbC5pc0luZGV4T2YoY2hhbmdlcywgJ2NsZWFyaW5pdCcpKSB7XG5cdFx0XHRcdHRoaXMuZ2V0T2JqZWN0M2QoKTtcblx0XHRcdFx0cmV0dXJuO1xuXHRcdFx0fVxuXHRcdFx0aWYgKCFOZ3hUaHJlZVV0aWwuaXNPbmx5SW5kZXhPZihjaGFuZ2VzLCBbXSwgdGhpcy5PQkpFQ1QzRF9BVFRSKSkge1xuXHRcdFx0XHR0aGlzLm5lZWRVcGRhdGUgPSB0cnVlO1xuXHRcdFx0XHRyZXR1cm47XG5cdFx0XHR9XG5cdFx0XHRpZiAoTmd4VGhyZWVVdGlsLmlzSW5kZXhPZihjaGFuZ2VzLCAnaW5pdCcpKSB7XG5cdFx0XHRcdGNoYW5nZXMgPSBOZ3hUaHJlZVV0aWwucHVzaFVuaXEoY2hhbmdlcywgW10pO1xuXHRcdFx0fVxuXHRcdFx0Y2hhbmdlcy5mb3JFYWNoKChjaGFuZ2UpID0+IHtcblx0XHRcdFx0c3dpdGNoIChjaGFuZ2UudG9Mb3dlckNhc2UoKSkge1xuXHRcdFx0XHR9XG5cdFx0XHR9KTtcblx0XHRcdHN1cGVyLmFwcGx5Q2hhbmdlczNkKGNoYW5nZXMpO1xuXHRcdH1cblx0fVxuXG5cdC8qKlxuXHQgKiBHZXRzIG1lc2hcblx0ICogQHRlbXBsYXRlIFRcblx0ICogQHJldHVybnMgbWVzaFxuXHQgKi9cblx0cHVibGljIGdldE9iamVjdDNkPFQgZXh0ZW5kcyBJM0pTLk9iamVjdDNEPigpOiBUIHtcblx0XHRpZiAodGhpcy5vYmplY3QzZCA9PT0gbnVsbCB8fCB0aGlzLl9uZWVkVXBkYXRlKSB7XG5cdFx0XHR0aGlzLm5lZWRVcGRhdGUgPSBmYWxzZTtcblx0XHRcdHRoaXMuc2V0T2JqZWN0M2QobmV3IE4zSlMuR3JvdXAoKSk7XG5cdFx0fVxuXHRcdHJldHVybiB0aGlzLm9iamVjdDNkIGFzIFQ7XG5cdH1cblxuXHQvKipcblx0ICogVGhlIFJheWNhc3RlciBvZiBjYW1lcmEgY29tcG9uZW50XG5cdCAqL1xuXHRwcml2YXRlIHJheWNhc3RlcjogSTNKUy5SYXljYXN0ZXIgPSBudWxsO1xuXG5cdC8qKlxuXHQgKiBHZXRzIHJheWNhc3RlclxuXHQgKiBAcGFyYW0gW21vdXNlXVxuXHQgKiBAcmV0dXJucyByYXljYXN0ZXJcblx0ICovXG5cdHB1YmxpYyBnZXRSYXljYXN0ZXIoXG5cdFx0bW91c2U6IEkzSlMuVmVjdG9yMiA9IG51bGwsXG5cdFx0Y2FtZXJhOiBJM0pTLkNhbWVyYSA9IG51bGxcblx0KTogSTNKUy5SYXljYXN0ZXIge1xuXHRcdGlmICh0aGlzLnJheWNhc3RlciA9PT0gbnVsbCkge1xuXHRcdFx0dGhpcy5yYXljYXN0ZXIgPSBuZXcgTjNKUy5SYXljYXN0ZXIoKTtcblx0XHR9XG5cdFx0aWYgKG1vdXNlICE9PSBudWxsICYmIGNhbWVyYSAhPT0gbnVsbCkge1xuXHRcdFx0dGhpcy5yYXljYXN0ZXIuc2V0RnJvbUNhbWVyYShtb3VzZSwgY2FtZXJhKTtcblx0XHR9XG5cdFx0cmV0dXJuIHRoaXMucmF5Y2FzdGVyO1xuXHR9XG5cblx0LyoqXG5cdCAqIEdldHMgaW50ZXJzZWN0aW9uc1xuXHQgKiBAcGFyYW0gbW91c2Vcblx0ICogQHBhcmFtIG1lc2hcblx0ICogQHBhcmFtIFtyZWN1cnNpdmVdXG5cdCAqIEByZXR1cm5zIGludGVyc2VjdGlvbnNcblx0ICovXG5cdHB1YmxpYyBnZXRJbnRlcnNlY3Rpb25zKFxuXHRcdG1vdXNlOiBJM0pTLlZlY3RvcjIsXG5cdFx0bWVzaDogSTNKUy5PYmplY3QzRCB8IEkzSlMuT2JqZWN0M0RbXSxcblx0XHRyZWN1cnNpdmU6IGJvb2xlYW4gPSBmYWxzZSxcblx0XHRjYW1lcmE6IEkzSlMuQ2FtZXJhID0gbnVsbFxuXHQpOiBJM0pTLkludGVyc2VjdGlvbltdIHtcblx0XHRjb25zdCByYXljYXN0ZXIgPSB0aGlzLmdldFJheWNhc3Rlcihtb3VzZSwgY2FtZXJhKTtcblx0XHRpZiAobWVzaCBpbnN0YW5jZW9mIE4zSlMuT2JqZWN0M0QpIHtcblx0XHRcdHJldHVybiByYXljYXN0ZXIuaW50ZXJzZWN0T2JqZWN0KG1lc2gsIHJlY3Vyc2l2ZSk7XG5cdFx0fSBlbHNlIGlmIChBcnJheS5pc0FycmF5KG1lc2gpKSB7XG5cdFx0XHRyZXR1cm4gcmF5Y2FzdGVyLmludGVyc2VjdE9iamVjdHMobWVzaCwgcmVjdXJzaXZlKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0cmV0dXJuIFtdO1xuXHRcdH1cblx0fVxuXG5cdC8qKlxuXHQgKiBHZXRzIGludGVyc2VjdGlvblxuXHQgKiBAcGFyYW0gbW91c2Vcblx0ICogQHBhcmFtIG1lc2hcblx0ICogQHBhcmFtIFtyZWN1cnNpdmVdXG5cdCAqIEByZXR1cm5zIGludGVyc2VjdGlvblxuXHQgKi9cblx0cHVibGljIGdldEludGVyc2VjdGlvbihcblx0XHRtb3VzZTogSTNKUy5WZWN0b3IyLFxuXHRcdG1lc2g6IEkzSlMuT2JqZWN0M0QgfCBJM0pTLk9iamVjdDNEW10sXG5cdFx0cmVjdXJzaXZlOiBib29sZWFuID0gZmFsc2UsXG5cdFx0Y2FtZXJhOiBJM0pTLkNhbWVyYSA9IG51bGxcblx0KTogSTNKUy5JbnRlcnNlY3Rpb24ge1xuXHRcdGNvbnN0IGludGVyc2VjdHMgPSB0aGlzLmdldEludGVyc2VjdGlvbnMobW91c2UsIG1lc2gsIHJlY3Vyc2l2ZSwgY2FtZXJhKTtcblx0XHRpZiAoaW50ZXJzZWN0cyAhPT0gbnVsbCAmJiBpbnRlcnNlY3RzLmxlbmd0aCA+IDApIHtcblx0XHRcdHJldHVybiBpbnRlcnNlY3RzWzBdO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRyZXR1cm4gbnVsbDtcblx0XHR9XG5cdH1cblxuXHQvKipcblx0ICogR2V0cyB2aXJ0dWFsIGV2ZW50XG5cdCAqIFxuXHQgKiBAcGFyYW0gcmVuZGVyRXZlbnQgXG5cdCAqIEByZXR1cm5zIHZpcnR1YWwgZXZlbnQgXG5cdCAqL1xuXHRwcm90ZWN0ZWQgZ2V0VmlydHVhbEV2ZW50KHJlbmRlckV2ZW50OiBJUmVuZGVyZXJFdmVudCk6IE1vdXNlRXZlbnQge1xuXHRcdGNvbnN0IGludGVyc2VjdE1vdmUgPSB0aGlzLmdldEludGVyc2VjdGlvbihcblx0XHRcdHJlbmRlckV2ZW50Lm1vdXNlLFxuXHRcdFx0dGhpcy5fcGFyZW50TWVzaCxcblx0XHRcdGZhbHNlLFxuXHRcdFx0cmVuZGVyRXZlbnQubWFpbkNhbWVyYVxuXHRcdCk7XG5cdFx0aWYgKGludGVyc2VjdE1vdmUgIT09IG51bGwpIHtcblx0XHRcdGNvbnN0IHV2ID0gaW50ZXJzZWN0TW92ZS51djtcblx0XHRcdHRoaXMuX3BhcmVudFRleHR1cmUudHJhbnNmb3JtVXYodXYpO1xuXHRcdFx0bGV0IGV2ZW50VHlwZTogc3RyaW5nID0gcmVuZGVyRXZlbnQudHlwZTtcblx0XHRcdHN3aXRjaCAocmVuZGVyRXZlbnQudHlwZSkge1xuXHRcdFx0XHRjYXNlICdjbGljayc6XG5cdFx0XHRcdFx0YnJlYWs7XG5cdFx0XHRcdGNhc2UgJ3BvaW50ZXJtb3ZlJzpcblx0XHRcdFx0XHRldmVudFR5cGUgPSAnbW91c2Vtb3ZlJztcblx0XHRcdFx0XHRicmVhaztcblx0XHRcdH1cblx0XHRcdHV2Lm11bHRpcGx5KHRoaXMuX21hcENhbnZhc1NpemUpO1xuXHRcdFx0cmV0dXJuIG5ldyBNb3VzZUV2ZW50KGV2ZW50VHlwZSwge1xuXHRcdFx0XHRjbGllbnRYOiB1di54LFxuXHRcdFx0XHRjbGllbnRZOiB1di55LFxuXHRcdFx0fSk7XG5cdFx0fVxuXHRcdHJldHVybiBudWxsO1xuXHR9XG5cblx0LyoqXG5cdCAqIFVwZGF0ZXMgZXZlbnRcblx0ICogXG5cdCAqIEBwYXJhbSByZW5kZXJFdmVudCBcblx0ICovXG5cdHB1YmxpYyB1cGRhdGVFdmVudChyZW5kZXJFdmVudDogSVJlbmRlcmVyRXZlbnQpIHtcblx0XHRpZiAodGhpcy5fcGFyZW50VGV4dHVyZUNhbnZhcyAhPT0gbnVsbCkge1xuXHRcdFx0c3dpdGNoIChyZW5kZXJFdmVudC50eXBlKSB7XG5cdFx0XHRcdGNhc2UgJ2NsaWNrJzpcblx0XHRcdFx0Y2FzZSAncG9pbnRlcmxlYXZlJzpcblx0XHRcdFx0XHRjb25zdCB2aXJ0dWFsRXZlbnRDbGljayA9IHRoaXMuZ2V0VmlydHVhbEV2ZW50KHJlbmRlckV2ZW50KTtcblx0XHRcdFx0XHRpZiAodmlydHVhbEV2ZW50Q2xpY2sgIT09IG51bGwpIHtcblx0XHRcdFx0XHRcdHRoaXMuX3BhcmVudFRleHR1cmVDYW52YXMuZGlzcGF0Y2hFdmVudCh2aXJ0dWFsRXZlbnRDbGljayk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdGJyZWFrO1xuXHRcdFx0XHRjYXNlICdwb2ludGVybW92ZSc6XG5cdFx0XHRcdFx0Y29uc3QgdmlydHVhbEV2ZW50TW92ZSA9IHRoaXMuZ2V0VmlydHVhbEV2ZW50KHJlbmRlckV2ZW50KTtcblx0XHRcdFx0XHRpZiAodmlydHVhbEV2ZW50TW92ZSAhPT0gbnVsbCkge1xuXHRcdFx0XHRcdFx0dGhpcy5fcGFyZW50VGV4dHVyZUNhbnZhcy5kaXNwYXRjaEV2ZW50KHZpcnR1YWxFdmVudE1vdmUpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRicmVhaztcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQvKipcblx0ICogVXBkYXRlcyBuZ3ggZXZlbnQgcHJveHkgY29tcG9uZW50XG5cdCAqIFxuXHQgKiBAcGFyYW0gcmVuZGVyVGltZXIgXG5cdCAqL1xuXHRwdWJsaWMgdXBkYXRlKHJlbmRlclRpbWVyOiBJUmVuZGVyZXJUaW1lcikge1xuXHRcdGlmICh0aGlzLl9wYXJlbnRUZXh0dXJlICE9PSBudWxsKSB7XG5cdFx0XHR0aGlzLl9wYXJlbnRUZXh0dXJlLm5lZWRzVXBkYXRlID0gdHJ1ZTtcblx0XHR9XG5cdFx0aWYgKHRoaXMuX3BhcmVudE1lc2ggIT09IG51bGwgJiYgdGhpcy5sb29rYXRDYW1lcmEgJiYgcmVuZGVyVGltZXIuZXZlbnQubWFpbkNhbWVyYSAhPT0gbnVsbCkge1xuXHRcdFx0dGhpcy5fcGFyZW50TWVzaC5sb29rQXQocmVuZGVyVGltZXIuZXZlbnQubWFpbkNhbWVyYS5wb3NpdGlvbik7XG5cdFx0fVxuXHR9XG59XG4iLCI8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4iXX0= | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQtcHJveHkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4M2pzL3NyYy9saWIvY2hhcnQvZXZlbnQtcHJveHkvZXZlbnQtcHJveHkuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4M2pzL3NyYy9saWIvY2hhcnQvZXZlbnQtcHJveHkvZXZlbnQtcHJveHkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUF5QixNQUFNLGVBQWUsQ0FBQztBQUVwRixPQUFPLEVBQVEsSUFBSSxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRzNELE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3RGLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLDRCQUE0QixDQUFDOztBQUUzRTs7Ozs7Ozs7Ozs7OztHQWFHO0FBd0JILE1BQU0sT0FBTyxzQkFBdUIsU0FBUSw0QkFBNEI7SUFLdkU7O09BRUc7SUFDSDtRQUNDLEtBQUssRUFBRSxDQUFDO1FBUkYsZUFBVSxHQUFhLENBQUMsYUFBYSxFQUFFLGFBQWEsRUFBRSxXQUFXLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFFbkUsaUJBQVksR0FBWSxLQUFLLENBQUM7UUE0RnRDLGdCQUFXLEdBQWMsSUFBSSxDQUFDO1FBQzlCLG9CQUFlLEdBQWtCLElBQUksQ0FBQztRQUN0QyxvQkFBZSxHQUF3QixJQUFJLENBQUM7UUFDNUMsbUJBQWMsR0FBaUIsSUFBSSxDQUFDO1FBQ3BDLHlCQUFvQixHQUFzQixJQUFJLENBQUM7UUFDL0MsbUJBQWMsR0FBaUIsSUFBSSxDQUFDO1FBeUM1Qzs7V0FFRztRQUNLLGNBQVMsR0FBbUIsSUFBSSxDQUFDO0lBdEl6QyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsUUFBUTtRQUNQLEtBQUssQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVEOztPQUVHO0lBQ0gsV0FBVztRQUNWLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsV0FBVyxDQUFDLE9BQXNCO1FBQ2pDLEtBQUssQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDM0IsSUFBSSxPQUFPLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUM3QixJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQ3pCO0lBQ0YsQ0FBQztJQUVEOzs7T0FHRztJQUNILGtCQUFrQjtRQUNqQixLQUFLLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLFNBQVMsQ0FBQyxNQUFxQjtRQUNyQyxJQUFJLEtBQUssQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDNUIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ25CLElBQUksQ0FBQyxXQUFXLEdBQUcsTUFBbUIsQ0FBQztZQUN2QyxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBZSxDQUFDO1lBQ3hELElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUM7WUFDakQsTUFBTSxjQUFjLEdBQVEsSUFBSSxDQUFDLGVBQWUsQ0FBQztZQUNqRCxNQUFNLFNBQVMsR0FBRyxjQUFjLENBQUMsR0FBRyxDQUFDO1lBQ3JDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUNqQyxJQUFJLENBQUMsY0FBYyxDQUNsQixXQUFXLEVBQ1gsWUFBWSxDQUFDLFlBQVksQ0FDeEIsU0FBUyxFQUNULEdBQUcsRUFBRTtnQkFDSixNQUFNLGNBQWMsR0FBUSxJQUFJLENBQUMsZUFBZSxDQUFDO2dCQUNqRCxNQUFNLFNBQVMsR0FBRyxjQUFjLENBQUMsR0FBRyxDQUFDO2dCQUNyQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDbEMsQ0FBQyxFQUNELFFBQVEsQ0FDUixDQUNELENBQUM7WUFDRixPQUFPLElBQUksQ0FBQztTQUNaO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNLLGdCQUFnQixDQUFDLEdBQXVCO1FBQy9DLElBQUksWUFBWSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUNoQyxJQUFJLENBQUMsY0FBYyxHQUFHLEdBQUcsQ0FBQztZQUMxQixJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUM7WUFDdEQsTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksSUFBSSxDQUFDLG9CQUFvQixDQUFDLEtBQUssQ0FBQztZQUNqRyxNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxJQUFJLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDO1lBQ3BHLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztTQUN0RDtJQUNGLENBQUM7SUFTRDs7OztPQUlHO0lBQ08sY0FBYyxDQUFDLE9BQWlCO1FBQ3pDLElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxJQUFJLEVBQUU7WUFDM0IsSUFBSSxZQUFZLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxXQUFXLENBQUMsRUFBRTtnQkFDakQsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO2dCQUNuQixPQUFPO2FBQ1A7WUFDRCxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxPQUFPLEVBQUUsRUFBRSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsRUFBRTtnQkFDakUsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7Z0JBQ3ZCLE9BQU87YUFDUDtZQUNELElBQUksWUFBWSxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLEVBQUU7Z0JBQzVDLE9BQU8sR0FBRyxZQUFZLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQzthQUM3QztZQUNELE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtnQkFDMUIsUUFBUSxNQUFNLENBQUMsV0FBVyxFQUFFLEVBQUU7aUJBQzdCO1lBQ0YsQ0FBQyxDQUFDLENBQUM7WUFDSCxLQUFLLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQzlCO0lBQ0YsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxXQUFXO1FBQ2pCLElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxJQUFJLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUMvQyxJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztZQUN4QixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7U0FDbkM7UUFDRCxPQUFPLElBQUksQ0FBQyxRQUFhLENBQUM7SUFDM0IsQ0FBQztJQU9EOzs7O09BSUc7SUFDSSxZQUFZLENBQUMsUUFBc0IsSUFBSSxFQUFFLFNBQXNCLElBQUk7UUFDekUsSUFBSSxJQUFJLENBQUMsU0FBUyxLQUFLLElBQUksRUFBRTtZQUM1QixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1NBQ3RDO1FBQ0QsSUFBSSxLQUFLLEtBQUssSUFBSSxJQUFJLE1BQU0sS0FBSyxJQUFJLEVBQUU7WUFDdEMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1NBQzVDO1FBQ0QsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3ZCLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxnQkFBZ0IsQ0FDdEIsS0FBbUIsRUFDbkIsSUFBcUMsRUFDckMsWUFBcUIsS0FBSyxFQUMxQixTQUFzQixJQUFJO1FBRTFCLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ25ELElBQUksSUFBSSxZQUFZLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDbEMsT0FBTyxTQUFTLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSxTQUFTLENBQUMsQ0FBQztTQUNsRDthQUFNLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUMvQixPQUFPLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUM7U0FDbkQ7YUFBTTtZQUNOLE9BQU8sRUFBRSxDQUFDO1NBQ1Y7SUFDRixDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksZUFBZSxDQUNyQixLQUFtQixFQUNuQixJQUFxQyxFQUNyQyxZQUFxQixLQUFLLEVBQzFCLFNBQXNCLElBQUk7UUFFMUIsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ3pFLElBQUksVUFBVSxLQUFLLElBQUksSUFBSSxVQUFVLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUNqRCxPQUFPLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNyQjthQUFNO1lBQ04sT0FBTyxJQUFJLENBQUM7U0FDWjtJQUNGLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNPLGVBQWUsQ0FBQyxXQUEyQjtRQUNwRCxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxLQUFLLEVBQUUsV0FBVyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQy9HLElBQUksYUFBYSxLQUFLLElBQUksRUFBRTtZQUMzQixNQUFNLEVBQUUsR0FBRyxhQUFhLENBQUMsRUFBRSxDQUFDO1lBQzVCLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ3BDLElBQUksU0FBUyxHQUFXLFdBQVcsQ0FBQyxJQUFJLENBQUM7WUFDekMsUUFBUSxXQUFXLENBQUMsSUFBSSxFQUFFO2dCQUN6QixLQUFLLE9BQU87b0JBQ1gsTUFBTTtnQkFDUCxLQUFLLFdBQVc7b0JBQ2YsU0FBUyxHQUFHLFNBQVMsQ0FBQztvQkFDdEIsTUFBTTtnQkFDUCxLQUFLLGFBQWE7b0JBQ2pCLFNBQVMsR0FBRyxXQUFXLENBQUM7b0JBQ3hCLFdBQVcsQ0FBQyxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7b0JBQ3BDLFdBQVcsQ0FBQyxLQUFLLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztvQkFDN0MsTUFBTTtnQkFDUCxLQUFLLGFBQWE7b0JBQ2pCLFNBQVMsR0FBRyxXQUFXLENBQUM7b0JBQ3hCLE1BQU07Z0JBQ1AsS0FBSyxjQUFjO29CQUNsQixTQUFTLEdBQUcsWUFBWSxDQUFDO29CQUN6QixNQUFNO2FBQ1A7WUFDRCxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztZQUNqQyxPQUFPLElBQUksVUFBVSxDQUFDLFNBQVMsRUFBRTtnQkFDaEMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUNiLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQzthQUNiLENBQUMsQ0FBQztTQUNIO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDYixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLFdBQVcsQ0FBQyxXQUEyQjtRQUM3QyxJQUFJLElBQUksQ0FBQyxvQkFBb0IsS0FBSyxJQUFJLEVBQUU7WUFDdkMsUUFBUSxXQUFXLENBQUMsSUFBSSxFQUFFO2dCQUN6QixLQUFLLE9BQU8sQ0FBQztnQkFDYixLQUFLLGNBQWMsQ0FBQztnQkFDcEIsS0FBSyxhQUFhLENBQUM7Z0JBQ25CLEtBQUssV0FBVyxDQUFDO2dCQUNqQixLQUFLLGFBQWE7b0JBQ2pCLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsV0FBVyxDQUFDLENBQUM7b0JBQ3ZELElBQUksWUFBWSxLQUFLLElBQUksRUFBRTt3QkFDMUIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsQ0FBQztxQkFDdEQ7b0JBQ0QsTUFBTTthQUNQO1NBQ0Q7SUFDRixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLE1BQU0sQ0FBQyxXQUEyQjtRQUN4QyxJQUFJLElBQUksQ0FBQyxjQUFjLEtBQUssSUFBSSxFQUFFO1lBQ2pDLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztTQUN2QztRQUNELElBQUksSUFBSSxDQUFDLFdBQVcsS0FBSyxJQUFJLElBQUksSUFBSSxDQUFDLFlBQVksSUFBSSxXQUFXLENBQUMsS0FBSyxDQUFDLFVBQVUsS0FBSyxJQUFJLEVBQUU7WUFDNUYsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDL0Q7SUFDRixDQUFDOztvSEF0Ulcsc0JBQXNCO3dHQUF0QixzQkFBc0IsdUZBbkJ2QjtRQUNWO1lBQ0MsT0FBTyxFQUFFLDRCQUE0QjtZQUNyQyxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHNCQUFzQixDQUFDO1NBQ3JEO1FBQ0Q7WUFDQyxPQUFPLEVBQUUsNkJBQTZCO1lBQ3RDLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsc0JBQXNCLENBQUM7U0FDckQ7UUFDRDtZQUNDLE9BQU8sRUFBRSxpQ0FBaUM7WUFDMUMsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztTQUNyRDtRQUNEO1lBQ0MsT0FBTyxFQUFFLGtDQUFrQztZQUMzQyxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHNCQUFzQixDQUFDO1NBQ3JEO0tBQ0Qsc0VDN0NGLDZCQUNBOzRGRDhDYSxzQkFBc0I7a0JBdkJsQyxTQUFTO21CQUFDO29CQUNWLFFBQVEsRUFBRSxvQkFBb0I7b0JBQzlCLFdBQVcsRUFBRSw4QkFBOEI7b0JBQzNDLFNBQVMsRUFBRSxDQUFDLDhCQUE4QixDQUFDO29CQUMzQyxTQUFTLEVBQUU7d0JBQ1Y7NEJBQ0MsT0FBTyxFQUFFLDRCQUE0Qjs0QkFDckMsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsdUJBQXVCLENBQUM7eUJBQ3JEO3dCQUNEOzRCQUNDLE9BQU8sRUFBRSw2QkFBNkI7NEJBQ3RDLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLHVCQUF1QixDQUFDO3lCQUNyRDt3QkFDRDs0QkFDQyxPQUFPLEVBQUUsaUNBQWlDOzRCQUMxQyxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSx1QkFBdUIsQ0FBQzt5QkFDckQ7d0JBQ0Q7NEJBQ0MsT0FBTyxFQUFFLGtDQUFrQzs0QkFDM0MsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsdUJBQXVCLENBQUM7eUJBQ3JEO3FCQUNEO2lCQUNEOzBFQUlnQixZQUFZO3NCQUEzQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBmb3J3YXJkUmVmLCBJbnB1dCwgT25Jbml0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEkzSlMsIE4zSlMsIE5neFRocmVlVXRpbCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZSc7XG5cbmltcG9ydCB7IElSZW5kZXJlckV2ZW50LCBJUmVuZGVyZXJUaW1lciB9IGZyb20gJy4vLi4vLi4vbmd4LWludGVyZmFjZSc7XG5pbXBvcnQgeyBOZ3hBYnN0cmFjdE9iamVjdDNkQ29tcG9uZW50IH0gZnJvbSAnLi8uLi8uLi9vYmplY3QzZC5hYnN0cmFjdCc7XG5pbXBvcnQgeyBOZ3hBYnN0cmFjdFJlbmRlcmVyRXZlbnRDb21wb25lbnQgfSBmcm9tICcuLy4uLy4uL3JlbmRlcmVyLWV2ZW50LmFic3RyYWN0JztcbmltcG9ydCB7IE5neEFic3RyYWN0UmVuZGVyZXJVcGRhdGVDb21wb25lbnQgfSBmcm9tICcuLy4uLy4uL3JlbmRlcmVyLXVwZGF0ZS5hYnN0cmFjdCc7XG5pbXBvcnQgeyBOZ3hBYnN0cmFjdFN1YnNjcmliZUNvbXBvbmVudCB9IGZyb20gJy4vLi4vLi4vc3Vic2NyaWJlLmFic3RyYWN0JztcblxuLyoqXG4gKiBUaGUgTWVzaCBjb21wb25lbnQuXG4gKlxuICogU2VlIHRoZSBbbmd4M2pzIGRvY3NdKGh0dHBzOi8vb3V0bWluZGtqZy5naXRodWIuaW8vbmd4M2pzLWRvYy8jL2RvY3Mvbmd4YXBpL2VuL05neEV2ZW50UHJveHlDb21wb25lbnQpIHBhZ2UgZm9yIGRldGFpbHMuXG4gKiBTZWUgdGhlIFtuZ3ggY2hhcnRqc10oaHR0cHM6Ly9vdXRtaW5ka2pnLmdpdGh1Yi5pby9uZ3gzanMtZG9jLyMvZXhhbXBsZXMvbmd4X2NoYXJ0anMpIHBhZ2UgZm9yIGEgbGl2ZSBkZW1vLlxuICogU2VlIHRoZSBbbmd4IGVjaGFydHNdKGh0dHBzOi8vb3V0bWluZGtqZy5naXRodWIuaW8vbmd4M2pzLWRvYy8jL2V4YW1wbGVzL25neF9lY2hhcnRzKSBwYWdlIGZvciBhIGxpdmUgZGVtby5cbiAqXG4gKiBgYGBodG1sXG4gKiA8bmd4M2pzLWV2ZW50LXByb3h5IFtsb29rYXRDYW1lcmFdPVwiZmFsc2VcIj48L25neDNqcy1ldmVudC1wcm94eT5cbiAqIGBgYFxuICpcbiAqIEBzZWUgVEhSRUUuTWVzaFxuICogQHNlZSBUSFJFRS5Hcm91cFxuICovXG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6ICduZ3gzanMtZXZlbnQtcHJveHknLFxuXHR0ZW1wbGF0ZVVybDogJy4vZXZlbnQtcHJveHkuY29tcG9uZW50Lmh0bWwnLFxuXHRzdHlsZVVybHM6IFsnLi9ldmVudC1wcm94eS5jb21wb25lbnQuc2NzcyddLFxuXHRwcm92aWRlcnM6IFtcblx0XHR7XG5cdFx0XHRwcm92aWRlOiBOZ3hBYnN0cmFjdE9iamVjdDNkQ29tcG9uZW50LFxuXHRcdFx0dXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gTmd4RXZlbnRQcm94eUNvbXBvbmVudCksXG5cdFx0fSxcblx0XHR7XG5cdFx0XHRwcm92aWRlOiBOZ3hBYnN0cmFjdFN1YnNjcmliZUNvbXBvbmVudCxcblx0XHRcdHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IE5neEV2ZW50UHJveHlDb21wb25lbnQpLFxuXHRcdH0sXG5cdFx0e1xuXHRcdFx0cHJvdmlkZTogTmd4QWJzdHJhY3RSZW5kZXJlckV2ZW50Q29tcG9uZW50LFxuXHRcdFx0dXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gTmd4RXZlbnRQcm94eUNvbXBvbmVudCksXG5cdFx0fSxcblx0XHR7XG5cdFx0XHRwcm92aWRlOiBOZ3hBYnN0cmFjdFJlbmRlcmVyVXBkYXRlQ29tcG9uZW50LFxuXHRcdFx0dXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gTmd4RXZlbnRQcm94eUNvbXBvbmVudCksXG5cdFx0fSxcblx0XSxcbn0pXG5leHBvcnQgY2xhc3MgTmd4RXZlbnRQcm94eUNvbXBvbmVudCBleHRlbmRzIE5neEFic3RyYWN0T2JqZWN0M2RDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXHRwdWJsaWMgZXZlbnRUeXBlczogc3RyaW5nW10gPSBbJ3BvaW50ZXJtb3ZlJywgJ3BvaW50ZXJkb3duJywgJ3BvaW50ZXJ1cCcsICdjbGljayddO1xuXG5cdEBJbnB1dCgpIHB1YmxpYyBsb29rYXRDYW1lcmE6IGJvb2xlYW4gPSBmYWxzZTtcblxuXHQvKipcblx0ICogQ3JlYXRlcyBhbiBpbnN0YW5jZSBvZiBtZXNoIGNvbXBvbmVudC5cblx0ICovXG5cdGNvbnN0cnVjdG9yKCkge1xuXHRcdHN1cGVyKCk7XG5cdH1cblxuXHQvKipcblx0ICogQSBjYWxsYmFjayBtZXRob2QgdGhhdCBpcyBpbnZva2VkIGltbWVkaWF0ZWx5IGFmdGVyIHRoZSBkZWZhdWx0IGNoYW5nZSBkZXRlY3RvciBoYXMgY2hlY2tlZCB0aGUgZGlyZWN0aXZlJ3MgZGF0YS1ib3VuZCBwcm9wZXJ0aWVzIGZvciB0aGUgZmlyc3QgdGltZSwgYW5kIGJlZm9yZSBhbnkgb2YgdGhlIHZpZXcgb3IgY29udGVudCBjaGlsZHJlbiBoYXZlIGJlZW4gY2hlY2tlZC5cblx0ICogSXQgaXMgaW52b2tlZCBvbmx5IG9uY2Ugd2hlbiB0aGUgZGlyZWN0aXZlIGlzIGluc3RhbnRpYXRlZC5cblx0ICovXG5cdG5nT25Jbml0KCk6IHZvaWQge1xuXHRcdHN1cGVyLm5nT25Jbml0KCdldmVudC1wcm94eScpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEEgY2FsbGJhY2sgbWV0aG9kIHRoYXQgcGVyZm9ybXMgY3VzdG9tIGNsZWFuLXVwLCBpbnZva2VkIGltbWVkaWF0ZWx5IGJlZm9yZSBhIGRpcmVjdGl2ZSwgcGlwZSwgb3Igc2VydmljZSBpbnN0YW5jZSBpcyBkZXN0cm95ZWQuXG5cdCAqL1xuXHRuZ09uRGVzdHJveSgpOiB2b2lkIHtcblx0XHRzdXBlci5uZ09uRGVzdHJveSgpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEEgY2FsbGJhY2sgbWV0aG9kIHRoYXQgaXMgaW52b2tlZCBpbW1lZGlhdGVseSBhZnRlciB0aGUgZGVmYXVsdCBjaGFuZ2UgZGV0ZWN0b3IgaGFzIGNoZWNrZWQgdGhlIGRpcmVjdGl2ZSdzIGRhdGEtYm91bmQgcHJvcGVydGllcyBmb3IgdGhlIGZpcnN0IHRpbWUsIGFuZCBiZWZvcmUgYW55IG9mIHRoZSB2aWV3IG9yIGNvbnRlbnQgY2hpbGRyZW4gaGF2ZSBiZWVuIGNoZWNrZWQuXG5cdCAqIEl0IGlzIGludm9rZWQgb25seSBvbmNlIHdoZW4gdGhlIGRpcmVjdGl2ZSBpcyBpbnN0YW50aWF0ZWQuXG5cdCAqIGRlZmF1bHQgY2hhbmdlIGRldGVjdG9yIGhhcyBjaGVja2VkIGRhdGEtYm91bmQgcHJvcGVydGllcyBpZiBhdCBsZWFzdCBvbmUgaGFzIGNoYW5nZWQsIGFuZCBiZWZvcmUgdGhlIHZpZXcgYW5kIGNvbnRlbnQgY2hpbGRyZW4gYXJlIGNoZWNrZWQuXG5cdCAqXG5cdCAqIEBwYXJhbSBjaGFuZ2VzIFRoZSBjaGFuZ2VkIHByb3BlcnRpZXMuXG5cdCAqL1xuXHRuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG5cdFx0c3VwZXIubmdPbkNoYW5nZXMoY2hhbmdlcyk7XG5cdFx0aWYgKGNoYW5nZXMgJiYgdGhpcy5vYmplY3QzZCkge1xuXHRcdFx0dGhpcy5hZGRDaGFuZ2VzKGNoYW5nZXMpO1xuXHRcdH1cblx0fVxuXG5cdC8qKlxuXHQgKiBBIGNhbGxiYWNrIG1ldGhvZCB0aGF0IGlzIGludm9rZWQgaW1tZWRpYXRlbHkgYWZ0ZXIgQW5ndWxhciBoYXMgY29tcGxldGVkIGluaXRpYWxpemF0aW9uIG9mIGFsbCBvZiB0aGUgZGlyZWN0aXZlJ3MgY29udGVudC5cblx0ICogSXQgaXMgaW52b2tlZCBvbmx5IG9uY2Ugd2hlbiB0aGUgZGlyZWN0aXZlIGlzIGluc3RhbnRpYXRlZC5cblx0ICovXG5cdG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcblx0XHRzdXBlci5uZ0FmdGVyQ29udGVudEluaXQoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBTZXRzIHBhcmVudFxuXHQgKiBAcGFyYW0gcGFyZW50XG5cdCAqIEByZXR1cm5zIHRydWUgaWYgcGFyZW50XG5cdCAqL1xuXHRwdWJsaWMgc2V0UGFyZW50KHBhcmVudDogSTNKUy5PYmplY3QzRCk6IGJvb2xlYW4ge1xuXHRcdGlmIChzdXBlci5zZXRQYXJlbnQocGFyZW50KSkge1xuXHRcdFx0dGhpcy5nZXRPYmplY3QzZCgpO1xuXHRcdFx0dGhpcy5fcGFyZW50TWVzaCA9IHBhcmVudCBhcyBJM0pTLk1lc2g7XG5cdFx0XHR0aGlzLl9wYXJlbnRNYXRlcmlhbCA9IHRoaXMuX3BhcmVudE1lc2gubWF0ZXJpYWwgYXMgYW55O1xuXHRcdFx0dGhpcy5fcGFyZW50R2VvbWV0cnkgPSB0aGlzLl9wYXJlbnRNZXNoLmdlb21ldHJ5O1xuXHRcdFx0Y29uc3QgcGFyZW50TWF0ZXJpYWw6IGFueSA9IHRoaXMuX3BhcmVudE1hdGVyaWFsO1xuXHRcdFx0Y29uc3QgY2FudmFzTWFwID0gcGFyZW50TWF0ZXJpYWwubWFwO1xuXHRcdFx0dGhpcy5zZXRDYW52YXNUZXh0dXJlKGNhbnZhc01hcCk7XG5cdFx0XHR0aGlzLnN1YnNjcmliZVJlZmVyKFxuXHRcdFx0XHQnY2FudmFzTWFwJyxcblx0XHRcdFx0Tmd4VGhyZWVVdGlsLmdldFN1YnNjcmliZShcblx0XHRcdFx0XHRjYW52YXNNYXAsXG5cdFx0XHRcdFx0KCkgPT4ge1xuXHRcdFx0XHRcdFx0Y29uc3QgcGFyZW50TWF0ZXJpYWw6IGFueSA9IHRoaXMuX3BhcmVudE1hdGVyaWFsO1xuXHRcdFx0XHRcdFx0Y29uc3QgY2FudmFzTWFwID0gcGFyZW50TWF0ZXJpYWwubWFwO1xuXHRcdFx0XHRcdFx0dGhpcy5zZXRDYW52YXNUZXh0dXJlKGNhbnZhc01hcCk7XG5cdFx0XHRcdFx0fSxcblx0XHRcdFx0XHQnbG9hZGVkJ1xuXHRcdFx0XHQpXG5cdFx0XHQpO1xuXHRcdFx0cmV0dXJuIHRydWU7XG5cdFx0fVxuXHRcdHJldHVybiBmYWxzZTtcblx0fVxuXG5cdC8qKlxuXHQgKiBTZXRzIGNhbnZhcyB0ZXh0dXJlXG5cdCAqXG5cdCAqIEBwYXJhbSBtYXBcblx0ICovXG5cdHByaXZhdGUgc2V0Q2FudmFzVGV4dHVyZShtYXA6IEkzSlMuQ2FudmFzVGV4dHVyZSkge1xuXHRcdGlmIChOZ3hUaHJlZVV0aWwuaXNOb3ROdWxsKG1hcCkpIHtcblx0XHRcdHRoaXMuX3BhcmVudFRleHR1cmUgPSBtYXA7XG5cdFx0XHR0aGlzLl9wYXJlbnRUZXh0dXJlQ2FudmFzID0gdGhpcy5fcGFyZW50VGV4dHVyZS5pbWFnZTtcblx0XHRcdGNvbnN0IHdpZHRoID0gcGFyc2VJbnQodGhpcy5fcGFyZW50VGV4dHVyZUNhbnZhcy5zdHlsZS53aWR0aCkgfHwgdGhpcy5fcGFyZW50VGV4dHVyZUNhbnZhcy53aWR0aDtcblx0XHRcdGNvbnN0IGhlaWdodCA9IHBhcnNlSW50KHRoaXMuX3BhcmVudFRleHR1cmVDYW52YXMuc3R5bGUuaGVpZ2h0KSB8fCB0aGlzLl9wYXJlbnRUZXh0dXJlQ2FudmFzLmhlaWdodDtcblx0XHRcdHRoaXMuX21hcENhbnZhc1NpemUgPSBuZXcgTjNKUy5WZWN0b3IyKHdpZHRoLCBoZWlnaHQpO1xuXHRcdH1cblx0fVxuXG5cdHByaXZhdGUgX3BhcmVudE1lc2g6IEkzSlMuTWVzaCA9IG51bGw7XG5cdHByaXZhdGUgX3BhcmVudE1hdGVyaWFsOiBJM0pTLk1hdGVyaWFsID0gbnVsbDtcblx0cHJpdmF0ZSBfcGFyZW50R2VvbWV0cnk6IEkzSlMuQnVmZmVyR2VvbWV0cnkgPSBudWxsO1xuXHRwcml2YXRlIF9wYXJlbnRUZXh0dXJlOiBJM0pTLlRleHR1cmUgPSBudWxsO1xuXHRwcml2YXRlIF9wYXJlbnRUZXh0dXJlQ2FudmFzOiBIVE1MQ2FudmFzRWxlbWVudCA9IG51bGw7XG5cdHByaXZhdGUgX21hcENhbnZhc1NpemU6IEkzSlMuVmVjdG9yMiA9IG51bGw7XG5cblx0LyoqXG5cdCAqIEFwcGx5cyBjaGFuZ2VzM2Rcblx0ICogQHBhcmFtIGNoYW5nZXNcblx0ICogQHJldHVybnNcblx0ICovXG5cdHByb3RlY3RlZCBhcHBseUNoYW5nZXMzZChjaGFuZ2VzOiBzdHJpbmdbXSk6IHZvaWQge1xuXHRcdGlmICh0aGlzLm9iamVjdDNkICE9PSBudWxsKSB7XG5cdFx0XHRpZiAoTmd4VGhyZWVVdGlsLmlzSW5kZXhPZihjaGFuZ2VzLCAnY2xlYXJpbml0JykpIHtcblx0XHRcdFx0dGhpcy5nZXRPYmplY3QzZCgpO1xuXHRcdFx0XHRyZXR1cm47XG5cdFx0XHR9XG5cdFx0XHRpZiAoIU5neFRocmVlVXRpbC5pc09ubHlJbmRleE9mKGNoYW5nZXMsIFtdLCB0aGlzLk9CSkVDVDNEX0FUVFIpKSB7XG5cdFx0XHRcdHRoaXMubmVlZFVwZGF0ZSA9IHRydWU7XG5cdFx0XHRcdHJldHVybjtcblx0XHRcdH1cblx0XHRcdGlmIChOZ3hUaHJlZVV0aWwuaXNJbmRleE9mKGNoYW5nZXMsICdpbml0JykpIHtcblx0XHRcdFx0Y2hhbmdlcyA9IE5neFRocmVlVXRpbC5wdXNoVW5pcShjaGFuZ2VzLCBbXSk7XG5cdFx0XHR9XG5cdFx0XHRjaGFuZ2VzLmZvckVhY2goKGNoYW5nZSkgPT4ge1xuXHRcdFx0XHRzd2l0Y2ggKGNoYW5nZS50b0xvd2VyQ2FzZSgpKSB7XG5cdFx0XHRcdH1cblx0XHRcdH0pO1xuXHRcdFx0c3VwZXIuYXBwbHlDaGFuZ2VzM2QoY2hhbmdlcyk7XG5cdFx0fVxuXHR9XG5cblx0LyoqXG5cdCAqIEdldHMgbWVzaFxuXHQgKiBAdGVtcGxhdGUgVFxuXHQgKiBAcmV0dXJucyBtZXNoXG5cdCAqL1xuXHRwdWJsaWMgZ2V0T2JqZWN0M2Q8VCBleHRlbmRzIEkzSlMuT2JqZWN0M0Q+KCk6IFQge1xuXHRcdGlmICh0aGlzLm9iamVjdDNkID09PSBudWxsIHx8IHRoaXMuX25lZWRVcGRhdGUpIHtcblx0XHRcdHRoaXMubmVlZFVwZGF0ZSA9IGZhbHNlO1xuXHRcdFx0dGhpcy5zZXRPYmplY3QzZChuZXcgTjNKUy5Hcm91cCgpKTtcblx0XHR9XG5cdFx0cmV0dXJuIHRoaXMub2JqZWN0M2QgYXMgVDtcblx0fVxuXG5cdC8qKlxuXHQgKiBUaGUgUmF5Y2FzdGVyIG9mIGNhbWVyYSBjb21wb25lbnRcblx0ICovXG5cdHByaXZhdGUgcmF5Y2FzdGVyOiBJM0pTLlJheWNhc3RlciA9IG51bGw7XG5cblx0LyoqXG5cdCAqIEdldHMgcmF5Y2FzdGVyXG5cdCAqIEBwYXJhbSBbbW91c2VdXG5cdCAqIEByZXR1cm5zIHJheWNhc3RlclxuXHQgKi9cblx0cHVibGljIGdldFJheWNhc3Rlcihtb3VzZTogSTNKUy5WZWN0b3IyID0gbnVsbCwgY2FtZXJhOiBJM0pTLkNhbWVyYSA9IG51bGwpOiBJM0pTLlJheWNhc3RlciB7XG5cdFx0aWYgKHRoaXMucmF5Y2FzdGVyID09PSBudWxsKSB7XG5cdFx0XHR0aGlzLnJheWNhc3RlciA9IG5ldyBOM0pTLlJheWNhc3RlcigpO1xuXHRcdH1cblx0XHRpZiAobW91c2UgIT09IG51bGwgJiYgY2FtZXJhICE9PSBudWxsKSB7XG5cdFx0XHR0aGlzLnJheWNhc3Rlci5zZXRGcm9tQ2FtZXJhKG1vdXNlLCBjYW1lcmEpO1xuXHRcdH1cblx0XHRyZXR1cm4gdGhpcy5yYXljYXN0ZXI7XG5cdH1cblxuXHQvKipcblx0ICogR2V0cyBpbnRlcnNlY3Rpb25zXG5cdCAqIEBwYXJhbSBtb3VzZVxuXHQgKiBAcGFyYW0gbWVzaFxuXHQgKiBAcGFyYW0gW3JlY3Vyc2l2ZV1cblx0ICogQHJldHVybnMgaW50ZXJzZWN0aW9uc1xuXHQgKi9cblx0cHVibGljIGdldEludGVyc2VjdGlvbnMoXG5cdFx0bW91c2U6IEkzSlMuVmVjdG9yMixcblx0XHRtZXNoOiBJM0pTLk9iamVjdDNEIHwgSTNKUy5PYmplY3QzRFtdLFxuXHRcdHJlY3Vyc2l2ZTogYm9vbGVhbiA9IGZhbHNlLFxuXHRcdGNhbWVyYTogSTNKUy5DYW1lcmEgPSBudWxsXG5cdCk6IEkzSlMuSW50ZXJzZWN0aW9uW10ge1xuXHRcdGNvbnN0IHJheWNhc3RlciA9IHRoaXMuZ2V0UmF5Y2FzdGVyKG1vdXNlLCBjYW1lcmEpO1xuXHRcdGlmIChtZXNoIGluc3RhbmNlb2YgTjNKUy5PYmplY3QzRCkge1xuXHRcdFx0cmV0dXJuIHJheWNhc3Rlci5pbnRlcnNlY3RPYmplY3QobWVzaCwgcmVjdXJzaXZlKTtcblx0XHR9IGVsc2UgaWYgKEFycmF5LmlzQXJyYXkobWVzaCkpIHtcblx0XHRcdHJldHVybiByYXljYXN0ZXIuaW50ZXJzZWN0T2JqZWN0cyhtZXNoLCByZWN1cnNpdmUpO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRyZXR1cm4gW107XG5cdFx0fVxuXHR9XG5cblx0LyoqXG5cdCAqIEdldHMgaW50ZXJzZWN0aW9uXG5cdCAqIEBwYXJhbSBtb3VzZVxuXHQgKiBAcGFyYW0gbWVzaFxuXHQgKiBAcGFyYW0gW3JlY3Vyc2l2ZV1cblx0ICogQHJldHVybnMgaW50ZXJzZWN0aW9uXG5cdCAqL1xuXHRwdWJsaWMgZ2V0SW50ZXJzZWN0aW9uKFxuXHRcdG1vdXNlOiBJM0pTLlZlY3RvcjIsXG5cdFx0bWVzaDogSTNKUy5PYmplY3QzRCB8IEkzSlMuT2JqZWN0M0RbXSxcblx0XHRyZWN1cnNpdmU6IGJvb2xlYW4gPSBmYWxzZSxcblx0XHRjYW1lcmE6IEkzSlMuQ2FtZXJhID0gbnVsbFxuXHQpOiBJM0pTLkludGVyc2VjdGlvbiB7XG5cdFx0Y29uc3QgaW50ZXJzZWN0cyA9IHRoaXMuZ2V0SW50ZXJzZWN0aW9ucyhtb3VzZSwgbWVzaCwgcmVjdXJzaXZlLCBjYW1lcmEpO1xuXHRcdGlmIChpbnRlcnNlY3RzICE9PSBudWxsICYmIGludGVyc2VjdHMubGVuZ3RoID4gMCkge1xuXHRcdFx0cmV0dXJuIGludGVyc2VjdHNbMF07XG5cdFx0fSBlbHNlIHtcblx0XHRcdHJldHVybiBudWxsO1xuXHRcdH1cblx0fVxuXG5cdC8qKlxuXHQgKiBHZXRzIHZpcnR1YWwgZXZlbnRcblx0ICpcblx0ICogQHBhcmFtIHJlbmRlckV2ZW50XG5cdCAqIEByZXR1cm5zIHZpcnR1YWwgZXZlbnRcblx0ICovXG5cdHByb3RlY3RlZCBnZXRWaXJ0dWFsRXZlbnQocmVuZGVyRXZlbnQ6IElSZW5kZXJlckV2ZW50KTogTW91c2VFdmVudCB7XG5cdFx0Y29uc3QgaW50ZXJzZWN0TW92ZSA9IHRoaXMuZ2V0SW50ZXJzZWN0aW9uKHJlbmRlckV2ZW50Lm1vdXNlLCB0aGlzLl9wYXJlbnRNZXNoLCBmYWxzZSwgcmVuZGVyRXZlbnQubWFpbkNhbWVyYSk7XG5cdFx0aWYgKGludGVyc2VjdE1vdmUgIT09IG51bGwpIHtcblx0XHRcdGNvbnN0IHV2ID0gaW50ZXJzZWN0TW92ZS51djtcblx0XHRcdHRoaXMuX3BhcmVudFRleHR1cmUudHJhbnNmb3JtVXYodXYpO1xuXHRcdFx0bGV0IGV2ZW50VHlwZTogc3RyaW5nID0gcmVuZGVyRXZlbnQudHlwZTtcblx0XHRcdHN3aXRjaCAocmVuZGVyRXZlbnQudHlwZSkge1xuXHRcdFx0XHRjYXNlICdjbGljayc6XG5cdFx0XHRcdFx0YnJlYWs7XG5cdFx0XHRcdGNhc2UgJ3BvaW50ZXJ1cCc6XG5cdFx0XHRcdFx0ZXZlbnRUeXBlID0gJ21vdXNldXAnO1xuXHRcdFx0XHRcdGJyZWFrO1xuXHRcdFx0XHRjYXNlICdwb2ludGVyZG93bic6XG5cdFx0XHRcdFx0ZXZlbnRUeXBlID0gJ21vdXNlZG93bic7XG5cdFx0XHRcdFx0cmVuZGVyRXZlbnQuZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG5cdFx0XHRcdFx0cmVuZGVyRXZlbnQuZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XG5cdFx0XHRcdFx0YnJlYWs7XG5cdFx0XHRcdGNhc2UgJ3BvaW50ZXJtb3ZlJzpcblx0XHRcdFx0XHRldmVudFR5cGUgPSAnbW91c2Vtb3ZlJztcblx0XHRcdFx0XHRicmVhaztcblx0XHRcdFx0Y2FzZSAncG9pbnRlcmxlYXZlJzpcblx0XHRcdFx0XHRldmVudFR5cGUgPSAnbW91c2VsZWF2ZSc7XG5cdFx0XHRcdFx0YnJlYWs7XG5cdFx0XHR9XG5cdFx0XHR1di5tdWx0aXBseSh0aGlzLl9tYXBDYW52YXNTaXplKTtcblx0XHRcdHJldHVybiBuZXcgTW91c2VFdmVudChldmVudFR5cGUsIHtcblx0XHRcdFx0Y2xpZW50WDogdXYueCxcblx0XHRcdFx0Y2xpZW50WTogdXYueSxcblx0XHRcdH0pO1xuXHRcdH1cblx0XHRyZXR1cm4gbnVsbDtcblx0fVxuXG5cdC8qKlxuXHQgKiBVcGRhdGVzIGV2ZW50XG5cdCAqXG5cdCAqIEBwYXJhbSByZW5kZXJFdmVudFxuXHQgKi9cblx0cHVibGljIHVwZGF0ZUV2ZW50KHJlbmRlckV2ZW50OiBJUmVuZGVyZXJFdmVudCkge1xuXHRcdGlmICh0aGlzLl9wYXJlbnRUZXh0dXJlQ2FudmFzICE9PSBudWxsKSB7XG5cdFx0XHRzd2l0Y2ggKHJlbmRlckV2ZW50LnR5cGUpIHtcblx0XHRcdFx0Y2FzZSAnY2xpY2snOlxuXHRcdFx0XHRjYXNlICdwb2ludGVybGVhdmUnOlxuXHRcdFx0XHRjYXNlICdwb2ludGVyZG93bic6XG5cdFx0XHRcdGNhc2UgJ3BvaW50ZXJ1cCc6XG5cdFx0XHRcdGNhc2UgJ3BvaW50ZXJtb3ZlJzpcblx0XHRcdFx0XHRjb25zdCB2aXJ0dWFsRXZlbnQgPSB0aGlzLmdldFZpcnR1YWxFdmVudChyZW5kZXJFdmVudCk7XG5cdFx0XHRcdFx0aWYgKHZpcnR1YWxFdmVudCAhPT0gbnVsbCkge1xuXHRcdFx0XHRcdFx0dGhpcy5fcGFyZW50VGV4dHVyZUNhbnZhcy5kaXNwYXRjaEV2ZW50KHZpcnR1YWxFdmVudCk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdGJyZWFrO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC8qKlxuXHQgKiBVcGRhdGVzIG5neCBldmVudCBwcm94eSBjb21wb25lbnRcblx0ICpcblx0ICogQHBhcmFtIHJlbmRlclRpbWVyXG5cdCAqL1xuXHRwdWJsaWMgdXBkYXRlKHJlbmRlclRpbWVyOiBJUmVuZGVyZXJUaW1lcikge1xuXHRcdGlmICh0aGlzLl9wYXJlbnRUZXh0dXJlICE9PSBudWxsKSB7XG5cdFx0XHR0aGlzLl9wYXJlbnRUZXh0dXJlLm5lZWRzVXBkYXRlID0gdHJ1ZTtcblx0XHR9XG5cdFx0aWYgKHRoaXMuX3BhcmVudE1lc2ggIT09IG51bGwgJiYgdGhpcy5sb29rYXRDYW1lcmEgJiYgcmVuZGVyVGltZXIuZXZlbnQubWFpbkNhbWVyYSAhPT0gbnVsbCkge1xuXHRcdFx0dGhpcy5fcGFyZW50TWVzaC5sb29rQXQocmVuZGVyVGltZXIuZXZlbnQubWFpbkNhbWVyYS5wb3NpdGlvbik7XG5cdFx0fVxuXHR9XG59XG4iLCI8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4iXX0= |
@@ -1,2 +0,3 @@ | ||
import { WEBGL as O3JS_WEBGL } from 'three/examples/jsm/WebGL'; | ||
// import { WEBGL as O3JS_WEBGL } from 'three/examples/jsm/WebGL'; | ||
// import { WEBGL as I3JS_WEBGL } from '../../../types/three/examples/index'; | ||
export * from './animation'; | ||
@@ -28,3 +29,4 @@ export * from './cameras'; | ||
export * from './webxr'; | ||
export const WEBGL = O3JS_WEBGL; | ||
// export type WEBGL = I3JS_WEBGL; | ||
// export const WEBGL: WEBGL = O3JS_WEBGL as any; | ||
/* | ||
@@ -60,2 +62,2 @@ node_modules/three/examples/jsm/animation | ||
*/ | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gzanMvc3JjL2xpYi90aHJlZWpzLWxpYnJhcnkvbW9kdWxlcy90aHJlZS9leGFtcGxlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsS0FBSyxJQUFJLFVBQVUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRy9ELGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsT0FBTyxDQUFDO0FBQ3RCLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxXQUFXLENBQUM7QUFDMUIsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyxTQUFTLENBQUM7QUFDeEIsY0FBYyxXQUFXLENBQUM7QUFDMUIsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxTQUFTLENBQUM7QUFDeEIsY0FBYyxXQUFXLENBQUM7QUFDMUIsY0FBYyxXQUFXLENBQUM7QUFDMUIsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLFdBQVcsQ0FBQztBQUMxQixjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLFNBQVMsQ0FBQztBQUd4QixNQUFNLENBQUMsTUFBTSxLQUFLLEdBQVUsVUFBaUIsQ0FBQztBQUU5Qzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUE2QkUiLCJzb3VyY2VzQ29udGVudCI6WyJcbmltcG9ydCB7IFdFQkdMIGFzIE8zSlNfV0VCR0wgfSBmcm9tICd0aHJlZS9leGFtcGxlcy9qc20vV2ViR0wnO1xuaW1wb3J0IHsgV0VCR0wgYXMgSTNKU19XRUJHTCB9IGZyb20gJy4uLy4uLy4uL3R5cGVzL3RocmVlL2V4YW1wbGVzL2luZGV4JztcblxuZXhwb3J0ICogZnJvbSAnLi9hbmltYXRpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9jYW1lcmFzJztcbmV4cG9ydCAqIGZyb20gJy4vY29udHJvbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9jc20nO1xuZXhwb3J0ICogZnJvbSAnLi9jdXJ2ZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9lZmZlY3RzJztcbmV4cG9ydCAqIGZyb20gJy4vZW52aXJvbm1lbnRzJztcbmV4cG9ydCAqIGZyb20gJy4vZXhwb3J0ZXJzJztcbmV4cG9ydCAqIGZyb20gJy4vZ2VvbWV0cmllcyc7XG5leHBvcnQgKiBmcm9tICcuL2hlbHBlcnMnO1xuZXhwb3J0ICogZnJvbSAnLi9pbnRlcmFjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYnMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWdodHMnO1xuZXhwb3J0ICogZnJvbSAnLi9saW5lcyc7XG5leHBvcnQgKiBmcm9tICcuL2xvYWRlcnMnO1xuZXhwb3J0ICogZnJvbSAnLi9tYXRoJztcbmV4cG9ydCAqIGZyb20gJy4vbWlzYyc7XG5leHBvcnQgKiBmcm9tICcuL21vZGlmaWVycyc7XG5leHBvcnQgKiBmcm9tICcuL25vZGVzJztcbmV4cG9ydCAqIGZyb20gJy4vb2JqZWN0cyc7XG5leHBvcnQgKiBmcm9tICcuL3BoeXNpY3MnO1xuZXhwb3J0ICogZnJvbSAnLi9wb3N0cHJvY2Vzc2luZyc7XG5leHBvcnQgKiBmcm9tICcuL3JlbmRlcmVycyc7XG5leHBvcnQgKiBmcm9tICcuL3NoYWRlcnMnO1xuZXhwb3J0ICogZnJvbSAnLi91dGlscyc7XG5leHBvcnQgKiBmcm9tICcuL3dlYnhyJztcblxuZXhwb3J0IHR5cGUgV0VCR0wgPSBJM0pTX1dFQkdMO1xuZXhwb3J0IGNvbnN0IFdFQkdMOiBXRUJHTCA9IE8zSlNfV0VCR0wgYXMgYW55O1xuXG4vKlxubm9kZV9tb2R1bGVzL3RocmVlL2V4YW1wbGVzL2pzbS9hbmltYXRpb25cbm5vZGVfbW9kdWxlcy90aHJlZS9leGFtcGxlcy9qc20vY2FtZXJhc1xubm9kZV9tb2R1bGVzL3RocmVlL2V4YW1wbGVzL2pzbS9jb250cm9sc1xubm9kZV9tb2R1bGVzL3RocmVlL2V4YW1wbGVzL2pzbS9jc21cbm5vZGVfbW9kdWxlcy90aHJlZS9leGFtcGxlcy9qc20vY3VydmVzXG5ub2RlX21vZHVsZXMvdGhyZWUvZXhhbXBsZXMvanNtL2RlcHJlY2F0ZWRcbm5vZGVfbW9kdWxlcy90aHJlZS9leGFtcGxlcy9qc20vZWZmZWN0c1xubm9kZV9tb2R1bGVzL3RocmVlL2V4YW1wbGVzL2pzbS9lbnZpcm9ubWVudHNcbm5vZGVfbW9kdWxlcy90aHJlZS9leGFtcGxlcy9qc20vZXhwb3J0ZXJzXG5ub2RlX21vZHVsZXMvdGhyZWUvZXhhbXBsZXMvanNtL2dlb21ldHJpZXNcbm5vZGVfbW9kdWxlcy90aHJlZS9leGFtcGxlcy9qc20vaGVscGVyc1xubm9kZV9tb2R1bGVzL3RocmVlL2V4YW1wbGVzL2pzbS9pbnRlcmFjdGl2ZVxubm9kZV9tb2R1bGVzL3RocmVlL2V4YW1wbGVzL2pzbS9saWJzXG5ub2RlX21vZHVsZXMvdGhyZWUvZXhhbXBsZXMvanNtL2xpZ2h0c1xubm9kZV9tb2R1bGVzL3RocmVlL2V4YW1wbGVzL2pzbS9saW5lc1xubm9kZV9tb2R1bGVzL3RocmVlL2V4YW1wbGVzL2pzbS9sb2FkZXJzXG5ub2RlX21vZHVsZXMvdGhyZWUvZXhhbXBsZXMvanNtL21hdGhcbm5vZGVfbW9kdWxlcy90aHJlZS9leGFtcGxlcy9qc20vbWlzY1xubm9kZV9tb2R1bGVzL3RocmVlL2V4YW1wbGVzL2pzbS9tb2RpZmllcnNcbm5vZGVfbW9kdWxlcy90aHJlZS9leGFtcGxlcy9qc20vbm9kZXNcbm5vZGVfbW9kdWxlcy90aHJlZS9leGFtcGxlcy9qc20vb2JqZWN0c1xubm9kZV9tb2R1bGVzL3RocmVlL2V4YW1wbGVzL2pzbS9waHlzaWNzXG5ub2RlX21vZHVsZXMvdGhyZWUvZXhhbXBsZXMvanNtL3Bvc3Rwcm9jZXNzaW5nXG5ub2RlX21vZHVsZXMvdGhyZWUvZXhhbXBsZXMvanNtL3JlbmRlcmVyc1xubm9kZV9tb2R1bGVzL3RocmVlL2V4YW1wbGVzL2pzbS9zaGFkZXJzXG5ub2RlX21vZHVsZXMvdGhyZWUvZXhhbXBsZXMvanNtL3V0aWxzXG5ub2RlX21vZHVsZXMvdGhyZWUvZXhhbXBsZXMvanNtL3dlYnhyXG5cbiovXG5cbiJdfQ== | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gzanMvc3JjL2xpYi90aHJlZWpzLWxpYnJhcnkvbW9kdWxlcy90aHJlZS9leGFtcGxlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxrRUFBa0U7QUFDbEUsNkVBQTZFO0FBRTdFLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsT0FBTyxDQUFDO0FBQ3RCLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxXQUFXLENBQUM7QUFDMUIsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyxTQUFTLENBQUM7QUFDeEIsY0FBYyxXQUFXLENBQUM7QUFDMUIsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxTQUFTLENBQUM7QUFDeEIsY0FBYyxXQUFXLENBQUM7QUFDMUIsY0FBYyxXQUFXLENBQUM7QUFDMUIsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLFdBQVcsQ0FBQztBQUMxQixjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLFNBQVMsQ0FBQztBQUV4QixrQ0FBa0M7QUFDbEMsaURBQWlEO0FBRWpEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQTZCRSIsInNvdXJjZXNDb250ZW50IjpbIlxuLy8gaW1wb3J0IHsgV0VCR0wgYXMgTzNKU19XRUJHTCB9IGZyb20gJ3RocmVlL2V4YW1wbGVzL2pzbS9XZWJHTCc7XG4vLyBpbXBvcnQgeyBXRUJHTCBhcyBJM0pTX1dFQkdMIH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMvdGhyZWUvZXhhbXBsZXMvaW5kZXgnO1xuXG5leHBvcnQgKiBmcm9tICcuL2FuaW1hdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2NhbWVyYXMnO1xuZXhwb3J0ICogZnJvbSAnLi9jb250cm9scyc7XG5leHBvcnQgKiBmcm9tICcuL2NzbSc7XG5leHBvcnQgKiBmcm9tICcuL2N1cnZlcyc7XG5leHBvcnQgKiBmcm9tICcuL2VmZmVjdHMnO1xuZXhwb3J0ICogZnJvbSAnLi9lbnZpcm9ubWVudHMnO1xuZXhwb3J0ICogZnJvbSAnLi9leHBvcnRlcnMnO1xuZXhwb3J0ICogZnJvbSAnLi9nZW9tZXRyaWVzJztcbmV4cG9ydCAqIGZyb20gJy4vaGVscGVycyc7XG5leHBvcnQgKiBmcm9tICcuL2ludGVyYWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGlicyc7XG5leHBvcnQgKiBmcm9tICcuL2xpZ2h0cyc7XG5leHBvcnQgKiBmcm9tICcuL2xpbmVzJztcbmV4cG9ydCAqIGZyb20gJy4vbG9hZGVycyc7XG5leHBvcnQgKiBmcm9tICcuL21hdGgnO1xuZXhwb3J0ICogZnJvbSAnLi9taXNjJztcbmV4cG9ydCAqIGZyb20gJy4vbW9kaWZpZXJzJztcbmV4cG9ydCAqIGZyb20gJy4vbm9kZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9vYmplY3RzJztcbmV4cG9ydCAqIGZyb20gJy4vcGh5c2ljcyc7XG5leHBvcnQgKiBmcm9tICcuL3Bvc3Rwcm9jZXNzaW5nJztcbmV4cG9ydCAqIGZyb20gJy4vcmVuZGVyZXJzJztcbmV4cG9ydCAqIGZyb20gJy4vc2hhZGVycyc7XG5leHBvcnQgKiBmcm9tICcuL3V0aWxzJztcbmV4cG9ydCAqIGZyb20gJy4vd2VieHInO1xuXG4vLyBleHBvcnQgdHlwZSBXRUJHTCA9IEkzSlNfV0VCR0w7XG4vLyBleHBvcnQgY29uc3QgV0VCR0w6IFdFQkdMID0gTzNKU19XRUJHTCBhcyBhbnk7XG5cbi8qXG5ub2RlX21vZHVsZXMvdGhyZWUvZXhhbXBsZXMvanNtL2FuaW1hdGlvblxubm9kZV9tb2R1bGVzL3RocmVlL2V4YW1wbGVzL2pzbS9jYW1lcmFzXG5ub2RlX21vZHVsZXMvdGhyZWUvZXhhbXBsZXMvanNtL2NvbnRyb2xzXG5ub2RlX21vZHVsZXMvdGhyZWUvZXhhbXBsZXMvanNtL2NzbVxubm9kZV9tb2R1bGVzL3RocmVlL2V4YW1wbGVzL2pzbS9jdXJ2ZXNcbm5vZGVfbW9kdWxlcy90aHJlZS9leGFtcGxlcy9qc20vZGVwcmVjYXRlZFxubm9kZV9tb2R1bGVzL3RocmVlL2V4YW1wbGVzL2pzbS9lZmZlY3RzXG5ub2RlX21vZHVsZXMvdGhyZWUvZXhhbXBsZXMvanNtL2Vudmlyb25tZW50c1xubm9kZV9tb2R1bGVzL3RocmVlL2V4YW1wbGVzL2pzbS9leHBvcnRlcnNcbm5vZGVfbW9kdWxlcy90aHJlZS9leGFtcGxlcy9qc20vZ2VvbWV0cmllc1xubm9kZV9tb2R1bGVzL3RocmVlL2V4YW1wbGVzL2pzbS9oZWxwZXJzXG5ub2RlX21vZHVsZXMvdGhyZWUvZXhhbXBsZXMvanNtL2ludGVyYWN0aXZlXG5ub2RlX21vZHVsZXMvdGhyZWUvZXhhbXBsZXMvanNtL2xpYnNcbm5vZGVfbW9kdWxlcy90aHJlZS9leGFtcGxlcy9qc20vbGlnaHRzXG5ub2RlX21vZHVsZXMvdGhyZWUvZXhhbXBsZXMvanNtL2xpbmVzXG5ub2RlX21vZHVsZXMvdGhyZWUvZXhhbXBsZXMvanNtL2xvYWRlcnNcbm5vZGVfbW9kdWxlcy90aHJlZS9leGFtcGxlcy9qc20vbWF0aFxubm9kZV9tb2R1bGVzL3RocmVlL2V4YW1wbGVzL2pzbS9taXNjXG5ub2RlX21vZHVsZXMvdGhyZWUvZXhhbXBsZXMvanNtL21vZGlmaWVyc1xubm9kZV9tb2R1bGVzL3RocmVlL2V4YW1wbGVzL2pzbS9ub2Rlc1xubm9kZV9tb2R1bGVzL3RocmVlL2V4YW1wbGVzL2pzbS9vYmplY3RzXG5ub2RlX21vZHVsZXMvdGhyZWUvZXhhbXBsZXMvanNtL3BoeXNpY3Ncbm5vZGVfbW9kdWxlcy90aHJlZS9leGFtcGxlcy9qc20vcG9zdHByb2Nlc3Npbmdcbm5vZGVfbW9kdWxlcy90aHJlZS9leGFtcGxlcy9qc20vcmVuZGVyZXJzXG5ub2RlX21vZHVsZXMvdGhyZWUvZXhhbXBsZXMvanNtL3NoYWRlcnNcbm5vZGVfbW9kdWxlcy90aHJlZS9leGFtcGxlcy9qc20vdXRpbHNcbm5vZGVfbW9kdWxlcy90aHJlZS9leGFtcGxlcy9qc20vd2VieHJcblxuKi9cblxuIl19 |
@@ -5,3 +5,3 @@ import * as O3JS_BufferGeometryUtils from 'three/examples/jsm/utils/BufferGeometryUtils'; | ||
import * as O3JS_GeometryUtils from 'three/examples/jsm/utils/GeometryUtils'; | ||
import { RoughnessMipmapper as O3JS_RoughnessMipmapper } from 'three/examples/jsm/utils/RoughnessMipmapper'; | ||
// import { RoughnessMipmapper as O3JS_RoughnessMipmapper } from 'three/examples/jsm/utils/RoughnessMipmapper'; | ||
import * as O3JS_SceneUtils from 'three/examples/jsm/utils/SceneUtils'; | ||
@@ -13,3 +13,2 @@ import { ShadowMapViewer as O3JS_ShadowMapViewer } from 'three/examples/jsm/utils/ShadowMapViewer'; | ||
export const GeometryCompressionUtils = O3JS_GeometryCompressionUtils; | ||
export const RoughnessMipmapper = O3JS_RoughnessMipmapper; | ||
export const SceneUtils = O3JS_SceneUtils; | ||
@@ -31,2 +30,2 @@ export const ShadowMapViewer = O3JS_ShadowMapViewer; | ||
}; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gzanMvc3JjL2xpYi90aHJlZWpzLWxpYnJhcnkvbW9kdWxlcy90aHJlZS9leGFtcGxlcy91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssd0JBQXdCLE1BQU0sOENBQThDLENBQUM7QUFDekYsT0FBTyxLQUFLLGdCQUFnQixNQUFNLHNDQUFzQyxDQUFDO0FBQ3pFLE9BQU8sS0FBSyw2QkFBNkIsTUFBTSxtREFBbUQsQ0FBQztBQUNuRyxPQUFPLEtBQUssa0JBQWtCLE1BQU0sd0NBQXdDLENBQUM7QUFDN0UsT0FBTyxFQUFFLGtCQUFrQixJQUFJLHVCQUF1QixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDNUcsT0FBTyxLQUFLLGVBQWUsTUFBTSxxQ0FBcUMsQ0FBQztBQUN2RSxPQUFPLEVBQUUsZUFBZSxJQUFJLG9CQUFvQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDbkcsT0FBTyxLQUFLLGtCQUFrQixNQUFNLHdDQUF3QyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxRQUFRLElBQUksYUFBYSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFJOUUsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFnQixnQkFBdUIsQ0FBQztBQUdoRSxNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBNkIsNkJBQW9DLENBQUM7QUFHdkcsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQXVCLHVCQUE4QixDQUFDO0FBR3JGLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBZSxlQUFzQixDQUFDO0FBRzdELE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBb0Isb0JBQTJCLENBQUM7QUFHNUUsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFrQixrQkFBeUIsQ0FBQztBQUd0RSxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQWEsYUFBb0IsQ0FBQztBQUd2RCxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQWtCO0lBQzNDLHFCQUFxQixFQUFFLHdCQUF3QixDQUFDLHFCQUE0QjtJQUM1RSxxQkFBcUIsRUFBRSx3QkFBd0IsQ0FBQyxxQkFBNEI7SUFDNUUsb0JBQW9CLEVBQUUsd0JBQXdCLENBQUMsb0JBQTJCO0lBQzFFLGlCQUFpQixFQUFFLHdCQUF3QixDQUFDLGlCQUF3QjtJQUNwRSxhQUFhLEVBQUUsd0JBQXdCLENBQUMsYUFBb0I7SUFDNUQsbUJBQW1CLEVBQUUsd0JBQXdCLENBQUMsbUJBQTBCO0lBQ3hFLHdCQUF3QixFQUFFLHdCQUF3QixDQUFDLHdCQUErQjtJQUNsRixTQUFTLEVBQUcsa0JBQTBCLENBQUMsU0FBUztJQUNoRCxTQUFTLEVBQUcsa0JBQTBCLENBQUMsU0FBUztJQUNoRCxNQUFNLEVBQUcsa0JBQTBCLENBQUMsTUFBTTtDQUMxQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgTzNKU19CdWZmZXJHZW9tZXRyeVV0aWxzIGZyb20gJ3RocmVlL2V4YW1wbGVzL2pzbS91dGlscy9CdWZmZXJHZW9tZXRyeVV0aWxzJztcbmltcG9ydCAqIGFzIE8zSlNfQ2FtZXJhVXRpbHMgZnJvbSAndGhyZWUvZXhhbXBsZXMvanNtL3V0aWxzL0NhbWVyYVV0aWxzJztcbmltcG9ydCAqIGFzIE8zSlNfR2VvbWV0cnlDb21wcmVzc2lvblV0aWxzIGZyb20gJ3RocmVlL2V4YW1wbGVzL2pzbS91dGlscy9HZW9tZXRyeUNvbXByZXNzaW9uVXRpbHMnO1xuaW1wb3J0ICogYXMgTzNKU19HZW9tZXRyeVV0aWxzIGZyb20gJ3RocmVlL2V4YW1wbGVzL2pzbS91dGlscy9HZW9tZXRyeVV0aWxzJztcbmltcG9ydCB7IFJvdWdobmVzc01pcG1hcHBlciBhcyBPM0pTX1JvdWdobmVzc01pcG1hcHBlciB9IGZyb20gJ3RocmVlL2V4YW1wbGVzL2pzbS91dGlscy9Sb3VnaG5lc3NNaXBtYXBwZXInO1xuaW1wb3J0ICogYXMgTzNKU19TY2VuZVV0aWxzIGZyb20gJ3RocmVlL2V4YW1wbGVzL2pzbS91dGlscy9TY2VuZVV0aWxzJztcbmltcG9ydCB7IFNoYWRvd01hcFZpZXdlciBhcyBPM0pTX1NoYWRvd01hcFZpZXdlciB9IGZyb20gJ3RocmVlL2V4YW1wbGVzL2pzbS91dGlscy9TaGFkb3dNYXBWaWV3ZXInO1xuaW1wb3J0ICogYXMgTzNKU19Ta2VsZXRvblV0aWxzIGZyb20gJ3RocmVlL2V4YW1wbGVzL2pzbS91dGlscy9Ta2VsZXRvblV0aWxzJztcbmltcG9ydCB7IFVWc0RlYnVnIGFzIE8zSlNfVVZzRGVidWcgfSBmcm9tICd0aHJlZS9leGFtcGxlcy9qc20vdXRpbHMvVVZzRGVidWcnO1xuaW1wb3J0ICogYXMgSTNKUyBmcm9tICcuLi8uLi8uLi90eXBlcy90aHJlZS9leGFtcGxlcy91dGlscyc7XG5cbmV4cG9ydCB0eXBlIENhbWVyYVV0aWxzID0gSTNKUy5DYW1lcmFVdGlscztcbmV4cG9ydCBjb25zdCBDYW1lcmFVdGlsczogQ2FtZXJhVXRpbHMgPSBPM0pTX0NhbWVyYVV0aWxzIGFzIGFueTtcblxuZXhwb3J0IHR5cGUgR2VvbWV0cnlDb21wcmVzc2lvblV0aWxzID0gSTNKUy5HZW9tZXRyeUNvbXByZXNzaW9uVXRpbHM7XG5leHBvcnQgY29uc3QgR2VvbWV0cnlDb21wcmVzc2lvblV0aWxzOiBHZW9tZXRyeUNvbXByZXNzaW9uVXRpbHMgPSBPM0pTX0dlb21ldHJ5Q29tcHJlc3Npb25VdGlscyBhcyBhbnk7XG5cbmV4cG9ydCB0eXBlIFJvdWdobmVzc01pcG1hcHBlciA9IEkzSlMuUm91Z2huZXNzTWlwbWFwcGVyO1xuZXhwb3J0IGNvbnN0IFJvdWdobmVzc01pcG1hcHBlcjogUm91Z2huZXNzTWlwbWFwcGVyID0gTzNKU19Sb3VnaG5lc3NNaXBtYXBwZXIgYXMgYW55O1xuXG5leHBvcnQgdHlwZSBTY2VuZVV0aWxzID0gSTNKUy5TY2VuZVV0aWxzO1xuZXhwb3J0IGNvbnN0IFNjZW5lVXRpbHM6IFNjZW5lVXRpbHMgPSBPM0pTX1NjZW5lVXRpbHMgYXMgYW55O1xuXG5leHBvcnQgdHlwZSBTaGFkb3dNYXBWaWV3ZXIgPSBJM0pTLlNoYWRvd01hcFZpZXdlcjtcbmV4cG9ydCBjb25zdCBTaGFkb3dNYXBWaWV3ZXI6IFNoYWRvd01hcFZpZXdlciA9IE8zSlNfU2hhZG93TWFwVmlld2VyIGFzIGFueTtcblxuZXhwb3J0IHR5cGUgU2tlbGV0b25VdGlscyA9IEkzSlMuU2tlbGV0b25VdGlscztcbmV4cG9ydCBjb25zdCBTa2VsZXRvblV0aWxzOiBTa2VsZXRvblV0aWxzID0gTzNKU19Ta2VsZXRvblV0aWxzIGFzIGFueTtcblxuZXhwb3J0IHR5cGUgVVZzRGVidWcgPSBJM0pTLlVWc0RlYnVnO1xuZXhwb3J0IGNvbnN0IFVWc0RlYnVnOiBVVnNEZWJ1ZyA9IE8zSlNfVVZzRGVidWcgYXMgYW55O1xuXG5leHBvcnQgdHlwZSBHZW9tZXRyeVV0aWxzID0gSTNKUy5HZW9tZXRyeVV0aWxzO1xuZXhwb3J0IGNvbnN0IEdlb21ldHJ5VXRpbHM6IEdlb21ldHJ5VXRpbHMgPSB7XG5cdG1lcmdlQnVmZmVyQXR0cmlidXRlczogTzNKU19CdWZmZXJHZW9tZXRyeVV0aWxzLm1lcmdlQnVmZmVyQXR0cmlidXRlcyBhcyBhbnksXG5cdG1lcmdlQnVmZmVyR2VvbWV0cmllczogTzNKU19CdWZmZXJHZW9tZXRyeVV0aWxzLm1lcmdlQnVmZmVyR2VvbWV0cmllcyBhcyBhbnksXG5cdGludGVybGVhdmVBdHRyaWJ1dGVzOiBPM0pTX0J1ZmZlckdlb21ldHJ5VXRpbHMuaW50ZXJsZWF2ZUF0dHJpYnV0ZXMgYXMgYW55LFxuXHRlc3RpbWF0ZUJ5dGVzVXNlZDogTzNKU19CdWZmZXJHZW9tZXRyeVV0aWxzLmVzdGltYXRlQnl0ZXNVc2VkIGFzIGFueSxcblx0bWVyZ2VWZXJ0aWNlczogTzNKU19CdWZmZXJHZW9tZXRyeVV0aWxzLm1lcmdlVmVydGljZXMgYXMgYW55LFxuXHR0b1RyaWFuZ2xlc0RyYXdNb2RlOiBPM0pTX0J1ZmZlckdlb21ldHJ5VXRpbHMudG9UcmlhbmdsZXNEcmF3TW9kZSBhcyBhbnksXG5cdGNvbXB1dGVNb3JwaGVkQXR0cmlidXRlczogTzNKU19CdWZmZXJHZW9tZXRyeVV0aWxzLmNvbXB1dGVNb3JwaGVkQXR0cmlidXRlcyBhcyBhbnksXG5cdGhpbGJlcnQyRDogKE8zSlNfR2VvbWV0cnlVdGlscyBhcyBhbnkpLmhpbGJlcnQyRCxcblx0aGlsYmVydDNEOiAoTzNKU19HZW9tZXRyeVV0aWxzIGFzIGFueSkuaGlsYmVydDNELFxuXHRnb3NwZXI6IChPM0pTX0dlb21ldHJ5VXRpbHMgYXMgYW55KS5nb3NwZXIsXG59O1xuIl19 | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gzanMvc3JjL2xpYi90aHJlZWpzLWxpYnJhcnkvbW9kdWxlcy90aHJlZS9leGFtcGxlcy91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssd0JBQXdCLE1BQU0sOENBQThDLENBQUM7QUFDekYsT0FBTyxLQUFLLGdCQUFnQixNQUFNLHNDQUFzQyxDQUFDO0FBQ3pFLE9BQU8sS0FBSyw2QkFBNkIsTUFBTSxtREFBbUQsQ0FBQztBQUNuRyxPQUFPLEtBQUssa0JBQWtCLE1BQU0sd0NBQXdDLENBQUM7QUFDN0UsK0dBQStHO0FBQy9HLE9BQU8sS0FBSyxlQUFlLE1BQU0scUNBQXFDLENBQUM7QUFDdkUsT0FBTyxFQUFFLGVBQWUsSUFBSSxvQkFBb0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ25HLE9BQU8sS0FBSyxrQkFBa0IsTUFBTSx3Q0FBd0MsQ0FBQztBQUM3RSxPQUFPLEVBQUUsUUFBUSxJQUFJLGFBQWEsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBSTlFLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBZ0IsZ0JBQXVCLENBQUM7QUFHaEUsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQTZCLDZCQUFvQyxDQUFDO0FBTXZHLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBZSxlQUFzQixDQUFDO0FBRzdELE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBb0Isb0JBQTJCLENBQUM7QUFHNUUsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFrQixrQkFBeUIsQ0FBQztBQUd0RSxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQWEsYUFBb0IsQ0FBQztBQUd2RCxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQWtCO0lBQzNDLHFCQUFxQixFQUFFLHdCQUF3QixDQUFDLHFCQUE0QjtJQUM1RSxxQkFBcUIsRUFBRSx3QkFBd0IsQ0FBQyxxQkFBNEI7SUFDNUUsb0JBQW9CLEVBQUUsd0JBQXdCLENBQUMsb0JBQTJCO0lBQzFFLGlCQUFpQixFQUFFLHdCQUF3QixDQUFDLGlCQUF3QjtJQUNwRSxhQUFhLEVBQUUsd0JBQXdCLENBQUMsYUFBb0I7SUFDNUQsbUJBQW1CLEVBQUUsd0JBQXdCLENBQUMsbUJBQTBCO0lBQ3hFLHdCQUF3QixFQUFFLHdCQUF3QixDQUFDLHdCQUErQjtJQUNsRixTQUFTLEVBQUcsa0JBQTBCLENBQUMsU0FBUztJQUNoRCxTQUFTLEVBQUcsa0JBQTBCLENBQUMsU0FBUztJQUNoRCxNQUFNLEVBQUcsa0JBQTBCLENBQUMsTUFBTTtDQUMxQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgTzNKU19CdWZmZXJHZW9tZXRyeVV0aWxzIGZyb20gJ3RocmVlL2V4YW1wbGVzL2pzbS91dGlscy9CdWZmZXJHZW9tZXRyeVV0aWxzJztcbmltcG9ydCAqIGFzIE8zSlNfQ2FtZXJhVXRpbHMgZnJvbSAndGhyZWUvZXhhbXBsZXMvanNtL3V0aWxzL0NhbWVyYVV0aWxzJztcbmltcG9ydCAqIGFzIE8zSlNfR2VvbWV0cnlDb21wcmVzc2lvblV0aWxzIGZyb20gJ3RocmVlL2V4YW1wbGVzL2pzbS91dGlscy9HZW9tZXRyeUNvbXByZXNzaW9uVXRpbHMnO1xuaW1wb3J0ICogYXMgTzNKU19HZW9tZXRyeVV0aWxzIGZyb20gJ3RocmVlL2V4YW1wbGVzL2pzbS91dGlscy9HZW9tZXRyeVV0aWxzJztcbi8vIGltcG9ydCB7IFJvdWdobmVzc01pcG1hcHBlciBhcyBPM0pTX1JvdWdobmVzc01pcG1hcHBlciB9IGZyb20gJ3RocmVlL2V4YW1wbGVzL2pzbS91dGlscy9Sb3VnaG5lc3NNaXBtYXBwZXInO1xuaW1wb3J0ICogYXMgTzNKU19TY2VuZVV0aWxzIGZyb20gJ3RocmVlL2V4YW1wbGVzL2pzbS91dGlscy9TY2VuZVV0aWxzJztcbmltcG9ydCB7IFNoYWRvd01hcFZpZXdlciBhcyBPM0pTX1NoYWRvd01hcFZpZXdlciB9IGZyb20gJ3RocmVlL2V4YW1wbGVzL2pzbS91dGlscy9TaGFkb3dNYXBWaWV3ZXInO1xuaW1wb3J0ICogYXMgTzNKU19Ta2VsZXRvblV0aWxzIGZyb20gJ3RocmVlL2V4YW1wbGVzL2pzbS91dGlscy9Ta2VsZXRvblV0aWxzJztcbmltcG9ydCB7IFVWc0RlYnVnIGFzIE8zSlNfVVZzRGVidWcgfSBmcm9tICd0aHJlZS9leGFtcGxlcy9qc20vdXRpbHMvVVZzRGVidWcnO1xuaW1wb3J0ICogYXMgSTNKUyBmcm9tICcuLi8uLi8uLi90eXBlcy90aHJlZS9leGFtcGxlcy91dGlscyc7XG5cbmV4cG9ydCB0eXBlIENhbWVyYVV0aWxzID0gSTNKUy5DYW1lcmFVdGlscztcbmV4cG9ydCBjb25zdCBDYW1lcmFVdGlsczogQ2FtZXJhVXRpbHMgPSBPM0pTX0NhbWVyYVV0aWxzIGFzIGFueTtcblxuZXhwb3J0IHR5cGUgR2VvbWV0cnlDb21wcmVzc2lvblV0aWxzID0gSTNKUy5HZW9tZXRyeUNvbXByZXNzaW9uVXRpbHM7XG5leHBvcnQgY29uc3QgR2VvbWV0cnlDb21wcmVzc2lvblV0aWxzOiBHZW9tZXRyeUNvbXByZXNzaW9uVXRpbHMgPSBPM0pTX0dlb21ldHJ5Q29tcHJlc3Npb25VdGlscyBhcyBhbnk7XG5cbi8vIGV4cG9ydCB0eXBlIFJvdWdobmVzc01pcG1hcHBlciA9IEkzSlMuUm91Z2huZXNzTWlwbWFwcGVyO1xuLy8gZXhwb3J0IGNvbnN0IFJvdWdobmVzc01pcG1hcHBlcjogUm91Z2huZXNzTWlwbWFwcGVyID0gTzNKU19Sb3VnaG5lc3NNaXBtYXBwZXIgYXMgYW55O1xuXG5leHBvcnQgdHlwZSBTY2VuZVV0aWxzID0gSTNKUy5TY2VuZVV0aWxzO1xuZXhwb3J0IGNvbnN0IFNjZW5lVXRpbHM6IFNjZW5lVXRpbHMgPSBPM0pTX1NjZW5lVXRpbHMgYXMgYW55O1xuXG5leHBvcnQgdHlwZSBTaGFkb3dNYXBWaWV3ZXIgPSBJM0pTLlNoYWRvd01hcFZpZXdlcjtcbmV4cG9ydCBjb25zdCBTaGFkb3dNYXBWaWV3ZXI6IFNoYWRvd01hcFZpZXdlciA9IE8zSlNfU2hhZG93TWFwVmlld2VyIGFzIGFueTtcblxuZXhwb3J0IHR5cGUgU2tlbGV0b25VdGlscyA9IEkzSlMuU2tlbGV0b25VdGlscztcbmV4cG9ydCBjb25zdCBTa2VsZXRvblV0aWxzOiBTa2VsZXRvblV0aWxzID0gTzNKU19Ta2VsZXRvblV0aWxzIGFzIGFueTtcblxuZXhwb3J0IHR5cGUgVVZzRGVidWcgPSBJM0pTLlVWc0RlYnVnO1xuZXhwb3J0IGNvbnN0IFVWc0RlYnVnOiBVVnNEZWJ1ZyA9IE8zSlNfVVZzRGVidWcgYXMgYW55O1xuXG5leHBvcnQgdHlwZSBHZW9tZXRyeVV0aWxzID0gSTNKUy5HZW9tZXRyeVV0aWxzO1xuZXhwb3J0IGNvbnN0IEdlb21ldHJ5VXRpbHM6IEdlb21ldHJ5VXRpbHMgPSB7XG5cdG1lcmdlQnVmZmVyQXR0cmlidXRlczogTzNKU19CdWZmZXJHZW9tZXRyeVV0aWxzLm1lcmdlQnVmZmVyQXR0cmlidXRlcyBhcyBhbnksXG5cdG1lcmdlQnVmZmVyR2VvbWV0cmllczogTzNKU19CdWZmZXJHZW9tZXRyeVV0aWxzLm1lcmdlQnVmZmVyR2VvbWV0cmllcyBhcyBhbnksXG5cdGludGVybGVhdmVBdHRyaWJ1dGVzOiBPM0pTX0J1ZmZlckdlb21ldHJ5VXRpbHMuaW50ZXJsZWF2ZUF0dHJpYnV0ZXMgYXMgYW55LFxuXHRlc3RpbWF0ZUJ5dGVzVXNlZDogTzNKU19CdWZmZXJHZW9tZXRyeVV0aWxzLmVzdGltYXRlQnl0ZXNVc2VkIGFzIGFueSxcblx0bWVyZ2VWZXJ0aWNlczogTzNKU19CdWZmZXJHZW9tZXRyeVV0aWxzLm1lcmdlVmVydGljZXMgYXMgYW55LFxuXHR0b1RyaWFuZ2xlc0RyYXdNb2RlOiBPM0pTX0J1ZmZlckdlb21ldHJ5VXRpbHMudG9UcmlhbmdsZXNEcmF3TW9kZSBhcyBhbnksXG5cdGNvbXB1dGVNb3JwaGVkQXR0cmlidXRlczogTzNKU19CdWZmZXJHZW9tZXRyeVV0aWxzLmNvbXB1dGVNb3JwaGVkQXR0cmlidXRlcyBhcyBhbnksXG5cdGhpbGJlcnQyRDogKE8zSlNfR2VvbWV0cnlVdGlscyBhcyBhbnkpLmhpbGJlcnQyRCxcblx0aGlsYmVydDNEOiAoTzNKU19HZW9tZXRyeVV0aWxzIGFzIGFueSkuaGlsYmVydDNELFxuXHRnb3NwZXI6IChPM0pTX0dlb21ldHJ5VXRpbHMgYXMgYW55KS5nb3NwZXIsXG59O1xuIl19 |
@@ -18,2 +18,3 @@ export interface ChartConfig { | ||
property?: string; | ||
value?: any; | ||
select?: any[] | { | ||
@@ -24,2 +25,3 @@ [key: string]: any; | ||
max?: number; | ||
step?: number; | ||
listen?: boolean; | ||
@@ -85,2 +87,3 @@ change?: any; | ||
static parseISODate(dateString: string): Date; | ||
static addDate(dateString: string, add: number): string; | ||
static isFunctionString(str: string): boolean; | ||
@@ -87,0 +90,0 @@ static getFunctionString(str: string): string; |
@@ -71,4 +71,24 @@ import { EventEmitter, OnInit, SimpleChanges } from '@angular/core'; | ||
* Checks series option | ||
* @param tooltipOptions | ||
*/ | ||
private checkTooltipOption; | ||
/** | ||
* Checks series option | ||
* @param axisOptions | ||
*/ | ||
private checkAxisOption; | ||
/** | ||
* Checks series option | ||
* @param axisOptions | ||
*/ | ||
private checkToolboxOption; | ||
/** | ||
* Checks series option | ||
* @param seriesOptions | ||
*/ | ||
private checkFormatterOption; | ||
/** | ||
* Checks series option | ||
* @param seriesOptions | ||
*/ | ||
private checkSeriesOption; | ||
@@ -75,0 +95,0 @@ /** |
@@ -294,2 +294,3 @@ import { ChartAction, ChartSharedVar } from "../chart-utils"; | ||
dispose(): void; | ||
getZr(): any; | ||
} | ||
@@ -594,2 +595,4 @@ export declare type TypedArray = Int8Array | Uint8Array | Int16Array | Uint16Array | Int32Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array; | ||
series?: any[] | any; | ||
options?: any[] | any; | ||
baseOption?: any[] | any; | ||
/** | ||
@@ -596,0 +599,0 @@ * The color list of palette. |
@@ -1,2 +0,1 @@ | ||
import { WEBGL as I3JS_WEBGL } from '../../../types/three/examples/index'; | ||
export * from './animation'; | ||
@@ -28,3 +27,1 @@ export * from './cameras'; | ||
export * from './webxr'; | ||
export declare type WEBGL = I3JS_WEBGL; | ||
export declare const WEBGL: WEBGL; |
@@ -6,4 +6,2 @@ import * as I3JS from '../../../types/three/examples/utils'; | ||
export declare const GeometryCompressionUtils: GeometryCompressionUtils; | ||
export declare type RoughnessMipmapper = I3JS.RoughnessMipmapper; | ||
export declare const RoughnessMipmapper: RoughnessMipmapper; | ||
export declare type SceneUtils = I3JS.SceneUtils; | ||
@@ -10,0 +8,0 @@ export declare const SceneUtils: SceneUtils; |
{ | ||
"name": "ngx3js", | ||
"version": "0.136.0-2022013016", | ||
"version": "0.137.5-2022020817", | ||
"keywords": [ | ||
@@ -42,3 +42,3 @@ "three", | ||
"dependencies": { | ||
"three": "0.136.0", | ||
"three": "0.137.5", | ||
"tslib": "^2.2.0" | ||
@@ -45,0 +45,0 @@ }, |
@@ -40,4 +40,4 @@ ngx3js | ||
npm install --save ngx3js | ||
npm install --save three@0.136.0 | ||
npm install --save-dev @types/three@0.136.1 | ||
npm install --save three@0.137.5 | ||
npm install --save-dev @types/three@0.137.0 | ||
``` | ||
@@ -44,0 +44,0 @@ |
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 too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
43198182
351964
+ Addedthree@0.137.5(transitive)
- Removedthree@0.136.0(transitive)
Updatedthree@0.137.5