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

colorcat

Package Overview
Dependencies
Maintainers
1
Versions
60
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

colorcat - npm Package Compare versions

Comparing version 2.12.0 to 2.13.0

28

js/colorcat.js

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

// koffee 0.56.0
// koffee 1.4.0

@@ -310,7 +310,12 @@ /*

colorStream = function(stream, pattern) {
var lineno;
var buffer, lineno;
lineno = 0;
buffer = '';
return stream.on('data', function(chunk) {
var colorLines, lines;
lines = chunk.split('\n');
if (!chunk.endsWith('\n')) {
buffer += chunk;
return;
}
lines = (buffer + chunk).split('\n');
colorLines = lines.map(function(l) {

@@ -330,3 +335,4 @@ return pattern(l);

}
return console.log(colorLines.join('\n'));
console.log(colorLines.join('\n'));
return buffer = '';
});

@@ -336,7 +342,12 @@ };

syntaxStream = function(stream, ext) {
var lineno;
var buffer, lineno;
lineno = 0;
buffer = '';
return stream.on('data', function(chunk) {
var colorLines, index, lines, ref2, rngs, t;
lines = chunk.split('\n');
if (!chunk.endsWith('\n')) {
buffer += chunk;
return;
}
lines = (buffer + chunk).split('\n');
colorLines = [];

@@ -355,3 +366,4 @@ rngs = klor.dissect(lines, ext);

}
return console.log(colorLines.join('\n'));
console.log(colorLines.join('\n'));
return buffer = '';
});

@@ -390,3 +402,3 @@ };

//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3JjYXQuanMiLCJzb3VyY2VSb290IjoiLiIsInNvdXJjZXMiOlsiIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUE7Ozs7Ozs7QUFBQSxJQUFBLG1XQUFBO0lBQUE7O0FBVUEsSUFBQSxHQUFPLE9BQUEsQ0FBUSxNQUFSOztBQUNQLElBQUEsR0FBTyxPQUFBLENBQVEsTUFBUjs7QUFFUCxLQUFBLEdBQVEsSUFBSSxDQUFDOztBQUNiLEtBQUssQ0FBQyxTQUFOLENBQUE7O0FBRUEsT0FBQSxHQUFVOztBQVFWLElBQUEsR0FBTyxTQUFDLENBQUQsRUFBSSxDQUFKO0lBQ0gsQ0FBQSxHQUFJLE1BQUEsQ0FBTyxDQUFQO0FBQ0osV0FBTSxDQUFDLENBQUMsTUFBRixHQUFXLENBQWpCO1FBQXdCLENBQUEsSUFBSztJQUE3QjtXQUNBO0FBSEc7O0FBS1AsSUFBQSxHQUNJO0lBQUEsS0FBQSxFQUFTLEdBQVQ7SUFDQSxJQUFBLEVBQVMsR0FEVDtJQUVBLE9BQUEsRUFBUyxHQUZUO0lBR0EsSUFBQSxFQUFTLEdBSFQ7SUFJQSxNQUFBLEVBQVMsR0FKVDtJQUtBLEtBQUEsRUFBUyxHQUxUO0lBTUEsR0FBQSxFQUFTLEdBTlQ7OztBQVFKLFVBQUEsR0FBYTs7QUFDYixLQUFBLFNBQUE7O0lBRUksTUFBQSxHQUFTO0FBQ1QsWUFBTyxDQUFQO0FBQUEsYUFDUyxHQURUO0FBQUEsYUFDWSxHQURaO0FBQ1k7QUFEWjtBQUdRLGlCQUFTLDBCQUFUO2dCQUNJLE1BQUEsR0FBUyxDQUFBLEdBQUU7Z0JBQ1gsTUFBQSxJQUFVLEtBQU0sQ0FBQSxNQUFBLENBQU4sQ0FBYyxHQUFBLEdBQU0sTUFBTixHQUFlLEdBQTdCO0FBRmQ7QUFIUjtJQU9BLFVBQUEsSUFBYyxNQUFBLEdBQU8sQ0FBUCxHQUFTLGtCQUFULEdBQTJCLElBQUssQ0FBQSxDQUFBLENBQWhDLEdBQW1DLE9BQW5DLEdBQXlDLENBQUMsS0FBTSxDQUFBLENBQUEsQ0FBTixDQUFTLElBQVQsQ0FBRCxDQUF6QyxH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QUFaLENBRnNCO0FBRjlCLEtBSko7Q0FBQSxNQUFBO0lBWUksT0FBTyxDQUFDLEtBQUssQ0FBQyxXQUFkLENBQTBCLE1BQTFCO0lBRUEsSUFBRyxJQUFJLENBQUMsR0FBTCxJQUFhLFFBQUEsSUFBSSxDQUFDLEdBQUwsRUFBQSxhQUFZLElBQUksQ0FBQyxJQUFqQixFQUFBLElBQUEsTUFBQSxDQUFoQjtRQUNJLFlBQUEsQ0FBYSxPQUFPLENBQUMsS0FBckIsRUFBNEIsSUFBSSxDQUFDLEdBQWpDLEVBREo7S0FBQSxNQUFBO1FBR0ksV0FBQSxDQUFZLE9BQU8sQ0FBQyxLQUFwQixFQUEyQixXQUFBLENBQUEsQ0FBM0IsRUFISjtLQWRKIiwic291cmNlc0NvbnRlbnQiOlsiIyMjXG4gMDAwMDAwMCAgIDAwMDAwMDAgICAwMDAgICAgICAgMDAwMDAwMCAgIDAwMDAwMDAwICAgIDAwMDAwMDAgICAwMDAwMDAwICAgMDAwMDAwMDAwXG4wMDAgICAgICAgMDAwICAgMDAwICAwMDAgICAgICAwMDAgICAwMDAgIDAwMCAgIDAwMCAgMDAwICAgICAgIDAwMCAgIDAwMCAgICAgMDAwICAgXG4wMDAgICAgICAgMDAwICAgMDAwICAwMDAgICAgICAwMDAgICAwMDAgIDAwMDAwMDAgICAgMDAwICAgICAgIDAwMDAwMDAwMCAgICAgMDAwICAgXG4wMDAgICAgICAgMDAwICAgMDAwICAwMDAgICAgICAwMDAgICAwMDAgIDAwMCAgIDAwMCAgMDAwICAgICAgIDAwMCAgIDAwMCAgICAgMDAwICAgXG4gMDAwMDAwMCAgIDAwMDAwMDAgICAwMDAwMDAwICAgMDAwMDAwMCAgIDAwMCAgIDAwMCAgIDAwMDAwMDAgIDAwMCAgIDAwMCAgICAgMDAwICAgXG4jIyNcblxuIyDilrhzdGFydCAnY29sb3JjYXQnXG5cbmtsb3IgPSByZXF1aXJlICdrbG9yJ1xua2FyZyA9IHJlcXVpcmUgJ2thcmcnXG5cbmtvbG9yID0ga2xvci5rb2xvclxua29sb3IuZ2xvYmFsaXplKClcblxuTkVXTElORSA9IC9cXHI/XFxuL1xuXG4jICAwMDAwMDAwICAgMDAwMDAwMDAgICAgMDAwMDAwMCAgICAwMDAwMDAwXG4jIDAwMCAgIDAwMCAgMDAwICAgMDAwICAwMDAgICAgICAgIDAwMCAgICAgXG4jIDAwMDAwMDAwMCAgMDAwMDAwMCAgICAwMDAgIDAwMDAgIDAwMDAwMDAgXG4jIDAwMCAgIDAwMCAgMDAwICAgMDAwICAwMDAgICAwMDAgICAgICAgMDAwXG4jIDAwMCAgIDAwMCAgMDAwICAgMDAwICAgMDAwMDAwMCAgIDAwMDAwMDAgXG5cbnJwYWQgPSAocywgbCkgLT5cbiAgICBzID0gU3RyaW5nIHNcbiAgICB3aGlsZSBzLmxlbmd0aCA8IGwgdGhlbiBzICs9ICcgJ1xuICAgIHNcblxudGV4dCA9IFxuICAgIHdoaXRlOiAgICd3J1xuICAgIGN5YW46ICAgICdjJ1xuICAgIG1hZ2VudGE6ICdtJ1xuICAgIGJsdWU6ICAgICdiJ1xuICAgIHllbGxvdzogICd5J1xuICAgIGdyZWVuOiAgICdnJ1xuICAgIHJlZDogICAgICdyJyBcbiAgICAgICAgXG50ZXh0Q29sb3JzID0gJydcbmZvciBjLHMgb2YgdGV4dFxuICAgIFxuICAgIHNob3J0cyA9ICcnXG4gICAgc3dpdGNoIHNcbiAgICAgICAgd2hlbiAneCcneicgdGhlblxuICAgICAgICBlbHNlXG4gICAgICAgICAgICBmb3IgaSBpbiBbMS4uOF1cbiAgICAgICAgICAgICAgICBzaG9ydGYgPSBzK2lcbiAgICAgICAgICAgICAgICBzaG9ydHMgKz0ga29sb3Jbc2hvcnRmXSAnICcgKyBzaG9ydGYgKyAnICdcbiAgICBcbiAgICB0ZXh0Q29sb3JzICs9IFwiICAgICN7Y30gIC4gPSBmYWxzZSAuIC0gI3t0ZXh0W2NdfSAuID8gI3trb2xvcltjXSAn4paI4paIJ30je2RpbSBrb2xvcltjXSAn4paI4paIJ30je3Nob3J0c31cXG5cIlxuXG5iZ3JkID0gXG4gICAgYmdSZWQ6ICAgICAnUicgXG4gICAgYmdHcmVlbjogICAnRydcbiAgICBiZ1llbGxvdzogICdZJ1xuICAgIGJnQmx1ZTogICAgJ0InXG4gICAgYmdNYWdlbnRhOiAnTSdcbiAgICBiZ0N5YW46ICAgICdDJ1xuICAgIGJnV2hpdGU6ICAgJ1cnXG4gICAgXG5iZ2Z1bmMgPSAoYykgLT5cbiAgICBzID0gYmdyZFtjXVxuICAgIHN3aXRjaCBzXG4gICAgICAgIHdoZW4gJ1onIHRoZW4gJ1cyJ1xuICAgICAgICB3aGVuICdXJyB0aGVuICdXNCdcbiAgICAgICAgZWxzZSBzKzRcbiAgICBcbmJncmRDb2xvcnMgPSAnJ1xuZm9yIGMscyBvZiBiZ3JkXG4gICAgXG4gICAgc2hvcnRzID0gJydcbiAgICBzd2l0Y2ggc1xuICAgICAgICB3aGVuICdXJ1xuICAgICAgICAgICAgZm9yIGkgaW4gWzEuLjhdXG4gICAgICAgICAgICAgICAgc2hvcnRiID0gJ1cnK2lcbiAgICAgICAgICAgICAgICBzaG9ydGYgPSAndycudG9Mb3dlckNhc2UoKSsoOS1pKVxuICAgICAgICAgICAgICAgIHNob3J0cyArPSBrb2xvcltzaG9ydGZdIGtvbG9yW3Nob3J0Yl0gJyAnICsgc2hvcnRiICsgJyAnXG4gICAgICAgICAgICBcbiAgICAgICAgd2hlbiAnWicgdGhlblxuICAgICAgICAgICAgXG4gICAgICAgIGVsc2VcbiAgICAgICAgICAgIGZvciBpIGluIFsxLi44XVxuICAgICAgICAgICAgICAgIHNob3J0YiA9IHMraVxuICAgICAgICAgICAgICAgIHNob3J0ZiA9IHMudG9Mb3dlckNhc2UoKSsoOS1pKVxuICAgICAgICAgICAgICAgIHNob3J0cyArPSBrb2xvcltzaG9ydGZdIGtvbG9yW3Nob3J0Yl0gJyAnICsgc2hvcnRiICsgJyAnXG4gICAgXG4gICAgYmdyZENvbG9ycyArPSBcIiAgICAje2N9ICAuID0gZmFsc2UgLiAtICN7YmdyZFtjXX0gLiA/ICN7cmVzZXQoa29sb3JbYmdmdW5jIGNdKFwiICAgIFwiKSl9I3tzaG9ydHN9XFxuXCJcbiAgICAgICAgXG5hcmdzID0ga2FyZyBcIlwiXCJcblxuY29sb3JjYXRcblxuICAgIGZpbGUgICAgICAgICAuID8gdGhlIGZpbGUocykgdG8gZGlzcGxheSBvciBzdGRpbiAuICoqXG4gICAgZmF0ICAgICAgICAgIC4gPyAjeyAgZ3JheSAnICAgICBib2xkJyB9ICAgICAgICAgIC4gPSBmYWxzZVxuICAgIGRpbSAgICAgICAgICAuID8gI3sgZGltIHdoaXRlICcgIOKWvOKWvCBkaW0nIH0gICAgICAgLiA9IGZhbHNlXG4je3RleHRDb2xvcnN9XG4je2JncmRDb2xvcnN9XG4gICAgZXh0ICAgICAgICAgIC4gPyB1c2Ugc3ludGF4IGhpZ2hsaWdodGluZyBmb3IgKi5leHRcbiAgICBwYXR0ZXJuICAgICAgLiA/IGNvbG9yaXplIHdpdGggcGF0dGVyblxuICAgIHBhdHRlcm5GaWxlICAuID8gY29sb3JpemUgd2l0aCBwYXR0ZXJucyBpbiBmaWxlICAgLiAtIFBcbiAgICBza2lwRW1wdHkgICAgLiA/IHNraXAgZW1wdHkgbGluZXMgICAgICAgICAgICAgICAgICAgICAgIC4gPSBmYWxzZVxuICAgIGxpbmVOdW1iZXJzICAuID8gcHJlcGVuZCBvdXRwdXQgd2l0aCBsaW5lIG51bWJlcnMgICAgICAgLiA9IGZhbHNlXG4gICAgZGVidWcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuIC0gWCAuID0gZmFsc2VcbiAgICBcbnZlcnNpb24gICAje3JlcXVpcmUoXCIje19fZGlybmFtZX0vLi4vcGFja2FnZS5qc29uXCIpLnZlcnNpb259XG5cIlwiXCJcblxuaWYgYXJncy5kZWJ1Z1xuICAgIG5vb25fc3RyaW5naWZ5ID0gcmVxdWlyZSAnbm9vbi9qcy9zdHJpbmdpZnknXG4gICAgbG9nIG5vb25fc3RyaW5naWZ5IGFyZ3MsIGNvbG9yczp0cnVlXG4gICAgXG4jICAwMDAwMDAwICAgMDAwMDAwMCAgIDAwMCAgICAgICAwMDAwMDAwICAgMDAwMDAwMDAgICAwMDAgIDAwMDAwMDAgIDAwMDAwMDAwXG4jIDAwMCAgICAgICAwMDAgICAwMDAgIDAwMCAgICAgIDAwMCAgIDAwMCAgMDAwICAgMDAwICAwMDAgICAgIDAwMCAgIDAwMCAgICAgXG4jIDAwMCAgICAgICAwMDAgICAwMDAgIDAwMCAgICAgIDAwMCAgIDAwMCAgMDAwMDAwMCAgICAwMDAgICAgMDAwICAgIDAwMDAwMDAgXG4jIDAwMCAgICAgICAwMDAgICAwMDAgIDAwMCAgICAgIDAwMCAgIDAwMCAgMDAwICAgMDAwICAwMDAgICAwMDAgICAgIDAwMCAgICAgXG4jICAwMDAwMDAwICAgMDAwMDAwMCAgIDAwMDAwMDAgICAwMDAwMDAwICAgMDAwICAgMDAwICAwMDAgIDAwMDAwMDAgIDAwMDAwMDAwXG5cbmNvbG9yaXplID0gKHN0ciwgc3RhY2spIC0+XG4gICAgdHJ5XG4gICAgICAgIHNwbCA9IHN0YWNrLm1hcCAocykgLT4gU3RyaW5nKHMpLnNwbGl0ICcuJ1xuICAgICAgICBzcGwgPSBzcGwuZmxhdCgpXG5cbiAgICAgICAgaWYgbm90ICgna2VlcCcgaW4gc3BsKVxuICAgICAgICAgICAgZm9yIHMgaW4gc3BsXG4gICAgICAgICAgICAgICAgaWYgcy5zdWJzdHIoMCwyKSA9PSAnczonXG4gICAgICAgICAgICAgICAgICAgIHN0ciA9IHMuc3Vic3RyKDIpXG4gICAgICAgICAgICAgICAgICAgIHNwbCA9IHNwbC5maWx0ZXIgKHMpIC0+IHMuc3Vic3RyKDAsMikgIT0gJ3M6J1xuICAgICAgICAgICAgICAgICAgICBicmVha1xuXG4gICAgICAgIGZvciBuIGluIHNwbFxuICAgICAgICAgICAgaWYga29sb3Jbbl0/XG4gICAgICAgICAgICAgICAgc3RyID0ga29sb3Jbbl0gc3RyXG4gICAgICAgICAgICBlbHNlIGlmIGtvbG9yW2JnZnVuYyBuXT9cbiAgICAgICAgICAgICAgICBzdHIgPSBrb2xvcltiZ2Z1bmMgbl0gc3RyXG4gICAgY2F0Y2ggZXJyXG4gICAgICAgIGVycm9yIGVyclxuICAgIHN0clxuXG4jIDAwMDAwMDAwICAwMDAgICAwMDAgIDAwMDAwMDAwICAgIDAwMDAwMDAgICAwMDAgICAwMDAgIDAwMDAwMDAgIFxuIyAwMDAgICAgICAgIDAwMCAwMDAgICAwMDAgICAwMDAgIDAwMCAgIDAwMCAgMDAwMCAgMDAwICAwMDAgICAwMDBcbiMgMDAwMDAwMCAgICAgMDAwMDAgICAgMDAwMDAwMDAgICAwMDAwMDAwMDAgIDAwMCAwIDAwMCAgMDAwICAgMDAwXG4jIDAwMCAgICAgICAgMDAwIDAwMCAgIDAwMCAgICAgICAgMDAwICAgMDAwICAwMDAgIDAwMDAgIDAwMCAgIDAwMFxuIyAwMDAwMDAwMCAgMDAwICAgMDAwICAwMDAgICAgICAgIDAwMCAgIDAwMCAgMDAwICAgMDAwICAwMDAwMDAwICBcblxucmVnZXhlcyA9IFtdXG5cbmNscmxzdCA9IE9iamVjdC5hc3NpZ24ge30sIGJncmRcbmNscmxzdCA9IE9iamVjdC5hc3NpZ24gY2xybHN0LCB0ZXh0XG5mYmdubXMgPSBrb2xvci5GR19OQU1FUy5jb25jYXQga29sb3IuQkdfTkFNRVNcbmZiZ2NvbCA9IGtvbG9yLkZHX0NPTE9SUy5jb25jYXQga29sb3IuQkdfQ09MT1JTXG5jbmFtZXMgPSBPYmplY3Qua2V5cyh0ZXh0KS5jb25jYXQgT2JqZWN0LmtleXMoYmdyZClcbmNuYW1lcyA9IGNuYW1lcy5jb25jYXQgZmJnbm1zXG5pbnZlcnQgPSB7fVxuZm9yIGssdiBvZiBjbHJsc3QgdGhlbiBpbnZlcnRbdl0gPSBrXG5pbnZlcnQuZiA9ICdib2xkJ1xuaW52ZXJ0LmQgPSAnZGltJ1xuaW52ZXJ0LmsgPSAna2VlcCdcbmludmVydC54ID0gJ2dyYXknXG5pbnZlcnQueiA9ICd3MidcbmludmVydC5aID0gJ1cxJ1xuXG5leHBhbmQgPSAoZSkgLT5cbiAgICBcbiAgICBleHBkID0gKGMpIC0+XG4gICAgICAgIGlmIGNbMF0gaW4gZmJnY29sXG4gICAgICAgICAgICBpZiBjWzAuLjFdIGluIGZiZ25tc1xuICAgICAgICAgICAgICAgIGlmIGMubGVuZ3RoID09IDIgdGhlbiByZXR1cm4gY1xuICAgICAgICAgICAgICAgIGVsc2UgICAgICAgICAgICAgICAgICByZXR1cm4gY1swLi4xXSArICcuJyArIGV4cGQgY1syLi5dXG4gICAgICAgICAgICAgICAgXG4gICAgICAgIGlmIGM/LnNwbGl0PyBhbmQgYyBub3QgaW4gY25hbWVzXG4gICAgICAgICAgICBzID0gYy5zcGxpdCAnc1xcOidcbiAgICAgICAgICAgIGlmIGludmVydFtzWzBdWzBdXVxuICAgICAgICAgICAgICAgIGlmIHNbMF0ubGVuZ3RoID09IDEgdGhlbiByID0gaW52ZXJ0W3NbMF1bMF1dXG4gICAgICAgICAgICAgICAgZWxzZSAgICAgICAgICAgICAgICAgICAgIHIgPSBpbnZlcnRbc1swXVswXV0gKyAnLicgKyBleHBkIHNbMF1bMS4uXVxuICAgICAgICAgICAgZWxzZVxuICAgICAgICAgICAgICAgICMgZXJyb3IgJ2RhZnVrPycsIGMsIHNcbiAgICAgICAgICAgICAgICByID0gJydcbiAgICAgICAgICAgIHIgKz0gJy5zOicgKyBzWzFdIGlmIHMubGVuZ3RoID4gMVxuICAgICAgICAgICAgclxuICAgICAgICBlbHNlXG4gICAgICAgICAgICBjXG4gICAgXG4gICAgZm9yIHBhdCxjbHMgb2YgZVxuICAgICAgICBpZiBjbHMgaW5zdGFuY2VvZiBBcnJheVxuICAgICAgICAgICAgZVtwYXRdID0gY2xzLm1hcCAoY2xyKSAtPiBleHBkIGNsci5zcGxpdCgnLicpWzBdXG4gICAgICAgIGVsc2VcbiAgICAgICAgICAgIGVbcGF0XSA9IGV4cGQgY2xzXG4gICAgZSBcblxuIyAwMDAwMDAwMCAgMDAwICAgMDAwICAwMDAgICAwMDAgIDAwMCAgIDAwMCAgMDAwICAgMDAwXG4jIDAwMCAgICAgICAwMDAgICAwMDAgIDAwMDAgIDAwMCAgMDAwICAwMDAgICAgMDAwIDAwMCBcbiMgMDAwMDAwICAgIDAwMCAgIDAwMCAgMDAwIDAgMDAwICAwMDAwMDAwICAgICAgMDAwMDAgIFxuIyAwMDAgICAgICAgMDAwICAgMDAwICAwMDAgIDAwMDAgIDAwMCAgMDAwICAgICAgMDAwICAgXG4jIDAwMCAgICAgICAgMDAwMDAwMCAgIDAwMCAgIDAwMCAgMDAwICAgMDAwICAgICAwMDAgICBcblxuZnVua3lUZXh0ID0gKHMpIC0+IHNcbmZ1bmt5QmdyZCA9IChzKSAtPiBzXG5cbmZvciBjIGluIE9iamVjdC5rZXlzIHRleHRcbiAgICBpZiBhcmdzW2NdXG4gICAgICAgIGZ1bmt5VGV4dCA9IGtvbG9yW2NdXG4gICAgICAgIFxuZm9yIGMgaW4gT2JqZWN0LmtleXMgYmdyZFxuICAgIGlmIGFyZ3NbY11cbiAgICAgICAgZnVua3lCZ3JkID0ga29sb3JbYmdmdW5jIGNdXG5cbmlmIGFyZ3MuZmF0XG4gICAgZmF0VGV4dCA9IChzKSAtPiBib2xkIGZ1bmt5VGV4dCBzXG5lbHNlXG4gICAgZmF0VGV4dCA9IGZ1bmt5VGV4dFxuXG5pZiBhcmdzLmRpbVxuICAgIGRpbVRleHQgPSAocykgLT4gZGltIGZhdFRleHQgc1xuZWxzZVxuICAgIGRpbVRleHQgPSBmYXRUZXh0XG5cbiMgMDAwMDAwMDAgICAgMDAwMDAwMCAgIDAwMDAwMDAwMCAgMDAwMDAwMDAwICAwMDAwMDAwMCAgMDAwMDAwMDAgICAwMDAgICAwMDAgICAwMDAwMDAwXG4jIDAwMCAgIDAwMCAgMDAwICAgMDAwICAgICAwMDAgICAgICAgIDAwMCAgICAgMDAwICAgICAgIDAwMCAgIDAwMCAgMDAwMCAgMDAwICAwMDAgICAgIFxuIyAwMDAwMDAwMCAgIDAwMDAwMDAwMCAgICAgMDAwICAgICAgICAwMDAgICAgIDAwMDAwMDAgICAwMDAwMDAwICAgIDAwMCAwIDAwMCAgMDAwMDAwMCBcbiMgMDAwICAgICAgICAwMDAgICAwMDAgICAgIDAwMCAgICAgICAgMDAwICAgICAwMDAgICAgICAgMDAwICAgMDAwICAwMDAgIDAwMDAgICAgICAgMDAwXG4jIDAwMCAgICAgICAgMDAwICAgMDAwICAgICAwMDAgICAgICAgIDAwMCAgICAgMDAwMDAwMDAgIDAwMCAgIDAwMCAgMDAwICAgMDAwICAwMDAwMDAwIFxuXG5wYXR0ZXJuRnVuYyA9IC0+XG4gICAgXG4gICAgbG9hZFN5bnRheCA9IChmKSAtPlxuICAgICAgICBmcyA9IHJlcXVpcmUgJ2ZzJ1xuICAgICAgICBpZiBmcy5leGlzdHNTeW5jIGZcbiAgICAgICAgICAgIG5vb25fbG9hZCA9IHJlcXVpcmUgJ25vb24vanMvbG9hZCdcbiAgICAgICAgICAgIGV4cGFuZCBub29uX2xvYWQgZiBcbiAgICAgICAgZWxzZVxuICAgICAgICAgICAgZXJyb3IgXCJjYW4ndCBsb2NhdGUgc3ludGF4IGZpbGUgI3tmfVwiXG4gICAgXG4gICAgaWYgYXJncy5wYXR0ZXJuP1xuICAgICAgICBub29uX3BhcnNlID0gcmVxdWlyZSAnbm9vbi9qcy9wYXJzZSdcbiAgICAgICAgcGF0dGVybnMgPSBleHBhbmQgbm9vbl9wYXJzZSBhcmdzLnBhdHRlcm5cbiAgICAgICAgIyBsb2cgcGF0dGVybnNcbiAgICBlbHNlIGlmIGFyZ3MucGF0dGVybkZpbGU/XG4gICAgICAgIHBhdHRlcm5zID0gbG9hZFN5bnRheCBhcmdzLnBhdHRlcm5GaWxlXG4gICAgXG4gICAgaWYgbm90IHBhdHRlcm5zP1xuICAgICAgICByZXR1cm4gKGNodW5rKSAtPiBmdW5reUJncmQgZGltVGV4dCBjaHVua1xuICAgICAgICBcbiAgICBtYXRjaHIgPSByZXF1aXJlICcuL21hdGNocidcbiAgICBtYXRjaHJDb25maWcgPSBtYXRjaHIuY29uZmlnIHBhdHRlcm5zXG4gICAgICAgICAgXG4gICAgcGF0dGVybiA9IChjaHVuaykgLT5cbiAgICAgICAgY2h1bmsgPSBrb2xvci5zdHJpcCBjaHVua1xuICAgICAgICBybmdzID0gbWF0Y2hyLnJhbmdlcyBtYXRjaHJDb25maWcsIGNodW5rXG4gICAgICAgIGRpc3MgPSBtYXRjaHIuZGlzc2VjdCBybmdzXG4gICAgICAgIFxuICAgICAgICBpZiBkaXNzLmxlbmd0aFxuICAgICAgICAgICAgZm9yIGRpIGluIFtkaXNzLmxlbmd0aC0xLi4wXVxuICAgICAgICAgICAgICAgIGQgPSBkaXNzW2RpXVxuICAgICAgICAgICAgICAgIGNscnpkID0gY29sb3JpemUgZC5tYXRjaCwgZC5zdGFjay5yZXZlcnNlKClcbiAgICAgICAgICAgICAgICBjaHVuayA9IGNodW5rLnNsaWNlKDAsIGQuc3RhcnQpICsgY2xyemQgKyBjaHVuay5zbGljZShkLnN0YXJ0K2QubWF0Y2gubGVuZ3RoKVxuICAgICAgICBjaHVua1xuICAgICAgICBcbiAgICByZXR1cm4gcGF0dGVyblxuXG4jICAwMDAwMDAwICAwMDAwMDAwMDAgIDAwMDAwMDAwICAgMDAwMDAwMDAgICAwMDAwMDAwICAgMDAgICAgIDAwXG4jIDAwMCAgICAgICAgICAwMDAgICAgIDAwMCAgIDAwMCAgMDAwICAgICAgIDAwMCAgIDAwMCAgMDAwICAgMDAwXG4jIDAwMDAwMDAgICAgICAwMDAgICAgIDAwMDAwMDAgICAgMDAwMDAwMCAgIDAwMDAwMDAwMCAgMDAwMDAwMDAwXG4jICAgICAgMDAwICAgICAwMDAgICAgIDAwMCAgIDAwMCAgMDAwICAgICAgIDAwMCAgIDAwMCAgMDAwIDAgMDAwXG4jIDAwMDAwMDAgICAgICAwMDAgICAgIDAwMCAgIDAwMCAgMDAwMDAwMDAgIDAwMCAgIDAwMCAgMDAwICAgMDAwXG5cbmNvbG9yU3RyZWFtID0gKHN0cmVhbSwgcGF0dGVybikgLT5cbiAgICBcbiAgICBsaW5lbm8gPSAwXG4gICAgc3RyZWFtLm9uICdkYXRhJywgKGNodW5rKSAtPlxuICAgICAgICBcbiAgICAgICAgbGluZXMgPSBjaHVuay5zcGxpdCAnXFxuJ1xuICAgICAgICBjb2xvckxpbmVzID0gbGluZXMubWFwIChsKSAtPiBwYXR0ZXJuIGxcbiAgICAgICAgXG4gICAgICAgIGlmIGFyZ3Muc2tpcEVtcHR5XG4gICAgICAgICAgICBjb2xvckxpbmVzID0gY29sb3JMaW5lcy5maWx0ZXIgKGwpIC0+IFxuICAgICAgICAgICAgICAgIGtvbG9yLnN0cmlwKGwpLmxlbmd0aCA+IDBcbiAgICAgICAgICAgICAgICBcbiAgICAgICAgaWYgYXJncy5saW5lTnVtYmVyc1xuICAgICAgICAgICAgY29sb3JMaW5lcyA9IGNvbG9yTGluZXMubWFwIChsKSAtPiBcbiAgICAgICAgICAgICAgICBsaW5lbm8gKz0gMVxuICAgICAgICAgICAgICAgIHJldHVybiBncmF5KGRpbSBycGFkKFwiI3tsaW5lbm99XCIsNikpICsgbFxuICAgICAgICAgICAgICAgIFxuICAgICAgICBsb2cgY29sb3JMaW5lcy5qb2luICdcXG4nXG4gICAgICAgIFxuc3ludGF4U3RyZWFtID0gKHN0cmVhbSwgZXh0KSAtPlxuXG4gICAgbGluZW5vID0gMFxuICAgIHN0cmVhbS5vbiAnZGF0YScsIChjaHVuaykgLT5cbiAgICAgICAgXG4gICAgICAgIGxpbmVzID0gY2h1bmsuc3BsaXQgJ1xcbidcbiAgICAgICAgY29sb3JMaW5lcyA9IFtdXG4gICAgICAgIFxuICAgICAgICBybmdzID0ga2xvci5kaXNzZWN0IGxpbmVzLCBleHRcbiAgICAgICAgZm9yIGluZGV4IGluIFswLi4ubGluZXMubGVuZ3RoXVxuICAgICAgICAgICAgY29sb3JMaW5lcy5wdXNoIGtsb3Iua29sb3JpemVDaHVua3MgY2h1bmtzOnJuZ3NbaW5kZXhdLCBudW1iZXI6YXJncy5saW5lTnVtYmVycyBhbmQgaW5kZXgrMVxuICAgICAgICBcbiAgICAgICAgaWYgYXJncy5za2lwRW1wdHlcbiAgICAgICAgICAgIGNvbG9yTGluZXMgPSBjb2xvckxpbmVzLmZpbHRlciAobCkgLT4gXG4gICAgICAgICAgICAgICAga29sb3Iuc3RyaXAobCkubGVuZ3RoID4gMFxuICAgICAgICAgICAgICAgIFxuICAgICAgICBsb2cgY29sb3JMaW5lcy5qb2luICdcXG4nXG4gICAgXG4jIyNcbiAwMDAwMDAwICAgMDAwMDAwMCAgIDAwMDAwMDAwMCAgICBcbjAwMCAgICAgICAwMDAgICAwMDAgICAgIDAwMCAgICAgICBcbjAwMCAgICAgICAwMDAwMDAwMDAgICAgIDAwMCAgICAgICBcbjAwMCAgICAgICAwMDAgICAwMDAgICAgIDAwMCAgICAgICBcbiAwMDAwMDAwICAwMDAgICAwMDAgICAgIDAwMCAgICAgICBcbiMjI1xuICAgIFxuaWYgYXJncy5maWxlLmxlbmd0aFxuICBcbiAgICBzbGFzaCA9IHJlcXVpcmUgJ2tzbGFzaCdcbiAgICBcbiAgICBmb3IgZmlsZSBpbiBhcmdzLmZpbGUgICAgXG5cbiAgICAgICAgdGV4dCA9IHNsYXNoLnJlYWRUZXh0IGZpbGVcbiAgXG4gICAgICAgIGxvZyBrbG9yLnN5bnRheCB0ZXh0OnRleHQsIGV4dDpzbGFzaC5leHQoZmlsZSksIG51bWJlcnM6YXJncy5saW5lTnVtYmVyc1xuICAgICAgICAgICAgICAgIFxuZWxzZVxuICAgIFxuICAgIHByb2Nlc3Muc3RkaW4uc2V0RW5jb2RpbmcgJ3V0ZjgnXG4gICAgXG4gICAgaWYgYXJncy5leHQgYW5kIGFyZ3MuZXh0IGluIGtsb3IuZXh0c1xuICAgICAgICBzeW50YXhTdHJlYW0gcHJvY2Vzcy5zdGRpbiwgYXJncy5leHRcbiAgICBlbHNlICAgIFxuICAgICAgICBjb2xvclN0cmVhbSBwcm9jZXNzLnN0ZGluLCBwYXR0ZXJuRnVuYygpXG5cbiMgcHJvY2Vzcy5vbiAnZXhpdCcsIChjb2RlKSAtPiDilrhlbmQgJ2NvbG9yY2F0J1xuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3JjYXQuanMiLCJzb3VyY2VSb290IjoiLiIsInNvdXJjZXMiOlsiIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUE7Ozs7Ozs7QUFBQSxJQUFBLG1XQUFBO0lBQUE7O0FBVUEsSUFBQSxHQUFPLE9BQUEsQ0FBUSxNQUFSOztBQUNQLElBQUEsR0FBTyxPQUFBLENBQVEsTUFBUjs7QUFFUCxLQUFBLEdBQVEsSUFBSSxDQUFDOztBQUNiLEtBQUssQ0FBQyxTQUFOLENBQUE7O0FBRUEsT0FBQSxHQUFVOztBQVFWLElBQUEsR0FBTyxTQUFDLENBQUQsRUFBSSxDQUFKO0lBQ0gsQ0FBQSxHQUFJLE1BQUEsQ0FBTyxDQUFQO0FBQ0osV0FBTSxDQUFDLENBQUMsTUFBRixHQUFXLENBQWpCO1FBQXdCLENBQUEsSUFBSztJQUE3QjtXQUNBO0FBSEc7O0FBS1AsSUFBQSxHQUNJO0lBQUEsS0FBQSxFQUFTLEdBQVQ7SUFDQSxJQUFBLEVBQVMsR0FEVDtJQUVBLE9BQUEsRUFBUyxHQUZUO0lBR0EsSUFBQSxFQUFTLEdBSFQ7SUFJQSxNQUFBLEVBQVMsR0FKVDtJQUtBLEtBQUEsRUFBUyxHQUxUO0lBTUEsR0FBQSxFQUFTLEdBTlQ7OztBQVFKLFVBQUEsR0FBYTs7QUFDYixLQUFBLFNBQUE7O0lBRUksTUFBQSxHQUFTO0FBQ1QsWUFBTyxDQUFQO0FBQUEsYUFDUyxHQURUO0FBQUEsYUFDWSxHQURaO0FBQ1k7QUFEWjtBQUdRLGlCQUFTLDBCQUFUO2dCQUNJLE1BQUEsR0FBUyxDQUFBLEdBQUU7Z0JBQ1gsTUFBQSxJQUFVLEtBQU0sQ0FBQSxNQUFBLENBQU4sQ0FBYyxHQUFBLEdBQU0sTUFBTixHQUFlLEdBQTdCO0FBRmQ7QUFIUjtJQU9BLFVBQUEsSUFBYyxNQUFBLEdBQU8sQ0FBUCxHQUFTLGtCQUFULEdBQTJCLElBQUssQ0FBQSxDQUFBLENBQWhDLEdBQW1DLE9BQW5DLEdBQXlDLENBQUMsS0FBTSxDQUFBLENBQUEsQ0FBTixDQUFTLElBQVQsQ0FBRCxDQUF6QyxH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LENBQUMsTUFBYjtJQUVJLEtBQUEsR0FBUSxPQUFBLENBQVEsUUFBUjtBQUVSO0FBQUEsU0FBQSx3Q0FBQTs7UUFFSSxJQUFBLEdBQU8sS0FBSyxDQUFDLFFBQU4sQ0FBZSxJQUFmO1FBQW1CLE9BQUEsQ0FFMUIsR0FGMEIsQ0FFdEIsSUFBSSxDQUFDLE1BQUwsQ0FBWTtZQUFBLElBQUEsRUFBSyxJQUFMO1lBQVcsR0FBQSxFQUFJLEtBQUssQ0FBQyxHQUFOLENBQVUsSUFBVixDQUFmO1lBQWdDLE9BQUEsRUFBUSxJQUFJLENBQUMsV0FBN0M7U0FBWixDQUZzQjtBQUY5QixLQUpKO0NBQUEsTUFBQTtJQVlJLE9BQU8sQ0FBQyxLQUFLLENBQUMsV0FBZCxDQUEwQixNQUExQjtJQUVBLElBQUcsSUFBSSxDQUFDLEdBQUwsSUFBYSxRQUFBLElBQUksQ0FBQyxHQUFMLEVBQUEsYUFBWSxJQUFJLENBQUMsSUFBakIsRUFBQSxJQUFBLE1BQUEsQ0FBaEI7UUFDSSxZQUFBLENBQWEsT0FBTyxDQUFDLEtBQXJCLEVBQTRCLElBQUksQ0FBQyxHQUFqQyxFQURKO0tBQUEsTUFBQTtRQUdJLFdBQUEsQ0FBWSxPQUFPLENBQUMsS0FBcEIsRUFBMkIsV0FBQSxDQUFBLENBQTNCLEVBSEo7S0FkSiIsInNvdXJjZXNDb250ZW50IjpbIiMjI1xuIDAwMDAwMDAgICAwMDAwMDAwICAgMDAwICAgICAgIDAwMDAwMDAgICAwMDAwMDAwMCAgICAwMDAwMDAwICAgMDAwMDAwMCAgIDAwMDAwMDAwMFxuMDAwICAgICAgIDAwMCAgIDAwMCAgMDAwICAgICAgMDAwICAgMDAwICAwMDAgICAwMDAgIDAwMCAgICAgICAwMDAgICAwMDAgICAgIDAwMCAgIFxuMDAwICAgICAgIDAwMCAgIDAwMCAgMDAwICAgICAgMDAwICAgMDAwICAwMDAwMDAwICAgIDAwMCAgICAgICAwMDAwMDAwMDAgICAgIDAwMCAgIFxuMDAwICAgICAgIDAwMCAgIDAwMCAgMDAwICAgICAgMDAwICAgMDAwICAwMDAgICAwMDAgIDAwMCAgICAgICAwMDAgICAwMDAgICAgIDAwMCAgIFxuIDAwMDAwMDAgICAwMDAwMDAwICAgMDAwMDAwMCAgIDAwMDAwMDAgICAwMDAgICAwMDAgICAwMDAwMDAwICAwMDAgICAwMDAgICAgIDAwMCAgIFxuIyMjXG5cbiMg4pa4c3RhcnQgJ2NvbG9yY2F0J1xuXG5rbG9yID0gcmVxdWlyZSAna2xvcidcbmthcmcgPSByZXF1aXJlICdrYXJnJ1xuXG5rb2xvciA9IGtsb3Iua29sb3JcbmtvbG9yLmdsb2JhbGl6ZSgpXG5cbk5FV0xJTkUgPSAvXFxyP1xcbi9cblxuIyAgMDAwMDAwMCAgIDAwMDAwMDAwICAgIDAwMDAwMDAgICAgMDAwMDAwMFxuIyAwMDAgICAwMDAgIDAwMCAgIDAwMCAgMDAwICAgICAgICAwMDAgICAgIFxuIyAwMDAwMDAwMDAgIDAwMDAwMDAgICAgMDAwICAwMDAwICAwMDAwMDAwIFxuIyAwMDAgICAwMDAgIDAwMCAgIDAwMCAgMDAwICAgMDAwICAgICAgIDAwMFxuIyAwMDAgICAwMDAgIDAwMCAgIDAwMCAgIDAwMDAwMDAgICAwMDAwMDAwIFxuXG5ycGFkID0gKHMsIGwpIC0+XG4gICAgcyA9IFN0cmluZyBzXG4gICAgd2hpbGUgcy5sZW5ndGggPCBsIHRoZW4gcyArPSAnICdcbiAgICBzXG5cbnRleHQgPSBcbiAgICB3aGl0ZTogICAndydcbiAgICBjeWFuOiAgICAnYydcbiAgICBtYWdlbnRhOiAnbSdcbiAgICBibHVlOiAgICAnYidcbiAgICB5ZWxsb3c6ICAneSdcbiAgICBncmVlbjogICAnZydcbiAgICByZWQ6ICAgICAncicgXG4gICAgICAgIFxudGV4dENvbG9ycyA9ICcnXG5mb3IgYyxzIG9mIHRleHRcbiAgICBcbiAgICBzaG9ydHMgPSAnJ1xuICAgIHN3aXRjaCBzXG4gICAgICAgIHdoZW4gJ3gnJ3onIHRoZW5cbiAgICAgICAgZWxzZVxuICAgICAgICAgICAgZm9yIGkgaW4gWzEuLjhdXG4gICAgICAgICAgICAgICAgc2hvcnRmID0gcytpXG4gICAgICAgICAgICAgICAgc2hvcnRzICs9IGtvbG9yW3Nob3J0Zl0gJyAnICsgc2hvcnRmICsgJyAnXG4gICAgXG4gICAgdGV4dENvbG9ycyArPSBcIiAgICAje2N9ICAuID0gZmFsc2UgLiAtICN7dGV4dFtjXX0gLiA/ICN7a29sb3JbY10gJ+KWiOKWiCd9I3tkaW0ga29sb3JbY10gJ+KWiOKWiCd9I3tzaG9ydHN9XFxuXCJcblxuYmdyZCA9IFxuICAgIGJnUmVkOiAgICAgJ1InIFxuICAgIGJnR3JlZW46ICAgJ0cnXG4gICAgYmdZZWxsb3c6ICAnWSdcbiAgICBiZ0JsdWU6ICAgICdCJ1xuICAgIGJnTWFnZW50YTogJ00nXG4gICAgYmdDeWFuOiAgICAnQydcbiAgICBiZ1doaXRlOiAgICdXJ1xuICAgIFxuYmdmdW5jID0gKGMpIC0+XG4gICAgcyA9IGJncmRbY11cbiAgICBzd2l0Y2ggc1xuICAgICAgICB3aGVuICdaJyB0aGVuICdXMidcbiAgICAgICAgd2hlbiAnVycgdGhlbiAnVzQnXG4gICAgICAgIGVsc2Ugcys0XG4gICAgXG5iZ3JkQ29sb3JzID0gJydcbmZvciBjLHMgb2YgYmdyZFxuICAgIFxuICAgIHNob3J0cyA9ICcnXG4gICAgc3dpdGNoIHNcbiAgICAgICAgd2hlbiAnVydcbiAgICAgICAgICAgIGZvciBpIGluIFsxLi44XVxuICAgICAgICAgICAgICAgIHNob3J0YiA9ICdXJytpXG4gICAgICAgICAgICAgICAgc2hvcnRmID0gJ3cnLnRvTG93ZXJDYXNlKCkrKDktaSlcbiAgICAgICAgICAgICAgICBzaG9ydHMgKz0ga29sb3Jbc2hvcnRmXSBrb2xvcltzaG9ydGJdICcgJyArIHNob3J0YiArICcgJ1xuICAgICAgICAgICAgXG4gICAgICAgIHdoZW4gJ1onIHRoZW5cbiAgICAgICAgICAgIFxuICAgICAgICBlbHNlXG4gICAgICAgICAgICBmb3IgaSBpbiBbMS4uOF1cbiAgICAgICAgICAgICAgICBzaG9ydGIgPSBzK2lcbiAgICAgICAgICAgICAgICBzaG9ydGYgPSBzLnRvTG93ZXJDYXNlKCkrKDktaSlcbiAgICAgICAgICAgICAgICBzaG9ydHMgKz0ga29sb3Jbc2hvcnRmXSBrb2xvcltzaG9ydGJdICcgJyArIHNob3J0YiArICcgJ1xuICAgIFxuICAgIGJncmRDb2xvcnMgKz0gXCIgICAgI3tjfSAgLiA9IGZhbHNlIC4gLSAje2JncmRbY119IC4gPyAje3Jlc2V0KGtvbG9yW2JnZnVuYyBjXShcIiAgICBcIikpfSN7c2hvcnRzfVxcblwiXG4gICAgICAgIFxuYXJncyA9IGthcmcgXCJcIlwiXG5cbmNvbG9yY2F0XG5cbiAgICBmaWxlICAgICAgICAgLiA/IHRoZSBmaWxlKHMpIHRvIGRpc3BsYXkgb3Igc3RkaW4gLiAqKlxuICAgIGZhdCAgICAgICAgICAuID8gI3sgIGdyYXkgJyAgICAgYm9sZCcgfSAgICAgICAgICAuID0gZmFsc2VcbiAgICBkaW0gICAgICAgICAgLiA/ICN7IGRpbSB3aGl0ZSAnICDilrzilrwgZGltJyB9ICAgICAgIC4gPSBmYWxzZVxuI3t0ZXh0Q29sb3JzfVxuI3tiZ3JkQ29sb3JzfVxuICAgIGV4dCAgICAgICAgICAuID8gdXNlIHN5bnRheCBoaWdobGlnaHRpbmcgZm9yICouZXh0XG4gICAgcGF0dGVybiAgICAgIC4gPyBjb2xvcml6ZSB3aXRoIHBhdHRlcm5cbiAgICBwYXR0ZXJuRmlsZSAgLiA/IGNvbG9yaXplIHdpdGggcGF0dGVybnMgaW4gZmlsZSAgIC4gLSBQXG4gICAgc2tpcEVtcHR5ICAgIC4gPyBza2lwIGVtcHR5IGxpbmVzICAgICAgICAgICAgICAgICAgICAgICAuID0gZmFsc2VcbiAgICBsaW5lTnVtYmVycyAgLiA/IHByZXBlbmQgb3V0cHV0IHdpdGggbGluZSBudW1iZXJzICAgICAgIC4gPSBmYWxzZVxuICAgIGRlYnVnICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLiAtIFggLiA9IGZhbHNlXG4gICAgXG52ZXJzaW9uICAgI3tyZXF1aXJlKFwiI3tfX2Rpcm5hbWV9Ly4uL3BhY2thZ2UuanNvblwiKS52ZXJzaW9ufVxuXCJcIlwiXG5cbmlmIGFyZ3MuZGVidWdcbiAgICBub29uX3N0cmluZ2lmeSA9IHJlcXVpcmUgJ25vb24vanMvc3RyaW5naWZ5J1xuICAgIGxvZyBub29uX3N0cmluZ2lmeSBhcmdzLCBjb2xvcnM6dHJ1ZVxuICAgIFxuIyAgMDAwMDAwMCAgIDAwMDAwMDAgICAwMDAgICAgICAgMDAwMDAwMCAgIDAwMDAwMDAwICAgMDAwICAwMDAwMDAwICAwMDAwMDAwMFxuIyAwMDAgICAgICAgMDAwICAgMDAwICAwMDAgICAgICAwMDAgICAwMDAgIDAwMCAgIDAwMCAgMDAwICAgICAwMDAgICAwMDAgICAgIFxuIyAwMDAgICAgICAgMDAwICAgMDAwICAwMDAgICAgICAwMDAgICAwMDAgIDAwMDAwMDAgICAgMDAwICAgIDAwMCAgICAwMDAwMDAwIFxuIyAwMDAgICAgICAgMDAwICAgMDAwICAwMDAgICAgICAwMDAgICAwMDAgIDAwMCAgIDAwMCAgMDAwICAgMDAwICAgICAwMDAgICAgIFxuIyAgMDAwMDAwMCAgIDAwMDAwMDAgICAwMDAwMDAwICAgMDAwMDAwMCAgIDAwMCAgIDAwMCAgMDAwICAwMDAwMDAwICAwMDAwMDAwMFxuXG5jb2xvcml6ZSA9IChzdHIsIHN0YWNrKSAtPlxuICAgIHRyeVxuICAgICAgICBzcGwgPSBzdGFjay5tYXAgKHMpIC0+IFN0cmluZyhzKS5zcGxpdCAnLidcbiAgICAgICAgc3BsID0gc3BsLmZsYXQoKVxuXG4gICAgICAgIGlmIG5vdCAoJ2tlZXAnIGluIHNwbClcbiAgICAgICAgICAgIGZvciBzIGluIHNwbFxuICAgICAgICAgICAgICAgIGlmIHMuc3Vic3RyKDAsMikgPT0gJ3M6J1xuICAgICAgICAgICAgICAgICAgICBzdHIgPSBzLnN1YnN0cigyKVxuICAgICAgICAgICAgICAgICAgICBzcGwgPSBzcGwuZmlsdGVyIChzKSAtPiBzLnN1YnN0cigwLDIpICE9ICdzOidcbiAgICAgICAgICAgICAgICAgICAgYnJlYWtcblxuICAgICAgICBmb3IgbiBpbiBzcGxcbiAgICAgICAgICAgIGlmIGtvbG9yW25dP1xuICAgICAgICAgICAgICAgIHN0ciA9IGtvbG9yW25dIHN0clxuICAgICAgICAgICAgZWxzZSBpZiBrb2xvcltiZ2Z1bmMgbl0/XG4gICAgICAgICAgICAgICAgc3RyID0ga29sb3JbYmdmdW5jIG5dIHN0clxuICAgIGNhdGNoIGVyclxuICAgICAgICBlcnJvciBlcnJcbiAgICBzdHJcblxuIyAwMDAwMDAwMCAgMDAwICAgMDAwICAwMDAwMDAwMCAgICAwMDAwMDAwICAgMDAwICAgMDAwICAwMDAwMDAwICBcbiMgMDAwICAgICAgICAwMDAgMDAwICAgMDAwICAgMDAwICAwMDAgICAwMDAgIDAwMDAgIDAwMCAgMDAwICAgMDAwXG4jIDAwMDAwMDAgICAgIDAwMDAwICAgIDAwMDAwMDAwICAgMDAwMDAwMDAwICAwMDAgMCAwMDAgIDAwMCAgIDAwMFxuIyAwMDAgICAgICAgIDAwMCAwMDAgICAwMDAgICAgICAgIDAwMCAgIDAwMCAgMDAwICAwMDAwICAwMDAgICAwMDBcbiMgMDAwMDAwMDAgIDAwMCAgIDAwMCAgMDAwICAgICAgICAwMDAgICAwMDAgIDAwMCAgIDAwMCAgMDAwMDAwMCAgXG5cbnJlZ2V4ZXMgPSBbXVxuXG5jbHJsc3QgPSBPYmplY3QuYXNzaWduIHt9LCBiZ3JkXG5jbHJsc3QgPSBPYmplY3QuYXNzaWduIGNscmxzdCwgdGV4dFxuZmJnbm1zID0ga29sb3IuRkdfTkFNRVMuY29uY2F0IGtvbG9yLkJHX05BTUVTXG5mYmdjb2wgPSBrb2xvci5GR19DT0xPUlMuY29uY2F0IGtvbG9yLkJHX0NPTE9SU1xuY25hbWVzID0gT2JqZWN0LmtleXModGV4dCkuY29uY2F0IE9iamVjdC5rZXlzKGJncmQpXG5jbmFtZXMgPSBjbmFtZXMuY29uY2F0IGZiZ25tc1xuaW52ZXJ0ID0ge31cbmZvciBrLHYgb2YgY2xybHN0IHRoZW4gaW52ZXJ0W3ZdID0ga1xuaW52ZXJ0LmYgPSAnYm9sZCdcbmludmVydC5kID0gJ2RpbSdcbmludmVydC5rID0gJ2tlZXAnXG5pbnZlcnQueCA9ICdncmF5J1xuaW52ZXJ0LnogPSAndzInXG5pbnZlcnQuWiA9ICdXMSdcblxuZXhwYW5kID0gKGUpIC0+XG4gICAgXG4gICAgZXhwZCA9IChjKSAtPlxuICAgICAgICBpZiBjWzBdIGluIGZiZ2NvbFxuICAgICAgICAgICAgaWYgY1swLi4xXSBpbiBmYmdubXNcbiAgICAgICAgICAgICAgICBpZiBjLmxlbmd0aCA9PSAyIHRoZW4gcmV0dXJuIGNcbiAgICAgICAgICAgICAgICBlbHNlICAgICAgICAgICAgICAgICAgcmV0dXJuIGNbMC4uMV0gKyAnLicgKyBleHBkIGNbMi4uXVxuICAgICAgICAgICAgICAgIFxuICAgICAgICBpZiBjPy5zcGxpdD8gYW5kIGMgbm90IGluIGNuYW1lc1xuICAgICAgICAgICAgcyA9IGMuc3BsaXQgJ3NcXDonXG4gICAgICAgICAgICBpZiBpbnZlcnRbc1swXVswXV1cbiAgICAgICAgICAgICAgICBpZiBzWzBdLmxlbmd0aCA9PSAxIHRoZW4gciA9IGludmVydFtzWzBdWzBdXVxuICAgICAgICAgICAgICAgIGVsc2UgICAgICAgICAgICAgICAgICAgICByID0gaW52ZXJ0W3NbMF1bMF1dICsgJy4nICsgZXhwZCBzWzBdWzEuLl1cbiAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgICAjIGVycm9yICdkYWZ1az8nLCBjLCBzXG4gICAgICAgICAgICAgICAgciA9ICcnXG4gICAgICAgICAgICByICs9ICcuczonICsgc1sxXSBpZiBzLmxlbmd0aCA+IDFcbiAgICAgICAgICAgIHJcbiAgICAgICAgZWxzZVxuICAgICAgICAgICAgY1xuICAgIFxuICAgIGZvciBwYXQsY2xzIG9mIGVcbiAgICAgICAgaWYgY2xzIGluc3RhbmNlb2YgQXJyYXlcbiAgICAgICAgICAgIGVbcGF0XSA9IGNscy5tYXAgKGNscikgLT4gZXhwZCBjbHIuc3BsaXQoJy4nKVswXVxuICAgICAgICBlbHNlXG4gICAgICAgICAgICBlW3BhdF0gPSBleHBkIGNsc1xuICAgIGUgXG5cbiMgMDAwMDAwMDAgIDAwMCAgIDAwMCAgMDAwICAgMDAwICAwMDAgICAwMDAgIDAwMCAgIDAwMFxuIyAwMDAgICAgICAgMDAwICAgMDAwICAwMDAwICAwMDAgIDAwMCAgMDAwICAgIDAwMCAwMDAgXG4jIDAwMDAwMCAgICAwMDAgICAwMDAgIDAwMCAwIDAwMCAgMDAwMDAwMCAgICAgIDAwMDAwICBcbiMgMDAwICAgICAgIDAwMCAgIDAwMCAgMDAwICAwMDAwICAwMDAgIDAwMCAgICAgIDAwMCAgIFxuIyAwMDAgICAgICAgIDAwMDAwMDAgICAwMDAgICAwMDAgIDAwMCAgIDAwMCAgICAgMDAwICAgXG5cbmZ1bmt5VGV4dCA9IChzKSAtPiBzXG5mdW5reUJncmQgPSAocykgLT4gc1xuXG5mb3IgYyBpbiBPYmplY3Qua2V5cyB0ZXh0XG4gICAgaWYgYXJnc1tjXVxuICAgICAgICBmdW5reVRleHQgPSBrb2xvcltjXVxuICAgICAgICBcbmZvciBjIGluIE9iamVjdC5rZXlzIGJncmRcbiAgICBpZiBhcmdzW2NdXG4gICAgICAgIGZ1bmt5QmdyZCA9IGtvbG9yW2JnZnVuYyBjXVxuXG5pZiBhcmdzLmZhdFxuICAgIGZhdFRleHQgPSAocykgLT4gYm9sZCBmdW5reVRleHQgc1xuZWxzZVxuICAgIGZhdFRleHQgPSBmdW5reVRleHRcblxuaWYgYXJncy5kaW1cbiAgICBkaW1UZXh0ID0gKHMpIC0+IGRpbSBmYXRUZXh0IHNcbmVsc2VcbiAgICBkaW1UZXh0ID0gZmF0VGV4dFxuXG4jIDAwMDAwMDAwICAgIDAwMDAwMDAgICAwMDAwMDAwMDAgIDAwMDAwMDAwMCAgMDAwMDAwMDAgIDAwMDAwMDAwICAgMDAwICAgMDAwICAgMDAwMDAwMFxuIyAwMDAgICAwMDAgIDAwMCAgIDAwMCAgICAgMDAwICAgICAgICAwMDAgICAgIDAwMCAgICAgICAwMDAgICAwMDAgIDAwMDAgIDAwMCAgMDAwICAgICBcbiMgMDAwMDAwMDAgICAwMDAwMDAwMDAgICAgIDAwMCAgICAgICAgMDAwICAgICAwMDAwMDAwICAgMDAwMDAwMCAgICAwMDAgMCAwMDAgIDAwMDAwMDAgXG4jIDAwMCAgICAgICAgMDAwICAgMDAwICAgICAwMDAgICAgICAgIDAwMCAgICAgMDAwICAgICAgIDAwMCAgIDAwMCAgMDAwICAwMDAwICAgICAgIDAwMFxuIyAwMDAgICAgICAgIDAwMCAgIDAwMCAgICAgMDAwICAgICAgICAwMDAgICAgIDAwMDAwMDAwICAwMDAgICAwMDAgIDAwMCAgIDAwMCAgMDAwMDAwMCBcblxucGF0dGVybkZ1bmMgPSAtPlxuICAgIFxuICAgIGxvYWRTeW50YXggPSAoZikgLT5cbiAgICAgICAgZnMgPSByZXF1aXJlICdmcydcbiAgICAgICAgaWYgZnMuZXhpc3RzU3luYyBmXG4gICAgICAgICAgICBub29uX2xvYWQgPSByZXF1aXJlICdub29uL2pzL2xvYWQnXG4gICAgICAgICAgICBleHBhbmQgbm9vbl9sb2FkIGYgXG4gICAgICAgIGVsc2VcbiAgICAgICAgICAgIGVycm9yIFwiY2FuJ3QgbG9jYXRlIHN5bnRheCBmaWxlICN7Zn1cIlxuICAgIFxuICAgIGlmIGFyZ3MucGF0dGVybj9cbiAgICAgICAgbm9vbl9wYXJzZSA9IHJlcXVpcmUgJ25vb24vanMvcGFyc2UnXG4gICAgICAgIHBhdHRlcm5zID0gZXhwYW5kIG5vb25fcGFyc2UgYXJncy5wYXR0ZXJuXG4gICAgICAgICMgbG9nIHBhdHRlcm5zXG4gICAgZWxzZSBpZiBhcmdzLnBhdHRlcm5GaWxlP1xuICAgICAgICBwYXR0ZXJucyA9IGxvYWRTeW50YXggYXJncy5wYXR0ZXJuRmlsZVxuICAgIFxuICAgIGlmIG5vdCBwYXR0ZXJucz9cbiAgICAgICAgcmV0dXJuIChjaHVuaykgLT4gZnVua3lCZ3JkIGRpbVRleHQgY2h1bmtcbiAgICAgICAgXG4gICAgbWF0Y2hyID0gcmVxdWlyZSAnLi9tYXRjaHInXG4gICAgbWF0Y2hyQ29uZmlnID0gbWF0Y2hyLmNvbmZpZyBwYXR0ZXJuc1xuICAgICAgICAgIFxuICAgIHBhdHRlcm4gPSAoY2h1bmspIC0+XG4gICAgICAgIGNodW5rID0ga29sb3Iuc3RyaXAgY2h1bmtcbiAgICAgICAgcm5ncyA9IG1hdGNoci5yYW5nZXMgbWF0Y2hyQ29uZmlnLCBjaHVua1xuICAgICAgICBkaXNzID0gbWF0Y2hyLmRpc3NlY3Qgcm5nc1xuICAgICAgICBcbiAgICAgICAgaWYgZGlzcy5sZW5ndGhcbiAgICAgICAgICAgIGZvciBkaSBpbiBbZGlzcy5sZW5ndGgtMS4uMF1cbiAgICAgICAgICAgICAgICBkID0gZGlzc1tkaV1cbiAgICAgICAgICAgICAgICBjbHJ6ZCA9IGNvbG9yaXplIGQubWF0Y2gsIGQuc3RhY2sucmV2ZXJzZSgpXG4gICAgICAgICAgICAgICAgY2h1bmsgPSBjaHVuay5zbGljZSgwLCBkLnN0YXJ0KSArIGNscnpkICsgY2h1bmsuc2xpY2UoZC5zdGFydCtkLm1hdGNoLmxlbmd0aClcbiAgICAgICAgY2h1bmtcbiAgICAgICAgXG4gICAgcmV0dXJuIHBhdHRlcm5cblxuIyAgMDAwMDAwMCAgMDAwMDAwMDAwICAwMDAwMDAwMCAgIDAwMDAwMDAwICAgMDAwMDAwMCAgIDAwICAgICAwMFxuIyAwMDAgICAgICAgICAgMDAwICAgICAwMDAgICAwMDAgIDAwMCAgICAgICAwMDAgICAwMDAgIDAwMCAgIDAwMFxuIyAwMDAwMDAwICAgICAgMDAwICAgICAwMDAwMDAwICAgIDAwMDAwMDAgICAwMDAwMDAwMDAgIDAwMDAwMDAwMFxuIyAgICAgIDAwMCAgICAgMDAwICAgICAwMDAgICAwMDAgIDAwMCAgICAgICAwMDAgICAwMDAgIDAwMCAwIDAwMFxuIyAwMDAwMDAwICAgICAgMDAwICAgICAwMDAgICAwMDAgIDAwMDAwMDAwICAwMDAgICAwMDAgIDAwMCAgIDAwMFxuXG5jb2xvclN0cmVhbSA9IChzdHJlYW0sIHBhdHRlcm4pIC0+XG5cbiAgICBsaW5lbm8gPSAwXG4gICAgYnVmZmVyID0gJydcbiAgICBzdHJlYW0ub24gJ2RhdGEnIChjaHVuaykgLT5cbiAgICAgICAgXG4gICAgICAgIGlmIG5vdCBjaHVuay5lbmRzV2l0aCAnXFxuJ1xuICAgICAgICAgICAgYnVmZmVyICs9IGNodW5rXG4gICAgICAgICAgICByZXR1cm5cbiAgICAgICAgICAgIFxuICAgICAgICBsaW5lcyA9IChidWZmZXIrY2h1bmspLnNwbGl0ICdcXG4nXG4gICAgICAgIGNvbG9yTGluZXMgPSBsaW5lcy5tYXAgKGwpIC0+IHBhdHRlcm4gbFxuICAgICAgICBcbiAgICAgICAgaWYgYXJncy5za2lwRW1wdHlcbiAgICAgICAgICAgIGNvbG9yTGluZXMgPSBjb2xvckxpbmVzLmZpbHRlciAobCkgLT4gXG4gICAgICAgICAgICAgICAga29sb3Iuc3RyaXAobCkubGVuZ3RoID4gMFxuICAgICAgICAgICAgICAgIFxuICAgICAgICBpZiBhcmdzLmxpbmVOdW1iZXJzXG4gICAgICAgICAgICBjb2xvckxpbmVzID0gY29sb3JMaW5lcy5tYXAgKGwpIC0+IFxuICAgICAgICAgICAgICAgIGxpbmVubyArPSAxXG4gICAgICAgICAgICAgICAgcmV0dXJuIGdyYXkoZGltIHJwYWQoXCIje2xpbmVub31cIiw2KSkgKyBsXG4gICAgICAgICAgICAgICAgXG4gICAgICAgIGxvZyBjb2xvckxpbmVzLmpvaW4gJ1xcbidcbiAgICAgICAgYnVmZmVyID0gJydcbiAgICAgICAgXG5zeW50YXhTdHJlYW0gPSAoc3RyZWFtLCBleHQpIC0+XG5cbiAgICBsaW5lbm8gPSAwXG4gICAgYnVmZmVyID0gJydcbiAgICBzdHJlYW0ub24gJ2RhdGEnIChjaHVuaykgLT5cbiAgICAgICAgXG4gICAgICAgIGlmIG5vdCBjaHVuay5lbmRzV2l0aCAnXFxuJ1xuICAgICAgICAgICAgYnVmZmVyICs9IGNodW5rXG4gICAgICAgICAgICByZXR1cm5cbiAgICAgICAgXG4gICAgICAgIGxpbmVzID0gKGJ1ZmZlcitjaHVuaykuc3BsaXQgJ1xcbidcbiAgICAgICAgY29sb3JMaW5lcyA9IFtdXG4gICAgICAgIFxuICAgICAgICBybmdzID0ga2xvci5kaXNzZWN0IGxpbmVzLCBleHRcbiAgICAgICAgZm9yIGluZGV4IGluIFswLi4ubGluZXMubGVuZ3RoXVxuICAgICAgICAgICAgY29sb3JMaW5lcy5wdXNoIGtsb3Iua29sb3JpemVDaHVua3MgY2h1bmtzOnJuZ3NbaW5kZXhdLCBudW1iZXI6YXJncy5saW5lTnVtYmVycyBhbmQgaW5kZXgrMVxuICAgICAgICBcbiAgICAgICAgaWYgYXJncy5za2lwRW1wdHlcbiAgICAgICAgICAgIGNvbG9yTGluZXMgPSBjb2xvckxpbmVzLmZpbHRlciAobCkgLT4gXG4gICAgICAgICAgICAgICAga29sb3Iuc3RyaXAobCkubGVuZ3RoID4gMFxuICAgICAgICAgICAgICAgIFxuICAgICAgICBsb2cgY29sb3JMaW5lcy5qb2luICdcXG4nXG4gICAgICAgIGJ1ZmZlciA9ICcnXG4gICAgXG4jIyNcbiAwMDAwMDAwICAgMDAwMDAwMCAgIDAwMDAwMDAwMCAgICBcbjAwMCAgICAgICAwMDAgICAwMDAgICAgIDAwMCAgICAgICBcbjAwMCAgICAgICAwMDAwMDAwMDAgICAgIDAwMCAgICAgICBcbjAwMCAgICAgICAwMDAgICAwMDAgICAgIDAwMCAgICAgICBcbiAwMDAwMDAwICAwMDAgICAwMDAgICAgIDAwMCAgICAgICBcbiMjI1xuICAgIFxuaWYgYXJncy5maWxlLmxlbmd0aFxuICBcbiAgICBzbGFzaCA9IHJlcXVpcmUgJ2tzbGFzaCdcbiAgICBcbiAgICBmb3IgZmlsZSBpbiBhcmdzLmZpbGUgICAgXG5cbiAgICAgICAgdGV4dCA9IHNsYXNoLnJlYWRUZXh0IGZpbGVcbiAgXG4gICAgICAgIGxvZyBrbG9yLnN5bnRheCB0ZXh0OnRleHQsIGV4dDpzbGFzaC5leHQoZmlsZSksIG51bWJlcnM6YXJncy5saW5lTnVtYmVyc1xuICAgICAgICAgICAgICAgIFxuZWxzZVxuICAgIFxuICAgIHByb2Nlc3Muc3RkaW4uc2V0RW5jb2RpbmcgJ3V0ZjgnXG4gICAgXG4gICAgaWYgYXJncy5leHQgYW5kIGFyZ3MuZXh0IGluIGtsb3IuZXh0c1xuICAgICAgICBzeW50YXhTdHJlYW0gcHJvY2Vzcy5zdGRpbiwgYXJncy5leHRcbiAgICBlbHNlICAgIFxuICAgICAgICBjb2xvclN0cmVhbSBwcm9jZXNzLnN0ZGluLCBwYXR0ZXJuRnVuYygpXG5cbiMgcHJvY2Vzcy5vbiAnZXhpdCcsIChjb2RlKSAtPiDilrhlbmQgJ2NvbG9yY2F0J1xuIl19
//# sourceURL=../coffee/colorcat.coffee

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

// koffee 0.56.0
// koffee 1.3.0

@@ -3,0 +3,0 @@ /*

{
"name": "colorcat",
"description": "loves colors",
"version": "2.12.0",
"version": "2.13.0",
"bin": {

@@ -30,6 +30,6 @@ "colorcat": "./bin/colorcat"

"karg": "^1.19.0",
"klor": "^1.1.1",
"kslash": "^1.12.0",
"noon": "^2.13.0"
"klor": "^1.4.0",
"kslash": "^1.16.0",
"noon": "^3.0.0"
}
}
SocketSocket SOC 2 Logo

Product

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

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc