UNPKG

overwatch-api-server

Version:
8 lines 88.3 kB
"use strict";function cov_17v8rvbf8z(){var path="C:\\Users\\Alf\\Source\\overwatch-api\\api\\src\\parser\\profile.js";var hash="da6cfd0587a84fbe80b10f3d1f818ada2208afd7";var global=new Function("return this")();var gcv="__coverage__";var coverageData={path:"C:\\Users\\Alf\\Source\\overwatch-api\\api\\src\\parser\\profile.js",statementMap:{"0":{start:{line:3,column:0},end:{line:5,column:3}},"1":{start:{line:6,column:0},end:{line:6,column:30}},"2":{start:{line:8,column:12},end:{line:8,column:51}},"3":{start:{line:10,column:13},end:{line:10,column:53}},"4":{start:{line:12,column:15},end:{line:12,column:57}},"5":{start:{line:14,column:15},end:{line:14,column:57}},"6":{start:{line:16,column:13},end:{line:16,column:31}},"7":{start:{line:18,column:11},end:{line:18,column:27}},"8":{start:{line:20,column:39},end:{line:20,column:95}},"9":{start:{line:24,column:12},end:{line:24,column:205}},"10":{start:{line:25,column:16},end:{line:28,column:3}},"11":{start:{line:29,column:2},end:{line:31,column:5}},"12":{start:{line:30,column:4},end:{line:30,column:31}},"13":{start:{line:36,column:10},end:{line:36,column:51}},"14":{start:{line:39,column:16},end:{line:39,column:67}},"15":{start:{line:41,column:2},end:{line:43,column:3}},"16":{start:{line:42,column:4},end:{line:42,column:52}},"17":{start:{line:45,column:15},end:{line:67,column:3}},"18":{start:{line:69,column:2},end:{line:76,column:3}},"19":{start:{line:70,column:4},end:{line:70,column:122}},"20":{start:{line:71,column:4},end:{line:71,column:126}},"21":{start:{line:72,column:4},end:{line:72,column:128}},"22":{start:{line:73,column:4},end:{line:73,column:111}},"23":{start:{line:74,column:4},end:{line:74,column:115}},"24":{start:{line:75,column:4},end:{line:75,column:117}},"25":{start:{line:78,column:2},end:{line:80,column:3}},"26":{start:{line:79,column:4},end:{line:79,column:76}},"27":{start:{line:82,column:2},end:{line:84,column:3}},"28":{start:{line:83,column:4},end:{line:83,column:88}},"29":{start:{line:86,column:2},end:{line:88,column:3}},"30":{start:{line:87,column:4},end:{line:87,column:64}},"31":{start:{line:90,column:2},end:{line:92,column:3}},"32":{start:{line:91,column:4},end:{line:91,column:64}},"33":{start:{line:94,column:2},end:{line:94,column:32}},"34":{start:{line:99,column:15},end:{line:99,column:32}},"35":{start:{line:100,column:20},end:{line:115,column:3}},"36":{start:{line:116,column:2},end:{line:116,column:65}},"37":{start:{line:117,column:12},end:{line:117,column:14}},"38":{start:{line:118,column:13},end:{line:118,column:15}},"39":{start:{line:119,column:13},end:{line:119,column:15}},"40":{start:{line:120,column:15},end:{line:120,column:17}},"41":{start:{line:121,column:13},end:{line:121,column:15}},"42":{start:{line:123,column:2},end:{line:125,column:3}},"43":{start:{line:124,column:4},end:{line:124,column:67}},"44":{start:{line:127,column:2},end:{line:129,column:3}},"45":{start:{line:128,column:4},end:{line:128,column:73}},"46":{start:{line:131,column:2},end:{line:133,column:3}},"47":{start:{line:132,column:4},end:{line:132,column:75}},"48":{start:{line:135,column:2},end:{line:137,column:3}},"49":{start:{line:136,column:4},end:{line:136,column:64}},"50":{start:{line:139,column:2},end:{line:141,column:3}},"51":{start:{line:140,column:4},end:{line:140,column:66}},"52":{start:{line:143,column:2},end:{line:145,column:3}},"53":{start:{line:144,column:4},end:{line:144,column:66}},"54":{start:{line:147,column:2},end:{line:149,column:3}},"55":{start:{line:148,column:4},end:{line:148,column:70}},"56":{start:{line:151,column:2},end:{line:153,column:3}},"57":{start:{line:152,column:4},end:{line:152,column:72}},"58":{start:{line:156,column:14},end:{line:156,column:26}},"59":{start:{line:158,column:2},end:{line:167,column:3}},"60":{start:{line:159,column:21},end:{line:159,column:86}},"61":{start:{line:161,column:20},end:{line:161,column:85}},"62":{start:{line:163,column:16},end:{line:163,column:73}},"63":{start:{line:164,column:15},end:{line:164,column:70}},"64":{start:{line:165,column:19},end:{line:165,column:51}},"65":{start:{line:166,column:4},end:{line:166,column:62}},"66":{start:{line:169,column:13},end:{line:208,column:3}},"67":{start:{line:209,column:2},end:{line:209,column:30}},"68":{start:{line:213,column:2},end:{line:223,column:5}},"69":{start:{line:218,column:4},end:{line:220,column:5}},"70":{start:{line:219,column:6},end:{line:219,column:27}},"71":{start:{line:222,column:4},end:{line:222,column:45}}},fnMap:{"0":{name:"_interopRequireDefault",decl:{start:{line:20,column:9},end:{line:20,column:31}},loc:{start:{line:20,column:37},end:{line:20,column:97}},line:20},"1":{name:"getHTML",decl:{start:{line:23,column:9},end:{line:23,column:16}},loc:{start:{line:23,column:50},end:{line:32,column:1}},line:23},"2":{name:"(anonymous_2)",decl:{start:{line:29,column:43},end:{line:29,column:44}},loc:{start:{line:29,column:69},end:{line:31,column:3}},line:29},"3":{name:"parseHTML",decl:{start:{line:35,column:9},end:{line:35,column:18}},loc:{start:{line:35,column:38},end:{line:95,column:1}},line:35},"4":{name:"transform",decl:{start:{line:98,column:9},end:{line:98,column:18}},loc:{start:{line:98,column:38},end:{line:210,column:1}},line:98},"5":{name:"_default",decl:{start:{line:212,column:9},end:{line:212,column:17}},loc:{start:{line:212,column:51},end:{line:224,column:1}},line:212},"6":{name:"(anonymous_6)",decl:{start:{line:217,column:5},end:{line:217,column:6}},loc:{start:{line:217,column:29},end:{line:223,column:3}},line:217}},branchMap:{"0":{loc:{start:{line:20,column:46},end:{line:20,column:94}},type:"cond-expr",locations:[{start:{line:20,column:70},end:{line:20,column:73}},{start:{line:20,column:76},end:{line:20,column:94}}],line:20},"1":{loc:{start:{line:20,column:46},end:{line:20,column:67}},type:"binary-expr",locations:[{start:{line:20,column:46},end:{line:20,column:49}},{start:{line:20,column:53},end:{line:20,column:67}}],line:20},"2":{loc:{start:{line:24,column:12},end:{line:24,column:205}},type:"cond-expr",locations:[{start:{line:24,column:32},end:{line:24,column:127}},{start:{line:24,column:130},end:{line:24,column:205}}],line:24},"3":{loc:{start:{line:41,column:2},end:{line:43,column:3}},type:"if",locations:[{start:{line:41,column:2},end:{line:43,column:3}},{start:{line:41,column:2},end:{line:43,column:3}}],line:41},"4":{loc:{start:{line:69,column:2},end:{line:76,column:3}},type:"if",locations:[{start:{line:69,column:2},end:{line:76,column:3}},{start:{line:69,column:2},end:{line:76,column:3}}],line:69},"5":{loc:{start:{line:70,column:29},end:{line:70,column:121}},type:"binary-expr",locations:[{start:{line:70,column:29},end:{line:70,column:113}},{start:{line:70,column:117},end:{line:70,column:121}}],line:70},"6":{loc:{start:{line:71,column:31},end:{line:71,column:125}},type:"binary-expr",locations:[{start:{line:71,column:31},end:{line:71,column:117}},{start:{line:71,column:121},end:{line:71,column:125}}],line:71},"7":{loc:{start:{line:72,column:32},end:{line:72,column:127}},type:"binary-expr",locations:[{start:{line:72,column:32},end:{line:72,column:119}},{start:{line:72,column:123},end:{line:72,column:127}}],line:72},"8":{loc:{start:{line:78,column:2},end:{line:80,column:3}},type:"if",locations:[{start:{line:78,column:2},end:{line:80,column:3}},{start:{line:78,column:2},end:{line:80,column:3}}],line:78},"9":{loc:{start:{line:82,column:2},end:{line:84,column:3}},type:"if",locations:[{start:{line:82,column:2},end:{line:84,column:3}},{start:{line:82,column:2},end:{line:84,column:3}}],line:82},"10":{loc:{start:{line:86,column:2},end:{line:88,column:3}},type:"if",locations:[{start:{line:86,column:2},end:{line:88,column:3}},{start:{line:86,column:2},end:{line:88,column:3}}],line:86},"11":{loc:{start:{line:90,column:2},end:{line:92,column:3}},type:"if",locations:[{start:{line:90,column:2},end:{line:92,column:3}},{start:{line:90,column:2},end:{line:92,column:3}}],line:90},"12":{loc:{start:{line:114,column:11},end:{line:114,column:42}},type:"binary-expr",locations:[{start:{line:114,column:11},end:{line:114,column:34}},{start:{line:114,column:38},end:{line:114,column:42}}],line:114},"13":{loc:{start:{line:123,column:2},end:{line:125,column:3}},type:"if",locations:[{start:{line:123,column:2},end:{line:125,column:3}},{start:{line:123,column:2},end:{line:125,column:3}}],line:123},"14":{loc:{start:{line:127,column:2},end:{line:129,column:3}},type:"if",locations:[{start:{line:127,column:2},end:{line:129,column:3}},{start:{line:127,column:2},end:{line:129,column:3}}],line:127},"15":{loc:{start:{line:131,column:2},end:{line:133,column:3}},type:"if",locations:[{start:{line:131,column:2},end:{line:133,column:3}},{start:{line:131,column:2},end:{line:133,column:3}}],line:131},"16":{loc:{start:{line:135,column:2},end:{line:137,column:3}},type:"if",locations:[{start:{line:135,column:2},end:{line:137,column:3}},{start:{line:135,column:2},end:{line:137,column:3}}],line:135},"17":{loc:{start:{line:139,column:2},end:{line:141,column:3}},type:"if",locations:[{start:{line:139,column:2},end:{line:141,column:3}},{start:{line:139,column:2},end:{line:141,column:3}}],line:139},"18":{loc:{start:{line:143,column:2},end:{line:145,column:3}},type:"if",locations:[{start:{line:143,column:2},end:{line:145,column:3}},{start:{line:143,column:2},end:{line:145,column:3}}],line:143},"19":{loc:{start:{line:147,column:2},end:{line:149,column:3}},type:"if",locations:[{start:{line:147,column:2},end:{line:149,column:3}},{start:{line:147,column:2},end:{line:149,column:3}}],line:147},"20":{loc:{start:{line:151,column:2},end:{line:153,column:3}},type:"if",locations:[{start:{line:151,column:2},end:{line:153,column:3}},{start:{line:151,column:2},end:{line:153,column:3}}],line:151},"21":{loc:{start:{line:158,column:2},end:{line:167,column:3}},type:"if",locations:[{start:{line:158,column:2},end:{line:167,column:3}},{start:{line:158,column:2},end:{line:167,column:3}}],line:158},"22":{loc:{start:{line:158,column:6},end:{line:158,column:32}},type:"binary-expr",locations:[{start:{line:158,column:6},end:{line:158,column:17}},{start:{line:158,column:21},end:{line:158,column:32}}],line:158},"23":{loc:{start:{line:163,column:16},end:{line:163,column:73}},type:"cond-expr",locations:[{start:{line:163,column:29},end:{line:163,column:69}},{start:{line:163,column:72},end:{line:163,column:73}}],line:163},"24":{loc:{start:{line:164,column:15},end:{line:164,column:70}},type:"cond-expr",locations:[{start:{line:164,column:27},end:{line:164,column:66}},{start:{line:164,column:69},end:{line:164,column:70}}],line:164},"25":{loc:{start:{line:178,column:16},end:{line:178,column:55}},type:"binary-expr",locations:[{start:{line:178,column:16},end:{line:178,column:42}},{start:{line:178,column:46},end:{line:178,column:55}}],line:178},"26":{loc:{start:{line:183,column:14},end:{line:183,column:45}},type:"binary-expr",locations:[{start:{line:183,column:14},end:{line:183,column:40}},{start:{line:183,column:44},end:{line:183,column:45}}],line:183},"27":{loc:{start:{line:218,column:4},end:{line:220,column:5}},type:"if",locations:[{start:{line:218,column:4},end:{line:220,column:5}},{start:{line:218,column:4},end:{line:220,column:5}}],line:218}},s:{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0},f:{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0},b:{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0],"25":[0,0],"26":[0,0],"27":[0,0]},inputSourceMap:{version:3,sources:["profile.js"],names:["getHTML","platform","region","tag","callback","url","options","uri","encodeURI","encoding","err","res","body","parseHTML","results","$","cheerio","load","isFound","text","Error","parsed","user","level","first","portrait","attr","permission","endorsementLevel","last","endorsementFrameEl","sportsmanshipValue","data","shotcallerValue","teammateValue","quickplayWonEl","next","html","quickplayPlayedEl","quickplayTimePlayedEl","compWonEl","compPlayedEl","compLostEl","compDrawEl","compTimePlayedEl","compRankEl","levelFrameEl","starEl","rankEl","compRankImgTank","compRankImgDamage","compRankImgSupport","compRankElTank","compRankElDamage","compRankElSupport","levelFrame","slice","replace","endorsementFrame","star","rank","transform","endorsement","sportsmanship","value","rate","parseFloat","toFixed","shotcaller","teammate","parseInt","frame","icon","won","lost","draw","played","time","quickplay","trim","competitive","starsMatch","path","basename","split","rankMatch","stars","prestige","json","username","games","undefined","win_rate","playtime","tank","rank_img","damage","support","async","auto","apply"],mappings:"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",sourceRoot:"C:\\Users\\Alf\\Source\\overwatch-api\\api\\src\\parser\\",sourcesContent:["import path from 'path';\nimport async from 'async';\nimport cheerio from 'cheerio';\nimport request from 'request';\nimport { getPrestigeLevel, getPrestigeStars } from './utils';\nimport { createEndorsementSVG } from './svg';\n\n\n// Get HTML from playoverwatch career page.\nfunction getHTML(platform, region, tag, callback) {\n  const url = platform === 'pc'\n    ? `https://playoverwatch.com/en-us/career/${platform}/${region}/${tag}`\n    : `https://playoverwatch.com/en-us/career/${platform}/${tag}`;\n\n  const options = {\n    uri: encodeURI(url),\n    encoding: 'utf8'\n  }\n\n  return request(options, (err, res, body) => {\n    return callback(err, body);\n  });\n}\n\n// Begin html parsing.\nfunction parseHTML(results, callback) {\n  const $ = cheerio.load(results.getHTML);\n\n  // Check if profile exists.\n  const isFound = $('.content-box h1').text() !== 'Profile Not Found';\n  if (!isFound) {\n    return callback(new Error('Profile not found'));\n  }\n\n  const parsed = {\n    user: $('.header-masthead').text(),\n    level: $('.player-level div').first().text(),\n    portrait: $('.player-portrait').attr('src'),\n    permission: $('.masthead-permission-level-text').text(),\n    endorsementLevel: $('.masthead .endorsement-level div').last().text(),\n    endorsementFrameEl: $('.masthead .EndorsementIcon').attr('style'),\n    sportsmanshipValue: $('.masthead .EndorsementIcon-border--sportsmanship').data('value'),\n    shotcallerValue: $('.masthead .EndorsementIcon-border--shotcaller').data('value'),\n    teammateValue: $('.masthead .EndorsementIcon-border--teammate').data('value'),\n    quickplayWonEl: $('#quickplay td:contains(\"Games Won\")').next().html(),\n    quickplayPlayedEl: $('#quickplay td:contains(\"Games Played\")').next().html(),\n    quickplayTimePlayedEl: $('#quickplay td:contains(\"Time Played\")').next().html(),\n    compWonEl: $('#competitive td:contains(\"Games Won\")').next().html(),\n    compPlayedEl: $('#competitive td:contains(\"Games Played\")').next().html(),\n    compLostEl: $('#competitive td:contains(\"Games Lost\")').next().html(),\n    compDrawEl: $('#competitive td:contains(\"Games Tied\")').next().html(),\n    compTimePlayedEl: $('#competitive td:contains(\"Time Played\")').next().html(),\n    compRankEl: $('.competitive-rank'),\n    levelFrameEl: $('.player-level').attr('style'),\n    starEl: $('.player-rank').attr('style'),\n    rankEl: $('.player-level').attr('style'),\n  }\n\n  if (parsed.compRankEl !== null) {\n    parsed.compRankImgTank = $('.competitive-rank div[data-ow-tooltip-text=\"Tank Skill Rating\"] img').attr('src') || null;\n    parsed.compRankImgDamage = $('.competitive-rank div[data-ow-tooltip-text=\"Damage Skill Rating\"] img').attr('src') || null;\n    parsed.compRankImgSupport = $('.competitive-rank div[data-ow-tooltip-text=\"Support Skill Rating\"] img').attr('src') || null;\n    parsed.compRankElTank = $('.competitive-rank div[data-ow-tooltip-text=\"Tank Skill Rating\"]').next().html();\n    parsed.compRankElDamage = $('.competitive-rank div[data-ow-tooltip-text=\"Damage Skill Rating\"]').next().html();\n    parsed.compRankElSupport = $('.competitive-rank div[data-ow-tooltip-text=\"Support Skill Rating\"]').next().html();\n  }\n\n  if (parsed.levelFrameEl) {\n    parsed.levelFrame = parsed.levelFrameEl.slice(21, -1).replace(/ /g, '');\n  }\n\n  if (parsed.endorsementFrameEl) {\n    parsed.endorsementFrame = parsed.endorsementFrameEl.slice(21, -1).replace(/ /g, '');\n  }\n\n  if (parsed.starEl) {\n    parsed.star = parsed.starEl.slice(21, -1).replace(/ /g, '');\n  }\n\n  if (parsed.rankEl) {\n    parsed.rank = parsed.rankEl.slice(21, -1).replace(/ /g, '');\n  }\n  return callback(null, parsed);\n}\n\n// Transform the data into a json object we can serve.\nfunction transform(results, callback) {\n  const { parseHTML: parsed } = results;\n\n  const endorsement = {\n    sportsmanship: { value: parsed.sportsmanshipValue, rate: parseFloat((parsed.sportsmanshipValue * 100).toFixed(2)) },\n    shotcaller: { value: parsed.shotcallerValue, rate: parseFloat((parsed.shotcallerValue * 100).toFixed(2)) },\n    teammate: { value: parsed.teammateValue, rate: parseFloat((parsed.teammateValue * 100).toFixed(2)) },\n    level: parseInt(parsed.endorsementLevel),\n    frame: parsed.endorsementFrame || null,\n  };\n  endorsement.icon = createEndorsementSVG(endorsement);\n\n  const won = {};\n  const lost = {};\n  const draw = {};\n  const played = {};\n  const time = {};\n\n  if (parsed.quickplayWonEl !== null) {\n    won.quickplay = parsed.quickplayWonEl.trim().replace(/,/g, '');\n  }\n\n  if (parsed.quickplayPlayedEl !== null) {\n    played.quickplay = parsed.quickplayPlayedEl.trim().replace(/,/g, '');\n  }\n\n  if (parsed.quickplayTimePlayedEl !== null) {\n    time.quickplay = parsed.quickplayTimePlayedEl.trim().replace(/,/g, '');\n  }\n\n  if (parsed.compWonEl !== null) {\n    won.competitive = parsed.compWonEl.trim().replace(/,/g, '');\n  }\n\n  if (parsed.compLostEl !== null) {\n    lost.competitive = parsed.compLostEl.trim().replace(/,/g, '');\n  }\n\n  if (parsed.compDrawEl !== null) {\n    draw.competitive = parsed.compDrawEl.trim().replace(/,/g, '');\n  }\n\n  if (parsed.compPlayedEl !== null) {\n    played.competitive = parsed.compPlayedEl.trim().replace(/,/g, '');\n  }\n\n  if (parsed.compTimePlayedEl !== null) {\n    time.competitive = parsed.compTimePlayedEl.trim().replace(/,/g, '');\n  }\n\n  // Calculate the prestige level.\n  let level = parsed.level;\n  if (parsed.star && parsed.rank) {\n    const starsMatch = path.basename(parsed.star).split('.').slice(0, -1)[0];\n    const rankMatch = path.basename(parsed.rank).split('.').slice(0, -1)[0];\n    const stars = starsMatch ? getPrestigeStars(starsMatch) : 0;\n    const rank = rankMatch ? getPrestigeLevel(rankMatch) : 0;\n    const prestige = parseInt(stars) + parseInt(rank);\n    level = parseInt(parsed.level) + (parseInt(prestige) * 100);\n  }\n\n  const json = {\n    username: parsed.user,\n    level: parseInt(level),\n    portrait: parsed.portrait,\n    endorsement: endorsement,\n    private: parsed.permission === 'Private Profile',\n    games: {\n      quickplay: {\n        won: parseInt(won.quickplay),\n        played: parseInt(played.quickplay) || undefined \n      },\n      competitive: {\n        won: parseInt(won.competitive),\n        lost: parseInt(lost.competitive),\n        draw: parseInt(draw.competitive) || 0,\n        played: parseInt(played.competitive),\n        win_rate: parseFloat((parseInt(won.competitive) / (parseInt(played.competitive - parseInt(draw.competitive))) * 100).toFixed(2)),\n      },\n    },\n    playtime: { quickplay: time.quickplay, competitive: time.competitive },\n    competitive: { \n      tank: {\n        rank: parseInt(parsed.compRankElTank), \n        rank_img: parsed.compRankImgTank \n      },\n      damage: {\n        rank: parseInt(parsed.compRankElDamage), \n        rank_img: parsed.compRankImgDamage\n      },\n      support: {\n        rank: parseInt(parsed.compRankElSupport), \n        rank_img: parsed.compRankImgSupport\n      }\n    },\n    levelFrame: parsed.levelFrame,\n    star: parsed.star\n  }\n\n  return callback(null, json);\n}\n\nexport default function(platform, region, tag, callback) {\n  async.auto({\n    getHTML: async.apply(getHTML, platform, region, tag),\n    parseHTML: ['getHTML', async.apply(parseHTML)],\n    transform: ['getHTML', 'parseHTML', async.apply(transform)],\n  }, function(err, results) {\n    if (err) {\n      return callback(err);\n    }\n    return callback(null, results.transform);\n  });\n}"]},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"da6cfd0587a84fbe80b10f3d1f818ada2208afd7"};var coverage=global[gcv]||(global[gcv]={});if(!coverage[path]||coverage[path].hash!==hash){coverage[path]=coverageData;}var actualCoverage=coverage[path];{// @ts-ignore
cov_17v8rvbf8z=function(){return actualCoverage;};}return actualCoverage;}cov_17v8rvbf8z();cov_17v8rvbf8z().s[0]++;Object.defineProperty(exports,"__esModule",{value:true});cov_17v8rvbf8z().s[1]++;exports["default"]=_default;var _path=(cov_17v8rvbf8z().s[2]++,_interopRequireDefault(require("path")));var _async=(cov_17v8rvbf8z().s[3]++,_interopRequireDefault(require("async")));var _cheerio=(cov_17v8rvbf8z().s[4]++,_interopRequireDefault(require("cheerio")));var _request=(cov_17v8rvbf8z().s[5]++,_interopRequireDefault(require("request")));var _utils=(cov_17v8rvbf8z().s[6]++,require("./utils"));var _svg=(cov_17v8rvbf8z().s[7]++,require("./svg"));function _interopRequireDefault(obj){cov_17v8rvbf8z().f[0]++;cov_17v8rvbf8z().s[8]++;return(cov_17v8rvbf8z().b[1][0]++,obj)&&(cov_17v8rvbf8z().b[1][1]++,obj.__esModule)?(cov_17v8rvbf8z().b[0][0]++,obj):(cov_17v8rvbf8z().b[0][1]++,{"default":obj});}// Get HTML from playoverwatch career page.
function getHTML(platform,region,tag,callback){cov_17v8rvbf8z().f[1]++;var url=(cov_17v8rvbf8z().s[9]++,platform==='pc'?(cov_17v8rvbf8z().b[2][0]++,"https://playoverwatch.com/en-us/career/".concat(platform,"/").concat(region,"/").concat(tag)):(cov_17v8rvbf8z().b[2][1]++,"https://playoverwatch.com/en-us/career/".concat(platform,"/").concat(tag)));var options=(cov_17v8rvbf8z().s[10]++,{uri:encodeURI(url),encoding:'utf8'});cov_17v8rvbf8z().s[11]++;return(0,_request["default"])(options,function(err,res,body){cov_17v8rvbf8z().f[2]++;cov_17v8rvbf8z().s[12]++;return callback(err,body);});}// Begin html parsing.
function parseHTML(results,callback){cov_17v8rvbf8z().f[3]++;var $=(cov_17v8rvbf8z().s[13]++,_cheerio["default"].load(results.getHTML));// Check if profile exists.
var isFound=(cov_17v8rvbf8z().s[14]++,$('.content-box h1').text()!=='Profile Not Found');cov_17v8rvbf8z().s[15]++;if(!isFound){cov_17v8rvbf8z().b[3][0]++;cov_17v8rvbf8z().s[16]++;return callback(new Error('Profile not found'));}else{cov_17v8rvbf8z().b[3][1]++;}var parsed=(cov_17v8rvbf8z().s[17]++,{user:$('.header-masthead').text(),level:$('.player-level div').first().text(),portrait:$('.player-portrait').attr('src'),permission:$('.masthead-permission-level-text').text(),endorsementLevel:$('.masthead .endorsement-level div').last().text(),endorsementFrameEl:$('.masthead .EndorsementIcon').attr('style'),sportsmanshipValue:$('.masthead .EndorsementIcon-border--sportsmanship').data('value'),shotcallerValue:$('.masthead .EndorsementIcon-border--shotcaller').data('value'),teammateValue:$('.masthead .EndorsementIcon-border--teammate').data('value'),quickplayWonEl:$('#quickplay td:contains("Games Won")').next().html(),quickplayPlayedEl:$('#quickplay td:contains("Games Played")').next().html(),quickplayTimePlayedEl:$('#quickplay td:contains("Time Played")').next().html(),compWonEl:$('#competitive td:contains("Games Won")').next().html(),compPlayedEl:$('#competitive td:contains("Games Played")').next().html(),compLostEl:$('#competitive td:contains("Games Lost")').next().html(),compDrawEl:$('#competitive td:contains("Games Tied")').next().html(),compTimePlayedEl:$('#competitive td:contains("Time Played")').next().html(),compRankEl:$('.competitive-rank'),levelFrameEl:$('.player-level').attr('style'),starEl:$('.player-rank').attr('style'),rankEl:$('.player-level').attr('style')});cov_17v8rvbf8z().s[18]++;if(parsed.compRankEl!==null){cov_17v8rvbf8z().b[4][0]++;cov_17v8rvbf8z().s[19]++;parsed.compRankImgTank=(cov_17v8rvbf8z().b[5][0]++,$('.competitive-rank div[data-ow-tooltip-text="Tank Skill Rating"] img').attr('src'))||(cov_17v8rvbf8z().b[5][1]++,null);cov_17v8rvbf8z().s[20]++;parsed.compRankImgDamage=(cov_17v8rvbf8z().b[6][0]++,$('.competitive-rank div[data-ow-tooltip-text="Damage Skill Rating"] img').attr('src'))||(cov_17v8rvbf8z().b[6][1]++,null);cov_17v8rvbf8z().s[21]++;parsed.compRankImgSupport=(cov_17v8rvbf8z().b[7][0]++,$('.competitive-rank div[data-ow-tooltip-text="Support Skill Rating"] img').attr('src'))||(cov_17v8rvbf8z().b[7][1]++,null);cov_17v8rvbf8z().s[22]++;parsed.compRankElTank=$('.competitive-rank div[data-ow-tooltip-text="Tank Skill Rating"]').next().html();cov_17v8rvbf8z().s[23]++;parsed.compRankElDamage=$('.competitive-rank div[data-ow-tooltip-text="Damage Skill Rating"]').next().html();cov_17v8rvbf8z().s[24]++;parsed.compRankElSupport=$('.competitive-rank div[data-ow-tooltip-text="Support Skill Rating"]').next().html();}else{cov_17v8rvbf8z().b[4][1]++;}cov_17v8rvbf8z().s[25]++;if(parsed.levelFrameEl){cov_17v8rvbf8z().b[8][0]++;cov_17v8rvbf8z().s[26]++;parsed.levelFrame=parsed.levelFrameEl.slice(21,-1).replace(/ /g,'');}else{cov_17v8rvbf8z().b[8][1]++;}cov_17v8rvbf8z().s[27]++;if(parsed.endorsementFrameEl){cov_17v8rvbf8z().b[9][0]++;cov_17v8rvbf8z().s[28]++;parsed.endorsementFrame=parsed.endorsementFrameEl.slice(21,-1).replace(/ /g,'');}else{cov_17v8rvbf8z().b[9][1]++;}cov_17v8rvbf8z().s[29]++;if(parsed.starEl){cov_17v8rvbf8z().b[10][0]++;cov_17v8rvbf8z().s[30]++;parsed.star=parsed.starEl.slice(21,-1).replace(/ /g,'');}else{cov_17v8rvbf8z().b[10][1]++;}cov_17v8rvbf8z().s[31]++;if(parsed.rankEl){cov_17v8rvbf8z().b[11][0]++;cov_17v8rvbf8z().s[32]++;parsed.rank=parsed.rankEl.slice(21,-1).replace(/ /g,'');}else{cov_17v8rvbf8z().b[11][1]++;}cov_17v8rvbf8z().s[33]++;return callback(null,parsed);}// Transform the data into a json object we can serve.
function transform(results,callback){cov_17v8rvbf8z().f[4]++;var parsed=(cov_17v8rvbf8z().s[34]++,results.parseHTML);var endorsement=(cov_17v8rvbf8z().s[35]++,{sportsmanship:{value:parsed.sportsmanshipValue,rate:parseFloat((parsed.sportsmanshipValue*100).toFixed(2))},shotcaller:{value:parsed.shotcallerValue,rate:parseFloat((parsed.shotcallerValue*100).toFixed(2))},teammate:{value:parsed.teammateValue,rate:parseFloat((parsed.teammateValue*100).toFixed(2))},level:parseInt(parsed.endorsementLevel),frame:(cov_17v8rvbf8z().b[12][0]++,parsed.endorsementFrame)||(cov_17v8rvbf8z().b[12][1]++,null)});cov_17v8rvbf8z().s[36]++;endorsement.icon=(0,_svg.createEndorsementSVG)(endorsement);var won=(cov_17v8rvbf8z().s[37]++,{});var lost=(cov_17v8rvbf8z().s[38]++,{});var draw=(cov_17v8rvbf8z().s[39]++,{});var played=(cov_17v8rvbf8z().s[40]++,{});var time=(cov_17v8rvbf8z().s[41]++,{});cov_17v8rvbf8z().s[42]++;if(parsed.quickplayWonEl!==null){cov_17v8rvbf8z().b[13][0]++;cov_17v8rvbf8z().s[43]++;won.quickplay=parsed.quickplayWonEl.trim().replace(/,/g,'');}else{cov_17v8rvbf8z().b[13][1]++;}cov_17v8rvbf8z().s[44]++;if(parsed.quickplayPlayedEl!==null){cov_17v8rvbf8z().b[14][0]++;cov_17v8rvbf8z().s[45]++;played.quickplay=parsed.quickplayPlayedEl.trim().replace(/,/g,'');}else{cov_17v8rvbf8z().b[14][1]++;}cov_17v8rvbf8z().s[46]++;if(parsed.quickplayTimePlayedEl!==null){cov_17v8rvbf8z().b[15][0]++;cov_17v8rvbf8z().s[47]++;time.quickplay=parsed.quickplayTimePlayedEl.trim().replace(/,/g,'');}else{cov_17v8rvbf8z().b[15][1]++;}cov_17v8rvbf8z().s[48]++;if(parsed.compWonEl!==null){cov_17v8rvbf8z().b[16][0]++;cov_17v8rvbf8z().s[49]++;won.competitive=parsed.compWonEl.trim().replace(/,/g,'');}else{cov_17v8rvbf8z().b[16][1]++;}cov_17v8rvbf8z().s[50]++;if(parsed.compLostEl!==null){cov_17v8rvbf8z().b[17][0]++;cov_17v8rvbf8z().s[51]++;lost.competitive=parsed.compLostEl.trim().replace(/,/g,'');}else{cov_17v8rvbf8z().b[17][1]++;}cov_17v8rvbf8z().s[52]++;if(parsed.compDrawEl!==null){cov_17v8rvbf8z().b[18][0]++;cov_17v8rvbf8z().s[53]++;draw.competitive=parsed.compDrawEl.trim().replace(/,/g,'');}else{cov_17v8rvbf8z().b[18][1]++;}cov_17v8rvbf8z().s[54]++;if(parsed.compPlayedEl!==null){cov_17v8rvbf8z().b[19][0]++;cov_17v8rvbf8z().s[55]++;played.competitive=parsed.compPlayedEl.trim().replace(/,/g,'');}else{cov_17v8rvbf8z().b[19][1]++;}cov_17v8rvbf8z().s[56]++;if(parsed.compTimePlayedEl!==null){cov_17v8rvbf8z().b[20][0]++;cov_17v8rvbf8z().s[57]++;time.competitive=parsed.compTimePlayedEl.trim().replace(/,/g,'');}else{cov_17v8rvbf8z().b[20][1]++;}// Calculate the prestige level.
var level=(cov_17v8rvbf8z().s[58]++,parsed.level);cov_17v8rvbf8z().s[59]++;if((cov_17v8rvbf8z().b[22][0]++,parsed.star)&&(cov_17v8rvbf8z().b[22][1]++,parsed.rank)){cov_17v8rvbf8z().b[21][0]++;var starsMatch=(cov_17v8rvbf8z().s[60]++,_path["default"].basename(parsed.star).split('.').slice(0,-1)[0]);var rankMatch=(cov_17v8rvbf8z().s[61]++,_path["default"].basename(parsed.rank).split('.').slice(0,-1)[0]);var stars=(cov_17v8rvbf8z().s[62]++,starsMatch?(cov_17v8rvbf8z().b[23][0]++,(0,_utils.getPrestigeStars)(starsMatch)):(cov_17v8rvbf8z().b[23][1]++,0));var rank=(cov_17v8rvbf8z().s[63]++,rankMatch?(cov_17v8rvbf8z().b[24][0]++,(0,_utils.getPrestigeLevel)(rankMatch)):(cov_17v8rvbf8z().b[24][1]++,0));var prestige=(cov_17v8rvbf8z().s[64]++,parseInt(stars)+parseInt(rank));cov_17v8rvbf8z().s[65]++;level=parseInt(parsed.level)+parseInt(prestige)*100;}else{cov_17v8rvbf8z().b[21][1]++;}var json=(cov_17v8rvbf8z().s[66]++,{username:parsed.user,level:parseInt(level),portrait:parsed.portrait,endorsement:endorsement,"private":parsed.permission==='Private Profile',games:{quickplay:{won:parseInt(won.quickplay),played:(cov_17v8rvbf8z().b[25][0]++,parseInt(played.quickplay))||(cov_17v8rvbf8z().b[25][1]++,undefined)},competitive:{won:parseInt(won.competitive),lost:parseInt(lost.competitive),draw:(cov_17v8rvbf8z().b[26][0]++,parseInt(draw.competitive))||(cov_17v8rvbf8z().b[26][1]++,0),played:parseInt(played.competitive),win_rate:parseFloat((parseInt(won.competitive)/parseInt(played.competitive-parseInt(draw.competitive))*100).toFixed(2))}},playtime:{quickplay:time.quickplay,competitive:time.competitive},competitive:{tank:{rank:parseInt(parsed.compRankElTank),rank_img:parsed.compRankImgTank},damage:{rank:parseInt(parsed.compRankElDamage),rank_img:parsed.compRankImgDamage},support:{rank:parseInt(parsed.compRankElSupport),rank_img:parsed.compRankImgSupport}},levelFrame:parsed.levelFrame,star:parsed.star});cov_17v8rvbf8z().s[67]++;return callback(null,json);}function _default(platform,region,tag,callback){cov_17v8rvbf8z().f[5]++;cov_17v8rvbf8z().s[68]++;_async["default"].auto({getHTML:_async["default"].apply(getHTML,platform,region,tag),parseHTML:['getHTML',_async["default"].apply(parseHTML)],transform:['getHTML','parseHTML',_async["default"].apply(transform)]},function(err,results){cov_17v8rvbf8z().f[6]++;cov_17v8rvbf8z().s[69]++;if(err){cov_17v8rvbf8z().b[27][0]++;cov_17v8rvbf8z().s[70]++;return callback(err);}else{cov_17v8rvbf8z().b[27][1]++;}cov_17v8rvbf8z().s[71]++;return callback(null,results.transform);});}//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInByb2ZpbGUuanMiXSwibmFtZXMiOlsiZ2V0SFRNTCIsInBsYXRmb3JtIiwicmVnaW9uIiwidGFnIiwiY2FsbGJhY2siLCJ1cmwiLCJvcHRpb25zIiwidXJpIiwiZW5jb2RlVVJJIiwiZW5jb2RpbmciLCJlcnIiLCJyZXMiLCJib2R5IiwicGFyc2VIVE1MIiwicmVzdWx0cyIsIiQiLCJjaGVlcmlvIiwibG9hZCIsImlzRm91bmQiLCJ0ZXh0IiwiRXJyb3IiLCJwYXJzZWQiLCJ1c2VyIiwibGV2ZWwiLCJmaXJzdCIsInBvcnRyYWl0IiwiYXR0ciIsInBlcm1pc3Npb24iLCJlbmRvcnNlbWVudExldmVsIiwibGFzdCIsImVuZG9yc2VtZW50RnJhbWVFbCIsInNwb3J0c21hbnNoaXBWYWx1ZSIsImRhdGEiLCJzaG90Y2FsbGVyVmFsdWUiLCJ0ZWFtbWF0ZVZhbHVlIiwicXVpY2twbGF5V29uRWwiLCJuZXh0IiwiaHRtbCIsInF1aWNrcGxheVBsYXllZEVsIiwicXVpY2twbGF5VGltZVBsYXllZEVsIiwiY29tcFdvbkVsIiwiY29tcFBsYXllZEVsIiwiY29tcExvc3RFbCIsImNvbXBEcmF3RWwiLCJjb21wVGltZVBsYXllZEVsIiwiY29tcFJhbmtFbCIsImxldmVsRnJhbWVFbCIsInN0YXJFbCIsInJhbmtFbCIsImNvbXBSYW5rSW1nVGFuayIsImNvbXBSYW5rSW1nRGFtYWdlIiwiY29tcFJhbmtJbWdTdXBwb3J0IiwiY29tcFJhbmtFbFRhbmsiLCJjb21wUmFua0VsRGFtYWdlIiwiY29tcFJhbmtFbFN1cHBvcnQiLCJsZXZlbEZyYW1lIiwic2xpY2UiLCJyZXBsYWNlIiwiZW5kb3JzZW1lbnRGcmFtZSIsInN0YXIiLCJyYW5rIiwidHJhbnNmb3JtIiwiZW5kb3JzZW1lbnQiLCJzcG9ydHNtYW5zaGlwIiwidmFsdWUiLCJyYXRlIiwicGFyc2VGbG9hdCIsInRvRml4ZWQiLCJzaG90Y2FsbGVyIiwidGVhbW1hdGUiLCJwYXJzZUludCIsImZyYW1lIiwiaWNvbiIsIndvbiIsImxvc3QiLCJkcmF3IiwicGxheWVkIiwidGltZSIsInF1aWNrcGxheSIsInRyaW0iLCJjb21wZXRpdGl2ZSIsInN0YXJzTWF0Y2giLCJwYXRoIiwiYmFzZW5hbWUiLCJzcGxpdCIsInJhbmtNYXRjaCIsInN0YXJzIiwicHJlc3RpZ2UiLCJqc29uIiwidXNlcm5hbWUiLCJnYW1lcyIsInVuZGVmaW5lZCIsIndpbl9yYXRlIiwicGxheXRpbWUiLCJ0YW5rIiwicmFua19pbWciLCJkYW1hZ2UiLCJzdXBwb3J0IiwiYXN5bmMiLCJhdXRvIiwiYXBwbHkiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7OztBQUdBO0FBQ0EsU0FBU0EsT0FBVCxDQUFpQkMsUUFBakIsRUFBMkJDLE1BQTNCLEVBQW1DQyxHQUFuQyxFQUF3Q0MsUUFBeEMsRUFBa0Q7QUFDaEQsTUFBTUMsR0FBRyxHQUFHSixRQUFRLEtBQUssSUFBYixvREFDa0NBLFFBRGxDLGNBQzhDQyxNQUQ5QyxjQUN3REMsR0FEeEQscURBRWtDRixRQUZsQyxjQUU4Q0UsR0FGOUMsQ0FBWjtBQUlBLE1BQU1HLE9BQU8sR0FBRztBQUNkQyxJQUFBQSxHQUFHLEVBQUVDLFNBQVMsQ0FBQ0gsR0FBRCxDQURBO0FBRWRJLElBQUFBLFFBQVEsRUFBRTtBQUZJLEdBQWhCO0FBS0EsU0FBTyx5QkFBUUgsT0FBUixFQUFpQixVQUFDSSxHQUFELEVBQU1DLEdBQU4sRUFBV0MsSUFBWCxFQUFvQjtBQUMxQyxXQUFPUixRQUFRLENBQUNNLEdBQUQsRUFBTUUsSUFBTixDQUFmO0FBQ0QsR0FGTSxDQUFQO0FBR0QsQyxDQUVEOzs7QUFDQSxTQUFTQyxTQUFULENBQW1CQyxPQUFuQixFQUE0QlYsUUFBNUIsRUFBc0M7QUFDcEMsTUFBTVcsQ0FBQyxHQUFHQyxvQkFBUUMsSUFBUixDQUFhSCxPQUFPLENBQUNkLE9BQXJCLENBQVYsQ0FEb0MsQ0FHcEM7OztBQUNBLE1BQU1rQixPQUFPLEdBQUdILENBQUMsQ0FB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RCxFQUFPVSxPQUFPLENBQUMrQyxTQUFmLENBQWY7QUFDRCxHQVREO0FBVUQiLCJzb3VyY2VSb290IjoiQzpcXFVzZXJzXFxBbGZcXFNvdXJjZVxcb3ZlcndhdGNoLWFwaVxcYXBpXFxzcmNcXHBhcnNlclxcIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgYXN5bmMgZnJvbSAnYXN5bmMnO1xuaW1wb3J0IGNoZWVyaW8gZnJvbSAnY2hlZXJpbyc7XG5pbXBvcnQgcmVxdWVzdCBmcm9tICdyZXF1ZXN0JztcbmltcG9ydCB7IGdldFByZXN0aWdlTGV2ZWwsIGdldFByZXN0aWdlU3RhcnMgfSBmcm9tICcuL3V0aWxzJztcbmltcG9ydCB7IGNyZWF0ZUVuZG9yc2VtZW50U1ZHIH0gZnJvbSAnLi9zdmcnO1xuXG5cbi8vIEdldCBIVE1MIGZyb20gcGxheW92ZXJ3YXRjaCBjYXJlZXIgcGFnZS5cbmZ1bmN0aW9uIGdldEhUTUwocGxhdGZvcm0sIHJlZ2lvbiwgdGFnLCBjYWxsYmFjaykge1xuICBjb25zdCB1cmwgPSBwbGF0Zm9ybSA9PT0gJ3BjJ1xuICAgID8gYGh0dHBzOi8vcGxheW92ZXJ3YXRjaC5jb20vZW4tdXMvY2FyZWVyLyR7cGxhdGZvcm19LyR7cmVnaW9ufS8ke3RhZ31gXG4gICAgOiBgaHR0cHM6Ly9wbGF5b3ZlcndhdGNoLmNvbS9lbi11cy9jYXJlZXIvJHtwbGF0Zm9ybX0vJHt0YWd9YDtcblxuICBjb25zdCBvcHRpb25zID0ge1xuICAgIHVyaTogZW5jb2RlVVJJKHVybCksXG4gICAgZW5jb2Rpbmc6ICd1dGY4J1xuICB9XG5cbiAgcmV0dXJuIHJlcXVlc3Qob3B0aW9ucywgKGVyciwgcmVzLCBib2R5KSA9PiB7XG4gICAgcmV0dXJuIGNhbGxiYWNrKGVyciwgYm9keSk7XG4gIH0pO1xufVxuXG4vLyBCZWdpbiBodG1sIHBhcnNpbmcuXG5mdW5jdGlvbiBwYXJzZUhUTUwocmVzdWx0cywgY2FsbGJhY2spIHtcbiAgY29uc3QgJCA9IGNoZWVyaW8ubG9hZChyZXN1bHRzLmdldEhUTUwpO1xuXG4gIC8vIENoZWNrIGlmIHByb2ZpbGUgZXhpc3RzLlxuICBjb25zdCBpc0ZvdW5kID0gJCgnLmNvbnRlbnQtYm94IGgxJykudGV4dCgpICE9PSAnUHJvZmlsZSBOb3QgRm91bmQnO1xuICBpZiAoIWlzRm91bmQpIHtcbiAgICByZXR1cm4gY2FsbGJhY2sobmV3IEVycm9yKCdQcm9maWxlIG5vdCBmb3VuZCcpKTtcbiAgfVxuXG4gIGNvbnN0IHBhcnNlZCA9IHtcbiAgICB1c2VyOiAkKCcuaGVhZGVyLW1hc3RoZWFkJykudGV4dCgpLFxuICAgIGxldmVsOiAkKCcucGxheWVyLWxldmVsIGRpdicpLmZpcnN0KCkudGV4dCgpLFxuICAgIHBvcnRyYWl0OiAkKCcucGxheWVyLXBvcnRyYWl0JykuYXR0cignc3JjJyksXG4gICAgcGVybWlzc2lvbjogJCgnLm1hc3RoZWFkLXBlcm1pc3Npb24tbGV2ZWwtdGV4dCcpLnRleHQoKSxcbiAgICBlbmRvcnNlbWVudExldmVsOiAkKCcubWFzdGhlYWQgLmVuZG9yc2VtZW50LWxldmVsIGRpdicpLmxhc3QoKS50ZXh0KCksXG4gICAgZW5kb3JzZW1lbnRGcmFtZUVsOiAkKCcubWFzdGhlYWQgLkVuZG9yc2VtZW50SWNvbicpLmF0dHIoJ3N0eWxlJyksXG4gICAgc3BvcnRzbWFuc2hpcFZhbHVlOiAkKCcubWFzdGhlYWQgLkVuZG9yc2VtZW50SWNvbi1ib3JkZXItLXNwb3J0c21hbnNoaXAnKS5kYXRhKCd2YWx1ZScpLFxuICAgIHNob3RjYWxsZXJWYWx1ZTogJCgnLm1hc3RoZWFkIC5FbmRvcnNlbWVudEljb24tYm9yZGVyLS1zaG90Y2FsbGVyJykuZGF0YSgndmFsdWUnKSxcbiAgICB0ZWFtbWF0ZVZhbHVlOiAkKCcubWFzdGhlYWQgLkVuZG9yc2VtZW50SWNvbi1ib3JkZXItLXRlYW1tYXRlJykuZGF0YSgndmFsdWUnKSxcbiAgICBxdWlja3BsYXlXb25FbDogJCgnI3F1aWNrcGxheSB0ZDpjb250YWlucyhcIkdhbWVzIFdvblwiKScpLm5leHQoKS5odG1sKCksXG4gICAgcXVpY2twbGF5UGxheWVkRWw6ICQoJyNxdWlja3BsYXkgdGQ6Y29udGFpbnMoXCJHYW1lcyBQbGF5ZWRcIiknKS5uZXh0KCkuaHRtbCgpLFxuICAgIHF1aWNrcGxheVRpbWVQbGF5ZWRFbDogJCgnI3F1aWNrcGxheSB0ZDpjb250YWlucyhcIlRpbWUgUGxheWVkXCIpJykubmV4dCgpLmh0bWwoKSxcbiAgICBjb21wV29uRWw6ICQoJyNjb21wZXRpdGl2ZSB0ZDpjb250YWlucyhcIkdhbWVzIFdvblwiKScpLm5leHQoKS5odG1sKCksXG4gICAgY29tcFBsYXllZEVsOiAkKCcjY29tcGV0aXRpdmUgdGQ6Y29udGFpbnMoXCJHYW1lcyBQbGF5ZWRcIiknKS5uZXh0KCkuaHRtbCgpLFxuICAgIGNvbXBMb3N0RWw6ICQoJyNjb21wZXRpdGl2ZSB0ZDpjb250YWlucyhcIkdhbWVzIExvc3RcIiknKS5uZXh0KCkuaHRtbCgpLFxuICAgIGNvbXBEcmF3RWw6ICQoJyNjb21wZXRpdGl2ZSB0ZDpjb250YWlucyhcIkdhbWVzIFRpZWRcIiknKS5uZXh0KCkuaHRtbCgpLFxuICAgIGNvbXBUaW1lUGxheWVkRWw6ICQoJyNjb21wZXRpdGl2ZSB0ZDpjb250YWlucyhcIlRpbWUgUGxheWVkXCIpJykubmV4dCgpLmh0bWwoKSxcbiAgICBjb21wUmFua0VsOiAkKCcuY29tcGV0aXRpdmUtcmFuaycpLFxuICAgIGxldmVsRnJhbWVFbDogJCgnLnBsYXllci1sZXZlbCcpLmF0dHIoJ3N0eWxlJyksXG4gICAgc3RhckVsOiAkKCcucGxheWVyLXJhbmsnKS5hdHRyKCdzdHlsZScpLFxuICAgIHJhbmtFbDogJCgnLnBsYXllci1sZXZlbCcpLmF0dHIoJ3N0eWxlJyksXG4gIH1cblxuICBpZiAocGFyc2VkLmNvbXBSYW5rRWwgIT09IG51bGwpIHtcbiAgICBwYXJzZWQuY29tcFJhbmtJbWdUYW5rID0gJCgnLmNvbXBldGl0aXZlLXJhbmsgZGl2W2RhdGEtb3ctdG9vbHRpcC10ZXh0PVwiVGFuayBTa2lsbCBSYXRpbmdcIl0gaW1nJykuYXR0cignc3JjJykgfHwgbnVsbDtcbiAgICBwYXJzZWQuY29tcFJhbmtJbWdEYW1hZ2UgPSAkKCcuY29tcGV0aXRpdmUtcmFuayBkaXZbZGF0YS1vdy10b29sdGlwLXRleHQ9XCJEYW1hZ2UgU2tpbGwgUmF0aW5nXCJdIGltZycpLmF0dHIoJ3NyYycpIHx8IG51bGw7XG4gICAgcGFyc2VkLmNvbXBSYW5rSW1nU3VwcG9ydCA9ICQoJy5jb21wZXRpdGl2ZS1yYW5rIGRpdltkYXRhLW93LXRvb2x0aXAtdGV4dD1cIlN1cHBvcnQgU2tpbGwgUmF0aW5nXCJdIGltZycpLmF0dHIoJ3NyYycpIHx8IG51bGw7XG4gICAgcGFyc2VkLmNvbXBSYW5rRWxUYW5rID0gJCgnLmNvbXBldGl0aXZlLXJhbmsgZGl2W2RhdGEtb3ctdG9vbHRpcC10ZXh0PVwiVGFuayBTa2lsbCBSYXRpbmdcIl0nKS5uZXh0KCkuaHRtbCgpO1xuICAgIHBhcnNlZC5jb21wUmFua0VsRGFtYWdlID0gJCgnLmNvbXBldGl0aXZlLXJhbmsgZGl2W2RhdGEtb3ctdG9vbHRpcC10ZXh0PVwiRGFtYWdlIFNraWxsIFJhdGluZ1wiXScpLm5leHQoKS5odG1sKCk7XG4gICAgcGFyc2VkLmNvbXBSYW5rRWxTdXBwb3J0ID0gJCgnLmNvbXBldGl0aXZlLXJhbmsgZGl2W2RhdGEtb3ctdG9vbHRpcC10ZXh0PVwiU3VwcG9ydCBTa2lsbCBSYXRpbmdcIl0nKS5uZXh0KCkuaHRtbCgpO1xuICB9XG5cbiAgaWYgKHBhcnNlZC5sZXZlbEZyYW1lRWwpIHtcbiAgICBwYXJzZWQubGV2ZWxGcmFtZSA9IHBhcnNlZC5sZXZlbEZyYW1lRWwuc2xpY2UoMjEsIC0xKS5yZXBsYWNlKC8gL2csICcnKTtcbiAgfVxuXG4gIGlmIChwYXJzZWQuZW5kb3JzZW1lbnRGcmFtZUVsKSB7XG4gICAgcGFyc2VkLmVuZG9yc2VtZW50RnJhbWUgPSBwYXJzZWQuZW5kb3JzZW1lbnRGcmFtZUVsLnNsaWNlKDIxLCAtMSkucmVwbGFjZSgvIC9nLCAnJyk7XG4gIH1cblxuICBpZiAocGFyc2VkLnN0YXJFbCkge1xuICAgIHBhcnNlZC5zdGFyID0gcGFyc2VkLnN0YXJFbC5zbGljZSgyMSwgLTEpLnJlcGxhY2UoLyAvZywgJycpO1xuICB9XG5cbiAgaWYgKHBhcnNlZC5yYW5rRWwpIHtcbiAgICBwYXJzZWQucmFuayA9IHBhcnNlZC5yYW5rRWwuc2xpY2UoMjEsIC0xKS5yZXBsYWNlKC8gL2csICcnKTtcbiAgfVxuICByZXR1cm4gY2FsbGJhY2sobnVsbCwgcGFyc2VkKTtcbn1cblxuLy8gVHJhbnNmb3JtIHRoZSBkYXRhIGludG8gYSBqc29uIG9iamVjdCB3ZSBjYW4gc2VydmUuXG5mdW5jdGlvbiB0cmFuc2Zvcm0ocmVzdWx0cywgY2FsbGJhY2spIHtcbiAgY29uc3QgeyBwYXJzZUhUTUw6IHBhcnNlZCB9ID0gcmVzdWx0cztcblxuICBjb25zdCBlbmRvcnNlbWVudCA9IHtcbiAgICBzcG9ydHNtYW5zaGlwOiB7IHZhbHVlOiBwYXJzZWQuc3BvcnRzbWFuc2hpcFZhbHVlLCByYXRlOiBwYXJzZUZsb2F0KChwYXJzZWQuc3BvcnRzbWFuc2hpcFZhbHVlICogMTAwKS50b0ZpeGVkKDIpKSB9LFxuICAgIHNob3RjYWxsZXI6IHsgdmFsdWU6IHBhcnNlZC5zaG90Y2FsbGVyVmFsdWUsIHJhdGU6IHBhcnNlRmxvYXQoKHBhcnNlZC5zaG90Y2FsbGVyVmFsdWUgKiAxMDApLnRvRml4ZWQoMikpIH0sXG4gICAgdGVhbW1hdGU6IHsgdmFsdWU6IHBhcnNlZC50ZWFtbWF0ZVZhbHVlLCByYXRlOiBwYXJzZUZsb2F0KChwYXJzZWQudGVhbW1hdGVWYWx1ZSAqIDEwMCkudG9GaXhlZCgyKSkgfSxcbiAgICBsZXZlbDogcGFyc2VJbnQocGFyc2VkLmVuZG9yc2VtZW50TGV2ZWwpLFxuICAgIGZyYW1lOiBwYXJzZWQuZW5kb3JzZW1lbnRGcmFtZSB8fCBudWxsLFxuICB9O1xuICBlbmRvcnNlbWVudC5pY29uID0gY3JlYXRlRW5kb3JzZW1lbnRTVkcoZW5kb3JzZW1lbnQpO1xuXG4gIGNvbnN0IHdvbiA9IHt9O1xuICBjb25zdCBsb3N0ID0ge307XG4gIGNvbnN0IGRyYXcgPSB7fTtcbiAgY29uc3QgcGxheWVkID0ge307XG4gIGNvbnN0IHRpbWUgPSB7fTtcblxuICBpZiAocGFyc2VkLnF1aWNrcGxheVdvbkVsICE9PSBudWxsKSB7XG4gICAgd29uLnF1aWNrcGxheSA9IHBhcnNlZC5xdWlja3BsYXlXb25FbC50cmltKCkucmVwbGFjZSgvLC9nLCAnJyk7XG4gIH1cblxuICBpZiAocGFyc2VkLnF1aWNrcGxheVBsYXllZEVsICE9PSBudWxsKSB7XG4gICAgcGxheWVkLnF1aWNrcGxheSA9IHBhcnNlZC5xdWlja3BsYXlQbGF5ZWRFbC50cmltKCkucmVwbGFjZSgvLC9nLCAnJyk7XG4gIH1cblxuICBpZiAocGFyc2VkLnF1aWNrcGxheVRpbWVQbGF5ZWRFbCAhPT0gbnVsbCkge1xuICAgIHRpbWUucXVpY2twbGF5ID0gcGFyc2VkLnF1aWNrcGxheVRpbWVQbGF5ZWRFbC50cmltKCkucmVwbGFjZSgvLC9nLCAnJyk7XG4gIH1cblxuICBpZiAocGFyc2VkLmNvbXBXb25FbCAhPT0gbnVsbCkge1xuICAgIHdvbi5jb21wZXRpdGl2ZSA9IHBhcnNlZC5jb21wV29uRWwudHJpbSgpLnJlcGxhY2UoLywvZywgJycpO1xuICB9XG5cbiAgaWYgKHBhcnNlZC5jb21wTG9zdEVsICE9PSBudWxsKSB7XG4gICAgbG9zdC5jb21wZXRpdGl2ZSA9IHBhcnNlZC5jb21wTG9zdEVsLnRyaW0oKS5yZXBsYWNlKC8sL2csICcnKTtcbiAgfVxuXG4gIGlmIChwYXJzZWQuY29tcERyYXdFbCAhPT0gbnVsbCkge1xuICAgIGRyYXcuY29tcGV0aXRpdmUgPSBwYXJzZWQuY29tcERyYXdFbC50cmltKCkucmVwbGFjZSgvLC9nLCAnJyk7XG4gIH1cblxuICBpZiAocGFyc2VkLmNvbXBQbGF5ZWRFbCAhPT0gbnVsbCkge1xuICAgIHBsYXllZC5jb21wZXRpdGl2ZSA9IHBhcnNlZC5jb21wUGxheWVkRWwudHJpbSgpLnJlcGxhY2UoLywvZywgJycpO1xuICB9XG5cbiAgaWYgKHBhcnNlZC5jb21wVGltZVBsYXllZEVsICE9PSBudWxsKSB7XG4gICAgdGltZS5jb21wZXRpdGl2ZSA9IHBhcnNlZC5jb21wVGltZVBsYXllZEVsLnRyaW0oKS5yZXBsYWNlKC8sL2csICcnKTtcbiAgfVxuXG4gIC8vIENhbGN1bGF0ZSB0aGUgcHJlc3RpZ2UgbGV2ZWwuXG4gIGxldCBsZXZlbCA9IHBhcnNlZC5sZXZlbDtcbiAgaWYgKHBhcnNlZC5zdGFyICYmIHBhcnNlZC5yYW5rKSB7XG4gICAgY29uc3Qgc3RhcnNNYXRjaCA9IHBhdGguYmFzZW5hbWUocGFyc2VkLnN0YXIpLnNwbGl0KCcuJykuc2xpY2UoMCwgLTEpWzBdO1xuICAgIGNvbnN0IHJhbmtNYXRjaCA9IHBhdGguYmFzZW5hbWUocGFyc2VkLnJhbmspLnNwbGl0KCcuJykuc2xpY2UoMCwgLTEpWzBdO1xuICAgIGNvbnN0IHN0YXJzID0gc3RhcnNNYXRjaCA/IGdldFByZXN0aWdlU3RhcnMoc3RhcnNNYXRjaCkgOiAwO1xuICAgIGNvbnN0IHJhbmsgPSByYW5rTWF0Y2ggPyBnZXRQcmVzdGlnZUxldmVsKHJhbmtNYXRjaCkgOiAwO1xuICAgIGNvbnN0IHByZXN0aWdlID0gcGFyc2VJbnQoc3RhcnMpICsgcGFyc2VJbnQocmFuayk7XG4gICAgbGV2ZWwgPSBwYXJzZUludChwYXJzZWQubGV2ZWwpICsgKHBhcnNlSW50KHByZXN0aWdlKSAqIDEwMCk7XG4gIH1cblxuICBjb25zdCBqc29uID0ge1xuICAgIHVzZXJuYW1lOiBwYXJzZWQudXNlcixcbiAgICBsZXZlbDogcGFyc2VJbnQobGV2ZWwpLFxuICAgIHBvcnRyYWl0OiBwYXJzZWQucG9ydHJhaXQsXG4gICAgZW5kb3JzZW1lbnQ6IGVuZG9yc2VtZW50LFxuICAgIHByaXZhdGU6IHBhcnNlZC5wZXJtaXNzaW9uID09PSAnUHJpdmF0ZSBQcm9maWxlJyxcbiAgICBnYW1lczoge1xuICAgICAgcXVpY2twbGF5OiB7XG4gICAgICAgIHdvbjogcGFyc2VJbnQod29uLnF1aWNrcGxheSksXG4gICAgICAgIHBsYXllZDogcGFyc2VJbnQocGxheWVkLnF1aWNrcGxheSkgfHwgdW5kZWZpbmVkIFxuICAgICAgfSxcbiAgICAgIGNvbXBldGl0aXZlOiB7XG4gICAgICAgIHdvbjogcGFyc2VJbnQod29uLmNvbXBldGl0aXZlKSxcbiAgICAgICAgbG9zdDogcGFyc2VJbnQobG9zdC5jb21wZXRpdGl2ZSksXG4gICAgICAgIGRyYXc6IHBhcnNlSW50KGRyYXcuY29tcGV0aXRpdmUpIHx8IDAsXG4gICAgICAgIHBsYXllZDogcGFyc2VJbnQocGxheWVkLmNvbXBldGl0aXZlKSxcbiAgICAgICAgd2luX3JhdGU6IHBhcnNlRmxvYXQoKHBhcnNlSW50KHdvbi5jb21wZXRpdGl2ZSkgLyAocGFyc2VJbnQocGxheWVkLmNvbXBldGl0aXZlIC0gcGFyc2VJbnQoZHJhdy5jb21wZXRpdGl2ZSkpKSAqIDEwMCkudG9GaXhlZCgyKSksXG4gICAgICB9LFxuICAgIH0sXG4gICAgcGxheXRpbWU6IHsgcXVpY2twbGF5OiB0aW1lLnF1aWNrcGxheSwgY29tcGV0aXRpdmU6IHRpbWUuY29tcGV0aXRpdmUgfSxcbiAgICBjb21wZXRpdGl2ZTogeyBcbiAgICAgIHRhbms6IHtcbiAgICAgICAgcmFuazogcGFyc2VJbnQocGFyc2VkLmNvbXBSYW5rRWxUYW5rKSwgXG4gICAgICAgIHJhbmtfaW1nOiBwYXJzZWQuY29tcFJhbmtJbWdUYW5rIFxuICAgICAgfSxcbiAgICAgIGRhbWFnZToge1xuICAgICAgICByYW5rOiBwYXJzZUludChwYXJzZWQuY29tcFJhbmtFbERhbWFnZSksIFxuICAgICAgICByYW5rX2ltZzogcGFyc2VkLmNvbXBSYW5rSW1nRGFtYWdlXG4gICAgICB9LFxuICAgICAgc3VwcG9ydDoge1xuICAgICAgICByYW5rOiBwYXJzZUludChwYXJzZWQuY29tcFJhbmtFbFN1cHBvcnQpLCBcbiAgICAgICAgcmFua19pbWc6IHBhcnNlZC5jb21wUmFua0ltZ1N1cHBvcnRcbiAgICAgIH1cbiAgICB9LFxuICAgIGxldmVsRnJhbWU6IHBhcnNlZC5sZXZlbEZyYW1lLFxuICAgIHN0YXI6IHBhcnNlZC5zdGFyXG4gIH1cblxuICByZXR1cm4gY2FsbGJhY2sobnVsbCwganNvbik7XG59XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uKHBsYXRmb3JtLCByZWdpb24sIHRhZywgY2FsbGJhY2spIHtcbiAgYXN5bmMuYXV0byh7XG4gICAgZ2V0SFRNTDogYXN5bmMuYXBwbHkoZ2V0SFRNTCwgcGxhdGZvcm0sIHJlZ2lvbiwgdGFnKSxcbiAgICBwYXJzZUhUTUw6IFsnZ2V0SFRNTCcsIGFzeW5jLmFwcGx5KHBhcnNlSFRNTCldLFxuICAgIHRyYW5zZm9ybTogWydnZXRIVE1MJywgJ3BhcnNlSFRNTCcsIGFzeW5jLmFwcGx5KHRyYW5zZm9ybSldLFxuICB9LCBmdW5jdGlvbihlcnIsIHJlc3VsdHMpIHtcbiAgICBpZiAoZXJyKSB7XG4gICAgICByZXR1cm4gY2FsbGJhY2soZXJyKTtcbiAgICB9XG4gICAgcmV0dXJuIGNhbGxiYWNrKG51bGwsIHJlc3VsdHMudHJhbnNmb3JtKTtcbiAgfSk7XG59Il19
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInByb2ZpbGUuanMiXSwibmFtZXMiOlsidXJsIiwicGxhdGZvcm0iLCJvcHRpb25zIiwidXJpIiwiZW5jb2RlVVJJIiwiZW5jb2RpbmciLCJjYWxsYmFjayIsIiQiLCJjaGVlcmlvIiwicmVzdWx0cyIsImlzRm91bmQiLCJwYXJzZWQiLCJ1c2VyIiwibGV2ZWwiLCJwb3J0cmFpdCIsInBlcm1pc3Npb24iLCJlbmRvcnNlbWVudExldmVsIiwiZW5kb3JzZW1lbnRGcmFtZUVsIiwic3BvcnRzbWFuc2hpcFZhbHVlIiwic2hvdGNhbGxlclZhbHVlIiwidGVhbW1hdGVWYWx1ZSIsInF1aWNrcGxheVdvbkVsIiwicXVpY2twbGF5UGxheWVkRWwiLCJxdWlja3BsYXlUaW1lUGxheWVkRWwiLCJjb21wV29uRWwiLCJjb21wUGxheWVkRWwiLCJjb21wTG9zdEVsIiwiY29tcERyYXdFbCIsImNvbXBUaW1lUGxheWVkRWwiLCJjb21wUmFua0VsIiwibGV2ZWxGcmFtZUVsIiwic3RhckVsIiwicmFua0VsIiwiZW5kb3JzZW1lbnQiLCJzcG9ydHNtYW5zaGlwIiwidmFsdWUiLCJyYXRlIiwicGFyc2VGbG9hdCIsInNob3RjYWxsZXIiLCJ0ZWFtbWF0ZSIsInBhcnNlSW50IiwiZnJhbWUiLCJ3b24iLCJsb3N0IiwiZHJhdyIsInBsYXllZCIsInRpbWUiLCJzdGFyc01hdGNoIiwicGF0aCIsInJhbmtNYXRjaCIsInN0YXJzIiwicmFuayIsInByZXN0aWdlIiwianNvbiIsInVzZXJuYW1lIiwiZ2FtZXMiLCJxdWlja3BsYXkiLCJ1bmRlZmluZWQiLCJjb21wZXRpdGl2ZSIsIndpbl9yYXRlIiwicGxheXRpbWUiLCJ0YW5rIiwicmFua19pbWciLCJjb21wUmFua0ltZ1RhbmsiLCJkYW1hZ2UiLCJjb21wUmFua0ltZ0RhbWFnZSIsInN1cHBvcnQiLCJjb21wUmFua0ltZ1N1cHBvcnQiLCJsZXZlbEZyYW1lIiwic3RhciIsImFzeW5jIiwiZ2V0SFRNTCIsInBhcnNlSFRNTCIsInRy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QUEsQ0FBQSxRQUFBLENBQUEsUUFBQSxDQUFBLE1BQUEsQ0FBQSxHQUFBLENBQUEsUUFBQSxDQUEwQyxrREFDdkRnRSxNQUFBQSxDQUFBQSxTQUFBQSxDQUFBQSxDQUFBQSxJQUFBQSxDQUFXLENBQ1RDLE9BQU8sQ0FBRUQsTUFBQUEsQ0FBQUEsU0FBQUEsQ0FBQUEsQ0FBQUEsS0FBQUEsQ0FBQUEsT0FBQUEsQ0FBQUEsUUFBQUEsQ0FBQUEsTUFBQUEsQ0FEQSxHQUNBQSxDQURBLENBRVRFLFNBQVMsQ0FBRSxDQUFBLFNBQUEsQ0FBWUYsTUFBQUEsQ0FBQUEsU0FBQUEsQ0FBQUEsQ0FBQUEsS0FBQUEsQ0FGZCxTQUVjQSxDQUFaLENBRkYsQ0FHVEcsU0FBUyxDQUFFLENBQUEsU0FBQSxDQUFBLFdBQUEsQ0FBeUJILE1BQUFBLENBQUFBLFNBQUFBLENBQUFBLENBQUFBLEtBQUFBLENBQXpCLFNBQXlCQSxDQUF6QixDQUhGLENBQVhBLENBSUcsU0FBQSxHQUFBLENBQUEsT0FBQSxDQUF1QixrREFDeEIsR0FBQSxHQUFBLENBQVMsc0RBQ1AsTUFBT2hFLENBQUFBLFFBQVEsQ0FBZixHQUFlLENBQWYsQ0FDRCxDQUZELGtDQUR3Qix5QkFJeEIsTUFBT0EsQ0FBQUEsUUFBUSxDQUFBLElBQUEsQ0FBT0csT0FBTyxDQUE3QixTQUFlLENBQWYsQ0FSRjZELENBQUFBLEVBVUQsQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0IGFzeW5jIGZyb20gJ2FzeW5jJztcbmltcG9ydCBjaGVlcmlvIGZyb20gJ2NoZWVyaW8nO1xuaW1wb3J0IHJlcXVlc3QgZnJvbSAncmVxdWVzdCc7XG5pbXBvcnQgeyBnZXRQcmVzdGlnZUxldmVsLCBnZXRQcmVzdGlnZVN0YXJzIH0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgeyBjcmVhdGVFbmRvcnNlbWVudFNWRyB9IGZyb20gJy4vc3ZnJztcblxuXG4vLyBHZXQgSFRNTCBmcm9tIHBsYXlvdmVyd2F0Y2ggY2FyZWVyIHBhZ2UuXG5mdW5jdGlvbiBnZXRIVE1MKHBsYXRmb3JtLCByZWdpb24sIHRhZywgY2FsbGJhY2spIHtcbiAgY29uc3QgdXJsID0gcGxhdGZvcm0gPT09ICdwYydcbiAgICA/IGBodHRwczovL3BsYXlvdmVyd2F0Y2guY29tL2VuLXVzL2NhcmVlci8ke3BsYXRmb3JtfS8ke3JlZ2lvbn0vJHt0YWd9YFxuICAgIDogYGh0dHBzOi8vcGxheW92ZXJ3YXRjaC5jb20vZW4tdXMvY2FyZWVyLyR7cGxhdGZvcm19LyR7dGFnfWA7XG5cbiAgY29uc3Qgb3B0aW9ucyA9IHtcbiAgICB1cmk6IGVuY29kZVVSSSh1cmwpLFxuICAgIGVuY29kaW5nOiAndXRmOCdcbiAgfVxuXG4gIHJldHVybiByZXF1ZXN0KG9wdGlvbnMsIChlcnIsIHJlcywgYm9keSkgPT4ge1xuICAgIHJldHVybiBjYWxsYmFjayhlcnIsIGJvZHkpO1xuICB9KTtcbn1cblxuLy8gQmVnaW4gaHRtbCBwYXJzaW5nLlxuZnVuY3Rpb24gcGFyc2VIVE1MKHJlc3VsdHMsIGNhbGxiYWNrKSB7XG4gIGNvbnN0ICQgPSBjaGVlcmlvLmxvYWQocmVzdWx0cy5nZXRIVE1MKTtcblxuICAvLyBDaGVjayBpZiBwcm9maWxlIGV4aXN0cy5cbiAgY29uc3QgaXNGb3VuZCA9ICQoJy5jb250ZW50LWJveCBoMScpLnRleHQoKSAhPT0gJ1Byb2ZpbGUgTm90IEZvdW5kJztcbiAgaWYgKCFpc0ZvdW5kKSB7XG4gICAgcmV0dXJuIGNhbGxiYWNrKG5ldyBFcnJvcignUHJvZmlsZSBub3QgZm91bmQnKSk7XG4gIH1cblxuICBjb25zdCBwYXJzZWQgPSB7XG4gICAgdXNlcjogJCgnLmhlYWRlci1tYXN0aGVhZCcpLnRleHQoKSxcbiAgICBsZXZlbDogJCgnLnBsYXllci1sZXZlbCBkaXYnKS5maXJzdCgpLnRleHQoKSxcbiAgICBwb3J0cmFpdDogJCgnLnBsYXllci1wb3J0cmFpdCcpLmF0dHIoJ3NyYycpLFxuICAgIHBlcm1pc3Npb246ICQoJy5tYXN0aGVhZC1wZXJtaXNzaW9uLWxldmVsLXRleHQnKS50ZXh0KCksXG4gICAgZW5kb3JzZW1lbnRMZXZlbDogJCgnLm1hc3RoZWFkIC5lbmRvcnNlbWVudC1sZXZlbCBkaXYnKS5sYXN0KCkudGV4dCgpLFxuICAgIGVuZG9yc2VtZW50RnJhbWVFbDogJCgnLm1hc3RoZWFkIC5FbmRvcnNlbWVudEljb24nKS5hdHRyKCdzdHlsZScpLFxuICAgIHNwb3J0c21hbnNoaXBWYWx1ZTogJCgnLm1hc3RoZWFkIC5FbmRvcnNlbWVudEljb24tYm9yZGVyLS1zcG9ydHNtYW5zaGlwJykuZGF0YSgndmFsdWUnKSxcbiAgICBzaG90Y2FsbGVyVmFsdWU6ICQoJy5tYXN0aGVhZCAuRW5kb3JzZW1lbnRJY29uLWJvcmRlci0tc2hvdGNhbGxlcicpLmRhdGEoJ3ZhbHVlJyksXG4gICAgdGVhbW1hdGVWYWx1ZTogJCgnLm1hc3RoZWFkIC5FbmRvcnNlbWVudEljb24tYm9yZGVyLS10ZWFtbWF0ZScpLmRhdGEoJ3ZhbHVlJyksXG4gICAgcXVpY2twbGF5V29uRWw6ICQoJyNxdWlja3BsYXkgdGQ6Y29udGFpbnMoXCJHYW1lcyBXb25cIiknKS5uZXh0KCkuaHRtbCgpLFxuICAgIHF1aWNrcGxheVBsYXllZEVsOiAkKCcjcXVpY2twbGF5IHRkOmNvbnRhaW5zKFwiR2FtZXMgUGxheWVkXCIpJykubmV4dCgpLmh0bWwoKSxcbiAgICBxdWlja3BsYXlUaW1lUGxheWVkRWw6ICQoJyNxdWlja3BsYXkgdGQ6Y29udGFpbnMoXCJUaW1lIFBsYXllZFwiKScpLm5leHQoKS5odG1sKCksXG4gICAgY29tcFdvbkVsOiAkKCcjY29tcGV0aXRpdmUgdGQ6Y29udGFpbnMoXCJHYW1lcyBXb25cIiknKS5uZXh0KCkuaHRtbCgpLFxuICAgIGNvbXBQbGF5ZWRFbDogJCgnI2NvbXBldGl0aXZlIHRkOmNvbnRhaW5zKFwiR2FtZXMgUGxheWVkXCIpJykubmV4dCgpLmh0bWwoKSxcbiAgICBjb21wTG9zdEVsOiAkKCcjY29tcGV0aXRpdmUgdGQ6Y29udGFpbnMoXCJHYW1lcyBMb3N0XCIpJykubmV4dCgpLmh0bWwoKSxcbiAgICBjb21wRHJhd0VsOiAkKCcjY29tcGV0aXRpdmUgdGQ6Y29udGFpbnMoXCJHYW1lcyBUaWVkXCIpJykubmV4dCgpLmh0bWwoKSxcbiAgICBjb21wVGltZVBsYXllZEVsOiAkKCcjY29tcGV0aXRpdmUgdGQ6Y29udGFpbnMoXCJUaW1lIFBsYXllZFwiKScpLm5leHQoKS5odG1sKCksXG4gICAgY29tcFJhbmtFbDogJCgnLmNvbXBldGl0aXZlLXJhbmsnKSxcbiAgICBsZXZlbEZyYW1lRWw6ICQoJy5wbGF5ZXItbGV2ZWwnKS5hdHRyKCdzdHlsZScpLFxuICAgIHN0YXJFbDogJCgnLnBsYXllci1yYW5rJykuYXR0cignc3R5bGUnKSxcbiAgICByYW5rRWw6ICQoJy5wbGF5ZXItbGV2ZWwnKS5hdHRyKCdzdHlsZScpLFxuICB9XG5cbiAgaWYgKHBhcnNlZC5jb21wUmFua0VsICE9PSBudWxsKSB7XG4gICAgcGFyc2VkLmNvbXBSYW5rSW1nVGFuayA9ICQoJy5jb21wZXRpdGl2ZS1yYW5rIGRpdltkYXRhLW93LXRvb2x0aXAtdGV4dD1cIlRhbmsgU2tpbGwgUmF0aW5nXCJdIGltZycpLmF0dHIoJ3NyYycpIHx8IG51bGw7XG4gICAgcGFyc2VkLmNvbXBSYW5rSW1nRGFtYWdlID0gJCgnLmNvbXBldGl0aXZlLXJhbmsgZGl2W2RhdGEtb3ctdG9vbHRpcC10ZXh0PVwiRGFtYWdlIFNraWxsIFJhdGluZ1wiXSBpbWcnKS5hdHRyKCdzcmMnKSB8fCBudWxsO1xuICAgIHBhcnNlZC5jb21wUmFua0ltZ1N1cHBvcnQgPSAkKCcuY29tcGV0aXRpdmUtcmFuayBkaXZbZGF0YS1vdy10b29sdGlwLXRleHQ9XCJTdXBwb3J0IFNraWxsIFJhdGluZ1wiXSBpbWcnKS5hdHRyKCdzcmMnKSB8fCBudWxsO1xuICAgIHBhcnNlZC5jb21wUmFua0VsVGFuayA9ICQoJy5jb21wZXRpdGl2ZS1yYW5rIGRpdltkYXRhLW93LXRvb2x0aXAtdGV4dD1cIlRhbmsgU2tpbGwgUmF0aW5nXCJdJykubmV4dCgpLmh0bWwoKTtcbiAgICBwYXJzZWQuY29tcFJhbmtFbERhbWFnZSA9ICQoJy5jb21wZXRpdGl2ZS1yYW5rIGRpdltkYXRhLW93LXRvb2x0aXAtdGV4dD1cIkRhbWFnZSBTa2lsbCBSYXRpbmdcIl0nKS5uZXh0KCkuaHRtbCgpO1xuICAgIHBhcnNlZC5jb21wUmFua0VsU3VwcG9ydCA9ICQoJy5jb21wZXRpdGl2ZS1yYW5rIGRpdltkYXRhLW93LXRvb2x0aXAtdGV4dD1cIlN1cHBvcnQgU2tpbGwgUmF0aW5nXCJdJykubmV4dCgpLmh0bWwoKTtcbiAgfVxuXG4gIGlmIChwYXJzZWQubGV2ZWxGcmFtZUVsKSB7XG4gICAgcGFyc2VkLmxldmVsRnJhbWUgPSBwYXJzZWQubGV2ZWxGcmFtZUVsLnNsaWNlKDIxLCAtMSkucmVwbGFjZSgvIC9nLCAnJyk7XG4gIH1cblxuICBpZiAocGFyc2VkLmVuZG9yc2VtZW50RnJhbWVFbCkge1xuICAgIHBhcnNlZC5lbmRvcnNlbWVudEZyYW1lID0gcGFyc2VkLmVuZG9yc2VtZW50RnJhbWVFbC5zbGljZSgyMSwgLTEpLnJlcGxhY2UoLyAvZywgJycpO1xuICB9XG5cbiAgaWYgKHBhcnNlZC5zdGFyRWwpIHtcbiAgICBwYXJzZWQuc3RhciA9IHBhcnNlZC5zdGFyRWwuc2xpY2UoMjEsIC0xKS5yZXBsYWNlKC8gL2csICcnKTtcbiAgfVxuXG4gIGlmIChwYXJzZWQucmFua0VsKSB7XG4gICAgcGFyc2VkLnJhbmsgPSBwYXJzZWQucmFua0VsLnNsaWNlKDIxLCAtMSkucmVwbGFjZSgvIC9nLCAnJyk7XG4gIH1cbiAgcmV0dXJuIGNhbGxiYWNrKG51bGwsIHBhcnNlZCk7XG59XG5cbi8vIFRyYW5zZm9ybSB0aGUgZGF0YSBpbnRvIGEganNvbiBvYmplY3Qgd2UgY2FuIHNlcnZlLlxuZnVuY3Rpb24gdHJhbnNmb3JtKHJlc3VsdHMsIGNhbGxiYWNrKSB7XG4gIGNvbnN0IHsgcGFyc2VIVE1MOiBwYXJzZWQgfSA9IHJlc3VsdHM7XG5cbiAgY29uc3QgZW5kb3JzZW1lbnQgPSB7XG4gICAgc3BvcnRzbWFuc2hpcDogeyB2YWx1ZTogcGFyc2VkLnNwb3J0c21hbnNoaXBWYWx1ZSwgcmF0ZTogcGFyc2VGbG9hdCgocGFyc2VkLnNwb3J0c21hbnNoaXBWYWx1ZSAqIDEwMCkudG9GaXhlZCgyKSkgfSxcbiAgICBzaG90Y2FsbGVyOiB7IHZhbHVlOiBwYXJzZWQuc2hvdGNhbGxlclZhbHVlLCByYXRlOiBwYXJzZUZsb2F0KChwYXJzZWQuc2hvdGNhbGxlclZhbHVlICogMTAwKS50b0ZpeGVkKDIpKSB9LFxuICAgIHRlYW1tYXRlOiB7IHZhbHVlOiBwYXJzZWQudGVhbW1hdGVWYWx1ZSwgcmF0ZTogcGFyc2VGbG9hdCgocGFyc2VkLnRlYW1tYXRlVmFsdWUgKiAxMDApLnRvRml4ZWQoMikpIH0sXG4gICAgbGV2ZWw6IHBhcnNlSW50KHBhcnNlZC5lbmRvcnNlbWVudExldmVsKSxcbiAgICBmcmFtZTogcGFyc2VkLmVuZG9yc2VtZW50RnJhbWUgfHwgbnVsbCxcbiAgfTtcbiAgZW5kb3JzZW1lbnQuaWNvbiA9IGNyZWF0ZUVuZG9yc2VtZW50U1ZHKGVuZG9yc2VtZW50KTtcblxuICBjb25zdCB3b24gPSB7fTtcbiAgY29uc3QgbG9zdCA9IHt9O1xuICBjb25zdCBkcmF3ID0ge307XG4gIGNvbnN0IHBsYXllZCA9IHt9O1xuICBjb25zdCB0aW1lID0ge307XG5cbiAgaWYgKHBhcnNlZC5xdWlja3BsYXlXb25FbCAhPT0gbnVsbCkge1xuICAgIHdvbi5xdWlja3BsYXkgPSBwYXJzZWQucXVpY2twbGF5V29uRWwudHJpbSgpLnJlcGxhY2UoLywvZywgJycpO1xuICB9XG5cbiAgaWYgKHBhcnNlZC5xdWlja3BsYXlQbGF5ZWRFbCAhPT0gbnVsbCkge1xuICAgIHBsYXllZC5xdWlja3BsYXkgPSBwYXJzZWQucXVpY2twbGF5UGxheWVkRWwudHJpbSgpLnJlcGxhY2UoLywvZywgJycpO1xuICB9XG5cbiAgaWYgKHBhcnNlZC5xdWlja3BsYXlUaW1lUGxheWVkRWwgIT09IG51bGwpIHtcbiAgICB0aW1lLnF1aWNrcGxheSA9IHBhcnNlZC5xdWlja3BsYXlUaW1lUGxheWVkRWwudHJpbSgpLnJlcGxhY2UoLywvZywgJycpO1xuICB9XG5cbiAgaWYgKHBhcnNlZC5jb21wV29uRWwgIT09IG51bGwpIHtcbiAgICB3b24uY29tcGV0aXRpdmUgPSBwYXJzZWQuY29tcFdvbkVsLnRyaW0oKS5yZXBsYWNlKC8sL2csICcnKTtcbiAgfVxuXG4gIGlmIChwYXJzZWQuY29tcExvc3RFbCAhPT0gbnVsbCkge1xuICAgIGxvc3QuY29tcGV0aXRpdmUgPSBwYXJzZWQuY29tcExvc3RFbC50cmltKCkucmVwbGFjZSgvLC9nLCAnJyk7XG4gIH1cblxuICBpZiAocGFyc2VkLmNvbXBEcmF3RWwgIT09IG51bGwpIHtcbiAgICBkcmF3LmNvbXBldGl0aXZlID0gcGFyc2VkLmNvbXBEcmF3RWwudHJpbSgpLnJlcGxhY2UoLywvZywgJycpO1xuICB9XG5cbiAgaWYgKHBhcnNlZC5jb21wUGxheWVkRWwgIT09IG51bGwpIHtcbiAgICBwbGF5ZWQuY29tcGV0aXRpdmUgPSBwYXJzZWQuY29tcFBsYXllZEVsLnRyaW0oKS5yZXBsYWNlKC8sL2csICcnKTtcbiAgfVxuXG4gIGlmIChwYXJzZWQuY29tcFRpbWVQbGF5ZWRFbCAhPT0gbnVsbCkge1xuICAgIHRpbWUuY29tcGV0aXRpdmUgPSBwYXJzZWQuY29tcFRpbWVQbGF5ZWRFbC50cmltKCkucmVwbGFjZSgvLC9nLCAnJyk7XG4gIH1cblxuICAvLyBDYWxjdWxhdGUgdGhlIHByZXN0aWdlIGxldmVsLlxuICBsZXQgbGV2ZWwgPSBwYXJzZWQubGV2ZWw7XG4gIGlmIChwYXJzZWQuc3RhciAmJiBwYXJzZWQucmFuaykge1xuICAgIGNvbnN0IHN0YXJzTWF0Y2ggPSBwYXRoLmJhc2VuYW1lKHBhcnNlZC5zdGFyKS5zcGxpdCgnLicpLnNsaWNlKDAsIC0xKVswXTtcbiAgICBjb25zdCByYW5rTWF0Y2ggPSBwYXRoLmJhc2VuYW1lKHBhcnNlZC5yYW5rKS5zcGxpdCgnLicpLnNsaWNlKDAsIC0xKVswXTtcbiAgICBjb25zdCBzdGFycyA9IHN0YXJzTWF0Y2ggPyBnZXRQcmVzdGlnZVN0YXJzKHN0YXJzTWF0Y2gpIDogMDtcbiAgICBjb25zdCByYW5rID0gcmFua01hdGNoID8gZ2V0UHJlc3RpZ2VMZXZlbChyYW5rTWF0Y2gpIDogMDtcbiAgICBjb25zdCBwcmVzdGlnZSA9IHBhcnNlSW50KHN0YXJzKSArIHBhcnNlSW50KHJhbmspO1xuICAgIGxldmVsID0gcGFyc2VJbnQocGFyc2VkLmxldmVsKSArIChwYXJzZUludChwcmVzdGlnZSkgKiAxMDApO1xuICB9XG5cbiAgY29uc3QganNvbiA9IHtcbiAgICB1c2VybmFtZTogcGFyc2VkLnVzZXIsXG4gICAgbGV2ZWw6IHBhcnNlSW50KGxldmVsKSxcbiAgICBwb3J0cmFpdDogcGFyc2VkLnBvcnRyYWl0LFxuICAgIGVuZG9yc2VtZW50OiBlbmRvcnNlbWVudCxcbiAgICBwcml2YXRlOiBwYXJzZWQucGVybWlzc2lvbiA9PT0gJ1ByaXZhdGUgUHJvZmlsZScsXG4gICAgZ2FtZXM6IHtcbiAgICAgIHF1aWNrcGxheToge1xuICAgICAgICB3b246IHBhcnNlSW50KHdvbi5xdWlja3BsYXkpLFxuICAgICAgICBwbGF5ZWQ6IHBhcnNlSW50KHBsYXllZC5xdWlja3BsYXkpIHx8IHVuZGVmaW5lZCBcbiAgICAgIH0sXG4gICAgICBjb21wZXRpdGl2ZToge1xuICAgICAgICB3b246IHBhcnNlSW50KHdvbi5jb21wZXRpdGl2ZSksXG4gICAgICAgIGxvc3Q6IHBhcnNlSW50KGxvc3QuY29tcGV0aXRpdmUpLFxuICAgICAgICBkcmF3OiBwYXJzZUludChkcmF3LmNvbXBldGl0aXZlKSB8fCAwLFxuICAgICAgICBwbGF5ZWQ6IHBhcnNlSW50KHBsYXllZC5jb21wZXRpdGl2ZSksXG4gICAgICAgIHdpbl9yYXRlOiBwYXJzZUZsb2F0KChwYXJzZUludCh3b24uY29tcGV0aXRpdmUpIC8gKHBhcnNlSW50KHBsYXllZC5jb21wZXRpdGl2ZSAtIHBhcnNlSW50KGRyYXcuY29tcGV0aXRpdmUpKSkgKiAxMDApLnRvRml4ZWQoMikpLFxuICAgICAgfSxcbiAgICB9LFxuICAgIHBsYXl0aW1lOiB7IHF1aWNrcGxheTogdGltZS5xdWlja3BsYXksIGNvbXBldGl0aXZlOiB0aW1lLmNvbXBldGl0aXZlIH0sXG4gICAgY29tcGV0aXRpdmU6IHsgXG4gICAgICB0YW5rOiB7XG4gICAgICAgIHJhbms6IHBhcnNlSW50KHBhcnNlZC5jb21wUmFua0VsVGFuayksIFxuICAgICAgICByYW5rX2ltZzogcGFyc2VkLmNvbXBSYW5rSW1nVGFuayBcbiAgICAgIH0sXG4gICAgICBkYW1hZ2U6IHtcbiAgICAgICAgcmFuazogcGFyc2VJbnQocGFyc2VkLmNvbXBSYW5rRWxEYW1hZ2UpLCBcbiAgICAgICAgcmFua19pbWc6IHBhcnNlZC5jb21wUmFua0ltZ0RhbWFnZVxuICAgICAgfSxcbiAgICAgIHN1cHBvcnQ6IHtcbiAgICAgICAgcmFuazogcGFyc2VJbnQocGFyc2VkLmNvbXBSYW5rRWxTdXBwb3J0KSwgXG4gICAgICAgIHJhbmtfaW1nOiBwYXJzZWQuY29tcFJhbmtJbWdTdXBwb3J0XG4gICAgICB9XG4gICAgfSxcbiAgICBsZXZlbEZyYW1lOiBwYXJzZWQubGV2ZWxGcmFtZSxcbiAgICBzdGFyOiBwYXJzZWQuc3RhclxuICB9XG5cbiAgcmV0dXJuIGNhbGxiYWNrKG51bGwsIGpzb24pO1xufVxuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbihwbGF0Zm9ybSwgcmVnaW9uLCB0YWcsIGNhbGxiYWNrKSB7XG4gIGFzeW5jLmF1dG8oe1xuICAgIGdldEhUTUw6IGFzeW5jLmFwcGx5KGdldEhUTUwsIHBsYXRmb3JtLCByZWdpb24sIHRhZyksXG4gICAgcGFyc2VIVE1MOiBbJ2dldEhUTUwnLCBhc3luYy5hcHBseShwYXJzZUhUTUwpXSxcbiAgICB0cmFuc2Zvcm06IFsnZ2V0SFRNTCcsICdwYXJzZUhUTUwnLCBhc3luYy5hcHBseSh0cmFuc2Zvcm0pXSxcbiAgfSwgZnVuY3Rpb24oZXJyLCByZXN1bHRzKSB7XG4gICAgaWYgKGVycikge1xuICAgICAgcmV0dXJuIGNhbGxiYWNrKGVycik7XG4gICAgfVxuICAgIHJldHVybiBjYWxsYmFjayhudWxsLCByZXN1bHRzLnRyYW5zZm9ybSk7XG4gIH0pO1xufSJdLCJzb3VyY2VSb290IjoiQzpcXFVzZXJzXFxBbGZcXFNvdXJjZVxcb3ZlcndhdGNoLWFwaVxcYXBpXFxzcmNcXHBhcnNlclxcIn0=